<?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>199655</bug_id>
          
          <creation_ts>2019-07-09 20:43:14 -0700</creation_ts>
          <short_desc>[WebGPU] Implement GPUError and error scopes</short_desc>
          <delta_ts>2019-07-16 17:04:54 -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>WebGPU</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Justin Fan">justin_fan</reporter>
          <assigned_to name="Justin Fan">justin_fan</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1551585</commentid>
    <comment_count>0</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-07-09 20:43:14 -0700</bug_when>
    <thetext>[WebGPU] Implement validation errors and error scopes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551595</commentid>
    <comment_count>1</comment_count>
      <attachid>373817</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-07-09 21:30:32 -0700</bug_when>
    <thetext>Created attachment 373817
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551599</commentid>
    <comment_count>2</comment_count>
      <attachid>373819</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-07-09 22:04:22 -0700</bug_when>
    <thetext>Created attachment 373819
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551600</commentid>
    <comment_count>3</comment_count>
      <attachid>373820</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-07-09 22:15:50 -0700</bug_when>
    <thetext>Created attachment 373820
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551710</commentid>
    <comment_count>4</comment_count>
      <attachid>373820</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-07-10 10:12:54 -0700</bug_when>
    <thetext>Comment on attachment 373820
Patch

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

&gt; Source/WebCore/Modules/webgpu/WebGPUDevice.cpp:192
&gt; +    m_device-&gt;popErrorScope([promise = WTFMove(promise)] (RefPtr&lt;GPUError&gt;&amp;&amp; error, bool isSuccess) mutable {

Why not Optional&lt;RefPtr&lt;GPUError&gt;&gt;&amp;&amp;?

&gt; Source/WebCore/Modules/webgpu/WebGPUDevice.cpp:196
&gt; +            promise.reject(Exception { OperationError, &quot;GPUDevice::popErrorScope(): No error scope exists!&quot;_s });

This message seems too specific. How do you know that the failure is due to a missing error scope? Shouldn&apos;t the GPUError have a string in it that gets placed here instead?

&gt; Source/WebCore/platform/graphics/gpu/GPUBuffer.h:111
&gt; +    static bool validateBufferUsage(GPUDevice&amp;, OptionSet&lt;GPUBufferUsage::Flags&gt;);

Is it worth marking the error members of Device as mutable so you don&apos;t have to make this change?

&gt; Source/WebCore/platform/graphics/gpu/GPUDevice.cpp:133
&gt; +    // FIXME: Uncaptured errors need to be fired as GPUUncapturedErrorEvents.

Can we file a bug about this and link it here?

&gt; Source/WebCore/platform/graphics/gpu/GPUError.cpp:42
&gt; +        ASSERT_NOT_REACHED();

Can we just fill out the rest of this? We&apos;re going to be creating a lot of these things in the future and it would be convenient to not have to fill out this function then.

&gt; Source/WebCore/platform/graphics/gpu/GPUError.h:40
&gt; +using GPUError = GPUValidationError;

What? Why are all errors GPUValidationErrors? That seems not right. Why not make it a Variant or a class hierarchy with a virtual base class?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551744</commentid>
    <comment_count>5</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-07-10 11:27:54 -0700</bug_when>
    <thetext>&gt; &gt; Source/WebCore/Modules/webgpu/WebGPUDevice.cpp:192
&gt; &gt; +    m_device-&gt;popErrorScope([promise = WTFMove(promise)] (RefPtr&lt;GPUError&gt;&amp;&amp; error, bool isSuccess) mutable {
&gt; 
&gt; Why not Optional&lt;RefPtr&lt;GPUError&gt;&gt;&amp;&amp;?
&gt; 
&gt; &gt; Source/WebCore/Modules/webgpu/WebGPUDevice.cpp:196
&gt; &gt; +            promise.reject(Exception { OperationError, &quot;GPUDevice::popErrorScope(): No error scope exists!&quot;_s });
&gt; 
&gt; This message seems too specific. How do you know that the failure is due to
&gt; a missing error scope? Shouldn&apos;t the GPUError have a string in it that gets
&gt; placed here instead?

The design doc specs that this doesn&apos;t create an actual GPUError, but I can use the GPUError parameter of the callback to pass a rejection message back instead. I&apos;m going to keep the &apos;isSuccess&apos; parameter then (since if I used an optional I wouldn&apos;t be able to use the &apos;message&apos; filed of GPUValidationError).

&gt; &gt; Source/WebCore/platform/graphics/gpu/GPUBuffer.h:111
&gt; &gt; +    static bool validateBufferUsage(GPUDevice&amp;, OptionSet&lt;GPUBufferUsage::Flags&gt;);
&gt; 
&gt; Is it worth marking the error members of Device as mutable so you don&apos;t have
&gt; to make this change?

Possibly.

&gt; &gt; Source/WebCore/platform/graphics/gpu/GPUDevice.cpp:133
&gt; &gt; +    // FIXME: Uncaptured errors need to be fired as GPUUncapturedErrorEvents.
&gt; 
&gt; Can we file a bug about this and link it here?

Will do. https://bugs.webkit.org/show_bug.cgi?id=199676

&gt; &gt; Source/WebCore/platform/graphics/gpu/GPUError.cpp:42
&gt; &gt; +        ASSERT_NOT_REACHED();
&gt; 
&gt; Can we just fill out the rest of this? We&apos;re going to be creating a lot of
&gt; these things in the future and it would be convenient to not have to fill
&gt; out this function then.
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/gpu/GPUError.h:40
&gt; &gt; +using GPUError = GPUValidationError;
&gt; 
&gt; What? Why are all errors GPUValidationErrors? That seems not right. Why not
&gt; make it a Variant or a class hierarchy with a virtual base class?

Yes, that line is supposed to be &apos;using GPUError = Variant&lt;GPUOutOfMemoryError, GPUValidationError&gt;&apos;. I&apos;ll add OOM in for this patch then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551948</commentid>
    <comment_count>6</comment_count>
      <attachid>373892</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-07-10 19:07:25 -0700</bug_when>
    <thetext>Created attachment 373892
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551949</commentid>
    <comment_count>7</comment_count>
      <attachid>373893</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-07-10 19:09:01 -0700</bug_when>
    <thetext>Created attachment 373893
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551959</commentid>
    <comment_count>8</comment_count>
      <attachid>373897</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-07-10 19:21:35 -0700</bug_when>
    <thetext>Created attachment 373897
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552079</commentid>
    <comment_count>9</comment_count>
      <attachid>373897</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-07-11 09:31:37 -0700</bug_when>
    <thetext>Comment on attachment 373897
Patch

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

&gt; Source/WebCore/Modules/webgpu/WebGPUDevice.h:74
&gt; +using ErrorPromise = DOMPromiseDeferred&lt;IDLNullable&lt;IDLUnion&lt;IDLInterface&lt;GPUOutOfMemoryError&gt;, IDLInterface&lt;GPUValidationError&gt;&gt;&gt;&gt;;

😱

Can we break this up into multiple lines of typedefs?

&gt; Source/WebCore/platform/graphics/gpu/GPUError.cpp:39
&gt; +        return GPUError(RefPtr&lt;GPUOutOfMemoryError&gt;(GPUOutOfMemoryError::create()));

I know I told you to do this, but you might want to consider making all errors the same type and using a member enum to differentiate them. Whatever you think is best.

&gt; Source/WebCore/platform/graphics/gpu/GPUError.h:41
&gt; +using GPUError = Variant&lt;RefPtr&lt;GPUOutOfMemoryError&gt;, RefPtr&lt;GPUValidationError&gt;&gt;;

Why not RefPtr&lt;JustinsNewClass&gt; which is ref counted and either hasa or isa variant? Or a single type with a member enum? It’s pretty awkward to put multiple RefPtrs in a variant.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552132</commentid>
    <comment_count>10</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-07-11 11:36:17 -0700</bug_when>
    <thetext>(In reply to Myles C. Maxfield from comment #9)
&gt; Comment on attachment 373897 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=373897&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/webgpu/WebGPUDevice.h:74
&gt; &gt; +using ErrorPromise = DOMPromiseDeferred&lt;IDLNullable&lt;IDLUnion&lt;IDLInterface&lt;GPUOutOfMemoryError&gt;, IDLInterface&lt;GPUValidationError&gt;&gt;&gt;&gt;;
&gt; 
&gt; 😱
&gt; 
&gt; Can we break this up into multiple lines of typedefs?

Done.

&gt; &gt; Source/WebCore/platform/graphics/gpu/GPUError.cpp:39
&gt; &gt; +        return GPUError(RefPtr&lt;GPUOutOfMemoryError&gt;(GPUOutOfMemoryError::create()));
&gt; 
&gt; I know I told you to do this, but you might want to consider making all
&gt; errors the same type and using a member enum to differentiate them. Whatever
&gt; you think is best.

I&apos;m going to keep this for now since it most closely matches the spec. The two error types do not share any fields right now.

&gt; &gt; Source/WebCore/platform/graphics/gpu/GPUError.h:41
&gt; &gt; +using GPUError = Variant&lt;RefPtr&lt;GPUOutOfMemoryError&gt;, RefPtr&lt;GPUValidationError&gt;&gt;;
&gt; 
&gt; Why not RefPtr&lt;JustinsNewClass&gt; which is ref counted and either hasa or isa
&gt; variant? Or a single type with a member enum? It’s pretty awkward to put
&gt; multiple RefPtrs in a variant.

Variant&lt;RefPtr, RefPtr, ...&gt; is how other WebCore code maps (RefCountedInterface or RefCountedInterface or ...). I think its possible to do this with raw pointers as well, but I don&apos;t know how that would work with object lifecycles.

Alternatives like Box&lt;Variant&lt;ErrorClass, ErrorClass2&gt;&gt; might work but could be a hassle to finagle into the Promise.resolve call.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552142</commentid>
    <comment_count>11</comment_count>
      <attachid>373933</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-07-11 11:50:46 -0700</bug_when>
    <thetext>Created attachment 373933
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552170</commentid>
    <comment_count>12</comment_count>
      <attachid>373942</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-07-11 13:11:36 -0700</bug_when>
    <thetext>Created attachment 373942
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552210</commentid>
    <comment_count>13</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-07-11 14:13:24 -0700</bug_when>
    <thetext>commit queue is unable to pass tests without my patch, and ERS was all green this morning, so I&apos;m going to land it manually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552225</commentid>
    <comment_count>14</comment_count>
      <attachid>373942</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-07-11 14:32:09 -0700</bug_when>
    <thetext>Comment on attachment 373942
Patch for landing

Clearing flags on attachment: 373942

Committed r247366: &lt;https://trac.webkit.org/changeset/247366&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552226</commentid>
    <comment_count>15</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-07-11 14:32:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552227</commentid>
    <comment_count>16</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-07-11 14:33:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/52972354&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552944</commentid>
    <comment_count>17</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2019-07-15 13:37:14 -0700</bug_when>
    <thetext>Rolled out in https://trac.webkit.org/r247442 because it broke the watchOS build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553394</commentid>
    <comment_count>18</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-07-16 17:04:54 -0700</bug_when>
    <thetext>Re-landed in https://trac.webkit.org/changeset/247500/webkit.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373817</attachid>
            <date>2019-07-09 21:30:32 -0700</date>
            <delta_ts>2019-07-09 22:04:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199655-20190709213031.patch</filename>
            <type>text/plain</type>
            <size>52721</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MjkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjliMThkMzZlNGRkN2Qz
ODRkNjQ3N2Y4Nzk0Yjc2YTgzMGYxOWM2OS4uMjYxMDg4MWJmZWNjN2UyNzFhZDc3OWI1NTlkODE5
YmEyMWZhODdhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDE5LTA3LTA5ICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gSW1wbGVt
ZW50IHZhbGlkYXRpb24gZXJyb3JzIGFuZCBlcnJvciBzY29wZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTY1NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBHUFVFcnJvckZpbHRlciwgR1BVVmFs
aWRhdGlvbkVycm9yLCBhbmQgdGhlIGFiaWxpdHkgdG8gcHVzaCBhbmQgcG9wIGVycm9yIHNjb3Bl
cyBvbiBhIEdQVURldmljZS4KKyAgICAgICAgVGhpcyB3aWxsIGFsbG93IHVzIHRvIGNoZWNrIGZv
ciBXZWJHUFUgdmFsaWRhdGlvbiBlcnJvcnMgZnJvbSBKYXZhU2NyaXB0LgorICAgICAgICBDdXJy
ZW50bHksIG9ubHkgb25lIEdQVUJ1ZmZlciBjcmVhdGlvbiBlcnJvciBpcyByZXBvcnRlZDsgYWN0
dWFsIGVycm9ycyB3aWxsIGZvbGxvdyBpbiBsYXRlciBwYXRjaGVzLgorCisgICAgICAgIFRlc3Q6
IHdlYmdwdS9lcnJvci1zY29wZXMtdGVzdC5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdw
dS9HUFVFcnJvckZpbHRlci5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L0dQ
VVZhbGlkYXRpb25FcnJvci5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dl
YkdQVURldmljZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHUFVEZXZpY2U6OnB1c2hFcnJv
clNjb3BlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVURldmljZTo6cG9wRXJyb3JTY29wZSk6
IFJlc29sdmUgdGhlIFByb21pc2UgaGVyZSwgc2luY2UgR1BVRGV2aWNlIHNob3VsZG4ndCB3b3Jy
eSBhYm91dCBET00gbGF5ZXIuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNl
Lmg6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVURldmljZUVycm9yU2NvcGVzOjpwdXNo
RXJyb3JTY29wZSk6IERlbGVnYXRlcyB0byBXZWJHUFVEZXZpY2UuCisgICAgICAgIChXZWJDb3Jl
OjpXZWJHUFVEZXZpY2VFcnJvclNjb3Blczo6cG9wRXJyb3JTY29wZSk6IERpdHRvLgorICAgICAg
ICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2NvcGVzLmg6IEFkZGVkLgorICAg
ICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2NvcGVzLmlkbDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUJ1ZmZlci5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwOiBUaGUgYWN0dWFsIGVycm9yIHN0
YWNrIGxpdmVzIGhlcmUuCisgICAgICAgIChXZWJDb3JlOjpHUFVEZXZpY2U6OnB1c2hFcnJvclNj
b3BlKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVURldmljZTo6cG9wRXJyb3JTY29wZSk6IENhbGxz
IGEgY2FsbGJhY2sgd2l0aCBhIEdQVUVycm9yLCBpZiBhbnkuCisgICAgICAgIChXZWJDb3JlOjpH
UFVEZXZpY2U6OnJlZ2lzdGVyRXJyb3IpOiBBY3R1YWxseSBjcmVhdGVzIEdQVUVycm9ycy4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmg6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9yLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpjcmVhdGVFcnJvcik6IEZ1dHVyZSB2ZXJzaW9uIHdpbGwgdHJlYXQgR1BVRXJyb3IgYXMgYSBW
YXJpYW50IG9mIGRpZmZlcmVudCBlcnJvciB0eXBlcy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9ncHUvR1BVRXJyb3IuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVUVycm9yRmlsdGVyLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVWYWxpZGF0aW9uRXJyb3IuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkdQ
VVZhbGlkYXRpb25FcnJvcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVVZhbGlkYXRp
b25FcnJvcjo6R1BVVmFsaWRhdGlvbkVycm9yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVVmFsaWRhdGlvbkVycm9yLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6R1BV
VmFsaWRhdGlvbkVycm9yOjptZXNzYWdlIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9ncHUvY29jb2EvR1BVQnVmZmVyTWV0YWwubW06CisgICAgICAgIChXZWJDb3JlOjpHUFVC
dWZmZXI6OnZhbGlkYXRlQnVmZmVyVXNhZ2UpOiBDcmVhdGUgYSByZWFsIGVycm9yIDopCisKKyAg
ICAgICAgQWRkIGZpbGUvbmFtZSByZWZlcmVuY2VzOgorICAgICAgICAqIENNYWtlTGlzdHMudHh0
OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0
aW5OYW1lcy5oOgorCisgICAgICAgIE1pc3NpbmcgaW5jbHVkZXM6CisgICAgICAgICogTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xDaGVja1RleHR1cmVSZWZlcmVuY2VzLmNwcDoKKwogMjAxOS0w
Ny0wOSAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBG
aXhlZCBlbGVtZW50cyBhcHBlYXIgaW4gdGhlIG1pZGRsZSBvZiBmdWxsIHBhZ2Ugc2NyZWVuc2hv
dHMgdGFrZW4gd2hlbiBzY3JvbGxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAzY2U1MTY2MTMx
MDQxZGViNzFjOWU3YmU5NTU3OTA1NTkzNzk4NTgyLi4xZmViMDI2ZjNkMDQzNWM0ZmVkYWIwMGMy
Y2VmMzcwYTcwMjM3NDMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNDgwLDYgKzQ4MCw3IEBA
IHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy93ZWJncHUvR1BVQ29s
b3JXcml0ZUJpdHMuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvR1BVQ29tcGFyZUZ1bmN0aW9uLmlk
bAogICAgIE1vZHVsZXMvd2ViZ3B1L0dQVURlcHRoU3RlbmNpbFN0YXRlRGVzY3JpcHRvci5pZGwK
KyAgICBNb2R1bGVzL3dlYmdwdS9HUFVFcnJvckZpbHRlci5pZGwKICAgICBNb2R1bGVzL3dlYmdw
dS9HUFVFeHRlbnQzRC5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9HUFVMb2FkT3AuaWRsCiAgICAg
TW9kdWxlcy93ZWJncHUvR1BVT3JpZ2luM0QuaWRsCkBAIC00OTAsNiArNDkxLDcgQEAgc2V0KFdl
YkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlRGVz
Y3JpcHRvci5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlRm9ybWF0LmlkbAogICAg
IE1vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVVc2FnZS5pZGwKKyAgICBNb2R1bGVzL3dlYmdwdS9H
UFVWYWxpZGF0aW9uRXJyb3IuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvR1BVVmVydGV4QXR0cmli
dXRlRGVzY3JpcHRvci5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9HUFVWZXJ0ZXhCdWZmZXJEZXNj
cmlwdG9yLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L0dQVVZlcnRleElucHV0RGVzY3JpcHRvci5p
ZGwKQEAgLTUwOCw2ICs1MTAsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAg
IE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQaXBlbGluZS5pZGwKICAgICBNb2R1bGVzL3dl
YmdwdS9XZWJHUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlwdG9yLmlkbAogICAgIE1vZHVsZXMvd2Vi
Z3B1L1dlYkdQVURldmljZS5pZGwKKyAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJv
clNjb3Blcy5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZURlc2NyaXB0b3JC
YXNlLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmlkbAogICAg
IE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5pZGwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGM2OWQz
ZGQ0MTdiYmQ5MjRmOTUyMmMxNDc0OGNlODFlMjdkMDEzZDEuLmJjZmNiMTY2NTJjMGFkYmVlMWFm
MDkxZjVhZDJmOTdlZTI1NWNkM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtMzMwLDYgKzMzMCw3IEBAICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvd2ViZ3B1L0dQVUNvbG9yU3RhdGVEZXNjcmlwdG9yLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy93ZWJncHUvR1BVQ29sb3JXcml0ZUJpdHMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL3dlYmdwdS9HUFVDb21wYXJlRnVuY3Rpb24uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L3dlYmdwdS9HUFVEZXB0aFN0ZW5jaWxTdGF0ZURlc2NyaXB0b3IuaWRsCiskKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL3dlYmdwdS9HUFVFcnJvckZpbHRlci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvd2ViZ3B1L0dQVUV4dGVudDNELmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJncHUv
R1BVSW5wdXRTdGF0ZURlc2NyaXB0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdw
dS9HUFVMb2FkT3AuaWRsCkBAIC0zNDEsNiArMzQyLDcgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxl
cy93ZWJncHUvR1BVU3RvcmVPcC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQ
VVRleHR1cmVEZXNjcmlwdG9yLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJncHUvR1BV
VGV4dHVyZUZvcm1hdC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1
cmVVc2FnZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVVZhbGlkYXRpb25F
cnJvci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVVZlcnRleEF0dHJpYnV0
ZURlc2NyaXB0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9HUFVWZXJ0ZXhC
dWZmZXJEZXNjcmlwdG9yLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJncHUvR1BVVmVy
dGV4SW5wdXREZXNjcmlwdG9yLmlkbApAQCAtMzYxLDYgKzM2Myw3IEBAICQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQYXNzRW5jb2Rlci5pZGwKICQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQaXBlbGluZS5pZGwKICQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IuaWRsCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaWRsCiskKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuaWRsCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dC5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRv
ci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54
Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3QKaW5kZXggMzdjM2M4YjFiYTUyYjI2MzBmMWYwNTNmMmIwNTI1MzVjZGM1MGNiNy4uMTViM2M4
MDU3ZjZiZjgwZDViZjNlYTU2ZDc4ZmU1ODEwM2FlOTczOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTYwOSw2ICs2MDksOCBAQCAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUNvbXBhcmVG
dW5jdGlvbi5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTR1BVQ29tcGFyZUZ1bmN0aW9uLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTR1BVRGVwdGhTdGVuY2lsU3RhdGVEZXNjcmlwdG9yLmNwcAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVEZXB0aFN0ZW5jaWxT
dGF0ZURlc2NyaXB0b3IuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNHUFVFcnJvckZpbHRlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTR1BVRXJyb3JGaWx0ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVFeHRlbnQzRC5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVRXh0ZW50M0QuaAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVJbnB1dFN0YXRlRGVzY3Jp
cHRvci5jcHAKQEAgLTYzMSw2ICs2MzMsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVRleHR1cmVGb3JtYXQuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVRleHR1cmVGb3JtYXQuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVUZXh0dXJlVXNhZ2Uu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVRl
eHR1cmVVc2FnZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0dQVVZhbGlkYXRpb25FcnJvci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTR1BVVmFsaWRhdGlvbkVycm9yLmgKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRv
ci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BV
VmVydGV4QXR0cmlidXRlRGVzY3JpcHRvci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVZlcnRleEJ1ZmZlckRlc2NyaXB0b3IuY3BwCkBAIC0xOTQz
LDYgKzE5NDcsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1dlYkdQVUNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IuYwogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJHUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlw
dG9yLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2Vi
R1BVRGV2aWNlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNXZWJHUFVEZXZpY2UuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNXZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJHUFVQaXBl
bGluZURlc2NyaXB0b3JCYXNlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNXZWJHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmgKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR1BVUGlwZWxpbmVMYXlvdXQu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA3ZWViNDI3YzI3ZDE4YWM0Y2I4
N2M5ZmIyZmVmMDNlZTA2YmY2NjZkLi4zNGVjOGE3NWEyZjBhM2E1OTI0N2RkZWZhMmRjNjM5NzM3
ODY4MmNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTM4Niw2ICszODYsNyBA
QCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVC
dWZmZXJVc2FnZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVQ29tcGFy
ZUZ1bmN0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVEZXB0aFN0
ZW5jaWxTdGF0ZURlc2NyaXB0b3IuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1
L0dQVUVycm9yRmlsdGVyLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVF
eHRlbnQzRC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVTG9hZE9wLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVPcmlnaW4zRC5pZGwgXApAQCAt
Mzk2LDYgKzM5Nyw3IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvd2ViZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3dlYmdwdS9HUFVUZXh0dXJlRm9ybWF0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3dlYmdwdS9HUFVUZXh0dXJlVXNhZ2UuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2Vi
Z3B1L0dQVVZhbGlkYXRpb25FcnJvci5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJn
cHUvR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRvci5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy93ZWJncHUvR1BVVmVydGV4QnVmZmVyRGVzY3JpcHRvci5pZGwgXAogCSQoV2ViQ29yZSkv
TW9kdWxlcy93ZWJncHUvR1BVVmVydGV4SW5wdXREZXNjcmlwdG9yLmlkbCBcCkBAIC00MTQsNiAr
NDE2LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJn
cHUvV2ViR1BVQ29tcHV0ZVBpcGVsaW5lLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dl
YmdwdS9XZWJHUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlwdG9yLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaWRsIFwKKwkkKFdlYkNvcmUpL01vZHVsZXMv
d2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2NvcGVzLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVRdWV1ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJn
cHUvV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlvdXQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUVycm9yRmlsdGVyLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L0dQVUVycm9yRmlsdGVyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZmUzZTM3
ZjgzM2I5ODk1MDBjNjhiNDI1MDA4MTUxNzVhZmI1NmVlCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVRXJyb3JGaWx0ZXIuaWRsCkBAIC0wLDAgKzEs
MzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworLy8gaHR0cHM6Ly9ncHV3ZWIuZ2l0aHViLmlvL2dwdXdlYgorCitl
bnVtIEdQVUVycm9yRmlsdGVyIHsKKyAgICAibm9uZSIsCisgICAgIm91dC1vZi1tZW1vcnkiLAor
ICAgICJ2YWxpZGF0aW9uIgorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9HUFVWYWxpZGF0aW9uRXJyb3IuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVlMTNjMTg4N2VmOGI0MDc5
YzA0YzVjYmVhNjZlY2E2NzMyN2Y0ODIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9HUFVWYWxpZGF0aW9uRXJyb3IuaWRsCkBAIC0wLDAgKzEsMzQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworLy8gaHR0cHM6Ly9ncHV3ZWIuZ2l0aHViLmlvL2dwdXdlYgorCitbCisgICAg
Q29uZGl0aW9uYWw9V0VCR1BVLAorICAgIENvbnN0cnVjdG9yKERPTVN0cmluZyBtZXNzYWdlKSwK
KyAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVSwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRh
YmxlCitdIGludGVyZmFjZSBHUFVWYWxpZGF0aW9uRXJyb3IgeworICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBET01TdHJpbmcgbWVzc2FnZTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTENoZWNrVGV4dHVyZVJlZmVyZW5jZXMuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xDaGVja1RleHR1cmVSZWZlcmVu
Y2VzLmNwcAppbmRleCBjMDJkYjg5ZDNjYjZjMGE3NTFhNjIyZWI3OWRkMzRlN2I3ZDU2M2Y5Li43
Mzg2YjEwNmJiODBkMzY3ZWYzMWRkNmI1MzU5ZWFiOWE1Nzc5Mjk3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTENoZWNrVGV4dHVyZVJlZmVyZW5j
ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hl
Y2tUZXh0dXJlUmVmZXJlbmNlcy5jcHAKQEAgLTI2LDEwICsyNiwxNSBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIldITFNMQ2hlY2tUZXh0dXJlUmVmZXJlbmNlcy5oIgogCi0jaW5j
bHVkZSAiV0hMU0xJbmZlclR5cGVzLmgiCi0KICNpZiBFTkFCTEUoV0VCR1BVKQogCisjaW5jbHVk
ZSAiV0hMU0xBcnJheVJlZmVyZW5jZVR5cGUuaCIKKyNpbmNsdWRlICJXSExTTEFycmF5VHlwZS5o
IgorI2luY2x1ZGUgIldITFNMSW5mZXJUeXBlcy5oIgorI2luY2x1ZGUgIldITFNMTmF0aXZlVHlw
ZURlY2xhcmF0aW9uLmgiCisjaW5jbHVkZSAiV0hMU0xQb2ludGVyVHlwZS5oIgorI2luY2x1ZGUg
IldITFNMVmlzaXRvci5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVzcGFjZSBXSExT
TCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZp
Y2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNwcApp
bmRleCBmMDU5YWQ4OWUwOWQ0ZjRhNzRmOGI4ZTgxM2Y0NGY1YTBhOWI5ZTFlLi45NDFhNDVjOWQ2
YmNjODhkNDk5OTM4NjRkNzZiYWZkNTZhMWNkOWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVO
QUJMRShXRUJHUFUpCiAKKyNpbmNsdWRlICJFeGNlcHRpb24uaCIKICNpbmNsdWRlICJHUFVCaW5k
R3JvdXAuaCIKICNpbmNsdWRlICJHUFVCaW5kR3JvdXBCaW5kaW5nLmgiCiAjaW5jbHVkZSAiR1BV
QmluZEdyb3VwRGVzY3JpcHRvci5oIgpAQCAtNDIsNiArNDMsNyBAQAogI2luY2x1ZGUgIkdQVVNo
YWRlck1vZHVsZURlc2NyaXB0b3IuaCIKICNpbmNsdWRlICJHUFVUZXh0dXJlRGVzY3JpcHRvci5o
IgogI2luY2x1ZGUgIkpTRE9NQ29udmVydEJ1ZmZlclNvdXJjZS5oIgorI2luY2x1ZGUgIkpTR1BV
VmFsaWRhdGlvbkVycm9yLmgiCiAjaW5jbHVkZSAiSlNXZWJHUFVCdWZmZXIuaCIKICNpbmNsdWRl
ICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiV2ViR1BVQmluZEdyb3VwLmgiCkBAIC0xODAsNiArMTgy
LDIxIEBAIFJlZjxXZWJHUFVRdWV1ZT4gV2ViR1BVRGV2aWNlOjpnZXRRdWV1ZSgpIGNvbnN0CiAg
ICAgcmV0dXJuIG1ha2VSZWYoKm1fcXVldWUuZ2V0KCkpOwogfQogCit2b2lkIFdlYkdQVURldmlj
ZTo6cHVzaEVycm9yU2NvcGUoR1BVRXJyb3JGaWx0ZXIgZmlsdGVyKQoreworICAgIG1fZGV2aWNl
LT5wdXNoRXJyb3JTY29wZShmaWx0ZXIpOworfQorCit2b2lkIFdlYkdQVURldmljZTo6cG9wRXJy
b3JTY29wZShFcnJvclByb21pc2UmJiBwcm9taXNlKQoreworICAgIG1fZGV2aWNlLT5wb3BFcnJv
clNjb3BlKFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0gKFJlZlB0cjxHUFVFcnJvcj4mJiBl
cnJvciwgYm9vbCBpc1N1Y2Nlc3MpIG11dGFibGUgeworICAgICAgICBpZiAoaXNTdWNjZXNzKQor
ICAgICAgICAgICAgcHJvbWlzZS5yZXNvbHZlKGVycm9yLmdldCgpKTsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3IsICJH
UFVEZXZpY2U6OnBvcEVycm9yU2NvcGUoKTogTm8gZXJyb3Igc2NvcGUgZXhpc3RzISJfcyB9KTsK
KyAgICB9KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxF
KFdFQkdQVSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VURldmljZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmgK
aW5kZXggMjFkMzcxYTAzYTc1MTU0NGE5MWQ3YzhhMWFkMGNkNjIxNTk1YWExYi4uMzVjOGQxMTYw
NmIxMjVmODg1NmEwN2Q2ZjIyNmZmMTg4YzZjNjA5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmgKQEAgLTI4LDYgKzI4LDggQEAKICNpZiBFTkFCTEUo
V0VCR1BVKQogCiAjaW5jbHVkZSAiR1BVRGV2aWNlLmgiCisjaW5jbHVkZSAiR1BVRXJyb3IuaCIK
KyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIldlYkdQVUFkYXB0
ZXIuaCIKICNpbmNsdWRlICJXZWJHUFVRdWV1ZS5oIgogI2luY2x1ZGUgIldlYkdQVVN3YXBDaGFp
bkRlc2NyaXB0b3IuaCIKQEAgLTY2LDYgKzY4LDEwIEBAIHN0cnVjdCBXZWJHUFVQaXBlbGluZUxh
eW91dERlc2NyaXB0b3I7CiBzdHJ1Y3QgV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yOwog
c3RydWN0IFdlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3I7CiAKK2VudW0gY2xhc3MgR1BVRXJy
b3JGaWx0ZXI7CisKK3VzaW5nIEVycm9yUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExO
dWxsYWJsZTxJRExJbnRlcmZhY2U8R1BVRXJyb3I+Pj47CisKIGNsYXNzIFdlYkdQVURldmljZSA6
IHB1YmxpYyBSZWZDb3VudGVkPFdlYkdQVURldmljZT4gewogcHVibGljOgogICAgIHN0YXRpYyBS
ZWZQdHI8V2ViR1BVRGV2aWNlPiB0cnlDcmVhdGUoUmVmPGNvbnN0IFdlYkdQVUFkYXB0ZXI+JiYp
OwpAQCAtOTEsNiArOTcsOSBAQCBwdWJsaWM6CiAKICAgICBSZWY8V2ViR1BVUXVldWU+IGdldFF1
ZXVlKCkgY29uc3Q7CiAKKyAgICB2b2lkIHB1c2hFcnJvclNjb3BlKEdQVUVycm9yRmlsdGVyKTsK
KyAgICB2b2lkIHBvcEVycm9yU2NvcGUoRXJyb3JQcm9taXNlJiYpOworCiBwcml2YXRlOgogICAg
IFdlYkdQVURldmljZShSZWY8Y29uc3QgV2ViR1BVQWRhcHRlcj4mJiwgUmVmPEdQVURldmljZT4m
Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURl
dmljZUVycm9yU2NvcGVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VURldmljZUVycm9yU2NvcGVzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43OTMxMTAwZGI1NDUxMzg3OTQ0NzU2
YzBmYjAxZmQ4ODJhMzAxYTgxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuY3BwCkBAIC0wLDAgKzEsNDcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViR1BVRGV2aWNl
RXJyb3JTY29wZXMuaCIKKworI2lmIEVOQUJMRShXRUJHUFUpCisKKyNpbmNsdWRlICJHUFVFcnJv
ckZpbHRlci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgV2ViR1BVRGV2aWNlRXJy
b3JTY29wZXM6OnB1c2hFcnJvclNjb3BlKFdlYkdQVURldmljZSYgZGV2aWNlLCBHUFVFcnJvckZp
bHRlciBmaWx0ZXIpCit7CisgICAgZGV2aWNlLnB1c2hFcnJvclNjb3BlKGZpbHRlcik7Cit9CisK
K3ZvaWQgV2ViR1BVRGV2aWNlRXJyb3JTY29wZXM6OnBvcEVycm9yU2NvcGUoV2ViR1BVRGV2aWNl
JiBkZXZpY2UsIEVycm9yUHJvbWlzZSYmIHByb21pc2UpCit7CisgICAgZGV2aWNlLnBvcEVycm9y
U2NvcGUoV1RGTW92ZShwcm9taXNlKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMjBmMDdh
YmUzOThiZjlhNzM0ZDQ0NmFmNTg5NDUzYzBkYjBjMTA5Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaApAQCAt
MCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VC
R1BVKQorCisjaW5jbHVkZSAiV2ViR1BVRGV2aWNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworZW51bSBjbGFzcyBHUFVFcnJvckZpbHRlcjsKKworY2xhc3MgV2ViR1BVRGV2aWNlRXJyb3JT
Y29wZXMgeworcHVibGljOgorICAgIHN0YXRpYyB2b2lkIHB1c2hFcnJvclNjb3BlKFdlYkdQVURl
dmljZSYsIEdQVUVycm9yRmlsdGVyKTsKKyAgICBzdGF0aWMgdm9pZCBwb3BFcnJvclNjb3BlKFdl
YkdQVURldmljZSYsIEVycm9yUHJvbWlzZSYmKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNGVlZmZmMWQ5OGM5NDZhMTE0ZmVmYzZiNGY5ZjZlNTkwMTc2M2NhMwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2Nv
cGVzLmlkbApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKy8vIGh0dHBzOi8vZ3B1d2ViLmdp
dGh1Yi5pby9ncHV3ZWIKKwordHlwZWRlZiBHUFVWYWxpZGF0aW9uRXJyb3IgR1BVRXJyb3I7CisK
K1sKKyAgICBDb25kaXRpb25hbD1XRUJHUFUsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUK
K10gcGFydGlhbCBpbnRlcmZhY2UgV2ViR1BVRGV2aWNlIHsKKyAgICB2b2lkIHB1c2hFcnJvclNj
b3BlKEdQVUVycm9yRmlsdGVyIGZpbHRlcik7CisgICAgUHJvbWlzZTxHUFVFcnJvcj8+IHBvcEVy
cm9yU2NvcGUoKTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBi
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IGQ4MGYwMmU5MTdjMzg0MmI1Yjk4Mzc3
OWQ5ZjdmYjc5MDg1MGRkMjkuLmUxODllMTQzMDA1OTg2NzNkOTBlYmM5YmRiODE0ZjU2NDM5MTEx
MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0zNjcsNiArMzY3LDcgQEAgTW9kdWxlcy93ZWJncHUvV2Vi
R1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmNwcAogTW9kdWxlcy93ZWJncHUvV2ViR1BVQ29tcHV0ZVBp
cGVsaW5lLmNwcAogTW9kdWxlcy93ZWJncHUvV2ViR1BVQ29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRv
ci5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAKK01vZHVsZXMvd2ViZ3B1L1dl
YkdQVURldmljZUVycm9yU2NvcGVzLmNwcAogTW9kdWxlcy93ZWJncHUvV2ViR1BVUXVldWUuY3Bw
CiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dC5jcHAKIE1vZHVsZXMvd2ViZ3B1
L1dlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5jcHAKQEAgLTE4MjcsNiArMTgyOCw4IEBA
IHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlR3JhcGhpYy5jcHAKIHBsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvU3BvdExpZ2h0U291cmNlLmNwcAogCiBwbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVRGV2aWNlLmNwcAorcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9yLmNwcAorcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5jcHAKIHBsYXRmb3JtL2dyYXBo
aWNzL2dwdS9HUFVQaXBlbGluZUxheW91dC5jcHAKIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVQ
cm9ncmFtbWFibGVQYXNzRW5jb2Rlci5jcHAKIApAQCAtMjc1Niw2ICsyNzU5LDcgQEAgSlNHUFVC
dWZmZXJEZXNjcmlwdG9yLmNwcAogSlNHUFVCdWZmZXJVc2FnZS5jcHAKIEpTR1BVQ29tcGFyZUZ1
bmN0aW9uLmNwcAogSlNHUFVEZXB0aFN0ZW5jaWxTdGF0ZURlc2NyaXB0b3IuY3BwCitKU0dQVUVy
cm9yRmlsdGVyLmNwcAogSlNHUFVFeHRlbnQzRC5jcHAKIEpTR1BVTG9hZE9wLmNwcAogSlNHUFVP
cmlnaW4zRC5jcHAKQEAgLTI3NjYsNiArMjc3MCw3IEBAIEpTR1BVU3RvcmVPcC5jcHAKIEpTR1BV
VGV4dHVyZURlc2NyaXB0b3IuY3BwCiBKU0dQVVRleHR1cmVGb3JtYXQuY3BwCiBKU0dQVVRleHR1
cmVVc2FnZS5jcHAKK0pTR1BVVmFsaWRhdGlvbkVycm9yLmNwcAogSlNHUFVWZXJ0ZXhBdHRyaWJ1
dGVEZXNjcmlwdG9yLmNwcAogSlNHUFVWZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yLmNwcAogSlNHUFVW
ZXJ0ZXhJbnB1dERlc2NyaXB0b3IuY3BwCkBAIC0zMzE4LDYgKzMzMjMsNyBAQCBKU1dlYkdQVUNv
bXB1dGVQYXNzRW5jb2Rlci5jcHAKIEpTV2ViR1BVQ29tcHV0ZVBpcGVsaW5lLmNwcAogSlNXZWJH
UFVDb21wdXRlUGlwZWxpbmVEZXNjcmlwdG9yLmNwcAogSlNXZWJHUFVEZXZpY2UuY3BwCitKU1dl
YkdQVURldmljZUVycm9yU2NvcGVzLmNwcAogSlNXZWJHUFVRdWV1ZS5jcHAKIEpTV2ViR1BVUGlw
ZWxpbmVEZXNjcmlwdG9yQmFzZS5jcHAKIEpTV2ViR1BVUGlwZWxpbmVMYXlvdXQuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
OWE4ZWY5MzAwZDBmMGE0MTU3MTc4ZDdmOTg5MDgyYmVkZDBiZTZkNC4uYzA1ZGVmNmJlN2EyOGM0
ZWVlMzgyNWU0NGNlNmYzMzBhYTc2ZmM0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTQwMTgsNiArMTQwMTgsMTYgQEAKIAkJ
RDA5M0QyMjUyMTc5NTFENDAwMzI5MjE3IC8qIEdQVUNhbnZhc0NvbnRleHQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gR1BVQ2FudmFzQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlE
MDkzRDIyNzIxNzk1MUQ0MDAzMjkyMTcgLyogR1BVQ2FudmFzQ29udGV4dC5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BV
Q2FudmFzQ29udGV4dC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwOTNEMjI5
MjE3OTU0MTYwMDMyOTIxNyAvKiBHUFVDYW52YXNDb250ZXh0LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEdQVUNhbnZhc0NvbnRleHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlE
MDlBRkFGRjIyRDAyRTUzMDBDNDUzOEMgLyogV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJRDA5QUZCMDEyMkQwMkU1MzAwQzQ1MzhDIC8qIFdlYkdQVURldmljZUVycm9y
U2NvcGVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkdQVURldmljZUVycm9yU2NvcGVzLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA5QUZCMDIyMkQwNDcxOTAwQzQ1MzhD
IC8qIEdQVUVycm9yRmlsdGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQ
VUVycm9yRmlsdGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwOUFGQjAzMjJE
NDBDQzUwMEM0NTM4QyAvKiBXZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViR1BV
RGV2aWNlRXJyb3JTY29wZXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDlB
RkIwNjIyRDQxN0IzMDBDNDUzOEMgLyogR1BVRXJyb3JGaWx0ZXIuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVUVycm9y
RmlsdGVyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA5QUZCMDcyMkQ1Mzkx
QjAwQzQ1MzhDIC8qIEdQVUVycm9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVUVycm9yLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwOUFGQjA4MjJENTU0MjgwMEM0NTM4QyAvKiBHUFVF
cnJvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHUFVFcnJvci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUQwOUFGQjBDMjJENTVFOTAwMEM0NTM4QyAvKiBHUFVWYWxpZGF0aW9u
RXJyb3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IEdQVVZhbGlkYXRpb25FcnJvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUQwOUFGQjBEMjJENTVGM0IwMEM0NTM4QyAvKiBHUFVWYWxpZGF0aW9uRXJy
b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVVmFsaWRhdGlvbkVycm9yLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUQwOUFGQjBFMjJENTVGRjUwMEM0NTM4QyAvKiBHUFVWYWxpZGF0aW9u
RXJyb3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR1BVVmFsaWRhdGlvbkVycm9yLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDBBMjBENTQyMDkyQTBBNjAwRTBDMjU5IC8qIFdl
YkdMQ29tcHJlc3NlZFRleHR1cmVBU1RDLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBU1RDLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUQwQTIwRDU2MjA5MkEwQTYwMEUwQzI1OSAvKiBXZWJHTENvbXByZXNzZWRUZXh0dXJl
QVNUQy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJHTENvbXBy
ZXNzZWRUZXh0dXJlQVNUQy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwQTNB
NzMwMTQwNUEzOTgwMEZCOEVEMyAvKiBSZXNvdXJjZUxvYWRlck9wdGlvbnMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVzb3VyY2VMb2FkZXJPcHRpb25zLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODMyMCw2ICsxODMzMCw5IEBACiAJCQkJRDAzQzg0OUEy
MUZGQzY2NzAwMDIyMjdGIC8qIEdQVURlcHRoU3RlbmNpbFN0YXRlRGVzY3JpcHRvci5oICovLAog
CQkJCTMxMkZGOEJGMjFBNEMyRjEwMEVCMTk5RCAvKiBHUFVEZXZpY2UuY3BwICovLAogCQkJCTMx
MkZGOEJFMjFBNEMyRjEwMEVCMTk5RCAvKiBHUFVEZXZpY2UuaCAqLywKKwkJCQlEMDlBRkIwODIy
RDU1NDI4MDBDNDUzOEMgLyogR1BVRXJyb3IuY3BwICovLAorCQkJCUQwOUFGQjA3MjJENTM5MUIw
MEM0NTM4QyAvKiBHUFVFcnJvci5oICovLAorCQkJCUQwOUFGQjAyMjJEMDQ3MTkwMEM0NTM4QyAv
KiBHUFVFcnJvckZpbHRlci5oICovLAogCQkJCUQwMjZGNDdEMjIwQTJBQzYwMEFDNUY0OSAvKiBH
UFVFeHRlbnQzRC5oICovLAogCQkJCUQwRjc1NTlGMjIwM0JBMTQwMDExODA1OCAvKiBHUFVMaW1p
dHMuaCAqLywKIAkJCQlEMDhBQTAyRjIyMEQwQkQ1MDA1OEM1MDIgLyogR1BVTG9hZE9wLmggKi8s
CkBAIC0xODM0OCw2ICsxODM2MSw4IEBACiAJCQkJMzEyRkY4QzMyMUE0QzJGMzAwRUIxOTlEIC8q
IEdQVVRleHR1cmVGb3JtYXQuaCAqLywKIAkJCQlEMDI2RjQ4NTIyMEE0NzcyMDBBQzVGNDkgLyog
R1BVVGV4dHVyZVVzYWdlLmggKi8sCiAJCQkJRDA2RUY1NTIyMjBCQTI2QTAwMTg3MjRFIC8qIEdQ
VVV0aWxzLmggKi8sCisJCQkJRDA5QUZCMEUyMkQ1NUZGNTAwQzQ1MzhDIC8qIEdQVVZhbGlkYXRp
b25FcnJvci5jcHAgKi8sCisJCQkJRDA5QUZCMEQyMkQ1NUYzQjAwQzQ1MzhDIC8qIEdQVVZhbGlk
YXRpb25FcnJvci5oICovLAogCQkJCUQwRDg2NDlCMjFCQTFDMkQwMDNDOTgzQyAvKiBHUFVWZXJ0
ZXhBdHRyaWJ1dGVEZXNjcmlwdG9yLmggKi8sCiAJCQkJRDBEODY0OUMyMUJBMUNFODAwM0M5ODND
IC8qIEdQVVZlcnRleEJ1ZmZlckRlc2NyaXB0b3IuaCAqLywKIAkJCQlEMEQ4NjQ5OTIxQkExQjFG
MDAzQzk4M0MgLyogR1BVVmVydGV4SW5wdXREZXNjcmlwdG9yLmggKi8sCkBAIC0yNTkzNyw2ICsy
NTk1Miw3IEBACiAJCQkJRDBCNTZFQUUyMjRFQ0UyMDAwNjEwNDlDIC8qIEdQVUNvbG9yV3JpdGVC
aXRzLmlkbCAqLywKIAkJCQlEMDNDODQ5RTIxRkZDRjAwMDAwMjIyN0YgLyogR1BVQ29tcGFyZUZ1
bmN0aW9uLmlkbCAqLywKIAkJCQlEMDNDODRBMjIxRkZENzIzMDAwMjIyN0YgLyogR1BVRGVwdGhT
dGVuY2lsU3RhdGVEZXNjcmlwdG9yLmlkbCAqLywKKwkJCQlEMDlBRkIwNjIyRDQxN0IzMDBDNDUz
OEMgLyogR1BVRXJyb3JGaWx0ZXIuaWRsICovLAogCQkJCUQwMjZGNDgwMjIwQTJCNzAwMEFDNUY0
OSAvKiBHUFVFeHRlbnQzRC5pZGwgKi8sCiAJCQkJRDA4QUEwMkQyMjBEMEI5QzAwNThDNTAyIC8q
IEdQVUxvYWRPcC5pZGwgKi8sCiAJCQkJRDBDQ0E5NDkyMjI5OUY5NzAwNjk3OUI2IC8qIEdQVU9y
aWdpbjNELmggKi8sCkBAIC0yNTk0OSw2ICsyNTk2NSw3IEBACiAJCQkJRDAyNkY0OEIyMjBBNUIw
QjAwQUM1RjQ5IC8qIEdQVVRleHR1cmVEZXNjcmlwdG9yLmlkbCAqLywKIAkJCQlEMEVBQ0ZBRTIx
OUUzMEZEMDAwRkE3NUMgLyogR1BVVGV4dHVyZUZvcm1hdC5pZGwgKi8sCiAJCQkJRDAyNkY0ODMy
MjBBNDcyRjAwQUM1RjQ5IC8qIEdQVVRleHR1cmVVc2FnZS5pZGwgKi8sCisJCQkJRDA5QUZCMEMy
MkQ1NUU5MDAwQzQ1MzhDIC8qIEdQVVZhbGlkYXRpb25FcnJvci5pZGwgKi8sCiAJCQkJRDBEODY0
OTYyMUJBMThGNDAwM0M5ODNDIC8qIEdQVVZlcnRleEF0dHJpYnV0ZURlc2NyaXB0b3IuaWRsICov
LAogCQkJCUQwRDg2NDk4MjFCQTE5QTcwMDNDOTgzQyAvKiBHUFVWZXJ0ZXhCdWZmZXJEZXNjcmlw
dG9yLmlkbCAqLywKIAkJCQlEMEQ4NjQ5NDIxQkExNzNEMDAzQzk4M0MgLyogR1BVVmVydGV4SW5w
dXREZXNjcmlwdG9yLmlkbCAqLywKQEAgLTI1OTk1LDYgKzI2MDEyLDkgQEAKIAkJCQlEMDBGNTk1
MzIxNzAxRDhDMDAwRDcxREIgLyogV2ViR1BVRGV2aWNlLmNwcCAqLywKIAkJCQlEMDBGNTk1MjIx
NzAxRDhDMDAwRDcxREIgLyogV2ViR1BVRGV2aWNlLmggKi8sCiAJCQkJRDAwRjU5NTQyMTcwMUQ4
QzAwMEQ3MURCIC8qIFdlYkdQVURldmljZS5pZGwgKi8sCisJCQkJRDA5QUZCMDEyMkQwMkU1MzAw
QzQ1MzhDIC8qIFdlYkdQVURldmljZUVycm9yU2NvcGVzLmNwcCAqLywKKwkJCQlEMDlBRkFGRjIy
RDAyRTUzMDBDNDUzOEMgLyogV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaCAqLywKKwkJCQlEMDlB
RkIwMzIyRDQwQ0M1MDBDNDUzOEMgLyogV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaWRsICovLAog
CQkJCUQwQzQxOUYwMjE4M0VCMzEwMDlFQzFERSAvKiBXZWJHUFVQaXBlbGluZURlc2NyaXB0b3JC
YXNlLmggKi8sCiAJCQkJRDBDNDE5RjEyMTgzRUIzMTAwOUVDMURFIC8qIFdlYkdQVVBpcGVsaW5l
RGVzY3JpcHRvckJhc2UuaWRsICovLAogCQkJCUQwNUE5OUU1MjFDOUJGMkMwMDAzMkI3NSAvKiBX
ZWJHUFVQaXBlbGluZUxheW91dC5jcHAgKi8sCkBAIC0yODQwMCw2ICsyODQyMCw3IEBACiAJCQkJ
QTVBN0FBNDMxMzJGMEVDQzAwRDNBM0MyIC8qIEF1dG9jYXBpdGFsaXplVHlwZXMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTdDMTg0M0ZFMUM4QjcyODMwMDJFQjk3MyAvKiBBdXRvZmlsbC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJN0MxRTk3MjgxQTlGOTgzNDAwN0JGMEZCIC8qIEF1dG9GaWxsQnV0dG9u
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUNDQzI3MDkyMkQ1NDgzQTAwOTY0RkEwIC8q
IEF1dG9maWxsRWxlbWVudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUM5RDQ2NzA1MUU2MEM0NjUw
MDgxOTVGQiAvKiBBdXRvcGxheUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk0NTgzMEQ0RTE2
NzlCNEY4MDBBQ0Y4QzMgLyogQXV0b3Njcm9sbENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCUE4Q0ZGMDRFMEExNTRGMDkwMDBBNDIzNCAvKiBBdXRvVGFibGVMYXlvdXQuaCBpbiBIZWFk
ZXJzICovLApAQCAtMzAwNDQsNyArMzAwNjUsNiBAQAogCQkJCTdDNzc2MUFBMUY4NzhBQTUwMEY4
NjlGRCAvKiBKU0ltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dFNldHRpbmdzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBNzc5NzkyOTBENkI5RTY0MDAzODUxQjkgLyogSlNJbWFnZURhdGEuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTdDMTkzQzAxMUY1RTExMDUwMDg4RjNFNiAvKiBKU0ltYWdlU21vb3Ro
aW5nUXVhbGl0eS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNUNDQzI3MDkyMkQ1NDgzQTAwOTY0RkEw
IC8qIEF1dG9maWxsRWxlbWVudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NjYyOUQzMDlEQTJC
NDgwMDk2MzNBNiAvKiBKU0lucHV0RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkxNzVDRTVF
MjFFMjgxRUQwMERGMkMyOCAvKiBKU0luc3BlY3RvckF1ZGl0QWNjZXNzaWJpbGl0eU9iamVjdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJOTE3NUNFNUMyMUUyODFFRDAwREYyQzI4IC8qIEpTSW5zcGVj
dG9yQXVkaXRET01PYmplY3QuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmluZGV4IGY1YjUzMjJjN2I5MDM1Zjcz
YTQyODE2YTIwY2JiYTEwZTdmZDdmZTQuLmUzZmQ3MmJhNDVmNzU5NDUzMjMzNTZhOTRmNGVhMTAw
MWM0OGJhNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVp
bHRpbk5hbWVzLmgKQEAgLTEwNiw2ICsxMDYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
bWFjcm8oR1BVVGV4dHVyZSkgXAogICAgIG1hY3JvKEdQVVRleHR1cmVVc2FnZSkgXAogICAgIG1h
Y3JvKEdQVVRleHR1cmVWaWV3KSBcCisgICAgbWFjcm8oR1BVVmFsaWRhdGlvbkVycm9yKSBcCiAg
ICAgbWFjcm8oSFRNTEF0dGFjaG1lbnRFbGVtZW50KSBcCiAgICAgbWFjcm8oSFRNTEF1ZGlvRWxl
bWVudCkgXAogICAgIG1hY3JvKEhUTUxEYXRhTGlzdEVsZW1lbnQpIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVCdWZmZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVCdWZmZXIuaAppbmRleCA0MjUwOGJjNzYx
NzA1YmYxYTBlNjYxMTc5MWY1ZWE2NzA5N2I1NTA1Li44ZGEwNDMyMzY5YTcxNDc1NDllZDg1YzUz
YmY3MzQzNDE0NmFlOGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvR1BVQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0dQVUJ1ZmZlci5oCkBAIC0xMDgsNyArMTA4LDcgQEAgcHJpdmF0ZToKICAgICB9Owog
CiAgICAgR1BVQnVmZmVyKFBsYXRmb3JtQnVmZmVyU21hcnRQdHImJiwgUmVmPEdQVURldmljZT4m
Jiwgc2l6ZV90LCBPcHRpb25TZXQ8R1BVQnVmZmVyVXNhZ2U6OkZsYWdzPiwgYm9vbCk7Ci0gICAg
c3RhdGljIGJvb2wgdmFsaWRhdGVCdWZmZXJVc2FnZShjb25zdCBHUFVEZXZpY2UmLCBPcHRpb25T
ZXQ8R1BVQnVmZmVyVXNhZ2U6OkZsYWdzPik7CisgICAgc3RhdGljIGJvb2wgdmFsaWRhdGVCdWZm
ZXJVc2FnZShHUFVEZXZpY2UmLCBPcHRpb25TZXQ8R1BVQnVmZmVyVXNhZ2U6OkZsYWdzPik7CiAK
ICAgICBKU0M6OkFycmF5QnVmZmVyKiBzdGFnaW5nQnVmZmVyRm9yUmVhZCgpOwogICAgIEpTQzo6
QXJyYXlCdWZmZXIqIHN0YWdpbmdCdWZmZXJGb3JXcml0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmNwcAppbmRleCBhNjQ5YTYwNzE5
MTliNmQ1YzI0MWE3MmYyNjg4MjVhMGU2NTFlN2FkLi45N2M3MjEzNjJiZmMwOGYxODIyZmY3YWM1
NDljNWI3NDUzMDQwYjVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvR1BVRGV2aWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvR1BVRGV2aWNlLmNwcApAQCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUgIkdQVVN3
YXBDaGFpbkRlc2NyaXB0b3IuaCIKICNpbmNsdWRlICJHUFVUZXh0dXJlLmgiCiAjaW5jbHVkZSAi
R1BVVGV4dHVyZURlc2NyaXB0b3IuaCIKKyNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8
d3RmL09wdGlvbmFsLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTEwOCw2ICsxMDksMzgg
QEAgdm9pZCBHUFVEZXZpY2U6OnNldFN3YXBDaGFpbihSZWZQdHI8R1BVU3dhcENoYWluPiYmIHN3
YXBDaGFpbikKICAgICBtX3N3YXBDaGFpbiA9IFdURk1vdmUoc3dhcENoYWluKTsKIH0KIAordm9p
ZCBHUFVEZXZpY2U6OnB1c2hFcnJvclNjb3BlKEdQVUVycm9yRmlsdGVyIGZpbHRlcikKK3sKKyAg
ICBtX2Vycm9yU2NvcGVzLmFwcGVuZChFcnJvclNjb3BlIHsgZmlsdGVyLCBudWxscHRyIH0pOwor
fQorCit2b2lkIEdQVURldmljZTo6cG9wRXJyb3JTY29wZShFcnJvckNhbGxiYWNrJiYgY2FsbGJh
Y2spCit7CisgICAgaWYgKCFtX3BsYXRmb3JtRGV2aWNlIHx8IG1fZXJyb3JTY29wZXMuaXNFbXB0
eSgpKQorICAgICAgICBjYWxsYmFjayhudWxscHRyLCBmYWxzZSk7CisgICAgZWxzZSB7CisgICAg
ICAgIGF1dG8gc2NvcGUgPSBtX2Vycm9yU2NvcGVzLnRha2VMYXN0KCk7CisgICAgICAgIGNhbGxi
YWNrKHNjb3BlLmZpbHRlciA9PSBHUFVFcnJvckZpbHRlcjo6Tm9uZSA/IG51bGxwdHIgOiBzY29w
ZS5lcnJvciwgdHJ1ZSk7CisgICAgfQorfQorCit2b2lkIEdQVURldmljZTo6cmVnaXN0ZXJFcnJv
cihjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEdQVUVycm9yRmlsdGVyIGZpbHRlcikKK3sKKyAgICBh
dXRvIGl0ZXJhdG9yID0gc3RkOjpmaW5kX2lmKG1fZXJyb3JTY29wZXMucmJlZ2luKCksIG1fZXJy
b3JTY29wZXMucmVuZCgpLCBbZmlsdGVyXShjb25zdCBFcnJvclNjb3BlJiBzY29wZSkgeworICAg
ICAgICByZXR1cm4gc2NvcGUuZmlsdGVyID09IEdQVUVycm9yRmlsdGVyOjpOb25lIHx8IHNjb3Bl
LmZpbHRlciA9PSBmaWx0ZXI7CisgICAgfSk7CisKKyAgICAvLyBGSVhNRTogVW5jYXB0dXJlZCBl
cnJvcnMgbmVlZCB0byBiZSBmaXJlZCBhcyBHUFVVbmNhcHR1cmVkRXJyb3JFdmVudHMuCisgICAg
aWYgKGl0ZXJhdG9yID09IG1fZXJyb3JTY29wZXMucmVuZCgpKQorICAgICAgICByZXR1cm47CisK
KyAgICAvLyBJZiB0aGUgc2NvcGUgaGFzIGFscmVhZHkgY2FwdHVyZWQgYW4gZXJyb3IsIGlnbm9y
ZSB0aGlzIG5ldyBvbmUuCisgICAgaWYgKGl0ZXJhdG9yLT5lcnJvcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgaXRlcmF0b3ItPmVycm9yID0gY3JlYXRlRXJyb3IoZmlsdGVyLCBtZXNzYWdlKTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQkdQVSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZp
Y2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaApp
bmRleCBhNzEzOTU0MWQwYmZkMTRkYjI4ZmE5NTlmZmIwMTk0MzBmODAzYmJlLi40NGMyZjAxYWZl
MGM4ZDcxYTk3MTk1MGY4YmUyNTA4MGJhYzc0YjM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oCkBAIC0yNywxMSArMjcsMTggQEAKIAog
I2lmIEVOQUJMRShXRUJHUFUpCiAKKyNpbmNsdWRlICJHUFVFcnJvci5oIgorI2luY2x1ZGUgIkdQ
VUVycm9yRmlsdGVyLmgiCiAjaW5jbHVkZSAiR1BVUXVldWUuaCIKICNpbmNsdWRlICJHUFVTd2Fw
Q2hhaW4uaCIKKyNpbmNsdWRlICJHUFVWYWxpZGF0aW9uRXJyb3IuaCIKKyNpbmNsdWRlIDx3dGYv
RnVuY3Rpb24uaD4KKyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KIAogT0JKQ19QUk9UT0NPTChNVExEZXZpY2UpOwogCkBAIC01Nyw3ICs2NCw3IEBA
IHN0cnVjdCBHUFVTYW1wbGVyRGVzY3JpcHRvcjsKIHN0cnVjdCBHUFVTaGFkZXJNb2R1bGVEZXNj
cmlwdG9yOwogc3RydWN0IEdQVVN3YXBDaGFpbkRlc2NyaXB0b3I7CiBzdHJ1Y3QgR1BVVGV4dHVy
ZURlc2NyaXB0b3I7Ci0gICAgCisKIHVzaW5nIFBsYXRmb3JtRGV2aWNlID0gTVRMRGV2aWNlOwog
dXNpbmcgUGxhdGZvcm1EZXZpY2VTbWFydFB0ciA9IFJldGFpblB0cjxNVExEZXZpY2U+OwogCkBA
IC04NCwxMiArOTEsMjUgQEAgcHVibGljOgogICAgIEdQVVN3YXBDaGFpbiogc3dhcENoYWluKCkg
Y29uc3QgeyByZXR1cm4gbV9zd2FwQ2hhaW4uZ2V0KCk7IH0KICAgICB2b2lkIHNldFN3YXBDaGFp
bihSZWZQdHI8R1BVU3dhcENoYWluPiYmKTsKIAorICAgIHZvaWQgcHVzaEVycm9yU2NvcGUoR1BV
RXJyb3JGaWx0ZXIpOworCisgICAgdXNpbmcgRXJyb3JDYWxsYmFjayA9IFdURjo6RnVuY3Rpb248
dm9pZChSZWZQdHI8R1BVRXJyb3I+JiYsIGJvb2wpPjsKKyAgICB2b2lkIHBvcEVycm9yU2NvcGUo
RXJyb3JDYWxsYmFjayYmKTsKKyAgICB2b2lkIHJlZ2lzdGVyRXJyb3IoY29uc3QgU3RyaW5nJiwg
R1BVRXJyb3JGaWx0ZXIgPSBHUFVFcnJvckZpbHRlcjo6VmFsaWRhdGlvbik7CisKIHByaXZhdGU6
CisgICAgc3RydWN0IEVycm9yU2NvcGUgeworICAgICAgICBHUFVFcnJvckZpbHRlciBmaWx0ZXI7
CisgICAgICAgIFJlZlB0cjxHUFVFcnJvcj4gZXJyb3I7CisgICAgfTsKKwogICAgIGV4cGxpY2l0
IEdQVURldmljZShQbGF0Zm9ybURldmljZVNtYXJ0UHRyJiYpOwogCiAgICAgUGxhdGZvcm1EZXZp
Y2VTbWFydFB0ciBtX3BsYXRmb3JtRGV2aWNlOwogICAgIG11dGFibGUgUmVmUHRyPEdQVVF1ZXVl
PiBtX3F1ZXVlOwogICAgIFJlZlB0cjxHUFVTd2FwQ2hhaW4+IG1fc3dhcENoYWluOworCisgICAg
VmVjdG9yPEVycm9yU2NvcGU+IG1fZXJyb3JTY29wZXM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
R1BVRXJyb3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVy
cm9yLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45NmEzYWI4NGM3YmY0MjQ3MzJmMzQwY2FjNTMxMmY4MzA5MDMx
NjIzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVUVycm9yLmNwcApAQCAtMCwwICsxLDQ4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkdQVUVycm9yLmgiCisKKyNpZiBFTkFCTEUoV0VCR1BVKQor
CisjaW5jbHVkZSAiR1BVRXJyb3JGaWx0ZXIuaCIKKyNpbmNsdWRlICJHUFVWYWxpZGF0aW9uRXJy
b3IuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8R1BVRXJyb3I+IGNyZWF0ZUVycm9y
KEdQVUVycm9yRmlsdGVyIGZpbHRlciwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQoreworICAgIHN3
aXRjaCAoZmlsdGVyKSB7CisgICAgY2FzZSBHUFVFcnJvckZpbHRlcjo6VmFsaWRhdGlvbjoKKyAg
ICAgICAgcmV0dXJuIEdQVVZhbGlkYXRpb25FcnJvcjo6Y3JlYXRlKG1lc3NhZ2UpOworICAgIGRl
ZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdQVSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvci5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9yLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2Jm
MWE2ZjM4YmUwMmQ1ZmU3YmRlYWZhMzExYjdjZTcwYTYwNjk2NAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvci5oCkBAIC0wLDAg
KzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJHUFUp
CisKKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgR1BVVmFsaWRhdGlvbkVycm9yOwor
CitlbnVtIGNsYXNzIEdQVUVycm9yRmlsdGVyOworCisvLyBGSVhNRTogQWRkIEdQVU91dE9mTWVt
b3J5RXJyb3IuCit1c2luZyBHUFVFcnJvciA9IEdQVVZhbGlkYXRpb25FcnJvcjsKKworUmVmPEdQ
VUVycm9yPiBjcmVhdGVFcnJvcihHUFVFcnJvckZpbHRlciwgY29uc3QgU3RyaW5nJik7CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3JGaWx0ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvckZpbHRlci5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1Njlm
ZWYzMjcwNWQ5OWJmZWNlYTAwODkxZmYxNjQ0YTBhNGQxNzIKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3JGaWx0ZXIuaApAQCAt
MCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VC
R1BVKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisgICAgCitlbnVtIGNsYXNzIEdQVUVycm9yRmls
dGVyIHsKKyAgICBOb25lLAorICAgIE91dE9mTWVtb3J5LAorICAgIFZhbGlkYXRpb24sCit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVZhbGlkYXRp
b25FcnJvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVmFs
aWRhdGlvbkVycm9yLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOTdlNTQ1NDYxMzg2Y2ZmY2Q0MTA4NzdkYzM2
MTRmNmRmMTgyODc5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5jcHAKQEAgLTAsMCArMSw0NSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJHUFVWYWxpZGF0aW9uRXJy
b3IuaCIKKworI2lmIEVOQUJMRShXRUJHUFUpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVm
PEdQVVZhbGlkYXRpb25FcnJvcj4gR1BVVmFsaWRhdGlvbkVycm9yOjpjcmVhdGUoY29uc3QgU3Ry
aW5nJiBtZXNzYWdlKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEdQVVZhbGlkYXRpb25F
cnJvcihtZXNzYWdlKSk7Cit9CisKK0dQVVZhbGlkYXRpb25FcnJvcjo6R1BVVmFsaWRhdGlvbkVy
cm9yKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKKyAgICA6IG1fbWVzc2FnZShtZXNzYWdlKQorewor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVZhbGlk
YXRpb25FcnJvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVZh
bGlkYXRpb25FcnJvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcyMjVhYzIwN2ZjYTNiZWRiZTYxMTU1YTc1OTdh
ZGE1NTY3Mzg1ZTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvR1BVVmFsaWRhdGlvbkVycm9yLmgKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQkdQVSkKKworI2luY2x1ZGUgPHd0
Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEdQVVZhbGlkYXRp
b25FcnJvciA6IHB1YmxpYyBSZWZDb3VudGVkPEdQVVZhbGlkYXRpb25FcnJvcj4geworcHVibGlj
OgorICAgIHN0YXRpYyBSZWY8R1BVVmFsaWRhdGlvbkVycm9yPiBjcmVhdGUoY29uc3QgU3RyaW5n
JiBtZXNzYWdlKTsKKworICAgIFN0cmluZyBtZXNzYWdlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNz
YWdlOyB9CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgR1BVVmFsaWRhdGlvbkVycm9yKGNvbnN0
IFN0cmluZyYgbWVzc2FnZSk7CisKKyAgICBTdHJpbmcgbV9tZXNzYWdlOworfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdQVSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVCdWZmZXJNZXRh
bC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVCdWZm
ZXJNZXRhbC5tbQppbmRleCA1OWEwN2ZmOWNlYjdkOGVhNTJkM2NiNmNkMWFjM2M3ZGY1ZmMyYTA1
Li5lY2FlYTg4ZmVkNDc0OTIxMjA0ZTIwZWU5NTJlNGI2YzFjNzQ1OWY4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVQnVmZmVyTWV0YWwu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVUJ1
ZmZlck1ldGFsLm1tCkBAIC00Miw3ICs0Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRp
YyBjb25zdGV4cHIgYXV0byByZWFkT25seUZsYWdzID0gT3B0aW9uU2V0PEdQVUJ1ZmZlclVzYWdl
OjpGbGFncz4geyBHUFVCdWZmZXJVc2FnZTo6RmxhZ3M6OkluZGV4LCBHUFVCdWZmZXJVc2FnZTo6
RmxhZ3M6OlZlcnRleCwgR1BVQnVmZmVyVXNhZ2U6OkZsYWdzOjpVbmlmb3JtLCBHUFVCdWZmZXJV
c2FnZTo6RmxhZ3M6OlRyYW5zZmVyU291cmNlIH07CiAKIAotYm9vbCBHUFVCdWZmZXI6OnZhbGlk
YXRlQnVmZmVyVXNhZ2UoY29uc3QgR1BVRGV2aWNlJiBkZXZpY2UsIE9wdGlvblNldDxHUFVCdWZm
ZXJVc2FnZTo6RmxhZ3M+IHVzYWdlKQorYm9vbCBHUFVCdWZmZXI6OnZhbGlkYXRlQnVmZmVyVXNh
Z2UoR1BVRGV2aWNlJiBkZXZpY2UsIE9wdGlvblNldDxHUFVCdWZmZXJVc2FnZTo6RmxhZ3M+IHVz
YWdlKQogewogICAgIGlmICghZGV2aWNlLnBsYXRmb3JtRGV2aWNlKCkpIHsKICAgICAgICAgTE9H
KFdlYkdQVSwgIkdQVUJ1ZmZlcjo6dHJ5Q3JlYXRlKCk6IEludmFsaWQgR1BVRGV2aWNlISIpOwpA
QCAtNTAsNyArNTAsNyBAQCBib29sIEdQVUJ1ZmZlcjo6dmFsaWRhdGVCdWZmZXJVc2FnZShjb25z
dCBHUFVEZXZpY2UmIGRldmljZSwgT3B0aW9uU2V0PEdQVUJ1ZmZlcgogICAgIH0KIAogICAgIGlm
ICh1c2FnZS5jb250YWluc0FsbCh7IEdQVUJ1ZmZlclVzYWdlOjpGbGFnczo6TWFwV3JpdGUsIEdQ
VUJ1ZmZlclVzYWdlOjpGbGFnczo6TWFwUmVhZCB9KSkgewotICAgICAgICBMT0coV2ViR1BVLCAi
R1BVQnVmZmVyOjp0cnlDcmVhdGUoKTogQnVmZmVyIGNhbm5vdCBoYXZlIGJvdGggTUFQX1JFQUQg
YW5kIE1BUF9XUklURSB1c2FnZSEiKTsKKyAgICAgICAgZGV2aWNlLnJlZ2lzdGVyRXJyb3IoIkdQ
VUJ1ZmZlcjo6dHJ5Q3JlYXRlKCk6IEJ1ZmZlciBjYW5ub3QgaGF2ZSBib3RoIE1BUF9SRUFEIGFu
ZCBNQVBfV1JJVEUgdXNhZ2UhIik7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCBiZmVlNjdlMTQxOTJmOTFmOGI4MWU4MWE1ZjMwYjM4Y2VmYzViYTM4Li5jZmQ1YmJjMDMx
MzliNzA5ZjBkOWJmZjMzNDYwYjAzODIyZjdjMTNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MTktMDctMDkgIEp1c3RpbiBGYW4gIDxqdXN0aW5fZmFuQGFwcGxlLmNvbT4KKworICAgICAgICBb
V2ViR1BVXSBJbXBsZW1lbnQgdmFsaWRhdGlvbiBlcnJvcnMgYW5kIGVycm9yIHNjb3BlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5NjU1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgdGVzdCB0
byBjb3ZlciB0aGUgY2FzZXMgb3V0bGluZWQgaW4gdGhlIFdlYkdQVSBlcnJvciBoYW5kbGluZyBk
ZXNpZ24gZG9jLgorCisgICAgICAgICogd2ViZ3B1L2Vycm9yLXNjb3Blcy10ZXN0LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ3B1L2Vycm9yLXNjb3Blcy10ZXN0Lmh0bWw6IEFk
ZGVkLgorCiAyMDE5LTA3LTA5ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtXSExTTF0gSW1wb3J0IGFub3RoZXIgcm91bmQgb2YgSlMgc3BlYyB0ZXN0cwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2Vycm9yLXNjb3Blcy10ZXN0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3dlYmdwdS9lcnJvci1zY29wZXMtdGVzdC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYWQ3MzQ2M2FmZGIxZTk4ZmY4MzZlMjY2YmRhNDVjMzRhZTI4OTQyNgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdwdS9lcnJvci1zY29wZXMtdGVzdC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw3IEBACisKK1BBU1MgQ2FwdHVyZSBhIHNpbmdsZSBHUFVWYWxpZGF0
aW9uIGVycm9yLiAKK1BBU1MgSWdub3JlIGVycm9ycyBwYXN0IHRoZSBmaXJzdC4gCitQQVNTIENh
cHR1cmVkIGVycm9ycyBtYXRjaCBlcnJvciBzY29wZSBmaWx0ZXIuIAorUEFTUyBSZWplY3QgcG9w
RXJyb3JTY29wZSBpZiBubyBzY29wZSBleGlzdHMuIAorUEFTUyBGaWx0ZXIgJ25vbmUnIHNob3Vs
ZCBjYXB0dXJlIGJ1dCBub3QgcmVwb3J0IGVycm9ycy4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdwdS9lcnJvci1zY29wZXMtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L2Vy
cm9yLXNjb3Blcy10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmZiNWRlYWQ4MTU0NzBmODQ3YzAyYmJk
OGQ5NGJlOTAxZmYxNmI5OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdwdS9l
cnJvci1zY29wZXMtdGVzdC5odG1sCkBAIC0wLDAgKzEsODkgQEAKKzwhRE9DVFlQRSBodG1sPgor
PG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5UZXN0IEVycm9yIFNjb3Blcy48L3RpdGxlPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0ianMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdD4KK2xldCB0ZXN0cyA9IHt9OworCit0ZXN0c1siQ2FwdHVyZSBhIHNpbmdsZSBHUFVWYWxp
ZGF0aW9uIGVycm9yLiJdID0gYXN5bmMgZGV2aWNlID0+IHsKKyAgICBkZXZpY2UucHVzaEVycm9y
U2NvcGUoInZhbGlkYXRpb24iKTsKKyAgICBjYXVzZUVycm9yKGRldmljZSk7CisgICAgcmV0dXJu
IHBvcFZhbGlkYXRpb25FcnJvcihkZXZpY2UpOworfTsKKwordGVzdHNbIklnbm9yZSBlcnJvcnMg
cGFzdCB0aGUgZmlyc3QuIl0gPSBhc3luYyBkZXZpY2UgPT4geworICAgIGRldmljZS5wdXNoRXJy
b3JTY29wZSgidmFsaWRhdGlvbiIpOworICAgIGRldmljZS5wdXNoRXJyb3JTY29wZSgidmFsaWRh
dGlvbiIpOworICAgIGNhdXNlRXJyb3IoZGV2aWNlKTsKKyAgICBjYXVzZUVycm9yKGRldmljZSk7
CisgICAgCisgICAgY29uc3QgZXJyb3IgPSBhd2FpdCBkZXZpY2UucG9wRXJyb3JTY29wZSgpOwor
ICAgIGFzc2VydEVycm9yKGVycm9yKTsKKworICAgIHJldHVybiBwb3BOdWxsRXJyb3IoZGV2aWNl
KTsKK307CisKK3Rlc3RzWyJDYXB0dXJlZCBlcnJvcnMgbWF0Y2ggZXJyb3Igc2NvcGUgZmlsdGVy
LiJdID0gYXN5bmMgZGV2aWNlID0+IHsKKyAgICBkZXZpY2UucHVzaEVycm9yU2NvcGUoInZhbGlk
YXRpb24iKTsKKyAgICBkZXZpY2UucHVzaEVycm9yU2NvcGUoIm91dC1vZi1tZW1vcnkiKTsKKyAg
ICBjYXVzZUVycm9yKGRldmljZSk7CisKKyAgICBjb25zdCBzaG91bGRCZU51bGwgPSBhd2FpdCBk
ZXZpY2UucG9wRXJyb3JTY29wZSgpOworICAgIGFzc2VydE51bGwoc2hvdWxkQmVOdWxsKTsKKwor
ICAgIHJldHVybiBwb3BWYWxpZGF0aW9uRXJyb3IoZGV2aWNlKTsKK307CisKK3Rlc3RzWyJSZWpl
Y3QgcG9wRXJyb3JTY29wZSBpZiBubyBzY29wZSBleGlzdHMuIl0gPSBhc3luYyBkZXZpY2UgPT4g
eworICAgIGNvbnN0IHByb21pc2UgPSBkZXZpY2UucG9wRXJyb3JTY29wZSgpLnRoZW4oKCkgPT4g
YXNzZXJ0X3VucmVhY2hlZCgpLCBhc3luYyBlID0+IHsKKyAgICAgICAgYXNzZXJ0X2ZhbHNlKGUg
PT09IHVuZGVmaW5lZCk7CisgICAgICAgIC8vIFBvcCB0aGUgZXh0cmEgJ25vbmUnIHNjb3BlLgor
ICAgICAgICBhd2FpdCBwb3BOdWxsRXJyb3IoZGV2aWNlKTsKKyAgICB9KTsKKyAgICAvLyAncHJv
bWlzZScgc2hvdWxkIHN0aWxsIHJlamVjdCBpZiBhIHNjb3BlIGlzIHB1c2hlZCBoZXJlLgorICAg
IGRldmljZS5wdXNoRXJyb3JTY29wZSgibm9uZSIpOworICAgIHJldHVybiBwcm9taXNlOworfTsK
KwordGVzdHNbIkZpbHRlciAnbm9uZScgc2hvdWxkIGNhcHR1cmUgYnV0IG5vdCByZXBvcnQgZXJy
b3JzLiJdID0gYXN5bmMgZGV2aWNlID0+IHsKKyAgICBkZXZpY2UucHVzaEVycm9yU2NvcGUoInZh
bGlkYXRpb24iKTsKKyAgICBkZXZpY2UucHVzaEVycm9yU2NvcGUoIm5vbmUiKTsKKyAgICBjYXVz
ZUVycm9yKGRldmljZSk7CisKKyAgICBjb25zdCBzaG91bGRCZU51bGwgPSBhd2FpdCBkZXZpY2Uu
cG9wRXJyb3JTY29wZSgpOworICAgIGFzc2VydE51bGwoc2hvdWxkQmVOdWxsKTsKKworICAgIHJl
dHVybiBwb3BOdWxsRXJyb3IoZGV2aWNlKTsKK307CisKK2NvbnN0IGluaXQgPSBhc3luYyAoKSA9
PiB7CisgICAgdHJ5IHsKKyAgICAgICAgdmFyIGRldmljZSA9IGF3YWl0IGdldEJhc2ljRGV2aWNl
KCk7CisgICAgfSBjYXRjaCAoZSkgeyAvKiBXZWJHUFUgaXMgbm90IHN1cHBvcnRlZC4gKi8gfQor
CisgICAgZm9yIChsZXQgbmFtZSBpbiB0ZXN0cykKKyAgICAgICAgZGV2aWNlUHJvbWlzZVRlc3Qo
ZGV2aWNlLCBuYW1lKTsKK307CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgaW5p
dCk7CisKKy8qIEhlbHBlciBGdW5jdGlvbnMgKi8KKworY29uc3QgY2F1c2VFcnJvciA9IGRldmlj
ZSA9PiB7IGRldmljZS5jcmVhdGVCdWZmZXIoeyBzaXplOiA0LCB1c2FnZTogR1BVQnVmZmVyVXNh
Z2UuTUFQX1JFQUQgfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEUgfSk7IH07Citjb25zdCBwb3BW
YWxpZGF0aW9uRXJyb3IgPSBkZXZpY2UgPT4gZGV2aWNlLnBvcEVycm9yU2NvcGUoKS50aGVuKGVy
cm9yID0+IGFzc2VydEVycm9yKGVycm9yKSk7Citjb25zdCBwb3BOdWxsRXJyb3IgPSBkZXZpY2Ug
PT4gZGV2aWNlLnBvcEVycm9yU2NvcGUoKS50aGVuKGVycm9yID0+IGFzc2VydE51bGwoZXJyb3Ip
KTsKK2NvbnN0IGFzc2VydE51bGwgPSBlcnJvciA9PiBhc3NlcnRfdHJ1ZShlcnJvciA9PT0gbnVs
bCwgIk5vIGVycm9yIGV4cGVjdGVkISIpOworY29uc3QgYXNzZXJ0RXJyb3IgPSBlcnJvciA9PiBh
c3NlcnRfdHJ1ZShlcnJvciBpbnN0YW5jZW9mIEdQVVZhbGlkYXRpb25FcnJvciwgIkV4cGVjdGVk
IHZhbGlkYXRpb24gZXJyb3IhIik7CisKK2NvbnN0IGRldmljZVByb21pc2VUZXN0ID0gKGRldmlj
ZSwgbmFtZSkgPT4geworICAgIHByb21pc2VfdGVzdChhc3luYyAoKSA9PiB7CisgICAgICAgIGlm
IChkZXZpY2UgPT09IHVuZGVmaW5lZCkKKyAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29s
dmUoKTsKKyAgICAgICAgcmV0dXJuIHRlc3RzW25hbWVdKGRldmljZSk7CisgICAgfSwgbmFtZSk7
Cit9OworPC9zY3JpcHQ+Cis8L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373819</attachid>
            <date>2019-07-09 22:04:22 -0700</date>
            <delta_ts>2019-07-09 22:15:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199655-20190709220421.patch</filename>
            <type>text/plain</type>
            <size>52780</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MjkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjliMThkMzZlNGRkN2Qz
ODRkNjQ3N2Y4Nzk0Yjc2YTgzMGYxOWM2OS4uMjYxMDg4MWJmZWNjN2UyNzFhZDc3OWI1NTlkODE5
YmEyMWZhODdhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDE5LTA3LTA5ICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gSW1wbGVt
ZW50IHZhbGlkYXRpb24gZXJyb3JzIGFuZCBlcnJvciBzY29wZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTY1NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBHUFVFcnJvckZpbHRlciwgR1BVVmFs
aWRhdGlvbkVycm9yLCBhbmQgdGhlIGFiaWxpdHkgdG8gcHVzaCBhbmQgcG9wIGVycm9yIHNjb3Bl
cyBvbiBhIEdQVURldmljZS4KKyAgICAgICAgVGhpcyB3aWxsIGFsbG93IHVzIHRvIGNoZWNrIGZv
ciBXZWJHUFUgdmFsaWRhdGlvbiBlcnJvcnMgZnJvbSBKYXZhU2NyaXB0LgorICAgICAgICBDdXJy
ZW50bHksIG9ubHkgb25lIEdQVUJ1ZmZlciBjcmVhdGlvbiBlcnJvciBpcyByZXBvcnRlZDsgYWN0
dWFsIGVycm9ycyB3aWxsIGZvbGxvdyBpbiBsYXRlciBwYXRjaGVzLgorCisgICAgICAgIFRlc3Q6
IHdlYmdwdS9lcnJvci1zY29wZXMtdGVzdC5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdw
dS9HUFVFcnJvckZpbHRlci5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L0dQ
VVZhbGlkYXRpb25FcnJvci5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dl
YkdQVURldmljZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHUFVEZXZpY2U6OnB1c2hFcnJv
clNjb3BlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVURldmljZTo6cG9wRXJyb3JTY29wZSk6
IFJlc29sdmUgdGhlIFByb21pc2UgaGVyZSwgc2luY2UgR1BVRGV2aWNlIHNob3VsZG4ndCB3b3Jy
eSBhYm91dCBET00gbGF5ZXIuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNl
Lmg6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVURldmljZUVycm9yU2NvcGVzOjpwdXNo
RXJyb3JTY29wZSk6IERlbGVnYXRlcyB0byBXZWJHUFVEZXZpY2UuCisgICAgICAgIChXZWJDb3Jl
OjpXZWJHUFVEZXZpY2VFcnJvclNjb3Blczo6cG9wRXJyb3JTY29wZSk6IERpdHRvLgorICAgICAg
ICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2NvcGVzLmg6IEFkZGVkLgorICAg
ICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2NvcGVzLmlkbDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUJ1ZmZlci5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwOiBUaGUgYWN0dWFsIGVycm9yIHN0
YWNrIGxpdmVzIGhlcmUuCisgICAgICAgIChXZWJDb3JlOjpHUFVEZXZpY2U6OnB1c2hFcnJvclNj
b3BlKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVURldmljZTo6cG9wRXJyb3JTY29wZSk6IENhbGxz
IGEgY2FsbGJhY2sgd2l0aCBhIEdQVUVycm9yLCBpZiBhbnkuCisgICAgICAgIChXZWJDb3JlOjpH
UFVEZXZpY2U6OnJlZ2lzdGVyRXJyb3IpOiBBY3R1YWxseSBjcmVhdGVzIEdQVUVycm9ycy4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmg6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9yLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpjcmVhdGVFcnJvcik6IEZ1dHVyZSB2ZXJzaW9uIHdpbGwgdHJlYXQgR1BVRXJyb3IgYXMgYSBW
YXJpYW50IG9mIGRpZmZlcmVudCBlcnJvciB0eXBlcy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9ncHUvR1BVRXJyb3IuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVUVycm9yRmlsdGVyLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVWYWxpZGF0aW9uRXJyb3IuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkdQ
VVZhbGlkYXRpb25FcnJvcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVVZhbGlkYXRp
b25FcnJvcjo6R1BVVmFsaWRhdGlvbkVycm9yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVVmFsaWRhdGlvbkVycm9yLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6R1BV
VmFsaWRhdGlvbkVycm9yOjptZXNzYWdlIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9ncHUvY29jb2EvR1BVQnVmZmVyTWV0YWwubW06CisgICAgICAgIChXZWJDb3JlOjpHUFVC
dWZmZXI6OnZhbGlkYXRlQnVmZmVyVXNhZ2UpOiBDcmVhdGUgYSByZWFsIGVycm9yIDopCisKKyAg
ICAgICAgQWRkIGZpbGUvbmFtZSByZWZlcmVuY2VzOgorICAgICAgICAqIENNYWtlTGlzdHMudHh0
OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0
aW5OYW1lcy5oOgorCisgICAgICAgIE1pc3NpbmcgaW5jbHVkZXM6CisgICAgICAgICogTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xDaGVja1RleHR1cmVSZWZlcmVuY2VzLmNwcDoKKwogMjAxOS0w
Ny0wOSAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBG
aXhlZCBlbGVtZW50cyBhcHBlYXIgaW4gdGhlIG1pZGRsZSBvZiBmdWxsIHBhZ2Ugc2NyZWVuc2hv
dHMgdGFrZW4gd2hlbiBzY3JvbGxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAzY2U1MTY2MTMx
MDQxZGViNzFjOWU3YmU5NTU3OTA1NTkzNzk4NTgyLi4xZmViMDI2ZjNkMDQzNWM0ZmVkYWIwMGMy
Y2VmMzcwYTcwMjM3NDMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNDgwLDYgKzQ4MCw3IEBA
IHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy93ZWJncHUvR1BVQ29s
b3JXcml0ZUJpdHMuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvR1BVQ29tcGFyZUZ1bmN0aW9uLmlk
bAogICAgIE1vZHVsZXMvd2ViZ3B1L0dQVURlcHRoU3RlbmNpbFN0YXRlRGVzY3JpcHRvci5pZGwK
KyAgICBNb2R1bGVzL3dlYmdwdS9HUFVFcnJvckZpbHRlci5pZGwKICAgICBNb2R1bGVzL3dlYmdw
dS9HUFVFeHRlbnQzRC5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9HUFVMb2FkT3AuaWRsCiAgICAg
TW9kdWxlcy93ZWJncHUvR1BVT3JpZ2luM0QuaWRsCkBAIC00OTAsNiArNDkxLDcgQEAgc2V0KFdl
YkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlRGVz
Y3JpcHRvci5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlRm9ybWF0LmlkbAogICAg
IE1vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVVc2FnZS5pZGwKKyAgICBNb2R1bGVzL3dlYmdwdS9H
UFVWYWxpZGF0aW9uRXJyb3IuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvR1BVVmVydGV4QXR0cmli
dXRlRGVzY3JpcHRvci5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9HUFVWZXJ0ZXhCdWZmZXJEZXNj
cmlwdG9yLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L0dQVVZlcnRleElucHV0RGVzY3JpcHRvci5p
ZGwKQEAgLTUwOCw2ICs1MTAsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAg
IE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQaXBlbGluZS5pZGwKICAgICBNb2R1bGVzL3dl
YmdwdS9XZWJHUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlwdG9yLmlkbAogICAgIE1vZHVsZXMvd2Vi
Z3B1L1dlYkdQVURldmljZS5pZGwKKyAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJv
clNjb3Blcy5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZURlc2NyaXB0b3JC
YXNlLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmlkbAogICAg
IE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5pZGwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGM2OWQz
ZGQ0MTdiYmQ5MjRmOTUyMmMxNDc0OGNlODFlMjdkMDEzZDEuLmJjZmNiMTY2NTJjMGFkYmVlMWFm
MDkxZjVhZDJmOTdlZTI1NWNkM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtMzMwLDYgKzMzMCw3IEBAICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvd2ViZ3B1L0dQVUNvbG9yU3RhdGVEZXNjcmlwdG9yLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy93ZWJncHUvR1BVQ29sb3JXcml0ZUJpdHMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL3dlYmdwdS9HUFVDb21wYXJlRnVuY3Rpb24uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L3dlYmdwdS9HUFVEZXB0aFN0ZW5jaWxTdGF0ZURlc2NyaXB0b3IuaWRsCiskKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL3dlYmdwdS9HUFVFcnJvckZpbHRlci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvd2ViZ3B1L0dQVUV4dGVudDNELmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJncHUv
R1BVSW5wdXRTdGF0ZURlc2NyaXB0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdw
dS9HUFVMb2FkT3AuaWRsCkBAIC0zNDEsNiArMzQyLDcgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxl
cy93ZWJncHUvR1BVU3RvcmVPcC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQ
VVRleHR1cmVEZXNjcmlwdG9yLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJncHUvR1BV
VGV4dHVyZUZvcm1hdC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1
cmVVc2FnZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVVZhbGlkYXRpb25F
cnJvci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVVZlcnRleEF0dHJpYnV0
ZURlc2NyaXB0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9HUFVWZXJ0ZXhC
dWZmZXJEZXNjcmlwdG9yLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJncHUvR1BVVmVy
dGV4SW5wdXREZXNjcmlwdG9yLmlkbApAQCAtMzYxLDYgKzM2Myw3IEBAICQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQYXNzRW5jb2Rlci5pZGwKICQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQaXBlbGluZS5pZGwKICQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IuaWRsCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaWRsCiskKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuaWRsCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dC5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRv
ci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54
Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3QKaW5kZXggMzdjM2M4YjFiYTUyYjI2MzBmMWYwNTNmMmIwNTI1MzVjZGM1MGNiNy4uMTViM2M4
MDU3ZjZiZjgwZDViZjNlYTU2ZDc4ZmU1ODEwM2FlOTczOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTYwOSw2ICs2MDksOCBAQCAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUNvbXBhcmVG
dW5jdGlvbi5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTR1BVQ29tcGFyZUZ1bmN0aW9uLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTR1BVRGVwdGhTdGVuY2lsU3RhdGVEZXNjcmlwdG9yLmNwcAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVEZXB0aFN0ZW5jaWxT
dGF0ZURlc2NyaXB0b3IuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNHUFVFcnJvckZpbHRlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTR1BVRXJyb3JGaWx0ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVFeHRlbnQzRC5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVRXh0ZW50M0QuaAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVJbnB1dFN0YXRlRGVzY3Jp
cHRvci5jcHAKQEAgLTYzMSw2ICs2MzMsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVRleHR1cmVGb3JtYXQuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVRleHR1cmVGb3JtYXQuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVUZXh0dXJlVXNhZ2Uu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVRl
eHR1cmVVc2FnZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0dQVVZhbGlkYXRpb25FcnJvci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTR1BVVmFsaWRhdGlvbkVycm9yLmgKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRv
ci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BV
VmVydGV4QXR0cmlidXRlRGVzY3JpcHRvci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVZlcnRleEJ1ZmZlckRlc2NyaXB0b3IuY3BwCkBAIC0xOTQz
LDYgKzE5NDcsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1dlYkdQVUNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IuYwogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJHUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlw
dG9yLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2Vi
R1BVRGV2aWNlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNXZWJHUFVEZXZpY2UuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNXZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJHUFVQaXBl
bGluZURlc2NyaXB0b3JCYXNlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNXZWJHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmgKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR1BVUGlwZWxpbmVMYXlvdXQu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA3ZWViNDI3YzI3ZDE4YWM0Y2I4
N2M5ZmIyZmVmMDNlZTA2YmY2NjZkLi4zNGVjOGE3NWEyZjBhM2E1OTI0N2RkZWZhMmRjNjM5NzM3
ODY4MmNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTM4Niw2ICszODYsNyBA
QCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVC
dWZmZXJVc2FnZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVQ29tcGFy
ZUZ1bmN0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVEZXB0aFN0
ZW5jaWxTdGF0ZURlc2NyaXB0b3IuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1
L0dQVUVycm9yRmlsdGVyLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVF
eHRlbnQzRC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVTG9hZE9wLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVPcmlnaW4zRC5pZGwgXApAQCAt
Mzk2LDYgKzM5Nyw3IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvd2ViZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3dlYmdwdS9HUFVUZXh0dXJlRm9ybWF0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3dlYmdwdS9HUFVUZXh0dXJlVXNhZ2UuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2Vi
Z3B1L0dQVVZhbGlkYXRpb25FcnJvci5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJn
cHUvR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRvci5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy93ZWJncHUvR1BVVmVydGV4QnVmZmVyRGVzY3JpcHRvci5pZGwgXAogCSQoV2ViQ29yZSkv
TW9kdWxlcy93ZWJncHUvR1BVVmVydGV4SW5wdXREZXNjcmlwdG9yLmlkbCBcCkBAIC00MTQsNiAr
NDE2LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJn
cHUvV2ViR1BVQ29tcHV0ZVBpcGVsaW5lLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dl
YmdwdS9XZWJHUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlwdG9yLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaWRsIFwKKwkkKFdlYkNvcmUpL01vZHVsZXMv
d2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2NvcGVzLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVRdWV1ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJn
cHUvV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlvdXQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUVycm9yRmlsdGVyLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L0dQVUVycm9yRmlsdGVyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZDZhY2Ji
MjQyMWNiZjRkNGM1YWVmMThiMzU0ODM5YjcxZDY2Mzk2Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVRXJyb3JGaWx0ZXIuaWRsCkBAIC0wLDAgKzEs
MzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworLy8gaHR0cHM6Ly9ncHV3ZWIuZ2l0aHViLmlvL2dwdXdlYgorCitb
CisgICAgQ29uZGl0aW9uYWw9V0VCR1BVLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCitd
IGVudW0gR1BVRXJyb3JGaWx0ZXIgeworICAgICJub25lIiwKKyAgICAib3V0LW9mLW1lbW9yeSIs
CisgICAgInZhbGlkYXRpb24iCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvR1BVVmFsaWRhdGlvbkVycm9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWUxM2MxODg3ZWY4YjQw
NzljMDRjNWNiZWE2NmVjYTY3MzI3ZjQ4MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5pZGwKQEAgLTAsMCArMSwzNCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisvLyBodHRwczovL2dwdXdlYi5naXRodWIuaW8vZ3B1d2ViCisKK1sKKyAg
ICBDb25kaXRpb25hbD1XRUJHUFUsCisgICAgQ29uc3RydWN0b3IoRE9NU3RyaW5nIG1lc3NhZ2Up
LAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUKK10gaW50ZXJmYWNlIEdQVVZhbGlkYXRpb25FcnJvciB7CisgICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZyBtZXNzYWdlOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tUZXh0dXJlUmVmZXJlbmNlcy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTENoZWNrVGV4dHVyZVJlZmVy
ZW5jZXMuY3BwCmluZGV4IGMwMmRiODlkM2NiNmMwYTc1MWE2MjJlYjc5ZGQzNGU3YjdkNTYzZjku
LjczODZiMTA2YmI4MGQzNjdlZjMxZGQ2YjUzNTllYWI5YTU3NzkyOTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tUZXh0dXJlUmVmZXJl
bmNlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xD
aGVja1RleHR1cmVSZWZlcmVuY2VzLmNwcApAQCAtMjYsMTAgKzI2LDE1IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiV0hMU0xDaGVja1RleHR1cmVSZWZlcmVuY2VzLmgiCiAKLSNp
bmNsdWRlICJXSExTTEluZmVyVHlwZXMuaCIKLQogI2lmIEVOQUJMRShXRUJHUFUpCiAKKyNpbmNs
dWRlICJXSExTTEFycmF5UmVmZXJlbmNlVHlwZS5oIgorI2luY2x1ZGUgIldITFNMQXJyYXlUeXBl
LmgiCisjaW5jbHVkZSAiV0hMU0xJbmZlclR5cGVzLmgiCisjaW5jbHVkZSAiV0hMU0xOYXRpdmVU
eXBlRGVjbGFyYXRpb24uaCIKKyNpbmNsdWRlICJXSExTTFBvaW50ZXJUeXBlLmgiCisjaW5jbHVk
ZSAiV0hMU0xWaXNpdG9yLmgiCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIFdI
TFNMIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURl
dmljZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3Bw
CmluZGV4IGYwNTlhZDg5ZTA5ZDRmNGE3NGY4YjhlODEzZjQ0ZjVhMGE5YjllMWUuLjk0MWE0NWM5
ZDZiY2M4OGQ0OTk5Mzg2NGQ3NmJhZmQ1NmExY2Q5ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYg
RU5BQkxFKFdFQkdQVSkKIAorI2luY2x1ZGUgIkV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkdQVUJp
bmRHcm91cC5oIgogI2luY2x1ZGUgIkdQVUJpbmRHcm91cEJpbmRpbmcuaCIKICNpbmNsdWRlICJH
UFVCaW5kR3JvdXBEZXNjcmlwdG9yLmgiCkBAIC00Miw2ICs0Myw3IEBACiAjaW5jbHVkZSAiR1BV
U2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oIgogI2luY2x1ZGUgIkdQVVRleHR1cmVEZXNjcmlwdG9y
LmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0QnVmZmVyU291cmNlLmgiCisjaW5jbHVkZSAiSlNH
UFVWYWxpZGF0aW9uRXJyb3IuaCIKICNpbmNsdWRlICJKU1dlYkdQVUJ1ZmZlci5oIgogI2luY2x1
ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJXZWJHUFVCaW5kR3JvdXAuaCIKQEAgLTE4MCw2ICsx
ODIsMjEgQEAgUmVmPFdlYkdQVVF1ZXVlPiBXZWJHUFVEZXZpY2U6OmdldFF1ZXVlKCkgY29uc3QK
ICAgICByZXR1cm4gbWFrZVJlZigqbV9xdWV1ZS5nZXQoKSk7CiB9CiAKK3ZvaWQgV2ViR1BVRGV2
aWNlOjpwdXNoRXJyb3JTY29wZShHUFVFcnJvckZpbHRlciBmaWx0ZXIpCit7CisgICAgbV9kZXZp
Y2UtPnB1c2hFcnJvclNjb3BlKGZpbHRlcik7Cit9CisKK3ZvaWQgV2ViR1BVRGV2aWNlOjpwb3BF
cnJvclNjb3BlKEVycm9yUHJvbWlzZSYmIHByb21pc2UpCit7CisgICAgbV9kZXZpY2UtPnBvcEVy
cm9yU2NvcGUoW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSAoUmVmUHRyPEdQVUVycm9yPiYm
IGVycm9yLCBib29sIGlzU3VjY2VzcykgbXV0YWJsZSB7CisgICAgICAgIGlmIChpc1N1Y2Nlc3Mp
CisgICAgICAgICAgICBwcm9taXNlLnJlc29sdmUoZXJyb3IuZ2V0KCkpOworICAgICAgICBlbHNl
CisgICAgICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBPcGVyYXRpb25FcnJvciwg
IkdQVURldmljZTo6cG9wRXJyb3JTY29wZSgpOiBObyBlcnJvciBzY29wZSBleGlzdHMhIl9zIH0p
OworICAgIH0pOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFC
TEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2Vi
R1BVRGV2aWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2Uu
aAppbmRleCAyMWQzNzFhMDNhNzUxNTQ0YTkxZDdjOGExYWQwY2Q2MjE1OTVhYTFiLi4zNWM4ZDEx
NjA2YjEyNWY4ODU2YTA3ZDZmMjI2ZmYxODhjNmM2MDkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaApAQCAtMjgsNiArMjgsOCBAQAogI2lmIEVOQUJM
RShXRUJHUFUpCiAKICNpbmNsdWRlICJHUFVEZXZpY2UuaCIKKyNpbmNsdWRlICJHUFVFcnJvci5o
IgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiV2ViR1BVQWRh
cHRlci5oIgogI2luY2x1ZGUgIldlYkdQVVF1ZXVlLmgiCiAjaW5jbHVkZSAiV2ViR1BVU3dhcENo
YWluRGVzY3JpcHRvci5oIgpAQCAtNjYsNiArNjgsMTAgQEAgc3RydWN0IFdlYkdQVVBpcGVsaW5l
TGF5b3V0RGVzY3JpcHRvcjsKIHN0cnVjdCBXZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I7
CiBzdHJ1Y3QgV2ViR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvcjsKIAorZW51bSBjbGFzcyBHUFVF
cnJvckZpbHRlcjsKKwordXNpbmcgRXJyb3JQcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElE
TE51bGxhYmxlPElETEludGVyZmFjZTxHUFVFcnJvcj4+PjsKKwogY2xhc3MgV2ViR1BVRGV2aWNl
IDogcHVibGljIFJlZkNvdW50ZWQ8V2ViR1BVRGV2aWNlPiB7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFJlZlB0cjxXZWJHUFVEZXZpY2U+IHRyeUNyZWF0ZShSZWY8Y29uc3QgV2ViR1BVQWRhcHRlcj4m
Jik7CkBAIC05MSw2ICs5Nyw5IEBAIHB1YmxpYzoKIAogICAgIFJlZjxXZWJHUFVRdWV1ZT4gZ2V0
UXVldWUoKSBjb25zdDsKIAorICAgIHZvaWQgcHVzaEVycm9yU2NvcGUoR1BVRXJyb3JGaWx0ZXIp
OworICAgIHZvaWQgcG9wRXJyb3JTY29wZShFcnJvclByb21pc2UmJik7CisKIHByaXZhdGU6CiAg
ICAgV2ViR1BVRGV2aWNlKFJlZjxjb25zdCBXZWJHUFVBZGFwdGVyPiYmLCBSZWY8R1BVRGV2aWNl
PiYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
RGV2aWNlRXJyb3JTY29wZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2Vi
R1BVRGV2aWNlRXJyb3JTY29wZXMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc5MzExMDBkYjU0NTEzODc5NDQ3
NTZjMGZiMDFmZDg4MmEzMDFhODEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5jcHAKQEAgLTAsMCArMSw0NyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJHUFVEZXZp
Y2VFcnJvclNjb3Blcy5oIgorCisjaWYgRU5BQkxFKFdFQkdQVSkKKworI2luY2x1ZGUgIkdQVUVy
cm9yRmlsdGVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBXZWJHUFVEZXZpY2VF
cnJvclNjb3Blczo6cHVzaEVycm9yU2NvcGUoV2ViR1BVRGV2aWNlJiBkZXZpY2UsIEdQVUVycm9y
RmlsdGVyIGZpbHRlcikKK3sKKyAgICBkZXZpY2UucHVzaEVycm9yU2NvcGUoZmlsdGVyKTsKK30K
Kwordm9pZCBXZWJHUFVEZXZpY2VFcnJvclNjb3Blczo6cG9wRXJyb3JTY29wZShXZWJHUFVEZXZp
Y2UmIGRldmljZSwgRXJyb3JQcm9taXNlJiYgcHJvbWlzZSkKK3sKKyAgICBkZXZpY2UucG9wRXJy
b3JTY29wZShXVEZNb3ZlKHByb21pc2UpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKFdFQkdQVSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2NvcGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYyMGYw
N2FiZTM5OGJmOWE3MzRkNDQ2YWY1ODk0NTNjMGRiMGMxMDkKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5oCkBA
IC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShX
RUJHUFUpCisKKyNpbmNsdWRlICJXZWJHUFVEZXZpY2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitlbnVtIGNsYXNzIEdQVUVycm9yRmlsdGVyOworCitjbGFzcyBXZWJHUFVEZXZpY2VFcnJv
clNjb3BlcyB7CitwdWJsaWM6CisgICAgc3RhdGljIHZvaWQgcHVzaEVycm9yU2NvcGUoV2ViR1BV
RGV2aWNlJiwgR1BVRXJyb3JGaWx0ZXIpOworICAgIHN0YXRpYyB2b2lkIHBvcEVycm9yU2NvcGUo
V2ViR1BVRGV2aWNlJiwgRXJyb3JQcm9taXNlJiYpOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdQVSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2NvcGVzLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2NvcGVzLmlkbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40ZWVmZmYxZDk4Yzk0NmExMTRmZWZjNmI0ZjlmNmU1OTAxNzYzY2EzCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JT
Y29wZXMuaWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworLy8gaHR0cHM6Ly9ncHV3ZWIu
Z2l0aHViLmlvL2dwdXdlYgorCit0eXBlZGVmIEdQVVZhbGlkYXRpb25FcnJvciBHUFVFcnJvcjsK
KworWworICAgIENvbmRpdGlvbmFsPVdFQkdQVSwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQ
VQorXSBwYXJ0aWFsIGludGVyZmFjZSBXZWJHUFVEZXZpY2UgeworICAgIHZvaWQgcHVzaEVycm9y
U2NvcGUoR1BVRXJyb3JGaWx0ZXIgZmlsdGVyKTsKKyAgICBQcm9taXNlPEdQVUVycm9yPz4gcG9w
RXJyb3JTY29wZSgpOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggZDgwZjAyZTkxN2MzODQyYjViOTgz
Nzc5ZDlmN2ZiNzkwODUwZGQyOS4uZTE4OWUxNDMwMDU5ODY3M2Q5MGViYzliZGI4MTRmNTY0Mzkx
MTEyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTM2Nyw2ICszNjcsNyBAQCBNb2R1bGVzL3dlYmdwdS9X
ZWJHUFVDb21wdXRlUGFzc0VuY29kZXIuY3BwCiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21wdXRl
UGlwZWxpbmUuY3BwCiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlw
dG9yLmNwcAogTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNwcAorTW9kdWxlcy93ZWJncHUv
V2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuY3BwCiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVRdWV1ZS5j
cHAKIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmNwcAogTW9kdWxlcy93ZWJn
cHUvV2ViR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmNwcApAQCAtMTgyNyw2ICsxODI4LDgg
QEAgcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VHcmFwaGljLmNwcAogcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9TcG90TGlnaHRTb3VyY2UuY3BwCiAKIHBsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVEZXZpY2UuY3BwCitwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3IuY3BwCitw
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVmFsaWRhdGlvbkVycm9yLmNwcAogcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVVBpcGVsaW5lTGF5b3V0LmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQ
VVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyLmNwcAogCkBAIC0yNzU2LDYgKzI3NTksNyBAQCBKU0dQ
VUJ1ZmZlckRlc2NyaXB0b3IuY3BwCiBKU0dQVUJ1ZmZlclVzYWdlLmNwcAogSlNHUFVDb21wYXJl
RnVuY3Rpb24uY3BwCiBKU0dQVURlcHRoU3RlbmNpbFN0YXRlRGVzY3JpcHRvci5jcHAKK0pTR1BV
RXJyb3JGaWx0ZXIuY3BwCiBKU0dQVUV4dGVudDNELmNwcAogSlNHUFVMb2FkT3AuY3BwCiBKU0dQ
VU9yaWdpbjNELmNwcApAQCAtMjc2Niw2ICsyNzcwLDcgQEAgSlNHUFVTdG9yZU9wLmNwcAogSlNH
UFVUZXh0dXJlRGVzY3JpcHRvci5jcHAKIEpTR1BVVGV4dHVyZUZvcm1hdC5jcHAKIEpTR1BVVGV4
dHVyZVVzYWdlLmNwcAorSlNHUFVWYWxpZGF0aW9uRXJyb3IuY3BwCiBKU0dQVVZlcnRleEF0dHJp
YnV0ZURlc2NyaXB0b3IuY3BwCiBKU0dQVVZlcnRleEJ1ZmZlckRlc2NyaXB0b3IuY3BwCiBKU0dQ
VVZlcnRleElucHV0RGVzY3JpcHRvci5jcHAKQEAgLTMzMTgsNiArMzMyMyw3IEBAIEpTV2ViR1BV
Q29tcHV0ZVBhc3NFbmNvZGVyLmNwcAogSlNXZWJHUFVDb21wdXRlUGlwZWxpbmUuY3BwCiBKU1dl
YkdQVUNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IuY3BwCiBKU1dlYkdQVURldmljZS5jcHAKK0pT
V2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuY3BwCiBKU1dlYkdQVVF1ZXVlLmNwcAogSlNXZWJHUFVQ
aXBlbGluZURlc2NyaXB0b3JCYXNlLmNwcAogSlNXZWJHUFVQaXBlbGluZUxheW91dC5jcHAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA5YThlZjkzMDBkMGYwYTQxNTcxNzhkN2Y5ODkwODJiZWRkMGJlNmQ0Li5jMDVkZWY2YmU3YTI4
YzRlZWUzODI1ZTQ0Y2U2ZjMzMGFhNzZmYzRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNDAxOCw2ICsxNDAxOCwxNiBAQAog
CQlEMDkzRDIyNTIxNzk1MUQ0MDAzMjkyMTcgLyogR1BVQ2FudmFzQ29udGV4dC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBHUFVDYW52YXNDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUQwOTNEMjI3MjE3OTUxRDQwMDMyOTIxNyAvKiBHUFVDYW52YXNDb250ZXh0LmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBH
UFVDYW52YXNDb250ZXh0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDA5M0Qy
MjkyMTc5NTQxNjAwMzI5MjE3IC8qIEdQVUNhbnZhc0NvbnRleHQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gR1BVQ2FudmFzQ29udGV4dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUQwOUFGQUZGMjJEMDJFNTMwMEM0NTM4QyAvKiBXZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlEMDlBRkIwMTIyRDAyRTUzMDBDNDUzOEMgLyogV2ViR1BVRGV2aWNlRXJy
b3JTY29wZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDlBRkIwMjIyRDA0NzE5MDBDNDUz
OEMgLyogR1BVRXJyb3JGaWx0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
R1BVRXJyb3JGaWx0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA5QUZCMDMy
MkQ0MENDNTAwQzQ1MzhDIC8qIFdlYkdQVURldmljZUVycm9yU2NvcGVzLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJH
UFVEZXZpY2VFcnJvclNjb3Blcy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQw
OUFGQjA2MjJENDE3QjMwMEM0NTM4QyAvKiBHUFVFcnJvckZpbHRlci5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVRXJy
b3JGaWx0ZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDlBRkIwNzIyRDUz
OTFCMDBDNDUzOEMgLyogR1BVRXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVRXJyb3IuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA5QUZCMDgyMkQ1NTQyODAwQzQ1MzhDIC8qIEdQ
VUVycm9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdQVUVycm9yLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRDA5QUZCMEMyMkQ1NUU5MDAwQzQ1MzhDIC8qIEdQVVZhbGlkYXRp
b25FcnJvci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gR1BVVmFsaWRhdGlvbkVycm9yLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJRDA5QUZCMEQyMkQ1NUYzQjAwQzQ1MzhDIC8qIEdQVVZhbGlkYXRpb25F
cnJvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVWYWxpZGF0aW9uRXJyb3IuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRDA5QUZCMEUyMkQ1NUZGNTAwQzQ1MzhDIC8qIEdQVVZhbGlkYXRp
b25FcnJvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHUFVWYWxpZGF0aW9uRXJyb3IuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMEEyMEQ1NDIwOTJBMEE2MDBFMEMyNTkgLyog
V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFTVEMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFTVEMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRDBBMjBENTYyMDkyQTBBNjAwRTBDMjU5IC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1
cmVBU1RDLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkdMQ29t
cHJlc3NlZFRleHR1cmVBU1RDLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDBB
M0E3MzAxNDA1QTM5ODAwRkI4RUQzIC8qIFJlc291cmNlTG9hZGVyT3B0aW9ucy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZXNvdXJjZUxvYWRlck9wdGlvbnMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4MzIwLDYgKzE4MzMwLDkgQEAKIAkJCQlEMDNDODQ5
QTIxRkZDNjY3MDAwMjIyN0YgLyogR1BVRGVwdGhTdGVuY2lsU3RhdGVEZXNjcmlwdG9yLmggKi8s
CiAJCQkJMzEyRkY4QkYyMUE0QzJGMTAwRUIxOTlEIC8qIEdQVURldmljZS5jcHAgKi8sCiAJCQkJ
MzEyRkY4QkUyMUE0QzJGMTAwRUIxOTlEIC8qIEdQVURldmljZS5oICovLAorCQkJCUQwOUFGQjA4
MjJENTU0MjgwMEM0NTM4QyAvKiBHUFVFcnJvci5jcHAgKi8sCisJCQkJRDA5QUZCMDcyMkQ1Mzkx
QjAwQzQ1MzhDIC8qIEdQVUVycm9yLmggKi8sCisJCQkJRDA5QUZCMDIyMkQwNDcxOTAwQzQ1MzhD
IC8qIEdQVUVycm9yRmlsdGVyLmggKi8sCiAJCQkJRDAyNkY0N0QyMjBBMkFDNjAwQUM1RjQ5IC8q
IEdQVUV4dGVudDNELmggKi8sCiAJCQkJRDBGNzU1OUYyMjAzQkExNDAwMTE4MDU4IC8qIEdQVUxp
bWl0cy5oICovLAogCQkJCUQwOEFBMDJGMjIwRDBCRDUwMDU4QzUwMiAvKiBHUFVMb2FkT3AuaCAq
LywKQEAgLTE4MzQ4LDYgKzE4MzYxLDggQEAKIAkJCQkzMTJGRjhDMzIxQTRDMkYzMDBFQjE5OUQg
LyogR1BVVGV4dHVyZUZvcm1hdC5oICovLAogCQkJCUQwMjZGNDg1MjIwQTQ3NzIwMEFDNUY0OSAv
KiBHUFVUZXh0dXJlVXNhZ2UuaCAqLywKIAkJCQlEMDZFRjU1MjIyMEJBMjZBMDAxODcyNEUgLyog
R1BVVXRpbHMuaCAqLywKKwkJCQlEMDlBRkIwRTIyRDU1RkY1MDBDNDUzOEMgLyogR1BVVmFsaWRh
dGlvbkVycm9yLmNwcCAqLywKKwkJCQlEMDlBRkIwRDIyRDU1RjNCMDBDNDUzOEMgLyogR1BVVmFs
aWRhdGlvbkVycm9yLmggKi8sCiAJCQkJRDBEODY0OUIyMUJBMUMyRDAwM0M5ODNDIC8qIEdQVVZl
cnRleEF0dHJpYnV0ZURlc2NyaXB0b3IuaCAqLywKIAkJCQlEMEQ4NjQ5QzIxQkExQ0U4MDAzQzk4
M0MgLyogR1BVVmVydGV4QnVmZmVyRGVzY3JpcHRvci5oICovLAogCQkJCUQwRDg2NDk5MjFCQTFC
MUYwMDNDOTgzQyAvKiBHUFVWZXJ0ZXhJbnB1dERlc2NyaXB0b3IuaCAqLywKQEAgLTI1OTM3LDYg
KzI1OTUyLDcgQEAKIAkJCQlEMEI1NkVBRTIyNEVDRTIwMDA2MTA0OUMgLyogR1BVQ29sb3JXcml0
ZUJpdHMuaWRsICovLAogCQkJCUQwM0M4NDlFMjFGRkNGMDAwMDAyMjI3RiAvKiBHUFVDb21wYXJl
RnVuY3Rpb24uaWRsICovLAogCQkJCUQwM0M4NEEyMjFGRkQ3MjMwMDAyMjI3RiAvKiBHUFVEZXB0
aFN0ZW5jaWxTdGF0ZURlc2NyaXB0b3IuaWRsICovLAorCQkJCUQwOUFGQjA2MjJENDE3QjMwMEM0
NTM4QyAvKiBHUFVFcnJvckZpbHRlci5pZGwgKi8sCiAJCQkJRDAyNkY0ODAyMjBBMkI3MDAwQUM1
RjQ5IC8qIEdQVUV4dGVudDNELmlkbCAqLywKIAkJCQlEMDhBQTAyRDIyMEQwQjlDMDA1OEM1MDIg
LyogR1BVTG9hZE9wLmlkbCAqLywKIAkJCQlEMENDQTk0OTIyMjk5Rjk3MDA2OTc5QjYgLyogR1BV
T3JpZ2luM0QuaCAqLywKQEAgLTI1OTQ5LDYgKzI1OTY1LDcgQEAKIAkJCQlEMDI2RjQ4QjIyMEE1
QjBCMDBBQzVGNDkgLyogR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsICovLAogCQkJCUQwRUFDRkFF
MjE5RTMwRkQwMDBGQTc1QyAvKiBHUFVUZXh0dXJlRm9ybWF0LmlkbCAqLywKIAkJCQlEMDI2RjQ4
MzIyMEE0NzJGMDBBQzVGNDkgLyogR1BVVGV4dHVyZVVzYWdlLmlkbCAqLywKKwkJCQlEMDlBRkIw
QzIyRDU1RTkwMDBDNDUzOEMgLyogR1BVVmFsaWRhdGlvbkVycm9yLmlkbCAqLywKIAkJCQlEMEQ4
NjQ5NjIxQkExOEY0MDAzQzk4M0MgLyogR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRvci5pZGwg
Ki8sCiAJCQkJRDBEODY0OTgyMUJBMTlBNzAwM0M5ODNDIC8qIEdQVVZlcnRleEJ1ZmZlckRlc2Ny
aXB0b3IuaWRsICovLAogCQkJCUQwRDg2NDk0MjFCQTE3M0QwMDNDOTgzQyAvKiBHUFVWZXJ0ZXhJ
bnB1dERlc2NyaXB0b3IuaWRsICovLApAQCAtMjU5OTUsNiArMjYwMTIsOSBAQAogCQkJCUQwMEY1
OTUzMjE3MDFEOEMwMDBENzFEQiAvKiBXZWJHUFVEZXZpY2UuY3BwICovLAogCQkJCUQwMEY1OTUy
MjE3MDFEOEMwMDBENzFEQiAvKiBXZWJHUFVEZXZpY2UuaCAqLywKIAkJCQlEMDBGNTk1NDIxNzAx
RDhDMDAwRDcxREIgLyogV2ViR1BVRGV2aWNlLmlkbCAqLywKKwkJCQlEMDlBRkIwMTIyRDAyRTUz
MDBDNDUzOEMgLyogV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuY3BwICovLAorCQkJCUQwOUFGQUZG
MjJEMDJFNTMwMEM0NTM4QyAvKiBXZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5oICovLAorCQkJCUQw
OUFGQjAzMjJENDBDQzUwMEM0NTM4QyAvKiBXZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5pZGwgKi8s
CiAJCQkJRDBDNDE5RjAyMTgzRUIzMTAwOUVDMURFIC8qIFdlYkdQVVBpcGVsaW5lRGVzY3JpcHRv
ckJhc2UuaCAqLywKIAkJCQlEMEM0MTlGMTIxODNFQjMxMDA5RUMxREUgLyogV2ViR1BVUGlwZWxp
bmVEZXNjcmlwdG9yQmFzZS5pZGwgKi8sCiAJCQkJRDA1QTk5RTUyMUM5QkYyQzAwMDMyQjc1IC8q
IFdlYkdQVVBpcGVsaW5lTGF5b3V0LmNwcCAqLywKQEAgLTI4NDAwLDYgKzI4NDIwLDcgQEAKIAkJ
CQlBNUE3QUE0MzEzMkYwRUNDMDBEM0EzQzIgLyogQXV0b2NhcGl0YWxpemVUeXBlcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJN0MxODQzRkUxQzhCNzI4MzAwMkVCOTczIC8qIEF1dG9maWxsLmggaW4g
SGVhZGVycyAqLywKIAkJCQk3QzFFOTcyODFBOUY5ODM0MDA3QkYwRkIgLyogQXV0b0ZpbGxCdXR0
b25FbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk1Q0NDMjcwOTIyRDU0ODNBMDA5NjRGQTAg
LyogQXV0b2ZpbGxFbGVtZW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzlENDY3MDUxRTYwQzQ2
NTAwODE5NUZCIC8qIEF1dG9wbGF5RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ1ODMwRDRF
MTY3OUI0RjgwMEFDRjhDMyAvKiBBdXRvc2Nyb2xsQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQThDRkYwNEUwQTE1NEYwOTAwMEE0MjM0IC8qIEF1dG9UYWJsZUxheW91dC5oIGluIEhl
YWRlcnMgKi8sCkBAIC0zMDA0NCw3ICszMDA2NSw2IEBACiAJCQkJN0M3NzYxQUExRjg3OEFBNTAw
Rjg2OUZEIC8qIEpTSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0U2V0dGluZ3MuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE3Nzk3OTI5MEQ2QjlFNjQwMDM4NTFCOSAvKiBKU0ltYWdlRGF0YS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJN0MxOTNDMDExRjVFMTEwNTAwODhGM0U2IC8qIEpTSW1hZ2VTbW9v
dGhpbmdRdWFsaXR5LmggaW4gSGVhZGVycyAqLywKLQkJCQk1Q0NDMjcwOTIyRDU0ODNBMDA5NjRG
QTAgLyogQXV0b2ZpbGxFbGVtZW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg2NjI5RDMwOURB
MkI0ODAwOTYzM0E2IC8qIEpTSW5wdXRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTE3NUNF
NUUyMUUyODFFRDAwREYyQzI4IC8qIEpTSW5zcGVjdG9yQXVkaXRBY2Nlc3NpYmlsaXR5T2JqZWN0
LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MTc1Q0U1QzIxRTI4MUVEMDBERjJDMjggLyogSlNJbnNw
ZWN0b3JBdWRpdERPTU9iamVjdC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKaW5kZXggZjViNTMyMmM3YjkwMzVm
NzNhNDI4MTZhMjBjYmJhMTBlN2ZkN2ZlNC4uZTNmZDcyYmE0NWY3NTk0NTMyMzM1NmE5NGY0ZWEx
MDAxYzQ4YmE1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29y
ZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaApAQCAtMTA2LDYgKzEwNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBtYWNybyhHUFVUZXh0dXJlKSBcCiAgICAgbWFjcm8oR1BVVGV4dHVyZVVzYWdlKSBcCiAgICAg
bWFjcm8oR1BVVGV4dHVyZVZpZXcpIFwKKyAgICBtYWNybyhHUFVWYWxpZGF0aW9uRXJyb3IpIFwK
ICAgICBtYWNybyhIVE1MQXR0YWNobWVudEVsZW1lbnQpIFwKICAgICBtYWNybyhIVE1MQXVkaW9F
bGVtZW50KSBcCiAgICAgbWFjcm8oSFRNTERhdGFMaXN0RWxlbWVudCkgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUJ1ZmZlci5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUJ1ZmZlci5oCmluZGV4IDQyNTA4YmM3
NjE3MDViZjFhMGU2NjExNzkxZjVlYTY3MDk3YjU1MDUuLjhkYTA0MzIzNjlhNzE0NzU0OWVkODVj
NTNiZjczNDM0MTQ2YWU4ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvR1BVQnVmZmVyLmgKQEAgLTEwOCw3ICsxMDgsNyBAQCBwcml2YXRlOgogICAgIH07
CiAKICAgICBHUFVCdWZmZXIoUGxhdGZvcm1CdWZmZXJTbWFydFB0ciYmLCBSZWY8R1BVRGV2aWNl
PiYmLCBzaXplX3QsIE9wdGlvblNldDxHUFVCdWZmZXJVc2FnZTo6RmxhZ3M+LCBib29sKTsKLSAg
ICBzdGF0aWMgYm9vbCB2YWxpZGF0ZUJ1ZmZlclVzYWdlKGNvbnN0IEdQVURldmljZSYsIE9wdGlv
blNldDxHUFVCdWZmZXJVc2FnZTo6RmxhZ3M+KTsKKyAgICBzdGF0aWMgYm9vbCB2YWxpZGF0ZUJ1
ZmZlclVzYWdlKEdQVURldmljZSYsIE9wdGlvblNldDxHUFVCdWZmZXJVc2FnZTo6RmxhZ3M+KTsK
IAogICAgIEpTQzo6QXJyYXlCdWZmZXIqIHN0YWdpbmdCdWZmZXJGb3JSZWFkKCk7CiAgICAgSlND
OjpBcnJheUJ1ZmZlciogc3RhZ2luZ0J1ZmZlckZvcldyaXRlKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwCmluZGV4IGE2NDlhNjA3
MTkxOWI2ZDVjMjQxYTcyZjI2ODgyNWEwZTY1MWU3YWQuLjk3YzcyMTM2MmJmYzA4ZjE4MjJmZjdh
YzU0OWM1Yjc0NTMwNDBiNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwCkBAIC00Niw2ICs0Niw3IEBACiAjaW5jbHVkZSAiR1BV
U3dhcENoYWluRGVzY3JpcHRvci5oIgogI2luY2x1ZGUgIkdQVVRleHR1cmUuaCIKICNpbmNsdWRl
ICJHUFVUZXh0dXJlRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRl
IDx3dGYvT3B0aW9uYWwuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTA4LDYgKzEwOSwz
OCBAQCB2b2lkIEdQVURldmljZTo6c2V0U3dhcENoYWluKFJlZlB0cjxHUFVTd2FwQ2hhaW4+JiYg
c3dhcENoYWluKQogICAgIG1fc3dhcENoYWluID0gV1RGTW92ZShzd2FwQ2hhaW4pOwogfQogCit2
b2lkIEdQVURldmljZTo6cHVzaEVycm9yU2NvcGUoR1BVRXJyb3JGaWx0ZXIgZmlsdGVyKQorewor
ICAgIG1fZXJyb3JTY29wZXMuYXBwZW5kKEVycm9yU2NvcGUgeyBmaWx0ZXIsIG51bGxwdHIgfSk7
Cit9CisKK3ZvaWQgR1BVRGV2aWNlOjpwb3BFcnJvclNjb3BlKEVycm9yQ2FsbGJhY2smJiBjYWxs
YmFjaykKK3sKKyAgICBpZiAoIW1fcGxhdGZvcm1EZXZpY2UgfHwgbV9lcnJvclNjb3Blcy5pc0Vt
cHR5KCkpCisgICAgICAgIGNhbGxiYWNrKG51bGxwdHIsIGZhbHNlKTsKKyAgICBlbHNlIHsKKyAg
ICAgICAgYXV0byBzY29wZSA9IG1fZXJyb3JTY29wZXMudGFrZUxhc3QoKTsKKyAgICAgICAgY2Fs
bGJhY2soc2NvcGUuZmlsdGVyID09IEdQVUVycm9yRmlsdGVyOjpOb25lID8gbnVsbHB0ciA6IHNj
b3BlLmVycm9yLCB0cnVlKTsKKyAgICB9Cit9CisKK3ZvaWQgR1BVRGV2aWNlOjpyZWdpc3RlckVy
cm9yKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgR1BVRXJyb3JGaWx0ZXIgZmlsdGVyKQoreworICAg
IGF1dG8gaXRlcmF0b3IgPSBzdGQ6OmZpbmRfaWYobV9lcnJvclNjb3Blcy5yYmVnaW4oKSwgbV9l
cnJvclNjb3Blcy5yZW5kKCksIFtmaWx0ZXJdKGNvbnN0IEVycm9yU2NvcGUmIHNjb3BlKSB7Cisg
ICAgICAgIHJldHVybiBzY29wZS5maWx0ZXIgPT0gR1BVRXJyb3JGaWx0ZXI6Ok5vbmUgfHwgc2Nv
cGUuZmlsdGVyID09IGZpbHRlcjsKKyAgICB9KTsKKworICAgIC8vIEZJWE1FOiBVbmNhcHR1cmVk
IGVycm9ycyBuZWVkIHRvIGJlIGZpcmVkIGFzIEdQVVVuY2FwdHVyZWRFcnJvckV2ZW50cy4KKyAg
ICBpZiAoaXRlcmF0b3IgPT0gbV9lcnJvclNjb3Blcy5yZW5kKCkpCisgICAgICAgIHJldHVybjsK
KworICAgIC8vIElmIHRoZSBzY29wZSBoYXMgYWxyZWFkeSBjYXB0dXJlZCBhbiBlcnJvciwgaWdu
b3JlIHRoaXMgbmV3IG9uZS4KKyAgICBpZiAoaXRlcmF0b3ItPmVycm9yKQorICAgICAgICByZXR1
cm47CisKKyAgICBpdGVyYXRvci0+ZXJyb3IgPSBjcmVhdGVFcnJvcihmaWx0ZXIsIG1lc3NhZ2Up
OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCR1BV
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURl
dmljZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5o
CmluZGV4IGE3MTM5NTQxZDBiZmQxNGRiMjhmYTk1OWZmYjAxOTQzMGY4MDNiYmUuLjQ0YzJmMDFh
ZmUwYzhkNzFhOTcxOTUwZjhiZTI1MDgwYmFjNzRiMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmgKQEAgLTI3LDExICsyNywxOCBAQAog
CiAjaWYgRU5BQkxFKFdFQkdQVSkKIAorI2luY2x1ZGUgIkdQVUVycm9yLmgiCisjaW5jbHVkZSAi
R1BVRXJyb3JGaWx0ZXIuaCIKICNpbmNsdWRlICJHUFVRdWV1ZS5oIgogI2luY2x1ZGUgIkdQVVN3
YXBDaGFpbi5oIgorI2luY2x1ZGUgIkdQVVZhbGlkYXRpb25FcnJvci5oIgorI2luY2x1ZGUgPHd0
Zi9GdW5jdGlvbi5oPgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgogCiBPQkpDX1BST1RPQ09MKE1UTERldmljZSk7CiAKQEAgLTU3LDcgKzY0LDcg
QEAgc3RydWN0IEdQVVNhbXBsZXJEZXNjcmlwdG9yOwogc3RydWN0IEdQVVNoYWRlck1vZHVsZURl
c2NyaXB0b3I7CiBzdHJ1Y3QgR1BVU3dhcENoYWluRGVzY3JpcHRvcjsKIHN0cnVjdCBHUFVUZXh0
dXJlRGVzY3JpcHRvcjsKLSAgICAKKwogdXNpbmcgUGxhdGZvcm1EZXZpY2UgPSBNVExEZXZpY2U7
CiB1c2luZyBQbGF0Zm9ybURldmljZVNtYXJ0UHRyID0gUmV0YWluUHRyPE1UTERldmljZT47CiAK
QEAgLTg0LDEyICs5MSwyNSBAQCBwdWJsaWM6CiAgICAgR1BVU3dhcENoYWluKiBzd2FwQ2hhaW4o
KSBjb25zdCB7IHJldHVybiBtX3N3YXBDaGFpbi5nZXQoKTsgfQogICAgIHZvaWQgc2V0U3dhcENo
YWluKFJlZlB0cjxHUFVTd2FwQ2hhaW4+JiYpOwogCisgICAgdm9pZCBwdXNoRXJyb3JTY29wZShH
UFVFcnJvckZpbHRlcik7CisKKyAgICB1c2luZyBFcnJvckNhbGxiYWNrID0gV1RGOjpGdW5jdGlv
bjx2b2lkKFJlZlB0cjxHUFVFcnJvcj4mJiwgYm9vbCk+OworICAgIHZvaWQgcG9wRXJyb3JTY29w
ZShFcnJvckNhbGxiYWNrJiYpOworICAgIHZvaWQgcmVnaXN0ZXJFcnJvcihjb25zdCBTdHJpbmcm
LCBHUFVFcnJvckZpbHRlciA9IEdQVUVycm9yRmlsdGVyOjpWYWxpZGF0aW9uKTsKKwogcHJpdmF0
ZToKKyAgICBzdHJ1Y3QgRXJyb3JTY29wZSB7CisgICAgICAgIEdQVUVycm9yRmlsdGVyIGZpbHRl
cjsKKyAgICAgICAgUmVmUHRyPEdQVUVycm9yPiBlcnJvcjsKKyAgICB9OworCiAgICAgZXhwbGlj
aXQgR1BVRGV2aWNlKFBsYXRmb3JtRGV2aWNlU21hcnRQdHImJik7CiAKICAgICBQbGF0Zm9ybURl
dmljZVNtYXJ0UHRyIG1fcGxhdGZvcm1EZXZpY2U7CiAgICAgbXV0YWJsZSBSZWZQdHI8R1BVUXVl
dWU+IG1fcXVldWU7CiAgICAgUmVmUHRyPEdQVVN3YXBDaGFpbj4gbV9zd2FwQ2hhaW47CisKKyAg
ICBWZWN0b3I8RXJyb3JTY29wZT4gbV9lcnJvclNjb3BlczsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9HUFVFcnJvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
RXJyb3IuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2YTNhYjg0YzdiZjQyNDczMmYzNDBjYWM1MzEyZjgzMDkw
MzE2MjMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVRXJyb3IuY3BwCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiR1BVRXJyb3IuaCIKKworI2lmIEVOQUJMRShXRUJHUFUp
CisKKyNpbmNsdWRlICJHUFVFcnJvckZpbHRlci5oIgorI2luY2x1ZGUgIkdQVVZhbGlkYXRpb25F
cnJvci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZjxHUFVFcnJvcj4gY3JlYXRlRXJy
b3IoR1BVRXJyb3JGaWx0ZXIgZmlsdGVyLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCit7CisgICAg
c3dpdGNoIChmaWx0ZXIpIHsKKyAgICBjYXNlIEdQVUVycm9yRmlsdGVyOjpWYWxpZGF0aW9uOgor
ICAgICAgICByZXR1cm4gR1BVVmFsaWRhdGlvbkVycm9yOjpjcmVhdGUobWVzc2FnZSk7CisgICAg
ZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQorfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9yLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3IuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
YmYxYTZmMzhiZTAyZDVmZTdiZGVhZmEzMTFiN2NlNzBhNjA2OTY0Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9yLmgKQEAgLTAs
MCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQkdQ
VSkKKworI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBHUFVWYWxpZGF0aW9uRXJyb3I7
CisKK2VudW0gY2xhc3MgR1BVRXJyb3JGaWx0ZXI7CisKKy8vIEZJWE1FOiBBZGQgR1BVT3V0T2ZN
ZW1vcnlFcnJvci4KK3VzaW5nIEdQVUVycm9yID0gR1BVVmFsaWRhdGlvbkVycm9yOworCitSZWY8
R1BVRXJyb3I+IGNyZWF0ZUVycm9yKEdQVUVycm9yRmlsdGVyLCBjb25zdCBTdHJpbmcmKTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvckZpbHRlci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9yRmlsdGVyLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDU2
OWZlZjMyNzA1ZDk5YmZlY2VhMDA4OTFmZjE2NDRhMGE0ZDE3MgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvckZpbHRlci5oCkBA
IC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShX
RUJHUFUpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICAKK2VudW0gY2xhc3MgR1BVRXJyb3JG
aWx0ZXIgeworICAgIE5vbmUsCisgICAgT3V0T2ZNZW1vcnksCisgICAgVmFsaWRhdGlvbiwKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVmFsaWRh
dGlvbkVycm9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVW
YWxpZGF0aW9uRXJyb3IuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5N2U1NDU0NjEzODZjZmZjZDQxMDg3N2Rj
MzYxNGY2ZGYxODI4NzkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVVmFsaWRhdGlvbkVycm9yLmNwcApAQCAtMCwwICsxLDQ1IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkdQVVZhbGlkYXRpb25F
cnJvci5oIgorCisjaWYgRU5BQkxFKFdFQkdQVSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitS
ZWY8R1BVVmFsaWRhdGlvbkVycm9yPiBHUFVWYWxpZGF0aW9uRXJyb3I6OmNyZWF0ZShjb25zdCBT
dHJpbmcmIG1lc3NhZ2UpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgR1BVVmFsaWRhdGlv
bkVycm9yKG1lc3NhZ2UpKTsKK30KKworR1BVVmFsaWRhdGlvbkVycm9yOjpHUFVWYWxpZGF0aW9u
RXJyb3IoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQorICAgIDogbV9tZXNzYWdlKG1lc3NhZ2UpCit7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJHUFUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVmFs
aWRhdGlvbkVycm9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
VmFsaWRhdGlvbkVycm9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzIyNWFjMjA3ZmNhM2JlZGJlNjExNTVhNzU5
N2FkYTU1NjczODVlMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVWYWxpZGF0aW9uRXJyb3IuaApAQCAtMCwwICsxLDUwIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCR1BVKQorCisjaW5jbHVkZSA8
d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgR1BVVmFsaWRh
dGlvbkVycm9yIDogcHVibGljIFJlZkNvdW50ZWQ8R1BVVmFsaWRhdGlvbkVycm9yPiB7CitwdWJs
aWM6CisgICAgc3RhdGljIFJlZjxHUFVWYWxpZGF0aW9uRXJyb3I+IGNyZWF0ZShjb25zdCBTdHJp
bmcmIG1lc3NhZ2UpOworCisgICAgU3RyaW5nIG1lc3NhZ2UoKSBjb25zdCB7IHJldHVybiBtX21l
c3NhZ2U7IH0KKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBHUFVWYWxpZGF0aW9uRXJyb3IoY29u
c3QgU3RyaW5nJiBtZXNzYWdlKTsKKworICAgIFN0cmluZyBtX21lc3NhZ2U7Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVUJ1ZmZlck1l
dGFsLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVUJ1
ZmZlck1ldGFsLm1tCmluZGV4IDU5YTA3ZmY5Y2ViN2Q4ZWE1MmQzY2I2Y2QxYWMzYzdkZjVmYzJh
MDUuLmVjYWVhODhmZWQ0NzQ5MjEyMDRlMjBlZTk1MmU0YjZjMWM3NDU5ZjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVCdWZmZXJNZXRh
bC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BV
QnVmZmVyTWV0YWwubW0KQEAgLTQyLDcgKzQyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3Rh
dGljIGNvbnN0ZXhwciBhdXRvIHJlYWRPbmx5RmxhZ3MgPSBPcHRpb25TZXQ8R1BVQnVmZmVyVXNh
Z2U6OkZsYWdzPiB7IEdQVUJ1ZmZlclVzYWdlOjpGbGFnczo6SW5kZXgsIEdQVUJ1ZmZlclVzYWdl
OjpGbGFnczo6VmVydGV4LCBHUFVCdWZmZXJVc2FnZTo6RmxhZ3M6OlVuaWZvcm0sIEdQVUJ1ZmZl
clVzYWdlOjpGbGFnczo6VHJhbnNmZXJTb3VyY2UgfTsKIAogCi1ib29sIEdQVUJ1ZmZlcjo6dmFs
aWRhdGVCdWZmZXJVc2FnZShjb25zdCBHUFVEZXZpY2UmIGRldmljZSwgT3B0aW9uU2V0PEdQVUJ1
ZmZlclVzYWdlOjpGbGFncz4gdXNhZ2UpCitib29sIEdQVUJ1ZmZlcjo6dmFsaWRhdGVCdWZmZXJV
c2FnZShHUFVEZXZpY2UmIGRldmljZSwgT3B0aW9uU2V0PEdQVUJ1ZmZlclVzYWdlOjpGbGFncz4g
dXNhZ2UpCiB7CiAgICAgaWYgKCFkZXZpY2UucGxhdGZvcm1EZXZpY2UoKSkgewogICAgICAgICBM
T0coV2ViR1BVLCAiR1BVQnVmZmVyOjp0cnlDcmVhdGUoKTogSW52YWxpZCBHUFVEZXZpY2UhIik7
CkBAIC01MCw3ICs1MCw3IEBAIGJvb2wgR1BVQnVmZmVyOjp2YWxpZGF0ZUJ1ZmZlclVzYWdlKGNv
bnN0IEdQVURldmljZSYgZGV2aWNlLCBPcHRpb25TZXQ8R1BVQnVmZmVyCiAgICAgfQogCiAgICAg
aWYgKHVzYWdlLmNvbnRhaW5zQWxsKHsgR1BVQnVmZmVyVXNhZ2U6OkZsYWdzOjpNYXBXcml0ZSwg
R1BVQnVmZmVyVXNhZ2U6OkZsYWdzOjpNYXBSZWFkIH0pKSB7Ci0gICAgICAgIExPRyhXZWJHUFUs
ICJHUFVCdWZmZXI6OnRyeUNyZWF0ZSgpOiBCdWZmZXIgY2Fubm90IGhhdmUgYm90aCBNQVBfUkVB
RCBhbmQgTUFQX1dSSVRFIHVzYWdlISIpOworICAgICAgICBkZXZpY2UucmVnaXN0ZXJFcnJvcigi
R1BVQnVmZmVyOjp0cnlDcmVhdGUoKTogQnVmZmVyIGNhbm5vdCBoYXZlIGJvdGggTUFQX1JFQUQg
YW5kIE1BUF9XUklURSB1c2FnZSEiKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IGJmZWU2N2UxNDE5MmY5MWY4YjgxZTgxYTVmMzBiMzhjZWZjNWJhMzguLmNmZDViYmMw
MzEzOWI3MDlmMGQ5YmZmMzM0NjBiMDM4MjJmN2MxM2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAxOS0wNy0wOSAgSnVzdGluIEZhbiAgPGp1c3Rpbl9mYW5AYXBwbGUuY29tPgorCisgICAgICAg
IFtXZWJHUFVdIEltcGxlbWVudCB2YWxpZGF0aW9uIGVycm9ycyBhbmQgZXJyb3Igc2NvcGVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTk2NTUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSB0ZXN0
IHRvIGNvdmVyIHRoZSBjYXNlcyBvdXRsaW5lZCBpbiB0aGUgV2ViR1BVIGVycm9yIGhhbmRsaW5n
IGRlc2lnbiBkb2MuCisKKyAgICAgICAgKiB3ZWJncHUvZXJyb3Itc2NvcGVzLXRlc3QtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJncHUvZXJyb3Itc2NvcGVzLXRlc3QuaHRtbDog
QWRkZWQuCisKIDIwMTktMDctMDkgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAK
ICAgICAgICAgW1dITFNMXSBJbXBvcnQgYW5vdGhlciByb3VuZCBvZiBKUyBzcGVjIHRlc3RzCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJncHUvZXJyb3Itc2NvcGVzLXRlc3QtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvd2ViZ3B1L2Vycm9yLXNjb3Blcy10ZXN0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hZDczNDYzYWZkYjFlOThmZjgzNmUyNjZiZGE0NWMzNGFlMjg5NDI2Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L2Vycm9yLXNjb3Blcy10ZXN0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDcgQEAKKworUEFTUyBDYXB0dXJlIGEgc2luZ2xlIEdQVVZhbGlk
YXRpb24gZXJyb3IuIAorUEFTUyBJZ25vcmUgZXJyb3JzIHBhc3QgdGhlIGZpcnN0LiAKK1BBU1Mg
Q2FwdHVyZWQgZXJyb3JzIG1hdGNoIGVycm9yIHNjb3BlIGZpbHRlci4gCitQQVNTIFJlamVjdCBw
b3BFcnJvclNjb3BlIGlmIG5vIHNjb3BlIGV4aXN0cy4gCitQQVNTIEZpbHRlciAnbm9uZScgc2hv
dWxkIGNhcHR1cmUgYnV0IG5vdCByZXBvcnQgZXJyb3JzLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ3B1L2Vycm9yLXNjb3Blcy10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJncHUv
ZXJyb3Itc2NvcGVzLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZmI1ZGVhZDgxNTQ3MGY4NDdjMDJi
YmQ4ZDk0YmU5MDFmZjE2Yjk4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ3B1
L2Vycm9yLXNjb3Blcy10ZXN0Lmh0bWwKQEAgLTAsMCArMSw4OSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPlRlc3QgRXJyb3IgU2NvcGVzLjwvdGl0bGU+
Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJqcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0PgorbGV0IHRlc3RzID0ge307CisKK3Rlc3RzWyJDYXB0dXJlIGEgc2luZ2xlIEdQVVZh
bGlkYXRpb24gZXJyb3IuIl0gPSBhc3luYyBkZXZpY2UgPT4geworICAgIGRldmljZS5wdXNoRXJy
b3JTY29wZSgidmFsaWRhdGlvbiIpOworICAgIGNhdXNlRXJyb3IoZGV2aWNlKTsKKyAgICByZXR1
cm4gcG9wVmFsaWRhdGlvbkVycm9yKGRldmljZSk7Cit9OworCit0ZXN0c1siSWdub3JlIGVycm9y
cyBwYXN0IHRoZSBmaXJzdC4iXSA9IGFzeW5jIGRldmljZSA9PiB7CisgICAgZGV2aWNlLnB1c2hF
cnJvclNjb3BlKCJ2YWxpZGF0aW9uIik7CisgICAgZGV2aWNlLnB1c2hFcnJvclNjb3BlKCJ2YWxp
ZGF0aW9uIik7CisgICAgY2F1c2VFcnJvcihkZXZpY2UpOworICAgIGNhdXNlRXJyb3IoZGV2aWNl
KTsKKyAgICAKKyAgICBjb25zdCBlcnJvciA9IGF3YWl0IGRldmljZS5wb3BFcnJvclNjb3BlKCk7
CisgICAgYXNzZXJ0RXJyb3IoZXJyb3IpOworCisgICAgcmV0dXJuIHBvcE51bGxFcnJvcihkZXZp
Y2UpOworfTsKKwordGVzdHNbIkNhcHR1cmVkIGVycm9ycyBtYXRjaCBlcnJvciBzY29wZSBmaWx0
ZXIuIl0gPSBhc3luYyBkZXZpY2UgPT4geworICAgIGRldmljZS5wdXNoRXJyb3JTY29wZSgidmFs
aWRhdGlvbiIpOworICAgIGRldmljZS5wdXNoRXJyb3JTY29wZSgib3V0LW9mLW1lbW9yeSIpOwor
ICAgIGNhdXNlRXJyb3IoZGV2aWNlKTsKKworICAgIGNvbnN0IHNob3VsZEJlTnVsbCA9IGF3YWl0
IGRldmljZS5wb3BFcnJvclNjb3BlKCk7CisgICAgYXNzZXJ0TnVsbChzaG91bGRCZU51bGwpOwor
CisgICAgcmV0dXJuIHBvcFZhbGlkYXRpb25FcnJvcihkZXZpY2UpOworfTsKKwordGVzdHNbIlJl
amVjdCBwb3BFcnJvclNjb3BlIGlmIG5vIHNjb3BlIGV4aXN0cy4iXSA9IGFzeW5jIGRldmljZSA9
PiB7CisgICAgY29uc3QgcHJvbWlzZSA9IGRldmljZS5wb3BFcnJvclNjb3BlKCkudGhlbigoKSA9
PiBhc3NlcnRfdW5yZWFjaGVkKCksIGFzeW5jIGUgPT4geworICAgICAgICBhc3NlcnRfZmFsc2Uo
ZSA9PT0gdW5kZWZpbmVkKTsKKyAgICAgICAgLy8gUG9wIHRoZSBleHRyYSAnbm9uZScgc2NvcGUu
CisgICAgICAgIGF3YWl0IHBvcE51bGxFcnJvcihkZXZpY2UpOworICAgIH0pOworICAgIC8vICdw
cm9taXNlJyBzaG91bGQgc3RpbGwgcmVqZWN0IGlmIGEgc2NvcGUgaXMgcHVzaGVkIGhlcmUuCisg
ICAgZGV2aWNlLnB1c2hFcnJvclNjb3BlKCJub25lIik7CisgICAgcmV0dXJuIHByb21pc2U7Cit9
OworCit0ZXN0c1siRmlsdGVyICdub25lJyBzaG91bGQgY2FwdHVyZSBidXQgbm90IHJlcG9ydCBl
cnJvcnMuIl0gPSBhc3luYyBkZXZpY2UgPT4geworICAgIGRldmljZS5wdXNoRXJyb3JTY29wZSgi
dmFsaWRhdGlvbiIpOworICAgIGRldmljZS5wdXNoRXJyb3JTY29wZSgibm9uZSIpOworICAgIGNh
dXNlRXJyb3IoZGV2aWNlKTsKKworICAgIGNvbnN0IHNob3VsZEJlTnVsbCA9IGF3YWl0IGRldmlj
ZS5wb3BFcnJvclNjb3BlKCk7CisgICAgYXNzZXJ0TnVsbChzaG91bGRCZU51bGwpOworCisgICAg
cmV0dXJuIHBvcE51bGxFcnJvcihkZXZpY2UpOworfTsKKworY29uc3QgaW5pdCA9IGFzeW5jICgp
ID0+IHsKKyAgICB0cnkgeworICAgICAgICB2YXIgZGV2aWNlID0gYXdhaXQgZ2V0QmFzaWNEZXZp
Y2UoKTsKKyAgICB9IGNhdGNoIChlKSB7IC8qIFdlYkdQVSBpcyBub3Qgc3VwcG9ydGVkLiAqLyB9
CisKKyAgICBmb3IgKGxldCBuYW1lIGluIHRlc3RzKQorICAgICAgICBkZXZpY2VQcm9taXNlVGVz
dChkZXZpY2UsIG5hbWUpOworfTsKKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBp
bml0KTsKKworLyogSGVscGVyIEZ1bmN0aW9ucyAqLworCitjb25zdCBjYXVzZUVycm9yID0gZGV2
aWNlID0+IHsgZGV2aWNlLmNyZWF0ZUJ1ZmZlcih7IHNpemU6IDQsIHVzYWdlOiBHUFVCdWZmZXJV
c2FnZS5NQVBfUkVBRCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklURSB9KTsgfTsKK2NvbnN0IHBv
cFZhbGlkYXRpb25FcnJvciA9IGRldmljZSA9PiBkZXZpY2UucG9wRXJyb3JTY29wZSgpLnRoZW4o
ZXJyb3IgPT4gYXNzZXJ0RXJyb3IoZXJyb3IpKTsKK2NvbnN0IHBvcE51bGxFcnJvciA9IGRldmlj
ZSA9PiBkZXZpY2UucG9wRXJyb3JTY29wZSgpLnRoZW4oZXJyb3IgPT4gYXNzZXJ0TnVsbChlcnJv
cikpOworY29uc3QgYXNzZXJ0TnVsbCA9IGVycm9yID0+IGFzc2VydF90cnVlKGVycm9yID09PSBu
dWxsLCAiTm8gZXJyb3IgZXhwZWN0ZWQhIik7Citjb25zdCBhc3NlcnRFcnJvciA9IGVycm9yID0+
IGFzc2VydF90cnVlKGVycm9yIGluc3RhbmNlb2YgR1BVVmFsaWRhdGlvbkVycm9yLCAiRXhwZWN0
ZWQgdmFsaWRhdGlvbiBlcnJvciEiKTsKKworY29uc3QgZGV2aWNlUHJvbWlzZVRlc3QgPSAoZGV2
aWNlLCBuYW1lKSA9PiB7CisgICAgcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgICAgICAg
aWYgKGRldmljZSA9PT0gdW5kZWZpbmVkKQorICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVz
b2x2ZSgpOworICAgICAgICByZXR1cm4gdGVzdHNbbmFtZV0oZGV2aWNlKTsKKyAgICB9LCBuYW1l
KTsKK307Cis8L3NjcmlwdD4KKzwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373820</attachid>
            <date>2019-07-09 22:15:50 -0700</date>
            <delta_ts>2019-07-10 19:07:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199655-20190709221549.patch</filename>
            <type>text/plain</type>
            <size>52820</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MjkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjliMThkMzZlNGRkN2Qz
ODRkNjQ3N2Y4Nzk0Yjc2YTgzMGYxOWM2OS4uMjYxMDg4MWJmZWNjN2UyNzFhZDc3OWI1NTlkODE5
YmEyMWZhODdhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDE5LTA3LTA5ICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gSW1wbGVt
ZW50IHZhbGlkYXRpb24gZXJyb3JzIGFuZCBlcnJvciBzY29wZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTY1NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBHUFVFcnJvckZpbHRlciwgR1BVVmFs
aWRhdGlvbkVycm9yLCBhbmQgdGhlIGFiaWxpdHkgdG8gcHVzaCBhbmQgcG9wIGVycm9yIHNjb3Bl
cyBvbiBhIEdQVURldmljZS4KKyAgICAgICAgVGhpcyB3aWxsIGFsbG93IHVzIHRvIGNoZWNrIGZv
ciBXZWJHUFUgdmFsaWRhdGlvbiBlcnJvcnMgZnJvbSBKYXZhU2NyaXB0LgorICAgICAgICBDdXJy
ZW50bHksIG9ubHkgb25lIEdQVUJ1ZmZlciBjcmVhdGlvbiBlcnJvciBpcyByZXBvcnRlZDsgYWN0
dWFsIGVycm9ycyB3aWxsIGZvbGxvdyBpbiBsYXRlciBwYXRjaGVzLgorCisgICAgICAgIFRlc3Q6
IHdlYmdwdS9lcnJvci1zY29wZXMtdGVzdC5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdw
dS9HUFVFcnJvckZpbHRlci5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L0dQ
VVZhbGlkYXRpb25FcnJvci5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dl
YkdQVURldmljZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHUFVEZXZpY2U6OnB1c2hFcnJv
clNjb3BlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVURldmljZTo6cG9wRXJyb3JTY29wZSk6
IFJlc29sdmUgdGhlIFByb21pc2UgaGVyZSwgc2luY2UgR1BVRGV2aWNlIHNob3VsZG4ndCB3b3Jy
eSBhYm91dCBET00gbGF5ZXIuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNl
Lmg6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVURldmljZUVycm9yU2NvcGVzOjpwdXNo
RXJyb3JTY29wZSk6IERlbGVnYXRlcyB0byBXZWJHUFVEZXZpY2UuCisgICAgICAgIChXZWJDb3Jl
OjpXZWJHUFVEZXZpY2VFcnJvclNjb3Blczo6cG9wRXJyb3JTY29wZSk6IERpdHRvLgorICAgICAg
ICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2NvcGVzLmg6IEFkZGVkLgorICAg
ICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2NvcGVzLmlkbDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUJ1ZmZlci5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwOiBUaGUgYWN0dWFsIGVycm9yIHN0
YWNrIGxpdmVzIGhlcmUuCisgICAgICAgIChXZWJDb3JlOjpHUFVEZXZpY2U6OnB1c2hFcnJvclNj
b3BlKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVURldmljZTo6cG9wRXJyb3JTY29wZSk6IENhbGxz
IGEgY2FsbGJhY2sgd2l0aCBhIEdQVUVycm9yLCBpZiBhbnkuCisgICAgICAgIChXZWJDb3JlOjpH
UFVEZXZpY2U6OnJlZ2lzdGVyRXJyb3IpOiBBY3R1YWxseSBjcmVhdGVzIEdQVUVycm9ycy4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmg6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9yLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpjcmVhdGVFcnJvcik6IEZ1dHVyZSB2ZXJzaW9uIHdpbGwgdHJlYXQgR1BVRXJyb3IgYXMgYSBW
YXJpYW50IG9mIGRpZmZlcmVudCBlcnJvciB0eXBlcy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9ncHUvR1BVRXJyb3IuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVUVycm9yRmlsdGVyLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVWYWxpZGF0aW9uRXJyb3IuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkdQ
VVZhbGlkYXRpb25FcnJvcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVVZhbGlkYXRp
b25FcnJvcjo6R1BVVmFsaWRhdGlvbkVycm9yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVVmFsaWRhdGlvbkVycm9yLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6R1BV
VmFsaWRhdGlvbkVycm9yOjptZXNzYWdlIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9ncHUvY29jb2EvR1BVQnVmZmVyTWV0YWwubW06CisgICAgICAgIChXZWJDb3JlOjpHUFVC
dWZmZXI6OnZhbGlkYXRlQnVmZmVyVXNhZ2UpOiBDcmVhdGUgYSByZWFsIGVycm9yIDopCisKKyAg
ICAgICAgQWRkIGZpbGUvbmFtZSByZWZlcmVuY2VzOgorICAgICAgICAqIENNYWtlTGlzdHMudHh0
OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0
aW5OYW1lcy5oOgorCisgICAgICAgIE1pc3NpbmcgaW5jbHVkZXM6CisgICAgICAgICogTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xDaGVja1RleHR1cmVSZWZlcmVuY2VzLmNwcDoKKwogMjAxOS0w
Ny0wOSAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBG
aXhlZCBlbGVtZW50cyBhcHBlYXIgaW4gdGhlIG1pZGRsZSBvZiBmdWxsIHBhZ2Ugc2NyZWVuc2hv
dHMgdGFrZW4gd2hlbiBzY3JvbGxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAzY2U1MTY2MTMx
MDQxZGViNzFjOWU3YmU5NTU3OTA1NTkzNzk4NTgyLi4xZmViMDI2ZjNkMDQzNWM0ZmVkYWIwMGMy
Y2VmMzcwYTcwMjM3NDMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNDgwLDYgKzQ4MCw3IEBA
IHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy93ZWJncHUvR1BVQ29s
b3JXcml0ZUJpdHMuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvR1BVQ29tcGFyZUZ1bmN0aW9uLmlk
bAogICAgIE1vZHVsZXMvd2ViZ3B1L0dQVURlcHRoU3RlbmNpbFN0YXRlRGVzY3JpcHRvci5pZGwK
KyAgICBNb2R1bGVzL3dlYmdwdS9HUFVFcnJvckZpbHRlci5pZGwKICAgICBNb2R1bGVzL3dlYmdw
dS9HUFVFeHRlbnQzRC5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9HUFVMb2FkT3AuaWRsCiAgICAg
TW9kdWxlcy93ZWJncHUvR1BVT3JpZ2luM0QuaWRsCkBAIC00OTAsNiArNDkxLDcgQEAgc2V0KFdl
YkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlRGVz
Y3JpcHRvci5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlRm9ybWF0LmlkbAogICAg
IE1vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVVc2FnZS5pZGwKKyAgICBNb2R1bGVzL3dlYmdwdS9H
UFVWYWxpZGF0aW9uRXJyb3IuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvR1BVVmVydGV4QXR0cmli
dXRlRGVzY3JpcHRvci5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9HUFVWZXJ0ZXhCdWZmZXJEZXNj
cmlwdG9yLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L0dQVVZlcnRleElucHV0RGVzY3JpcHRvci5p
ZGwKQEAgLTUwOCw2ICs1MTAsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAg
IE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQaXBlbGluZS5pZGwKICAgICBNb2R1bGVzL3dl
YmdwdS9XZWJHUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlwdG9yLmlkbAogICAgIE1vZHVsZXMvd2Vi
Z3B1L1dlYkdQVURldmljZS5pZGwKKyAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJv
clNjb3Blcy5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZURlc2NyaXB0b3JC
YXNlLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmlkbAogICAg
IE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5pZGwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGM2OWQz
ZGQ0MTdiYmQ5MjRmOTUyMmMxNDc0OGNlODFlMjdkMDEzZDEuLmJjZmNiMTY2NTJjMGFkYmVlMWFm
MDkxZjVhZDJmOTdlZTI1NWNkM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtMzMwLDYgKzMzMCw3IEBAICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvd2ViZ3B1L0dQVUNvbG9yU3RhdGVEZXNjcmlwdG9yLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy93ZWJncHUvR1BVQ29sb3JXcml0ZUJpdHMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL3dlYmdwdS9HUFVDb21wYXJlRnVuY3Rpb24uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L3dlYmdwdS9HUFVEZXB0aFN0ZW5jaWxTdGF0ZURlc2NyaXB0b3IuaWRsCiskKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL3dlYmdwdS9HUFVFcnJvckZpbHRlci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvd2ViZ3B1L0dQVUV4dGVudDNELmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJncHUv
R1BVSW5wdXRTdGF0ZURlc2NyaXB0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdw
dS9HUFVMb2FkT3AuaWRsCkBAIC0zNDEsNiArMzQyLDcgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxl
cy93ZWJncHUvR1BVU3RvcmVPcC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQ
VVRleHR1cmVEZXNjcmlwdG9yLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJncHUvR1BV
VGV4dHVyZUZvcm1hdC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1
cmVVc2FnZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVVZhbGlkYXRpb25F
cnJvci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVVZlcnRleEF0dHJpYnV0
ZURlc2NyaXB0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9HUFVWZXJ0ZXhC
dWZmZXJEZXNjcmlwdG9yLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJncHUvR1BVVmVy
dGV4SW5wdXREZXNjcmlwdG9yLmlkbApAQCAtMzYxLDYgKzM2Myw3IEBAICQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQYXNzRW5jb2Rlci5pZGwKICQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQaXBlbGluZS5pZGwKICQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IuaWRsCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaWRsCiskKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuaWRsCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dC5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRv
ci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54
Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3QKaW5kZXggMzdjM2M4YjFiYTUyYjI2MzBmMWYwNTNmMmIwNTI1MzVjZGM1MGNiNy4uMTViM2M4
MDU3ZjZiZjgwZDViZjNlYTU2ZDc4ZmU1ODEwM2FlOTczOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTYwOSw2ICs2MDksOCBAQCAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUNvbXBhcmVG
dW5jdGlvbi5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTR1BVQ29tcGFyZUZ1bmN0aW9uLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTR1BVRGVwdGhTdGVuY2lsU3RhdGVEZXNjcmlwdG9yLmNwcAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVEZXB0aFN0ZW5jaWxT
dGF0ZURlc2NyaXB0b3IuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNHUFVFcnJvckZpbHRlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTR1BVRXJyb3JGaWx0ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVFeHRlbnQzRC5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVRXh0ZW50M0QuaAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVJbnB1dFN0YXRlRGVzY3Jp
cHRvci5jcHAKQEAgLTYzMSw2ICs2MzMsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVRleHR1cmVGb3JtYXQuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVRleHR1cmVGb3JtYXQuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVUZXh0dXJlVXNhZ2Uu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVRl
eHR1cmVVc2FnZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0dQVVZhbGlkYXRpb25FcnJvci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTR1BVVmFsaWRhdGlvbkVycm9yLmgKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRv
ci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BV
VmVydGV4QXR0cmlidXRlRGVzY3JpcHRvci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVZlcnRleEJ1ZmZlckRlc2NyaXB0b3IuY3BwCkBAIC0xOTQz
LDYgKzE5NDcsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1dlYkdQVUNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IuYwogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJHUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlw
dG9yLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2Vi
R1BVRGV2aWNlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNXZWJHUFVEZXZpY2UuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNXZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJHUFVQaXBl
bGluZURlc2NyaXB0b3JCYXNlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNXZWJHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmgKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR1BVUGlwZWxpbmVMYXlvdXQu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA3ZWViNDI3YzI3ZDE4YWM0Y2I4
N2M5ZmIyZmVmMDNlZTA2YmY2NjZkLi4zNGVjOGE3NWEyZjBhM2E1OTI0N2RkZWZhMmRjNjM5NzM3
ODY4MmNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTM4Niw2ICszODYsNyBA
QCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVC
dWZmZXJVc2FnZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVQ29tcGFy
ZUZ1bmN0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVEZXB0aFN0
ZW5jaWxTdGF0ZURlc2NyaXB0b3IuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1
L0dQVUVycm9yRmlsdGVyLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVF
eHRlbnQzRC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVTG9hZE9wLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVPcmlnaW4zRC5pZGwgXApAQCAt
Mzk2LDYgKzM5Nyw3IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvd2ViZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3dlYmdwdS9HUFVUZXh0dXJlRm9ybWF0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3dlYmdwdS9HUFVUZXh0dXJlVXNhZ2UuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2Vi
Z3B1L0dQVVZhbGlkYXRpb25FcnJvci5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJn
cHUvR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRvci5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy93ZWJncHUvR1BVVmVydGV4QnVmZmVyRGVzY3JpcHRvci5pZGwgXAogCSQoV2ViQ29yZSkv
TW9kdWxlcy93ZWJncHUvR1BVVmVydGV4SW5wdXREZXNjcmlwdG9yLmlkbCBcCkBAIC00MTQsNiAr
NDE2LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJn
cHUvV2ViR1BVQ29tcHV0ZVBpcGVsaW5lLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dl
YmdwdS9XZWJHUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlwdG9yLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaWRsIFwKKwkkKFdlYkNvcmUpL01vZHVsZXMv
d2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2NvcGVzLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVRdWV1ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJn
cHUvV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlvdXQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUVycm9yRmlsdGVyLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L0dQVUVycm9yRmlsdGVyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZDZhY2Ji
MjQyMWNiZjRkNGM1YWVmMThiMzU0ODM5YjcxZDY2Mzk2Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVRXJyb3JGaWx0ZXIuaWRsCkBAIC0wLDAgKzEs
MzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworLy8gaHR0cHM6Ly9ncHV3ZWIuZ2l0aHViLmlvL2dwdXdlYgorCitb
CisgICAgQ29uZGl0aW9uYWw9V0VCR1BVLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCitd
IGVudW0gR1BVRXJyb3JGaWx0ZXIgeworICAgICJub25lIiwKKyAgICAib3V0LW9mLW1lbW9yeSIs
CisgICAgInZhbGlkYXRpb24iCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvR1BVVmFsaWRhdGlvbkVycm9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWUxM2MxODg3ZWY4YjQw
NzljMDRjNWNiZWE2NmVjYTY3MzI3ZjQ4MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5pZGwKQEAgLTAsMCArMSwzNCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisvLyBodHRwczovL2dwdXdlYi5naXRodWIuaW8vZ3B1d2ViCisKK1sKKyAg
ICBDb25kaXRpb25hbD1XRUJHUFUsCisgICAgQ29uc3RydWN0b3IoRE9NU3RyaW5nIG1lc3NhZ2Up
LAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUKK10gaW50ZXJmYWNlIEdQVVZhbGlkYXRpb25FcnJvciB7CisgICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZyBtZXNzYWdlOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tUZXh0dXJlUmVmZXJlbmNlcy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTENoZWNrVGV4dHVyZVJlZmVy
ZW5jZXMuY3BwCmluZGV4IGMwMmRiODlkM2NiNmMwYTc1MWE2MjJlYjc5ZGQzNGU3YjdkNTYzZjku
LjczODZiMTA2YmI4MGQzNjdlZjMxZGQ2YjUzNTllYWI5YTU3NzkyOTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tUZXh0dXJlUmVmZXJl
bmNlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xD
aGVja1RleHR1cmVSZWZlcmVuY2VzLmNwcApAQCAtMjYsMTAgKzI2LDE1IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiV0hMU0xDaGVja1RleHR1cmVSZWZlcmVuY2VzLmgiCiAKLSNp
bmNsdWRlICJXSExTTEluZmVyVHlwZXMuaCIKLQogI2lmIEVOQUJMRShXRUJHUFUpCiAKKyNpbmNs
dWRlICJXSExTTEFycmF5UmVmZXJlbmNlVHlwZS5oIgorI2luY2x1ZGUgIldITFNMQXJyYXlUeXBl
LmgiCisjaW5jbHVkZSAiV0hMU0xJbmZlclR5cGVzLmgiCisjaW5jbHVkZSAiV0hMU0xOYXRpdmVU
eXBlRGVjbGFyYXRpb24uaCIKKyNpbmNsdWRlICJXSExTTFBvaW50ZXJUeXBlLmgiCisjaW5jbHVk
ZSAiV0hMU0xWaXNpdG9yLmgiCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIFdI
TFNMIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURl
dmljZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3Bw
CmluZGV4IGYwNTlhZDg5ZTA5ZDRmNGE3NGY4YjhlODEzZjQ0ZjVhMGE5YjllMWUuLjk0MWE0NWM5
ZDZiY2M4OGQ0OTk5Mzg2NGQ3NmJhZmQ1NmExY2Q5ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYg
RU5BQkxFKFdFQkdQVSkKIAorI2luY2x1ZGUgIkV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkdQVUJp
bmRHcm91cC5oIgogI2luY2x1ZGUgIkdQVUJpbmRHcm91cEJpbmRpbmcuaCIKICNpbmNsdWRlICJH
UFVCaW5kR3JvdXBEZXNjcmlwdG9yLmgiCkBAIC00Miw2ICs0Myw3IEBACiAjaW5jbHVkZSAiR1BV
U2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oIgogI2luY2x1ZGUgIkdQVVRleHR1cmVEZXNjcmlwdG9y
LmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0QnVmZmVyU291cmNlLmgiCisjaW5jbHVkZSAiSlNH
UFVWYWxpZGF0aW9uRXJyb3IuaCIKICNpbmNsdWRlICJKU1dlYkdQVUJ1ZmZlci5oIgogI2luY2x1
ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJXZWJHUFVCaW5kR3JvdXAuaCIKQEAgLTE4MCw2ICsx
ODIsMjEgQEAgUmVmPFdlYkdQVVF1ZXVlPiBXZWJHUFVEZXZpY2U6OmdldFF1ZXVlKCkgY29uc3QK
ICAgICByZXR1cm4gbWFrZVJlZigqbV9xdWV1ZS5nZXQoKSk7CiB9CiAKK3ZvaWQgV2ViR1BVRGV2
aWNlOjpwdXNoRXJyb3JTY29wZShHUFVFcnJvckZpbHRlciBmaWx0ZXIpCit7CisgICAgbV9kZXZp
Y2UtPnB1c2hFcnJvclNjb3BlKGZpbHRlcik7Cit9CisKK3ZvaWQgV2ViR1BVRGV2aWNlOjpwb3BF
cnJvclNjb3BlKEVycm9yUHJvbWlzZSYmIHByb21pc2UpCit7CisgICAgbV9kZXZpY2UtPnBvcEVy
cm9yU2NvcGUoW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSAoUmVmUHRyPEdQVUVycm9yPiYm
IGVycm9yLCBib29sIGlzU3VjY2VzcykgbXV0YWJsZSB7CisgICAgICAgIGlmIChpc1N1Y2Nlc3Mp
CisgICAgICAgICAgICBwcm9taXNlLnJlc29sdmUoZXJyb3IuZ2V0KCkpOworICAgICAgICBlbHNl
CisgICAgICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBPcGVyYXRpb25FcnJvciwg
IkdQVURldmljZTo6cG9wRXJyb3JTY29wZSgpOiBObyBlcnJvciBzY29wZSBleGlzdHMhIl9zIH0p
OworICAgIH0pOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFC
TEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2Vi
R1BVRGV2aWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2Uu
aAppbmRleCAyMWQzNzFhMDNhNzUxNTQ0YTkxZDdjOGExYWQwY2Q2MjE1OTVhYTFiLi4zNWM4ZDEx
NjA2YjEyNWY4ODU2YTA3ZDZmMjI2ZmYxODhjNmM2MDkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaApAQCAtMjgsNiArMjgsOCBAQAogI2lmIEVOQUJM
RShXRUJHUFUpCiAKICNpbmNsdWRlICJHUFVEZXZpY2UuaCIKKyNpbmNsdWRlICJHUFVFcnJvci5o
IgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiV2ViR1BVQWRh
cHRlci5oIgogI2luY2x1ZGUgIldlYkdQVVF1ZXVlLmgiCiAjaW5jbHVkZSAiV2ViR1BVU3dhcENo
YWluRGVzY3JpcHRvci5oIgpAQCAtNjYsNiArNjgsMTAgQEAgc3RydWN0IFdlYkdQVVBpcGVsaW5l
TGF5b3V0RGVzY3JpcHRvcjsKIHN0cnVjdCBXZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I7
CiBzdHJ1Y3QgV2ViR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvcjsKIAorZW51bSBjbGFzcyBHUFVF
cnJvckZpbHRlcjsKKwordXNpbmcgRXJyb3JQcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElE
TE51bGxhYmxlPElETEludGVyZmFjZTxHUFVFcnJvcj4+PjsKKwogY2xhc3MgV2ViR1BVRGV2aWNl
IDogcHVibGljIFJlZkNvdW50ZWQ8V2ViR1BVRGV2aWNlPiB7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFJlZlB0cjxXZWJHUFVEZXZpY2U+IHRyeUNyZWF0ZShSZWY8Y29uc3QgV2ViR1BVQWRhcHRlcj4m
Jik7CkBAIC05MSw2ICs5Nyw5IEBAIHB1YmxpYzoKIAogICAgIFJlZjxXZWJHUFVRdWV1ZT4gZ2V0
UXVldWUoKSBjb25zdDsKIAorICAgIHZvaWQgcHVzaEVycm9yU2NvcGUoR1BVRXJyb3JGaWx0ZXIp
OworICAgIHZvaWQgcG9wRXJyb3JTY29wZShFcnJvclByb21pc2UmJik7CisKIHByaXZhdGU6CiAg
ICAgV2ViR1BVRGV2aWNlKFJlZjxjb25zdCBXZWJHUFVBZGFwdGVyPiYmLCBSZWY8R1BVRGV2aWNl
PiYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
RGV2aWNlRXJyb3JTY29wZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2Vi
R1BVRGV2aWNlRXJyb3JTY29wZXMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc5MzExMDBkYjU0NTEzODc5NDQ3
NTZjMGZiMDFmZDg4MmEzMDFhODEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5jcHAKQEAgLTAsMCArMSw0NyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJHUFVEZXZp
Y2VFcnJvclNjb3Blcy5oIgorCisjaWYgRU5BQkxFKFdFQkdQVSkKKworI2luY2x1ZGUgIkdQVUVy
cm9yRmlsdGVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBXZWJHUFVEZXZpY2VF
cnJvclNjb3Blczo6cHVzaEVycm9yU2NvcGUoV2ViR1BVRGV2aWNlJiBkZXZpY2UsIEdQVUVycm9y
RmlsdGVyIGZpbHRlcikKK3sKKyAgICBkZXZpY2UucHVzaEVycm9yU2NvcGUoZmlsdGVyKTsKK30K
Kwordm9pZCBXZWJHUFVEZXZpY2VFcnJvclNjb3Blczo6cG9wRXJyb3JTY29wZShXZWJHUFVEZXZp
Y2UmIGRldmljZSwgRXJyb3JQcm9taXNlJiYgcHJvbWlzZSkKK3sKKyAgICBkZXZpY2UucG9wRXJy
b3JTY29wZShXVEZNb3ZlKHByb21pc2UpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKFdFQkdQVSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2NvcGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYyMGYw
N2FiZTM5OGJmOWE3MzRkNDQ2YWY1ODk0NTNjMGRiMGMxMDkKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5oCkBA
IC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShX
RUJHUFUpCisKKyNpbmNsdWRlICJXZWJHUFVEZXZpY2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitlbnVtIGNsYXNzIEdQVUVycm9yRmlsdGVyOworCitjbGFzcyBXZWJHUFVEZXZpY2VFcnJv
clNjb3BlcyB7CitwdWJsaWM6CisgICAgc3RhdGljIHZvaWQgcHVzaEVycm9yU2NvcGUoV2ViR1BV
RGV2aWNlJiwgR1BVRXJyb3JGaWx0ZXIpOworICAgIHN0YXRpYyB2b2lkIHBvcEVycm9yU2NvcGUo
V2ViR1BVRGV2aWNlJiwgRXJyb3JQcm9taXNlJiYpOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdQVSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2NvcGVzLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2NvcGVzLmlkbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40ZWVmZmYxZDk4Yzk0NmExMTRmZWZjNmI0ZjlmNmU1OTAxNzYzY2EzCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JT
Y29wZXMuaWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworLy8gaHR0cHM6Ly9ncHV3ZWIu
Z2l0aHViLmlvL2dwdXdlYgorCit0eXBlZGVmIEdQVVZhbGlkYXRpb25FcnJvciBHUFVFcnJvcjsK
KworWworICAgIENvbmRpdGlvbmFsPVdFQkdQVSwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQ
VQorXSBwYXJ0aWFsIGludGVyZmFjZSBXZWJHUFVEZXZpY2UgeworICAgIHZvaWQgcHVzaEVycm9y
U2NvcGUoR1BVRXJyb3JGaWx0ZXIgZmlsdGVyKTsKKyAgICBQcm9taXNlPEdQVUVycm9yPz4gcG9w
RXJyb3JTY29wZSgpOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggZDgwZjAyZTkxN2MzODQyYjViOTgz
Nzc5ZDlmN2ZiNzkwODUwZGQyOS4uZTE4OWUxNDMwMDU5ODY3M2Q5MGViYzliZGI4MTRmNTY0Mzkx
MTEyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTM2Nyw2ICszNjcsNyBAQCBNb2R1bGVzL3dlYmdwdS9X
ZWJHUFVDb21wdXRlUGFzc0VuY29kZXIuY3BwCiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21wdXRl
UGlwZWxpbmUuY3BwCiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlw
dG9yLmNwcAogTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNwcAorTW9kdWxlcy93ZWJncHUv
V2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuY3BwCiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVRdWV1ZS5j
cHAKIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmNwcAogTW9kdWxlcy93ZWJn
cHUvV2ViR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmNwcApAQCAtMTgyNyw2ICsxODI4LDgg
QEAgcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VHcmFwaGljLmNwcAogcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9TcG90TGlnaHRTb3VyY2UuY3BwCiAKIHBsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVEZXZpY2UuY3BwCitwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3IuY3BwCitw
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVmFsaWRhdGlvbkVycm9yLmNwcAogcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVVBpcGVsaW5lTGF5b3V0LmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQ
VVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyLmNwcAogCkBAIC0yNzU2LDYgKzI3NTksNyBAQCBKU0dQ
VUJ1ZmZlckRlc2NyaXB0b3IuY3BwCiBKU0dQVUJ1ZmZlclVzYWdlLmNwcAogSlNHUFVDb21wYXJl
RnVuY3Rpb24uY3BwCiBKU0dQVURlcHRoU3RlbmNpbFN0YXRlRGVzY3JpcHRvci5jcHAKK0pTR1BV
RXJyb3JGaWx0ZXIuY3BwCiBKU0dQVUV4dGVudDNELmNwcAogSlNHUFVMb2FkT3AuY3BwCiBKU0dQ
VU9yaWdpbjNELmNwcApAQCAtMjc2Niw2ICsyNzcwLDcgQEAgSlNHUFVTdG9yZU9wLmNwcAogSlNH
UFVUZXh0dXJlRGVzY3JpcHRvci5jcHAKIEpTR1BVVGV4dHVyZUZvcm1hdC5jcHAKIEpTR1BVVGV4
dHVyZVVzYWdlLmNwcAorSlNHUFVWYWxpZGF0aW9uRXJyb3IuY3BwCiBKU0dQVVZlcnRleEF0dHJp
YnV0ZURlc2NyaXB0b3IuY3BwCiBKU0dQVVZlcnRleEJ1ZmZlckRlc2NyaXB0b3IuY3BwCiBKU0dQ
VVZlcnRleElucHV0RGVzY3JpcHRvci5jcHAKQEAgLTMzMTgsNiArMzMyMyw3IEBAIEpTV2ViR1BV
Q29tcHV0ZVBhc3NFbmNvZGVyLmNwcAogSlNXZWJHUFVDb21wdXRlUGlwZWxpbmUuY3BwCiBKU1dl
YkdQVUNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IuY3BwCiBKU1dlYkdQVURldmljZS5jcHAKK0pT
V2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuY3BwCiBKU1dlYkdQVVF1ZXVlLmNwcAogSlNXZWJHUFVQ
aXBlbGluZURlc2NyaXB0b3JCYXNlLmNwcAogSlNXZWJHUFVQaXBlbGluZUxheW91dC5jcHAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA5YThlZjkzMDBkMGYwYTQxNTcxNzhkN2Y5ODkwODJiZWRkMGJlNmQ0Li5jMDVkZWY2YmU3YTI4
YzRlZWUzODI1ZTQ0Y2U2ZjMzMGFhNzZmYzRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNDAxOCw2ICsxNDAxOCwxNiBAQAog
CQlEMDkzRDIyNTIxNzk1MUQ0MDAzMjkyMTcgLyogR1BVQ2FudmFzQ29udGV4dC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBHUFVDYW52YXNDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUQwOTNEMjI3MjE3OTUxRDQwMDMyOTIxNyAvKiBHUFVDYW52YXNDb250ZXh0LmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBH
UFVDYW52YXNDb250ZXh0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDA5M0Qy
MjkyMTc5NTQxNjAwMzI5MjE3IC8qIEdQVUNhbnZhc0NvbnRleHQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gR1BVQ2FudmFzQ29udGV4dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUQwOUFGQUZGMjJEMDJFNTMwMEM0NTM4QyAvKiBXZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlEMDlBRkIwMTIyRDAyRTUzMDBDNDUzOEMgLyogV2ViR1BVRGV2aWNlRXJy
b3JTY29wZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDlBRkIwMjIyRDA0NzE5MDBDNDUz
OEMgLyogR1BVRXJyb3JGaWx0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
R1BVRXJyb3JGaWx0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA5QUZCMDMy
MkQ0MENDNTAwQzQ1MzhDIC8qIFdlYkdQVURldmljZUVycm9yU2NvcGVzLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJH
UFVEZXZpY2VFcnJvclNjb3Blcy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQw
OUFGQjA2MjJENDE3QjMwMEM0NTM4QyAvKiBHUFVFcnJvckZpbHRlci5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVRXJy
b3JGaWx0ZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDlBRkIwNzIyRDUz
OTFCMDBDNDUzOEMgLyogR1BVRXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVRXJyb3IuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA5QUZCMDgyMkQ1NTQyODAwQzQ1MzhDIC8qIEdQ
VUVycm9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdQVUVycm9yLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRDA5QUZCMEMyMkQ1NUU5MDAwQzQ1MzhDIC8qIEdQVVZhbGlkYXRp
b25FcnJvci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gR1BVVmFsaWRhdGlvbkVycm9yLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJRDA5QUZCMEQyMkQ1NUYzQjAwQzQ1MzhDIC8qIEdQVVZhbGlkYXRpb25F
cnJvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVWYWxpZGF0aW9uRXJyb3IuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRDA5QUZCMEUyMkQ1NUZGNTAwQzQ1MzhDIC8qIEdQVVZhbGlkYXRp
b25FcnJvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHUFVWYWxpZGF0aW9uRXJyb3IuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMEEyMEQ1NDIwOTJBMEE2MDBFMEMyNTkgLyog
V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFTVEMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFTVEMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRDBBMjBENTYyMDkyQTBBNjAwRTBDMjU5IC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1
cmVBU1RDLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkdMQ29t
cHJlc3NlZFRleHR1cmVBU1RDLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDBB
M0E3MzAxNDA1QTM5ODAwRkI4RUQzIC8qIFJlc291cmNlTG9hZGVyT3B0aW9ucy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZXNvdXJjZUxvYWRlck9wdGlvbnMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4MzIwLDYgKzE4MzMwLDkgQEAKIAkJCQlEMDNDODQ5
QTIxRkZDNjY3MDAwMjIyN0YgLyogR1BVRGVwdGhTdGVuY2lsU3RhdGVEZXNjcmlwdG9yLmggKi8s
CiAJCQkJMzEyRkY4QkYyMUE0QzJGMTAwRUIxOTlEIC8qIEdQVURldmljZS5jcHAgKi8sCiAJCQkJ
MzEyRkY4QkUyMUE0QzJGMTAwRUIxOTlEIC8qIEdQVURldmljZS5oICovLAorCQkJCUQwOUFGQjA4
MjJENTU0MjgwMEM0NTM4QyAvKiBHUFVFcnJvci5jcHAgKi8sCisJCQkJRDA5QUZCMDcyMkQ1Mzkx
QjAwQzQ1MzhDIC8qIEdQVUVycm9yLmggKi8sCisJCQkJRDA5QUZCMDIyMkQwNDcxOTAwQzQ1MzhD
IC8qIEdQVUVycm9yRmlsdGVyLmggKi8sCiAJCQkJRDAyNkY0N0QyMjBBMkFDNjAwQUM1RjQ5IC8q
IEdQVUV4dGVudDNELmggKi8sCiAJCQkJRDBGNzU1OUYyMjAzQkExNDAwMTE4MDU4IC8qIEdQVUxp
bWl0cy5oICovLAogCQkJCUQwOEFBMDJGMjIwRDBCRDUwMDU4QzUwMiAvKiBHUFVMb2FkT3AuaCAq
LywKQEAgLTE4MzQ4LDYgKzE4MzYxLDggQEAKIAkJCQkzMTJGRjhDMzIxQTRDMkYzMDBFQjE5OUQg
LyogR1BVVGV4dHVyZUZvcm1hdC5oICovLAogCQkJCUQwMjZGNDg1MjIwQTQ3NzIwMEFDNUY0OSAv
KiBHUFVUZXh0dXJlVXNhZ2UuaCAqLywKIAkJCQlEMDZFRjU1MjIyMEJBMjZBMDAxODcyNEUgLyog
R1BVVXRpbHMuaCAqLywKKwkJCQlEMDlBRkIwRTIyRDU1RkY1MDBDNDUzOEMgLyogR1BVVmFsaWRh
dGlvbkVycm9yLmNwcCAqLywKKwkJCQlEMDlBRkIwRDIyRDU1RjNCMDBDNDUzOEMgLyogR1BVVmFs
aWRhdGlvbkVycm9yLmggKi8sCiAJCQkJRDBEODY0OUIyMUJBMUMyRDAwM0M5ODNDIC8qIEdQVVZl
cnRleEF0dHJpYnV0ZURlc2NyaXB0b3IuaCAqLywKIAkJCQlEMEQ4NjQ5QzIxQkExQ0U4MDAzQzk4
M0MgLyogR1BVVmVydGV4QnVmZmVyRGVzY3JpcHRvci5oICovLAogCQkJCUQwRDg2NDk5MjFCQTFC
MUYwMDNDOTgzQyAvKiBHUFVWZXJ0ZXhJbnB1dERlc2NyaXB0b3IuaCAqLywKQEAgLTI1OTM3LDYg
KzI1OTUyLDcgQEAKIAkJCQlEMEI1NkVBRTIyNEVDRTIwMDA2MTA0OUMgLyogR1BVQ29sb3JXcml0
ZUJpdHMuaWRsICovLAogCQkJCUQwM0M4NDlFMjFGRkNGMDAwMDAyMjI3RiAvKiBHUFVDb21wYXJl
RnVuY3Rpb24uaWRsICovLAogCQkJCUQwM0M4NEEyMjFGRkQ3MjMwMDAyMjI3RiAvKiBHUFVEZXB0
aFN0ZW5jaWxTdGF0ZURlc2NyaXB0b3IuaWRsICovLAorCQkJCUQwOUFGQjA2MjJENDE3QjMwMEM0
NTM4QyAvKiBHUFVFcnJvckZpbHRlci5pZGwgKi8sCiAJCQkJRDAyNkY0ODAyMjBBMkI3MDAwQUM1
RjQ5IC8qIEdQVUV4dGVudDNELmlkbCAqLywKIAkJCQlEMDhBQTAyRDIyMEQwQjlDMDA1OEM1MDIg
LyogR1BVTG9hZE9wLmlkbCAqLywKIAkJCQlEMENDQTk0OTIyMjk5Rjk3MDA2OTc5QjYgLyogR1BV
T3JpZ2luM0QuaCAqLywKQEAgLTI1OTQ5LDYgKzI1OTY1LDcgQEAKIAkJCQlEMDI2RjQ4QjIyMEE1
QjBCMDBBQzVGNDkgLyogR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsICovLAogCQkJCUQwRUFDRkFF
MjE5RTMwRkQwMDBGQTc1QyAvKiBHUFVUZXh0dXJlRm9ybWF0LmlkbCAqLywKIAkJCQlEMDI2RjQ4
MzIyMEE0NzJGMDBBQzVGNDkgLyogR1BVVGV4dHVyZVVzYWdlLmlkbCAqLywKKwkJCQlEMDlBRkIw
QzIyRDU1RTkwMDBDNDUzOEMgLyogR1BVVmFsaWRhdGlvbkVycm9yLmlkbCAqLywKIAkJCQlEMEQ4
NjQ5NjIxQkExOEY0MDAzQzk4M0MgLyogR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRvci5pZGwg
Ki8sCiAJCQkJRDBEODY0OTgyMUJBMTlBNzAwM0M5ODNDIC8qIEdQVVZlcnRleEJ1ZmZlckRlc2Ny
aXB0b3IuaWRsICovLAogCQkJCUQwRDg2NDk0MjFCQTE3M0QwMDNDOTgzQyAvKiBHUFVWZXJ0ZXhJ
bnB1dERlc2NyaXB0b3IuaWRsICovLApAQCAtMjU5OTUsNiArMjYwMTIsOSBAQAogCQkJCUQwMEY1
OTUzMjE3MDFEOEMwMDBENzFEQiAvKiBXZWJHUFVEZXZpY2UuY3BwICovLAogCQkJCUQwMEY1OTUy
MjE3MDFEOEMwMDBENzFEQiAvKiBXZWJHUFVEZXZpY2UuaCAqLywKIAkJCQlEMDBGNTk1NDIxNzAx
RDhDMDAwRDcxREIgLyogV2ViR1BVRGV2aWNlLmlkbCAqLywKKwkJCQlEMDlBRkIwMTIyRDAyRTUz
MDBDNDUzOEMgLyogV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuY3BwICovLAorCQkJCUQwOUFGQUZG
MjJEMDJFNTMwMEM0NTM4QyAvKiBXZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5oICovLAorCQkJCUQw
OUFGQjAzMjJENDBDQzUwMEM0NTM4QyAvKiBXZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5pZGwgKi8s
CiAJCQkJRDBDNDE5RjAyMTgzRUIzMTAwOUVDMURFIC8qIFdlYkdQVVBpcGVsaW5lRGVzY3JpcHRv
ckJhc2UuaCAqLywKIAkJCQlEMEM0MTlGMTIxODNFQjMxMDA5RUMxREUgLyogV2ViR1BVUGlwZWxp
bmVEZXNjcmlwdG9yQmFzZS5pZGwgKi8sCiAJCQkJRDA1QTk5RTUyMUM5QkYyQzAwMDMyQjc1IC8q
IFdlYkdQVVBpcGVsaW5lTGF5b3V0LmNwcCAqLywKQEAgLTI4NDAwLDYgKzI4NDIwLDcgQEAKIAkJ
CQlBNUE3QUE0MzEzMkYwRUNDMDBEM0EzQzIgLyogQXV0b2NhcGl0YWxpemVUeXBlcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJN0MxODQzRkUxQzhCNzI4MzAwMkVCOTczIC8qIEF1dG9maWxsLmggaW4g
SGVhZGVycyAqLywKIAkJCQk3QzFFOTcyODFBOUY5ODM0MDA3QkYwRkIgLyogQXV0b0ZpbGxCdXR0
b25FbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk1Q0NDMjcwOTIyRDU0ODNBMDA5NjRGQTAg
LyogQXV0b2ZpbGxFbGVtZW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzlENDY3MDUxRTYwQzQ2
NTAwODE5NUZCIC8qIEF1dG9wbGF5RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ1ODMwRDRF
MTY3OUI0RjgwMEFDRjhDMyAvKiBBdXRvc2Nyb2xsQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQThDRkYwNEUwQTE1NEYwOTAwMEE0MjM0IC8qIEF1dG9UYWJsZUxheW91dC5oIGluIEhl
YWRlcnMgKi8sCkBAIC0zMDA0NCw3ICszMDA2NSw2IEBACiAJCQkJN0M3NzYxQUExRjg3OEFBNTAw
Rjg2OUZEIC8qIEpTSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0U2V0dGluZ3MuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE3Nzk3OTI5MEQ2QjlFNjQwMDM4NTFCOSAvKiBKU0ltYWdlRGF0YS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJN0MxOTNDMDExRjVFMTEwNTAwODhGM0U2IC8qIEpTSW1hZ2VTbW9v
dGhpbmdRdWFsaXR5LmggaW4gSGVhZGVycyAqLywKLQkJCQk1Q0NDMjcwOTIyRDU0ODNBMDA5NjRG
QTAgLyogQXV0b2ZpbGxFbGVtZW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg2NjI5RDMwOURB
MkI0ODAwOTYzM0E2IC8qIEpTSW5wdXRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTE3NUNF
NUUyMUUyODFFRDAwREYyQzI4IC8qIEpTSW5zcGVjdG9yQXVkaXRBY2Nlc3NpYmlsaXR5T2JqZWN0
LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MTc1Q0U1QzIxRTI4MUVEMDBERjJDMjggLyogSlNJbnNw
ZWN0b3JBdWRpdERPTU9iamVjdC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKaW5kZXggZjViNTMyMmM3YjkwMzVm
NzNhNDI4MTZhMjBjYmJhMTBlN2ZkN2ZlNC4uZTNmZDcyYmE0NWY3NTk0NTMyMzM1NmE5NGY0ZWEx
MDAxYzQ4YmE1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29y
ZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaApAQCAtMTA2LDYgKzEwNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBtYWNybyhHUFVUZXh0dXJlKSBcCiAgICAgbWFjcm8oR1BVVGV4dHVyZVVzYWdlKSBcCiAgICAg
bWFjcm8oR1BVVGV4dHVyZVZpZXcpIFwKKyAgICBtYWNybyhHUFVWYWxpZGF0aW9uRXJyb3IpIFwK
ICAgICBtYWNybyhIVE1MQXR0YWNobWVudEVsZW1lbnQpIFwKICAgICBtYWNybyhIVE1MQXVkaW9F
bGVtZW50KSBcCiAgICAgbWFjcm8oSFRNTERhdGFMaXN0RWxlbWVudCkgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUJ1ZmZlci5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUJ1ZmZlci5oCmluZGV4IDQyNTA4YmM3
NjE3MDViZjFhMGU2NjExNzkxZjVlYTY3MDk3YjU1MDUuLjhkYTA0MzIzNjlhNzE0NzU0OWVkODVj
NTNiZjczNDM0MTQ2YWU4ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvR1BVQnVmZmVyLmgKQEAgLTEwOCw3ICsxMDgsNyBAQCBwcml2YXRlOgogICAgIH07
CiAKICAgICBHUFVCdWZmZXIoUGxhdGZvcm1CdWZmZXJTbWFydFB0ciYmLCBSZWY8R1BVRGV2aWNl
PiYmLCBzaXplX3QsIE9wdGlvblNldDxHUFVCdWZmZXJVc2FnZTo6RmxhZ3M+LCBib29sKTsKLSAg
ICBzdGF0aWMgYm9vbCB2YWxpZGF0ZUJ1ZmZlclVzYWdlKGNvbnN0IEdQVURldmljZSYsIE9wdGlv
blNldDxHUFVCdWZmZXJVc2FnZTo6RmxhZ3M+KTsKKyAgICBzdGF0aWMgYm9vbCB2YWxpZGF0ZUJ1
ZmZlclVzYWdlKEdQVURldmljZSYsIE9wdGlvblNldDxHUFVCdWZmZXJVc2FnZTo6RmxhZ3M+KTsK
IAogICAgIEpTQzo6QXJyYXlCdWZmZXIqIHN0YWdpbmdCdWZmZXJGb3JSZWFkKCk7CiAgICAgSlND
OjpBcnJheUJ1ZmZlciogc3RhZ2luZ0J1ZmZlckZvcldyaXRlKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwCmluZGV4IGE2NDlhNjA3
MTkxOWI2ZDVjMjQxYTcyZjI2ODgyNWEwZTY1MWU3YWQuLjk3YzcyMTM2MmJmYzA4ZjE4MjJmZjdh
YzU0OWM1Yjc0NTMwNDBiNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwCkBAIC00Niw2ICs0Niw3IEBACiAjaW5jbHVkZSAiR1BV
U3dhcENoYWluRGVzY3JpcHRvci5oIgogI2luY2x1ZGUgIkdQVVRleHR1cmUuaCIKICNpbmNsdWRl
ICJHUFVUZXh0dXJlRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRl
IDx3dGYvT3B0aW9uYWwuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTA4LDYgKzEwOSwz
OCBAQCB2b2lkIEdQVURldmljZTo6c2V0U3dhcENoYWluKFJlZlB0cjxHUFVTd2FwQ2hhaW4+JiYg
c3dhcENoYWluKQogICAgIG1fc3dhcENoYWluID0gV1RGTW92ZShzd2FwQ2hhaW4pOwogfQogCit2
b2lkIEdQVURldmljZTo6cHVzaEVycm9yU2NvcGUoR1BVRXJyb3JGaWx0ZXIgZmlsdGVyKQorewor
ICAgIG1fZXJyb3JTY29wZXMuYXBwZW5kKEVycm9yU2NvcGUgeyBmaWx0ZXIsIG51bGxwdHIgfSk7
Cit9CisKK3ZvaWQgR1BVRGV2aWNlOjpwb3BFcnJvclNjb3BlKEVycm9yQ2FsbGJhY2smJiBjYWxs
YmFjaykKK3sKKyAgICBpZiAoIW1fcGxhdGZvcm1EZXZpY2UgfHwgbV9lcnJvclNjb3Blcy5pc0Vt
cHR5KCkpCisgICAgICAgIGNhbGxiYWNrKG51bGxwdHIsIGZhbHNlKTsKKyAgICBlbHNlIHsKKyAg
ICAgICAgYXV0byBzY29wZSA9IG1fZXJyb3JTY29wZXMudGFrZUxhc3QoKTsKKyAgICAgICAgY2Fs
bGJhY2soc2NvcGUuZmlsdGVyID09IEdQVUVycm9yRmlsdGVyOjpOb25lID8gbnVsbHB0ciA6IHNj
b3BlLmVycm9yLCB0cnVlKTsKKyAgICB9Cit9CisKK3ZvaWQgR1BVRGV2aWNlOjpyZWdpc3RlckVy
cm9yKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgR1BVRXJyb3JGaWx0ZXIgZmlsdGVyKQoreworICAg
IGF1dG8gaXRlcmF0b3IgPSBzdGQ6OmZpbmRfaWYobV9lcnJvclNjb3Blcy5yYmVnaW4oKSwgbV9l
cnJvclNjb3Blcy5yZW5kKCksIFtmaWx0ZXJdKGNvbnN0IEVycm9yU2NvcGUmIHNjb3BlKSB7Cisg
ICAgICAgIHJldHVybiBzY29wZS5maWx0ZXIgPT0gR1BVRXJyb3JGaWx0ZXI6Ok5vbmUgfHwgc2Nv
cGUuZmlsdGVyID09IGZpbHRlcjsKKyAgICB9KTsKKworICAgIC8vIEZJWE1FOiBVbmNhcHR1cmVk
IGVycm9ycyBuZWVkIHRvIGJlIGZpcmVkIGFzIEdQVVVuY2FwdHVyZWRFcnJvckV2ZW50cy4KKyAg
ICBpZiAoaXRlcmF0b3IgPT0gbV9lcnJvclNjb3Blcy5yZW5kKCkpCisgICAgICAgIHJldHVybjsK
KworICAgIC8vIElmIHRoZSBzY29wZSBoYXMgYWxyZWFkeSBjYXB0dXJlZCBhbiBlcnJvciwgaWdu
b3JlIHRoaXMgbmV3IG9uZS4KKyAgICBpZiAoaXRlcmF0b3ItPmVycm9yKQorICAgICAgICByZXR1
cm47CisKKyAgICBpdGVyYXRvci0+ZXJyb3IgPSBjcmVhdGVFcnJvcihmaWx0ZXIsIG1lc3NhZ2Up
OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCR1BV
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURl
dmljZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5o
CmluZGV4IGE3MTM5NTQxZDBiZmQxNGRiMjhmYTk1OWZmYjAxOTQzMGY4MDNiYmUuLjQ0YzJmMDFh
ZmUwYzhkNzFhOTcxOTUwZjhiZTI1MDgwYmFjNzRiMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmgKQEAgLTI3LDExICsyNywxOCBAQAog
CiAjaWYgRU5BQkxFKFdFQkdQVSkKIAorI2luY2x1ZGUgIkdQVUVycm9yLmgiCisjaW5jbHVkZSAi
R1BVRXJyb3JGaWx0ZXIuaCIKICNpbmNsdWRlICJHUFVRdWV1ZS5oIgogI2luY2x1ZGUgIkdQVVN3
YXBDaGFpbi5oIgorI2luY2x1ZGUgIkdQVVZhbGlkYXRpb25FcnJvci5oIgorI2luY2x1ZGUgPHd0
Zi9GdW5jdGlvbi5oPgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgogCiBPQkpDX1BST1RPQ09MKE1UTERldmljZSk7CiAKQEAgLTU3LDcgKzY0LDcg
QEAgc3RydWN0IEdQVVNhbXBsZXJEZXNjcmlwdG9yOwogc3RydWN0IEdQVVNoYWRlck1vZHVsZURl
c2NyaXB0b3I7CiBzdHJ1Y3QgR1BVU3dhcENoYWluRGVzY3JpcHRvcjsKIHN0cnVjdCBHUFVUZXh0
dXJlRGVzY3JpcHRvcjsKLSAgICAKKwogdXNpbmcgUGxhdGZvcm1EZXZpY2UgPSBNVExEZXZpY2U7
CiB1c2luZyBQbGF0Zm9ybURldmljZVNtYXJ0UHRyID0gUmV0YWluUHRyPE1UTERldmljZT47CiAK
QEAgLTg0LDEyICs5MSwyNSBAQCBwdWJsaWM6CiAgICAgR1BVU3dhcENoYWluKiBzd2FwQ2hhaW4o
KSBjb25zdCB7IHJldHVybiBtX3N3YXBDaGFpbi5nZXQoKTsgfQogICAgIHZvaWQgc2V0U3dhcENo
YWluKFJlZlB0cjxHUFVTd2FwQ2hhaW4+JiYpOwogCisgICAgdm9pZCBwdXNoRXJyb3JTY29wZShH
UFVFcnJvckZpbHRlcik7CisKKyAgICB1c2luZyBFcnJvckNhbGxiYWNrID0gV1RGOjpGdW5jdGlv
bjx2b2lkKFJlZlB0cjxHUFVFcnJvcj4mJiwgYm9vbCk+OworICAgIHZvaWQgcG9wRXJyb3JTY29w
ZShFcnJvckNhbGxiYWNrJiYpOworICAgIHZvaWQgcmVnaXN0ZXJFcnJvcihjb25zdCBTdHJpbmcm
LCBHUFVFcnJvckZpbHRlciA9IEdQVUVycm9yRmlsdGVyOjpWYWxpZGF0aW9uKTsKKwogcHJpdmF0
ZToKKyAgICBzdHJ1Y3QgRXJyb3JTY29wZSB7CisgICAgICAgIEdQVUVycm9yRmlsdGVyIGZpbHRl
cjsKKyAgICAgICAgUmVmUHRyPEdQVUVycm9yPiBlcnJvcjsKKyAgICB9OworCiAgICAgZXhwbGlj
aXQgR1BVRGV2aWNlKFBsYXRmb3JtRGV2aWNlU21hcnRQdHImJik7CiAKICAgICBQbGF0Zm9ybURl
dmljZVNtYXJ0UHRyIG1fcGxhdGZvcm1EZXZpY2U7CiAgICAgbXV0YWJsZSBSZWZQdHI8R1BVUXVl
dWU+IG1fcXVldWU7CiAgICAgUmVmUHRyPEdQVVN3YXBDaGFpbj4gbV9zd2FwQ2hhaW47CisKKyAg
ICBWZWN0b3I8RXJyb3JTY29wZT4gbV9lcnJvclNjb3BlczsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9HUFVFcnJvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
RXJyb3IuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlMDU1NWI4M2ZkMzI2YmMyYjZiMmU3ZWE4NDkyZDU3MWFi
NTllNGUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVRXJyb3IuY3BwCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiR1BVRXJyb3IuaCIKKworI2lmIEVOQUJMRShXRUJHUFUp
CisKKyNpbmNsdWRlICJHUFVFcnJvckZpbHRlci5oIgorI2luY2x1ZGUgIkdQVVZhbGlkYXRpb25F
cnJvci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZlB0cjxHUFVFcnJvcj4gY3JlYXRl
RXJyb3IoR1BVRXJyb3JGaWx0ZXIgZmlsdGVyLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCit7Cisg
ICAgc3dpdGNoIChmaWx0ZXIpIHsKKyAgICBjYXNlIEdQVUVycm9yRmlsdGVyOjpWYWxpZGF0aW9u
OgorICAgICAgICByZXR1cm4gR1BVVmFsaWRhdGlvbkVycm9yOjpjcmVhdGUobWVzc2FnZSk7Cisg
ICAgZGVmYXVsdDogeworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisgICAgfQorICAgIH0KK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKFdFQkdQVSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0dQVUVycm9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWViZDYyMTMzNjY0YjAzMjc1Yjhl
MTVlOGI1NTdjNTUyNGIzYmUzYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvci5oCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJHUFUpCisKKyNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgR1BVVmFsaWRhdGlvbkVycm9yOworCitlbnVtIGNsYXNzIEdQVUVy
cm9yRmlsdGVyOworCisvLyBGSVhNRTogQWRkIEdQVU91dE9mTWVtb3J5RXJyb3IuCit1c2luZyBH
UFVFcnJvciA9IEdQVVZhbGlkYXRpb25FcnJvcjsKKworUmVmUHRyPEdQVUVycm9yPiBjcmVhdGVF
cnJvcihHUFVFcnJvckZpbHRlciwgY29uc3QgU3RyaW5nJik7CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvR1BVRXJyb3JGaWx0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9HUFVFcnJvckZpbHRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1NjlmZWYzMjcwNWQ5OWJmZWNl
YTAwODkxZmYxNjQ0YTBhNGQxNzIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3JGaWx0ZXIuaApAQCAtMCwwICsxLDQwIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCR1BVKQorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisgICAgCitlbnVtIGNsYXNzIEdQVUVycm9yRmlsdGVyIHsKKyAgICBOb25l
LAorICAgIE91dE9mTWVtb3J5LAorICAgIFZhbGlkYXRpb24sCit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVmFsaWRhdGlvbkVycm9yLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zOTdlNTQ1NDYxMzg2Y2ZmY2Q0MTA4NzdkYzM2MTRmNmRmMTgyODc5Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQ
VVZhbGlkYXRpb25FcnJvci5jcHAKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJHUFVWYWxpZGF0aW9uRXJyb3IuaCIKKworI2lmIEVO
QUJMRShXRUJHUFUpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVmPEdQVVZhbGlkYXRpb25F
cnJvcj4gR1BVVmFsaWRhdGlvbkVycm9yOjpjcmVhdGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQor
eworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEdQVVZhbGlkYXRpb25FcnJvcihtZXNzYWdlKSk7
Cit9CisKK0dQVVZhbGlkYXRpb25FcnJvcjo6R1BVVmFsaWRhdGlvbkVycm9yKGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSkKKyAgICA6IG1fbWVzc2FnZShtZXNzYWdlKQoreworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjcyMjVhYzIwN2ZjYTNiZWRiZTYxMTU1YTc1OTdhZGE1NTY3Mzg1ZTAKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
VmFsaWRhdGlvbkVycm9yLmgKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEg
b25jZQorCisjaWYgRU5BQkxFKFdFQkdQVSkKKworI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEdQVVZhbGlkYXRpb25FcnJvciA6IHB1Ymxp
YyBSZWZDb3VudGVkPEdQVVZhbGlkYXRpb25FcnJvcj4geworcHVibGljOgorICAgIHN0YXRpYyBS
ZWY8R1BVVmFsaWRhdGlvbkVycm9yPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKTsKKwor
ICAgIFN0cmluZyBtZXNzYWdlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNzYWdlOyB9CisKK3ByaXZh
dGU6CisgICAgZXhwbGljaXQgR1BVVmFsaWRhdGlvbkVycm9yKGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSk7CisKKyAgICBTdHJpbmcgbV9tZXNzYWdlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdQVSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVCdWZmZXJNZXRhbC5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVCdWZmZXJNZXRhbC5tbQppbmRl
eCA1OWEwN2ZmOWNlYjdkOGVhNTJkM2NiNmNkMWFjM2M3ZGY1ZmMyYTA1Li5lY2FlYTg4ZmVkNDc0
OTIxMjA0ZTIwZWU5NTJlNGI2YzFjNzQ1OWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVQnVmZmVyTWV0YWwubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVUJ1ZmZlck1ldGFsLm1tCkBA
IC00Miw3ICs0Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBjb25zdGV4cHIgYXV0
byByZWFkT25seUZsYWdzID0gT3B0aW9uU2V0PEdQVUJ1ZmZlclVzYWdlOjpGbGFncz4geyBHUFVC
dWZmZXJVc2FnZTo6RmxhZ3M6OkluZGV4LCBHUFVCdWZmZXJVc2FnZTo6RmxhZ3M6OlZlcnRleCwg
R1BVQnVmZmVyVXNhZ2U6OkZsYWdzOjpVbmlmb3JtLCBHUFVCdWZmZXJVc2FnZTo6RmxhZ3M6OlRy
YW5zZmVyU291cmNlIH07CiAKIAotYm9vbCBHUFVCdWZmZXI6OnZhbGlkYXRlQnVmZmVyVXNhZ2Uo
Y29uc3QgR1BVRGV2aWNlJiBkZXZpY2UsIE9wdGlvblNldDxHUFVCdWZmZXJVc2FnZTo6RmxhZ3M+
IHVzYWdlKQorYm9vbCBHUFVCdWZmZXI6OnZhbGlkYXRlQnVmZmVyVXNhZ2UoR1BVRGV2aWNlJiBk
ZXZpY2UsIE9wdGlvblNldDxHUFVCdWZmZXJVc2FnZTo6RmxhZ3M+IHVzYWdlKQogewogICAgIGlm
ICghZGV2aWNlLnBsYXRmb3JtRGV2aWNlKCkpIHsKICAgICAgICAgTE9HKFdlYkdQVSwgIkdQVUJ1
ZmZlcjo6dHJ5Q3JlYXRlKCk6IEludmFsaWQgR1BVRGV2aWNlISIpOwpAQCAtNTAsNyArNTAsNyBA
QCBib29sIEdQVUJ1ZmZlcjo6dmFsaWRhdGVCdWZmZXJVc2FnZShjb25zdCBHUFVEZXZpY2UmIGRl
dmljZSwgT3B0aW9uU2V0PEdQVUJ1ZmZlcgogICAgIH0KIAogICAgIGlmICh1c2FnZS5jb250YWlu
c0FsbCh7IEdQVUJ1ZmZlclVzYWdlOjpGbGFnczo6TWFwV3JpdGUsIEdQVUJ1ZmZlclVzYWdlOjpG
bGFnczo6TWFwUmVhZCB9KSkgewotICAgICAgICBMT0coV2ViR1BVLCAiR1BVQnVmZmVyOjp0cnlD
cmVhdGUoKTogQnVmZmVyIGNhbm5vdCBoYXZlIGJvdGggTUFQX1JFQUQgYW5kIE1BUF9XUklURSB1
c2FnZSEiKTsKKyAgICAgICAgZGV2aWNlLnJlZ2lzdGVyRXJyb3IoIkdQVUJ1ZmZlcjo6dHJ5Q3Jl
YXRlKCk6IEJ1ZmZlciBjYW5ub3QgaGF2ZSBib3RoIE1BUF9SRUFEIGFuZCBNQVBfV1JJVEUgdXNh
Z2UhIik7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiZmVlNjdlMTQx
OTJmOTFmOGI4MWU4MWE1ZjMwYjM4Y2VmYzViYTM4Li5jZmQ1YmJjMDMxMzliNzA5ZjBkOWJmZjMz
NDYwYjAzODIyZjdjMTNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTktMDctMDkgIEp1c3Rp
biBGYW4gIDxqdXN0aW5fZmFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR1BVXSBJbXBsZW1l
bnQgdmFsaWRhdGlvbiBlcnJvcnMgYW5kIGVycm9yIHNjb3BlcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5NjU1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgdGVzdCB0byBjb3ZlciB0aGUgY2Fz
ZXMgb3V0bGluZWQgaW4gdGhlIFdlYkdQVSBlcnJvciBoYW5kbGluZyBkZXNpZ24gZG9jLgorCisg
ICAgICAgICogd2ViZ3B1L2Vycm9yLXNjb3Blcy10ZXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViZ3B1L2Vycm9yLXNjb3Blcy10ZXN0Lmh0bWw6IEFkZGVkLgorCiAyMDE5LTA3
LTA5ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtXSExTTF0g
SW1wb3J0IGFub3RoZXIgcm91bmQgb2YgSlMgc3BlYyB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ3B1L2Vycm9yLXNjb3Blcy10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmdwdS9lcnJvci1zY29wZXMtdGVzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWQ3MzQ2
M2FmZGIxZTk4ZmY4MzZlMjY2YmRhNDVjMzRhZTI4OTQyNgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdwdS9lcnJvci1zY29wZXMtdGVzdC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw3IEBACisKK1BBU1MgQ2FwdHVyZSBhIHNpbmdsZSBHUFVWYWxpZGF0aW9uIGVycm9yLiAKK1BB
U1MgSWdub3JlIGVycm9ycyBwYXN0IHRoZSBmaXJzdC4gCitQQVNTIENhcHR1cmVkIGVycm9ycyBt
YXRjaCBlcnJvciBzY29wZSBmaWx0ZXIuIAorUEFTUyBSZWplY3QgcG9wRXJyb3JTY29wZSBpZiBu
byBzY29wZSBleGlzdHMuIAorUEFTUyBGaWx0ZXIgJ25vbmUnIHNob3VsZCBjYXB0dXJlIGJ1dCBu
b3QgcmVwb3J0IGVycm9ycy4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdwdS9lcnJv
ci1zY29wZXMtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L2Vycm9yLXNjb3Blcy10ZXN0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNmZiNWRlYWQ4MTU0NzBmODQ3YzAyYmJkOGQ5NGJlOTAxZmYxNmI5
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdwdS9lcnJvci1zY29wZXMtdGVz
dC5odG1sCkBAIC0wLDAgKzEsODkgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD11
dGYtOD4KKzx0aXRsZT5UZXN0IEVycm9yIFNjb3Blcy48L3RpdGxlPgorPGJvZHk+Cis8c2NyaXB0
IHNyYz0ianMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2xldCB0ZXN0
cyA9IHt9OworCit0ZXN0c1siQ2FwdHVyZSBhIHNpbmdsZSBHUFVWYWxpZGF0aW9uIGVycm9yLiJd
ID0gYXN5bmMgZGV2aWNlID0+IHsKKyAgICBkZXZpY2UucHVzaEVycm9yU2NvcGUoInZhbGlkYXRp
b24iKTsKKyAgICBjYXVzZUVycm9yKGRldmljZSk7CisgICAgcmV0dXJuIHBvcFZhbGlkYXRpb25F
cnJvcihkZXZpY2UpOworfTsKKwordGVzdHNbIklnbm9yZSBlcnJvcnMgcGFzdCB0aGUgZmlyc3Qu
Il0gPSBhc3luYyBkZXZpY2UgPT4geworICAgIGRldmljZS5wdXNoRXJyb3JTY29wZSgidmFsaWRh
dGlvbiIpOworICAgIGRldmljZS5wdXNoRXJyb3JTY29wZSgidmFsaWRhdGlvbiIpOworICAgIGNh
dXNlRXJyb3IoZGV2aWNlKTsKKyAgICBjYXVzZUVycm9yKGRldmljZSk7CisgICAgCisgICAgY29u
c3QgZXJyb3IgPSBhd2FpdCBkZXZpY2UucG9wRXJyb3JTY29wZSgpOworICAgIGFzc2VydEVycm9y
KGVycm9yKTsKKworICAgIHJldHVybiBwb3BOdWxsRXJyb3IoZGV2aWNlKTsKK307CisKK3Rlc3Rz
WyJDYXB0dXJlZCBlcnJvcnMgbWF0Y2ggZXJyb3Igc2NvcGUgZmlsdGVyLiJdID0gYXN5bmMgZGV2
aWNlID0+IHsKKyAgICBkZXZpY2UucHVzaEVycm9yU2NvcGUoInZhbGlkYXRpb24iKTsKKyAgICBk
ZXZpY2UucHVzaEVycm9yU2NvcGUoIm91dC1vZi1tZW1vcnkiKTsKKyAgICBjYXVzZUVycm9yKGRl
dmljZSk7CisKKyAgICBjb25zdCBzaG91bGRCZU51bGwgPSBhd2FpdCBkZXZpY2UucG9wRXJyb3JT
Y29wZSgpOworICAgIGFzc2VydE51bGwoc2hvdWxkQmVOdWxsKTsKKworICAgIHJldHVybiBwb3BW
YWxpZGF0aW9uRXJyb3IoZGV2aWNlKTsKK307CisKK3Rlc3RzWyJSZWplY3QgcG9wRXJyb3JTY29w
ZSBpZiBubyBzY29wZSBleGlzdHMuIl0gPSBhc3luYyBkZXZpY2UgPT4geworICAgIGNvbnN0IHBy
b21pc2UgPSBkZXZpY2UucG9wRXJyb3JTY29wZSgpLnRoZW4oKCkgPT4gYXNzZXJ0X3VucmVhY2hl
ZCgpLCBhc3luYyBlID0+IHsKKyAgICAgICAgYXNzZXJ0X2ZhbHNlKGUgPT09IHVuZGVmaW5lZCk7
CisgICAgICAgIC8vIFBvcCB0aGUgZXh0cmEgJ25vbmUnIHNjb3BlLgorICAgICAgICBhd2FpdCBw
b3BOdWxsRXJyb3IoZGV2aWNlKTsKKyAgICB9KTsKKyAgICAvLyAncHJvbWlzZScgc2hvdWxkIHN0
aWxsIHJlamVjdCBpZiBhIHNjb3BlIGlzIHB1c2hlZCBoZXJlLgorICAgIGRldmljZS5wdXNoRXJy
b3JTY29wZSgibm9uZSIpOworICAgIHJldHVybiBwcm9taXNlOworfTsKKwordGVzdHNbIkZpbHRl
ciAnbm9uZScgc2hvdWxkIGNhcHR1cmUgYnV0IG5vdCByZXBvcnQgZXJyb3JzLiJdID0gYXN5bmMg
ZGV2aWNlID0+IHsKKyAgICBkZXZpY2UucHVzaEVycm9yU2NvcGUoInZhbGlkYXRpb24iKTsKKyAg
ICBkZXZpY2UucHVzaEVycm9yU2NvcGUoIm5vbmUiKTsKKyAgICBjYXVzZUVycm9yKGRldmljZSk7
CisKKyAgICBjb25zdCBzaG91bGRCZU51bGwgPSBhd2FpdCBkZXZpY2UucG9wRXJyb3JTY29wZSgp
OworICAgIGFzc2VydE51bGwoc2hvdWxkQmVOdWxsKTsKKworICAgIHJldHVybiBwb3BOdWxsRXJy
b3IoZGV2aWNlKTsKK307CisKK2NvbnN0IGluaXQgPSBhc3luYyAoKSA9PiB7CisgICAgdHJ5IHsK
KyAgICAgICAgdmFyIGRldmljZSA9IGF3YWl0IGdldEJhc2ljRGV2aWNlKCk7CisgICAgfSBjYXRj
aCAoZSkgeyAvKiBXZWJHUFUgaXMgbm90IHN1cHBvcnRlZC4gKi8gfQorCisgICAgZm9yIChsZXQg
bmFtZSBpbiB0ZXN0cykKKyAgICAgICAgZGV2aWNlUHJvbWlzZVRlc3QoZGV2aWNlLCBuYW1lKTsK
K307CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgaW5pdCk7CisKKy8qIEhlbHBl
ciBGdW5jdGlvbnMgKi8KKworY29uc3QgY2F1c2VFcnJvciA9IGRldmljZSA9PiB7IGRldmljZS5j
cmVhdGVCdWZmZXIoeyBzaXplOiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuTUFQX1JFQUQgfCBH
UFVCdWZmZXJVc2FnZS5NQVBfV1JJVEUgfSk7IH07Citjb25zdCBwb3BWYWxpZGF0aW9uRXJyb3Ig
PSBkZXZpY2UgPT4gZGV2aWNlLnBvcEVycm9yU2NvcGUoKS50aGVuKGVycm9yID0+IGFzc2VydEVy
cm9yKGVycm9yKSk7Citjb25zdCBwb3BOdWxsRXJyb3IgPSBkZXZpY2UgPT4gZGV2aWNlLnBvcEVy
cm9yU2NvcGUoKS50aGVuKGVycm9yID0+IGFzc2VydE51bGwoZXJyb3IpKTsKK2NvbnN0IGFzc2Vy
dE51bGwgPSBlcnJvciA9PiBhc3NlcnRfdHJ1ZShlcnJvciA9PT0gbnVsbCwgIk5vIGVycm9yIGV4
cGVjdGVkISIpOworY29uc3QgYXNzZXJ0RXJyb3IgPSBlcnJvciA9PiBhc3NlcnRfdHJ1ZShlcnJv
ciBpbnN0YW5jZW9mIEdQVVZhbGlkYXRpb25FcnJvciwgIkV4cGVjdGVkIHZhbGlkYXRpb24gZXJy
b3IhIik7CisKK2NvbnN0IGRldmljZVByb21pc2VUZXN0ID0gKGRldmljZSwgbmFtZSkgPT4gewor
ICAgIHByb21pc2VfdGVzdChhc3luYyAoKSA9PiB7CisgICAgICAgIGlmIChkZXZpY2UgPT09IHVu
ZGVmaW5lZCkKKyAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKKyAgICAgICAg
cmV0dXJuIHRlc3RzW25hbWVdKGRldmljZSk7CisgICAgfSwgbmFtZSk7Cit9OworPC9zY3JpcHQ+
Cis8L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373892</attachid>
            <date>2019-07-10 19:07:25 -0700</date>
            <delta_ts>2019-07-10 19:08:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199655-20190710190725.patch</filename>
            <type>text/plain</type>
            <size>62875</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MzMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M3NGRjYzgxYjU3YTkx
YWMxNzMwN2Q3YjA2YWZhMjcxZjUxMDIwMC4uNjdmNDRiMWVhNWE4ZjRiMmZlMDAwZGFlOTA0MDli
MWRlM2U1NDEyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE5LTA3LTEwICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gSW1wbGVt
ZW50IHZhbGlkYXRpb24gZXJyb3JzIGFuZCBlcnJvciBzY29wZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTY1NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBHUFVFcnJvckZpbHRlciwgR1BVRXJy
b3IsIGFuZCB0aGUgYWJpbGl0eSB0byBwdXNoIGFuZCBwb3AgZXJyb3Igc2NvcGVzIG9uIGEgR1BV
RGV2aWNlLgorICAgICAgICBUaGlzIHdpbGwgYWxsb3cgdXMgdG8gY2hlY2sgZm9yIFdlYkdQVSBl
cnJvcnMgZnJvbSBKYXZhU2NyaXB0LgorICAgICAgICBDdXJyZW50bHksIG9ubHkgc29tZSBHUFVC
dWZmZXIgY3JlYXRpb24gZXJyb3JzIGFyZSByZXBvcnRlZCBmb3IgdGVzdGluZzsgbW9yZSBlcnJv
cnMgd2lsbCBmb2xsb3cgaW4gbGF0ZXIgcGF0Y2hlcy4KKworICAgICAgICBUZXN0OiB3ZWJncHUv
ZXJyb3Itc2NvcGVzLXRlc3QuaHRtbAorCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvR1BVRXJy
b3JGaWx0ZXIuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9HUFVPdXRPZk1l
bW9yeUVycm9yLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvR1BVVmFsaWRh
dGlvbkVycm9yLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2
aWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVURldmljZTo6cHVzaEVycm9yU2NvcGUp
OgorICAgICAgICAoV2ViQ29yZTo6V2ViR1BVRGV2aWNlOjpwb3BFcnJvclNjb3BlKTogUmVzb2x2
ZSB0aGUgUHJvbWlzZSBoZXJlLCBzaW5jZSBHUFVEZXZpY2Ugc2hvdWxkbid0IHdvcnJ5IGFib3V0
IERPTSBsYXllci4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaDoKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5jcHA6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6V2ViR1BVRGV2aWNlRXJyb3JTY29wZXM6OnB1c2hFcnJvclNj
b3BlKTogRGVsZWdhdGVzIHRvIFdlYkdQVURldmljZS4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdQ
VURldmljZUVycm9yU2NvcGVzOjpwb3BFcnJvclNjb3BlKTogRGl0dG8uCisgICAgICAgICogTW9k
dWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaDogQWRkZWQuCisgICAgICAgICog
TW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaWRsOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQnVmZmVyLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5jcHA6IFRoZSBhY3R1YWwgZXJyb3Igc3RhY2sgbGl2
ZXMgaGVyZS4KKyAgICAgICAgKFdlYkNvcmU6OkdQVURldmljZTo6cHVzaEVycm9yU2NvcGUpOgor
ICAgICAgICAoV2ViQ29yZTo6R1BVRGV2aWNlOjpwb3BFcnJvclNjb3BlKTogQ2FsbHMgYSBjYWxs
YmFjayB3aXRoIGEgR1BVRXJyb3IsIGlmIGFueS4KKyAgICAgICAgKFdlYkNvcmU6OkdQVURldmlj
ZTo6cmVnaXN0ZXJFcnJvcik6IEFjdHVhbGx5IGNyZWF0ZXMgR1BVRXJyb3JzLgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9ncHUvR1BVRXJyb3IuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0
ZUVycm9yKTogRmFjdG9yeSBmdW5jdGlvbiBmb3IgdmFyaW91cyBlcnJvciB0eXBlcy4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3IuaDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9yRmlsdGVyLmg6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVPdXRPZk1lbW9yeUVycm9yLmg6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6R1BVT3V0T2ZNZW1vcnlFcnJvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVmFsaWRhdGlvbkVycm9yLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpHUFVWYWxpZGF0aW9uRXJyb3I6OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpHUFVWYWxpZGF0aW9uRXJyb3I6OkdQVVZhbGlkYXRpb25FcnJvcik6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5oOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkdQVVZhbGlkYXRpb25FcnJvcjo6bWVzc2FnZSBjb25zdCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVUJ1ZmZlck1ldGFsLm1tOgorICAgICAg
ICAoV2ViQ29yZTo6R1BVQnVmZmVyOjp2YWxpZGF0ZUJ1ZmZlclVzYWdlKTogQ3JlYXRlIGFuIGFj
dHVhbCBHUFVWYWxpZGF0aW9uRXJyb3IgOikKKyAgICAgICAgKFdlYkNvcmU6OkdQVUJ1ZmZlcjo6
dHJ5Q3JlYXRlKTogQ3JlYXRlIEdQVU91dE9mTWVtb3J5RXJyb3JzIHdoZXJlIGFwcHJvcHJpYXRl
LgorCisgICAgICAgIEFkZCBmaWxlL25hbWUgcmVmZXJlbmNlczoKKyAgICAgICAgKiBDTWFrZUxp
c3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAg
ICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNv
cmVCdWlsdGluTmFtZXMuaDoKKworICAgICAgICBNaXNzaW5nIGluY2x1ZGVzOgorICAgICAgICAq
IE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tUZXh0dXJlUmVmZXJlbmNlcy5jcHA6CisK
IDIwMTktMDctMTAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBT
dG9wIHVzaW5nIEdlbmVyaWNUYXNrUXVldWUgZnJvbSBtdWx0aXBsZSB0aHJlYWRzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CmluZGV4IDNjZTUxNjYxMzEwNDFkZWI3MWM5ZTdiZTk1NTc5MDU1OTM3OTg1ODIu
Ljg0ZDg0YWM1NzJjMjg1NTMwYTRjZDE5NmZlNzg2Y2U2NmJlMGRjNjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0CkBAIC00ODAsOSArNDgwLDExIEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVT
CiAgICAgTW9kdWxlcy93ZWJncHUvR1BVQ29sb3JXcml0ZUJpdHMuaWRsCiAgICAgTW9kdWxlcy93
ZWJncHUvR1BVQ29tcGFyZUZ1bmN0aW9uLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L0dQVURlcHRo
U3RlbmNpbFN0YXRlRGVzY3JpcHRvci5pZGwKKyAgICBNb2R1bGVzL3dlYmdwdS9HUFVFcnJvckZp
bHRlci5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9HUFVFeHRlbnQzRC5pZGwKICAgICBNb2R1bGVz
L3dlYmdwdS9HUFVMb2FkT3AuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvR1BVT3JpZ2luM0QuaWRs
CisgICAgTW9kdWxlcy93ZWJncHUvR1BVT3V0T2ZNZW1vcnlFcnJvci5pZGwKICAgICBNb2R1bGVz
L3dlYmdwdS9HUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUv
R1BVU2FtcGxlckRlc2NyaXB0b3IuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvR1BVU2hhZGVyU3Rh
Z2VCaXQuaWRsCkBAIC00OTAsNiArNDkyLDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklM
RVMKICAgICBNb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5pZGwKICAgICBNb2R1
bGVzL3dlYmdwdS9HUFVUZXh0dXJlRm9ybWF0LmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L0dQVVRl
eHR1cmVVc2FnZS5pZGwKKyAgICBNb2R1bGVzL3dlYmdwdS9HUFVWYWxpZGF0aW9uRXJyb3IuaWRs
CiAgICAgTW9kdWxlcy93ZWJncHUvR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRvci5pZGwKICAg
ICBNb2R1bGVzL3dlYmdwdS9HUFVWZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yLmlkbAogICAgIE1vZHVs
ZXMvd2ViZ3B1L0dQVVZlcnRleElucHV0RGVzY3JpcHRvci5pZGwKQEAgLTUwOCw2ICs1MTEsNyBA
QCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQ
VUNvbXB1dGVQaXBlbGluZS5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21wdXRlUGlw
ZWxpbmVEZXNjcmlwdG9yLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5pZGwK
KyAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5pZGwKICAgICBNb2R1
bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmlkbAogICAgIE1vZHVsZXMv
d2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQ
VVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGM2OWQzZGQ0MTdiYmQ5MjRmOTUyMmMxNDc0
OGNlODFlMjdkMDEzZDEuLmE2ODEzNzYwMWQ4Mjk0YWZiMTJjODZiYmY0MWMxNjc5ZDI4MWY3YjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxp
c3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApA
QCAtMzMwLDEwICszMzAsMTIgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJncHUvR1BVQ29s
b3JTdGF0ZURlc2NyaXB0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9HUFVD
b2xvcldyaXRlQml0cy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVUNvbXBh
cmVGdW5jdGlvbi5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVURlcHRoU3Rl
bmNpbFN0YXRlRGVzY3JpcHRvci5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQ
VUVycm9yRmlsdGVyLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJncHUvR1BVRXh0ZW50
M0QuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9HUFVJbnB1dFN0YXRlRGVzY3Jp
cHRvci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVUxvYWRPcC5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVU9yaWdpbjNELmlkbAorJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy93ZWJncHUvR1BVT3V0T2ZNZW1vcnlFcnJvci5pZGwKICQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvd2ViZ3B1L0dQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5pZGwKICQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvd2ViZ3B1L0dQVVNhbXBsZXJEZXNjcmlwdG9yLmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy93ZWJncHUvR1BVU2hhZGVyU3RhZ2VCaXQuaWRsCkBAIC0zNDEsNiArMzQzLDcg
QEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJncHUvR1BVU3RvcmVPcC5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmlkbAogJChQUk9KRUNU
X0RJUikvTW9kdWxlcy93ZWJncHUvR1BVVGV4dHVyZUZvcm1hdC5pZGwKICQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVVc2FnZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvd2ViZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
d2ViZ3B1L0dQVVZlcnRleEF0dHJpYnV0ZURlc2NyaXB0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL3dlYmdwdS9HUFVWZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yLmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy93ZWJncHUvR1BVVmVydGV4SW5wdXREZXNjcmlwdG9yLmlkbApAQCAtMzYxLDYg
KzM2NCw3IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQYXNz
RW5jb2Rlci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQ
aXBlbGluZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQ
aXBlbGluZURlc2NyaXB0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9XZWJH
UFVEZXZpY2UuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VF
cnJvclNjb3Blcy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVs
aW5lRGVzY3JpcHRvckJhc2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9XZWJH
UFVQaXBlbGluZUxheW91dC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggMzdjM2M4YjFiYTUyYjI2MzBmMWYwNTNm
MmIwNTI1MzVjZGM1MGNiNy4uNGEyNmQyOTJjNDkxZjQ5YmNiNjQxZWQ2ZmM3ZDgwNGNkYzZiZTdm
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3QKQEAgLTYwOSw2ICs2MDksOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0dQVUNvbXBhcmVGdW5jdGlvbi5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVQ29tcGFyZUZ1bmN0aW9uLmgKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVRGVwdGhTdGVuY2lsU3Rh
dGVEZXNjcmlwdG9yLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNHUFVEZXB0aFN0ZW5jaWxTdGF0ZURlc2NyaXB0b3IuaAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVFcnJvckZpbHRlci5jcHAKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVRXJyb3JGaWx0ZXIu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVFeHRl
bnQzRC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
R1BVRXh0ZW50M0QuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNHUFVJbnB1dFN0YXRlRGVzY3JpcHRvci5jcHAKQEAgLTYxNyw2ICs2MTksOCBAQCAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUxvYWRPcC5jcHAK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVTG9hZE9w
LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVT3Jp
Z2luM0QuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0dQVU9yaWdpbjNELmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTR1BVT3V0T2ZNZW1vcnlFcnJvci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTR1BVT3V0T2ZNZW1vcnlFcnJvci5oCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVJlcXVlc3RBZGFwdGVyT3B0aW9u
cy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BV
UmVxdWVzdEFkYXB0ZXJPcHRpb25zLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTR1BVU2FtcGxlckRlc2NyaXB0b3IuY3BwCkBAIC02MzEsNiArNjM1LDgg
QEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVUZXh0
dXJlRm9ybWF0LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNHUFVUZXh0dXJlRm9ybWF0LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTR1BVVGV4dHVyZVVzYWdlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVUZXh0dXJlVXNhZ2UuaAorJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVWYWxpZGF0aW9uRXJyb3IuY3Bw
CiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVZhbGlk
YXRpb25FcnJvci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0dQVVZlcnRleEF0dHJpYnV0ZURlc2NyaXB0b3IuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVZlcnRleEF0dHJpYnV0ZURlc2NyaXB0b3Iu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVWZXJ0
ZXhCdWZmZXJEZXNjcmlwdG9yLmNwcApAQCAtMTk0Myw2ICsxOTQ5LDggQEAgJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJHUFVDb21wdXRlUGlwZWxpbmVE
ZXNjcmlwdG9yLmMKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTV2ViR1BVQ29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYkdQVURldmljZS5jcHAKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR1BVRGV2aWNlLmgKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR1BVRGV2aWNlRXJy
b3JTY29wZXMuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1dlYkdQVURldmljZUVycm9yU2NvcGVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR1BVUGlwZWxp
bmVEZXNjcmlwdG9yQmFzZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1dlYkdQVVBpcGVsaW5lTGF5b3V0LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKaW5kZXggN2VlYjQyN2MyN2QxOGFjNGNiODdjOWZiMmZlZjAzZWUwNmJmNjY2ZC4uYzYx
NzcxNjE0M2EwNzFhNjlhMGYyZWVkYzk1MTNkZDdiYzFlNjFlNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCkBAIC0zODYsOSArMzg2LDExIEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L0dQVUJ1ZmZlclVzYWdlLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVDb21wYXJlRnVuY3Rpb24uaWRsIFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvd2ViZ3B1L0dQVURlcHRoU3RlbmNpbFN0YXRlRGVzY3JpcHRvci5pZGwg
XAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVRXJyb3JGaWx0ZXIuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L0dQVUV4dGVudDNELmlkbCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVMb2FkT3AuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvd2ViZ3B1L0dQVU9yaWdpbjNELmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdw
dS9HUFVPdXRPZk1lbW9yeUVycm9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdw
dS9HUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
d2ViZ3B1L0dQVVNhbXBsZXJEZXNjcmlwdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3dlYmdwdS9HUFVTaGFkZXJTdGFnZUJpdC5pZGwgXApAQCAtMzk2LDYgKzM5OCw3IEBAIEpTX0JJ
TkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVE
ZXNjcmlwdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJl
Rm9ybWF0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlVXNh
Z2UuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L0dQVVZhbGlkYXRpb25FcnJv
ci5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVVmVydGV4QXR0cmlidXRl
RGVzY3JpcHRvci5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVVmVydGV4
QnVmZmVyRGVzY3JpcHRvci5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVVmVy
dGV4SW5wdXREZXNjcmlwdG9yLmlkbCBcCkBAIC00MTQsNiArNDE3LDcgQEAgSlNfQklORElOR19J
RExTID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVQ29tcHV0ZVBpcGVs
aW5lLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21wdXRlUGlw
ZWxpbmVEZXNjcmlwdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9XZWJH
UFVEZXZpY2UuaWRsIFwKKwkkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVy
cm9yU2NvcGVzLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVRdWV1
ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVEZXNj
cmlwdG9yQmFzZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlw
ZWxpbmVMYXlvdXQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L0dQVUVycm9yRmlsdGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQ
VUVycm9yRmlsdGVyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZDZhY2JiMjQyMWNiZjRkNGM1YWVmMThiMzU0
ODM5YjcxZDY2Mzk2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvR1BVRXJyb3JGaWx0ZXIuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworLy8g
aHR0cHM6Ly9ncHV3ZWIuZ2l0aHViLmlvL2dwdXdlYgorCitbCisgICAgQ29uZGl0aW9uYWw9V0VC
R1BVLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCitdIGVudW0gR1BVRXJyb3JGaWx0ZXIg
eworICAgICJub25lIiwKKyAgICAib3V0LW9mLW1lbW9yeSIsCisgICAgInZhbGlkYXRpb24iCit9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVT3V0T2ZNZW1v
cnlFcnJvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVPdXRPZk1lbW9y
eUVycm9yLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNGQzZDAwNzM3OTM0ZTRmNzdlOWE2MjM1ZWQ0MzE5NTQ1
OWNiNjEyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
R1BVT3V0T2ZNZW1vcnlFcnJvci5pZGwKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisvLyBo
dHRwczovL2dwdXdlYi5naXRodWIuaW8vZ3B1d2ViCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJH
UFUsCisgICAgQ29uc3RydWN0b3IoKSwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVSwKKyAg
ICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCitdIGludGVyZmFjZSBHUFVPdXRPZk1lbW9yeUVy
cm9yIHt9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVVmFs
aWRhdGlvbkVycm9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVVZhbGlk
YXRpb25FcnJvci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWUxM2MxODg3ZWY4YjQwNzljMDRjNWNiZWE2NmVj
YTY3MzI3ZjQ4MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L0dQVVZhbGlkYXRpb25FcnJvci5pZGwKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisv
LyBodHRwczovL2dwdXdlYi5naXRodWIuaW8vZ3B1d2ViCisKK1sKKyAgICBDb25kaXRpb25hbD1X
RUJHUFUsCisgICAgQ29uc3RydWN0b3IoRE9NU3RyaW5nIG1lc3NhZ2UpLAorICAgIEVuYWJsZWRB
dFJ1bnRpbWU9V2ViR1BVLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKK10gaW50ZXJm
YWNlIEdQVVZhbGlkYXRpb25FcnJvciB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyBtZXNzYWdlOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMQ2hlY2tUZXh0dXJlUmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTENoZWNrVGV4dHVyZVJlZmVyZW5jZXMuY3BwCmluZGV4
IGMwMmRiODlkM2NiNmMwYTc1MWE2MjJlYjc5ZGQzNGU3YjdkNTYzZjkuLjczODZiMTA2YmI4MGQz
NjdlZjMxZGQ2YjUzNTllYWI5YTU3NzkyOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tUZXh0dXJlUmVmZXJlbmNlcy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xDaGVja1RleHR1cmVSZWZl
cmVuY2VzLmNwcApAQCAtMjYsMTAgKzI2LDE1IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiV0hMU0xDaGVja1RleHR1cmVSZWZlcmVuY2VzLmgiCiAKLSNpbmNsdWRlICJXSExTTElu
ZmVyVHlwZXMuaCIKLQogI2lmIEVOQUJMRShXRUJHUFUpCiAKKyNpbmNsdWRlICJXSExTTEFycmF5
UmVmZXJlbmNlVHlwZS5oIgorI2luY2x1ZGUgIldITFNMQXJyYXlUeXBlLmgiCisjaW5jbHVkZSAi
V0hMU0xJbmZlclR5cGVzLmgiCisjaW5jbHVkZSAiV0hMU0xOYXRpdmVUeXBlRGVjbGFyYXRpb24u
aCIKKyNpbmNsdWRlICJXSExTTFBvaW50ZXJUeXBlLmgiCisjaW5jbHVkZSAiV0hMU0xWaXNpdG9y
LmgiCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIFdITFNMIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwCmluZGV4IGYwNTlhZDg5
ZTA5ZDRmNGE3NGY4YjhlODEzZjQ0ZjVhMGE5YjllMWUuLmUzMTllMjE5NTUwNDM4ZThjMmFjYmJk
MjJjZmY4NTE1YjQ3N2I2ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dlYkdQVURldmljZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V2ViR1BVRGV2aWNlLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKFdFQkdQVSkK
IAorI2luY2x1ZGUgIkV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkdQVUJpbmRHcm91cC5oIgogI2lu
Y2x1ZGUgIkdQVUJpbmRHcm91cEJpbmRpbmcuaCIKICNpbmNsdWRlICJHUFVCaW5kR3JvdXBEZXNj
cmlwdG9yLmgiCkBAIC00Miw2ICs0Myw4IEBACiAjaW5jbHVkZSAiR1BVU2hhZGVyTW9kdWxlRGVz
Y3JpcHRvci5oIgogI2luY2x1ZGUgIkdQVVRleHR1cmVEZXNjcmlwdG9yLmgiCiAjaW5jbHVkZSAi
SlNET01Db252ZXJ0QnVmZmVyU291cmNlLmgiCisjaW5jbHVkZSAiSlNHUFVPdXRPZk1lbW9yeUVy
cm9yLmgiCisjaW5jbHVkZSAiSlNHUFVWYWxpZGF0aW9uRXJyb3IuaCIKICNpbmNsdWRlICJKU1dl
YkdQVUJ1ZmZlci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJXZWJHUFVCaW5k
R3JvdXAuaCIKQEAgLTYzLDYgKzY2LDcgQEAKICNpbmNsdWRlICJXZWJHUFVTaGFkZXJNb2R1bGVE
ZXNjcmlwdG9yLmgiCiAjaW5jbHVkZSAiV2ViR1BVU3dhcENoYWluLmgiCiAjaW5jbHVkZSAiV2Vi
R1BVVGV4dHVyZS5oIgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTE4MCw2ICsxODQsMjEgQEAgUmVmPFdlYkdQVVF1ZXVlPiBXZWJHUFVEZXZp
Y2U6OmdldFF1ZXVlKCkgY29uc3QKICAgICByZXR1cm4gbWFrZVJlZigqbV9xdWV1ZS5nZXQoKSk7
CiB9CiAKK3ZvaWQgV2ViR1BVRGV2aWNlOjpwdXNoRXJyb3JTY29wZShHUFVFcnJvckZpbHRlciBm
aWx0ZXIpIGNvbnN0Cit7CisgICAgbV9kZXZpY2UtPnB1c2hFcnJvclNjb3BlKGZpbHRlcik7Cit9
CisKK3ZvaWQgV2ViR1BVRGV2aWNlOjpwb3BFcnJvclNjb3BlKEVycm9yUHJvbWlzZSYmIHByb21p
c2UpIGNvbnN0Cit7CisgICAgbV9kZXZpY2UtPnBvcEVycm9yU2NvcGUoW3Byb21pc2UgPSBXVEZN
b3ZlKHByb21pc2UpXSAoT3B0aW9uYWw8R1BVRXJyb3I+JiYgZXJyb3IsIGNvbnN0IFN0cmluZyYg
ZmFpbE1lc3NhZ2UpIG11dGFibGUgeworICAgICAgICBpZiAoZmFpbE1lc3NhZ2UuaXNFbXB0eSgp
KQorICAgICAgICAgICAgcHJvbWlzZS5yZXNvbHZlKGVycm9yKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3IsIGZhaWxN
ZXNzYWdlIH0pOworICAgIH0pOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRp
ZiAvLyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV2ViR1BVRGV2aWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJH
UFVEZXZpY2UuaAppbmRleCAyMWQzNzFhMDNhNzUxNTQ0YTkxZDdjOGExYWQwY2Q2MjE1OTVhYTFi
Li5jODM1MWIyZDZlZThkOWExNDAyMmExZjE4YzFjZDYwN2U4MGYxZGFlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaApAQCAtMjgsNiArMjgsNyBAQAog
I2lmIEVOQUJMRShXRUJHUFUpCiAKICNpbmNsdWRlICJHUFVEZXZpY2UuaCIKKyNpbmNsdWRlICJK
U0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIldlYkdQVUFkYXB0ZXIuaCIKICNpbmNs
dWRlICJXZWJHUFVRdWV1ZS5oIgogI2luY2x1ZGUgIldlYkdQVVN3YXBDaGFpbkRlc2NyaXB0b3Iu
aCIKQEAgLTQzLDYgKzQ0LDggQEAgY2xhc3MgSlNWYWx1ZTsKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCitjbGFzcyBHUFVPdXRPZk1lbW9yeUVycm9yOworY2xhc3MgR1BVVmFsaWRhdGlvbkVycm9y
OwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIGNsYXNzIFdlYkdQVUJpbmRHcm91cDsK
IGNsYXNzIFdlYkdQVUJpbmRHcm91cExheW91dDsKQEAgLTY2LDYgKzY5LDEwIEBAIHN0cnVjdCBX
ZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3I7CiBzdHJ1Y3QgV2ViR1BVUmVuZGVyUGlwZWxp
bmVEZXNjcmlwdG9yOwogc3RydWN0IFdlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3I7CiAKK2Vu
dW0gY2xhc3MgR1BVRXJyb3JGaWx0ZXI7CisKK3VzaW5nIEVycm9yUHJvbWlzZSA9IERPTVByb21p
c2VEZWZlcnJlZDxJRExOdWxsYWJsZTxJRExVbmlvbjxJRExJbnRlcmZhY2U8R1BVT3V0T2ZNZW1v
cnlFcnJvcj4sIElETEludGVyZmFjZTxHUFVWYWxpZGF0aW9uRXJyb3I+Pj4+OworCiBjbGFzcyBX
ZWJHUFVEZXZpY2UgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJHUFVEZXZpY2U+IHsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUmVmUHRyPFdlYkdQVURldmljZT4gdHJ5Q3JlYXRlKFJlZjxjb25zdCBXZWJH
UFVBZGFwdGVyPiYmKTsKQEAgLTkxLDYgKzk4LDkgQEAgcHVibGljOgogCiAgICAgUmVmPFdlYkdQ
VVF1ZXVlPiBnZXRRdWV1ZSgpIGNvbnN0OwogCisgICAgdm9pZCBwdXNoRXJyb3JTY29wZShHUFVF
cnJvckZpbHRlcikgY29uc3Q7CisgICAgdm9pZCBwb3BFcnJvclNjb3BlKEVycm9yUHJvbWlzZSYm
KSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBXZWJHUFVEZXZpY2UoUmVmPGNvbnN0IFdlYkdQVUFk
YXB0ZXI+JiYsIFJlZjxHUFVEZXZpY2U+JiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNzkzMTEwMGRiNTQ1MTM4Nzk0NDc1NmMwZmIwMWZkODgyYTMwMWE4MQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2Nv
cGVzLmNwcApAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIldlYkdQVURldmljZUVycm9yU2NvcGVzLmgiCisKKyNpZiBFTkFCTEUoV0VC
R1BVKQorCisjaW5jbHVkZSAiR1BVRXJyb3JGaWx0ZXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCit2b2lkIFdlYkdQVURldmljZUVycm9yU2NvcGVzOjpwdXNoRXJyb3JTY29wZShXZWJHUFVE
ZXZpY2UmIGRldmljZSwgR1BVRXJyb3JGaWx0ZXIgZmlsdGVyKQoreworICAgIGRldmljZS5wdXNo
RXJyb3JTY29wZShmaWx0ZXIpOworfQorCit2b2lkIFdlYkdQVURldmljZUVycm9yU2NvcGVzOjpw
b3BFcnJvclNjb3BlKFdlYkdQVURldmljZSYgZGV2aWNlLCBFcnJvclByb21pc2UmJiBwcm9taXNl
KQoreworICAgIGRldmljZS5wb3BFcnJvclNjb3BlKFdURk1vdmUocHJvbWlzZSkpOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29w
ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2Nv
cGVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjIwZjA3YWJlMzk4YmY5YTczNGQ0NDZhZjU4OTQ1M2MwZGIwYzEw
OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VURldmljZUVycm9yU2NvcGVzLmgKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaWYgRU5BQkxFKFdFQkdQVSkKKworI2luY2x1ZGUgIldlYkdQVURldmljZS5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgR1BVRXJyb3JGaWx0ZXI7CisK
K2NsYXNzIFdlYkdQVURldmljZUVycm9yU2NvcGVzIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgdm9p
ZCBwdXNoRXJyb3JTY29wZShXZWJHUFVEZXZpY2UmLCBHUFVFcnJvckZpbHRlcik7CisgICAgc3Rh
dGljIHZvaWQgcG9wRXJyb3JTY29wZShXZWJHUFVEZXZpY2UmLCBFcnJvclByb21pc2UmJik7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJy
b3JTY29wZXMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNl
RXJyb3JTY29wZXMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjNzg1MjdiY2UyOTAwOGY0OWJlMGQzMTkwYzMx
ZWNmMDE4NTliNDYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5pZGwKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisvLyBodHRwczovL2dwdXdlYi5naXRodWIuaW8vZ3B1d2ViCisKK3R5cGVkZWYgKEdQVU91
dE9mTWVtb3J5RXJyb3Igb3IgR1BVVmFsaWRhdGlvbkVycm9yKSBHUFVFcnJvcjsKKworWworICAg
IENvbmRpdGlvbmFsPVdFQkdQVSwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQorXSBwYXJ0
aWFsIGludGVyZmFjZSBXZWJHUFVEZXZpY2UgeworICAgIHZvaWQgcHVzaEVycm9yU2NvcGUoR1BV
RXJyb3JGaWx0ZXIgZmlsdGVyKTsKKyAgICBQcm9taXNlPEdQVUVycm9yPz4gcG9wRXJyb3JTY29w
ZSgpOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggZDgwZjAyZTkxN2MzODQyYjViOTgzNzc5ZDlmN2Zi
NzkwODUwZGQyOS4uODhhZTI2YWMwNWMwMzdkYTk3MzQ4OTlkNzM0MGU3Y2E0ZTQ2Mzg2MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
U291cmNlcy50eHQKQEAgLTM2Nyw2ICszNjcsNyBAQCBNb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21w
dXRlUGFzc0VuY29kZXIuY3BwCiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21wdXRlUGlwZWxpbmUu
Y3BwCiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlwdG9yLmNwcAog
TW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNwcAorTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2
aWNlRXJyb3JTY29wZXMuY3BwCiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVRdWV1ZS5jcHAKIE1vZHVs
ZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmNwcAogTW9kdWxlcy93ZWJncHUvV2ViR1BV
UGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmNwcApAQCAtMTgyNyw2ICsxODI4LDggQEAgcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VHcmFwaGljLmNwcAogcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9TcG90TGlnaHRTb3VyY2UuY3BwCiAKIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVE
ZXZpY2UuY3BwCitwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3IuY3BwCitwbGF0Zm9ybS9n
cmFwaGljcy9ncHUvR1BVVmFsaWRhdGlvbkVycm9yLmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVVBpcGVsaW5lTGF5b3V0LmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVByb2dyYW1t
YWJsZVBhc3NFbmNvZGVyLmNwcAogCkBAIC0yNzU2LDkgKzI3NTksMTEgQEAgSlNHUFVCdWZmZXJE
ZXNjcmlwdG9yLmNwcAogSlNHUFVCdWZmZXJVc2FnZS5jcHAKIEpTR1BVQ29tcGFyZUZ1bmN0aW9u
LmNwcAogSlNHUFVEZXB0aFN0ZW5jaWxTdGF0ZURlc2NyaXB0b3IuY3BwCitKU0dQVUVycm9yRmls
dGVyLmNwcAogSlNHUFVFeHRlbnQzRC5jcHAKIEpTR1BVTG9hZE9wLmNwcAogSlNHUFVPcmlnaW4z
RC5jcHAKK0pTR1BVT3V0T2ZNZW1vcnlFcnJvci5jcHAKIEpTR1BVUmVxdWVzdEFkYXB0ZXJPcHRp
b25zLmNwcAogSlNHUFVTYW1wbGVyRGVzY3JpcHRvci5jcHAKIEpTR1BVU2hhZGVyU3RhZ2VCaXQu
Y3BwCkBAIC0yNzY2LDYgKzI3NzEsNyBAQCBKU0dQVVN0b3JlT3AuY3BwCiBKU0dQVVRleHR1cmVE
ZXNjcmlwdG9yLmNwcAogSlNHUFVUZXh0dXJlRm9ybWF0LmNwcAogSlNHUFVUZXh0dXJlVXNhZ2Uu
Y3BwCitKU0dQVVZhbGlkYXRpb25FcnJvci5jcHAKIEpTR1BVVmVydGV4QXR0cmlidXRlRGVzY3Jp
cHRvci5jcHAKIEpTR1BVVmVydGV4QnVmZmVyRGVzY3JpcHRvci5jcHAKIEpTR1BVVmVydGV4SW5w
dXREZXNjcmlwdG9yLmNwcApAQCAtMzMxOCw2ICszMzI0LDcgQEAgSlNXZWJHUFVDb21wdXRlUGFz
c0VuY29kZXIuY3BwCiBKU1dlYkdQVUNvbXB1dGVQaXBlbGluZS5jcHAKIEpTV2ViR1BVQ29tcHV0
ZVBpcGVsaW5lRGVzY3JpcHRvci5jcHAKIEpTV2ViR1BVRGV2aWNlLmNwcAorSlNXZWJHUFVEZXZp
Y2VFcnJvclNjb3Blcy5jcHAKIEpTV2ViR1BVUXVldWUuY3BwCiBKU1dlYkdQVVBpcGVsaW5lRGVz
Y3JpcHRvckJhc2UuY3BwCiBKU1dlYkdQVVBpcGVsaW5lTGF5b3V0LmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDlhOGVmOTMw
MGQwZjBhNDE1NzE3OGQ3Zjk4OTA4MmJlZGQwYmU2ZDQuLmI2MTMwMmVlYTE3ZGU2YzhmMjg1ZmU3
NzBmMmViMGFmNWE0M2RjY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE0MDE4LDYgKzE0MDE4LDE5IEBACiAJCUQwOTNEMjI1
MjE3OTUxRDQwMDMyOTIxNyAvKiBHUFVDYW52YXNDb250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQ
VUNhbnZhc0NvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDA5M0QyMjcy
MTc5NTFENDAwMzI5MjE3IC8qIEdQVUNhbnZhc0NvbnRleHQuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVUNhbnZhc0Nv
bnRleHQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMDkzRDIyOTIxNzk1NDE2
MDAzMjkyMTcgLyogR1BVQ2FudmFzQ29udGV4dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHUFVD
YW52YXNDb250ZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA5QUZBRkYy
MkQwMkU1MzAwQzQ1MzhDIC8qIFdlYkdQVURldmljZUVycm9yU2NvcGVzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYkdQVURldmljZUVycm9yU2NvcGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUQwOUFGQjAxMjJEMDJFNTMwMEM0NTM4QyAvKiBXZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwOUFGQjAyMjJEMDQ3MTkwMEM0NTM4QyAvKiBHUFVF
cnJvckZpbHRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVFcnJvckZp
bHRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDlBRkIwMzIyRDQwQ0M1MDBD
NDUzOEMgLyogV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkdQVURldmljZUVy
cm9yU2NvcGVzLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA5QUZCMDYyMkQ0
MTdCMzAwQzQ1MzhDIC8qIEdQVUVycm9yRmlsdGVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVFcnJvckZpbHRlci5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwOUFGQjA3MjJENTM5MUIwMEM0NTM4
QyAvKiBHUFVFcnJvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVFcnJvci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlEMDlBRkIwODIyRDU1NDI4MDBDNDUzOEMgLyogR1BVRXJyb3IuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gR1BVRXJyb3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlEMDlBRkIwQzIyRDU1RTkwMDBDNDUzOEMgLyogR1BVVmFsaWRhdGlvbkVycm9yLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBHUFVWYWxpZGF0aW9uRXJyb3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlEMDlBRkIwRDIyRDU1RjNCMDBDNDUzOEMgLyogR1BVVmFsaWRhdGlvbkVycm9yLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEdQVVZhbGlkYXRpb25FcnJvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlEMDlBRkIwRTIyRDU1RkY1MDBDNDUzOEMgLyogR1BVVmFsaWRhdGlvbkVycm9yLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdQVVZhbGlkYXRpb25FcnJvci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUQwOUFGQjE3MjJENjY5NEUwMEM0NTM4QyAvKiBHUFVPdXRPZk1l
bW9yeUVycm9yLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBHUFVPdXRPZk1lbW9yeUVycm9yLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRDA5QUZCMTkyMkQ2Njk4QTAwQzQ1MzhDIC8qIEdQVU91dE9mTWVt
b3J5RXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVT3V0T2ZNZW1vcnlFcnJvci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlEMDlBRkIyRDIyRDZDMDE0MDBDNDUzOEMgLyogR1BVRXJy
b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR1BVRXJyb3IuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlEMEEyMEQ1NDIwOTJBMEE2MDBFMEMyNTkgLyogV2ViR0xDb21wcmVzc2Vk
VGV4dHVyZUFTVEMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViR0xDb21w
cmVzc2VkVGV4dHVyZUFTVEMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDBBMjBE
NTYyMDkyQTBBNjAwRTBDMjU5IC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBU1RDLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkdMQ29tcHJlc3NlZFRleHR1cmVB
U1RDLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDBBM0E3MzAxNDA1QTM5ODAw
RkI4RUQzIC8qIFJlc291cmNlTG9hZGVyT3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBSZXNvdXJjZUxvYWRlck9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTE4MzIwLDkgKzE4MzMzLDE0IEBACiAJCQkJRDAzQzg0OUEyMUZGQzY2NzAwMDIy
MjdGIC8qIEdQVURlcHRoU3RlbmNpbFN0YXRlRGVzY3JpcHRvci5oICovLAogCQkJCTMxMkZGOEJG
MjFBNEMyRjEwMEVCMTk5RCAvKiBHUFVEZXZpY2UuY3BwICovLAogCQkJCTMxMkZGOEJFMjFBNEMy
RjEwMEVCMTk5RCAvKiBHUFVEZXZpY2UuaCAqLywKKwkJCQlEMDlBRkIwODIyRDU1NDI4MDBDNDUz
OEMgLyogR1BVRXJyb3IuY3BwICovLAorCQkJCUQwOUFGQjJEMjJENkMwMTQwMEM0NTM4QyAvKiBH
UFVFcnJvci5jcHAgKi8sCisJCQkJRDA5QUZCMDcyMkQ1MzkxQjAwQzQ1MzhDIC8qIEdQVUVycm9y
LmggKi8sCisJCQkJRDA5QUZCMDIyMkQwNDcxOTAwQzQ1MzhDIC8qIEdQVUVycm9yRmlsdGVyLmgg
Ki8sCiAJCQkJRDAyNkY0N0QyMjBBMkFDNjAwQUM1RjQ5IC8qIEdQVUV4dGVudDNELmggKi8sCiAJ
CQkJRDBGNzU1OUYyMjAzQkExNDAwMTE4MDU4IC8qIEdQVUxpbWl0cy5oICovLAogCQkJCUQwOEFB
MDJGMjIwRDBCRDUwMDU4QzUwMiAvKiBHUFVMb2FkT3AuaCAqLywKKwkJCQlEMDlBRkIxOTIyRDY2
OThBMDBDNDUzOEMgLyogR1BVT3V0T2ZNZW1vcnlFcnJvci5oICovLAogCQkJCTMxMkZGOEM0MjFB
NEMyRjQwMEVCMTk5RCAvKiBHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmggKi8sCiAJCQkJRDAw
MzI4ODcyMUM5QTRFNTAwNjIyQUE2IC8qIEdQVVBpcGVsaW5lTGF5b3V0LmNwcCAqLywKIAkJCQlE
MDAzMjg4NjIxQzlBNEU1MDA2MjJBQTYgLyogR1BVUGlwZWxpbmVMYXlvdXQuaCAqLywKQEAgLTE4
MzQ4LDYgKzE4MzY2LDggQEAKIAkJCQkzMTJGRjhDMzIxQTRDMkYzMDBFQjE5OUQgLyogR1BVVGV4
dHVyZUZvcm1hdC5oICovLAogCQkJCUQwMjZGNDg1MjIwQTQ3NzIwMEFDNUY0OSAvKiBHUFVUZXh0
dXJlVXNhZ2UuaCAqLywKIAkJCQlEMDZFRjU1MjIyMEJBMjZBMDAxODcyNEUgLyogR1BVVXRpbHMu
aCAqLywKKwkJCQlEMDlBRkIwRTIyRDU1RkY1MDBDNDUzOEMgLyogR1BVVmFsaWRhdGlvbkVycm9y
LmNwcCAqLywKKwkJCQlEMDlBRkIwRDIyRDU1RjNCMDBDNDUzOEMgLyogR1BVVmFsaWRhdGlvbkVy
cm9yLmggKi8sCiAJCQkJRDBEODY0OUIyMUJBMUMyRDAwM0M5ODNDIC8qIEdQVVZlcnRleEF0dHJp
YnV0ZURlc2NyaXB0b3IuaCAqLywKIAkJCQlEMEQ4NjQ5QzIxQkExQ0U4MDAzQzk4M0MgLyogR1BV
VmVydGV4QnVmZmVyRGVzY3JpcHRvci5oICovLAogCQkJCUQwRDg2NDk5MjFCQTFCMUYwMDNDOTgz
QyAvKiBHUFVWZXJ0ZXhJbnB1dERlc2NyaXB0b3IuaCAqLywKQEAgLTI1OTM3LDEwICsyNTk1Nywx
MiBAQAogCQkJCUQwQjU2RUFFMjI0RUNFMjAwMDYxMDQ5QyAvKiBHUFVDb2xvcldyaXRlQml0cy5p
ZGwgKi8sCiAJCQkJRDAzQzg0OUUyMUZGQ0YwMDAwMDIyMjdGIC8qIEdQVUNvbXBhcmVGdW5jdGlv
bi5pZGwgKi8sCiAJCQkJRDAzQzg0QTIyMUZGRDcyMzAwMDIyMjdGIC8qIEdQVURlcHRoU3RlbmNp
bFN0YXRlRGVzY3JpcHRvci5pZGwgKi8sCisJCQkJRDA5QUZCMDYyMkQ0MTdCMzAwQzQ1MzhDIC8q
IEdQVUVycm9yRmlsdGVyLmlkbCAqLywKIAkJCQlEMDI2RjQ4MDIyMEEyQjcwMDBBQzVGNDkgLyog
R1BVRXh0ZW50M0QuaWRsICovLAogCQkJCUQwOEFBMDJEMjIwRDBCOUMwMDU4QzUwMiAvKiBHUFVM
b2FkT3AuaWRsICovLAogCQkJCUQwQ0NBOTQ5MjIyOTlGOTcwMDY5NzlCNiAvKiBHUFVPcmlnaW4z
RC5oICovLAogCQkJCUQwQ0NBOTRBMjIyOTlGOTcwMDY5NzlCNiAvKiBHUFVPcmlnaW4zRC5pZGwg
Ki8sCisJCQkJRDA5QUZCMTcyMkQ2Njk0RTAwQzQ1MzhDIC8qIEdQVU91dE9mTWVtb3J5RXJyb3Iu
aWRsICovLAogCQkJCUQwMkMyNjkyMjE4MTQxNkQwMEQ4MThFNCAvKiBHUFVSZXF1ZXN0QWRhcHRl
ck9wdGlvbnMuaWRsICovLAogCQkJCUQwQURCMjYzMjIzMDlENzYwMEEyMjkzNSAvKiBHUFVTYW1w
bGVyRGVzY3JpcHRvci5pZGwgKi8sCiAJCQkJRDBERThGQjgyMjJFMDlFMjAwODgyNTUwIC8qIEdQ
VVNoYWRlclN0YWdlQml0LmggKi8sCkBAIC0yNTk0OSw2ICsyNTk3MSw3IEBACiAJCQkJRDAyNkY0
OEIyMjBBNUIwQjAwQUM1RjQ5IC8qIEdQVVRleHR1cmVEZXNjcmlwdG9yLmlkbCAqLywKIAkJCQlE
MEVBQ0ZBRTIxOUUzMEZEMDAwRkE3NUMgLyogR1BVVGV4dHVyZUZvcm1hdC5pZGwgKi8sCiAJCQkJ
RDAyNkY0ODMyMjBBNDcyRjAwQUM1RjQ5IC8qIEdQVVRleHR1cmVVc2FnZS5pZGwgKi8sCisJCQkJ
RDA5QUZCMEMyMkQ1NUU5MDAwQzQ1MzhDIC8qIEdQVVZhbGlkYXRpb25FcnJvci5pZGwgKi8sCiAJ
CQkJRDBEODY0OTYyMUJBMThGNDAwM0M5ODNDIC8qIEdQVVZlcnRleEF0dHJpYnV0ZURlc2NyaXB0
b3IuaWRsICovLAogCQkJCUQwRDg2NDk4MjFCQTE5QTcwMDNDOTgzQyAvKiBHUFVWZXJ0ZXhCdWZm
ZXJEZXNjcmlwdG9yLmlkbCAqLywKIAkJCQlEMEQ4NjQ5NDIxQkExNzNEMDAzQzk4M0MgLyogR1BV
VmVydGV4SW5wdXREZXNjcmlwdG9yLmlkbCAqLywKQEAgLTI1OTk1LDYgKzI2MDE4LDkgQEAKIAkJ
CQlEMDBGNTk1MzIxNzAxRDhDMDAwRDcxREIgLyogV2ViR1BVRGV2aWNlLmNwcCAqLywKIAkJCQlE
MDBGNTk1MjIxNzAxRDhDMDAwRDcxREIgLyogV2ViR1BVRGV2aWNlLmggKi8sCiAJCQkJRDAwRjU5
NTQyMTcwMUQ4QzAwMEQ3MURCIC8qIFdlYkdQVURldmljZS5pZGwgKi8sCisJCQkJRDA5QUZCMDEy
MkQwMkU1MzAwQzQ1MzhDIC8qIFdlYkdQVURldmljZUVycm9yU2NvcGVzLmNwcCAqLywKKwkJCQlE
MDlBRkFGRjIyRDAyRTUzMDBDNDUzOEMgLyogV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaCAqLywK
KwkJCQlEMDlBRkIwMzIyRDQwQ0M1MDBDNDUzOEMgLyogV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMu
aWRsICovLAogCQkJCUQwQzQxOUYwMjE4M0VCMzEwMDlFQzFERSAvKiBXZWJHUFVQaXBlbGluZURl
c2NyaXB0b3JCYXNlLmggKi8sCiAJCQkJRDBDNDE5RjEyMTgzRUIzMTAwOUVDMURFIC8qIFdlYkdQ
VVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuaWRsICovLAogCQkJCUQwNUE5OUU1MjFDOUJGMkMwMDAz
MkI3NSAvKiBXZWJHUFVQaXBlbGluZUxheW91dC5jcHAgKi8sCkBAIC0yODQwMCw2ICsyODQyNiw3
IEBACiAJCQkJQTVBN0FBNDMxMzJGMEVDQzAwRDNBM0MyIC8qIEF1dG9jYXBpdGFsaXplVHlwZXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTdDMTg0M0ZFMUM4QjcyODMwMDJFQjk3MyAvKiBBdXRvZmls
bC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0MxRTk3MjgxQTlGOTgzNDAwN0JGMEZCIC8qIEF1dG9G
aWxsQnV0dG9uRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUNDQzI3MDkyMkQ1NDgzQTAw
OTY0RkEwIC8qIEF1dG9maWxsRWxlbWVudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUM5RDQ2NzA1
MUU2MEM0NjUwMDgxOTVGQiAvKiBBdXRvcGxheUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk0
NTgzMEQ0RTE2NzlCNEY4MDBBQ0Y4QzMgLyogQXV0b3Njcm9sbENvbnRyb2xsZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE4Q0ZGMDRFMEExNTRGMDkwMDBBNDIzNCAvKiBBdXRvVGFibGVMYXlvdXQu
aCBpbiBIZWFkZXJzICovLApAQCAtMzAwNDQsNyArMzAwNzEsNiBAQAogCQkJCTdDNzc2MUFBMUY4
NzhBQTUwMEY4NjlGRCAvKiBKU0ltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dFNldHRpbmdzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBNzc5NzkyOTBENkI5RTY0MDAzODUxQjkgLyogSlNJbWFnZURh
dGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDMTkzQzAxMUY1RTExMDUwMDg4RjNFNiAvKiBKU0lt
YWdlU21vb3RoaW5nUXVhbGl0eS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNUNDQzI3MDkyMkQ1NDgz
QTAwOTY0RkEwIC8qIEF1dG9maWxsRWxlbWVudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NjYy
OUQzMDlEQTJCNDgwMDk2MzNBNiAvKiBKU0lucHV0RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTkxNzVDRTVFMjFFMjgxRUQwMERGMkMyOCAvKiBKU0luc3BlY3RvckF1ZGl0QWNjZXNzaWJpbGl0
eU9iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTE3NUNFNUMyMUUyODFFRDAwREYyQzI4IC8q
IEpTSW5zcGVjdG9yQXVkaXRET01PYmplY3QuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmluZGV4IGY1YjUzMjJj
N2I5MDM1ZjczYTQyODE2YTIwY2JiYTEwZTdmZDdmZTQuLjQ2ZjUzZTEyYTFmMzhlOTJjOTBhYzQ4
N2NiOTI3YjkwNzk2ZDM5ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9X
ZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAgLTk0LDYgKzk0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIG1hY3JvKEdQVUNvbXB1dGVQYXNzRW5jb2RlcikgXAogICAgIG1hY3JvKEdQVUNvbXB1
dGVQaXBlbGluZSkgXAogICAgIG1hY3JvKEdQVURldmljZSkgXAorICAgIG1hY3JvKEdQVU91dE9m
TWVtb3J5RXJyb3IpIFwKICAgICBtYWNybyhHUFVQaXBlbGluZUxheW91dCkgXAogICAgIG1hY3Jv
KEdQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyKSBcCiAgICAgbWFjcm8oR1BVUXVldWUpIFwKQEAg
LTEwNiw2ICsxMDcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oR1BVVGV4dHVy
ZSkgXAogICAgIG1hY3JvKEdQVVRleHR1cmVVc2FnZSkgXAogICAgIG1hY3JvKEdQVVRleHR1cmVW
aWV3KSBcCisgICAgbWFjcm8oR1BVVmFsaWRhdGlvbkVycm9yKSBcCiAgICAgbWFjcm8oSFRNTEF0
dGFjaG1lbnRFbGVtZW50KSBcCiAgICAgbWFjcm8oSFRNTEF1ZGlvRWxlbWVudCkgXAogICAgIG1h
Y3JvKEhUTUxEYXRhTGlzdEVsZW1lbnQpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVCdWZmZXIuaAppbmRleCA0MjUwOGJjNzYxNzA1YmYxYTBlNjYxMTc5
MWY1ZWE2NzA5N2I1NTA1Li44ZGEwNDMyMzY5YTcxNDc1NDllZDg1YzUzYmY3MzQzNDE0NmFlOGRk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQnVm
ZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUJ1ZmZl
ci5oCkBAIC0xMDgsNyArMTA4LDcgQEAgcHJpdmF0ZToKICAgICB9OwogCiAgICAgR1BVQnVmZmVy
KFBsYXRmb3JtQnVmZmVyU21hcnRQdHImJiwgUmVmPEdQVURldmljZT4mJiwgc2l6ZV90LCBPcHRp
b25TZXQ8R1BVQnVmZmVyVXNhZ2U6OkZsYWdzPiwgYm9vbCk7Ci0gICAgc3RhdGljIGJvb2wgdmFs
aWRhdGVCdWZmZXJVc2FnZShjb25zdCBHUFVEZXZpY2UmLCBPcHRpb25TZXQ8R1BVQnVmZmVyVXNh
Z2U6OkZsYWdzPik7CisgICAgc3RhdGljIGJvb2wgdmFsaWRhdGVCdWZmZXJVc2FnZShHUFVEZXZp
Y2UmLCBPcHRpb25TZXQ8R1BVQnVmZmVyVXNhZ2U6OkZsYWdzPik7CiAKICAgICBKU0M6OkFycmF5
QnVmZmVyKiBzdGFnaW5nQnVmZmVyRm9yUmVhZCgpOwogICAgIEpTQzo6QXJyYXlCdWZmZXIqIHN0
YWdpbmdCdWZmZXJGb3JXcml0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvR1BVRGV2aWNlLmNwcAppbmRleCBhNjQ5YTYwNzE5MTliNmQ1YzI0MWE3MmYy
Njg4MjVhMGU2NTFlN2FkLi5kNjNmNTZjYWJhMjMxOTQyM2Y3NjgzOWFmNGViYmE1OTZkMzc0NzI1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2
aWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2
aWNlLmNwcApAQCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUgIkdQVVN3YXBDaGFpbkRlc2NyaXB0
b3IuaCIKICNpbmNsdWRlICJHUFVUZXh0dXJlLmgiCiAjaW5jbHVkZSAiR1BVVGV4dHVyZURlc2Ny
aXB0b3IuaCIKKyNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTEwOCw2ICsxMDksNDAgQEAgdm9pZCBHUFVEZXZp
Y2U6OnNldFN3YXBDaGFpbihSZWZQdHI8R1BVU3dhcENoYWluPiYmIHN3YXBDaGFpbikKICAgICBt
X3N3YXBDaGFpbiA9IFdURk1vdmUoc3dhcENoYWluKTsKIH0KIAordm9pZCBHUFVEZXZpY2U6OnB1
c2hFcnJvclNjb3BlKEdQVUVycm9yRmlsdGVyIGZpbHRlcikKK3sKKyAgICBtX2Vycm9yU2NvcGVz
LmFwcGVuZChFcnJvclNjb3BlIHsgZmlsdGVyLCBXVEY6Om51bGxvcHQgfSk7Cit9CisKK3ZvaWQg
R1BVRGV2aWNlOjpwb3BFcnJvclNjb3BlKEVycm9yQ2FsbGJhY2smJiBjYWxsYmFjaykKK3sKKyAg
ICBpZiAoIW1fcGxhdGZvcm1EZXZpY2UpCisgICAgICAgIGNhbGxiYWNrKFdURjo6bnVsbG9wdCwg
IkdQVURldmljZTo6cG9wRXJyb3JTY29wZSgpOiBJbnZhbGlkIEdQVURldmljZSEiKTsKKyAgICBl
bHNlIGlmIChtX2Vycm9yU2NvcGVzLmlzRW1wdHkoKSkKKyAgICAgICAgY2FsbGJhY2soV1RGOjpu
dWxsb3B0LCAiR1BVRGV2aWNlOjpwb3BFcnJvclNjb3BlKCk6IE5vIGVycm9yIHNjb3BlIGV4aXN0
cyEiKTsKKyAgICBlbHNlIHsKKyAgICAgICAgYXV0byBzY29wZSA9IG1fZXJyb3JTY29wZXMudGFr
ZUxhc3QoKTsKKyAgICAgICAgY2FsbGJhY2soc2NvcGUuZmlsdGVyID09IEdQVUVycm9yRmlsdGVy
OjpOb25lID8gV1RGOjpudWxsb3B0IDogV1RGTW92ZShzY29wZS5lcnJvciksIHsgfSk7CisgICAg
fQorfQorCit2b2lkIEdQVURldmljZTo6cmVnaXN0ZXJFcnJvcihjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIEdQVUVycm9yRmlsdGVyIGZpbHRlcikKK3sKKyAgICBhdXRvIGl0ZXJhdG9yID0gc3RkOjpm
aW5kX2lmKG1fZXJyb3JTY29wZXMucmJlZ2luKCksIG1fZXJyb3JTY29wZXMucmVuZCgpLCBbZmls
dGVyXShjb25zdCBFcnJvclNjb3BlJiBzY29wZSkgeworICAgICAgICByZXR1cm4gc2NvcGUuZmls
dGVyID09IEdQVUVycm9yRmlsdGVyOjpOb25lIHx8IHNjb3BlLmZpbHRlciA9PSBmaWx0ZXI7Cisg
ICAgfSk7CisKKyAgICAvLyBGSVhNRTogaHR0cHM6Ly93ZWJraXQub3JnL2IvMTk5Njc2IFVuY2Fw
dHVyZWQgZXJyb3JzIG5lZWQgdG8gYmUgZmlyZWQgYXMgR1BVVW5jYXB0dXJlZEVycm9yRXZlbnRz
LgorICAgIGlmIChpdGVyYXRvciA9PSBtX2Vycm9yU2NvcGVzLnJlbmQoKSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgLy8gSWYgdGhlIHNjb3BlIGhhcyBhbHJlYWR5IGNhcHR1cmVkIGFuIGVycm9y
LCBpZ25vcmUgdGhpcyBuZXcgb25lLgorICAgIGlmIChpdGVyYXRvci0+ZXJyb3IpCisgICAgICAg
IHJldHVybjsKKworICAgIGl0ZXJhdG9yLT5lcnJvciA9IGNyZWF0ZUVycm9yKGZpbHRlciwgbWVz
c2FnZSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShX
RUJHUFUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
R1BVRGV2aWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2
aWNlLmgKaW5kZXggYTcxMzk1NDFkMGJmZDE0ZGIyOGZhOTU5ZmZiMDE5NDMwZjgwM2JiZS4uNjU5
ODdlYWRkZjJiYzRiOTQ2YTI0YTY4YjI4Y2U0YzM2NmY1MGQ2YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaApAQCAtMjcsMTEgKzI3LDE3
IEBACiAKICNpZiBFTkFCTEUoV0VCR1BVKQogCisjaW5jbHVkZSAiR1BVRXJyb3IuaCIKKyNpbmNs
dWRlICJHUFVFcnJvckZpbHRlci5oIgogI2luY2x1ZGUgIkdQVVF1ZXVlLmgiCiAjaW5jbHVkZSAi
R1BVU3dhcENoYWluLmgiCisjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CisjaW5jbHVkZSA8d3Rm
L09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYv
UmV0YWluUHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9XZWFr
UHRyLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIE9CSkNfUFJPVE9DT0wo
TVRMRGV2aWNlKTsKIApAQCAtNTcsNyArNjMsNyBAQCBzdHJ1Y3QgR1BVU2FtcGxlckRlc2NyaXB0
b3I7CiBzdHJ1Y3QgR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvcjsKIHN0cnVjdCBHUFVTd2FwQ2hh
aW5EZXNjcmlwdG9yOwogc3RydWN0IEdQVVRleHR1cmVEZXNjcmlwdG9yOwotICAgIAorCiB1c2lu
ZyBQbGF0Zm9ybURldmljZSA9IE1UTERldmljZTsKIHVzaW5nIFBsYXRmb3JtRGV2aWNlU21hcnRQ
dHIgPSBSZXRhaW5QdHI8TVRMRGV2aWNlPjsKIApAQCAtODQsMTIgKzkwLDI1IEBAIHB1YmxpYzoK
ICAgICBHUFVTd2FwQ2hhaW4qIHN3YXBDaGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fc3dhcENoYWlu
LmdldCgpOyB9CiAgICAgdm9pZCBzZXRTd2FwQ2hhaW4oUmVmUHRyPEdQVVN3YXBDaGFpbj4mJik7
CiAKKyAgICB2b2lkIHB1c2hFcnJvclNjb3BlKEdQVUVycm9yRmlsdGVyKTsKKworICAgIHVzaW5n
IEVycm9yQ2FsbGJhY2sgPSBXVEY6OkZ1bmN0aW9uPHZvaWQoT3B0aW9uYWw8R1BVRXJyb3I+JiYs
IGNvbnN0IFN0cmluZyYpPjsKKyAgICB2b2lkIHBvcEVycm9yU2NvcGUoRXJyb3JDYWxsYmFjayYm
KTsKKyAgICB2b2lkIHJlZ2lzdGVyRXJyb3IoY29uc3QgU3RyaW5nJiwgR1BVRXJyb3JGaWx0ZXIg
PSBHUFVFcnJvckZpbHRlcjo6VmFsaWRhdGlvbik7CisKIHByaXZhdGU6CisgICAgc3RydWN0IEVy
cm9yU2NvcGUgeworICAgICAgICBHUFVFcnJvckZpbHRlciBmaWx0ZXI7CisgICAgICAgIE9wdGlv
bmFsPEdQVUVycm9yPiBlcnJvcjsKKyAgICB9OworCiAgICAgZXhwbGljaXQgR1BVRGV2aWNlKFBs
YXRmb3JtRGV2aWNlU21hcnRQdHImJik7CiAKICAgICBQbGF0Zm9ybURldmljZVNtYXJ0UHRyIG1f
cGxhdGZvcm1EZXZpY2U7CiAgICAgbXV0YWJsZSBSZWZQdHI8R1BVUXVldWU+IG1fcXVldWU7CiAg
ICAgUmVmUHRyPEdQVVN3YXBDaGFpbj4gbV9zd2FwQ2hhaW47CisKKyAgICBWZWN0b3I8RXJyb3JT
Y29wZT4gbV9lcnJvclNjb3BlczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3IuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmU4NjRhM2Q2M2E5NDRmMzNmYzQzYjMyM2Y1ODJkODQ4Y2MyOWJhODUKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3Iu
Y3BwCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiR1BVRXJyb3IuaCIKKworI2lmIEVOQUJMRShXRUJHUFUpCisKKyNpbmNsdWRlICJH
UFVFcnJvckZpbHRlci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK09wdGlvbmFsPEdQVUVy
cm9yPiBjcmVhdGVFcnJvcihHUFVFcnJvckZpbHRlciBmaWx0ZXIsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSkKK3sKKyAgICBzd2l0Y2ggKGZpbHRlcikgeworICAgIGNhc2UgR1BVRXJyb3JGaWx0ZXI6
Ok91dE9mTWVtb3J5OgorICAgICAgICByZXR1cm4gR1BVRXJyb3IoUmVmUHRyPEdQVU91dE9mTWVt
b3J5RXJyb3I+KEdQVU91dE9mTWVtb3J5RXJyb3I6OmNyZWF0ZSgpKSk7CisgICAgY2FzZSBHUFVF
cnJvckZpbHRlcjo6VmFsaWRhdGlvbjoKKyAgICAgICAgcmV0dXJuIEdQVUVycm9yKFJlZlB0cjxH
UFVWYWxpZGF0aW9uRXJyb3I+KEdQVVZhbGlkYXRpb25FcnJvcjo6Y3JlYXRlKG1lc3NhZ2UpKSk7
CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CisgICAgfQorfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvR1BVRXJyb3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNjdjMzVhZGM4OTBkMzcyZmNjOTcz
YzhmZGRmMmI3YjZmNTkzNmJjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9yLmgKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQkdQVSkKKworI2luY2x1ZGUgIkdQVU91
dE9mTWVtb3J5RXJyb3IuaCIKKyNpbmNsdWRlICJHUFVWYWxpZGF0aW9uRXJyb3IuaCIKKyNpbmNs
dWRlIDx3dGYvT3B0aW9uYWwuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8
d3RmL1ZhcmlhbnQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNzIEdQVUVycm9yRmlsdGVyOworCit1c2luZyBHUFVF
cnJvciA9IFZhcmlhbnQ8UmVmUHRyPEdQVU91dE9mTWVtb3J5RXJyb3I+LCBSZWZQdHI8R1BVVmFs
aWRhdGlvbkVycm9yPj47CisKK09wdGlvbmFsPEdQVUVycm9yPiBjcmVhdGVFcnJvcihHUFVFcnJv
ckZpbHRlciwgY29uc3QgU3RyaW5nJik7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
RXJyb3JGaWx0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVF
cnJvckZpbHRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1NjlmZWYzMjcwNWQ5OWJmZWNlYTAwODkxZmYxNjQ0
YTBhNGQxNzIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvR1BVRXJyb3JGaWx0ZXIuaApAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCR1BVKQorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisgICAgCitlbnVtIGNsYXNzIEdQVUVycm9yRmlsdGVyIHsKKyAgICBOb25lLAorICAgIE91dE9m
TWVtb3J5LAorICAgIFZhbGlkYXRpb24sCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVU91dE9mTWVtb3J5RXJyb3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVPdXRPZk1lbW9yeUVycm9yLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OWY0MjBlOTdkZmUzYmYwNzU2NmM1YjZhMGZkZWM0NjY4OTYxNzk0MwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVPdXRPZk1lbW9yeUVy
cm9yLmgKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYg
RU5BQkxFKFdFQkdQVSkKKworI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEdQVU91dE9mTWVtb3J5
RXJyb3IgOiBwdWJsaWMgUmVmQ291bnRlZDxHUFVPdXRPZk1lbW9yeUVycm9yPiB7CitwdWJsaWM6
CisgICAgc3RhdGljIFJlZjxHUFVPdXRPZk1lbW9yeUVycm9yPiBjcmVhdGUoKSB7IHJldHVybiBh
ZG9wdFJlZigqbmV3IEdQVU91dE9mTWVtb3J5RXJyb3IpOyB9Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVmFsaWRhdGlvbkVycm9yLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zOTdlNTQ1NDYxMzg2Y2ZmY2Q0MTA4NzdkYzM2MTRmNmRmMTgyODc5Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQ
VVZhbGlkYXRpb25FcnJvci5jcHAKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJHUFVWYWxpZGF0aW9uRXJyb3IuaCIKKworI2lmIEVO
QUJMRShXRUJHUFUpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVmPEdQVVZhbGlkYXRpb25F
cnJvcj4gR1BVVmFsaWRhdGlvbkVycm9yOjpjcmVhdGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQor
eworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEdQVVZhbGlkYXRpb25FcnJvcihtZXNzYWdlKSk7
Cit9CisKK0dQVVZhbGlkYXRpb25FcnJvcjo6R1BVVmFsaWRhdGlvbkVycm9yKGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSkKKyAgICA6IG1fbWVzc2FnZShtZXNzYWdlKQoreworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjcyMjVhYzIwN2ZjYTNiZWRiZTYxMTU1YTc1OTdhZGE1NTY3Mzg1ZTAKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
VmFsaWRhdGlvbkVycm9yLmgKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEg
b25jZQorCisjaWYgRU5BQkxFKFdFQkdQVSkKKworI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEdQVVZhbGlkYXRpb25FcnJvciA6IHB1Ymxp
YyBSZWZDb3VudGVkPEdQVVZhbGlkYXRpb25FcnJvcj4geworcHVibGljOgorICAgIHN0YXRpYyBS
ZWY8R1BVVmFsaWRhdGlvbkVycm9yPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKTsKKwor
ICAgIFN0cmluZyBtZXNzYWdlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNzYWdlOyB9CisKK3ByaXZh
dGU6CisgICAgZXhwbGljaXQgR1BVVmFsaWRhdGlvbkVycm9yKGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSk7CisKKyAgICBTdHJpbmcgbV9tZXNzYWdlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdQVSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVCdWZmZXJNZXRhbC5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVCdWZmZXJNZXRhbC5tbQppbmRl
eCA1OWEwN2ZmOWNlYjdkOGVhNTJkM2NiNmNkMWFjM2M3ZGY1ZmMyYTA1Li4wMjQ2MDMxMGNmY2Vi
MGIyZjEwMjlkNmNmMTQ1YTA5ZjkwNDZjODQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVQnVmZmVyTWV0YWwubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVUJ1ZmZlck1ldGFsLm1tCkBA
IC00Miw3ICs0Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBjb25zdGV4cHIgYXV0
byByZWFkT25seUZsYWdzID0gT3B0aW9uU2V0PEdQVUJ1ZmZlclVzYWdlOjpGbGFncz4geyBHUFVC
dWZmZXJVc2FnZTo6RmxhZ3M6OkluZGV4LCBHUFVCdWZmZXJVc2FnZTo6RmxhZ3M6OlZlcnRleCwg
R1BVQnVmZmVyVXNhZ2U6OkZsYWdzOjpVbmlmb3JtLCBHUFVCdWZmZXJVc2FnZTo6RmxhZ3M6OlRy
YW5zZmVyU291cmNlIH07CiAKIAotYm9vbCBHUFVCdWZmZXI6OnZhbGlkYXRlQnVmZmVyVXNhZ2Uo
Y29uc3QgR1BVRGV2aWNlJiBkZXZpY2UsIE9wdGlvblNldDxHUFVCdWZmZXJVc2FnZTo6RmxhZ3M+
IHVzYWdlKQorYm9vbCBHUFVCdWZmZXI6OnZhbGlkYXRlQnVmZmVyVXNhZ2UoR1BVRGV2aWNlJiBk
ZXZpY2UsIE9wdGlvblNldDxHUFVCdWZmZXJVc2FnZTo6RmxhZ3M+IHVzYWdlKQogewogICAgIGlm
ICghZGV2aWNlLnBsYXRmb3JtRGV2aWNlKCkpIHsKICAgICAgICAgTE9HKFdlYkdQVSwgIkdQVUJ1
ZmZlcjo6dHJ5Q3JlYXRlKCk6IEludmFsaWQgR1BVRGV2aWNlISIpOwpAQCAtNTAsNyArNTAsNyBA
QCBib29sIEdQVUJ1ZmZlcjo6dmFsaWRhdGVCdWZmZXJVc2FnZShjb25zdCBHUFVEZXZpY2UmIGRl
dmljZSwgT3B0aW9uU2V0PEdQVUJ1ZmZlcgogICAgIH0KIAogICAgIGlmICh1c2FnZS5jb250YWlu
c0FsbCh7IEdQVUJ1ZmZlclVzYWdlOjpGbGFnczo6TWFwV3JpdGUsIEdQVUJ1ZmZlclVzYWdlOjpG
bGFnczo6TWFwUmVhZCB9KSkgewotICAgICAgICBMT0coV2ViR1BVLCAiR1BVQnVmZmVyOjp0cnlD
cmVhdGUoKTogQnVmZmVyIGNhbm5vdCBoYXZlIGJvdGggTUFQX1JFQUQgYW5kIE1BUF9XUklURSB1
c2FnZSEiKTsKKyAgICAgICAgZGV2aWNlLnJlZ2lzdGVyRXJyb3IoIkdQVUJ1ZmZlcjo6dHJ5Q3Jl
YXRlKCk6IEJ1ZmZlciBjYW5ub3QgaGF2ZSBib3RoIE1BUF9SRUFEIGFuZCBNQVBfV1JJVEUgdXNh
Z2UhIik7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKQEAgLTY3LDcgKzY3LDcgQEAg
UmVmUHRyPEdQVUJ1ZmZlcj4gR1BVQnVmZmVyOjp0cnlDcmVhdGUoUmVmPEdQVURldmljZT4mJiBk
ZXZpY2UsIGNvbnN0IEdQVUJ1ZmZlckQKICAgICAvLyBNVExCdWZmZXIgc2l6ZSAoTlNVSW50ZWdl
cikgaXMgMzIgYml0cyBvbiBzb21lIHBsYXRmb3Jtcy4KICAgICBOU1VJbnRlZ2VyIHNpemUgPSAw
OwogICAgIGlmICghV1RGOjpjb252ZXJ0U2FmZWx5KGRlc2NyaXB0b3Iuc2l6ZSwgc2l6ZSkpIHsK
LSAgICAgICAgTE9HKFdlYkdQVSwgIkdQVUJ1ZmZlcjo6dHJ5Q3JlYXRlKCk6IEJ1ZmZlciBzaXpl
IGlzIHRvbyBsYXJnZSEiKTsKKyAgICAgICAgZGV2aWNlLT5yZWdpc3RlckVycm9yKCIiLCBHUFVF
cnJvckZpbHRlcjo6T3V0T2ZNZW1vcnkpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9
CiAKQEAgLTEwMiw3ICsxMDIsNyBAQCBSZWZQdHI8R1BVQnVmZmVyPiBHUFVCdWZmZXI6OnRyeUNy
ZWF0ZShSZWY8R1BVRGV2aWNlPiYmIGRldmljZSwgY29uc3QgR1BVQnVmZmVyRAogICAgIEVORF9C
TE9DS19PQkpDX0VYQ0VQVElPTlM7CiAKICAgICBpZiAoIW10bEJ1ZmZlcikgewotICAgICAgICBM
T0coV2ViR1BVLCAiR1BVQnVmZmVyOjp0cnlDcmVhdGUoKTogVW5hYmxlIHRvIGNyZWF0ZSBNVExC
dWZmZXIhIik7CisgICAgICAgIGRldmljZS0+cmVnaXN0ZXJFcnJvcigiIiwgR1BVRXJyb3JGaWx0
ZXI6Ok91dE9mTWVtb3J5KTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggNzA4Mjk0OTgyODQwMGMxYzM3Y2Y2YTlhODQ3NzgwN2ZhY2U2MDUyYi4uY2Y2MDMwZTE3OWMy
NTAyYzAxZDhmN2EyYTVjYWZmYjkwOGJjZTBkOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5
LTA3LTEwICBKdXN0aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dl
YkdQVV0gSW1wbGVtZW50IHZhbGlkYXRpb24gZXJyb3JzIGFuZCBlcnJvciBzY29wZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTY1NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHRlc3QgdG8g
Y292ZXIgdGhlIGNhc2VzIG91dGxpbmVkIGluIHRoZSBXZWJHUFUgZXJyb3IgaGFuZGxpbmcgZGVz
aWduIGRvYy4KKworICAgICAgICAqIHdlYmdwdS9lcnJvci1zY29wZXMtdGVzdC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdwdS9lcnJvci1zY29wZXMtdGVzdC5odG1sOiBBZGRl
ZC4KKwogMjAxOS0wNy0xMCAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgog
CiAgICAgICAgIEFYOiBWb2ljZU92ZXIgaWdub3JlZCByb2xlPSJwcmVzZW50YXRpb24iIG9uIDx0
YWJsZT4gSFRNTCBlbGVtZW50cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2Vycm9y
LXNjb3Blcy10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdwdS9lcnJvci1zY29w
ZXMtdGVzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGViYTY3Zjg3NjFmMjBhOTg4OTUwY2Ey
NDNjYzBmNWZmMjZhNTlhNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdwdS9l
cnJvci1zY29wZXMtdGVzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorCitQQVNTIENh
cHR1cmUgYSBzaW5nbGUgR1BVVmFsaWRhdGlvbiBlcnJvci4gCitQQVNTIENhcHR1cmUgYSBzaW5n
bGUgR1BVT3V0T2ZNZW1vcnkgZXJyb3IuIAorUEFTUyBJZ25vcmUgZXJyb3JzIHBhc3QgdGhlIGZp
cnN0LiAKK1BBU1MgQ2FwdHVyZWQgZXJyb3JzIG1hdGNoIGVycm9yIHNjb3BlIGZpbHRlci4gCitQ
QVNTIFJlamVjdCBwb3BFcnJvclNjb3BlIGlmIG5vIHNjb3BlIGV4aXN0cy4gCitQQVNTIEZpbHRl
ciAnbm9uZScgc2hvdWxkIGNhcHR1cmUgYnV0IG5vdCByZXBvcnQgZXJyb3JzLiAKK1BBU1MgUHVz
aCBhbmQgcG9wIG1hbnkgZXJyb3Igc2NvcGVzIHdpdGggbm8gcmVqZWN0aW9ucy4gCitQQVNTIENh
dGNoIG1hbnkgZXJyb3JzIGluIG5lc3RlZCBzY29wZXMuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJncHUvZXJyb3Itc2NvcGVzLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdwdS9l
cnJvci1zY29wZXMtdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVjZmNjYTFiNWUxNDFhZDQ3NTliZjJk
YWVhMmVkMjU5NDQ2NDc1MTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJncHUv
ZXJyb3Itc2NvcGVzLXRlc3QuaHRtbApAQCAtMCwwICsxLDEyMiBAQAorPCFET0NUWVBFIGh0bWw+
Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPlRlc3QgRXJyb3IgU2NvcGVzLjwvdGl0bGU+
Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJqcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0PgorbGV0IHRlc3RzID0ge307CisKK3Rlc3RzWyJDYXB0dXJlIGEgc2luZ2xlIEdQVVZh
bGlkYXRpb24gZXJyb3IuIl0gPSBhc3luYyBkZXZpY2UgPT4geworICAgIGRldmljZS5wdXNoRXJy
b3JTY29wZSgidmFsaWRhdGlvbiIpOworICAgIGNhdXNlVmFsaWRhdGlvbkVycm9yKGRldmljZSk7
CisgICAgcmV0dXJuIHBvcFZhbGlkYXRpb25FcnJvcihkZXZpY2UpOworfTsKKwordGVzdHNbIkNh
cHR1cmUgYSBzaW5nbGUgR1BVT3V0T2ZNZW1vcnkgZXJyb3IuIl0gPSBhc3luYyBkZXZpY2UgPT4g
eworICAgIGRldmljZS5wdXNoRXJyb3JTY29wZSgib3V0LW9mLW1lbW9yeSIpOworICAgIGNhdXNl
TWVtb3J5RXJyb3IoZGV2aWNlKTsKKyAgICByZXR1cm4gcG9wTWVtb3J5RXJyb3IoZGV2aWNlKTsK
K307CisKK3Rlc3RzWyJJZ25vcmUgZXJyb3JzIHBhc3QgdGhlIGZpcnN0LiJdID0gYXN5bmMgZGV2
aWNlID0+IHsKKyAgICBkZXZpY2UucHVzaEVycm9yU2NvcGUoInZhbGlkYXRpb24iKTsKKyAgICBk
ZXZpY2UucHVzaEVycm9yU2NvcGUoInZhbGlkYXRpb24iKTsKKyAgICBjYXVzZVZhbGlkYXRpb25F
cnJvcihkZXZpY2UpOworICAgIGNhdXNlVmFsaWRhdGlvbkVycm9yKGRldmljZSk7CisgICAgCisg
ICAgY29uc3QgZXJyb3IgPSBhd2FpdCBkZXZpY2UucG9wRXJyb3JTY29wZSgpOworICAgIGFzc2Vy
dFZhbGlkYXRpb25FcnJvcihlcnJvcik7CisKKyAgICByZXR1cm4gcG9wTnVsbEVycm9yKGRldmlj
ZSk7Cit9OworCit0ZXN0c1siQ2FwdHVyZWQgZXJyb3JzIG1hdGNoIGVycm9yIHNjb3BlIGZpbHRl
ci4iXSA9IGFzeW5jIGRldmljZSA9PiB7CisgICAgZGV2aWNlLnB1c2hFcnJvclNjb3BlKCJ2YWxp
ZGF0aW9uIik7CisgICAgZGV2aWNlLnB1c2hFcnJvclNjb3BlKCJvdXQtb2YtbWVtb3J5Iik7Cisg
ICAgY2F1c2VWYWxpZGF0aW9uRXJyb3IoZGV2aWNlKTsKKworICAgIGNvbnN0IHNob3VsZEJlTnVs
bCA9IGF3YWl0IGRldmljZS5wb3BFcnJvclNjb3BlKCk7CisgICAgYXNzZXJ0TnVsbChzaG91bGRC
ZU51bGwpOworCisgICAgcmV0dXJuIHBvcFZhbGlkYXRpb25FcnJvcihkZXZpY2UpOworfTsKKwor
dGVzdHNbIlJlamVjdCBwb3BFcnJvclNjb3BlIGlmIG5vIHNjb3BlIGV4aXN0cy4iXSA9IGFzeW5j
IGRldmljZSA9PiB7CisgICAgY29uc3QgcHJvbWlzZSA9IGRldmljZS5wb3BFcnJvclNjb3BlKCku
dGhlbigoKSA9PiBhc3NlcnRfdW5yZWFjaGVkKCksIGFzeW5jIGUgPT4geworICAgICAgICBhc3Nl
cnRfZmFsc2UoZSA9PT0gdW5kZWZpbmVkKTsKKyAgICAgICAgLy8gUG9wIHRoZSBleHRyYSAnbm9u
ZScgc2NvcGUuCisgICAgICAgIGF3YWl0IHBvcE51bGxFcnJvcihkZXZpY2UpOworICAgIH0pOwor
ICAgIC8vICdwcm9taXNlJyBzaG91bGQgc3RpbGwgcmVqZWN0IGlmIGEgc2NvcGUgaXMgcHVzaGVk
IGhlcmUuCisgICAgZGV2aWNlLnB1c2hFcnJvclNjb3BlKCJub25lIik7CisgICAgcmV0dXJuIHBy
b21pc2U7Cit9OworCit0ZXN0c1siRmlsdGVyICdub25lJyBzaG91bGQgY2FwdHVyZSBidXQgbm90
IHJlcG9ydCBlcnJvcnMuIl0gPSBhc3luYyBkZXZpY2UgPT4geworICAgIGRldmljZS5wdXNoRXJy
b3JTY29wZSgib3V0LW9mLW1lbW9yeSIpOworICAgIGRldmljZS5wdXNoRXJyb3JTY29wZSgibm9u
ZSIpOworICAgIGNhdXNlTWVtb3J5RXJyb3IoZGV2aWNlKTsKKworICAgIGNvbnN0IHNob3VsZEJl
TnVsbCA9IGF3YWl0IGRldmljZS5wb3BFcnJvclNjb3BlKCk7CisgICAgYXNzZXJ0TnVsbChzaG91
bGRCZU51bGwpOworCisgICAgcmV0dXJuIHBvcE51bGxFcnJvcihkZXZpY2UpOworfTsKKwordGVz
dHNbIlB1c2ggYW5kIHBvcCBtYW55IGVycm9yIHNjb3BlcyB3aXRoIG5vIHJlamVjdGlvbnMuIl0g
PSBhc3luYyBkZXZpY2UgPT4geworICAgIGNvbnN0IG51bUl0ZXJhdGlvbnMgPSAxMjg7CisgICAg
Zm9yIChsZXQgaSA9IDA7IGkgPCBudW1JdGVyYXRpb25zOyArK2kpCisgICAgICAgIGRldmljZS5w
dXNoRXJyb3JTY29wZSgib3V0LW9mLW1lbW9yeSIpOworICAgIAorICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgbnVtSXRlcmF0aW9ucyAtIDE7ICsraSkKKyAgICAgICAgYXdhaXQgcG9wTnVsbEVycm9y
KGRldmljZSk7CisKKyAgICByZXR1cm4gcG9wTnVsbEVycm9yKGRldmljZSk7Cit9OworCit0ZXN0
c1siQ2F0Y2ggbWFueSBlcnJvcnMgaW4gbmVzdGVkIHNjb3Blcy4iXSA9IGFzeW5jIGRldmljZSA9
PiB7CisgICAgY29uc3QgbnVtSXRlcmF0aW9ucyA9IDEyODsKKyAgICBmb3IgKGxldCBpID0gMDsg
aSA8IG51bUl0ZXJhdGlvbnM7ICsraSkgeworICAgICAgICBkZXZpY2UucHVzaEVycm9yU2NvcGUo
InZhbGlkYXRpb24iKTsKKyAgICAgICAgY2F1c2VWYWxpZGF0aW9uRXJyb3IoZGV2aWNlKTsKKyAg
ICB9CisKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IG51bUl0ZXJhdGlvbnMgLSAxOyArK2kpCisg
ICAgICAgIGF3YWl0IHBvcFZhbGlkYXRpb25FcnJvcihkZXZpY2UpOworCisgICAgcmV0dXJuIHBv
cFZhbGlkYXRpb25FcnJvcihkZXZpY2UpOworfTsKKworY29uc3QgaW5pdCA9IGFzeW5jICgpID0+
IHsKKyAgICB0cnkgeworICAgICAgICB2YXIgZGV2aWNlID0gYXdhaXQgZ2V0QmFzaWNEZXZpY2Uo
KTsKKyAgICB9IGNhdGNoIChlKSB7IC8qIFdlYkdQVSBpcyBub3Qgc3VwcG9ydGVkLiAqLyB9CisK
KyAgICBmb3IgKGxldCBuYW1lIGluIHRlc3RzKQorICAgICAgICBkZXZpY2VQcm9taXNlVGVzdChk
ZXZpY2UsIG5hbWUpOworfTsKKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBpbml0
KTsKKworLyogSGVscGVyIEZ1bmN0aW9ucyAqLworCitjb25zdCBjYXVzZVZhbGlkYXRpb25FcnJv
ciA9IGRldmljZSA9PiBkZXZpY2UuY3JlYXRlQnVmZmVyKHsgc2l6ZTogNCwgdXNhZ2U6IEdQVUJ1
ZmZlclVzYWdlLk1BUF9SRUFEIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFIH0pOworY29uc3Qg
Y2F1c2VNZW1vcnlFcnJvciA9IGRldmljZSA9PiBkZXZpY2UuY3JlYXRlQnVmZmVyKHsgc2l6ZTog
OTk5OTk5OTk5OTksIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5OT05FIH0pOworY29uc3QgcG9wVmFs
aWRhdGlvbkVycm9yID0gZGV2aWNlID0+IGRldmljZS5wb3BFcnJvclNjb3BlKCkudGhlbihlcnJv
ciA9PiBhc3NlcnRWYWxpZGF0aW9uRXJyb3IoZXJyb3IpKTsKK2NvbnN0IHBvcE1lbW9yeUVycm9y
ID0gZGV2aWNlID0+IGRldmljZS5wb3BFcnJvclNjb3BlKCkudGhlbihlcnJvciA9PiBhc3NlcnRN
ZW1vcnlFcnJvcihlcnJvcikpOworY29uc3QgcG9wTnVsbEVycm9yID0gZGV2aWNlID0+IGRldmlj
ZS5wb3BFcnJvclNjb3BlKCkudGhlbihlcnJvciA9PiBhc3NlcnROdWxsKGVycm9yKSk7Citjb25z
dCBhc3NlcnROdWxsID0gZXJyb3IgPT4gYXNzZXJ0X3RydWUoZXJyb3IgPT09IG51bGwsICJObyBl
cnJvciBleHBlY3RlZCEiKTsKK2NvbnN0IGFzc2VydFZhbGlkYXRpb25FcnJvciA9IGVycm9yID0+
IGFzc2VydF90cnVlKGVycm9yIGluc3RhbmNlb2YgR1BVVmFsaWRhdGlvbkVycm9yLCAiRXhwZWN0
ZWQgdmFsaWRhdGlvbiBlcnJvciEiKTsKK2NvbnN0IGFzc2VydE1lbW9yeUVycm9yID0gZXJyb3Ig
PT4gYXNzZXJ0X3RydWUoZXJyb3IgaW5zdGFuY2VvZiBHUFVPdXRPZk1lbW9yeUVycm9yLCAiRXhw
ZWN0ZWQgb3V0LW9mLW1lbW9yeSBlcnJvciEiKTsKKworY29uc3QgZGV2aWNlUHJvbWlzZVRlc3Qg
PSAoZGV2aWNlLCBuYW1lKSA9PiB7CisgICAgcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAg
ICAgICAgaWYgKGRldmljZSA9PT0gdW5kZWZpbmVkKQorICAgICAgICAgICAgcmV0dXJuIFByb21p
c2UucmVzb2x2ZSgpOworICAgICAgICByZXR1cm4gdGVzdHNbbmFtZV0oZGV2aWNlKTsKKyAgICB9
LCBuYW1lKTsKK307Cis8L3NjcmlwdD4KKzwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373893</attachid>
            <date>2019-07-10 19:09:01 -0700</date>
            <delta_ts>2019-07-10 19:21:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199655-20190710190901.patch</filename>
            <type>text/plain</type>
            <size>62857</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MzMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M3NGRjYzgxYjU3YTkx
YWMxNzMwN2Q3YjA2YWZhMjcxZjUxMDIwMC4uZWZkYjVlNWUzMWM1ZDZhY2E1M2MxOWM5OWRkMzcz
ODJmOTIyMDU0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE5LTA3LTEwICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gSW1wbGVt
ZW50IEdQVUVycm9yIGFuZCBlcnJvciBzY29wZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTY1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBHUFVFcnJvckZpbHRlciwgR1BVRXJyb3IsIGFuZCB0
aGUgYWJpbGl0eSB0byBwdXNoIGFuZCBwb3AgZXJyb3Igc2NvcGVzIG9uIGEgR1BVRGV2aWNlLgor
ICAgICAgICBUaGlzIHdpbGwgYWxsb3cgdXMgdG8gY2hlY2sgZm9yIFdlYkdQVSBlcnJvcnMgZnJv
bSBKYXZhU2NyaXB0LgorICAgICAgICBDdXJyZW50bHksIG9ubHkgc29tZSBHUFVCdWZmZXIgY3Jl
YXRpb24gZXJyb3JzIGFyZSByZXBvcnRlZCBmb3IgdGVzdGluZzsgbW9yZSBlcnJvcnMgd2lsbCBm
b2xsb3cgaW4gbGF0ZXIgcGF0Y2hlcy4KKworICAgICAgICBUZXN0OiB3ZWJncHUvZXJyb3Itc2Nv
cGVzLXRlc3QuaHRtbAorCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvR1BVRXJyb3JGaWx0ZXIu
aWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9HUFVPdXRPZk1lbW9yeUVycm9y
LmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvR1BVVmFsaWRhdGlvbkVycm9y
LmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OldlYkdQVURldmljZTo6cHVzaEVycm9yU2NvcGUpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViR1BVRGV2aWNlOjpwb3BFcnJvclNjb3BlKTogUmVzb2x2ZSB0aGUgUHJv
bWlzZSBoZXJlLCBzaW5jZSBHUFVEZXZpY2Ugc2hvdWxkbid0IHdvcnJ5IGFib3V0IERPTSBsYXll
ci4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaDoKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6V2ViR1BVRGV2aWNlRXJyb3JTY29wZXM6OnB1c2hFcnJvclNjb3BlKTogRGVs
ZWdhdGVzIHRvIFdlYkdQVURldmljZS4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVURldmljZUVy
cm9yU2NvcGVzOjpwb3BFcnJvclNjb3BlKTogRGl0dG8uCisgICAgICAgICogTW9kdWxlcy93ZWJn
cHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy93
ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9ncHUvR1BVQnVmZmVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0dQVURldmljZS5jcHA6IFRoZSBhY3R1YWwgZXJyb3Igc3RhY2sgbGl2ZXMgaGVyZS4K
KyAgICAgICAgKFdlYkNvcmU6OkdQVURldmljZTo6cHVzaEVycm9yU2NvcGUpOgorICAgICAgICAo
V2ViQ29yZTo6R1BVRGV2aWNlOjpwb3BFcnJvclNjb3BlKTogQ2FsbHMgYSBjYWxsYmFjayB3aXRo
IGEgR1BVRXJyb3IsIGlmIGFueS4KKyAgICAgICAgKFdlYkNvcmU6OkdQVURldmljZTo6cmVnaXN0
ZXJFcnJvcik6IEFjdHVhbGx5IGNyZWF0ZXMgR1BVRXJyb3JzLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVRXJyb3IuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUVycm9yKTog
RmFjdG9yeSBmdW5jdGlvbiBmb3IgdmFyaW91cyBlcnJvciB0eXBlcy4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3IuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0dQVUVycm9yRmlsdGVyLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVPdXRPZk1lbW9yeUVycm9yLmg6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZTo6R1BVT3V0T2ZNZW1vcnlFcnJvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9ncHUvR1BVVmFsaWRhdGlvbkVycm9yLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpHUFVWYWxpZGF0aW9uRXJyb3I6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpHUFVW
YWxpZGF0aW9uRXJyb3I6OkdQVVZhbGlkYXRpb25FcnJvcik6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkdQVVZhbGlkYXRpb25FcnJvcjo6bWVzc2FnZSBjb25zdCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVUJ1ZmZlck1ldGFsLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6R1BVQnVmZmVyOjp2YWxpZGF0ZUJ1ZmZlclVzYWdlKTogQ3JlYXRlIGFuIGFjdHVhbCBHUFVW
YWxpZGF0aW9uRXJyb3IgOikKKyAgICAgICAgKFdlYkNvcmU6OkdQVUJ1ZmZlcjo6dHJ5Q3JlYXRl
KTogQ3JlYXRlIEdQVU91dE9mTWVtb3J5RXJyb3JzIHdoZXJlIGFwcHJvcHJpYXRlLgorCisgICAg
ICAgIEFkZCBmaWxlL25hbWUgcmVmZXJlbmNlczoKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
Lm1ha2U6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGlu
TmFtZXMuaDoKKworICAgICAgICBNaXNzaW5nIGluY2x1ZGVzOgorICAgICAgICAqIE1vZHVsZXMv
d2ViZ3B1L1dITFNML1dITFNMQ2hlY2tUZXh0dXJlUmVmZXJlbmNlcy5jcHA6CisKIDIwMTktMDct
MTAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBTdG9wIHVzaW5n
IEdlbmVyaWNUYXNrUXVldWUgZnJvbSBtdWx0aXBsZSB0aHJlYWRzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CmluZGV4IDNjZTUxNjYxMzEwNDFkZWI3MWM5ZTdiZTk1NTc5MDU1OTM3OTg1ODIuLjg0ZDg0YWM1
NzJjMjg1NTMwYTRjZDE5NmZlNzg2Y2U2NmJlMGRjNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBA
IC00ODAsOSArNDgwLDExIEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9k
dWxlcy93ZWJncHUvR1BVQ29sb3JXcml0ZUJpdHMuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvR1BV
Q29tcGFyZUZ1bmN0aW9uLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L0dQVURlcHRoU3RlbmNpbFN0
YXRlRGVzY3JpcHRvci5pZGwKKyAgICBNb2R1bGVzL3dlYmdwdS9HUFVFcnJvckZpbHRlci5pZGwK
ICAgICBNb2R1bGVzL3dlYmdwdS9HUFVFeHRlbnQzRC5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9H
UFVMb2FkT3AuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvR1BVT3JpZ2luM0QuaWRsCisgICAgTW9k
dWxlcy93ZWJncHUvR1BVT3V0T2ZNZW1vcnlFcnJvci5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9H
UFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvR1BVU2FtcGxl
ckRlc2NyaXB0b3IuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvR1BVU2hhZGVyU3RhZ2VCaXQuaWRs
CkBAIC00OTAsNiArNDkyLDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBN
b2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5pZGwKICAgICBNb2R1bGVzL3dlYmdw
dS9HUFVUZXh0dXJlRm9ybWF0LmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVVc2Fn
ZS5pZGwKKyAgICBNb2R1bGVzL3dlYmdwdS9HUFVWYWxpZGF0aW9uRXJyb3IuaWRsCiAgICAgTW9k
dWxlcy93ZWJncHUvR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRvci5pZGwKICAgICBNb2R1bGVz
L3dlYmdwdS9HUFVWZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1
L0dQVVZlcnRleElucHV0RGVzY3JpcHRvci5pZGwKQEAgLTUwOCw2ICs1MTEsNyBAQCBzZXQoV2Vi
Q29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQ
aXBlbGluZS5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21wdXRlUGlwZWxpbmVEZXNj
cmlwdG9yLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5pZGwKKyAgICBNb2R1
bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5pZGwKICAgICBNb2R1bGVzL3dlYmdw
dS9XZWJHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L1dl
YkdQVVBpcGVsaW5lTGF5b3V0LmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5l
TGF5b3V0RGVzY3JpcHRvci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1p
bnB1dC54Y2ZpbGVsaXN0CmluZGV4IGM2OWQzZGQ0MTdiYmQ5MjRmOTUyMmMxNDc0OGNlODFlMjdk
MDEzZDEuLmE2ODEzNzYwMWQ4Mjk0YWZiMTJjODZiYmY0MWMxNjc5ZDI4MWY3YjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtMzMwLDEw
ICszMzAsMTIgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJncHUvR1BVQ29sb3JTdGF0ZURl
c2NyaXB0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9HUFVDb2xvcldyaXRl
Qml0cy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVUNvbXBhcmVGdW5jdGlv
bi5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVURlcHRoU3RlbmNpbFN0YXRl
RGVzY3JpcHRvci5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVUVycm9yRmls
dGVyLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJncHUvR1BVRXh0ZW50M0QuaWRsCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9HUFVJbnB1dFN0YXRlRGVzY3JpcHRvci5pZGwK
ICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVUxvYWRPcC5pZGwKICQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvd2ViZ3B1L0dQVU9yaWdpbjNELmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxl
cy93ZWJncHUvR1BVT3V0T2ZNZW1vcnlFcnJvci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
d2ViZ3B1L0dQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvd2ViZ3B1L0dQVVNhbXBsZXJEZXNjcmlwdG9yLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxl
cy93ZWJncHUvR1BVU2hhZGVyU3RhZ2VCaXQuaWRsCkBAIC0zNDEsNiArMzQzLDcgQEAgJChQUk9K
RUNUX0RJUikvTW9kdWxlcy93ZWJncHUvR1BVU3RvcmVPcC5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmlkbAogJChQUk9KRUNUX0RJUikvTW9k
dWxlcy93ZWJncHUvR1BVVGV4dHVyZUZvcm1hdC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
d2ViZ3B1L0dQVVRleHR1cmVVc2FnZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1
L0dQVVZhbGlkYXRpb25FcnJvci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQ
VVZlcnRleEF0dHJpYnV0ZURlc2NyaXB0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dl
YmdwdS9HUFVWZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxl
cy93ZWJncHUvR1BVVmVydGV4SW5wdXREZXNjcmlwdG9yLmlkbApAQCAtMzYxLDYgKzM2NCw3IEBA
ICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQYXNzRW5jb2Rlci5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQaXBlbGluZS5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQaXBlbGluZURl
c2NyaXB0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2Uu
aWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Bl
cy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lRGVzY3Jp
cHRvckJhc2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGlu
ZUxheW91dC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5l
TGF5b3V0RGVzY3JpcHRvci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMt
b3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggMzdjM2M4YjFiYTUyYjI2MzBmMWYwNTNmMmIwNTI1MzVj
ZGM1MGNiNy4uNGEyNmQyOTJjNDkxZjQ5YmNiNjQxZWQ2ZmM3ZDgwNGNkYzZiZTdmNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysr
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTYw
OSw2ICs2MDksOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0dQVUNvbXBhcmVGdW5jdGlvbi5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTR1BVQ29tcGFyZUZ1bmN0aW9uLmgKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVRGVwdGhTdGVuY2lsU3RhdGVEZXNjcmlw
dG9yLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNH
UFVEZXB0aFN0ZW5jaWxTdGF0ZURlc2NyaXB0b3IuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVFcnJvckZpbHRlci5jcHAKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVRXJyb3JGaWx0ZXIuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVFeHRlbnQzRC5jcHAK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVRXh0ZW50
M0QuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVJ
bnB1dFN0YXRlRGVzY3JpcHRvci5jcHAKQEAgLTYxNyw2ICs2MTksOCBAQCAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUxvYWRPcC5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVTG9hZE9wLmgKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVT3JpZ2luM0QuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVU9yaWdp
bjNELmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BV
T3V0T2ZNZW1vcnlFcnJvci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTR1BVT3V0T2ZNZW1vcnlFcnJvci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVUmVxdWVzdEFk
YXB0ZXJPcHRpb25zLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTR1BVU2FtcGxlckRlc2NyaXB0b3IuY3BwCkBAIC02MzEsNiArNjM1LDggQEAgJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVUZXh0dXJlRm9ybWF0
LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVU
ZXh0dXJlRm9ybWF0LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTR1BVVGV4dHVyZVVzYWdlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNHUFVUZXh0dXJlVXNhZ2UuaAorJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVWYWxpZGF0aW9uRXJyb3IuY3BwCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVZhbGlkYXRpb25FcnJv
ci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVZl
cnRleEF0dHJpYnV0ZURlc2NyaXB0b3IuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVZlcnRleEF0dHJpYnV0ZURlc2NyaXB0b3IuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVWZXJ0ZXhCdWZmZXJE
ZXNjcmlwdG9yLmNwcApAQCAtMTk0Myw2ICsxOTQ5LDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJHUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlwdG9y
LmMKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR1BV
Q29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1dlYkdQVURldmljZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR1BVRGV2aWNlLmgKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMu
Y3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYkdQ
VURldmljZUVycm9yU2NvcGVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5jcHAKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR1BVUGlwZWxpbmVEZXNjcmlw
dG9yQmFzZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1dlYkdQVVBpcGVsaW5lTGF5b3V0LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5k
ZXggN2VlYjQyN2MyN2QxOGFjNGNiODdjOWZiMmZlZjAzZWUwNmJmNjY2ZC4uYzYxNzcxNjE0M2Ew
NzFhNjlhMGYyZWVkYzk1MTNkZDdiYzFlNjFlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCkBAIC0zODYsOSArMzg2LDExIEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvd2ViZ3B1L0dQVUJ1ZmZlclVzYWdlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL3dlYmdwdS9HUFVDb21wYXJlRnVuY3Rpb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvd2ViZ3B1L0dQVURlcHRoU3RlbmNpbFN0YXRlRGVzY3JpcHRvci5pZGwgXAorICAgICQo
V2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVRXJyb3JGaWx0ZXIuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvd2ViZ3B1L0dQVUV4dGVudDNELmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3dlYmdwdS9HUFVMb2FkT3AuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1
L0dQVU9yaWdpbjNELmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVPdXRP
Zk1lbW9yeUVycm9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVSZXF1
ZXN0QWRhcHRlck9wdGlvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L0dQ
VVNhbXBsZXJEZXNjcmlwdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9H
UFVTaGFkZXJTdGFnZUJpdC5pZGwgXApAQCAtMzk2LDYgKzM5OCw3IEBAIEpTX0JJTkRJTkdfSURM
UyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9y
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlRm9ybWF0Lmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlVXNhZ2UuaWRsIFwK
KyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRv
ci5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVVmVydGV4QnVmZmVyRGVz
Y3JpcHRvci5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVVmVydGV4SW5wdXRE
ZXNjcmlwdG9yLmlkbCBcCkBAIC00MTQsNiArNDE3LDcgQEAgSlNfQklORElOR19JRExTID0gXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVQ29tcHV0ZVBpcGVsaW5lLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21wdXRlUGlwZWxpbmVEZXNj
cmlwdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2Uu
aWRsIFwKKwkkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2NvcGVz
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVRdWV1ZS5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFz
ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlv
dXQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUVy
cm9yRmlsdGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUVycm9yRmls
dGVyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xZDZhY2JiMjQyMWNiZjRkNGM1YWVmMThiMzU0ODM5YjcxZDY2
Mzk2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BV
RXJyb3JGaWx0ZXIuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworLy8gaHR0cHM6Ly9n
cHV3ZWIuZ2l0aHViLmlvL2dwdXdlYgorCitbCisgICAgQ29uZGl0aW9uYWw9V0VCR1BVLAorICAg
IEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCitdIGVudW0gR1BVRXJyb3JGaWx0ZXIgeworICAgICJu
b25lIiwKKyAgICAib3V0LW9mLW1lbW9yeSIsCisgICAgInZhbGlkYXRpb24iCit9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVT3V0T2ZNZW1vcnlFcnJvci5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVPdXRPZk1lbW9yeUVycm9yLmlk
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kNGQzZDAwNzM3OTM0ZTRmNzdlOWE2MjM1ZWQ0MzE5NTQ1OWNiNjEyCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVT3V0T2ZN
ZW1vcnlFcnJvci5pZGwKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
OSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisvLyBodHRwczovL2dw
dXdlYi5naXRodWIuaW8vZ3B1d2ViCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJHUFUsCisgICAg
Q29uc3RydWN0b3IoKSwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVSwKKyAgICBJbXBsZW1l
bnRhdGlvbkxhY2tzVlRhYmxlCitdIGludGVyZmFjZSBHUFVPdXRPZk1lbW9yeUVycm9yIHt9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVVmFsaWRhdGlvbkVy
cm9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVVZhbGlkYXRpb25FcnJv
ci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNWUxM2MxODg3ZWY4YjQwNzljMDRjNWNiZWE2NmVjYTY3MzI3ZjQ4
MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVVZh
bGlkYXRpb25FcnJvci5pZGwKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisvLyBodHRwczov
L2dwdXdlYi5naXRodWIuaW8vZ3B1d2ViCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJHUFUsCisg
ICAgQ29uc3RydWN0b3IoRE9NU3RyaW5nIG1lc3NhZ2UpLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9
V2ViR1BVLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKK10gaW50ZXJmYWNlIEdQVVZh
bGlkYXRpb25FcnJvciB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBtZXNzYWdl
OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMQ2hlY2tUZXh0dXJlUmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9XSExTTENoZWNrVGV4dHVyZVJlZmVyZW5jZXMuY3BwCmluZGV4IGMwMmRiODlk
M2NiNmMwYTc1MWE2MjJlYjc5ZGQzNGU3YjdkNTYzZjkuLjczODZiMTA2YmI4MGQzNjdlZjMxZGQ2
YjUzNTllYWI5YTU3NzkyOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML1dITFNMQ2hlY2tUZXh0dXJlUmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xDaGVja1RleHR1cmVSZWZlcmVuY2VzLmNw
cApAQCAtMjYsMTAgKzI2LDE1IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV0hM
U0xDaGVja1RleHR1cmVSZWZlcmVuY2VzLmgiCiAKLSNpbmNsdWRlICJXSExTTEluZmVyVHlwZXMu
aCIKLQogI2lmIEVOQUJMRShXRUJHUFUpCiAKKyNpbmNsdWRlICJXSExTTEFycmF5UmVmZXJlbmNl
VHlwZS5oIgorI2luY2x1ZGUgIldITFNMQXJyYXlUeXBlLmgiCisjaW5jbHVkZSAiV0hMU0xJbmZl
clR5cGVzLmgiCisjaW5jbHVkZSAiV0hMU0xOYXRpdmVUeXBlRGVjbGFyYXRpb24uaCIKKyNpbmNs
dWRlICJXSExTTFBvaW50ZXJUeXBlLmgiCisjaW5jbHVkZSAiV0hMU0xWaXNpdG9yLmgiCisKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIFdITFNMIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwCmluZGV4IGYwNTlhZDg5ZTA5ZDRmNGE3
NGY4YjhlODEzZjQ0ZjVhMGE5YjllMWUuLmUzMTllMjE5NTUwNDM4ZThjMmFjYmJkMjJjZmY4NTE1
YjQ3N2I2ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VURldmljZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2
aWNlLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKFdFQkdQVSkKIAorI2luY2x1
ZGUgIkV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkdQVUJpbmRHcm91cC5oIgogI2luY2x1ZGUgIkdQ
VUJpbmRHcm91cEJpbmRpbmcuaCIKICNpbmNsdWRlICJHUFVCaW5kR3JvdXBEZXNjcmlwdG9yLmgi
CkBAIC00Miw2ICs0Myw4IEBACiAjaW5jbHVkZSAiR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5o
IgogI2luY2x1ZGUgIkdQVVRleHR1cmVEZXNjcmlwdG9yLmgiCiAjaW5jbHVkZSAiSlNET01Db252
ZXJ0QnVmZmVyU291cmNlLmgiCisjaW5jbHVkZSAiSlNHUFVPdXRPZk1lbW9yeUVycm9yLmgiCisj
aW5jbHVkZSAiSlNHUFVWYWxpZGF0aW9uRXJyb3IuaCIKICNpbmNsdWRlICJKU1dlYkdQVUJ1ZmZl
ci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJXZWJHUFVCaW5kR3JvdXAuaCIK
QEAgLTYzLDYgKzY2LDcgQEAKICNpbmNsdWRlICJXZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9y
LmgiCiAjaW5jbHVkZSAiV2ViR1BVU3dhcENoYWluLmgiCiAjaW5jbHVkZSAiV2ViR1BVVGV4dHVy
ZS5oIgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTE4MCw2ICsxODQsMjEgQEAgUmVmPFdlYkdQVVF1ZXVlPiBXZWJHUFVEZXZpY2U6OmdldFF1
ZXVlKCkgY29uc3QKICAgICByZXR1cm4gbWFrZVJlZigqbV9xdWV1ZS5nZXQoKSk7CiB9CiAKK3Zv
aWQgV2ViR1BVRGV2aWNlOjpwdXNoRXJyb3JTY29wZShHUFVFcnJvckZpbHRlciBmaWx0ZXIpIGNv
bnN0Cit7CisgICAgbV9kZXZpY2UtPnB1c2hFcnJvclNjb3BlKGZpbHRlcik7Cit9CisKK3ZvaWQg
V2ViR1BVRGV2aWNlOjpwb3BFcnJvclNjb3BlKEVycm9yUHJvbWlzZSYmIHByb21pc2UpIGNvbnN0
Cit7CisgICAgbV9kZXZpY2UtPnBvcEVycm9yU2NvcGUoW3Byb21pc2UgPSBXVEZNb3ZlKHByb21p
c2UpXSAoT3B0aW9uYWw8R1BVRXJyb3I+JiYgZXJyb3IsIGNvbnN0IFN0cmluZyYgZmFpbE1lc3Nh
Z2UpIG11dGFibGUgeworICAgICAgICBpZiAoZmFpbE1lc3NhZ2UuaXNFbXB0eSgpKQorICAgICAg
ICAgICAgcHJvbWlzZS5yZXNvbHZlKGVycm9yKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg
cHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3IsIGZhaWxNZXNzYWdlIH0p
OworICAgIH0pOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFC
TEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2Vi
R1BVRGV2aWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2Uu
aAppbmRleCAyMWQzNzFhMDNhNzUxNTQ0YTkxZDdjOGExYWQwY2Q2MjE1OTVhYTFiLi5jODM1MWIy
ZDZlZThkOWExNDAyMmExZjE4YzFjZDYwN2U4MGYxZGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaApAQCAtMjgsNiArMjgsNyBAQAogI2lmIEVOQUJM
RShXRUJHUFUpCiAKICNpbmNsdWRlICJHUFVEZXZpY2UuaCIKKyNpbmNsdWRlICJKU0RPTVByb21p
c2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIldlYkdQVUFkYXB0ZXIuaCIKICNpbmNsdWRlICJXZWJH
UFVRdWV1ZS5oIgogI2luY2x1ZGUgIldlYkdQVVN3YXBDaGFpbkRlc2NyaXB0b3IuaCIKQEAgLTQz
LDYgKzQ0LDggQEAgY2xhc3MgSlNWYWx1ZTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFz
cyBHUFVPdXRPZk1lbW9yeUVycm9yOworY2xhc3MgR1BVVmFsaWRhdGlvbkVycm9yOwogY2xhc3Mg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIGNsYXNzIFdlYkdQVUJpbmRHcm91cDsKIGNsYXNzIFdl
YkdQVUJpbmRHcm91cExheW91dDsKQEAgLTY2LDYgKzY5LDEwIEBAIHN0cnVjdCBXZWJHUFVQaXBl
bGluZUxheW91dERlc2NyaXB0b3I7CiBzdHJ1Y3QgV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlw
dG9yOwogc3RydWN0IFdlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3I7CiAKK2VudW0gY2xhc3Mg
R1BVRXJyb3JGaWx0ZXI7CisKK3VzaW5nIEVycm9yUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJl
ZDxJRExOdWxsYWJsZTxJRExVbmlvbjxJRExJbnRlcmZhY2U8R1BVT3V0T2ZNZW1vcnlFcnJvcj4s
IElETEludGVyZmFjZTxHUFVWYWxpZGF0aW9uRXJyb3I+Pj4+OworCiBjbGFzcyBXZWJHUFVEZXZp
Y2UgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJHUFVEZXZpY2U+IHsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUmVmUHRyPFdlYkdQVURldmljZT4gdHJ5Q3JlYXRlKFJlZjxjb25zdCBXZWJHUFVBZGFwdGVy
PiYmKTsKQEAgLTkxLDYgKzk4LDkgQEAgcHVibGljOgogCiAgICAgUmVmPFdlYkdQVVF1ZXVlPiBn
ZXRRdWV1ZSgpIGNvbnN0OwogCisgICAgdm9pZCBwdXNoRXJyb3JTY29wZShHUFVFcnJvckZpbHRl
cikgY29uc3Q7CisgICAgdm9pZCBwb3BFcnJvclNjb3BlKEVycm9yUHJvbWlzZSYmKSBjb25zdDsK
KwogcHJpdmF0ZToKICAgICBXZWJHUFVEZXZpY2UoUmVmPGNvbnN0IFdlYkdQVUFkYXB0ZXI+JiYs
IFJlZjxHUFVEZXZpY2U+JiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzkzMTEw
MGRiNTQ1MTM4Nzk0NDc1NmMwZmIwMWZkODgyYTMwMWE4MQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2NvcGVzLmNwcApA
QCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIldlYkdQVURldmljZUVycm9yU2NvcGVzLmgiCisKKyNpZiBFTkFCTEUoV0VCR1BVKQorCisj
aW5jbHVkZSAiR1BVRXJyb3JGaWx0ZXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2b2lk
IFdlYkdQVURldmljZUVycm9yU2NvcGVzOjpwdXNoRXJyb3JTY29wZShXZWJHUFVEZXZpY2UmIGRl
dmljZSwgR1BVRXJyb3JGaWx0ZXIgZmlsdGVyKQoreworICAgIGRldmljZS5wdXNoRXJyb3JTY29w
ZShmaWx0ZXIpOworfQorCit2b2lkIFdlYkdQVURldmljZUVycm9yU2NvcGVzOjpwb3BFcnJvclNj
b3BlKFdlYkdQVURldmljZSYgZGV2aWNlLCBFcnJvclByb21pc2UmJiBwcm9taXNlKQoreworICAg
IGRldmljZS5wb3BFcnJvclNjb3BlKFdURk1vdmUocHJvbWlzZSkpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2NvcGVzLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjIwZjA3YWJlMzk4YmY5YTczNGQ0NDZhZjU4OTQ1M2MwZGIwYzEwOQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVy
cm9yU2NvcGVzLmgKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaWYgRU5BQkxFKFdFQkdQVSkKKworI2luY2x1ZGUgIldlYkdQVURldmljZS5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgR1BVRXJyb3JGaWx0ZXI7CisKK2NsYXNzIFdl
YkdQVURldmljZUVycm9yU2NvcGVzIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgdm9pZCBwdXNoRXJy
b3JTY29wZShXZWJHUFVEZXZpY2UmLCBHUFVFcnJvckZpbHRlcik7CisgICAgc3RhdGljIHZvaWQg
cG9wRXJyb3JTY29wZShXZWJHUFVEZXZpY2UmLCBFcnJvclByb21pc2UmJik7Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMu
aWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29w
ZXMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmVjNzg1MjdiY2UyOTAwOGY0OWJlMGQzMTkwYzMxZWNmMDE4NTli
NDYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJH
UFVEZXZpY2VFcnJvclNjb3Blcy5pZGwKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisvLyBo
dHRwczovL2dwdXdlYi5naXRodWIuaW8vZ3B1d2ViCisKK3R5cGVkZWYgKEdQVU91dE9mTWVtb3J5
RXJyb3Igb3IgR1BVVmFsaWRhdGlvbkVycm9yKSBHUFVFcnJvcjsKKworWworICAgIENvbmRpdGlv
bmFsPVdFQkdQVSwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQorXSBwYXJ0aWFsIGludGVy
ZmFjZSBXZWJHUFVEZXZpY2UgeworICAgIHZvaWQgcHVzaEVycm9yU2NvcGUoR1BVRXJyb3JGaWx0
ZXIgZmlsdGVyKTsKKyAgICBQcm9taXNlPEdQVUVycm9yPz4gcG9wRXJyb3JTY29wZSgpOworfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUv
U291cmNlcy50eHQKaW5kZXggZDgwZjAyZTkxN2MzODQyYjViOTgzNzc5ZDlmN2ZiNzkwODUwZGQy
OS4uODhhZTI2YWMwNWMwMzdkYTk3MzQ4OTlkNzM0MGU3Y2E0ZTQ2Mzg2MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50
eHQKQEAgLTM2Nyw2ICszNjcsNyBAQCBNb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21wdXRlUGFzc0Vu
Y29kZXIuY3BwCiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21wdXRlUGlwZWxpbmUuY3BwCiBNb2R1
bGVzL3dlYmdwdS9XZWJHUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlwdG9yLmNwcAogTW9kdWxlcy93
ZWJncHUvV2ViR1BVRGV2aWNlLmNwcAorTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JT
Y29wZXMuY3BwCiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVRdWV1ZS5jcHAKIE1vZHVsZXMvd2ViZ3B1
L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmNwcAogTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVM
YXlvdXREZXNjcmlwdG9yLmNwcApAQCAtMTgyNyw2ICsxODI4LDggQEAgcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9Tb3VyY2VHcmFwaGljLmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9T
cG90TGlnaHRTb3VyY2UuY3BwCiAKIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3Bw
CitwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3IuY3BwCitwbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVVmFsaWRhdGlvbkVycm9yLmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVBpcGVs
aW5lTGF5b3V0LmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVByb2dyYW1tYWJsZVBhc3NF
bmNvZGVyLmNwcAogCkBAIC0yNzU2LDkgKzI3NTksMTEgQEAgSlNHUFVCdWZmZXJEZXNjcmlwdG9y
LmNwcAogSlNHUFVCdWZmZXJVc2FnZS5jcHAKIEpTR1BVQ29tcGFyZUZ1bmN0aW9uLmNwcAogSlNH
UFVEZXB0aFN0ZW5jaWxTdGF0ZURlc2NyaXB0b3IuY3BwCitKU0dQVUVycm9yRmlsdGVyLmNwcAog
SlNHUFVFeHRlbnQzRC5jcHAKIEpTR1BVTG9hZE9wLmNwcAogSlNHUFVPcmlnaW4zRC5jcHAKK0pT
R1BVT3V0T2ZNZW1vcnlFcnJvci5jcHAKIEpTR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zLmNwcAog
SlNHUFVTYW1wbGVyRGVzY3JpcHRvci5jcHAKIEpTR1BVU2hhZGVyU3RhZ2VCaXQuY3BwCkBAIC0y
NzY2LDYgKzI3NzEsNyBAQCBKU0dQVVN0b3JlT3AuY3BwCiBKU0dQVVRleHR1cmVEZXNjcmlwdG9y
LmNwcAogSlNHUFVUZXh0dXJlRm9ybWF0LmNwcAogSlNHUFVUZXh0dXJlVXNhZ2UuY3BwCitKU0dQ
VVZhbGlkYXRpb25FcnJvci5jcHAKIEpTR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRvci5jcHAK
IEpTR1BVVmVydGV4QnVmZmVyRGVzY3JpcHRvci5jcHAKIEpTR1BVVmVydGV4SW5wdXREZXNjcmlw
dG9yLmNwcApAQCAtMzMxOCw2ICszMzI0LDcgQEAgSlNXZWJHUFVDb21wdXRlUGFzc0VuY29kZXIu
Y3BwCiBKU1dlYkdQVUNvbXB1dGVQaXBlbGluZS5jcHAKIEpTV2ViR1BVQ29tcHV0ZVBpcGVsaW5l
RGVzY3JpcHRvci5jcHAKIEpTV2ViR1BVRGV2aWNlLmNwcAorSlNXZWJHUFVEZXZpY2VFcnJvclNj
b3Blcy5jcHAKIEpTV2ViR1BVUXVldWUuY3BwCiBKU1dlYkdQVVBpcGVsaW5lRGVzY3JpcHRvckJh
c2UuY3BwCiBKU1dlYkdQVVBpcGVsaW5lTGF5b3V0LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDlhOGVmOTMwMGQwZjBhNDE1
NzE3OGQ3Zjk4OTA4MmJlZGQwYmU2ZDQuLmI2MTMwMmVlYTE3ZGU2YzhmMjg1ZmU3NzBmMmViMGFm
NWE0M2RjY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTE0MDE4LDYgKzE0MDE4LDE5IEBACiAJCUQwOTNEMjI1MjE3OTUxRDQw
MDMyOTIxNyAvKiBHUFVDYW52YXNDb250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVUNhbnZhc0Nv
bnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDA5M0QyMjcyMTc5NTFENDAw
MzI5MjE3IC8qIEdQVUNhbnZhc0NvbnRleHQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVUNhbnZhc0NvbnRleHQuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMDkzRDIyOTIxNzk1NDE2MDAzMjkyMTcg
LyogR1BVQ2FudmFzQ29udGV4dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHUFVDYW52YXNDb250
ZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA5QUZBRkYyMkQwMkU1MzAw
QzQ1MzhDIC8qIFdlYkdQVURldmljZUVycm9yU2NvcGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkdQ
VURldmljZUVycm9yU2NvcGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwOUFG
QjAxMjJEMDJFNTMwMEM0NTM4QyAvKiBXZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUQwOUFGQjAyMjJEMDQ3MTkwMEM0NTM4QyAvKiBHUFVFcnJvckZpbHRl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVFcnJvckZpbHRlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDlBRkIwMzIyRDQwQ0M1MDBDNDUzOEMgLyog
V2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkdQVURldmljZUVycm9yU2NvcGVz
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA5QUZCMDYyMkQ0MTdCMzAwQzQ1
MzhDIC8qIEdQVUVycm9yRmlsdGVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVFcnJvckZpbHRlci5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwOUFGQjA3MjJENTM5MUIwMEM0NTM4QyAvKiBHUFVF
cnJvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVFcnJvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlEMDlBRkIwODIyRDU1NDI4MDBDNDUzOEMgLyogR1BVRXJyb3IuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gR1BVRXJyb3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlE
MDlBRkIwQzIyRDU1RTkwMDBDNDUzOEMgLyogR1BVVmFsaWRhdGlvbkVycm9yLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBH
UFVWYWxpZGF0aW9uRXJyb3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDlB
RkIwRDIyRDU1RjNCMDBDNDUzOEMgLyogR1BVVmFsaWRhdGlvbkVycm9yLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEdQVVZhbGlkYXRpb25FcnJvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlE
MDlBRkIwRTIyRDU1RkY1MDBDNDUzOEMgLyogR1BVVmFsaWRhdGlvbkVycm9yLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEdQVVZhbGlkYXRpb25FcnJvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUQwOUFGQjE3MjJENjY5NEUwMEM0NTM4QyAvKiBHUFVPdXRPZk1lbW9yeUVycm9y
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBHUFVPdXRPZk1lbW9yeUVycm9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJRDA5QUZCMTkyMkQ2Njk4QTAwQzQ1MzhDIC8qIEdQVU91dE9mTWVtb3J5RXJyb3Iu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gR1BVT3V0T2ZNZW1vcnlFcnJvci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlEMDlBRkIyRDIyRDZDMDE0MDBDNDUzOEMgLyogR1BVRXJyb3IuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gR1BVRXJyb3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlEMEEyMEQ1NDIwOTJBMEE2MDBFMEMyNTkgLyogV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFT
VEMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViR0xDb21wcmVzc2VkVGV4
dHVyZUFTVEMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDBBMjBENTYyMDkyQTBB
NjAwRTBDMjU5IC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBU1RDLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBU1RDLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDBBM0E3MzAxNDA1QTM5ODAwRkI4RUQzIC8q
IFJlc291cmNlTG9hZGVyT3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSZXNvdXJjZUxvYWRlck9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTE4MzIwLDkgKzE4MzMzLDE0IEBACiAJCQkJRDAzQzg0OUEyMUZGQzY2NzAwMDIyMjdGIC8qIEdQ
VURlcHRoU3RlbmNpbFN0YXRlRGVzY3JpcHRvci5oICovLAogCQkJCTMxMkZGOEJGMjFBNEMyRjEw
MEVCMTk5RCAvKiBHUFVEZXZpY2UuY3BwICovLAogCQkJCTMxMkZGOEJFMjFBNEMyRjEwMEVCMTk5
RCAvKiBHUFVEZXZpY2UuaCAqLywKKwkJCQlEMDlBRkIwODIyRDU1NDI4MDBDNDUzOEMgLyogR1BV
RXJyb3IuY3BwICovLAorCQkJCUQwOUFGQjJEMjJENkMwMTQwMEM0NTM4QyAvKiBHUFVFcnJvci5j
cHAgKi8sCisJCQkJRDA5QUZCMDcyMkQ1MzkxQjAwQzQ1MzhDIC8qIEdQVUVycm9yLmggKi8sCisJ
CQkJRDA5QUZCMDIyMkQwNDcxOTAwQzQ1MzhDIC8qIEdQVUVycm9yRmlsdGVyLmggKi8sCiAJCQkJ
RDAyNkY0N0QyMjBBMkFDNjAwQUM1RjQ5IC8qIEdQVUV4dGVudDNELmggKi8sCiAJCQkJRDBGNzU1
OUYyMjAzQkExNDAwMTE4MDU4IC8qIEdQVUxpbWl0cy5oICovLAogCQkJCUQwOEFBMDJGMjIwRDBC
RDUwMDU4QzUwMiAvKiBHUFVMb2FkT3AuaCAqLywKKwkJCQlEMDlBRkIxOTIyRDY2OThBMDBDNDUz
OEMgLyogR1BVT3V0T2ZNZW1vcnlFcnJvci5oICovLAogCQkJCTMxMkZGOEM0MjFBNEMyRjQwMEVC
MTk5RCAvKiBHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmggKi8sCiAJCQkJRDAwMzI4ODcyMUM5
QTRFNTAwNjIyQUE2IC8qIEdQVVBpcGVsaW5lTGF5b3V0LmNwcCAqLywKIAkJCQlEMDAzMjg4NjIx
QzlBNEU1MDA2MjJBQTYgLyogR1BVUGlwZWxpbmVMYXlvdXQuaCAqLywKQEAgLTE4MzQ4LDYgKzE4
MzY2LDggQEAKIAkJCQkzMTJGRjhDMzIxQTRDMkYzMDBFQjE5OUQgLyogR1BVVGV4dHVyZUZvcm1h
dC5oICovLAogCQkJCUQwMjZGNDg1MjIwQTQ3NzIwMEFDNUY0OSAvKiBHUFVUZXh0dXJlVXNhZ2Uu
aCAqLywKIAkJCQlEMDZFRjU1MjIyMEJBMjZBMDAxODcyNEUgLyogR1BVVXRpbHMuaCAqLywKKwkJ
CQlEMDlBRkIwRTIyRDU1RkY1MDBDNDUzOEMgLyogR1BVVmFsaWRhdGlvbkVycm9yLmNwcCAqLywK
KwkJCQlEMDlBRkIwRDIyRDU1RjNCMDBDNDUzOEMgLyogR1BVVmFsaWRhdGlvbkVycm9yLmggKi8s
CiAJCQkJRDBEODY0OUIyMUJBMUMyRDAwM0M5ODNDIC8qIEdQVVZlcnRleEF0dHJpYnV0ZURlc2Ny
aXB0b3IuaCAqLywKIAkJCQlEMEQ4NjQ5QzIxQkExQ0U4MDAzQzk4M0MgLyogR1BVVmVydGV4QnVm
ZmVyRGVzY3JpcHRvci5oICovLAogCQkJCUQwRDg2NDk5MjFCQTFCMUYwMDNDOTgzQyAvKiBHUFVW
ZXJ0ZXhJbnB1dERlc2NyaXB0b3IuaCAqLywKQEAgLTI1OTM3LDEwICsyNTk1NywxMiBAQAogCQkJ
CUQwQjU2RUFFMjI0RUNFMjAwMDYxMDQ5QyAvKiBHUFVDb2xvcldyaXRlQml0cy5pZGwgKi8sCiAJ
CQkJRDAzQzg0OUUyMUZGQ0YwMDAwMDIyMjdGIC8qIEdQVUNvbXBhcmVGdW5jdGlvbi5pZGwgKi8s
CiAJCQkJRDAzQzg0QTIyMUZGRDcyMzAwMDIyMjdGIC8qIEdQVURlcHRoU3RlbmNpbFN0YXRlRGVz
Y3JpcHRvci5pZGwgKi8sCisJCQkJRDA5QUZCMDYyMkQ0MTdCMzAwQzQ1MzhDIC8qIEdQVUVycm9y
RmlsdGVyLmlkbCAqLywKIAkJCQlEMDI2RjQ4MDIyMEEyQjcwMDBBQzVGNDkgLyogR1BVRXh0ZW50
M0QuaWRsICovLAogCQkJCUQwOEFBMDJEMjIwRDBCOUMwMDU4QzUwMiAvKiBHUFVMb2FkT3AuaWRs
ICovLAogCQkJCUQwQ0NBOTQ5MjIyOTlGOTcwMDY5NzlCNiAvKiBHUFVPcmlnaW4zRC5oICovLAog
CQkJCUQwQ0NBOTRBMjIyOTlGOTcwMDY5NzlCNiAvKiBHUFVPcmlnaW4zRC5pZGwgKi8sCisJCQkJ
RDA5QUZCMTcyMkQ2Njk0RTAwQzQ1MzhDIC8qIEdQVU91dE9mTWVtb3J5RXJyb3IuaWRsICovLAog
CQkJCUQwMkMyNjkyMjE4MTQxNkQwMEQ4MThFNCAvKiBHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMu
aWRsICovLAogCQkJCUQwQURCMjYzMjIzMDlENzYwMEEyMjkzNSAvKiBHUFVTYW1wbGVyRGVzY3Jp
cHRvci5pZGwgKi8sCiAJCQkJRDBERThGQjgyMjJFMDlFMjAwODgyNTUwIC8qIEdQVVNoYWRlclN0
YWdlQml0LmggKi8sCkBAIC0yNTk0OSw2ICsyNTk3MSw3IEBACiAJCQkJRDAyNkY0OEIyMjBBNUIw
QjAwQUM1RjQ5IC8qIEdQVVRleHR1cmVEZXNjcmlwdG9yLmlkbCAqLywKIAkJCQlEMEVBQ0ZBRTIx
OUUzMEZEMDAwRkE3NUMgLyogR1BVVGV4dHVyZUZvcm1hdC5pZGwgKi8sCiAJCQkJRDAyNkY0ODMy
MjBBNDcyRjAwQUM1RjQ5IC8qIEdQVVRleHR1cmVVc2FnZS5pZGwgKi8sCisJCQkJRDA5QUZCMEMy
MkQ1NUU5MDAwQzQ1MzhDIC8qIEdQVVZhbGlkYXRpb25FcnJvci5pZGwgKi8sCiAJCQkJRDBEODY0
OTYyMUJBMThGNDAwM0M5ODNDIC8qIEdQVVZlcnRleEF0dHJpYnV0ZURlc2NyaXB0b3IuaWRsICov
LAogCQkJCUQwRDg2NDk4MjFCQTE5QTcwMDNDOTgzQyAvKiBHUFVWZXJ0ZXhCdWZmZXJEZXNjcmlw
dG9yLmlkbCAqLywKIAkJCQlEMEQ4NjQ5NDIxQkExNzNEMDAzQzk4M0MgLyogR1BVVmVydGV4SW5w
dXREZXNjcmlwdG9yLmlkbCAqLywKQEAgLTI1OTk1LDYgKzI2MDE4LDkgQEAKIAkJCQlEMDBGNTk1
MzIxNzAxRDhDMDAwRDcxREIgLyogV2ViR1BVRGV2aWNlLmNwcCAqLywKIAkJCQlEMDBGNTk1MjIx
NzAxRDhDMDAwRDcxREIgLyogV2ViR1BVRGV2aWNlLmggKi8sCiAJCQkJRDAwRjU5NTQyMTcwMUQ4
QzAwMEQ3MURCIC8qIFdlYkdQVURldmljZS5pZGwgKi8sCisJCQkJRDA5QUZCMDEyMkQwMkU1MzAw
QzQ1MzhDIC8qIFdlYkdQVURldmljZUVycm9yU2NvcGVzLmNwcCAqLywKKwkJCQlEMDlBRkFGRjIy
RDAyRTUzMDBDNDUzOEMgLyogV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaCAqLywKKwkJCQlEMDlB
RkIwMzIyRDQwQ0M1MDBDNDUzOEMgLyogV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaWRsICovLAog
CQkJCUQwQzQxOUYwMjE4M0VCMzEwMDlFQzFERSAvKiBXZWJHUFVQaXBlbGluZURlc2NyaXB0b3JC
YXNlLmggKi8sCiAJCQkJRDBDNDE5RjEyMTgzRUIzMTAwOUVDMURFIC8qIFdlYkdQVVBpcGVsaW5l
RGVzY3JpcHRvckJhc2UuaWRsICovLAogCQkJCUQwNUE5OUU1MjFDOUJGMkMwMDAzMkI3NSAvKiBX
ZWJHUFVQaXBlbGluZUxheW91dC5jcHAgKi8sCkBAIC0yODQwMCw2ICsyODQyNiw3IEBACiAJCQkJ
QTVBN0FBNDMxMzJGMEVDQzAwRDNBM0MyIC8qIEF1dG9jYXBpdGFsaXplVHlwZXMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTdDMTg0M0ZFMUM4QjcyODMwMDJFQjk3MyAvKiBBdXRvZmlsbC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJN0MxRTk3MjgxQTlGOTgzNDAwN0JGMEZCIC8qIEF1dG9GaWxsQnV0dG9u
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUNDQzI3MDkyMkQ1NDgzQTAwOTY0RkEwIC8q
IEF1dG9maWxsRWxlbWVudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUM5RDQ2NzA1MUU2MEM0NjUw
MDgxOTVGQiAvKiBBdXRvcGxheUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk0NTgzMEQ0RTE2
NzlCNEY4MDBBQ0Y4QzMgLyogQXV0b3Njcm9sbENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCUE4Q0ZGMDRFMEExNTRGMDkwMDBBNDIzNCAvKiBBdXRvVGFibGVMYXlvdXQuaCBpbiBIZWFk
ZXJzICovLApAQCAtMzAwNDQsNyArMzAwNzEsNiBAQAogCQkJCTdDNzc2MUFBMUY4NzhBQTUwMEY4
NjlGRCAvKiBKU0ltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dFNldHRpbmdzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBNzc5NzkyOTBENkI5RTY0MDAzODUxQjkgLyogSlNJbWFnZURhdGEuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTdDMTkzQzAxMUY1RTExMDUwMDg4RjNFNiAvKiBKU0ltYWdlU21vb3Ro
aW5nUXVhbGl0eS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNUNDQzI3MDkyMkQ1NDgzQTAwOTY0RkEw
IC8qIEF1dG9maWxsRWxlbWVudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NjYyOUQzMDlEQTJC
NDgwMDk2MzNBNiAvKiBKU0lucHV0RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkxNzVDRTVF
MjFFMjgxRUQwMERGMkMyOCAvKiBKU0luc3BlY3RvckF1ZGl0QWNjZXNzaWJpbGl0eU9iamVjdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJOTE3NUNFNUMyMUUyODFFRDAwREYyQzI4IC8qIEpTSW5zcGVj
dG9yQXVkaXRET01PYmplY3QuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmluZGV4IGY1YjUzMjJjN2I5MDM1Zjcz
YTQyODE2YTIwY2JiYTEwZTdmZDdmZTQuLjQ2ZjUzZTEyYTFmMzhlOTJjOTBhYzQ4N2NiOTI3Yjkw
Nzk2ZDM5ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVp
bHRpbk5hbWVzLmgKQEAgLTk0LDYgKzk0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1h
Y3JvKEdQVUNvbXB1dGVQYXNzRW5jb2RlcikgXAogICAgIG1hY3JvKEdQVUNvbXB1dGVQaXBlbGlu
ZSkgXAogICAgIG1hY3JvKEdQVURldmljZSkgXAorICAgIG1hY3JvKEdQVU91dE9mTWVtb3J5RXJy
b3IpIFwKICAgICBtYWNybyhHUFVQaXBlbGluZUxheW91dCkgXAogICAgIG1hY3JvKEdQVVByb2dy
YW1tYWJsZVBhc3NFbmNvZGVyKSBcCiAgICAgbWFjcm8oR1BVUXVldWUpIFwKQEAgLTEwNiw2ICsx
MDcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oR1BVVGV4dHVyZSkgXAogICAg
IG1hY3JvKEdQVVRleHR1cmVVc2FnZSkgXAogICAgIG1hY3JvKEdQVVRleHR1cmVWaWV3KSBcCisg
ICAgbWFjcm8oR1BVVmFsaWRhdGlvbkVycm9yKSBcCiAgICAgbWFjcm8oSFRNTEF0dGFjaG1lbnRF
bGVtZW50KSBcCiAgICAgbWFjcm8oSFRNTEF1ZGlvRWxlbWVudCkgXAogICAgIG1hY3JvKEhUTUxE
YXRhTGlzdEVsZW1lbnQpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVCdWZmZXIuaAppbmRleCA0MjUwOGJjNzYxNzA1YmYxYTBlNjYxMTc5MWY1ZWE2NzA5
N2I1NTA1Li44ZGEwNDMyMzY5YTcxNDc1NDllZDg1YzUzYmY3MzQzNDE0NmFlOGRkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQnVmZmVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUJ1ZmZlci5oCkBAIC0x
MDgsNyArMTA4LDcgQEAgcHJpdmF0ZToKICAgICB9OwogCiAgICAgR1BVQnVmZmVyKFBsYXRmb3Jt
QnVmZmVyU21hcnRQdHImJiwgUmVmPEdQVURldmljZT4mJiwgc2l6ZV90LCBPcHRpb25TZXQ8R1BV
QnVmZmVyVXNhZ2U6OkZsYWdzPiwgYm9vbCk7Ci0gICAgc3RhdGljIGJvb2wgdmFsaWRhdGVCdWZm
ZXJVc2FnZShjb25zdCBHUFVEZXZpY2UmLCBPcHRpb25TZXQ8R1BVQnVmZmVyVXNhZ2U6OkZsYWdz
Pik7CisgICAgc3RhdGljIGJvb2wgdmFsaWRhdGVCdWZmZXJVc2FnZShHUFVEZXZpY2UmLCBPcHRp
b25TZXQ8R1BVQnVmZmVyVXNhZ2U6OkZsYWdzPik7CiAKICAgICBKU0M6OkFycmF5QnVmZmVyKiBz
dGFnaW5nQnVmZmVyRm9yUmVhZCgpOwogICAgIEpTQzo6QXJyYXlCdWZmZXIqIHN0YWdpbmdCdWZm
ZXJGb3JXcml0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0dQVURldmljZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVRGV2aWNlLmNwcAppbmRleCBhNjQ5YTYwNzE5MTliNmQ1YzI0MWE3MmYyNjg4MjVhMGU2
NTFlN2FkLi5kNjNmNTZjYWJhMjMxOTQyM2Y3NjgzOWFmNGViYmE1OTZkMzc0NzI1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmNwcApA
QCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUgIkdQVVN3YXBDaGFpbkRlc2NyaXB0b3IuaCIKICNp
bmNsdWRlICJHUFVUZXh0dXJlLmgiCiAjaW5jbHVkZSAiR1BVVGV4dHVyZURlc2NyaXB0b3IuaCIK
KyNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTEwOCw2ICsxMDksNDAgQEAgdm9pZCBHUFVEZXZpY2U6OnNldFN3
YXBDaGFpbihSZWZQdHI8R1BVU3dhcENoYWluPiYmIHN3YXBDaGFpbikKICAgICBtX3N3YXBDaGFp
biA9IFdURk1vdmUoc3dhcENoYWluKTsKIH0KIAordm9pZCBHUFVEZXZpY2U6OnB1c2hFcnJvclNj
b3BlKEdQVUVycm9yRmlsdGVyIGZpbHRlcikKK3sKKyAgICBtX2Vycm9yU2NvcGVzLmFwcGVuZChF
cnJvclNjb3BlIHsgZmlsdGVyLCBXVEY6Om51bGxvcHQgfSk7Cit9CisKK3ZvaWQgR1BVRGV2aWNl
Ojpwb3BFcnJvclNjb3BlKEVycm9yQ2FsbGJhY2smJiBjYWxsYmFjaykKK3sKKyAgICBpZiAoIW1f
cGxhdGZvcm1EZXZpY2UpCisgICAgICAgIGNhbGxiYWNrKFdURjo6bnVsbG9wdCwgIkdQVURldmlj
ZTo6cG9wRXJyb3JTY29wZSgpOiBJbnZhbGlkIEdQVURldmljZSEiKTsKKyAgICBlbHNlIGlmICht
X2Vycm9yU2NvcGVzLmlzRW1wdHkoKSkKKyAgICAgICAgY2FsbGJhY2soV1RGOjpudWxsb3B0LCAi
R1BVRGV2aWNlOjpwb3BFcnJvclNjb3BlKCk6IE5vIGVycm9yIHNjb3BlIGV4aXN0cyEiKTsKKyAg
ICBlbHNlIHsKKyAgICAgICAgYXV0byBzY29wZSA9IG1fZXJyb3JTY29wZXMudGFrZUxhc3QoKTsK
KyAgICAgICAgY2FsbGJhY2soc2NvcGUuZmlsdGVyID09IEdQVUVycm9yRmlsdGVyOjpOb25lID8g
V1RGOjpudWxsb3B0IDogV1RGTW92ZShzY29wZS5lcnJvciksIHsgfSk7CisgICAgfQorfQorCit2
b2lkIEdQVURldmljZTo6cmVnaXN0ZXJFcnJvcihjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEdQVUVy
cm9yRmlsdGVyIGZpbHRlcikKK3sKKyAgICBhdXRvIGl0ZXJhdG9yID0gc3RkOjpmaW5kX2lmKG1f
ZXJyb3JTY29wZXMucmJlZ2luKCksIG1fZXJyb3JTY29wZXMucmVuZCgpLCBbZmlsdGVyXShjb25z
dCBFcnJvclNjb3BlJiBzY29wZSkgeworICAgICAgICByZXR1cm4gc2NvcGUuZmlsdGVyID09IEdQ
VUVycm9yRmlsdGVyOjpOb25lIHx8IHNjb3BlLmZpbHRlciA9PSBmaWx0ZXI7CisgICAgfSk7CisK
KyAgICAvLyBGSVhNRTogaHR0cHM6Ly93ZWJraXQub3JnL2IvMTk5Njc2IFVuY2FwdHVyZWQgZXJy
b3JzIG5lZWQgdG8gYmUgZmlyZWQgYXMgR1BVVW5jYXB0dXJlZEVycm9yRXZlbnRzLgorICAgIGlm
IChpdGVyYXRvciA9PSBtX2Vycm9yU2NvcGVzLnJlbmQoKSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgLy8gSWYgdGhlIHNjb3BlIGhhcyBhbHJlYWR5IGNhcHR1cmVkIGFuIGVycm9yLCBpZ25vcmUg
dGhpcyBuZXcgb25lLgorICAgIGlmIChpdGVyYXRvci0+ZXJyb3IpCisgICAgICAgIHJldHVybjsK
KworICAgIGl0ZXJhdG9yLT5lcnJvciA9IGNyZWF0ZUVycm9yKGZpbHRlciwgbWVzc2FnZSk7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmgKaW5k
ZXggYTcxMzk1NDFkMGJmZDE0ZGIyOGZhOTU5ZmZiMDE5NDMwZjgwM2JiZS4uNjU5ODdlYWRkZjJi
YzRiOTQ2YTI0YTY4YjI4Y2U0YzM2NmY1MGQ2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaApAQCAtMjcsMTEgKzI3LDE3IEBACiAKICNp
ZiBFTkFCTEUoV0VCR1BVKQogCisjaW5jbHVkZSAiR1BVRXJyb3IuaCIKKyNpbmNsdWRlICJHUFVF
cnJvckZpbHRlci5oIgogI2luY2x1ZGUgIkdQVVF1ZXVlLmgiCiAjaW5jbHVkZSAiR1BVU3dhcENo
YWluLmgiCisjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CisjaW5jbHVkZSA8d3RmL09wdGlvbmFs
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRy
Lmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIE9CSkNfUFJPVE9DT0woTVRMRGV2aWNl
KTsKIApAQCAtNTcsNyArNjMsNyBAQCBzdHJ1Y3QgR1BVU2FtcGxlckRlc2NyaXB0b3I7CiBzdHJ1
Y3QgR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvcjsKIHN0cnVjdCBHUFVTd2FwQ2hhaW5EZXNjcmlw
dG9yOwogc3RydWN0IEdQVVRleHR1cmVEZXNjcmlwdG9yOwotICAgIAorCiB1c2luZyBQbGF0Zm9y
bURldmljZSA9IE1UTERldmljZTsKIHVzaW5nIFBsYXRmb3JtRGV2aWNlU21hcnRQdHIgPSBSZXRh
aW5QdHI8TVRMRGV2aWNlPjsKIApAQCAtODQsMTIgKzkwLDI1IEBAIHB1YmxpYzoKICAgICBHUFVT
d2FwQ2hhaW4qIHN3YXBDaGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fc3dhcENoYWluLmdldCgpOyB9
CiAgICAgdm9pZCBzZXRTd2FwQ2hhaW4oUmVmUHRyPEdQVVN3YXBDaGFpbj4mJik7CiAKKyAgICB2
b2lkIHB1c2hFcnJvclNjb3BlKEdQVUVycm9yRmlsdGVyKTsKKworICAgIHVzaW5nIEVycm9yQ2Fs
bGJhY2sgPSBXVEY6OkZ1bmN0aW9uPHZvaWQoT3B0aW9uYWw8R1BVRXJyb3I+JiYsIGNvbnN0IFN0
cmluZyYpPjsKKyAgICB2b2lkIHBvcEVycm9yU2NvcGUoRXJyb3JDYWxsYmFjayYmKTsKKyAgICB2
b2lkIHJlZ2lzdGVyRXJyb3IoY29uc3QgU3RyaW5nJiwgR1BVRXJyb3JGaWx0ZXIgPSBHUFVFcnJv
ckZpbHRlcjo6VmFsaWRhdGlvbik7CisKIHByaXZhdGU6CisgICAgc3RydWN0IEVycm9yU2NvcGUg
eworICAgICAgICBHUFVFcnJvckZpbHRlciBmaWx0ZXI7CisgICAgICAgIE9wdGlvbmFsPEdQVUVy
cm9yPiBlcnJvcjsKKyAgICB9OworCiAgICAgZXhwbGljaXQgR1BVRGV2aWNlKFBsYXRmb3JtRGV2
aWNlU21hcnRQdHImJik7CiAKICAgICBQbGF0Zm9ybURldmljZVNtYXJ0UHRyIG1fcGxhdGZvcm1E
ZXZpY2U7CiAgICAgbXV0YWJsZSBSZWZQdHI8R1BVUXVldWU+IG1fcXVldWU7CiAgICAgUmVmUHRy
PEdQVVN3YXBDaGFpbj4gbV9zd2FwQ2hhaW47CisKKyAgICBWZWN0b3I8RXJyb3JTY29wZT4gbV9l
cnJvclNjb3BlczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3IuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4
NjRhM2Q2M2E5NDRmMzNmYzQzYjMyM2Y1ODJkODQ4Y2MyOWJhODUKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3IuY3BwCkBAIC0w
LDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
R1BVRXJyb3IuaCIKKworI2lmIEVOQUJMRShXRUJHUFUpCisKKyNpbmNsdWRlICJHUFVFcnJvckZp
bHRlci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK09wdGlvbmFsPEdQVUVycm9yPiBjcmVh
dGVFcnJvcihHUFVFcnJvckZpbHRlciBmaWx0ZXIsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKK3sK
KyAgICBzd2l0Y2ggKGZpbHRlcikgeworICAgIGNhc2UgR1BVRXJyb3JGaWx0ZXI6Ok91dE9mTWVt
b3J5OgorICAgICAgICByZXR1cm4gR1BVRXJyb3IoUmVmUHRyPEdQVU91dE9mTWVtb3J5RXJyb3I+
KEdQVU91dE9mTWVtb3J5RXJyb3I6OmNyZWF0ZSgpKSk7CisgICAgY2FzZSBHUFVFcnJvckZpbHRl
cjo6VmFsaWRhdGlvbjoKKyAgICAgICAgcmV0dXJuIEdQVUVycm9yKFJlZlB0cjxHUFVWYWxpZGF0
aW9uRXJyb3I+KEdQVVZhbGlkYXRpb25FcnJvcjo6Y3JlYXRlKG1lc3NhZ2UpKSk7CisgICAgZGVm
YXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7CisgICAgfQorfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVUVycm9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVRXJyb3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNjdjMzVhZGM4OTBkMzcyZmNjOTczYzhmZGRmMmI3
YjZmNTkzNmJjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVUVycm9yLmgKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaWYgRU5BQkxFKFdFQkdQVSkKKworI2luY2x1ZGUgIkdQVU91dE9mTWVtb3J5
RXJyb3IuaCIKKyNpbmNsdWRlICJHUFVWYWxpZGF0aW9uRXJyb3IuaCIKKyNpbmNsdWRlIDx3dGYv
T3B0aW9uYWwuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Zhcmlh
bnQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitlbnVtIGNsYXNzIEdQVUVycm9yRmlsdGVyOworCit1c2luZyBHUFVFcnJvciA9IFZh
cmlhbnQ8UmVmUHRyPEdQVU91dE9mTWVtb3J5RXJyb3I+LCBSZWZQdHI8R1BVVmFsaWRhdGlvbkVy
cm9yPj47CisKK09wdGlvbmFsPEdQVUVycm9yPiBjcmVhdGVFcnJvcihHUFVFcnJvckZpbHRlciwg
Y29uc3QgU3RyaW5nJik7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3JGaWx0
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvckZpbHRl
ci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQ1NjlmZWYzMjcwNWQ5OWJmZWNlYTAwODkxZmYxNjQ0YTBhNGQxNzIK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
R1BVRXJyb3JGaWx0ZXIuaApAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpZiBFTkFCTEUoV0VCR1BVKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisgICAgCitl
bnVtIGNsYXNzIEdQVUVycm9yRmlsdGVyIHsKKyAgICBOb25lLAorICAgIE91dE9mTWVtb3J5LAor
ICAgIFZhbGlkYXRpb24sCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVU91dE9mTWVtb3J5RXJyb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVPdXRPZk1lbW9yeUVycm9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWY0MjBlOTdk
ZmUzYmYwNzU2NmM1YjZhMGZkZWM0NjY4OTYxNzk0MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVPdXRPZk1lbW9yeUVycm9yLmgKQEAg
LTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdF
QkdQVSkKKworI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEdQVU91dE9mTWVtb3J5RXJyb3IgOiBw
dWJsaWMgUmVmQ291bnRlZDxHUFVPdXRPZk1lbW9yeUVycm9yPiB7CitwdWJsaWM6CisgICAgc3Rh
dGljIFJlZjxHUFVPdXRPZk1lbW9yeUVycm9yPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigq
bmV3IEdQVU91dE9mTWVtb3J5RXJyb3IpOyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVmFsaWRhdGlvbkVycm9yLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zOTdlNTQ1NDYxMzg2Y2ZmY2Q0MTA4NzdkYzM2MTRmNmRmMTgyODc5Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVZhbGlkYXRp
b25FcnJvci5jcHAKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJHUFVWYWxpZGF0aW9uRXJyb3IuaCIKKworI2lmIEVOQUJMRShXRUJH
UFUpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVmPEdQVVZhbGlkYXRpb25FcnJvcj4gR1BV
VmFsaWRhdGlvbkVycm9yOjpjcmVhdGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQoreworICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IEdQVVZhbGlkYXRpb25FcnJvcihtZXNzYWdlKSk7Cit9CisKK0dQ
VVZhbGlkYXRpb25FcnJvcjo6R1BVVmFsaWRhdGlvbkVycm9yKGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSkKKyAgICA6IG1fbWVzc2FnZShtZXNzYWdlKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjcyMjVhYzIwN2ZjYTNiZWRiZTYxMTU1YTc1OTdhZGE1NTY3Mzg1ZTAKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVmFsaWRhdGlv
bkVycm9yLmgKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aWYgRU5BQkxFKFdFQkdQVSkKKworI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIEdQVVZhbGlkYXRpb25FcnJvciA6IHB1YmxpYyBSZWZDb3Vu
dGVkPEdQVVZhbGlkYXRpb25FcnJvcj4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8R1BVVmFs
aWRhdGlvbkVycm9yPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKTsKKworICAgIFN0cmlu
ZyBtZXNzYWdlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNzYWdlOyB9CisKK3ByaXZhdGU6CisgICAg
ZXhwbGljaXQgR1BVVmFsaWRhdGlvbkVycm9yKGNvbnN0IFN0cmluZyYgbWVzc2FnZSk7CisKKyAg
ICBTdHJpbmcgbV9tZXNzYWdlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gRU5BQkxFKFdFQkdQVSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVCdWZmZXJNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVCdWZmZXJNZXRhbC5tbQppbmRleCA1OWEwN2Zm
OWNlYjdkOGVhNTJkM2NiNmNkMWFjM2M3ZGY1ZmMyYTA1Li4wMjQ2MDMxMGNmY2ViMGIyZjEwMjlk
NmNmMTQ1YTA5ZjkwNDZjODQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvY29jb2EvR1BVQnVmZmVyTWV0YWwubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVUJ1ZmZlck1ldGFsLm1tCkBAIC00Miw3ICs0
Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBjb25zdGV4cHIgYXV0byByZWFkT25s
eUZsYWdzID0gT3B0aW9uU2V0PEdQVUJ1ZmZlclVzYWdlOjpGbGFncz4geyBHUFVCdWZmZXJVc2Fn
ZTo6RmxhZ3M6OkluZGV4LCBHUFVCdWZmZXJVc2FnZTo6RmxhZ3M6OlZlcnRleCwgR1BVQnVmZmVy
VXNhZ2U6OkZsYWdzOjpVbmlmb3JtLCBHUFVCdWZmZXJVc2FnZTo6RmxhZ3M6OlRyYW5zZmVyU291
cmNlIH07CiAKIAotYm9vbCBHUFVCdWZmZXI6OnZhbGlkYXRlQnVmZmVyVXNhZ2UoY29uc3QgR1BV
RGV2aWNlJiBkZXZpY2UsIE9wdGlvblNldDxHUFVCdWZmZXJVc2FnZTo6RmxhZ3M+IHVzYWdlKQor
Ym9vbCBHUFVCdWZmZXI6OnZhbGlkYXRlQnVmZmVyVXNhZ2UoR1BVRGV2aWNlJiBkZXZpY2UsIE9w
dGlvblNldDxHUFVCdWZmZXJVc2FnZTo6RmxhZ3M+IHVzYWdlKQogewogICAgIGlmICghZGV2aWNl
LnBsYXRmb3JtRGV2aWNlKCkpIHsKICAgICAgICAgTE9HKFdlYkdQVSwgIkdQVUJ1ZmZlcjo6dHJ5
Q3JlYXRlKCk6IEludmFsaWQgR1BVRGV2aWNlISIpOwpAQCAtNTAsNyArNTAsNyBAQCBib29sIEdQ
VUJ1ZmZlcjo6dmFsaWRhdGVCdWZmZXJVc2FnZShjb25zdCBHUFVEZXZpY2UmIGRldmljZSwgT3B0
aW9uU2V0PEdQVUJ1ZmZlcgogICAgIH0KIAogICAgIGlmICh1c2FnZS5jb250YWluc0FsbCh7IEdQ
VUJ1ZmZlclVzYWdlOjpGbGFnczo6TWFwV3JpdGUsIEdQVUJ1ZmZlclVzYWdlOjpGbGFnczo6TWFw
UmVhZCB9KSkgewotICAgICAgICBMT0coV2ViR1BVLCAiR1BVQnVmZmVyOjp0cnlDcmVhdGUoKTog
QnVmZmVyIGNhbm5vdCBoYXZlIGJvdGggTUFQX1JFQUQgYW5kIE1BUF9XUklURSB1c2FnZSEiKTsK
KyAgICAgICAgZGV2aWNlLnJlZ2lzdGVyRXJyb3IoIkdQVUJ1ZmZlcjo6dHJ5Q3JlYXRlKCk6IEJ1
ZmZlciBjYW5ub3QgaGF2ZSBib3RoIE1BUF9SRUFEIGFuZCBNQVBfV1JJVEUgdXNhZ2UhIik7CiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKQEAgLTY3LDcgKzY3LDcgQEAgUmVmUHRyPEdQ
VUJ1ZmZlcj4gR1BVQnVmZmVyOjp0cnlDcmVhdGUoUmVmPEdQVURldmljZT4mJiBkZXZpY2UsIGNv
bnN0IEdQVUJ1ZmZlckQKICAgICAvLyBNVExCdWZmZXIgc2l6ZSAoTlNVSW50ZWdlcikgaXMgMzIg
Yml0cyBvbiBzb21lIHBsYXRmb3Jtcy4KICAgICBOU1VJbnRlZ2VyIHNpemUgPSAwOwogICAgIGlm
ICghV1RGOjpjb252ZXJ0U2FmZWx5KGRlc2NyaXB0b3Iuc2l6ZSwgc2l6ZSkpIHsKLSAgICAgICAg
TE9HKFdlYkdQVSwgIkdQVUJ1ZmZlcjo6dHJ5Q3JlYXRlKCk6IEJ1ZmZlciBzaXplIGlzIHRvbyBs
YXJnZSEiKTsKKyAgICAgICAgZGV2aWNlLT5yZWdpc3RlckVycm9yKCIiLCBHUFVFcnJvckZpbHRl
cjo6T3V0T2ZNZW1vcnkpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKQEAgLTEw
Miw3ICsxMDIsNyBAQCBSZWZQdHI8R1BVQnVmZmVyPiBHUFVCdWZmZXI6OnRyeUNyZWF0ZShSZWY8
R1BVRGV2aWNlPiYmIGRldmljZSwgY29uc3QgR1BVQnVmZmVyRAogICAgIEVORF9CTE9DS19PQkpD
X0VYQ0VQVElPTlM7CiAKICAgICBpZiAoIW10bEJ1ZmZlcikgewotICAgICAgICBMT0coV2ViR1BV
LCAiR1BVQnVmZmVyOjp0cnlDcmVhdGUoKTogVW5hYmxlIHRvIGNyZWF0ZSBNVExCdWZmZXIhIik7
CisgICAgICAgIGRldmljZS0+cmVnaXN0ZXJFcnJvcigiIiwgR1BVRXJyb3JGaWx0ZXI6Ok91dE9m
TWVtb3J5KTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzA4Mjk0
OTgyODQwMGMxYzM3Y2Y2YTlhODQ3NzgwN2ZhY2U2MDUyYi4uOTEzNmViZjIwNzkwZTFiZGE0MzMy
ZjgyZDU4ZDgyOTBmNTQ4MmMzYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTA3LTEwICBK
dXN0aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gSW1w
bGVtZW50IEdQVUVycm9yIGFuZCBlcnJvciBzY29wZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTY1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHRlc3QgdG8gY292ZXIgdGhlIGNhc2VzIG91
dGxpbmVkIGluIHRoZSBXZWJHUFUgZXJyb3IgaGFuZGxpbmcgZGVzaWduIGRvYy4KKworICAgICAg
ICAqIHdlYmdwdS9lcnJvci1zY29wZXMtdGVzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdwdS9lcnJvci1zY29wZXMtdGVzdC5odG1sOiBBZGRlZC4KKwogMjAxOS0wNy0xMCAg
Q2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBWb2lj
ZU92ZXIgaWdub3JlZCByb2xlPSJwcmVzZW50YXRpb24iIG9uIDx0YWJsZT4gSFRNTCBlbGVtZW50
cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2Vycm9yLXNjb3Blcy10ZXN0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdwdS9lcnJvci1zY29wZXMtdGVzdC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNGViYTY3Zjg3NjFmMjBhOTg4OTUwY2EyNDNjYzBmNWZmMjZhNTlhNQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdwdS9lcnJvci1zY29wZXMtdGVzdC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorCitQQVNTIENhcHR1cmUgYSBzaW5nbGUgR1BV
VmFsaWRhdGlvbiBlcnJvci4gCitQQVNTIENhcHR1cmUgYSBzaW5nbGUgR1BVT3V0T2ZNZW1vcnkg
ZXJyb3IuIAorUEFTUyBJZ25vcmUgZXJyb3JzIHBhc3QgdGhlIGZpcnN0LiAKK1BBU1MgQ2FwdHVy
ZWQgZXJyb3JzIG1hdGNoIGVycm9yIHNjb3BlIGZpbHRlci4gCitQQVNTIFJlamVjdCBwb3BFcnJv
clNjb3BlIGlmIG5vIHNjb3BlIGV4aXN0cy4gCitQQVNTIEZpbHRlciAnbm9uZScgc2hvdWxkIGNh
cHR1cmUgYnV0IG5vdCByZXBvcnQgZXJyb3JzLiAKK1BBU1MgUHVzaCBhbmQgcG9wIG1hbnkgZXJy
b3Igc2NvcGVzIHdpdGggbm8gcmVqZWN0aW9ucy4gCitQQVNTIENhdGNoIG1hbnkgZXJyb3JzIGlu
IG5lc3RlZCBzY29wZXMuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJncHUvZXJyb3It
c2NvcGVzLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdwdS9lcnJvci1zY29wZXMtdGVzdC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjVjZmNjYTFiNWUxNDFhZDQ3NTliZjJkYWVhMmVkMjU5NDQ2NDc1MTUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJncHUvZXJyb3Itc2NvcGVzLXRlc3Qu
aHRtbApAQCAtMCwwICsxLDEyMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0
Zi04PgorPHRpdGxlPlRlc3QgRXJyb3IgU2NvcGVzLjwvdGl0bGU+Cis8Ym9keT4KKzxzY3JpcHQg
c3JjPSJqcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorbGV0IHRlc3Rz
ID0ge307CisKK3Rlc3RzWyJDYXB0dXJlIGEgc2luZ2xlIEdQVVZhbGlkYXRpb24gZXJyb3IuIl0g
PSBhc3luYyBkZXZpY2UgPT4geworICAgIGRldmljZS5wdXNoRXJyb3JTY29wZSgidmFsaWRhdGlv
biIpOworICAgIGNhdXNlVmFsaWRhdGlvbkVycm9yKGRldmljZSk7CisgICAgcmV0dXJuIHBvcFZh
bGlkYXRpb25FcnJvcihkZXZpY2UpOworfTsKKwordGVzdHNbIkNhcHR1cmUgYSBzaW5nbGUgR1BV
T3V0T2ZNZW1vcnkgZXJyb3IuIl0gPSBhc3luYyBkZXZpY2UgPT4geworICAgIGRldmljZS5wdXNo
RXJyb3JTY29wZSgib3V0LW9mLW1lbW9yeSIpOworICAgIGNhdXNlTWVtb3J5RXJyb3IoZGV2aWNl
KTsKKyAgICByZXR1cm4gcG9wTWVtb3J5RXJyb3IoZGV2aWNlKTsKK307CisKK3Rlc3RzWyJJZ25v
cmUgZXJyb3JzIHBhc3QgdGhlIGZpcnN0LiJdID0gYXN5bmMgZGV2aWNlID0+IHsKKyAgICBkZXZp
Y2UucHVzaEVycm9yU2NvcGUoInZhbGlkYXRpb24iKTsKKyAgICBkZXZpY2UucHVzaEVycm9yU2Nv
cGUoInZhbGlkYXRpb24iKTsKKyAgICBjYXVzZVZhbGlkYXRpb25FcnJvcihkZXZpY2UpOworICAg
IGNhdXNlVmFsaWRhdGlvbkVycm9yKGRldmljZSk7CisgICAgCisgICAgY29uc3QgZXJyb3IgPSBh
d2FpdCBkZXZpY2UucG9wRXJyb3JTY29wZSgpOworICAgIGFzc2VydFZhbGlkYXRpb25FcnJvcihl
cnJvcik7CisKKyAgICByZXR1cm4gcG9wTnVsbEVycm9yKGRldmljZSk7Cit9OworCit0ZXN0c1si
Q2FwdHVyZWQgZXJyb3JzIG1hdGNoIGVycm9yIHNjb3BlIGZpbHRlci4iXSA9IGFzeW5jIGRldmlj
ZSA9PiB7CisgICAgZGV2aWNlLnB1c2hFcnJvclNjb3BlKCJ2YWxpZGF0aW9uIik7CisgICAgZGV2
aWNlLnB1c2hFcnJvclNjb3BlKCJvdXQtb2YtbWVtb3J5Iik7CisgICAgY2F1c2VWYWxpZGF0aW9u
RXJyb3IoZGV2aWNlKTsKKworICAgIGNvbnN0IHNob3VsZEJlTnVsbCA9IGF3YWl0IGRldmljZS5w
b3BFcnJvclNjb3BlKCk7CisgICAgYXNzZXJ0TnVsbChzaG91bGRCZU51bGwpOworCisgICAgcmV0
dXJuIHBvcFZhbGlkYXRpb25FcnJvcihkZXZpY2UpOworfTsKKwordGVzdHNbIlJlamVjdCBwb3BF
cnJvclNjb3BlIGlmIG5vIHNjb3BlIGV4aXN0cy4iXSA9IGFzeW5jIGRldmljZSA9PiB7CisgICAg
Y29uc3QgcHJvbWlzZSA9IGRldmljZS5wb3BFcnJvclNjb3BlKCkudGhlbigoKSA9PiBhc3NlcnRf
dW5yZWFjaGVkKCksIGFzeW5jIGUgPT4geworICAgICAgICBhc3NlcnRfZmFsc2UoZSA9PT0gdW5k
ZWZpbmVkKTsKKyAgICAgICAgLy8gUG9wIHRoZSBleHRyYSAnbm9uZScgc2NvcGUuCisgICAgICAg
IGF3YWl0IHBvcE51bGxFcnJvcihkZXZpY2UpOworICAgIH0pOworICAgIC8vICdwcm9taXNlJyBz
aG91bGQgc3RpbGwgcmVqZWN0IGlmIGEgc2NvcGUgaXMgcHVzaGVkIGhlcmUuCisgICAgZGV2aWNl
LnB1c2hFcnJvclNjb3BlKCJub25lIik7CisgICAgcmV0dXJuIHByb21pc2U7Cit9OworCit0ZXN0
c1siRmlsdGVyICdub25lJyBzaG91bGQgY2FwdHVyZSBidXQgbm90IHJlcG9ydCBlcnJvcnMuIl0g
PSBhc3luYyBkZXZpY2UgPT4geworICAgIGRldmljZS5wdXNoRXJyb3JTY29wZSgib3V0LW9mLW1l
bW9yeSIpOworICAgIGRldmljZS5wdXNoRXJyb3JTY29wZSgibm9uZSIpOworICAgIGNhdXNlTWVt
b3J5RXJyb3IoZGV2aWNlKTsKKworICAgIGNvbnN0IHNob3VsZEJlTnVsbCA9IGF3YWl0IGRldmlj
ZS5wb3BFcnJvclNjb3BlKCk7CisgICAgYXNzZXJ0TnVsbChzaG91bGRCZU51bGwpOworCisgICAg
cmV0dXJuIHBvcE51bGxFcnJvcihkZXZpY2UpOworfTsKKwordGVzdHNbIlB1c2ggYW5kIHBvcCBt
YW55IGVycm9yIHNjb3BlcyB3aXRoIG5vIHJlamVjdGlvbnMuIl0gPSBhc3luYyBkZXZpY2UgPT4g
eworICAgIGNvbnN0IG51bUl0ZXJhdGlvbnMgPSAxMjg7CisgICAgZm9yIChsZXQgaSA9IDA7IGkg
PCBudW1JdGVyYXRpb25zOyArK2kpCisgICAgICAgIGRldmljZS5wdXNoRXJyb3JTY29wZSgib3V0
LW9mLW1lbW9yeSIpOworICAgIAorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbnVtSXRlcmF0aW9u
cyAtIDE7ICsraSkKKyAgICAgICAgYXdhaXQgcG9wTnVsbEVycm9yKGRldmljZSk7CisKKyAgICBy
ZXR1cm4gcG9wTnVsbEVycm9yKGRldmljZSk7Cit9OworCit0ZXN0c1siQ2F0Y2ggbWFueSBlcnJv
cnMgaW4gbmVzdGVkIHNjb3Blcy4iXSA9IGFzeW5jIGRldmljZSA9PiB7CisgICAgY29uc3QgbnVt
SXRlcmF0aW9ucyA9IDEyODsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IG51bUl0ZXJhdGlvbnM7
ICsraSkgeworICAgICAgICBkZXZpY2UucHVzaEVycm9yU2NvcGUoInZhbGlkYXRpb24iKTsKKyAg
ICAgICAgY2F1c2VWYWxpZGF0aW9uRXJyb3IoZGV2aWNlKTsKKyAgICB9CisKKyAgICBmb3IgKGxl
dCBpID0gMDsgaSA8IG51bUl0ZXJhdGlvbnMgLSAxOyArK2kpCisgICAgICAgIGF3YWl0IHBvcFZh
bGlkYXRpb25FcnJvcihkZXZpY2UpOworCisgICAgcmV0dXJuIHBvcFZhbGlkYXRpb25FcnJvcihk
ZXZpY2UpOworfTsKKworY29uc3QgaW5pdCA9IGFzeW5jICgpID0+IHsKKyAgICB0cnkgeworICAg
ICAgICB2YXIgZGV2aWNlID0gYXdhaXQgZ2V0QmFzaWNEZXZpY2UoKTsKKyAgICB9IGNhdGNoIChl
KSB7IC8qIFdlYkdQVSBpcyBub3Qgc3VwcG9ydGVkLiAqLyB9CisKKyAgICBmb3IgKGxldCBuYW1l
IGluIHRlc3RzKQorICAgICAgICBkZXZpY2VQcm9taXNlVGVzdChkZXZpY2UsIG5hbWUpOworfTsK
Kword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBpbml0KTsKKworLyogSGVscGVyIEZ1
bmN0aW9ucyAqLworCitjb25zdCBjYXVzZVZhbGlkYXRpb25FcnJvciA9IGRldmljZSA9PiBkZXZp
Y2UuY3JlYXRlQnVmZmVyKHsgc2l6ZTogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLk1BUF9SRUFE
IHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFIH0pOworY29uc3QgY2F1c2VNZW1vcnlFcnJvciA9
IGRldmljZSA9PiBkZXZpY2UuY3JlYXRlQnVmZmVyKHsgc2l6ZTogOTk5OTk5OTk5OTksIHVzYWdl
OiBHUFVCdWZmZXJVc2FnZS5OT05FIH0pOworY29uc3QgcG9wVmFsaWRhdGlvbkVycm9yID0gZGV2
aWNlID0+IGRldmljZS5wb3BFcnJvclNjb3BlKCkudGhlbihlcnJvciA9PiBhc3NlcnRWYWxpZGF0
aW9uRXJyb3IoZXJyb3IpKTsKK2NvbnN0IHBvcE1lbW9yeUVycm9yID0gZGV2aWNlID0+IGRldmlj
ZS5wb3BFcnJvclNjb3BlKCkudGhlbihlcnJvciA9PiBhc3NlcnRNZW1vcnlFcnJvcihlcnJvcikp
OworY29uc3QgcG9wTnVsbEVycm9yID0gZGV2aWNlID0+IGRldmljZS5wb3BFcnJvclNjb3BlKCku
dGhlbihlcnJvciA9PiBhc3NlcnROdWxsKGVycm9yKSk7Citjb25zdCBhc3NlcnROdWxsID0gZXJy
b3IgPT4gYXNzZXJ0X3RydWUoZXJyb3IgPT09IG51bGwsICJObyBlcnJvciBleHBlY3RlZCEiKTsK
K2NvbnN0IGFzc2VydFZhbGlkYXRpb25FcnJvciA9IGVycm9yID0+IGFzc2VydF90cnVlKGVycm9y
IGluc3RhbmNlb2YgR1BVVmFsaWRhdGlvbkVycm9yLCAiRXhwZWN0ZWQgdmFsaWRhdGlvbiBlcnJv
ciEiKTsKK2NvbnN0IGFzc2VydE1lbW9yeUVycm9yID0gZXJyb3IgPT4gYXNzZXJ0X3RydWUoZXJy
b3IgaW5zdGFuY2VvZiBHUFVPdXRPZk1lbW9yeUVycm9yLCAiRXhwZWN0ZWQgb3V0LW9mLW1lbW9y
eSBlcnJvciEiKTsKKworY29uc3QgZGV2aWNlUHJvbWlzZVRlc3QgPSAoZGV2aWNlLCBuYW1lKSA9
PiB7CisgICAgcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgICAgICAgaWYgKGRldmljZSA9
PT0gdW5kZWZpbmVkKQorICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOworICAg
ICAgICByZXR1cm4gdGVzdHNbbmFtZV0oZGV2aWNlKTsKKyAgICB9LCBuYW1lKTsKK307Cis8L3Nj
cmlwdD4KKzwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373897</attachid>
            <date>2019-07-10 19:21:35 -0700</date>
            <delta_ts>2019-07-11 11:50:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199655-20190710192134.patch</filename>
            <type>text/plain</type>
            <size>62863</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MzMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M3NGRjYzgxYjU3YTkx
YWMxNzMwN2Q3YjA2YWZhMjcxZjUxMDIwMC4uZWZkYjVlNWUzMWM1ZDZhY2E1M2MxOWM5OWRkMzcz
ODJmOTIyMDU0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE5LTA3LTEwICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gSW1wbGVt
ZW50IEdQVUVycm9yIGFuZCBlcnJvciBzY29wZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTY1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBHUFVFcnJvckZpbHRlciwgR1BVRXJyb3IsIGFuZCB0
aGUgYWJpbGl0eSB0byBwdXNoIGFuZCBwb3AgZXJyb3Igc2NvcGVzIG9uIGEgR1BVRGV2aWNlLgor
ICAgICAgICBUaGlzIHdpbGwgYWxsb3cgdXMgdG8gY2hlY2sgZm9yIFdlYkdQVSBlcnJvcnMgZnJv
bSBKYXZhU2NyaXB0LgorICAgICAgICBDdXJyZW50bHksIG9ubHkgc29tZSBHUFVCdWZmZXIgY3Jl
YXRpb24gZXJyb3JzIGFyZSByZXBvcnRlZCBmb3IgdGVzdGluZzsgbW9yZSBlcnJvcnMgd2lsbCBm
b2xsb3cgaW4gbGF0ZXIgcGF0Y2hlcy4KKworICAgICAgICBUZXN0OiB3ZWJncHUvZXJyb3Itc2Nv
cGVzLXRlc3QuaHRtbAorCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvR1BVRXJyb3JGaWx0ZXIu
aWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9HUFVPdXRPZk1lbW9yeUVycm9y
LmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvR1BVVmFsaWRhdGlvbkVycm9y
LmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OldlYkdQVURldmljZTo6cHVzaEVycm9yU2NvcGUpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViR1BVRGV2aWNlOjpwb3BFcnJvclNjb3BlKTogUmVzb2x2ZSB0aGUgUHJv
bWlzZSBoZXJlLCBzaW5jZSBHUFVEZXZpY2Ugc2hvdWxkbid0IHdvcnJ5IGFib3V0IERPTSBsYXll
ci4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaDoKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6V2ViR1BVRGV2aWNlRXJyb3JTY29wZXM6OnB1c2hFcnJvclNjb3BlKTogRGVs
ZWdhdGVzIHRvIFdlYkdQVURldmljZS4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVURldmljZUVy
cm9yU2NvcGVzOjpwb3BFcnJvclNjb3BlKTogRGl0dG8uCisgICAgICAgICogTW9kdWxlcy93ZWJn
cHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy93
ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9ncHUvR1BVQnVmZmVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0dQVURldmljZS5jcHA6IFRoZSBhY3R1YWwgZXJyb3Igc3RhY2sgbGl2ZXMgaGVyZS4K
KyAgICAgICAgKFdlYkNvcmU6OkdQVURldmljZTo6cHVzaEVycm9yU2NvcGUpOgorICAgICAgICAo
V2ViQ29yZTo6R1BVRGV2aWNlOjpwb3BFcnJvclNjb3BlKTogQ2FsbHMgYSBjYWxsYmFjayB3aXRo
IGEgR1BVRXJyb3IsIGlmIGFueS4KKyAgICAgICAgKFdlYkNvcmU6OkdQVURldmljZTo6cmVnaXN0
ZXJFcnJvcik6IEFjdHVhbGx5IGNyZWF0ZXMgR1BVRXJyb3JzLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVRXJyb3IuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUVycm9yKTog
RmFjdG9yeSBmdW5jdGlvbiBmb3IgdmFyaW91cyBlcnJvciB0eXBlcy4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3IuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0dQVUVycm9yRmlsdGVyLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVPdXRPZk1lbW9yeUVycm9yLmg6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZTo6R1BVT3V0T2ZNZW1vcnlFcnJvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9ncHUvR1BVVmFsaWRhdGlvbkVycm9yLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpHUFVWYWxpZGF0aW9uRXJyb3I6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpHUFVW
YWxpZGF0aW9uRXJyb3I6OkdQVVZhbGlkYXRpb25FcnJvcik6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkdQVVZhbGlkYXRpb25FcnJvcjo6bWVzc2FnZSBjb25zdCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVUJ1ZmZlck1ldGFsLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6R1BVQnVmZmVyOjp2YWxpZGF0ZUJ1ZmZlclVzYWdlKTogQ3JlYXRlIGFuIGFjdHVhbCBHUFVW
YWxpZGF0aW9uRXJyb3IgOikKKyAgICAgICAgKFdlYkNvcmU6OkdQVUJ1ZmZlcjo6dHJ5Q3JlYXRl
KTogQ3JlYXRlIEdQVU91dE9mTWVtb3J5RXJyb3JzIHdoZXJlIGFwcHJvcHJpYXRlLgorCisgICAg
ICAgIEFkZCBmaWxlL25hbWUgcmVmZXJlbmNlczoKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
Lm1ha2U6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGlu
TmFtZXMuaDoKKworICAgICAgICBNaXNzaW5nIGluY2x1ZGVzOgorICAgICAgICAqIE1vZHVsZXMv
d2ViZ3B1L1dITFNML1dITFNMQ2hlY2tUZXh0dXJlUmVmZXJlbmNlcy5jcHA6CisKIDIwMTktMDct
MTAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBTdG9wIHVzaW5n
IEdlbmVyaWNUYXNrUXVldWUgZnJvbSBtdWx0aXBsZSB0aHJlYWRzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CmluZGV4IDNjZTUxNjYxMzEwNDFkZWI3MWM5ZTdiZTk1NTc5MDU1OTM3OTg1ODIuLjg0ZDg0YWM1
NzJjMjg1NTMwYTRjZDE5NmZlNzg2Y2U2NmJlMGRjNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBA
IC00ODAsOSArNDgwLDExIEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9k
dWxlcy93ZWJncHUvR1BVQ29sb3JXcml0ZUJpdHMuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvR1BV
Q29tcGFyZUZ1bmN0aW9uLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L0dQVURlcHRoU3RlbmNpbFN0
YXRlRGVzY3JpcHRvci5pZGwKKyAgICBNb2R1bGVzL3dlYmdwdS9HUFVFcnJvckZpbHRlci5pZGwK
ICAgICBNb2R1bGVzL3dlYmdwdS9HUFVFeHRlbnQzRC5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9H
UFVMb2FkT3AuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvR1BVT3JpZ2luM0QuaWRsCisgICAgTW9k
dWxlcy93ZWJncHUvR1BVT3V0T2ZNZW1vcnlFcnJvci5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9H
UFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvR1BVU2FtcGxl
ckRlc2NyaXB0b3IuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvR1BVU2hhZGVyU3RhZ2VCaXQuaWRs
CkBAIC00OTAsNiArNDkyLDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBN
b2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5pZGwKICAgICBNb2R1bGVzL3dlYmdw
dS9HUFVUZXh0dXJlRm9ybWF0LmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVVc2Fn
ZS5pZGwKKyAgICBNb2R1bGVzL3dlYmdwdS9HUFVWYWxpZGF0aW9uRXJyb3IuaWRsCiAgICAgTW9k
dWxlcy93ZWJncHUvR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRvci5pZGwKICAgICBNb2R1bGVz
L3dlYmdwdS9HUFVWZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1
L0dQVVZlcnRleElucHV0RGVzY3JpcHRvci5pZGwKQEAgLTUwOCw2ICs1MTEsNyBAQCBzZXQoV2Vi
Q29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQ
aXBlbGluZS5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21wdXRlUGlwZWxpbmVEZXNj
cmlwdG9yLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5pZGwKKyAgICBNb2R1
bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5pZGwKICAgICBNb2R1bGVzL3dlYmdw
dS9XZWJHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L1dl
YkdQVVBpcGVsaW5lTGF5b3V0LmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5l
TGF5b3V0RGVzY3JpcHRvci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1p
bnB1dC54Y2ZpbGVsaXN0CmluZGV4IGM2OWQzZGQ0MTdiYmQ5MjRmOTUyMmMxNDc0OGNlODFlMjdk
MDEzZDEuLmE2ODEzNzYwMWQ4Mjk0YWZiMTJjODZiYmY0MWMxNjc5ZDI4MWY3YjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtMzMwLDEw
ICszMzAsMTIgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJncHUvR1BVQ29sb3JTdGF0ZURl
c2NyaXB0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9HUFVDb2xvcldyaXRl
Qml0cy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVUNvbXBhcmVGdW5jdGlv
bi5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVURlcHRoU3RlbmNpbFN0YXRl
RGVzY3JpcHRvci5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVUVycm9yRmls
dGVyLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJncHUvR1BVRXh0ZW50M0QuaWRsCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9HUFVJbnB1dFN0YXRlRGVzY3JpcHRvci5pZGwK
ICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVUxvYWRPcC5pZGwKICQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvd2ViZ3B1L0dQVU9yaWdpbjNELmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxl
cy93ZWJncHUvR1BVT3V0T2ZNZW1vcnlFcnJvci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
d2ViZ3B1L0dQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvd2ViZ3B1L0dQVVNhbXBsZXJEZXNjcmlwdG9yLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxl
cy93ZWJncHUvR1BVU2hhZGVyU3RhZ2VCaXQuaWRsCkBAIC0zNDEsNiArMzQzLDcgQEAgJChQUk9K
RUNUX0RJUikvTW9kdWxlcy93ZWJncHUvR1BVU3RvcmVPcC5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmlkbAogJChQUk9KRUNUX0RJUikvTW9k
dWxlcy93ZWJncHUvR1BVVGV4dHVyZUZvcm1hdC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
d2ViZ3B1L0dQVVRleHR1cmVVc2FnZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1
L0dQVVZhbGlkYXRpb25FcnJvci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQ
VVZlcnRleEF0dHJpYnV0ZURlc2NyaXB0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dl
YmdwdS9HUFVWZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxl
cy93ZWJncHUvR1BVVmVydGV4SW5wdXREZXNjcmlwdG9yLmlkbApAQCAtMzYxLDYgKzM2NCw3IEBA
ICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQYXNzRW5jb2Rlci5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQaXBlbGluZS5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQaXBlbGluZURl
c2NyaXB0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2Uu
aWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Bl
cy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lRGVzY3Jp
cHRvckJhc2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGlu
ZUxheW91dC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5l
TGF5b3V0RGVzY3JpcHRvci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMt
b3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggMzdjM2M4YjFiYTUyYjI2MzBmMWYwNTNmMmIwNTI1MzVj
ZGM1MGNiNy4uNGEyNmQyOTJjNDkxZjQ5YmNiNjQxZWQ2ZmM3ZDgwNGNkYzZiZTdmNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysr
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTYw
OSw2ICs2MDksOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0dQVUNvbXBhcmVGdW5jdGlvbi5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTR1BVQ29tcGFyZUZ1bmN0aW9uLmgKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVRGVwdGhTdGVuY2lsU3RhdGVEZXNjcmlw
dG9yLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNH
UFVEZXB0aFN0ZW5jaWxTdGF0ZURlc2NyaXB0b3IuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVFcnJvckZpbHRlci5jcHAKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVRXJyb3JGaWx0ZXIuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVFeHRlbnQzRC5jcHAK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVRXh0ZW50
M0QuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVJ
bnB1dFN0YXRlRGVzY3JpcHRvci5jcHAKQEAgLTYxNyw2ICs2MTksOCBAQCAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUxvYWRPcC5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVTG9hZE9wLmgKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVT3JpZ2luM0QuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVU9yaWdp
bjNELmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BV
T3V0T2ZNZW1vcnlFcnJvci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTR1BVT3V0T2ZNZW1vcnlFcnJvci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVUmVxdWVzdEFk
YXB0ZXJPcHRpb25zLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTR1BVU2FtcGxlckRlc2NyaXB0b3IuY3BwCkBAIC02MzEsNiArNjM1LDggQEAgJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVUZXh0dXJlRm9ybWF0
LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVU
ZXh0dXJlRm9ybWF0LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTR1BVVGV4dHVyZVVzYWdlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNHUFVUZXh0dXJlVXNhZ2UuaAorJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVWYWxpZGF0aW9uRXJyb3IuY3BwCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVZhbGlkYXRpb25FcnJv
ci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVZl
cnRleEF0dHJpYnV0ZURlc2NyaXB0b3IuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVZlcnRleEF0dHJpYnV0ZURlc2NyaXB0b3IuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVWZXJ0ZXhCdWZmZXJE
ZXNjcmlwdG9yLmNwcApAQCAtMTk0Myw2ICsxOTQ5LDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJHUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlwdG9y
LmMKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR1BV
Q29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1dlYkdQVURldmljZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR1BVRGV2aWNlLmgKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMu
Y3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYkdQ
VURldmljZUVycm9yU2NvcGVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5jcHAKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR1BVUGlwZWxpbmVEZXNjcmlw
dG9yQmFzZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1dlYkdQVVBpcGVsaW5lTGF5b3V0LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5k
ZXggN2VlYjQyN2MyN2QxOGFjNGNiODdjOWZiMmZlZjAzZWUwNmJmNjY2ZC4uYzYxNzcxNjE0M2Ew
NzFhNjlhMGYyZWVkYzk1MTNkZDdiYzFlNjFlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCkBAIC0zODYsOSArMzg2LDExIEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvd2ViZ3B1L0dQVUJ1ZmZlclVzYWdlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL3dlYmdwdS9HUFVDb21wYXJlRnVuY3Rpb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvd2ViZ3B1L0dQVURlcHRoU3RlbmNpbFN0YXRlRGVzY3JpcHRvci5pZGwgXAorICAgICQo
V2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVRXJyb3JGaWx0ZXIuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvd2ViZ3B1L0dQVUV4dGVudDNELmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3dlYmdwdS9HUFVMb2FkT3AuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1
L0dQVU9yaWdpbjNELmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVPdXRP
Zk1lbW9yeUVycm9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVSZXF1
ZXN0QWRhcHRlck9wdGlvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L0dQ
VVNhbXBsZXJEZXNjcmlwdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9H
UFVTaGFkZXJTdGFnZUJpdC5pZGwgXApAQCAtMzk2LDYgKzM5OCw3IEBAIEpTX0JJTkRJTkdfSURM
UyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9y
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlRm9ybWF0Lmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlVXNhZ2UuaWRsIFwK
KyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRv
ci5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVVmVydGV4QnVmZmVyRGVz
Y3JpcHRvci5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVVmVydGV4SW5wdXRE
ZXNjcmlwdG9yLmlkbCBcCkBAIC00MTQsNiArNDE3LDcgQEAgSlNfQklORElOR19JRExTID0gXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVQ29tcHV0ZVBpcGVsaW5lLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21wdXRlUGlwZWxpbmVEZXNj
cmlwdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2Uu
aWRsIFwKKwkkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2NvcGVz
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVRdWV1ZS5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFz
ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlv
dXQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUVy
cm9yRmlsdGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUVycm9yRmls
dGVyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xZDZhY2JiMjQyMWNiZjRkNGM1YWVmMThiMzU0ODM5YjcxZDY2
Mzk2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BV
RXJyb3JGaWx0ZXIuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworLy8gaHR0cHM6Ly9n
cHV3ZWIuZ2l0aHViLmlvL2dwdXdlYgorCitbCisgICAgQ29uZGl0aW9uYWw9V0VCR1BVLAorICAg
IEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCitdIGVudW0gR1BVRXJyb3JGaWx0ZXIgeworICAgICJu
b25lIiwKKyAgICAib3V0LW9mLW1lbW9yeSIsCisgICAgInZhbGlkYXRpb24iCit9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVT3V0T2ZNZW1vcnlFcnJvci5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVPdXRPZk1lbW9yeUVycm9yLmlk
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kNGQzZDAwNzM3OTM0ZTRmNzdlOWE2MjM1ZWQ0MzE5NTQ1OWNiNjEyCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVT3V0T2ZN
ZW1vcnlFcnJvci5pZGwKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
OSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisvLyBodHRwczovL2dw
dXdlYi5naXRodWIuaW8vZ3B1d2ViCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJHUFUsCisgICAg
Q29uc3RydWN0b3IoKSwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVSwKKyAgICBJbXBsZW1l
bnRhdGlvbkxhY2tzVlRhYmxlCitdIGludGVyZmFjZSBHUFVPdXRPZk1lbW9yeUVycm9yIHt9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVVmFsaWRhdGlvbkVy
cm9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVVZhbGlkYXRpb25FcnJv
ci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNWUxM2MxODg3ZWY4YjQwNzljMDRjNWNiZWE2NmVjYTY3MzI3ZjQ4
MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVVZh
bGlkYXRpb25FcnJvci5pZGwKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisvLyBodHRwczov
L2dwdXdlYi5naXRodWIuaW8vZ3B1d2ViCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJHUFUsCisg
ICAgQ29uc3RydWN0b3IoRE9NU3RyaW5nIG1lc3NhZ2UpLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9
V2ViR1BVLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKK10gaW50ZXJmYWNlIEdQVVZh
bGlkYXRpb25FcnJvciB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBtZXNzYWdl
OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMQ2hlY2tUZXh0dXJlUmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9XSExTTENoZWNrVGV4dHVyZVJlZmVyZW5jZXMuY3BwCmluZGV4IGMwMmRiODlk
M2NiNmMwYTc1MWE2MjJlYjc5ZGQzNGU3YjdkNTYzZjkuLjczODZiMTA2YmI4MGQzNjdlZjMxZGQ2
YjUzNTllYWI5YTU3NzkyOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML1dITFNMQ2hlY2tUZXh0dXJlUmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xDaGVja1RleHR1cmVSZWZlcmVuY2VzLmNw
cApAQCAtMjYsMTAgKzI2LDE1IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV0hM
U0xDaGVja1RleHR1cmVSZWZlcmVuY2VzLmgiCiAKLSNpbmNsdWRlICJXSExTTEluZmVyVHlwZXMu
aCIKLQogI2lmIEVOQUJMRShXRUJHUFUpCiAKKyNpbmNsdWRlICJXSExTTEFycmF5UmVmZXJlbmNl
VHlwZS5oIgorI2luY2x1ZGUgIldITFNMQXJyYXlUeXBlLmgiCisjaW5jbHVkZSAiV0hMU0xJbmZl
clR5cGVzLmgiCisjaW5jbHVkZSAiV0hMU0xOYXRpdmVUeXBlRGVjbGFyYXRpb24uaCIKKyNpbmNs
dWRlICJXSExTTFBvaW50ZXJUeXBlLmgiCisjaW5jbHVkZSAiV0hMU0xWaXNpdG9yLmgiCisKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIFdITFNMIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwCmluZGV4IGYwNTlhZDg5ZTA5ZDRmNGE3
NGY4YjhlODEzZjQ0ZjVhMGE5YjllMWUuLmUzMTllMjE5NTUwNDM4ZThjMmFjYmJkMjJjZmY4NTE1
YjQ3N2I2ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VURldmljZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2
aWNlLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKFdFQkdQVSkKIAorI2luY2x1
ZGUgIkV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkdQVUJpbmRHcm91cC5oIgogI2luY2x1ZGUgIkdQ
VUJpbmRHcm91cEJpbmRpbmcuaCIKICNpbmNsdWRlICJHUFVCaW5kR3JvdXBEZXNjcmlwdG9yLmgi
CkBAIC00Miw2ICs0Myw4IEBACiAjaW5jbHVkZSAiR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5o
IgogI2luY2x1ZGUgIkdQVVRleHR1cmVEZXNjcmlwdG9yLmgiCiAjaW5jbHVkZSAiSlNET01Db252
ZXJ0QnVmZmVyU291cmNlLmgiCisjaW5jbHVkZSAiSlNHUFVPdXRPZk1lbW9yeUVycm9yLmgiCisj
aW5jbHVkZSAiSlNHUFVWYWxpZGF0aW9uRXJyb3IuaCIKICNpbmNsdWRlICJKU1dlYkdQVUJ1ZmZl
ci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJXZWJHUFVCaW5kR3JvdXAuaCIK
QEAgLTYzLDYgKzY2LDcgQEAKICNpbmNsdWRlICJXZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9y
LmgiCiAjaW5jbHVkZSAiV2ViR1BVU3dhcENoYWluLmgiCiAjaW5jbHVkZSAiV2ViR1BVVGV4dHVy
ZS5oIgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTE4MCw2ICsxODQsMjEgQEAgUmVmPFdlYkdQVVF1ZXVlPiBXZWJHUFVEZXZpY2U6OmdldFF1
ZXVlKCkgY29uc3QKICAgICByZXR1cm4gbWFrZVJlZigqbV9xdWV1ZS5nZXQoKSk7CiB9CiAKK3Zv
aWQgV2ViR1BVRGV2aWNlOjpwdXNoRXJyb3JTY29wZShHUFVFcnJvckZpbHRlciBmaWx0ZXIpIGNv
bnN0Cit7CisgICAgbV9kZXZpY2UtPnB1c2hFcnJvclNjb3BlKGZpbHRlcik7Cit9CisKK3ZvaWQg
V2ViR1BVRGV2aWNlOjpwb3BFcnJvclNjb3BlKEVycm9yUHJvbWlzZSYmIHByb21pc2UpIGNvbnN0
Cit7CisgICAgbV9kZXZpY2UtPnBvcEVycm9yU2NvcGUoW3Byb21pc2UgPSBXVEZNb3ZlKHByb21p
c2UpXSAoT3B0aW9uYWw8R1BVRXJyb3I+JiYgZXJyb3IsIGNvbnN0IFN0cmluZyYgZmFpbE1lc3Nh
Z2UpIG11dGFibGUgeworICAgICAgICBpZiAoZmFpbE1lc3NhZ2UuaXNFbXB0eSgpKQorICAgICAg
ICAgICAgcHJvbWlzZS5yZXNvbHZlKGVycm9yKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg
cHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3IsIGZhaWxNZXNzYWdlIH0p
OworICAgIH0pOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFC
TEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2Vi
R1BVRGV2aWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2Uu
aAppbmRleCAyMWQzNzFhMDNhNzUxNTQ0YTkxZDdjOGExYWQwY2Q2MjE1OTVhYTFiLi5jODM1MWIy
ZDZlZThkOWExNDAyMmExZjE4YzFjZDYwN2U4MGYxZGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaApAQCAtMjgsNiArMjgsNyBAQAogI2lmIEVOQUJM
RShXRUJHUFUpCiAKICNpbmNsdWRlICJHUFVEZXZpY2UuaCIKKyNpbmNsdWRlICJKU0RPTVByb21p
c2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIldlYkdQVUFkYXB0ZXIuaCIKICNpbmNsdWRlICJXZWJH
UFVRdWV1ZS5oIgogI2luY2x1ZGUgIldlYkdQVVN3YXBDaGFpbkRlc2NyaXB0b3IuaCIKQEAgLTQz
LDYgKzQ0LDggQEAgY2xhc3MgSlNWYWx1ZTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFz
cyBHUFVPdXRPZk1lbW9yeUVycm9yOworY2xhc3MgR1BVVmFsaWRhdGlvbkVycm9yOwogY2xhc3Mg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIGNsYXNzIFdlYkdQVUJpbmRHcm91cDsKIGNsYXNzIFdl
YkdQVUJpbmRHcm91cExheW91dDsKQEAgLTY2LDYgKzY5LDEwIEBAIHN0cnVjdCBXZWJHUFVQaXBl
bGluZUxheW91dERlc2NyaXB0b3I7CiBzdHJ1Y3QgV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlw
dG9yOwogc3RydWN0IFdlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3I7CiAKK2VudW0gY2xhc3Mg
R1BVRXJyb3JGaWx0ZXI7CisKK3VzaW5nIEVycm9yUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJl
ZDxJRExOdWxsYWJsZTxJRExVbmlvbjxJRExJbnRlcmZhY2U8R1BVT3V0T2ZNZW1vcnlFcnJvcj4s
IElETEludGVyZmFjZTxHUFVWYWxpZGF0aW9uRXJyb3I+Pj4+OworCiBjbGFzcyBXZWJHUFVEZXZp
Y2UgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJHUFVEZXZpY2U+IHsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUmVmUHRyPFdlYkdQVURldmljZT4gdHJ5Q3JlYXRlKFJlZjxjb25zdCBXZWJHUFVBZGFwdGVy
PiYmKTsKQEAgLTkxLDYgKzk4LDkgQEAgcHVibGljOgogCiAgICAgUmVmPFdlYkdQVVF1ZXVlPiBn
ZXRRdWV1ZSgpIGNvbnN0OwogCisgICAgdm9pZCBwdXNoRXJyb3JTY29wZShHUFVFcnJvckZpbHRl
cikgY29uc3Q7CisgICAgdm9pZCBwb3BFcnJvclNjb3BlKEVycm9yUHJvbWlzZSYmKSBjb25zdDsK
KwogcHJpdmF0ZToKICAgICBXZWJHUFVEZXZpY2UoUmVmPGNvbnN0IFdlYkdQVUFkYXB0ZXI+JiYs
IFJlZjxHUFVEZXZpY2U+JiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzkzMTEw
MGRiNTQ1MTM4Nzk0NDc1NmMwZmIwMWZkODgyYTMwMWE4MQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2NvcGVzLmNwcApA
QCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIldlYkdQVURldmljZUVycm9yU2NvcGVzLmgiCisKKyNpZiBFTkFCTEUoV0VCR1BVKQorCisj
aW5jbHVkZSAiR1BVRXJyb3JGaWx0ZXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2b2lk
IFdlYkdQVURldmljZUVycm9yU2NvcGVzOjpwdXNoRXJyb3JTY29wZShXZWJHUFVEZXZpY2UmIGRl
dmljZSwgR1BVRXJyb3JGaWx0ZXIgZmlsdGVyKQoreworICAgIGRldmljZS5wdXNoRXJyb3JTY29w
ZShmaWx0ZXIpOworfQorCit2b2lkIFdlYkdQVURldmljZUVycm9yU2NvcGVzOjpwb3BFcnJvclNj
b3BlKFdlYkdQVURldmljZSYgZGV2aWNlLCBFcnJvclByb21pc2UmJiBwcm9taXNlKQoreworICAg
IGRldmljZS5wb3BFcnJvclNjb3BlKFdURk1vdmUocHJvbWlzZSkpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2NvcGVzLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjIwZjA3YWJlMzk4YmY5YTczNGQ0NDZhZjU4OTQ1M2MwZGIwYzEwOQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVy
cm9yU2NvcGVzLmgKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaWYgRU5BQkxFKFdFQkdQVSkKKworI2luY2x1ZGUgIldlYkdQVURldmljZS5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgR1BVRXJyb3JGaWx0ZXI7CisKK2NsYXNzIFdl
YkdQVURldmljZUVycm9yU2NvcGVzIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgdm9pZCBwdXNoRXJy
b3JTY29wZShXZWJHUFVEZXZpY2UmLCBHUFVFcnJvckZpbHRlcik7CisgICAgc3RhdGljIHZvaWQg
cG9wRXJyb3JTY29wZShXZWJHUFVEZXZpY2UmLCBFcnJvclByb21pc2UmJik7Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMu
aWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29w
ZXMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmVjNzg1MjdiY2UyOTAwOGY0OWJlMGQzMTkwYzMxZWNmMDE4NTli
NDYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJH
UFVEZXZpY2VFcnJvclNjb3Blcy5pZGwKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisvLyBo
dHRwczovL2dwdXdlYi5naXRodWIuaW8vZ3B1d2ViCisKK3R5cGVkZWYgKEdQVU91dE9mTWVtb3J5
RXJyb3Igb3IgR1BVVmFsaWRhdGlvbkVycm9yKSBHUFVFcnJvcjsKKworWworICAgIENvbmRpdGlv
bmFsPVdFQkdQVSwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQorXSBwYXJ0aWFsIGludGVy
ZmFjZSBXZWJHUFVEZXZpY2UgeworICAgIHZvaWQgcHVzaEVycm9yU2NvcGUoR1BVRXJyb3JGaWx0
ZXIgZmlsdGVyKTsKKyAgICBQcm9taXNlPEdQVUVycm9yPz4gcG9wRXJyb3JTY29wZSgpOworfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUv
U291cmNlcy50eHQKaW5kZXggZDgwZjAyZTkxN2MzODQyYjViOTgzNzc5ZDlmN2ZiNzkwODUwZGQy
OS4uODhhZTI2YWMwNWMwMzdkYTk3MzQ4OTlkNzM0MGU3Y2E0ZTQ2Mzg2MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50
eHQKQEAgLTM2Nyw2ICszNjcsNyBAQCBNb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21wdXRlUGFzc0Vu
Y29kZXIuY3BwCiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21wdXRlUGlwZWxpbmUuY3BwCiBNb2R1
bGVzL3dlYmdwdS9XZWJHUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlwdG9yLmNwcAogTW9kdWxlcy93
ZWJncHUvV2ViR1BVRGV2aWNlLmNwcAorTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JT
Y29wZXMuY3BwCiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVRdWV1ZS5jcHAKIE1vZHVsZXMvd2ViZ3B1
L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmNwcAogTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVM
YXlvdXREZXNjcmlwdG9yLmNwcApAQCAtMTgyNyw2ICsxODI4LDggQEAgcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9Tb3VyY2VHcmFwaGljLmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9T
cG90TGlnaHRTb3VyY2UuY3BwCiAKIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3Bw
CitwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3IuY3BwCitwbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVVmFsaWRhdGlvbkVycm9yLmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVBpcGVs
aW5lTGF5b3V0LmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVByb2dyYW1tYWJsZVBhc3NF
bmNvZGVyLmNwcAogCkBAIC0yNzU2LDkgKzI3NTksMTEgQEAgSlNHUFVCdWZmZXJEZXNjcmlwdG9y
LmNwcAogSlNHUFVCdWZmZXJVc2FnZS5jcHAKIEpTR1BVQ29tcGFyZUZ1bmN0aW9uLmNwcAogSlNH
UFVEZXB0aFN0ZW5jaWxTdGF0ZURlc2NyaXB0b3IuY3BwCitKU0dQVUVycm9yRmlsdGVyLmNwcAog
SlNHUFVFeHRlbnQzRC5jcHAKIEpTR1BVTG9hZE9wLmNwcAogSlNHUFVPcmlnaW4zRC5jcHAKK0pT
R1BVT3V0T2ZNZW1vcnlFcnJvci5jcHAKIEpTR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zLmNwcAog
SlNHUFVTYW1wbGVyRGVzY3JpcHRvci5jcHAKIEpTR1BVU2hhZGVyU3RhZ2VCaXQuY3BwCkBAIC0y
NzY2LDYgKzI3NzEsNyBAQCBKU0dQVVN0b3JlT3AuY3BwCiBKU0dQVVRleHR1cmVEZXNjcmlwdG9y
LmNwcAogSlNHUFVUZXh0dXJlRm9ybWF0LmNwcAogSlNHUFVUZXh0dXJlVXNhZ2UuY3BwCitKU0dQ
VVZhbGlkYXRpb25FcnJvci5jcHAKIEpTR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRvci5jcHAK
IEpTR1BVVmVydGV4QnVmZmVyRGVzY3JpcHRvci5jcHAKIEpTR1BVVmVydGV4SW5wdXREZXNjcmlw
dG9yLmNwcApAQCAtMzMxOCw2ICszMzI0LDcgQEAgSlNXZWJHUFVDb21wdXRlUGFzc0VuY29kZXIu
Y3BwCiBKU1dlYkdQVUNvbXB1dGVQaXBlbGluZS5jcHAKIEpTV2ViR1BVQ29tcHV0ZVBpcGVsaW5l
RGVzY3JpcHRvci5jcHAKIEpTV2ViR1BVRGV2aWNlLmNwcAorSlNXZWJHUFVEZXZpY2VFcnJvclNj
b3Blcy5jcHAKIEpTV2ViR1BVUXVldWUuY3BwCiBKU1dlYkdQVVBpcGVsaW5lRGVzY3JpcHRvckJh
c2UuY3BwCiBKU1dlYkdQVVBpcGVsaW5lTGF5b3V0LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDlhOGVmOTMwMGQwZjBhNDE1
NzE3OGQ3Zjk4OTA4MmJlZGQwYmU2ZDQuLmI2MTMwMmVlYTE3ZGU2YzhmMjg1ZmU3NzBmMmViMGFm
NWE0M2RjY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTE0MDE4LDYgKzE0MDE4LDE5IEBACiAJCUQwOTNEMjI1MjE3OTUxRDQw
MDMyOTIxNyAvKiBHUFVDYW52YXNDb250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVUNhbnZhc0Nv
bnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDA5M0QyMjcyMTc5NTFENDAw
MzI5MjE3IC8qIEdQVUNhbnZhc0NvbnRleHQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVUNhbnZhc0NvbnRleHQuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMDkzRDIyOTIxNzk1NDE2MDAzMjkyMTcg
LyogR1BVQ2FudmFzQ29udGV4dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHUFVDYW52YXNDb250
ZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA5QUZBRkYyMkQwMkU1MzAw
QzQ1MzhDIC8qIFdlYkdQVURldmljZUVycm9yU2NvcGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkdQ
VURldmljZUVycm9yU2NvcGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwOUFG
QjAxMjJEMDJFNTMwMEM0NTM4QyAvKiBXZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUQwOUFGQjAyMjJEMDQ3MTkwMEM0NTM4QyAvKiBHUFVFcnJvckZpbHRl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVFcnJvckZpbHRlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDlBRkIwMzIyRDQwQ0M1MDBDNDUzOEMgLyog
V2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkdQVURldmljZUVycm9yU2NvcGVz
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA5QUZCMDYyMkQ0MTdCMzAwQzQ1
MzhDIC8qIEdQVUVycm9yRmlsdGVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVFcnJvckZpbHRlci5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwOUFGQjA3MjJENTM5MUIwMEM0NTM4QyAvKiBHUFVF
cnJvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVFcnJvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlEMDlBRkIwODIyRDU1NDI4MDBDNDUzOEMgLyogR1BVRXJyb3IuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gR1BVRXJyb3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlE
MDlBRkIwQzIyRDU1RTkwMDBDNDUzOEMgLyogR1BVVmFsaWRhdGlvbkVycm9yLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBH
UFVWYWxpZGF0aW9uRXJyb3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDlB
RkIwRDIyRDU1RjNCMDBDNDUzOEMgLyogR1BVVmFsaWRhdGlvbkVycm9yLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEdQVVZhbGlkYXRpb25FcnJvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlE
MDlBRkIwRTIyRDU1RkY1MDBDNDUzOEMgLyogR1BVVmFsaWRhdGlvbkVycm9yLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEdQVVZhbGlkYXRpb25FcnJvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUQwOUFGQjE3MjJENjY5NEUwMEM0NTM4QyAvKiBHUFVPdXRPZk1lbW9yeUVycm9y
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBHUFVPdXRPZk1lbW9yeUVycm9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJRDA5QUZCMTkyMkQ2Njk4QTAwQzQ1MzhDIC8qIEdQVU91dE9mTWVtb3J5RXJyb3Iu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gR1BVT3V0T2ZNZW1vcnlFcnJvci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlEMDlBRkIyRDIyRDZDMDE0MDBDNDUzOEMgLyogR1BVRXJyb3IuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gR1BVRXJyb3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlEMEEyMEQ1NDIwOTJBMEE2MDBFMEMyNTkgLyogV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFT
VEMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViR0xDb21wcmVzc2VkVGV4
dHVyZUFTVEMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDBBMjBENTYyMDkyQTBB
NjAwRTBDMjU5IC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBU1RDLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBU1RDLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDBBM0E3MzAxNDA1QTM5ODAwRkI4RUQzIC8q
IFJlc291cmNlTG9hZGVyT3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSZXNvdXJjZUxvYWRlck9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTE4MzIwLDkgKzE4MzMzLDE0IEBACiAJCQkJRDAzQzg0OUEyMUZGQzY2NzAwMDIyMjdGIC8qIEdQ
VURlcHRoU3RlbmNpbFN0YXRlRGVzY3JpcHRvci5oICovLAogCQkJCTMxMkZGOEJGMjFBNEMyRjEw
MEVCMTk5RCAvKiBHUFVEZXZpY2UuY3BwICovLAogCQkJCTMxMkZGOEJFMjFBNEMyRjEwMEVCMTk5
RCAvKiBHUFVEZXZpY2UuaCAqLywKKwkJCQlEMDlBRkIwODIyRDU1NDI4MDBDNDUzOEMgLyogR1BV
RXJyb3IuY3BwICovLAorCQkJCUQwOUFGQjJEMjJENkMwMTQwMEM0NTM4QyAvKiBHUFVFcnJvci5j
cHAgKi8sCisJCQkJRDA5QUZCMDcyMkQ1MzkxQjAwQzQ1MzhDIC8qIEdQVUVycm9yLmggKi8sCisJ
CQkJRDA5QUZCMDIyMkQwNDcxOTAwQzQ1MzhDIC8qIEdQVUVycm9yRmlsdGVyLmggKi8sCiAJCQkJ
RDAyNkY0N0QyMjBBMkFDNjAwQUM1RjQ5IC8qIEdQVUV4dGVudDNELmggKi8sCiAJCQkJRDBGNzU1
OUYyMjAzQkExNDAwMTE4MDU4IC8qIEdQVUxpbWl0cy5oICovLAogCQkJCUQwOEFBMDJGMjIwRDBC
RDUwMDU4QzUwMiAvKiBHUFVMb2FkT3AuaCAqLywKKwkJCQlEMDlBRkIxOTIyRDY2OThBMDBDNDUz
OEMgLyogR1BVT3V0T2ZNZW1vcnlFcnJvci5oICovLAogCQkJCTMxMkZGOEM0MjFBNEMyRjQwMEVC
MTk5RCAvKiBHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmggKi8sCiAJCQkJRDAwMzI4ODcyMUM5
QTRFNTAwNjIyQUE2IC8qIEdQVVBpcGVsaW5lTGF5b3V0LmNwcCAqLywKIAkJCQlEMDAzMjg4NjIx
QzlBNEU1MDA2MjJBQTYgLyogR1BVUGlwZWxpbmVMYXlvdXQuaCAqLywKQEAgLTE4MzQ4LDYgKzE4
MzY2LDggQEAKIAkJCQkzMTJGRjhDMzIxQTRDMkYzMDBFQjE5OUQgLyogR1BVVGV4dHVyZUZvcm1h
dC5oICovLAogCQkJCUQwMjZGNDg1MjIwQTQ3NzIwMEFDNUY0OSAvKiBHUFVUZXh0dXJlVXNhZ2Uu
aCAqLywKIAkJCQlEMDZFRjU1MjIyMEJBMjZBMDAxODcyNEUgLyogR1BVVXRpbHMuaCAqLywKKwkJ
CQlEMDlBRkIwRTIyRDU1RkY1MDBDNDUzOEMgLyogR1BVVmFsaWRhdGlvbkVycm9yLmNwcCAqLywK
KwkJCQlEMDlBRkIwRDIyRDU1RjNCMDBDNDUzOEMgLyogR1BVVmFsaWRhdGlvbkVycm9yLmggKi8s
CiAJCQkJRDBEODY0OUIyMUJBMUMyRDAwM0M5ODNDIC8qIEdQVVZlcnRleEF0dHJpYnV0ZURlc2Ny
aXB0b3IuaCAqLywKIAkJCQlEMEQ4NjQ5QzIxQkExQ0U4MDAzQzk4M0MgLyogR1BVVmVydGV4QnVm
ZmVyRGVzY3JpcHRvci5oICovLAogCQkJCUQwRDg2NDk5MjFCQTFCMUYwMDNDOTgzQyAvKiBHUFVW
ZXJ0ZXhJbnB1dERlc2NyaXB0b3IuaCAqLywKQEAgLTI1OTM3LDEwICsyNTk1NywxMiBAQAogCQkJ
CUQwQjU2RUFFMjI0RUNFMjAwMDYxMDQ5QyAvKiBHUFVDb2xvcldyaXRlQml0cy5pZGwgKi8sCiAJ
CQkJRDAzQzg0OUUyMUZGQ0YwMDAwMDIyMjdGIC8qIEdQVUNvbXBhcmVGdW5jdGlvbi5pZGwgKi8s
CiAJCQkJRDAzQzg0QTIyMUZGRDcyMzAwMDIyMjdGIC8qIEdQVURlcHRoU3RlbmNpbFN0YXRlRGVz
Y3JpcHRvci5pZGwgKi8sCisJCQkJRDA5QUZCMDYyMkQ0MTdCMzAwQzQ1MzhDIC8qIEdQVUVycm9y
RmlsdGVyLmlkbCAqLywKIAkJCQlEMDI2RjQ4MDIyMEEyQjcwMDBBQzVGNDkgLyogR1BVRXh0ZW50
M0QuaWRsICovLAogCQkJCUQwOEFBMDJEMjIwRDBCOUMwMDU4QzUwMiAvKiBHUFVMb2FkT3AuaWRs
ICovLAogCQkJCUQwQ0NBOTQ5MjIyOTlGOTcwMDY5NzlCNiAvKiBHUFVPcmlnaW4zRC5oICovLAog
CQkJCUQwQ0NBOTRBMjIyOTlGOTcwMDY5NzlCNiAvKiBHUFVPcmlnaW4zRC5pZGwgKi8sCisJCQkJ
RDA5QUZCMTcyMkQ2Njk0RTAwQzQ1MzhDIC8qIEdQVU91dE9mTWVtb3J5RXJyb3IuaWRsICovLAog
CQkJCUQwMkMyNjkyMjE4MTQxNkQwMEQ4MThFNCAvKiBHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMu
aWRsICovLAogCQkJCUQwQURCMjYzMjIzMDlENzYwMEEyMjkzNSAvKiBHUFVTYW1wbGVyRGVzY3Jp
cHRvci5pZGwgKi8sCiAJCQkJRDBERThGQjgyMjJFMDlFMjAwODgyNTUwIC8qIEdQVVNoYWRlclN0
YWdlQml0LmggKi8sCkBAIC0yNTk0OSw2ICsyNTk3MSw3IEBACiAJCQkJRDAyNkY0OEIyMjBBNUIw
QjAwQUM1RjQ5IC8qIEdQVVRleHR1cmVEZXNjcmlwdG9yLmlkbCAqLywKIAkJCQlEMEVBQ0ZBRTIx
OUUzMEZEMDAwRkE3NUMgLyogR1BVVGV4dHVyZUZvcm1hdC5pZGwgKi8sCiAJCQkJRDAyNkY0ODMy
MjBBNDcyRjAwQUM1RjQ5IC8qIEdQVVRleHR1cmVVc2FnZS5pZGwgKi8sCisJCQkJRDA5QUZCMEMy
MkQ1NUU5MDAwQzQ1MzhDIC8qIEdQVVZhbGlkYXRpb25FcnJvci5pZGwgKi8sCiAJCQkJRDBEODY0
OTYyMUJBMThGNDAwM0M5ODNDIC8qIEdQVVZlcnRleEF0dHJpYnV0ZURlc2NyaXB0b3IuaWRsICov
LAogCQkJCUQwRDg2NDk4MjFCQTE5QTcwMDNDOTgzQyAvKiBHUFVWZXJ0ZXhCdWZmZXJEZXNjcmlw
dG9yLmlkbCAqLywKIAkJCQlEMEQ4NjQ5NDIxQkExNzNEMDAzQzk4M0MgLyogR1BVVmVydGV4SW5w
dXREZXNjcmlwdG9yLmlkbCAqLywKQEAgLTI1OTk1LDYgKzI2MDE4LDkgQEAKIAkJCQlEMDBGNTk1
MzIxNzAxRDhDMDAwRDcxREIgLyogV2ViR1BVRGV2aWNlLmNwcCAqLywKIAkJCQlEMDBGNTk1MjIx
NzAxRDhDMDAwRDcxREIgLyogV2ViR1BVRGV2aWNlLmggKi8sCiAJCQkJRDAwRjU5NTQyMTcwMUQ4
QzAwMEQ3MURCIC8qIFdlYkdQVURldmljZS5pZGwgKi8sCisJCQkJRDA5QUZCMDEyMkQwMkU1MzAw
QzQ1MzhDIC8qIFdlYkdQVURldmljZUVycm9yU2NvcGVzLmNwcCAqLywKKwkJCQlEMDlBRkFGRjIy
RDAyRTUzMDBDNDUzOEMgLyogV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaCAqLywKKwkJCQlEMDlB
RkIwMzIyRDQwQ0M1MDBDNDUzOEMgLyogV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaWRsICovLAog
CQkJCUQwQzQxOUYwMjE4M0VCMzEwMDlFQzFERSAvKiBXZWJHUFVQaXBlbGluZURlc2NyaXB0b3JC
YXNlLmggKi8sCiAJCQkJRDBDNDE5RjEyMTgzRUIzMTAwOUVDMURFIC8qIFdlYkdQVVBpcGVsaW5l
RGVzY3JpcHRvckJhc2UuaWRsICovLAogCQkJCUQwNUE5OUU1MjFDOUJGMkMwMDAzMkI3NSAvKiBX
ZWJHUFVQaXBlbGluZUxheW91dC5jcHAgKi8sCkBAIC0yODQwMCw2ICsyODQyNiw3IEBACiAJCQkJ
QTVBN0FBNDMxMzJGMEVDQzAwRDNBM0MyIC8qIEF1dG9jYXBpdGFsaXplVHlwZXMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTdDMTg0M0ZFMUM4QjcyODMwMDJFQjk3MyAvKiBBdXRvZmlsbC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJN0MxRTk3MjgxQTlGOTgzNDAwN0JGMEZCIC8qIEF1dG9GaWxsQnV0dG9u
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUNDQzI3MDkyMkQ1NDgzQTAwOTY0RkEwIC8q
IEF1dG9maWxsRWxlbWVudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUM5RDQ2NzA1MUU2MEM0NjUw
MDgxOTVGQiAvKiBBdXRvcGxheUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk0NTgzMEQ0RTE2
NzlCNEY4MDBBQ0Y4QzMgLyogQXV0b3Njcm9sbENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCUE4Q0ZGMDRFMEExNTRGMDkwMDBBNDIzNCAvKiBBdXRvVGFibGVMYXlvdXQuaCBpbiBIZWFk
ZXJzICovLApAQCAtMzAwNDQsNyArMzAwNzEsNiBAQAogCQkJCTdDNzc2MUFBMUY4NzhBQTUwMEY4
NjlGRCAvKiBKU0ltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dFNldHRpbmdzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBNzc5NzkyOTBENkI5RTY0MDAzODUxQjkgLyogSlNJbWFnZURhdGEuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTdDMTkzQzAxMUY1RTExMDUwMDg4RjNFNiAvKiBKU0ltYWdlU21vb3Ro
aW5nUXVhbGl0eS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNUNDQzI3MDkyMkQ1NDgzQTAwOTY0RkEw
IC8qIEF1dG9maWxsRWxlbWVudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NjYyOUQzMDlEQTJC
NDgwMDk2MzNBNiAvKiBKU0lucHV0RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkxNzVDRTVF
MjFFMjgxRUQwMERGMkMyOCAvKiBKU0luc3BlY3RvckF1ZGl0QWNjZXNzaWJpbGl0eU9iamVjdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJOTE3NUNFNUMyMUUyODFFRDAwREYyQzI4IC8qIEpTSW5zcGVj
dG9yQXVkaXRET01PYmplY3QuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmluZGV4IGY1YjUzMjJjN2I5MDM1Zjcz
YTQyODE2YTIwY2JiYTEwZTdmZDdmZTQuLjQ2ZjUzZTEyYTFmMzhlOTJjOTBhYzQ4N2NiOTI3Yjkw
Nzk2ZDM5ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVp
bHRpbk5hbWVzLmgKQEAgLTk0LDYgKzk0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1h
Y3JvKEdQVUNvbXB1dGVQYXNzRW5jb2RlcikgXAogICAgIG1hY3JvKEdQVUNvbXB1dGVQaXBlbGlu
ZSkgXAogICAgIG1hY3JvKEdQVURldmljZSkgXAorICAgIG1hY3JvKEdQVU91dE9mTWVtb3J5RXJy
b3IpIFwKICAgICBtYWNybyhHUFVQaXBlbGluZUxheW91dCkgXAogICAgIG1hY3JvKEdQVVByb2dy
YW1tYWJsZVBhc3NFbmNvZGVyKSBcCiAgICAgbWFjcm8oR1BVUXVldWUpIFwKQEAgLTEwNiw2ICsx
MDcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oR1BVVGV4dHVyZSkgXAogICAg
IG1hY3JvKEdQVVRleHR1cmVVc2FnZSkgXAogICAgIG1hY3JvKEdQVVRleHR1cmVWaWV3KSBcCisg
ICAgbWFjcm8oR1BVVmFsaWRhdGlvbkVycm9yKSBcCiAgICAgbWFjcm8oSFRNTEF0dGFjaG1lbnRF
bGVtZW50KSBcCiAgICAgbWFjcm8oSFRNTEF1ZGlvRWxlbWVudCkgXAogICAgIG1hY3JvKEhUTUxE
YXRhTGlzdEVsZW1lbnQpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVCdWZmZXIuaAppbmRleCA0MjUwOGJjNzYxNzA1YmYxYTBlNjYxMTc5MWY1ZWE2NzA5
N2I1NTA1Li44ZGEwNDMyMzY5YTcxNDc1NDllZDg1YzUzYmY3MzQzNDE0NmFlOGRkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQnVmZmVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUJ1ZmZlci5oCkBAIC0x
MDgsNyArMTA4LDcgQEAgcHJpdmF0ZToKICAgICB9OwogCiAgICAgR1BVQnVmZmVyKFBsYXRmb3Jt
QnVmZmVyU21hcnRQdHImJiwgUmVmPEdQVURldmljZT4mJiwgc2l6ZV90LCBPcHRpb25TZXQ8R1BV
QnVmZmVyVXNhZ2U6OkZsYWdzPiwgYm9vbCk7Ci0gICAgc3RhdGljIGJvb2wgdmFsaWRhdGVCdWZm
ZXJVc2FnZShjb25zdCBHUFVEZXZpY2UmLCBPcHRpb25TZXQ8R1BVQnVmZmVyVXNhZ2U6OkZsYWdz
Pik7CisgICAgc3RhdGljIGJvb2wgdmFsaWRhdGVCdWZmZXJVc2FnZShHUFVEZXZpY2UmLCBPcHRp
b25TZXQ8R1BVQnVmZmVyVXNhZ2U6OkZsYWdzPik7CiAKICAgICBKU0M6OkFycmF5QnVmZmVyKiBz
dGFnaW5nQnVmZmVyRm9yUmVhZCgpOwogICAgIEpTQzo6QXJyYXlCdWZmZXIqIHN0YWdpbmdCdWZm
ZXJGb3JXcml0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0dQVURldmljZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVRGV2aWNlLmNwcAppbmRleCBhNjQ5YTYwNzE5MTliNmQ1YzI0MWE3MmYyNjg4MjVhMGU2
NTFlN2FkLi5kNjNmNTZjYWJhMjMxOTQyM2Y3NjgzOWFmNGViYmE1OTZkMzc0NzI1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmNwcApA
QCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUgIkdQVVN3YXBDaGFpbkRlc2NyaXB0b3IuaCIKICNp
bmNsdWRlICJHUFVUZXh0dXJlLmgiCiAjaW5jbHVkZSAiR1BVVGV4dHVyZURlc2NyaXB0b3IuaCIK
KyNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTEwOCw2ICsxMDksNDAgQEAgdm9pZCBHUFVEZXZpY2U6OnNldFN3
YXBDaGFpbihSZWZQdHI8R1BVU3dhcENoYWluPiYmIHN3YXBDaGFpbikKICAgICBtX3N3YXBDaGFp
biA9IFdURk1vdmUoc3dhcENoYWluKTsKIH0KIAordm9pZCBHUFVEZXZpY2U6OnB1c2hFcnJvclNj
b3BlKEdQVUVycm9yRmlsdGVyIGZpbHRlcikKK3sKKyAgICBtX2Vycm9yU2NvcGVzLmFwcGVuZChF
cnJvclNjb3BlIHsgZmlsdGVyLCBXVEY6Om51bGxvcHQgfSk7Cit9CisKK3ZvaWQgR1BVRGV2aWNl
Ojpwb3BFcnJvclNjb3BlKEVycm9yQ2FsbGJhY2smJiBjYWxsYmFjaykKK3sKKyAgICBpZiAoIW1f
cGxhdGZvcm1EZXZpY2UpCisgICAgICAgIGNhbGxiYWNrKFdURjo6bnVsbG9wdCwgIkdQVURldmlj
ZTo6cG9wRXJyb3JTY29wZSgpOiBJbnZhbGlkIEdQVURldmljZSEiKTsKKyAgICBlbHNlIGlmICht
X2Vycm9yU2NvcGVzLmlzRW1wdHkoKSkKKyAgICAgICAgY2FsbGJhY2soV1RGOjpudWxsb3B0LCAi
R1BVRGV2aWNlOjpwb3BFcnJvclNjb3BlKCk6IE5vIGVycm9yIHNjb3BlIGV4aXN0cyEiKTsKKyAg
ICBlbHNlIHsKKyAgICAgICAgYXV0byBzY29wZSA9IG1fZXJyb3JTY29wZXMudGFrZUxhc3QoKTsK
KyAgICAgICAgY2FsbGJhY2soc2NvcGUuZmlsdGVyID09IEdQVUVycm9yRmlsdGVyOjpOb25lID8g
V1RGOjpudWxsb3B0IDogV1RGTW92ZShzY29wZS5lcnJvciksIHsgfSk7CisgICAgfQorfQorCit2
b2lkIEdQVURldmljZTo6cmVnaXN0ZXJFcnJvcihjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEdQVUVy
cm9yRmlsdGVyIGZpbHRlcikKK3sKKyAgICBhdXRvIGl0ZXJhdG9yID0gc3RkOjpmaW5kX2lmKG1f
ZXJyb3JTY29wZXMucmJlZ2luKCksIG1fZXJyb3JTY29wZXMucmVuZCgpLCBbZmlsdGVyXShjb25z
dCBFcnJvclNjb3BlJiBzY29wZSkgeworICAgICAgICByZXR1cm4gc2NvcGUuZmlsdGVyID09IEdQ
VUVycm9yRmlsdGVyOjpOb25lIHx8IHNjb3BlLmZpbHRlciA9PSBmaWx0ZXI7CisgICAgfSk7CisK
KyAgICAvLyBGSVhNRTogaHR0cHM6Ly93ZWJraXQub3JnL2IvMTk5Njc2IFVuY2FwdHVyZWQgZXJy
b3JzIG5lZWQgdG8gYmUgZmlyZWQgYXMgR1BVVW5jYXB0dXJlZEVycm9yRXZlbnRzLgorICAgIGlm
IChpdGVyYXRvciA9PSBtX2Vycm9yU2NvcGVzLnJlbmQoKSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgLy8gSWYgdGhlIHNjb3BlIGhhcyBhbHJlYWR5IGNhcHR1cmVkIGFuIGVycm9yLCBpZ25vcmUg
dGhpcyBuZXcgb25lLgorICAgIGlmIChpdGVyYXRvci0+ZXJyb3IpCisgICAgICAgIHJldHVybjsK
KworICAgIGl0ZXJhdG9yLT5lcnJvciA9IGNyZWF0ZUVycm9yKGZpbHRlciwgbWVzc2FnZSk7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmgKaW5k
ZXggYTcxMzk1NDFkMGJmZDE0ZGIyOGZhOTU5ZmZiMDE5NDMwZjgwM2JiZS4uOTBiNDYxYTE3NDYw
MmQ1ODU3MzAzN2Q1Y2E1OTNjMGY1MWI2YTZhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaApAQCAtMjcsMTEgKzI3LDE3IEBACiAKICNp
ZiBFTkFCTEUoV0VCR1BVKQogCisjaW5jbHVkZSAiR1BVRXJyb3IuaCIKKyNpbmNsdWRlICJHUFVF
cnJvckZpbHRlci5oIgogI2luY2x1ZGUgIkdQVVF1ZXVlLmgiCiAjaW5jbHVkZSAiR1BVU3dhcENo
YWluLmgiCisjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CisjaW5jbHVkZSA8d3RmL09wdGlvbmFs
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRy
Lmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIE9CSkNfUFJPVE9DT0woTVRMRGV2aWNl
KTsKIApAQCAtNTcsNyArNjMsNyBAQCBzdHJ1Y3QgR1BVU2FtcGxlckRlc2NyaXB0b3I7CiBzdHJ1
Y3QgR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvcjsKIHN0cnVjdCBHUFVTd2FwQ2hhaW5EZXNjcmlw
dG9yOwogc3RydWN0IEdQVVRleHR1cmVEZXNjcmlwdG9yOwotICAgIAorCiB1c2luZyBQbGF0Zm9y
bURldmljZSA9IE1UTERldmljZTsKIHVzaW5nIFBsYXRmb3JtRGV2aWNlU21hcnRQdHIgPSBSZXRh
aW5QdHI8TVRMRGV2aWNlPjsKIApAQCAtODQsMTIgKzkwLDI1IEBAIHB1YmxpYzoKICAgICBHUFVT
d2FwQ2hhaW4qIHN3YXBDaGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fc3dhcENoYWluLmdldCgpOyB9
CiAgICAgdm9pZCBzZXRTd2FwQ2hhaW4oUmVmUHRyPEdQVVN3YXBDaGFpbj4mJik7CiAKKyAgICB2
b2lkIHB1c2hFcnJvclNjb3BlKEdQVUVycm9yRmlsdGVyKTsKKworICAgIHVzaW5nIEVycm9yQ2Fs
bGJhY2sgPSBXVEY6OkZ1bmN0aW9uPHZvaWQoT3B0aW9uYWw8R1BVRXJyb3I+JiYsIGNvbnN0IFN0
cmluZyYpPjsKKyAgICB2b2lkIHBvcEVycm9yU2NvcGUoRXJyb3JDYWxsYmFjayYmKTsKKyAgICB2
b2lkIHJlZ2lzdGVyRXJyb3IoY29uc3QgU3RyaW5nJiwgR1BVRXJyb3JGaWx0ZXIgPSBHUFVFcnJv
ckZpbHRlcjo6VmFsaWRhdGlvbik7CisKIHByaXZhdGU6CisgICAgc3RydWN0IEVycm9yU2NvcGUg
eworICAgICAgICBjb25zdCBHUFVFcnJvckZpbHRlciBmaWx0ZXI7CisgICAgICAgIE9wdGlvbmFs
PEdQVUVycm9yPiBlcnJvcjsKKyAgICB9OworCiAgICAgZXhwbGljaXQgR1BVRGV2aWNlKFBsYXRm
b3JtRGV2aWNlU21hcnRQdHImJik7CiAKICAgICBQbGF0Zm9ybURldmljZVNtYXJ0UHRyIG1fcGxh
dGZvcm1EZXZpY2U7CiAgICAgbXV0YWJsZSBSZWZQdHI8R1BVUXVldWU+IG1fcXVldWU7CiAgICAg
UmVmUHRyPEdQVVN3YXBDaGFpbj4gbV9zd2FwQ2hhaW47CisKKyAgICBWZWN0b3I8RXJyb3JTY29w
ZT4gbV9lcnJvclNjb3BlczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3IuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmU4NjRhM2Q2M2E5NDRmMzNmYzQzYjMyM2Y1ODJkODQ4Y2MyOWJhODUKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3IuY3Bw
CkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiR1BVRXJyb3IuaCIKKworI2lmIEVOQUJMRShXRUJHUFUpCisKKyNpbmNsdWRlICJHUFVF
cnJvckZpbHRlci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK09wdGlvbmFsPEdQVUVycm9y
PiBjcmVhdGVFcnJvcihHUFVFcnJvckZpbHRlciBmaWx0ZXIsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSkKK3sKKyAgICBzd2l0Y2ggKGZpbHRlcikgeworICAgIGNhc2UgR1BVRXJyb3JGaWx0ZXI6Ok91
dE9mTWVtb3J5OgorICAgICAgICByZXR1cm4gR1BVRXJyb3IoUmVmUHRyPEdQVU91dE9mTWVtb3J5
RXJyb3I+KEdQVU91dE9mTWVtb3J5RXJyb3I6OmNyZWF0ZSgpKSk7CisgICAgY2FzZSBHUFVFcnJv
ckZpbHRlcjo6VmFsaWRhdGlvbjoKKyAgICAgICAgcmV0dXJuIEdQVUVycm9yKFJlZlB0cjxHUFVW
YWxpZGF0aW9uRXJyb3I+KEdQVVZhbGlkYXRpb25FcnJvcjo6Y3JlYXRlKG1lc3NhZ2UpKSk7Cisg
ICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CisgICAgfQorfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvR1BVRXJyb3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNjdjMzVhZGM4OTBkMzcyZmNjOTczYzhm
ZGRmMmI3YjZmNTkzNmJjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9yLmgKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQkdQVSkKKworI2luY2x1ZGUgIkdQVU91dE9m
TWVtb3J5RXJyb3IuaCIKKyNpbmNsdWRlICJHUFVWYWxpZGF0aW9uRXJyb3IuaCIKKyNpbmNsdWRl
IDx3dGYvT3B0aW9uYWwuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3Rm
L1ZhcmlhbnQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitlbnVtIGNsYXNzIEdQVUVycm9yRmlsdGVyOworCit1c2luZyBHUFVFcnJv
ciA9IFZhcmlhbnQ8UmVmUHRyPEdQVU91dE9mTWVtb3J5RXJyb3I+LCBSZWZQdHI8R1BVVmFsaWRh
dGlvbkVycm9yPj47CisKK09wdGlvbmFsPEdQVUVycm9yPiBjcmVhdGVFcnJvcihHUFVFcnJvckZp
bHRlciwgY29uc3QgU3RyaW5nJik7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJy
b3JGaWx0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJv
ckZpbHRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1NjlmZWYzMjcwNWQ5OWJmZWNlYTAwODkxZmYxNjQ0YTBh
NGQxNzIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVRXJyb3JGaWx0ZXIuaApAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCR1BVKQorCituYW1lc3BhY2UgV2ViQ29yZSB7Cisg
ICAgCitlbnVtIGNsYXNzIEdQVUVycm9yRmlsdGVyIHsKKyAgICBOb25lLAorICAgIE91dE9mTWVt
b3J5LAorICAgIFZhbGlkYXRpb24sCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVU91dE9mTWVtb3J5RXJyb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVPdXRPZk1lbW9yeUVycm9yLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWY0
MjBlOTdkZmUzYmYwNzU2NmM1YjZhMGZkZWM0NjY4OTYxNzk0MwotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVPdXRPZk1lbW9yeUVycm9y
LmgKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5B
QkxFKFdFQkdQVSkKKworI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEdQVU91dE9mTWVtb3J5RXJy
b3IgOiBwdWJsaWMgUmVmQ291bnRlZDxHUFVPdXRPZk1lbW9yeUVycm9yPiB7CitwdWJsaWM6Cisg
ICAgc3RhdGljIFJlZjxHUFVPdXRPZk1lbW9yeUVycm9yPiBjcmVhdGUoKSB7IHJldHVybiBhZG9w
dFJlZigqbmV3IEdQVU91dE9mTWVtb3J5RXJyb3IpOyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVmFsaWRhdGlvbkVycm9yLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zOTdlNTQ1NDYxMzg2Y2ZmY2Q0MTA4NzdkYzM2MTRmNmRmMTgyODc5Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVZh
bGlkYXRpb25FcnJvci5jcHAKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJHUFVWYWxpZGF0aW9uRXJyb3IuaCIKKworI2lmIEVOQUJM
RShXRUJHUFUpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVmPEdQVVZhbGlkYXRpb25FcnJv
cj4gR1BVVmFsaWRhdGlvbkVycm9yOjpjcmVhdGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQorewor
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEdQVVZhbGlkYXRpb25FcnJvcihtZXNzYWdlKSk7Cit9
CisKK0dQVVZhbGlkYXRpb25FcnJvcjo6R1BVVmFsaWRhdGlvbkVycm9yKGNvbnN0IFN0cmluZyYg
bWVzc2FnZSkKKyAgICA6IG1fbWVzc2FnZShtZXNzYWdlKQoreworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjcyMjVhYzIwN2ZjYTNiZWRiZTYxMTU1YTc1OTdhZGE1NTY3Mzg1ZTAKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVmFs
aWRhdGlvbkVycm9yLmgKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
OSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaWYgRU5BQkxFKFdFQkdQVSkKKworI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEdQVVZhbGlkYXRpb25FcnJvciA6IHB1YmxpYyBS
ZWZDb3VudGVkPEdQVVZhbGlkYXRpb25FcnJvcj4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8
R1BVVmFsaWRhdGlvbkVycm9yPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKTsKKworICAg
IFN0cmluZyBtZXNzYWdlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNzYWdlOyB9CisKK3ByaXZhdGU6
CisgICAgZXhwbGljaXQgR1BVVmFsaWRhdGlvbkVycm9yKGNvbnN0IFN0cmluZyYgbWVzc2FnZSk7
CisKKyAgICBTdHJpbmcgbV9tZXNzYWdlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKFdFQkdQVSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVCdWZmZXJNZXRhbC5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVCdWZmZXJNZXRhbC5tbQppbmRleCA1
OWEwN2ZmOWNlYjdkOGVhNTJkM2NiNmNkMWFjM2M3ZGY1ZmMyYTA1Li4wMjQ2MDMxMGNmY2ViMGIy
ZjEwMjlkNmNmMTQ1YTA5ZjkwNDZjODQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVQnVmZmVyTWV0YWwubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVUJ1ZmZlck1ldGFsLm1tCkBAIC00
Miw3ICs0Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBjb25zdGV4cHIgYXV0byBy
ZWFkT25seUZsYWdzID0gT3B0aW9uU2V0PEdQVUJ1ZmZlclVzYWdlOjpGbGFncz4geyBHUFVCdWZm
ZXJVc2FnZTo6RmxhZ3M6OkluZGV4LCBHUFVCdWZmZXJVc2FnZTo6RmxhZ3M6OlZlcnRleCwgR1BV
QnVmZmVyVXNhZ2U6OkZsYWdzOjpVbmlmb3JtLCBHUFVCdWZmZXJVc2FnZTo6RmxhZ3M6OlRyYW5z
ZmVyU291cmNlIH07CiAKIAotYm9vbCBHUFVCdWZmZXI6OnZhbGlkYXRlQnVmZmVyVXNhZ2UoY29u
c3QgR1BVRGV2aWNlJiBkZXZpY2UsIE9wdGlvblNldDxHUFVCdWZmZXJVc2FnZTo6RmxhZ3M+IHVz
YWdlKQorYm9vbCBHUFVCdWZmZXI6OnZhbGlkYXRlQnVmZmVyVXNhZ2UoR1BVRGV2aWNlJiBkZXZp
Y2UsIE9wdGlvblNldDxHUFVCdWZmZXJVc2FnZTo6RmxhZ3M+IHVzYWdlKQogewogICAgIGlmICgh
ZGV2aWNlLnBsYXRmb3JtRGV2aWNlKCkpIHsKICAgICAgICAgTE9HKFdlYkdQVSwgIkdQVUJ1ZmZl
cjo6dHJ5Q3JlYXRlKCk6IEludmFsaWQgR1BVRGV2aWNlISIpOwpAQCAtNTAsNyArNTAsNyBAQCBi
b29sIEdQVUJ1ZmZlcjo6dmFsaWRhdGVCdWZmZXJVc2FnZShjb25zdCBHUFVEZXZpY2UmIGRldmlj
ZSwgT3B0aW9uU2V0PEdQVUJ1ZmZlcgogICAgIH0KIAogICAgIGlmICh1c2FnZS5jb250YWluc0Fs
bCh7IEdQVUJ1ZmZlclVzYWdlOjpGbGFnczo6TWFwV3JpdGUsIEdQVUJ1ZmZlclVzYWdlOjpGbGFn
czo6TWFwUmVhZCB9KSkgewotICAgICAgICBMT0coV2ViR1BVLCAiR1BVQnVmZmVyOjp0cnlDcmVh
dGUoKTogQnVmZmVyIGNhbm5vdCBoYXZlIGJvdGggTUFQX1JFQUQgYW5kIE1BUF9XUklURSB1c2Fn
ZSEiKTsKKyAgICAgICAgZGV2aWNlLnJlZ2lzdGVyRXJyb3IoIkdQVUJ1ZmZlcjo6dHJ5Q3JlYXRl
KCk6IEJ1ZmZlciBjYW5ub3QgaGF2ZSBib3RoIE1BUF9SRUFEIGFuZCBNQVBfV1JJVEUgdXNhZ2Uh
Iik7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKQEAgLTY3LDcgKzY3LDcgQEAgUmVm
UHRyPEdQVUJ1ZmZlcj4gR1BVQnVmZmVyOjp0cnlDcmVhdGUoUmVmPEdQVURldmljZT4mJiBkZXZp
Y2UsIGNvbnN0IEdQVUJ1ZmZlckQKICAgICAvLyBNVExCdWZmZXIgc2l6ZSAoTlNVSW50ZWdlcikg
aXMgMzIgYml0cyBvbiBzb21lIHBsYXRmb3Jtcy4KICAgICBOU1VJbnRlZ2VyIHNpemUgPSAwOwog
ICAgIGlmICghV1RGOjpjb252ZXJ0U2FmZWx5KGRlc2NyaXB0b3Iuc2l6ZSwgc2l6ZSkpIHsKLSAg
ICAgICAgTE9HKFdlYkdQVSwgIkdQVUJ1ZmZlcjo6dHJ5Q3JlYXRlKCk6IEJ1ZmZlciBzaXplIGlz
IHRvbyBsYXJnZSEiKTsKKyAgICAgICAgZGV2aWNlLT5yZWdpc3RlckVycm9yKCIiLCBHUFVFcnJv
ckZpbHRlcjo6T3V0T2ZNZW1vcnkpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAK
QEAgLTEwMiw3ICsxMDIsNyBAQCBSZWZQdHI8R1BVQnVmZmVyPiBHUFVCdWZmZXI6OnRyeUNyZWF0
ZShSZWY8R1BVRGV2aWNlPiYmIGRldmljZSwgY29uc3QgR1BVQnVmZmVyRAogICAgIEVORF9CTE9D
S19PQkpDX0VYQ0VQVElPTlM7CiAKICAgICBpZiAoIW10bEJ1ZmZlcikgewotICAgICAgICBMT0co
V2ViR1BVLCAiR1BVQnVmZmVyOjp0cnlDcmVhdGUoKTogVW5hYmxlIHRvIGNyZWF0ZSBNVExCdWZm
ZXIhIik7CisgICAgICAgIGRldmljZS0+cmVnaXN0ZXJFcnJvcigiIiwgR1BVRXJyb3JGaWx0ZXI6
Ok91dE9mTWVtb3J5KTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
NzA4Mjk0OTgyODQwMGMxYzM3Y2Y2YTlhODQ3NzgwN2ZhY2U2MDUyYi4uOTEzNmViZjIwNzkwZTFi
ZGE0MzMyZjgyZDU4ZDgyOTBmNTQ4MmMzYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTA3
LTEwICBKdXN0aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQ
VV0gSW1wbGVtZW50IEdQVUVycm9yIGFuZCBlcnJvciBzY29wZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTY1NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHRlc3QgdG8gY292ZXIgdGhlIGNh
c2VzIG91dGxpbmVkIGluIHRoZSBXZWJHUFUgZXJyb3IgaGFuZGxpbmcgZGVzaWduIGRvYy4KKwor
ICAgICAgICAqIHdlYmdwdS9lcnJvci1zY29wZXMtdGVzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYmdwdS9lcnJvci1zY29wZXMtdGVzdC5odG1sOiBBZGRlZC4KKwogMjAxOS0w
Ny0xMCAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIEFY
OiBWb2ljZU92ZXIgaWdub3JlZCByb2xlPSJwcmVzZW50YXRpb24iIG9uIDx0YWJsZT4gSFRNTCBl
bGVtZW50cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2Vycm9yLXNjb3Blcy10ZXN0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdwdS9lcnJvci1zY29wZXMtdGVzdC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNGViYTY3Zjg3NjFmMjBhOTg4OTUwY2EyNDNjYzBmNWZmMjZh
NTlhNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdwdS9lcnJvci1zY29wZXMt
dGVzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorCitQQVNTIENhcHR1cmUgYSBzaW5n
bGUgR1BVVmFsaWRhdGlvbiBlcnJvci4gCitQQVNTIENhcHR1cmUgYSBzaW5nbGUgR1BVT3V0T2ZN
ZW1vcnkgZXJyb3IuIAorUEFTUyBJZ25vcmUgZXJyb3JzIHBhc3QgdGhlIGZpcnN0LiAKK1BBU1Mg
Q2FwdHVyZWQgZXJyb3JzIG1hdGNoIGVycm9yIHNjb3BlIGZpbHRlci4gCitQQVNTIFJlamVjdCBw
b3BFcnJvclNjb3BlIGlmIG5vIHNjb3BlIGV4aXN0cy4gCitQQVNTIEZpbHRlciAnbm9uZScgc2hv
dWxkIGNhcHR1cmUgYnV0IG5vdCByZXBvcnQgZXJyb3JzLiAKK1BBU1MgUHVzaCBhbmQgcG9wIG1h
bnkgZXJyb3Igc2NvcGVzIHdpdGggbm8gcmVqZWN0aW9ucy4gCitQQVNTIENhdGNoIG1hbnkgZXJy
b3JzIGluIG5lc3RlZCBzY29wZXMuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJncHUv
ZXJyb3Itc2NvcGVzLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdwdS9lcnJvci1zY29wZXMt
dGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVjZmNjYTFiNWUxNDFhZDQ3NTliZjJkYWVhMmVkMjU5NDQ2
NDc1MTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJncHUvZXJyb3Itc2NvcGVz
LXRlc3QuaHRtbApAQCAtMCwwICsxLDEyMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFy
c2V0PXV0Zi04PgorPHRpdGxlPlRlc3QgRXJyb3IgU2NvcGVzLjwvdGl0bGU+Cis8Ym9keT4KKzxz
Y3JpcHQgc3JjPSJqcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorbGV0
IHRlc3RzID0ge307CisKK3Rlc3RzWyJDYXB0dXJlIGEgc2luZ2xlIEdQVVZhbGlkYXRpb24gZXJy
b3IuIl0gPSBhc3luYyBkZXZpY2UgPT4geworICAgIGRldmljZS5wdXNoRXJyb3JTY29wZSgidmFs
aWRhdGlvbiIpOworICAgIGNhdXNlVmFsaWRhdGlvbkVycm9yKGRldmljZSk7CisgICAgcmV0dXJu
IHBvcFZhbGlkYXRpb25FcnJvcihkZXZpY2UpOworfTsKKwordGVzdHNbIkNhcHR1cmUgYSBzaW5n
bGUgR1BVT3V0T2ZNZW1vcnkgZXJyb3IuIl0gPSBhc3luYyBkZXZpY2UgPT4geworICAgIGRldmlj
ZS5wdXNoRXJyb3JTY29wZSgib3V0LW9mLW1lbW9yeSIpOworICAgIGNhdXNlTWVtb3J5RXJyb3Io
ZGV2aWNlKTsKKyAgICByZXR1cm4gcG9wTWVtb3J5RXJyb3IoZGV2aWNlKTsKK307CisKK3Rlc3Rz
WyJJZ25vcmUgZXJyb3JzIHBhc3QgdGhlIGZpcnN0LiJdID0gYXN5bmMgZGV2aWNlID0+IHsKKyAg
ICBkZXZpY2UucHVzaEVycm9yU2NvcGUoInZhbGlkYXRpb24iKTsKKyAgICBkZXZpY2UucHVzaEVy
cm9yU2NvcGUoInZhbGlkYXRpb24iKTsKKyAgICBjYXVzZVZhbGlkYXRpb25FcnJvcihkZXZpY2Up
OworICAgIGNhdXNlVmFsaWRhdGlvbkVycm9yKGRldmljZSk7CisgICAgCisgICAgY29uc3QgZXJy
b3IgPSBhd2FpdCBkZXZpY2UucG9wRXJyb3JTY29wZSgpOworICAgIGFzc2VydFZhbGlkYXRpb25F
cnJvcihlcnJvcik7CisKKyAgICByZXR1cm4gcG9wTnVsbEVycm9yKGRldmljZSk7Cit9OworCit0
ZXN0c1siQ2FwdHVyZWQgZXJyb3JzIG1hdGNoIGVycm9yIHNjb3BlIGZpbHRlci4iXSA9IGFzeW5j
IGRldmljZSA9PiB7CisgICAgZGV2aWNlLnB1c2hFcnJvclNjb3BlKCJ2YWxpZGF0aW9uIik7Cisg
ICAgZGV2aWNlLnB1c2hFcnJvclNjb3BlKCJvdXQtb2YtbWVtb3J5Iik7CisgICAgY2F1c2VWYWxp
ZGF0aW9uRXJyb3IoZGV2aWNlKTsKKworICAgIGNvbnN0IHNob3VsZEJlTnVsbCA9IGF3YWl0IGRl
dmljZS5wb3BFcnJvclNjb3BlKCk7CisgICAgYXNzZXJ0TnVsbChzaG91bGRCZU51bGwpOworCisg
ICAgcmV0dXJuIHBvcFZhbGlkYXRpb25FcnJvcihkZXZpY2UpOworfTsKKwordGVzdHNbIlJlamVj
dCBwb3BFcnJvclNjb3BlIGlmIG5vIHNjb3BlIGV4aXN0cy4iXSA9IGFzeW5jIGRldmljZSA9PiB7
CisgICAgY29uc3QgcHJvbWlzZSA9IGRldmljZS5wb3BFcnJvclNjb3BlKCkudGhlbigoKSA9PiBh
c3NlcnRfdW5yZWFjaGVkKCksIGFzeW5jIGUgPT4geworICAgICAgICBhc3NlcnRfZmFsc2UoZSA9
PT0gdW5kZWZpbmVkKTsKKyAgICAgICAgLy8gUG9wIHRoZSBleHRyYSAnbm9uZScgc2NvcGUuCisg
ICAgICAgIGF3YWl0IHBvcE51bGxFcnJvcihkZXZpY2UpOworICAgIH0pOworICAgIC8vICdwcm9t
aXNlJyBzaG91bGQgc3RpbGwgcmVqZWN0IGlmIGEgc2NvcGUgaXMgcHVzaGVkIGhlcmUuCisgICAg
ZGV2aWNlLnB1c2hFcnJvclNjb3BlKCJub25lIik7CisgICAgcmV0dXJuIHByb21pc2U7Cit9Owor
Cit0ZXN0c1siRmlsdGVyICdub25lJyBzaG91bGQgY2FwdHVyZSBidXQgbm90IHJlcG9ydCBlcnJv
cnMuIl0gPSBhc3luYyBkZXZpY2UgPT4geworICAgIGRldmljZS5wdXNoRXJyb3JTY29wZSgib3V0
LW9mLW1lbW9yeSIpOworICAgIGRldmljZS5wdXNoRXJyb3JTY29wZSgibm9uZSIpOworICAgIGNh
dXNlTWVtb3J5RXJyb3IoZGV2aWNlKTsKKworICAgIGNvbnN0IHNob3VsZEJlTnVsbCA9IGF3YWl0
IGRldmljZS5wb3BFcnJvclNjb3BlKCk7CisgICAgYXNzZXJ0TnVsbChzaG91bGRCZU51bGwpOwor
CisgICAgcmV0dXJuIHBvcE51bGxFcnJvcihkZXZpY2UpOworfTsKKwordGVzdHNbIlB1c2ggYW5k
IHBvcCBtYW55IGVycm9yIHNjb3BlcyB3aXRoIG5vIHJlamVjdGlvbnMuIl0gPSBhc3luYyBkZXZp
Y2UgPT4geworICAgIGNvbnN0IG51bUl0ZXJhdGlvbnMgPSAxMjg7CisgICAgZm9yIChsZXQgaSA9
IDA7IGkgPCBudW1JdGVyYXRpb25zOyArK2kpCisgICAgICAgIGRldmljZS5wdXNoRXJyb3JTY29w
ZSgib3V0LW9mLW1lbW9yeSIpOworICAgIAorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbnVtSXRl
cmF0aW9ucyAtIDE7ICsraSkKKyAgICAgICAgYXdhaXQgcG9wTnVsbEVycm9yKGRldmljZSk7CisK
KyAgICByZXR1cm4gcG9wTnVsbEVycm9yKGRldmljZSk7Cit9OworCit0ZXN0c1siQ2F0Y2ggbWFu
eSBlcnJvcnMgaW4gbmVzdGVkIHNjb3Blcy4iXSA9IGFzeW5jIGRldmljZSA9PiB7CisgICAgY29u
c3QgbnVtSXRlcmF0aW9ucyA9IDEyODsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IG51bUl0ZXJh
dGlvbnM7ICsraSkgeworICAgICAgICBkZXZpY2UucHVzaEVycm9yU2NvcGUoInZhbGlkYXRpb24i
KTsKKyAgICAgICAgY2F1c2VWYWxpZGF0aW9uRXJyb3IoZGV2aWNlKTsKKyAgICB9CisKKyAgICBm
b3IgKGxldCBpID0gMDsgaSA8IG51bUl0ZXJhdGlvbnMgLSAxOyArK2kpCisgICAgICAgIGF3YWl0
IHBvcFZhbGlkYXRpb25FcnJvcihkZXZpY2UpOworCisgICAgcmV0dXJuIHBvcFZhbGlkYXRpb25F
cnJvcihkZXZpY2UpOworfTsKKworY29uc3QgaW5pdCA9IGFzeW5jICgpID0+IHsKKyAgICB0cnkg
eworICAgICAgICB2YXIgZGV2aWNlID0gYXdhaXQgZ2V0QmFzaWNEZXZpY2UoKTsKKyAgICB9IGNh
dGNoIChlKSB7IC8qIFdlYkdQVSBpcyBub3Qgc3VwcG9ydGVkLiAqLyB9CisKKyAgICBmb3IgKGxl
dCBuYW1lIGluIHRlc3RzKQorICAgICAgICBkZXZpY2VQcm9taXNlVGVzdChkZXZpY2UsIG5hbWUp
OworfTsKKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBpbml0KTsKKworLyogSGVs
cGVyIEZ1bmN0aW9ucyAqLworCitjb25zdCBjYXVzZVZhbGlkYXRpb25FcnJvciA9IGRldmljZSA9
PiBkZXZpY2UuY3JlYXRlQnVmZmVyKHsgc2l6ZTogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLk1B
UF9SRUFEIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFIH0pOworY29uc3QgY2F1c2VNZW1vcnlF
cnJvciA9IGRldmljZSA9PiBkZXZpY2UuY3JlYXRlQnVmZmVyKHsgc2l6ZTogOTk5OTk5OTk5OTks
IHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5OT05FIH0pOworY29uc3QgcG9wVmFsaWRhdGlvbkVycm9y
ID0gZGV2aWNlID0+IGRldmljZS5wb3BFcnJvclNjb3BlKCkudGhlbihlcnJvciA9PiBhc3NlcnRW
YWxpZGF0aW9uRXJyb3IoZXJyb3IpKTsKK2NvbnN0IHBvcE1lbW9yeUVycm9yID0gZGV2aWNlID0+
IGRldmljZS5wb3BFcnJvclNjb3BlKCkudGhlbihlcnJvciA9PiBhc3NlcnRNZW1vcnlFcnJvcihl
cnJvcikpOworY29uc3QgcG9wTnVsbEVycm9yID0gZGV2aWNlID0+IGRldmljZS5wb3BFcnJvclNj
b3BlKCkudGhlbihlcnJvciA9PiBhc3NlcnROdWxsKGVycm9yKSk7Citjb25zdCBhc3NlcnROdWxs
ID0gZXJyb3IgPT4gYXNzZXJ0X3RydWUoZXJyb3IgPT09IG51bGwsICJObyBlcnJvciBleHBlY3Rl
ZCEiKTsKK2NvbnN0IGFzc2VydFZhbGlkYXRpb25FcnJvciA9IGVycm9yID0+IGFzc2VydF90cnVl
KGVycm9yIGluc3RhbmNlb2YgR1BVVmFsaWRhdGlvbkVycm9yLCAiRXhwZWN0ZWQgdmFsaWRhdGlv
biBlcnJvciEiKTsKK2NvbnN0IGFzc2VydE1lbW9yeUVycm9yID0gZXJyb3IgPT4gYXNzZXJ0X3Ry
dWUoZXJyb3IgaW5zdGFuY2VvZiBHUFVPdXRPZk1lbW9yeUVycm9yLCAiRXhwZWN0ZWQgb3V0LW9m
LW1lbW9yeSBlcnJvciEiKTsKKworY29uc3QgZGV2aWNlUHJvbWlzZVRlc3QgPSAoZGV2aWNlLCBu
YW1lKSA9PiB7CisgICAgcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgICAgICAgaWYgKGRl
dmljZSA9PT0gdW5kZWZpbmVkKQorICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgp
OworICAgICAgICByZXR1cm4gdGVzdHNbbmFtZV0oZGV2aWNlKTsKKyAgICB9LCBuYW1lKTsKK307
Cis8L3NjcmlwdD4KKzwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373933</attachid>
            <date>2019-07-11 11:50:46 -0700</date>
            <delta_ts>2019-07-11 13:11:35 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-199655-20190711115045.patch</filename>
            <type>text/plain</type>
            <size>62907</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MzMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M3NGRjYzgxYjU3YTkx
YWMxNzMwN2Q3YjA2YWZhMjcxZjUxMDIwMC4uMTRiNGNmMDM1Yzc0ZjMyYmE3NjZhZDA4YTQwNGRk
MjdkNmViZTFjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE5LTA3LTEwICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gSW1wbGVt
ZW50IEdQVUVycm9yIGFuZCBlcnJvciBzY29wZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTY1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE15bGVz
IEMuIE1heGZpZWxkLgorCisgICAgICAgIEFkZCBHUFVFcnJvckZpbHRlciwgR1BVRXJyb3IsIGFu
ZCB0aGUgYWJpbGl0eSB0byBwdXNoIGFuZCBwb3AgZXJyb3Igc2NvcGVzIG9uIGEgR1BVRGV2aWNl
LgorICAgICAgICBUaGlzIHdpbGwgYWxsb3cgdXMgdG8gY2hlY2sgZm9yIFdlYkdQVSBlcnJvcnMg
ZnJvbSBKYXZhU2NyaXB0LgorICAgICAgICBDdXJyZW50bHksIG9ubHkgc29tZSBHUFVCdWZmZXIg
Y3JlYXRpb24gZXJyb3JzIGFyZSByZXBvcnRlZCBmb3IgdGVzdGluZzsgbW9yZSBlcnJvcnMgd2ls
bCBmb2xsb3cgaW4gbGF0ZXIgcGF0Y2hlcy4KKworICAgICAgICBUZXN0OiB3ZWJncHUvZXJyb3It
c2NvcGVzLXRlc3QuaHRtbAorCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvR1BVRXJyb3JGaWx0
ZXIuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9HUFVPdXRPZk1lbW9yeUVy
cm9yLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvR1BVVmFsaWRhdGlvbkVy
cm9yLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVURldmljZTo6cHVzaEVycm9yU2NvcGUpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViR1BVRGV2aWNlOjpwb3BFcnJvclNjb3BlKTogUmVzb2x2ZSB0aGUg
UHJvbWlzZSBoZXJlLCBzaW5jZSBHUFVEZXZpY2Ugc2hvdWxkbid0IHdvcnJ5IGFib3V0IERPTSBs
YXllci4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaDoKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5jcHA6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6V2ViR1BVRGV2aWNlRXJyb3JTY29wZXM6OnB1c2hFcnJvclNjb3BlKTog
RGVsZWdhdGVzIHRvIFdlYkdQVURldmljZS4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVURldmlj
ZUVycm9yU2NvcGVzOjpwb3BFcnJvclNjb3BlKTogRGl0dG8uCisgICAgICAgICogTW9kdWxlcy93
ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxl
cy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQnVmZmVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVURldmljZS5jcHA6IFRoZSBhY3R1YWwgZXJyb3Igc3RhY2sgbGl2ZXMgaGVy
ZS4KKyAgICAgICAgKFdlYkNvcmU6OkdQVURldmljZTo6cHVzaEVycm9yU2NvcGUpOgorICAgICAg
ICAoV2ViQ29yZTo6R1BVRGV2aWNlOjpwb3BFcnJvclNjb3BlKTogQ2FsbHMgYSBjYWxsYmFjayB3
aXRoIGEgR1BVRXJyb3IsIGlmIGFueS4KKyAgICAgICAgKFdlYkNvcmU6OkdQVURldmljZTo6cmVn
aXN0ZXJFcnJvcik6IEFjdHVhbGx5IGNyZWF0ZXMgR1BVRXJyb3JzLgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVRXJyb3IuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUVycm9y
KTogRmFjdG9yeSBmdW5jdGlvbiBmb3IgdmFyaW91cyBlcnJvciB0eXBlcy4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3IuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9yRmlsdGVyLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2dwdS9HUFVPdXRPZk1lbW9yeUVycm9yLmg6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6R1BVT3V0T2ZNZW1vcnlFcnJvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVVmFsaWRhdGlvbkVycm9yLmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpHUFVWYWxpZGF0aW9uRXJyb3I6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpH
UFVWYWxpZGF0aW9uRXJyb3I6OkdQVVZhbGlkYXRpb25FcnJvcik6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5oOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OkdQVVZhbGlkYXRpb25FcnJvcjo6bWVzc2FnZSBjb25zdCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVUJ1ZmZlck1ldGFsLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6R1BVQnVmZmVyOjp2YWxpZGF0ZUJ1ZmZlclVzYWdlKTogQ3JlYXRlIGFuIGFjdHVhbCBH
UFVWYWxpZGF0aW9uRXJyb3IgOikKKyAgICAgICAgKFdlYkNvcmU6OkdQVUJ1ZmZlcjo6dHJ5Q3Jl
YXRlKTogQ3JlYXRlIEdQVU91dE9mTWVtb3J5RXJyb3JzIHdoZXJlIGFwcHJvcHJpYXRlLgorCisg
ICAgICAgIEFkZCBmaWxlL25hbWUgcmVmZXJlbmNlczoKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLm1ha2U6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWls
dGluTmFtZXMuaDoKKworICAgICAgICBNaXNzaW5nIGluY2x1ZGVzOgorICAgICAgICAqIE1vZHVs
ZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tUZXh0dXJlUmVmZXJlbmNlcy5jcHA6CisKIDIwMTkt
MDctMTAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBTdG9wIHVz
aW5nIEdlbmVyaWNUYXNrUXVldWUgZnJvbSBtdWx0aXBsZSB0aHJlYWRzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CmluZGV4IDNjZTUxNjYxMzEwNDFkZWI3MWM5ZTdiZTk1NTc5MDU1OTM3OTg1ODIuLjg0ZDg0
YWM1NzJjMjg1NTMwYTRjZDE5NmZlNzg2Y2U2NmJlMGRjNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CkBAIC00ODAsOSArNDgwLDExIEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAg
TW9kdWxlcy93ZWJncHUvR1BVQ29sb3JXcml0ZUJpdHMuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUv
R1BVQ29tcGFyZUZ1bmN0aW9uLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L0dQVURlcHRoU3RlbmNp
bFN0YXRlRGVzY3JpcHRvci5pZGwKKyAgICBNb2R1bGVzL3dlYmdwdS9HUFVFcnJvckZpbHRlci5p
ZGwKICAgICBNb2R1bGVzL3dlYmdwdS9HUFVFeHRlbnQzRC5pZGwKICAgICBNb2R1bGVzL3dlYmdw
dS9HUFVMb2FkT3AuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvR1BVT3JpZ2luM0QuaWRsCisgICAg
TW9kdWxlcy93ZWJncHUvR1BVT3V0T2ZNZW1vcnlFcnJvci5pZGwKICAgICBNb2R1bGVzL3dlYmdw
dS9HUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvR1BVU2Ft
cGxlckRlc2NyaXB0b3IuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvR1BVU2hhZGVyU3RhZ2VCaXQu
aWRsCkBAIC00OTAsNiArNDkyLDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAg
ICBNb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5pZGwKICAgICBNb2R1bGVzL3dl
YmdwdS9HUFVUZXh0dXJlRm9ybWF0LmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVV
c2FnZS5pZGwKKyAgICBNb2R1bGVzL3dlYmdwdS9HUFVWYWxpZGF0aW9uRXJyb3IuaWRsCiAgICAg
TW9kdWxlcy93ZWJncHUvR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRvci5pZGwKICAgICBNb2R1
bGVzL3dlYmdwdS9HUFVWZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yLmlkbAogICAgIE1vZHVsZXMvd2Vi
Z3B1L0dQVVZlcnRleElucHV0RGVzY3JpcHRvci5pZGwKQEAgLTUwOCw2ICs1MTEsNyBAQCBzZXQo
V2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1
dGVQaXBlbGluZS5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21wdXRlUGlwZWxpbmVE
ZXNjcmlwdG9yLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5pZGwKKyAgICBN
b2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5pZGwKICAgICBNb2R1bGVzL3dl
YmdwdS9XZWJHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1
L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVs
aW5lTGF5b3V0RGVzY3JpcHRvci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGM2OWQzZGQ0MTdiYmQ5MjRmOTUyMmMxNDc0OGNlODFl
MjdkMDEzZDEuLmE2ODEzNzYwMWQ4Mjk0YWZiMTJjODZiYmY0MWMxNjc5ZDI4MWY3YjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysr
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtMzMw
LDEwICszMzAsMTIgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJncHUvR1BVQ29sb3JTdGF0
ZURlc2NyaXB0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9HUFVDb2xvcldy
aXRlQml0cy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVUNvbXBhcmVGdW5j
dGlvbi5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVURlcHRoU3RlbmNpbFN0
YXRlRGVzY3JpcHRvci5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVUVycm9y
RmlsdGVyLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJncHUvR1BVRXh0ZW50M0QuaWRs
CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9HUFVJbnB1dFN0YXRlRGVzY3JpcHRvci5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVUxvYWRPcC5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVU9yaWdpbjNELmlkbAorJChQUk9KRUNUX0RJUikvTW9k
dWxlcy93ZWJncHUvR1BVT3V0T2ZNZW1vcnlFcnJvci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvd2ViZ3B1L0dQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvd2ViZ3B1L0dQVVNhbXBsZXJEZXNjcmlwdG9yLmlkbAogJChQUk9KRUNUX0RJUikvTW9k
dWxlcy93ZWJncHUvR1BVU2hhZGVyU3RhZ2VCaXQuaWRsCkBAIC0zNDEsNiArMzQzLDcgQEAgJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy93ZWJncHUvR1BVU3RvcmVPcC5pZGwKICQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy93ZWJncHUvR1BVVGV4dHVyZUZvcm1hdC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvd2ViZ3B1L0dQVVRleHR1cmVVc2FnZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2Vi
Z3B1L0dQVVZhbGlkYXRpb25FcnJvci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1
L0dQVVZlcnRleEF0dHJpYnV0ZURlc2NyaXB0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L3dlYmdwdS9HUFVWZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yLmlkbAogJChQUk9KRUNUX0RJUikvTW9k
dWxlcy93ZWJncHUvR1BVVmVydGV4SW5wdXREZXNjcmlwdG9yLmlkbApAQCAtMzYxLDYgKzM2NCw3
IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQYXNzRW5jb2Rl
ci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQaXBlbGlu
ZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQaXBlbGlu
ZURlc2NyaXB0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZp
Y2UuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNj
b3Blcy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lRGVz
Y3JpcHRvckJhc2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBl
bGluZUxheW91dC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVs
aW5lTGF5b3V0RGVzY3JpcHRvci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggMzdjM2M4YjFiYTUyYjI2MzBmMWYwNTNmMmIwNTI1
MzVjZGM1MGNiNy4uNGEyNmQyOTJjNDkxZjQ5YmNiNjQxZWQ2ZmM3ZDgwNGNkYzZiZTdmNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAg
LTYwOSw2ICs2MDksOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0dQVUNvbXBhcmVGdW5jdGlvbi5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTR1BVQ29tcGFyZUZ1bmN0aW9uLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVRGVwdGhTdGVuY2lsU3RhdGVEZXNj
cmlwdG9yLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNHUFVEZXB0aFN0ZW5jaWxTdGF0ZURlc2NyaXB0b3IuaAorJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVFcnJvckZpbHRlci5jcHAKKyQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVRXJyb3JGaWx0ZXIuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVFeHRlbnQzRC5j
cHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVRXh0
ZW50M0QuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNH
UFVJbnB1dFN0YXRlRGVzY3JpcHRvci5jcHAKQEAgLTYxNyw2ICs2MTksOCBAQCAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUxvYWRPcC5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVTG9hZE9wLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVT3JpZ2luM0Qu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVU9y
aWdpbjNELmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
R1BVT3V0T2ZNZW1vcnlFcnJvci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTR1BVT3V0T2ZNZW1vcnlFcnJvci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5jcHAK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVUmVxdWVz
dEFkYXB0ZXJPcHRpb25zLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTR1BVU2FtcGxlckRlc2NyaXB0b3IuY3BwCkBAIC02MzEsNiArNjM1LDggQEAgJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVUZXh0dXJlRm9y
bWF0LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNH
UFVUZXh0dXJlRm9ybWF0LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTR1BVVGV4dHVyZVVzYWdlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVUZXh0dXJlVXNhZ2UuaAorJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVWYWxpZGF0aW9uRXJyb3IuY3BwCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVZhbGlkYXRpb25F
cnJvci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQ
VVZlcnRleEF0dHJpYnV0ZURlc2NyaXB0b3IuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVZlcnRleEF0dHJpYnV0ZURlc2NyaXB0b3IuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVWZXJ0ZXhCdWZm
ZXJEZXNjcmlwdG9yLmNwcApAQCAtMTk0Myw2ICsxOTQ5LDggQEAgJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJHUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlw
dG9yLmMKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2Vi
R1BVQ29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYkdQVURldmljZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR1BVRGV2aWNlLmgKKyQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR1BVRGV2aWNlRXJyb3JTY29w
ZXMuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dl
YkdQVURldmljZUVycm9yU2NvcGVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR1BVUGlwZWxpbmVEZXNj
cmlwdG9yQmFzZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1dlYkdQVVBpcGVsaW5lTGF5b3V0LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
aW5kZXggN2VlYjQyN2MyN2QxOGFjNGNiODdjOWZiMmZlZjAzZWUwNmJmNjY2ZC4uYzYxNzcxNjE0
M2EwNzFhNjlhMGYyZWVkYzk1MTNkZDdiYzFlNjFlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCkBAIC0zODYsOSArMzg2LDExIEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvd2ViZ3B1L0dQVUJ1ZmZlclVzYWdlLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL3dlYmdwdS9HUFVDb21wYXJlRnVuY3Rpb24uaWRsIFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvd2ViZ3B1L0dQVURlcHRoU3RlbmNpbFN0YXRlRGVzY3JpcHRvci5pZGwgXAorICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVRXJyb3JGaWx0ZXIuaWRsIFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvd2ViZ3B1L0dQVUV4dGVudDNELmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL3dlYmdwdS9HUFVMb2FkT3AuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2Vi
Z3B1L0dQVU9yaWdpbjNELmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVP
dXRPZk1lbW9yeUVycm9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVS
ZXF1ZXN0QWRhcHRlck9wdGlvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1
L0dQVVNhbXBsZXJEZXNjcmlwdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdw
dS9HUFVTaGFkZXJTdGFnZUJpdC5pZGwgXApAQCAtMzk2LDYgKzM5OCw3IEBAIEpTX0JJTkRJTkdf
SURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVEZXNjcmlw
dG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlRm9ybWF0
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlVXNhZ2UuaWRs
IFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVVmVydGV4QXR0cmlidXRlRGVzY3Jp
cHRvci5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVVmVydGV4QnVmZmVy
RGVzY3JpcHRvci5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVVmVydGV4SW5w
dXREZXNjcmlwdG9yLmlkbCBcCkBAIC00MTQsNiArNDE3LDcgQEAgSlNfQklORElOR19JRExTID0g
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVQ29tcHV0ZVBpcGVsaW5lLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21wdXRlUGlwZWxpbmVE
ZXNjcmlwdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZp
Y2UuaWRsIFwKKwkkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2Nv
cGVzLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVRdWV1ZS5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9y
QmFzZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVM
YXlvdXQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQ
VUVycm9yRmlsdGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUVycm9y
RmlsdGVyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZDZhY2JiMjQyMWNiZjRkNGM1YWVmMThiMzU0ODM5Yjcx
ZDY2Mzk2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
R1BVRXJyb3JGaWx0ZXIuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworLy8gaHR0cHM6
Ly9ncHV3ZWIuZ2l0aHViLmlvL2dwdXdlYgorCitbCisgICAgQ29uZGl0aW9uYWw9V0VCR1BVLAor
ICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCitdIGVudW0gR1BVRXJyb3JGaWx0ZXIgeworICAg
ICJub25lIiwKKyAgICAib3V0LW9mLW1lbW9yeSIsCisgICAgInZhbGlkYXRpb24iCit9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVT3V0T2ZNZW1vcnlFcnJv
ci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVPdXRPZk1lbW9yeUVycm9y
LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kNGQzZDAwNzM3OTM0ZTRmNzdlOWE2MjM1ZWQ0MzE5NTQ1OWNiNjEy
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVT3V0
T2ZNZW1vcnlFcnJvci5pZGwKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisvLyBodHRwczov
L2dwdXdlYi5naXRodWIuaW8vZ3B1d2ViCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJHUFUsCisg
ICAgQ29uc3RydWN0b3IoKSwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVSwKKyAgICBJbXBs
ZW1lbnRhdGlvbkxhY2tzVlRhYmxlCitdIGludGVyZmFjZSBHUFVPdXRPZk1lbW9yeUVycm9yIHt9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVVmFsaWRhdGlv
bkVycm9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVVZhbGlkYXRpb25F
cnJvci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNWUxM2MxODg3ZWY4YjQwNzljMDRjNWNiZWE2NmVjYTY3MzI3
ZjQ4MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQ
VVZhbGlkYXRpb25FcnJvci5pZGwKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisvLyBodHRw
czovL2dwdXdlYi5naXRodWIuaW8vZ3B1d2ViCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJHUFUs
CisgICAgQ29uc3RydWN0b3IoRE9NU3RyaW5nIG1lc3NhZ2UpLAorICAgIEVuYWJsZWRBdFJ1bnRp
bWU9V2ViR1BVLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKK10gaW50ZXJmYWNlIEdQ
VVZhbGlkYXRpb25FcnJvciB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBtZXNz
YWdlOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L1dITFNMQ2hlY2tUZXh0dXJlUmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9XSExTTENoZWNrVGV4dHVyZVJlZmVyZW5jZXMuY3BwCmluZGV4IGMwMmRi
ODlkM2NiNmMwYTc1MWE2MjJlYjc5ZGQzNGU3YjdkNTYzZjkuLjczODZiMTA2YmI4MGQzNjdlZjMx
ZGQ2YjUzNTllYWI5YTU3NzkyOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML1dITFNMQ2hlY2tUZXh0dXJlUmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xDaGVja1RleHR1cmVSZWZlcmVuY2Vz
LmNwcApAQCAtMjYsMTAgKzI2LDE1IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
V0hMU0xDaGVja1RleHR1cmVSZWZlcmVuY2VzLmgiCiAKLSNpbmNsdWRlICJXSExTTEluZmVyVHlw
ZXMuaCIKLQogI2lmIEVOQUJMRShXRUJHUFUpCiAKKyNpbmNsdWRlICJXSExTTEFycmF5UmVmZXJl
bmNlVHlwZS5oIgorI2luY2x1ZGUgIldITFNMQXJyYXlUeXBlLmgiCisjaW5jbHVkZSAiV0hMU0xJ
bmZlclR5cGVzLmgiCisjaW5jbHVkZSAiV0hMU0xOYXRpdmVUeXBlRGVjbGFyYXRpb24uaCIKKyNp
bmNsdWRlICJXSExTTFBvaW50ZXJUeXBlLmgiCisjaW5jbHVkZSAiV0hMU0xWaXNpdG9yLmgiCisK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIFdITFNMIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwCmluZGV4IGYwNTlhZDg5ZTA5ZDRm
NGE3NGY4YjhlODEzZjQ0ZjVhMGE5YjllMWUuLmUzMTllMjE5NTUwNDM4ZThjMmFjYmJkMjJjZmY4
NTE1YjQ3N2I2ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dl
YkdQVURldmljZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
RGV2aWNlLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKFdFQkdQVSkKIAorI2lu
Y2x1ZGUgIkV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkdQVUJpbmRHcm91cC5oIgogI2luY2x1ZGUg
IkdQVUJpbmRHcm91cEJpbmRpbmcuaCIKICNpbmNsdWRlICJHUFVCaW5kR3JvdXBEZXNjcmlwdG9y
LmgiCkBAIC00Miw2ICs0Myw4IEBACiAjaW5jbHVkZSAiR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRv
ci5oIgogI2luY2x1ZGUgIkdQVVRleHR1cmVEZXNjcmlwdG9yLmgiCiAjaW5jbHVkZSAiSlNET01D
b252ZXJ0QnVmZmVyU291cmNlLmgiCisjaW5jbHVkZSAiSlNHUFVPdXRPZk1lbW9yeUVycm9yLmgi
CisjaW5jbHVkZSAiSlNHUFVWYWxpZGF0aW9uRXJyb3IuaCIKICNpbmNsdWRlICJKU1dlYkdQVUJ1
ZmZlci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJXZWJHUFVCaW5kR3JvdXAu
aCIKQEAgLTYzLDYgKzY2LDcgQEAKICNpbmNsdWRlICJXZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlw
dG9yLmgiCiAjaW5jbHVkZSAiV2ViR1BVU3dhcENoYWluLmgiCiAjaW5jbHVkZSAiV2ViR1BVVGV4
dHVyZS5oIgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKQEAgLTE4MCw2ICsxODQsMjEgQEAgUmVmPFdlYkdQVVF1ZXVlPiBXZWJHUFVEZXZpY2U6Omdl
dFF1ZXVlKCkgY29uc3QKICAgICByZXR1cm4gbWFrZVJlZigqbV9xdWV1ZS5nZXQoKSk7CiB9CiAK
K3ZvaWQgV2ViR1BVRGV2aWNlOjpwdXNoRXJyb3JTY29wZShHUFVFcnJvckZpbHRlciBmaWx0ZXIp
IGNvbnN0Cit7CisgICAgbV9kZXZpY2UtPnB1c2hFcnJvclNjb3BlKGZpbHRlcik7Cit9CisKK3Zv
aWQgV2ViR1BVRGV2aWNlOjpwb3BFcnJvclNjb3BlKEVycm9yUHJvbWlzZSYmIHByb21pc2UpIGNv
bnN0Cit7CisgICAgbV9kZXZpY2UtPnBvcEVycm9yU2NvcGUoW3Byb21pc2UgPSBXVEZNb3ZlKHBy
b21pc2UpXSAoT3B0aW9uYWw8R1BVRXJyb3I+JiYgZXJyb3IsIGNvbnN0IFN0cmluZyYgZmFpbE1l
c3NhZ2UpIG11dGFibGUgeworICAgICAgICBpZiAoZmFpbE1lc3NhZ2UuaXNFbXB0eSgpKQorICAg
ICAgICAgICAgcHJvbWlzZS5yZXNvbHZlKGVycm9yKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3IsIGZhaWxNZXNzYWdl
IH0pOworICAgIH0pOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBF
TkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V2ViR1BVRGV2aWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZp
Y2UuaAppbmRleCAyMWQzNzFhMDNhNzUxNTQ0YTkxZDdjOGExYWQwY2Q2MjE1OTVhYTFiLi5jYzI2
ZDJkZGFhOWNiYzU4YjIxYWU3NzMyOTI1YjM4ZTJhOTczNDhkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaApAQCAtMjgsNiArMjgsNyBAQAogI2lmIEVO
QUJMRShXRUJHUFUpCiAKICNpbmNsdWRlICJHUFVEZXZpY2UuaCIKKyNpbmNsdWRlICJKU0RPTVBy
b21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIldlYkdQVUFkYXB0ZXIuaCIKICNpbmNsdWRlICJX
ZWJHUFVRdWV1ZS5oIgogI2luY2x1ZGUgIldlYkdQVVN3YXBDaGFpbkRlc2NyaXB0b3IuaCIKQEAg
LTQzLDYgKzQ0LDggQEAgY2xhc3MgSlNWYWx1ZTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitj
bGFzcyBHUFVPdXRPZk1lbW9yeUVycm9yOworY2xhc3MgR1BVVmFsaWRhdGlvbkVycm9yOwogY2xh
c3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIGNsYXNzIFdlYkdQVUJpbmRHcm91cDsKIGNsYXNz
IFdlYkdQVUJpbmRHcm91cExheW91dDsKQEAgLTY2LDYgKzY5LDExIEBAIHN0cnVjdCBXZWJHUFVQ
aXBlbGluZUxheW91dERlc2NyaXB0b3I7CiBzdHJ1Y3QgV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNj
cmlwdG9yOwogc3RydWN0IFdlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3I7CiAKK2VudW0gY2xh
c3MgR1BVRXJyb3JGaWx0ZXI7CisKK3VzaW5nIEVycm9ySURMVW5pb24gPSBJRExVbmlvbjxJRExJ
bnRlcmZhY2U8R1BVT3V0T2ZNZW1vcnlFcnJvcj4sIElETEludGVyZmFjZTxHUFVWYWxpZGF0aW9u
RXJyb3I+PjsKK3VzaW5nIEVycm9yUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExOdWxs
YWJsZTxFcnJvcklETFVuaW9uPj47CisKIGNsYXNzIFdlYkdQVURldmljZSA6IHB1YmxpYyBSZWZD
b3VudGVkPFdlYkdQVURldmljZT4gewogcHVibGljOgogICAgIHN0YXRpYyBSZWZQdHI8V2ViR1BV
RGV2aWNlPiB0cnlDcmVhdGUoUmVmPGNvbnN0IFdlYkdQVUFkYXB0ZXI+JiYpOwpAQCAtOTEsNiAr
OTksOSBAQCBwdWJsaWM6CiAKICAgICBSZWY8V2ViR1BVUXVldWU+IGdldFF1ZXVlKCkgY29uc3Q7
CiAKKyAgICB2b2lkIHB1c2hFcnJvclNjb3BlKEdQVUVycm9yRmlsdGVyKSBjb25zdDsKKyAgICB2
b2lkIHBvcEVycm9yU2NvcGUoRXJyb3JQcm9taXNlJiYpIGNvbnN0OworCiBwcml2YXRlOgogICAg
IFdlYkdQVURldmljZShSZWY8Y29uc3QgV2ViR1BVQWRhcHRlcj4mJiwgUmVmPEdQVURldmljZT4m
Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURl
dmljZUVycm9yU2NvcGVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VURldmljZUVycm9yU2NvcGVzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43OTMxMTAwZGI1NDUxMzg3OTQ0NzU2
YzBmYjAxZmQ4ODJhMzAxYTgxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuY3BwCkBAIC0wLDAgKzEsNDcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViR1BVRGV2aWNl
RXJyb3JTY29wZXMuaCIKKworI2lmIEVOQUJMRShXRUJHUFUpCisKKyNpbmNsdWRlICJHUFVFcnJv
ckZpbHRlci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgV2ViR1BVRGV2aWNlRXJy
b3JTY29wZXM6OnB1c2hFcnJvclNjb3BlKFdlYkdQVURldmljZSYgZGV2aWNlLCBHUFVFcnJvckZp
bHRlciBmaWx0ZXIpCit7CisgICAgZGV2aWNlLnB1c2hFcnJvclNjb3BlKGZpbHRlcik7Cit9CisK
K3ZvaWQgV2ViR1BVRGV2aWNlRXJyb3JTY29wZXM6OnBvcEVycm9yU2NvcGUoV2ViR1BVRGV2aWNl
JiBkZXZpY2UsIEVycm9yUHJvbWlzZSYmIHByb21pc2UpCit7CisgICAgZGV2aWNlLnBvcEVycm9y
U2NvcGUoV1RGTW92ZShwcm9taXNlKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMjBmMDdh
YmUzOThiZjlhNzM0ZDQ0NmFmNTg5NDUzYzBkYjBjMTA5Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaApAQCAt
MCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VC
R1BVKQorCisjaW5jbHVkZSAiV2ViR1BVRGV2aWNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworZW51bSBjbGFzcyBHUFVFcnJvckZpbHRlcjsKKworY2xhc3MgV2ViR1BVRGV2aWNlRXJyb3JT
Y29wZXMgeworcHVibGljOgorICAgIHN0YXRpYyB2b2lkIHB1c2hFcnJvclNjb3BlKFdlYkdQVURl
dmljZSYsIEdQVUVycm9yRmlsdGVyKTsKKyAgICBzdGF0aWMgdm9pZCBwb3BFcnJvclNjb3BlKFdl
YkdQVURldmljZSYsIEVycm9yUHJvbWlzZSYmKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZWM3ODUyN2JjZTI5MDA4ZjQ5YmUwZDMxOTBjMzFlY2YwMTg1OWI0NgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2Nv
cGVzLmlkbApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKy8vIGh0dHBzOi8vZ3B1d2ViLmdp
dGh1Yi5pby9ncHV3ZWIKKwordHlwZWRlZiAoR1BVT3V0T2ZNZW1vcnlFcnJvciBvciBHUFVWYWxp
ZGF0aW9uRXJyb3IpIEdQVUVycm9yOworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCR1BVLAorICAg
IEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCitdIHBhcnRpYWwgaW50ZXJmYWNlIFdlYkdQVURldmlj
ZSB7CisgICAgdm9pZCBwdXNoRXJyb3JTY29wZShHUFVFcnJvckZpbHRlciBmaWx0ZXIpOworICAg
IFByb21pc2U8R1BVRXJyb3I/PiBwb3BFcnJvclNjb3BlKCk7Cit9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRl
eCBkODBmMDJlOTE3YzM4NDJiNWI5ODM3NzlkOWY3ZmI3OTA4NTBkZDI5Li44OGFlMjZhYzA1YzAz
N2RhOTczNDg5OWQ3MzQwZTdjYTRlNDYzODYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMzY3LDYgKzM2
Nyw3IEBAIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQYXNzRW5jb2Rlci5jcHAKIE1vZHVs
ZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQaXBlbGluZS5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dlYkdQ
VUNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IuY3BwCiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZp
Y2UuY3BwCitNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5jcHAKIE1vZHVs
ZXMvd2ViZ3B1L1dlYkdQVVF1ZXVlLmNwcAogTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVM
YXlvdXQuY3BwCiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3Iu
Y3BwCkBAIC0xODI3LDYgKzE4MjgsOCBAQCBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJj
ZUdyYXBoaWMuY3BwCiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1Nwb3RMaWdodFNvdXJjZS5j
cHAKIAogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5jcHAKK3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9HUFVFcnJvci5jcHAKK3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVWYWxpZGF0aW9u
RXJyb3IuY3BwCiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUGlwZWxpbmVMYXlvdXQuY3BwCiBw
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIuY3BwCiAKQEAg
LTI3NTYsOSArMjc1OSwxMSBAQCBKU0dQVUJ1ZmZlckRlc2NyaXB0b3IuY3BwCiBKU0dQVUJ1ZmZl
clVzYWdlLmNwcAogSlNHUFVDb21wYXJlRnVuY3Rpb24uY3BwCiBKU0dQVURlcHRoU3RlbmNpbFN0
YXRlRGVzY3JpcHRvci5jcHAKK0pTR1BVRXJyb3JGaWx0ZXIuY3BwCiBKU0dQVUV4dGVudDNELmNw
cAogSlNHUFVMb2FkT3AuY3BwCiBKU0dQVU9yaWdpbjNELmNwcAorSlNHUFVPdXRPZk1lbW9yeUVy
cm9yLmNwcAogSlNHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuY3BwCiBKU0dQVVNhbXBsZXJEZXNj
cmlwdG9yLmNwcAogSlNHUFVTaGFkZXJTdGFnZUJpdC5jcHAKQEAgLTI3NjYsNiArMjc3MSw3IEBA
IEpTR1BVU3RvcmVPcC5jcHAKIEpTR1BVVGV4dHVyZURlc2NyaXB0b3IuY3BwCiBKU0dQVVRleHR1
cmVGb3JtYXQuY3BwCiBKU0dQVVRleHR1cmVVc2FnZS5jcHAKK0pTR1BVVmFsaWRhdGlvbkVycm9y
LmNwcAogSlNHUFVWZXJ0ZXhBdHRyaWJ1dGVEZXNjcmlwdG9yLmNwcAogSlNHUFVWZXJ0ZXhCdWZm
ZXJEZXNjcmlwdG9yLmNwcAogSlNHUFVWZXJ0ZXhJbnB1dERlc2NyaXB0b3IuY3BwCkBAIC0zMzE4
LDYgKzMzMjQsNyBAQCBKU1dlYkdQVUNvbXB1dGVQYXNzRW5jb2Rlci5jcHAKIEpTV2ViR1BVQ29t
cHV0ZVBpcGVsaW5lLmNwcAogSlNXZWJHUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlwdG9yLmNwcAog
SlNXZWJHUFVEZXZpY2UuY3BwCitKU1dlYkdQVURldmljZUVycm9yU2NvcGVzLmNwcAogSlNXZWJH
UFVRdWV1ZS5jcHAKIEpTV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5jcHAKIEpTV2ViR1BV
UGlwZWxpbmVMYXlvdXQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggOWE4ZWY5MzAwZDBmMGE0MTU3MTc4ZDdmOTg5MDgyYmVk
ZDBiZTZkNC4uYjYxMzAyZWVhMTdkZTZjOGYyODVmZTc3MGYyZWIwYWY1YTQzZGNjZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
MTQwMTgsNiArMTQwMTgsMTkgQEAKIAkJRDA5M0QyMjUyMTc5NTFENDAwMzI5MjE3IC8qIEdQVUNh
bnZhc0NvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVQ2FudmFzQ29udGV4dC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlEMDkzRDIyNzIxNzk1MUQ0MDAzMjkyMTcgLyogR1BVQ2Fu
dmFzQ29udGV4dC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVQ2FudmFzQ29udGV4dC5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUQwOTNEMjI5MjE3OTU0MTYwMDMyOTIxNyAvKiBHUFVDYW52YXNDb250
ZXh0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdQVUNhbnZhc0NvbnRleHQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlEMDlBRkFGRjIyRDAyRTUzMDBDNDUzOEMgLyogV2ViR1BV
RGV2aWNlRXJyb3JTY29wZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViR1BVRGV2aWNlRXJyb3JTY29w
ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA5QUZCMDEyMkQwMkU1MzAwQzQ1
MzhDIC8qIFdlYkdQVURldmljZUVycm9yU2NvcGVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdl
YkdQVURldmljZUVycm9yU2NvcGVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
RDA5QUZCMDIyMkQwNDcxOTAwQzQ1MzhDIC8qIEdQVUVycm9yRmlsdGVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVUVycm9yRmlsdGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUQwOUFGQjAzMjJENDBDQzUwMEM0NTM4QyAvKiBXZWJHUFVEZXZpY2VFcnJv
clNjb3Blcy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlEMDlBRkIwNjIyRDQxN0IzMDBDNDUzOEMgLyogR1BVRXJyb3JG
aWx0ZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IEdQVUVycm9yRmlsdGVyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJRDA5QUZCMDcyMkQ1MzkxQjAwQzQ1MzhDIC8qIEdQVUVycm9yLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEdQVUVycm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwOUFGQjA4
MjJENTU0MjgwMEM0NTM4QyAvKiBHUFVFcnJvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHUFVF
cnJvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwOUFGQjBDMjJENTVFOTAw
MEM0NTM4QyAvKiBHUFVWYWxpZGF0aW9uRXJyb3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVVZhbGlkYXRpb25FcnJv
ci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwOUFGQjBEMjJENTVGM0IwMEM0
NTM4QyAvKiBHUFVWYWxpZGF0aW9uRXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVVmFsaWRhdGlv
bkVycm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwOUFGQjBFMjJENTVGRjUw
MEM0NTM4QyAvKiBHUFVWYWxpZGF0aW9uRXJyb3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR1BV
VmFsaWRhdGlvbkVycm9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA5QUZC
MTcyMkQ2Njk0RTAwQzQ1MzhDIC8qIEdQVU91dE9mTWVtb3J5RXJyb3IuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVU91
dE9mTWVtb3J5RXJyb3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDlBRkIx
OTIyRDY2OThBMDBDNDUzOEMgLyogR1BVT3V0T2ZNZW1vcnlFcnJvci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBHUFVPdXRPZk1lbW9yeUVycm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQw
OUFGQjJEMjJENkMwMTQwMEM0NTM4QyAvKiBHUFVFcnJvci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBHUFVFcnJvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwQTIwRDU0MjA5
MkEwQTYwMEUwQzI1OSAvKiBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVNUQy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVNUQy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMEEyMEQ1NjIwOTJBMEE2MDBFMEMyNTkgLyogV2Vi
R0xDb21wcmVzc2VkVGV4dHVyZUFTVEMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFTVEMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlEMEEzQTczMDE0MDVBMzk4MDBGQjhFRDMgLyogUmVzb3VyY2VMb2FkZXJP
cHRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc291cmNlTG9hZGVy
T3B0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTgzMjAsOSArMTgzMzMs
MTQgQEAKIAkJCQlEMDNDODQ5QTIxRkZDNjY3MDAwMjIyN0YgLyogR1BVRGVwdGhTdGVuY2lsU3Rh
dGVEZXNjcmlwdG9yLmggKi8sCiAJCQkJMzEyRkY4QkYyMUE0QzJGMTAwRUIxOTlEIC8qIEdQVURl
dmljZS5jcHAgKi8sCiAJCQkJMzEyRkY4QkUyMUE0QzJGMTAwRUIxOTlEIC8qIEdQVURldmljZS5o
ICovLAorCQkJCUQwOUFGQjA4MjJENTU0MjgwMEM0NTM4QyAvKiBHUFVFcnJvci5jcHAgKi8sCisJ
CQkJRDA5QUZCMkQyMkQ2QzAxNDAwQzQ1MzhDIC8qIEdQVUVycm9yLmNwcCAqLywKKwkJCQlEMDlB
RkIwNzIyRDUzOTFCMDBDNDUzOEMgLyogR1BVRXJyb3IuaCAqLywKKwkJCQlEMDlBRkIwMjIyRDA0
NzE5MDBDNDUzOEMgLyogR1BVRXJyb3JGaWx0ZXIuaCAqLywKIAkJCQlEMDI2RjQ3RDIyMEEyQUM2
MDBBQzVGNDkgLyogR1BVRXh0ZW50M0QuaCAqLywKIAkJCQlEMEY3NTU5RjIyMDNCQTE0MDAxMTgw
NTggLyogR1BVTGltaXRzLmggKi8sCiAJCQkJRDA4QUEwMkYyMjBEMEJENTAwNThDNTAyIC8qIEdQ
VUxvYWRPcC5oICovLAorCQkJCUQwOUFGQjE5MjJENjY5OEEwMEM0NTM4QyAvKiBHUFVPdXRPZk1l
bW9yeUVycm9yLmggKi8sCiAJCQkJMzEyRkY4QzQyMUE0QzJGNDAwRUIxOTlEIC8qIEdQVVBpcGVs
aW5lRGVzY3JpcHRvckJhc2UuaCAqLywKIAkJCQlEMDAzMjg4NzIxQzlBNEU1MDA2MjJBQTYgLyog
R1BVUGlwZWxpbmVMYXlvdXQuY3BwICovLAogCQkJCUQwMDMyODg2MjFDOUE0RTUwMDYyMkFBNiAv
KiBHUFVQaXBlbGluZUxheW91dC5oICovLApAQCAtMTgzNDgsNiArMTgzNjYsOCBAQAogCQkJCTMx
MkZGOEMzMjFBNEMyRjMwMEVCMTk5RCAvKiBHUFVUZXh0dXJlRm9ybWF0LmggKi8sCiAJCQkJRDAy
NkY0ODUyMjBBNDc3MjAwQUM1RjQ5IC8qIEdQVVRleHR1cmVVc2FnZS5oICovLAogCQkJCUQwNkVG
NTUyMjIwQkEyNkEwMDE4NzI0RSAvKiBHUFVVdGlscy5oICovLAorCQkJCUQwOUFGQjBFMjJENTVG
RjUwMEM0NTM4QyAvKiBHUFVWYWxpZGF0aW9uRXJyb3IuY3BwICovLAorCQkJCUQwOUFGQjBEMjJE
NTVGM0IwMEM0NTM4QyAvKiBHUFVWYWxpZGF0aW9uRXJyb3IuaCAqLywKIAkJCQlEMEQ4NjQ5QjIx
QkExQzJEMDAzQzk4M0MgLyogR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRvci5oICovLAogCQkJ
CUQwRDg2NDlDMjFCQTFDRTgwMDNDOTgzQyAvKiBHUFVWZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yLmgg
Ki8sCiAJCQkJRDBEODY0OTkyMUJBMUIxRjAwM0M5ODNDIC8qIEdQVVZlcnRleElucHV0RGVzY3Jp
cHRvci5oICovLApAQCAtMjU5MzcsMTAgKzI1OTU3LDEyIEBACiAJCQkJRDBCNTZFQUUyMjRFQ0Uy
MDAwNjEwNDlDIC8qIEdQVUNvbG9yV3JpdGVCaXRzLmlkbCAqLywKIAkJCQlEMDNDODQ5RTIxRkZD
RjAwMDAwMjIyN0YgLyogR1BVQ29tcGFyZUZ1bmN0aW9uLmlkbCAqLywKIAkJCQlEMDNDODRBMjIx
RkZENzIzMDAwMjIyN0YgLyogR1BVRGVwdGhTdGVuY2lsU3RhdGVEZXNjcmlwdG9yLmlkbCAqLywK
KwkJCQlEMDlBRkIwNjIyRDQxN0IzMDBDNDUzOEMgLyogR1BVRXJyb3JGaWx0ZXIuaWRsICovLAog
CQkJCUQwMjZGNDgwMjIwQTJCNzAwMEFDNUY0OSAvKiBHUFVFeHRlbnQzRC5pZGwgKi8sCiAJCQkJ
RDA4QUEwMkQyMjBEMEI5QzAwNThDNTAyIC8qIEdQVUxvYWRPcC5pZGwgKi8sCiAJCQkJRDBDQ0E5
NDkyMjI5OUY5NzAwNjk3OUI2IC8qIEdQVU9yaWdpbjNELmggKi8sCiAJCQkJRDBDQ0E5NEEyMjI5
OUY5NzAwNjk3OUI2IC8qIEdQVU9yaWdpbjNELmlkbCAqLywKKwkJCQlEMDlBRkIxNzIyRDY2OTRF
MDBDNDUzOEMgLyogR1BVT3V0T2ZNZW1vcnlFcnJvci5pZGwgKi8sCiAJCQkJRDAyQzI2OTIyMTgx
NDE2RDAwRDgxOEU0IC8qIEdQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5pZGwgKi8sCiAJCQkJRDBB
REIyNjMyMjMwOUQ3NjAwQTIyOTM1IC8qIEdQVVNhbXBsZXJEZXNjcmlwdG9yLmlkbCAqLywKIAkJ
CQlEMERFOEZCODIyMkUwOUUyMDA4ODI1NTAgLyogR1BVU2hhZGVyU3RhZ2VCaXQuaCAqLywKQEAg
LTI1OTQ5LDYgKzI1OTcxLDcgQEAKIAkJCQlEMDI2RjQ4QjIyMEE1QjBCMDBBQzVGNDkgLyogR1BV
VGV4dHVyZURlc2NyaXB0b3IuaWRsICovLAogCQkJCUQwRUFDRkFFMjE5RTMwRkQwMDBGQTc1QyAv
KiBHUFVUZXh0dXJlRm9ybWF0LmlkbCAqLywKIAkJCQlEMDI2RjQ4MzIyMEE0NzJGMDBBQzVGNDkg
LyogR1BVVGV4dHVyZVVzYWdlLmlkbCAqLywKKwkJCQlEMDlBRkIwQzIyRDU1RTkwMDBDNDUzOEMg
LyogR1BVVmFsaWRhdGlvbkVycm9yLmlkbCAqLywKIAkJCQlEMEQ4NjQ5NjIxQkExOEY0MDAzQzk4
M0MgLyogR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRvci5pZGwgKi8sCiAJCQkJRDBEODY0OTgy
MUJBMTlBNzAwM0M5ODNDIC8qIEdQVVZlcnRleEJ1ZmZlckRlc2NyaXB0b3IuaWRsICovLAogCQkJ
CUQwRDg2NDk0MjFCQTE3M0QwMDNDOTgzQyAvKiBHUFVWZXJ0ZXhJbnB1dERlc2NyaXB0b3IuaWRs
ICovLApAQCAtMjU5OTUsNiArMjYwMTgsOSBAQAogCQkJCUQwMEY1OTUzMjE3MDFEOEMwMDBENzFE
QiAvKiBXZWJHUFVEZXZpY2UuY3BwICovLAogCQkJCUQwMEY1OTUyMjE3MDFEOEMwMDBENzFEQiAv
KiBXZWJHUFVEZXZpY2UuaCAqLywKIAkJCQlEMDBGNTk1NDIxNzAxRDhDMDAwRDcxREIgLyogV2Vi
R1BVRGV2aWNlLmlkbCAqLywKKwkJCQlEMDlBRkIwMTIyRDAyRTUzMDBDNDUzOEMgLyogV2ViR1BV
RGV2aWNlRXJyb3JTY29wZXMuY3BwICovLAorCQkJCUQwOUFGQUZGMjJEMDJFNTMwMEM0NTM4QyAv
KiBXZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5oICovLAorCQkJCUQwOUFGQjAzMjJENDBDQzUwMEM0
NTM4QyAvKiBXZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5pZGwgKi8sCiAJCQkJRDBDNDE5RjAyMTgz
RUIzMTAwOUVDMURFIC8qIFdlYkdQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuaCAqLywKIAkJCQlE
MEM0MTlGMTIxODNFQjMxMDA5RUMxREUgLyogV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5p
ZGwgKi8sCiAJCQkJRDA1QTk5RTUyMUM5QkYyQzAwMDMyQjc1IC8qIFdlYkdQVVBpcGVsaW5lTGF5
b3V0LmNwcCAqLywKQEAgLTI4NDAwLDYgKzI4NDI2LDcgQEAKIAkJCQlBNUE3QUE0MzEzMkYwRUND
MDBEM0EzQzIgLyogQXV0b2NhcGl0YWxpemVUeXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0Mx
ODQzRkUxQzhCNzI4MzAwMkVCOTczIC8qIEF1dG9maWxsLmggaW4gSGVhZGVycyAqLywKIAkJCQk3
QzFFOTcyODFBOUY5ODM0MDA3QkYwRkIgLyogQXV0b0ZpbGxCdXR0b25FbGVtZW50LmggaW4gSGVh
ZGVycyAqLywKKwkJCQk1Q0NDMjcwOTIyRDU0ODNBMDA5NjRGQTAgLyogQXV0b2ZpbGxFbGVtZW50
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzlENDY3MDUxRTYwQzQ2NTAwODE5NUZCIC8qIEF1dG9w
bGF5RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ1ODMwRDRFMTY3OUI0RjgwMEFDRjhDMyAv
KiBBdXRvc2Nyb2xsQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThDRkYwNEUwQTE1
NEYwOTAwMEE0MjM0IC8qIEF1dG9UYWJsZUxheW91dC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDA0
NCw3ICszMDA3MSw2IEBACiAJCQkJN0M3NzYxQUExRjg3OEFBNTAwRjg2OUZEIC8qIEpTSW1hZ2VC
aXRtYXBSZW5kZXJpbmdDb250ZXh0U2V0dGluZ3MuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3Nzk3
OTI5MEQ2QjlFNjQwMDM4NTFCOSAvKiBKU0ltYWdlRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
N0MxOTNDMDExRjVFMTEwNTAwODhGM0U2IC8qIEpTSW1hZ2VTbW9vdGhpbmdRdWFsaXR5LmggaW4g
SGVhZGVycyAqLywKLQkJCQk1Q0NDMjcwOTIyRDU0ODNBMDA5NjRGQTAgLyogQXV0b2ZpbGxFbGVt
ZW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg2NjI5RDMwOURBMkI0ODAwOTYzM0E2IC8qIEpT
SW5wdXRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTE3NUNFNUUyMUUyODFFRDAwREYyQzI4
IC8qIEpTSW5zcGVjdG9yQXVkaXRBY2Nlc3NpYmlsaXR5T2JqZWN0LmggaW4gSGVhZGVycyAqLywK
IAkJCQk5MTc1Q0U1QzIxRTI4MUVEMDBERjJDMjggLyogSlNJbnNwZWN0b3JBdWRpdERPTU9iamVj
dC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9XZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJD
b3JlQnVpbHRpbk5hbWVzLmgKaW5kZXggZjViNTMyMmM3YjkwMzVmNzNhNDI4MTZhMjBjYmJhMTBl
N2ZkN2ZlNC4uNDZmNTNlMTJhMWYzOGU5MmM5MGFjNDg3Y2I5MjdiOTA3OTZkMzlkMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAt
OTQsNiArOTQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oR1BVQ29tcHV0ZVBh
c3NFbmNvZGVyKSBcCiAgICAgbWFjcm8oR1BVQ29tcHV0ZVBpcGVsaW5lKSBcCiAgICAgbWFjcm8o
R1BVRGV2aWNlKSBcCisgICAgbWFjcm8oR1BVT3V0T2ZNZW1vcnlFcnJvcikgXAogICAgIG1hY3Jv
KEdQVVBpcGVsaW5lTGF5b3V0KSBcCiAgICAgbWFjcm8oR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29k
ZXIpIFwKICAgICBtYWNybyhHUFVRdWV1ZSkgXApAQCAtMTA2LDYgKzEwNyw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBtYWNybyhHUFVUZXh0dXJlKSBcCiAgICAgbWFjcm8oR1BVVGV4dHVy
ZVVzYWdlKSBcCiAgICAgbWFjcm8oR1BVVGV4dHVyZVZpZXcpIFwKKyAgICBtYWNybyhHUFVWYWxp
ZGF0aW9uRXJyb3IpIFwKICAgICBtYWNybyhIVE1MQXR0YWNobWVudEVsZW1lbnQpIFwKICAgICBt
YWNybyhIVE1MQXVkaW9FbGVtZW50KSBcCiAgICAgbWFjcm8oSFRNTERhdGFMaXN0RWxlbWVudCkg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUJ1
ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUJ1ZmZlci5o
CmluZGV4IDQyNTA4YmM3NjE3MDViZjFhMGU2NjExNzkxZjVlYTY3MDk3YjU1MDUuLjhkYTA0MzIz
NjlhNzE0NzU0OWVkODVjNTNiZjczNDM0MTQ2YWU4ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQnVmZmVyLmgKQEAgLTEwOCw3ICsxMDgsNyBAQCBw
cml2YXRlOgogICAgIH07CiAKICAgICBHUFVCdWZmZXIoUGxhdGZvcm1CdWZmZXJTbWFydFB0ciYm
LCBSZWY8R1BVRGV2aWNlPiYmLCBzaXplX3QsIE9wdGlvblNldDxHUFVCdWZmZXJVc2FnZTo6Rmxh
Z3M+LCBib29sKTsKLSAgICBzdGF0aWMgYm9vbCB2YWxpZGF0ZUJ1ZmZlclVzYWdlKGNvbnN0IEdQ
VURldmljZSYsIE9wdGlvblNldDxHUFVCdWZmZXJVc2FnZTo6RmxhZ3M+KTsKKyAgICBzdGF0aWMg
Ym9vbCB2YWxpZGF0ZUJ1ZmZlclVzYWdlKEdQVURldmljZSYsIE9wdGlvblNldDxHUFVCdWZmZXJV
c2FnZTo6RmxhZ3M+KTsKIAogICAgIEpTQzo6QXJyYXlCdWZmZXIqIHN0YWdpbmdCdWZmZXJGb3JS
ZWFkKCk7CiAgICAgSlNDOjpBcnJheUJ1ZmZlciogc3RhZ2luZ0J1ZmZlckZvcldyaXRlKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3Bw
CmluZGV4IGE2NDlhNjA3MTkxOWI2ZDVjMjQxYTcyZjI2ODgyNWEwZTY1MWU3YWQuLmQ2M2Y1NmNh
YmEyMzE5NDIzZjc2ODM5YWY0ZWJiYTU5NmQzNzQ3MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwCkBAIC00Niw2ICs0Niw3IEBA
CiAjaW5jbHVkZSAiR1BVU3dhcENoYWluRGVzY3JpcHRvci5oIgogI2luY2x1ZGUgIkdQVVRleHR1
cmUuaCIKICNpbmNsdWRlICJHUFVUZXh0dXJlRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgPGFsZ29y
aXRobT4KICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtMTA4LDYgKzEwOSw0MCBAQCB2b2lkIEdQVURldmljZTo6c2V0U3dhcENoYWluKFJlZlB0cjxH
UFVTd2FwQ2hhaW4+JiYgc3dhcENoYWluKQogICAgIG1fc3dhcENoYWluID0gV1RGTW92ZShzd2Fw
Q2hhaW4pOwogfQogCit2b2lkIEdQVURldmljZTo6cHVzaEVycm9yU2NvcGUoR1BVRXJyb3JGaWx0
ZXIgZmlsdGVyKQoreworICAgIG1fZXJyb3JTY29wZXMuYXBwZW5kKEVycm9yU2NvcGUgeyBmaWx0
ZXIsIFdURjo6bnVsbG9wdCB9KTsKK30KKwordm9pZCBHUFVEZXZpY2U6OnBvcEVycm9yU2NvcGUo
RXJyb3JDYWxsYmFjayYmIGNhbGxiYWNrKQoreworICAgIGlmICghbV9wbGF0Zm9ybURldmljZSkK
KyAgICAgICAgY2FsbGJhY2soV1RGOjpudWxsb3B0LCAiR1BVRGV2aWNlOjpwb3BFcnJvclNjb3Bl
KCk6IEludmFsaWQgR1BVRGV2aWNlISIpOworICAgIGVsc2UgaWYgKG1fZXJyb3JTY29wZXMuaXNF
bXB0eSgpKQorICAgICAgICBjYWxsYmFjayhXVEY6Om51bGxvcHQsICJHUFVEZXZpY2U6OnBvcEVy
cm9yU2NvcGUoKTogTm8gZXJyb3Igc2NvcGUgZXhpc3RzISIpOworICAgIGVsc2UgeworICAgICAg
ICBhdXRvIHNjb3BlID0gbV9lcnJvclNjb3Blcy50YWtlTGFzdCgpOworICAgICAgICBjYWxsYmFj
ayhzY29wZS5maWx0ZXIgPT0gR1BVRXJyb3JGaWx0ZXI6Ok5vbmUgPyBXVEY6Om51bGxvcHQgOiBX
VEZNb3ZlKHNjb3BlLmVycm9yKSwgeyB9KTsKKyAgICB9Cit9CisKK3ZvaWQgR1BVRGV2aWNlOjpy
ZWdpc3RlckVycm9yKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgR1BVRXJyb3JGaWx0ZXIgZmlsdGVy
KQoreworICAgIGF1dG8gaXRlcmF0b3IgPSBzdGQ6OmZpbmRfaWYobV9lcnJvclNjb3Blcy5yYmVn
aW4oKSwgbV9lcnJvclNjb3Blcy5yZW5kKCksIFtmaWx0ZXJdKGNvbnN0IEVycm9yU2NvcGUmIHNj
b3BlKSB7CisgICAgICAgIHJldHVybiBzY29wZS5maWx0ZXIgPT0gR1BVRXJyb3JGaWx0ZXI6Ok5v
bmUgfHwgc2NvcGUuZmlsdGVyID09IGZpbHRlcjsKKyAgICB9KTsKKworICAgIC8vIEZJWE1FOiBo
dHRwczovL3dlYmtpdC5vcmcvYi8xOTk2NzYgVW5jYXB0dXJlZCBlcnJvcnMgbmVlZCB0byBiZSBm
aXJlZCBhcyBHUFVVbmNhcHR1cmVkRXJyb3JFdmVudHMuCisgICAgaWYgKGl0ZXJhdG9yID09IG1f
ZXJyb3JTY29wZXMucmVuZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBJZiB0aGUgc2Nv
cGUgaGFzIGFscmVhZHkgY2FwdHVyZWQgYW4gZXJyb3IsIGlnbm9yZSB0aGlzIG5ldyBvbmUuCisg
ICAgaWYgKGl0ZXJhdG9yLT5lcnJvcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaXRlcmF0b3It
PmVycm9yID0gY3JlYXRlRXJyb3IoZmlsdGVyLCBtZXNzYWdlKTsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQkdQVSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaAppbmRleCBhNzEzOTU0MWQwYmZk
MTRkYjI4ZmE5NTlmZmIwMTk0MzBmODAzYmJlLi45MGI0NjFhMTc0NjAyZDU4NTczMDM3ZDVjYTU5
M2MwZjUxYjZhNmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVRGV2aWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVURldmljZS5oCkBAIC0yNywxMSArMjcsMTcgQEAKIAogI2lmIEVOQUJMRShXRUJHUFUp
CiAKKyNpbmNsdWRlICJHUFVFcnJvci5oIgorI2luY2x1ZGUgIkdQVUVycm9yRmlsdGVyLmgiCiAj
aW5jbHVkZSAiR1BVUXVldWUuaCIKICNpbmNsdWRlICJHUFVTd2FwQ2hhaW4uaCIKKyNpbmNsdWRl
IDx3dGYvRnVuY3Rpb24uaD4KKyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KICNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KIAogT0JKQ19QUk9UT0NPTChNVExEZXZpY2UpOwogCkBAIC01Nyw3ICs2
Myw3IEBAIHN0cnVjdCBHUFVTYW1wbGVyRGVzY3JpcHRvcjsKIHN0cnVjdCBHUFVTaGFkZXJNb2R1
bGVEZXNjcmlwdG9yOwogc3RydWN0IEdQVVN3YXBDaGFpbkRlc2NyaXB0b3I7CiBzdHJ1Y3QgR1BV
VGV4dHVyZURlc2NyaXB0b3I7Ci0gICAgCisKIHVzaW5nIFBsYXRmb3JtRGV2aWNlID0gTVRMRGV2
aWNlOwogdXNpbmcgUGxhdGZvcm1EZXZpY2VTbWFydFB0ciA9IFJldGFpblB0cjxNVExEZXZpY2U+
OwogCkBAIC04NCwxMiArOTAsMjUgQEAgcHVibGljOgogICAgIEdQVVN3YXBDaGFpbiogc3dhcENo
YWluKCkgY29uc3QgeyByZXR1cm4gbV9zd2FwQ2hhaW4uZ2V0KCk7IH0KICAgICB2b2lkIHNldFN3
YXBDaGFpbihSZWZQdHI8R1BVU3dhcENoYWluPiYmKTsKIAorICAgIHZvaWQgcHVzaEVycm9yU2Nv
cGUoR1BVRXJyb3JGaWx0ZXIpOworCisgICAgdXNpbmcgRXJyb3JDYWxsYmFjayA9IFdURjo6RnVu
Y3Rpb248dm9pZChPcHRpb25hbDxHUFVFcnJvcj4mJiwgY29uc3QgU3RyaW5nJik+OworICAgIHZv
aWQgcG9wRXJyb3JTY29wZShFcnJvckNhbGxiYWNrJiYpOworICAgIHZvaWQgcmVnaXN0ZXJFcnJv
cihjb25zdCBTdHJpbmcmLCBHUFVFcnJvckZpbHRlciA9IEdQVUVycm9yRmlsdGVyOjpWYWxpZGF0
aW9uKTsKKwogcHJpdmF0ZToKKyAgICBzdHJ1Y3QgRXJyb3JTY29wZSB7CisgICAgICAgIGNvbnN0
IEdQVUVycm9yRmlsdGVyIGZpbHRlcjsKKyAgICAgICAgT3B0aW9uYWw8R1BVRXJyb3I+IGVycm9y
OworICAgIH07CisKICAgICBleHBsaWNpdCBHUFVEZXZpY2UoUGxhdGZvcm1EZXZpY2VTbWFydFB0
ciYmKTsKIAogICAgIFBsYXRmb3JtRGV2aWNlU21hcnRQdHIgbV9wbGF0Zm9ybURldmljZTsKICAg
ICBtdXRhYmxlIFJlZlB0cjxHUFVRdWV1ZT4gbV9xdWV1ZTsKICAgICBSZWZQdHI8R1BVU3dhcENo
YWluPiBtX3N3YXBDaGFpbjsKKworICAgIFZlY3RvcjxFcnJvclNjb3BlPiBtX2Vycm9yU2NvcGVz
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTg2NGEzZDYzYTk0
NGYzM2ZjNDNiMzIzZjU4MmQ4NDhjYzI5YmE4NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvci5jcHAKQEAgLTAsMCArMSw1MCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJHUFVFcnJvci5o
IgorCisjaWYgRU5BQkxFKFdFQkdQVSkKKworI2luY2x1ZGUgIkdQVUVycm9yRmlsdGVyLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworT3B0aW9uYWw8R1BVRXJyb3I+IGNyZWF0ZUVycm9yKEdQ
VUVycm9yRmlsdGVyIGZpbHRlciwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQoreworICAgIHN3aXRj
aCAoZmlsdGVyKSB7CisgICAgY2FzZSBHUFVFcnJvckZpbHRlcjo6T3V0T2ZNZW1vcnk6CisgICAg
ICAgIHJldHVybiBHUFVFcnJvcihSZWZQdHI8R1BVT3V0T2ZNZW1vcnlFcnJvcj4oR1BVT3V0T2ZN
ZW1vcnlFcnJvcjo6Y3JlYXRlKCkpKTsKKyAgICBjYXNlIEdQVUVycm9yRmlsdGVyOjpWYWxpZGF0
aW9uOgorICAgICAgICByZXR1cm4gR1BVRXJyb3IoUmVmUHRyPEdQVVZhbGlkYXRpb25FcnJvcj4o
R1BVVmFsaWRhdGlvbkVycm9yOjpjcmVhdGUobWVzc2FnZSkpKTsKKyAgICBkZWZhdWx0OgorICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsK
KyAgICB9Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShX
RUJHUFUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
R1BVRXJyb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJv
ci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmU2N2MzNWFkYzg5MGQzNzJmY2M5NzNjOGZkZGYyYjdiNmY1OTM2YmMK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
R1BVRXJyb3IuaApAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBFTkFCTEUoV0VCR1BVKQorCisjaW5jbHVkZSAiR1BVT3V0T2ZNZW1vcnlFcnJvci5oIgor
I2luY2x1ZGUgIkdQVVZhbGlkYXRpb25FcnJvci5oIgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5o
PgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgorI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Vu
dW0gY2xhc3MgR1BVRXJyb3JGaWx0ZXI7CisKK3VzaW5nIEdQVUVycm9yID0gVmFyaWFudDxSZWZQ
dHI8R1BVT3V0T2ZNZW1vcnlFcnJvcj4sIFJlZlB0cjxHUFVWYWxpZGF0aW9uRXJyb3I+PjsKKwor
T3B0aW9uYWw8R1BVRXJyb3I+IGNyZWF0ZUVycm9yKEdQVUVycm9yRmlsdGVyLCBjb25zdCBTdHJp
bmcmKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvckZpbHRlci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9yRmlsdGVyLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZDU2OWZlZjMyNzA1ZDk5YmZlY2VhMDA4OTFmZjE2NDRhMGE0ZDE3MgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvckZp
bHRlci5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lm
IEVOQUJMRShXRUJHUFUpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICAKK2VudW0gY2xhc3Mg
R1BVRXJyb3JGaWx0ZXIgeworICAgIE5vbmUsCisgICAgT3V0T2ZNZW1vcnksCisgICAgVmFsaWRh
dGlvbiwKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShX
RUJHUFUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
R1BVT3V0T2ZNZW1vcnlFcnJvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVU91dE9mTWVtb3J5RXJyb3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZjQyMGU5N2RmZTNiZjA3NTY2
YzViNmEwZmRlYzQ2Njg5NjE3OTQzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVU91dE9mTWVtb3J5RXJyb3IuaApAQCAtMCwwICsxLDQy
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCR1BVKQorCisj
aW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgR1BVT3V0T2ZNZW1vcnlFcnJvciA6IHB1YmxpYyBSZWZD
b3VudGVkPEdQVU91dE9mTWVtb3J5RXJyb3I+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPEdQ
VU91dE9mTWVtb3J5RXJyb3I+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgR1BVT3V0
T2ZNZW1vcnlFcnJvcik7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRShXRUJHUFUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvR1BVVmFsaWRhdGlvbkVycm9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9HUFVWYWxpZGF0aW9uRXJyb3IuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5N2U1
NDU0NjEzODZjZmZjZDQxMDg3N2RjMzYxNGY2ZGYxODI4NzkKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVmFsaWRhdGlvbkVycm9yLmNw
cApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkdQVVZhbGlkYXRpb25FcnJvci5oIgorCisjaWYgRU5BQkxFKFdFQkdQVSkKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitSZWY8R1BVVmFsaWRhdGlvbkVycm9yPiBHUFVWYWxpZGF0aW9u
RXJyb3I6OmNyZWF0ZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCit7CisgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgR1BVVmFsaWRhdGlvbkVycm9yKG1lc3NhZ2UpKTsKK30KKworR1BVVmFsaWRhdGlv
bkVycm9yOjpHUFVWYWxpZGF0aW9uRXJyb3IoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQorICAgIDog
bV9tZXNzYWdlKG1lc3NhZ2UpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShXRUJHUFUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVVmFsaWRhdGlvbkVycm9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvR1BVVmFsaWRhdGlvbkVycm9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzIyNWFj
MjA3ZmNhM2JlZGJlNjExNTVhNzU5N2FkYTU1NjczODVlMAotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVWYWxpZGF0aW9uRXJyb3IuaApA
QCAtMCwwICsxLDUwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUo
V0VCR1BVKQorCisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgR1BVVmFsaWRhdGlvbkVycm9yIDogcHVibGljIFJlZkNvdW50ZWQ8R1BVVmFs
aWRhdGlvbkVycm9yPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxHUFVWYWxpZGF0aW9uRXJy
b3I+IGNyZWF0ZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpOworCisgICAgU3RyaW5nIG1lc3NhZ2Uo
KSBjb25zdCB7IHJldHVybiBtX21lc3NhZ2U7IH0KKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBH
UFVWYWxpZGF0aW9uRXJyb3IoY29uc3QgU3RyaW5nJiBtZXNzYWdlKTsKKworICAgIFN0cmluZyBt
X21lc3NhZ2U7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L2NvY29hL0dQVUJ1ZmZlck1ldGFsLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L2NvY29hL0dQVUJ1ZmZlck1ldGFsLm1tCmluZGV4IDU5YTA3ZmY5Y2ViN2Q4ZWE1
MmQzY2I2Y2QxYWMzYzdkZjVmYzJhMDUuLjAyNDYwMzEwY2ZjZWIwYjJmMTAyOWQ2Y2YxNDVhMDlm
OTA0NmM4NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9jb2NvYS9HUFVCdWZmZXJNZXRhbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvY29jb2EvR1BVQnVmZmVyTWV0YWwubW0KQEAgLTQyLDcgKzQyLDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0ZXhwciBhdXRvIHJlYWRPbmx5RmxhZ3MgPSBP
cHRpb25TZXQ8R1BVQnVmZmVyVXNhZ2U6OkZsYWdzPiB7IEdQVUJ1ZmZlclVzYWdlOjpGbGFnczo6
SW5kZXgsIEdQVUJ1ZmZlclVzYWdlOjpGbGFnczo6VmVydGV4LCBHUFVCdWZmZXJVc2FnZTo6Rmxh
Z3M6OlVuaWZvcm0sIEdQVUJ1ZmZlclVzYWdlOjpGbGFnczo6VHJhbnNmZXJTb3VyY2UgfTsKIAog
Ci1ib29sIEdQVUJ1ZmZlcjo6dmFsaWRhdGVCdWZmZXJVc2FnZShjb25zdCBHUFVEZXZpY2UmIGRl
dmljZSwgT3B0aW9uU2V0PEdQVUJ1ZmZlclVzYWdlOjpGbGFncz4gdXNhZ2UpCitib29sIEdQVUJ1
ZmZlcjo6dmFsaWRhdGVCdWZmZXJVc2FnZShHUFVEZXZpY2UmIGRldmljZSwgT3B0aW9uU2V0PEdQ
VUJ1ZmZlclVzYWdlOjpGbGFncz4gdXNhZ2UpCiB7CiAgICAgaWYgKCFkZXZpY2UucGxhdGZvcm1E
ZXZpY2UoKSkgewogICAgICAgICBMT0coV2ViR1BVLCAiR1BVQnVmZmVyOjp0cnlDcmVhdGUoKTog
SW52YWxpZCBHUFVEZXZpY2UhIik7CkBAIC01MCw3ICs1MCw3IEBAIGJvb2wgR1BVQnVmZmVyOjp2
YWxpZGF0ZUJ1ZmZlclVzYWdlKGNvbnN0IEdQVURldmljZSYgZGV2aWNlLCBPcHRpb25TZXQ8R1BV
QnVmZmVyCiAgICAgfQogCiAgICAgaWYgKHVzYWdlLmNvbnRhaW5zQWxsKHsgR1BVQnVmZmVyVXNh
Z2U6OkZsYWdzOjpNYXBXcml0ZSwgR1BVQnVmZmVyVXNhZ2U6OkZsYWdzOjpNYXBSZWFkIH0pKSB7
Ci0gICAgICAgIExPRyhXZWJHUFUsICJHUFVCdWZmZXI6OnRyeUNyZWF0ZSgpOiBCdWZmZXIgY2Fu
bm90IGhhdmUgYm90aCBNQVBfUkVBRCBhbmQgTUFQX1dSSVRFIHVzYWdlISIpOworICAgICAgICBk
ZXZpY2UucmVnaXN0ZXJFcnJvcigiR1BVQnVmZmVyOjp0cnlDcmVhdGUoKTogQnVmZmVyIGNhbm5v
dCBoYXZlIGJvdGggTUFQX1JFQUQgYW5kIE1BUF9XUklURSB1c2FnZSEiKTsKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIH0KIApAQCAtNjcsNyArNjcsNyBAQCBSZWZQdHI8R1BVQnVmZmVyPiBH
UFVCdWZmZXI6OnRyeUNyZWF0ZShSZWY8R1BVRGV2aWNlPiYmIGRldmljZSwgY29uc3QgR1BVQnVm
ZmVyRAogICAgIC8vIE1UTEJ1ZmZlciBzaXplIChOU1VJbnRlZ2VyKSBpcyAzMiBiaXRzIG9uIHNv
bWUgcGxhdGZvcm1zLgogICAgIE5TVUludGVnZXIgc2l6ZSA9IDA7CiAgICAgaWYgKCFXVEY6OmNv
bnZlcnRTYWZlbHkoZGVzY3JpcHRvci5zaXplLCBzaXplKSkgewotICAgICAgICBMT0coV2ViR1BV
LCAiR1BVQnVmZmVyOjp0cnlDcmVhdGUoKTogQnVmZmVyIHNpemUgaXMgdG9vIGxhcmdlISIpOwor
ICAgICAgICBkZXZpY2UtPnJlZ2lzdGVyRXJyb3IoIiIsIEdQVUVycm9yRmlsdGVyOjpPdXRPZk1l
bW9yeSk7CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIApAQCAtMTAyLDcgKzEwMiw3
IEBAIFJlZlB0cjxHUFVCdWZmZXI+IEdQVUJ1ZmZlcjo6dHJ5Q3JlYXRlKFJlZjxHUFVEZXZpY2U+
JiYgZGV2aWNlLCBjb25zdCBHUFVCdWZmZXJECiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9O
UzsKIAogICAgIGlmICghbXRsQnVmZmVyKSB7Ci0gICAgICAgIExPRyhXZWJHUFUsICJHUFVCdWZm
ZXI6OnRyeUNyZWF0ZSgpOiBVbmFibGUgdG8gY3JlYXRlIE1UTEJ1ZmZlciEiKTsKKyAgICAgICAg
ZGV2aWNlLT5yZWdpc3RlckVycm9yKCIiLCBHUFVFcnJvckZpbHRlcjo6T3V0T2ZNZW1vcnkpOwog
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3MDgyOTQ5ODI4NDAwYzFj
MzdjZjZhOWE4NDc3ODA3ZmFjZTYwNTJiLi5lMDJhOGY5MTdkZWQ0MjAzN2EzYWM4NzU1YzVhMTRl
ZmNhZDliYjc2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTktMDctMTAgIEp1c3RpbiBGYW4g
IDxqdXN0aW5fZmFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR1BVXSBJbXBsZW1lbnQgR1BV
RXJyb3IgYW5kIGVycm9yIHNjb3BlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTk5NjU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTXlsZXMgQy4gTWF4
ZmllbGQuCisKKyAgICAgICAgQWRkIGEgdGVzdCB0byBjb3ZlciB0aGUgY2FzZXMgb3V0bGluZWQg
aW4gdGhlIFdlYkdQVSBlcnJvciBoYW5kbGluZyBkZXNpZ24gZG9jLgorCisgICAgICAgICogd2Vi
Z3B1L2Vycm9yLXNjb3Blcy10ZXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
Z3B1L2Vycm9yLXNjb3Blcy10ZXN0Lmh0bWw6IEFkZGVkLgorCiAyMDE5LTA3LTEwICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IFZvaWNlT3ZlciBp
Z25vcmVkIHJvbGU9InByZXNlbnRhdGlvbiIgb24gPHRhYmxlPiBIVE1MIGVsZW1lbnRzCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJncHUvZXJyb3Itc2NvcGVzLXRlc3QtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvd2ViZ3B1L2Vycm9yLXNjb3Blcy10ZXN0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40ZWJhNjdmODc2MWYyMGE5ODg5NTBjYTI0M2NjMGY1ZmYyNmE1OWE1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L2Vycm9yLXNjb3Blcy10ZXN0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEwIEBACisKK1BBU1MgQ2FwdHVyZSBhIHNpbmdsZSBHUFVWYWxpZGF0
aW9uIGVycm9yLiAKK1BBU1MgQ2FwdHVyZSBhIHNpbmdsZSBHUFVPdXRPZk1lbW9yeSBlcnJvci4g
CitQQVNTIElnbm9yZSBlcnJvcnMgcGFzdCB0aGUgZmlyc3QuIAorUEFTUyBDYXB0dXJlZCBlcnJv
cnMgbWF0Y2ggZXJyb3Igc2NvcGUgZmlsdGVyLiAKK1BBU1MgUmVqZWN0IHBvcEVycm9yU2NvcGUg
aWYgbm8gc2NvcGUgZXhpc3RzLiAKK1BBU1MgRmlsdGVyICdub25lJyBzaG91bGQgY2FwdHVyZSBi
dXQgbm90IHJlcG9ydCBlcnJvcnMuIAorUEFTUyBQdXNoIGFuZCBwb3AgbWFueSBlcnJvciBzY29w
ZXMgd2l0aCBubyByZWplY3Rpb25zLiAKK1BBU1MgQ2F0Y2ggbWFueSBlcnJvcnMgaW4gbmVzdGVk
IHNjb3Blcy4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdwdS9lcnJvci1zY29wZXMt
dGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L2Vycm9yLXNjb3Blcy10ZXN0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNWNmY2NhMWI1ZTE0MWFkNDc1OWJmMmRhZWEyZWQyNTk0NDY0NzUxNQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdwdS9lcnJvci1zY29wZXMtdGVzdC5odG1sCkBA
IC0wLDAgKzEsMTIyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8
dGl0bGU+VGVzdCBFcnJvciBTY29wZXMuPC90aXRsZT4KKzxib2R5PgorPHNjcmlwdCBzcmM9Impz
L3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitsZXQgdGVzdHMgPSB7fTsK
KwordGVzdHNbIkNhcHR1cmUgYSBzaW5nbGUgR1BVVmFsaWRhdGlvbiBlcnJvci4iXSA9IGFzeW5j
IGRldmljZSA9PiB7CisgICAgZGV2aWNlLnB1c2hFcnJvclNjb3BlKCJ2YWxpZGF0aW9uIik7Cisg
ICAgY2F1c2VWYWxpZGF0aW9uRXJyb3IoZGV2aWNlKTsKKyAgICByZXR1cm4gcG9wVmFsaWRhdGlv
bkVycm9yKGRldmljZSk7Cit9OworCit0ZXN0c1siQ2FwdHVyZSBhIHNpbmdsZSBHUFVPdXRPZk1l
bW9yeSBlcnJvci4iXSA9IGFzeW5jIGRldmljZSA9PiB7CisgICAgZGV2aWNlLnB1c2hFcnJvclNj
b3BlKCJvdXQtb2YtbWVtb3J5Iik7CisgICAgY2F1c2VNZW1vcnlFcnJvcihkZXZpY2UpOworICAg
IHJldHVybiBwb3BNZW1vcnlFcnJvcihkZXZpY2UpOworfTsKKwordGVzdHNbIklnbm9yZSBlcnJv
cnMgcGFzdCB0aGUgZmlyc3QuIl0gPSBhc3luYyBkZXZpY2UgPT4geworICAgIGRldmljZS5wdXNo
RXJyb3JTY29wZSgidmFsaWRhdGlvbiIpOworICAgIGRldmljZS5wdXNoRXJyb3JTY29wZSgidmFs
aWRhdGlvbiIpOworICAgIGNhdXNlVmFsaWRhdGlvbkVycm9yKGRldmljZSk7CisgICAgY2F1c2VW
YWxpZGF0aW9uRXJyb3IoZGV2aWNlKTsKKyAgICAKKyAgICBjb25zdCBlcnJvciA9IGF3YWl0IGRl
dmljZS5wb3BFcnJvclNjb3BlKCk7CisgICAgYXNzZXJ0VmFsaWRhdGlvbkVycm9yKGVycm9yKTsK
KworICAgIHJldHVybiBwb3BOdWxsRXJyb3IoZGV2aWNlKTsKK307CisKK3Rlc3RzWyJDYXB0dXJl
ZCBlcnJvcnMgbWF0Y2ggZXJyb3Igc2NvcGUgZmlsdGVyLiJdID0gYXN5bmMgZGV2aWNlID0+IHsK
KyAgICBkZXZpY2UucHVzaEVycm9yU2NvcGUoInZhbGlkYXRpb24iKTsKKyAgICBkZXZpY2UucHVz
aEVycm9yU2NvcGUoIm91dC1vZi1tZW1vcnkiKTsKKyAgICBjYXVzZVZhbGlkYXRpb25FcnJvcihk
ZXZpY2UpOworCisgICAgY29uc3Qgc2hvdWxkQmVOdWxsID0gYXdhaXQgZGV2aWNlLnBvcEVycm9y
U2NvcGUoKTsKKyAgICBhc3NlcnROdWxsKHNob3VsZEJlTnVsbCk7CisKKyAgICByZXR1cm4gcG9w
VmFsaWRhdGlvbkVycm9yKGRldmljZSk7Cit9OworCit0ZXN0c1siUmVqZWN0IHBvcEVycm9yU2Nv
cGUgaWYgbm8gc2NvcGUgZXhpc3RzLiJdID0gYXN5bmMgZGV2aWNlID0+IHsKKyAgICBjb25zdCBw
cm9taXNlID0gZGV2aWNlLnBvcEVycm9yU2NvcGUoKS50aGVuKCgpID0+IGFzc2VydF91bnJlYWNo
ZWQoKSwgYXN5bmMgZSA9PiB7CisgICAgICAgIGFzc2VydF9mYWxzZShlID09PSB1bmRlZmluZWQp
OworICAgICAgICAvLyBQb3AgdGhlIGV4dHJhICdub25lJyBzY29wZS4KKyAgICAgICAgYXdhaXQg
cG9wTnVsbEVycm9yKGRldmljZSk7CisgICAgfSk7CisgICAgLy8gJ3Byb21pc2UnIHNob3VsZCBz
dGlsbCByZWplY3QgaWYgYSBzY29wZSBpcyBwdXNoZWQgaGVyZS4KKyAgICBkZXZpY2UucHVzaEVy
cm9yU2NvcGUoIm5vbmUiKTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK307CisKK3Rlc3RzWyJGaWx0
ZXIgJ25vbmUnIHNob3VsZCBjYXB0dXJlIGJ1dCBub3QgcmVwb3J0IGVycm9ycy4iXSA9IGFzeW5j
IGRldmljZSA9PiB7CisgICAgZGV2aWNlLnB1c2hFcnJvclNjb3BlKCJvdXQtb2YtbWVtb3J5Iik7
CisgICAgZGV2aWNlLnB1c2hFcnJvclNjb3BlKCJub25lIik7CisgICAgY2F1c2VNZW1vcnlFcnJv
cihkZXZpY2UpOworCisgICAgY29uc3Qgc2hvdWxkQmVOdWxsID0gYXdhaXQgZGV2aWNlLnBvcEVy
cm9yU2NvcGUoKTsKKyAgICBhc3NlcnROdWxsKHNob3VsZEJlTnVsbCk7CisKKyAgICByZXR1cm4g
cG9wTnVsbEVycm9yKGRldmljZSk7Cit9OworCit0ZXN0c1siUHVzaCBhbmQgcG9wIG1hbnkgZXJy
b3Igc2NvcGVzIHdpdGggbm8gcmVqZWN0aW9ucy4iXSA9IGFzeW5jIGRldmljZSA9PiB7CisgICAg
Y29uc3QgbnVtSXRlcmF0aW9ucyA9IDEyODsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IG51bUl0
ZXJhdGlvbnM7ICsraSkKKyAgICAgICAgZGV2aWNlLnB1c2hFcnJvclNjb3BlKCJvdXQtb2YtbWVt
b3J5Iik7CisgICAgCisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBudW1JdGVyYXRpb25zIC0gMTsg
KytpKQorICAgICAgICBhd2FpdCBwb3BOdWxsRXJyb3IoZGV2aWNlKTsKKworICAgIHJldHVybiBw
b3BOdWxsRXJyb3IoZGV2aWNlKTsKK307CisKK3Rlc3RzWyJDYXRjaCBtYW55IGVycm9ycyBpbiBu
ZXN0ZWQgc2NvcGVzLiJdID0gYXN5bmMgZGV2aWNlID0+IHsKKyAgICBjb25zdCBudW1JdGVyYXRp
b25zID0gMTI4OworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbnVtSXRlcmF0aW9uczsgKytpKSB7
CisgICAgICAgIGRldmljZS5wdXNoRXJyb3JTY29wZSgidmFsaWRhdGlvbiIpOworICAgICAgICBj
YXVzZVZhbGlkYXRpb25FcnJvcihkZXZpY2UpOworICAgIH0KKworICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgbnVtSXRlcmF0aW9ucyAtIDE7ICsraSkKKyAgICAgICAgYXdhaXQgcG9wVmFsaWRhdGlv
bkVycm9yKGRldmljZSk7CisKKyAgICByZXR1cm4gcG9wVmFsaWRhdGlvbkVycm9yKGRldmljZSk7
Cit9OworCitjb25zdCBpbml0ID0gYXN5bmMgKCkgPT4geworICAgIHRyeSB7CisgICAgICAgIHZh
ciBkZXZpY2UgPSBhd2FpdCBnZXRCYXNpY0RldmljZSgpOworICAgIH0gY2F0Y2ggKGUpIHsgLyog
V2ViR1BVIGlzIG5vdCBzdXBwb3J0ZWQuICovIH0KKworICAgIGZvciAobGV0IG5hbWUgaW4gdGVz
dHMpCisgICAgICAgIGRldmljZVByb21pc2VUZXN0KGRldmljZSwgbmFtZSk7Cit9OworCit3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGluaXQpOworCisvKiBIZWxwZXIgRnVuY3Rpb25z
ICovCisKK2NvbnN0IGNhdXNlVmFsaWRhdGlvbkVycm9yID0gZGV2aWNlID0+IGRldmljZS5jcmVh
dGVCdWZmZXIoeyBzaXplOiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuTUFQX1JFQUQgfCBHUFVC
dWZmZXJVc2FnZS5NQVBfV1JJVEUgfSk7Citjb25zdCBjYXVzZU1lbW9yeUVycm9yID0gZGV2aWNl
ID0+IGRldmljZS5jcmVhdGVCdWZmZXIoeyBzaXplOiA5OTk5OTk5OTk5OSwgdXNhZ2U6IEdQVUJ1
ZmZlclVzYWdlLk5PTkUgfSk7Citjb25zdCBwb3BWYWxpZGF0aW9uRXJyb3IgPSBkZXZpY2UgPT4g
ZGV2aWNlLnBvcEVycm9yU2NvcGUoKS50aGVuKGVycm9yID0+IGFzc2VydFZhbGlkYXRpb25FcnJv
cihlcnJvcikpOworY29uc3QgcG9wTWVtb3J5RXJyb3IgPSBkZXZpY2UgPT4gZGV2aWNlLnBvcEVy
cm9yU2NvcGUoKS50aGVuKGVycm9yID0+IGFzc2VydE1lbW9yeUVycm9yKGVycm9yKSk7Citjb25z
dCBwb3BOdWxsRXJyb3IgPSBkZXZpY2UgPT4gZGV2aWNlLnBvcEVycm9yU2NvcGUoKS50aGVuKGVy
cm9yID0+IGFzc2VydE51bGwoZXJyb3IpKTsKK2NvbnN0IGFzc2VydE51bGwgPSBlcnJvciA9PiBh
c3NlcnRfdHJ1ZShlcnJvciA9PT0gbnVsbCwgIk5vIGVycm9yIGV4cGVjdGVkISIpOworY29uc3Qg
YXNzZXJ0VmFsaWRhdGlvbkVycm9yID0gZXJyb3IgPT4gYXNzZXJ0X3RydWUoZXJyb3IgaW5zdGFu
Y2VvZiBHUFVWYWxpZGF0aW9uRXJyb3IsICJFeHBlY3RlZCB2YWxpZGF0aW9uIGVycm9yISIpOwor
Y29uc3QgYXNzZXJ0TWVtb3J5RXJyb3IgPSBlcnJvciA9PiBhc3NlcnRfdHJ1ZShlcnJvciBpbnN0
YW5jZW9mIEdQVU91dE9mTWVtb3J5RXJyb3IsICJFeHBlY3RlZCBvdXQtb2YtbWVtb3J5IGVycm9y
ISIpOworCitjb25zdCBkZXZpY2VQcm9taXNlVGVzdCA9IChkZXZpY2UsIG5hbWUpID0+IHsKKyAg
ICBwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4geworICAgICAgICBpZiAoZGV2aWNlID09PSB1bmRl
ZmluZWQpCisgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7CisgICAgICAgIHJl
dHVybiB0ZXN0c1tuYW1lXShkZXZpY2UpOworICAgIH0sIG5hbWUpOworfTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373942</attachid>
            <date>2019-07-11 13:11:36 -0700</date>
            <delta_ts>2019-07-11 14:32:09 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-199655-20190711131136.patch</filename>
            <type>text/plain</type>
            <size>62907</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MzMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M3NGRjYzgxYjU3YTkx
YWMxNzMwN2Q3YjA2YWZhMjcxZjUxMDIwMC4uMTRiNGNmMDM1Yzc0ZjMyYmE3NjZhZDA4YTQwNGRk
MjdkNmViZTFjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE5LTA3LTEwICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gSW1wbGVt
ZW50IEdQVUVycm9yIGFuZCBlcnJvciBzY29wZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTY1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE15bGVz
IEMuIE1heGZpZWxkLgorCisgICAgICAgIEFkZCBHUFVFcnJvckZpbHRlciwgR1BVRXJyb3IsIGFu
ZCB0aGUgYWJpbGl0eSB0byBwdXNoIGFuZCBwb3AgZXJyb3Igc2NvcGVzIG9uIGEgR1BVRGV2aWNl
LgorICAgICAgICBUaGlzIHdpbGwgYWxsb3cgdXMgdG8gY2hlY2sgZm9yIFdlYkdQVSBlcnJvcnMg
ZnJvbSBKYXZhU2NyaXB0LgorICAgICAgICBDdXJyZW50bHksIG9ubHkgc29tZSBHUFVCdWZmZXIg
Y3JlYXRpb24gZXJyb3JzIGFyZSByZXBvcnRlZCBmb3IgdGVzdGluZzsgbW9yZSBlcnJvcnMgd2ls
bCBmb2xsb3cgaW4gbGF0ZXIgcGF0Y2hlcy4KKworICAgICAgICBUZXN0OiB3ZWJncHUvZXJyb3It
c2NvcGVzLXRlc3QuaHRtbAorCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvR1BVRXJyb3JGaWx0
ZXIuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9HUFVPdXRPZk1lbW9yeUVy
cm9yLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvR1BVVmFsaWRhdGlvbkVy
cm9yLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVURldmljZTo6cHVzaEVycm9yU2NvcGUpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViR1BVRGV2aWNlOjpwb3BFcnJvclNjb3BlKTogUmVzb2x2ZSB0aGUg
UHJvbWlzZSBoZXJlLCBzaW5jZSBHUFVEZXZpY2Ugc2hvdWxkbid0IHdvcnJ5IGFib3V0IERPTSBs
YXllci4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaDoKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5jcHA6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6V2ViR1BVRGV2aWNlRXJyb3JTY29wZXM6OnB1c2hFcnJvclNjb3BlKTog
RGVsZWdhdGVzIHRvIFdlYkdQVURldmljZS4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVURldmlj
ZUVycm9yU2NvcGVzOjpwb3BFcnJvclNjb3BlKTogRGl0dG8uCisgICAgICAgICogTW9kdWxlcy93
ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxl
cy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQnVmZmVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVURldmljZS5jcHA6IFRoZSBhY3R1YWwgZXJyb3Igc3RhY2sgbGl2ZXMgaGVy
ZS4KKyAgICAgICAgKFdlYkNvcmU6OkdQVURldmljZTo6cHVzaEVycm9yU2NvcGUpOgorICAgICAg
ICAoV2ViQ29yZTo6R1BVRGV2aWNlOjpwb3BFcnJvclNjb3BlKTogQ2FsbHMgYSBjYWxsYmFjayB3
aXRoIGEgR1BVRXJyb3IsIGlmIGFueS4KKyAgICAgICAgKFdlYkNvcmU6OkdQVURldmljZTo6cmVn
aXN0ZXJFcnJvcik6IEFjdHVhbGx5IGNyZWF0ZXMgR1BVRXJyb3JzLgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVRXJyb3IuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUVycm9y
KTogRmFjdG9yeSBmdW5jdGlvbiBmb3IgdmFyaW91cyBlcnJvciB0eXBlcy4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3IuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9yRmlsdGVyLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2dwdS9HUFVPdXRPZk1lbW9yeUVycm9yLmg6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6R1BVT3V0T2ZNZW1vcnlFcnJvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVVmFsaWRhdGlvbkVycm9yLmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpHUFVWYWxpZGF0aW9uRXJyb3I6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpH
UFVWYWxpZGF0aW9uRXJyb3I6OkdQVVZhbGlkYXRpb25FcnJvcik6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5oOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OkdQVVZhbGlkYXRpb25FcnJvcjo6bWVzc2FnZSBjb25zdCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVUJ1ZmZlck1ldGFsLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6R1BVQnVmZmVyOjp2YWxpZGF0ZUJ1ZmZlclVzYWdlKTogQ3JlYXRlIGFuIGFjdHVhbCBH
UFVWYWxpZGF0aW9uRXJyb3IgOikKKyAgICAgICAgKFdlYkNvcmU6OkdQVUJ1ZmZlcjo6dHJ5Q3Jl
YXRlKTogQ3JlYXRlIEdQVU91dE9mTWVtb3J5RXJyb3JzIHdoZXJlIGFwcHJvcHJpYXRlLgorCisg
ICAgICAgIEFkZCBmaWxlL25hbWUgcmVmZXJlbmNlczoKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLm1ha2U6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWls
dGluTmFtZXMuaDoKKworICAgICAgICBNaXNzaW5nIGluY2x1ZGVzOgorICAgICAgICAqIE1vZHVs
ZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tUZXh0dXJlUmVmZXJlbmNlcy5jcHA6CisKIDIwMTkt
MDctMTAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBTdG9wIHVz
aW5nIEdlbmVyaWNUYXNrUXVldWUgZnJvbSBtdWx0aXBsZSB0aHJlYWRzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CmluZGV4IDNjZTUxNjYxMzEwNDFkZWI3MWM5ZTdiZTk1NTc5MDU1OTM3OTg1ODIuLjg0ZDg0
YWM1NzJjMjg1NTMwYTRjZDE5NmZlNzg2Y2U2NmJlMGRjNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CkBAIC00ODAsOSArNDgwLDExIEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAg
TW9kdWxlcy93ZWJncHUvR1BVQ29sb3JXcml0ZUJpdHMuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUv
R1BVQ29tcGFyZUZ1bmN0aW9uLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L0dQVURlcHRoU3RlbmNp
bFN0YXRlRGVzY3JpcHRvci5pZGwKKyAgICBNb2R1bGVzL3dlYmdwdS9HUFVFcnJvckZpbHRlci5p
ZGwKICAgICBNb2R1bGVzL3dlYmdwdS9HUFVFeHRlbnQzRC5pZGwKICAgICBNb2R1bGVzL3dlYmdw
dS9HUFVMb2FkT3AuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvR1BVT3JpZ2luM0QuaWRsCisgICAg
TW9kdWxlcy93ZWJncHUvR1BVT3V0T2ZNZW1vcnlFcnJvci5pZGwKICAgICBNb2R1bGVzL3dlYmdw
dS9HUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvR1BVU2Ft
cGxlckRlc2NyaXB0b3IuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvR1BVU2hhZGVyU3RhZ2VCaXQu
aWRsCkBAIC00OTAsNiArNDkyLDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAg
ICBNb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5pZGwKICAgICBNb2R1bGVzL3dl
YmdwdS9HUFVUZXh0dXJlRm9ybWF0LmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVV
c2FnZS5pZGwKKyAgICBNb2R1bGVzL3dlYmdwdS9HUFVWYWxpZGF0aW9uRXJyb3IuaWRsCiAgICAg
TW9kdWxlcy93ZWJncHUvR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRvci5pZGwKICAgICBNb2R1
bGVzL3dlYmdwdS9HUFVWZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yLmlkbAogICAgIE1vZHVsZXMvd2Vi
Z3B1L0dQVVZlcnRleElucHV0RGVzY3JpcHRvci5pZGwKQEAgLTUwOCw2ICs1MTEsNyBAQCBzZXQo
V2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1
dGVQaXBlbGluZS5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21wdXRlUGlwZWxpbmVE
ZXNjcmlwdG9yLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5pZGwKKyAgICBN
b2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5pZGwKICAgICBNb2R1bGVzL3dl
YmdwdS9XZWJHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1
L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVs
aW5lTGF5b3V0RGVzY3JpcHRvci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGM2OWQzZGQ0MTdiYmQ5MjRmOTUyMmMxNDc0OGNlODFl
MjdkMDEzZDEuLmE2ODEzNzYwMWQ4Mjk0YWZiMTJjODZiYmY0MWMxNjc5ZDI4MWY3YjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysr
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtMzMw
LDEwICszMzAsMTIgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJncHUvR1BVQ29sb3JTdGF0
ZURlc2NyaXB0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9HUFVDb2xvcldy
aXRlQml0cy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVUNvbXBhcmVGdW5j
dGlvbi5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVURlcHRoU3RlbmNpbFN0
YXRlRGVzY3JpcHRvci5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVUVycm9y
RmlsdGVyLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJncHUvR1BVRXh0ZW50M0QuaWRs
CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9HUFVJbnB1dFN0YXRlRGVzY3JpcHRvci5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVUxvYWRPcC5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVU9yaWdpbjNELmlkbAorJChQUk9KRUNUX0RJUikvTW9k
dWxlcy93ZWJncHUvR1BVT3V0T2ZNZW1vcnlFcnJvci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvd2ViZ3B1L0dQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvd2ViZ3B1L0dQVVNhbXBsZXJEZXNjcmlwdG9yLmlkbAogJChQUk9KRUNUX0RJUikvTW9k
dWxlcy93ZWJncHUvR1BVU2hhZGVyU3RhZ2VCaXQuaWRsCkBAIC0zNDEsNiArMzQzLDcgQEAgJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy93ZWJncHUvR1BVU3RvcmVPcC5pZGwKICQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy93ZWJncHUvR1BVVGV4dHVyZUZvcm1hdC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvd2ViZ3B1L0dQVVRleHR1cmVVc2FnZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2Vi
Z3B1L0dQVVZhbGlkYXRpb25FcnJvci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1
L0dQVVZlcnRleEF0dHJpYnV0ZURlc2NyaXB0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L3dlYmdwdS9HUFVWZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yLmlkbAogJChQUk9KRUNUX0RJUikvTW9k
dWxlcy93ZWJncHUvR1BVVmVydGV4SW5wdXREZXNjcmlwdG9yLmlkbApAQCAtMzYxLDYgKzM2NCw3
IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQYXNzRW5jb2Rl
ci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQaXBlbGlu
ZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQaXBlbGlu
ZURlc2NyaXB0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZp
Y2UuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNj
b3Blcy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lRGVz
Y3JpcHRvckJhc2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBl
bGluZUxheW91dC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVs
aW5lTGF5b3V0RGVzY3JpcHRvci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggMzdjM2M4YjFiYTUyYjI2MzBmMWYwNTNmMmIwNTI1
MzVjZGM1MGNiNy4uNGEyNmQyOTJjNDkxZjQ5YmNiNjQxZWQ2ZmM3ZDgwNGNkYzZiZTdmNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAg
LTYwOSw2ICs2MDksOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0dQVUNvbXBhcmVGdW5jdGlvbi5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTR1BVQ29tcGFyZUZ1bmN0aW9uLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVRGVwdGhTdGVuY2lsU3RhdGVEZXNj
cmlwdG9yLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNHUFVEZXB0aFN0ZW5jaWxTdGF0ZURlc2NyaXB0b3IuaAorJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVFcnJvckZpbHRlci5jcHAKKyQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVRXJyb3JGaWx0ZXIuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVFeHRlbnQzRC5j
cHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVRXh0
ZW50M0QuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNH
UFVJbnB1dFN0YXRlRGVzY3JpcHRvci5jcHAKQEAgLTYxNyw2ICs2MTksOCBAQCAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUxvYWRPcC5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVTG9hZE9wLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVT3JpZ2luM0Qu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVU9y
aWdpbjNELmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
R1BVT3V0T2ZNZW1vcnlFcnJvci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTR1BVT3V0T2ZNZW1vcnlFcnJvci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5jcHAK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVUmVxdWVz
dEFkYXB0ZXJPcHRpb25zLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTR1BVU2FtcGxlckRlc2NyaXB0b3IuY3BwCkBAIC02MzEsNiArNjM1LDggQEAgJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVUZXh0dXJlRm9y
bWF0LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNH
UFVUZXh0dXJlRm9ybWF0LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTR1BVVGV4dHVyZVVzYWdlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVUZXh0dXJlVXNhZ2UuaAorJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVWYWxpZGF0aW9uRXJyb3IuY3BwCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVZhbGlkYXRpb25F
cnJvci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQ
VVZlcnRleEF0dHJpYnV0ZURlc2NyaXB0b3IuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVZlcnRleEF0dHJpYnV0ZURlc2NyaXB0b3IuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVWZXJ0ZXhCdWZm
ZXJEZXNjcmlwdG9yLmNwcApAQCAtMTk0Myw2ICsxOTQ5LDggQEAgJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJHUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlw
dG9yLmMKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2Vi
R1BVQ29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYkdQVURldmljZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR1BVRGV2aWNlLmgKKyQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR1BVRGV2aWNlRXJyb3JTY29w
ZXMuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dl
YkdQVURldmljZUVycm9yU2NvcGVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR1BVUGlwZWxpbmVEZXNj
cmlwdG9yQmFzZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1dlYkdQVVBpcGVsaW5lTGF5b3V0LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
aW5kZXggN2VlYjQyN2MyN2QxOGFjNGNiODdjOWZiMmZlZjAzZWUwNmJmNjY2ZC4uYzYxNzcxNjE0
M2EwNzFhNjlhMGYyZWVkYzk1MTNkZDdiYzFlNjFlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCkBAIC0zODYsOSArMzg2LDExIEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvd2ViZ3B1L0dQVUJ1ZmZlclVzYWdlLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL3dlYmdwdS9HUFVDb21wYXJlRnVuY3Rpb24uaWRsIFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvd2ViZ3B1L0dQVURlcHRoU3RlbmNpbFN0YXRlRGVzY3JpcHRvci5pZGwgXAorICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVRXJyb3JGaWx0ZXIuaWRsIFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvd2ViZ3B1L0dQVUV4dGVudDNELmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL3dlYmdwdS9HUFVMb2FkT3AuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2Vi
Z3B1L0dQVU9yaWdpbjNELmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVP
dXRPZk1lbW9yeUVycm9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVS
ZXF1ZXN0QWRhcHRlck9wdGlvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1
L0dQVVNhbXBsZXJEZXNjcmlwdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdw
dS9HUFVTaGFkZXJTdGFnZUJpdC5pZGwgXApAQCAtMzk2LDYgKzM5OCw3IEBAIEpTX0JJTkRJTkdf
SURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVEZXNjcmlw
dG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlRm9ybWF0
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlVXNhZ2UuaWRs
IFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVVmVydGV4QXR0cmlidXRlRGVzY3Jp
cHRvci5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVVmVydGV4QnVmZmVy
RGVzY3JpcHRvci5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVVmVydGV4SW5w
dXREZXNjcmlwdG9yLmlkbCBcCkBAIC00MTQsNiArNDE3LDcgQEAgSlNfQklORElOR19JRExTID0g
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVQ29tcHV0ZVBpcGVsaW5lLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21wdXRlUGlwZWxpbmVE
ZXNjcmlwdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZp
Y2UuaWRsIFwKKwkkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2Nv
cGVzLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVRdWV1ZS5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9y
QmFzZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVM
YXlvdXQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQ
VUVycm9yRmlsdGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUVycm9y
RmlsdGVyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZDZhY2JiMjQyMWNiZjRkNGM1YWVmMThiMzU0ODM5Yjcx
ZDY2Mzk2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
R1BVRXJyb3JGaWx0ZXIuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworLy8gaHR0cHM6
Ly9ncHV3ZWIuZ2l0aHViLmlvL2dwdXdlYgorCitbCisgICAgQ29uZGl0aW9uYWw9V0VCR1BVLAor
ICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCitdIGVudW0gR1BVRXJyb3JGaWx0ZXIgeworICAg
ICJub25lIiwKKyAgICAib3V0LW9mLW1lbW9yeSIsCisgICAgInZhbGlkYXRpb24iCit9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVT3V0T2ZNZW1vcnlFcnJv
ci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVPdXRPZk1lbW9yeUVycm9y
LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kNGQzZDAwNzM3OTM0ZTRmNzdlOWE2MjM1ZWQ0MzE5NTQ1OWNiNjEy
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVT3V0
T2ZNZW1vcnlFcnJvci5pZGwKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisvLyBodHRwczov
L2dwdXdlYi5naXRodWIuaW8vZ3B1d2ViCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJHUFUsCisg
ICAgQ29uc3RydWN0b3IoKSwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVSwKKyAgICBJbXBs
ZW1lbnRhdGlvbkxhY2tzVlRhYmxlCitdIGludGVyZmFjZSBHUFVPdXRPZk1lbW9yeUVycm9yIHt9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVVmFsaWRhdGlv
bkVycm9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVVZhbGlkYXRpb25F
cnJvci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNWUxM2MxODg3ZWY4YjQwNzljMDRjNWNiZWE2NmVjYTY3MzI3
ZjQ4MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQ
VVZhbGlkYXRpb25FcnJvci5pZGwKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisvLyBodHRw
czovL2dwdXdlYi5naXRodWIuaW8vZ3B1d2ViCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJHUFUs
CisgICAgQ29uc3RydWN0b3IoRE9NU3RyaW5nIG1lc3NhZ2UpLAorICAgIEVuYWJsZWRBdFJ1bnRp
bWU9V2ViR1BVLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKK10gaW50ZXJmYWNlIEdQ
VVZhbGlkYXRpb25FcnJvciB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBtZXNz
YWdlOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L1dITFNMQ2hlY2tUZXh0dXJlUmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9XSExTTENoZWNrVGV4dHVyZVJlZmVyZW5jZXMuY3BwCmluZGV4IGMwMmRi
ODlkM2NiNmMwYTc1MWE2MjJlYjc5ZGQzNGU3YjdkNTYzZjkuLjczODZiMTA2YmI4MGQzNjdlZjMx
ZGQ2YjUzNTllYWI5YTU3NzkyOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML1dITFNMQ2hlY2tUZXh0dXJlUmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xDaGVja1RleHR1cmVSZWZlcmVuY2Vz
LmNwcApAQCAtMjYsMTAgKzI2LDE1IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
V0hMU0xDaGVja1RleHR1cmVSZWZlcmVuY2VzLmgiCiAKLSNpbmNsdWRlICJXSExTTEluZmVyVHlw
ZXMuaCIKLQogI2lmIEVOQUJMRShXRUJHUFUpCiAKKyNpbmNsdWRlICJXSExTTEFycmF5UmVmZXJl
bmNlVHlwZS5oIgorI2luY2x1ZGUgIldITFNMQXJyYXlUeXBlLmgiCisjaW5jbHVkZSAiV0hMU0xJ
bmZlclR5cGVzLmgiCisjaW5jbHVkZSAiV0hMU0xOYXRpdmVUeXBlRGVjbGFyYXRpb24uaCIKKyNp
bmNsdWRlICJXSExTTFBvaW50ZXJUeXBlLmgiCisjaW5jbHVkZSAiV0hMU0xWaXNpdG9yLmgiCisK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIFdITFNMIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwCmluZGV4IGYwNTlhZDg5ZTA5ZDRm
NGE3NGY4YjhlODEzZjQ0ZjVhMGE5YjllMWUuLmUzMTllMjE5NTUwNDM4ZThjMmFjYmJkMjJjZmY4
NTE1YjQ3N2I2ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dl
YkdQVURldmljZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
RGV2aWNlLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKFdFQkdQVSkKIAorI2lu
Y2x1ZGUgIkV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkdQVUJpbmRHcm91cC5oIgogI2luY2x1ZGUg
IkdQVUJpbmRHcm91cEJpbmRpbmcuaCIKICNpbmNsdWRlICJHUFVCaW5kR3JvdXBEZXNjcmlwdG9y
LmgiCkBAIC00Miw2ICs0Myw4IEBACiAjaW5jbHVkZSAiR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRv
ci5oIgogI2luY2x1ZGUgIkdQVVRleHR1cmVEZXNjcmlwdG9yLmgiCiAjaW5jbHVkZSAiSlNET01D
b252ZXJ0QnVmZmVyU291cmNlLmgiCisjaW5jbHVkZSAiSlNHUFVPdXRPZk1lbW9yeUVycm9yLmgi
CisjaW5jbHVkZSAiSlNHUFVWYWxpZGF0aW9uRXJyb3IuaCIKICNpbmNsdWRlICJKU1dlYkdQVUJ1
ZmZlci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJXZWJHUFVCaW5kR3JvdXAu
aCIKQEAgLTYzLDYgKzY2LDcgQEAKICNpbmNsdWRlICJXZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlw
dG9yLmgiCiAjaW5jbHVkZSAiV2ViR1BVU3dhcENoYWluLmgiCiAjaW5jbHVkZSAiV2ViR1BVVGV4
dHVyZS5oIgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKQEAgLTE4MCw2ICsxODQsMjEgQEAgUmVmPFdlYkdQVVF1ZXVlPiBXZWJHUFVEZXZpY2U6Omdl
dFF1ZXVlKCkgY29uc3QKICAgICByZXR1cm4gbWFrZVJlZigqbV9xdWV1ZS5nZXQoKSk7CiB9CiAK
K3ZvaWQgV2ViR1BVRGV2aWNlOjpwdXNoRXJyb3JTY29wZShHUFVFcnJvckZpbHRlciBmaWx0ZXIp
IGNvbnN0Cit7CisgICAgbV9kZXZpY2UtPnB1c2hFcnJvclNjb3BlKGZpbHRlcik7Cit9CisKK3Zv
aWQgV2ViR1BVRGV2aWNlOjpwb3BFcnJvclNjb3BlKEVycm9yUHJvbWlzZSYmIHByb21pc2UpIGNv
bnN0Cit7CisgICAgbV9kZXZpY2UtPnBvcEVycm9yU2NvcGUoW3Byb21pc2UgPSBXVEZNb3ZlKHBy
b21pc2UpXSAoT3B0aW9uYWw8R1BVRXJyb3I+JiYgZXJyb3IsIGNvbnN0IFN0cmluZyYgZmFpbE1l
c3NhZ2UpIG11dGFibGUgeworICAgICAgICBpZiAoZmFpbE1lc3NhZ2UuaXNFbXB0eSgpKQorICAg
ICAgICAgICAgcHJvbWlzZS5yZXNvbHZlKGVycm9yKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3IsIGZhaWxNZXNzYWdl
IH0pOworICAgIH0pOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBF
TkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V2ViR1BVRGV2aWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZp
Y2UuaAppbmRleCAyMWQzNzFhMDNhNzUxNTQ0YTkxZDdjOGExYWQwY2Q2MjE1OTVhYTFiLi5jYzI2
ZDJkZGFhOWNiYzU4YjIxYWU3NzMyOTI1YjM4ZTJhOTczNDhkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaApAQCAtMjgsNiArMjgsNyBAQAogI2lmIEVO
QUJMRShXRUJHUFUpCiAKICNpbmNsdWRlICJHUFVEZXZpY2UuaCIKKyNpbmNsdWRlICJKU0RPTVBy
b21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIldlYkdQVUFkYXB0ZXIuaCIKICNpbmNsdWRlICJX
ZWJHUFVRdWV1ZS5oIgogI2luY2x1ZGUgIldlYkdQVVN3YXBDaGFpbkRlc2NyaXB0b3IuaCIKQEAg
LTQzLDYgKzQ0LDggQEAgY2xhc3MgSlNWYWx1ZTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitj
bGFzcyBHUFVPdXRPZk1lbW9yeUVycm9yOworY2xhc3MgR1BVVmFsaWRhdGlvbkVycm9yOwogY2xh
c3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIGNsYXNzIFdlYkdQVUJpbmRHcm91cDsKIGNsYXNz
IFdlYkdQVUJpbmRHcm91cExheW91dDsKQEAgLTY2LDYgKzY5LDExIEBAIHN0cnVjdCBXZWJHUFVQ
aXBlbGluZUxheW91dERlc2NyaXB0b3I7CiBzdHJ1Y3QgV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNj
cmlwdG9yOwogc3RydWN0IFdlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3I7CiAKK2VudW0gY2xh
c3MgR1BVRXJyb3JGaWx0ZXI7CisKK3VzaW5nIEVycm9ySURMVW5pb24gPSBJRExVbmlvbjxJRExJ
bnRlcmZhY2U8R1BVT3V0T2ZNZW1vcnlFcnJvcj4sIElETEludGVyZmFjZTxHUFVWYWxpZGF0aW9u
RXJyb3I+PjsKK3VzaW5nIEVycm9yUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExOdWxs
YWJsZTxFcnJvcklETFVuaW9uPj47CisKIGNsYXNzIFdlYkdQVURldmljZSA6IHB1YmxpYyBSZWZD
b3VudGVkPFdlYkdQVURldmljZT4gewogcHVibGljOgogICAgIHN0YXRpYyBSZWZQdHI8V2ViR1BV
RGV2aWNlPiB0cnlDcmVhdGUoUmVmPGNvbnN0IFdlYkdQVUFkYXB0ZXI+JiYpOwpAQCAtOTEsNiAr
OTksOSBAQCBwdWJsaWM6CiAKICAgICBSZWY8V2ViR1BVUXVldWU+IGdldFF1ZXVlKCkgY29uc3Q7
CiAKKyAgICB2b2lkIHB1c2hFcnJvclNjb3BlKEdQVUVycm9yRmlsdGVyKSBjb25zdDsKKyAgICB2
b2lkIHBvcEVycm9yU2NvcGUoRXJyb3JQcm9taXNlJiYpIGNvbnN0OworCiBwcml2YXRlOgogICAg
IFdlYkdQVURldmljZShSZWY8Y29uc3QgV2ViR1BVQWRhcHRlcj4mJiwgUmVmPEdQVURldmljZT4m
Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURl
dmljZUVycm9yU2NvcGVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VURldmljZUVycm9yU2NvcGVzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43OTMxMTAwZGI1NDUxMzg3OTQ0NzU2
YzBmYjAxZmQ4ODJhMzAxYTgxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuY3BwCkBAIC0wLDAgKzEsNDcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViR1BVRGV2aWNl
RXJyb3JTY29wZXMuaCIKKworI2lmIEVOQUJMRShXRUJHUFUpCisKKyNpbmNsdWRlICJHUFVFcnJv
ckZpbHRlci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgV2ViR1BVRGV2aWNlRXJy
b3JTY29wZXM6OnB1c2hFcnJvclNjb3BlKFdlYkdQVURldmljZSYgZGV2aWNlLCBHUFVFcnJvckZp
bHRlciBmaWx0ZXIpCit7CisgICAgZGV2aWNlLnB1c2hFcnJvclNjb3BlKGZpbHRlcik7Cit9CisK
K3ZvaWQgV2ViR1BVRGV2aWNlRXJyb3JTY29wZXM6OnBvcEVycm9yU2NvcGUoV2ViR1BVRGV2aWNl
JiBkZXZpY2UsIEVycm9yUHJvbWlzZSYmIHByb21pc2UpCit7CisgICAgZGV2aWNlLnBvcEVycm9y
U2NvcGUoV1RGTW92ZShwcm9taXNlKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMjBmMDdh
YmUzOThiZjlhNzM0ZDQ0NmFmNTg5NDUzYzBkYjBjMTA5Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaApAQCAt
MCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VC
R1BVKQorCisjaW5jbHVkZSAiV2ViR1BVRGV2aWNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworZW51bSBjbGFzcyBHUFVFcnJvckZpbHRlcjsKKworY2xhc3MgV2ViR1BVRGV2aWNlRXJyb3JT
Y29wZXMgeworcHVibGljOgorICAgIHN0YXRpYyB2b2lkIHB1c2hFcnJvclNjb3BlKFdlYkdQVURl
dmljZSYsIEdQVUVycm9yRmlsdGVyKTsKKyAgICBzdGF0aWMgdm9pZCBwb3BFcnJvclNjb3BlKFdl
YkdQVURldmljZSYsIEVycm9yUHJvbWlzZSYmKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZWM3ODUyN2JjZTI5MDA4ZjQ5YmUwZDMxOTBjMzFlY2YwMTg1OWI0NgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2Nv
cGVzLmlkbApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKy8vIGh0dHBzOi8vZ3B1d2ViLmdp
dGh1Yi5pby9ncHV3ZWIKKwordHlwZWRlZiAoR1BVT3V0T2ZNZW1vcnlFcnJvciBvciBHUFVWYWxp
ZGF0aW9uRXJyb3IpIEdQVUVycm9yOworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCR1BVLAorICAg
IEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCitdIHBhcnRpYWwgaW50ZXJmYWNlIFdlYkdQVURldmlj
ZSB7CisgICAgdm9pZCBwdXNoRXJyb3JTY29wZShHUFVFcnJvckZpbHRlciBmaWx0ZXIpOworICAg
IFByb21pc2U8R1BVRXJyb3I/PiBwb3BFcnJvclNjb3BlKCk7Cit9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRl
eCBkODBmMDJlOTE3YzM4NDJiNWI5ODM3NzlkOWY3ZmI3OTA4NTBkZDI5Li44OGFlMjZhYzA1YzAz
N2RhOTczNDg5OWQ3MzQwZTdjYTRlNDYzODYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMzY3LDYgKzM2
Nyw3IEBAIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQYXNzRW5jb2Rlci5jcHAKIE1vZHVs
ZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQaXBlbGluZS5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dlYkdQ
VUNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IuY3BwCiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZp
Y2UuY3BwCitNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5jcHAKIE1vZHVs
ZXMvd2ViZ3B1L1dlYkdQVVF1ZXVlLmNwcAogTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVM
YXlvdXQuY3BwCiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3Iu
Y3BwCkBAIC0xODI3LDYgKzE4MjgsOCBAQCBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJj
ZUdyYXBoaWMuY3BwCiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1Nwb3RMaWdodFNvdXJjZS5j
cHAKIAogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5jcHAKK3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9HUFVFcnJvci5jcHAKK3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVWYWxpZGF0aW9u
RXJyb3IuY3BwCiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUGlwZWxpbmVMYXlvdXQuY3BwCiBw
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIuY3BwCiAKQEAg
LTI3NTYsOSArMjc1OSwxMSBAQCBKU0dQVUJ1ZmZlckRlc2NyaXB0b3IuY3BwCiBKU0dQVUJ1ZmZl
clVzYWdlLmNwcAogSlNHUFVDb21wYXJlRnVuY3Rpb24uY3BwCiBKU0dQVURlcHRoU3RlbmNpbFN0
YXRlRGVzY3JpcHRvci5jcHAKK0pTR1BVRXJyb3JGaWx0ZXIuY3BwCiBKU0dQVUV4dGVudDNELmNw
cAogSlNHUFVMb2FkT3AuY3BwCiBKU0dQVU9yaWdpbjNELmNwcAorSlNHUFVPdXRPZk1lbW9yeUVy
cm9yLmNwcAogSlNHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuY3BwCiBKU0dQVVNhbXBsZXJEZXNj
cmlwdG9yLmNwcAogSlNHUFVTaGFkZXJTdGFnZUJpdC5jcHAKQEAgLTI3NjYsNiArMjc3MSw3IEBA
IEpTR1BVU3RvcmVPcC5jcHAKIEpTR1BVVGV4dHVyZURlc2NyaXB0b3IuY3BwCiBKU0dQVVRleHR1
cmVGb3JtYXQuY3BwCiBKU0dQVVRleHR1cmVVc2FnZS5jcHAKK0pTR1BVVmFsaWRhdGlvbkVycm9y
LmNwcAogSlNHUFVWZXJ0ZXhBdHRyaWJ1dGVEZXNjcmlwdG9yLmNwcAogSlNHUFVWZXJ0ZXhCdWZm
ZXJEZXNjcmlwdG9yLmNwcAogSlNHUFVWZXJ0ZXhJbnB1dERlc2NyaXB0b3IuY3BwCkBAIC0zMzE4
LDYgKzMzMjQsNyBAQCBKU1dlYkdQVUNvbXB1dGVQYXNzRW5jb2Rlci5jcHAKIEpTV2ViR1BVQ29t
cHV0ZVBpcGVsaW5lLmNwcAogSlNXZWJHUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlwdG9yLmNwcAog
SlNXZWJHUFVEZXZpY2UuY3BwCitKU1dlYkdQVURldmljZUVycm9yU2NvcGVzLmNwcAogSlNXZWJH
UFVRdWV1ZS5jcHAKIEpTV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5jcHAKIEpTV2ViR1BV
UGlwZWxpbmVMYXlvdXQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggOWE4ZWY5MzAwZDBmMGE0MTU3MTc4ZDdmOTg5MDgyYmVk
ZDBiZTZkNC4uYjYxMzAyZWVhMTdkZTZjOGYyODVmZTc3MGYyZWIwYWY1YTQzZGNjZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
MTQwMTgsNiArMTQwMTgsMTkgQEAKIAkJRDA5M0QyMjUyMTc5NTFENDAwMzI5MjE3IC8qIEdQVUNh
bnZhc0NvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVQ2FudmFzQ29udGV4dC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlEMDkzRDIyNzIxNzk1MUQ0MDAzMjkyMTcgLyogR1BVQ2Fu
dmFzQ29udGV4dC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVQ2FudmFzQ29udGV4dC5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUQwOTNEMjI5MjE3OTU0MTYwMDMyOTIxNyAvKiBHUFVDYW52YXNDb250
ZXh0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdQVUNhbnZhc0NvbnRleHQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlEMDlBRkFGRjIyRDAyRTUzMDBDNDUzOEMgLyogV2ViR1BV
RGV2aWNlRXJyb3JTY29wZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViR1BVRGV2aWNlRXJyb3JTY29w
ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA5QUZCMDEyMkQwMkU1MzAwQzQ1
MzhDIC8qIFdlYkdQVURldmljZUVycm9yU2NvcGVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdl
YkdQVURldmljZUVycm9yU2NvcGVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
RDA5QUZCMDIyMkQwNDcxOTAwQzQ1MzhDIC8qIEdQVUVycm9yRmlsdGVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVUVycm9yRmlsdGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUQwOUFGQjAzMjJENDBDQzUwMEM0NTM4QyAvKiBXZWJHUFVEZXZpY2VFcnJv
clNjb3Blcy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlEMDlBRkIwNjIyRDQxN0IzMDBDNDUzOEMgLyogR1BVRXJyb3JG
aWx0ZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IEdQVUVycm9yRmlsdGVyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJRDA5QUZCMDcyMkQ1MzkxQjAwQzQ1MzhDIC8qIEdQVUVycm9yLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEdQVUVycm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwOUFGQjA4
MjJENTU0MjgwMEM0NTM4QyAvKiBHUFVFcnJvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHUFVF
cnJvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwOUFGQjBDMjJENTVFOTAw
MEM0NTM4QyAvKiBHUFVWYWxpZGF0aW9uRXJyb3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVVZhbGlkYXRpb25FcnJv
ci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwOUFGQjBEMjJENTVGM0IwMEM0
NTM4QyAvKiBHUFVWYWxpZGF0aW9uRXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVVmFsaWRhdGlv
bkVycm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwOUFGQjBFMjJENTVGRjUw
MEM0NTM4QyAvKiBHUFVWYWxpZGF0aW9uRXJyb3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR1BV
VmFsaWRhdGlvbkVycm9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA5QUZC
MTcyMkQ2Njk0RTAwQzQ1MzhDIC8qIEdQVU91dE9mTWVtb3J5RXJyb3IuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVU91
dE9mTWVtb3J5RXJyb3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDlBRkIx
OTIyRDY2OThBMDBDNDUzOEMgLyogR1BVT3V0T2ZNZW1vcnlFcnJvci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBHUFVPdXRPZk1lbW9yeUVycm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQw
OUFGQjJEMjJENkMwMTQwMEM0NTM4QyAvKiBHUFVFcnJvci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBHUFVFcnJvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwQTIwRDU0MjA5
MkEwQTYwMEUwQzI1OSAvKiBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVNUQy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVNUQy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMEEyMEQ1NjIwOTJBMEE2MDBFMEMyNTkgLyogV2Vi
R0xDb21wcmVzc2VkVGV4dHVyZUFTVEMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFTVEMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlEMEEzQTczMDE0MDVBMzk4MDBGQjhFRDMgLyogUmVzb3VyY2VMb2FkZXJP
cHRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc291cmNlTG9hZGVy
T3B0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTgzMjAsOSArMTgzMzMs
MTQgQEAKIAkJCQlEMDNDODQ5QTIxRkZDNjY3MDAwMjIyN0YgLyogR1BVRGVwdGhTdGVuY2lsU3Rh
dGVEZXNjcmlwdG9yLmggKi8sCiAJCQkJMzEyRkY4QkYyMUE0QzJGMTAwRUIxOTlEIC8qIEdQVURl
dmljZS5jcHAgKi8sCiAJCQkJMzEyRkY4QkUyMUE0QzJGMTAwRUIxOTlEIC8qIEdQVURldmljZS5o
ICovLAorCQkJCUQwOUFGQjA4MjJENTU0MjgwMEM0NTM4QyAvKiBHUFVFcnJvci5jcHAgKi8sCisJ
CQkJRDA5QUZCMkQyMkQ2QzAxNDAwQzQ1MzhDIC8qIEdQVUVycm9yLmNwcCAqLywKKwkJCQlEMDlB
RkIwNzIyRDUzOTFCMDBDNDUzOEMgLyogR1BVRXJyb3IuaCAqLywKKwkJCQlEMDlBRkIwMjIyRDA0
NzE5MDBDNDUzOEMgLyogR1BVRXJyb3JGaWx0ZXIuaCAqLywKIAkJCQlEMDI2RjQ3RDIyMEEyQUM2
MDBBQzVGNDkgLyogR1BVRXh0ZW50M0QuaCAqLywKIAkJCQlEMEY3NTU5RjIyMDNCQTE0MDAxMTgw
NTggLyogR1BVTGltaXRzLmggKi8sCiAJCQkJRDA4QUEwMkYyMjBEMEJENTAwNThDNTAyIC8qIEdQ
VUxvYWRPcC5oICovLAorCQkJCUQwOUFGQjE5MjJENjY5OEEwMEM0NTM4QyAvKiBHUFVPdXRPZk1l
bW9yeUVycm9yLmggKi8sCiAJCQkJMzEyRkY4QzQyMUE0QzJGNDAwRUIxOTlEIC8qIEdQVVBpcGVs
aW5lRGVzY3JpcHRvckJhc2UuaCAqLywKIAkJCQlEMDAzMjg4NzIxQzlBNEU1MDA2MjJBQTYgLyog
R1BVUGlwZWxpbmVMYXlvdXQuY3BwICovLAogCQkJCUQwMDMyODg2MjFDOUE0RTUwMDYyMkFBNiAv
KiBHUFVQaXBlbGluZUxheW91dC5oICovLApAQCAtMTgzNDgsNiArMTgzNjYsOCBAQAogCQkJCTMx
MkZGOEMzMjFBNEMyRjMwMEVCMTk5RCAvKiBHUFVUZXh0dXJlRm9ybWF0LmggKi8sCiAJCQkJRDAy
NkY0ODUyMjBBNDc3MjAwQUM1RjQ5IC8qIEdQVVRleHR1cmVVc2FnZS5oICovLAogCQkJCUQwNkVG
NTUyMjIwQkEyNkEwMDE4NzI0RSAvKiBHUFVVdGlscy5oICovLAorCQkJCUQwOUFGQjBFMjJENTVG
RjUwMEM0NTM4QyAvKiBHUFVWYWxpZGF0aW9uRXJyb3IuY3BwICovLAorCQkJCUQwOUFGQjBEMjJE
NTVGM0IwMEM0NTM4QyAvKiBHUFVWYWxpZGF0aW9uRXJyb3IuaCAqLywKIAkJCQlEMEQ4NjQ5QjIx
QkExQzJEMDAzQzk4M0MgLyogR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRvci5oICovLAogCQkJ
CUQwRDg2NDlDMjFCQTFDRTgwMDNDOTgzQyAvKiBHUFVWZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yLmgg
Ki8sCiAJCQkJRDBEODY0OTkyMUJBMUIxRjAwM0M5ODNDIC8qIEdQVVZlcnRleElucHV0RGVzY3Jp
cHRvci5oICovLApAQCAtMjU5MzcsMTAgKzI1OTU3LDEyIEBACiAJCQkJRDBCNTZFQUUyMjRFQ0Uy
MDAwNjEwNDlDIC8qIEdQVUNvbG9yV3JpdGVCaXRzLmlkbCAqLywKIAkJCQlEMDNDODQ5RTIxRkZD
RjAwMDAwMjIyN0YgLyogR1BVQ29tcGFyZUZ1bmN0aW9uLmlkbCAqLywKIAkJCQlEMDNDODRBMjIx
RkZENzIzMDAwMjIyN0YgLyogR1BVRGVwdGhTdGVuY2lsU3RhdGVEZXNjcmlwdG9yLmlkbCAqLywK
KwkJCQlEMDlBRkIwNjIyRDQxN0IzMDBDNDUzOEMgLyogR1BVRXJyb3JGaWx0ZXIuaWRsICovLAog
CQkJCUQwMjZGNDgwMjIwQTJCNzAwMEFDNUY0OSAvKiBHUFVFeHRlbnQzRC5pZGwgKi8sCiAJCQkJ
RDA4QUEwMkQyMjBEMEI5QzAwNThDNTAyIC8qIEdQVUxvYWRPcC5pZGwgKi8sCiAJCQkJRDBDQ0E5
NDkyMjI5OUY5NzAwNjk3OUI2IC8qIEdQVU9yaWdpbjNELmggKi8sCiAJCQkJRDBDQ0E5NEEyMjI5
OUY5NzAwNjk3OUI2IC8qIEdQVU9yaWdpbjNELmlkbCAqLywKKwkJCQlEMDlBRkIxNzIyRDY2OTRF
MDBDNDUzOEMgLyogR1BVT3V0T2ZNZW1vcnlFcnJvci5pZGwgKi8sCiAJCQkJRDAyQzI2OTIyMTgx
NDE2RDAwRDgxOEU0IC8qIEdQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5pZGwgKi8sCiAJCQkJRDBB
REIyNjMyMjMwOUQ3NjAwQTIyOTM1IC8qIEdQVVNhbXBsZXJEZXNjcmlwdG9yLmlkbCAqLywKIAkJ
CQlEMERFOEZCODIyMkUwOUUyMDA4ODI1NTAgLyogR1BVU2hhZGVyU3RhZ2VCaXQuaCAqLywKQEAg
LTI1OTQ5LDYgKzI1OTcxLDcgQEAKIAkJCQlEMDI2RjQ4QjIyMEE1QjBCMDBBQzVGNDkgLyogR1BV
VGV4dHVyZURlc2NyaXB0b3IuaWRsICovLAogCQkJCUQwRUFDRkFFMjE5RTMwRkQwMDBGQTc1QyAv
KiBHUFVUZXh0dXJlRm9ybWF0LmlkbCAqLywKIAkJCQlEMDI2RjQ4MzIyMEE0NzJGMDBBQzVGNDkg
LyogR1BVVGV4dHVyZVVzYWdlLmlkbCAqLywKKwkJCQlEMDlBRkIwQzIyRDU1RTkwMDBDNDUzOEMg
LyogR1BVVmFsaWRhdGlvbkVycm9yLmlkbCAqLywKIAkJCQlEMEQ4NjQ5NjIxQkExOEY0MDAzQzk4
M0MgLyogR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRvci5pZGwgKi8sCiAJCQkJRDBEODY0OTgy
MUJBMTlBNzAwM0M5ODNDIC8qIEdQVVZlcnRleEJ1ZmZlckRlc2NyaXB0b3IuaWRsICovLAogCQkJ
CUQwRDg2NDk0MjFCQTE3M0QwMDNDOTgzQyAvKiBHUFVWZXJ0ZXhJbnB1dERlc2NyaXB0b3IuaWRs
ICovLApAQCAtMjU5OTUsNiArMjYwMTgsOSBAQAogCQkJCUQwMEY1OTUzMjE3MDFEOEMwMDBENzFE
QiAvKiBXZWJHUFVEZXZpY2UuY3BwICovLAogCQkJCUQwMEY1OTUyMjE3MDFEOEMwMDBENzFEQiAv
KiBXZWJHUFVEZXZpY2UuaCAqLywKIAkJCQlEMDBGNTk1NDIxNzAxRDhDMDAwRDcxREIgLyogV2Vi
R1BVRGV2aWNlLmlkbCAqLywKKwkJCQlEMDlBRkIwMTIyRDAyRTUzMDBDNDUzOEMgLyogV2ViR1BV
RGV2aWNlRXJyb3JTY29wZXMuY3BwICovLAorCQkJCUQwOUFGQUZGMjJEMDJFNTMwMEM0NTM4QyAv
KiBXZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5oICovLAorCQkJCUQwOUFGQjAzMjJENDBDQzUwMEM0
NTM4QyAvKiBXZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5pZGwgKi8sCiAJCQkJRDBDNDE5RjAyMTgz
RUIzMTAwOUVDMURFIC8qIFdlYkdQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuaCAqLywKIAkJCQlE
MEM0MTlGMTIxODNFQjMxMDA5RUMxREUgLyogV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5p
ZGwgKi8sCiAJCQkJRDA1QTk5RTUyMUM5QkYyQzAwMDMyQjc1IC8qIFdlYkdQVVBpcGVsaW5lTGF5
b3V0LmNwcCAqLywKQEAgLTI4NDAwLDYgKzI4NDI2LDcgQEAKIAkJCQlBNUE3QUE0MzEzMkYwRUND
MDBEM0EzQzIgLyogQXV0b2NhcGl0YWxpemVUeXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0Mx
ODQzRkUxQzhCNzI4MzAwMkVCOTczIC8qIEF1dG9maWxsLmggaW4gSGVhZGVycyAqLywKIAkJCQk3
QzFFOTcyODFBOUY5ODM0MDA3QkYwRkIgLyogQXV0b0ZpbGxCdXR0b25FbGVtZW50LmggaW4gSGVh
ZGVycyAqLywKKwkJCQk1Q0NDMjcwOTIyRDU0ODNBMDA5NjRGQTAgLyogQXV0b2ZpbGxFbGVtZW50
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzlENDY3MDUxRTYwQzQ2NTAwODE5NUZCIC8qIEF1dG9w
bGF5RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ1ODMwRDRFMTY3OUI0RjgwMEFDRjhDMyAv
KiBBdXRvc2Nyb2xsQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThDRkYwNEUwQTE1
NEYwOTAwMEE0MjM0IC8qIEF1dG9UYWJsZUxheW91dC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDA0
NCw3ICszMDA3MSw2IEBACiAJCQkJN0M3NzYxQUExRjg3OEFBNTAwRjg2OUZEIC8qIEpTSW1hZ2VC
aXRtYXBSZW5kZXJpbmdDb250ZXh0U2V0dGluZ3MuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3Nzk3
OTI5MEQ2QjlFNjQwMDM4NTFCOSAvKiBKU0ltYWdlRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
N0MxOTNDMDExRjVFMTEwNTAwODhGM0U2IC8qIEpTSW1hZ2VTbW9vdGhpbmdRdWFsaXR5LmggaW4g
SGVhZGVycyAqLywKLQkJCQk1Q0NDMjcwOTIyRDU0ODNBMDA5NjRGQTAgLyogQXV0b2ZpbGxFbGVt
ZW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg2NjI5RDMwOURBMkI0ODAwOTYzM0E2IC8qIEpT
SW5wdXRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTE3NUNFNUUyMUUyODFFRDAwREYyQzI4
IC8qIEpTSW5zcGVjdG9yQXVkaXRBY2Nlc3NpYmlsaXR5T2JqZWN0LmggaW4gSGVhZGVycyAqLywK
IAkJCQk5MTc1Q0U1QzIxRTI4MUVEMDBERjJDMjggLyogSlNJbnNwZWN0b3JBdWRpdERPTU9iamVj
dC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9XZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJD
b3JlQnVpbHRpbk5hbWVzLmgKaW5kZXggZjViNTMyMmM3YjkwMzVmNzNhNDI4MTZhMjBjYmJhMTBl
N2ZkN2ZlNC4uNDZmNTNlMTJhMWYzOGU5MmM5MGFjNDg3Y2I5MjdiOTA3OTZkMzlkMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAt
OTQsNiArOTQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oR1BVQ29tcHV0ZVBh
c3NFbmNvZGVyKSBcCiAgICAgbWFjcm8oR1BVQ29tcHV0ZVBpcGVsaW5lKSBcCiAgICAgbWFjcm8o
R1BVRGV2aWNlKSBcCisgICAgbWFjcm8oR1BVT3V0T2ZNZW1vcnlFcnJvcikgXAogICAgIG1hY3Jv
KEdQVVBpcGVsaW5lTGF5b3V0KSBcCiAgICAgbWFjcm8oR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29k
ZXIpIFwKICAgICBtYWNybyhHUFVRdWV1ZSkgXApAQCAtMTA2LDYgKzEwNyw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBtYWNybyhHUFVUZXh0dXJlKSBcCiAgICAgbWFjcm8oR1BVVGV4dHVy
ZVVzYWdlKSBcCiAgICAgbWFjcm8oR1BVVGV4dHVyZVZpZXcpIFwKKyAgICBtYWNybyhHUFVWYWxp
ZGF0aW9uRXJyb3IpIFwKICAgICBtYWNybyhIVE1MQXR0YWNobWVudEVsZW1lbnQpIFwKICAgICBt
YWNybyhIVE1MQXVkaW9FbGVtZW50KSBcCiAgICAgbWFjcm8oSFRNTERhdGFMaXN0RWxlbWVudCkg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUJ1
ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUJ1ZmZlci5o
CmluZGV4IDQyNTA4YmM3NjE3MDViZjFhMGU2NjExNzkxZjVlYTY3MDk3YjU1MDUuLjhkYTA0MzIz
NjlhNzE0NzU0OWVkODVjNTNiZjczNDM0MTQ2YWU4ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQnVmZmVyLmgKQEAgLTEwOCw3ICsxMDgsNyBAQCBw
cml2YXRlOgogICAgIH07CiAKICAgICBHUFVCdWZmZXIoUGxhdGZvcm1CdWZmZXJTbWFydFB0ciYm
LCBSZWY8R1BVRGV2aWNlPiYmLCBzaXplX3QsIE9wdGlvblNldDxHUFVCdWZmZXJVc2FnZTo6Rmxh
Z3M+LCBib29sKTsKLSAgICBzdGF0aWMgYm9vbCB2YWxpZGF0ZUJ1ZmZlclVzYWdlKGNvbnN0IEdQ
VURldmljZSYsIE9wdGlvblNldDxHUFVCdWZmZXJVc2FnZTo6RmxhZ3M+KTsKKyAgICBzdGF0aWMg
Ym9vbCB2YWxpZGF0ZUJ1ZmZlclVzYWdlKEdQVURldmljZSYsIE9wdGlvblNldDxHUFVCdWZmZXJV
c2FnZTo6RmxhZ3M+KTsKIAogICAgIEpTQzo6QXJyYXlCdWZmZXIqIHN0YWdpbmdCdWZmZXJGb3JS
ZWFkKCk7CiAgICAgSlNDOjpBcnJheUJ1ZmZlciogc3RhZ2luZ0J1ZmZlckZvcldyaXRlKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3Bw
CmluZGV4IGE2NDlhNjA3MTkxOWI2ZDVjMjQxYTcyZjI2ODgyNWEwZTY1MWU3YWQuLmQ2M2Y1NmNh
YmEyMzE5NDIzZjc2ODM5YWY0ZWJiYTU5NmQzNzQ3MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwCkBAIC00Niw2ICs0Niw3IEBA
CiAjaW5jbHVkZSAiR1BVU3dhcENoYWluRGVzY3JpcHRvci5oIgogI2luY2x1ZGUgIkdQVVRleHR1
cmUuaCIKICNpbmNsdWRlICJHUFVUZXh0dXJlRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgPGFsZ29y
aXRobT4KICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtMTA4LDYgKzEwOSw0MCBAQCB2b2lkIEdQVURldmljZTo6c2V0U3dhcENoYWluKFJlZlB0cjxH
UFVTd2FwQ2hhaW4+JiYgc3dhcENoYWluKQogICAgIG1fc3dhcENoYWluID0gV1RGTW92ZShzd2Fw
Q2hhaW4pOwogfQogCit2b2lkIEdQVURldmljZTo6cHVzaEVycm9yU2NvcGUoR1BVRXJyb3JGaWx0
ZXIgZmlsdGVyKQoreworICAgIG1fZXJyb3JTY29wZXMuYXBwZW5kKEVycm9yU2NvcGUgeyBmaWx0
ZXIsIFdURjo6bnVsbG9wdCB9KTsKK30KKwordm9pZCBHUFVEZXZpY2U6OnBvcEVycm9yU2NvcGUo
RXJyb3JDYWxsYmFjayYmIGNhbGxiYWNrKQoreworICAgIGlmICghbV9wbGF0Zm9ybURldmljZSkK
KyAgICAgICAgY2FsbGJhY2soV1RGOjpudWxsb3B0LCAiR1BVRGV2aWNlOjpwb3BFcnJvclNjb3Bl
KCk6IEludmFsaWQgR1BVRGV2aWNlISIpOworICAgIGVsc2UgaWYgKG1fZXJyb3JTY29wZXMuaXNF
bXB0eSgpKQorICAgICAgICBjYWxsYmFjayhXVEY6Om51bGxvcHQsICJHUFVEZXZpY2U6OnBvcEVy
cm9yU2NvcGUoKTogTm8gZXJyb3Igc2NvcGUgZXhpc3RzISIpOworICAgIGVsc2UgeworICAgICAg
ICBhdXRvIHNjb3BlID0gbV9lcnJvclNjb3Blcy50YWtlTGFzdCgpOworICAgICAgICBjYWxsYmFj
ayhzY29wZS5maWx0ZXIgPT0gR1BVRXJyb3JGaWx0ZXI6Ok5vbmUgPyBXVEY6Om51bGxvcHQgOiBX
VEZNb3ZlKHNjb3BlLmVycm9yKSwgeyB9KTsKKyAgICB9Cit9CisKK3ZvaWQgR1BVRGV2aWNlOjpy
ZWdpc3RlckVycm9yKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgR1BVRXJyb3JGaWx0ZXIgZmlsdGVy
KQoreworICAgIGF1dG8gaXRlcmF0b3IgPSBzdGQ6OmZpbmRfaWYobV9lcnJvclNjb3Blcy5yYmVn
aW4oKSwgbV9lcnJvclNjb3Blcy5yZW5kKCksIFtmaWx0ZXJdKGNvbnN0IEVycm9yU2NvcGUmIHNj
b3BlKSB7CisgICAgICAgIHJldHVybiBzY29wZS5maWx0ZXIgPT0gR1BVRXJyb3JGaWx0ZXI6Ok5v
bmUgfHwgc2NvcGUuZmlsdGVyID09IGZpbHRlcjsKKyAgICB9KTsKKworICAgIC8vIEZJWE1FOiBo
dHRwczovL3dlYmtpdC5vcmcvYi8xOTk2NzYgVW5jYXB0dXJlZCBlcnJvcnMgbmVlZCB0byBiZSBm
aXJlZCBhcyBHUFVVbmNhcHR1cmVkRXJyb3JFdmVudHMuCisgICAgaWYgKGl0ZXJhdG9yID09IG1f
ZXJyb3JTY29wZXMucmVuZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBJZiB0aGUgc2Nv
cGUgaGFzIGFscmVhZHkgY2FwdHVyZWQgYW4gZXJyb3IsIGlnbm9yZSB0aGlzIG5ldyBvbmUuCisg
ICAgaWYgKGl0ZXJhdG9yLT5lcnJvcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaXRlcmF0b3It
PmVycm9yID0gY3JlYXRlRXJyb3IoZmlsdGVyLCBtZXNzYWdlKTsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQkdQVSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaAppbmRleCBhNzEzOTU0MWQwYmZk
MTRkYjI4ZmE5NTlmZmIwMTk0MzBmODAzYmJlLi45MGI0NjFhMTc0NjAyZDU4NTczMDM3ZDVjYTU5
M2MwZjUxYjZhNmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVRGV2aWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVURldmljZS5oCkBAIC0yNywxMSArMjcsMTcgQEAKIAogI2lmIEVOQUJMRShXRUJHUFUp
CiAKKyNpbmNsdWRlICJHUFVFcnJvci5oIgorI2luY2x1ZGUgIkdQVUVycm9yRmlsdGVyLmgiCiAj
aW5jbHVkZSAiR1BVUXVldWUuaCIKICNpbmNsdWRlICJHUFVTd2FwQ2hhaW4uaCIKKyNpbmNsdWRl
IDx3dGYvRnVuY3Rpb24uaD4KKyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KICNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KIAogT0JKQ19QUk9UT0NPTChNVExEZXZpY2UpOwogCkBAIC01Nyw3ICs2
Myw3IEBAIHN0cnVjdCBHUFVTYW1wbGVyRGVzY3JpcHRvcjsKIHN0cnVjdCBHUFVTaGFkZXJNb2R1
bGVEZXNjcmlwdG9yOwogc3RydWN0IEdQVVN3YXBDaGFpbkRlc2NyaXB0b3I7CiBzdHJ1Y3QgR1BV
VGV4dHVyZURlc2NyaXB0b3I7Ci0gICAgCisKIHVzaW5nIFBsYXRmb3JtRGV2aWNlID0gTVRMRGV2
aWNlOwogdXNpbmcgUGxhdGZvcm1EZXZpY2VTbWFydFB0ciA9IFJldGFpblB0cjxNVExEZXZpY2U+
OwogCkBAIC04NCwxMiArOTAsMjUgQEAgcHVibGljOgogICAgIEdQVVN3YXBDaGFpbiogc3dhcENo
YWluKCkgY29uc3QgeyByZXR1cm4gbV9zd2FwQ2hhaW4uZ2V0KCk7IH0KICAgICB2b2lkIHNldFN3
YXBDaGFpbihSZWZQdHI8R1BVU3dhcENoYWluPiYmKTsKIAorICAgIHZvaWQgcHVzaEVycm9yU2Nv
cGUoR1BVRXJyb3JGaWx0ZXIpOworCisgICAgdXNpbmcgRXJyb3JDYWxsYmFjayA9IFdURjo6RnVu
Y3Rpb248dm9pZChPcHRpb25hbDxHUFVFcnJvcj4mJiwgY29uc3QgU3RyaW5nJik+OworICAgIHZv
aWQgcG9wRXJyb3JTY29wZShFcnJvckNhbGxiYWNrJiYpOworICAgIHZvaWQgcmVnaXN0ZXJFcnJv
cihjb25zdCBTdHJpbmcmLCBHUFVFcnJvckZpbHRlciA9IEdQVUVycm9yRmlsdGVyOjpWYWxpZGF0
aW9uKTsKKwogcHJpdmF0ZToKKyAgICBzdHJ1Y3QgRXJyb3JTY29wZSB7CisgICAgICAgIGNvbnN0
IEdQVUVycm9yRmlsdGVyIGZpbHRlcjsKKyAgICAgICAgT3B0aW9uYWw8R1BVRXJyb3I+IGVycm9y
OworICAgIH07CisKICAgICBleHBsaWNpdCBHUFVEZXZpY2UoUGxhdGZvcm1EZXZpY2VTbWFydFB0
ciYmKTsKIAogICAgIFBsYXRmb3JtRGV2aWNlU21hcnRQdHIgbV9wbGF0Zm9ybURldmljZTsKICAg
ICBtdXRhYmxlIFJlZlB0cjxHUFVRdWV1ZT4gbV9xdWV1ZTsKICAgICBSZWZQdHI8R1BVU3dhcENo
YWluPiBtX3N3YXBDaGFpbjsKKworICAgIFZlY3RvcjxFcnJvclNjb3BlPiBtX2Vycm9yU2NvcGVz
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTg2NGEzZDYzYTk0
NGYzM2ZjNDNiMzIzZjU4MmQ4NDhjYzI5YmE4NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvci5jcHAKQEAgLTAsMCArMSw1MCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJHUFVFcnJvci5o
IgorCisjaWYgRU5BQkxFKFdFQkdQVSkKKworI2luY2x1ZGUgIkdQVUVycm9yRmlsdGVyLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworT3B0aW9uYWw8R1BVRXJyb3I+IGNyZWF0ZUVycm9yKEdQ
VUVycm9yRmlsdGVyIGZpbHRlciwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQoreworICAgIHN3aXRj
aCAoZmlsdGVyKSB7CisgICAgY2FzZSBHUFVFcnJvckZpbHRlcjo6T3V0T2ZNZW1vcnk6CisgICAg
ICAgIHJldHVybiBHUFVFcnJvcihSZWZQdHI8R1BVT3V0T2ZNZW1vcnlFcnJvcj4oR1BVT3V0T2ZN
ZW1vcnlFcnJvcjo6Y3JlYXRlKCkpKTsKKyAgICBjYXNlIEdQVUVycm9yRmlsdGVyOjpWYWxpZGF0
aW9uOgorICAgICAgICByZXR1cm4gR1BVRXJyb3IoUmVmUHRyPEdQVVZhbGlkYXRpb25FcnJvcj4o
R1BVVmFsaWRhdGlvbkVycm9yOjpjcmVhdGUobWVzc2FnZSkpKTsKKyAgICBkZWZhdWx0OgorICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsK
KyAgICB9Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShX
RUJHUFUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
R1BVRXJyb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJv
ci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmU2N2MzNWFkYzg5MGQzNzJmY2M5NzNjOGZkZGYyYjdiNmY1OTM2YmMK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
R1BVRXJyb3IuaApAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBFTkFCTEUoV0VCR1BVKQorCisjaW5jbHVkZSAiR1BVT3V0T2ZNZW1vcnlFcnJvci5oIgor
I2luY2x1ZGUgIkdQVVZhbGlkYXRpb25FcnJvci5oIgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5o
PgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgorI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Vu
dW0gY2xhc3MgR1BVRXJyb3JGaWx0ZXI7CisKK3VzaW5nIEdQVUVycm9yID0gVmFyaWFudDxSZWZQ
dHI8R1BVT3V0T2ZNZW1vcnlFcnJvcj4sIFJlZlB0cjxHUFVWYWxpZGF0aW9uRXJyb3I+PjsKKwor
T3B0aW9uYWw8R1BVRXJyb3I+IGNyZWF0ZUVycm9yKEdQVUVycm9yRmlsdGVyLCBjb25zdCBTdHJp
bmcmKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvckZpbHRlci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9yRmlsdGVyLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZDU2OWZlZjMyNzA1ZDk5YmZlY2VhMDA4OTFmZjE2NDRhMGE0ZDE3MgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvckZp
bHRlci5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lm
IEVOQUJMRShXRUJHUFUpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICAKK2VudW0gY2xhc3Mg
R1BVRXJyb3JGaWx0ZXIgeworICAgIE5vbmUsCisgICAgT3V0T2ZNZW1vcnksCisgICAgVmFsaWRh
dGlvbiwKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShX
RUJHUFUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
R1BVT3V0T2ZNZW1vcnlFcnJvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVU91dE9mTWVtb3J5RXJyb3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZjQyMGU5N2RmZTNiZjA3NTY2
YzViNmEwZmRlYzQ2Njg5NjE3OTQzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVU91dE9mTWVtb3J5RXJyb3IuaApAQCAtMCwwICsxLDQy
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCR1BVKQorCisj
aW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgR1BVT3V0T2ZNZW1vcnlFcnJvciA6IHB1YmxpYyBSZWZD
b3VudGVkPEdQVU91dE9mTWVtb3J5RXJyb3I+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPEdQ
VU91dE9mTWVtb3J5RXJyb3I+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgR1BVT3V0
T2ZNZW1vcnlFcnJvcik7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRShXRUJHUFUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvR1BVVmFsaWRhdGlvbkVycm9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9HUFVWYWxpZGF0aW9uRXJyb3IuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5N2U1
NDU0NjEzODZjZmZjZDQxMDg3N2RjMzYxNGY2ZGYxODI4NzkKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVmFsaWRhdGlvbkVycm9yLmNw
cApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkdQVVZhbGlkYXRpb25FcnJvci5oIgorCisjaWYgRU5BQkxFKFdFQkdQVSkKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitSZWY8R1BVVmFsaWRhdGlvbkVycm9yPiBHUFVWYWxpZGF0aW9u
RXJyb3I6OmNyZWF0ZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCit7CisgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgR1BVVmFsaWRhdGlvbkVycm9yKG1lc3NhZ2UpKTsKK30KKworR1BVVmFsaWRhdGlv
bkVycm9yOjpHUFVWYWxpZGF0aW9uRXJyb3IoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQorICAgIDog
bV9tZXNzYWdlKG1lc3NhZ2UpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShXRUJHUFUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVVmFsaWRhdGlvbkVycm9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvR1BVVmFsaWRhdGlvbkVycm9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzIyNWFj
MjA3ZmNhM2JlZGJlNjExNTVhNzU5N2FkYTU1NjczODVlMAotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVWYWxpZGF0aW9uRXJyb3IuaApA
QCAtMCwwICsxLDUwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUo
V0VCR1BVKQorCisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgR1BVVmFsaWRhdGlvbkVycm9yIDogcHVibGljIFJlZkNvdW50ZWQ8R1BVVmFs
aWRhdGlvbkVycm9yPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxHUFVWYWxpZGF0aW9uRXJy
b3I+IGNyZWF0ZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpOworCisgICAgU3RyaW5nIG1lc3NhZ2Uo
KSBjb25zdCB7IHJldHVybiBtX21lc3NhZ2U7IH0KKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBH
UFVWYWxpZGF0aW9uRXJyb3IoY29uc3QgU3RyaW5nJiBtZXNzYWdlKTsKKworICAgIFN0cmluZyBt
X21lc3NhZ2U7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L2NvY29hL0dQVUJ1ZmZlck1ldGFsLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L2NvY29hL0dQVUJ1ZmZlck1ldGFsLm1tCmluZGV4IDU5YTA3ZmY5Y2ViN2Q4ZWE1
MmQzY2I2Y2QxYWMzYzdkZjVmYzJhMDUuLjAyNDYwMzEwY2ZjZWIwYjJmMTAyOWQ2Y2YxNDVhMDlm
OTA0NmM4NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9jb2NvYS9HUFVCdWZmZXJNZXRhbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvY29jb2EvR1BVQnVmZmVyTWV0YWwubW0KQEAgLTQyLDcgKzQyLDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0ZXhwciBhdXRvIHJlYWRPbmx5RmxhZ3MgPSBP
cHRpb25TZXQ8R1BVQnVmZmVyVXNhZ2U6OkZsYWdzPiB7IEdQVUJ1ZmZlclVzYWdlOjpGbGFnczo6
SW5kZXgsIEdQVUJ1ZmZlclVzYWdlOjpGbGFnczo6VmVydGV4LCBHUFVCdWZmZXJVc2FnZTo6Rmxh
Z3M6OlVuaWZvcm0sIEdQVUJ1ZmZlclVzYWdlOjpGbGFnczo6VHJhbnNmZXJTb3VyY2UgfTsKIAog
Ci1ib29sIEdQVUJ1ZmZlcjo6dmFsaWRhdGVCdWZmZXJVc2FnZShjb25zdCBHUFVEZXZpY2UmIGRl
dmljZSwgT3B0aW9uU2V0PEdQVUJ1ZmZlclVzYWdlOjpGbGFncz4gdXNhZ2UpCitib29sIEdQVUJ1
ZmZlcjo6dmFsaWRhdGVCdWZmZXJVc2FnZShHUFVEZXZpY2UmIGRldmljZSwgT3B0aW9uU2V0PEdQ
VUJ1ZmZlclVzYWdlOjpGbGFncz4gdXNhZ2UpCiB7CiAgICAgaWYgKCFkZXZpY2UucGxhdGZvcm1E
ZXZpY2UoKSkgewogICAgICAgICBMT0coV2ViR1BVLCAiR1BVQnVmZmVyOjp0cnlDcmVhdGUoKTog
SW52YWxpZCBHUFVEZXZpY2UhIik7CkBAIC01MCw3ICs1MCw3IEBAIGJvb2wgR1BVQnVmZmVyOjp2
YWxpZGF0ZUJ1ZmZlclVzYWdlKGNvbnN0IEdQVURldmljZSYgZGV2aWNlLCBPcHRpb25TZXQ8R1BV
QnVmZmVyCiAgICAgfQogCiAgICAgaWYgKHVzYWdlLmNvbnRhaW5zQWxsKHsgR1BVQnVmZmVyVXNh
Z2U6OkZsYWdzOjpNYXBXcml0ZSwgR1BVQnVmZmVyVXNhZ2U6OkZsYWdzOjpNYXBSZWFkIH0pKSB7
Ci0gICAgICAgIExPRyhXZWJHUFUsICJHUFVCdWZmZXI6OnRyeUNyZWF0ZSgpOiBCdWZmZXIgY2Fu
bm90IGhhdmUgYm90aCBNQVBfUkVBRCBhbmQgTUFQX1dSSVRFIHVzYWdlISIpOworICAgICAgICBk
ZXZpY2UucmVnaXN0ZXJFcnJvcigiR1BVQnVmZmVyOjp0cnlDcmVhdGUoKTogQnVmZmVyIGNhbm5v
dCBoYXZlIGJvdGggTUFQX1JFQUQgYW5kIE1BUF9XUklURSB1c2FnZSEiKTsKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIH0KIApAQCAtNjcsNyArNjcsNyBAQCBSZWZQdHI8R1BVQnVmZmVyPiBH
UFVCdWZmZXI6OnRyeUNyZWF0ZShSZWY8R1BVRGV2aWNlPiYmIGRldmljZSwgY29uc3QgR1BVQnVm
ZmVyRAogICAgIC8vIE1UTEJ1ZmZlciBzaXplIChOU1VJbnRlZ2VyKSBpcyAzMiBiaXRzIG9uIHNv
bWUgcGxhdGZvcm1zLgogICAgIE5TVUludGVnZXIgc2l6ZSA9IDA7CiAgICAgaWYgKCFXVEY6OmNv
bnZlcnRTYWZlbHkoZGVzY3JpcHRvci5zaXplLCBzaXplKSkgewotICAgICAgICBMT0coV2ViR1BV
LCAiR1BVQnVmZmVyOjp0cnlDcmVhdGUoKTogQnVmZmVyIHNpemUgaXMgdG9vIGxhcmdlISIpOwor
ICAgICAgICBkZXZpY2UtPnJlZ2lzdGVyRXJyb3IoIiIsIEdQVUVycm9yRmlsdGVyOjpPdXRPZk1l
bW9yeSk7CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIApAQCAtMTAyLDcgKzEwMiw3
IEBAIFJlZlB0cjxHUFVCdWZmZXI+IEdQVUJ1ZmZlcjo6dHJ5Q3JlYXRlKFJlZjxHUFVEZXZpY2U+
JiYgZGV2aWNlLCBjb25zdCBHUFVCdWZmZXJECiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9O
UzsKIAogICAgIGlmICghbXRsQnVmZmVyKSB7Ci0gICAgICAgIExPRyhXZWJHUFUsICJHUFVCdWZm
ZXI6OnRyeUNyZWF0ZSgpOiBVbmFibGUgdG8gY3JlYXRlIE1UTEJ1ZmZlciEiKTsKKyAgICAgICAg
ZGV2aWNlLT5yZWdpc3RlckVycm9yKCIiLCBHUFVFcnJvckZpbHRlcjo6T3V0T2ZNZW1vcnkpOwog
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3MDgyOTQ5ODI4NDAwYzFj
MzdjZjZhOWE4NDc3ODA3ZmFjZTYwNTJiLi5lMDJhOGY5MTdkZWQ0MjAzN2EzYWM4NzU1YzVhMTRl
ZmNhZDliYjc2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTktMDctMTAgIEp1c3RpbiBGYW4g
IDxqdXN0aW5fZmFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR1BVXSBJbXBsZW1lbnQgR1BV
RXJyb3IgYW5kIGVycm9yIHNjb3BlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTk5NjU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTXlsZXMgQy4gTWF4
ZmllbGQuCisKKyAgICAgICAgQWRkIGEgdGVzdCB0byBjb3ZlciB0aGUgY2FzZXMgb3V0bGluZWQg
aW4gdGhlIFdlYkdQVSBlcnJvciBoYW5kbGluZyBkZXNpZ24gZG9jLgorCisgICAgICAgICogd2Vi
Z3B1L2Vycm9yLXNjb3Blcy10ZXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
Z3B1L2Vycm9yLXNjb3Blcy10ZXN0Lmh0bWw6IEFkZGVkLgorCiAyMDE5LTA3LTEwICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IFZvaWNlT3ZlciBp
Z25vcmVkIHJvbGU9InByZXNlbnRhdGlvbiIgb24gPHRhYmxlPiBIVE1MIGVsZW1lbnRzCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJncHUvZXJyb3Itc2NvcGVzLXRlc3QtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvd2ViZ3B1L2Vycm9yLXNjb3Blcy10ZXN0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40ZWJhNjdmODc2MWYyMGE5ODg5NTBjYTI0M2NjMGY1ZmYyNmE1OWE1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L2Vycm9yLXNjb3Blcy10ZXN0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEwIEBACisKK1BBU1MgQ2FwdHVyZSBhIHNpbmdsZSBHUFVWYWxpZGF0
aW9uIGVycm9yLiAKK1BBU1MgQ2FwdHVyZSBhIHNpbmdsZSBHUFVPdXRPZk1lbW9yeSBlcnJvci4g
CitQQVNTIElnbm9yZSBlcnJvcnMgcGFzdCB0aGUgZmlyc3QuIAorUEFTUyBDYXB0dXJlZCBlcnJv
cnMgbWF0Y2ggZXJyb3Igc2NvcGUgZmlsdGVyLiAKK1BBU1MgUmVqZWN0IHBvcEVycm9yU2NvcGUg
aWYgbm8gc2NvcGUgZXhpc3RzLiAKK1BBU1MgRmlsdGVyICdub25lJyBzaG91bGQgY2FwdHVyZSBi
dXQgbm90IHJlcG9ydCBlcnJvcnMuIAorUEFTUyBQdXNoIGFuZCBwb3AgbWFueSBlcnJvciBzY29w
ZXMgd2l0aCBubyByZWplY3Rpb25zLiAKK1BBU1MgQ2F0Y2ggbWFueSBlcnJvcnMgaW4gbmVzdGVk
IHNjb3Blcy4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdwdS9lcnJvci1zY29wZXMt
dGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L2Vycm9yLXNjb3Blcy10ZXN0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNWNmY2NhMWI1ZTE0MWFkNDc1OWJmMmRhZWEyZWQyNTk0NDY0NzUxNQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdwdS9lcnJvci1zY29wZXMtdGVzdC5odG1sCkBA
IC0wLDAgKzEsMTIyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8
dGl0bGU+VGVzdCBFcnJvciBTY29wZXMuPC90aXRsZT4KKzxib2R5PgorPHNjcmlwdCBzcmM9Impz
L3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitsZXQgdGVzdHMgPSB7fTsK
KwordGVzdHNbIkNhcHR1cmUgYSBzaW5nbGUgR1BVVmFsaWRhdGlvbiBlcnJvci4iXSA9IGFzeW5j
IGRldmljZSA9PiB7CisgICAgZGV2aWNlLnB1c2hFcnJvclNjb3BlKCJ2YWxpZGF0aW9uIik7Cisg
ICAgY2F1c2VWYWxpZGF0aW9uRXJyb3IoZGV2aWNlKTsKKyAgICByZXR1cm4gcG9wVmFsaWRhdGlv
bkVycm9yKGRldmljZSk7Cit9OworCit0ZXN0c1siQ2FwdHVyZSBhIHNpbmdsZSBHUFVPdXRPZk1l
bW9yeSBlcnJvci4iXSA9IGFzeW5jIGRldmljZSA9PiB7CisgICAgZGV2aWNlLnB1c2hFcnJvclNj
b3BlKCJvdXQtb2YtbWVtb3J5Iik7CisgICAgY2F1c2VNZW1vcnlFcnJvcihkZXZpY2UpOworICAg
IHJldHVybiBwb3BNZW1vcnlFcnJvcihkZXZpY2UpOworfTsKKwordGVzdHNbIklnbm9yZSBlcnJv
cnMgcGFzdCB0aGUgZmlyc3QuIl0gPSBhc3luYyBkZXZpY2UgPT4geworICAgIGRldmljZS5wdXNo
RXJyb3JTY29wZSgidmFsaWRhdGlvbiIpOworICAgIGRldmljZS5wdXNoRXJyb3JTY29wZSgidmFs
aWRhdGlvbiIpOworICAgIGNhdXNlVmFsaWRhdGlvbkVycm9yKGRldmljZSk7CisgICAgY2F1c2VW
YWxpZGF0aW9uRXJyb3IoZGV2aWNlKTsKKyAgICAKKyAgICBjb25zdCBlcnJvciA9IGF3YWl0IGRl
dmljZS5wb3BFcnJvclNjb3BlKCk7CisgICAgYXNzZXJ0VmFsaWRhdGlvbkVycm9yKGVycm9yKTsK
KworICAgIHJldHVybiBwb3BOdWxsRXJyb3IoZGV2aWNlKTsKK307CisKK3Rlc3RzWyJDYXB0dXJl
ZCBlcnJvcnMgbWF0Y2ggZXJyb3Igc2NvcGUgZmlsdGVyLiJdID0gYXN5bmMgZGV2aWNlID0+IHsK
KyAgICBkZXZpY2UucHVzaEVycm9yU2NvcGUoInZhbGlkYXRpb24iKTsKKyAgICBkZXZpY2UucHVz
aEVycm9yU2NvcGUoIm91dC1vZi1tZW1vcnkiKTsKKyAgICBjYXVzZVZhbGlkYXRpb25FcnJvcihk
ZXZpY2UpOworCisgICAgY29uc3Qgc2hvdWxkQmVOdWxsID0gYXdhaXQgZGV2aWNlLnBvcEVycm9y
U2NvcGUoKTsKKyAgICBhc3NlcnROdWxsKHNob3VsZEJlTnVsbCk7CisKKyAgICByZXR1cm4gcG9w
VmFsaWRhdGlvbkVycm9yKGRldmljZSk7Cit9OworCit0ZXN0c1siUmVqZWN0IHBvcEVycm9yU2Nv
cGUgaWYgbm8gc2NvcGUgZXhpc3RzLiJdID0gYXN5bmMgZGV2aWNlID0+IHsKKyAgICBjb25zdCBw
cm9taXNlID0gZGV2aWNlLnBvcEVycm9yU2NvcGUoKS50aGVuKCgpID0+IGFzc2VydF91bnJlYWNo
ZWQoKSwgYXN5bmMgZSA9PiB7CisgICAgICAgIGFzc2VydF9mYWxzZShlID09PSB1bmRlZmluZWQp
OworICAgICAgICAvLyBQb3AgdGhlIGV4dHJhICdub25lJyBzY29wZS4KKyAgICAgICAgYXdhaXQg
cG9wTnVsbEVycm9yKGRldmljZSk7CisgICAgfSk7CisgICAgLy8gJ3Byb21pc2UnIHNob3VsZCBz
dGlsbCByZWplY3QgaWYgYSBzY29wZSBpcyBwdXNoZWQgaGVyZS4KKyAgICBkZXZpY2UucHVzaEVy
cm9yU2NvcGUoIm5vbmUiKTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK307CisKK3Rlc3RzWyJGaWx0
ZXIgJ25vbmUnIHNob3VsZCBjYXB0dXJlIGJ1dCBub3QgcmVwb3J0IGVycm9ycy4iXSA9IGFzeW5j
IGRldmljZSA9PiB7CisgICAgZGV2aWNlLnB1c2hFcnJvclNjb3BlKCJvdXQtb2YtbWVtb3J5Iik7
CisgICAgZGV2aWNlLnB1c2hFcnJvclNjb3BlKCJub25lIik7CisgICAgY2F1c2VNZW1vcnlFcnJv
cihkZXZpY2UpOworCisgICAgY29uc3Qgc2hvdWxkQmVOdWxsID0gYXdhaXQgZGV2aWNlLnBvcEVy
cm9yU2NvcGUoKTsKKyAgICBhc3NlcnROdWxsKHNob3VsZEJlTnVsbCk7CisKKyAgICByZXR1cm4g
cG9wTnVsbEVycm9yKGRldmljZSk7Cit9OworCit0ZXN0c1siUHVzaCBhbmQgcG9wIG1hbnkgZXJy
b3Igc2NvcGVzIHdpdGggbm8gcmVqZWN0aW9ucy4iXSA9IGFzeW5jIGRldmljZSA9PiB7CisgICAg
Y29uc3QgbnVtSXRlcmF0aW9ucyA9IDEyODsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IG51bUl0
ZXJhdGlvbnM7ICsraSkKKyAgICAgICAgZGV2aWNlLnB1c2hFcnJvclNjb3BlKCJvdXQtb2YtbWVt
b3J5Iik7CisgICAgCisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBudW1JdGVyYXRpb25zIC0gMTsg
KytpKQorICAgICAgICBhd2FpdCBwb3BOdWxsRXJyb3IoZGV2aWNlKTsKKworICAgIHJldHVybiBw
b3BOdWxsRXJyb3IoZGV2aWNlKTsKK307CisKK3Rlc3RzWyJDYXRjaCBtYW55IGVycm9ycyBpbiBu
ZXN0ZWQgc2NvcGVzLiJdID0gYXN5bmMgZGV2aWNlID0+IHsKKyAgICBjb25zdCBudW1JdGVyYXRp
b25zID0gMTI4OworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbnVtSXRlcmF0aW9uczsgKytpKSB7
CisgICAgICAgIGRldmljZS5wdXNoRXJyb3JTY29wZSgidmFsaWRhdGlvbiIpOworICAgICAgICBj
YXVzZVZhbGlkYXRpb25FcnJvcihkZXZpY2UpOworICAgIH0KKworICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgbnVtSXRlcmF0aW9ucyAtIDE7ICsraSkKKyAgICAgICAgYXdhaXQgcG9wVmFsaWRhdGlv
bkVycm9yKGRldmljZSk7CisKKyAgICByZXR1cm4gcG9wVmFsaWRhdGlvbkVycm9yKGRldmljZSk7
Cit9OworCitjb25zdCBpbml0ID0gYXN5bmMgKCkgPT4geworICAgIHRyeSB7CisgICAgICAgIHZh
ciBkZXZpY2UgPSBhd2FpdCBnZXRCYXNpY0RldmljZSgpOworICAgIH0gY2F0Y2ggKGUpIHsgLyog
V2ViR1BVIGlzIG5vdCBzdXBwb3J0ZWQuICovIH0KKworICAgIGZvciAobGV0IG5hbWUgaW4gdGVz
dHMpCisgICAgICAgIGRldmljZVByb21pc2VUZXN0KGRldmljZSwgbmFtZSk7Cit9OworCit3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGluaXQpOworCisvKiBIZWxwZXIgRnVuY3Rpb25z
ICovCisKK2NvbnN0IGNhdXNlVmFsaWRhdGlvbkVycm9yID0gZGV2aWNlID0+IGRldmljZS5jcmVh
dGVCdWZmZXIoeyBzaXplOiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuTUFQX1JFQUQgfCBHUFVC
dWZmZXJVc2FnZS5NQVBfV1JJVEUgfSk7Citjb25zdCBjYXVzZU1lbW9yeUVycm9yID0gZGV2aWNl
ID0+IGRldmljZS5jcmVhdGVCdWZmZXIoeyBzaXplOiA5OTk5OTk5OTk5OSwgdXNhZ2U6IEdQVUJ1
ZmZlclVzYWdlLk5PTkUgfSk7Citjb25zdCBwb3BWYWxpZGF0aW9uRXJyb3IgPSBkZXZpY2UgPT4g
ZGV2aWNlLnBvcEVycm9yU2NvcGUoKS50aGVuKGVycm9yID0+IGFzc2VydFZhbGlkYXRpb25FcnJv
cihlcnJvcikpOworY29uc3QgcG9wTWVtb3J5RXJyb3IgPSBkZXZpY2UgPT4gZGV2aWNlLnBvcEVy
cm9yU2NvcGUoKS50aGVuKGVycm9yID0+IGFzc2VydE1lbW9yeUVycm9yKGVycm9yKSk7Citjb25z
dCBwb3BOdWxsRXJyb3IgPSBkZXZpY2UgPT4gZGV2aWNlLnBvcEVycm9yU2NvcGUoKS50aGVuKGVy
cm9yID0+IGFzc2VydE51bGwoZXJyb3IpKTsKK2NvbnN0IGFzc2VydE51bGwgPSBlcnJvciA9PiBh
c3NlcnRfdHJ1ZShlcnJvciA9PT0gbnVsbCwgIk5vIGVycm9yIGV4cGVjdGVkISIpOworY29uc3Qg
YXNzZXJ0VmFsaWRhdGlvbkVycm9yID0gZXJyb3IgPT4gYXNzZXJ0X3RydWUoZXJyb3IgaW5zdGFu
Y2VvZiBHUFVWYWxpZGF0aW9uRXJyb3IsICJFeHBlY3RlZCB2YWxpZGF0aW9uIGVycm9yISIpOwor
Y29uc3QgYXNzZXJ0TWVtb3J5RXJyb3IgPSBlcnJvciA9PiBhc3NlcnRfdHJ1ZShlcnJvciBpbnN0
YW5jZW9mIEdQVU91dE9mTWVtb3J5RXJyb3IsICJFeHBlY3RlZCBvdXQtb2YtbWVtb3J5IGVycm9y
ISIpOworCitjb25zdCBkZXZpY2VQcm9taXNlVGVzdCA9IChkZXZpY2UsIG5hbWUpID0+IHsKKyAg
ICBwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4geworICAgICAgICBpZiAoZGV2aWNlID09PSB1bmRl
ZmluZWQpCisgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7CisgICAgICAgIHJl
dHVybiB0ZXN0c1tuYW1lXShkZXZpY2UpOworICAgIH0sIG5hbWUpOworfTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
      

    </bug>

</bugzilla>