<?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>192843</bug_id>
          
          <creation_ts>2018-12-18 21:31:15 -0800</creation_ts>
          <short_desc>[WebGPU] Add stubs for WebGPUPipelineLayout/Descriptor and device::createPipelineLayout</short_desc>
          <delta_ts>2018-12-19 16:59:23 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1489207</commentid>
    <comment_count>0</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2018-12-18 21:31:15 -0800</bug_when>
    <thetext>[WebGPU] WebGPUPipelineLayout/Descriptor and device::createPipelineLayout</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489208</commentid>
    <comment_count>1</comment_count>
      <attachid>357652</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2018-12-18 21:40:40 -0800</bug_when>
    <thetext>Created attachment 357652
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489209</commentid>
    <comment_count>2</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2018-12-18 21:41:32 -0800</bug_when>
    <thetext>&lt;rdar://problem/46820395&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489212</commentid>
    <comment_count>3</comment_count>
      <attachid>357653</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2018-12-18 21:43:37 -0800</bug_when>
    <thetext>Created attachment 357653
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489382</commentid>
    <comment_count>4</comment_count>
      <attachid>357700</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2018-12-19 11:42:07 -0800</bug_when>
    <thetext>Created attachment 357700
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489522</commentid>
    <comment_count>5</comment_count>
      <attachid>357700</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2018-12-19 15:25:59 -0800</bug_when>
    <thetext>Comment on attachment 357700
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        [WebGPU] WebGPUPipelineLayout/Descriptor and device::createPipelineLayout

I think you&apos;re missing a verb

&gt; Source/WebCore/Modules/webgpu/WebGPUPipelineLayout.h:44
&gt; +    Ref&lt;GPUPipelineLayout&gt; m_pipelineLayout;

👍

&gt; Source/WebCore/platform/graphics/gpu/GPUPipelineLayout.h:44
&gt; +    GPUPipelineLayoutDescriptor m_descriptor;

We shouldn&apos;t be retaining the Descriptors. The descriptor is just a blueprint, not the actual object itself.

The implementation of this should copy the bugs of the GPUBindGroupLayouts into itself. (Or ref() them instead)

&gt; Source/WebCore/platform/graphics/gpu/GPUPipelineLayoutDescriptor.h:37
&gt; +    Vector&lt;RefPtr&lt;const GPUBindGroupLayout&gt;&gt; bindGroupLayouts;

How does RefPtr&lt;const Thingy&gt; work? How can ref() and deref() be const?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489523</commentid>
    <comment_count>6</comment_count>
      <attachid>357700</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2018-12-19 15:26:56 -0800</bug_when>
    <thetext>Comment on attachment 357700
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/gpu/GPUPipelineLayout.h:44
&gt;&gt; +    GPUPipelineLayoutDescriptor m_descriptor;
&gt; 
&gt; We shouldn&apos;t be retaining the Descriptors. The descriptor is just a blueprint, not the actual object itself.
&gt; 
&gt; The implementation of this should copy the bugs of the GPUBindGroupLayouts into itself. (Or ref() them instead)

s/bugs/guts/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489549</commentid>
    <comment_count>7</comment_count>
      <attachid>357700</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2018-12-19 15:53:21 -0800</bug_when>
    <thetext>Comment on attachment 357700
Patch

r- for retaining descriptors</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489565</commentid>
    <comment_count>8</comment_count>
      <attachid>357747</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2018-12-19 16:18:55 -0800</bug_when>
    <thetext>Created attachment 357747
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489606</commentid>
    <comment_count>9</comment_count>
      <attachid>357747</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-19 16:59:21 -0800</bug_when>
    <thetext>Comment on attachment 357747
Patch

Clearing flags on attachment: 357747

Committed r239410: &lt;https://trac.webkit.org/changeset/239410&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489607</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-19 16:59:23 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357652</attachid>
            <date>2018-12-18 21:40:40 -0800</date>
            <delta_ts>2018-12-18 21:43:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192843-20181218214040.patch</filename>
            <type>text/plain</type>
            <size>40761</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MzU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmVmYWVjZGJlYWM5ZTg3
MDE3NDQzNmYyM2UwMWRkZjczNDgwNjEyMi4uZjA1MzVmMzY4YjE0MzY1ODg1NDQzNTFmMWIyZGRj
Y2FhYzk3ZmI2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE4LTEyLTE4ICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gV2ViR1BV
UGlwZWxpbmVMYXlvdXQvRGVzY3JpcHRvciBhbmQgZGV2aWNlOjpjcmVhdGVQaXBlbGluZUxheW91
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyODQz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDog
d2ViZ3B1L3BpcGVsaW5lLWxheW91dHMuaHRtbAorCisgICAgICAgIEltcGxlbWVudCB0aGUgZW10
cHkgV2ViR1BVUGlwZWxpbmVMYXlvdXQgaW50ZXJmYWNlLCBhbmQgZW5hYmxlIGNyZWF0aW9uIHZp
YSBXZWJHUFVEZXZpY2U6OmNyZWF0ZVBpcGVsaW5lTGF5b3V0OgorICAgICAgICAqIE1vZHVsZXMv
d2ViZ3B1L1dlYkdQVUJpbmRHcm91cExheW91dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJH
UFVCaW5kR3JvdXBMYXlvdXQ6OldlYkdQVUJpbmRHcm91cExheW91dCk6CisgICAgICAgICogTW9k
dWxlcy93ZWJncHUvV2ViR1BVQmluZEdyb3VwTGF5b3V0Lmg6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJHUFVCaW5kR3JvdXBMYXlvdXQ6OmJpbmRHcm91cExheW91dCBjb25zdCk6IEFkZGVkIGdldHRl
ci4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V2ViR1BVRGV2aWNlOjpjcmVhdGVQaXBlbGluZUxheW91dCBjb25zdCk6IEFkZGVk
LgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5oOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5pZGw6IEVuYWJsZSBjcmVhdGVQaXBlbGluZUxheW91
dC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dC5jcHA6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViR1BVUGlwZWxpbmVMYXlvdXQ6OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJHUFVQaXBlbGluZUxheW91dDo6V2ViR1BVUGlwZWxpbmVMYXlv
dXQpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0Lmg6IEFk
ZGVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmlkbDog
QWRkZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlvdXREZXNj
cmlwdG9yLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5l
TGF5b3V0RGVzY3JpcHRvci5pZGw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVEZXZpY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BVRGV2aWNlOjpjcmVhdGVQ
aXBlbGluZUxheW91dCBjb25zdCk6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVEZXZpY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUGlw
ZWxpbmVMYXlvdXQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkdQVVBpcGVsaW5lTGF5
b3V0OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6R1BVUGlwZWxpbmVMYXlvdXQ6OkdQVVBp
cGVsaW5lTGF5b3V0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUGlwZWxp
bmVMYXlvdXQuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVBp
cGVsaW5lTGF5b3V0RGVzY3JpcHRvci5oOiBBZGRlZC4KKworICAgICAgICBBZGQgZmlsZXMgYW5k
IHN5bWJvbHMgdG8gcHJvamVjdDoKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAq
IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisKIDIwMTgtMTItMTggIFJ5b3N1a2UgTml3YSAgPHJu
aXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgU29tZSBpT1MgYXBwIGNyYXNoIGluIEZyYW1lTG9h
ZGVyOjpjaGVja0NvbXBsZXRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAwN2NkZTIzNzRhODlj
NjZkY2ZmMWY0MmQ2NGNlZDVhODhkYzgyMTkxLi44NWIyYjUzMDkxZGJkNDNlZWYxMjU4ODkyNzcy
OWRlNjk0ZDFlNzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNDcxLDYgKzQ3MSw4IEBAIHNl
dChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy93ZWJncHUvV2ViR1BVSW5w
dXRTdGF0ZURlc2NyaXB0b3IuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvV2ViR1BVSW5wdXRTdGVw
TW9kZS5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNl
LmlkbAorICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmlkbAorICAgIE1v
ZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5pZGwKICAgICBNb2R1
bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZVN0YWdlRGVzY3JpcHRvci5pZGwKICAgICBNb2R1bGVz
L3dlYmdwdS9XZWJHUFVQcm9ncmFtbWFibGVQYXNzRW5jb2Rlci5pZGwKICAgICBNb2R1bGVzL3dl
YmdwdS9XZWJHUFVRdWV1ZS5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDBm
Mjk3YmE3NGIxZTRkNWVlYTBiNzVmZTVkNDA5ZTE5ZDg4NzJjNzEuLmU5NDhiNzAyZjM3YTU2NmU1
NTBhNWViZTU2ZTYwMmZjYjc5MjJmOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpA
QCAtMzg5LDYgKzM4OSw4IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvd2ViZ3B1L1dlYkdQVUlucHV0U3RlcE1vZGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvd2ViZ3B1L1dlYkdQVVF1ZXVlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dl
YmdwdS9XZWJHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmlkbCBcCisgICAgJChXZWJDb3JlKS9N
b2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dC5pZGwgXAorICAgICQoV2ViQ29yZSkv
TW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZVN0YWdlRGVzY3JpcHRvci5p
ZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVUHJvZ3JhbW1hYmxlUGFz
c0VuY29kZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVJlbmRl
clBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXBMYXlvdXQuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQmluZEdyb3VwTGF5b3V0LmNwcAppbmRleCBl
MTUyYjczODFjMDhjOTUyM2RlMTBiNzgxYjAzNjc1ZDAzZGU3YjYzLi5kOTg3YmYzMzI2Nzg0NGVk
NTA3NWU4M2UyNjVmNmMyYjY0ZGZhYmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXBMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dlYkdQVUJpbmRHcm91cExheW91dC5jcHAKQEAgLTM2LDcgKzM2LDcg
QEAgUmVmPFdlYkdQVUJpbmRHcm91cExheW91dD4gV2ViR1BVQmluZEdyb3VwTGF5b3V0OjpjcmVh
dGUoUmVmPEdQVUJpbmRHcm91cExheW91dD4KIH0KIAogV2ViR1BVQmluZEdyb3VwTGF5b3V0OjpX
ZWJHUFVCaW5kR3JvdXBMYXlvdXQoUmVmPEdQVUJpbmRHcm91cExheW91dD4mJiBsYXlvdXQpCi0g
ICAgOiBtX2xheW91dChXVEZNb3ZlKGxheW91dCkpCisgICAgOiBtX2JpbmRHcm91cExheW91dChX
VEZNb3ZlKGxheW91dCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dlYkdQVUJpbmRHcm91cExheW91dC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV2ViR1BVQmluZEdyb3VwTGF5b3V0LmgKaW5kZXggN2Q3MWUwNzQ4OTU3Yjk2YmQ3
ZGEwY2EyM2JhOTc3OTQ4YzM4ZmQ4Ni4uYmUyOTIwM2EzZWUyNDU4YTZmOWNiNDc3ODQ5ZTIxYjQ4
ZTM3OTFiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
QmluZEdyb3VwTGF5b3V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2Vi
R1BVQmluZEdyb3VwTGF5b3V0LmgKQEAgLTI5LDggKzI5LDggQEAKIAogI2luY2x1ZGUgIkdQVUJp
bmRHcm91cExheW91dC5oIgogCi0jaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKQEAgLTM4LDEwICszOCwxMiBAQCBjbGFzcyBXZWJHUFVCaW5kR3JvdXBMYXlvdXQgOiBw
dWJsaWMgUmVmQ291bnRlZDxXZWJHUFVCaW5kR3JvdXBMYXlvdXQ+IHsKIHB1YmxpYzoKICAgICBz
dGF0aWMgUmVmPFdlYkdQVUJpbmRHcm91cExheW91dD4gY3JlYXRlKFJlZjxHUFVCaW5kR3JvdXBM
YXlvdXQ+JiYpOwogCisgICAgUmVmUHRyPEdQVUJpbmRHcm91cExheW91dD4gYmluZEdyb3VwTGF5
b3V0KCkgY29uc3QgeyByZXR1cm4gbV9iaW5kR3JvdXBMYXlvdXQuY29weVJlZigpOyB9CisKIHBy
aXZhdGU6CiAgICAgZXhwbGljaXQgV2ViR1BVQmluZEdyb3VwTGF5b3V0KFJlZjxHUFVCaW5kR3Jv
dXBMYXlvdXQ+JiYpOwogCi0gICAgUmVmPEdQVUJpbmRHcm91cExheW91dD4gbV9sYXlvdXQ7Cisg
ICAgUmVmPEdQVUJpbmRHcm91cExheW91dD4gbV9iaW5kR3JvdXBMYXlvdXQ7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XZWJHUFVEZXZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2Vi
R1BVRGV2aWNlLmNwcAppbmRleCBlNzg0NTFkZDU2YjA2OWI0OGIyM2U4YjZkMmZlNmQzZjUyYzkx
MTE4Li5hM2ZjN2VhMTM4ZjlmNDI0YWEyZjE2NjBjMzU0MzNjNTI5YmZhZjM3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAKQEAgLTM2LDYgKzM2
LDggQEAKICNpbmNsdWRlICJXZWJHUFVCaW5kR3JvdXBMYXlvdXQuaCIKICNpbmNsdWRlICJXZWJH
UFVCdWZmZXIuaCIKICNpbmNsdWRlICJXZWJHUFVDb21tYW5kQnVmZmVyLmgiCisjaW5jbHVkZSAi
V2ViR1BVUGlwZWxpbmVMYXlvdXQuaCIKKyNpbmNsdWRlICJXZWJHUFVQaXBlbGluZUxheW91dERl
c2NyaXB0b3IuaCIKICNpbmNsdWRlICJXZWJHUFVQaXBlbGluZVN0YWdlRGVzY3JpcHRvci5oIgog
I2luY2x1ZGUgIldlYkdQVVF1ZXVlLmgiCiAjaW5jbHVkZSAiV2ViR1BVUmVuZGVyUGlwZWxpbmUu
aCIKQEAgLTcxLDYgKzczLDE2IEBAIFJlZjxXZWJHUFVCaW5kR3JvdXBMYXlvdXQ+IFdlYkdQVURl
dmljZTo6Y3JlYXRlQmluZEdyb3VwTGF5b3V0KFdlYkdQVUJpbmRHcm91cExhCiAgICAgcmV0dXJu
IFdlYkdQVUJpbmRHcm91cExheW91dDo6Y3JlYXRlKFdURk1vdmUobGF5b3V0KSk7CiB9CiAKK1Jl
ZjxXZWJHUFVQaXBlbGluZUxheW91dD4gV2ViR1BVRGV2aWNlOjpjcmVhdGVQaXBlbGluZUxheW91
dChXZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKSBjb25zdAorewor
ICAgIC8vIEZJWE1FOiBJcyBhbiBlbXB0eSBwaXBlbGluZUxheW91dCBhbiBlcnJvcj8KKyAgICBh
dXRvIGJpbmRHcm91cExheW91dHMgPSBkZXNjcmlwdG9yLmJpbmRHcm91cExheW91dHMubWFwKFtd
IChjb25zdCBhdXRvJiBsYXlvdXQpIC0+IFJlZlB0cjxjb25zdCBHUFVCaW5kR3JvdXBMYXlvdXQ+
IHsKKyAgICAgICAgcmV0dXJuIGxheW91dC0+YmluZEdyb3VwTGF5b3V0KCk7CisgICAgfSk7Cisg
ICAgYXV0byBsYXlvdXQgPSBtX2RldmljZS0+Y3JlYXRlUGlwZWxpbmVMYXlvdXQoR1BVUGlwZWxp
bmVMYXlvdXREZXNjcmlwdG9yIHsgV1RGTW92ZShiaW5kR3JvdXBMYXlvdXRzKSB9KTsKKyAgICBy
ZXR1cm4gV2ViR1BVUGlwZWxpbmVMYXlvdXQ6OmNyZWF0ZShXVEZNb3ZlKGxheW91dCkpOworfQor
CiBSZWZQdHI8V2ViR1BVU2hhZGVyTW9kdWxlPiBXZWJHUFVEZXZpY2U6OmNyZWF0ZVNoYWRlck1v
ZHVsZShXZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yJiYgZGVzY3JpcHRvcikgY29uc3QKIHsK
ICAgICAvLyBGSVhNRTogV2hhdCBjYW4gYmUgdmFsaWRhdGVkIGhlcmU/CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5oCmluZGV4IDMwYjJlODYyN2QwM2ExMzU1
OWM1NGU0MjdlM2YyMjM2NWY1YTIzZGEuLjQ0Y2NlMDViYTVjZTRjODNhZDU5ZTQ0NGY2YjZkYWQ2
NmQwYzNiM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VURldmljZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmlj
ZS5oCkBAIC00Myw5ICs0MywxMSBAQCBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xh
c3MgV2ViR1BVQmluZEdyb3VwTGF5b3V0OwogY2xhc3MgV2ViR1BVQnVmZmVyOwogY2xhc3MgV2Vi
R1BVQ29tbWFuZEJ1ZmZlcjsKK2NsYXNzIFdlYkdQVVBpcGVsaW5lTGF5b3V0OwogY2xhc3MgV2Vi
R1BVUmVuZGVyUGlwZWxpbmU7CiBjbGFzcyBXZWJHUFVTaGFkZXJNb2R1bGU7CiAKK3N0cnVjdCBX
ZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3I7CiBzdHJ1Y3QgV2ViR1BVUmVuZGVyUGlwZWxp
bmVEZXNjcmlwdG9yOwogc3RydWN0IFdlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3I7CiAKQEAg
LTU5LDYgKzYxLDcgQEAgcHVibGljOgogICAgIFJlZlB0cjxXZWJHUFVCdWZmZXI+IGNyZWF0ZUJ1
ZmZlcihXZWJHUFVCdWZmZXJEZXNjcmlwdG9yJiYpIGNvbnN0OwogCiAgICAgUmVmPFdlYkdQVUJp
bmRHcm91cExheW91dD4gY3JlYXRlQmluZEdyb3VwTGF5b3V0KFdlYkdQVUJpbmRHcm91cExheW91
dERlc2NyaXB0b3ImJikgY29uc3Q7CisgICAgUmVmPFdlYkdQVVBpcGVsaW5lTGF5b3V0PiBjcmVh
dGVQaXBlbGluZUxheW91dChXZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3ImJikgY29uc3Q7
CiAKICAgICBSZWZQdHI8V2ViR1BVU2hhZGVyTW9kdWxlPiBjcmVhdGVTaGFkZXJNb2R1bGUoV2Vi
R1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvciYmKSBjb25zdDsKICAgICBSZWZQdHI8V2ViR1BVUmVu
ZGVyUGlwZWxpbmU+IGNyZWF0ZVJlbmRlclBpcGVsaW5lKFdlYkdQVVJlbmRlclBpcGVsaW5lRGVz
Y3JpcHRvciYmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dlYkdQVURldmljZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJH
UFVEZXZpY2UuaWRsCmluZGV4IDgzNDhkZmJkY2E3YjE3MWE2NWM4NTJhMjZhZGQ4M2ViZTFjZWQx
N2MuLjc2MDdkOTJlOTQ5YTRiZTFlZWI5MzVjZGRhMDUxZDdiODYxMDYxZWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmlkbApAQCAtMzYsNiArMzYs
NyBAQAogICAgIFdlYkdQVUJ1ZmZlciBjcmVhdGVCdWZmZXIoV2ViR1BVQnVmZmVyRGVzY3JpcHRv
ciBkZXNjcmlwdG9yKTsKIAogICAgIFdlYkdQVUJpbmRHcm91cExheW91dCBjcmVhdGVCaW5kR3Jv
dXBMYXlvdXQoV2ViR1BVQmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvciBkZXNjcmlwdG9yKTsKKyAg
ICBXZWJHUFVQaXBlbGluZUxheW91dCBjcmVhdGVQaXBlbGluZUxheW91dChXZWJHUFVQaXBlbGlu
ZUxheW91dERlc2NyaXB0b3IgZGVzY3JpcHRvcik7CiAKICAgICBXZWJHUFVTaGFkZXJNb2R1bGUg
Y3JlYXRlU2hhZGVyTW9kdWxlKFdlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IgZGVzY3JpcHRv
cik7CiAgICAgV2ViR1BVUmVuZGVyUGlwZWxpbmUgY3JlYXRlUmVuZGVyUGlwZWxpbmUoV2ViR1BV
UmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yIGRlc2NyaXB0b3IpOwpAQCAtNDksNyArNTAsNiBAQAog
ICAgIC8vIFdlYkdQVVRleHR1cmUgY3JlYXRlVGV4dHVyZShXZWJHUFVUZXh0dXJlRGVzY3JpcHRv
ciBkZXNjcmlwdG9yKTsKICAgICAvLyBXZWJHUFVTYW1wbGVyIGNyZWF0ZVNhbXBsZXIoV2ViR1BV
U2FtcGxlckRlc2NyaXB0b3IgZGVzY3JpcHRvcik7CiAgICAgLy8KLSAgICAvLyBXZWJHUFVQaXBl
bGluZUxheW91dCBjcmVhdGVQaXBlbGluZUxheW91dChXZWJHUFVQaXBlbGluZUxheW91dERlc2Ny
aXB0b3IgZGVzY3JpcHRvcik7CiAgICAgLy8gV2ViR1BVQmluZEdyb3VwIGNyZWF0ZUJpbmRHcm91
cChXZWJHUFVCaW5kR3JvdXBEZXNjcmlwdG9yIGRlc2NyaXB0b3IpOwogICAgIC8vCiAgICAgLy8g
V2ViR1BVQmxlbmRTdGF0ZSBjcmVhdGVCbGVuZFN0YXRlKFdlYkdQVUJsZW5kU3RhdGVEZXNjcmlw
dG9yIGRlc2NyaXB0b3IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV2ViR1BVUGlwZWxpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV2ViR1BVUGlwZWxpbmVMYXlvdXQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2NGE1NDYxNWU2YWY2NWQz
YTg5OGU1ZDFjOTkzMjBlMjAwZTYwYjAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dC5jcHAKQEAgLTAsMCArMSw0NSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJHUFVQaXBl
bGluZUxheW91dC5oIgorCisjaWYgRU5BQkxFKFdFQkdQVSkKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitSZWY8V2ViR1BVUGlwZWxpbmVMYXlvdXQ+IFdlYkdQVVBpcGVsaW5lTGF5b3V0OjpjcmVh
dGUoUmVmPEdQVVBpcGVsaW5lTGF5b3V0PiYmIGxheW91dCkKK3sKKyAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBXZWJHUFVQaXBlbGluZUxheW91dChXVEZNb3ZlKGxheW91dCkpKTsKK30KKworV2Vi
R1BVUGlwZWxpbmVMYXlvdXQ6OldlYkdQVVBpcGVsaW5lTGF5b3V0KFJlZjxHUFVQaXBlbGluZUxh
eW91dD4mJiBsYXlvdXQpCisgICAgOiBtX3BpcGVsaW5lTGF5b3V0KFdURk1vdmUobGF5b3V0KSkK
K3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdQ
VSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVs
aW5lTGF5b3V0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGlu
ZUxheW91dC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1NTE1NzQyNGIwYmUyOTk2MGI0YjBhY2IwM2VjMTYzZmZi
Yzk4ODEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
ZWJHUFVQaXBlbGluZUxheW91dC5oCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJHUFUpCisKKyNpbmNsdWRlICJHUFVQaXBlbGluZUxh
eW91dC5oIgorCisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV2ViR1BVUGlwZWxpbmVMYXlvdXQg
OiBwdWJsaWMgUmVmQ291bnRlZDxXZWJHUFVQaXBlbGluZUxheW91dD4geworcHVibGljOgorICAg
IHN0YXRpYyBSZWY8V2ViR1BVUGlwZWxpbmVMYXlvdXQ+IGNyZWF0ZShSZWY8R1BVUGlwZWxpbmVM
YXlvdXQ+JiYpOworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IFdlYkdQVVBpcGVsaW5lTGF5b3V0
KFJlZjxHUFVQaXBlbGluZUxheW91dD4mJik7CisKKyAgICBSZWY8R1BVUGlwZWxpbmVMYXlvdXQ+
IG1fcGlwZWxpbmVMYXlvdXQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlvdXQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlvdXQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMwZTg1NmYzNzVkMzk3
OWYwZjczMmI3OGJlMmY4YmJjZTY4NWU3YzkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dC5pZGwKQEAgLTAsMCArMSwz
MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisvLyBodHRwczovL2dpdGh1Yi5jb20vZ3B1d2ViL2dwdXdlYi9ibG9i
L21hc3Rlci9kZXNpZ24vc2tldGNoLndlYmlkbAorCitbCisgICAgQ29uZGl0aW9uYWw9V0VCR1BV
LAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUKK10gaW50ZXJmYWNlIFdlYkdQVVBpcGVsaW5lTGF5b3V0IHsKK307CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dERlc2Ny
aXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5
b3V0RGVzY3JpcHRvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFiNzBhYzQwNzM4NmNlM2NhMzE2N2Q0YzVhYWRl
NTVkMmY2NmRhMjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaApAQCAtMCwwICsxLDQzIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCR1BVKQorCisjaW5jbHVk
ZSAiV2ViR1BVQmluZEdyb3VwTGF5b3V0LmgiCisKKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+Cisj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBX
ZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IgeworICAgIFZlY3RvcjxSZWZQdHI8V2ViR1BV
QmluZEdyb3VwTGF5b3V0Pj4gYmluZEdyb3VwTGF5b3V0czsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlvdXREZXNj
cmlwdG9yLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMzFmODgwMDA3NjhjZWQ1NDhkODExYzQ0NDVlODU3M2Iw
ZGEwM2I2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V2ViR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmlkbApAQCAtMCwwICsxLDMyIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKy8vIGh0dHBzOi8vZ2l0aHViLmNvbS9ncHV3ZWIvZ3B1d2ViL2Jsb2IvbWFzdGVyL2Rl
c2lnbi9za2V0Y2gud2ViaWRsCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJHUFUsCisgICAgRW5h
YmxlZEF0UnVudGltZT1XZWJHUFUKK10gZGljdGlvbmFyeSBXZWJHUFVQaXBlbGluZUxheW91dERl
c2NyaXB0b3IgeworICAgIHNlcXVlbmNlPFdlYkdQVUJpbmRHcm91cExheW91dD4gYmluZEdyb3Vw
TGF5b3V0czsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IGU3MGRiODM5NDQxYzg4ZjE2MGEwZjJlNmI5
ZTBlOWM1NTJkNmE3ZDQuLjQ2MTc1ZjM1MDk1MDJjZWMxMWEzYTVlZWU1YTliYWI0YmY4ZWJmMDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0CkBAIC0zMDgsNiArMzA4LDcgQEAgTW9kdWxlcy93ZWJncHUvV2ViR1BV
QnVmZmVyLmNwcAogTW9kdWxlcy93ZWJncHUvV2ViR1BVQ29tbWFuZEJ1ZmZlci5jcHAKIE1vZHVs
ZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVF1ZXVlLmNw
cAorTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlvdXQuY3BwCiBNb2R1bGVzL3dlYmdw
dS9XZWJHUFVQcm9ncmFtbWFibGVQYXNzRW5jb2Rlci5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dlYkdQ
VVJlbmRlcmluZ0NvbnRleHQuY3BwCiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVSZW5kZXJQYXNzRW5j
b2Rlci5jcHAKQEAgLTE3NDQsNiArMTc0NSw3IEBAIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
U3BvdExpZ2h0U291cmNlLmNwcAogCiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQmluZEdyb3Vw
TGF5b3V0LmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5jcHAKK3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVQaXBlbGluZUxheW91dC5jcHAKIHBsYXRmb3JtL2dyYXBoaWNzL2dw
dS9sZWdhY3kvR1BVTGVnYWN5QnVmZmVyLmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2xlZ2Fj
eS9HUFVMZWdhY3lDb21tYW5kQnVmZmVyLmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2xlZ2Fj
eS9HUFVMZWdhY3lDb21tYW5kUXVldWUuY3BwCkBAIC0zMjQxLDYgKzMyNDMsOCBAQCBKU1dlYkdQ
VUlucHV0U3RhdGVEZXNjcmlwdG9yLmNwcAogSlNXZWJHUFVJbnB1dFN0ZXBNb2RlLmNwcAogSlNX
ZWJHUFVRdWV1ZS5jcHAKIEpTV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5jcHAKK0pTV2Vi
R1BVUGlwZWxpbmVMYXlvdXQuY3BwCitKU1dlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5j
cHAKIEpTV2ViR1BVUGlwZWxpbmVTdGFnZURlc2NyaXB0b3IuY3BwCiBKU1dlYkdQVVByb2dyYW1t
YWJsZVBhc3NFbmNvZGVyLmNwcAogSlNXZWJHUFVSZW5kZXJpbmdDb250ZXh0LmNwcApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDYz
ZTlhNjgzZmZhNmUxYTQ5NmMwOTc0NmY3MzQ1N2Y2ZGYxYjA0ODUuLjUyOTE5ZTUwNjM0ZjgxYmEx
ZGNlYzdlYTA1OTg1NTQ3MTllZjc1NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEzNzIwLDYgKzEzNzIwLDkgQEAKIAkJRDAw
MzI4NzkyMUM4NjQ1QjAwNjIyQUE2IC8qIFdlYkdQVUJpbmRHcm91cExheW91dC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXZWJHUFVCaW5kR3JvdXBMYXlvdXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRDAwMzI4N0EyMUM4NjQ1QjAwNjIyQUE2IC8qIFdlYkdQVUJpbmRHcm91cExheW91dC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJHUFVCaW5kR3JvdXBMYXlvdXQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlEMDAzMjg3QjIxQzg2NDVCMDA2MjJBQTYgLyogV2ViR1BV
QmluZEdyb3VwTGF5b3V0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJHUFVCaW5kR3JvdXBMYXlvdXQuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDAzMjg4NDIxQzlBMjBEMDA2MjJBQTYgLyogR1BV
UGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVVBpcGVsaW5lTGF5
b3V0RGVzY3JpcHRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDAzMjg4NjIx
QzlBNEU1MDA2MjJBQTYgLyogR1BVUGlwZWxpbmVMYXlvdXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BV
UGlwZWxpbmVMYXlvdXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAwMzI4ODcy
MUM5QTRFNTAwNjIyQUE2IC8qIEdQVVBpcGVsaW5lTGF5b3V0LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEdQVVBpcGVsaW5lTGF5b3V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RDAwRjU5NDAyMTZFQ0M3QTAwMEQ3MURCIC8qIERPTVdpbmRvd1dlYkdQVS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBET01XaW5kb3dXZWJHUFUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDAw
RjU5NDEyMTZFQ0M3QTAwMEQ3MURCIC8qIERPTVdpbmRvd1dlYkdQVS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBET01XaW5kb3dXZWJHUFUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlEMDBGNTk0MjIxNkVDQzdBMDAwRDcxREIgLyogRE9NV2luZG93V2ViR1BVLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBE
T01XaW5kb3dXZWJHUFUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTM4MDgs
NiArMTM4MTEsMTEgQEAKIAkJRDA0NUFEMjEyMTY4MjQ3NDAwMEE2RTlCIC8qIFdlYk1ldGFsQnVm
ZmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk1ldGFsQnVmZmVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDA0NUFEMjIyMTY4MjQ3NDAwMEE2RTlCIC8qIFdlYk1ldGFs
Q29tbWFuZEJ1ZmZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJNZXRhbENvbW1hbmRCdWZmZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDA0NUFEMjMyMTY4MjQ3NTAwMEE2RTlCIC8q
IFdlYk1ldGFsQ29tbWFuZFF1ZXVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk1ldGFsQ29t
bWFuZFF1ZXVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA1QTk5RTEyMUM5
QjUwRjAwMDMyQjc1IC8qIFdlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJRDA1QTk5RTIyMUM5QjUwRjAwMDMyQjc1IC8qIFdlYkdQVVBpcGVsaW5l
TGF5b3V0RGVzY3JpcHRvci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9y
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA1QTk5RTQyMUM5QkYyQzAwMDMy
Qjc1IC8qIFdlYkdQVVBpcGVsaW5lTGF5b3V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkdQVVBpcGVs
aW5lTGF5b3V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwNUE5OUU1MjFDOUJG
MkMwMDAzMkI3NSAvKiBXZWJHUFVQaXBlbGluZUxheW91dC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXZWJHUFVQaXBlbGluZUxheW91dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUQwNUE5OUU2MjFDOUJGMkMwMDAzMkI3NSAvKiBXZWJHUFVQaXBlbGluZUxheW91dC5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gV2ViR1BVUGlwZWxpbmVMYXlvdXQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlEMDVDRUQyNzBBNDBCQjJDMDBDNUFGMzggLyogRm9ybWF0QmxvY2tDb21tYW5kLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGb3JtYXRCbG9ja0NvbW1hbmQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMDVDRUQyODBBNDBCQjJDMDBDNUFGMzgg
LyogRm9ybWF0QmxvY2tDb21tYW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBGb3JtYXRCbG9ja0NvbW1hbmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDA2
MEQ4ODQyMTgyNUQ1RjAwMzM5MzE4IC8qIFdlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IFdlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMTgwNjgsNiArMTgwNzYsOSBAQAogCQkJCTMxMkZGOEJFMjFBNEMyRjEw
MEVCMTk5RCAvKiBHUFVEZXZpY2UuaCAqLywKIAkJCQlEMEQ4NjQ5OTIxQkExQjFGMDAzQzk4M0Mg
LyogR1BVSW5wdXRTdGF0ZURlc2NyaXB0b3IuaCAqLywKIAkJCQkzMTJGRjhDNDIxQTRDMkY0MDBF
QjE5OUQgLyogR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5oICovLAorCQkJCUQwMDMyODg3MjFD
OUE0RTUwMDYyMkFBNiAvKiBHUFVQaXBlbGluZUxheW91dC5jcHAgKi8sCisJCQkJRDAwMzI4ODYy
MUM5QTRFNTAwNjIyQUE2IC8qIEdQVVBpcGVsaW5lTGF5b3V0LmggKi8sCisJCQkJRDAwMzI4ODQy
MUM5QTIwRDAwNjIyQUE2IC8qIEdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5oICovLAogCQkJ
CTMxMkZGOEMyMjFBNEMyRjMwMEVCMTk5RCAvKiBHUFVQaXBlbGluZVN0YWdlRGVzY3JpcHRvci5o
ICovLAogCQkJCUQwMzIxMUNGMjFBQzk1NEUwMDc2M0NGMiAvKiBHUFVQcm9ncmFtbWFibGVQYXNz
RW5jb2Rlci5oICovLAogCQkJCTMxMkZGOEMxMjFBNEMyRjIwMEVCMTk5RCAvKiBHUFVRdWV1ZS5o
ICovLApAQCAtMjU2MDAsNiArMjU2MTEsMTEgQEAKIAkJCQlEMDYzQUU0NzIxQzA2NjI2MDAwRTZB
MzUgLyogV2ViR1BVSW5wdXRTdGVwTW9kZS5pZGwgKi8sCiAJCQkJRDBDNDE5RjAyMTgzRUIzMTAw
OUVDMURFIC8qIFdlYkdQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuaCAqLywKIAkJCQlEMEM0MTlG
MTIxODNFQjMxMDA5RUMxREUgLyogV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5pZGwgKi8s
CisJCQkJRDA1QTk5RTUyMUM5QkYyQzAwMDMyQjc1IC8qIFdlYkdQVVBpcGVsaW5lTGF5b3V0LmNw
cCAqLywKKwkJCQlEMDVBOTlFNDIxQzlCRjJDMDAwMzJCNzUgLyogV2ViR1BVUGlwZWxpbmVMYXlv
dXQuaCAqLywKKwkJCQlEMDVBOTlFNjIxQzlCRjJDMDAwMzJCNzUgLyogV2ViR1BVUGlwZWxpbmVM
YXlvdXQuaWRsICovLAorCQkJCUQwNUE5OUUxMjFDOUI1MEYwMDAzMkI3NSAvKiBXZWJHUFVQaXBl
bGluZUxheW91dERlc2NyaXB0b3IuaCAqLywKKwkJCQlEMDVBOTlFMjIxQzlCNTBGMDAwMzJCNzUg
LyogV2ViR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmlkbCAqLywKIAkJCQlEMEM0MTlFQjIx
ODNDRkEyMDA5RUMxREUgLyogV2ViR1BVUGlwZWxpbmVTdGFnZURlc2NyaXB0b3IuaCAqLywKIAkJ
CQlEMEM0MTlFQzIxODNDRkEyMDA5RUMxREUgLyogV2ViR1BVUGlwZWxpbmVTdGFnZURlc2NyaXB0
b3IuaWRsICovLAogCQkJCUQwRUFDRjkyMjE5NDBBNUIwMDBGQTc1QyAvKiBXZWJHUFVQcm9ncmFt
bWFibGVQYXNzRW5jb2Rlci5jcHAgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKaW5kZXggMWQyMTQ4NzdjZWU5MjFmMTgxNmVmYTQ3ZGEz
YzA1MjFmMDAwMTExZC4uMmFlMWVjZjc4MzYxZDg2NjgyMWM2ZTljODNlZDVjNDNiYmVjNDU2YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1l
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMu
aApAQCAtMTk4LDYgKzE5OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhXZWJH
UFVJbmRleEZvcm1hdCkgXAogICAgIG1hY3JvKFdlYkdQVUlucHV0U3RlcE1vZGUpIFwKICAgICBt
YWNybyhXZWJHUFVRdWV1ZSkgXAorICAgIG1hY3JvKFdlYkdQVVBpcGVsaW5lTGF5b3V0KSBcCiAg
ICAgbWFjcm8oV2ViR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIpIFwKICAgICBtYWNybyhXZWJH
UFVSZW5kZXJpbmdDb250ZXh0KSBcCiAgICAgbWFjcm8oV2ViR1BVUmVuZGVyUGFzc0VuY29kZXIp
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVE
ZXZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmlj
ZS5jcHAKaW5kZXggYzY5ODE1YzdhNTc3NGFhZGUyZWQ3YmNjZWE4OTNlYWI2Zjg5ZmYzNy4uMTdj
NzZmZDNiNWU3NzJiYzhmYjA1NThiZWMxMzgzZmM5MDE3MGE2NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5jcHAKQEAgLTMyLDYgKzMy
LDggQEAKICNpbmNsdWRlICJHUFVCaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9yLmgiCiAjaW5jbHVk
ZSAiR1BVQnVmZmVyLmgiCiAjaW5jbHVkZSAiR1BVQnVmZmVyRGVzY3JpcHRvci5oIgorI2luY2x1
ZGUgIkdQVVBpcGVsaW5lTGF5b3V0LmgiCisjaW5jbHVkZSAiR1BVUGlwZWxpbmVMYXlvdXREZXNj
cmlwdG9yLmgiCiAjaW5jbHVkZSAiR1BVUmVuZGVyUGlwZWxpbmUuaCIKICNpbmNsdWRlICJHUFVS
ZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaCIKICNpbmNsdWRlICJHUFVTaGFkZXJNb2R1bGUuaCIK
QEAgLTQ5LDYgKzUxLDExIEBAIFJlZjxHUFVCaW5kR3JvdXBMYXlvdXQ+IEdQVURldmljZTo6Y3Jl
YXRlQmluZEdyb3VwTGF5b3V0KEdQVUJpbmRHcm91cExheW91dERlc2NyCiAgICAgcmV0dXJuIEdQ
VUJpbmRHcm91cExheW91dDo6Y3JlYXRlKFdURk1vdmUoZGVzY3JpcHRvcikpOwogfQogCitSZWY8
R1BVUGlwZWxpbmVMYXlvdXQ+IEdQVURldmljZTo6Y3JlYXRlUGlwZWxpbmVMYXlvdXQoR1BVUGlw
ZWxpbmVMYXlvdXREZXNjcmlwdG9yJiYgZGVzY3JpcHRvcikgY29uc3QKK3sKKyAgICByZXR1cm4g
R1BVUGlwZWxpbmVMYXlvdXQ6OmNyZWF0ZShXVEZNb3ZlKGRlc2NyaXB0b3IpKTsKK30KKwogUmVm
UHRyPEdQVVNoYWRlck1vZHVsZT4gR1BVRGV2aWNlOjpjcmVhdGVTaGFkZXJNb2R1bGUoR1BVU2hh
ZGVyTW9kdWxlRGVzY3JpcHRvciYmIGRlc2NyaXB0b3IpIGNvbnN0CiB7CiAgICAgcmV0dXJuIEdQ
VVNoYWRlck1vZHVsZTo6Y3JlYXRlKCp0aGlzLCBXVEZNb3ZlKGRlc2NyaXB0b3IpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaAppbmRleCBi
MDI5ODdlMjExN2Y2ZjUxYmFiYzI4YmRmMTNhNmRmMDVlYjQ1MjVkLi41YzlkMzA5YTMyMWM2MTNh
Nzg1MDJkYjljNTYxZWJhYzUwYTc4YmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oCkBAIC00MywxMyArNDMsMTUgQEAgdXNpbmcgUGxh
dGZvcm1EZXZpY2VTbWFydFB0ciA9IFJldGFpblB0cjxNVExEZXZpY2U+OwogCiBjbGFzcyBHUFVC
aW5kR3JvdXBMYXlvdXQ7CiBjbGFzcyBHUFVCdWZmZXI7CitjbGFzcyBHUFVQaXBlbGluZUxheW91
dDsKIGNsYXNzIEdQVVJlbmRlclBpcGVsaW5lOwogY2xhc3MgR1BVU2hhZGVyTW9kdWxlOwogCiBz
dHJ1Y3QgR1BVQmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvcjsKIHN0cnVjdCBHUFVCdWZmZXJEZXNj
cmlwdG9yOwotc3RydWN0IEdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3I7CitzdHJ1Y3QgR1BVUGlw
ZWxpbmVMYXlvdXREZXNjcmlwdG9yOwogc3RydWN0IEdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRv
cjsKK3N0cnVjdCBHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yOwogCiBjbGFzcyBHUFVEZXZpY2Ug
OiBwdWJsaWMgUmVmQ291bnRlZDxHUFVEZXZpY2U+IHsKIHB1YmxpYzoKQEAgLTU4LDYgKzYwLDcg
QEAgcHVibGljOgogICAgIFJlZlB0cjxHUFVCdWZmZXI+IGNyZWF0ZUJ1ZmZlcihHUFVCdWZmZXJE
ZXNjcmlwdG9yJiYpIGNvbnN0OwogCiAgICAgUmVmPEdQVUJpbmRHcm91cExheW91dD4gY3JlYXRl
QmluZEdyb3VwTGF5b3V0KEdQVUJpbmRHcm91cExheW91dERlc2NyaXB0b3ImJikgY29uc3Q7Cisg
ICAgUmVmPEdQVVBpcGVsaW5lTGF5b3V0PiBjcmVhdGVQaXBlbGluZUxheW91dChHUFVQaXBlbGlu
ZUxheW91dERlc2NyaXB0b3ImJikgY29uc3Q7CiAKICAgICBSZWZQdHI8R1BVU2hhZGVyTW9kdWxl
PiBjcmVhdGVTaGFkZXJNb2R1bGUoR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvciYmKSBjb25zdDsK
ICAgICBSZWZQdHI8R1BVUmVuZGVyUGlwZWxpbmU+IGNyZWF0ZVJlbmRlclBpcGVsaW5lKEdQVVJl
bmRlclBpcGVsaW5lRGVzY3JpcHRvciYmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVQaXBlbGluZUxheW91dC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUGlwZWxpbmVMYXlvdXQuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjAzMzEwODlhZjM0NDJmYzU2YWE5MTk2YzczMGJjZDE4ZjYyYmFhZjEKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUGlwZWxp
bmVMYXlvdXQuY3BwCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTgg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiR1BVUGlwZWxpbmVMYXlvdXQuaCIKKworI2lmIEVOQUJMRShXRUJH
UFUpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVmPEdQVVBpcGVsaW5lTGF5b3V0PiBHUFVQ
aXBlbGluZUxheW91dDo6Y3JlYXRlKEdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciYmIGRlc2Ny
aXB0b3IpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgR1BVUGlwZWxpbmVMYXlvdXQoV1RG
TW92ZShkZXNjcmlwdG9yKSkpOworfQorCitHUFVQaXBlbGluZUxheW91dDo6R1BVUGlwZWxpbmVM
YXlvdXQoR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yJiYgZGVzY3JpcHRvcikKKyAgICA6IG1f
ZGVzY3JpcHRvcihkZXNjcmlwdG9yKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVBpcGVsaW5lTGF5b3V0LmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUGlwZWxpbmVMYXlvdXQuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNDIw
Zjc0YTdiNjBjM2Y2MGFmMjg2NmFkMjJjZGI0Njk4M2Y1NjUzCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVBpcGVsaW5lTGF5b3V0LmgK
QEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxF
KFdFQkdQVSkKKworI2luY2x1ZGUgIkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5oIgorCisj
aW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgR1BVUGlwZWxpbmVMYXlvdXQgOiBwdWJsaWMgUmVmQ291
bnRlZDxHUFVQaXBlbGluZUxheW91dD4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8R1BVUGlw
ZWxpbmVMYXlvdXQ+IGNyZWF0ZShHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3ImJik7CisKK3By
aXZhdGU6CisgICAgZXhwbGljaXQgR1BVUGlwZWxpbmVMYXlvdXQoR1BVUGlwZWxpbmVMYXlvdXRE
ZXNjcmlwdG9yJiYpOworCisgICAgR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yIG1fZGVzY3Jp
cHRvcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShX
RUJHUFUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
R1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Ew
OTE4OTkzODU4MmJjMjc4YzE1OGZkYTFiMjc5YzE4Njc3NTU2OQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVQaXBlbGluZUxheW91dERl
c2NyaXB0b3IuaApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBFTkFCTEUoV0VCR1BVKQorCisjaW5jbHVkZSAiR1BVQmluZEdyb3VwTGF5b3V0LmgiCisK
KyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0
IEdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciB7CisgICAgVmVjdG9yPFJlZlB0cjxjb25zdCBH
UFVCaW5kR3JvdXBMYXlvdXQ+PiBiaW5kR3JvdXBMYXlvdXRzOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdQVSkKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5MTMwYjE3ZjFk
OTc1YTVhNjhhNWU1ZWE1OGQ4MmVmMTk3MmIzNmNlLi5jZjRjMGVlODlkN2E0ODdjOTRmYjkwMGUy
MmE4MmIxNjEzODU2ZTU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTgtMTItMTggIEp1c3Rp
biBGYW4gIDxqdXN0aW5fZmFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR1BVXSBXZWJHUFVQ
aXBlbGluZUxheW91dC9EZXNjcmlwdG9yIGFuZCBkZXZpY2U6OmNyZWF0ZVBpcGVsaW5lTGF5b3V0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTI4NDMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUg
YmluZC1ncm91cC1sYXlvdXRzIGFuZCByZW5hbWUgdG8gbWF0Y2ggbmV3IFBpcGVsaW5lTGF5b3V0
IGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiB3ZWJncHUvYmluZC1ncm91cC1sYXlvdXRzLWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvcGlwZWxpbmUtbGF5b3V0cy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdwdS9waXBlbGluZS1sYXlvdXRzLmh0
bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy93ZWJncHUvYmluZC1ncm91cC1sYXlvdXRzLmh0
bWwuCisKIDIwMTgtMTItMTggIEp1c3RpbiBGYW4gIDxqdXN0aW5fZmFuQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbV2ViR1BVXSBCaW5kR3JvdXBMYXlvdXQgYW5kIERldmljZTo6Y3JlYXRlQmluZEdy
b3VwTGF5b3V0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJncHUvYmluZC1ncm91cC1sYXlv
dXRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdwdS9iaW5kLWdyb3VwLWxheW91dHMt
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMTQzZWU2YmE4NjIx
MGI1YWE1MzgyODJkZjJhMmRjYWFkN2M4OWIwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3dlYmdwdS9iaW5kLWdyb3VwLWxheW91dHMt
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi0KLVBBU1MgQ3JlYXRl
IGEgYmFzaWMgV2ViR1BVQmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvci4gCi1QQVNTIENyZWF0ZSBh
IGJhc2ljIFdlYkdQVUJpbmRHcm91cExheW91dCB3aXRoIGEgV2ViR1BVRGV2aWNlLiAKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2JpbmQtZ3JvdXAtbGF5b3V0cy5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ3B1L2JpbmQtZ3JvdXAtbGF5b3V0cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwNmIxZWI1N2E3OWI2MDJmMTFkNGI4OTA1ZmU3NDc5OTQ2NGFjNGE4Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L3dlYmdwdS9iaW5kLWdyb3VwLWxheW91dHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMwICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVu
dGFsOldlYkdQVUVuYWJsZWQ9dHJ1ZSBdIC0tPgotPG1ldGEgY2hhcnNldD11dGYtOD4KLTx0aXRs
ZT5DcmVhdGUgV2ViR1BVQmluZEdyb3VwTGF5b3V0LjwvdGl0bGU+Ci08Ym9keT4KLTxzY3JpcHQg
c3JjPSJqcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24g
Y3JlYXRlQmluZEdyb3VwTGF5b3V0QmluZGluZygpIHsKLSAgICByZXR1cm4gewotICAgICAgICBi
aW5kaW5nOiAwLAotICAgICAgICB2aXNpYmlsaXR5OiBXZWJHUFVTaGFkZXJTdGFnZUJpdC5GUkFH
TUVOVCB8IFdlYkdQVVNoYWRlclN0YWdlQml0LlZFUlRFWCwKLSAgICAgICAgdHlwZTogInN0b3Jh
Z2VCdWZmZXIiCi0gICAgfTsKLX0KLQotdGVzdCgoKSA9PiB7Ci0gICAgY29uc3QgYmluZEdyb3Vw
TGF5b3V0RGVzY3JpcHRvciA9IHsgYmluZGluZ3M6IFtjcmVhdGVCaW5kR3JvdXBMYXlvdXRCaW5k
aW5nKCldIH07Ci0gICAgYXNzZXJ0X25vdF9lcXVhbHMoYmluZEdyb3VwTGF5b3V0RGVzY3JpcHRv
ci5iaW5kaW5nc1swXS52aXNpYmlsaXR5ICYgV2ViR1BVU2hhZGVyU3RhZ2VCaXQuRlJBR01FTlQs
IDApOwotICAgIGFzc2VydF9ub3RfZXF1YWxzKGJpbmRHcm91cExheW91dERlc2NyaXB0b3IuYmlu
ZGluZ3NbMF0udmlzaWJpbGl0eSAmIFdlYkdQVVNoYWRlclN0YWdlQml0LlZFUlRFWCwgMCk7Ci0g
ICAgYXNzZXJ0X2VxdWFscyhiaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9yLmJpbmRpbmdzWzBdLnR5
cGUsICJzdG9yYWdlQnVmZmVyIik7Ci19LCAiQ3JlYXRlIGEgYmFzaWMgV2ViR1BVQmluZEdyb3Vw
TGF5b3V0RGVzY3JpcHRvci4iKTsKLQotcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKLSAgICBj
b25zdCBkZXZpY2UgPSBhd2FpdCB3aW5kb3cuZ2V0QmFzaWNEZXZpY2UoKTsKLSAgICBjb25zdCBi
aW5kR3JvdXBMYXlvdXQgPSBkZXZpY2UuY3JlYXRlQmluZEdyb3VwTGF5b3V0KHsgYmluZGluZ3M6
IFtjcmVhdGVCaW5kR3JvdXBMYXlvdXRCaW5kaW5nKCldIH0pOwotICAgIGFzc2VydF90cnVlKGJp
bmRHcm91cExheW91dCBpbnN0YW5jZW9mIFdlYkdQVUJpbmRHcm91cExheW91dCwgImNyZWF0ZUJp
bmRHcm91cExheW91dCByZXR1cm5lZCBhIFdlYkdQVUJpbmRHcm91cExheW91dCIpOwotfSwgIkNy
ZWF0ZSBhIGJhc2ljIFdlYkdQVUJpbmRHcm91cExheW91dCB3aXRoIGEgV2ViR1BVRGV2aWNlLiIp
OwotPC9zY3JpcHQ+Ci08L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L3BpcGVsaW5lLWxheW91dHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvd2ViZ3B1L3BpcGVsaW5lLWxheW91dHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmE4Nzc4N2QzMjAwNGExOTMzOTAxYmU3NDBlZmM0ZGEyMmY0ZTA5N2MKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJncHUvcGlwZWxpbmUtbGF5b3V0cy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw0IEBACisKK1BBU1MgQ3JlYXRlIGEgYmFzaWMgV2ViR1BVQmluZEdyb3VwTGF5
b3V0RGVzY3JpcHRvci4gCitQQVNTIENyZWF0ZSBhIGJhc2ljIFdlYkdQVVBpcGVsaW5lTGF5b3V0
IHd0aWggYSBXZWJHUFVEZXZpY2UuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJncHUv
cGlwZWxpbmUtbGF5b3V0cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L3BpcGVsaW5lLWxheW91
dHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTY3ZjZkZWYyZGQyNmQ3MjMzNjIyY2I0MWI0YzUwZTQ2YWZi
ZjRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L3BpcGVsaW5lLWxheW91
dHMuaHRtbApAQCAtMCwwICsxLDMzIEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDpXZWJHUFVFbmFibGVkPXRydWUgXSAtLT4KKzxtZXRhIGNo
YXJzZXQ9dXRmLTg+Cis8dGl0bGU+Q3JlYXRlIFdlYkdQVUJpbmRHcm91cExheW91dC48L3RpdGxl
PgorPGJvZHk+Cis8c2NyaXB0IHNyYz0ianMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdD4KK2Z1bmN0aW9uIGNyZWF0ZUJpbmRHcm91cExheW91dEJpbmRpbmcoKSB7CisgICAg
cmV0dXJuIHsKKyAgICAgICAgYmluZGluZzogMCwKKyAgICAgICAgdmlzaWJpbGl0eTogV2ViR1BV
U2hhZGVyU3RhZ2VCaXQuRlJBR01FTlQgfCBXZWJHUFVTaGFkZXJTdGFnZUJpdC5WRVJURVgsCisg
ICAgICAgIHR5cGU6ICJzdG9yYWdlQnVmZmVyIgorICAgIH07Cit9CisKK3Rlc3QoKCkgPT4gewor
ICAgIGNvbnN0IGJpbmRHcm91cExheW91dERlc2NyaXB0b3IgPSB7IGJpbmRpbmdzOiBbY3JlYXRl
QmluZEdyb3VwTGF5b3V0QmluZGluZygpXSB9OworICAgIGFzc2VydF9ub3RfZXF1YWxzKGJpbmRH
cm91cExheW91dERlc2NyaXB0b3IuYmluZGluZ3NbMF0udmlzaWJpbGl0eSAmIFdlYkdQVVNoYWRl
clN0YWdlQml0LkZSQUdNRU5ULCAwKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyhiaW5kR3JvdXBM
YXlvdXREZXNjcmlwdG9yLmJpbmRpbmdzWzBdLnZpc2liaWxpdHkgJiBXZWJHUFVTaGFkZXJTdGFn
ZUJpdC5WRVJURVgsIDApOworICAgIGFzc2VydF9lcXVhbHMoYmluZEdyb3VwTGF5b3V0RGVzY3Jp
cHRvci5iaW5kaW5nc1swXS50eXBlLCAic3RvcmFnZUJ1ZmZlciIpOworfSwgIkNyZWF0ZSBhIGJh
c2ljIFdlYkdQVUJpbmRHcm91cExheW91dERlc2NyaXB0b3IuIik7IAorCitwcm9taXNlX3Rlc3Qo
YXN5bmMgKCkgPT4geworICAgIGNvbnN0IGRldmljZSA9IGF3YWl0IHdpbmRvdy5nZXRCYXNpY0Rl
dmljZSgpOworICAgIGNvbnN0IGJpbmRHcm91cExheW91dCA9IGRldmljZS5jcmVhdGVCaW5kR3Jv
dXBMYXlvdXQoeyBiaW5kaW5nczogW2NyZWF0ZUJpbmRHcm91cExheW91dEJpbmRpbmcoKV0gfSk7
CisgICAgYXNzZXJ0X3RydWUoYmluZEdyb3VwTGF5b3V0IGluc3RhbmNlb2YgV2ViR1BVQmluZEdy
b3VwTGF5b3V0LCAiY3JlYXRlQmluZEdyb3VwTGF5b3V0IHJldHVybmVkIGEgV2ViR1BVQmluZEdy
b3VwTGF5b3V0Iik7CisKKyAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQ
aXBlbGluZUxheW91dCh7IGJpbmRHcm91cExheW91dHM6IFtiaW5kR3JvdXBMYXlvdXRdIH0pOwor
ICAgIGFzc2VydF90cnVlKHBpcGVsaW5lTGF5b3V0IGluc3RhbmNlb2YgV2ViR1BVUGlwZWxpbmVM
YXlvdXQsICJjcmVhdGVQaXBlbGluZUxheW91dCByZXR1cm5lZCBhIFdlYkdQVVBpcGVsaW5lTGF5
b3V0Iik7Cit9LCAiQ3JlYXRlIGEgYmFzaWMgV2ViR1BVUGlwZWxpbmVMYXlvdXQgd3RpaCBhIFdl
YkdQVURldmljZS4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357653</attachid>
            <date>2018-12-18 21:43:37 -0800</date>
            <delta_ts>2018-12-19 11:41:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192843-20181218214336.patch</filename>
            <type>text/plain</type>
            <size>40831</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MzU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmVmYWVjZGJlYWM5ZTg3
MDE3NDQzNmYyM2UwMWRkZjczNDgwNjEyMi4uNWY0NjVmNzk3MGU5OWY5NWI0ZDlmNjc1ZGZkOGM3
NjZkMzllOWVkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDE4LTEyLTE4ICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gV2ViR1BV
UGlwZWxpbmVMYXlvdXQvRGVzY3JpcHRvciBhbmQgZGV2aWNlOjpjcmVhdGVQaXBlbGluZUxheW91
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyODQz
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NjgyMDM5NT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiB3ZWJncHUvcGlwZWxpbmUtbGF5b3V0
cy5odG1sCisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBlbXRweSBXZWJHUFVQaXBlbGluZUxheW91
dCBpbnRlcmZhY2UsIGFuZCBlbmFibGUgY3JlYXRpb24gdmlhIFdlYkdQVURldmljZTo6Y3JlYXRl
UGlwZWxpbmVMYXlvdXQ6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVQmluZEdyb3Vw
TGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVUJpbmRHcm91cExheW91dDo6V2Vi
R1BVQmluZEdyb3VwTGF5b3V0KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5k
R3JvdXBMYXlvdXQuaDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVUJpbmRHcm91cExheW91dDo6
YmluZEdyb3VwTGF5b3V0IGNvbnN0KTogQWRkZWQgZ2V0dGVyLgorICAgICAgICAqIE1vZHVsZXMv
d2ViZ3B1L1dlYkdQVURldmljZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHUFVEZXZpY2U6
OmNyZWF0ZVBpcGVsaW5lTGF5b3V0IGNvbnN0KTogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy93
ZWJncHUvV2ViR1BVRGV2aWNlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2
aWNlLmlkbDogRW5hYmxlIGNyZWF0ZVBpcGVsaW5lTGF5b3V0LgorICAgICAgICAqIE1vZHVsZXMv
d2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpXZWJHUFVQaXBlbGluZUxheW91dDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdQ
VVBpcGVsaW5lTGF5b3V0OjpXZWJHUFVQaXBlbGluZUxheW91dCk6CisgICAgICAgICogTW9kdWxl
cy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlvdXQuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxl
cy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlvdXQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1
bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaDogQWRkZWQuCisgICAg
ICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmlkbDog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpHUFVEZXZpY2U6OmNyZWF0ZVBpcGVsaW5lTGF5b3V0IGNvbnN0KTog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVQaXBlbGluZUxheW91dC5jcHA6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6R1BVUGlwZWxpbmVMYXlvdXQ6OmNyZWF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpHUFVQaXBlbGluZUxheW91dDo6R1BVUGlwZWxpbmVMYXlvdXQpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVQaXBlbGluZUxheW91dC5oOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9y
Lmg6IEFkZGVkLgorCisgICAgICAgIEFkZCBmaWxlcyBhbmQgc3ltYm9scyB0byBwcm9qZWN0Ogor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6
CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMu
aDoKKwogMjAxOC0xMi0xOCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBTb21lIGlPUyBhcHAgY3Jhc2ggaW4gRnJhbWVMb2FkZXI6OmNoZWNrQ29tcGxldGVkCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CmluZGV4IDA3Y2RlMjM3NGE4OWM2NmRjZmYxZjQyZDY0Y2VkNWE4OGRj
ODIxOTEuLjg1YjJiNTMwOTFkYmQ0M2VlZjEyNTg4OTI3NzI5ZGU2OTRkMWU3MjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CkBAIC00NzEsNiArNDcxLDggQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExf
RklMRVMKICAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFVJbnB1dFN0YXRlRGVzY3JpcHRvci5pZGwK
ICAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFVJbnB1dFN0ZXBNb2RlLmlkbAogICAgIE1vZHVsZXMv
d2ViZ3B1L1dlYkdQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuaWRsCisgICAgTW9kdWxlcy93ZWJn
cHUvV2ViR1BVUGlwZWxpbmVMYXlvdXQuaWRsCisgICAgTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlw
ZWxpbmVMYXlvdXREZXNjcmlwdG9yLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVs
aW5lU3RhZ2VEZXNjcmlwdG9yLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVByb2dyYW1t
YWJsZVBhc3NFbmNvZGVyLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVF1ZXVlLmlkbApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMGYyOTdiYTc0YjFlNGQ1ZWVhMGI3NWZl
NWQ0MDllMTlkODg3MmM3MS4uZTk0OGI3MDJmMzdhNTY2ZTU1MGE1ZWJlNTZlNjAyZmNiNzkyMmY4
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0zODksNiArMzg5LDggQEAgSlNf
QklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVSW5w
dXRTdGVwTW9kZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVUXVl
dWUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lRGVz
Y3JpcHRvckJhc2UuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBp
cGVsaW5lTGF5b3V0LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQ
aXBlbGluZUxheW91dERlc2NyaXB0b3IuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2Vi
Z3B1L1dlYkdQVVBpcGVsaW5lU3RhZ2VEZXNjcmlwdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL3dlYmdwdS9XZWJHUFVQcm9ncmFtbWFibGVQYXNzRW5jb2Rlci5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERl
c2NyaXB0b3IuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dlYkdQVUJpbmRHcm91cExheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XZWJHUFVCaW5kR3JvdXBMYXlvdXQuY3BwCmluZGV4IGUxNTJiNzM4MWMwOGM5NTIzZGUxMGI3
ODFiMDM2NzVkMDNkZTdiNjMuLmQ5ODdiZjMzMjY3ODQ0ZWQ1MDc1ZTgzZTI2NWY2YzJiNjRkZmFi
ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUJpbmRH
cm91cExheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
QmluZEdyb3VwTGF5b3V0LmNwcApAQCAtMzYsNyArMzYsNyBAQCBSZWY8V2ViR1BVQmluZEdyb3Vw
TGF5b3V0PiBXZWJHUFVCaW5kR3JvdXBMYXlvdXQ6OmNyZWF0ZShSZWY8R1BVQmluZEdyb3VwTGF5
b3V0PgogfQogCiBXZWJHUFVCaW5kR3JvdXBMYXlvdXQ6OldlYkdQVUJpbmRHcm91cExheW91dChS
ZWY8R1BVQmluZEdyb3VwTGF5b3V0PiYmIGxheW91dCkKLSAgICA6IG1fbGF5b3V0KFdURk1vdmUo
bGF5b3V0KSkKKyAgICA6IG1fYmluZEdyb3VwTGF5b3V0KFdURk1vdmUobGF5b3V0KSkKIHsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQmluZEdy
b3VwTGF5b3V0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3Jv
dXBMYXlvdXQuaAppbmRleCA3ZDcxZTA3NDg5NTdiOTZiZDdkYTBjYTIzYmE5Nzc5NDhjMzhmZDg2
Li5iZTI5MjAzYTNlZTI0NThhNmY5Y2I0Nzc4NDllMjFiNDhlMzc5MWJjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXBMYXlvdXQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXBMYXlvdXQuaApA
QCAtMjksOCArMjksOCBAQAogCiAjaW5jbHVkZSAiR1BVQmluZEdyb3VwTGF5b3V0LmgiCiAKLSNp
bmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzgsMTAgKzM4LDEy
IEBAIGNsYXNzIFdlYkdQVUJpbmRHcm91cExheW91dCA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYkdQ
VUJpbmRHcm91cExheW91dD4gewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8V2ViR1BVQmluZEdy
b3VwTGF5b3V0PiBjcmVhdGUoUmVmPEdQVUJpbmRHcm91cExheW91dD4mJik7CiAKKyAgICBSZWZQ
dHI8R1BVQmluZEdyb3VwTGF5b3V0PiBiaW5kR3JvdXBMYXlvdXQoKSBjb25zdCB7IHJldHVybiBt
X2JpbmRHcm91cExheW91dC5jb3B5UmVmKCk7IH0KKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBX
ZWJHUFVCaW5kR3JvdXBMYXlvdXQoUmVmPEdQVUJpbmRHcm91cExheW91dD4mJik7CiAKLSAgICBS
ZWY8R1BVQmluZEdyb3VwTGF5b3V0PiBtX2xheW91dDsKKyAgICBSZWY8R1BVQmluZEdyb3VwTGF5
b3V0PiBtX2JpbmRHcm91cExheW91dDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwCmluZGV4IGU3
ODQ1MWRkNTZiMDY5YjQ4YjIzZThiNmQyZmU2ZDNmNTJjOTExMTguLmEzZmM3ZWExMzhmOWY0MjRh
YTJmMTY2MGMzNTQzM2M1MjliZmFmMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV2ViR1BVRGV2aWNlLmNwcApAQCAtMzYsNiArMzYsOCBAQAogI2luY2x1ZGUgIldlYkdQ
VUJpbmRHcm91cExheW91dC5oIgogI2luY2x1ZGUgIldlYkdQVUJ1ZmZlci5oIgogI2luY2x1ZGUg
IldlYkdQVUNvbW1hbmRCdWZmZXIuaCIKKyNpbmNsdWRlICJXZWJHUFVQaXBlbGluZUxheW91dC5o
IgorI2luY2x1ZGUgIldlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5oIgogI2luY2x1ZGUg
IldlYkdQVVBpcGVsaW5lU3RhZ2VEZXNjcmlwdG9yLmgiCiAjaW5jbHVkZSAiV2ViR1BVUXVldWUu
aCIKICNpbmNsdWRlICJXZWJHUFVSZW5kZXJQaXBlbGluZS5oIgpAQCAtNzEsNiArNzMsMTYgQEAg
UmVmPFdlYkdQVUJpbmRHcm91cExheW91dD4gV2ViR1BVRGV2aWNlOjpjcmVhdGVCaW5kR3JvdXBM
YXlvdXQoV2ViR1BVQmluZEdyb3VwTGEKICAgICByZXR1cm4gV2ViR1BVQmluZEdyb3VwTGF5b3V0
OjpjcmVhdGUoV1RGTW92ZShsYXlvdXQpKTsKIH0KIAorUmVmPFdlYkdQVVBpcGVsaW5lTGF5b3V0
PiBXZWJHUFVEZXZpY2U6OmNyZWF0ZVBpcGVsaW5lTGF5b3V0KFdlYkdQVVBpcGVsaW5lTGF5b3V0
RGVzY3JpcHRvciYmIGRlc2NyaXB0b3IpIGNvbnN0Cit7CisgICAgLy8gRklYTUU6IElzIGFuIGVt
cHR5IHBpcGVsaW5lTGF5b3V0IGFuIGVycm9yPworICAgIGF1dG8gYmluZEdyb3VwTGF5b3V0cyA9
IGRlc2NyaXB0b3IuYmluZEdyb3VwTGF5b3V0cy5tYXAoW10gKGNvbnN0IGF1dG8mIGxheW91dCkg
LT4gUmVmUHRyPGNvbnN0IEdQVUJpbmRHcm91cExheW91dD4geworICAgICAgICByZXR1cm4gbGF5
b3V0LT5iaW5kR3JvdXBMYXlvdXQoKTsKKyAgICB9KTsKKyAgICBhdXRvIGxheW91dCA9IG1fZGV2
aWNlLT5jcmVhdGVQaXBlbGluZUxheW91dChHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IgeyBX
VEZNb3ZlKGJpbmRHcm91cExheW91dHMpIH0pOworICAgIHJldHVybiBXZWJHUFVQaXBlbGluZUxh
eW91dDo6Y3JlYXRlKFdURk1vdmUobGF5b3V0KSk7Cit9CisKIFJlZlB0cjxXZWJHUFVTaGFkZXJN
b2R1bGU+IFdlYkdQVURldmljZTo6Y3JlYXRlU2hhZGVyTW9kdWxlKFdlYkdQVVNoYWRlck1vZHVs
ZURlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKSBjb25zdAogewogICAgIC8vIEZJWE1FOiBXaGF0IGNh
biBiZSB2YWxpZGF0ZWQgaGVyZT8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dlYkdQVURldmljZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2Vi
R1BVRGV2aWNlLmgKaW5kZXggMzBiMmU4NjI3ZDAzYTEzNTU5YzU0ZTQyN2UzZjIyMzY1ZjVhMjNk
YS4uNDRjY2UwNWJhNWNlNGM4M2FkNTllNDQ0ZjZiNmRhZDY2ZDBjM2IzZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmgKQEAgLTQzLDkgKzQzLDExIEBA
IGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiBjbGFzcyBXZWJHUFVCaW5kR3JvdXBMYXlv
dXQ7CiBjbGFzcyBXZWJHUFVCdWZmZXI7CiBjbGFzcyBXZWJHUFVDb21tYW5kQnVmZmVyOworY2xh
c3MgV2ViR1BVUGlwZWxpbmVMYXlvdXQ7CiBjbGFzcyBXZWJHUFVSZW5kZXJQaXBlbGluZTsKIGNs
YXNzIFdlYkdQVVNoYWRlck1vZHVsZTsKIAorc3RydWN0IFdlYkdQVVBpcGVsaW5lTGF5b3V0RGVz
Y3JpcHRvcjsKIHN0cnVjdCBXZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I7CiBzdHJ1Y3Qg
V2ViR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvcjsKIApAQCAtNTksNiArNjEsNyBAQCBwdWJsaWM6
CiAgICAgUmVmUHRyPFdlYkdQVUJ1ZmZlcj4gY3JlYXRlQnVmZmVyKFdlYkdQVUJ1ZmZlckRlc2Ny
aXB0b3ImJikgY29uc3Q7CiAKICAgICBSZWY8V2ViR1BVQmluZEdyb3VwTGF5b3V0PiBjcmVhdGVC
aW5kR3JvdXBMYXlvdXQoV2ViR1BVQmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvciYmKSBjb25zdDsK
KyAgICBSZWY8V2ViR1BVUGlwZWxpbmVMYXlvdXQ+IGNyZWF0ZVBpcGVsaW5lTGF5b3V0KFdlYkdQ
VVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciYmKSBjb25zdDsKIAogICAgIFJlZlB0cjxXZWJHUFVT
aGFkZXJNb2R1bGU+IGNyZWF0ZVNoYWRlck1vZHVsZShXZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlw
dG9yJiYpIGNvbnN0OwogICAgIFJlZlB0cjxXZWJHUFVSZW5kZXJQaXBlbGluZT4gY3JlYXRlUmVu
ZGVyUGlwZWxpbmUoV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yJiYpIGNvbnN0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5pZGwKaW5kZXggODM0
OGRmYmRjYTdiMTcxYTY1Yzg1MmEyNmFkZDgzZWJlMWNlZDE3Yy4uNzYwN2Q5MmU5NDlhNGJlMWVl
YjkzNWNkZGEwNTFkN2I4NjEwNjFlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV2ViR1BVRGV2aWNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XZWJHUFVEZXZpY2UuaWRsCkBAIC0zNiw2ICszNiw3IEBACiAgICAgV2ViR1BVQnVmZmVy
IGNyZWF0ZUJ1ZmZlcihXZWJHUFVCdWZmZXJEZXNjcmlwdG9yIGRlc2NyaXB0b3IpOwogCiAgICAg
V2ViR1BVQmluZEdyb3VwTGF5b3V0IGNyZWF0ZUJpbmRHcm91cExheW91dChXZWJHUFVCaW5kR3Jv
dXBMYXlvdXREZXNjcmlwdG9yIGRlc2NyaXB0b3IpOworICAgIFdlYkdQVVBpcGVsaW5lTGF5b3V0
IGNyZWF0ZVBpcGVsaW5lTGF5b3V0KFdlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciBkZXNj
cmlwdG9yKTsKIAogICAgIFdlYkdQVVNoYWRlck1vZHVsZSBjcmVhdGVTaGFkZXJNb2R1bGUoV2Vi
R1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvciBkZXNjcmlwdG9yKTsKICAgICBXZWJHUFVSZW5kZXJQ
aXBlbGluZSBjcmVhdGVSZW5kZXJQaXBlbGluZShXZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0
b3IgZGVzY3JpcHRvcik7CkBAIC00OSw3ICs1MCw2IEBACiAgICAgLy8gV2ViR1BVVGV4dHVyZSBj
cmVhdGVUZXh0dXJlKFdlYkdQVVRleHR1cmVEZXNjcmlwdG9yIGRlc2NyaXB0b3IpOwogICAgIC8v
IFdlYkdQVVNhbXBsZXIgY3JlYXRlU2FtcGxlcihXZWJHUFVTYW1wbGVyRGVzY3JpcHRvciBkZXNj
cmlwdG9yKTsKICAgICAvLwotICAgIC8vIFdlYkdQVVBpcGVsaW5lTGF5b3V0IGNyZWF0ZVBpcGVs
aW5lTGF5b3V0KFdlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciBkZXNjcmlwdG9yKTsKICAg
ICAvLyBXZWJHUFVCaW5kR3JvdXAgY3JlYXRlQmluZEdyb3VwKFdlYkdQVUJpbmRHcm91cERlc2Ny
aXB0b3IgZGVzY3JpcHRvcik7CiAgICAgLy8KICAgICAvLyBXZWJHUFVCbGVuZFN0YXRlIGNyZWF0
ZUJsZW5kU3RhdGUoV2ViR1BVQmxlbmRTdGF0ZURlc2NyaXB0b3IgZGVzY3JpcHRvcik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91
dC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYzY0YTU0NjE1ZTZhZjY1ZDNhODk4ZTVkMWM5OTMyMGUyMDBlNjBi
MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VVBpcGVsaW5lTGF5b3V0LmNwcApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkdQVVBpcGVsaW5lTGF5b3V0LmgiCisKKyNpZiBF
TkFCTEUoV0VCR1BVKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZjxXZWJHUFVQaXBlbGlu
ZUxheW91dD4gV2ViR1BVUGlwZWxpbmVMYXlvdXQ6OmNyZWF0ZShSZWY8R1BVUGlwZWxpbmVMYXlv
dXQ+JiYgbGF5b3V0KQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYkdQVVBpcGVsaW5l
TGF5b3V0KFdURk1vdmUobGF5b3V0KSkpOworfQorCitXZWJHUFVQaXBlbGluZUxheW91dDo6V2Vi
R1BVUGlwZWxpbmVMYXlvdXQoUmVmPEdQVVBpcGVsaW5lTGF5b3V0PiYmIGxheW91dCkKKyAgICA6
IG1fcGlwZWxpbmVMYXlvdXQoV1RGTW92ZShsYXlvdXQpKQoreworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlvdXQuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTU1MTU3NDI0YjBiZTI5OTYwYjRiMGFjYjAzZWMxNjNmZmJjOTg4MQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmgK
QEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxF
KFdFQkdQVSkKKworI2luY2x1ZGUgIkdQVVBpcGVsaW5lTGF5b3V0LmgiCisKKyNpbmNsdWRlIDx3
dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBXZWJHUFVQaXBlbGluZUxheW91dCA6IHB1YmxpYyBSZWZDb3VudGVkPFdl
YkdQVVBpcGVsaW5lTGF5b3V0PiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxXZWJHUFVQaXBl
bGluZUxheW91dD4gY3JlYXRlKFJlZjxHUFVQaXBlbGluZUxheW91dD4mJik7CisKK3ByaXZhdGU6
CisgICAgZXhwbGljaXQgV2ViR1BVUGlwZWxpbmVMYXlvdXQoUmVmPEdQVVBpcGVsaW5lTGF5b3V0
PiYmKTsKKworICAgIFJlZjxHUFVQaXBlbGluZUxheW91dD4gbV9waXBlbGluZUxheW91dDsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxh
eW91dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxh
eW91dC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzBlODU2ZjM3NWQzOTc5ZjBmNzMyYjc4YmUyZjhiYmNlNjg1
ZTdjOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dl
YkdQVVBpcGVsaW5lTGF5b3V0LmlkbApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKy8vIGh0
dHBzOi8vZ2l0aHViLmNvbS9ncHV3ZWIvZ3B1d2ViL2Jsb2IvbWFzdGVyL2Rlc2lnbi9za2V0Y2gu
d2ViaWRsCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJHUFUsCisgICAgRW5hYmxlZEF0UnVudGlt
ZT1XZWJHUFUsCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQorXSBpbnRlcmZhY2UgV2Vi
R1BVUGlwZWxpbmVMYXlvdXQgeworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMWI3MGFjNDA3Mzg2Y2UzY2EzMTY3ZDRjNWFhZGU1NWQyZjY2ZGEyOQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5
b3V0RGVzY3JpcHRvci5oCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworI2lmIEVOQUJMRShXRUJHUFUpCisKKyNpbmNsdWRlICJXZWJHUFVCaW5kR3JvdXBMYXlv
dXQuaCIKKworI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IFdlYkdQVVBpcGVsaW5lTGF5b3V0RGVz
Y3JpcHRvciB7CisgICAgVmVjdG9yPFJlZlB0cjxXZWJHUFVCaW5kR3JvdXBMYXlvdXQ+PiBiaW5k
R3JvdXBMYXlvdXRzOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8g
RU5BQkxFKFdFQkdQVSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaWRsCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmUzMWY4ODAwMDc2OGNlZDU0OGQ4MTFjNDQ0NWU4NTczYjBkYTAzYjYKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dERl
c2NyaXB0b3IuaWRsCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTgg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworLy8gaHR0cHM6Ly9naXRo
dWIuY29tL2dwdXdlYi9ncHV3ZWIvYmxvYi9tYXN0ZXIvZGVzaWduL3NrZXRjaC53ZWJpZGwKKwor
WworICAgIENvbmRpdGlvbmFsPVdFQkdQVSwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQor
XSBkaWN0aW9uYXJ5IFdlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciB7CisgICAgc2VxdWVu
Y2U8V2ViR1BVQmluZEdyb3VwTGF5b3V0PiBiaW5kR3JvdXBMYXlvdXRzOworfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50
eHQKaW5kZXggZTcwZGI4Mzk0NDFjODhmMTYwYTBmMmU2YjllMGU5YzU1MmQ2YTdkNC4uNDYxNzVm
MzUwOTUwMmNlYzExYTNhNWVlZTVhOWJhYjRiZjhlYmYwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTMw
OCw2ICszMDgsNyBAQCBNb2R1bGVzL3dlYmdwdS9XZWJHUFVCdWZmZXIuY3BwCiBNb2R1bGVzL3dl
YmdwdS9XZWJHUFVDb21tYW5kQnVmZmVyLmNwcAogTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNl
LmNwcAogTW9kdWxlcy93ZWJncHUvV2ViR1BVUXVldWUuY3BwCitNb2R1bGVzL3dlYmdwdS9XZWJH
UFVQaXBlbGluZUxheW91dC5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVByb2dyYW1tYWJsZVBh
c3NFbmNvZGVyLmNwcAogTW9kdWxlcy93ZWJncHUvV2ViR1BVUmVuZGVyaW5nQ29udGV4dC5jcHAK
IE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVJlbmRlclBhc3NFbmNvZGVyLmNwcApAQCAtMTc0NCw2ICsx
NzQ1LDcgQEAgcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9TcG90TGlnaHRTb3VyY2UuY3BwCiAK
IHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVCaW5kR3JvdXBMYXlvdXQuY3BwCiBwbGF0Zm9ybS9n
cmFwaGljcy9ncHUvR1BVRGV2aWNlLmNwcAorcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVBpcGVs
aW5lTGF5b3V0LmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2xlZ2FjeS9HUFVMZWdhY3lCdWZm
ZXIuY3BwCiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvbGVnYWN5L0dQVUxlZ2FjeUNvbW1hbmRCdWZm
ZXIuY3BwCiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvbGVnYWN5L0dQVUxlZ2FjeUNvbW1hbmRRdWV1
ZS5jcHAKQEAgLTMyNDEsNiArMzI0Myw4IEBAIEpTV2ViR1BVSW5wdXRTdGF0ZURlc2NyaXB0b3Iu
Y3BwCiBKU1dlYkdQVUlucHV0U3RlcE1vZGUuY3BwCiBKU1dlYkdQVVF1ZXVlLmNwcAogSlNXZWJH
UFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmNwcAorSlNXZWJHUFVQaXBlbGluZUxheW91dC5jcHAK
K0pTV2ViR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmNwcAogSlNXZWJHUFVQaXBlbGluZVN0
YWdlRGVzY3JpcHRvci5jcHAKIEpTV2ViR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIuY3BwCiBK
U1dlYkdQVVJlbmRlcmluZ0NvbnRleHQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNjNlOWE2ODNmZmE2ZTFhNDk2YzA5NzQ2
ZjczNDU3ZjZkZjFiMDQ4NS4uNTI5MTllNTA2MzRmODFiYTFkY2VjN2VhMDU5ODU1NDcxOWVmNzU3
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtMTM3MjAsNiArMTM3MjAsOSBAQAogCQlEMDAzMjg3OTIxQzg2NDVCMDA2MjJBQTYg
LyogV2ViR1BVQmluZEdyb3VwTGF5b3V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkdQVUJpbmRHcm91
cExheW91dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMDAzMjg3QTIxQzg2NDVC
MDA2MjJBQTYgLyogV2ViR1BVQmluZEdyb3VwTGF5b3V0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFdlYkdQVUJpbmRHcm91cExheW91dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUQwMDMyODdCMjFDODY0NUIwMDYyMkFBNiAvKiBXZWJHUFVCaW5kR3JvdXBMYXlvdXQuaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IFdlYkdQVUJpbmRHcm91cExheW91dC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUQwMDMyODg0MjFDOUEyMEQwMDYyMkFBNiAvKiBHUFVQaXBlbGluZUxheW91dERlc2NyaXB0
b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMDMyODg2MjFDOUE0RTUwMDYyMkFBNiAvKiBHUFVQ
aXBlbGluZUxheW91dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVQaXBlbGluZUxheW91dC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDAzMjg4NzIxQzlBNEU1MDA2MjJBQTYgLyogR1BV
UGlwZWxpbmVMYXlvdXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR1BVUGlwZWxpbmVMYXlvdXQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMDBGNTk0MDIxNkVDQzdBMDAwRDcx
REIgLyogRE9NV2luZG93V2ViR1BVLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdpbmRvd1dlYkdQVS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMDBGNTk0MTIxNkVDQzdBMDAwRDcxREIg
LyogRE9NV2luZG93V2ViR1BVLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERPTVdpbmRvd1dlYkdQ
VS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwMEY1OTQyMjE2RUNDN0EwMDBE
NzFEQiAvKiBET01XaW5kb3dXZWJHUFUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERPTVdpbmRvd1dlYkdQVS5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzgwOCw2ICsxMzgxMSwxMSBAQAogCQlEMDQ1
QUQyMTIxNjgyNDc0MDAwQTZFOUIgLyogV2ViTWV0YWxCdWZmZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gV2ViTWV0YWxCdWZmZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlE
MDQ1QUQyMjIxNjgyNDc0MDAwQTZFOUIgLyogV2ViTWV0YWxDb21tYW5kQnVmZmVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdlYk1ldGFsQ29tbWFuZEJ1ZmZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlEMDQ1QUQyMzIxNjgyNDc1MDAwQTZFOUIgLyogV2ViTWV0YWxDb21tYW5kUXVldWUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViTWV0YWxDb21tYW5kUXVldWUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlEMDVBOTlFMTIxQzlCNTBGMDAwMzJCNzUgLyogV2ViR1BV
UGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkdQVVBpcGVsaW5l
TGF5b3V0RGVzY3JpcHRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDVBOTlF
MjIxQzlCNTBGMDAwMzJCNzUgLyogV2ViR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBXZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlEMDVBOTlFNDIxQzlCRjJDMDAwMzJCNzUgLyogV2ViR1BVUGlwZWxpbmVM
YXlvdXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViR1BVUGlwZWxpbmVMYXlvdXQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA1QTk5RTUyMUM5QkYyQzAwMDMyQjc1IC8qIFdlYkdQVVBp
cGVsaW5lTGF5b3V0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkdQVVBpcGVsaW5lTGF5b3V0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA1QTk5RTYyMUM5QkYyQzAwMDMy
Qjc1IC8qIFdlYkdQVVBpcGVsaW5lTGF5b3V0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJHUFVQaXBlbGluZUxheW91
dC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwNUNFRDI3MEE0MEJCMkMwMEM1
QUYzOCAvKiBGb3JtYXRCbG9ja0NvbW1hbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEZvcm1hdEJsb2NrQ29tbWFuZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUQwNUNFRDI4MEE0MEJCMkMwMEM1QUYzOCAvKiBGb3JtYXRCbG9ja0NvbW1hbmQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvcm1hdEJsb2NrQ29tbWFuZC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMDYwRDg4NDIxODI1RDVGMDAzMzkzMTgg
LyogV2ViR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViR1BVU2hhZGVyTW9k
dWxlRGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODA2OCw2
ICsxODA3Niw5IEBACiAJCQkJMzEyRkY4QkUyMUE0QzJGMTAwRUIxOTlEIC8qIEdQVURldmljZS5o
ICovLAogCQkJCUQwRDg2NDk5MjFCQTFCMUYwMDNDOTgzQyAvKiBHUFVJbnB1dFN0YXRlRGVzY3Jp
cHRvci5oICovLAogCQkJCTMxMkZGOEM0MjFBNEMyRjQwMEVCMTk5RCAvKiBHUFVQaXBlbGluZURl
c2NyaXB0b3JCYXNlLmggKi8sCisJCQkJRDAwMzI4ODcyMUM5QTRFNTAwNjIyQUE2IC8qIEdQVVBp
cGVsaW5lTGF5b3V0LmNwcCAqLywKKwkJCQlEMDAzMjg4NjIxQzlBNEU1MDA2MjJBQTYgLyogR1BV
UGlwZWxpbmVMYXlvdXQuaCAqLywKKwkJCQlEMDAzMjg4NDIxQzlBMjBEMDA2MjJBQTYgLyogR1BV
UGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmggKi8sCiAJCQkJMzEyRkY4QzIyMUE0QzJGMzAwRUIx
OTlEIC8qIEdQVVBpcGVsaW5lU3RhZ2VEZXNjcmlwdG9yLmggKi8sCiAJCQkJRDAzMjExQ0YyMUFD
OTU0RTAwNzYzQ0YyIC8qIEdQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyLmggKi8sCiAJCQkJMzEy
RkY4QzEyMUE0QzJGMjAwRUIxOTlEIC8qIEdQVVF1ZXVlLmggKi8sCkBAIC0yNTYwMCw2ICsyNTYx
MSwxMSBAQAogCQkJCUQwNjNBRTQ3MjFDMDY2MjYwMDBFNkEzNSAvKiBXZWJHUFVJbnB1dFN0ZXBN
b2RlLmlkbCAqLywKIAkJCQlEMEM0MTlGMDIxODNFQjMxMDA5RUMxREUgLyogV2ViR1BVUGlwZWxp
bmVEZXNjcmlwdG9yQmFzZS5oICovLAogCQkJCUQwQzQxOUYxMjE4M0VCMzEwMDlFQzFERSAvKiBX
ZWJHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmlkbCAqLywKKwkJCQlEMDVBOTlFNTIxQzlCRjJD
MDAwMzJCNzUgLyogV2ViR1BVUGlwZWxpbmVMYXlvdXQuY3BwICovLAorCQkJCUQwNUE5OUU0MjFD
OUJGMkMwMDAzMkI3NSAvKiBXZWJHUFVQaXBlbGluZUxheW91dC5oICovLAorCQkJCUQwNUE5OUU2
MjFDOUJGMkMwMDAzMkI3NSAvKiBXZWJHUFVQaXBlbGluZUxheW91dC5pZGwgKi8sCisJCQkJRDA1
QTk5RTEyMUM5QjUwRjAwMDMyQjc1IC8qIFdlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5o
ICovLAorCQkJCUQwNUE5OUUyMjFDOUI1MEYwMDAzMkI3NSAvKiBXZWJHUFVQaXBlbGluZUxheW91
dERlc2NyaXB0b3IuaWRsICovLAogCQkJCUQwQzQxOUVCMjE4M0NGQTIwMDlFQzFERSAvKiBXZWJH
UFVQaXBlbGluZVN0YWdlRGVzY3JpcHRvci5oICovLAogCQkJCUQwQzQxOUVDMjE4M0NGQTIwMDlF
QzFERSAvKiBXZWJHUFVQaXBlbGluZVN0YWdlRGVzY3JpcHRvci5pZGwgKi8sCiAJCQkJRDBFQUNG
OTIyMTk0MEE1QjAwMEZBNzVDIC8qIFdlYkdQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyLmNwcCAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGlu
TmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMu
aAppbmRleCAxZDIxNDg3N2NlZTkyMWYxODE2ZWZhNDdkYTNjMDUyMWYwMDAxMTFkLi4yYWUxZWNm
NzgzNjFkODY2ODIxYzZlOWM4M2VkNWM0M2JiZWM0NTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0xOTgsNiArMTk4LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFdlYkdQVUluZGV4Rm9ybWF0KSBcCiAgICAg
bWFjcm8oV2ViR1BVSW5wdXRTdGVwTW9kZSkgXAogICAgIG1hY3JvKFdlYkdQVVF1ZXVlKSBcCisg
ICAgbWFjcm8oV2ViR1BVUGlwZWxpbmVMYXlvdXQpIFwKICAgICBtYWNybyhXZWJHUFVQcm9ncmFt
bWFibGVQYXNzRW5jb2RlcikgXAogICAgIG1hY3JvKFdlYkdQVVJlbmRlcmluZ0NvbnRleHQpIFwK
ICAgICBtYWNybyhXZWJHUFVSZW5kZXJQYXNzRW5jb2RlcikgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmNwcAppbmRleCBjNjk4MTVjN2E1
Nzc0YWFkZTJlZDdiY2NlYTg5M2VhYjZmODlmZjM3Li4xN2M3NmZkM2I1ZTc3MmJjOGZiMDU1OGJl
YzEzODNmYzkwMTcwYTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvR1BVRGV2aWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvR1BVRGV2aWNlLmNwcApAQCAtMzIsNiArMzIsOCBAQAogI2luY2x1ZGUgIkdQVUJp
bmRHcm91cExheW91dERlc2NyaXB0b3IuaCIKICNpbmNsdWRlICJHUFVCdWZmZXIuaCIKICNpbmNs
dWRlICJHUFVCdWZmZXJEZXNjcmlwdG9yLmgiCisjaW5jbHVkZSAiR1BVUGlwZWxpbmVMYXlvdXQu
aCIKKyNpbmNsdWRlICJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaCIKICNpbmNsdWRlICJH
UFVSZW5kZXJQaXBlbGluZS5oIgogI2luY2x1ZGUgIkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRv
ci5oIgogI2luY2x1ZGUgIkdQVVNoYWRlck1vZHVsZS5oIgpAQCAtNDksNiArNTEsMTEgQEAgUmVm
PEdQVUJpbmRHcm91cExheW91dD4gR1BVRGV2aWNlOjpjcmVhdGVCaW5kR3JvdXBMYXlvdXQoR1BV
QmluZEdyb3VwTGF5b3V0RGVzY3IKICAgICByZXR1cm4gR1BVQmluZEdyb3VwTGF5b3V0OjpjcmVh
dGUoV1RGTW92ZShkZXNjcmlwdG9yKSk7CiB9CiAKK1JlZjxHUFVQaXBlbGluZUxheW91dD4gR1BV
RGV2aWNlOjpjcmVhdGVQaXBlbGluZUxheW91dChHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3Im
JiBkZXNjcmlwdG9yKSBjb25zdAoreworICAgIHJldHVybiBHUFVQaXBlbGluZUxheW91dDo6Y3Jl
YXRlKFdURk1vdmUoZGVzY3JpcHRvcikpOworfQorCiBSZWZQdHI8R1BVU2hhZGVyTW9kdWxlPiBH
UFVEZXZpY2U6OmNyZWF0ZVNoYWRlck1vZHVsZShHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yJiYg
ZGVzY3JpcHRvcikgY29uc3QKIHsKICAgICByZXR1cm4gR1BVU2hhZGVyTW9kdWxlOjpjcmVhdGUo
KnRoaXMsIFdURk1vdmUoZGVzY3JpcHRvcikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oCmluZGV4IGIwMjk4N2UyMTE3ZjZmNTFiYWJjMjhi
ZGYxM2E2ZGYwNWViNDUyNWQuLjVjOWQzMDlhMzIxYzYxM2E3ODUwMmRiOWM1NjFlYmFjNTBhNzhi
YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVE
ZXZpY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2
aWNlLmgKQEAgLTQzLDEzICs0MywxNSBAQCB1c2luZyBQbGF0Zm9ybURldmljZVNtYXJ0UHRyID0g
UmV0YWluUHRyPE1UTERldmljZT47CiAKIGNsYXNzIEdQVUJpbmRHcm91cExheW91dDsKIGNsYXNz
IEdQVUJ1ZmZlcjsKK2NsYXNzIEdQVVBpcGVsaW5lTGF5b3V0OwogY2xhc3MgR1BVUmVuZGVyUGlw
ZWxpbmU7CiBjbGFzcyBHUFVTaGFkZXJNb2R1bGU7CiAKIHN0cnVjdCBHUFVCaW5kR3JvdXBMYXlv
dXREZXNjcmlwdG9yOwogc3RydWN0IEdQVUJ1ZmZlckRlc2NyaXB0b3I7Ci1zdHJ1Y3QgR1BVU2hh
ZGVyTW9kdWxlRGVzY3JpcHRvcjsKK3N0cnVjdCBHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3I7
CiBzdHJ1Y3QgR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yOworc3RydWN0IEdQVVNoYWRlck1v
ZHVsZURlc2NyaXB0b3I7CiAKIGNsYXNzIEdQVURldmljZSA6IHB1YmxpYyBSZWZDb3VudGVkPEdQ
VURldmljZT4gewogcHVibGljOgpAQCAtNTgsNiArNjAsNyBAQCBwdWJsaWM6CiAgICAgUmVmUHRy
PEdQVUJ1ZmZlcj4gY3JlYXRlQnVmZmVyKEdQVUJ1ZmZlckRlc2NyaXB0b3ImJikgY29uc3Q7CiAK
ICAgICBSZWY8R1BVQmluZEdyb3VwTGF5b3V0PiBjcmVhdGVCaW5kR3JvdXBMYXlvdXQoR1BVQmlu
ZEdyb3VwTGF5b3V0RGVzY3JpcHRvciYmKSBjb25zdDsKKyAgICBSZWY8R1BVUGlwZWxpbmVMYXlv
dXQ+IGNyZWF0ZVBpcGVsaW5lTGF5b3V0KEdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciYmKSBj
b25zdDsKIAogICAgIFJlZlB0cjxHUFVTaGFkZXJNb2R1bGU+IGNyZWF0ZVNoYWRlck1vZHVsZShH
UFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yJiYpIGNvbnN0OwogICAgIFJlZlB0cjxHUFVSZW5kZXJQ
aXBlbGluZT4gY3JlYXRlUmVuZGVyUGlwZWxpbmUoR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9y
JiYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVVBpcGVsaW5lTGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9HUFVQaXBlbGluZUxheW91dC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDMzMTA4OWFmMzQ0MmZj
NTZhYTkxOTZjNzMwYmNkMThmNjJiYWFmMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVQaXBlbGluZUxheW91dC5jcHAKQEAgLTAsMCAr
MSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJHUFVQ
aXBlbGluZUxheW91dC5oIgorCisjaWYgRU5BQkxFKFdFQkdQVSkKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitSZWY8R1BVUGlwZWxpbmVMYXlvdXQ+IEdQVVBpcGVsaW5lTGF5b3V0OjpjcmVhdGUo
R1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yJiYgZGVzY3JpcHRvcikKK3sKKyAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBHUFVQaXBlbGluZUxheW91dChXVEZNb3ZlKGRlc2NyaXB0b3IpKSk7Cit9
CisKK0dQVVBpcGVsaW5lTGF5b3V0OjpHUFVQaXBlbGluZUxheW91dChHUFVQaXBlbGluZUxheW91
dERlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKQorICAgIDogbV9kZXNjcmlwdG9yKGRlc2NyaXB0b3Ip
Cit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJH
UFUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
UGlwZWxpbmVMYXlvdXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVQaXBlbGluZUxheW91dC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA0MjBmNzRhN2I2MGMzZjYwYWYyODY2YWQy
MmNkYjQ2OTgzZjU2NTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVUGlwZWxpbmVMYXlvdXQuaApAQCAtMCwwICsxLDQ5IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCR1BVKQorCisjaW5jbHVkZSAi
R1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmgiCisKKyNpbmNsdWRlIDx3dGYvUmVmLmg+Cisj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBHUFVQaXBlbGluZUxheW91dCA6IHB1YmxpYyBSZWZDb3VudGVkPEdQVVBpcGVsaW5lTGF5b3V0
PiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxHUFVQaXBlbGluZUxheW91dD4gY3JlYXRlKEdQ
VVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciYmKTsKKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBH
UFVQaXBlbGluZUxheW91dChHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3ImJik7CisKKyAgICBH
UFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IgbV9kZXNjcmlwdG9yOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdQVSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVQaXBlbGluZUxheW91dERlc2Ny
aXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVQaXBlbGlu
ZUxheW91dERlc2NyaXB0b3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYTA5MTg5OTM4NTgyYmMyNzhjMTU4ZmRh
MWIyNzljMTg2Nzc1NTY5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5oCkBAIC0wLDAgKzEs
NDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJHUFUpCisK
KyNpbmNsdWRlICJHUFVCaW5kR3JvdXBMYXlvdXQuaCIKKworI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgR1BVUGlwZWxpbmVMYXlvdXREZXNj
cmlwdG9yIHsKKyAgICBWZWN0b3I8UmVmUHRyPGNvbnN0IEdQVUJpbmRHcm91cExheW91dD4+IGJp
bmRHcm91cExheW91dHM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDkxMzBiMTdmMWQ5NzVhNWE2OGE1ZTVlYTU4ZDgyZWYx
OTcyYjM2Y2UuLmY0ZTA0NzlkYzJmODliNjZmNjc5MTk1YmMzNGU1MTgxZTIzNGU5YzAgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNyBAQAorMjAxOC0xMi0xOCAgSnVzdGluIEZhbiAgPGp1c3Rpbl9mYW5AYXBw
bGUuY29tPgorCisgICAgICAgIFtXZWJHUFVdIFdlYkdQVVBpcGVsaW5lTGF5b3V0L0Rlc2NyaXB0
b3IgYW5kIGRldmljZTo6Y3JlYXRlUGlwZWxpbmVMYXlvdXQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Mjg0MworICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNDY4MjAzOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVXBkYXRlIGJpbmQtZ3JvdXAtbGF5b3V0cyBhbmQgcmVuYW1lIHRvIG1hdGNoIG5ldyBQ
aXBlbGluZUxheW91dCBmdW5jdGlvbmFsaXR5LgorCisgICAgICAgICogd2ViZ3B1L2JpbmQtZ3Jv
dXAtbGF5b3V0cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1L3BpcGVs
aW5lLWxheW91dHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJncHUvcGlwZWxp
bmUtbGF5b3V0cy5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvd2ViZ3B1L2JpbmQtZ3Jv
dXAtbGF5b3V0cy5odG1sLgorCiAyMDE4LTEyLTE4ICBKdXN0aW4gRmFuICA8anVzdGluX2ZhbkBh
cHBsZS5jb20+CiAKICAgICAgICAgW1dlYkdQVV0gQmluZEdyb3VwTGF5b3V0IGFuZCBEZXZpY2U6
OmNyZWF0ZUJpbmRHcm91cExheW91dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2Jp
bmQtZ3JvdXAtbGF5b3V0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJncHUvYmluZC1n
cm91cC1sYXlvdXRzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZjE0M2VlNmJhODYyMTBiNWFhNTM4MjgyZGYyYTJkY2FhZDdjODliMC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy93ZWJncHUvYmluZC1n
cm91cC1sYXlvdXRzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAot
Ci1QQVNTIENyZWF0ZSBhIGJhc2ljIFdlYkdQVUJpbmRHcm91cExheW91dERlc2NyaXB0b3IuIAot
UEFTUyBDcmVhdGUgYSBiYXNpYyBXZWJHUFVCaW5kR3JvdXBMYXlvdXQgd2l0aCBhIFdlYkdQVURl
dmljZS4gCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdwdS9iaW5kLWdyb3VwLWxheW91
dHMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdwdS9iaW5kLWdyb3VwLWxheW91dHMuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDZiMWViNTdhNzliNjAyZjExZDRiODkwNWZlNzQ3
OTk0NjRhYzRhOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy93ZWJncHUvYmluZC1ncm91cC1sYXlvdXRzLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwzMCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIGV4cGVyaW1lbnRhbDpXZWJHUFVFbmFibGVkPXRydWUgXSAtLT4KLTxtZXRhIGNoYXJzZXQ9
dXRmLTg+Ci08dGl0bGU+Q3JlYXRlIFdlYkdQVUJpbmRHcm91cExheW91dC48L3RpdGxlPgotPGJv
ZHk+Ci08c2NyaXB0IHNyYz0ianMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLWZ1bmN0aW9uIGNyZWF0ZUJpbmRHcm91cExheW91dEJpbmRpbmcoKSB7Ci0gICAgcmV0dXJu
IHsKLSAgICAgICAgYmluZGluZzogMCwKLSAgICAgICAgdmlzaWJpbGl0eTogV2ViR1BVU2hhZGVy
U3RhZ2VCaXQuRlJBR01FTlQgfCBXZWJHUFVTaGFkZXJTdGFnZUJpdC5WRVJURVgsCi0gICAgICAg
IHR5cGU6ICJzdG9yYWdlQnVmZmVyIgotICAgIH07Ci19Ci0KLXRlc3QoKCkgPT4gewotICAgIGNv
bnN0IGJpbmRHcm91cExheW91dERlc2NyaXB0b3IgPSB7IGJpbmRpbmdzOiBbY3JlYXRlQmluZEdy
b3VwTGF5b3V0QmluZGluZygpXSB9OwotICAgIGFzc2VydF9ub3RfZXF1YWxzKGJpbmRHcm91cExh
eW91dERlc2NyaXB0b3IuYmluZGluZ3NbMF0udmlzaWJpbGl0eSAmIFdlYkdQVVNoYWRlclN0YWdl
Qml0LkZSQUdNRU5ULCAwKTsKLSAgICBhc3NlcnRfbm90X2VxdWFscyhiaW5kR3JvdXBMYXlvdXRE
ZXNjcmlwdG9yLmJpbmRpbmdzWzBdLnZpc2liaWxpdHkgJiBXZWJHUFVTaGFkZXJTdGFnZUJpdC5W
RVJURVgsIDApOwotICAgIGFzc2VydF9lcXVhbHMoYmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvci5i
aW5kaW5nc1swXS50eXBlLCAic3RvcmFnZUJ1ZmZlciIpOwotfSwgIkNyZWF0ZSBhIGJhc2ljIFdl
YkdQVUJpbmRHcm91cExheW91dERlc2NyaXB0b3IuIik7Ci0KLXByb21pc2VfdGVzdChhc3luYyAo
KSA9PiB7Ci0gICAgY29uc3QgZGV2aWNlID0gYXdhaXQgd2luZG93LmdldEJhc2ljRGV2aWNlKCk7
Ci0gICAgY29uc3QgYmluZEdyb3VwTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZUJpbmRHcm91cExheW91
dCh7IGJpbmRpbmdzOiBbY3JlYXRlQmluZEdyb3VwTGF5b3V0QmluZGluZygpXSB9KTsKLSAgICBh
c3NlcnRfdHJ1ZShiaW5kR3JvdXBMYXlvdXQgaW5zdGFuY2VvZiBXZWJHUFVCaW5kR3JvdXBMYXlv
dXQsICJjcmVhdGVCaW5kR3JvdXBMYXlvdXQgcmV0dXJuZWQgYSBXZWJHUFVCaW5kR3JvdXBMYXlv
dXQiKTsKLX0sICJDcmVhdGUgYSBiYXNpYyBXZWJHUFVCaW5kR3JvdXBMYXlvdXQgd2l0aCBhIFdl
YkdQVURldmljZS4iKTsKLTwvc2NyaXB0PgotPC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdwdS9waXBlbGluZS1sYXlvdXRzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdwdS9waXBlbGluZS1sYXlvdXRzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5hODc3ODdkMzIwMDRhMTkzMzkwMWJlNzQwZWZjNGRhMjJmNGUwOTdj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L3BpcGVsaW5lLWxheW91dHMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIENyZWF0ZSBhIGJhc2ljIFdlYkdQ
VUJpbmRHcm91cExheW91dERlc2NyaXB0b3IuIAorUEFTUyBDcmVhdGUgYSBiYXNpYyBXZWJHUFVQ
aXBlbGluZUxheW91dCB3dGloIGEgV2ViR1BVRGV2aWNlLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ3B1L3BpcGVsaW5lLWxheW91dHMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdwdS9w
aXBlbGluZS1sYXlvdXRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE2N2Y2ZGVmMmRkMjZkNzIzMzYyMmNi
NDFiNGM1MGU0NmFmYmY0ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdwdS9w
aXBlbGluZS1sYXlvdXRzLmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPCFET0NUWVBFIGh0bWw+PCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6V2ViR1BVRW5hYmxlZD10cnVlIF0g
LS0+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPkNyZWF0ZSBXZWJHUFVCaW5kR3JvdXBM
YXlvdXQuPC90aXRsZT4KKzxib2R5PgorPHNjcmlwdCBzcmM9ImpzL3dlYmdwdS1mdW5jdGlvbnMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBjcmVhdGVCaW5kR3JvdXBMYXlvdXRCaW5k
aW5nKCkgeworICAgIHJldHVybiB7CisgICAgICAgIGJpbmRpbmc6IDAsCisgICAgICAgIHZpc2li
aWxpdHk6IFdlYkdQVVNoYWRlclN0YWdlQml0LkZSQUdNRU5UIHwgV2ViR1BVU2hhZGVyU3RhZ2VC
aXQuVkVSVEVYLAorICAgICAgICB0eXBlOiAic3RvcmFnZUJ1ZmZlciIKKyAgICB9OworfQorCit0
ZXN0KCgpID0+IHsKKyAgICBjb25zdCBiaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9yID0geyBiaW5k
aW5nczogW2NyZWF0ZUJpbmRHcm91cExheW91dEJpbmRpbmcoKV0gfTsKKyAgICBhc3NlcnRfbm90
X2VxdWFscyhiaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9yLmJpbmRpbmdzWzBdLnZpc2liaWxpdHkg
JiBXZWJHUFVTaGFkZXJTdGFnZUJpdC5GUkFHTUVOVCwgMCk7CisgICAgYXNzZXJ0X25vdF9lcXVh
bHMoYmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvci5iaW5kaW5nc1swXS52aXNpYmlsaXR5ICYgV2Vi
R1BVU2hhZGVyU3RhZ2VCaXQuVkVSVEVYLCAwKTsKKyAgICBhc3NlcnRfZXF1YWxzKGJpbmRHcm91
cExheW91dERlc2NyaXB0b3IuYmluZGluZ3NbMF0udHlwZSwgInN0b3JhZ2VCdWZmZXIiKTsKK30s
ICJDcmVhdGUgYSBiYXNpYyBXZWJHUFVCaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9yLiIpOyAKKwor
cHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgICBjb25zdCBkZXZpY2UgPSBhd2FpdCB3aW5k
b3cuZ2V0QmFzaWNEZXZpY2UoKTsKKyAgICBjb25zdCBiaW5kR3JvdXBMYXlvdXQgPSBkZXZpY2Uu
Y3JlYXRlQmluZEdyb3VwTGF5b3V0KHsgYmluZGluZ3M6IFtjcmVhdGVCaW5kR3JvdXBMYXlvdXRC
aW5kaW5nKCldIH0pOworICAgIGFzc2VydF90cnVlKGJpbmRHcm91cExheW91dCBpbnN0YW5jZW9m
IFdlYkdQVUJpbmRHcm91cExheW91dCwgImNyZWF0ZUJpbmRHcm91cExheW91dCByZXR1cm5lZCBh
IFdlYkdQVUJpbmRHcm91cExheW91dCIpOworCisgICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBk
ZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQoeyBiaW5kR3JvdXBMYXlvdXRzOiBbYmluZEdyb3Vw
TGF5b3V0XSB9KTsKKyAgICBhc3NlcnRfdHJ1ZShwaXBlbGluZUxheW91dCBpbnN0YW5jZW9mIFdl
YkdQVVBpcGVsaW5lTGF5b3V0LCAiY3JlYXRlUGlwZWxpbmVMYXlvdXQgcmV0dXJuZWQgYSBXZWJH
UFVQaXBlbGluZUxheW91dCIpOworfSwgIkNyZWF0ZSBhIGJhc2ljIFdlYkdQVVBpcGVsaW5lTGF5
b3V0IHd0aWggYSBXZWJHUFVEZXZpY2UuIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357700</attachid>
            <date>2018-12-19 11:42:07 -0800</date>
            <delta_ts>2018-12-19 16:18:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192843-20181219114206.patch</filename>
            <type>text/plain</type>
            <size>41358</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MzU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmVmYWVjZGJlYWM5ZTg3
MDE3NDQzNmYyM2UwMWRkZjczNDgwNjEyMi4uNmRjY2JmNmI4MTM1ZmY0N2JlYzk1N2FjYzdkNDc0
ZjViMTM1YmJmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDE4LTEyLTE4ICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gV2ViR1BV
UGlwZWxpbmVMYXlvdXQvRGVzY3JpcHRvciBhbmQgZGV2aWNlOjpjcmVhdGVQaXBlbGluZUxheW91
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyODQz
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NjgyMDM5NT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiB3ZWJncHUvcGlwZWxpbmUtbGF5b3V0
cy5odG1sCisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBlbXRweSBXZWJHUFVQaXBlbGluZUxheW91
dCBpbnRlcmZhY2UsIGFuZCBlbmFibGUgY3JlYXRpb24gdmlhIFdlYkdQVURldmljZTo6Y3JlYXRl
UGlwZWxpbmVMYXlvdXQ6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVQmluZEdyb3Vw
TGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVUJpbmRHcm91cExheW91dDo6V2Vi
R1BVQmluZEdyb3VwTGF5b3V0KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5k
R3JvdXBMYXlvdXQuaDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVUJpbmRHcm91cExheW91dDo6
YmluZEdyb3VwTGF5b3V0IGNvbnN0KTogQWRkZWQgZ2V0dGVyLgorICAgICAgICAqIE1vZHVsZXMv
d2ViZ3B1L1dlYkdQVURldmljZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHUFVEZXZpY2U6
OmNyZWF0ZVBpcGVsaW5lTGF5b3V0IGNvbnN0KTogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy93
ZWJncHUvV2ViR1BVRGV2aWNlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2
aWNlLmlkbDogRW5hYmxlIGNyZWF0ZVBpcGVsaW5lTGF5b3V0LgorICAgICAgICAqIE1vZHVsZXMv
d2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpXZWJHUFVQaXBlbGluZUxheW91dDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdQ
VVBpcGVsaW5lTGF5b3V0OjpXZWJHUFVQaXBlbGluZUxheW91dCk6CisgICAgICAgICogTW9kdWxl
cy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlvdXQuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxl
cy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlvdXQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1
bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaDogQWRkZWQuCisgICAg
ICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmlkbDog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpHUFVEZXZpY2U6OmNyZWF0ZVBpcGVsaW5lTGF5b3V0IGNvbnN0KTog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVQaXBlbGluZUxheW91dC5jcHA6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6R1BVUGlwZWxpbmVMYXlvdXQ6OmNyZWF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpHUFVQaXBlbGluZUxheW91dDo6R1BVUGlwZWxpbmVMYXlvdXQpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVQaXBlbGluZUxheW91dC5oOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9y
Lmg6IEFkZGVkLgorCisgICAgICAgIEFkZCBmaWxlcyBhbmQgc3ltYm9scyB0byBwcm9qZWN0Ogor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6
CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMu
aDoKKworICAgICAgICBBZGQgbWlzc2luZyBpbmNsdWRlOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
Z3B1L1dlYkdQVVF1ZXVlLmg6CisKIDIwMTgtMTItMTggIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgU29tZSBpT1MgYXBwIGNyYXNoIGluIEZyYW1lTG9hZGVyOjpj
aGVja0NvbXBsZXRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQg
Yi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAwN2NkZTIzNzRhODljNjZkY2Zm
MWY0MmQ2NGNlZDVhODhkYzgyMTkxLi44NWIyYjUzMDkxZGJkNDNlZWYxMjU4ODkyNzcyOWRlNjk0
ZDFlNzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNDcxLDYgKzQ3MSw4IEBAIHNldChXZWJD
b3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy93ZWJncHUvV2ViR1BVSW5wdXRTdGF0
ZURlc2NyaXB0b3IuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvV2ViR1BVSW5wdXRTdGVwTW9kZS5p
ZGwKICAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmlkbAor
ICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmlkbAorICAgIE1vZHVsZXMv
d2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5pZGwKICAgICBNb2R1bGVzL3dl
YmdwdS9XZWJHUFVQaXBlbGluZVN0YWdlRGVzY3JpcHRvci5pZGwKICAgICBNb2R1bGVzL3dlYmdw
dS9XZWJHUFVQcm9ncmFtbWFibGVQYXNzRW5jb2Rlci5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9X
ZWJHUFVRdWV1ZS5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDBmMjk3YmE3
NGIxZTRkNWVlYTBiNzVmZTVkNDA5ZTE5ZDg4NzJjNzEuLmU5NDhiNzAyZjM3YTU2NmU1NTBhNWVi
ZTU2ZTYwMmZjYjc5MjJmOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMzg5
LDYgKzM4OSw4IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
d2ViZ3B1L1dlYkdQVUlucHV0U3RlcE1vZGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
d2ViZ3B1L1dlYkdQVVF1ZXVlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9X
ZWJHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxl
cy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZVN0YWdlRGVzY3JpcHRvci5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29k
ZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVJlbmRlclBhc3ND
b2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXBMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQmluZEdyb3VwTGF5b3V0LmNwcAppbmRleCBlMTUyYjcz
ODFjMDhjOTUyM2RlMTBiNzgxYjAzNjc1ZDAzZGU3YjYzLi5kOTg3YmYzMzI2Nzg0NGVkNTA3NWU4
M2UyNjVmNmMyYjY0ZGZhYmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XZWJHUFVCaW5kR3JvdXBMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dlYkdQVUJpbmRHcm91cExheW91dC5jcHAKQEAgLTM2LDcgKzM2LDcgQEAgUmVm
PFdlYkdQVUJpbmRHcm91cExheW91dD4gV2ViR1BVQmluZEdyb3VwTGF5b3V0OjpjcmVhdGUoUmVm
PEdQVUJpbmRHcm91cExheW91dD4KIH0KIAogV2ViR1BVQmluZEdyb3VwTGF5b3V0OjpXZWJHUFVC
aW5kR3JvdXBMYXlvdXQoUmVmPEdQVUJpbmRHcm91cExheW91dD4mJiBsYXlvdXQpCi0gICAgOiBt
X2xheW91dChXVEZNb3ZlKGxheW91dCkpCisgICAgOiBtX2JpbmRHcm91cExheW91dChXVEZNb3Zl
KGxheW91dCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dlYkdQVUJpbmRHcm91cExheW91dC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV2ViR1BVQmluZEdyb3VwTGF5b3V0LmgKaW5kZXggN2Q3MWUwNzQ4OTU3Yjk2YmQ3ZGEwY2Ey
M2JhOTc3OTQ4YzM4ZmQ4Ni4uYmUyOTIwM2EzZWUyNDU4YTZmOWNiNDc3ODQ5ZTIxYjQ4ZTM3OTFi
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQmluZEdy
b3VwTGF5b3V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQmlu
ZEdyb3VwTGF5b3V0LmgKQEAgLTI5LDggKzI5LDggQEAKIAogI2luY2x1ZGUgIkdQVUJpbmRHcm91
cExheW91dC5oIgogCi0jaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTM4LDEwICszOCwxMiBAQCBjbGFzcyBXZWJHUFVCaW5kR3JvdXBMYXlvdXQgOiBwdWJsaWMg
UmVmQ291bnRlZDxXZWJHUFVCaW5kR3JvdXBMYXlvdXQ+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UmVmPFdlYkdQVUJpbmRHcm91cExheW91dD4gY3JlYXRlKFJlZjxHUFVCaW5kR3JvdXBMYXlvdXQ+
JiYpOwogCisgICAgUmVmUHRyPEdQVUJpbmRHcm91cExheW91dD4gYmluZEdyb3VwTGF5b3V0KCkg
Y29uc3QgeyByZXR1cm4gbV9iaW5kR3JvdXBMYXlvdXQuY29weVJlZigpOyB9CisKIHByaXZhdGU6
CiAgICAgZXhwbGljaXQgV2ViR1BVQmluZEdyb3VwTGF5b3V0KFJlZjxHUFVCaW5kR3JvdXBMYXlv
dXQ+JiYpOwogCi0gICAgUmVmPEdQVUJpbmRHcm91cExheW91dD4gbV9sYXlvdXQ7CisgICAgUmVm
PEdQVUJpbmRHcm91cExheW91dD4gbV9iaW5kR3JvdXBMYXlvdXQ7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
ZWJHUFVEZXZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2
aWNlLmNwcAppbmRleCBlNzg0NTFkZDU2YjA2OWI0OGIyM2U4YjZkMmZlNmQzZjUyYzkxMTE4Li5h
M2ZjN2VhMTM4ZjlmNDI0YWEyZjE2NjBjMzU0MzNjNTI5YmZhZjM3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAKQEAgLTM2LDYgKzM2LDggQEAK
ICNpbmNsdWRlICJXZWJHUFVCaW5kR3JvdXBMYXlvdXQuaCIKICNpbmNsdWRlICJXZWJHUFVCdWZm
ZXIuaCIKICNpbmNsdWRlICJXZWJHUFVDb21tYW5kQnVmZmVyLmgiCisjaW5jbHVkZSAiV2ViR1BV
UGlwZWxpbmVMYXlvdXQuaCIKKyNpbmNsdWRlICJXZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0
b3IuaCIKICNpbmNsdWRlICJXZWJHUFVQaXBlbGluZVN0YWdlRGVzY3JpcHRvci5oIgogI2luY2x1
ZGUgIldlYkdQVVF1ZXVlLmgiCiAjaW5jbHVkZSAiV2ViR1BVUmVuZGVyUGlwZWxpbmUuaCIKQEAg
LTcxLDYgKzczLDE2IEBAIFJlZjxXZWJHUFVCaW5kR3JvdXBMYXlvdXQ+IFdlYkdQVURldmljZTo6
Y3JlYXRlQmluZEdyb3VwTGF5b3V0KFdlYkdQVUJpbmRHcm91cExhCiAgICAgcmV0dXJuIFdlYkdQ
VUJpbmRHcm91cExheW91dDo6Y3JlYXRlKFdURk1vdmUobGF5b3V0KSk7CiB9CiAKK1JlZjxXZWJH
UFVQaXBlbGluZUxheW91dD4gV2ViR1BVRGV2aWNlOjpjcmVhdGVQaXBlbGluZUxheW91dChXZWJH
UFVQaXBlbGluZUxheW91dERlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKSBjb25zdAoreworICAgIC8v
IEZJWE1FOiBJcyBhbiBlbXB0eSBwaXBlbGluZUxheW91dCBhbiBlcnJvcj8KKyAgICBhdXRvIGJp
bmRHcm91cExheW91dHMgPSBkZXNjcmlwdG9yLmJpbmRHcm91cExheW91dHMubWFwKFtdIChjb25z
dCBhdXRvJiBsYXlvdXQpIC0+IFJlZlB0cjxjb25zdCBHUFVCaW5kR3JvdXBMYXlvdXQ+IHsKKyAg
ICAgICAgcmV0dXJuIGxheW91dC0+YmluZEdyb3VwTGF5b3V0KCk7CisgICAgfSk7CisgICAgYXV0
byBsYXlvdXQgPSBtX2RldmljZS0+Y3JlYXRlUGlwZWxpbmVMYXlvdXQoR1BVUGlwZWxpbmVMYXlv
dXREZXNjcmlwdG9yIHsgV1RGTW92ZShiaW5kR3JvdXBMYXlvdXRzKSB9KTsKKyAgICByZXR1cm4g
V2ViR1BVUGlwZWxpbmVMYXlvdXQ6OmNyZWF0ZShXVEZNb3ZlKGxheW91dCkpOworfQorCiBSZWZQ
dHI8V2ViR1BVU2hhZGVyTW9kdWxlPiBXZWJHUFVEZXZpY2U6OmNyZWF0ZVNoYWRlck1vZHVsZShX
ZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yJiYgZGVzY3JpcHRvcikgY29uc3QKIHsKICAgICAv
LyBGSVhNRTogV2hhdCBjYW4gYmUgdmFsaWRhdGVkIGhlcmU/CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5oCmluZGV4IDMwYjJlODYyN2QwM2ExMzU1OWM1NGU0
MjdlM2YyMjM2NWY1YTIzZGEuLjQ0Y2NlMDViYTVjZTRjODNhZDU5ZTQ0NGY2YjZkYWQ2NmQwYzNi
M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmlj
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5oCkBA
IC00Myw5ICs0MywxMSBAQCBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgV2Vi
R1BVQmluZEdyb3VwTGF5b3V0OwogY2xhc3MgV2ViR1BVQnVmZmVyOwogY2xhc3MgV2ViR1BVQ29t
bWFuZEJ1ZmZlcjsKK2NsYXNzIFdlYkdQVVBpcGVsaW5lTGF5b3V0OwogY2xhc3MgV2ViR1BVUmVu
ZGVyUGlwZWxpbmU7CiBjbGFzcyBXZWJHUFVTaGFkZXJNb2R1bGU7CiAKK3N0cnVjdCBXZWJHUFVQ
aXBlbGluZUxheW91dERlc2NyaXB0b3I7CiBzdHJ1Y3QgV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNj
cmlwdG9yOwogc3RydWN0IFdlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3I7CiAKQEAgLTU5LDYg
KzYxLDcgQEAgcHVibGljOgogICAgIFJlZlB0cjxXZWJHUFVCdWZmZXI+IGNyZWF0ZUJ1ZmZlcihX
ZWJHUFVCdWZmZXJEZXNjcmlwdG9yJiYpIGNvbnN0OwogCiAgICAgUmVmPFdlYkdQVUJpbmRHcm91
cExheW91dD4gY3JlYXRlQmluZEdyb3VwTGF5b3V0KFdlYkdQVUJpbmRHcm91cExheW91dERlc2Ny
aXB0b3ImJikgY29uc3Q7CisgICAgUmVmPFdlYkdQVVBpcGVsaW5lTGF5b3V0PiBjcmVhdGVQaXBl
bGluZUxheW91dChXZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3ImJikgY29uc3Q7CiAKICAg
ICBSZWZQdHI8V2ViR1BVU2hhZGVyTW9kdWxlPiBjcmVhdGVTaGFkZXJNb2R1bGUoV2ViR1BVU2hh
ZGVyTW9kdWxlRGVzY3JpcHRvciYmKSBjb25zdDsKICAgICBSZWZQdHI8V2ViR1BVUmVuZGVyUGlw
ZWxpbmU+IGNyZWF0ZVJlbmRlclBpcGVsaW5lKFdlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRv
ciYmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dl
YkdQVURldmljZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZp
Y2UuaWRsCmluZGV4IDgzNDhkZmJkY2E3YjE3MWE2NWM4NTJhMjZhZGQ4M2ViZTFjZWQxN2MuLjc2
MDdkOTJlOTQ5YTRiZTFlZWI5MzVjZGRhMDUxZDdiODYxMDYxZWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmlkbApAQCAtMzYsNiArMzYsNyBAQAog
ICAgIFdlYkdQVUJ1ZmZlciBjcmVhdGVCdWZmZXIoV2ViR1BVQnVmZmVyRGVzY3JpcHRvciBkZXNj
cmlwdG9yKTsKIAogICAgIFdlYkdQVUJpbmRHcm91cExheW91dCBjcmVhdGVCaW5kR3JvdXBMYXlv
dXQoV2ViR1BVQmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvciBkZXNjcmlwdG9yKTsKKyAgICBXZWJH
UFVQaXBlbGluZUxheW91dCBjcmVhdGVQaXBlbGluZUxheW91dChXZWJHUFVQaXBlbGluZUxheW91
dERlc2NyaXB0b3IgZGVzY3JpcHRvcik7CiAKICAgICBXZWJHUFVTaGFkZXJNb2R1bGUgY3JlYXRl
U2hhZGVyTW9kdWxlKFdlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IgZGVzY3JpcHRvcik7CiAg
ICAgV2ViR1BVUmVuZGVyUGlwZWxpbmUgY3JlYXRlUmVuZGVyUGlwZWxpbmUoV2ViR1BVUmVuZGVy
UGlwZWxpbmVEZXNjcmlwdG9yIGRlc2NyaXB0b3IpOwpAQCAtNDksNyArNTAsNiBAQAogICAgIC8v
IFdlYkdQVVRleHR1cmUgY3JlYXRlVGV4dHVyZShXZWJHUFVUZXh0dXJlRGVzY3JpcHRvciBkZXNj
cmlwdG9yKTsKICAgICAvLyBXZWJHUFVTYW1wbGVyIGNyZWF0ZVNhbXBsZXIoV2ViR1BVU2FtcGxl
ckRlc2NyaXB0b3IgZGVzY3JpcHRvcik7CiAgICAgLy8KLSAgICAvLyBXZWJHUFVQaXBlbGluZUxh
eW91dCBjcmVhdGVQaXBlbGluZUxheW91dChXZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3Ig
ZGVzY3JpcHRvcik7CiAgICAgLy8gV2ViR1BVQmluZEdyb3VwIGNyZWF0ZUJpbmRHcm91cChXZWJH
UFVCaW5kR3JvdXBEZXNjcmlwdG9yIGRlc2NyaXB0b3IpOwogICAgIC8vCiAgICAgLy8gV2ViR1BV
QmxlbmRTdGF0ZSBjcmVhdGVCbGVuZFN0YXRlKFdlYkdQVUJsZW5kU3RhdGVEZXNjcmlwdG9yIGRl
c2NyaXB0b3IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2Vi
R1BVUGlwZWxpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2Vi
R1BVUGlwZWxpbmVMYXlvdXQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2NGE1NDYxNWU2YWY2NWQzYTg5OGU1
ZDFjOTkzMjBlMjAwZTYwYjAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dC5jcHAKQEAgLTAsMCArMSw0NSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJHUFVQaXBlbGluZUxh
eW91dC5oIgorCisjaWYgRU5BQkxFKFdFQkdQVSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitS
ZWY8V2ViR1BVUGlwZWxpbmVMYXlvdXQ+IFdlYkdQVVBpcGVsaW5lTGF5b3V0OjpjcmVhdGUoUmVm
PEdQVVBpcGVsaW5lTGF5b3V0PiYmIGxheW91dCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBXZWJHUFVQaXBlbGluZUxheW91dChXVEZNb3ZlKGxheW91dCkpKTsKK30KKworV2ViR1BVUGlw
ZWxpbmVMYXlvdXQ6OldlYkdQVVBpcGVsaW5lTGF5b3V0KFJlZjxHUFVQaXBlbGluZUxheW91dD4m
JiBsYXlvdXQpCisgICAgOiBtX3BpcGVsaW5lTGF5b3V0KFdURk1vdmUobGF5b3V0KSkKK3sKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdQVSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5
b3V0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91
dC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU1NTE1NzQyNGIwYmUyOTk2MGI0YjBhY2IwM2VjMTYzZmZiYzk4ODEK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQ
aXBlbGluZUxheW91dC5oCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworI2lmIEVOQUJMRShXRUJHUFUpCisKKyNpbmNsdWRlICJHUFVQaXBlbGluZUxheW91dC5o
IgorCisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV2ViR1BVUGlwZWxpbmVMYXlvdXQgOiBwdWJs
aWMgUmVmQ291bnRlZDxXZWJHUFVQaXBlbGluZUxheW91dD4geworcHVibGljOgorICAgIHN0YXRp
YyBSZWY8V2ViR1BVUGlwZWxpbmVMYXlvdXQ+IGNyZWF0ZShSZWY8R1BVUGlwZWxpbmVMYXlvdXQ+
JiYpOworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IFdlYkdQVVBpcGVsaW5lTGF5b3V0KFJlZjxH
UFVQaXBlbGluZUxheW91dD4mJik7CisKKyAgICBSZWY8R1BVUGlwZWxpbmVMYXlvdXQ+IG1fcGlw
ZWxpbmVMYXlvdXQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBF
TkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V2ViR1BVUGlwZWxpbmVMYXlvdXQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V2ViR1BVUGlwZWxpbmVMYXlvdXQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMwZTg1NmYzNzVkMzk3OWYwZjcz
MmI3OGJlMmY4YmJjZTY4NWU3YzkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dC5pZGwKQEAgLTAsMCArMSwzMiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisvLyBodHRwczovL2dpdGh1Yi5jb20vZ3B1d2ViL2dwdXdlYi9ibG9iL21hc3Rl
ci9kZXNpZ24vc2tldGNoLndlYmlkbAorCitbCisgICAgQ29uZGl0aW9uYWw9V0VCR1BVLAorICAg
IEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUK
K10gaW50ZXJmYWNlIFdlYkdQVVBpcGVsaW5lTGF5b3V0IHsKK307CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3Iu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0RGVz
Y3JpcHRvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFiNzBhYzQwNzM4NmNlM2NhMzE2N2Q0YzVhYWRlNTVkMmY2
NmRhMjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
ZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaApAQCAtMCwwICsxLDQzIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCR1BVKQorCisjaW5jbHVkZSAiV2Vi
R1BVQmluZEdyb3VwTGF5b3V0LmgiCisKKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBXZWJHUFVQ
aXBlbGluZUxheW91dERlc2NyaXB0b3IgeworICAgIFZlY3RvcjxSZWZQdHI8V2ViR1BVQmluZEdy
b3VwTGF5b3V0Pj4gYmluZEdyb3VwTGF5b3V0czsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9y
LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lMzFmODgwMDA3NjhjZWQ1NDhkODExYzQ0NDVlODU3M2IwZGEwM2I2
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
UGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmlkbApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
Ky8vIGh0dHBzOi8vZ2l0aHViLmNvbS9ncHV3ZWIvZ3B1d2ViL2Jsb2IvbWFzdGVyL2Rlc2lnbi9z
a2V0Y2gud2ViaWRsCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJHUFUsCisgICAgRW5hYmxlZEF0
UnVudGltZT1XZWJHUFUKK10gZGljdGlvbmFyeSBXZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0
b3IgeworICAgIHNlcXVlbmNlPFdlYkdQVUJpbmRHcm91cExheW91dD4gYmluZEdyb3VwTGF5b3V0
czsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVR
dWV1ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUXVldWUuaAppbmRl
eCA0ZDgyZjZmZTdkYTI4OTcwYmJhNDFkNmZkOGU4ZWJlMDczMTZlMWFhLi40NDZlZGY4ZTk1ODZi
OWU5NWIyNDQ0YjYwMWQxMGU0YmViYzRlOTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XZWJHUFVRdWV1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dlYkdQVVF1ZXVlLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dAppbmRleCBlNzBkYjgzOTQ0MWM4OGYxNjBhMGYyZTZiOWUwZTljNTUy
ZDZhN2Q0Li40NjE3NWYzNTA5NTAyY2VjMTFhM2E1ZWVlNWE5YmFiNGJmOGViZjA1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dApAQCAtMzA4LDYgKzMwOCw3IEBAIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUJ1ZmZlci5j
cHAKIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbW1hbmRCdWZmZXIuY3BwCiBNb2R1bGVzL3dlYmdw
dS9XZWJHUFVEZXZpY2UuY3BwCiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVRdWV1ZS5jcHAKK01vZHVs
ZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmNwcAogTW9kdWxlcy93ZWJncHUvV2ViR1BV
UHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIuY3BwCiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVSZW5kZXJp
bmdDb250ZXh0LmNwcAogTW9kdWxlcy93ZWJncHUvV2ViR1BVUmVuZGVyUGFzc0VuY29kZXIuY3Bw
CkBAIC0xNzQ0LDYgKzE3NDUsNyBAQCBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1Nwb3RMaWdo
dFNvdXJjZS5jcHAKIAogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUJpbmRHcm91cExheW91dC5j
cHAKIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwCitwbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVUGlwZWxpbmVMYXlvdXQuY3BwCiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvbGVnYWN5
L0dQVUxlZ2FjeUJ1ZmZlci5jcHAKIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9sZWdhY3kvR1BVTGVn
YWN5Q29tbWFuZEJ1ZmZlci5jcHAKIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9sZWdhY3kvR1BVTGVn
YWN5Q29tbWFuZFF1ZXVlLmNwcApAQCAtMzI0MSw2ICszMjQzLDggQEAgSlNXZWJHUFVJbnB1dFN0
YXRlRGVzY3JpcHRvci5jcHAKIEpTV2ViR1BVSW5wdXRTdGVwTW9kZS5jcHAKIEpTV2ViR1BVUXVl
dWUuY3BwCiBKU1dlYkdQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuY3BwCitKU1dlYkdQVVBpcGVs
aW5lTGF5b3V0LmNwcAorSlNXZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuY3BwCiBKU1dl
YkdQVVBpcGVsaW5lU3RhZ2VEZXNjcmlwdG9yLmNwcAogSlNXZWJHUFVQcm9ncmFtbWFibGVQYXNz
RW5jb2Rlci5jcHAKIEpTV2ViR1BVUmVuZGVyaW5nQ29udGV4dC5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2M2U5YTY4M2Zm
YTZlMWE0OTZjMDk3NDZmNzM0NTdmNmRmMWIwNDg1Li41MjkxOWU1MDYzNGY4MWJhMWRjZWM3ZWEw
NTk4NTU0NzE5ZWY3NTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMzcyMCw2ICsxMzcyMCw5IEBACiAJCUQwMDMyODc5MjFD
ODY0NUIwMDYyMkFBNiAvKiBXZWJHUFVCaW5kR3JvdXBMYXlvdXQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V2ViR1BVQmluZEdyb3VwTGF5b3V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQw
MDMyODdBMjFDODY0NUIwMDYyMkFBNiAvKiBXZWJHUFVCaW5kR3JvdXBMYXlvdXQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gV2ViR1BVQmluZEdyb3VwTGF5b3V0LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRDAwMzI4N0IyMUM4NjQ1QjAwNjIyQUE2IC8qIFdlYkdQVUJpbmRHcm91
cExheW91dC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gV2ViR1BVQmluZEdyb3VwTGF5b3V0LmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRDAwMzI4ODQyMUM5QTIwRDAwNjIyQUE2IC8qIEdQVVBpcGVsaW5l
TGF5b3V0RGVzY3JpcHRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVQaXBlbGluZUxheW91dERlc2Ny
aXB0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAwMzI4ODYyMUM5QTRFNTAw
NjIyQUE2IC8qIEdQVVBpcGVsaW5lTGF5b3V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVVBpcGVsaW5l
TGF5b3V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMDMyODg3MjFDOUE0RTUw
MDYyMkFBNiAvKiBHUFVQaXBlbGluZUxheW91dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHUFVQ
aXBlbGluZUxheW91dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwMEY1OTQw
MjE2RUNDN0EwMDBENzFEQiAvKiBET01XaW5kb3dXZWJHUFUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9N
V2luZG93V2ViR1BVLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwMEY1OTQxMjE2
RUNDN0EwMDBENzFEQiAvKiBET01XaW5kb3dXZWJHUFUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RE9NV2luZG93V2ViR1BVLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDAwRjU5
NDIyMTZFQ0M3QTAwMEQ3MURCIC8qIERPTVdpbmRvd1dlYkdQVS5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRE9NV2luZG93
V2ViR1BVLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzODA4LDYgKzEzODEx
LDExIEBACiAJCUQwNDVBRDIxMjE2ODI0NzQwMDBBNkU5QiAvKiBXZWJNZXRhbEJ1ZmZlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBXZWJNZXRhbEJ1ZmZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUQwNDVBRDIyMjE2ODI0NzQwMDBBNkU5QiAvKiBXZWJNZXRhbENvbW1hbmRC
dWZmZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTWV0YWxDb21tYW5kQnVmZmVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwNDVBRDIzMjE2ODI0NzUwMDBBNkU5QiAvKiBXZWJNZXRh
bENvbW1hbmRRdWV1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJNZXRhbENvbW1hbmRRdWV1
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwNUE5OUUxMjFDOUI1MEYwMDAz
MkI3NSAvKiBXZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V2ViR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUQwNUE5OUUyMjFDOUI1MEYwMDAzMkI3NSAvKiBXZWJHUFVQaXBlbGluZUxheW91dERl
c2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IFdlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwNUE5OUU0MjFDOUJGMkMwMDAzMkI3NSAvKiBX
ZWJHUFVQaXBlbGluZUxheW91dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJHUFVQaXBlbGluZUxheW91
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDVBOTlFNTIxQzlCRjJDMDAwMzJC
NzUgLyogV2ViR1BVUGlwZWxpbmVMYXlvdXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViR1BV
UGlwZWxpbmVMYXlvdXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDVBOTlF
NjIxQzlCRjJDMDAwMzJCNzUgLyogV2ViR1BVUGlwZWxpbmVMYXlvdXQuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkdQ
VVBpcGVsaW5lTGF5b3V0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDA1Q0VE
MjcwQTQwQkIyQzAwQzVBRjM4IC8qIEZvcm1hdEJsb2NrQ29tbWFuZC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRm9ybWF0QmxvY2tDb21tYW5kLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDA1Q0VEMjgwQTQwQkIyQzAwQzVBRjM4IC8qIEZvcm1h
dEJsb2NrQ29tbWFuZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9ybWF0
QmxvY2tDb21tYW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwNjBEODg0MjE4
MjVENUYwMDMzOTMxOCAvKiBXZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBX
ZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTE4MDY4LDYgKzE4MDc2LDkgQEAKIAkJCQkzMTJGRjhCRTIxQTRDMkYxMDBFQjE5OUQg
LyogR1BVRGV2aWNlLmggKi8sCiAJCQkJRDBEODY0OTkyMUJBMUIxRjAwM0M5ODNDIC8qIEdQVUlu
cHV0U3RhdGVEZXNjcmlwdG9yLmggKi8sCiAJCQkJMzEyRkY4QzQyMUE0QzJGNDAwRUIxOTlEIC8q
IEdQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuaCAqLywKKwkJCQlEMDAzMjg4NzIxQzlBNEU1MDA2
MjJBQTYgLyogR1BVUGlwZWxpbmVMYXlvdXQuY3BwICovLAorCQkJCUQwMDMyODg2MjFDOUE0RTUw
MDYyMkFBNiAvKiBHUFVQaXBlbGluZUxheW91dC5oICovLAorCQkJCUQwMDMyODg0MjFDOUEyMEQw
MDYyMkFBNiAvKiBHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaCAqLywKIAkJCQkzMTJGRjhD
MjIxQTRDMkYzMDBFQjE5OUQgLyogR1BVUGlwZWxpbmVTdGFnZURlc2NyaXB0b3IuaCAqLywKIAkJ
CQlEMDMyMTFDRjIxQUM5NTRFMDA3NjNDRjIgLyogR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIu
aCAqLywKIAkJCQkzMTJGRjhDMTIxQTRDMkYyMDBFQjE5OUQgLyogR1BVUXVldWUuaCAqLywKQEAg
LTI1NjAwLDYgKzI1NjExLDExIEBACiAJCQkJRDA2M0FFNDcyMUMwNjYyNjAwMEU2QTM1IC8qIFdl
YkdQVUlucHV0U3RlcE1vZGUuaWRsICovLAogCQkJCUQwQzQxOUYwMjE4M0VCMzEwMDlFQzFERSAv
KiBXZWJHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmggKi8sCiAJCQkJRDBDNDE5RjEyMTgzRUIz
MTAwOUVDMURFIC8qIFdlYkdQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuaWRsICovLAorCQkJCUQw
NUE5OUU1MjFDOUJGMkMwMDAzMkI3NSAvKiBXZWJHUFVQaXBlbGluZUxheW91dC5jcHAgKi8sCisJ
CQkJRDA1QTk5RTQyMUM5QkYyQzAwMDMyQjc1IC8qIFdlYkdQVVBpcGVsaW5lTGF5b3V0LmggKi8s
CisJCQkJRDA1QTk5RTYyMUM5QkYyQzAwMDMyQjc1IC8qIFdlYkdQVVBpcGVsaW5lTGF5b3V0Lmlk
bCAqLywKKwkJCQlEMDVBOTlFMTIxQzlCNTBGMDAwMzJCNzUgLyogV2ViR1BVUGlwZWxpbmVMYXlv
dXREZXNjcmlwdG9yLmggKi8sCisJCQkJRDA1QTk5RTIyMUM5QjUwRjAwMDMyQjc1IC8qIFdlYkdQ
VVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5pZGwgKi8sCiAJCQkJRDBDNDE5RUIyMTgzQ0ZBMjAw
OUVDMURFIC8qIFdlYkdQVVBpcGVsaW5lU3RhZ2VEZXNjcmlwdG9yLmggKi8sCiAJCQkJRDBDNDE5
RUMyMTgzQ0ZBMjAwOUVDMURFIC8qIFdlYkdQVVBpcGVsaW5lU3RhZ2VEZXNjcmlwdG9yLmlkbCAq
LywKIAkJCQlEMEVBQ0Y5MjIxOTQwQTVCMDAwRkE3NUMgLyogV2ViR1BVUHJvZ3JhbW1hYmxlUGFz
c0VuY29kZXIuY3BwICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
V2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29y
ZUJ1aWx0aW5OYW1lcy5oCmluZGV4IDFkMjE0ODc3Y2VlOTIxZjE4MTZlZmE0N2RhM2MwNTIxZjAw
MDExMWQuLjJhZTFlY2Y3ODM2MWQ4NjY4MjFjNmU5YzgzZWQ1YzQzYmJlYzQ1NmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAgLTE5
OCw2ICsxOTgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oV2ViR1BVSW5kZXhG
b3JtYXQpIFwKICAgICBtYWNybyhXZWJHUFVJbnB1dFN0ZXBNb2RlKSBcCiAgICAgbWFjcm8oV2Vi
R1BVUXVldWUpIFwKKyAgICBtYWNybyhXZWJHUFVQaXBlbGluZUxheW91dCkgXAogICAgIG1hY3Jv
KFdlYkdQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyKSBcCiAgICAgbWFjcm8oV2ViR1BVUmVuZGVy
aW5nQ29udGV4dCkgXAogICAgIG1hY3JvKFdlYkdQVVJlbmRlclBhc3NFbmNvZGVyKSBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwCmlu
ZGV4IGM2OTgxNWM3YTU3NzRhYWRlMmVkN2JjY2VhODkzZWFiNmY4OWZmMzcuLjE3Yzc2ZmQzYjVl
NzcyYmM4ZmIwNTU4YmVjMTM4M2ZjOTAxNzBhNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwCkBAIC0zMiw2ICszMiw4IEBACiAj
aW5jbHVkZSAiR1BVQmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvci5oIgogI2luY2x1ZGUgIkdQVUJ1
ZmZlci5oIgogI2luY2x1ZGUgIkdQVUJ1ZmZlckRlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJHUFVQ
aXBlbGluZUxheW91dC5oIgorI2luY2x1ZGUgIkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5o
IgogI2luY2x1ZGUgIkdQVVJlbmRlclBpcGVsaW5lLmgiCiAjaW5jbHVkZSAiR1BVUmVuZGVyUGlw
ZWxpbmVEZXNjcmlwdG9yLmgiCiAjaW5jbHVkZSAiR1BVU2hhZGVyTW9kdWxlLmgiCkBAIC00OSw2
ICs1MSwxMSBAQCBSZWY8R1BVQmluZEdyb3VwTGF5b3V0PiBHUFVEZXZpY2U6OmNyZWF0ZUJpbmRH
cm91cExheW91dChHUFVCaW5kR3JvdXBMYXlvdXREZXNjcgogICAgIHJldHVybiBHUFVCaW5kR3Jv
dXBMYXlvdXQ6OmNyZWF0ZShXVEZNb3ZlKGRlc2NyaXB0b3IpKTsKIH0KIAorUmVmPEdQVVBpcGVs
aW5lTGF5b3V0PiBHUFVEZXZpY2U6OmNyZWF0ZVBpcGVsaW5lTGF5b3V0KEdQVVBpcGVsaW5lTGF5
b3V0RGVzY3JpcHRvciYmIGRlc2NyaXB0b3IpIGNvbnN0Cit7CisgICAgcmV0dXJuIEdQVVBpcGVs
aW5lTGF5b3V0OjpjcmVhdGUoV1RGTW92ZShkZXNjcmlwdG9yKSk7Cit9CisKIFJlZlB0cjxHUFVT
aGFkZXJNb2R1bGU+IEdQVURldmljZTo6Y3JlYXRlU2hhZGVyTW9kdWxlKEdQVVNoYWRlck1vZHVs
ZURlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKSBjb25zdAogewogICAgIHJldHVybiBHUFVTaGFkZXJN
b2R1bGU6OmNyZWF0ZSgqdGhpcywgV1RGTW92ZShkZXNjcmlwdG9yKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmgKaW5kZXggYjAyOTg3ZTIx
MTdmNmY1MWJhYmMyOGJkZjEzYTZkZjA1ZWI0NTI1ZC4uNWM5ZDMwOWEzMjFjNjEzYTc4NTAyZGI5
YzU2MWViYWM1MGE3OGJhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVURldmljZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9HUFVEZXZpY2UuaApAQCAtNDMsMTMgKzQzLDE1IEBAIHVzaW5nIFBsYXRmb3JtRGV2
aWNlU21hcnRQdHIgPSBSZXRhaW5QdHI8TVRMRGV2aWNlPjsKIAogY2xhc3MgR1BVQmluZEdyb3Vw
TGF5b3V0OwogY2xhc3MgR1BVQnVmZmVyOworY2xhc3MgR1BVUGlwZWxpbmVMYXlvdXQ7CiBjbGFz
cyBHUFVSZW5kZXJQaXBlbGluZTsKIGNsYXNzIEdQVVNoYWRlck1vZHVsZTsKIAogc3RydWN0IEdQ
VUJpbmRHcm91cExheW91dERlc2NyaXB0b3I7CiBzdHJ1Y3QgR1BVQnVmZmVyRGVzY3JpcHRvcjsK
LXN0cnVjdCBHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yOworc3RydWN0IEdQVVBpcGVsaW5lTGF5
b3V0RGVzY3JpcHRvcjsKIHN0cnVjdCBHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I7CitzdHJ1
Y3QgR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvcjsKIAogY2xhc3MgR1BVRGV2aWNlIDogcHVibGlj
IFJlZkNvdW50ZWQ8R1BVRGV2aWNlPiB7CiBwdWJsaWM6CkBAIC01OCw2ICs2MCw3IEBAIHB1Ymxp
YzoKICAgICBSZWZQdHI8R1BVQnVmZmVyPiBjcmVhdGVCdWZmZXIoR1BVQnVmZmVyRGVzY3JpcHRv
ciYmKSBjb25zdDsKIAogICAgIFJlZjxHUFVCaW5kR3JvdXBMYXlvdXQ+IGNyZWF0ZUJpbmRHcm91
cExheW91dChHUFVCaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9yJiYpIGNvbnN0OworICAgIFJlZjxH
UFVQaXBlbGluZUxheW91dD4gY3JlYXRlUGlwZWxpbmVMYXlvdXQoR1BVUGlwZWxpbmVMYXlvdXRE
ZXNjcmlwdG9yJiYpIGNvbnN0OwogCiAgICAgUmVmUHRyPEdQVVNoYWRlck1vZHVsZT4gY3JlYXRl
U2hhZGVyTW9kdWxlKEdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3ImJikgY29uc3Q7CiAgICAgUmVm
UHRyPEdQVVJlbmRlclBpcGVsaW5lPiBjcmVhdGVSZW5kZXJQaXBlbGluZShHUFVSZW5kZXJQaXBl
bGluZURlc2NyaXB0b3ImJikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvR1BVUGlwZWxpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVBpcGVsaW5lTGF5b3V0LmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
MzMxMDg5YWYzNDQyZmM1NmFhOTE5NmM3MzBiY2QxOGY2MmJhYWYxCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVBpcGVsaW5lTGF5b3V0
LmNwcApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIkdQVVBpcGVsaW5lTGF5b3V0LmgiCisKKyNpZiBFTkFCTEUoV0VCR1BVKQorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZjxHUFVQaXBlbGluZUxheW91dD4gR1BVUGlwZWxpbmVM
YXlvdXQ6OmNyZWF0ZShHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKQor
eworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEdQVVBpcGVsaW5lTGF5b3V0KFdURk1vdmUoZGVz
Y3JpcHRvcikpKTsKK30KKworR1BVUGlwZWxpbmVMYXlvdXQ6OkdQVVBpcGVsaW5lTGF5b3V0KEdQ
VVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciYmIGRlc2NyaXB0b3IpCisgICAgOiBtX2Rlc2NyaXB0
b3IoZGVzY3JpcHRvcikKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKFdFQkdQVSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVQaXBlbGluZUxheW91dC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0dQVVBpcGVsaW5lTGF5b3V0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDQyMGY3NGE3YjYw
YzNmNjBhZjI4NjZhZDIyY2RiNDY5ODNmNTY1MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVQaXBlbGluZUxheW91dC5oCkBAIC0wLDAg
KzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJHUFUp
CisKKyNpbmNsdWRlICJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaCIKKworI2luY2x1ZGUg
PHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIEdQVVBpcGVsaW5lTGF5b3V0IDogcHVibGljIFJlZkNvdW50ZWQ8R1BV
UGlwZWxpbmVMYXlvdXQ+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPEdQVVBpcGVsaW5lTGF5
b3V0PiBjcmVhdGUoR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yJiYpOworCitwcml2YXRlOgor
ICAgIGV4cGxpY2l0IEdQVVBpcGVsaW5lTGF5b3V0KEdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRv
ciYmKTsKKworICAgIEdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciBtX2Rlc2NyaXB0b3I7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVBpcGVs
aW5lTGF5b3V0RGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNhMDkxODk5Mzg1
ODJiYzI3OGMxNThmZGExYjI3OWMxODY3NzU1NjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9y
LmgKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5B
QkxFKFdFQkdQVSkKKworI2luY2x1ZGUgIkdQVUJpbmRHcm91cExheW91dC5oIgorCisjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBHUFVQaXBl
bGluZUxheW91dERlc2NyaXB0b3IgeworICAgIFZlY3RvcjxSZWZQdHI8Y29uc3QgR1BVQmluZEdy
b3VwTGF5b3V0Pj4gYmluZEdyb3VwTGF5b3V0czsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTEzMGIxN2YxZDk3NWE1YTY4
YTVlNWVhNThkODJlZjE5NzJiMzZjZS4uZjRlMDQ3OWRjMmY4OWI2NmY2NzkxOTViYzM0ZTUxODFl
MjM0ZTljMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE4LTEyLTE4ICBKdXN0aW4gRmFuICA8
anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gV2ViR1BVUGlwZWxpbmVM
YXlvdXQvRGVzY3JpcHRvciBhbmQgZGV2aWNlOjpjcmVhdGVQaXBlbGluZUxheW91dAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyODQzCisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS80NjgyMDM5NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgYmluZC1ncm91cC1sYXlvdXRzIGFuZCByZW5hbWUg
dG8gbWF0Y2ggbmV3IFBpcGVsaW5lTGF5b3V0IGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiB3
ZWJncHUvYmluZC1ncm91cC1sYXlvdXRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiB3ZWJncHUvcGlwZWxpbmUtbGF5b3V0cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYmdwdS9waXBlbGluZS1sYXlvdXRzLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy93
ZWJncHUvYmluZC1ncm91cC1sYXlvdXRzLmh0bWwuCisKIDIwMTgtMTItMTggIEp1c3RpbiBGYW4g
IDxqdXN0aW5fZmFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViR1BVXSBCaW5kR3JvdXBMYXlv
dXQgYW5kIERldmljZTo6Y3JlYXRlQmluZEdyb3VwTGF5b3V0CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJncHUvYmluZC1ncm91cC1sYXlvdXRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmdwdS9iaW5kLWdyb3VwLWxheW91dHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBmMTQzZWU2YmE4NjIxMGI1YWE1MzgyODJkZjJhMmRjYWFkN2M4OWIwLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L3dlYmdwdS9iaW5kLWdyb3VwLWxheW91dHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsNCArMCwwIEBACi0KLVBBU1MgQ3JlYXRlIGEgYmFzaWMgV2ViR1BVQmluZEdyb3VwTGF5b3V0
RGVzY3JpcHRvci4gCi1QQVNTIENyZWF0ZSBhIGJhc2ljIFdlYkdQVUJpbmRHcm91cExheW91dCB3
aXRoIGEgV2ViR1BVRGV2aWNlLiAKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2Jp
bmQtZ3JvdXAtbGF5b3V0cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L2JpbmQtZ3JvdXAtbGF5
b3V0cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNmIxZWI1N2E3OWI2MDJm
MTFkNGI4OTA1ZmU3NDc5OTQ2NGFjNGE4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3dlYmdwdS9iaW5kLWdyb3VwLWxheW91dHMuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOldlYkdQVUVuYWJsZWQ9dHJ1ZSBdIC0tPgot
PG1ldGEgY2hhcnNldD11dGYtOD4KLTx0aXRsZT5DcmVhdGUgV2ViR1BVQmluZEdyb3VwTGF5b3V0
LjwvdGl0bGU+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSJqcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gY3JlYXRlQmluZEdyb3VwTGF5b3V0QmluZGluZygp
IHsKLSAgICByZXR1cm4gewotICAgICAgICBiaW5kaW5nOiAwLAotICAgICAgICB2aXNpYmlsaXR5
OiBXZWJHUFVTaGFkZXJTdGFnZUJpdC5GUkFHTUVOVCB8IFdlYkdQVVNoYWRlclN0YWdlQml0LlZF
UlRFWCwKLSAgICAgICAgdHlwZTogInN0b3JhZ2VCdWZmZXIiCi0gICAgfTsKLX0KLQotdGVzdCgo
KSA9PiB7Ci0gICAgY29uc3QgYmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvciA9IHsgYmluZGluZ3M6
IFtjcmVhdGVCaW5kR3JvdXBMYXlvdXRCaW5kaW5nKCldIH07Ci0gICAgYXNzZXJ0X25vdF9lcXVh
bHMoYmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvci5iaW5kaW5nc1swXS52aXNpYmlsaXR5ICYgV2Vi
R1BVU2hhZGVyU3RhZ2VCaXQuRlJBR01FTlQsIDApOwotICAgIGFzc2VydF9ub3RfZXF1YWxzKGJp
bmRHcm91cExheW91dERlc2NyaXB0b3IuYmluZGluZ3NbMF0udmlzaWJpbGl0eSAmIFdlYkdQVVNo
YWRlclN0YWdlQml0LlZFUlRFWCwgMCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhiaW5kR3JvdXBMYXlv
dXREZXNjcmlwdG9yLmJpbmRpbmdzWzBdLnR5cGUsICJzdG9yYWdlQnVmZmVyIik7Ci19LCAiQ3Jl
YXRlIGEgYmFzaWMgV2ViR1BVQmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvci4iKTsKLQotcHJvbWlz
ZV90ZXN0KGFzeW5jICgpID0+IHsKLSAgICBjb25zdCBkZXZpY2UgPSBhd2FpdCB3aW5kb3cuZ2V0
QmFzaWNEZXZpY2UoKTsKLSAgICBjb25zdCBiaW5kR3JvdXBMYXlvdXQgPSBkZXZpY2UuY3JlYXRl
QmluZEdyb3VwTGF5b3V0KHsgYmluZGluZ3M6IFtjcmVhdGVCaW5kR3JvdXBMYXlvdXRCaW5kaW5n
KCldIH0pOwotICAgIGFzc2VydF90cnVlKGJpbmRHcm91cExheW91dCBpbnN0YW5jZW9mIFdlYkdQ
VUJpbmRHcm91cExheW91dCwgImNyZWF0ZUJpbmRHcm91cExheW91dCByZXR1cm5lZCBhIFdlYkdQ
VUJpbmRHcm91cExheW91dCIpOwotfSwgIkNyZWF0ZSBhIGJhc2ljIFdlYkdQVUJpbmRHcm91cExh
eW91dCB3aXRoIGEgV2ViR1BVRGV2aWNlLiIpOwotPC9zY3JpcHQ+Ci08L2JvZHk+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L3BpcGVs
aW5lLWxheW91dHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ3B1L3BpcGVsaW5lLWxh
eW91dHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE4Nzc4N2QzMjAwNGExOTMzOTAxYmU3NDBl
ZmM0ZGEyMmY0ZTA5N2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJncHUvcGlw
ZWxpbmUtbGF5b3V0cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgQ3JlYXRl
IGEgYmFzaWMgV2ViR1BVQmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvci4gCitQQVNTIENyZWF0ZSBh
IGJhc2ljIFdlYkdQVVBpcGVsaW5lTGF5b3V0IHd0aWggYSBXZWJHUFVEZXZpY2UuIAorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJncHUvcGlwZWxpbmUtbGF5b3V0cy5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ3B1L3BpcGVsaW5lLWxheW91dHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTY3ZjZkZWYy
ZGQyNmQ3MjMzNjIyY2I0MWI0YzUwZTQ2YWZiZjRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ3B1L3BpcGVsaW5lLWxheW91dHMuaHRtbApAQCAtMCwwICsxLDMzIEBACis8IURP
Q1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDpXZWJHUFVF
bmFibGVkPXRydWUgXSAtLT4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+Q3JlYXRlIFdl
YkdQVUJpbmRHcm91cExheW91dC48L3RpdGxlPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0ianMvd2Vi
Z3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIGNyZWF0ZUJpbmRH
cm91cExheW91dEJpbmRpbmcoKSB7CisgICAgcmV0dXJuIHsKKyAgICAgICAgYmluZGluZzogMCwK
KyAgICAgICAgdmlzaWJpbGl0eTogV2ViR1BVU2hhZGVyU3RhZ2VCaXQuRlJBR01FTlQgfCBXZWJH
UFVTaGFkZXJTdGFnZUJpdC5WRVJURVgsCisgICAgICAgIHR5cGU6ICJzdG9yYWdlQnVmZmVyIgor
ICAgIH07Cit9CisKK3Rlc3QoKCkgPT4geworICAgIGNvbnN0IGJpbmRHcm91cExheW91dERlc2Ny
aXB0b3IgPSB7IGJpbmRpbmdzOiBbY3JlYXRlQmluZEdyb3VwTGF5b3V0QmluZGluZygpXSB9Owor
ICAgIGFzc2VydF9ub3RfZXF1YWxzKGJpbmRHcm91cExheW91dERlc2NyaXB0b3IuYmluZGluZ3Nb
MF0udmlzaWJpbGl0eSAmIFdlYkdQVVNoYWRlclN0YWdlQml0LkZSQUdNRU5ULCAwKTsKKyAgICBh
c3NlcnRfbm90X2VxdWFscyhiaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9yLmJpbmRpbmdzWzBdLnZp
c2liaWxpdHkgJiBXZWJHUFVTaGFkZXJTdGFnZUJpdC5WRVJURVgsIDApOworICAgIGFzc2VydF9l
cXVhbHMoYmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvci5iaW5kaW5nc1swXS50eXBlLCAic3RvcmFn
ZUJ1ZmZlciIpOworfSwgIkNyZWF0ZSBhIGJhc2ljIFdlYkdQVUJpbmRHcm91cExheW91dERlc2Ny
aXB0b3IuIik7IAorCitwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4geworICAgIGNvbnN0IGRldmlj
ZSA9IGF3YWl0IHdpbmRvdy5nZXRCYXNpY0RldmljZSgpOworICAgIGNvbnN0IGJpbmRHcm91cExh
eW91dCA9IGRldmljZS5jcmVhdGVCaW5kR3JvdXBMYXlvdXQoeyBiaW5kaW5nczogW2NyZWF0ZUJp
bmRHcm91cExheW91dEJpbmRpbmcoKV0gfSk7CisgICAgYXNzZXJ0X3RydWUoYmluZEdyb3VwTGF5
b3V0IGluc3RhbmNlb2YgV2ViR1BVQmluZEdyb3VwTGF5b3V0LCAiY3JlYXRlQmluZEdyb3VwTGF5
b3V0IHJldHVybmVkIGEgV2ViR1BVQmluZEdyb3VwTGF5b3V0Iik7CisKKyAgICBjb25zdCBwaXBl
bGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91dCh7IGJpbmRHcm91cExheW91
dHM6IFtiaW5kR3JvdXBMYXlvdXRdIH0pOworICAgIGFzc2VydF90cnVlKHBpcGVsaW5lTGF5b3V0
IGluc3RhbmNlb2YgV2ViR1BVUGlwZWxpbmVMYXlvdXQsICJjcmVhdGVQaXBlbGluZUxheW91dCBy
ZXR1cm5lZCBhIFdlYkdQVVBpcGVsaW5lTGF5b3V0Iik7Cit9LCAiQ3JlYXRlIGEgYmFzaWMgV2Vi
R1BVUGlwZWxpbmVMYXlvdXQgd3RpaCBhIFdlYkdQVURldmljZS4iKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357747</attachid>
            <date>2018-12-19 16:18:55 -0800</date>
            <delta_ts>2018-12-19 16:59:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192843-20181219161854.patch</filename>
            <type>text/plain</type>
            <size>42659</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MzU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmVmYWVjZGJlYWM5ZTg3
MDE3NDQzNmYyM2UwMWRkZjczNDgwNjEyMi4uZDU3MWFmYWQ2ZTQ2MTIxOWFmMWRjMmFmZjJiYzky
YjA4ODgxOGQ4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDE4LTEyLTE5ICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gQWRkIHN0
dWJzIGZvciBXZWJHUFVQaXBlbGluZUxheW91dC9EZXNjcmlwdG9yIGFuZCBkZXZpY2U6OmNyZWF0
ZVBpcGVsaW5lTGF5b3V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTI4NDMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ2ODIwMzk1PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE15bGVzIE1heGZpZWxkLgorCisgICAgICAgIFRlc3Q6IHdlYmdwdS9w
aXBlbGluZS1sYXlvdXRzLmh0bWwKKworICAgICAgICBJbXBsZW1lbnQgdGhlIGVtdHB5IFdlYkdQ
VVBpcGVsaW5lTGF5b3V0IGludGVyZmFjZSwgYW5kIGVuYWJsZSBjcmVhdGlvbiB2aWEgV2ViR1BV
RGV2aWNlOjpjcmVhdGVQaXBlbGluZUxheW91dDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9X
ZWJHUFVCaW5kR3JvdXBMYXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR1BVQmluZEdy
b3VwTGF5b3V0OjpXZWJHUFVCaW5kR3JvdXBMYXlvdXQpOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
Z3B1L1dlYkdQVUJpbmRHcm91cExheW91dC5oOgorICAgICAgICAoV2ViQ29yZTo6V2ViR1BVQmlu
ZEdyb3VwTGF5b3V0OjpiaW5kR3JvdXBMYXlvdXQgY29uc3QpOiBBZGRlZCBnZXR0ZXIuCisgICAg
ICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OldlYkdQVURldmljZTo6Y3JlYXRlUGlwZWxpbmVMYXlvdXQgY29uc3QpOiBBZGRlZC4KKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmdwdS9XZWJHUFVEZXZpY2UuaWRsOiBFbmFibGUgY3JlYXRlUGlwZWxpbmVMYXlvdXQuCisgICAg
ICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlvdXQuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OldlYkdQVVBpcGVsaW5lTGF5b3V0OjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6V2ViR1BVUGlwZWxpbmVMYXlvdXQ6OldlYkdQVVBpcGVsaW5lTGF5b3V0KToKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dC5oOiBBZGRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dC5pZGw6IEFkZGVkLgor
ICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5o
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dERl
c2NyaXB0b3IuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
RGV2aWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVURldmljZTo6Y3JlYXRlUGlwZWxpbmVM
YXlvdXQgY29uc3QpOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
RGV2aWNlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVBpcGVsaW5lTGF5
b3V0LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpHUFVQaXBlbGluZUxheW91dDo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVVBpcGVsaW5lTGF5b3V0OjpHUFVQaXBlbGluZUxh
eW91dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVBpcGVsaW5lTGF5b3V0
Lmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVQaXBlbGluZUxh
eW91dERlc2NyaXB0b3IuaDogQWRkZWQuCisKKyAgICAgICAgQWRkIGZpbGVzIGFuZCBzeW1ib2xz
IHRvIHByb2plY3Q6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZl
ZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29y
ZUJ1aWx0aW5OYW1lcy5oOgorCisgICAgICAgIEFkZCBtaXNzaW5nIGluY2x1ZGU6CisgICAgICAg
ICogTW9kdWxlcy93ZWJncHUvV2ViR1BVUXVldWUuaDoKKwogMjAxOC0xMi0xOCAgUnlvc3VrZSBO
aXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBTb21lIGlPUyBhcHAgY3Jhc2ggaW4g
RnJhbWVMb2FkZXI6OmNoZWNrQ29tcGxldGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDA3Y2Rl
MjM3NGE4OWM2NmRjZmYxZjQyZDY0Y2VkNWE4OGRjODIxOTEuLjg1YjJiNTMwOTFkYmQ0M2VlZjEy
NTg4OTI3NzI5ZGU2OTRkMWU3MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00NzEsNiArNDcx
LDggQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL3dlYmdwdS9X
ZWJHUFVJbnB1dFN0YXRlRGVzY3JpcHRvci5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFVJ
bnB1dFN0ZXBNb2RlLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lRGVzY3Jp
cHRvckJhc2UuaWRsCisgICAgTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlvdXQuaWRs
CisgICAgTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmlkbAog
ICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lU3RhZ2VEZXNjcmlwdG9yLmlkbAogICAg
IE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyLmlkbAogICAgIE1v
ZHVsZXMvd2ViZ3B1L1dlYkdQVVF1ZXVlLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
aW5kZXggMGYyOTdiYTc0YjFlNGQ1ZWVhMGI3NWZlNWQ0MDllMTlkODg3MmM3MS4uZTk0OGI3MDJm
MzdhNTY2ZTU1MGE1ZWJlNTZlNjAyZmNiNzkyMmY4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCkBAIC0zODksNiArMzg5LDggQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVSW5wdXRTdGVwTW9kZS5pZGwgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVUXVldWUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuaWRsIFwKKyAgICAkKFdl
YkNvcmUpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmlkbCBcCisgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaWRs
IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lU3RhZ2VEZXNj
cmlwdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQcm9ncmFt
bWFibGVQYXNzRW5jb2Rlci5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvV2Vi
R1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaWRsIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUJpbmRHcm91cExheW91dC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXBMYXlvdXQuY3Bw
CmluZGV4IGUxNTJiNzM4MWMwOGM5NTIzZGUxMGI3ODFiMDM2NzVkMDNkZTdiNjMuLmQ5ODdiZjMz
MjY3ODQ0ZWQ1MDc1ZTgzZTI2NWY2YzJiNjRkZmFiZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUJpbmRHcm91cExheW91dC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQmluZEdyb3VwTGF5b3V0LmNwcApAQCAtMzYs
NyArMzYsNyBAQCBSZWY8V2ViR1BVQmluZEdyb3VwTGF5b3V0PiBXZWJHUFVCaW5kR3JvdXBMYXlv
dXQ6OmNyZWF0ZShSZWY8R1BVQmluZEdyb3VwTGF5b3V0PgogfQogCiBXZWJHUFVCaW5kR3JvdXBM
YXlvdXQ6OldlYkdQVUJpbmRHcm91cExheW91dChSZWY8R1BVQmluZEdyb3VwTGF5b3V0PiYmIGxh
eW91dCkKLSAgICA6IG1fbGF5b3V0KFdURk1vdmUobGF5b3V0KSkKKyAgICA6IG1fYmluZEdyb3Vw
TGF5b3V0KFdURk1vdmUobGF5b3V0KSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQmluZEdyb3VwTGF5b3V0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXBMYXlvdXQuaAppbmRleCA3ZDcxZTA3NDg5
NTdiOTZiZDdkYTBjYTIzYmE5Nzc5NDhjMzhmZDg2Li5iZTI5MjAzYTNlZTI0NThhNmY5Y2I0Nzc4
NDllMjFiNDhlMzc5MWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XZWJHUFVCaW5kR3JvdXBMYXlvdXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XZWJHUFVCaW5kR3JvdXBMYXlvdXQuaApAQCAtMjksOCArMjksOCBAQAogCiAjaW5jbHVk
ZSAiR1BVQmluZEdyb3VwTGF5b3V0LmgiCiAKLSNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApAQCAtMzgsMTAgKzM4LDEyIEBAIGNsYXNzIFdlYkdQVUJpbmRHcm91cExh
eW91dCA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYkdQVUJpbmRHcm91cExheW91dD4gewogcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8V2ViR1BVQmluZEdyb3VwTGF5b3V0PiBjcmVhdGUoUmVmPEdQVUJp
bmRHcm91cExheW91dD4mJik7CiAKKyAgICBSZWZQdHI8R1BVQmluZEdyb3VwTGF5b3V0PiBiaW5k
R3JvdXBMYXlvdXQoKSBjb25zdCB7IHJldHVybiBtX2JpbmRHcm91cExheW91dC5jb3B5UmVmKCk7
IH0KKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBXZWJHUFVCaW5kR3JvdXBMYXlvdXQoUmVmPEdQ
VUJpbmRHcm91cExheW91dD4mJik7CiAKLSAgICBSZWY8R1BVQmluZEdyb3VwTGF5b3V0PiBtX2xh
eW91dDsKKyAgICBSZWY8R1BVQmluZEdyb3VwTGF5b3V0PiBtX2JpbmRHcm91cExheW91dDsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XZWJHUFVEZXZpY2UuY3BwCmluZGV4IGU3ODQ1MWRkNTZiMDY5YjQ4YjIzZThiNmQyZmU2
ZDNmNTJjOTExMTguLmEzZmM3ZWExMzhmOWY0MjRhYTJmMTY2MGMzNTQzM2M1MjliZmFmMzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNwcApAQCAt
MzYsNiArMzYsOCBAQAogI2luY2x1ZGUgIldlYkdQVUJpbmRHcm91cExheW91dC5oIgogI2luY2x1
ZGUgIldlYkdQVUJ1ZmZlci5oIgogI2luY2x1ZGUgIldlYkdQVUNvbW1hbmRCdWZmZXIuaCIKKyNp
bmNsdWRlICJXZWJHUFVQaXBlbGluZUxheW91dC5oIgorI2luY2x1ZGUgIldlYkdQVVBpcGVsaW5l
TGF5b3V0RGVzY3JpcHRvci5oIgogI2luY2x1ZGUgIldlYkdQVVBpcGVsaW5lU3RhZ2VEZXNjcmlw
dG9yLmgiCiAjaW5jbHVkZSAiV2ViR1BVUXVldWUuaCIKICNpbmNsdWRlICJXZWJHUFVSZW5kZXJQ
aXBlbGluZS5oIgpAQCAtNzEsNiArNzMsMTYgQEAgUmVmPFdlYkdQVUJpbmRHcm91cExheW91dD4g
V2ViR1BVRGV2aWNlOjpjcmVhdGVCaW5kR3JvdXBMYXlvdXQoV2ViR1BVQmluZEdyb3VwTGEKICAg
ICByZXR1cm4gV2ViR1BVQmluZEdyb3VwTGF5b3V0OjpjcmVhdGUoV1RGTW92ZShsYXlvdXQpKTsK
IH0KIAorUmVmPFdlYkdQVVBpcGVsaW5lTGF5b3V0PiBXZWJHUFVEZXZpY2U6OmNyZWF0ZVBpcGVs
aW5lTGF5b3V0KFdlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciYmIGRlc2NyaXB0b3IpIGNv
bnN0Cit7CisgICAgLy8gRklYTUU6IElzIGFuIGVtcHR5IHBpcGVsaW5lTGF5b3V0IGFuIGVycm9y
PworICAgIGF1dG8gYmluZEdyb3VwTGF5b3V0cyA9IGRlc2NyaXB0b3IuYmluZEdyb3VwTGF5b3V0
cy5tYXAoW10gKGNvbnN0IGF1dG8mIGxheW91dCkgLT4gUmVmUHRyPGNvbnN0IEdQVUJpbmRHcm91
cExheW91dD4geworICAgICAgICByZXR1cm4gbGF5b3V0LT5iaW5kR3JvdXBMYXlvdXQoKTsKKyAg
ICB9KTsKKyAgICBhdXRvIGxheW91dCA9IG1fZGV2aWNlLT5jcmVhdGVQaXBlbGluZUxheW91dChH
UFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IgeyBXVEZNb3ZlKGJpbmRHcm91cExheW91dHMpIH0p
OworICAgIHJldHVybiBXZWJHUFVQaXBlbGluZUxheW91dDo6Y3JlYXRlKFdURk1vdmUobGF5b3V0
KSk7Cit9CisKIFJlZlB0cjxXZWJHUFVTaGFkZXJNb2R1bGU+IFdlYkdQVURldmljZTo6Y3JlYXRl
U2hhZGVyTW9kdWxlKFdlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKSBj
b25zdAogewogICAgIC8vIEZJWE1FOiBXaGF0IGNhbiBiZSB2YWxpZGF0ZWQgaGVyZT8KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmgKaW5kZXggMzBiMmU4NjI3
ZDAzYTEzNTU5YzU0ZTQyN2UzZjIyMzY1ZjVhMjNkYS4uNDRjY2UwNWJhNWNlNGM4M2FkNTllNDQ0
ZjZiNmRhZDY2ZDBjM2IzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV2ViR1BVRGV2aWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2Vi
R1BVRGV2aWNlLmgKQEAgLTQzLDkgKzQzLDExIEBAIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ7CiBjbGFzcyBXZWJHUFVCaW5kR3JvdXBMYXlvdXQ7CiBjbGFzcyBXZWJHUFVCdWZmZXI7CiBj
bGFzcyBXZWJHUFVDb21tYW5kQnVmZmVyOworY2xhc3MgV2ViR1BVUGlwZWxpbmVMYXlvdXQ7CiBj
bGFzcyBXZWJHUFVSZW5kZXJQaXBlbGluZTsKIGNsYXNzIFdlYkdQVVNoYWRlck1vZHVsZTsKIAor
c3RydWN0IFdlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcjsKIHN0cnVjdCBXZWJHUFVSZW5k
ZXJQaXBlbGluZURlc2NyaXB0b3I7CiBzdHJ1Y3QgV2ViR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRv
cjsKIApAQCAtNTksNiArNjEsNyBAQCBwdWJsaWM6CiAgICAgUmVmUHRyPFdlYkdQVUJ1ZmZlcj4g
Y3JlYXRlQnVmZmVyKFdlYkdQVUJ1ZmZlckRlc2NyaXB0b3ImJikgY29uc3Q7CiAKICAgICBSZWY8
V2ViR1BVQmluZEdyb3VwTGF5b3V0PiBjcmVhdGVCaW5kR3JvdXBMYXlvdXQoV2ViR1BVQmluZEdy
b3VwTGF5b3V0RGVzY3JpcHRvciYmKSBjb25zdDsKKyAgICBSZWY8V2ViR1BVUGlwZWxpbmVMYXlv
dXQ+IGNyZWF0ZVBpcGVsaW5lTGF5b3V0KFdlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciYm
KSBjb25zdDsKIAogICAgIFJlZlB0cjxXZWJHUFVTaGFkZXJNb2R1bGU+IGNyZWF0ZVNoYWRlck1v
ZHVsZShXZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yJiYpIGNvbnN0OwogICAgIFJlZlB0cjxX
ZWJHUFVSZW5kZXJQaXBlbGluZT4gY3JlYXRlUmVuZGVyUGlwZWxpbmUoV2ViR1BVUmVuZGVyUGlw
ZWxpbmVEZXNjcmlwdG9yJiYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dlYkdQVURldmljZS5pZGwKaW5kZXggODM0OGRmYmRjYTdiMTcxYTY1Yzg1MmEyNmFkZDgz
ZWJlMWNlZDE3Yy4uNzYwN2Q5MmU5NDlhNGJlMWVlYjkzNWNkZGEwNTFkN2I4NjEwNjFlYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaWRsCkBAIC0z
Niw2ICszNiw3IEBACiAgICAgV2ViR1BVQnVmZmVyIGNyZWF0ZUJ1ZmZlcihXZWJHUFVCdWZmZXJE
ZXNjcmlwdG9yIGRlc2NyaXB0b3IpOwogCiAgICAgV2ViR1BVQmluZEdyb3VwTGF5b3V0IGNyZWF0
ZUJpbmRHcm91cExheW91dChXZWJHUFVCaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9yIGRlc2NyaXB0
b3IpOworICAgIFdlYkdQVVBpcGVsaW5lTGF5b3V0IGNyZWF0ZVBpcGVsaW5lTGF5b3V0KFdlYkdQ
VVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciBkZXNjcmlwdG9yKTsKIAogICAgIFdlYkdQVVNoYWRl
ck1vZHVsZSBjcmVhdGVTaGFkZXJNb2R1bGUoV2ViR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvciBk
ZXNjcmlwdG9yKTsKICAgICBXZWJHUFVSZW5kZXJQaXBlbGluZSBjcmVhdGVSZW5kZXJQaXBlbGlu
ZShXZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgZGVzY3JpcHRvcik7CkBAIC00OSw3ICs1
MCw2IEBACiAgICAgLy8gV2ViR1BVVGV4dHVyZSBjcmVhdGVUZXh0dXJlKFdlYkdQVVRleHR1cmVE
ZXNjcmlwdG9yIGRlc2NyaXB0b3IpOwogICAgIC8vIFdlYkdQVVNhbXBsZXIgY3JlYXRlU2FtcGxl
cihXZWJHUFVTYW1wbGVyRGVzY3JpcHRvciBkZXNjcmlwdG9yKTsKICAgICAvLwotICAgIC8vIFdl
YkdQVVBpcGVsaW5lTGF5b3V0IGNyZWF0ZVBpcGVsaW5lTGF5b3V0KFdlYkdQVVBpcGVsaW5lTGF5
b3V0RGVzY3JpcHRvciBkZXNjcmlwdG9yKTsKICAgICAvLyBXZWJHUFVCaW5kR3JvdXAgY3JlYXRl
QmluZEdyb3VwKFdlYkdQVUJpbmRHcm91cERlc2NyaXB0b3IgZGVzY3JpcHRvcik7CiAgICAgLy8K
ICAgICAvLyBXZWJHUFVCbGVuZFN0YXRlIGNyZWF0ZUJsZW5kU3RhdGUoV2ViR1BVQmxlbmRTdGF0
ZURlc2NyaXB0b3IgZGVzY3JpcHRvcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzY0YTU0NjE1
ZTZhZjY1ZDNhODk4ZTVkMWM5OTMyMGUyMDBlNjBiMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmNwcApAQCAtMCww
ICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldl
YkdQVVBpcGVsaW5lTGF5b3V0LmgiCisKKyNpZiBFTkFCTEUoV0VCR1BVKQorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK1JlZjxXZWJHUFVQaXBlbGluZUxheW91dD4gV2ViR1BVUGlwZWxpbmVMYXlv
dXQ6OmNyZWF0ZShSZWY8R1BVUGlwZWxpbmVMYXlvdXQ+JiYgbGF5b3V0KQoreworICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFdlYkdQVVBpcGVsaW5lTGF5b3V0KFdURk1vdmUobGF5b3V0KSkpOwor
fQorCitXZWJHUFVQaXBlbGluZUxheW91dDo6V2ViR1BVUGlwZWxpbmVMYXlvdXQoUmVmPEdQVVBp
cGVsaW5lTGF5b3V0PiYmIGxheW91dCkKKyAgICA6IG1fcGlwZWxpbmVMYXlvdXQoV1RGTW92ZShs
YXlvdXQpKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2Vi
R1BVUGlwZWxpbmVMYXlvdXQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VVBpcGVsaW5lTGF5b3V0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTU1MTU3NDI0YjBiZTI5OTYwYjRiMGFjYjAz
ZWMxNjNmZmJjOTg4MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQkdQVSkKKworI2luY2x1ZGUgIkdQVVBp
cGVsaW5lTGF5b3V0LmgiCisKKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBXZWJHUFVQaXBlbGlu
ZUxheW91dCA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYkdQVVBpcGVsaW5lTGF5b3V0PiB7CitwdWJs
aWM6CisgICAgc3RhdGljIFJlZjxXZWJHUFVQaXBlbGluZUxheW91dD4gY3JlYXRlKFJlZjxHUFVQ
aXBlbGluZUxheW91dD4mJik7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgV2ViR1BVUGlwZWxp
bmVMYXlvdXQoUmVmPEdQVVBpcGVsaW5lTGF5b3V0PiYmKTsKKworICAgIFJlZjxHUFVQaXBlbGlu
ZUxheW91dD4gbV9waXBlbGluZUxheW91dDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzBlODU2
ZjM3NWQzOTc5ZjBmNzMyYjc4YmUyZjhiYmNlNjg1ZTdjOQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmlkbApAQCAt
MCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKy8vIGh0dHBzOi8vZ2l0aHViLmNvbS9ncHV3ZWIvZ3B1
d2ViL2Jsb2IvbWFzdGVyL2Rlc2lnbi9za2V0Y2gud2ViaWRsCisKK1sKKyAgICBDb25kaXRpb25h
bD1XRUJHUFUsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUsCisgICAgSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZQorXSBpbnRlcmZhY2UgV2ViR1BVUGlwZWxpbmVMYXlvdXQgeworfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5
b3V0RGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlw
ZWxpbmVMYXlvdXREZXNjcmlwdG9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWI3MGFjNDA3Mzg2Y2UzY2EzMTY3
ZDRjNWFhZGU1NWQyZjY2ZGEyOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5oCkBAIC0wLDAgKzEs
NDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJHUFUpCisK
KyNpbmNsdWRlICJXZWJHUFVCaW5kR3JvdXBMYXlvdXQuaCIKKworI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
c3RydWN0IFdlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciB7CisgICAgVmVjdG9yPFJlZlB0
cjxXZWJHUFVCaW5kR3JvdXBMYXlvdXQ+PiBiaW5kR3JvdXBMYXlvdXRzOworfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdQVSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3Jp
cHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxh
eW91dERlc2NyaXB0b3IuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUzMWY4ODAwMDc2OGNlZDU0OGQ4MTFjNDQ0
NWU4NTczYjBkYTAzYjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaWRsCkBAIC0wLDAgKzEsMzIg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworLy8gaHR0cHM6Ly9naXRodWIuY29tL2dwdXdlYi9ncHV3ZWIvYmxvYi9t
YXN0ZXIvZGVzaWduL3NrZXRjaC53ZWJpZGwKKworWworICAgIENvbmRpdGlvbmFsPVdFQkdQVSwK
KyAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQorXSBkaWN0aW9uYXJ5IFdlYkdQVVBpcGVsaW5l
TGF5b3V0RGVzY3JpcHRvciB7CisgICAgc2VxdWVuY2U8V2ViR1BVQmluZEdyb3VwTGF5b3V0PiBi
aW5kR3JvdXBMYXlvdXRzOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dlYkdQVVF1ZXVlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJH
UFVRdWV1ZS5oCmluZGV4IDRkODJmNmZlN2RhMjg5NzBiYmE0MWQ2ZmQ4ZThlYmUwNzMxNmUxYWEu
LjQ0NmVkZjhlOTU4NmI5ZTk1YjI0NDRiNjAxZDEwZTRiZWJjNGU5MzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVF1ZXVlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUXVldWUuaApAQCAtMzEsNiArMzEsNyBAQAogI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IGU3MGRiODM5NDQxYzg4ZjE2MGEw
ZjJlNmI5ZTBlOWM1NTJkNmE3ZDQuLjQ2MTc1ZjM1MDk1MDJjZWMxMWEzYTVlZWU1YTliYWI0YmY4
ZWJmMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0zMDgsNiArMzA4LDcgQEAgTW9kdWxlcy93ZWJncHUv
V2ViR1BVQnVmZmVyLmNwcAogTW9kdWxlcy93ZWJncHUvV2ViR1BVQ29tbWFuZEJ1ZmZlci5jcHAK
IE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVF1
ZXVlLmNwcAorTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlvdXQuY3BwCiBNb2R1bGVz
L3dlYmdwdS9XZWJHUFVQcm9ncmFtbWFibGVQYXNzRW5jb2Rlci5jcHAKIE1vZHVsZXMvd2ViZ3B1
L1dlYkdQVVJlbmRlcmluZ0NvbnRleHQuY3BwCiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVSZW5kZXJQ
YXNzRW5jb2Rlci5jcHAKQEAgLTE3NDQsNiArMTc0NSw3IEBAIHBsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvU3BvdExpZ2h0U291cmNlLmNwcAogCiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQmlu
ZEdyb3VwTGF5b3V0LmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5jcHAKK3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVQaXBlbGluZUxheW91dC5jcHAKIHBsYXRmb3JtL2dyYXBo
aWNzL2dwdS9sZWdhY3kvR1BVTGVnYWN5QnVmZmVyLmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L2xlZ2FjeS9HUFVMZWdhY3lDb21tYW5kQnVmZmVyLmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L2xlZ2FjeS9HUFVMZWdhY3lDb21tYW5kUXVldWUuY3BwCkBAIC0zMjQxLDYgKzMyNDMsOCBAQCBK
U1dlYkdQVUlucHV0U3RhdGVEZXNjcmlwdG9yLmNwcAogSlNXZWJHUFVJbnB1dFN0ZXBNb2RlLmNw
cAogSlNXZWJHUFVRdWV1ZS5jcHAKIEpTV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5jcHAK
K0pTV2ViR1BVUGlwZWxpbmVMYXlvdXQuY3BwCitKU1dlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3Jp
cHRvci5jcHAKIEpTV2ViR1BVUGlwZWxpbmVTdGFnZURlc2NyaXB0b3IuY3BwCiBKU1dlYkdQVVBy
b2dyYW1tYWJsZVBhc3NFbmNvZGVyLmNwcAogSlNXZWJHUFVSZW5kZXJpbmdDb250ZXh0LmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDYzZTlhNjgzZmZhNmUxYTQ5NmMwOTc0NmY3MzQ1N2Y2ZGYxYjA0ODUuLjUyOTE5ZTUwNjM0
ZjgxYmExZGNlYzdlYTA1OTg1NTQ3MTllZjc1NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEzNzIwLDYgKzEzNzIwLDkgQEAK
IAkJRDAwMzI4NzkyMUM4NjQ1QjAwNjIyQUE2IC8qIFdlYkdQVUJpbmRHcm91cExheW91dC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXZWJHUFVCaW5kR3JvdXBMYXlvdXQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRDAwMzI4N0EyMUM4NjQ1QjAwNjIyQUE2IC8qIFdlYkdQVUJpbmRHcm91cExh
eW91dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJHUFVCaW5kR3JvdXBMYXlvdXQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMDAzMjg3QjIxQzg2NDVCMDA2MjJBQTYgLyog
V2ViR1BVQmluZEdyb3VwTGF5b3V0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJHUFVCaW5kR3JvdXBMYXlvdXQuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDAzMjg4NDIxQzlBMjBEMDA2MjJBQTYg
LyogR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVVBpcGVs
aW5lTGF5b3V0RGVzY3JpcHRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDAz
Mjg4NjIxQzlBNEU1MDA2MjJBQTYgLyogR1BVUGlwZWxpbmVMYXlvdXQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gR1BVUGlwZWxpbmVMYXlvdXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAw
MzI4ODcyMUM5QTRFNTAwNjIyQUE2IC8qIEdQVVBpcGVsaW5lTGF5b3V0LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEdQVVBpcGVsaW5lTGF5b3V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRDAwRjU5NDAyMTZFQ0M3QTAwMEQ3MURCIC8qIERPTVdpbmRvd1dlYkdQVS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBET01XaW5kb3dXZWJHUFUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRDAwRjU5NDEyMTZFQ0M3QTAwMEQ3MURCIC8qIERPTVdpbmRvd1dlYkdQVS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBET01XaW5kb3dXZWJHUFUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlEMDBGNTk0MjIxNkVDQzdBMDAwRDcxREIgLyogRE9NV2luZG93V2ViR1BVLmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBET01XaW5kb3dXZWJHUFUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTM4MDgsNiArMTM4MTEsMTEgQEAKIAkJRDA0NUFEMjEyMTY4MjQ3NDAwMEE2RTlCIC8qIFdlYk1l
dGFsQnVmZmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk1ldGFsQnVmZmVyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDA0NUFEMjIyMTY4MjQ3NDAwMEE2RTlCIC8qIFdl
Yk1ldGFsQ29tbWFuZEJ1ZmZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJNZXRhbENvbW1hbmRCdWZm
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDA0NUFEMjMyMTY4MjQ3NTAwMEE2
RTlCIC8qIFdlYk1ldGFsQ29tbWFuZFF1ZXVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk1l
dGFsQ29tbWFuZFF1ZXVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA1QTk5
RTEyMUM5QjUwRjAwMDMyQjc1IC8qIFdlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA1QTk5RTIyMUM5QjUwRjAwMDMyQjc1IC8qIFdlYkdQVVBp
cGVsaW5lTGF5b3V0RGVzY3JpcHRvci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViR1BVUGlwZWxpbmVMYXlvdXREZXNj
cmlwdG9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA1QTk5RTQyMUM5QkYy
QzAwMDMyQjc1IC8qIFdlYkdQVVBpcGVsaW5lTGF5b3V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkdQ
VVBpcGVsaW5lTGF5b3V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwNUE5OUU1
MjFDOUJGMkMwMDAzMkI3NSAvKiBXZWJHUFVQaXBlbGluZUxheW91dC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBXZWJHUFVQaXBlbGluZUxheW91dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUQwNUE5OUU2MjFDOUJGMkMwMDAzMkI3NSAvKiBXZWJHUFVQaXBlbGluZUxheW91dC5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gV2ViR1BVUGlwZWxpbmVMYXlvdXQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlEMDVDRUQyNzBBNDBCQjJDMDBDNUFGMzggLyogRm9ybWF0QmxvY2tDb21tYW5kLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGb3JtYXRCbG9ja0NvbW1h
bmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMDVDRUQyODBBNDBCQjJDMDBD
NUFGMzggLyogRm9ybWF0QmxvY2tDb21tYW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBGb3JtYXRCbG9ja0NvbW1hbmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRDA2MEQ4ODQyMTgyNUQ1RjAwMzM5MzE4IC8qIFdlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0
b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IFdlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMTgwNjgsNiArMTgwNzYsOSBAQAogCQkJCTMxMkZGOEJFMjFB
NEMyRjEwMEVCMTk5RCAvKiBHUFVEZXZpY2UuaCAqLywKIAkJCQlEMEQ4NjQ5OTIxQkExQjFGMDAz
Qzk4M0MgLyogR1BVSW5wdXRTdGF0ZURlc2NyaXB0b3IuaCAqLywKIAkJCQkzMTJGRjhDNDIxQTRD
MkY0MDBFQjE5OUQgLyogR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5oICovLAorCQkJCUQwMDMy
ODg3MjFDOUE0RTUwMDYyMkFBNiAvKiBHUFVQaXBlbGluZUxheW91dC5jcHAgKi8sCisJCQkJRDAw
MzI4ODYyMUM5QTRFNTAwNjIyQUE2IC8qIEdQVVBpcGVsaW5lTGF5b3V0LmggKi8sCisJCQkJRDAw
MzI4ODQyMUM5QTIwRDAwNjIyQUE2IC8qIEdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5oICov
LAogCQkJCTMxMkZGOEMyMjFBNEMyRjMwMEVCMTk5RCAvKiBHUFVQaXBlbGluZVN0YWdlRGVzY3Jp
cHRvci5oICovLAogCQkJCUQwMzIxMUNGMjFBQzk1NEUwMDc2M0NGMiAvKiBHUFVQcm9ncmFtbWFi
bGVQYXNzRW5jb2Rlci5oICovLAogCQkJCTMxMkZGOEMxMjFBNEMyRjIwMEVCMTk5RCAvKiBHUFVR
dWV1ZS5oICovLApAQCAtMjU2MDAsNiArMjU2MTEsMTEgQEAKIAkJCQlEMDYzQUU0NzIxQzA2NjI2
MDAwRTZBMzUgLyogV2ViR1BVSW5wdXRTdGVwTW9kZS5pZGwgKi8sCiAJCQkJRDBDNDE5RjAyMTgz
RUIzMTAwOUVDMURFIC8qIFdlYkdQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuaCAqLywKIAkJCQlE
MEM0MTlGMTIxODNFQjMxMDA5RUMxREUgLyogV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5p
ZGwgKi8sCisJCQkJRDA1QTk5RTUyMUM5QkYyQzAwMDMyQjc1IC8qIFdlYkdQVVBpcGVsaW5lTGF5
b3V0LmNwcCAqLywKKwkJCQlEMDVBOTlFNDIxQzlCRjJDMDAwMzJCNzUgLyogV2ViR1BVUGlwZWxp
bmVMYXlvdXQuaCAqLywKKwkJCQlEMDVBOTlFNjIxQzlCRjJDMDAwMzJCNzUgLyogV2ViR1BVUGlw
ZWxpbmVMYXlvdXQuaWRsICovLAorCQkJCUQwNUE5OUUxMjFDOUI1MEYwMDAzMkI3NSAvKiBXZWJH
UFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaCAqLywKKwkJCQlEMDVBOTlFMjIxQzlCNTBGMDAw
MzJCNzUgLyogV2ViR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmlkbCAqLywKIAkJCQlEMEM0
MTlFQjIxODNDRkEyMDA5RUMxREUgLyogV2ViR1BVUGlwZWxpbmVTdGFnZURlc2NyaXB0b3IuaCAq
LywKIAkJCQlEMEM0MTlFQzIxODNDRkEyMDA5RUMxREUgLyogV2ViR1BVUGlwZWxpbmVTdGFnZURl
c2NyaXB0b3IuaWRsICovLAogCQkJCUQwRUFDRjkyMjE5NDBBNUIwMDBGQTc1QyAvKiBXZWJHUFVQ
cm9ncmFtbWFibGVQYXNzRW5jb2Rlci5jcHAgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKaW5kZXggMWQyMTQ4NzdjZWU5MjFmMTgxNmVm
YTQ3ZGEzYzA1MjFmMDAwMTExZC4uMmFlMWVjZjc4MzYxZDg2NjgyMWM2ZTljODNlZDVjNDNiYmVj
NDU2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0
aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGlu
TmFtZXMuaApAQCAtMTk4LDYgKzE5OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNy
byhXZWJHUFVJbmRleEZvcm1hdCkgXAogICAgIG1hY3JvKFdlYkdQVUlucHV0U3RlcE1vZGUpIFwK
ICAgICBtYWNybyhXZWJHUFVRdWV1ZSkgXAorICAgIG1hY3JvKFdlYkdQVVBpcGVsaW5lTGF5b3V0
KSBcCiAgICAgbWFjcm8oV2ViR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIpIFwKICAgICBtYWNy
byhXZWJHUFVSZW5kZXJpbmdDb250ZXh0KSBcCiAgICAgbWFjcm8oV2ViR1BVUmVuZGVyUGFzc0Vu
Y29kZXIpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9HUFVCaW5kR3JvdXBMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0dQVUJpbmRHcm91cExheW91dC5jcHAKaW5kZXggMDMyNjJkODNkNjI1OTQyMzE2NTY3
MWU2NjJmNGUyNTk3ODM4NjdhOS4uM2E3YjE3OWY0YjFlZWFkMTczYzM4NmU4N2M0ZWM3Y2ZiMTdi
ZTU3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQ
VUJpbmRHcm91cExheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0dQVUJpbmRHcm91cExheW91dC5jcHAKQEAgLTM1LDkgKzM1LDkgQEAgUmVmPEdQVUJp
bmRHcm91cExheW91dD4gR1BVQmluZEdyb3VwTGF5b3V0OjpjcmVhdGUoR1BVQmluZEdyb3VwTGF5
b3V0RGVzY3JpcHRvciYKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBHUFVCaW5kR3JvdXBMYXlv
dXQoV1RGTW92ZShkZXNjcmlwdG9yKSkpOwogfQogCi1HUFVCaW5kR3JvdXBMYXlvdXQ6OkdQVUJp
bmRHcm91cExheW91dChHUFVCaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9yJiYgZGVzY3JpcHRvcikK
LSAgICA6IG1fZGVzY3JpcHRvcihXVEZNb3ZlKGRlc2NyaXB0b3IpKQorR1BVQmluZEdyb3VwTGF5
b3V0OjpHUFVCaW5kR3JvdXBMYXlvdXQoR1BVQmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvciYmKQog
eworICAgIC8vIEZJWE1FOiBTdHViIGltcGxlbWVudGF0aW9uLgogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVQmluZEdyb3VwTGF5b3V0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVQmluZEdyb3VwTGF5b3V0LmgKaW5kZXggNTgwNmE5NWEyZjRkMzc2ZWQ3ZGUyN2Vh
MGFkNTA1OWIzMjQ3MDcwMi4uYmZiYTY5MGRmMWUyNzdiMzM5OTA0ZTRiODdmNzVkYWU5MjYxZTZk
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUJp
bmRHcm91cExheW91dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9HUFVCaW5kR3JvdXBMYXlvdXQuaApAQCAtNDAsOCArNDAsNiBAQCBwdWJsaWM6CiAKIHByaXZh
dGU6CiAgICAgR1BVQmluZEdyb3VwTGF5b3V0KEdQVUJpbmRHcm91cExheW91dERlc2NyaXB0b3Im
Jik7Ci0KLSAgICBHUFVCaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9yIG1fZGVzY3JpcHRvcjsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5jcHAKaW5kZXggYzY5ODE1YzdhNTc3NGFhZGUyZWQ3
YmNjZWE4OTNlYWI2Zjg5ZmYzNy4uMTdjNzZmZDNiNWU3NzJiYzhmYjA1NThiZWMxMzgzZmM5MDE3
MGE2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQ
VURldmljZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQ
VURldmljZS5jcHAKQEAgLTMyLDYgKzMyLDggQEAKICNpbmNsdWRlICJHUFVCaW5kR3JvdXBMYXlv
dXREZXNjcmlwdG9yLmgiCiAjaW5jbHVkZSAiR1BVQnVmZmVyLmgiCiAjaW5jbHVkZSAiR1BVQnVm
ZmVyRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgIkdQVVBpcGVsaW5lTGF5b3V0LmgiCisjaW5jbHVk
ZSAiR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmgiCiAjaW5jbHVkZSAiR1BVUmVuZGVyUGlw
ZWxpbmUuaCIKICNpbmNsdWRlICJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaCIKICNpbmNs
dWRlICJHUFVTaGFkZXJNb2R1bGUuaCIKQEAgLTQ5LDYgKzUxLDExIEBAIFJlZjxHUFVCaW5kR3Jv
dXBMYXlvdXQ+IEdQVURldmljZTo6Y3JlYXRlQmluZEdyb3VwTGF5b3V0KEdQVUJpbmRHcm91cExh
eW91dERlc2NyCiAgICAgcmV0dXJuIEdQVUJpbmRHcm91cExheW91dDo6Y3JlYXRlKFdURk1vdmUo
ZGVzY3JpcHRvcikpOwogfQogCitSZWY8R1BVUGlwZWxpbmVMYXlvdXQ+IEdQVURldmljZTo6Y3Jl
YXRlUGlwZWxpbmVMYXlvdXQoR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yJiYgZGVzY3JpcHRv
cikgY29uc3QKK3sKKyAgICByZXR1cm4gR1BVUGlwZWxpbmVMYXlvdXQ6OmNyZWF0ZShXVEZNb3Zl
KGRlc2NyaXB0b3IpKTsKK30KKwogUmVmUHRyPEdQVVNoYWRlck1vZHVsZT4gR1BVRGV2aWNlOjpj
cmVhdGVTaGFkZXJNb2R1bGUoR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvciYmIGRlc2NyaXB0b3Ip
IGNvbnN0CiB7CiAgICAgcmV0dXJuIEdQVVNoYWRlck1vZHVsZTo6Y3JlYXRlKCp0aGlzLCBXVEZN
b3ZlKGRlc2NyaXB0b3IpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVEZXZpY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVEZXZpY2UuaAppbmRleCBiMDI5ODdlMjExN2Y2ZjUxYmFiYzI4YmRmMTNhNmRmMDVl
YjQ1MjVkLi41YzlkMzA5YTMyMWM2MTNhNzg1MDJkYjljNTYxZWJhYzUwYTc4YmE3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oCkBAIC00
MywxMyArNDMsMTUgQEAgdXNpbmcgUGxhdGZvcm1EZXZpY2VTbWFydFB0ciA9IFJldGFpblB0cjxN
VExEZXZpY2U+OwogCiBjbGFzcyBHUFVCaW5kR3JvdXBMYXlvdXQ7CiBjbGFzcyBHUFVCdWZmZXI7
CitjbGFzcyBHUFVQaXBlbGluZUxheW91dDsKIGNsYXNzIEdQVVJlbmRlclBpcGVsaW5lOwogY2xh
c3MgR1BVU2hhZGVyTW9kdWxlOwogCiBzdHJ1Y3QgR1BVQmluZEdyb3VwTGF5b3V0RGVzY3JpcHRv
cjsKIHN0cnVjdCBHUFVCdWZmZXJEZXNjcmlwdG9yOwotc3RydWN0IEdQVVNoYWRlck1vZHVsZURl
c2NyaXB0b3I7CitzdHJ1Y3QgR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yOwogc3RydWN0IEdQ
VVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjsKK3N0cnVjdCBHUFVTaGFkZXJNb2R1bGVEZXNjcmlw
dG9yOwogCiBjbGFzcyBHUFVEZXZpY2UgOiBwdWJsaWMgUmVmQ291bnRlZDxHUFVEZXZpY2U+IHsK
IHB1YmxpYzoKQEAgLTU4LDYgKzYwLDcgQEAgcHVibGljOgogICAgIFJlZlB0cjxHUFVCdWZmZXI+
IGNyZWF0ZUJ1ZmZlcihHUFVCdWZmZXJEZXNjcmlwdG9yJiYpIGNvbnN0OwogCiAgICAgUmVmPEdQ
VUJpbmRHcm91cExheW91dD4gY3JlYXRlQmluZEdyb3VwTGF5b3V0KEdQVUJpbmRHcm91cExheW91
dERlc2NyaXB0b3ImJikgY29uc3Q7CisgICAgUmVmPEdQVVBpcGVsaW5lTGF5b3V0PiBjcmVhdGVQ
aXBlbGluZUxheW91dChHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3ImJikgY29uc3Q7CiAKICAg
ICBSZWZQdHI8R1BVU2hhZGVyTW9kdWxlPiBjcmVhdGVTaGFkZXJNb2R1bGUoR1BVU2hhZGVyTW9k
dWxlRGVzY3JpcHRvciYmKSBjb25zdDsKICAgICBSZWZQdHI8R1BVUmVuZGVyUGlwZWxpbmU+IGNy
ZWF0ZVJlbmRlclBpcGVsaW5lKEdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciYmKSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVQaXBl
bGluZUxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
UGlwZWxpbmVMYXlvdXQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhYjAyOTU0ZTdiMjdmMGI5ZmY4OTc5NTBl
MjgwYTI1MjcxYjNkNzYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVUGlwZWxpbmVMYXlvdXQuY3BwCkBAIC0wLDAgKzEsNDUgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiR1BVUGlwZWxpbmVMYXlv
dXQuaCIKKworI2lmIEVOQUJMRShXRUJHUFUpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVm
PEdQVVBpcGVsaW5lTGF5b3V0PiBHUFVQaXBlbGluZUxheW91dDo6Y3JlYXRlKEdQVVBpcGVsaW5l
TGF5b3V0RGVzY3JpcHRvciYmIGRlc2NyaXB0b3IpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgR1BVUGlwZWxpbmVMYXlvdXQoV1RGTW92ZShkZXNjcmlwdG9yKSkpOworfQorCitHUFVQaXBl
bGluZUxheW91dDo6R1BVUGlwZWxpbmVMYXlvdXQoR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9y
JiYpCit7CisgICAgLy8gRklYTUU6IFN0dWIgaW1wbGVtZW50YXRpb24uCit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUGlwZWxpbmVMYXlvdXQuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVQaXBlbGluZUxheW91dC5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjg3MGE1ZGEwZjNkZGU1ZTU2NDFiNTJjNmZhYjA2NjI2MmEzYjNiZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
UGlwZWxpbmVMYXlvdXQuaApAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpZiBFTkFCTEUoV0VCR1BVKQorCisjaW5jbHVkZSAiR1BVUGlwZWxpbmVMYXlvdXRE
ZXNjcmlwdG9yLmgiCisKKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNv
dW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBHUFVQaXBlbGluZUxheW91
dCA6IHB1YmxpYyBSZWZDb3VudGVkPEdQVVBpcGVsaW5lTGF5b3V0PiB7CitwdWJsaWM6CisgICAg
c3RhdGljIFJlZjxHUFVQaXBlbGluZUxheW91dD4gY3JlYXRlKEdQVVBpcGVsaW5lTGF5b3V0RGVz
Y3JpcHRvciYmKTsKKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBHUFVQaXBlbGluZUxheW91dChH
UFVQaXBlbGluZUxheW91dERlc2NyaXB0b3ImJik7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVBpcGVsaW5lTGF5b3V0RGVz
Y3JpcHRvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNhMDkxODk5Mzg1ODJiYzI3OGMxNThmZGExYjI3OWMxODY3
NzU1NjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmgKQEAgLTAsMCArMSw0MiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQkdQVSkKKworI2luY2x1ZGUg
IkdQVUJpbmRHcm91cExheW91dC5oIgorCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3Igewor
ICAgIFZlY3RvcjxSZWZQdHI8Y29uc3QgR1BVQmluZEdyb3VwTGF5b3V0Pj4gYmluZEdyb3VwTGF5
b3V0czsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShX
RUJHUFUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggOTEzMGIxN2YxZDk3NWE1YTY4YTVlNWVhNThkODJlZjE5NzJiMzZjZS4u
ZDMyOTJmZDYwZGU5ZTllYjJhNmQwMmMwZGE3ZTQ1MzVjZTcxMmNlMCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE3IEBACisyMDE4LTEyLTE5ICBKdXN0aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisK
KyAgICAgICAgW1dlYkdQVV0gQWRkIHN0dWJzIGZvciBXZWJHUFVQaXBlbGluZUxheW91dC9EZXNj
cmlwdG9yIGFuZCBkZXZpY2U6OmNyZWF0ZVBpcGVsaW5lTGF5b3V0CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTI4NDMKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzQ2ODIwMzk1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE15bGVzIE1heGZpZWxkLgor
CisgICAgICAgIFVwZGF0ZSBiaW5kLWdyb3VwLWxheW91dHMgYW5kIHJlbmFtZSB0byBtYXRjaCBu
ZXcgUGlwZWxpbmVMYXlvdXQgZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIHdlYmdwdS9iaW5k
LWdyb3VwLWxheW91dHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS9w
aXBlbGluZS1sYXlvdXRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ3B1L3Bp
cGVsaW5lLWxheW91dHMuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3dlYmdwdS9iaW5k
LWdyb3VwLWxheW91dHMuaHRtbC4KKwogMjAxOC0xMi0xOCAgSnVzdGluIEZhbiAgPGp1c3Rpbl9m
YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJHUFVdIEJpbmRHcm91cExheW91dCBhbmQgRGV2
aWNlOjpjcmVhdGVCaW5kR3JvdXBMYXlvdXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdw
dS9iaW5kLWdyb3VwLWxheW91dHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ3B1L2Jp
bmQtZ3JvdXAtbGF5b3V0cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGYxNDNlZTZiYTg2MjEwYjVhYTUzODI4MmRmMmEyZGNhYWQ3Yzg5YjAuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2Jp
bmQtZ3JvdXAtbGF5b3V0cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAg
QEAKLQotUEFTUyBDcmVhdGUgYSBiYXNpYyBXZWJHUFVCaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9y
LiAKLVBBU1MgQ3JlYXRlIGEgYmFzaWMgV2ViR1BVQmluZEdyb3VwTGF5b3V0IHdpdGggYSBXZWJH
UFVEZXZpY2UuIAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJncHUvYmluZC1ncm91cC1s
YXlvdXRzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJncHUvYmluZC1ncm91cC1sYXlvdXRzLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA2YjFlYjU3YTc5YjYwMmYxMWQ0Yjg5MDVm
ZTc0Nzk5NDY0YWM0YTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2JpbmQtZ3JvdXAtbGF5b3V0cy5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsMzAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyBleHBlcmltZW50YWw6V2ViR1BVRW5hYmxlZD10cnVlIF0gLS0+Ci08bWV0YSBjaGFy
c2V0PXV0Zi04PgotPHRpdGxlPkNyZWF0ZSBXZWJHUFVCaW5kR3JvdXBMYXlvdXQuPC90aXRsZT4K
LTxib2R5PgotPHNjcmlwdCBzcmM9ImpzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQ+Ci1mdW5jdGlvbiBjcmVhdGVCaW5kR3JvdXBMYXlvdXRCaW5kaW5nKCkgewotICAgIHJl
dHVybiB7Ci0gICAgICAgIGJpbmRpbmc6IDAsCi0gICAgICAgIHZpc2liaWxpdHk6IFdlYkdQVVNo
YWRlclN0YWdlQml0LkZSQUdNRU5UIHwgV2ViR1BVU2hhZGVyU3RhZ2VCaXQuVkVSVEVYLAotICAg
ICAgICB0eXBlOiAic3RvcmFnZUJ1ZmZlciIKLSAgICB9OwotfQotCi10ZXN0KCgpID0+IHsKLSAg
ICBjb25zdCBiaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9yID0geyBiaW5kaW5nczogW2NyZWF0ZUJp
bmRHcm91cExheW91dEJpbmRpbmcoKV0gfTsKLSAgICBhc3NlcnRfbm90X2VxdWFscyhiaW5kR3Jv
dXBMYXlvdXREZXNjcmlwdG9yLmJpbmRpbmdzWzBdLnZpc2liaWxpdHkgJiBXZWJHUFVTaGFkZXJT
dGFnZUJpdC5GUkFHTUVOVCwgMCk7Ci0gICAgYXNzZXJ0X25vdF9lcXVhbHMoYmluZEdyb3VwTGF5
b3V0RGVzY3JpcHRvci5iaW5kaW5nc1swXS52aXNpYmlsaXR5ICYgV2ViR1BVU2hhZGVyU3RhZ2VC
aXQuVkVSVEVYLCAwKTsKLSAgICBhc3NlcnRfZXF1YWxzKGJpbmRHcm91cExheW91dERlc2NyaXB0
b3IuYmluZGluZ3NbMF0udHlwZSwgInN0b3JhZ2VCdWZmZXIiKTsKLX0sICJDcmVhdGUgYSBiYXNp
YyBXZWJHUFVCaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9yLiIpOwotCi1wcm9taXNlX3Rlc3QoYXN5
bmMgKCkgPT4gewotICAgIGNvbnN0IGRldmljZSA9IGF3YWl0IHdpbmRvdy5nZXRCYXNpY0Rldmlj
ZSgpOwotICAgIGNvbnN0IGJpbmRHcm91cExheW91dCA9IGRldmljZS5jcmVhdGVCaW5kR3JvdXBM
YXlvdXQoeyBiaW5kaW5nczogW2NyZWF0ZUJpbmRHcm91cExheW91dEJpbmRpbmcoKV0gfSk7Ci0g
ICAgYXNzZXJ0X3RydWUoYmluZEdyb3VwTGF5b3V0IGluc3RhbmNlb2YgV2ViR1BVQmluZEdyb3Vw
TGF5b3V0LCAiY3JlYXRlQmluZEdyb3VwTGF5b3V0IHJldHVybmVkIGEgV2ViR1BVQmluZEdyb3Vw
TGF5b3V0Iik7Ci19LCAiQ3JlYXRlIGEgYmFzaWMgV2ViR1BVQmluZEdyb3VwTGF5b3V0IHdpdGgg
YSBXZWJHUFVEZXZpY2UuIik7Ci08L3NjcmlwdD4KLTwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJncHUvcGlwZWxpbmUtbGF5b3V0
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJncHUvcGlwZWxpbmUtbGF5b3V0cy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYTg3Nzg3ZDMyMDA0YTE5MzM5MDFiZTc0MGVmYzRkYTIyZjRl
MDk3YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdwdS9waXBlbGluZS1sYXlv
dXRzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworUEFTUyBDcmVhdGUgYSBiYXNpYyBX
ZWJHUFVCaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9yLiAKK1BBU1MgQ3JlYXRlIGEgYmFzaWMgV2Vi
R1BVUGlwZWxpbmVMYXlvdXQgd3RpaCBhIFdlYkdQVURldmljZS4gCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdwdS9waXBlbGluZS1sYXlvdXRzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
cHUvcGlwZWxpbmUtbGF5b3V0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNjdmNmRlZjJkZDI2ZDcyMzM2
MjJjYjQxYjRjNTBlNDZhZmJmNGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
cHUvcGlwZWxpbmUtbGF5b3V0cy5odG1sCkBAIC0wLDAgKzEsMzMgQEAKKzwhRE9DVFlQRSBodG1s
PjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOldlYkdQVUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5DcmVhdGUgV2ViR1BVQmluZEdy
b3VwTGF5b3V0LjwvdGl0bGU+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJqcy93ZWJncHUtZnVuY3Rp
b25zLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gY3JlYXRlQmluZEdyb3VwTGF5b3V0
QmluZGluZygpIHsKKyAgICByZXR1cm4geworICAgICAgICBiaW5kaW5nOiAwLAorICAgICAgICB2
aXNpYmlsaXR5OiBXZWJHUFVTaGFkZXJTdGFnZUJpdC5GUkFHTUVOVCB8IFdlYkdQVVNoYWRlclN0
YWdlQml0LlZFUlRFWCwKKyAgICAgICAgdHlwZTogInN0b3JhZ2VCdWZmZXIiCisgICAgfTsKK30K
KwordGVzdCgoKSA9PiB7CisgICAgY29uc3QgYmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvciA9IHsg
YmluZGluZ3M6IFtjcmVhdGVCaW5kR3JvdXBMYXlvdXRCaW5kaW5nKCldIH07CisgICAgYXNzZXJ0
X25vdF9lcXVhbHMoYmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvci5iaW5kaW5nc1swXS52aXNpYmls
aXR5ICYgV2ViR1BVU2hhZGVyU3RhZ2VCaXQuRlJBR01FTlQsIDApOworICAgIGFzc2VydF9ub3Rf
ZXF1YWxzKGJpbmRHcm91cExheW91dERlc2NyaXB0b3IuYmluZGluZ3NbMF0udmlzaWJpbGl0eSAm
IFdlYkdQVVNoYWRlclN0YWdlQml0LlZFUlRFWCwgMCk7CisgICAgYXNzZXJ0X2VxdWFscyhiaW5k
R3JvdXBMYXlvdXREZXNjcmlwdG9yLmJpbmRpbmdzWzBdLnR5cGUsICJzdG9yYWdlQnVmZmVyIik7
Cit9LCAiQ3JlYXRlIGEgYmFzaWMgV2ViR1BVQmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvci4iKTsg
CisKK3Byb21pc2VfdGVzdChhc3luYyAoKSA9PiB7CisgICAgY29uc3QgZGV2aWNlID0gYXdhaXQg
d2luZG93LmdldEJhc2ljRGV2aWNlKCk7CisgICAgY29uc3QgYmluZEdyb3VwTGF5b3V0ID0gZGV2
aWNlLmNyZWF0ZUJpbmRHcm91cExheW91dCh7IGJpbmRpbmdzOiBbY3JlYXRlQmluZEdyb3VwTGF5
b3V0QmluZGluZygpXSB9KTsKKyAgICBhc3NlcnRfdHJ1ZShiaW5kR3JvdXBMYXlvdXQgaW5zdGFu
Y2VvZiBXZWJHUFVCaW5kR3JvdXBMYXlvdXQsICJjcmVhdGVCaW5kR3JvdXBMYXlvdXQgcmV0dXJu
ZWQgYSBXZWJHUFVCaW5kR3JvdXBMYXlvdXQiKTsKKworICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0
ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHsgYmluZEdyb3VwTGF5b3V0czogW2JpbmRH
cm91cExheW91dF0gfSk7CisgICAgYXNzZXJ0X3RydWUocGlwZWxpbmVMYXlvdXQgaW5zdGFuY2Vv
ZiBXZWJHUFVQaXBlbGluZUxheW91dCwgImNyZWF0ZVBpcGVsaW5lTGF5b3V0IHJldHVybmVkIGEg
V2ViR1BVUGlwZWxpbmVMYXlvdXQiKTsKK30sICJDcmVhdGUgYSBiYXNpYyBXZWJHUFVQaXBlbGlu
ZUxheW91dCB3dGloIGEgV2ViR1BVRGV2aWNlLiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>