<?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>192817</bug_id>
          
          <creation_ts>2018-12-18 11:32:12 -0800</creation_ts>
          <short_desc>[WebGPU] BindGroupLayout and Device::createBindGroupLayout</short_desc>
          <delta_ts>2018-12-18 13:52:07 -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>dino</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1488975</commentid>
    <comment_count>0</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2018-12-18 11:32:12 -0800</bug_when>
    <thetext>[WebGPU] BindGroupLayout and Device::createBindGroupLayout</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488977</commentid>
    <comment_count>1</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2018-12-18 11:34:56 -0800</bug_when>
    <thetext>&lt;rdar://problem/46816659&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489004</commentid>
    <comment_count>2</comment_count>
      <attachid>357597</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2018-12-18 12:24:48 -0800</bug_when>
    <thetext>Created attachment 357597
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489012</commentid>
    <comment_count>3</comment_count>
      <attachid>357597</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-12-18 12:47:50 -0800</bug_when>
    <thetext>Comment on attachment 357597
Patch

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

&gt; Source/WebCore/Modules/webgpu/WebGPUBindGroupLayout.cpp:41
&gt; +    UNUSED_PARAM(layout);

Remove this. You use the parameter.

&gt; Source/WebCore/Modules/webgpu/WebGPUDevice.cpp:71
&gt; +    return layout ? static_cast&lt;RefPtr&lt;WebGPUBindGroupLayout&gt;&gt;(WebGPUBindGroupLayout::create(layout.releaseNonNull())) : nullptr;

Why do you have to cast? I think the compiler will handle this.

&gt; Source/WebCore/platform/graphics/gpu/GPUBindGroupLayout.cpp:35
&gt; +    return adoptRef(new GPUBindGroupLayout(WTFMove(descriptor)));

So for now it will never fail to return a layout? But it will in the future, hence the try name?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489019</commentid>
    <comment_count>4</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2018-12-18 13:07:29 -0800</bug_when>
    <thetext>(In reply to Dean Jackson from comment #3)
&gt; Comment on attachment 357597 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=357597&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/webgpu/WebGPUDevice.cpp:71
&gt; &gt; +    return layout ? static_cast&lt;RefPtr&lt;WebGPUBindGroupLayout&gt;&gt;(WebGPUBindGroupLayout::create(layout.releaseNonNull())) : nullptr;
&gt; 
&gt; Why do you have to cast? I think the compiler will handle this.
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/gpu/GPUBindGroupLayout.cpp:35
&gt; &gt; +    return adoptRef(new GPUBindGroupLayout(WTFMove(descriptor)));
&gt; 
&gt; So for now it will never fail to return a layout? But it will in the future,
&gt; hence the try name?

Since there&apos;s no way to fail to create a layout right now, I&apos;ve refactored the ::create s to return a Ref, obviating the need for a conditional null check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489024</commentid>
    <comment_count>5</comment_count>
      <attachid>357600</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2018-12-18 13:14:14 -0800</bug_when>
    <thetext>Created attachment 357600
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489048</commentid>
    <comment_count>6</comment_count>
      <attachid>357600</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-18 13:52:05 -0800</bug_when>
    <thetext>Comment on attachment 357600
Patch for landing

Clearing flags on attachment: 357600

Committed r239351: &lt;https://trac.webkit.org/changeset/239351&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489049</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-18 13:52:07 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357597</attachid>
            <date>2018-12-18 12:24:48 -0800</date>
            <delta_ts>2018-12-18 13:14:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192817-20181218122447.patch</filename>
            <type>text/plain</type>
            <size>30047</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5Mjg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGM2OGI2MDBiYzdhY2Zm
Y2JhNzhhYWZmYjQwYWQxOGEyNzI3MTFjYS4uMTAwNGQzZmRkNTdiMWUyODE0NWJhOWFiYTAwY2M4
YThiM2I4MWVkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE4LTEyLTE4ICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gQmluZEdy
b3VwTGF5b3V0IGFuZCBEZXZpY2U6OmNyZWF0ZUJpbmRHcm91cExheW91dAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyODE3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGJpbmQtZ3JvdXAtbGF5
b3V0cyB0byB0ZXN0IG5ldyBmdW5jdGlvbmFsaXR5LgorCisgICAgICAgIEltcGxlbWVudCB0aGUg
ZW10cHkgV2ViR1BVQmluZEdyb3VwTGF5b3V0IGludGVyZmFjZSwgYW5kIGVuYWJsZSBjcmVhdGlv
biB2aWEgV2ViR1BVRGV2aWNlOjpjcmVhdGVCaW5kR3JvdXBMYXlvdXQ6CisgICAgICAgICogTW9k
dWxlcy93ZWJncHUvV2ViR1BVQmluZEdyb3VwTGF5b3V0LmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpXZWJHUFVCaW5kR3JvdXBMYXlvdXQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJHUFVCaW5kR3JvdXBMYXlvdXQ6OldlYkdQVUJpbmRHcm91cExheW91dCk6CisgICAgICAg
ICogTW9kdWxlcy93ZWJncHUvV2ViR1BVQmluZEdyb3VwTGF5b3V0Lmg6IEFkZGVkLgorICAgICAg
ICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUJpbmRHcm91cExheW91dC5pZGw6IEFkZGVkLiBFbXB0
eSBpbnRlcmZhY2UgZm9yIG5vdy4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZp
Y2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR1BVRGV2aWNlOjpjcmVhdGVCaW5kR3JvdXBM
YXlvdXQgY29uc3QpOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZp
Y2UuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaWRsOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVCaW5kR3JvdXBMYXlvdXQuY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkdQVUJpbmRHcm91cExheW91dDo6dHJ5Q3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkdQVUJpbmRHcm91cExheW91dDo6R1BVQmluZEdyb3VwTGF5b3V0KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQmluZEdyb3VwTGF5b3V0Lmg6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6R1BVRGV2aWNlOjp0cnlDcmVhdGVCaW5kR3JvdXBMYXlvdXQgY29uc3QpOiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmg6CisKKyAg
ICAgICAgQWRkIGZpbGVzIGFuZCBzeW1ib2xzIHRvIHByb2plY3Q6CisgICAgICAgICogQ01ha2VM
aXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3Vy
Y2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOgorCisgICAgICAgIE1p
c3NpbmcgaW5jbHVkZXMgdGhhdCB3ZXJlIHByZXZpb3VzbHkgcHJvdmlkZWQgdmlhIFVuaWZpZWRT
b3VyY2VzOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNv
cmRlclByaXZhdGVXcml0ZXJDb2NvYS5oOgorICAgICAgICAqIHBsYXRmb3JtL3NxbC9TUUxpdGVG
aWxlU3lzdGVtLmg6CisKIDIwMTgtMTItMTcgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUu
Y29tPgogCiAgICAgICAgIE1ha2UgRG9jdW1lbnRNYXJrZXI6OmFsbE1hcmtlcnMoKSBjb25zdGV4
cHIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZGY3ZGEwZjg0NTQ2YjQ0MWE3MzAyNTg3ZmI3ZGFj
NGU3YjRhNmI2Zi4uYjU4OGMzMTg2OGM5Yjc1MDE5OTFjMjIwMDA4YWY2ZTY2Mzg4ZTU0MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKQEAgLTQ1OCw2ICs0NTgsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZH
X0lETF9GSUxFUwogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVS5pZGwKICAgICBNb2R1bGVzL3dl
YmdwdS9XZWJHUFVBZGFwdGVyLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXJE
ZXNjcmlwdG9yLmlkbAorICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUJpbmRHcm91cExheW91dC5p
ZGwKICAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXBMYXlvdXRCaW5kaW5nLmlkbAog
ICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUJpbmRHcm91cExheW91dERlc2NyaXB0b3IuaWRsCiAg
ICAgTW9kdWxlcy93ZWJncHUvV2ViR1BVQnVmZmVyLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKaW5kZXggMzIxYmQ0MzlhNWUwODVmMjI5MDBlZTcyNjhlN2RhMDliYjJiZWQyNy4uZGUz
OTViMTc1ZTg4ODVkNGNhZjdlMGRmODZlZDgyMGU4Y2Q3MWNlYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCkBAIC0zNzUsNiArMzc1LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVLmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3dlYmdwdS9XZWJHUFVBZGFwdGVyRGVzY3JpcHRvci5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9k
dWxlcy93ZWJncHUvV2ViR1BVQmluZEdyb3VwTGF5b3V0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXBMYXlvdXRCaW5kaW5nLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9yLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVCdWZmZXIuaWRsIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUJpbmRHcm91cExh
eW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXBM
YXlvdXQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcyZGFmZWY1NzM2OGUzNThlN2Y2ZjkwNzg5NmJlNzUwYjRm
MWEyOWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
ZWJHUFVCaW5kR3JvdXBMYXlvdXQuY3BwCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViR1BVQmluZEdyb3VwTGF5b3V0LmgiCisK
KyNpZiBFTkFCTEUoV0VCR1BVKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZjxXZWJHUFVC
aW5kR3JvdXBMYXlvdXQ+IFdlYkdQVUJpbmRHcm91cExheW91dDo6Y3JlYXRlKFJlZjxHUFVCaW5k
R3JvdXBMYXlvdXQ+JiYgbGF5b3V0KQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYkdQ
VUJpbmRHcm91cExheW91dChXVEZNb3ZlKGxheW91dCkpKTsKK30KKworV2ViR1BVQmluZEdyb3Vw
TGF5b3V0OjpXZWJHUFVCaW5kR3JvdXBMYXlvdXQoUmVmPEdQVUJpbmRHcm91cExheW91dD4mJiBs
YXlvdXQpCisgICAgOiBtX2xheW91dChXVEZNb3ZlKGxheW91dCkpCit7CisgICAgVU5VU0VEX1BB
UkFNKGxheW91dCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVO
QUJMRShXRUJHUFUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
ZWJHUFVCaW5kR3JvdXBMYXlvdXQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dl
YkdQVUJpbmRHcm91cExheW91dC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdkNzFlMDc0ODk1N2I5NmJkN2RhMGNh
MjNiYTk3Nzk0OGMzOGZkODYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXBMYXlvdXQuaApAQCAtMCwwICsxLDQ5IEBACisvKgor
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
R1BVQmluZEdyb3VwTGF5b3V0LmgiCisKKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBXZWJHUFVC
aW5kR3JvdXBMYXlvdXQgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJHUFVCaW5kR3JvdXBMYXlvdXQ+
IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFdlYkdQVUJpbmRHcm91cExheW91dD4gY3JlYXRl
KFJlZjxHUFVCaW5kR3JvdXBMYXlvdXQ+JiYpOworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IFdl
YkdQVUJpbmRHcm91cExheW91dChSZWY8R1BVQmluZEdyb3VwTGF5b3V0PiYmKTsKKworICAgIFJl
ZjxHUFVCaW5kR3JvdXBMYXlvdXQ+IG1fbGF5b3V0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdQVSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUJpbmRHcm91cExheW91dC5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXBMYXlvdXQuaWRsCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY3NDJmOThiYzNhYjQ4NzQxZDQzYTMwNzRjZmE5NDQxM2M2YWQ2MDMKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXBMYXlvdXQu
aWRsCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworLy8gaHR0cHM6Ly9naXRodWIuY29tL2dw
dXdlYi9ncHV3ZWIvYmxvYi9tYXN0ZXIvZGVzaWduL3NrZXRjaC53ZWJpZGwKKworWworICAgIENv
bmRpdGlvbmFsPVdFQkdQVSwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVSwKKyAgICBJbXBs
ZW1lbnRhdGlvbkxhY2tzVlRhYmxlCitdIGludGVyZmFjZSBXZWJHUFVCaW5kR3JvdXBMYXlvdXQg
eworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURl
dmljZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3Bw
CmluZGV4IDc3YmE0Y2JjMDhmOTZiMWUzMjJjNjlkNDg3ZjcwNTk0MTI4NmM0MzguLmY0ZTk3YzI0
NDgxODQ2MTRhYTM1Zjc1M2YzM2E0ZmZjNGVmZmU3NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1
ZGUgIkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5oIgogI2luY2x1ZGUgIkdQVVNoYWRlck1v
ZHVsZURlc2NyaXB0b3IuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiV2ViR1BV
QmluZEdyb3VwTGF5b3V0LmgiCiAjaW5jbHVkZSAiV2ViR1BVQnVmZmVyLmgiCiAjaW5jbHVkZSAi
V2ViR1BVQ29tbWFuZEJ1ZmZlci5oIgogI2luY2x1ZGUgIldlYkdQVVBpcGVsaW5lU3RhZ2VEZXNj
cmlwdG9yLmgiCkBAIC02NCw2ICs2NSwxMiBAQCBSZWZQdHI8V2ViR1BVQnVmZmVyPiBXZWJHUFVE
ZXZpY2U6OmNyZWF0ZUJ1ZmZlcihXZWJHUFVCdWZmZXJEZXNjcmlwdG9yJiYgZGVzY3JpcAogICAg
IHJldHVybiBidWZmZXIgPyBXZWJHUFVCdWZmZXI6OmNyZWF0ZShidWZmZXIucmVsZWFzZU5vbk51
bGwoKSkgOiBudWxscHRyOwogfQogCitSZWZQdHI8V2ViR1BVQmluZEdyb3VwTGF5b3V0PiBXZWJH
UFVEZXZpY2U6OmNyZWF0ZUJpbmRHcm91cExheW91dChXZWJHUFVCaW5kR3JvdXBMYXlvdXREZXNj
cmlwdG9yJiYgZGVzY3JpcHRvcikgY29uc3QKK3sKKyAgICBhdXRvIGxheW91dCA9IG1fZGV2aWNl
LT50cnlDcmVhdGVCaW5kR3JvdXBMYXlvdXQoR1BVQmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvciB7
IGRlc2NyaXB0b3IuYmluZGluZ3MgfSk7CisgICAgcmV0dXJuIGxheW91dCA/IHN0YXRpY19jYXN0
PFJlZlB0cjxXZWJHUFVCaW5kR3JvdXBMYXlvdXQ+PihXZWJHUFVCaW5kR3JvdXBMYXlvdXQ6OmNy
ZWF0ZShsYXlvdXQucmVsZWFzZU5vbk51bGwoKSkpIDogbnVsbHB0cjsKK30KKwogUmVmUHRyPFdl
YkdQVVNoYWRlck1vZHVsZT4gV2ViR1BVRGV2aWNlOjpjcmVhdGVTaGFkZXJNb2R1bGUoV2ViR1BV
U2hhZGVyTW9kdWxlRGVzY3JpcHRvciYmIGRlc2NyaXB0b3IpIGNvbnN0CiB7CiAgICAgLy8gRklY
TUU6IFdoYXQgY2FuIGJlIHZhbGlkYXRlZCBoZXJlPwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XZWJHUFVEZXZpY2UuaAppbmRleCA2NTliM2VjZjUxYTI5MDRmNzlhOTFhNTllNjcw
NzU4YTdhOTlhZGZiLi4xNjM1NGFlMDZjNmQ5Y2E1MWM3YmQxMTEzMjRjZThmM2M0ODNjZjYyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaApAQCAtMjks
NiArMjksNyBAQAogCiAjaW5jbHVkZSAiR1BVRGV2aWNlLmgiCiAjaW5jbHVkZSAiV2ViR1BVQWRh
cHRlci5oIgorI2luY2x1ZGUgIldlYkdQVUJpbmRHcm91cExheW91dERlc2NyaXB0b3IuaCIKICNp
bmNsdWRlICJXZWJHUFVCdWZmZXJEZXNjcmlwdG9yLmgiCiAjaW5jbHVkZSAiV2ViR1BVUXVldWUu
aCIKIApAQCAtMzksNiArNDAsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0OworY2xhc3MgV2ViR1BVQmluZEdyb3VwTGF5b3V0OwogY2xhc3Mg
V2ViR1BVQnVmZmVyOwogY2xhc3MgV2ViR1BVQ29tbWFuZEJ1ZmZlcjsKIGNsYXNzIFdlYkdQVVJl
bmRlclBpcGVsaW5lOwpAQCAtNTYsNiArNTgsOCBAQCBwdWJsaWM6CiAKICAgICBSZWZQdHI8V2Vi
R1BVQnVmZmVyPiBjcmVhdGVCdWZmZXIoV2ViR1BVQnVmZmVyRGVzY3JpcHRvciYmKSBjb25zdDsK
IAorICAgIFJlZlB0cjxXZWJHUFVCaW5kR3JvdXBMYXlvdXQ+IGNyZWF0ZUJpbmRHcm91cExheW91
dChXZWJHUFVCaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9yJiYpIGNvbnN0OworCiAgICAgUmVmUHRy
PFdlYkdQVVNoYWRlck1vZHVsZT4gY3JlYXRlU2hhZGVyTW9kdWxlKFdlYkdQVVNoYWRlck1vZHVs
ZURlc2NyaXB0b3ImJikgY29uc3Q7CiAgICAgUmVmUHRyPFdlYkdQVVJlbmRlclBpcGVsaW5lPiBj
cmVhdGVSZW5kZXJQaXBlbGluZShXZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3ImJikgY29u
c3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURl
dmljZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaWRs
CmluZGV4IGUwOThiZTkxNWZkNzNiNTkwNDgwNmIxNzJkMjIyYjlmNjRlMjQyN2EuLjgzNDhkZmJk
Y2E3YjE3MWE2NWM4NTJhMjZhZGQ4M2ViZTFjZWQxN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmlkbApAQCAtMzUsNiArMzUsOCBAQAogCiAgICAg
V2ViR1BVQnVmZmVyIGNyZWF0ZUJ1ZmZlcihXZWJHUFVCdWZmZXJEZXNjcmlwdG9yIGRlc2NyaXB0
b3IpOwogCisgICAgV2ViR1BVQmluZEdyb3VwTGF5b3V0IGNyZWF0ZUJpbmRHcm91cExheW91dChX
ZWJHUFVCaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9yIGRlc2NyaXB0b3IpOworCiAgICAgV2ViR1BV
U2hhZGVyTW9kdWxlIGNyZWF0ZVNoYWRlck1vZHVsZShXZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlw
dG9yIGRlc2NyaXB0b3IpOwogICAgIFdlYkdQVVJlbmRlclBpcGVsaW5lIGNyZWF0ZVJlbmRlclBp
cGVsaW5lKFdlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciBkZXNjcmlwdG9yKTsKIApAQCAt
NDcsNyArNDksNiBAQAogICAgIC8vIFdlYkdQVVRleHR1cmUgY3JlYXRlVGV4dHVyZShXZWJHUFVU
ZXh0dXJlRGVzY3JpcHRvciBkZXNjcmlwdG9yKTsKICAgICAvLyBXZWJHUFVTYW1wbGVyIGNyZWF0
ZVNhbXBsZXIoV2ViR1BVU2FtcGxlckRlc2NyaXB0b3IgZGVzY3JpcHRvcik7CiAgICAgLy8KLSAg
ICAvLyBXZWJHUFVCaW5kR3JvdXBMYXlvdXQgY3JlYXRlQmluZEdyb3VwTGF5b3V0KFdlYkdQVUJp
bmRHcm91cExheW91dERlc2NyaXB0b3IgZGVzY3JpcHRvcik7CiAgICAgLy8gV2ViR1BVUGlwZWxp
bmVMYXlvdXQgY3JlYXRlUGlwZWxpbmVMYXlvdXQoV2ViR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlw
dG9yIGRlc2NyaXB0b3IpOwogICAgIC8vIFdlYkdQVUJpbmRHcm91cCBjcmVhdGVCaW5kR3JvdXAo
V2ViR1BVQmluZEdyb3VwRGVzY3JpcHRvciBkZXNjcmlwdG9yKTsKICAgICAvLwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dAppbmRleCA3MzUyZjMzZTE3NmRjOWFiYjg2ZjU4ODQ1NjJjODJmNWI3NmM3YmZhLi45ZGVhZjRj
MmQ4ODNhNDY0NjNmOWMzNDExN2IyYjNjYTVhNjBhYjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMzAz
LDYgKzMwMyw3IEBAIE1vZHVsZXMvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0
Q2hhbm5lbC5jcHAKIE1vZHVsZXMvd2ViZ3B1L0RPTVdpbmRvd1dlYkdQVS5jcHAKIE1vZHVsZXMv
d2ViZ3B1L1dlYkdQVS5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuY3BwCitNb2R1
bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXBMYXlvdXQuY3BwCiBNb2R1bGVzL3dlYmdwdS9XZWJH
UFVCdWZmZXIuY3BwCiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21tYW5kQnVmZmVyLmNwcAogTW9k
dWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNwcApAQCAtMTczOSw2ICsxNzQwLDcgQEAgcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VBbHBoYS5jcHAKIHBsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvU291cmNlR3JhcGhpYy5jcHAKIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU3BvdExp
Z2h0U291cmNlLmNwcAogCitwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQmluZEdyb3VwTGF5b3V0
LmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5jcHAKIHBsYXRmb3JtL2dyYXBo
aWNzL2dwdS9sZWdhY3kvR1BVTGVnYWN5QnVmZmVyLmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L2xlZ2FjeS9HUFVMZWdhY3lDb21tYW5kQnVmZmVyLmNwcApAQCAtMzIyMiw2ICszMjI0LDcgQEAg
SlNXZWJBbmltYXRpb24uY3BwCiBKU1dlYkdQVS5jcHAKIEpTV2ViR1BVQWRhcHRlci5jcHAKIEpT
V2ViR1BVQWRhcHRlckRlc2NyaXB0b3IuY3BwCitKU1dlYkdQVUJpbmRHcm91cExheW91dC5jcHAK
IEpTV2ViR1BVQmluZEdyb3VwTGF5b3V0QmluZGluZy5jcHAKIEpTV2ViR1BVQmluZEdyb3VwTGF5
b3V0RGVzY3JpcHRvci5jcHAKIEpTV2ViR1BVQnVmZmVyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGM5MjRhNDk1NzI3YjRk
ZTViZDI4OWZjMThjZTdjODIxNTc1MjM5ZmEuLjU4MzM3NmJjYTEzMDdhMWYyMzk0YjhjZjM1ZjQx
ZGQ4MjMzOTgzY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTEzNzEzLDYgKzEzNzEzLDkgQEAKIAkJRDAwMUQ5QUQyMUIwQzgx
QTAwMjNCOUJDIC8qIFdlYkdQVUNvbG9yLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJHUFVDb2xvci5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwMDFEOUIwMjFCMEM4QTgwMDIzQjlCQyAvKiBXZWJH
UFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
ZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlEMDAxRDlCMTIxQjBDOEE4MDAyM0I5QkMgLyogV2ViR1BVUmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkdQVVJlbmRlclBhc3ND
b2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJRDAwMzI4NzkyMUM4NjQ1QjAwNjIyQUE2IC8qIFdlYkdQVUJpbmRHcm91cExheW91dC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXZWJHUFVCaW5kR3JvdXBMYXlvdXQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJRDAwMzI4N0EyMUM4NjQ1QjAwNjIyQUE2IC8qIFdlYkdQVUJpbmRHcm91cExh
eW91dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJHUFVCaW5kR3JvdXBMYXlvdXQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDAzMjg3QjIxQzg2NDVCMDA2MjJBQTYgLyog
V2ViR1BVQmluZEdyb3VwTGF5b3V0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJHUFVCaW5kR3JvdXBMYXlvdXQuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMDBGNTk0MDIxNkVDQzdBMDAwRDcxREIg
LyogRE9NV2luZG93V2ViR1BVLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdpbmRvd1dlYkdQVS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMDBGNTk0MTIxNkVDQzdBMDAwRDcxREIgLyog
RE9NV2luZG93V2ViR1BVLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERPTVdpbmRvd1dlYkdQVS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwMEY1OTQyMjE2RUNDN0EwMDBENzFE
QiAvKiBET01XaW5kb3dXZWJHUFUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERPTVdpbmRvd1dlYkdQVS5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzcyNyw2ICsxMzczMCw4IEBACiAJCUQwMEY1OTU0
MjE3MDFEOEMwMDBENzFEQiAvKiBXZWJHUFVEZXZpY2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkdQVURldmljZS5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwMUEyN0FCMTBDOUJGRDgwMDAyNkE0
MiAvKiBTcGFjZVNwbGl0U3RyaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFNwYWNlU3BsaXRTdHJpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlEMDFBMjdBQzEwQzlCRkQ4MDAwMjZBNDIgLyogU3BhY2VTcGxpdFN0cmluZy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTcGFjZVNwbGl0U3RyaW5nLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUQwMjQ1NEQwMjFDNEE0MUMwMEI3MzYyOCAvKiBHUFVCaW5kR3Jv
dXBMYXlvdXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVQmluZEdyb3VwTGF5b3V0Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMjQ1NEQxMjFDNEE0MUMwMEI3MzYyOCAvKiBHUFVCaW5k
R3JvdXBMYXlvdXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR1BVQmluZEdyb3VwTGF5b3V0LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDAyQjgzRUQyMUM4Mzk3QTAwRjg1NDcz
IC8qIFdlYkdQVUJpbmRHcm91cExheW91dERlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkdQVUJpbmRH
cm91cExheW91dERlc2NyaXB0b3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlE
MDJDMjY5MTIxODE0MTZEMDBEODE4RTQgLyogV2ViR1BVQWRhcHRlckRlc2NyaXB0b3IuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV2ViR1BVQWRhcHRlckRlc2NyaXB0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRDAyQzI2OTIyMTgxNDE2RDAwRDgxOEU0IC8qIFdlYkdQVUFkYXB0ZXJEZXNj
cmlwdG9yLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBXZWJHUFVBZGFwdGVyRGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xODA0Nyw2ICsxODA1Miw4IEBACiAJCQljaGlsZHJlbiA9ICgK
IAkJCQlEMDg3Q0UzNzIxQUNBOTQyMDBCREUxNzQgLyogY29jb2EgKi8sCiAJCQkJMzEyRkY4Q0Uy
MUE0QzMzRjAwRUIxOTlEIC8qIGxlZ2FjeSAqLywKKwkJCQlEMDI0NTREMTIxQzRBNDFDMDBCNzM2
MjggLyogR1BVQmluZEdyb3VwTGF5b3V0LmNwcCAqLywKKwkJCQlEMDI0NTREMDIxQzRBNDFDMDBC
NzM2MjggLyogR1BVQmluZEdyb3VwTGF5b3V0LmggKi8sCiAJCQkJRDBCOEJCMDEyMUM0NkU3ODAw
MEM3NjgxIC8qIEdQVUJpbmRHcm91cExheW91dEJpbmRpbmcuaCAqLywKIAkJCQlEMDgzRDk4NDIx
QzQ4MDUwMDA4RThFRkYgLyogR1BVQmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvci5oICovLAogCQkJ
CUQwRDg2NDkyMjFCNzYwRjIwMDNDOTgzQyAvKiBHUFVCdWZmZXIuaCAqLywKQEAgLTI1NTU2LDYg
KzI1NTYzLDkgQEAKIAkJCQlEMDBGNTk1MTIxNkZGQUMyMDAwRDcxREIgLyogV2ViR1BVQWRhcHRl
ci5pZGwgKi8sCiAJCQkJRDAyQzI2OTEyMTgxNDE2RDAwRDgxOEU0IC8qIFdlYkdQVUFkYXB0ZXJE
ZXNjcmlwdG9yLmggKi8sCiAJCQkJRDAyQzI2OTIyMTgxNDE2RDAwRDgxOEU0IC8qIFdlYkdQVUFk
YXB0ZXJEZXNjcmlwdG9yLmlkbCAqLywKKwkJCQlEMDAzMjg3QTIxQzg2NDVCMDA2MjJBQTYgLyog
V2ViR1BVQmluZEdyb3VwTGF5b3V0LmNwcCAqLywKKwkJCQlEMDAzMjg3OTIxQzg2NDVCMDA2MjJB
QTYgLyogV2ViR1BVQmluZEdyb3VwTGF5b3V0LmggKi8sCisJCQkJRDAwMzI4N0IyMUM4NjQ1QjAw
NjIyQUE2IC8qIFdlYkdQVUJpbmRHcm91cExheW91dC5pZGwgKi8sCiAJCQkJRDBCOEJCMDUyMUM0
NzI1NjAwMEM3NjgxIC8qIFdlYkdQVUJpbmRHcm91cExheW91dEJpbmRpbmcuaCAqLywKIAkJCQlE
MEI4QkIwNjIxQzQ3MjU2MDAwQzc2ODEgLyogV2ViR1BVQmluZEdyb3VwTGF5b3V0QmluZGluZy5p
ZGwgKi8sCiAJCQkJRDA4M0Q5ODYyMUM0ODEzRTAwOEU4RUZGIC8qIFdlYkdQVUJpbmRHcm91cExh
eW91dERlc2NyaXB0b3IuaCAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dl
YkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCA2ZDFjNTE4YjMxZThmMjI1MmZiMTNjZjljM2M2NmJj
NjI5ZDI5NDVlLi44ZjI3OGM2M2Y2ZDZlODY5MGU4MmQzYzM0NTNjYjViNDE1N2JhODYwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBA
IC0xODksNiArMTg5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFdlYkdMVmVy
dGV4QXJyYXlPYmplY3QpIFwKICAgICBtYWNybyhXZWJHUFUpIFwKICAgICBtYWNybyhXZWJHUFVB
ZGFwdGVyKSBcCisgICAgbWFjcm8oV2ViR1BVQmluZEdyb3VwTGF5b3V0KSBcCiAgICAgbWFjcm8o
V2ViR1BVQnVmZmVyKSBcCiAgICAgbWFjcm8oV2ViR1BVQnVmZmVyVXNhZ2UpIFwKICAgICBtYWNy
byhXZWJHUFVDb21tYW5kQnVmZmVyKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvR1BVQmluZEdyb3VwTGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVCaW5kR3JvdXBMYXlvdXQuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjI2YTBiOGUxYzQzMDIxODQ0NWFmNDFhM2ZhNThlNDU4ZGM5YTQwNDMKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQmluZEdyb3VwTGF5
b3V0LmNwcApAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkdQVUJpbmRHcm91cExheW91dC5oIgorCisjaWYgRU5BQkxFKFdFQkdQVSkK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWZQdHI8R1BVQmluZEdyb3VwTGF5b3V0PiBHUFVC
aW5kR3JvdXBMYXlvdXQ6OnRyeUNyZWF0ZShHUFVCaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9yJiYg
ZGVzY3JpcHRvcikKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEdQVUJpbmRHcm91cExheW91
dChXVEZNb3ZlKGRlc2NyaXB0b3IpKSk7Cit9CisKK0dQVUJpbmRHcm91cExheW91dDo6R1BVQmlu
ZEdyb3VwTGF5b3V0KEdQVUJpbmRHcm91cExheW91dERlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKQor
ICAgIDogbV9kZXNjcmlwdG9yKFdURk1vdmUoZGVzY3JpcHRvcikpCit7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCisKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVCaW5kR3JvdXBMYXlvdXQu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVCaW5kR3JvdXBMYXlv
dXQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zYzI3NjA5YmExZWFjMmQzODVmODg1NTgwNjU2MGZlYjRjNWNmNzgy
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVUJpbmRHcm91cExheW91dC5oCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJHUFUpCisKKyNpbmNsdWRlICJHUFVCaW5kR3JvdXBM
YXlvdXREZXNjcmlwdG9yLmgiCisKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1
ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBHUFVCaW5k
R3JvdXBMYXlvdXQgOiBwdWJsaWMgUmVmQ291bnRlZDxHUFVCaW5kR3JvdXBMYXlvdXQ+IHsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgUmVmUHRyPEdQVUJpbmRHcm91cExheW91dD4gdHJ5Q3JlYXRlKEdQ
VUJpbmRHcm91cExheW91dERlc2NyaXB0b3ImJik7CisKK3ByaXZhdGU6CisgICAgR1BVQmluZEdy
b3VwTGF5b3V0KEdQVUJpbmRHcm91cExheW91dERlc2NyaXB0b3ImJik7CisKKyAgICBHUFVCaW5k
R3JvdXBMYXlvdXREZXNjcmlwdG9yIG1fZGVzY3JpcHRvcjsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwCmluZGV4IGI1YjQ5MTkzYjFk
ZjgyM2QwNzMxNTczMDFkZWZhZTYzYjgyMjcxNTAuLjYzMzZmY2M2MWIxZTA0MGE2ZTIxMzg3NDFi
NmNmYzU3ZmI2YWY4ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9HUFVEZXZpY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9HUFVEZXZpY2UuY3BwCkBAIC0yOCw2ICsyOCw4IEBACiAKICNpZiBFTkFCTEUoV0VC
R1BVKQogCisjaW5jbHVkZSAiR1BVQmluZEdyb3VwTGF5b3V0LmgiCisjaW5jbHVkZSAiR1BVQmlu
ZEdyb3VwTGF5b3V0RGVzY3JpcHRvci5oIgogI2luY2x1ZGUgIkdQVUJ1ZmZlci5oIgogI2luY2x1
ZGUgIkdQVUJ1ZmZlckRlc2NyaXB0b3IuaCIKICNpbmNsdWRlICJHUFVSZW5kZXJQaXBlbGluZS5o
IgpAQCAtNDIsNiArNDQsMTEgQEAgUmVmUHRyPEdQVUJ1ZmZlcj4gR1BVRGV2aWNlOjpjcmVhdGVC
dWZmZXIoR1BVQnVmZmVyRGVzY3JpcHRvciYmIGRlc2NyaXB0b3IpIGNvbnMKICAgICByZXR1cm4g
R1BVQnVmZmVyOjpjcmVhdGUoKnRoaXMsIFdURk1vdmUoZGVzY3JpcHRvcikpOwogfQogCitSZWZQ
dHI8R1BVQmluZEdyb3VwTGF5b3V0PiBHUFVEZXZpY2U6OnRyeUNyZWF0ZUJpbmRHcm91cExheW91
dChHUFVCaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9yJiYgZGVzY3JpcHRvcikgY29uc3QKK3sKKyAg
ICByZXR1cm4gR1BVQmluZEdyb3VwTGF5b3V0Ojp0cnlDcmVhdGUoV1RGTW92ZShkZXNjcmlwdG9y
KSk7Cit9CisKIFJlZlB0cjxHUFVTaGFkZXJNb2R1bGU+IEdQVURldmljZTo6Y3JlYXRlU2hhZGVy
TW9kdWxlKEdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKSBjb25zdAogewog
ICAgIHJldHVybiBHUFVTaGFkZXJNb2R1bGU6OmNyZWF0ZSgqdGhpcywgV1RGTW92ZShkZXNjcmlw
dG9yKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
R1BVRGV2aWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2
aWNlLmgKaW5kZXggMzU2YWYxNTJhMWNjYjA3NjZjMWQ1NGRhNjQwYmNjN2IzMjM1YWQ3My4uODky
ZTI3OTQ2OWFkZDQ0YmYxZTk2ZmQ2OTcyNjgzOWQ2YzI2MmY0MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaApAQCAtNDEsMTAgKzQxLDEy
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIFBsYXRmb3JtRGV2aWNlID0gTVRMRGV2aWNl
OwogdXNpbmcgUGxhdGZvcm1EZXZpY2VTbWFydFB0ciA9IFJldGFpblB0cjxNVExEZXZpY2U+Owog
CitjbGFzcyBHUFVCaW5kR3JvdXBMYXlvdXQ7CiBjbGFzcyBHUFVCdWZmZXI7CiBjbGFzcyBHUFVS
ZW5kZXJQaXBlbGluZTsKIGNsYXNzIEdQVVNoYWRlck1vZHVsZTsKIAorc3RydWN0IEdQVUJpbmRH
cm91cExheW91dERlc2NyaXB0b3I7CiBzdHJ1Y3QgR1BVQnVmZmVyRGVzY3JpcHRvcjsKIHN0cnVj
dCBHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yOwogc3RydWN0IEdQVVJlbmRlclBpcGVsaW5lRGVz
Y3JpcHRvcjsKQEAgLTU1LDYgKzU3LDggQEAgcHVibGljOgogCiAgICAgUmVmUHRyPEdQVUJ1ZmZl
cj4gY3JlYXRlQnVmZmVyKEdQVUJ1ZmZlckRlc2NyaXB0b3ImJikgY29uc3Q7CiAKKyAgICBSZWZQ
dHI8R1BVQmluZEdyb3VwTGF5b3V0PiB0cnlDcmVhdGVCaW5kR3JvdXBMYXlvdXQoR1BVQmluZEdy
b3VwTGF5b3V0RGVzY3JpcHRvciYmKSBjb25zdDsKKwogICAgIFJlZlB0cjxHUFVTaGFkZXJNb2R1
bGU+IGNyZWF0ZVNoYWRlck1vZHVsZShHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yJiYpIGNvbnN0
OwogICAgIFJlZlB0cjxHUFVSZW5kZXJQaXBlbGluZT4gY3JlYXRlUmVuZGVyUGlwZWxpbmUoR1BV
UmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yJiYpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRl
V3JpdGVyQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29j
b2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5oCmluZGV4IGI0YTgxYWU0NGNmNWU5
YmY2OGMwZDk3MDhkOWQwZjljOTE1NjJlNDYuLjczZjRkNjdiZDdiYWEyMjRkZjY0ZjRkYTE0MGYy
NGU2NDI3NDA4NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVj
b3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZh
dGVXcml0ZXJDb2NvYS5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8d3RmL0xvY2suaD4K
ICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZD
b3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGhyZWFk
cy9CaW5hcnlTZW1hcGhvcmUuaD4KIAogdHlwZWRlZiBzdHJ1Y3Qgb3BhcXVlQ01TYW1wbGVCdWZm
ZXIgKkNNU2FtcGxlQnVmZmVyUmVmOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vc3FsL1NRTGl0ZUZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9T
UUxpdGVGaWxlU3lzdGVtLmgKaW5kZXggMTdiZmEwNjI4NzkwYmI5ODEyOTQwOTNlZWE1YTBjMGIz
ODZiODk0YS4uNWY0YjQ5ZDVhNTAxNjQ3YjQ3YzdkZDAyNTlkZWUxNzkzNzlkZTY2OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZUZpbGVTeXN0ZW0uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRmlsZVN5c3RlbS5oCkBAIC0zMSw2
ICszMSw3IEBACiAjaWZuZGVmIFNRTGl0ZUZpbGVTeXN0ZW1faAogI2RlZmluZSBTUUxpdGVGaWxl
U3lzdGVtX2gKIAorI2luY2x1ZGUgPHd0Zi9XYWxsVGltZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgogCiBzdHJ1Y3Qgc3FsaXRlMzsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwOWUxYThlNDllMzg2NWFk
NGRhMzdmNjFjODE2ZjRlYzc4NDIyNzY5Li5kOWNkYTk4YTZlOTczYWI0MjFhZTFlYjE4MzdlOWI1
NTJmMDkyNzI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTgtMTItMTggIEp1c3RpbiBGYW4g
IDxqdXN0aW5fZmFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR1BVXSBCaW5kR3JvdXBMYXlv
dXQgYW5kIERldmljZTo6Y3JlYXRlQmluZEdyb3VwTGF5b3V0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTI4MTcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgYmluZC1ncm91cC1sYXlvdXRzIHRv
IHRlc3QgbmV3IGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiB3ZWJncHUvYmluZC1ncm91cC1s
YXlvdXRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWJncHUvYmluZC1ncm91cC1sYXlvdXRz
Lmh0bWw6CisKIDIwMTgtMTItMTcgIEp1c3RpbiBGYW4gIDxqdXN0aW5fZmFuQGFwcGxlLmNvbT4K
IAogICAgICAgICBbV2ViR1BVXSBJbXBsZW1lbnQgV2ViR1BVQmluZEdyb3VwTGF5b3V0RGVzY3Jp
cHRvciBhbmQgaXRzIHN1cHBvcnRpbmcgZGljdGlvbmFyaWVzCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJncHUvYmluZC1ncm91cC1sYXlvdXRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmdwdS9iaW5kLWdyb3VwLWxheW91dHMtZXhwZWN0ZWQudHh0CmluZGV4IGI1OTFmNTE4YTVh
YTgzOTk4ZTgwNDAyYmM5M2NlNzYxZThjOWJmNTkuLmYxNDNlZTZiYTg2MjEwYjVhYTUzODI4MmRm
MmEyZGNhYWQ3Yzg5YjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdwdS9iaW5kLWdyb3Vw
LWxheW91dHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3dlYmdwdS9iaW5kLWdyb3Vw
LWxheW91dHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNCBAQAogCi1QQVNTIENyZWF0ZSBXZWJH
UFVCaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9yLiAKK1BBU1MgQ3JlYXRlIGEgYmFzaWMgV2ViR1BV
QmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvci4gCitQQVNTIENyZWF0ZSBhIGJhc2ljIFdlYkdQVUJp
bmRHcm91cExheW91dCB3aXRoIGEgV2ViR1BVRGV2aWNlLiAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ3B1L2JpbmQtZ3JvdXAtbGF5b3V0cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ3B1
L2JpbmQtZ3JvdXAtbGF5b3V0cy5odG1sCmluZGV4IDMxOTFiMjBlMDY3ZDVlZGVlNzcxYzgwMDM1
MGVlZjI4ODAyNjIyM2UuLjA2YjFlYjU3YTc5YjYwMmYxMWQ0Yjg5MDVmZTc0Nzk5NDY0YWM0YTgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdwdS9iaW5kLWdyb3VwLWxheW91dHMuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJncHUvYmluZC1ncm91cC1sYXlvdXRzLmh0bWwKQEAgLTEsNyAr
MSw4IEBACiA8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1l
bnRhbDpXZWJHUFVFbmFibGVkPXRydWUgXSAtLT4KIDxtZXRhIGNoYXJzZXQ9dXRmLTg+Ci08dGl0
bGU+Q3JlYXRlIFdlYkdQVUJpbmRHcm91cExheW91dERlc2NyaXB0b3IuPC90aXRsZT4KKzx0aXRs
ZT5DcmVhdGUgV2ViR1BVQmluZEdyb3VwTGF5b3V0LjwvdGl0bGU+CiA8Ym9keT4KKzxzY3JpcHQg
c3JjPSJqcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgpAQCAtMTQsMTIg
KzE1LDE2IEBAIGZ1bmN0aW9uIGNyZWF0ZUJpbmRHcm91cExheW91dEJpbmRpbmcoKSB7CiB9CiAK
IHRlc3QoKCkgPT4gewotICAgIGNvbnN0IGJpbmRHcm91cExheW91dEJpbmRpbmcgPSBjcmVhdGVC
aW5kR3JvdXBMYXlvdXRCaW5kaW5nKCk7Ci0gICAgY29uc3QgYmluZEdyb3VwTGF5b3V0RGVzY3Jp
cHRvciA9IHsgYmluZGluZ3M6IFtiaW5kR3JvdXBMYXlvdXRCaW5kaW5nXSB9OworICAgIGNvbnN0
IGJpbmRHcm91cExheW91dERlc2NyaXB0b3IgPSB7IGJpbmRpbmdzOiBbY3JlYXRlQmluZEdyb3Vw
TGF5b3V0QmluZGluZygpXSB9OwogICAgIGFzc2VydF9ub3RfZXF1YWxzKGJpbmRHcm91cExheW91
dERlc2NyaXB0b3IuYmluZGluZ3NbMF0udmlzaWJpbGl0eSAmIFdlYkdQVVNoYWRlclN0YWdlQml0
LkZSQUdNRU5ULCAwKTsKICAgICBhc3NlcnRfbm90X2VxdWFscyhiaW5kR3JvdXBMYXlvdXREZXNj
cmlwdG9yLmJpbmRpbmdzWzBdLnZpc2liaWxpdHkgJiBXZWJHUFVTaGFkZXJTdGFnZUJpdC5WRVJU
RVgsIDApOwogICAgIGFzc2VydF9lcXVhbHMoYmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvci5iaW5k
aW5nc1swXS50eXBlLCAic3RvcmFnZUJ1ZmZlciIpOwotfSk7Cit9LCAiQ3JlYXRlIGEgYmFzaWMg
V2ViR1BVQmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvci4iKTsKIAorcHJvbWlzZV90ZXN0KGFzeW5j
ICgpID0+IHsKKyAgICBjb25zdCBkZXZpY2UgPSBhd2FpdCB3aW5kb3cuZ2V0QmFzaWNEZXZpY2Uo
KTsKKyAgICBjb25zdCBiaW5kR3JvdXBMYXlvdXQgPSBkZXZpY2UuY3JlYXRlQmluZEdyb3VwTGF5
b3V0KHsgYmluZGluZ3M6IFtjcmVhdGVCaW5kR3JvdXBMYXlvdXRCaW5kaW5nKCldIH0pOworICAg
IGFzc2VydF90cnVlKGJpbmRHcm91cExheW91dCBpbnN0YW5jZW9mIFdlYkdQVUJpbmRHcm91cExh
eW91dCwgImNyZWF0ZUJpbmRHcm91cExheW91dCByZXR1cm5lZCBhIFdlYkdQVUJpbmRHcm91cExh
eW91dCIpOworfSwgIkNyZWF0ZSBhIGJhc2ljIFdlYkdQVUJpbmRHcm91cExheW91dCB3aXRoIGEg
V2ViR1BVRGV2aWNlLiIpOwogPC9zY3JpcHQ+CiA8L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357600</attachid>
            <date>2018-12-18 13:14:14 -0800</date>
            <delta_ts>2018-12-18 13:52:05 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-192817-20181218131413.patch</filename>
            <type>text/plain</type>
            <size>29907</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5Mjg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGM2OGI2MDBiYzdhY2Zm
Y2JhNzhhYWZmYjQwYWQxOGEyNzI3MTFjYS4uNDYyMzU1ODUyMGIwNDVlZjQwYzRmNjA0MTlmOGZl
MWFmZjMzZjk3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE4LTEyLTE4ICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gQmluZEdy
b3VwTGF5b3V0IGFuZCBEZXZpY2U6OmNyZWF0ZUJpbmRHcm91cExheW91dAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyODE3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRGVhbiBKYWNrc29uLgorCisgICAgICAgIFVwZGF0ZSBiaW5kLWdyb3VwLWxheW91
dHMgdG8gdGVzdCBuZXcgZnVuY3Rpb25hbGl0eS4KKworICAgICAgICBJbXBsZW1lbnQgdGhlIGVt
dHB5IFdlYkdQVUJpbmRHcm91cExheW91dCBpbnRlcmZhY2UsIGFuZCBlbmFibGUgY3JlYXRpb24g
dmlhIFdlYkdQVURldmljZTo6Y3JlYXRlQmluZEdyb3VwTGF5b3V0OgorICAgICAgICAqIE1vZHVs
ZXMvd2ViZ3B1L1dlYkdQVUJpbmRHcm91cExheW91dC5jcHA6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZTo6V2ViR1BVQmluZEdyb3VwTGF5b3V0OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6
V2ViR1BVQmluZEdyb3VwTGF5b3V0OjpXZWJHUFVCaW5kR3JvdXBMYXlvdXQpOgorICAgICAgICAq
IE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUJpbmRHcm91cExheW91dC5oOiBBZGRlZC4KKyAgICAgICAg
KiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXBMYXlvdXQuaWRsOiBBZGRlZC4gRW1wdHkg
aW50ZXJmYWNlIGZvciBub3cuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVURldmljZTo6Y3JlYXRlQmluZEdyb3VwTGF5
b3V0IGNvbnN0KTogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNl
Lmg6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmlkbDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQmluZEdyb3VwTGF5b3V0LmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpHUFVCaW5kR3JvdXBMYXlvdXQ6OnRyeUNyZWF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpHUFVCaW5kR3JvdXBMYXlvdXQ6OkdQVUJpbmRHcm91cExheW91dCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUJpbmRHcm91cExheW91dC5oOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkdQVURldmljZTo6dHJ5Q3JlYXRlQmluZEdyb3VwTGF5b3V0IGNvbnN0KTogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oOgorCisgICAg
ICAgIEFkZCBmaWxlcyBhbmQgc3ltYm9scyB0byBwcm9qZWN0OgorICAgICAgICAqIENNYWtlTGlz
dHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogU291cmNl
cy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKworICAgICAgICBNaXNz
aW5nIGluY2x1ZGVzIHRoYXQgd2VyZSBwcmV2aW91c2x5IHByb3ZpZGVkIHZpYSBVbmlmaWVkU291
cmNlczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3Jk
ZXJQcml2YXRlV3JpdGVyQ29jb2EuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9zcWwvU1FMaXRlRmls
ZVN5c3RlbS5oOgorCiAyMDE4LTEyLTE3ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNv
bT4KIAogICAgICAgICBNYWtlIERvY3VtZW50TWFya2VyOjphbGxNYXJrZXJzKCkgY29uc3RleHBy
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGRmN2RhMGY4NDU0NmI0NDFhNzMwMjU4N2ZiN2RhYzRl
N2I0YTZiNmYuLmI1ODhjMzE4NjhjOWI3NTAxOTkxYzIyMDAwOGFmNmU2NjM4OGU1NDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CkBAIC00NTgsNiArNDU4LDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19J
RExfRklMRVMKICAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFUuaWRsCiAgICAgTW9kdWxlcy93ZWJn
cHUvV2ViR1BVQWRhcHRlci5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyRGVz
Y3JpcHRvci5pZGwKKyAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXBMYXlvdXQuaWRs
CiAgICAgTW9kdWxlcy93ZWJncHUvV2ViR1BVQmluZEdyb3VwTGF5b3V0QmluZGluZy5pZGwKICAg
ICBNb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9yLmlkbAogICAg
IE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUJ1ZmZlci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCmluZGV4IDMyMWJkNDM5YTVlMDg1ZjIyOTAwZWU3MjY4ZTdkYTA5YmIyYmVkMjcuLmRlMzk1
YjE3NWU4ODg1ZDRjYWY3ZTBkZjg2ZWQ4MjBlOGNkNzFjZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQpAQCAtMzc1LDYgKzM3NSw3IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93
ZWJncHUvV2ViR1BVQWRhcHRlckRlc2NyaXB0b3IuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvd2ViZ3B1L1dlYkdQVUJpbmRHcm91cExheW91dC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy93ZWJncHUvV2ViR1BVQmluZEdyb3VwTGF5b3V0QmluZGluZy5pZGwgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVQmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvci5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVQnVmZmVyLmlkbCBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXBMYXlv
dXQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQmluZEdyb3VwTGF5
b3V0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lMTUyYjczODFjMDhjOTUyM2RlMTBiNzgxYjAzNjc1ZDAzZGU3
YjYzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2Vi
R1BVQmluZEdyb3VwTGF5b3V0LmNwcApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkdQVUJpbmRHcm91cExheW91dC5oIgorCisj
aWYgRU5BQkxFKFdFQkdQVSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8V2ViR1BVQmlu
ZEdyb3VwTGF5b3V0PiBXZWJHUFVCaW5kR3JvdXBMYXlvdXQ6OmNyZWF0ZShSZWY8R1BVQmluZEdy
b3VwTGF5b3V0PiYmIGxheW91dCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJHUFVC
aW5kR3JvdXBMYXlvdXQoV1RGTW92ZShsYXlvdXQpKSk7Cit9CisKK1dlYkdQVUJpbmRHcm91cExh
eW91dDo6V2ViR1BVQmluZEdyb3VwTGF5b3V0KFJlZjxHUFVCaW5kR3JvdXBMYXlvdXQ+JiYgbGF5
b3V0KQorICAgIDogbV9sYXlvdXQoV1RGTW92ZShsYXlvdXQpKQoreworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQmluZEdyb3VwTGF5b3V0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXBMYXlvdXQuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43ZDcxZTA3NDg5NTdiOTZiZDdkYTBjYTIzYmE5Nzc5NDhjMzhmZDg2Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQmluZEdyb3VwTGF5
b3V0LmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYg
RU5BQkxFKFdFQkdQVSkKKworI2luY2x1ZGUgIkdQVUJpbmRHcm91cExheW91dC5oIgorCisjaW5j
bHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgV2ViR1BVQmluZEdyb3VwTGF5b3V0IDogcHVibGljIFJlZkNv
dW50ZWQ8V2ViR1BVQmluZEdyb3VwTGF5b3V0PiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxX
ZWJHUFVCaW5kR3JvdXBMYXlvdXQ+IGNyZWF0ZShSZWY8R1BVQmluZEdyb3VwTGF5b3V0PiYmKTsK
KworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBXZWJHUFVCaW5kR3JvdXBMYXlvdXQoUmVmPEdQVUJp
bmRHcm91cExheW91dD4mJik7CisKKyAgICBSZWY8R1BVQmluZEdyb3VwTGF5b3V0PiBtX2xheW91
dDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJH
UFUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5k
R3JvdXBMYXlvdXQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQmlu
ZEdyb3VwTGF5b3V0LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NzQyZjk4YmMzYWI0ODc0MWQ0M2EzMDc0Y2Zh
OTQ0MTNjNmFkNjAzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV2ViR1BVQmluZEdyb3VwTGF5b3V0LmlkbApAQCAtMCwwICsxLDMyIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKy8vIGh0dHBzOi8vZ2l0aHViLmNvbS9ncHV3ZWIvZ3B1d2ViL2Jsb2IvbWFzdGVyL2Rlc2ln
bi9za2V0Y2gud2ViaWRsCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJHUFUsCisgICAgRW5hYmxl
ZEF0UnVudGltZT1XZWJHUFUsCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQorXSBpbnRl
cmZhY2UgV2ViR1BVQmluZEdyb3VwTGF5b3V0IHsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNwcAppbmRleCA3N2JhNGNiYzA4Zjk2YjFlMzIyYzY5
ZDQ4N2Y3MDU5NDEyODZjNDM4Li5lNzg0NTFkZDU2YjA2OWI0OGIyM2U4YjZkMmZlNmQzZjUyYzkx
MTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZp
Y2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5j
cHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0
b3IuaCIKICNpbmNsdWRlICJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmgiCiAjaW5jbHVkZSAi
TG9nZ2luZy5oIgorI2luY2x1ZGUgIldlYkdQVUJpbmRHcm91cExheW91dC5oIgogI2luY2x1ZGUg
IldlYkdQVUJ1ZmZlci5oIgogI2luY2x1ZGUgIldlYkdQVUNvbW1hbmRCdWZmZXIuaCIKICNpbmNs
dWRlICJXZWJHUFVQaXBlbGluZVN0YWdlRGVzY3JpcHRvci5oIgpAQCAtNjQsNiArNjUsMTIgQEAg
UmVmUHRyPFdlYkdQVUJ1ZmZlcj4gV2ViR1BVRGV2aWNlOjpjcmVhdGVCdWZmZXIoV2ViR1BVQnVm
ZmVyRGVzY3JpcHRvciYmIGRlc2NyaXAKICAgICByZXR1cm4gYnVmZmVyID8gV2ViR1BVQnVmZmVy
OjpjcmVhdGUoYnVmZmVyLnJlbGVhc2VOb25OdWxsKCkpIDogbnVsbHB0cjsKIH0KIAorUmVmPFdl
YkdQVUJpbmRHcm91cExheW91dD4gV2ViR1BVRGV2aWNlOjpjcmVhdGVCaW5kR3JvdXBMYXlvdXQo
V2ViR1BVQmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvciYmIGRlc2NyaXB0b3IpIGNvbnN0Cit7Cisg
ICAgYXV0byBsYXlvdXQgPSBtX2RldmljZS0+Y3JlYXRlQmluZEdyb3VwTGF5b3V0KEdQVUJpbmRH
cm91cExheW91dERlc2NyaXB0b3IgeyBkZXNjcmlwdG9yLmJpbmRpbmdzIH0pOworICAgIHJldHVy
biBXZWJHUFVCaW5kR3JvdXBMYXlvdXQ6OmNyZWF0ZShXVEZNb3ZlKGxheW91dCkpOworfQorCiBS
ZWZQdHI8V2ViR1BVU2hhZGVyTW9kdWxlPiBXZWJHUFVEZXZpY2U6OmNyZWF0ZVNoYWRlck1vZHVs
ZShXZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yJiYgZGVzY3JpcHRvcikgY29uc3QKIHsKICAg
ICAvLyBGSVhNRTogV2hhdCBjYW4gYmUgdmFsaWRhdGVkIGhlcmU/CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5oCmluZGV4IDY1OWIzZWNmNTFhMjkwNGY3OWE5
MWE1OWU2NzA3NThhN2E5OWFkZmIuLjMwYjJlODYyN2QwM2ExMzU1OWM1NGU0MjdlM2YyMjM2NWY1
YTIzZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURl
dmljZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5o
CkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJHUFVEZXZpY2UuaCIKICNpbmNsdWRlICJX
ZWJHUFVBZGFwdGVyLmgiCisjaW5jbHVkZSAiV2ViR1BVQmluZEdyb3VwTGF5b3V0RGVzY3JpcHRv
ci5oIgogI2luY2x1ZGUgIldlYkdQVUJ1ZmZlckRlc2NyaXB0b3IuaCIKICNpbmNsdWRlICJXZWJH
UFVRdWV1ZS5oIgogCkBAIC0zOSw2ICs0MCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CitjbGFzcyBXZWJHUFVCaW5kR3JvdXBMYXlvdXQ7
CiBjbGFzcyBXZWJHUFVCdWZmZXI7CiBjbGFzcyBXZWJHUFVDb21tYW5kQnVmZmVyOwogY2xhc3Mg
V2ViR1BVUmVuZGVyUGlwZWxpbmU7CkBAIC01Niw2ICs1OCw4IEBAIHB1YmxpYzoKIAogICAgIFJl
ZlB0cjxXZWJHUFVCdWZmZXI+IGNyZWF0ZUJ1ZmZlcihXZWJHUFVCdWZmZXJEZXNjcmlwdG9yJiYp
IGNvbnN0OwogCisgICAgUmVmPFdlYkdQVUJpbmRHcm91cExheW91dD4gY3JlYXRlQmluZEdyb3Vw
TGF5b3V0KFdlYkdQVUJpbmRHcm91cExheW91dERlc2NyaXB0b3ImJikgY29uc3Q7CisKICAgICBS
ZWZQdHI8V2ViR1BVU2hhZGVyTW9kdWxlPiBjcmVhdGVTaGFkZXJNb2R1bGUoV2ViR1BVU2hhZGVy
TW9kdWxlRGVzY3JpcHRvciYmKSBjb25zdDsKICAgICBSZWZQdHI8V2ViR1BVUmVuZGVyUGlwZWxp
bmU+IGNyZWF0ZVJlbmRlclBpcGVsaW5lKFdlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciYm
KSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2Vi
R1BVRGV2aWNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmlj
ZS5pZGwKaW5kZXggZTA5OGJlOTE1ZmQ3M2I1OTA0ODA2YjE3MmQyMjJiOWY2NGUyNDI3YS4uODM0
OGRmYmRjYTdiMTcxYTY1Yzg1MmEyNmFkZDgzZWJlMWNlZDE3YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaWRsCkBAIC0zNSw2ICszNSw4IEBACiAK
ICAgICBXZWJHUFVCdWZmZXIgY3JlYXRlQnVmZmVyKFdlYkdQVUJ1ZmZlckRlc2NyaXB0b3IgZGVz
Y3JpcHRvcik7CiAKKyAgICBXZWJHUFVCaW5kR3JvdXBMYXlvdXQgY3JlYXRlQmluZEdyb3VwTGF5
b3V0KFdlYkdQVUJpbmRHcm91cExheW91dERlc2NyaXB0b3IgZGVzY3JpcHRvcik7CisKICAgICBX
ZWJHUFVTaGFkZXJNb2R1bGUgY3JlYXRlU2hhZGVyTW9kdWxlKFdlYkdQVVNoYWRlck1vZHVsZURl
c2NyaXB0b3IgZGVzY3JpcHRvcik7CiAgICAgV2ViR1BVUmVuZGVyUGlwZWxpbmUgY3JlYXRlUmVu
ZGVyUGlwZWxpbmUoV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yIGRlc2NyaXB0b3IpOwog
CkBAIC00Nyw3ICs0OSw2IEBACiAgICAgLy8gV2ViR1BVVGV4dHVyZSBjcmVhdGVUZXh0dXJlKFdl
YkdQVVRleHR1cmVEZXNjcmlwdG9yIGRlc2NyaXB0b3IpOwogICAgIC8vIFdlYkdQVVNhbXBsZXIg
Y3JlYXRlU2FtcGxlcihXZWJHUFVTYW1wbGVyRGVzY3JpcHRvciBkZXNjcmlwdG9yKTsKICAgICAv
LwotICAgIC8vIFdlYkdQVUJpbmRHcm91cExheW91dCBjcmVhdGVCaW5kR3JvdXBMYXlvdXQoV2Vi
R1BVQmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvciBkZXNjcmlwdG9yKTsKICAgICAvLyBXZWJHUFVQ
aXBlbGluZUxheW91dCBjcmVhdGVQaXBlbGluZUxheW91dChXZWJHUFVQaXBlbGluZUxheW91dERl
c2NyaXB0b3IgZGVzY3JpcHRvcik7CiAgICAgLy8gV2ViR1BVQmluZEdyb3VwIGNyZWF0ZUJpbmRH
cm91cChXZWJHUFVCaW5kR3JvdXBEZXNjcmlwdG9yIGRlc2NyaXB0b3IpOwogICAgIC8vCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CmluZGV4IDczNTJmMzNlMTc2ZGM5YWJiODZmNTg4NDU2MmM4MmY1Yjc2YzdiZmEuLjlk
ZWFmNGMyZDg4M2E0NjQ2M2Y5YzM0MTE3YjJiM2NhNWE2MGFiNDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBA
IC0zMDMsNiArMzAzLDcgQEAgTW9kdWxlcy93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJT
b2NrZXRDaGFubmVsLmNwcAogTW9kdWxlcy93ZWJncHUvRE9NV2luZG93V2ViR1BVLmNwcAogTW9k
dWxlcy93ZWJncHUvV2ViR1BVLmNwcAogTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5jcHAK
K01vZHVsZXMvd2ViZ3B1L1dlYkdQVUJpbmRHcm91cExheW91dC5jcHAKIE1vZHVsZXMvd2ViZ3B1
L1dlYkdQVUJ1ZmZlci5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbW1hbmRCdWZmZXIuY3Bw
CiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwCkBAIC0xNzM5LDYgKzE3NDAsNyBAQCBw
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUFscGhhLmNwcAogcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9Tb3VyY2VHcmFwaGljLmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9T
cG90TGlnaHRTb3VyY2UuY3BwCiAKK3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVCaW5kR3JvdXBM
YXlvdXQuY3BwCiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmNwcAogcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L2xlZ2FjeS9HUFVMZWdhY3lCdWZmZXIuY3BwCiBwbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvbGVnYWN5L0dQVUxlZ2FjeUNvbW1hbmRCdWZmZXIuY3BwCkBAIC0zMjIyLDYgKzMyMjQs
NyBAQCBKU1dlYkFuaW1hdGlvbi5jcHAKIEpTV2ViR1BVLmNwcAogSlNXZWJHUFVBZGFwdGVyLmNw
cAogSlNXZWJHUFVBZGFwdGVyRGVzY3JpcHRvci5jcHAKK0pTV2ViR1BVQmluZEdyb3VwTGF5b3V0
LmNwcAogSlNXZWJHUFVCaW5kR3JvdXBMYXlvdXRCaW5kaW5nLmNwcAogSlNXZWJHUFVCaW5kR3Jv
dXBMYXlvdXREZXNjcmlwdG9yLmNwcAogSlNXZWJHUFVCdWZmZXIuY3BwCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYzkyNGE0OTU3
MjdiNGRlNWJkMjg5ZmMxOGNlN2M4MjE1NzUyMzlmYS4uNTgzMzc2YmNhMTMwN2ExZjIzOTRiOGNm
MzVmNDFkZDgyMzM5ODNjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTM3MTMsNiArMTM3MTMsOSBAQAogCQlEMDAxRDlBRDIx
QjBDODFBMDAyM0I5QkMgLyogV2ViR1BVQ29sb3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkdQVUNvbG9yLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDAwMUQ5QjAyMUIwQzhBODAwMjNCOUJDIC8q
IFdlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwMDFEOUIxMjFCMEM4QTgwMDIzQjlCQyAvKiBXZWJHUFVS
ZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViR1BVUmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlEMDAzMjg3OTIxQzg2NDVCMDA2MjJBQTYgLyogV2ViR1BVQmluZEdyb3VwTGF5b3V0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkdQVUJpbmRHcm91cExheW91dC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlEMDAzMjg3QTIxQzg2NDVCMDA2MjJBQTYgLyogV2ViR1BVQmluZEdy
b3VwTGF5b3V0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkdQVUJpbmRHcm91cExheW91dC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMDMyODdCMjFDODY0NUIwMDYyMkFB
NiAvKiBXZWJHUFVCaW5kR3JvdXBMYXlvdXQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkdQVUJpbmRHcm91cExheW91
dC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwMEY1OTQwMjE2RUNDN0EwMDBE
NzFEQiAvKiBET01XaW5kb3dXZWJHUFUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NV2luZG93V2ViR1BV
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwMEY1OTQxMjE2RUNDN0EwMDBENzFE
QiAvKiBET01XaW5kb3dXZWJHUFUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRE9NV2luZG93V2Vi
R1BVLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDAwRjU5NDIyMTZFQ0M3QTAw
MEQ3MURCIC8qIERPTVdpbmRvd1dlYkdQVS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRE9NV2luZG93V2ViR1BVLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzNzI3LDYgKzEzNzMwLDggQEAKIAkJRDAw
RjU5NTQyMTcwMUQ4QzAwMEQ3MURCIC8qIFdlYkdQVURldmljZS5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViR1BVRGV2
aWNlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDAxQTI3QUIxMEM5QkZEODAw
MDI2QTQyIC8qIFNwYWNlU3BsaXRTdHJpbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gU3BhY2VTcGxpdFN0cmluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUQwMUEyN0FDMTBDOUJGRDgwMDAyNkE0MiAvKiBTcGFjZVNwbGl0U3RyaW5nLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwYWNlU3BsaXRTdHJpbmcuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyNDU0RDAyMUM0QTQxQzAwQjczNjI4IC8qIEdQVUJp
bmRHcm91cExheW91dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVCaW5kR3JvdXBMYXlvdXQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyNDU0RDEyMUM0QTQxQzAwQjczNjI4IC8qIEdQ
VUJpbmRHcm91cExheW91dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHUFVCaW5kR3JvdXBMYXlv
dXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMDJCODNFRDIxQzgzOTdBMDBG
ODU0NzMgLyogV2ViR1BVQmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvci5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViR1BV
QmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUQwMkMyNjkxMjE4MTQxNkQwMEQ4MThFNCAvKiBXZWJHUFVBZGFwdGVyRGVzY3JpcHRvci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXZWJHUFVBZGFwdGVyRGVzY3JpcHRvci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlEMDJDMjY5MjIxODE0MTZEMDBEODE4RTQgLyogV2ViR1BVQWRhcHRl
ckRlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4MDQ3LDYgKzE4MDUyLDggQEAKIAkJCWNoaWxkcmVu
ID0gKAogCQkJCUQwODdDRTM3MjFBQ0E5NDIwMEJERTE3NCAvKiBjb2NvYSAqLywKIAkJCQkzMTJG
RjhDRTIxQTRDMzNGMDBFQjE5OUQgLyogbGVnYWN5ICovLAorCQkJCUQwMjQ1NEQxMjFDNEE0MUMw
MEI3MzYyOCAvKiBHUFVCaW5kR3JvdXBMYXlvdXQuY3BwICovLAorCQkJCUQwMjQ1NEQwMjFDNEE0
MUMwMEI3MzYyOCAvKiBHUFVCaW5kR3JvdXBMYXlvdXQuaCAqLywKIAkJCQlEMEI4QkIwMTIxQzQ2
RTc4MDAwQzc2ODEgLyogR1BVQmluZEdyb3VwTGF5b3V0QmluZGluZy5oICovLAogCQkJCUQwODNE
OTg0MjFDNDgwNTAwMDhFOEVGRiAvKiBHUFVCaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9yLmggKi8s
CiAJCQkJRDBEODY0OTIyMUI3NjBGMjAwM0M5ODNDIC8qIEdQVUJ1ZmZlci5oICovLApAQCAtMjU1
NTYsNiArMjU1NjMsOSBAQAogCQkJCUQwMEY1OTUxMjE2RkZBQzIwMDBENzFEQiAvKiBXZWJHUFVB
ZGFwdGVyLmlkbCAqLywKIAkJCQlEMDJDMjY5MTIxODE0MTZEMDBEODE4RTQgLyogV2ViR1BVQWRh
cHRlckRlc2NyaXB0b3IuaCAqLywKIAkJCQlEMDJDMjY5MjIxODE0MTZEMDBEODE4RTQgLyogV2Vi
R1BVQWRhcHRlckRlc2NyaXB0b3IuaWRsICovLAorCQkJCUQwMDMyODdBMjFDODY0NUIwMDYyMkFB
NiAvKiBXZWJHUFVCaW5kR3JvdXBMYXlvdXQuY3BwICovLAorCQkJCUQwMDMyODc5MjFDODY0NUIw
MDYyMkFBNiAvKiBXZWJHUFVCaW5kR3JvdXBMYXlvdXQuaCAqLywKKwkJCQlEMDAzMjg3QjIxQzg2
NDVCMDA2MjJBQTYgLyogV2ViR1BVQmluZEdyb3VwTGF5b3V0LmlkbCAqLywKIAkJCQlEMEI4QkIw
NTIxQzQ3MjU2MDAwQzc2ODEgLyogV2ViR1BVQmluZEdyb3VwTGF5b3V0QmluZGluZy5oICovLAog
CQkJCUQwQjhCQjA2MjFDNDcyNTYwMDBDNzY4MSAvKiBXZWJHUFVCaW5kR3JvdXBMYXlvdXRCaW5k
aW5nLmlkbCAqLywKIAkJCQlEMDgzRDk4NjIxQzQ4MTNFMDA4RThFRkYgLyogV2ViR1BVQmluZEdy
b3VwTGF5b3V0RGVzY3JpcHRvci5oICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmluZGV4IDZkMWM1MThiMzFlOGYyMjUyZmIxM2NmOWMz
YzY2YmM2MjlkMjk0NWUuLjhmMjc4YzYzZjZkNmU4NjkwZTgyZDNjMzQ1M2NiNWI0MTU3YmE4NjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFt
ZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVz
LmgKQEAgLTE4OSw2ICsxODksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oV2Vi
R0xWZXJ0ZXhBcnJheU9iamVjdCkgXAogICAgIG1hY3JvKFdlYkdQVSkgXAogICAgIG1hY3JvKFdl
YkdQVUFkYXB0ZXIpIFwKKyAgICBtYWNybyhXZWJHUFVCaW5kR3JvdXBMYXlvdXQpIFwKICAgICBt
YWNybyhXZWJHUFVCdWZmZXIpIFwKICAgICBtYWNybyhXZWJHUFVCdWZmZXJVc2FnZSkgXAogICAg
IG1hY3JvKFdlYkdQVUNvbW1hbmRCdWZmZXIpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVCaW5kR3JvdXBMYXlvdXQuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUJpbmRHcm91cExheW91dC5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDMyNjJkODNkNjI1OTQyMzE2NTY3MWU2NjJmNGUyNTk3ODM4NjdhOQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVCaW5kR3Jv
dXBMYXlvdXQuY3BwCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTgg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiR1BVQmluZEdyb3VwTGF5b3V0LmgiCisKKyNpZiBFTkFCTEUoV0VC
R1BVKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZjxHUFVCaW5kR3JvdXBMYXlvdXQ+IEdQ
VUJpbmRHcm91cExheW91dDo6Y3JlYXRlKEdQVUJpbmRHcm91cExheW91dERlc2NyaXB0b3ImJiBk
ZXNjcmlwdG9yKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEdQVUJpbmRHcm91cExheW91
dChXVEZNb3ZlKGRlc2NyaXB0b3IpKSk7Cit9CisKK0dQVUJpbmRHcm91cExheW91dDo6R1BVQmlu
ZEdyb3VwTGF5b3V0KEdQVUJpbmRHcm91cExheW91dERlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKQor
ICAgIDogbV9kZXNjcmlwdG9yKFdURk1vdmUoZGVzY3JpcHRvcikpCit7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCisKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVCaW5kR3JvdXBMYXlvdXQu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVCaW5kR3JvdXBMYXlv
dXQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41ODA2YTk1YTJmNGQzNzZlZDdkZTI3ZWEwYWQ1MDU5YjMyNDcwNzAy
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVUJpbmRHcm91cExheW91dC5oCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJHUFUpCisKKyNpbmNsdWRlICJHUFVCaW5kR3JvdXBM
YXlvdXREZXNjcmlwdG9yLmgiCisKKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBHUFVCaW5kR3Jv
dXBMYXlvdXQgOiBwdWJsaWMgUmVmQ291bnRlZDxHUFVCaW5kR3JvdXBMYXlvdXQ+IHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUmVmPEdQVUJpbmRHcm91cExheW91dD4gY3JlYXRlKEdQVUJpbmRHcm91
cExheW91dERlc2NyaXB0b3ImJik7CisKK3ByaXZhdGU6CisgICAgR1BVQmluZEdyb3VwTGF5b3V0
KEdQVUJpbmRHcm91cExheW91dERlc2NyaXB0b3ImJik7CisKKyAgICBHUFVCaW5kR3JvdXBMYXlv
dXREZXNjcmlwdG9yIG1fZGVzY3JpcHRvcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwCmluZGV4IGI1YjQ5MTkzYjFkZjgyM2QwNzMx
NTczMDFkZWZhZTYzYjgyMjcxNTAuLmM2OTgxNWM3YTU3NzRhYWRlMmVkN2JjY2VhODkzZWFiNmY4
OWZmMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVEZXZpY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVEZXZpY2UuY3BwCkBAIC0yOCw2ICsyOCw4IEBACiAKICNpZiBFTkFCTEUoV0VCR1BVKQogCisj
aW5jbHVkZSAiR1BVQmluZEdyb3VwTGF5b3V0LmgiCisjaW5jbHVkZSAiR1BVQmluZEdyb3VwTGF5
b3V0RGVzY3JpcHRvci5oIgogI2luY2x1ZGUgIkdQVUJ1ZmZlci5oIgogI2luY2x1ZGUgIkdQVUJ1
ZmZlckRlc2NyaXB0b3IuaCIKICNpbmNsdWRlICJHUFVSZW5kZXJQaXBlbGluZS5oIgpAQCAtNDIs
NiArNDQsMTEgQEAgUmVmUHRyPEdQVUJ1ZmZlcj4gR1BVRGV2aWNlOjpjcmVhdGVCdWZmZXIoR1BV
QnVmZmVyRGVzY3JpcHRvciYmIGRlc2NyaXB0b3IpIGNvbnMKICAgICByZXR1cm4gR1BVQnVmZmVy
OjpjcmVhdGUoKnRoaXMsIFdURk1vdmUoZGVzY3JpcHRvcikpOwogfQogCitSZWY8R1BVQmluZEdy
b3VwTGF5b3V0PiBHUFVEZXZpY2U6OmNyZWF0ZUJpbmRHcm91cExheW91dChHUFVCaW5kR3JvdXBM
YXlvdXREZXNjcmlwdG9yJiYgZGVzY3JpcHRvcikgY29uc3QKK3sKKyAgICByZXR1cm4gR1BVQmlu
ZEdyb3VwTGF5b3V0OjpjcmVhdGUoV1RGTW92ZShkZXNjcmlwdG9yKSk7Cit9CisKIFJlZlB0cjxH
UFVTaGFkZXJNb2R1bGU+IEdQVURldmljZTo6Y3JlYXRlU2hhZGVyTW9kdWxlKEdQVVNoYWRlck1v
ZHVsZURlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKSBjb25zdAogewogICAgIHJldHVybiBHUFVTaGFk
ZXJNb2R1bGU6OmNyZWF0ZSgqdGhpcywgV1RGTW92ZShkZXNjcmlwdG9yKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmgKaW5kZXggMzU2YWYx
NTJhMWNjYjA3NjZjMWQ1NGRhNjQwYmNjN2IzMjM1YWQ3My4uYjAyOTg3ZTIxMTdmNmY1MWJhYmMy
OGJkZjEzYTZkZjA1ZWI0NTI1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0dQVURldmljZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVEZXZpY2UuaApAQCAtNDEsMTAgKzQxLDEyIEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIHVzaW5nIFBsYXRmb3JtRGV2aWNlID0gTVRMRGV2aWNlOwogdXNpbmcgUGxhdGZvcm1E
ZXZpY2VTbWFydFB0ciA9IFJldGFpblB0cjxNVExEZXZpY2U+OwogCitjbGFzcyBHUFVCaW5kR3Jv
dXBMYXlvdXQ7CiBjbGFzcyBHUFVCdWZmZXI7CiBjbGFzcyBHUFVSZW5kZXJQaXBlbGluZTsKIGNs
YXNzIEdQVVNoYWRlck1vZHVsZTsKIAorc3RydWN0IEdQVUJpbmRHcm91cExheW91dERlc2NyaXB0
b3I7CiBzdHJ1Y3QgR1BVQnVmZmVyRGVzY3JpcHRvcjsKIHN0cnVjdCBHUFVTaGFkZXJNb2R1bGVE
ZXNjcmlwdG9yOwogc3RydWN0IEdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjsKQEAgLTU1LDYg
KzU3LDggQEAgcHVibGljOgogCiAgICAgUmVmUHRyPEdQVUJ1ZmZlcj4gY3JlYXRlQnVmZmVyKEdQ
VUJ1ZmZlckRlc2NyaXB0b3ImJikgY29uc3Q7CiAKKyAgICBSZWY8R1BVQmluZEdyb3VwTGF5b3V0
PiBjcmVhdGVCaW5kR3JvdXBMYXlvdXQoR1BVQmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvciYmKSBj
b25zdDsKKwogICAgIFJlZlB0cjxHUFVTaGFkZXJNb2R1bGU+IGNyZWF0ZVNoYWRlck1vZHVsZShH
UFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yJiYpIGNvbnN0OwogICAgIFJlZlB0cjxHUFVSZW5kZXJQ
aXBlbGluZT4gY3JlYXRlUmVuZGVyUGlwZWxpbmUoR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9y
JiYpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJl
Y29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVX
cml0ZXJDb2NvYS5oCmluZGV4IGI0YTgxYWU0NGNmNWU5YmY2OGMwZDk3MDhkOWQwZjljOTE1NjJl
NDYuLjczZjRkNjdiZDdiYWEyMjRkZjY0ZjRkYTE0MGYyNGU2NDI3NDA4NmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRl
clByaXZhdGVXcml0ZXJDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
cmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5oCkBAIC0zMSw2
ICszMSw3IEBACiAjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3Rm
L1dlYWtQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGhyZWFkcy9CaW5hcnlTZW1hcGhvcmUuaD4KIAog
dHlwZWRlZiBzdHJ1Y3Qgb3BhcXVlQ01TYW1wbGVCdWZmZXIgKkNNU2FtcGxlQnVmZmVyUmVmOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZUZpbGVTeXN0ZW0u
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVGaWxlU3lzdGVtLmgKaW5kZXgg
MTdiZmEwNjI4NzkwYmI5ODEyOTQwOTNlZWE1YTBjMGIzODZiODk0YS4uNWY0YjQ5ZDVhNTAxNjQ3
YjQ3YzdkZDAyNTlkZWUxNzkzNzlkZTY2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vc3FsL1NRTGl0ZUZpbGVTeXN0ZW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9zcWwvU1FMaXRlRmlsZVN5c3RlbS5oCkBAIC0zMSw2ICszMSw3IEBACiAjaWZuZGVmIFNRTGl0
ZUZpbGVTeXN0ZW1faAogI2RlZmluZSBTUUxpdGVGaWxlU3lzdGVtX2gKIAorI2luY2x1ZGUgPHd0
Zi9XYWxsVGltZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBzdHJ1Y3Qg
c3FsaXRlMzsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCAwOWUxYThlNDllMzg2NWFkNGRhMzdmNjFjODE2ZjRlYzc4NDIyNzY5
Li5mYmE1YzIzNDNkMGFhODY2NTRkZmI1OTRjOTJmODdiYTY2Zjc0MzJmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTgtMTItMTggIEp1c3RpbiBGYW4gIDxqdXN0aW5fZmFuQGFwcGxlLmNvbT4K
KworICAgICAgICBbV2ViR1BVXSBCaW5kR3JvdXBMYXlvdXQgYW5kIERldmljZTo6Y3JlYXRlQmlu
ZEdyb3VwTGF5b3V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTI4MTcKKworICAgICAgICBSZXZpZXdlZCBieSBEZWFuIEphY2tzb24uCisKKyAgICAg
ICAgVXBkYXRlIGJpbmQtZ3JvdXAtbGF5b3V0cyB0byB0ZXN0IG5ldyBmdW5jdGlvbmFsaXR5Lgor
CisgICAgICAgICogd2ViZ3B1L2JpbmQtZ3JvdXAtbGF5b3V0cy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViZ3B1L2JpbmQtZ3JvdXAtbGF5b3V0cy5odG1sOgorCiAyMDE4LTEyLTE3ICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYkdQVV0gSW1wbGVt
ZW50IFdlYkdQVUJpbmRHcm91cExheW91dERlc2NyaXB0b3IgYW5kIGl0cyBzdXBwb3J0aW5nIGRp
Y3Rpb25hcmllcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2JpbmQtZ3JvdXAtbGF5
b3V0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJncHUvYmluZC1ncm91cC1sYXlvdXRz
LWV4cGVjdGVkLnR4dAppbmRleCBiNTkxZjUxOGE1YWE4Mzk5OGU4MDQwMmJjOTNjZTc2MWU4Yzli
ZjU5Li5mMTQzZWU2YmE4NjIxMGI1YWE1MzgyODJkZjJhMmRjYWFkN2M4OWIwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy93ZWJncHUvYmluZC1ncm91cC1sYXlvdXRzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJncHUvYmluZC1ncm91cC1sYXlvdXRzLWV4cGVjdGVkLnR4dApAQCAt
MSwzICsxLDQgQEAKIAotUEFTUyBDcmVhdGUgV2ViR1BVQmluZEdyb3VwTGF5b3V0RGVzY3JpcHRv
ci4gCitQQVNTIENyZWF0ZSBhIGJhc2ljIFdlYkdQVUJpbmRHcm91cExheW91dERlc2NyaXB0b3Iu
IAorUEFTUyBDcmVhdGUgYSBiYXNpYyBXZWJHUFVCaW5kR3JvdXBMYXlvdXQgd2l0aCBhIFdlYkdQ
VURldmljZS4gCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdwdS9iaW5kLWdyb3VwLWxh
eW91dHMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdwdS9iaW5kLWdyb3VwLWxheW91dHMuaHRtbApp
bmRleCAzMTkxYjIwZTA2N2Q1ZWRlZTc3MWM4MDAzNTBlZWYyODgwMjYyMjNlLi4wNmIxZWI1N2E3
OWI2MDJmMTFkNGI4OTA1ZmU3NDc5OTQ2NGFjNGE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy93
ZWJncHUvYmluZC1ncm91cC1sYXlvdXRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L2Jp
bmQtZ3JvdXAtbGF5b3V0cy5odG1sCkBAIC0xLDcgKzEsOCBAQAogPCFET0NUWVBFIGh0bWw+PCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6V2ViR1BVRW5hYmxlZD10cnVlIF0g
LS0+CiA8bWV0YSBjaGFyc2V0PXV0Zi04PgotPHRpdGxlPkNyZWF0ZSBXZWJHUFVCaW5kR3JvdXBM
YXlvdXREZXNjcmlwdG9yLjwvdGl0bGU+Cis8dGl0bGU+Q3JlYXRlIFdlYkdQVUJpbmRHcm91cExh
eW91dC48L3RpdGxlPgogPGJvZHk+Cis8c2NyaXB0IHNyYz0ianMvd2ViZ3B1LWZ1bmN0aW9ucy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdD4KQEAgLTE0LDEyICsxNSwxNiBAQCBmdW5jdGlvbiBjcmVhdGVC
aW5kR3JvdXBMYXlvdXRCaW5kaW5nKCkgewogfQogCiB0ZXN0KCgpID0+IHsKLSAgICBjb25zdCBi
aW5kR3JvdXBMYXlvdXRCaW5kaW5nID0gY3JlYXRlQmluZEdyb3VwTGF5b3V0QmluZGluZygpOwot
ICAgIGNvbnN0IGJpbmRHcm91cExheW91dERlc2NyaXB0b3IgPSB7IGJpbmRpbmdzOiBbYmluZEdy
b3VwTGF5b3V0QmluZGluZ10gfTsKKyAgICBjb25zdCBiaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9y
ID0geyBiaW5kaW5nczogW2NyZWF0ZUJpbmRHcm91cExheW91dEJpbmRpbmcoKV0gfTsKICAgICBh
c3NlcnRfbm90X2VxdWFscyhiaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9yLmJpbmRpbmdzWzBdLnZp
c2liaWxpdHkgJiBXZWJHUFVTaGFkZXJTdGFnZUJpdC5GUkFHTUVOVCwgMCk7CiAgICAgYXNzZXJ0
X25vdF9lcXVhbHMoYmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvci5iaW5kaW5nc1swXS52aXNpYmls
aXR5ICYgV2ViR1BVU2hhZGVyU3RhZ2VCaXQuVkVSVEVYLCAwKTsKICAgICBhc3NlcnRfZXF1YWxz
KGJpbmRHcm91cExheW91dERlc2NyaXB0b3IuYmluZGluZ3NbMF0udHlwZSwgInN0b3JhZ2VCdWZm
ZXIiKTsKLX0pOworfSwgIkNyZWF0ZSBhIGJhc2ljIFdlYkdQVUJpbmRHcm91cExheW91dERlc2Ny
aXB0b3IuIik7CiAKK3Byb21pc2VfdGVzdChhc3luYyAoKSA9PiB7CisgICAgY29uc3QgZGV2aWNl
ID0gYXdhaXQgd2luZG93LmdldEJhc2ljRGV2aWNlKCk7CisgICAgY29uc3QgYmluZEdyb3VwTGF5
b3V0ID0gZGV2aWNlLmNyZWF0ZUJpbmRHcm91cExheW91dCh7IGJpbmRpbmdzOiBbY3JlYXRlQmlu
ZEdyb3VwTGF5b3V0QmluZGluZygpXSB9KTsKKyAgICBhc3NlcnRfdHJ1ZShiaW5kR3JvdXBMYXlv
dXQgaW5zdGFuY2VvZiBXZWJHUFVCaW5kR3JvdXBMYXlvdXQsICJjcmVhdGVCaW5kR3JvdXBMYXlv
dXQgcmV0dXJuZWQgYSBXZWJHUFVCaW5kR3JvdXBMYXlvdXQiKTsKK30sICJDcmVhdGUgYSBiYXNp
YyBXZWJHUFVCaW5kR3JvdXBMYXlvdXQgd2l0aCBhIFdlYkdQVURldmljZS4iKTsKIDwvc2NyaXB0
PgogPC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
      

    </bug>

</bugzilla>