<?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>232661</bug_id>
          
          <creation_ts>2021-11-03 04:52:01 -0700</creation_ts>
          <short_desc>[WebGPU] Bindings Part 7: Bring back command encoder bindings code</short_desc>
          <delta_ts>2021-11-06 16:05:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>annulen</cc>
    
    <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>dino</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>philipj</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1811438</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-11-03 04:52:01 -0700</bug_when>
    <thetext>[WebGPU] Bindings Part 7: Bring back command encoder bindings code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811439</commentid>
    <comment_count>1</comment_count>
      <attachid>443190</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-11-03 04:53:25 -0700</bug_when>
    <thetext>Created attachment 443190
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811621</commentid>
    <comment_count>2</comment_count>
      <attachid>443231</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-11-03 13:06:08 -0700</bug_when>
    <thetext>Created attachment 443231
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811880</commentid>
    <comment_count>3</comment_count>
      <attachid>443231</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-11-04 09:28:12 -0700</bug_when>
    <thetext>Comment on attachment 443231
Patch

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

rs=me

&gt; Source/WebCore/Modules/WebGPU/GPURenderPassEncoder.idl:41
&gt; +                     float width, float height,
&gt; +                     float minDepth, float maxDepth);

weird indentation in this file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812430</commentid>
    <comment_count>4</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-11-06 16:04:35 -0700</bug_when>
    <thetext>Committed r285382 (243939@main): &lt;https://commits.webkit.org/243939@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812431</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-06 16:05:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/85105373&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443190</attachid>
            <date>2021-11-03 04:53:25 -0700</date>
            <delta_ts>2021-11-03 13:06:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232661-20211103045324.patch</filename>
            <type>text/plain</type>
            <size>306985</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjU1NWQxODI5MjJmMTc2
NWE0MDk2YjJiMTUzMzVkMGZiODJhMGY1ZC4uZmQwNDk1MmNhYTc4OWVlZGEyMTU0MWFkMDNkODQ1
NmQwYzc0NWQ2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0NiBAQAorMjAyMS0xMS0wMyAgTXls
ZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJHUFVd
IEJpbmRpbmdzIFBhcnQgNzogQnJpbmcgYmFjayBjb21tYW5kIGVuY29kZXIgYmluZGluZ3MgY29k
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNjYx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBp
cyB0aGUgc2V2ZW50aCBjaHVuayBvZiBiaW5kaW5ncyBjb2RlLCBicm91Z2h0IGJhY2sgZnJvbSBy
MjgwNDY3LgorICAgICAgICBUaGlzIGNodW5rIGluY2x1ZGVzIHRoZSBjb21tYW5kIGVuY29kZXIg
b2JqZWN0cy4KKyAgICAgICAgVGhlIG9iamVjdHMgaGF2ZSBubyBtZXRob2RzIGluc2lkZSB0aGVt
IHlldCAtIHRob3NlIHdpbGwgY29tZSBsYXRlci4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVj
YXVzZSB0aGVyZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UgeWV0LgorCisgICAgICAgICogQ01ha2VM
aXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAg
ICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUJpbmRHcm91cC5o
OiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2Fu
Y2VsRXZlbnQuY3BwLgorICAgICAgICAoV2ViQ29yZTo6R1BVQmluZEdyb3VwOjpjcmVhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6R1BVQmluZEdyb3VwOjpsYWJlbCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpHUFVCaW5kR3JvdXA6OnNldExhYmVsKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUJp
bmRHcm91cDo6R1BVQmluZEdyb3VwKToKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVCaW5k
R3JvdXAuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUJ1ZmZl
ci5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAoV2ViQ29yZTo6R1BVQnVmZmVyOjpjcmVhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6R1BVQnVmZmVyOjpsYWJlbCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpHUFVCdWZmZXI6OnNldExhYmVsKToKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVC
dWZmZXIuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNvbG9y
RGljdC5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNvbG9yRGlj
dC5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEJ1
ZmZlci5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tbWFuZEJ1ZmZlcjo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbW1hbmRCdWZmZXI6OmxhYmVsIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbW1hbmRCdWZmZXI6OnNldExhYmVsKToKKyAgICAg
ICAgKFdlYkNvcmU6OkdQVUNvbW1hbmRCdWZmZXI6OkdQVUNvbW1hbmRCdWZmZXIpOgorICAgICAg
ICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRCdWZmZXIuaWRsOiBDb3BpZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAg
ICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRCdWZmZXJEZXNjcmlwdG9yLmg6IENvcGll
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVu
dC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0
b3IuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRF
bmNvZGVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpHUFVDb21tYW5kRW5jb2Rlcjo6
YmVnaW5SZW5kZXJQYXNzKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbW1hbmRFbmNvZGVyOjpi
ZWdpbkNvbXB1dGVQYXNzKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbW1hbmRFbmNvZGVyOjpj
b3B5QnVmZmVyVG9CdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tbWFuZEVuY29kZXI6
OmNvcHlCdWZmZXJUb1RleHR1cmUpOgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tbWFuZEVuY29k
ZXI6OmNvcHlUZXh0dXJlVG9CdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tbWFuZEVu
Y29kZXI6OmNvcHlUZXh0dXJlVG9UZXh0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbW1h
bmRFbmNvZGVyOjpmaWxsQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbW1hbmRFbmNv
ZGVyOjpwdXNoRGVidWdHcm91cCk6CisgICAgICAgIChXZWJDb3JlOjpHUFVDb21tYW5kRW5jb2Rl
cjo6cG9wRGVidWdHcm91cCk6CisgICAgICAgIChXZWJDb3JlOjpHUFVDb21tYW5kRW5jb2Rlcjo6
aW5zZXJ0RGVidWdNYXJrZXIpOgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tbWFuZEVuY29kZXI6
OndyaXRlVGltZXN0YW1wKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbW1hbmRFbmNvZGVyOjpy
ZXNvbHZlUXVlcnlTZXQpOgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tbWFuZEVuY29kZXI6OmZp
bmlzaCk6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuaDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpHUFVDb21tYW5kRW5jb2Rlcjo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkdQVUNvbW1hbmRFbmNvZGVyOjpsYWJlbCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpHUFVDb21tYW5kRW5jb2Rlcjo6c2V0TGFiZWwpOgorICAgICAgICAoV2ViQ29yZTo6
R1BVQ29tbWFuZEVuY29kZXI6OkdQVUNvbW1hbmRFbmNvZGVyKToKKyAgICAgICAgKiBNb2R1bGVz
L1dlYkdQVS9HUFVDb21tYW5kRW5jb2Rlci5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMv
V2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5oOiBDb3BpZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAg
ICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5pZGw6IENvcGll
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVu
dC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NEZXNjcmlwdG9y
Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlD
YW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NE
ZXNjcmlwdG9yLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheUNhbmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVD
b21wdXRlUGFzc0VuY29kZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbXB1
dGVQYXNzRW5jb2Rlcjo6c2V0UGlwZWxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tcHV0
ZVBhc3NFbmNvZGVyOjpkaXNwYXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpHUFVDb21wdXRlUGFz
c0VuY29kZXI6OmRpc3BhdGNoSW5kaXJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tcHV0
ZVBhc3NFbmNvZGVyOjpiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KToKKyAgICAgICAgKFdl
YkNvcmU6OkdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6ZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkp
OgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjplbmRQYXNzKToKKyAg
ICAgICAgKFdlYkNvcmU6OkdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6c2V0QmluZEdyb3VwKToKKyAg
ICAgICAgKFdlYkNvcmU6OkdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6cHVzaERlYnVnR3JvdXApOgor
ICAgICAgICAoV2ViQ29yZTo6R1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjpwb3BEZWJ1Z0dyb3VwKToK
KyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6aW5zZXJ0RGVidWdNYXJr
ZXIpOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzRW5jb2Rlci5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6bGFiZWwgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6R1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjpzZXRMYWJlbCk6CisgICAg
ICAgIChXZWJDb3JlOjpHUFVDb21wdXRlUGFzc0VuY29kZXI6OkdQVUNvbXB1dGVQYXNzRW5jb2Rl
cik6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmlkbDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNl
bEV2ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc1RpbWVz
dGFtcExvY2F0aW9uLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BV
Q29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbi5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICog
TW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0ZS5oOiBDb3BpZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3Bw
LgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wV3JpdGUu
aWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQaXBl
bGluZS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tcHV0ZVBpcGVsaW5l
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tcHV0ZVBpcGVsaW5lOjpsYWJlbCBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpHUFVDb21wdXRlUGlwZWxpbmU6OnNldExhYmVsKToK
KyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGlwZWxpbmUuaWRsOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQu
Y3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUV4dGVudDNERGljdC5oOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQu
Y3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUV4dGVudDNERGljdC5pZGw6IENvcGll
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVu
dC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5QnVmZmVyLmg6IENv
cGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxF
dmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5QnVmZmVyLmlk
bDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNh
bmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlFeHRl
cm5hbEltYWdlLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVSW1h
Z2VDb3B5RXh0ZXJuYWxJbWFnZS5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9X
ZWJHUFUvR1BVSW1hZ2VDb3B5VGV4dHVyZS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVs
ZXMvV2ViR1BVL0dQVUltYWdlQ29weVRleHR1cmUuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAq
IE1vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weVRleHR1cmVUYWdnZWQuaDogQ29waWVkIGZyb20g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmNwcC4K
KyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlUZXh0dXJlVGFnZ2VkLmlkbDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNl
bEV2ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVJbWFnZURhdGFMYXlvdXQu
aDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNh
bmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVJbWFnZURhdGFMYXlv
dXQuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUluZGV4Rm9y
bWF0Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVSW5kZXhGb3Jt
YXQuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUludGVncmFs
VHlwZXMuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUNhbmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVMb2FkT3Au
aDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNh
bmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVMb2FkT3AuaWRsOiBD
b3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2Vs
RXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVU9iamVjdEJhc2UuaWRsOiBD
b3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2Vs
RXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVU9iamVjdERlc2NyaXB0b3JC
YXNlLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVT2JqZWN0RGVz
Y3JpcHRvckJhc2UuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQ
VU9yaWdpbjJERGljdC5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQ
VU9yaWdpbjJERGljdC5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUv
R1BVT3JpZ2luM0REaWN0Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUv
R1BVT3JpZ2luM0REaWN0LmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQ
VS9HUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1
bGVzL1dlYkdQVS9HUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaWRsOiBDb3BpZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAg
ICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVByZWRlZmluZWRDb2xvclNwYWNlLmg6IENvcGllZCBm
cm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5j
cHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUHJlZGVmaW5lZENvbG9yU3BhY2UuaWRs
OiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2Fu
Y2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVByb2dyYW1tYWJsZVBh
c3NFbmNvZGVyLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheUNhbmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVR
dWVyeVNldC5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgIChXZWJDb3JlOjpHUFVRdWVyeVNldDo6
ZGVzdHJveSk6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlTZXQuaDogQ29waWVk
IGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50
LmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OkdQVVF1ZXJ5U2V0OjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6R1BVUXVlcnlTZXQ6OmxhYmVsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkdQ
VVF1ZXJ5U2V0OjpzZXRMYWJlbCk6CisgICAgICAgIChXZWJDb3JlOjpHUFVRdWVyeVNldDo6R1BV
UXVlcnlTZXQpOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5U2V0LmlkbDogQ29w
aWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2
ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVNldERlc2NyaXB0b3Iu
aDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNh
bmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVNldERlc2Ny
aXB0b3IuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5
VHlwZS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5VHlw
ZS5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUXVldWUuY3Bw
OiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2Fu
Y2VsRXZlbnQuY3BwLgorICAgICAgICAoV2ViQ29yZTo6R1BVUXVldWU6OnN1Ym1pdCk6CisgICAg
ICAgIChXZWJDb3JlOjpHUFVRdWV1ZTo6b25TdWJtaXR0ZWRXb3JrRG9uZSk6CisgICAgICAgIChX
ZWJDb3JlOjpHUFVRdWV1ZTo6d3JpdGVCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6R1BVUXVl
dWU6OndyaXRlVGV4dHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpHUFVRdWV1ZTo6Y29weUV4dGVy
bmFsSW1hZ2VUb1RleHR1cmUpOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVF1ZXVlLmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6R1BVUXVldWU6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpHUFVRdWV1ZTo6bGFiZWwgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6R1BVUXVl
dWU6OnNldExhYmVsKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVVF1ZXVlOjpHUFVRdWV1ZSk6Cisg
ICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUXVldWUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKFdl
YkNvcmU6OkdQVVJlbmRlckJ1bmRsZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVVJl
bmRlckJ1bmRsZTo6bGFiZWwgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyQnVu
ZGxlOjpzZXRMYWJlbCk6CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJCdW5kbGU6OkdQVVJl
bmRlckJ1bmRsZSk6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlLmlk
bDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNh
bmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVE
ZXNjcmlwdG9yLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUmVu
ZGVyQnVuZGxlRGVzY3JpcHRvci5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9X
ZWJHUFUvR1BVUmVuZGVyQnVuZGxlRW5jb2Rlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZTo6R1BVUmVuZGVyQnVuZGxlRW5jb2Rlcjo6c2V0UGlwZWxpbmUpOgorICAgICAgICAoV2ViQ29y
ZTo6R1BVUmVuZGVyQnVuZGxlRW5jb2Rlcjo6c2V0SW5kZXhCdWZmZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6R1BVUmVuZGVyQnVuZGxlRW5jb2Rlcjo6c2V0VmVydGV4QnVmZmVyKToKKyAgICAgICAg
KFdlYkNvcmU6OkdQVVJlbmRlckJ1bmRsZUVuY29kZXI6OmRyYXcpOgorICAgICAgICAoV2ViQ29y
ZTo6R1BVUmVuZGVyQnVuZGxlRW5jb2Rlcjo6ZHJhd0luZGV4ZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6R1BVUmVuZGVyQnVuZGxlRW5jb2Rlcjo6ZHJhd0luZGlyZWN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkdQVVJlbmRlckJ1bmRsZUVuY29kZXI6OmRyYXdJbmRleGVkSW5kaXJlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6R1BVUmVuZGVyQnVuZGxlRW5jb2Rlcjo6c2V0QmluZEdyb3VwKToKKyAgICAg
ICAgKFdlYkNvcmU6OkdQVVJlbmRlckJ1bmRsZUVuY29kZXI6OnB1c2hEZWJ1Z0dyb3VwKToKKyAg
ICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlckJ1bmRsZUVuY29kZXI6OnBvcERlYnVnR3JvdXApOgor
ICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyQnVuZGxlRW5jb2Rlcjo6aW5zZXJ0RGVidWdNYXJr
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyQnVuZGxlRW5jb2Rlcjo6ZmluaXNoKToK
KyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVFbmNvZGVyLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyQnVuZGxlRW5jb2Rlcjo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlckJ1bmRsZUVuY29kZXI6OmxhYmVsIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlckJ1bmRsZUVuY29kZXI6OnNldExhYmVsKToKKyAgICAg
ICAgKFdlYkNvcmU6OkdQVVJlbmRlckJ1bmRsZUVuY29kZXI6OkdQVVJlbmRlckJ1bmRsZUVuY29k
ZXIpOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZUVuY29kZXIuaWRs
OiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2Fu
Y2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZUVu
Y29kZXJEZXNjcmlwdG9yLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUv
R1BVUmVuZGVyQnVuZGxlRW5jb2RlckRlc2NyaXB0b3IuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAg
ICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckVuY29kZXJCYXNlLmlkbDogQWRkZWQuCisgICAg
ICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5oOiBDb3Bp
ZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZl
bnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NDb2xvckF0dGFj
aG1lbnQuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRl
clBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9k
dWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaWRsOiBDb3Bp
ZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZl
bnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXNjcmlwdG9y
Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlD
YW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Rl
c2NyaXB0b3IuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJl
bmRlclBhc3NFbmNvZGVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQ
YXNzRW5jb2Rlcjo6c2V0UGlwZWxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFz
c0VuY29kZXI6OnNldEluZGV4QnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBh
c3NFbmNvZGVyOjpzZXRWZXJ0ZXhCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVy
UGFzc0VuY29kZXI6OmRyYXcpOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFzc0VuY29k
ZXI6OmRyYXdJbmRleGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBhc3NFbmNvZGVy
OjpkcmF3SW5kaXJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFzc0VuY29kZXI6
OmRyYXdJbmRleGVkSW5kaXJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFzc0Vu
Y29kZXI6OnNldEJpbmRHcm91cCk6CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQYXNzRW5j
b2Rlcjo6cHVzaERlYnVnR3JvdXApOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFzc0Vu
Y29kZXI6OnBvcERlYnVnR3JvdXApOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFzc0Vu
Y29kZXI6Omluc2VydERlYnVnTWFya2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBh
c3NFbmNvZGVyOjpzZXRWaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQYXNz
RW5jb2Rlcjo6c2V0U2Npc3NvclJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFz
c0VuY29kZXI6OnNldEJsZW5kQ29uc3RhbnQpOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVy
UGFzc0VuY29kZXI6OnNldFN0ZW5jaWxSZWZlcmVuY2UpOgorICAgICAgICAoV2ViQ29yZTo6R1BV
UmVuZGVyUGFzc0VuY29kZXI6OmJlZ2luT2NjbHVzaW9uUXVlcnkpOgorICAgICAgICAoV2ViQ29y
ZTo6R1BVUmVuZGVyUGFzc0VuY29kZXI6OmVuZE9jY2x1c2lvblF1ZXJ5KToKKyAgICAgICAgKFdl
YkNvcmU6OkdQVVJlbmRlclBhc3NFbmNvZGVyOjpiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5
KToKKyAgICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBhc3NFbmNvZGVyOjplbmRQaXBlbGluZVN0
YXRpc3RpY3NRdWVyeSk6CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQYXNzRW5jb2Rlcjo6
ZXhlY3V0ZUJ1bmRsZXMpOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFzc0VuY29kZXI6
OmVuZFBhc3MpOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVy
Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFzc0VuY29kZXI6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQYXNzRW5jb2Rlcjo6bGFiZWwgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFzc0VuY29kZXI6OnNldExhYmVsKToKKyAg
ICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBhc3NFbmNvZGVyOjpHUFVSZW5kZXJQYXNzRW5jb2Rl
cik6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0VuY29kZXIuaWRsOiBB
ZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5b3V0Lmg6IENv
cGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxF
dmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0xheW91dC5p
ZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlD
YW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc1Rp
bWVzdGFtcExvY2F0aW9uLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUv
R1BVUmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9uLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmNwcC4KKyAgICAgICAg
KiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGUuaDogQ29waWVkIGZy
b20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmNw
cC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGUu
aWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBpcGVs
aW5lLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQaXBlbGluZTo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBpcGVsaW5lOjpsYWJlbCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQaXBlbGluZTo6c2V0TGFiZWwpOgorICAg
ICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGlwZWxpbmU6OkdQVVJlbmRlclBpcGVsaW5lKToKKyAg
ICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQaXBlbGluZS5pZGw6IENvcGllZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5jcHAu
CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVU3RvcmVPcC5oOiBDb3BpZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAg
ICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVN0b3JlT3AuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAg
ICAqIE1vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKFdl
YkNvcmU6OkdQVVRleHR1cmU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpHUFVUZXh0dXJl
OjpsYWJlbCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpHUFVUZXh0dXJlOjpzZXRMYWJlbCk6
CisgICAgICAgIChXZWJDb3JlOjpHUFVUZXh0dXJlOjpHUFVUZXh0dXJlKToKKyAgICAgICAgKiBN
b2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1
bGVzL1dlYkdQVS9HUFVUZXh0dXJlQXNwZWN0Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9k
dWxlcy9XZWJHUFUvR1BVVGV4dHVyZUFzcGVjdC5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICog
TW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZvcm1hdC5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1
bGVzL1dlYkdQVS9HUFVUZXh0dXJlRm9ybWF0LmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxl
cy9XZWJHUFUvR1BVVGV4dHVyZVZpZXcuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKFdlYkNvcmU6
OkdQVVRleHR1cmVWaWV3OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6R1BVVGV4dHVyZVZp
ZXc6OmxhYmVsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkdQVVRleHR1cmVWaWV3OjpzZXRM
YWJlbCk6CisgICAgICAgIChXZWJDb3JlOjpHUFVUZXh0dXJlVmlldzo6R1BVVGV4dHVyZVZpZXcp
OgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVWaWV3LmlkbDogQ29waWVkIGZy
b20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmNw
cC4KKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwOgor
ICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmNwcDoKKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oOgorICAgICAgICAqIFNvdXJj
ZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogcGFn
ZS9TZXR0aW5ncy55YW1sOgorCiAyMDIxLTExLTAyICBDYWl0bG4gUG90dGVyICA8Y2FpdHBAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbV2ViSURMXSBTdXBwb3J0IFtFeHBvc2VkPSpdIGV4dGVuZGVk
IGF0dHJpYnV0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAzNGE3ZTFhYWViN2QwMmRiM2UwNDRi
YmY1YTdhNTMwOWM4ZmNlMzkxLi40MzIxOTlhMjZkYzc5ODg2ZmZkZmQ3MDE5MjlmOTFlMTQ1ZGMy
NGMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTgsNiArMTgsNyBAQCBzZXQoV2ViQ29yZV9Q
UklWQVRFX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtDTUFLRV9CSU5BUllfRElSfSIKICAg
ICAiJHtXZWJDb3JlX0RFUklWRURfU09VUkNFU19ESVJ9IgogICAgICIke1dFQkNPUkVfRElSfSIK
KyAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9XZWJHUFUiCiAgICAgIiR7V0VCQ09SRV9ESVJ9
L01vZHVsZXMvYWlycGxheSIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9hcHBsZXBheSIK
ICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdCIKQEAg
LTE5MSw2ICsxOTIsNyBAQCBzZXQoV2ViQ29yZV9JRExfSU5DTFVERVMKICAgICB3b3JrZXJzCiAg
ICAgeG1sCiAKKyAgICBNb2R1bGVzL1dlYkdQVQogICAgIE1vZHVsZXMvYWlycGxheQogICAgIE1v
ZHVsZXMvY2FjaGUKICAgICBNb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50CkBAIC0xNDY1LDYg
KzE0NjcsNTggQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1v
ZHVsZXMvd2VieHIvWFJXZWJHTExheWVySW5pdC5pZGwKICkKIAorbGlzdChBUFBFTkQgV2ViQ29y
ZV9OT05fU1ZHX0lETF9GSUxFUworICAgIE1vZHVsZXMvV2ViR1BVL0dQVUJpbmRHcm91cC5pZGwK
KyAgICBNb2R1bGVzL1dlYkdQVS9HUFVCdWZmZXIuaWRsCisgICAgTW9kdWxlcy9XZWJHUFUvR1BV
Q29sb3JEaWN0LmlkbAorICAgIE1vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRCdWZmZXIuaWRsCisg
ICAgTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0b3IuaWRsCisgICAgTW9k
dWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuaWRsCisgICAgTW9kdWxlcy9XZWJHUFUvR1BV
Q29tbWFuZEVuY29kZXJEZXNjcmlwdG9yLmlkbAorICAgIE1vZHVsZXMvV2ViR1BVL0dQVUNvbXB1
dGVQYXNzRGVzY3JpcHRvci5pZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0Vu
Y29kZXIuaWRsCisgICAgTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2Nh
dGlvbi5pZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc1RpbWVzdGFtcFdyaXRl
LmlkbAorICAgIE1vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQaXBlbGluZS5pZGwKKyAgICBNb2R1
bGVzL1dlYkdQVS9HUFVFeHRlbnQzRERpY3QuaWRsCisgICAgTW9kdWxlcy9XZWJHUFUvR1BVSW1h
Z2VDb3B5QnVmZmVyLmlkbAorICAgIE1vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weUV4dGVybmFs
SW1hZ2UuaWRsCisgICAgTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5VGV4dHVyZS5pZGwKKyAg
ICBNb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlUZXh0dXJlVGFnZ2VkLmlkbAorICAgIE1vZHVs
ZXMvV2ViR1BVL0dQVUltYWdlRGF0YUxheW91dC5pZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9HUFVJ
bmRleEZvcm1hdC5pZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9HUFVMb2FkT3AuaWRsCisgICAgTW9k
dWxlcy9XZWJHUFUvR1BVT2JqZWN0QmFzZS5pZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9HUFVPYmpl
Y3REZXNjcmlwdG9yQmFzZS5pZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9HUFVPcmlnaW4yRERpY3Qu
aWRsCisgICAgTW9kdWxlcy9XZWJHUFUvR1BVT3JpZ2luM0REaWN0LmlkbAorICAgIE1vZHVsZXMv
V2ViR1BVL0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5pZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9H
UFVQcmVkZWZpbmVkQ29sb3JTcGFjZS5pZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9HUFVQcm9ncmFt
bWFibGVQYXNzRW5jb2Rlci5pZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVNldC5pZGwK
KyAgICBNb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVNldERlc2NyaXB0b3IuaWRsCisgICAgTW9kdWxl
cy9XZWJHUFUvR1BVUXVlcnlUeXBlLmlkbAorICAgIE1vZHVsZXMvV2ViR1BVL0dQVVF1ZXVlLmlk
bAorICAgIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZS5pZGwKKyAgICBNb2R1bGVzL1dl
YkdQVS9HUFVSZW5kZXJCdW5kbGVEZXNjcmlwdG9yLmlkbAorICAgIE1vZHVsZXMvV2ViR1BVL0dQ
VVJlbmRlckJ1bmRsZUVuY29kZXIuaWRsCisgICAgTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVu
ZGxlRW5jb2RlckRlc2NyaXB0b3IuaWRsCisgICAgTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyRW5j
b2RlckJhc2UuaWRsCisgICAgTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNo
bWVudC5pZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0
YWNobWVudC5pZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5p
ZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5pZGwKKyAgICBNb2R1
bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5b3V0LmlkbAorICAgIE1vZHVsZXMvV2ViR1BVL0dQ
VVJlbmRlclBhc3NUaW1lc3RhbXBMb2NhdGlvbi5pZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9HUFVS
ZW5kZXJQYXNzVGltZXN0YW1wV3JpdGUuaWRsCisgICAgTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVy
UGlwZWxpbmUuaWRsCisgICAgTW9kdWxlcy9XZWJHUFUvR1BVU3RvcmVPcC5pZGwKKyAgICBNb2R1
bGVzL1dlYkdQVS9HUFVUZXh0dXJlLmlkbAorICAgIE1vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVB
c3BlY3QuaWRsCisgICAgTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZvcm1hdC5pZGwKKyAgICBN
b2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlVmlldy5pZGwKKykKKwogc2V0KFdlYkNvcmVfSURMX0ZJ
TEVTCiAgICAgJHtXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTfQogICAgICR7V2ViQ29yZV9TVkdf
SURMX0ZJTEVTfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKaW5kZXggMDQyYzE0NTAyMjg1Njk0MWY4MzRiZjdmZDE3ZDkwNzZiMDZkNGJkNi4uYTdi
M2M0ZjViY2VlOGM1NTdhOGFjNTk2YzcwMzlmNWE2MDBiZDZhNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0yMSw2ICsyMSw1OCBAQCAk
KEpBVkFTQ1JJUFRDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIpL21ha2UtanMtZmlsZS1hcnJheXMu
cHkKICQoSkFWQVNDUklQVENPUkVfUFJJVkFURV9IRUFERVJTX0RJUikvd2tidWlsdGlucy5weQog
JChKQVZBU0NSSVBUQ09SRV9QUklWQVRFX0hFQURFUlNfRElSKS94eGQucGwKICQoUFJPSkVDVF9E
SVIpL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQ
VUJpbmRHcm91cC5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVUJ1ZmZlci5p
ZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVUJ1ZmZlckRlc2NyaXB0b3IuaWRs
CiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVCdWZmZXJVc2FnZS5pZGwKKyQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVUNvbG9yRGljdC5pZGwKKyQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRCdWZmZXIuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL1dlYkdQVS9HUFVDb21tYW5kQnVmZmVyRGVzY3JpcHRvci5pZGwKKyQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyLmlkbAorJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXJEZXNjcmlwdG9yLmlkbAorJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NEZXNjcmlwdG9yLmlkbAorJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmlkbAorJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbi5pZGwK
KyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wV3Jp
dGUuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGlwZWxpbmUu
aWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVFeHRlbnQzRERpY3QuaWRsCisk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlCdWZmZXIuaWRsCiskKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmlkbAor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5VGV4dHVyZS5pZGwKKyQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weVRleHR1cmVUYWdnZWQuaWRs
CiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFnZURhdGFMYXlvdXQuaWRsCisk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVJbmRleEZvcm1hdC5pZGwKKyQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVUxvYWRPcC5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvV2ViR1BVL0dQVU1hcE1vZGUuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9H
UFVPYmplY3RCYXNlLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVT2JqZWN0
RGVzY3JpcHRvckJhc2UuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVPcmln
aW4yRERpY3QuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVPcmlnaW4zRERp
Y3QuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZVN0YXRpc3Rp
Y05hbWUuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVQcmVkZWZpbmVkQ29s
b3JTcGFjZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVByb2dyYW1tYWJs
ZVBhc3NFbmNvZGVyLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlT
ZXQuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVNldERlc2NyaXB0
b3IuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVR5cGUuaWRsCisk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWV1ZS5pZGwKKyQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZURlc2NyaXB0b3IuaWRsCiskKFBST0pFQ1RfRElSKS9N
b2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVFbmNvZGVyLmlkbAorJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlRW5jb2RlckRlc2NyaXB0b3IuaWRsCiskKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJFbmNvZGVyQmFzZS5pZGwKKyQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaWRs
CiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2ls
QXR0YWNobWVudC5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBh
c3NEZXNjcmlwdG9yLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVy
UGFzc0VuY29kZXIuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQ
YXNzTGF5b3V0LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFz
c1RpbWVzdGFtcExvY2F0aW9uLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BV
UmVuZGVyUGFzc1RpbWVzdGFtcFdyaXRlLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJH
UFUvR1BVUmVuZGVyUGlwZWxpbmUuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9H
UFVTdG9yZU9wLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZS5p
ZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVBc3BlY3QuaWRsCisk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlRm9ybWF0LmlkbAorJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZVZpZXcuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL2FpcnBsYXkvV2ViS2l0UGxheWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlFdmVudC5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb250YWN0RmllbGQu
aWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0
CmluZGV4IGYzMDQ4ZmVjY2YzYzQ2Yzg4YjUwZWQxNDQ3OTU5Zjc0NmRmMjIyZmYuLmIxOThiNjU0
NTczZDkyZjdlNjJhZGQ0YWU3MWVmYjYyNDExYjI1OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC04NjcsNiArODY3LDExMCBAQCAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Zvcm1EYXRhRXZl
bnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Zv
cm1EYXRhRXZlbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNHQ09ic2VydmF0aW9uLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNHQ09ic2VydmF0aW9uLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTR1BVQmluZEdyb3VwLmNwcAorJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVCaW5kR3JvdXAuaAorJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVCdWZmZXIuY3BwCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUJ1ZmZlci5oCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUJ1ZmZlckRlc2Ny
aXB0b3IuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0dQVUJ1ZmZlckRlc2NyaXB0b3IuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNHUFVCdWZmZXJVc2FnZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVQnVmZmVyVXNhZ2UuaAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVDb2xvckRpY3QuY3BwCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUNvbG9yRGljdC5oCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUNvbW1hbmRC
dWZmZXIuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0dQVUNvbW1hbmRCdWZmZXIuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNHUFVDb21tYW5kQnVmZmVyRGVzY3JpcHRvci5jcHAKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0
b3IuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVD
b21tYW5kRW5jb2Rlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTR1BVQ29tbWFuZEVuY29kZXIuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVDb21tYW5kRW5jb2RlckRlc2NyaXB0b3IuY3BwCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUNvbW1hbmRFbmNv
ZGVyRGVzY3JpcHRvci5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0dQVUNvbXB1dGVQYXNzRGVzY3JpcHRvci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVQ29tcHV0ZVBhc3NEZXNjcmlwdG9yLmgKKyQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVQ29tcHV0ZVBh
c3NFbmNvZGVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNHUFVDb21wdXRlUGFzc0VuY29kZXIuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVDb21wdXRlUGFzc1RpbWVzdGFtcExvY2F0aW9uLmNwcAor
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVDb21wdXRl
UGFzc1RpbWVzdGFtcExvY2F0aW9uLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0ZS5jcHAKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVQ29tcHV0ZVBhc3NUaW1l
c3RhbXBXcml0ZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0dQVUNvbXB1dGVQaXBlbGluZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTR1BVQ29tcHV0ZVBpcGVsaW5lLmgKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVRXh0ZW50M0REaWN0LmNwcAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVFeHRlbnQzRERpY3Qu
aAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVJbWFn
ZUNvcHlCdWZmZXIuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0dQVUltYWdlQ29weUJ1ZmZlci5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuY3BwCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUltYWdlQ29weUV4dGVy
bmFsSW1hZ2UuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNHUFVJbWFnZUNvcHlUZXh0dXJlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNHUFVJbWFnZUNvcHlUZXh0dXJlLmgKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVSW1hZ2VDb3B5VGV4dHVyZVRhZ2dlZC5j
cHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVSW1h
Z2VDb3B5VGV4dHVyZVRhZ2dlZC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0dQVUltYWdlRGF0YUxheW91dC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVSW1hZ2VEYXRhTGF5b3V0LmgKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVSW5kZXhGb3JtYXQuY3Bw
CiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUluZGV4
Rm9ybWF0LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
R1BVTG9hZE9wLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNHUFVMb2FkT3AuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNHUFVNYXBNb2RlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNHUFVNYXBNb2RlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTR1BVT2JqZWN0QmFzZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVT2JqZWN0QmFzZS5oCiskKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVU9iamVjdERlc2NyaXB0b3JCYXNl
LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVP
YmplY3REZXNjcmlwdG9yQmFzZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0dQVU9yaWdpbjJERGljdC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVT3JpZ2luMkREaWN0LmgKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVT3JpZ2luM0REaWN0LmNwcAorJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVPcmlnaW4zRERp
Y3QuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVQ
aXBlbGluZVN0YXRpc3RpY05hbWUuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oCiskKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVByZWRlZmluZWRDb2xvclNwYWNl
LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVQ
cmVkZWZpbmVkQ29sb3JTcGFjZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0dQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyLmNwcAorJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVQcm9ncmFtbWFibGVQYXNzRW5j
b2Rlci5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQ
VVF1ZXJ5U2V0LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNHUFVRdWVyeVNldC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0dQVVF1ZXJ5U2V0RGVzY3JpcHRvci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVUXVlcnlTZXREZXNjcmlwdG9yLmgKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVUXVlcnlUeXBlLmNw
cAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVRdWVy
eVR5cGUuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNH
UFVRdWV1ZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTR1BVUXVldWUuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNHUFVSZW5kZXJCdW5kbGUuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0dQVVJlbmRlckJ1bmRsZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVJlbmRlckJ1bmRsZURlc2NyaXB0b3IuY3BwCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVJlbmRlckJ1
bmRsZURlc2NyaXB0b3IuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNHUFVSZW5kZXJCdW5kbGVFbmNvZGVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVSZW5kZXJCdW5kbGVFbmNvZGVyLmgKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVUmVuZGVyQnVuZGxl
RW5jb2RlckRlc2NyaXB0b3IuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0dQVVJlbmRlckJ1bmRsZUVuY29kZXJEZXNjcmlwdG9yLmgKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVUmVuZGVyRW5jb2RlckJh
c2UuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQ
VVJlbmRlckVuY29kZXJCYXNlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5jcHAKKyQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVUmVuZGVyUGFzc0NvbG9yQXR0
YWNobWVudC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmNwcAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2ls
QXR0YWNobWVudC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVJlbmRlclBhc3NFbmNv
ZGVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNH
UFVSZW5kZXJQYXNzRW5jb2Rlci5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0dQVVJlbmRlclBhc3NMYXlvdXQuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVJlbmRlclBhc3NMYXlvdXQuaAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVSZW5kZXJQYXNzVGlt
ZXN0YW1wTG9jYXRpb24uY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0dQVVJlbmRlclBhc3NUaW1lc3RhbXBMb2NhdGlvbi5oCiskKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVJlbmRlclBhc3NUaW1lc3RhbXBX
cml0ZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
R1BVUmVuZGVyUGFzc1RpbWVzdGFtcFdyaXRlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTR1BVUmVuZGVyUGlwZWxpbmUuY3BwCiskKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVJlbmRlclBpcGVsaW5lLmgKKyQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVU3RvcmVPcC5j
cHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVU3Rv
cmVPcC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQ
VVRleHR1cmUuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0dQVVRleHR1cmUuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNHUFVUZXh0dXJlQXNwZWN0LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVUZXh0dXJlQXNwZWN0LmgKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVVGV4dHVyZUZvcm1hdC5jcHAKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVVGV4dHVyZUZvcm1h
dC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVRl
eHR1cmVWaWV3LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNHUFVUZXh0dXJlVmlldy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0dhaW5Ob2RlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNHYWluTm9kZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0dhaW5PcHRpb25zLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKaW5kZXggYmFhZGE3NjM2ZmJiOTNlNjI1NDcyZDc5ZWVlYmU2OGIxOGFkZmNiYi4uZGY3
Y2EwNmQ2NWQwZTdlZTAyOGUwMDRmYTE1ODRmN2VhYTI2ZGY0OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCkBAIC01Myw2ICs1Myw1NSBAQCBGRUFUVVJFX0FORF9QTEFURk9STV9ERUZJ
TkVfREVQRU5ERU5DSUVTID0gJChXZWJDb3JlKS9EZXJpdmVkU291cmNlcy5tYWtlCiAjIC0tLS0t
LS0tCiAKIEpTX0JJTkRJTkdfSURMUyA6PSBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQ
VS9HUFVCaW5kR3JvdXAuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVUJ1
ZmZlci5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVQ29sb3JEaWN0Lmlk
bCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kQnVmZmVyLmlkbCBc
CisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kQnVmZmVyRGVzY3JpcHRv
ci5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIu
aWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyRGVz
Y3JpcHRvci5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBh
c3NEZXNjcmlwdG9yLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21w
dXRlUGFzc0VuY29kZXIuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVUNv
bXB1dGVQYXNzVGltZXN0YW1wTG9jYXRpb24uaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
V2ViR1BVL0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wV3JpdGUuaWRsIFwKKyAgICAkKFdlYkNvcmUp
L01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQaXBlbGluZS5pZGwgXAorICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9XZWJHUFUvR1BVRXh0ZW50M0REaWN0LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlCdWZmZXIuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvV2ViR1BVL0dQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaWRsIFwKKyAgICAkKFdlYkNvcmUp
L01vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weVRleHR1cmUuaWRsIFwKKyAgICAkKFdlYkNvcmUp
L01vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weVRleHR1cmVUYWdnZWQuaWRsIFwKKyAgICAkKFdl
YkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVUltYWdlRGF0YUxheW91dC5pZGwgXAorICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVSW5kZXhGb3JtYXQuaWRsIFwKKyAgICAkKFdlYkNvcmUp
L01vZHVsZXMvV2ViR1BVL0dQVUxvYWRPcC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9X
ZWJHUFUvR1BVT2JqZWN0QmFzZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUv
R1BVT2JqZWN0RGVzY3JpcHRvckJhc2UuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2Vi
R1BVL0dQVU9yaWdpbjJERGljdC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUv
R1BVT3JpZ2luM0REaWN0LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVQ
aXBlbGluZVN0YXRpc3RpY05hbWUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BV
L0dQVVByZWRlZmluZWRDb2xvclNwYWNlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dl
YkdQVS9HUFVQcm9ncmFtbWFibGVQYXNzRW5jb2Rlci5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9XZWJHUFUvR1BVUXVlcnlTZXQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2Vi
R1BVL0dQVVF1ZXJ5U2V0RGVzY3JpcHRvci5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9X
ZWJHUFUvR1BVUXVlcnlUeXBlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9H
UFVRdWV1ZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVu
ZGxlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVE
ZXNjcmlwdG9yLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJC
dW5kbGVFbmNvZGVyLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5k
ZXJCdW5kbGVFbmNvZGVyRGVzY3JpcHRvci5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9X
ZWJHUFUvR1BVUmVuZGVyRW5jb2RlckJhc2UuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
V2ViR1BVL0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaWRsIFwKKyAgICAkKFdlYkNvcmUp
L01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmlkbCBc
CisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5p
ZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0VuY29kZXIu
aWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NMYXlvdXQu
aWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NUaW1lc3Rh
bXBMb2NhdGlvbi5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVy
UGFzc1RpbWVzdGFtcFdyaXRlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9H
UFVSZW5kZXJQaXBlbGluZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BV
U3RvcmVPcC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZS5p
ZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUFzcGVjdC5pZGwg
XAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZvcm1hdC5pZGwgXAor
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZVZpZXcuaWRsIFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvYWlycGxheS9XZWJLaXRQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0
eUV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2Fu
Y2VsRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlD
b250YWN0RmllbGQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2Vi
R1BVL0dQVUJpbmRHcm91cC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQmlu
ZEdyb3VwLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMDFjZmQ4ZmY0YWI0MGI2M2VhMWZkZjQ5NGI5MWI4NWMwNjY3
MzAwNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VUJpbmRHcm91cC5oCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIEdQVUJpbmRHcm91cCA6IHB1YmxpYyBSZWZDb3VudGVkPEdQVUJpbmRHcm91cD4geworcHVi
bGljOgorICAgIHN0YXRpYyBSZWY8R1BVQmluZEdyb3VwPiBjcmVhdGUoKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgR1BVQmluZEdyb3VwKCkpOworICAgIH0KKworICAgIGNv
bnN0IFN0cmluZyYgbGFiZWwoKSBjb25zdCB7IHJldHVybiBtX2xhYmVsOyB9CisgICAgdm9pZCBz
ZXRMYWJlbChTdHJpbmcmJiBsYWJlbCkgeyBtX2xhYmVsID0gV1RGTW92ZShsYWJlbCk7IH0KKwor
cHJpdmF0ZToKKyAgICBHUFVCaW5kR3JvdXAoKQorICAgIHsKKyAgICB9CisKKyAgICBTdHJpbmcg
bV9sYWJlbDsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2Vi
R1BVL0dQVUJpbmRHcm91cC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVC
aW5kR3JvdXAuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlZDBiYjg3NTdkNTBjZjNkNmExN2I2NWYxMWYzZDY5
MWEzNDEzNmMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVCaW5kR3JvdXAuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAg
RW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUsCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwK
KyAgICBFeHBvc2VkPShXaW5kb3cpLCAvKiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRpY2F0ZWRXb3JrZXIgKi8KKyAgICBTZWN1cmVDb250ZXh0Citd
CitpbnRlcmZhY2UgR1BVQmluZEdyb3VwIHsKK307CitHUFVCaW5kR3JvdXAgaW5jbHVkZXMgR1BV
T2JqZWN0QmFzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVyLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMyYjdlODU3ZDA5N2Q1M2E3MjYxMzUwZjhlODZhMmY3YTM3YWY5ZgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUJ1ZmZlci5oCkBA
IC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0
Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEdQVUJ1ZmZlciA6
IHB1YmxpYyBSZWZDb3VudGVkPEdQVUJ1ZmZlcj4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8
R1BVQnVmZmVyPiBjcmVhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
R1BVQnVmZmVyKCkpOworICAgIH0KKworICAgIGNvbnN0IFN0cmluZyYgbGFiZWwoKSBjb25zdCB7
IHJldHVybiBtX2xhYmVsOyB9CisgICAgdm9pZCBzZXRMYWJlbChTdHJpbmcmJiBsYWJlbCkgeyBt
X2xhYmVsID0gbGFiZWw7IH0KKworcHJpdmF0ZToKKyAgICBHUFVCdWZmZXIoKTsKKworICAgIFN0
cmluZyBtX2xhYmVsOworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVQnVmZmVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VUJ1ZmZlci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjk3NThhMGQ0NmMxZmUxODZmNTJjNWI5NjMyNjRlYTgy
OTMxODczYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVUJ1ZmZlci5pZGwKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBFbmFi
bGVkQnlTZXR0aW5nPVdlYkdQVSwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAg
IEV4cG9zZWQ9KFdpbmRvdyksIC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzI1NDI6IERlZGljYXRlZFdvcmtlciAqLworICAgIFNlY3VyZUNvbnRleHQKK10KK2lu
dGVyZmFjZSBHUFVCdWZmZXIgeworfTsKK0dQVUJ1ZmZlciBpbmNsdWRlcyBHUFVPYmplY3RCYXNl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29sb3JEaWN0
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb2xvckRpY3QuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41N2VmYjNjYzVmYTJiMmNiNWQ4MDJhNmE4MmQxNGM0Nzg3YjRiZGE4Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29sb3JEaWN0LmgKQEAg
LTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8dmFy
aWFudD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IEdQVUNvbG9yRGljdCB7Cisg
ICAgZG91YmxlIHI7CisgICAgZG91YmxlIGc7CisgICAgZG91YmxlIGI7CisgICAgZG91YmxlIGE7
Cit9OworCit1c2luZyBHUFVDb2xvciA9IHN0ZDo6dmFyaWFudDxWZWN0b3I8ZG91YmxlPiwgR1BV
Q29sb3JEaWN0PjsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVQ29sb3JEaWN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNv
bG9yRGljdC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZThlY2YxYjA4MTU2ODg5M2Y5ODRhYWE2NzZlNWIwNTU5
MmExNmYyYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVUNvbG9yRGljdC5pZGwKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBF
bmFibGVkQnlTZXR0aW5nPVdlYkdQVQorXQorZGljdGlvbmFyeSBHUFVDb2xvckRpY3QgeworICAg
IHJlcXVpcmVkIGRvdWJsZSByOworICAgIHJlcXVpcmVkIGRvdWJsZSBnOworICAgIHJlcXVpcmVk
IGRvdWJsZSBiOworICAgIHJlcXVpcmVkIGRvdWJsZSBhOworfTsKK3R5cGVkZWYgKHNlcXVlbmNl
PGRvdWJsZT4gb3IgR1BVQ29sb3JEaWN0KSBHUFVDb2xvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRCdWZmZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMjU5MTk5OTY4
MmYwZDJlM2NmNzhhZTZkNTVhZDFiZWQxMjMyNzc2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEJ1ZmZlci5oCkBAIC0wLDAgKzEsNTIg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEdQVUNvbW1hbmRCdWZmZXIgOiBwdWJs
aWMgUmVmQ291bnRlZDxHUFVDb21tYW5kQnVmZmVyPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJl
ZjxHUFVDb21tYW5kQnVmZmVyPiBjcmVhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgR1BVQ29tbWFuZEJ1ZmZlcigpKTsKKyAgICB9CisKKyAgICBjb25zdCBTdHJpbmcm
IGxhYmVsKCkgY29uc3QgeyByZXR1cm4gbV9sYWJlbDsgfQorICAgIHZvaWQgc2V0TGFiZWwoU3Ry
aW5nJiYgbGFiZWwpIHsgbV9sYWJlbCA9IFdURk1vdmUobGFiZWwpOyB9CisKK3ByaXZhdGU6Cisg
ICAgR1BVQ29tbWFuZEJ1ZmZlcigpCisgICAgeworICAgIH0KKworICAgIFN0cmluZyBtX2xhYmVs
OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
Q29tbWFuZEJ1ZmZlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21t
YW5kQnVmZmVyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNGI2MDI2ODg1OTI1MWM4MjY4MzU0YTA1YWVlZTZh
NmYwNDdlZTVjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVQ29tbWFuZEJ1ZmZlci5pZGwKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sK
KyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVSwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRh
YmxlLAorICAgIEV4cG9zZWQ9KFdpbmRvdyksIC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzI1NDI6IERlZGljYXRlZFdvcmtlciAqLworICAgIFNlY3VyZUNvbnRl
eHQKK10KK2ludGVyZmFjZSBHUFVDb21tYW5kQnVmZmVyIHsKK307CitHUFVDb21tYW5kQnVmZmVy
IGluY2x1ZGVzIEdQVU9iamVjdEJhc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVDb21tYW5kQnVmZmVyRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0b3IuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
OWQxNGUzY2E5ZmEwM2JkMjZiMmY3ODQzMGY4Zjg1ZDhmZjAxYmE1Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0
b3IuaApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNs
dWRlICJHUFVPYmplY3REZXNjcmlwdG9yQmFzZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K3N0cnVjdCBHUFVDb21tYW5kQnVmZmVyRGVzY3JpcHRvciA6IHB1YmxpYyBHUFVPYmplY3REZXNj
cmlwdG9yQmFzZSB7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVDb21tYW5kQnVmZmVyRGVzY3JpcHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kQnVmZmVyRGVzY3JpcHRvci5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZDhjZjE5ZGIxMDIwOWExOTc2YjFhNDg4MzcwMjZkNjhlNTM0ZjdlMQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRCdWZmZXJEZXNjcmlw
dG9yLmlkbApAQCAtMCwwICsxLDMwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJsZWRCeVNl
dHRpbmc9V2ViR1BVCitdCitkaWN0aW9uYXJ5IEdQVUNvbW1hbmRCdWZmZXJEZXNjcmlwdG9yIDog
R1BVT2JqZWN0RGVzY3JpcHRvckJhc2UgeworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNzE3MDJhMDgw
OTVlMzNiZmNiNTcwYjFmM2RlZDk5MTIyYTZkY2M3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuY3BwCkBAIC0wLDAgKzEs
MTM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJHUFVDb21tYW5kRW5jb2Rlci5oIgorCisjaW5jbHVkZSAiR1BVQnVmZmVyLmgi
CisjaW5jbHVkZSAiR1BVUXVlcnlTZXQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8
R1BVUmVuZGVyUGFzc0VuY29kZXI+IEdQVUNvbW1hbmRFbmNvZGVyOjpiZWdpblJlbmRlclBhc3Mo
R1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IpCit7CisgICAgcmV0dXJuIEdQVVJlbmRlclBhc3NFbmNv
ZGVyOjpjcmVhdGUoKTsKK30KKworUmVmPEdQVUNvbXB1dGVQYXNzRW5jb2Rlcj4gR1BVQ29tbWFu
ZEVuY29kZXI6OmJlZ2luQ29tcHV0ZVBhc3Moc3RkOjpvcHRpb25hbDxHUFVDb21wdXRlUGFzc0Rl
c2NyaXB0b3I+KQoreworICAgIHJldHVybiBHUFVDb21wdXRlUGFzc0VuY29kZXI6OmNyZWF0ZSgp
OworfQorCit2b2lkIEdQVUNvbW1hbmRFbmNvZGVyOjpjb3B5QnVmZmVyVG9CdWZmZXIoCisgICAg
Y29uc3QgR1BVQnVmZmVyJiBzb3VyY2UsCisgICAgR1BVU2l6ZTY0IHNvdXJjZU9mZnNldCwKKyAg
ICBjb25zdCBHUFVCdWZmZXImIGRlc3RpbmF0aW9uLAorICAgIEdQVVNpemU2NCBkZXN0aW5hdGlv
bk9mZnNldCwKKyAgICBHUFVTaXplNjQgc2l6ZSkKK3sKKyAgICBVTlVTRURfUEFSQU0oc291cmNl
KTsKKyAgICBVTlVTRURfUEFSQU0oc291cmNlT2Zmc2V0KTsKKyAgICBVTlVTRURfUEFSQU0oZGVz
dGluYXRpb24pOworICAgIFVOVVNFRF9QQVJBTShkZXN0aW5hdGlvbk9mZnNldCk7CisgICAgVU5V
U0VEX1BBUkFNKHNpemUpOworfQorCit2b2lkIEdQVUNvbW1hbmRFbmNvZGVyOjpjb3B5QnVmZmVy
VG9UZXh0dXJlKAorICAgIEdQVUltYWdlQ29weUJ1ZmZlciBzb3VyY2UsCisgICAgR1BVSW1hZ2VD
b3B5VGV4dHVyZSBkZXN0aW5hdGlvbiwKKyAgICBHUFVFeHRlbnQzRCBjb3B5U2l6ZSkKK3sKKyAg
ICBVTlVTRURfUEFSQU0oc291cmNlKTsKKyAgICBVTlVTRURfUEFSQU0oZGVzdGluYXRpb24pOwor
ICAgIFVOVVNFRF9QQVJBTShjb3B5U2l6ZSk7Cit9CisKK3ZvaWQgR1BVQ29tbWFuZEVuY29kZXI6
OmNvcHlUZXh0dXJlVG9CdWZmZXIoCisgICAgR1BVSW1hZ2VDb3B5VGV4dHVyZSBzb3VyY2UsCisg
ICAgR1BVSW1hZ2VDb3B5QnVmZmVyIGRlc3RpbmF0aW9uLAorICAgIEdQVUV4dGVudDNEIGNvcHlT
aXplKQoreworICAgIFVOVVNFRF9QQVJBTShzb3VyY2UpOworICAgIFVOVVNFRF9QQVJBTShkZXN0
aW5hdGlvbik7CisgICAgVU5VU0VEX1BBUkFNKGNvcHlTaXplKTsKK30KKwordm9pZCBHUFVDb21t
YW5kRW5jb2Rlcjo6Y29weVRleHR1cmVUb1RleHR1cmUoCisgICAgR1BVSW1hZ2VDb3B5VGV4dHVy
ZSBzb3VyY2UsCisgICAgR1BVSW1hZ2VDb3B5VGV4dHVyZSBkZXN0aW5hdGlvbiwKKyAgICBHUFVF
eHRlbnQzRCBjb3B5U2l6ZSkKK3sKKyAgICBVTlVTRURfUEFSQU0oc291cmNlKTsKKyAgICBVTlVT
RURfUEFSQU0oZGVzdGluYXRpb24pOworICAgIFVOVVNFRF9QQVJBTShjb3B5U2l6ZSk7Cit9CisK
K3ZvaWQgR1BVQ29tbWFuZEVuY29kZXI6OmZpbGxCdWZmZXIoCisgICAgY29uc3QgR1BVQnVmZmVy
JiBkZXN0aW5hdGlvbiwKKyAgICBHUFVTaXplNjQgZGVzdGluYXRpb25PZmZzZXQsCisgICAgR1BV
U2l6ZTY0IHNpemUpCit7CisgICAgVU5VU0VEX1BBUkFNKGRlc3RpbmF0aW9uKTsKKyAgICBVTlVT
RURfUEFSQU0oZGVzdGluYXRpb25PZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTShzaXplKTsKK30K
Kwordm9pZCBHUFVDb21tYW5kRW5jb2Rlcjo6cHVzaERlYnVnR3JvdXAoU3RyaW5nJiYgZ3JvdXBM
YWJlbCkKK3sKKyAgICBVTlVTRURfUEFSQU0oZ3JvdXBMYWJlbCk7Cit9CisKK3ZvaWQgR1BVQ29t
bWFuZEVuY29kZXI6OnBvcERlYnVnR3JvdXAoKQoreworCit9CisKK3ZvaWQgR1BVQ29tbWFuZEVu
Y29kZXI6Omluc2VydERlYnVnTWFya2VyKFN0cmluZyYmIG1hcmtlckxhYmVsKQoreworICAgIFVO
VVNFRF9QQVJBTShtYXJrZXJMYWJlbCk7Cit9CisKK3ZvaWQgR1BVQ29tbWFuZEVuY29kZXI6Ondy
aXRlVGltZXN0YW1wKGNvbnN0IEdQVVF1ZXJ5U2V0JiwgR1BVU2l6ZTMyIHF1ZXJ5SW5kZXgpCit7
CisgICAgVU5VU0VEX1BBUkFNKHF1ZXJ5SW5kZXgpOworfQorCit2b2lkIEdQVUNvbW1hbmRFbmNv
ZGVyOjpyZXNvbHZlUXVlcnlTZXQoCisgICAgY29uc3QgR1BVUXVlcnlTZXQmLAorICAgIEdQVVNp
emUzMiBmaXJzdFF1ZXJ5LAorICAgIEdQVVNpemUzMiBxdWVyeUNvdW50LAorICAgIGNvbnN0IEdQ
VUJ1ZmZlciYgZGVzdGluYXRpb24sCisgICAgR1BVU2l6ZTY0IGRlc3RpbmF0aW9uT2Zmc2V0KQor
eworICAgIFVOVVNFRF9QQVJBTShmaXJzdFF1ZXJ5KTsKKyAgICBVTlVTRURfUEFSQU0ocXVlcnlD
b3VudCk7CisgICAgVU5VU0VEX1BBUkFNKGRlc3RpbmF0aW9uKTsKKyAgICBVTlVTRURfUEFSQU0o
ZGVzdGluYXRpb25PZmZzZXQpOworfQorCitSZWY8R1BVQ29tbWFuZEJ1ZmZlcj4gR1BVQ29tbWFu
ZEVuY29kZXI6OmZpbmlzaChzdGQ6Om9wdGlvbmFsPEdQVUNvbW1hbmRCdWZmZXJEZXNjcmlwdG9y
PikKK3sKKyAgICByZXR1cm4gR1BVQ29tbWFuZEJ1ZmZlcjo6Y3JlYXRlKCk7Cit9CisKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2Rlci5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmMwMDE4OTBlNjg5Y2QxZTg5NGVmN2NiZGZkNDIxZDVjODZhMTMxMDUKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5j
b2Rlci5oCkBAIC0wLDAgKzEsMTExIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
bmNsdWRlICJHUFVDb21tYW5kQnVmZmVyLmgiCisjaW5jbHVkZSAiR1BVQ29tbWFuZEJ1ZmZlckRl
c2NyaXB0b3IuaCIKKyNpbmNsdWRlICJHUFVDb21wdXRlUGFzc0Rlc2NyaXB0b3IuaCIKKyNpbmNs
dWRlICJHUFVDb21wdXRlUGFzc0VuY29kZXIuaCIKKyNpbmNsdWRlICJHUFVFeHRlbnQzRERpY3Qu
aCIKKyNpbmNsdWRlICJHUFVJbWFnZUNvcHlCdWZmZXIuaCIKKyNpbmNsdWRlICJHUFVJbWFnZUNv
cHlUZXh0dXJlLmgiCisjaW5jbHVkZSAiR1BVSW50ZWdyYWxUeXBlcy5oIgorI2luY2x1ZGUgIkdQ
VVJlbmRlclBhc3NEZXNjcmlwdG9yLmgiCisjaW5jbHVkZSAiR1BVUmVuZGVyUGFzc0VuY29kZXIu
aCIKKyNpbmNsdWRlIDxvcHRpb25hbD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBHUFVCdWZmZXI7CitjbGFzcyBHUFVRdWVyeVNldDsK
KworY2xhc3MgR1BVQ29tbWFuZEVuY29kZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxHUFVDb21tYW5k
RW5jb2Rlcj4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8R1BVQ29tbWFuZEVuY29kZXI+IGNy
ZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBHUFVDb21tYW5kRW5j
b2RlcigpKTsKKyAgICB9CisKKyAgICBSZWY8R1BVUmVuZGVyUGFzc0VuY29kZXI+IGJlZ2luUmVu
ZGVyUGFzcyhHUFVSZW5kZXJQYXNzRGVzY3JpcHRvcik7CisgICAgUmVmPEdQVUNvbXB1dGVQYXNz
RW5jb2Rlcj4gYmVnaW5Db21wdXRlUGFzcyhzdGQ6Om9wdGlvbmFsPEdQVUNvbXB1dGVQYXNzRGVz
Y3JpcHRvcj4pOworCisgICAgdm9pZCBjb3B5QnVmZmVyVG9CdWZmZXIoCisgICAgICAgIGNvbnN0
IEdQVUJ1ZmZlciYgc291cmNlLAorICAgICAgICBHUFVTaXplNjQgc291cmNlT2Zmc2V0LAorICAg
ICAgICBjb25zdCBHUFVCdWZmZXImIGRlc3RpbmF0aW9uLAorICAgICAgICBHUFVTaXplNjQgZGVz
dGluYXRpb25PZmZzZXQsCisgICAgICAgIEdQVVNpemU2NCk7CisKKyAgICB2b2lkIGNvcHlCdWZm
ZXJUb1RleHR1cmUoCisgICAgICAgIEdQVUltYWdlQ29weUJ1ZmZlciBzb3VyY2UsCisgICAgICAg
IEdQVUltYWdlQ29weVRleHR1cmUgZGVzdGluYXRpb24sCisgICAgICAgIEdQVUV4dGVudDNEIGNv
cHlTaXplKTsKKworICAgIHZvaWQgY29weVRleHR1cmVUb0J1ZmZlcigKKyAgICAgICAgR1BVSW1h
Z2VDb3B5VGV4dHVyZSBzb3VyY2UsCisgICAgICAgIEdQVUltYWdlQ29weUJ1ZmZlciBkZXN0aW5h
dGlvbiwKKyAgICAgICAgR1BVRXh0ZW50M0QgY29weVNpemUpOworCisgICAgdm9pZCBjb3B5VGV4
dHVyZVRvVGV4dHVyZSgKKyAgICAgICAgR1BVSW1hZ2VDb3B5VGV4dHVyZSBzb3VyY2UsCisgICAg
ICAgIEdQVUltYWdlQ29weVRleHR1cmUgZGVzdGluYXRpb24sCisgICAgICAgIEdQVUV4dGVudDNE
IGNvcHlTaXplKTsKKworICAgIHZvaWQgZmlsbEJ1ZmZlcigKKyAgICAgICAgY29uc3QgR1BVQnVm
ZmVyJiBkZXN0aW5hdGlvbiwKKyAgICAgICAgR1BVU2l6ZTY0IGRlc3RpbmF0aW9uT2Zmc2V0LAor
ICAgICAgICBHUFVTaXplNjQpOworCisgICAgdm9pZCBwdXNoRGVidWdHcm91cChTdHJpbmcmJiBn
cm91cExhYmVsKTsKKyAgICB2b2lkIHBvcERlYnVnR3JvdXAoKTsKKyAgICB2b2lkIGluc2VydERl
YnVnTWFya2VyKFN0cmluZyYmIG1hcmtlckxhYmVsKTsKKworICAgIHZvaWQgd3JpdGVUaW1lc3Rh
bXAoY29uc3QgR1BVUXVlcnlTZXQmLCBHUFVTaXplMzIgcXVlcnlJbmRleCk7CisKKyAgICB2b2lk
IHJlc29sdmVRdWVyeVNldCgKKyAgICAgICAgY29uc3QgR1BVUXVlcnlTZXQmLAorICAgICAgICBH
UFVTaXplMzIgZmlyc3RRdWVyeSwKKyAgICAgICAgR1BVU2l6ZTMyIHF1ZXJ5Q291bnQsCisgICAg
ICAgIGNvbnN0IEdQVUJ1ZmZlciYgZGVzdGluYXRpb24sCisgICAgICAgIEdQVVNpemU2NCBkZXN0
aW5hdGlvbk9mZnNldCk7CisKKyAgICBSZWY8R1BVQ29tbWFuZEJ1ZmZlcj4gZmluaXNoKHN0ZDo6
b3B0aW9uYWw8R1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0b3I+KTsKKworICAgIGNvbnN0IFN0cmlu
ZyYgbGFiZWwoKSBjb25zdCB7IHJldHVybiBtX2xhYmVsOyB9CisgICAgdm9pZCBzZXRMYWJlbChT
dHJpbmcmJiBsYWJlbCkgeyBtX2xhYmVsID0gV1RGTW92ZShsYWJlbCk7IH0KKworcHJpdmF0ZToK
KyAgICBHUFVDb21tYW5kRW5jb2RlcigpCisgICAgeworICAgIH0KKworICAgIFN0cmluZyBtX2xh
YmVsOworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVQ29tbWFuZEVuY29kZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
Q29tbWFuZEVuY29kZXIuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDA2NGE0YjU2ZjQwNGZmNDM0YWQwNTg3
MGU0MTdjMmVmZjE3NzcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVDb21tYW5kRW5jb2Rlci5pZGwKQEAgLTAsMCArMSw4NCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKy8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDggVGhl
c2Ugc2hvdWxkbid0IG5lZWQgdG8gYmUgaGVyZS4KK3R5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5z
aWduZWQgbG9uZyBHUFVTaXplMzI7Cit0eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxv
bmcgbG9uZyBHUFVTaXplNjQ7Cit0eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmcg
R1BVSW50ZWdlckNvb3JkaW5hdGU7Cit0eXBlZGVmIChzZXF1ZW5jZTxHUFVJbnRlZ2VyQ29vcmRp
bmF0ZT4gb3IgR1BVRXh0ZW50M0REaWN0KSBHUFVFeHRlbnQzRDsKKworWworICAgIEVuYWJsZWRC
eVNldHRpbmc9V2ViR1BVLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCisgICAgRXhw
b3NlZD0oV2luZG93KSwgLyogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzMjU0MjogRGVkaWNhdGVkV29ya2VyICovCisgICAgU2VjdXJlQ29udGV4dAorXQoraW50ZXJm
YWNlIEdQVUNvbW1hbmRFbmNvZGVyIHsKKyAgICBHUFVSZW5kZXJQYXNzRW5jb2RlciBiZWdpblJl
bmRlclBhc3MoR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IgZGVzY3JpcHRvcik7CisgICAgR1BVQ29t
cHV0ZVBhc3NFbmNvZGVyIGJlZ2luQ29tcHV0ZVBhc3Mob3B0aW9uYWwgR1BVQ29tcHV0ZVBhc3NE
ZXNjcmlwdG9yIGRlc2NyaXB0b3IpOworCisgICAgdW5kZWZpbmVkIGNvcHlCdWZmZXJUb0J1ZmZl
cigKKyAgICAgICAgR1BVQnVmZmVyIHNvdXJjZSwKKyAgICAgICAgR1BVU2l6ZTY0IHNvdXJjZU9m
ZnNldCwKKyAgICAgICAgR1BVQnVmZmVyIGRlc3RpbmF0aW9uLAorICAgICAgICBHUFVTaXplNjQg
ZGVzdGluYXRpb25PZmZzZXQsCisgICAgICAgIEdQVVNpemU2NCBzaXplKTsKKworICAgIHVuZGVm
aW5lZCBjb3B5QnVmZmVyVG9UZXh0dXJlKAorICAgICAgICBHUFVJbWFnZUNvcHlCdWZmZXIgc291
cmNlLAorICAgICAgICBHUFVJbWFnZUNvcHlUZXh0dXJlIGRlc3RpbmF0aW9uLAorICAgICAgICBH
UFVFeHRlbnQzRCBjb3B5U2l6ZSk7CisKKyAgICB1bmRlZmluZWQgY29weVRleHR1cmVUb0J1ZmZl
cigKKyAgICAgICAgR1BVSW1hZ2VDb3B5VGV4dHVyZSBzb3VyY2UsCisgICAgICAgIEdQVUltYWdl
Q29weUJ1ZmZlciBkZXN0aW5hdGlvbiwKKyAgICAgICAgR1BVRXh0ZW50M0QgY29weVNpemUpOwor
CisgICAgdW5kZWZpbmVkIGNvcHlUZXh0dXJlVG9UZXh0dXJlKAorICAgICAgICBHUFVJbWFnZUNv
cHlUZXh0dXJlIHNvdXJjZSwKKyAgICAgICAgR1BVSW1hZ2VDb3B5VGV4dHVyZSBkZXN0aW5hdGlv
biwKKyAgICAgICAgR1BVRXh0ZW50M0QgY29weVNpemUpOworCisgICAgdW5kZWZpbmVkIGZpbGxC
dWZmZXIoCisgICAgICAgIEdQVUJ1ZmZlciBkZXN0aW5hdGlvbiwKKyAgICAgICAgR1BVU2l6ZTY0
IGRlc3RpbmF0aW9uT2Zmc2V0LAorICAgICAgICBHUFVTaXplNjQgc2l6ZSk7CisKKyAgICB1bmRl
ZmluZWQgcHVzaERlYnVnR3JvdXAoVVNWU3RyaW5nIGdyb3VwTGFiZWwpOworICAgIHVuZGVmaW5l
ZCBwb3BEZWJ1Z0dyb3VwKCk7CisgICAgdW5kZWZpbmVkIGluc2VydERlYnVnTWFya2VyKFVTVlN0
cmluZyBtYXJrZXJMYWJlbCk7CisKKyAgICB1bmRlZmluZWQgd3JpdGVUaW1lc3RhbXAoR1BVUXVl
cnlTZXQgcXVlcnlTZXQsIEdQVVNpemUzMiBxdWVyeUluZGV4KTsKKworICAgIHVuZGVmaW5lZCBy
ZXNvbHZlUXVlcnlTZXQoCisgICAgICAgIEdQVVF1ZXJ5U2V0IHF1ZXJ5U2V0LAorICAgICAgICBH
UFVTaXplMzIgZmlyc3RRdWVyeSwKKyAgICAgICAgR1BVU2l6ZTMyIHF1ZXJ5Q291bnQsCisgICAg
ICAgIEdQVUJ1ZmZlciBkZXN0aW5hdGlvbiwKKyAgICAgICAgR1BVU2l6ZTY0IGRlc3RpbmF0aW9u
T2Zmc2V0KTsKKworICAgIEdQVUNvbW1hbmRCdWZmZXIgZmluaXNoKG9wdGlvbmFsIEdQVUNvbW1h
bmRCdWZmZXJEZXNjcmlwdG9yIGRlc2NyaXB0b3IpOworfTsKK0dQVUNvbW1hbmRFbmNvZGVyIGlu
Y2x1ZGVzIEdQVU9iamVjdEJhc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVDb21tYW5kRW5jb2RlckRlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQz
NTk2ZmM2MmU0Y2JiM2IwM2FmMDc1YmM3YmYxYzgyNWRkNDk4M2YKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2RlckRlc2NyaXB0
b3IuaApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNs
dWRlICJHUFVPYmplY3REZXNjcmlwdG9yQmFzZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K3N0cnVjdCBHUFVDb21tYW5kRW5jb2RlckRlc2NyaXB0b3IgOiBwdWJsaWMgR1BVT2JqZWN0RGVz
Y3JpcHRvckJhc2UgeworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXJEZXNjcmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTFjNDQzMjc1ODIyMmUwNGRhZDNmMjA5MjNlMjMxZTQ2NDcxY2ZkMAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyRGVz
Y3JpcHRvci5pZGwKQEAgLTAsMCArMSwzMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVk
QnlTZXR0aW5nPVdlYkdQVQorXQorZGljdGlvbmFyeSBHUFVDb21tYW5kRW5jb2RlckRlc2NyaXB0
b3IgOiBHUFVPYmplY3REZXNjcmlwdG9yQmFzZSB7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NEZXNjcmlwdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0Rlc2NyaXB0b3IuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wN2NlMWUzNTM1ODU4M2Q3OTIyYzdmYjU0NmJhMGVmYzc2NmU5NTUzCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NEZXNj
cmlwdG9yLmgKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aW5jbHVkZSAiR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0ZS5oIgorI2luY2x1ZGUgIkdQVU9i
amVjdERlc2NyaXB0b3JCYXNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IEdQ
VUNvbXB1dGVQYXNzRGVzY3JpcHRvciA6IHB1YmxpYyBHUFVPYmplY3REZXNjcmlwdG9yQmFzZSB7
CisgICAgR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0ZXMgdGltZXN0YW1wV3JpdGVzOworfTsK
KworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0
ZVBhc3NEZXNjcmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNv
bXB1dGVQYXNzRGVzY3JpcHRvci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGNhMjMxNjRmNjI1NjE4MDUwMDFh
YTYxMmJmYjQ1MzNhMWUxMjdlNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzRGVzY3JpcHRvci5pZGwKQEAgLTAsMCArMSwzNCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzI1NDggVGhpcyBzaG91bGRuJ3QgbmVlZCB0byBiZSBoZXJlLgordHlwZWRlZiBzZXF1ZW5j
ZTxHUFVDb21wdXRlUGFzc1RpbWVzdGFtcFdyaXRlPiBHUFVDb21wdXRlUGFzc1RpbWVzdGFtcFdy
aXRlczsKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVCitdCitkaWN0aW9uYXJ5IEdQ
VUNvbXB1dGVQYXNzRGVzY3JpcHRvciA6IEdQVU9iamVjdERlc2NyaXB0b3JCYXNlIHsKKyAgICBH
UFVDb21wdXRlUGFzc1RpbWVzdGFtcFdyaXRlcyB0aW1lc3RhbXBXcml0ZXMgPSBbXTsKK307CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0Vu
Y29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NF
bmNvZGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iY2YzNjBiMWFiNzc5Yzk1Y2Y1MzE2OTFkYzQyZDRkODk4
YmU4MjZlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmNwcApAQCAtMCwwICsxLDEwMSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiR1BVQ29tcHV0
ZVBhc3NFbmNvZGVyLmgiCisKKyNpbmNsdWRlICJHUFVCaW5kR3JvdXAuaCIKKyNpbmNsdWRlICJH
UFVCdWZmZXIuaCIKKyNpbmNsdWRlICJHUFVDb21wdXRlUGlwZWxpbmUuaCIKKyNpbmNsdWRlICJH
UFVRdWVyeVNldC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgR1BVQ29tcHV0ZVBh
c3NFbmNvZGVyOjpzZXRQaXBlbGluZShjb25zdCBHUFVDb21wdXRlUGlwZWxpbmUmKQoreworfQor
Cit2b2lkIEdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6ZGlzcGF0Y2goR1BVU2l6ZTMyIHgsIHN0ZDo6
b3B0aW9uYWw8R1BVU2l6ZTMyPiB5LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemUzMj4geikKK3sKKyAg
ICBVTlVTRURfUEFSQU0oeCk7CisgICAgVU5VU0VEX1BBUkFNKHkpOworICAgIFVOVVNFRF9QQVJB
TSh6KTsKK30KKwordm9pZCBHUFVDb21wdXRlUGFzc0VuY29kZXI6OmRpc3BhdGNoSW5kaXJlY3Qo
Y29uc3QgR1BVQnVmZmVyJiBpbmRpcmVjdEJ1ZmZlciwgR1BVU2l6ZTY0IGluZGlyZWN0T2Zmc2V0
KQoreworICAgIFVOVVNFRF9QQVJBTShpbmRpcmVjdEJ1ZmZlcik7CisgICAgVU5VU0VEX1BBUkFN
KGluZGlyZWN0T2Zmc2V0KTsKK30KKwordm9pZCBHUFVDb21wdXRlUGFzc0VuY29kZXI6OmJlZ2lu
UGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoY29uc3QgR1BVUXVlcnlTZXQmLCBHUFVTaXplMzIgcXVl
cnlJbmRleCkKK3sKKyAgICBVTlVTRURfUEFSQU0ocXVlcnlJbmRleCk7Cit9CisKK3ZvaWQgR1BV
Q29tcHV0ZVBhc3NFbmNvZGVyOjplbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpCit7CisKK30K
Kwordm9pZCBHUFVDb21wdXRlUGFzc0VuY29kZXI6OmVuZFBhc3MoKQoreworCit9CisKK3ZvaWQg
R1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjpzZXRCaW5kR3JvdXAoR1BVSW5kZXgzMiwgY29uc3QgR1BV
QmluZEdyb3VwJiwKKyAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxHUFVCdWZmZXJEeW5hbWljT2Zm
c2V0Pj4mJikKK3sKKworfQorCit2b2lkIEdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6c2V0QmluZEdy
b3VwKEdQVUluZGV4MzIsIGNvbnN0IEdQVUJpbmRHcm91cCYsCisgICAgY29uc3QgSlNDOjpVaW50
MzJBcnJheSYgZHluYW1pY09mZnNldHNEYXRhLAorICAgIEdQVVNpemU2NCBkeW5hbWljT2Zmc2V0
c0RhdGFTdGFydCwKKyAgICBHUFVTaXplMzIgZHluYW1pY09mZnNldHNEYXRhTGVuZ3RoKQorewor
ICAgIFVOVVNFRF9QQVJBTShkeW5hbWljT2Zmc2V0c0RhdGEpOworICAgIFVOVVNFRF9QQVJBTShk
eW5hbWljT2Zmc2V0c0RhdGFTdGFydCk7CisgICAgVU5VU0VEX1BBUkFNKGR5bmFtaWNPZmZzZXRz
RGF0YUxlbmd0aCk7Cit9CisKK3ZvaWQgR1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjpwdXNoRGVidWdH
cm91cChTdHJpbmcmJiBncm91cExhYmVsKQoreworICAgIFVOVVNFRF9QQVJBTShncm91cExhYmVs
KTsKK30KKwordm9pZCBHUFVDb21wdXRlUGFzc0VuY29kZXI6OnBvcERlYnVnR3JvdXAoKQorewor
Cit9CisKK3ZvaWQgR1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjppbnNlcnREZWJ1Z01hcmtlcihTdHJp
bmcmJiBtYXJrZXJMYWJlbCkKK3sKKyAgICBVTlVTRURfUEFSQU0obWFya2VyTGFiZWwpOworfQor
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRl
UGFzc0VuY29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQ
YXNzRW5jb2Rlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhZGQxYmNiNDU5MTQ3OWEzYzgwNzNmMzlmYTMwZDAy
OWIxMzdjMDYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVDb21wdXRlUGFzc0VuY29kZXIuaApAQCAtMCwwICsxLDgyIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJHUFVJbnRlZ3JhbFR5cGVzLmgiCisjaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvVWludDMyQXJyYXkuaD4KKyNpbmNsdWRlIDxvcHRpb25hbD4KKyNpbmNs
dWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgR1BVQmluZEdyb3VwOworY2xhc3MgR1BVQnVmZmVyOworY2xh
c3MgR1BVQ29tcHV0ZVBpcGVsaW5lOworY2xhc3MgR1BVUXVlcnlTZXQ7CisKK2NsYXNzIEdQVUNv
bXB1dGVQYXNzRW5jb2RlciA6IHB1YmxpYyBSZWZDb3VudGVkPEdQVUNvbXB1dGVQYXNzRW5jb2Rl
cj4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8R1BVQ29tcHV0ZVBhc3NFbmNvZGVyPiBjcmVh
dGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgR1BVQ29tcHV0ZVBhc3NF
bmNvZGVyKCkpOworICAgIH0KKworICAgIHZvaWQgc2V0UGlwZWxpbmUoY29uc3QgR1BVQ29tcHV0
ZVBpcGVsaW5lJik7CisgICAgdm9pZCBkaXNwYXRjaChHUFVTaXplMzIgeCwgc3RkOjpvcHRpb25h
bDxHUFVTaXplMzI+IHksIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTMyPik7CisgICAgdm9pZCBkaXNw
YXRjaEluZGlyZWN0KGNvbnN0IEdQVUJ1ZmZlciYgaW5kaXJlY3RCdWZmZXIsIEdQVVNpemU2NCBp
bmRpcmVjdE9mZnNldCk7CisKKyAgICB2b2lkIGJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnko
Y29uc3QgR1BVUXVlcnlTZXQmLCBHUFVTaXplMzIgcXVlcnlJbmRleCk7CisgICAgdm9pZCBlbmRQ
aXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpOworCisgICAgdm9pZCBlbmRQYXNzKCk7CisKKyAgICB2
b2lkIHNldEJpbmRHcm91cChHUFVJbmRleDMyLCBjb25zdCBHUFVCaW5kR3JvdXAmLAorICAgICAg
ICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxHUFVCdWZmZXJEeW5hbWljT2Zmc2V0Pj4mJik7CisKKyAg
ICB2b2lkIHNldEJpbmRHcm91cChHUFVJbmRleDMyLCBjb25zdCBHUFVCaW5kR3JvdXAmLAorICAg
ICAgICBjb25zdCBKU0M6OlVpbnQzMkFycmF5JiBkeW5hbWljT2Zmc2V0c0RhdGEsCisgICAgICAg
IEdQVVNpemU2NCBkeW5hbWljT2Zmc2V0c0RhdGFTdGFydCwKKyAgICAgICAgR1BVU2l6ZTMyIGR5
bmFtaWNPZmZzZXRzRGF0YUxlbmd0aCk7CisKKyAgICB2b2lkIHB1c2hEZWJ1Z0dyb3VwKFN0cmlu
ZyYmIGdyb3VwTGFiZWwpOworICAgIHZvaWQgcG9wRGVidWdHcm91cCgpOworICAgIHZvaWQgaW5z
ZXJ0RGVidWdNYXJrZXIoU3RyaW5nJiYgbWFya2VyTGFiZWwpOworCisgICAgY29uc3QgU3RyaW5n
JiBsYWJlbCgpIGNvbnN0IHsgcmV0dXJuIG1fbGFiZWw7IH0KKyAgICB2b2lkIHNldExhYmVsKFN0
cmluZyYmIGxhYmVsKSB7IG1fbGFiZWwgPSBXVEZNb3ZlKGxhYmVsKTsgfQorCitwcml2YXRlOgor
ICAgIEdQVUNvbXB1dGVQYXNzRW5jb2RlcigpCisgICAgeworICAgIH0KKworICAgIFN0cmluZyBt
X2xhYmVsOworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2Vi
R1BVL0dQVUNvbXB1dGVQYXNzRW5jb2Rlci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ5MzQwMTk4YTRkOTI5
YjlkOTU0NzU0MDEzYmRlMGU0ZDM4Yjc1YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzRW5jb2Rlci5pZGwKQEAgLTAsMCArMSw0
NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzI1NDggVGhlc2Ugc2hvdWxkbid0IG5lZWQgdG8gYmUgaGVyZS4KK3R5cGVkZWYgW0Vu
Zm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBHUFVTaXplMzI7Cit0eXBlZGVmIFtFbmZvcmNlUmFu
Z2VdIHVuc2lnbmVkIGxvbmcgbG9uZyBHUFVTaXplNjQ7CisKK1sKKyAgICBFbmFibGVkQnlTZXR0
aW5nPVdlYkdQVSwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAgIEV4cG9zZWQ9
KFdpbmRvdyksIC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1
NDI6IERlZGljYXRlZFdvcmtlciAqLworICAgIFNlY3VyZUNvbnRleHQKK10KK2ludGVyZmFjZSBH
UFVDb21wdXRlUGFzc0VuY29kZXIgeworICAgIHVuZGVmaW5lZCBzZXRQaXBlbGluZShHUFVDb21w
dXRlUGlwZWxpbmUgcGlwZWxpbmUpOworICAgIHVuZGVmaW5lZCBkaXNwYXRjaChHUFVTaXplMzIg
eCwgb3B0aW9uYWwgR1BVU2l6ZTMyIHkgPSAxLCBvcHRpb25hbCBHUFVTaXplMzIgeiA9IDEpOwor
ICAgIHVuZGVmaW5lZCBkaXNwYXRjaEluZGlyZWN0KEdQVUJ1ZmZlciBpbmRpcmVjdEJ1ZmZlciwg
R1BVU2l6ZTY0IGluZGlyZWN0T2Zmc2V0KTsKKworICAgIHVuZGVmaW5lZCBiZWdpblBpcGVsaW5l
U3RhdGlzdGljc1F1ZXJ5KEdQVVF1ZXJ5U2V0IHF1ZXJ5U2V0LCBHUFVTaXplMzIgcXVlcnlJbmRl
eCk7CisgICAgdW5kZWZpbmVkIGVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCk7CisKKyAgICB1
bmRlZmluZWQgZW5kUGFzcygpOworfTsKK0dQVUNvbXB1dGVQYXNzRW5jb2RlciBpbmNsdWRlcyBH
UFVPYmplY3RCYXNlOworR1BVQ29tcHV0ZVBhc3NFbmNvZGVyIGluY2x1ZGVzIEdQVVByb2dyYW1t
YWJsZVBhc3NFbmNvZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbi5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU1MzFhNmM4Y2I2MTQ4YzUxOGVjMDM4Y2U3ZTAzNzcxZjYwMWZhMWUKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc1RpbWVzdGFt
cExvY2F0aW9uLmgKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaW5jbHVkZSA8Y3N0ZGludD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNz
IEdQVUNvbXB1dGVQYXNzVGltZXN0YW1wTG9jYXRpb24gOiB1aW50OF90IHsKKyAgICBCZWdpbm5p
bmcsCisgICAgRW5kCit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVDb21wdXRlUGFzc1RpbWVzdGFtcExvY2F0aW9uLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wTG9jYXRpb24uaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmJmMjA3YzIyMDY4Y2I1NjQyM2NiZjYyZTg1OGU2ZmM3YmUxOTJmMWQKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFz
c1RpbWVzdGFtcExvY2F0aW9uLmlkbApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWwor
ICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVCitdCitlbnVtIEdQVUNvbXB1dGVQYXNzVGltZXN0
YW1wTG9jYXRpb24geworICAgICJiZWdpbm5pbmciLAorICAgICJlbmQiCit9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBX
cml0ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NUaW1l
c3RhbXBXcml0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5OWFiZGQ4YjI0ZGViOWIyMTEyNDg1NGJkNjFmNzIx
NDZiZDJmMTQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVDb21wdXRlUGFzc1RpbWVzdGFtcFdyaXRlLmgKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBM
b2NhdGlvbi5oIgorI2luY2x1ZGUgIkdQVUludGVncmFsVHlwZXMuaCIKKyNpbmNsdWRlICJHUFVR
dWVyeVNldC5oIgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IEdQVUNvbXB1dGVQYXNzVGltZXN0
YW1wV3JpdGUgeworICAgIFJlZlB0cjxHUFVRdWVyeVNldD4gcXVlcnlTZXQ7CisgICAgR1BVU2l6
ZTMyIHF1ZXJ5SW5kZXg7CisgICAgR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbiBsb2Nh
dGlvbjsKK307CisKK3VzaW5nIEdQVUNvbXB1dGVQYXNzVGltZXN0YW1wV3JpdGVzID0gVmVjdG9y
PEdQVUNvbXB1dGVQYXNzVGltZXN0YW1wV3JpdGU+OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc1RpbWVzdGFtcFdyaXRlLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wV3Jp
dGUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjJlYmEyZjY1NzdiYWIxNGY2MWQ0NTlkMjYwZTc1ZTU1NjQwNmEw
NDYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVD
b21wdXRlUGFzc1RpbWVzdGFtcFdyaXRlLmlkbApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjU0OCBUaGlz
IHNob3VsZG4ndCBuZWVkIHRvIGJlIGhlcmUuCit0eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIHVuc2ln
bmVkIGxvbmcgR1BVU2l6ZTMyOworCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUKK10K
K2RpY3Rpb25hcnkgR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0ZSB7CisgICAgcmVxdWlyZWQg
R1BVUXVlcnlTZXQgcXVlcnlTZXQ7CisgICAgcmVxdWlyZWQgR1BVU2l6ZTMyIHF1ZXJ5SW5kZXg7
CisgICAgcmVxdWlyZWQgR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbiBsb2NhdGlvbjsK
K307CisKK3R5cGVkZWYgc2VxdWVuY2U8R1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0ZT4gR1BV
Q29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0ZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGlwZWxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVUNvbXB1dGVQaXBlbGluZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkwNDVmYWRjZTczNjJk
MzYxMTYxMDdiNTYxMmQyMTdhNWRjM2MyYzcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGlwZWxpbmUuaApAQCAtMCwwICsxLDUwIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBHUFVDb21wdXRlUGlwZWxpbmUgOiBwdWJs
aWMgUmVmQ291bnRlZDxHUFVDb21wdXRlUGlwZWxpbmU+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UmVmPEdQVUNvbXB1dGVQaXBlbGluZT4gY3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IEdQVUNvbXB1dGVQaXBlbGluZSgpKTsKKyAgICB9CisKKyAgICBjb25zdCBT
dHJpbmcmIGxhYmVsKCkgY29uc3QgeyByZXR1cm4gbV9sYWJlbDsgfQorICAgIHZvaWQgc2V0TGFi
ZWwoU3RyaW5nJiYgbGFiZWwpIHsgbV9sYWJlbCA9IGxhYmVsOyB9CisKK3ByaXZhdGU6CisgICAg
R1BVQ29tcHV0ZVBpcGVsaW5lKCk7CisKKyAgICBTdHJpbmcgbV9sYWJlbDsKK307CisKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQaXBlbGlu
ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGlwZWxpbmUu
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmI0YjJlNmJlNDRhMmVlZjgxMTc4YWFiNDY5ZjlhNDlmZTNlOWM0MDMK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21w
dXRlUGlwZWxpbmUuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgRW5h
YmxlZEJ5U2V0dGluZz1XZWJHUFUsCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKKyAg
ICBFeHBvc2VkPShXaW5kb3cpLCAvKiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMyNTQyOiBEZWRpY2F0ZWRXb3JrZXIgKi8KKyAgICBTZWN1cmVDb250ZXh0CitdCitp
bnRlcmZhY2UgR1BVQ29tcHV0ZVBpcGVsaW5lIHsKK307CitHUFVDb21wdXRlUGlwZWxpbmUgaW5j
bHVkZXMgR1BVT2JqZWN0QmFzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVUV4dGVudDNERGljdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVRXh0ZW50M0REaWN0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzcwOWZlN2M5MTdmNzhmYjQ0NmU1ZDg3Nzhm
MTZhMGRiZDlmZmExYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVUV4dGVudDNERGljdC5oCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkdQVUludGVncmFsVHlwZXMuaCIKKyNpbmNsdWRlIDx2
YXJpYW50PgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitzdHJ1Y3QgR1BVRXh0ZW50M0REaWN0IHsKKyAgICBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSB3aWR0
aDsKKyAgICBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSBoZWlnaHQ7CisgICAgR1BVSW50ZWdlckNvb3Jk
aW5hdGUgZGVwdGhPckFycmF5TGF5ZXJzOworfTsKKwordXNpbmcgR1BVRXh0ZW50M0QgPSBzdGQ6
OnZhcmlhbnQ8VmVjdG9yPEdQVUludGVnZXJDb29yZGluYXRlPiwgR1BVRXh0ZW50M0REaWN0PjsK
KworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRXh0ZW50
M0REaWN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUV4dGVudDNERGlj
dC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZmM1OGFmYjJmYTQxYmFjODk1MmNhZmM0ZTQ4MjUwOTI4Zjg5Njhl
MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUV4
dGVudDNERGljdC5pZGwKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDggVGhpcyBzaG91bGRuJ3QgbmVl
ZCB0byBiZSBoZXJlLgordHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVUlu
dGVnZXJDb29yZGluYXRlOworCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUKK10KK2Rp
Y3Rpb25hcnkgR1BVRXh0ZW50M0REaWN0IHsKKyAgICByZXF1aXJlZCBHUFVJbnRlZ2VyQ29vcmRp
bmF0ZSB3aWR0aDsKKyAgICBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSBoZWlnaHQgPSAxOworICAgIEdQ
VUludGVnZXJDb29yZGluYXRlIGRlcHRoT3JBcnJheUxheWVycyA9IDE7Cit9OwordHlwZWRlZiAo
c2VxdWVuY2U8R1BVSW50ZWdlckNvb3JkaW5hdGU+IG9yIEdQVUV4dGVudDNERGljdCkgR1BVRXh0
ZW50M0Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFn
ZUNvcHlCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29w
eUJ1ZmZlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1M2MyZGJiMTY3NGY3ZjljZmE5MTAzNjNlMTJkMjY5Zjcw
M2IyOWUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVJbWFnZUNvcHlCdWZmZXIuaApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlICJHUFVCdWZmZXIuaCIKKyNpbmNsdWRlICJHUFVJbWFnZURhdGFM
YXlvdXQuaCIKKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
Kworc3RydWN0IEdQVUltYWdlQ29weUJ1ZmZlciA6IHB1YmxpYyBHUFVJbWFnZURhdGFMYXlvdXQg
eworICAgIFJlZlB0cjxHUFVCdWZmZXI+IGJ1ZmZlcjsKK307CisKK30KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weUJ1ZmZlci5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlCdWZmZXIuaWRsCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjFjOWE0NDE5MjA4MjY4MzQ3NThjZDI4NjYzZDA3NzQ3N2E4MjAwYTMKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlCdWZmZXIu
aWRsCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgRW5hYmxlZEJ5U2V0dGlu
Zz1XZWJHUFUKK10KK2RpY3Rpb25hcnkgR1BVSW1hZ2VDb3B5QnVmZmVyIDogR1BVSW1hZ2VEYXRh
TGF5b3V0IHsKKyAgICByZXF1aXJlZCBHUFVCdWZmZXIgYnVmZmVyOworfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weUV4dGVybmFsSW1hZ2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weUV4dGVybmFsSW1h
Z2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43ZDVkY2MwZjJiNGVlYzhlMzY1ODNmYTZiODQ1ZjRkZTNhMDg4YTc4
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW1h
Z2VDb3B5RXh0ZXJuYWxJbWFnZS5oCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2luY2x1ZGUgIkdQVU9yaWdpbjJERGljdC5oIgorI2luY2x1ZGUgIkhUTUxD
YW52YXNFbGVtZW50LmgiCisjaW5jbHVkZSAiSW1hZ2VCaXRtYXAuaCIKKyNpbmNsdWRlIDx2YXJp
YW50PgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitz
dHJ1Y3QgR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZSB7CisgICAgc3RkOjp2YXJpYW50PFJlZlB0
cjxJbWFnZUJpdG1hcD4sIFJlZlB0cjxIVE1MQ2FudmFzRWxlbWVudD4+IHNvdXJjZTsKKyAgICBH
UFVPcmlnaW4yRCBvcmlnaW47Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaWRsCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY2ZmRiNzg1NmU1MzRjZTlkOTg2ZWM2NzJhMmZhZTA2ZjkyNWZjMTMKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlFeHRlcm5h
bEltYWdlLmlkbApAQCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjU0OCBUaGVzZSBzaG91bGRuJ3QgbmVlZCB0
byBiZSBoZXJlLgordHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVUludGVn
ZXJDb29yZGluYXRlOwordHlwZWRlZiAoc2VxdWVuY2U8R1BVSW50ZWdlckNvb3JkaW5hdGU+IG9y
IEdQVU9yaWdpbjJERGljdCkgR1BVT3JpZ2luMkQ7CisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5n
PVdlYkdQVQorXQorZGljdGlvbmFyeSBHUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlIHsKKyAgICBy
ZXF1aXJlZCAoSW1hZ2VCaXRtYXAgb3IgSFRNTENhbnZhc0VsZW1lbnQpIHNvdXJjZTsgLy8gRklY
TUU6IE9mZnNjcmVlbkNhbnZhcyBkb2Vzbid0IHNlZW0gdG8gd29yayB3aXRoIG91ciBiaW5kaW5n
cyBoZXJlLgorICAgIEdQVU9yaWdpbjJEIG9yaWdpbjsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlUZXh0dXJlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlUZXh0dXJlLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTU3
NzI0YWQ4NDNmNGQ3ZTk3MzY3Mzg2MzdlNzBmNTk1YTkxNTMxYQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weVRleHR1cmUuaApAQCAt
MCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJHUFVJ
bnRlZ3JhbFR5cGVzLmgiCisjaW5jbHVkZSAiR1BVT3JpZ2luM0REaWN0LmgiCisjaW5jbHVkZSAi
R1BVVGV4dHVyZS5oIgorI2luY2x1ZGUgIkdQVVRleHR1cmVBc3BlY3QuaCIKKyNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IEdQVUltYWdlQ29w
eVRleHR1cmUgeworICAgIFJlZlB0cjxHUFVUZXh0dXJlPiB0ZXh0dXJlOworICAgIEdQVUludGVn
ZXJDb29yZGluYXRlIG1pcExldmVsOworICAgIEdQVU9yaWdpbjNEIG9yaWdpbjsKKyAgICBHUFVU
ZXh0dXJlQXNwZWN0IGFzcGVjdDsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weVRleHR1cmUuaWRsIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5VGV4dHVyZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTg3OGM2
OGYwYWNlZDU4ZmJlODg4ZjdkMmNkNjRmNDg0OTM2MTJlZgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weVRleHR1cmUuaWRsCkBAIC0w
LDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjMyNTQ4IFRoZXNlIHNob3VsZG4ndCBuZWVkIHRvIGJlIGhlcmUuCit0eXBl
ZGVmIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmcgR1BVSW50ZWdlckNvb3JkaW5hdGU7Cit0
eXBlZGVmIChzZXF1ZW5jZTxHUFVJbnRlZ2VyQ29vcmRpbmF0ZT4gb3IgR1BVT3JpZ2luM0REaWN0
KSBHUFVPcmlnaW4zRDsKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVCitdCitkaWN0
aW9uYXJ5IEdQVUltYWdlQ29weVRleHR1cmUgeworICAgIHJlcXVpcmVkIEdQVVRleHR1cmUgdGV4
dHVyZTsKKyAgICBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSBtaXBMZXZlbCA9IDA7CisgICAgR1BVT3Jp
Z2luM0Qgb3JpZ2luOworICAgIEdQVVRleHR1cmVBc3BlY3QgYXNwZWN0ID0gImFsbCI7Cit9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5VGV4
dHVyZVRhZ2dlZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5
VGV4dHVyZVRhZ2dlZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlOGZiZTg3NGIzZmMxNjYyNDAyNDFkYmZiYjFh
ZjI5YzgzZjIwYTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVJbWFnZUNvcHlUZXh0dXJlVGFnZ2VkLmgKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiR1BVSW1hZ2VDb3B5VGV4dHVyZS5oIgor
I2luY2x1ZGUgIkdQVVByZWRlZmluZWRDb2xvclNwYWNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworc3RydWN0IEdQVUltYWdlQ29weVRleHR1cmVUYWdnZWQgOiBwdWJsaWMgR1BVSW1hZ2VD
b3B5VGV4dHVyZSB7CisgICAgR1BVUHJlZGVmaW5lZENvbG9yU3BhY2UgY29sb3JTcGFjZTsKKyAg
ICBib29sIHByZW11bHRpcGxpZWRBbHBoYTsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weVRleHR1cmVUYWdnZWQuaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5VGV4dHVyZVRhZ2dlZC5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNGJmZTQ5ZTlkMzM4Y2ZjNmM1ZjFlYWU5NWUyZjQ2MTNjYjA0MzhjZQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29w
eVRleHR1cmVUYWdnZWQuaWRsCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAg
RW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUKK10KK2RpY3Rpb25hcnkgR1BVSW1hZ2VDb3B5VGV4dHVy
ZVRhZ2dlZCA6IEdQVUltYWdlQ29weVRleHR1cmUgeworICAgIEdQVVByZWRlZmluZWRDb2xvclNw
YWNlIGNvbG9yU3BhY2UgPSAic3JnYiI7CisgICAgYm9vbGVhbiBwcmVtdWx0aXBsaWVkQWxwaGEg
PSBmYWxzZTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVJbWFnZURhdGFMYXlvdXQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUlt
YWdlRGF0YUxheW91dC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVkNWJjMjYyMDZiMTZlYjM4MmRlNjc4NjMyYjgy
OTQyNTFjYzI0YjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVJbWFnZURhdGFMYXlvdXQuaApAQCAtMCwwICsxLDM3IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJHUFVJbnRlZ3JhbFR5cGVzLmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworc3RydWN0IEdQVUltYWdlRGF0YUxheW91dCB7CisgICAgR1BVU2l6ZTY0
IG9mZnNldDsKKyAgICBHUFVTaXplMzIgYnl0ZXNQZXJSb3c7CisgICAgR1BVU2l6ZTMyIHJvd3NQ
ZXJJbWFnZTsKK307Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVJbWFnZURhdGFMYXlvdXQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVSW1hZ2VEYXRhTGF5b3V0LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZGZmYmUzOGRkMmZiNGRhMTY0ZDMy
YTIzYTBkNzUxZjY1MzFkNmFlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVSW1hZ2VEYXRhTGF5b3V0LmlkbApAQCAtMCwwICsxLDM3IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjU0
OCBUaGVzZSBzaG91bGRuJ3QgbmVlZCB0byBiZSBoZXJlLgordHlwZWRlZiBbRW5mb3JjZVJhbmdl
XSB1bnNpZ25lZCBsb25nIEdQVVNpemUzMjsKK3R5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWdu
ZWQgbG9uZyBsb25nIEdQVVNpemU2NDsKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BV
CitdCitkaWN0aW9uYXJ5IEdQVUltYWdlRGF0YUxheW91dCB7CisgICAgR1BVU2l6ZTY0IG9mZnNl
dCA9IDA7CisgICAgR1BVU2l6ZTMyIGJ5dGVzUGVyUm93OworICAgIEdQVVNpemUzMiByb3dzUGVy
SW1hZ2U7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
SW5kZXhGb3JtYXQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUluZGV4Rm9y
bWF0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYjYwYTUyMTczMDIyNTI3OGYyNjcyMmQxZGY2NGZkN2IyOTFmY2U0
MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUlu
ZGV4Rm9ybWF0LmgKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaW5jbHVkZSA8Y3N0ZGludD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNz
IEdQVUluZGV4Rm9ybWF0IDogdWludDhfdCB7CisgICAgVWludDE2LAorICAgIFVpbnQzMgorfTsK
KworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW5kZXhG
b3JtYXQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW5kZXhGb3JtYXQu
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjg4NmMxYTJhZGE4ZmYzM2QxOTliOGRlYzZkZjZiM2E2YmI0MDk0MDYK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVJbmRl
eEZvcm1hdC5pZGwKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVk
QnlTZXR0aW5nPVdlYkdQVQorXQorZW51bSBHUFVJbmRleEZvcm1hdCB7CisgICAgInVpbnQxNiIs
CisgICAgInVpbnQzMiIKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVJbnRlZ3JhbFR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVJbnRlZ3JhbFR5cGVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjc1NTVkOTU5M2RlNTNjZjg2YWZhMDVjZDlm
YTQyNGM3MzU2MzVjNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVUludGVncmFsVHlwZXMuaApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordXNpbmcgR1BVQnVmZmVyRHlu
YW1pY09mZnNldCA9IHVpbnQzMl90OwordXNpbmcgR1BVU3RlbmNpbFZhbHVlID0gdWludDMyX3Q7
Cit1c2luZyBHUFVTYW1wbGVNYXNrID0gdWludDMyX3Q7Cit1c2luZyBHUFVEZXB0aEJpYXMgPSBp
bnQzMl90OworCit1c2luZyBHUFVTaXplNjQgPSB1aW50NjRfdDsKK3VzaW5nIEdQVUludGVnZXJD
b29yZGluYXRlID0gdWludDMyX3Q7Cit1c2luZyBHUFVJbmRleDMyID0gdWludDMyX3Q7Cit1c2lu
ZyBHUFVTaXplMzIgPSB1aW50MzJfdDsKK3VzaW5nIEdQVVNpZ25lZE9mZnNldDMyID0gaW50MzJf
dDsKKwordXNpbmcgR1BVRmxhZ3NDb25zdGFudCA9IHVpbnQzMl90OworCit9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVMb2FkT3AuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVUxvYWRPcC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg4NDgzMGFhOWQ3NjY2
MjhmNjU1ZWQ3MWFlOTQ5MjBiMjk5NDFmOWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVMb2FkT3AuaApAQCAtMCwwICsxLDM2IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDxjc3RkaW50PgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2VudW0gY2xhc3MgR1BVTG9hZE9wIDogdWludDhfdCB7CisgICAgTG9hZAorfTsK
KworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVTG9hZE9w
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUxvYWRPcC5pZGwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODE2NTA1NDMzNTRmZGIzOTk3MzE2ZTU4MmYyYzI0MzE1ZTg3NDU1NwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUxvYWRPcC5pZGwKQEAg
LTAsMCArMSwzMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQ
VQorXQorZW51bSBHUFVMb2FkT3AgeworICAgICJsb2FkIgorfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVU9iamVjdEJhc2UuaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVT2JqZWN0QmFzZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ1ZjU1NzI4
NGNhODEwMzI4MTk1NGUwMmY1ZTRjNDEzODAxYTE0NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVU9iamVjdEJhc2UuaWRsCkBAIC0wLDAgKzEsMzEg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUKK10KK2ludGVy
ZmFjZSBtaXhpbiBHUFVPYmplY3RCYXNlIHsKKyAgICBhdHRyaWJ1dGUgVVNWU3RyaW5nPyBsYWJl
bDsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVPYmpl
Y3REZXNjcmlwdG9yQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVT2Jq
ZWN0RGVzY3JpcHRvckJhc2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MDA0Y2U1ODM4ZWI3ZTBhYTI3OTU3YmUz
NDBjODM3YTFkZTdlNTlkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVT2JqZWN0RGVzY3JpcHRvckJhc2UuaApAQCAtMCwwICsxLDM2IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgR1BVT2JqZWN0RGVzY3JpcHRvckJhc2Ug
eworICAgIFN0cmluZyBsYWJlbDsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVU9iamVjdERlc2NyaXB0b3JCYXNlLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVU9iamVjdERlc2NyaXB0b3JCYXNlLmlkbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xYjE2NWJiMzg0MzY4NmM3NTM5NTE0NzJjZDA2NjZiMmE1ODM3NjM5Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVT2JqZWN0RGVzY3JpcHRvckJh
c2UuaWRsCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgRW5hYmxlZEJ5U2V0
dGluZz1XZWJHUFUKK10KK2RpY3Rpb25hcnkgR1BVT2JqZWN0RGVzY3JpcHRvckJhc2UgeworICAg
IFVTVlN0cmluZyBsYWJlbDsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVPcmlnaW4yRERpY3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVU9yaWdpbjJERGljdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZWY1NDc5NDY2M2I5MDJmMWE2MzE0NWZh
ZDU2MDBjMTc4YjI1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVPcmlnaW4yRERpY3QuaApAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJHUFVJbnRlZ3JhbFR5cGVzLmgiCisjaW5jbHVkZSA8
dmFyaWFudD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
Kworc3RydWN0IEdQVU9yaWdpbjJERGljdCB7CisgICAgR1BVSW50ZWdlckNvb3JkaW5hdGUgeDsK
KyAgICBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSB5OworfTsKKwordXNpbmcgR1BVT3JpZ2luMkQgPSBz
dGQ6OnZhcmlhbnQ8VmVjdG9yPEdQVUludGVnZXJDb29yZGluYXRlPiwgR1BVT3JpZ2luMkREaWN0
PjsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVT3Jp
Z2luMkREaWN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVU9yaWdpbjJE
RGljdC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZmRkODU0YjdkYTlkNDA5OTJmZmE2NGExOTI3ZmViZjQ3OTI5
MjQ0YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VU9yaWdpbjJERGljdC5pZGwKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDggVGhpcyBzaG91bGRuJ3Qg
bmVlZCB0byBiZSBoZXJlLgordHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQ
VUludGVnZXJDb29yZGluYXRlOworCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUKK10K
K2RpY3Rpb25hcnkgR1BVT3JpZ2luMkREaWN0IHsKKyAgICBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSB4
ID0gMDsKKyAgICBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSB5ID0gMDsKK307Cit0eXBlZGVmIChzZXF1
ZW5jZTxHUFVJbnRlZ2VyQ29vcmRpbmF0ZT4gb3IgR1BVT3JpZ2luMkREaWN0KSBHUFVPcmlnaW4y
RDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVU9yaWdpbjNE
RGljdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVT3JpZ2luM0REaWN0LmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjU3NzgyZGVjNzk3OGQyYTMyYmFiZDFhY2ZlNDMxMWE1MTgyN2IyYQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVU9yaWdpbjNE
RGljdC5oCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lu
Y2x1ZGUgIkdQVUludGVncmFsVHlwZXMuaCIKKyNpbmNsdWRlIDx2YXJpYW50PgorI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgR1BVT3JpZ2lu
M0REaWN0IHsKKyAgICBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSB4OworICAgIEdQVUludGVnZXJDb29y
ZGluYXRlIHk7CisgICAgR1BVSW50ZWdlckNvb3JkaW5hdGUgejsKK307CisKK3VzaW5nIEdQVU9y
aWdpbjNEID0gc3RkOjp2YXJpYW50PFZlY3RvcjxHUFVJbnRlZ2VyQ29vcmRpbmF0ZT4sIEdQVU9y
aWdpbjNERGljdD47CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2Vi
R1BVL0dQVU9yaWdpbjNERGljdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVPcmlnaW4zRERpY3QuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyYTY0OTYzNGY0YjE2OGMxNTI4MzUwN2U3
MDU4MDhiNzc5ZTIyOWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVPcmlnaW4zRERpY3QuaWRsCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQ4IFRoaXMg
c2hvdWxkbid0IG5lZWQgdG8gYmUgaGVyZS4KK3R5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWdu
ZWQgbG9uZyBHUFVJbnRlZ2VyQ29vcmRpbmF0ZTsKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9
V2ViR1BVCitdCitkaWN0aW9uYXJ5IEdQVU9yaWdpbjNERGljdCB7CisgICAgR1BVSW50ZWdlckNv
b3JkaW5hdGUgeCA9IDA7CisgICAgR1BVSW50ZWdlckNvb3JkaW5hdGUgeSA9IDA7CisgICAgR1BV
SW50ZWdlckNvb3JkaW5hdGUgeiA9IDA7Cit9OwordHlwZWRlZiAoc2VxdWVuY2U8R1BVSW50ZWdl
ckNvb3JkaW5hdGU+IG9yIEdQVU9yaWdpbjNERGljdCkgR1BVT3JpZ2luM0Q7CisKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lU3RhdGlzdGljTmFt
ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVTdGF0aXN0aWNO
YW1lLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODNmZGFlZTU2NDI0NTI1NTNmNzJiMDVhM2I3MTk5ZmM1N2UyYmQ5
NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVBp
cGVsaW5lU3RhdGlzdGljTmFtZS5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2luY2x1ZGUgPGNzdGRpbnQ+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
ZW51bSBjbGFzcyBHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUgOiB1aW50OF90IHsKKyAgICBWZXJ0
ZXhTaGFkZXJJbnZvY2F0aW9ucywKKyAgICBDbGlwcGVySW52b2NhdGlvbnMsCisgICAgQ2xpcHBl
clByaW1pdGl2ZXNPdXQsCisgICAgRnJhZ21lbnRTaGFkZXJJbnZvY2F0aW9ucywKKyAgICBDb21w
dXRlU2hhZGVySW52b2NhdGlvbnMKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaWRsCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjk3YjMwOGQ0NGYxYzJlYWZjZGM0MjE5YjI4N2ZlYWQyZTJjYWQzZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZVN0YXRpc3Rp
Y05hbWUuaWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgRW5hYmxlZEJ5
U2V0dGluZz1XZWJHUFUKK10KK2VudW0gR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lIHsKKyAgICAi
dmVydGV4LXNoYWRlci1pbnZvY2F0aW9ucyIsCisgICAgImNsaXBwZXItaW52b2NhdGlvbnMiLAor
ICAgICJjbGlwcGVyLXByaW1pdGl2ZXMtb3V0IiwKKyAgICAiZnJhZ21lbnQtc2hhZGVyLWludm9j
YXRpb25zIiwKKyAgICAiY29tcHV0ZS1zaGFkZXItaW52b2NhdGlvbnMiCit9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUHJlZGVmaW5lZENvbG9yU3BhY2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVByZWRlZmluZWRDb2xvclNwYWNl
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNWJjY2RmZTc3NGJhYjUzZDU1ZGY2ZjAzN2ZmMjcyNTg0YThhZDY1ZAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVByZWRl
ZmluZWRDb2xvclNwYWNlLmgKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEg
b25jZQorCisjaW5jbHVkZSA8Y3N0ZGludD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVt
IGNsYXNzIEdQVVByZWRlZmluZWRDb2xvclNwYWNlIDogdWludDhfdCB7CisgICAgU1JHQgorfTsK
KworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUHJlZGVm
aW5lZENvbG9yU3BhY2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUHJl
ZGVmaW5lZENvbG9yU3BhY2UuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1NmFmNDcxNzI1MjJhYTk2MzI3NmI1
MDgyZTk3NWI1MmFkOTUyMGUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVQcmVkZWZpbmVkQ29sb3JTcGFjZS5pZGwKQEAgLTAsMCArMSwzMSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVQorXQorZW51bSBHUFVQ
cmVkZWZpbmVkQ29sb3JTcGFjZSB7CisgICAgInNyZ2IiCit9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIuaWRsIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIu
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2YTQ1NmY0ZGFlYjk2YTk1MDIwZDJiN2M5YjZjMDQ5Yzc1MTYxZDMK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVQcm9n
cmFtbWFibGVQYXNzRW5jb2Rlci5pZGwKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8v
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDggVGhlc2Ugc2hv
dWxkbid0IG5lZWQgdG8gYmUgaGVyZS4KK3R5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQg
bG9uZyBHUFVTaXplMzI7Cit0eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmcgbG9u
ZyBHUFVTaXplNjQ7Cit0eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmcgR1BVSW5k
ZXgzMjsKK3R5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBHUFVCdWZmZXJEeW5h
bWljT2Zmc2V0OworCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUKK10KK2ludGVyZmFj
ZSBtaXhpbiBHUFVQcm9ncmFtbWFibGVQYXNzRW5jb2RlciB7CisgICAgdW5kZWZpbmVkIHNldEJp
bmRHcm91cChHUFVJbmRleDMyIGluZGV4LCBHUFVCaW5kR3JvdXAgYmluZEdyb3VwLAorICAgICAg
ICAgICAgICAgICAgICAgIG9wdGlvbmFsIHNlcXVlbmNlPEdQVUJ1ZmZlckR5bmFtaWNPZmZzZXQ+
IGR5bmFtaWNPZmZzZXRzID0gW10pOworCisgICAgdW5kZWZpbmVkIHNldEJpbmRHcm91cChHUFVJ
bmRleDMyIGluZGV4LCBHUFVCaW5kR3JvdXAgYmluZEdyb3VwLAorICAgICAgICAgICAgICAgICAg
ICAgIFVpbnQzMkFycmF5IGR5bmFtaWNPZmZzZXRzRGF0YSwKKyAgICAgICAgICAgICAgICAgICAg
ICBHUFVTaXplNjQgZHluYW1pY09mZnNldHNEYXRhU3RhcnQsCisgICAgICAgICAgICAgICAgICAg
ICAgR1BVU2l6ZTMyIGR5bmFtaWNPZmZzZXRzRGF0YUxlbmd0aCk7CisKKyAgICB1bmRlZmluZWQg
cHVzaERlYnVnR3JvdXAoVVNWU3RyaW5nIGdyb3VwTGFiZWwpOworICAgIHVuZGVmaW5lZCBwb3BE
ZWJ1Z0dyb3VwKCk7CisgICAgdW5kZWZpbmVkIGluc2VydERlYnVnTWFya2VyKFVTVlN0cmluZyBt
YXJrZXJMYWJlbCk7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVUXVlcnlTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVl
cnlTZXQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJlY2U5MTViOGRjMTI3NDExZGZkYmE0MmI3NTY1ZmVlYzk1
MWE1MzkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVRdWVyeVNldC5jcHAKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiR1BVUXVlcnlTZXQuaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCit2b2lkIEdQVVF1ZXJ5U2V0OjpkZXN0cm95KCkKK3sKK30KKwor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlTZXQu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5U2V0LmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjdhNjI5NjNkYzg5NWQ2ZTI0NGQ0Y2IxNGM0OWFhY2JmMWQzNWJjYgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5U2V0LmgKQEAgLTAs
MCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL1Jl
Zi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RG
U3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgR1BVUXVlcnlTZXQgOiBw
dWJsaWMgUmVmQ291bnRlZDxHUFVRdWVyeVNldD4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8
R1BVUXVlcnlTZXQ+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBHUFVRdWVyeVNldCgpKTsKKyAgICB9CisKKyAgICB2b2lkIGRlc3Ryb3koKTsKKworICAgIGNv
bnN0IFN0cmluZyYgbGFiZWwoKSBjb25zdCB7IHJldHVybiBtX2xhYmVsOyB9CisgICAgdm9pZCBz
ZXRMYWJlbChTdHJpbmcmJiBsYWJlbCkgeyBtX2xhYmVsID0gV1RGTW92ZShsYWJlbCk7IH0KKwor
cHJpdmF0ZToKKyAgICBHUFVRdWVyeVNldCgpCisgICAgeworICAgIH0KKworICAgIFN0cmluZyBt
X2xhYmVsOworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVUXVlcnlTZXQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVl
cnlTZXQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODY5YjBkOGY1OWM3NWQwNmU4YmUzN2ZlMGRlNmYzNzFi
YjJmNmYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVRdWVyeVNldC5pZGwKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBFbmFi
bGVkQnlTZXR0aW5nPVdlYkdQVSwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAg
IEV4cG9zZWQ9KFdpbmRvdyksIC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzI1NDI6IERlZGljYXRlZFdvcmtlciAqLworICAgIFNlY3VyZUNvbnRleHQKK10KK2lu
dGVyZmFjZSBHUFVRdWVyeVNldCB7CisgICAgdW5kZWZpbmVkIGRlc3Ryb3koKTsKK307CitHUFVR
dWVyeVNldCBpbmNsdWRlcyBHUFVPYmplY3RCYXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlTZXREZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVNldERlc2NyaXB0b3IuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMDEz
MWFkNTk3YzcwN2Y0NDkwNGVmZWU2NGI5MzU1NGQ5ZDY5ZmE3Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlTZXREZXNjcmlwdG9yLmgKQEAg
LTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiR1BV
SW50ZWdyYWxUeXBlcy5oIgorI2luY2x1ZGUgIkdQVU9iamVjdERlc2NyaXB0b3JCYXNlLmgiCisj
aW5jbHVkZSAiR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmgiCisjaW5jbHVkZSAiR1BVUXVlcnlU
eXBlLmgiCisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgR1BVUXVlcnlTZXREZXNjcmlwdG9yIDog
cHVibGljIEdQVU9iamVjdERlc2NyaXB0b3JCYXNlIHsKKyAgICBHUFVRdWVyeVR5cGUgdHlwZTsK
KyAgICBHUFVTaXplMzIgY291bnQ7CisgICAgVmVjdG9yPEdQVVBpcGVsaW5lU3RhdGlzdGljTmFt
ZT4gcGlwZWxpbmVTdGF0aXN0aWNzOworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlTZXREZXNjcmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5U2V0RGVzY3JpcHRvci5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzNhMzc2ZjI0NWI4NzUxNDIwY2JmNWE4NWM1Y2FiOWIwZTdmMjI5MAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5U2V0RGVzY3JpcHRvci5p
ZGwKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDggVGhpcyBzaG91bGRuJ3QgbmVlZCB0byBiZSBoZXJl
LgordHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVVNpemUzMjsKKworWwor
ICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVCitdCitkaWN0aW9uYXJ5IEdQVVF1ZXJ5U2V0RGVz
Y3JpcHRvciA6IEdQVU9iamVjdERlc2NyaXB0b3JCYXNlIHsKKyAgICByZXF1aXJlZCBHUFVRdWVy
eVR5cGUgdHlwZTsKKyAgICByZXF1aXJlZCBHUFVTaXplMzIgY291bnQ7CisgICAgc2VxdWVuY2U8
R1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lPiBwaXBlbGluZVN0YXRpc3RpY3MgPSBbXTsKK307CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVR5cGUuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5VHlwZS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU5MmM1YzJkOThjZDZhODRlMjczNGU2NmQ4MTdjMTg0NGFhZjQ1NjIKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVR5cGUuaApAQCAtMCww
ICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDxjc3RkaW50
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgR1BVUXVlcnlUeXBlIDogdWlu
dDhfdCB7CisgICAgT2NjbHVzaW9uLAorICAgIFBpcGVsaW5lU3RhdGlzdGljcywKKyAgICBUaW1l
c3RhbXAKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVVF1ZXJ5VHlwZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVy
eVR5cGUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdjMmZhNTJiOGY0ZGM2ZDdhYmE5ZDI3ZTY4Y2ExNTllZTVj
NDUwYzMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVRdWVyeVR5cGUuaWRsCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgRW5h
YmxlZEJ5U2V0dGluZz1XZWJHUFUKK10KK2VudW0gR1BVUXVlcnlUeXBlIHsKKyAgICAib2NjbHVz
aW9uIiwKKyAgICAicGlwZWxpbmUtc3RhdGlzdGljcyIsCisgICAgInRpbWVzdGFtcCIKK307CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWV1ZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWV1ZS5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmUx
YTVlYmM3YTczOWEwYjJkNjE4N2I3ZWI5Njg3MTg5ZjhiNDhjYgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXVlLmNwcApAQCAtMCwwICsxLDc3
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJHUFVRdWV1ZS5oIgorCisjaW5jbHVkZSAiR1BVQnVmZmVyLmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKwordm9pZCBHUFVRdWV1ZTo6c3VibWl0KFZlY3RvcjxSZWZQdHI8R1BVQ29t
bWFuZEJ1ZmZlcj4+KQoreworfQorCit2b2lkIEdQVVF1ZXVlOjpvblN1Ym1pdHRlZFdvcmtEb25l
KFJlZjxEZWZlcnJlZFByb21pc2U+JiYpCit7Cit9CisKK3ZvaWQgR1BVUXVldWU6OndyaXRlQnVm
ZmVyKAorICAgIGNvbnN0IEdQVUJ1ZmZlciYsCisgICAgR1BVU2l6ZTY0IGJ1ZmZlck9mZnNldCwK
KyAgICBCdWZmZXJTb3VyY2UmJiBkYXRhLAorICAgIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBk
YXRhT2Zmc2V0LAorICAgIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBzaXplKQoreworICAgIFVO
VVNFRF9QQVJBTShidWZmZXJPZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTShkYXRhKTsKKyAgICBV
TlVTRURfUEFSQU0oZGF0YU9mZnNldCk7CisgICAgVU5VU0VEX1BBUkFNKHNpemUpOworfQorCit2
b2lkIEdQVVF1ZXVlOjp3cml0ZVRleHR1cmUoCisgICAgR1BVSW1hZ2VDb3B5VGV4dHVyZSBkZXN0
aW5hdGlvbiwKKyAgICBCdWZmZXJTb3VyY2UmJiBkYXRhLAorICAgIEdQVUltYWdlRGF0YUxheW91
dCwKKyAgICBHUFVFeHRlbnQzRCBzaXplKQoreworICAgIFVOVVNFRF9QQVJBTShkZXN0aW5hdGlv
bik7CisgICAgVU5VU0VEX1BBUkFNKGRhdGEpOworICAgIFVOVVNFRF9QQVJBTShzaXplKTsKK30K
Kwordm9pZCBHUFVRdWV1ZTo6Y29weUV4dGVybmFsSW1hZ2VUb1RleHR1cmUoCisgICAgR1BVSW1h
Z2VDb3B5RXh0ZXJuYWxJbWFnZSBzb3VyY2UsCisgICAgR1BVSW1hZ2VDb3B5VGV4dHVyZVRhZ2dl
ZCBkZXN0aW5hdGlvbiwKKyAgICBHUFVFeHRlbnQzRCBjb3B5U2l6ZSkKK3sKKyAgICBVTlVTRURf
UEFSQU0oc291cmNlKTsKKyAgICBVTlVTRURfUEFSQU0oZGVzdGluYXRpb24pOworICAgIFVOVVNF
RF9QQVJBTShjb3B5U2l6ZSk7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVVF1ZXVlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVRdWV1ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ3YTM2MDA5MmUyODg2Zjg0ZTljNjUzNTQyZTc4NjQwNDIz
YThmMDIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVRdWV1ZS5oCkBAIC0wLDAgKzEsODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
I2luY2x1ZGUgIkJ1ZmZlclNvdXJjZS5oIgorI2luY2x1ZGUgIkdQVUNvbW1hbmRCdWZmZXIuaCIK
KyNpbmNsdWRlICJHUFVFeHRlbnQzRERpY3QuaCIKKyNpbmNsdWRlICJHUFVJbWFnZUNvcHlFeHRl
cm5hbEltYWdlLmgiCisjaW5jbHVkZSAiR1BVSW1hZ2VDb3B5VGV4dHVyZS5oIgorI2luY2x1ZGUg
IkdQVUltYWdlQ29weVRleHR1cmVUYWdnZWQuaCIKKyNpbmNsdWRlICJHUFVJbWFnZURhdGFMYXlv
dXQuaCIKKyNpbmNsdWRlICJHUFVJbnRlZ3JhbFR5cGVzLmgiCisjaW5jbHVkZSAiSlNET01Qcm9t
aXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlIDxvcHRpb25hbD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+
CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+Cisj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEdQVUJ1ZmZlcjsKKworY2xhc3MgR1BVUXVl
dWUgOiBwdWJsaWMgUmVmQ291bnRlZDxHUFVRdWV1ZT4geworcHVibGljOgorICAgIHN0YXRpYyBS
ZWY8R1BVUXVldWU+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBHUFVRdWV1ZSgpKTsKKyAgICB9CisKKyAgICB2b2lkIHN1Ym1pdChWZWN0b3I8UmVmUHRyPEdQ
VUNvbW1hbmRCdWZmZXI+Pik7CisKKyAgICB2b2lkIG9uU3VibWl0dGVkV29ya0RvbmUoUmVmPERl
ZmVycmVkUHJvbWlzZT4mJik7CisKKyAgICB2b2lkIHdyaXRlQnVmZmVyKAorICAgICAgICBjb25z
dCBHUFVCdWZmZXImLAorICAgICAgICBHUFVTaXplNjQgYnVmZmVyT2Zmc2V0LAorICAgICAgICBC
dWZmZXJTb3VyY2UmJiBkYXRhLAorICAgICAgICBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gZGF0
YU9mZnNldCwKKyAgICAgICAgc3RkOjpvcHRpb25hbDxHUFVTaXplNjQ+KTsKKworICAgIHZvaWQg
d3JpdGVUZXh0dXJlKAorICAgICAgICBHUFVJbWFnZUNvcHlUZXh0dXJlIGRlc3RpbmF0aW9uLAor
ICAgICAgICBCdWZmZXJTb3VyY2UmJiBkYXRhLAorICAgICAgICBHUFVJbWFnZURhdGFMYXlvdXQs
CisgICAgICAgIEdQVUV4dGVudDNEIHNpemUpOworCisgICAgdm9pZCBjb3B5RXh0ZXJuYWxJbWFn
ZVRvVGV4dHVyZSgKKyAgICAgICAgR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZSBzb3VyY2UsCisg
ICAgICAgIEdQVUltYWdlQ29weVRleHR1cmVUYWdnZWQgZGVzdGluYXRpb24sCisgICAgICAgIEdQ
VUV4dGVudDNEIGNvcHlTaXplKTsKKworICAgIGNvbnN0IFN0cmluZyYgbGFiZWwoKSBjb25zdCB7
IHJldHVybiBtX2xhYmVsOyB9CisgICAgdm9pZCBzZXRMYWJlbChTdHJpbmcmJiBsYWJlbCkgeyBt
X2xhYmVsID0gV1RGTW92ZShsYWJlbCk7IH0KKworcHJpdmF0ZToKKyAgICBHUFVRdWV1ZSgpCisg
ICAgeworICAgIH0KKworICAgIFN0cmluZyBtX2xhYmVsOworfTsKKworfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVldWUuaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVldWUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM0ZDlmZjJiN2YyOTYw
NzhhMTU0ZGFlNDRkZDlhYjhiODQ1Y2MwMDYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWV1ZS5pZGwKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKy8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDgg
VGhlc2Ugc2hvdWxkbid0IG5lZWQgdG8gYmUgaGVyZS4KK3R5cGVkZWYgW0VuZm9yY2VSYW5nZV0g
dW5zaWduZWQgbG9uZyBsb25nIEdQVVNpemU2NDsKK3R5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5z
aWduZWQgbG9uZyBHUFVJbmRleDMyOwordHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBs
b25nIEdQVUludGVnZXJDb29yZGluYXRlOwordHlwZWRlZiAoc2VxdWVuY2U8R1BVSW50ZWdlckNv
b3JkaW5hdGU+IG9yIEdQVUV4dGVudDNERGljdCkgR1BVRXh0ZW50M0Q7CisKK1sKKyAgICBFbmFi
bGVkQnlTZXR0aW5nPVdlYkdQVSwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAg
IEV4cG9zZWQ9KFdpbmRvdyksIC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzI1NDI6IERlZGljYXRlZFdvcmtlciAqLworICAgIFNlY3VyZUNvbnRleHQKK10KK2lu
dGVyZmFjZSBHUFVRdWV1ZSB7CisgICAgdW5kZWZpbmVkIHN1Ym1pdChzZXF1ZW5jZTxHUFVDb21t
YW5kQnVmZmVyPiBjb21tYW5kQnVmZmVycyk7CisKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gb25T
dWJtaXR0ZWRXb3JrRG9uZSgpOworCisgICAgdW5kZWZpbmVkIHdyaXRlQnVmZmVyKAorICAgICAg
ICBHUFVCdWZmZXIgYnVmZmVyLAorICAgICAgICBHUFVTaXplNjQgYnVmZmVyT2Zmc2V0LAorICAg
ICAgICBbQWxsb3dTaGFyZWRdIEJ1ZmZlclNvdXJjZSBkYXRhLAorICAgICAgICBvcHRpb25hbCBH
UFVTaXplNjQgZGF0YU9mZnNldCA9IDAsCisgICAgICAgIG9wdGlvbmFsIEdQVVNpemU2NCBzaXpl
KTsKKworICAgIHVuZGVmaW5lZCB3cml0ZVRleHR1cmUoCisgICAgICBHUFVJbWFnZUNvcHlUZXh0
dXJlIGRlc3RpbmF0aW9uLAorICAgICAgW0FsbG93U2hhcmVkXSBCdWZmZXJTb3VyY2UgZGF0YSwK
KyAgICAgIEdQVUltYWdlRGF0YUxheW91dCBkYXRhTGF5b3V0LAorICAgICAgR1BVRXh0ZW50M0Qg
c2l6ZSk7CisKKyAgICB1bmRlZmluZWQgY29weUV4dGVybmFsSW1hZ2VUb1RleHR1cmUoCisgICAg
ICAgIEdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2Ugc291cmNlLAorICAgICAgICBHUFVJbWFnZUNv
cHlUZXh0dXJlVGFnZ2VkIGRlc3RpbmF0aW9uLAorICAgICAgICBHUFVFeHRlbnQzRCBjb3B5U2l6
ZSk7Cit9OworR1BVUXVldWUgaW5jbHVkZXMgR1BVT2JqZWN0QmFzZTsKKwordHlwZWRlZiBbRW5m
b3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVUJ1ZmZlckR5bmFtaWNPZmZzZXQ7Cit0eXBlZGVm
IFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmcgR1BVU3RlbmNpbFZhbHVlOwordHlwZWRlZiBb
RW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVVNhbXBsZU1hc2s7Cit0eXBlZGVmIFtFbmZv
cmNlUmFuZ2VdIGxvbmcgR1BVRGVwdGhCaWFzOworCit0eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIHVu
c2lnbmVkIGxvbmcgbG9uZyBHUFVTaXplNjQ7Cit0eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIHVuc2ln
bmVkIGxvbmcgR1BVSW50ZWdlckNvb3JkaW5hdGU7Cit0eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIHVu
c2lnbmVkIGxvbmcgR1BVSW5kZXgzMjsKK3R5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQg
bG9uZyBHUFVTaXplMzI7Cit0eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIGxvbmcgR1BVU2lnbmVkT2Zm
c2V0MzI7CisKK3R5cGVkZWYgdW5zaWduZWQgbG9uZyBHUFVGbGFnc0NvbnN0YW50OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGUuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hM2Y3YjUyNTI4ZGQyMTYyMjk2OTIzMzFlNjBlZTUwY2E4ODU4MzU2Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlLmgKQEAg
LTAsMCArMSw1MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3Rm
L1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgR1BVUmVuZGVyQnVu
ZGxlIDogcHVibGljIFJlZkNvdW50ZWQ8R1BVUmVuZGVyQnVuZGxlPiB7CitwdWJsaWM6CisgICAg
c3RhdGljIFJlZjxHUFVSZW5kZXJCdW5kbGU+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBHUFVSZW5kZXJCdW5kbGUoKSk7CisgICAgfQorCisgICAgY29uc3Qg
U3RyaW5nJiBsYWJlbCgpIGNvbnN0IHsgcmV0dXJuIG1fbGFiZWw7IH0KKyAgICB2b2lkIHNldExh
YmVsKFN0cmluZyYmIGxhYmVsKSB7IG1fbGFiZWwgPSBXVEZNb3ZlKGxhYmVsKTsgfQorCitwcml2
YXRlOgorICAgIEdQVVJlbmRlckJ1bmRsZSgpCisgICAgeworICAgIH0KKworICAgIFN0cmluZyBt
X2xhYmVsOworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVUmVuZGVyQnVuZGxlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VVJlbmRlckJ1bmRsZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTZlMGEzNGRiY2I0OWY0NWRiYjM0NDI2YjUx
NDRlZmI3OGRlOWJkMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVVJlbmRlckJ1bmRsZS5pZGwKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
K1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVSwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tz
VlRhYmxlLAorICAgIEV4cG9zZWQ9KFdpbmRvdyksIC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzI1NDI6IERlZGljYXRlZFdvcmtlciAqLworICAgIFNlY3VyZUNv
bnRleHQKK10KK2ludGVyZmFjZSBHUFVSZW5kZXJCdW5kbGUgeworfTsKK0dQVVJlbmRlckJ1bmRs
ZSBpbmNsdWRlcyBHUFVPYmplY3RCYXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlRGVzY3JpcHRvci5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBj
MWM5ZjdmNjEyYTE1NDgyOTdmNGI3YzE0YTgzOGQ1OGE2Yzc4OWEKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVEZXNjcmlwdG9y
LmgKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVk
ZSAiR1BVT2JqZWN0RGVzY3JpcHRvckJhc2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitz
dHJ1Y3QgR1BVUmVuZGVyQnVuZGxlRGVzY3JpcHRvciA6IHB1YmxpYyBHUFVPYmplY3REZXNjcmlw
dG9yQmFzZSB7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVSZW5kZXJCdW5kbGVEZXNjcmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZURlc2NyaXB0b3IuaWRsCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiYjhl
YWY0NjRjODk2YWNmMGVmY2M4ODMxZTJkN2I0ZmVhZjFlZjYKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVEZXNjcmlwdG9yLmlk
bApAQCAtMCwwICsxLDMwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9
V2ViR1BVCitdCitkaWN0aW9uYXJ5IEdQVVJlbmRlckJ1bmRsZURlc2NyaXB0b3IgOiBHUFVPYmpl
Y3REZXNjcmlwdG9yQmFzZSB7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlRW5jb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVFbmNvZGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNmY3YmM1
YjdlZjk1Mzk5NDZmOTUyZmVhMThhODdjZDMzOWZkMzExCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlRW5jb2Rlci5jcHAKQEAg
LTAsMCArMSwxMjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIkdQVVJlbmRlckJ1bmRsZUVuY29kZXIuaCIKKworI2luY2x1ZGUg
IkdQVUJ1ZmZlci5oIgorI2luY2x1ZGUgIkdQVVJlbmRlckJ1bmRsZS5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK3ZvaWQgR1BVUmVuZGVyQnVuZGxlRW5jb2Rlcjo6c2V0UGlwZWxpbmUoY29u
c3QgR1BVUmVuZGVyUGlwZWxpbmUmKQoreworfQorCit2b2lkIEdQVVJlbmRlckJ1bmRsZUVuY29k
ZXI6OnNldEluZGV4QnVmZmVyKGNvbnN0IEdQVUJ1ZmZlciYsIEdQVUluZGV4Rm9ybWF0LCBzdGQ6
Om9wdGlvbmFsPEdQVVNpemU2ND4gb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gc2l6
ZSkKK3sKKyAgICBVTlVTRURfUEFSQU0ob2Zmc2V0KTsKKyAgICBVTlVTRURfUEFSQU0oc2l6ZSk7
Cit9CisKK3ZvaWQgR1BVUmVuZGVyQnVuZGxlRW5jb2Rlcjo6c2V0VmVydGV4QnVmZmVyKEdQVUlu
ZGV4MzIgc2xvdCwgY29uc3QgR1BVQnVmZmVyJiwgc3RkOjpvcHRpb25hbDxHUFVTaXplNjQ+IG9m
ZnNldCwgc3RkOjpvcHRpb25hbDxHUFVTaXplNjQ+IHNpemUpCit7CisgICAgVU5VU0VEX1BBUkFN
KHNsb3QpOworICAgIFVOVVNFRF9QQVJBTShvZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTShzaXpl
KTsKK30KKwordm9pZCBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyOjpkcmF3KEdQVVNpemUzMiB2ZXJ0
ZXhDb3VudCwgc3RkOjpvcHRpb25hbDxHUFVTaXplMzI+IGluc3RhbmNlQ291bnQsCisgICAgc3Rk
OjpvcHRpb25hbDxHUFVTaXplMzI+IGZpcnN0VmVydGV4LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemUz
Mj4gZmlyc3RJbnN0YW5jZSkKK3sKKyAgICBVTlVTRURfUEFSQU0odmVydGV4Q291bnQpOworICAg
IFVOVVNFRF9QQVJBTShpbnN0YW5jZUNvdW50KTsKKyAgICBVTlVTRURfUEFSQU0oZmlyc3RWZXJ0
ZXgpOworICAgIFVOVVNFRF9QQVJBTShmaXJzdEluc3RhbmNlKTsKK30KKwordm9pZCBHUFVSZW5k
ZXJCdW5kbGVFbmNvZGVyOjpkcmF3SW5kZXhlZChHUFVTaXplMzIgaW5kZXhDb3VudCwgc3RkOjpv
cHRpb25hbDxHUFVTaXplMzI+IGluc3RhbmNlQ291bnQsCisgICAgc3RkOjpvcHRpb25hbDxHUFVT
aXplMzI+IGZpcnN0SW5kZXgsCisgICAgc3RkOjpvcHRpb25hbDxHUFVTaWduZWRPZmZzZXQzMj4g
YmFzZVZlcnRleCwKKyAgICBzdGQ6Om9wdGlvbmFsPEdQVVNpemUzMj4gZmlyc3RJbnN0YW5jZSkK
K3sKKyAgICBVTlVTRURfUEFSQU0oaW5kZXhDb3VudCk7CisgICAgVU5VU0VEX1BBUkFNKGluc3Rh
bmNlQ291bnQpOworICAgIFVOVVNFRF9QQVJBTShmaXJzdEluZGV4KTsKKyAgICBVTlVTRURfUEFS
QU0oYmFzZVZlcnRleCk7CisgICAgVU5VU0VEX1BBUkFNKGZpcnN0SW5zdGFuY2UpOworfQorCit2
b2lkIEdQVVJlbmRlckJ1bmRsZUVuY29kZXI6OmRyYXdJbmRpcmVjdChjb25zdCBHUFVCdWZmZXIm
IGluZGlyZWN0QnVmZmVyLCBHUFVTaXplNjQgaW5kaXJlY3RPZmZzZXQpCit7CisgICAgVU5VU0VE
X1BBUkFNKGluZGlyZWN0QnVmZmVyKTsKKyAgICBVTlVTRURfUEFSQU0oaW5kaXJlY3RPZmZzZXQp
OworfQorCit2b2lkIEdQVVJlbmRlckJ1bmRsZUVuY29kZXI6OmRyYXdJbmRleGVkSW5kaXJlY3Qo
Y29uc3QgR1BVQnVmZmVyJiBpbmRpcmVjdEJ1ZmZlciwgR1BVU2l6ZTY0IGluZGlyZWN0T2Zmc2V0
KQoreworICAgIFVOVVNFRF9QQVJBTShpbmRpcmVjdEJ1ZmZlcik7CisgICAgVU5VU0VEX1BBUkFN
KGluZGlyZWN0T2Zmc2V0KTsKK30KKwordm9pZCBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyOjpzZXRC
aW5kR3JvdXAoR1BVSW5kZXgzMiwgY29uc3QgR1BVQmluZEdyb3VwJiwKKyAgICBzdGQ6Om9wdGlv
bmFsPFZlY3RvcjxHUFVCdWZmZXJEeW5hbWljT2Zmc2V0Pj4mJiBkeW5hbWljT2Zmc2V0cykKK3sK
KyAgICBVTlVTRURfUEFSQU0oZHluYW1pY09mZnNldHMpOworfQorCit2b2lkIEdQVVJlbmRlckJ1
bmRsZUVuY29kZXI6OnNldEJpbmRHcm91cChHUFVJbmRleDMyLCBjb25zdCBHUFVCaW5kR3JvdXAm
LAorICAgIGNvbnN0IFVpbnQzMkFycmF5JiBkeW5hbWljT2Zmc2V0c0RhdGEsCisgICAgR1BVU2l6
ZTY0IGR5bmFtaWNPZmZzZXRzRGF0YVN0YXJ0LAorICAgIEdQVVNpemUzMiBkeW5hbWljT2Zmc2V0
c0RhdGFMZW5ndGgpCit7CisgICAgVU5VU0VEX1BBUkFNKGR5bmFtaWNPZmZzZXRzRGF0YSk7Cisg
ICAgVU5VU0VEX1BBUkFNKGR5bmFtaWNPZmZzZXRzRGF0YVN0YXJ0KTsKKyAgICBVTlVTRURfUEFS
QU0oZHluYW1pY09mZnNldHNEYXRhTGVuZ3RoKTsKK30KKwordm9pZCBHUFVSZW5kZXJCdW5kbGVF
bmNvZGVyOjpwdXNoRGVidWdHcm91cChTdHJpbmcmJiBncm91cExhYmVsKQoreworICAgIFVOVVNF
RF9QQVJBTShncm91cExhYmVsKTsKK30KKwordm9pZCBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyOjpw
b3BEZWJ1Z0dyb3VwKCkKK3sKK30KKwordm9pZCBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyOjppbnNl
cnREZWJ1Z01hcmtlcihTdHJpbmcmJiBtYXJrZXJMYWJlbCkKK3sKKyAgICBVTlVTRURfUEFSQU0o
bWFya2VyTGFiZWwpOworfQorCitSZWY8R1BVUmVuZGVyQnVuZGxlPiBHUFVSZW5kZXJCdW5kbGVF
bmNvZGVyOjpmaW5pc2goc3RkOjpvcHRpb25hbDxHUFVSZW5kZXJCdW5kbGVEZXNjcmlwdG9yPikK
K3sKKyAgICByZXR1cm4gR1BVUmVuZGVyQnVuZGxlOjpjcmVhdGUoKTsKK30KKworCit9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVFbmNv
ZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVFbmNv
ZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjQzYTBiYTg0YzUwOWU2ZDRhMDVhY2EzYzMzNjk2OWIyNzU1MGFk
MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJl
bmRlckJ1bmRsZUVuY29kZXIuaApAQCAtMCwwICsxLDkxIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlICJHUFVJbnRlZ3JhbFR5cGVzLmgiCisjaW5jbHVkZSAiR1BVUmVu
ZGVyQnVuZGxlRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1VpbnQzMkFy
cmF5Lmg+CisjaW5jbHVkZSA8b3B0aW9uYWw+CisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEdQ
VUJpbmRHcm91cDsKK2NsYXNzIEdQVUJ1ZmZlcjsKK2NsYXNzIEdQVVJlbmRlckJ1bmRsZTsKK2Ns
YXNzIEdQVVJlbmRlclBpcGVsaW5lOworCitjbGFzcyBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyIDog
cHVibGljIFJlZkNvdW50ZWQ8R1BVUmVuZGVyQnVuZGxlRW5jb2Rlcj4geworcHVibGljOgorICAg
IHN0YXRpYyBSZWY8R1BVUmVuZGVyQnVuZGxlRW5jb2Rlcj4gY3JlYXRlKCkKKyAgICB7CisgICAg
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEdQVVJlbmRlckJ1bmRsZUVuY29kZXIoKSk7CisgICAg
fQorCisgICAgdm9pZCBzZXRQaXBlbGluZShjb25zdCBHUFVSZW5kZXJQaXBlbGluZSYpOworCisg
ICAgdm9pZCBzZXRJbmRleEJ1ZmZlcihjb25zdCBHUFVCdWZmZXImLCBHUFVJbmRleEZvcm1hdCwg
c3RkOjpvcHRpb25hbDxHUFVTaXplNjQ+IG9mZnNldCwgc3RkOjpvcHRpb25hbDxHUFVTaXplNjQ+
KTsKKyAgICB2b2lkIHNldFZlcnRleEJ1ZmZlcihHUFVJbmRleDMyIHNsb3QsIGNvbnN0IEdQVUJ1
ZmZlciYsIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8R1BV
U2l6ZTY0Pik7CisKKyAgICB2b2lkIGRyYXcoR1BVU2l6ZTMyIHZlcnRleENvdW50LCBzdGQ6Om9w
dGlvbmFsPEdQVVNpemUzMj4gaW5zdGFuY2VDb3VudCwKKyAgICAgICAgc3RkOjpvcHRpb25hbDxH
UFVTaXplMzI+IGZpcnN0VmVydGV4LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemUzMj4gZmlyc3RJbnN0
YW5jZSk7CisgICAgdm9pZCBkcmF3SW5kZXhlZChHUFVTaXplMzIgaW5kZXhDb3VudCwgc3RkOjpv
cHRpb25hbDxHUFVTaXplMzI+IGluc3RhbmNlQ291bnQsCisgICAgICAgIHN0ZDo6b3B0aW9uYWw8
R1BVU2l6ZTMyPiBmaXJzdEluZGV4LAorICAgICAgICBzdGQ6Om9wdGlvbmFsPEdQVVNpZ25lZE9m
ZnNldDMyPiBiYXNlVmVydGV4LAorICAgICAgICBzdGQ6Om9wdGlvbmFsPEdQVVNpemUzMj4gZmly
c3RJbnN0YW5jZSk7CisKKyAgICB2b2lkIGRyYXdJbmRpcmVjdChjb25zdCBHUFVCdWZmZXImIGlu
ZGlyZWN0QnVmZmVyLCBHUFVTaXplNjQgaW5kaXJlY3RPZmZzZXQpOworICAgIHZvaWQgZHJhd0lu
ZGV4ZWRJbmRpcmVjdChjb25zdCBHUFVCdWZmZXImIGluZGlyZWN0QnVmZmVyLCBHUFVTaXplNjQg
aW5kaXJlY3RPZmZzZXQpOworCisgICAgdm9pZCBzZXRCaW5kR3JvdXAoR1BVSW5kZXgzMiwgY29u
c3QgR1BVQmluZEdyb3VwJiwKKyAgICAgICAgc3RkOjpvcHRpb25hbDxWZWN0b3I8R1BVQnVmZmVy
RHluYW1pY09mZnNldD4+JiYgZHluYW1pY09mZnNldHMpOworCisgICAgdm9pZCBzZXRCaW5kR3Jv
dXAoR1BVSW5kZXgzMiwgY29uc3QgR1BVQmluZEdyb3VwJiwKKyAgICAgICAgY29uc3QgVWludDMy
QXJyYXkmIGR5bmFtaWNPZmZzZXRzRGF0YSwKKyAgICAgICAgR1BVU2l6ZTY0IGR5bmFtaWNPZmZz
ZXRzRGF0YVN0YXJ0LAorICAgICAgICBHUFVTaXplMzIgZHluYW1pY09mZnNldHNEYXRhTGVuZ3Ro
KTsKKworICAgIHZvaWQgcHVzaERlYnVnR3JvdXAoU3RyaW5nJiYgZ3JvdXBMYWJlbCk7CisgICAg
dm9pZCBwb3BEZWJ1Z0dyb3VwKCk7CisgICAgdm9pZCBpbnNlcnREZWJ1Z01hcmtlcihTdHJpbmcm
JiBtYXJrZXJMYWJlbCk7CisKKyAgICBSZWY8R1BVUmVuZGVyQnVuZGxlPiBmaW5pc2goc3RkOjpv
cHRpb25hbDxHUFVSZW5kZXJCdW5kbGVEZXNjcmlwdG9yPik7CisKKyAgICBjb25zdCBTdHJpbmcm
IGxhYmVsKCkgY29uc3QgeyByZXR1cm4gbV9sYWJlbDsgfQorICAgIHZvaWQgc2V0TGFiZWwoU3Ry
aW5nJiYgbGFiZWwpIHsgbV9sYWJlbCA9IFdURk1vdmUobGFiZWwpOyB9CisKK3ByaXZhdGU6Cisg
ICAgR1BVUmVuZGVyQnVuZGxlRW5jb2RlcigpCisgICAgeworICAgIH0KKworICAgIFN0cmluZyBt
X2xhYmVsOworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVUmVuZGVyQnVuZGxlRW5jb2Rlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVSZW5kZXJCdW5kbGVFbmNvZGVyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hOGYyODlkZjE4NDIx
YTY0YjA4YmNjMDE4YjIxNDRhZmI0YzIzM2U4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlRW5jb2Rlci5pZGwKQEAgLTAsMCAr
MSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVSwKKyAg
ICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAgIEV4cG9zZWQ9KFdpbmRvdyksIC8qIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDI6IERlZGljYXRlZFdv
cmtlciAqLworICAgIFNlY3VyZUNvbnRleHQKK10KK2ludGVyZmFjZSBHUFVSZW5kZXJCdW5kbGVF
bmNvZGVyIHsKKyAgICBHUFVSZW5kZXJCdW5kbGUgZmluaXNoKG9wdGlvbmFsIEdQVVJlbmRlckJ1
bmRsZURlc2NyaXB0b3IgZGVzY3JpcHRvcik7Cit9OworR1BVUmVuZGVyQnVuZGxlRW5jb2RlciBp
bmNsdWRlcyBHUFVPYmplY3RCYXNlOworR1BVUmVuZGVyQnVuZGxlRW5jb2RlciBpbmNsdWRlcyBH
UFVQcm9ncmFtbWFibGVQYXNzRW5jb2RlcjsKK0dQVVJlbmRlckJ1bmRsZUVuY29kZXIgaW5jbHVk
ZXMgR1BVUmVuZGVyRW5jb2RlckJhc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVFbmNvZGVyRGVzY3JpcHRvci5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlRW5jb2RlckRlc2NyaXB0b3IuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kY2ZkYjAyOTM0NTYzMTY5ZWQ2OTkzYWM3Y2ViZTAwN2Q4NDlhZWQxCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVu
ZGxlRW5jb2RlckRlc2NyaXB0b3IuaApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpbmNsdWRlICJHUFVSZW5kZXJQYXNzTGF5b3V0LmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworc3RydWN0IEdQVVJlbmRlckJ1bmRsZUVuY29kZXJEZXNjcmlwdG9yIDog
cHVibGljIEdQVVJlbmRlclBhc3NMYXlvdXQgeworICAgIGJvb2wgZGVwdGhSZWFkT25seTsKKyAg
ICBib29sIHN0ZW5jaWxSZWFkT25seTsKK307CisKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlRW5jb2RlckRlc2NyaXB0b3IuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlRW5jb2RlckRl
c2NyaXB0b3IuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI2M2ZjMjdkNzc0YWIxNDVlZjI2NDIzMjczZDcxZjM5
NzM1ZmE2YzgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVSZW5kZXJCdW5kbGVFbmNvZGVyRGVzY3JpcHRvci5pZGwKQEAgLTAsMCArMSwzMiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVQorXQorZGljdGlvbmFy
eSBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyRGVzY3JpcHRvciA6IEdQVVJlbmRlclBhc3NMYXlvdXQg
eworICAgIGJvb2xlYW4gZGVwdGhSZWFkT25seSA9IGZhbHNlOworICAgIGJvb2xlYW4gc3RlbmNp
bFJlYWRPbmx5ID0gZmFsc2U7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVUmVuZGVyRW5jb2RlckJhc2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVUmVuZGVyRW5jb2RlckJhc2UuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjViN2M4OWUzNzZh
ZTI2MTgxOTBkNGMwYjBmOGYyNDg4ZWRmZDZlZmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJFbmNvZGVyQmFzZS5pZGwKQEAgLTAsMCAr
MSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzI1NDggVGhlc2Ugc2hvdWxkbid0IG5lZWQgdG8gYmUgaGVyZS4KK3R5cGVkZWYg
W0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBHUFVTaXplMzI7Cit0eXBlZGVmIFtFbmZvcmNl
UmFuZ2VdIHVuc2lnbmVkIGxvbmcgbG9uZyBHUFVTaXplNjQ7Cit0eXBlZGVmIFtFbmZvcmNlUmFu
Z2VdIHVuc2lnbmVkIGxvbmcgR1BVSW5kZXgzMjsKK3R5cGVkZWYgW0VuZm9yY2VSYW5nZV0gbG9u
ZyBHUFVTaWduZWRPZmZzZXQzMjsKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVCitd
CitpbnRlcmZhY2UgbWl4aW4gR1BVUmVuZGVyRW5jb2RlckJhc2UgeworICAgIHVuZGVmaW5lZCBz
ZXRQaXBlbGluZShHUFVSZW5kZXJQaXBlbGluZSBwaXBlbGluZSk7CisKKyAgICB1bmRlZmluZWQg
c2V0SW5kZXhCdWZmZXIoR1BVQnVmZmVyIGJ1ZmZlciwgR1BVSW5kZXhGb3JtYXQgaW5kZXhGb3Jt
YXQsIG9wdGlvbmFsIEdQVVNpemU2NCBvZmZzZXQgPSAwLCBvcHRpb25hbCBHUFVTaXplNjQgc2l6
ZSk7CisgICAgdW5kZWZpbmVkIHNldFZlcnRleEJ1ZmZlcihHUFVJbmRleDMyIHNsb3QsIEdQVUJ1
ZmZlciBidWZmZXIsIG9wdGlvbmFsIEdQVVNpemU2NCBvZmZzZXQgPSAwLCBvcHRpb25hbCBHUFVT
aXplNjQgc2l6ZSk7CisKKyAgICB1bmRlZmluZWQgZHJhdyhHUFVTaXplMzIgdmVydGV4Q291bnQs
IG9wdGlvbmFsIEdQVVNpemUzMiBpbnN0YW5jZUNvdW50ID0gMSwKKyAgICAgICAgICAgICAgb3B0
aW9uYWwgR1BVU2l6ZTMyIGZpcnN0VmVydGV4ID0gMCwgb3B0aW9uYWwgR1BVU2l6ZTMyIGZpcnN0
SW5zdGFuY2UgPSAwKTsKKyAgICB1bmRlZmluZWQgZHJhd0luZGV4ZWQoR1BVU2l6ZTMyIGluZGV4
Q291bnQsIG9wdGlvbmFsIEdQVVNpemUzMiBpbnN0YW5jZUNvdW50ID0gMSwKKyAgICAgICAgICAg
ICAgICAgICAgIG9wdGlvbmFsIEdQVVNpemUzMiBmaXJzdEluZGV4ID0gMCwKKyAgICAgICAgICAg
ICAgICAgICAgIG9wdGlvbmFsIEdQVVNpZ25lZE9mZnNldDMyIGJhc2VWZXJ0ZXggPSAwLAorICAg
ICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgR1BVU2l6ZTMyIGZpcnN0SW5zdGFuY2UgPSAwKTsK
KworICAgIHVuZGVmaW5lZCBkcmF3SW5kaXJlY3QoR1BVQnVmZmVyIGluZGlyZWN0QnVmZmVyLCBH
UFVTaXplNjQgaW5kaXJlY3RPZmZzZXQpOworICAgIHVuZGVmaW5lZCBkcmF3SW5kZXhlZEluZGly
ZWN0KEdQVUJ1ZmZlciBpbmRpcmVjdEJ1ZmZlciwgR1BVU2l6ZTY0IGluZGlyZWN0T2Zmc2V0KTsK
K307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQ
YXNzQ29sb3JBdHRhY2htZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVS
ZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTJiNTRhNzMzMDM0Y2JiYWNk
ZmM0NDYzMWNlMTc3MTMwOGM1N2NiZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaApAQCAtMCwwICsx
LDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJHUFVDb2xvckRp
Y3QuaCIKKyNpbmNsdWRlICJHUFVMb2FkT3AuaCIKKyNpbmNsdWRlICJHUFVTdG9yZU9wLmgiCisj
aW5jbHVkZSAiR1BVVGV4dHVyZVZpZXcuaCIKKyNpbmNsdWRlIDx2YXJpYW50PgorI2luY2x1ZGUg
PHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworc3RydWN0IEdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQgeworICAgIFJlZlB0
cjxHUFVUZXh0dXJlVmlldz4gdmlldzsKKyAgICBSZWZQdHI8R1BVVGV4dHVyZVZpZXc+IHJlc29s
dmVUYXJnZXQ7CisKKyAgICBzdGQ6OnZhcmlhbnQ8R1BVTG9hZE9wLCBWZWN0b3I8ZG91YmxlPiwg
R1BVQ29sb3JEaWN0PiBsb2FkVmFsdWU7CisgICAgR1BVU3RvcmVPcCBzdG9yZU9wOworfTsKKwor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFz
c0NvbG9yQXR0YWNobWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVS
ZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iOGVjYTFlM2ZhNmI0MThh
NmQ2NDQyYmI2MDlhNGUwOTUxZDY0MDg5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5pZGwKQEAgLTAs
MCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzI1NDggVGhpcyBzaG91bGRuJ3QgbmVlZCB0byBiZSBoZXJlLgordHlwZWRl
ZiAoc2VxdWVuY2U8ZG91YmxlPiBvciBHUFVDb2xvckRpY3QpIEdQVUNvbG9yOworCitbCisgICAg
RW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUKK10KK2RpY3Rpb25hcnkgR1BVUmVuZGVyUGFzc0NvbG9y
QXR0YWNobWVudCB7CisgICAgcmVxdWlyZWQgR1BVVGV4dHVyZVZpZXcgdmlldzsKKyAgICBHUFVU
ZXh0dXJlVmlldyByZXNvbHZlVGFyZ2V0OworCisgICAgcmVxdWlyZWQgKEdQVUxvYWRPcCBvciBH
UFVDb2xvcikgbG9hZFZhbHVlOworICAgIHJlcXVpcmVkIEdQVVN0b3JlT3Agc3RvcmVPcDsKK307
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNz
RGVwdGhTdGVuY2lsQXR0YWNobWVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NmQ4YjQy
ZWY3N2JlNmNiYTJiZjBlYmUxZmU0NWFjZGUzNmY3NmQ2Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFj
aG1lbnQuaApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
bmNsdWRlICJHUFVJbnRlZ3JhbFR5cGVzLmgiCisjaW5jbHVkZSAiR1BVTG9hZE9wLmgiCisjaW5j
bHVkZSAiR1BVU3RvcmVPcC5oIgorI2luY2x1ZGUgIkdQVVRleHR1cmVWaWV3LmgiCisjaW5jbHVk
ZSA8dmFyaWFudD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworc3RydWN0IEdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50IHsKKyAgICBS
ZWZQdHI8R1BVVGV4dHVyZVZpZXc+IHZpZXc7CisKKyAgICBzdGQ6OnZhcmlhbnQ8R1BVTG9hZE9w
LCBmbG9hdD4gZGVwdGhMb2FkVmFsdWU7CisgICAgR1BVU3RvcmVPcCBkZXB0aFN0b3JlT3A7Cisg
ICAgYm9vbCBkZXB0aFJlYWRPbmx5OworCisgICAgc3RkOjp2YXJpYW50PEdQVUxvYWRPcCwgR1BV
U3RlbmNpbFZhbHVlPiBzdGVuY2lsTG9hZFZhbHVlOworICAgIEdQVVN0b3JlT3Agc3RlbmNpbFN0
b3JlT3A7CisgICAgYm9vbCBzdGVuY2lsUmVhZE9ubHk7Cit9OworCit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0
YWNobWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNz
RGVwdGhTdGVuY2lsQXR0YWNobWVudC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmNjMGEzNjI2NTQ5NTY4MDVi
M2U5ZGUxYWI1NmUwOTE0YTMwNmYwZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmlkbApA
QCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzMjU0OCBUaGlzIHNob3VsZG4ndCBuZWVkIHRvIGJlIGhlcmUuCit0
eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmcgR1BVU3RlbmNpbFZhbHVlOworCitb
CisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUKK10KK2RpY3Rpb25hcnkgR1BVUmVuZGVyUGFz
c0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQgeworICAgIHJlcXVpcmVkIEdQVVRleHR1cmVWaWV3IHZp
ZXc7CisKKyAgICByZXF1aXJlZCAoR1BVTG9hZE9wIG9yIGZsb2F0KSBkZXB0aExvYWRWYWx1ZTsK
KyAgICByZXF1aXJlZCBHUFVTdG9yZU9wIGRlcHRoU3RvcmVPcDsKKyAgICBib29sZWFuIGRlcHRo
UmVhZE9ubHkgPSBmYWxzZTsKKworICAgIHJlcXVpcmVkIChHUFVMb2FkT3Agb3IgR1BVU3RlbmNp
bFZhbHVlKSBzdGVuY2lsTG9hZFZhbHVlOworICAgIHJlcXVpcmVkIEdQVVN0b3JlT3Agc3RlbmNp
bFN0b3JlT3A7CisgICAgYm9vbGVhbiBzdGVuY2lsUmVhZE9ubHkgPSBmYWxzZTsKK307CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVzY3Jp
cHRvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Rlc2Ny
aXB0b3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hZWVhYjhmM2Q1ZjEyYTEwNTIxOWVkZjAzZmVlOTYxNmQ4YTM0
MTFlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
UmVuZGVyUGFzc0Rlc2NyaXB0b3IuaApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpbmNsdWRlICJHUFVPYmplY3REZXNjcmlwdG9yQmFzZS5oIgorI2luY2x1
ZGUgIkdQVVF1ZXJ5U2V0LmgiCisjaW5jbHVkZSAiR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVu
dC5oIgorI2luY2x1ZGUgIkdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmgiCisj
aW5jbHVkZSAiR1BVUmVuZGVyUGFzc1RpbWVzdGFtcFdyaXRlLmgiCisjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitzdHJ1Y3QgR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IgOiBwdWJsaWMgR1BVT2JqZWN0RGVzY3Jp
cHRvckJhc2UgeworICAgIFZlY3RvcjxHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50PiBjb2xv
ckF0dGFjaG1lbnRzOworICAgIEdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50IGRl
cHRoU3RlbmNpbEF0dGFjaG1lbnQ7CisgICAgUmVmUHRyPEdQVVF1ZXJ5U2V0PiBvY2NsdXNpb25R
dWVyeVNldDsKKyAgICBHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGVzIHRpbWVzdGFtcFdyaXRl
czsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VVJlbmRlclBhc3NEZXNjcmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kODA1OGUzZTkxZDkxYzdh
YmEzYmU4NzUwNTExYzgwOGIzOTJmZWJkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaWRsCkBAIC0wLDAgKzEs
MzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMyNTQ4IFRoaXMgc2hvdWxkbid0IG5lZWQgdG8gYmUgaGVyZS4KK3R5cGVkZWYgc2Vx
dWVuY2U8R1BVUmVuZGVyUGFzc1RpbWVzdGFtcFdyaXRlPiBHUFVSZW5kZXJQYXNzVGltZXN0YW1w
V3JpdGVzOworCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUKK10KK2RpY3Rpb25hcnkg
R1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IgOiBHUFVPYmplY3REZXNjcmlwdG9yQmFzZSB7CisgICAg
cmVxdWlyZWQgc2VxdWVuY2U8R1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudD4gY29sb3JBdHRh
Y2htZW50czsKKyAgICBHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudCBkZXB0aFN0
ZW5jaWxBdHRhY2htZW50OworICAgIEdQVVF1ZXJ5U2V0IG9jY2x1c2lvblF1ZXJ5U2V0OworICAg
IEdQVVJlbmRlclBhc3NUaW1lc3RhbXBXcml0ZXMgdGltZXN0YW1wV3JpdGVzID0gW107Cit9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Vu
Y29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Vu
Y29kZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgwMTNmOWM1Mjk3ODFhMDMyYTYxNTMzNDZmMmFmYWQ1NGY2
ZmZlNTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVSZW5kZXJQYXNzRW5jb2Rlci5jcHAKQEAgLTAsMCArMSwxNzEgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkdQVVJlbmRlclBh
c3NFbmNvZGVyLmgiCisKKyNpbmNsdWRlICJHUFVCdWZmZXIuaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCit2b2lkIEdQVVJlbmRlclBhc3NFbmNvZGVyOjpzZXRQaXBlbGluZShjb25zdCBHUFVS
ZW5kZXJQaXBlbGluZSYpCit7Cit9CisKK3ZvaWQgR1BVUmVuZGVyUGFzc0VuY29kZXI6OnNldElu
ZGV4QnVmZmVyKGNvbnN0IEdQVUJ1ZmZlciYsIEdQVUluZGV4Rm9ybWF0LCBzdGQ6Om9wdGlvbmFs
PEdQVVNpemU2ND4gb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gc2l6ZSkKK3sKKyAg
ICBVTlVTRURfUEFSQU0ob2Zmc2V0KTsKKyAgICBVTlVTRURfUEFSQU0oc2l6ZSk7Cit9CisKK3Zv
aWQgR1BVUmVuZGVyUGFzc0VuY29kZXI6OnNldFZlcnRleEJ1ZmZlcihHUFVJbmRleDMyIHNsb3Qs
IGNvbnN0IEdQVUJ1ZmZlciYsIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBvZmZzZXQsIHN0ZDo6
b3B0aW9uYWw8R1BVU2l6ZTY0PiBzaXplKQoreworICAgIFVOVVNFRF9QQVJBTShzbG90KTsKKyAg
ICBVTlVTRURfUEFSQU0ob2Zmc2V0KTsKKyAgICBVTlVTRURfUEFSQU0oc2l6ZSk7Cit9CisKK3Zv
aWQgR1BVUmVuZGVyUGFzc0VuY29kZXI6OmRyYXcoR1BVU2l6ZTMyIHZlcnRleENvdW50LCBzdGQ6
Om9wdGlvbmFsPEdQVVNpemUzMj4gaW5zdGFuY2VDb3VudCwKKyAgICBzdGQ6Om9wdGlvbmFsPEdQ
VVNpemUzMj4gZmlyc3RWZXJ0ZXgsIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTMyPiBmaXJzdEluc3Rh
bmNlKQoreworICAgIFVOVVNFRF9QQVJBTSh2ZXJ0ZXhDb3VudCk7CisgICAgVU5VU0VEX1BBUkFN
KGluc3RhbmNlQ291bnQpOworICAgIFVOVVNFRF9QQVJBTShmaXJzdFZlcnRleCk7CisgICAgVU5V
U0VEX1BBUkFNKGZpcnN0SW5zdGFuY2UpOworfQorCit2b2lkIEdQVVJlbmRlclBhc3NFbmNvZGVy
OjpkcmF3SW5kZXhlZChHUFVTaXplMzIgaW5kZXhDb3VudCwgc3RkOjpvcHRpb25hbDxHUFVTaXpl
MzI+IGluc3RhbmNlQ291bnQsCisgICAgc3RkOjpvcHRpb25hbDxHUFVTaXplMzI+IGZpcnN0SW5k
ZXgsCisgICAgc3RkOjpvcHRpb25hbDxHUFVTaWduZWRPZmZzZXQzMj4gYmFzZVZlcnRleCwKKyAg
ICBzdGQ6Om9wdGlvbmFsPEdQVVNpemUzMj4gZmlyc3RJbnN0YW5jZSkKK3sKKyAgICBVTlVTRURf
UEFSQU0oaW5kZXhDb3VudCk7CisgICAgVU5VU0VEX1BBUkFNKGluc3RhbmNlQ291bnQpOworICAg
IFVOVVNFRF9QQVJBTShmaXJzdEluZGV4KTsKKyAgICBVTlVTRURfUEFSQU0oYmFzZVZlcnRleCk7
CisgICAgVU5VU0VEX1BBUkFNKGZpcnN0SW5zdGFuY2UpOworfQorCit2b2lkIEdQVVJlbmRlclBh
c3NFbmNvZGVyOjpkcmF3SW5kaXJlY3QoY29uc3QgR1BVQnVmZmVyJiBpbmRpcmVjdEJ1ZmZlciwg
R1BVU2l6ZTY0IGluZGlyZWN0T2Zmc2V0KQoreworICAgIFVOVVNFRF9QQVJBTShpbmRpcmVjdEJ1
ZmZlcik7CisgICAgVU5VU0VEX1BBUkFNKGluZGlyZWN0T2Zmc2V0KTsKK30KKwordm9pZCBHUFVS
ZW5kZXJQYXNzRW5jb2Rlcjo6ZHJhd0luZGV4ZWRJbmRpcmVjdChjb25zdCBHUFVCdWZmZXImIGlu
ZGlyZWN0QnVmZmVyLCBHUFVTaXplNjQgaW5kaXJlY3RPZmZzZXQpCit7CisgICAgVU5VU0VEX1BB
UkFNKGluZGlyZWN0QnVmZmVyKTsKKyAgICBVTlVTRURfUEFSQU0oaW5kaXJlY3RPZmZzZXQpOwor
fQorCit2b2lkIEdQVVJlbmRlclBhc3NFbmNvZGVyOjpzZXRCaW5kR3JvdXAoR1BVSW5kZXgzMiwg
Y29uc3QgR1BVQmluZEdyb3VwJiwKKyAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxHUFVCdWZmZXJE
eW5hbWljT2Zmc2V0Pj4mJiBkeW5hbWljT2Zmc2V0cykKK3sKKyAgICBVTlVTRURfUEFSQU0oZHlu
YW1pY09mZnNldHMpOworfQorCit2b2lkIEdQVVJlbmRlclBhc3NFbmNvZGVyOjpzZXRCaW5kR3Jv
dXAoR1BVSW5kZXgzMiwgY29uc3QgR1BVQmluZEdyb3VwJiwKKyAgICBjb25zdCBVaW50MzJBcnJh
eSYgZHluYW1pY09mZnNldHNEYXRhLAorICAgIEdQVVNpemU2NCBkeW5hbWljT2Zmc2V0c0RhdGFT
dGFydCwKKyAgICBHUFVTaXplMzIgZHluYW1pY09mZnNldHNEYXRhTGVuZ3RoKQoreworICAgIFVO
VVNFRF9QQVJBTShkeW5hbWljT2Zmc2V0c0RhdGEpOworICAgIFVOVVNFRF9QQVJBTShkeW5hbWlj
T2Zmc2V0c0RhdGFTdGFydCk7CisgICAgVU5VU0VEX1BBUkFNKGR5bmFtaWNPZmZzZXRzRGF0YUxl
bmd0aCk7Cit9CisKK3ZvaWQgR1BVUmVuZGVyUGFzc0VuY29kZXI6OnB1c2hEZWJ1Z0dyb3VwKFN0
cmluZyYmIGdyb3VwTGFiZWwpCit7CisgICAgVU5VU0VEX1BBUkFNKGdyb3VwTGFiZWwpOworfQor
Cit2b2lkIEdQVVJlbmRlclBhc3NFbmNvZGVyOjpwb3BEZWJ1Z0dyb3VwKCkKK3sKK30KKwordm9p
ZCBHUFVSZW5kZXJQYXNzRW5jb2Rlcjo6aW5zZXJ0RGVidWdNYXJrZXIoU3RyaW5nJiYgbWFya2Vy
TGFiZWwpCit7CisgICAgVU5VU0VEX1BBUkFNKG1hcmtlckxhYmVsKTsKK30KKwordm9pZCBHUFVS
ZW5kZXJQYXNzRW5jb2Rlcjo6c2V0Vmlld3BvcnQoZmxvYXQgeCwgZmxvYXQgeSwKKyAgICBmbG9h
dCB3aWR0aCwgZmxvYXQgaGVpZ2h0LAorICAgIGZsb2F0IG1pbkRlcHRoLCBmbG9hdCBtYXhEZXB0
aCkKK3sKKyAgICBVTlVTRURfUEFSQU0oeCk7CisgICAgVU5VU0VEX1BBUkFNKHkpOworICAgIFVO
VVNFRF9QQVJBTSh3aWR0aCk7CisgICAgVU5VU0VEX1BBUkFNKGhlaWdodCk7CisgICAgVU5VU0VE
X1BBUkFNKG1pbkRlcHRoKTsKKyAgICBVTlVTRURfUEFSQU0obWF4RGVwdGgpOworfQorCit2b2lk
IEdQVVJlbmRlclBhc3NFbmNvZGVyOjpzZXRTY2lzc29yUmVjdChHUFVJbnRlZ2VyQ29vcmRpbmF0
ZSB4LCBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSB5LAorICAgIEdQVUludGVnZXJDb29yZGluYXRlIHdp
ZHRoLCBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSBoZWlnaHQpCit7CisgICAgVU5VU0VEX1BBUkFNKHgp
OworICAgIFVOVVNFRF9QQVJBTSh5KTsKKyAgICBVTlVTRURfUEFSQU0od2lkdGgpOworICAgIFVO
VVNFRF9QQVJBTShoZWlnaHQpOworfQorCit2b2lkIEdQVVJlbmRlclBhc3NFbmNvZGVyOjpzZXRC
bGVuZENvbnN0YW50KEdQVUNvbG9yKQoreworfQorCit2b2lkIEdQVVJlbmRlclBhc3NFbmNvZGVy
OjpzZXRTdGVuY2lsUmVmZXJlbmNlKEdQVVN0ZW5jaWxWYWx1ZSkKK3sKK30KKwordm9pZCBHUFVS
ZW5kZXJQYXNzRW5jb2Rlcjo6YmVnaW5PY2NsdXNpb25RdWVyeShHUFVTaXplMzIgcXVlcnlJbmRl
eCkKK3sKKyAgICBVTlVTRURfUEFSQU0ocXVlcnlJbmRleCk7Cit9CisKK3ZvaWQgR1BVUmVuZGVy
UGFzc0VuY29kZXI6OmVuZE9jY2x1c2lvblF1ZXJ5KCkKK3sKK30KKwordm9pZCBHUFVSZW5kZXJQ
YXNzRW5jb2Rlcjo6YmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeShjb25zdCBHUFVRdWVyeVNl
dCYsIEdQVVNpemUzMiBxdWVyeUluZGV4KQoreworICAgIFVOVVNFRF9QQVJBTShxdWVyeUluZGV4
KTsKK30KKwordm9pZCBHUFVSZW5kZXJQYXNzRW5jb2Rlcjo6ZW5kUGlwZWxpbmVTdGF0aXN0aWNz
UXVlcnkoKQoreworfQorCit2b2lkIEdQVVJlbmRlclBhc3NFbmNvZGVyOjpleGVjdXRlQnVuZGxl
cyhWZWN0b3I8UmVmUHRyPEdQVVJlbmRlckJ1bmRsZT4+JiYpCit7Cit9CisKK3ZvaWQgR1BVUmVu
ZGVyUGFzc0VuY29kZXI6OmVuZFBhc3MoKQoreworfQorCisKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmVjY2Y3OGQzZjQ0ODQyNTFmZWQxYjdlZWYxNWJkYThiMmIxMDc4NjcKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5o
CkBAIC0wLDAgKzEsMTExIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRl
ICJHUFVDb2xvckRpY3QuaCIKKyNpbmNsdWRlICJHUFVJbmRleEZvcm1hdC5oIgorI2luY2x1ZGUg
IkdQVUludGVncmFsVHlwZXMuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9VaW50MzJBcnJh
eS5oPgorI2luY2x1ZGUgPG9wdGlvbmFsPgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgR1BVQmluZEdyb3VwOworY2xhc3MgR1BVQnVmZmVyOworY2xh
c3MgR1BVUXVlcnlTZXQ7CitjbGFzcyBHUFVSZW5kZXJCdW5kbGU7CitjbGFzcyBHUFVSZW5kZXJQ
aXBlbGluZTsKKworY2xhc3MgR1BVUmVuZGVyUGFzc0VuY29kZXIgOiBwdWJsaWMgUmVmQ291bnRl
ZDxHUFVCaW5kR3JvdXA+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPEdQVVJlbmRlclBhc3NF
bmNvZGVyPiBjcmVhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgR1BV
UmVuZGVyUGFzc0VuY29kZXIoKSk7CisgICAgfQorCisgICAgdm9pZCBzZXRQaXBlbGluZShjb25z
dCBHUFVSZW5kZXJQaXBlbGluZSYpOworCisgICAgdm9pZCBzZXRJbmRleEJ1ZmZlcihjb25zdCBH
UFVCdWZmZXImLCBHUFVJbmRleEZvcm1hdCwgc3RkOjpvcHRpb25hbDxHUFVTaXplNjQ+IG9mZnNl
dCwgc3RkOjpvcHRpb25hbDxHUFVTaXplNjQ+KTsKKyAgICB2b2lkIHNldFZlcnRleEJ1ZmZlcihH
UFVJbmRleDMyIHNsb3QsIGNvbnN0IEdQVUJ1ZmZlciYsIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0
PiBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0Pik7CisKKyAgICB2b2lkIGRyYXcoR1BV
U2l6ZTMyIHZlcnRleENvdW50LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemUzMj4gaW5zdGFuY2VDb3Vu
dCwKKyAgICAgICAgc3RkOjpvcHRpb25hbDxHUFVTaXplMzI+IGZpcnN0VmVydGV4LCBzdGQ6Om9w
dGlvbmFsPEdQVVNpemUzMj4gZmlyc3RJbnN0YW5jZSk7CisgICAgdm9pZCBkcmF3SW5kZXhlZChH
UFVTaXplMzIgaW5kZXhDb3VudCwgc3RkOjpvcHRpb25hbDxHUFVTaXplMzI+IGluc3RhbmNlQ291
bnQsCisgICAgICAgIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTMyPiBmaXJzdEluZGV4LAorICAgICAg
ICBzdGQ6Om9wdGlvbmFsPEdQVVNpZ25lZE9mZnNldDMyPiBiYXNlVmVydGV4LAorICAgICAgICBz
dGQ6Om9wdGlvbmFsPEdQVVNpemUzMj4gZmlyc3RJbnN0YW5jZSk7CisKKyAgICB2b2lkIGRyYXdJ
bmRpcmVjdChjb25zdCBHUFVCdWZmZXImIGluZGlyZWN0QnVmZmVyLCBHUFVTaXplNjQgaW5kaXJl
Y3RPZmZzZXQpOworICAgIHZvaWQgZHJhd0luZGV4ZWRJbmRpcmVjdChjb25zdCBHUFVCdWZmZXIm
IGluZGlyZWN0QnVmZmVyLCBHUFVTaXplNjQgaW5kaXJlY3RPZmZzZXQpOworCisgICAgdm9pZCBz
ZXRCaW5kR3JvdXAoR1BVSW5kZXgzMiwgY29uc3QgR1BVQmluZEdyb3VwJiwKKyAgICAgICAgc3Rk
OjpvcHRpb25hbDxWZWN0b3I8R1BVQnVmZmVyRHluYW1pY09mZnNldD4+JiYgZHluYW1pY09mZnNl
dHMpOworCisgICAgdm9pZCBzZXRCaW5kR3JvdXAoR1BVSW5kZXgzMiwgY29uc3QgR1BVQmluZEdy
b3VwJiwKKyAgICAgICAgY29uc3QgVWludDMyQXJyYXkmIGR5bmFtaWNPZmZzZXRzRGF0YSwKKyAg
ICAgICAgR1BVU2l6ZTY0IGR5bmFtaWNPZmZzZXRzRGF0YVN0YXJ0LAorICAgICAgICBHUFVTaXpl
MzIgZHluYW1pY09mZnNldHNEYXRhTGVuZ3RoKTsKKworICAgIHZvaWQgcHVzaERlYnVnR3JvdXAo
U3RyaW5nJiYgZ3JvdXBMYWJlbCk7CisgICAgdm9pZCBwb3BEZWJ1Z0dyb3VwKCk7CisgICAgdm9p
ZCBpbnNlcnREZWJ1Z01hcmtlcihTdHJpbmcmJiBtYXJrZXJMYWJlbCk7CisKKyAgICB2b2lkIHNl
dFZpZXdwb3J0KGZsb2F0IHgsIGZsb2F0IHksCisgICAgICAgIGZsb2F0IHdpZHRoLCBmbG9hdCBo
ZWlnaHQsCisgICAgICAgIGZsb2F0IG1pbkRlcHRoLCBmbG9hdCBtYXhEZXB0aCk7CisKKyAgICB2
b2lkIHNldFNjaXNzb3JSZWN0KEdQVUludGVnZXJDb29yZGluYXRlIHgsIEdQVUludGVnZXJDb29y
ZGluYXRlIHksCisgICAgICAgIEdQVUludGVnZXJDb29yZGluYXRlIHdpZHRoLCBHUFVJbnRlZ2Vy
Q29vcmRpbmF0ZSBoZWlnaHQpOworCisgICAgdm9pZCBzZXRCbGVuZENvbnN0YW50KEdQVUNvbG9y
KTsKKyAgICB2b2lkIHNldFN0ZW5jaWxSZWZlcmVuY2UoR1BVU3RlbmNpbFZhbHVlKTsKKworICAg
IHZvaWQgYmVnaW5PY2NsdXNpb25RdWVyeShHUFVTaXplMzIgcXVlcnlJbmRleCk7CisgICAgdm9p
ZCBlbmRPY2NsdXNpb25RdWVyeSgpOworCisgICAgdm9pZCBiZWdpblBpcGVsaW5lU3RhdGlzdGlj
c1F1ZXJ5KGNvbnN0IEdQVVF1ZXJ5U2V0JiwgR1BVU2l6ZTMyIHF1ZXJ5SW5kZXgpOworICAgIHZv
aWQgZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoKTsKKworICAgIHZvaWQgZXhlY3V0ZUJ1bmRs
ZXMoVmVjdG9yPFJlZlB0cjxHUFVSZW5kZXJCdW5kbGU+PiYmKTsKKyAgICB2b2lkIGVuZFBhc3Mo
KTsKKworICAgIGNvbnN0IFN0cmluZyYgbGFiZWwoKSBjb25zdCB7IHJldHVybiBtX2xhYmVsOyB9
CisgICAgdm9pZCBzZXRMYWJlbChTdHJpbmcmJiBsYWJlbCkgeyBtX2xhYmVsID0gV1RGTW92ZShs
YWJlbCk7IH0KKworcHJpdmF0ZToKKyAgICBHUFVSZW5kZXJQYXNzRW5jb2RlcigpCisgICAgewor
ICAgIH0KKworICAgIFN0cmluZyBtX2xhYmVsOworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0VuY29kZXIuaWRsIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0VuY29kZXIuaWRsCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjAzN2JmMmQ4NWUwMTg4YTYxOGU5NWJiNTU0NDYzYWYxNzRiODAxZmUKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rl
ci5pZGwKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDggVGhlc2Ugc2hvdWxkbid0IG5lZWQgdG8gYmUg
aGVyZS4KK3R5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBHUFVTaXplMzI7Cit0
eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmcgR1BVSW50ZWdlckNvb3JkaW5hdGU7
Cit0eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmcgR1BVU3RlbmNpbFZhbHVlOwor
dHlwZWRlZiAoc2VxdWVuY2U8ZG91YmxlPiBvciBHUFVDb2xvckRpY3QpIEdQVUNvbG9yOworCitb
CisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUsCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZU
YWJsZSwKKyAgICBFeHBvc2VkPShXaW5kb3cpLCAvKiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRpY2F0ZWRXb3JrZXIgKi8KKyAgICBTZWN1cmVDb250
ZXh0CitdCitpbnRlcmZhY2UgR1BVUmVuZGVyUGFzc0VuY29kZXIgeworICAgIHVuZGVmaW5lZCBz
ZXRWaWV3cG9ydChmbG9hdCB4LCBmbG9hdCB5LAorICAgICAgICAgICAgICAgICAgICAgZmxvYXQg
d2lkdGgsIGZsb2F0IGhlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgIGZsb2F0IG1pbkRlcHRo
LCBmbG9hdCBtYXhEZXB0aCk7CisKKyAgICB1bmRlZmluZWQgc2V0U2Npc3NvclJlY3QoR1BVSW50
ZWdlckNvb3JkaW5hdGUgeCwgR1BVSW50ZWdlckNvb3JkaW5hdGUgeSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIEdQVUludGVnZXJDb29yZGluYXRlIHdpZHRoLCBHUFVJbnRlZ2VyQ29vcmRpbmF0
ZSBoZWlnaHQpOworCisgICAgdW5kZWZpbmVkIHNldEJsZW5kQ29uc3RhbnQoR1BVQ29sb3IgY29s
b3IpOworICAgIHVuZGVmaW5lZCBzZXRTdGVuY2lsUmVmZXJlbmNlKEdQVVN0ZW5jaWxWYWx1ZSBy
ZWZlcmVuY2UpOworCisgICAgdW5kZWZpbmVkIGJlZ2luT2NjbHVzaW9uUXVlcnkoR1BVU2l6ZTMy
IHF1ZXJ5SW5kZXgpOworICAgIHVuZGVmaW5lZCBlbmRPY2NsdXNpb25RdWVyeSgpOworCisgICAg
dW5kZWZpbmVkIGJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoR1BVUXVlcnlTZXQgcXVlcnlT
ZXQsIEdQVVNpemUzMiBxdWVyeUluZGV4KTsKKyAgICB1bmRlZmluZWQgZW5kUGlwZWxpbmVTdGF0
aXN0aWNzUXVlcnkoKTsKKworICAgIHVuZGVmaW5lZCBleGVjdXRlQnVuZGxlcyhzZXF1ZW5jZTxH
UFVSZW5kZXJCdW5kbGU+IGJ1bmRsZXMpOworICAgIHVuZGVmaW5lZCBlbmRQYXNzKCk7Cit9Owor
R1BVUmVuZGVyUGFzc0VuY29kZXIgaW5jbHVkZXMgR1BVT2JqZWN0QmFzZTsKK0dQVVJlbmRlclBh
c3NFbmNvZGVyIGluY2x1ZGVzIEdQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyOworR1BVUmVuZGVy
UGFzc0VuY29kZXIgaW5jbHVkZXMgR1BVUmVuZGVyRW5jb2RlckJhc2U7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5b3V0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5b3V0LmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNWNhYjI3YTI1MzgxMjJjMDg1ZDliZGVjZGQzZGJlMGVhNWZkY2QyMAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NMYXlvdXQu
aApAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRl
ICJHUFVJbnRlZ3JhbFR5cGVzLmgiCisjaW5jbHVkZSAiR1BVT2JqZWN0RGVzY3JpcHRvckJhc2Uu
aCIKKyNpbmNsdWRlICJHUFVUZXh0dXJlRm9ybWF0LmgiCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBHUFVSZW5kZXJQYXNzTGF5b3V0IDog
cHVibGljIEdQVU9iamVjdERlc2NyaXB0b3JCYXNlIHsKKyAgICBWZWN0b3I8R1BVVGV4dHVyZUZv
cm1hdD4gY29sb3JGb3JtYXRzOworICAgIEdQVVRleHR1cmVGb3JtYXQgZGVwdGhTdGVuY2lsRm9y
bWF0OworICAgIEdQVVNpemUzMiBzYW1wbGVDb3VudDsKK307CisKK30KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NMYXlvdXQuaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0xheW91dC5pZGwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDgxYWQ0MTA2ZjBhMDQ0ZGFkMDhlYzQ4ZTllYTE2MjgyYmJkMzllZAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NMYXlv
dXQuaWRsCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQ4IFRoaXMgc2hvdWxkbid0IG5lZWQgdG8gYmUg
aGVyZS4KK3R5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBHUFVTaXplMzI7CisK
K1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVQorXQorZGljdGlvbmFyeSBHUFVSZW5kZXJQ
YXNzTGF5b3V0OiBHUFVPYmplY3REZXNjcmlwdG9yQmFzZSB7CisgICAgcmVxdWlyZWQgc2VxdWVu
Y2U8R1BVVGV4dHVyZUZvcm1hdD4gY29sb3JGb3JtYXRzOworICAgIEdQVVRleHR1cmVGb3JtYXQg
ZGVwdGhTdGVuY2lsRm9ybWF0OworICAgIEdQVVNpemUzMiBzYW1wbGVDb3VudCA9IDE7Cit9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc1Rp
bWVzdGFtcExvY2F0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5k
ZXJQYXNzVGltZXN0YW1wTG9jYXRpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZjE2MjFhMzIxODk4NGE1OWEz
NTVmZTFkYTBmNzQ1YmU2MzNmM2IwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9uLmgKQEAgLTAsMCAr
MSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8Y3N0ZGludD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNzIEdQVVJlbmRlclBhc3NUaW1lc3Rh
bXBMb2NhdGlvbiA6IHVpbnQ4X3QgeworICAgIEJlZ2lubmluZywKKyAgICBFbmQKK307CisKK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NU
aW1lc3RhbXBMb2NhdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVS
ZW5kZXJQYXNzVGltZXN0YW1wTG9jYXRpb24uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5OTU0NDZmYjUxNDM3
YjVmOWQ5YWZkZjRmYTY4ZDI5NzZlOTYzYjMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzVGltZXN0YW1wTG9jYXRpb24uaWRsCkBA
IC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJH
UFUKK10KK2VudW0gR1BVUmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9uIHsKKyAgICAiYmVnaW5u
aW5nIiwKKyAgICAiZW5kIgorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVVJlbmRlclBhc3NUaW1lc3RhbXBXcml0ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc1RpbWVzdGFtcFdyaXRlLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzdj
OTM1YjQ0ODVkZjQzNGQ4MjA4YTBmMWZlZTgwMGRiMjZkM2QyMQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NUaW1lc3RhbXBXcml0
ZS5oCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1
ZGUgIkdQVUludGVncmFsVHlwZXMuaCIKKyNpbmNsdWRlICJHUFVRdWVyeVNldC5oIgorI2luY2x1
ZGUgIkdQVVJlbmRlclBhc3NUaW1lc3RhbXBMb2NhdGlvbi5oIgorI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
c3RydWN0IEdQVVJlbmRlclBhc3NUaW1lc3RhbXBXcml0ZSB7CisgICAgUmVmUHRyPEdQVVF1ZXJ5
U2V0PiBxdWVyeVNldDsKKyAgICBHUFVTaXplMzIgcXVlcnlJbmRleDsKKyAgICBHUFVSZW5kZXJQ
YXNzVGltZXN0YW1wTG9jYXRpb24gbG9jYXRpb247Cit9OworCit1c2luZyBHUFVSZW5kZXJQYXNz
VGltZXN0YW1wV3JpdGVzID0gVmVjdG9yPEdQVVJlbmRlclBhc3NUaW1lc3RhbXBXcml0ZT47CisK
K30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBh
c3NUaW1lc3RhbXBXcml0ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVS
ZW5kZXJQYXNzVGltZXN0YW1wV3JpdGUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI4ODUwOTAxYTBmNmIzNzRl
MTIxMTdlNzgzMTRkNzdmYTQzMGY3MDAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGUuaWRsCkBAIC0wLDAg
KzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjMyNTQ4IFRoaXMgc2hvdWxkbid0IG5lZWQgdG8gYmUgaGVyZS4KK3R5cGVkZWYg
W0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBHUFVTaXplMzI7CisKK1sKKyAgICBFbmFibGVk
QnlTZXR0aW5nPVdlYkdQVQorXQorZGljdGlvbmFyeSBHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3Jp
dGUgeworICAgIHJlcXVpcmVkIEdQVVF1ZXJ5U2V0IHF1ZXJ5U2V0OworICAgIHJlcXVpcmVkIEdQ
VVNpemUzMiBxdWVyeUluZGV4OworICAgIHJlcXVpcmVkIEdQVVJlbmRlclBhc3NUaW1lc3RhbXBM
b2NhdGlvbiBsb2NhdGlvbjsKK307CisKK3R5cGVkZWYgc2VxdWVuY2U8R1BVUmVuZGVyUGFzc1Rp
bWVzdGFtcFdyaXRlPiBHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGVzOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGlwZWxpbmUuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBpcGVsaW5lLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YWIyMWRkNzY4MzhmNTgxMTQxOTY3YWMzN2MzMzg1MzZiMjQzMzQyNQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBpcGVsaW5lLmgKQEAg
LTAsMCArMSw1MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3Rm
L1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgR1BVUmVuZGVyUGlw
ZWxpbmUgOiBwdWJsaWMgUmVmQ291bnRlZDxHUFVSZW5kZXJQaXBlbGluZT4geworcHVibGljOgor
ICAgIHN0YXRpYyBSZWY8R1BVUmVuZGVyUGlwZWxpbmU+IGNyZWF0ZSgpCisgICAgeworICAgICAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBHUFVSZW5kZXJQaXBlbGluZSgpKTsKKyAgICB9CisKKyAg
ICBjb25zdCBTdHJpbmcmIGxhYmVsKCkgY29uc3QgeyByZXR1cm4gbV9sYWJlbDsgfQorICAgIHZv
aWQgc2V0TGFiZWwoU3RyaW5nJiYgbGFiZWwpIHsgbV9sYWJlbCA9IFdURk1vdmUobGFiZWwpOyB9
CisKK3ByaXZhdGU6CisgICAgR1BVUmVuZGVyUGlwZWxpbmUoKQorICAgIHsKKyAgICB9CisKKyAg
ICBTdHJpbmcgbV9sYWJlbDsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBpcGVsaW5lLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVVJlbmRlclBpcGVsaW5lLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNmJhMWVhNzRjM2Zm
NzI0N2M5ZWVjZTJjOTJmYWM2NGRkODYxYmMxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGlwZWxpbmUuaWRsCkBAIC0wLDAgKzEsMzQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUsCisgICAgSW1w
bGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKKyAgICBFeHBvc2VkPShXaW5kb3cpLCAvKiBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRpY2F0ZWRXb3JrZXIg
Ki8KKyAgICBTZWN1cmVDb250ZXh0CitdCitpbnRlcmZhY2UgR1BVUmVuZGVyUGlwZWxpbmUgewor
fTsKK0dQVVJlbmRlclBpcGVsaW5lIGluY2x1ZGVzIEdQVU9iamVjdEJhc2U7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTdG9yZU9wLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTdG9yZU9wLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzAxNmZkNjg2MDU0
ZmJhNTc4NDRjYjQ0YmMxOWJiNWQzYWEwMTg0MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVN0b3JlT3AuaApAQCAtMCwwICsxLDM3IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDxjc3RkaW50PgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2VudW0gY2xhc3MgR1BVU3RvcmVPcCA6IHVpbnQ4X3QgeworICAgIFN0b3Jl
LAorICAgIERpc2NhcmQKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVVN0b3JlT3AuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVU3RvcmVPcC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzVkZTY3ODYxYmQ4MGE5ZTc3YzZlZGQwZTExM2Uz
Yjg4ZGQzMjg0OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2Vi
R1BVL0dQVVN0b3JlT3AuaWRsCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAg
RW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUKK10KK2VudW0gR1BVU3RvcmVPcCB7CisgICAgInN0b3Jl
IiwKKyAgICAiZGlzY2FyZCIKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVUZXh0dXJlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVU
ZXh0dXJlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNWI4YWQ3MDlkMmY2YzgwOTIxOWIwODJiM2M2ODRhM2MyZTg2
ZGQwMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VVRleHR1cmUuaApAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNs
dWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBHUFVUZXh0dXJlIDogcHVibGljIFJlZkNvdW50ZWQ8R1BVVGV4dHVyZT4geworcHVibGljOgor
ICAgIHN0YXRpYyBSZWY8R1BVVGV4dHVyZT4gY3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IEdQVVRleHR1cmUoKSk7CisgICAgfQorCisgICAgY29uc3QgU3RyaW5n
JiBsYWJlbCgpIGNvbnN0IHsgcmV0dXJuIG1fbGFiZWw7IH0KKyAgICB2b2lkIHNldExhYmVsKFN0
cmluZyYmIGxhYmVsKSB7IG1fbGFiZWwgPSBXVEZNb3ZlKGxhYmVsKTsgfQorCitwcml2YXRlOgor
ICAgIEdQVVRleHR1cmUoKQorICAgIHsKKyAgICB9CisKKyAgICBTdHJpbmcgbV9sYWJlbDsKK307
CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVRleHR1
cmUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZS5pZGwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYjI3MmU3MWRmN2UyMWRjYWRlNzYwNmE4NDBlM2ZhMDQwNDBlZTZjZAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmUuaWRs
CkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1X
ZWJHUFUsCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKKyAgICBFeHBvc2VkPShXaW5k
b3cpLCAvKiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBE
ZWRpY2F0ZWRXb3JrZXIgKi8KKyAgICBTZWN1cmVDb250ZXh0CitdCitpbnRlcmZhY2UgR1BVVGV4
dHVyZSB7Cit9OworR1BVVGV4dHVyZSBpbmNsdWRlcyBHUFVPYmplY3RCYXNlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUFzcGVjdC5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUFzcGVjdC5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjA2NWNmZmYwY2Y2MTc5YmYwNDVhYjAwMDYzY2ZmNWUxYTZkNDU3NmQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlQXNwZWN0LmgKQEAg
LTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8Y3N0
ZGludD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNzIEdQVVRleHR1cmVBc3Bl
Y3QgOiB1aW50OF90IHsKKyAgICBBbGwsCisgICAgU3RlbmNpbE9ubHksCisgICAgRGVwdGhPbmx5
Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVU
ZXh0dXJlQXNwZWN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVRleHR1
cmVBc3BlY3QuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNiODUzZGJmMTE2YmVmNjdmNTMyZjFkMzA2NDlkYjQ5
MTc1ZDczZGIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVUZXh0dXJlQXNwZWN0LmlkbApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWwor
ICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVCitdCitlbnVtIEdQVVRleHR1cmVBc3BlY3Qgewor
ICAgICJhbGwiLAorICAgICJzdGVuY2lsLW9ubHkiLAorICAgICJkZXB0aC1vbmx5IgorfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVGb3JtYXQu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVGb3JtYXQuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5lMGU5NWE4ODBmNjBmZjc0MTBkOTVjOTUxMjQ4MDgyOWUwNDhkMGRmCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZvcm1h
dC5oCkBAIC0wLDAgKzEsMTU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNs
dWRlIDxjc3RkaW50PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgR1BVVGV4
dHVyZUZvcm1hdCA6IHVpbnQ4X3QgeworICAgIC8vIDgtYml0IGZvcm1hdHMKKyAgICBSOHVub3Jt
LAorICAgIFI4c25vcm0sCisgICAgUjh1aW50LAorICAgIFI4c2ludCwKKworICAgIC8vIDE2LWJp
dCBmb3JtYXRzCisgICAgUjE2dWludCwKKyAgICBSMTZzaW50LAorICAgIFIxNmZsb2F0LAorICAg
IFJnOHVub3JtLAorICAgIFJnOHNub3JtLAorICAgIFJnOHVpbnQsCisgICAgUmc4c2ludCwKKwor
ICAgIC8vIDMyLWJpdCBmb3JtYXRzCisgICAgUjMydWludCwKKyAgICBSMzJzaW50LAorICAgIFIz
MmZsb2F0LAorICAgIFJnMTZ1aW50LAorICAgIFJnMTZzaW50LAorICAgIFJnMTZmbG9hdCwKKyAg
ICBSZ2JhOHVub3JtLAorICAgIFJnYmE4dW5vcm1TUkdCLAorICAgIFJnYmE4c25vcm0sCisgICAg
UmdiYTh1aW50LAorICAgIFJnYmE4c2ludCwKKyAgICBCZ3JhOHVub3JtLAorICAgIEJncmE4dW5v
cm1TUkdCLAorICAgIC8vIFBhY2tlZCAzMi1iaXQgZm9ybWF0cworICAgIFJnYjllNXVmbG9hdCwK
KyAgICBSZ2IxMGEydW5vcm0sCisgICAgUmcxMWIxMHVmbG9hdCwKKworICAgIC8vIDY0LWJpdCBm
b3JtYXRzCisgICAgUmczMnVpbnQsCisgICAgUmczMnNpbnQsCisgICAgUmczMmZsb2F0LAorICAg
IFJnYmExNnVpbnQsCisgICAgUmdiYTE2c2ludCwKKyAgICBSZ2JhMTZmbG9hdCwKKworICAgIC8v
IDEyOC1iaXQgZm9ybWF0cworICAgIFJnYmEzMnVpbnQsCisgICAgUmdiYTMyc2ludCwKKyAgICBS
Z2JhMzJmbG9hdCwKKworICAgIC8vIERlcHRoIGFuZCBzdGVuY2lsIGZvcm1hdHMKKyAgICBTdGVu
Y2lsOCwKKyAgICBEZXB0aDE2dW5vcm0sCisgICAgRGVwdGgyNHBsdXMsCisgICAgRGVwdGgyNHBs
dXNTdGVuY2lsOCwKKyAgICBEZXB0aDMyZmxvYXQsCisKKyAgICAvLyBCQyBjb21wcmVzc2VkIGZv
cm1hdHMgdXNhYmxlIGlmIHRleHR1cmUtY29tcHJlc3Npb24tYmMgaXMgYm90aAorICAgIC8vIHN1
cHBvcnRlZCBieSB0aGUgZGV2aWNlL3VzZXIgYWdlbnQgYW5kIGVuYWJsZWQgaW4gcmVxdWVzdERl
dmljZS4KKyAgICBCYzFSZ2JhVW5vcm0sCisgICAgQmMxUmdiYVVub3JtU1JHQiwKKyAgICBCYzJS
Z2JhVW5vcm0sCisgICAgQmMyUmdiYVVub3JtU1JHQiwKKyAgICBCYzNSZ2JhVW5vcm0sCisgICAg
QmMzUmdiYVVub3JtU1JHQiwKKyAgICBCYzRSVW5vcm0sCisgICAgQmM0UlNub3JtLAorICAgIEJj
NVJnVW5vcm0sCisgICAgQmM1UmdTbm9ybSwKKyAgICBCYzZoUmdiVWZsb2F0LAorICAgIEJjNmhS
Z2JGbG9hdCwKKyAgICBCYzdSZ2JhVW5vcm0sCisgICAgQmM3UmdiYVVub3JtU1JHQiwKKworICAg
IC8vIEVUQzIgY29tcHJlc3NlZCBmb3JtYXRzIHVzYWJsZSBpZiB0ZXh0dXJlLWNvbXByZXNzaW9u
LWV0YzIgaXMgYm90aAorICAgIC8vIHN1cHBvcnRlZCBieSB0aGUgZGV2aWNlL3VzZXIgYWdlbnQg
YW5kIGVuYWJsZWQgaW4gcmVxdWVzdERldmljZS4KKyAgICBFdGMyUmdiOHVub3JtLAorICAgIEV0
YzJSZ2I4dW5vcm1TUkdCLAorICAgIEV0YzJSZ2I4YTF1bm9ybSwKKyAgICBFdGMyUmdiOGExdW5v
cm1TUkdCLAorICAgIEV0YzJSZ2JhOHVub3JtLAorICAgIEV0YzJSZ2JhOHVub3JtU1JHQiwKKyAg
ICBFYWNSMTF1bm9ybSwKKyAgICBFYWNSMTFzbm9ybSwKKyAgICBFYWNSZzExdW5vcm0sCisgICAg
RWFjUmcxMXNub3JtLAorCisgICAgLy8gQVNUQyBjb21wcmVzc2VkIGZvcm1hdHMgdXNhYmxlIGlm
IHRleHR1cmUtY29tcHJlc3Npb24tYXN0YyBpcyBib3RoCisgICAgLy8gc3VwcG9ydGVkIGJ5IHRo
ZSBkZXZpY2UvdXNlciBhZ2VudCBhbmQgZW5hYmxlZCBpbiByZXF1ZXN0RGV2aWNlLgorICAgIEFz
dGM0eDRVbm9ybSwKKyAgICBBc3RjNHg0VW5vcm1TUkdCLAorICAgIEFzdGM1eDRVbm9ybSwKKyAg
ICBBc3RjNXg0VW5vcm1TUkdCLAorICAgIEFzdGM1eDVVbm9ybSwKKyAgICBBc3RjNXg1VW5vcm1T
UkdCLAorICAgIEFzdGM2eDVVbm9ybSwKKyAgICBBc3RjNng1VW5vcm1TUkdCLAorICAgIEFzdGM2
eDZVbm9ybSwKKyAgICBBc3RjNng2VW5vcm1TUkdCLAorICAgIEFzdGM4eDVVbm9ybSwKKyAgICBB
c3RjOHg1VW5vcm1TUkdCLAorICAgIEFzdGM4eDZVbm9ybSwKKyAgICBBc3RjOHg2VW5vcm1TUkdC
LAorICAgIEFzdGM4eDhVbm9ybSwKKyAgICBBc3RjOHg4VW5vcm1TUkdCLAorICAgIEFzdGMxMHg1
VW5vcm0sCisgICAgQXN0YzEweDVVbm9ybVNSR0IsCisgICAgQXN0YzEweDZVbm9ybSwKKyAgICBB
c3RjMTB4NlVub3JtU1JHQiwKKyAgICBBc3RjMTB4OFVub3JtLAorICAgIEFzdGMxMHg4VW5vcm1T
UkdCLAorICAgIEFzdGMxMHgxMFVub3JtLAorICAgIEFzdGMxMHgxMFVub3JtU1JHQiwKKyAgICBB
c3RjMTJ4MTBVbm9ybSwKKyAgICBBc3RjMTJ4MTBVbm9ybVNSR0IsCisgICAgQXN0YzEyeDEyVW5v
cm0sCisgICAgQXN0YzEyeDEyVW5vcm1TUkdCLAorCisgICAgLy8gZGVwdGgyNHVub3JtLXN0ZW5j
aWw4IGZlYXR1cmUKKyAgICBEZXB0aDI0dW5vcm1TdGVuY2lsOCwKKworICAgIC8vIGRlcHRoMzJm
bG9hdC1zdGVuY2lsOCBmZWF0dXJlCisgICAgRGVwdGgzMmZsb2F0U3RlbmNpbDgKK307CisKK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVGb3Jt
YXQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZvcm1hdC5p
ZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZDZlZWY4NDc1NmY4MTVkYzQxM2Y0Njc3MjBiNTMzMzJjZmE5MDNhZAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVRleHR1
cmVGb3JtYXQuaWRsCkBAIC0wLDAgKzEsMTUwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJs
ZWRCeVNldHRpbmc9V2ViR1BVCitdCitlbnVtIEdQVVRleHR1cmVGb3JtYXQgeworICAgIC8vIDgt
Yml0IGZvcm1hdHMKKyAgICAicjh1bm9ybSIsCisgICAgInI4c25vcm0iLAorICAgICJyOHVpbnQi
LAorICAgICJyOHNpbnQiLAorCisgICAgLy8gMTYtYml0IGZvcm1hdHMKKyAgICAicjE2dWludCIs
CisgICAgInIxNnNpbnQiLAorICAgICJyMTZmbG9hdCIsCisgICAgInJnOHVub3JtIiwKKyAgICAi
cmc4c25vcm0iLAorICAgICJyZzh1aW50IiwKKyAgICAicmc4c2ludCIsCisKKyAgICAvLyAzMi1i
aXQgZm9ybWF0cworICAgICJyMzJ1aW50IiwKKyAgICAicjMyc2ludCIsCisgICAgInIzMmZsb2F0
IiwKKyAgICAicmcxNnVpbnQiLAorICAgICJyZzE2c2ludCIsCisgICAgInJnMTZmbG9hdCIsCisg
ICAgInJnYmE4dW5vcm0iLAorICAgICJyZ2JhOHVub3JtLXNyZ2IiLAorICAgICJyZ2JhOHNub3Jt
IiwKKyAgICAicmdiYTh1aW50IiwKKyAgICAicmdiYThzaW50IiwKKyAgICAiYmdyYTh1bm9ybSIs
CisgICAgImJncmE4dW5vcm0tc3JnYiIsCisgICAgLy8gUGFja2VkIDMyLWJpdCBmb3JtYXRzCisg
ICAgInJnYjllNXVmbG9hdCIsCisgICAgInJnYjEwYTJ1bm9ybSIsCisgICAgInJnMTFiMTB1Zmxv
YXQiLAorCisgICAgLy8gNjQtYml0IGZvcm1hdHMKKyAgICAicmczMnVpbnQiLAorICAgICJyZzMy
c2ludCIsCisgICAgInJnMzJmbG9hdCIsCisgICAgInJnYmExNnVpbnQiLAorICAgICJyZ2JhMTZz
aW50IiwKKyAgICAicmdiYTE2ZmxvYXQiLAorCisgICAgLy8gMTI4LWJpdCBmb3JtYXRzCisgICAg
InJnYmEzMnVpbnQiLAorICAgICJyZ2JhMzJzaW50IiwKKyAgICAicmdiYTMyZmxvYXQiLAorCisg
ICAgLy8gRGVwdGggYW5kIHN0ZW5jaWwgZm9ybWF0cworICAgICJzdGVuY2lsOCIsCisgICAgImRl
cHRoMTZ1bm9ybSIsCisgICAgImRlcHRoMjRwbHVzIiwKKyAgICAiZGVwdGgyNHBsdXMtc3RlbmNp
bDgiLAorICAgICJkZXB0aDMyZmxvYXQiLAorCisgICAgLy8gQkMgY29tcHJlc3NlZCBmb3JtYXRz
IHVzYWJsZSBpZiAidGV4dHVyZS1jb21wcmVzc2lvbi1iYyIgaXMgYm90aAorICAgIC8vIHN1cHBv
cnRlZCBieSB0aGUgZGV2aWNlL3VzZXIgYWdlbnQgYW5kIGVuYWJsZWQgaW4gcmVxdWVzdERldmlj
ZS4KKyAgICAiYmMxLXJnYmEtdW5vcm0iLAorICAgICJiYzEtcmdiYS11bm9ybS1zcmdiIiwKKyAg
ICAiYmMyLXJnYmEtdW5vcm0iLAorICAgICJiYzItcmdiYS11bm9ybS1zcmdiIiwKKyAgICAiYmMz
LXJnYmEtdW5vcm0iLAorICAgICJiYzMtcmdiYS11bm9ybS1zcmdiIiwKKyAgICAiYmM0LXItdW5v
cm0iLAorICAgICJiYzQtci1zbm9ybSIsCisgICAgImJjNS1yZy11bm9ybSIsCisgICAgImJjNS1y
Zy1zbm9ybSIsCisgICAgImJjNmgtcmdiLXVmbG9hdCIsCisgICAgImJjNmgtcmdiLWZsb2F0IiwK
KyAgICAiYmM3LXJnYmEtdW5vcm0iLAorICAgICJiYzctcmdiYS11bm9ybS1zcmdiIiwKKworICAg
IC8vIEVUQzIgY29tcHJlc3NlZCBmb3JtYXRzIHVzYWJsZSBpZiAidGV4dHVyZS1jb21wcmVzc2lv
bi1ldGMyIiBpcyBib3RoCisgICAgLy8gc3VwcG9ydGVkIGJ5IHRoZSBkZXZpY2UvdXNlciBhZ2Vu
dCBhbmQgZW5hYmxlZCBpbiByZXF1ZXN0RGV2aWNlLgorICAgICJldGMyLXJnYjh1bm9ybSIsCisg
ICAgImV0YzItcmdiOHVub3JtLXNyZ2IiLAorICAgICJldGMyLXJnYjhhMXVub3JtIiwKKyAgICAi
ZXRjMi1yZ2I4YTF1bm9ybS1zcmdiIiwKKyAgICAiZXRjMi1yZ2JhOHVub3JtIiwKKyAgICAiZXRj
Mi1yZ2JhOHVub3JtLXNyZ2IiLAorICAgICJlYWMtcjExdW5vcm0iLAorICAgICJlYWMtcjExc25v
cm0iLAorICAgICJlYWMtcmcxMXVub3JtIiwKKyAgICAiZWFjLXJnMTFzbm9ybSIsCisKKyAgICAv
LyBBU1RDIGNvbXByZXNzZWQgZm9ybWF0cyB1c2FibGUgaWYgInRleHR1cmUtY29tcHJlc3Npb24t
YXN0YyIgaXMgYm90aAorICAgIC8vIHN1cHBvcnRlZCBieSB0aGUgZGV2aWNlL3VzZXIgYWdlbnQg
YW5kIGVuYWJsZWQgaW4gcmVxdWVzdERldmljZS4KKyAgICAiYXN0Yy00eDQtdW5vcm0iLAorICAg
ICJhc3RjLTR4NC11bm9ybS1zcmdiIiwKKyAgICAiYXN0Yy01eDQtdW5vcm0iLAorICAgICJhc3Rj
LTV4NC11bm9ybS1zcmdiIiwKKyAgICAiYXN0Yy01eDUtdW5vcm0iLAorICAgICJhc3RjLTV4NS11
bm9ybS1zcmdiIiwKKyAgICAiYXN0Yy02eDUtdW5vcm0iLAorICAgICJhc3RjLTZ4NS11bm9ybS1z
cmdiIiwKKyAgICAiYXN0Yy02eDYtdW5vcm0iLAorICAgICJhc3RjLTZ4Ni11bm9ybS1zcmdiIiwK
KyAgICAiYXN0Yy04eDUtdW5vcm0iLAorICAgICJhc3RjLTh4NS11bm9ybS1zcmdiIiwKKyAgICAi
YXN0Yy04eDYtdW5vcm0iLAorICAgICJhc3RjLTh4Ni11bm9ybS1zcmdiIiwKKyAgICAiYXN0Yy04
eDgtdW5vcm0iLAorICAgICJhc3RjLTh4OC11bm9ybS1zcmdiIiwKKyAgICAiYXN0Yy0xMHg1LXVu
b3JtIiwKKyAgICAiYXN0Yy0xMHg1LXVub3JtLXNyZ2IiLAorICAgICJhc3RjLTEweDYtdW5vcm0i
LAorICAgICJhc3RjLTEweDYtdW5vcm0tc3JnYiIsCisgICAgImFzdGMtMTB4OC11bm9ybSIsCisg
ICAgImFzdGMtMTB4OC11bm9ybS1zcmdiIiwKKyAgICAiYXN0Yy0xMHgxMC11bm9ybSIsCisgICAg
ImFzdGMtMTB4MTAtdW5vcm0tc3JnYiIsCisgICAgImFzdGMtMTJ4MTAtdW5vcm0iLAorICAgICJh
c3RjLTEyeDEwLXVub3JtLXNyZ2IiLAorICAgICJhc3RjLTEyeDEyLXVub3JtIiwKKyAgICAiYXN0
Yy0xMngxMi11bm9ybS1zcmdiIiwKKworICAgIC8vICJkZXB0aDI0dW5vcm0tc3RlbmNpbDgiIGZl
YXR1cmUKKyAgICAiZGVwdGgyNHVub3JtLXN0ZW5jaWw4IiwKKworICAgIC8vICJkZXB0aDMyZmxv
YXQtc3RlbmNpbDgiIGZlYXR1cmUKKyAgICAiZGVwdGgzMmZsb2F0LXN0ZW5jaWw4IgorfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVWaWV3Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlVmlldy5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmVhYTA4NGQ4NzFiZDI0MjMyMDFjZDAyNzM5YmIwY2JlNjc2YjAzM2EKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlVmlldy5oCkBA
IC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0
Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEdQVVRleHR1cmVW
aWV3IDogcHVibGljIFJlZkNvdW50ZWQ8R1BVVGV4dHVyZVZpZXc+IHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUmVmPEdQVVRleHR1cmVWaWV3PiBjcmVhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgR1BVVGV4dHVyZVZpZXcoKSk7CisgICAgfQorCisgICAgY29uc3QgU3Ry
aW5nJiBsYWJlbCgpIGNvbnN0IHsgcmV0dXJuIG1fbGFiZWw7IH0KKyAgICB2b2lkIHNldExhYmVs
KFN0cmluZyYmIGxhYmVsKSB7IG1fbGFiZWwgPSBXVEZNb3ZlKGxhYmVsKTsgfQorCitwcml2YXRl
OgorICAgIEdQVVRleHR1cmVWaWV3KCkKKyAgICB7CisgICAgfQorCisgICAgU3RyaW5nIG1fbGFi
ZWw7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVUZXh0dXJlVmlldy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0
dXJlVmlldy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmU4YWQwNmVmNGE4ZjFiYzkwODhlZjM1ZTJkZTA4YmUx
MDcwODA4NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVVRleHR1cmVWaWV3LmlkbApAQCAtMCwwICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAg
IEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUs
CisgICAgRXhwb3NlZD0oV2luZG93KSwgLyogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzMjU0MjogRGVkaWNhdGVkV29ya2VyICovCisgICAgU2VjdXJlQ29udGV4dAor
XQoraW50ZXJmYWNlIEdQVVRleHR1cmVWaWV3IHsKK307CitHUFVUZXh0dXJlVmlldyBpbmNsdWRl
cyBHUFVPYmplY3RCYXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5jcHAKaW5kZXggYzk1NjAwZDExZmYzOGRiNDMyNWUw
ZGNkYzdiMjA0YTRlYjY4ZDA5Yi4uYzY3NGJiMDMxNDg3Y2I0YmEyNGUyN2FmYzdlMTBhYjA5NjM2
MzhkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eUNhbmNlbEV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5Q2FuY2VsRXZlbnQuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaWYgRU5BQkxFKEFQUExF
X1BBWSkKIAogI2luY2x1ZGUgIkFwcGxlUGF5U2Vzc2lvbkVycm9yLmgiCisjaW5jbHVkZSA8d3Rm
L0lzb01hbGxvY0lubGluZXMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5jcHAK
aW5kZXggNjFkNDNmMzk4OTc3Zjg5NWEyYzQ3MDM5ZTM4Y2JhZDA0MzE5OWVlZC4uYjAxMmI1ODBk
ZDU5MjY5YTcxYjVkZWNlMTc2YzAwYmQ1NTZiZjMwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmNwcApAQCAtMzQsNiAr
MzQsNyBAQAogI2luY2x1ZGUgIkFwcGxlUGF5U2hpcHBpbmdNZXRob2QuaCIKICNpbmNsdWRlICJB
cHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNp
bmNsdWRlICJFeGNlcHRpb25EZXRhaWxzLmgiCiAjaW5jbHVkZSAiTGlua0ljb25Db2xsZWN0b3Iu
aCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKaW5kZXggMjgwOTky
NWY1ZDIxZjNlM2YzNDc3YTFlNDUyNDM4NTA3ODVkNGZhZC4uNTIwYzA3NzU2OTZhMmYwZTJlNzMw
MDczNWU4Yzk3NzQ5NWYxYTYxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiVGlt
ZXIuaCIKICNpbmNsdWRlICJWaWRlb1RyYWNrQ2xpZW50LmgiCiAjaW5jbHVkZSA8d3RmL0xvZ2dl
ckhlbHBlci5oPgorI2luY2x1ZGUgPHd0Zi9PYnNlcnZlci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQKaW5kZXggOGRhMjRiNzhkYTU3ZGMzYmQyY2VkMTE4NGMyZWRkZmYw
YjhkZTI0Ni4uNzZiZDczZmVmYjgyMDhhMzk5MWE5ODJiZGE5YmVlMWFjNzQ5MTFmOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQKQEAgLTIxLDYgKzIxLDEyIEBACiAvLyBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCiAvLyBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKK01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNv
ZGVyLmNwcAorTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmNwcAorTW9kdWxl
cy9XZWJHUFUvR1BVUXVlcnlTZXQuY3BwCitNb2R1bGVzL1dlYkdQVS9HUFVRdWV1ZS5jcHAKK01v
ZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZUVuY29kZXIuY3BwCitNb2R1bGVzL1dlYkdQVS9H
UFVSZW5kZXJQYXNzRW5jb2Rlci5jcHAKIE1vZHVsZXMvYWlycGxheS9XZWJLaXRQbGF5YmFja1Rh
cmdldEF2YWlsYWJpbGl0eUV2ZW50LmNwcAogTW9kdWxlcy9hcHBsaWNhdGlvbm1hbmlmZXN0L0Fw
cGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuY3BwCiBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlw
Ym9hcmQuY3BwCkBAIC0zNzI4LDYgKzM3MzQsNTUgQEAgSlNDU1NUcmFuc2xhdGUuY3BwCiBKU0NT
U1N0eWxlVmFsdWUuY3BwCiBKU0NTU1VuaXRWYWx1ZS5jcHAKIEpTQ1NTVW5wYXJzZWRWYWx1ZS5j
cHAKK0pTR1BVQ29tcHV0ZVBpcGVsaW5lLmNwcAorSlNHUFVDb21tYW5kQnVmZmVyRGVzY3JpcHRv
ci5jcHAKK0pTR1BVUHJlZGVmaW5lZENvbG9yU3BhY2UuY3BwCitKU0dQVVJlbmRlckJ1bmRsZUVu
Y29kZXJEZXNjcmlwdG9yLmNwcAorSlNHUFVRdWVyeVNldERlc2NyaXB0b3IuY3BwCitKU0dQVVJl
bmRlclBpcGVsaW5lLmNwcAorSlNHUFVPYmplY3RCYXNlLmNwcAorSlNHUFVRdWVyeVR5cGUuY3Bw
CitKU0dQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuY3BwCitKU0dQVUV4dGVudDNERGljdC5jcHAK
K0pTR1BVUmVuZGVyQnVuZGxlRGVzY3JpcHRvci5jcHAKK0pTR1BVTG9hZE9wLmNwcAorSlNHUFVP
YmplY3REZXNjcmlwdG9yQmFzZS5jcHAKK0pTR1BVSW1hZ2VDb3B5VGV4dHVyZS5jcHAKK0pTR1BV
VGV4dHVyZS5jcHAKK0pTR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmNwcAorSlNHUFVSZW5kZXJQYXNz
VGltZXN0YW1wV3JpdGUuY3BwCitKU0dQVU9yaWdpbjNERGljdC5jcHAKK0pTR1BVT3JpZ2luMkRE
aWN0LmNwcAorSlNHUFVSZW5kZXJFbmNvZGVyQmFzZS5jcHAKK0pTR1BVUmVuZGVyUGFzc0NvbG9y
QXR0YWNobWVudC5jcHAKK0pTR1BVUmVuZGVyUGFzc0VuY29kZXIuY3BwCitKU0dQVUJ1ZmZlci5j
cHAKK0pTR1BVSW1hZ2VEYXRhTGF5b3V0LmNwcAorSlNHUFVDb2xvckRpY3QuY3BwCitKU0dQVVF1
ZXVlLmNwcAorSlNHUFVUZXh0dXJlRm9ybWF0LmNwcAorSlNHUFVSZW5kZXJCdW5kbGVFbmNvZGVy
LmNwcAorSlNHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5jcHAKK0pTR1BVQ29t
bWFuZEJ1ZmZlci5jcHAKK0pTR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIuY3BwCitKU0dQVUlu
ZGV4Rm9ybWF0LmNwcAorSlNHUFVSZW5kZXJQYXNzVGltZXN0YW1wTG9jYXRpb24uY3BwCitKU0dQ
VVBpcGVsaW5lU3RhdGlzdGljTmFtZS5jcHAKK0pTR1BVQmluZEdyb3VwLmNwcAorSlNHUFVDb21t
YW5kRW5jb2Rlci5jcHAKK0pTR1BVU3RvcmVPcC5jcHAKK0pTR1BVQ29tcHV0ZVBhc3NUaW1lc3Rh
bXBXcml0ZS5jcHAKK0pTR1BVSW1hZ2VDb3B5QnVmZmVyLmNwcAorSlNHUFVSZW5kZXJCdW5kbGUu
Y3BwCitKU0dQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5jcHAKK0pTR1BVSW1hZ2VDb3B5VGV4
dHVyZVRhZ2dlZC5jcHAKK0pTR1BVVGV4dHVyZVZpZXcuY3BwCitKU0dQVUNvbXB1dGVQYXNzVGlt
ZXN0YW1wTG9jYXRpb24uY3BwCitKU0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmNwcAorSlNHUFVR
dWVyeVNldC5jcHAKK0pTR1BVVGV4dHVyZUFzcGVjdC5jcHAKK0pTR1BVUmVuZGVyUGFzc0xheW91
dC5jcHAKK0pTR1BVQ29tcHV0ZVBhc3NEZXNjcmlwdG9yLmNwcAogSlNVSUV2ZW50LmNwcAogSlNV
SUV2ZW50SW5pdC5jcHAKIEpTVVJMU2VhcmNoUGFyYW1zLmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDI1NzU1YmMzMzhlNzZk
ODc5MGQwYjQzYzA3ZDJkMmFiZjA2MGU3ODUuLjdiM2UxYjlkYzIxYTVlMWY1MTg4MzZhYWZjODRi
OTdhNWEyODAyMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTcwMzYsNiArNzAzNiwxNSBAQAogCQkxQzEyQUMyQzFFRTc3OTk1
MDA3OUUwQTAgLyogRm9udERlc2NyaXB0aW9uQ29jb2EuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
Rm9udERlc2NyaXB0aW9uQ29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
QzE4REE1NjE4MUFGNkE1MDBDNEVGMjIgLyogVGV4dFBhaW50ZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGV4dFBhaW50ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQzE4REE1NzE4MUFGNkE1MDBDNEVGMjIgLyogVGV4dFBhaW50ZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGV4dFBhaW50ZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUMxRjUyQzEyNzMyODA5RjAwNzNFQTdGIC8qIEdQVVRleHR1
cmVBc3BlY3QuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IEdQVVRleHR1cmVBc3BlY3QuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkxQzFGNTJDMzI3MzI4MjE5MDA3M0VBN0YgLyogR1BVT3JpZ2luMkREaWN0
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBHUFVPcmlnaW4yRERpY3QuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkxQzFGNTJDNDI3MzI4MjQ0MDA3M0VBN0YgLyogR1BVT3JpZ2luM0REaWN0LmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBHUFVPcmlnaW4zRERpY3QuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzFG
NTJDNTI3MzI4NDVGMDA3M0VBN0YgLyogR1BVQmluZEdyb3VwLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVCaW5kR3Jv
dXAuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzFGNTJDNjI3MzI4NEYzMDA3
M0VBN0YgLyogR1BVVGV4dHVyZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVVGV4dHVyZS5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTFDMUY1MkM3MjczMjg0RkMwMDczRUE3RiAvKiBHUFVUZXh0dXJl
Vmlldy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gR1BVVGV4dHVyZVZpZXcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkxQzFGNTJDODI3MzI4NUI5MDA3M0VBN0YgLyogR1BVRXh0ZW50M0REaWN0LmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBHUFVFeHRlbnQzRERpY3QuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkx
QzFGNTJDOTI3MzI4NjI0MDA3M0VBN0YgLyogR1BVSW5kZXhGb3JtYXQuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVUlu
ZGV4Rm9ybWF0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUMxRjUyQ0EyNzMy
ODY4MjAwNzNFQTdGIC8qIEdQVVByZWRlZmluZWRDb2xvclNwYWNlLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVQcmVk
ZWZpbmVkQ29sb3JTcGFjZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDMjFF
NTdBMTgzRUQxRkYwMDFDMjg5RCAvKiBJT1N1cmZhY2VQb29sLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElPU3VyZmFjZVBvb2wuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQzIxRTU3QjE4M0VEMUZGMDAxQzI4OUQgLyogSU9TdXJmYWNlUG9vbC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJT1N1cmZhY2VQb29sLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDMjRFRUExMUM3MjlCMzIwMDgwRjhGQyAvKiBGb250
RmFjZVNldC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRm9udEZhY2VTZXQuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzA0Niw2ICs3MDU1LDU3IEBACiAJCTFDMjY0OTc5
MEQ3RTI0OEEwMEJEMTBGMiAvKiBEb2N1bWVudExvYWRlck1hYy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEb2N1bWVudExvYWRlck1hYy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFDMjY2NzE5MjZGQTdGMkUwMDExNzA3MyAvKiBGb250Q3JlYXRp
b25Db250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRDcmVhdGlvbkNvbnRleHQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUMzMjQ5MTAxQzZENkEzQjAwN0VEQjMyIC8qIEZvbnRW
YXJpYW50QnVpbGRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBG
b250VmFyaWFudEJ1aWxkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzMy
RDQ1RTI3MzI4OUM2MDAwQ0MwM0IgLyogR1BVQmluZEdyb3VwLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQ
VUJpbmRHcm91cC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzMyRDQ2MDI3MzI4
OUNFMDAwQ0MwM0IgLyogR1BVQnVmZmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVUJ1ZmZlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzMyRDQ2MTI3MzI4OUQ1MDAwQ0MwM0IgLyog
R1BVQ29sb3JEaWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVUNvbG9yRGljdC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkxQzMyRDQ2MjI3MzI4OUREMDAwQ0MwM0IgLyogR1BVQ29tbWFu
ZEJ1ZmZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVDb21tYW5kQnVmZmVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTFDMzJENDYzMjczMjg5RjQwMDBDQzAzQiAvKiBHUFVDb21tYW5k
QnVmZmVyRGVzY3JpcHRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVDb21tYW5kQnVmZmVyRGVzY3Jp
cHRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzMyRDQ2NDI3MzI4OUZDMDAw
Q0MwM0IgLyogR1BVQ29tbWFuZEVuY29kZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVQ29tbWFuZEVu
Y29kZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUMzMkQ0NjUyNzMyOEEwNTAw
MENDMDNCIC8qIEdQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBH
UFVDb21tYW5kRW5jb2RlckRlc2NyaXB0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMUMzMkQ0NjYyNzMyOEEwRjAwMENDMDNCIC8qIEdQVUNvbXB1dGVQYXNzRGVzY3JpcHRvci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBHUFVDb21wdXRlUGFzc0Rlc2NyaXB0b3IuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMUMzMkQ0NjcyNzMyOEExNzAwMENDMDNCIC8qIEdQVUNvbXB1dGVQ
YXNzRW5jb2Rlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVDb21wdXRlUGFzc0VuY29kZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUMzMkQ0NjgyNzMyOEEyMjAwMENDMDNCIC8qIEdQ
VUNvbXB1dGVQYXNzVGltZXN0YW1wTG9jYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVQ29tcHV0
ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkx
QzMyRDQ2OTI3MzI4QTJDMDAwQ0MwM0IgLyogR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0ZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBHUFVDb21wdXRlUGFzc1RpbWVzdGFtcFdyaXRlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDMzJENDZBMjczMjhBMzQwMDBDQzAzQiAvKiBHUFVDb21w
dXRlUGlwZWxpbmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVQ29tcHV0ZVBpcGVsaW5lLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDMzJENDZCMjczMjhBM0QwMDBDQzAzQiAvKiBHUFVF
eHRlbnQzRERpY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVRXh0ZW50M0REaWN0Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDMzJENDZDMjczMjhBNDUwMDBDQzAzQiAvKiBHUFVJbWFn
ZUNvcHlCdWZmZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVSW1hZ2VDb3B5QnVmZmVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDMzJENDZEMjczMjhBNTEwMDBDQzAzQiAvKiBHUFVJ
bWFnZUNvcHlFeHRlcm5hbEltYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVUltYWdlQ29weUV4dGVy
bmFsSW1hZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUMzMkQ0NkUyNzMyOEE1
RDAwMENDMDNCIC8qIEdQVUltYWdlQ29weVRleHR1cmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVSW1h
Z2VDb3B5VGV4dHVyZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzMyRDQ2RjI3
MzI4QTY3MDAwQ0MwM0IgLyogR1BVSW1hZ2VDb3B5VGV4dHVyZVRhZ2dlZC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBHUFVJbWFnZUNvcHlUZXh0dXJlVGFnZ2VkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTFDMzJENDcwMjczMjhBNzgwMDBDQzAzQiAvKiBHUFVJbWFnZURhdGFMYXlvdXQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gR1BVSW1hZ2VEYXRhTGF5b3V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTFDMzJENDcxMjczMjhBODcwMDBDQzAzQiAvKiBHUFVJbmRleEZvcm1hdC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBHUFVJbmRleEZvcm1hdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkxQzMyRDQ3MjI3MzI4QTk3MDAwQ0MwM0IgLyogR1BVTG9hZE9wLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEdQVUxvYWRPcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzMyRDQ3MzI3
MzI4QUE4MDAwQ0MwM0IgLyogR1BVT3JpZ2luMkREaWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVU9y
aWdpbjJERGljdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzMyRDQ3NDI3MzI4
QUIyMDAwQ0MwM0IgLyogR1BVT3JpZ2luM0REaWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVU9yaWdp
bjNERGljdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzMyRDQ3NTI3MzI4QUJC
MDAwQ0MwM0IgLyogR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQ
VVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkx
QzMyRDQ3NjI3MzI4QUM0MDAwQ0MwM0IgLyogR1BVUHJlZGVmaW5lZENvbG9yU3BhY2UuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gR1BVUHJlZGVmaW5lZENvbG9yU3BhY2UuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMUMzMkQ0NzgyNzMyOEFEQjAwMENDMDNCIC8qIEdQVVF1ZXJ5U2V0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEdQVVF1ZXJ5U2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTFDMzJENDc5MjczMjhBRTQwMDBDQzAzQiAvKiBHUFVRdWVyeVNldERlc2NyaXB0b3IuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gR1BVUXVlcnlTZXREZXNjcmlwdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTFDMzJENDdBMjczMjhBRUYwMDBDQzAzQiAvKiBHUFVRdWVyeVR5cGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gR1BVUXVlcnlUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTFDMzJENDdCMjczMjhBRjkwMDBDQzAzQiAvKiBHUFVRdWV1ZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBH
UFVRdWV1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzMyRDQ3QzI3MzI4QjAz
MDAwQ0MwM0IgLyogR1BVUmVuZGVyQnVuZGxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVVJlbmRlckJ1
bmRsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzMyRDQ3RDI3MzI4QjBFMDAw
Q0MwM0IgLyogR1BVUmVuZGVyQnVuZGxlRGVzY3JpcHRvci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVS
ZW5kZXJCdW5kbGVEZXNjcmlwdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFD
MzJENDdFMjczMjhCMTcwMDBDQzAzQiAvKiBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEdQVVJlbmRlckJ1bmRsZUVuY29kZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMUMzMkQ0N0YyNzMyOEIyRTAwMENDMDNCIC8qIEdQVVJlbmRlckJ1bmRsZUVuY29k
ZXJEZXNjcmlwdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVVJlbmRlckJ1bmRsZUVuY29kZXJEZXNj
cmlwdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDMzJENDgxMjczMjhCNDQw
MDBDQzAzQiAvKiBHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMUMzMkQ0ODIyNzMyOEI1MjAwMENDMDNCIC8qIEdQVVJlbmRlclBhc3NEZXB0aFN0ZW5j
aWxBdHRhY2htZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxB
dHRhY2htZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDMzJENDgzMjczMjhC
NUYwMDBDQzAzQiAvKiBHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBH
UFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkx
QzMyRDQ4NDI3MzI4QjZCMDAwQ0MwM0IgLyogR1BVUmVuZGVyUGFzc0VuY29kZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gR1BVUmVuZGVyUGFzc0VuY29kZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMUMzMkQ0ODUyNzMyOEI3QzAwMENDMDNCIC8qIEdQVVJlbmRlclBhc3NMYXlvdXQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gR1BVUmVuZGVyUGFzc0xheW91dC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkxQzMyRDQ4NjI3MzI4QjhBMDAwQ0MwM0IgLyogR1BVUmVuZGVyUGFzc1RpbWVz
dGFtcExvY2F0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVVJlbmRlclBhc3NUaW1lc3RhbXBMb2Nh
dGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzMyRDQ4NzI3MzI4Qjk1MDAw
Q0MwM0IgLyogR1BVUmVuZGVyUGFzc1RpbWVzdGFtcFdyaXRlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQ
VVJlbmRlclBhc3NUaW1lc3RhbXBXcml0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkxQzMyRDQ4ODI3MzI4QjlGMDAwQ0MwM0IgLyogR1BVUmVuZGVyUGlwZWxpbmUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gR1BVUmVuZGVyUGlwZWxpbmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMUMzMkQ0ODkyNzMyOEJBOTAwMENDMDNCIC8qIEdQVVN0b3JlT3AuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gR1BVU3RvcmVPcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzMyRDQ4QTI3
MzI4QkI1MDAwQ0MwM0IgLyogR1BVVGV4dHVyZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVUZXh0dXJl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDMzJENDhCMjczMjhCQkQwMDBDQzAz
QiAvKiBHUFVUZXh0dXJlQXNwZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVVRleHR1cmVBc3BlY3Qu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUMzMkQ0OEMyNzMyOEJDQzAwMENDMDNC
IC8qIEdQVVRleHR1cmVGb3JtYXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVVGV4dHVyZUZvcm1hdC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzMyRDQ4RDI3MzI4QkQ4MDAwQ0MwM0Ig
LyogR1BVVGV4dHVyZVZpZXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVVGV4dHVyZVZpZXcuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUMzMkQ0OTAyNzMyOEY1MTAwMENDMDNCIC8qIEdQ
VUNvbW1hbmRFbmNvZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdQVUNvbW1hbmRFbmNvZGVy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUMzMkQ0OTIyNzMyOTE5QzAwMEND
MDNCIC8qIEdQVUNvbXB1dGVQYXNzRW5jb2Rlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHUFVD
b21wdXRlUGFzc0VuY29kZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzMy
RDQ5MzI3MzI5NEZDMDAwQ0MwM0IgLyogR1BVUXVlcnlTZXQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gR1BVUXVlcnlTZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzMyRDQ5
NDI3MzI5NkZFMDAwQ0MwM0IgLyogR1BVUXVldWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR1BV
UXVldWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzMyRDQ5NTI3MzI5OTE4
MDAwQ0MwM0IgLyogR1BVUmVuZGVyQnVuZGxlRW5jb2Rlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMUMzMkQ0OTYyNzMyOUMwRTAwMENDMDNCIC8qIEdQVVJlbmRlclBhc3NFbmNvZGVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEdQVVJlbmRlclBhc3NFbmNvZGVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMUMzOTY5Q0YxQjc0MjExRTAwMkJDRkE3IC8qIEZvbnRDYWNoZUNv
cmVUZXh0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZvbnRDYWNo
ZUNvcmVUZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM0M0RFNjgyMkFC
NEI4QTAwMTUyN0Q5IC8qIExvY2FsQ3VycmVudFRyYWl0Q29sbGVjdGlvbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBMb2NhbEN1cnJlbnRUcmFpdENvbGxlY3Rpb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM0M0RFNkEyMkFCNEI4QTAwMTUyN0Q5IC8qIExv
Y2FsQ3VycmVudFRyYWl0Q29sbGVjdGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IExvY2FsQ3VycmVudFRyYWl0Q29sbGVjdGlvbi5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTcwNTMsNiArNzExMywxNCBAQAogCQkxQzREMEREMTI0RDlGMERC
MDAzRDc0OTggLyogR2x5cGhCdWZmZXJNZW1iZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdseXBoQnVm
ZmVyTWVtYmVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzUwQzQ5NTIyQzg0
RjI0MDBBNkU0QkUgLyogV0hMU0xTdGFuZGFyZExpYnJhcnlGdW5jdGlvbk1hcC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXSExTTFN0YW5kYXJkTGlicmFyeUZ1bmN0aW9uTWFwLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM1RTFEQTYyNkY5NDlCOTAwRTA3QUYxIC8qIEZvbnRQ
YWxldHRlVmFsdWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRQYWxldHRlVmFsdWVzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDNUYyQTk3MjczMjdDRDgwMDczQzYwQyAvKiBHUFVD
b21wdXRlUGlwZWxpbmUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVUNvbXB1dGVQaXBlbGluZS5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDNUYyQTk5MjczMjdEMjgwMDczQzYwQyAvKiBHUFVDb2xv
ckRpY3QuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IEdQVUNvbG9yRGljdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTFDNUYyQTlBMjczMjdENjAwMDczQzYwQyAvKiBHUFVSZW5kZXJQaXBlbGluZS5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gR1BVUmVuZGVyUGlwZWxpbmUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkxQzVGMkE5QjI3MzI3REQ3MDA3M0M2MEMgLyogR1BVVGV4dHVyZUZvcm1hdC5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
R1BVVGV4dHVyZUZvcm1hdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDNUYy
QTlDMjczMjdFN0MwMDczQzYwQyAvKiBHUFVRdWVyeVNldC5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVUXVlcnlTZXQu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzVGMkE5RDI3MzI3RThCMDA3M0M2
MEMgLyogR1BVUXVlcnlTZXREZXNjcmlwdG9yLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVRdWVyeVNldERlc2NyaXB0
b3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzVGMkE5RTI3MzI3RTk1MDA3
M0M2MEMgLyogR1BVUXVlcnlUeXBlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVRdWVyeVR5cGUuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkxQzVGMkE5RjI3MzI3RUExMDA3M0M2MEMgLyogR1BVUGlw
ZWxpbmVTdGF0aXN0aWNOYW1lLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzY2MjYwRTFDNkU3Q0E2MDBBQjUyN0Mg
LyogRm9udEZhY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRm9u
dEZhY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzY2MjYwRjFDNkU3Q0E2
MDBBQjUyN0MgLyogRm9udEZhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Rm9udEZhY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM2RkQ4QUMyNTBBMjk0
RDAwRDZFOTIwIC8qIEZvbnRQbGF0Zm9ybURhdGFDb3JlVGV4dC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBGb250UGxhdGZvcm1EYXRhQ29yZVRleHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtNzA2NSw2ICs3MTMzLDM2IEBACiAJCTFDODFCOTU4MEU5NzMzMDgwMDI2NkUwNyAv
KiBJbnNwZWN0b3JDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5z
cGVjdG9yQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDODRCRTQxMjZE
MzkzOUYwMDJENjFGQyAvKiBDb21wb3NlZENoYXJhY3RlckNsdXN0ZXJUZXh0SXRlcmF0b3IuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ29tcG9zZWRDaGFyYWN0ZXJDbHVzdGVyVGV4dEl0ZXJhdG9yLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDOEQyNkQwMjJDMDlDREUwMEQxMjVGMyAvKiBs
aWJjb21wcmVzc2lvbi50YmQgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSAic291cmNlY29kZS50ZXh0LWJhc2VkLWR5bGliLWRlZmluaXRpb24iOyBuYW1l
ID0gbGliY29tcHJlc3Npb24udGJkOyBwYXRoID0gdXNyL2xpYi9saWJjb21wcmVzc2lvbi50YmQ7
IHNvdXJjZVRyZWUgPSBTREtST09UOyB9OworCQkxQzhGRUQzQTI3MzI3NTVDMDA5RUNCQUUgLyog
R1BVQ29tbWFuZEJ1ZmZlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVQ29tbWFuZEJ1ZmZlci5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDOEZFRDNDMjczMjc1NkIwMDlFQ0JBRSAvKiBHUFVDb21t
YW5kQnVmZmVyRGVzY3JpcHRvci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0b3Iu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzhGRUQzRDI3MzI3NTdDMDA5RUNC
QUUgLyogR1BVQ29tbWFuZEVuY29kZXJEZXNjcmlwdG9yLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVDb21tYW5kRW5j
b2RlckRlc2NyaXB0b3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzhGRUQz
RTI3MzI3NTg3MDA5RUNCQUUgLyogR1BVSW1hZ2VEYXRhTGF5b3V0LmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVJbWFn
ZURhdGFMYXlvdXQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzhGRUQzRjI3
MzI3NTkxMDA5RUNCQUUgLyogR1BVSW1hZ2VDb3B5QnVmZmVyLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVJbWFnZUNv
cHlCdWZmZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzhGRUQ0MDI3MzI3
NUE3MDA5RUNCQUUgLyogR1BVSW1hZ2VDb3B5VGV4dHVyZS5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVSW1hZ2VDb3B5
VGV4dHVyZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDOEZFRDQxMjczMjc1
QkEwMDlFQ0JBRSAvKiBHUFVJbWFnZUNvcHlUZXh0dXJlVGFnZ2VkLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVJbWFn
ZUNvcHlUZXh0dXJlVGFnZ2VkLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUM4
RkVENDIyNzMyNzVDNzAwOUVDQkFFIC8qIEdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IEdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkxQzhGRUQ0MzI3MzI3NUQzMDA5RUNCQUUgLyogR1BVUHJvZ3JhbW1hYmxlUGFzc0Vu
Y29kZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IEdQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyLmlkbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUM4RkVENDQyNzMyNzVERDAwOUVDQkFFIC8qIEdQVUNvbXB1
dGVQYXNzRW5jb2Rlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUM4RkVENDUyNzMyNzVFQzAwOUVDQkFFIC8qIEdQVUNv
bXB1dGVQYXNzVGltZXN0YW1wTG9jYXRpb24uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVUNvbXB1dGVQYXNzVGltZXN0
YW1wTG9jYXRpb24uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzhGRUQ0NjI3
MzI3NUY0MDA5RUNCQUUgLyogR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0ZS5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
R1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0ZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTFDOEZFRDQ3MjczMjc2MDYwMDlFQ0JBRSAvKiBHUFVDb21wdXRlUGFzc0Rlc2NyaXB0
b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IEdQVUNvbXB1dGVQYXNzRGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTFDOEZFRDQ4MjczMjc2MEYwMDlFQ0JBRSAvKiBHUFVSZW5kZXJFbmNv
ZGVyQmFzZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gR1BVUmVuZGVyRW5jb2RlckJhc2UuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkxQzhGRUQ0OTI3MzI3NjE5MDA5RUNCQUUgLyogR1BVUmVuZGVyUGFz
c0VuY29kZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IEdQVVJlbmRlclBhc3NFbmNvZGVyLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMUM4RkVENEEyNzMyNzYyNzAwOUVDQkFFIC8qIEdQVVJlbmRlclBh
c3NUaW1lc3RhbXBMb2NhdGlvbi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVUmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0
aW9uLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUM4RkVENEIyNzMyNzYzMDAw
OUVDQkFFIC8qIEdQVVJlbmRlclBhc3NUaW1lc3RhbXBXcml0ZS5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVUmVuZGVy
UGFzc1RpbWVzdGFtcFdyaXRlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUM4
RkVENEMyNzMyNzY0NzAwOUVDQkFFIC8qIEdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTFDOEZFRDREMjczMjc2NTUwMDlFQ0JBRSAvKiBHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2ht
ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmlkbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUM4RkVENEUyNzMyNzY2QzAwOUVDQkFFIC8qIEdQVVJlbmRl
clBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVSZW5kZXJQYXNzRGVwdGhT
dGVuY2lsQXR0YWNobWVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDOEZF
RDRGMjczMjc2NzQwMDlFQ0JBRSAvKiBHUFVMb2FkT3AuaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVUxvYWRPcC5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDOEZFRDUwMjczMjc2N0UwMDlFQ0JBRSAv
KiBHUFVTdG9yZU9wLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVTdG9yZU9wLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMUM4RkVENTEyNzMyNzY4ODAwOUVDQkFFIC8qIEdQVVJlbmRlclBhc3NMYXlv
dXQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IEdQVVJlbmRlclBhc3NMYXlvdXQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkxQzhGRUQ1MjI3MzI3NjkyMDA5RUNCQUUgLyogR1BVUmVuZGVyQnVuZGxlLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBHUFVSZW5kZXJCdW5kbGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkxQzhGRUQ1MzI3MzI3NjlFMDA5RUNCQUUgLyogR1BVUmVuZGVyQnVuZGxlRGVzY3JpcHRvci5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gR1BVUmVuZGVyQnVuZGxlRGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTFDOEZFRDU0MjczMjc2QkIwMDlFQ0JBRSAvKiBHUFVSZW5kZXJCdW5kbGVF
bmNvZGVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMUM4RkVENTUyNzMyNzZDQjAwOUVDQkFFIC8qIEdQVVJlbmRlckJ1
bmRsZUVuY29kZXJEZXNjcmlwdG9yLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyRGVz
Y3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDOEZFRDU2MjczMjc2
RDgwMDlFQ0JBRSAvKiBHUFVRdWV1ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVUXVldWUuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkxQzhGRUQ1NzI3MzI3NzQ1MDA5RUNCQUUgLyogR1BVQ29tbWFu
ZEVuY29kZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IEdQVUNvbW1hbmRFbmNvZGVyLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMUM4RkVENTkyNzMyN0MyMzAwOUVDQkFFIC8qIEdQVUJ1ZmZlci5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gR1BVQnVmZmVyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM5MDRE
RjkwQkE5RDJDODAwODFFOUQwIC8qIFZlcnNpb24ueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lnhj
Y29uZmlnOyBwYXRoID0gVmVyc2lvbi54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMUNBRjM0N0UwQTZDNDA1MjAwQUJFMDZFIC8qIFdlYlNjcmlwdE9iamVjdC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJTY3JpcHRPYmplY3QuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBRjM0N0YwQTZDNDA1MjAwQUJFMDZFIC8qIFdlYlNjcmlw
dE9iamVjdC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYlNj
cmlwdE9iamVjdC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTcwNzMsNiArNzE3
MSwxMCBAQAogCQkxQ0FGNTZERTI1MzAyNDVBMDAxN0I0NzIgLyogRHJhd0dseXBoc1JlY29yZGVy
Q29yZVRleHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRHJhd0dseXBoc1JlY29yZGVyQ29yZVRl
eHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0I2QjRGODIxN0I4MzkzMDA5
M0I5Q0QgLyogVGV4dERlY29yYXRpb25UaGlja25lc3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGV4dERl
Y29yYXRpb25UaGlja25lc3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNCNkI0
RkIyMTdCODM5NDAwOTNCOUNEIC8qIFRleHRVbmRlcmxpbmVPZmZzZXQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gVGV4dFVuZGVybGluZU9mZnNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkx
Q0JGMUM4QTI3MkZDRDk5MDA4MDg4ODAgLyogR1BVT2JqZWN0QmFzZS5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVT2Jq
ZWN0QmFzZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDQkYxQzhCMjcyRkQw
ODYwMDgwODg4MCAvKiBHUFVPYmplY3REZXNjcmlwdG9yQmFzZS5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVT2JqZWN0
RGVzY3JpcHRvckJhc2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0JGMUM4
RjI3MkZENjg0MDA4MDg4ODAgLyogR1BVT2JqZWN0RGVzY3JpcHRvckJhc2UuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gR1BVT2JqZWN0RGVzY3JpcHRvckJhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMUNCRjFDOTYyNzJGREMxRDAwODA4ODgwIC8qIEdQVUludGVncmFsVHlwZXMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gR1BVSW50ZWdyYWxUeXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkxQ0JGOTAwRDI3MEZGOEY2MDAwQzQ1N0QgLyogRGlzcGxheUxpc3RSZXNvdXJjZUhlYXAu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRGlzcGxheUxpc3RSZXNvdXJjZUhlYXAuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMUNDNTRBRkIyNzBGOTJEQTAwNUJGOEJFIC8qIFByb2Nlc3NRdWFs
aWZpZWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJvY2Vzc1F1YWxpZmllZC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkxQ0NERjVCQjE5OTAzMzI0MDBCQ0VCQUQgLyogU1ZHVG9PVEZGb250
Q29udmVyc2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdU
b09URkZvbnRDb252ZXJzaW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4
NjQ0LDExICsxODc0NiwxMSBAQAogCQkxQTU2OUNDNDBEN0UyQjYwMDA3QzM5ODMgLyogYnJpZGdl
ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQk1OUI1OTc3
MTExMDg2NTU2MDA3MTU5RTggLyoganNjICovLAogCQkJCTFBNTY5Q0UyMEQ3RTJCODIwMDdDMzk4
MyAvKiBvYmpjICovLAogCQkJCTU5OUU3NThGMTEwNTVBMUYwMEQ5MDRGQSAvKiBCcmlkZ2UuaCAq
LywKIAkJCQkxQTcxRDU3OTBGMzM4MTkwMDBGOUNFNEUgLyogSWRlbnRpZmllclJlcC5jcHAgKi8s
CiAJCQkJMUE3MUQ1N0EwRjMzODE5MDAwRjlDRTRFIC8qIElkZW50aWZpZXJSZXAuaCAqLywKKwkJ
CQk1OUI1OTc3MTExMDg2NTU2MDA3MTU5RTggLyoganNjICovLAogCQkJCTFBNTY5Q0VGMEQ3RTJC
ODIwMDdDMzk4MyAvKiBydW50aW1lX2FycmF5LmNwcCAqLywKIAkJCQkxQTU2OUNGMDBEN0UyQjgy
MDA3QzM5ODMgLyogcnVudGltZV9hcnJheS5oICovLAogCQkJCTFBNTY5Q0YxMEQ3RTJCODIwMDdD
Mzk4MyAvKiBydW50aW1lX21ldGhvZC5jcHAgKi8sCkBAIC0xOTIxNyw2ICsxOTMxOSwxMTUgQEAK
IAkJCXRhYldpZHRoID0gODsKIAkJCXVzZXNUYWJzID0gMDsKIAkJfTsKKwkJMUNCRjFDODQyNzJG
Q0E5RTAwODA4ODgwIC8qIFdlYkdQVSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hp
bGRyZW4gPSAoCisJCQkJMUMzMkQ0NUUyNzMyODlDNjAwMENDMDNCIC8qIEdQVUJpbmRHcm91cC5o
ICovLAorCQkJCTFDMUY1MkM1MjczMjg0NUYwMDczRUE3RiAvKiBHUFVCaW5kR3JvdXAuaWRsICov
LAorCQkJCTFDMzJENDYwMjczMjg5Q0UwMDBDQzAzQiAvKiBHUFVCdWZmZXIuaCAqLywKKwkJCQkx
QzhGRUQ1OTI3MzI3QzIzMDA5RUNCQUUgLyogR1BVQnVmZmVyLmlkbCAqLywKKwkJCQkxQzMyRDQ2
MTI3MzI4OUQ1MDAwQ0MwM0IgLyogR1BVQ29sb3JEaWN0LmggKi8sCisJCQkJMUM1RjJBOTkyNzMy
N0QyODAwNzNDNjBDIC8qIEdQVUNvbG9yRGljdC5pZGwgKi8sCisJCQkJMUMzMkQ0NjIyNzMyODlE
RDAwMENDMDNCIC8qIEdQVUNvbW1hbmRCdWZmZXIuaCAqLywKKwkJCQkxQzhGRUQzQTI3MzI3NTVD
MDA5RUNCQUUgLyogR1BVQ29tbWFuZEJ1ZmZlci5pZGwgKi8sCisJCQkJMUMzMkQ0NjMyNzMyODlG
NDAwMENDMDNCIC8qIEdQVUNvbW1hbmRCdWZmZXJEZXNjcmlwdG9yLmggKi8sCisJCQkJMUM4RkVE
M0MyNzMyNzU2QjAwOUVDQkFFIC8qIEdQVUNvbW1hbmRCdWZmZXJEZXNjcmlwdG9yLmlkbCAqLywK
KwkJCQkxQzMyRDQ5MDI3MzI4RjUxMDAwQ0MwM0IgLyogR1BVQ29tbWFuZEVuY29kZXIuY3BwICov
LAorCQkJCTFDMzJENDY0MjczMjg5RkMwMDBDQzAzQiAvKiBHUFVDb21tYW5kRW5jb2Rlci5oICov
LAorCQkJCTFDOEZFRDU3MjczMjc3NDUwMDlFQ0JBRSAvKiBHUFVDb21tYW5kRW5jb2Rlci5pZGwg
Ki8sCisJCQkJMUMzMkQ0NjUyNzMyOEEwNTAwMENDMDNCIC8qIEdQVUNvbW1hbmRFbmNvZGVyRGVz
Y3JpcHRvci5oICovLAorCQkJCTFDOEZFRDNEMjczMjc1N0MwMDlFQ0JBRSAvKiBHUFVDb21tYW5k
RW5jb2RlckRlc2NyaXB0b3IuaWRsICovLAorCQkJCTFDMzJENDY2MjczMjhBMEYwMDBDQzAzQiAv
KiBHUFVDb21wdXRlUGFzc0Rlc2NyaXB0b3IuaCAqLywKKwkJCQkxQzhGRUQ0NzI3MzI3NjA2MDA5
RUNCQUUgLyogR1BVQ29tcHV0ZVBhc3NEZXNjcmlwdG9yLmlkbCAqLywKKwkJCQkxQzMyRDQ5MjI3
MzI5MTlDMDAwQ0MwM0IgLyogR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmNwcCAqLywKKwkJCQkxQzMy
RDQ2NzI3MzI4QTE3MDAwQ0MwM0IgLyogR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmggKi8sCisJCQkJ
MUM4RkVENDQyNzMyNzVERDAwOUVDQkFFIC8qIEdQVUNvbXB1dGVQYXNzRW5jb2Rlci5pZGwgKi8s
CisJCQkJMUMzMkQ0NjgyNzMyOEEyMjAwMENDMDNCIC8qIEdQVUNvbXB1dGVQYXNzVGltZXN0YW1w
TG9jYXRpb24uaCAqLywKKwkJCQkxQzhGRUQ0NTI3MzI3NUVDMDA5RUNCQUUgLyogR1BVQ29tcHV0
ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbi5pZGwgKi8sCisJCQkJMUMzMkQ0NjkyNzMyOEEyQzAwMEND
MDNCIC8qIEdQVUNvbXB1dGVQYXNzVGltZXN0YW1wV3JpdGUuaCAqLywKKwkJCQkxQzhGRUQ0NjI3
MzI3NUY0MDA5RUNCQUUgLyogR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0ZS5pZGwgKi8sCisJ
CQkJMUMzMkQ0NkEyNzMyOEEzNDAwMENDMDNCIC8qIEdQVUNvbXB1dGVQaXBlbGluZS5oICovLAor
CQkJCTFDNUYyQTk3MjczMjdDRDgwMDczQzYwQyAvKiBHUFVDb21wdXRlUGlwZWxpbmUuaWRsICov
LAorCQkJCTFDMzJENDZCMjczMjhBM0QwMDBDQzAzQiAvKiBHUFVFeHRlbnQzRERpY3QuaCAqLywK
KwkJCQkxQzFGNTJDODI3MzI4NUI5MDA3M0VBN0YgLyogR1BVRXh0ZW50M0REaWN0LmlkbCAqLywK
KwkJCQkxQzMyRDQ2QzI3MzI4QTQ1MDAwQ0MwM0IgLyogR1BVSW1hZ2VDb3B5QnVmZmVyLmggKi8s
CisJCQkJMUM4RkVEM0YyNzMyNzU5MTAwOUVDQkFFIC8qIEdQVUltYWdlQ29weUJ1ZmZlci5pZGwg
Ki8sCisJCQkJMUMzMkQ0NkQyNzMyOEE1MTAwMENDMDNCIC8qIEdQVUltYWdlQ29weUV4dGVybmFs
SW1hZ2UuaCAqLywKKwkJCQkxQzhGRUQ0MjI3MzI3NUM3MDA5RUNCQUUgLyogR1BVSW1hZ2VDb3B5
RXh0ZXJuYWxJbWFnZS5pZGwgKi8sCisJCQkJMUMzMkQ0NkUyNzMyOEE1RDAwMENDMDNCIC8qIEdQ
VUltYWdlQ29weVRleHR1cmUuaCAqLywKKwkJCQkxQzhGRUQ0MDI3MzI3NUE3MDA5RUNCQUUgLyog
R1BVSW1hZ2VDb3B5VGV4dHVyZS5pZGwgKi8sCisJCQkJMUMzMkQ0NkYyNzMyOEE2NzAwMENDMDNC
IC8qIEdQVUltYWdlQ29weVRleHR1cmVUYWdnZWQuaCAqLywKKwkJCQkxQzhGRUQ0MTI3MzI3NUJB
MDA5RUNCQUUgLyogR1BVSW1hZ2VDb3B5VGV4dHVyZVRhZ2dlZC5pZGwgKi8sCisJCQkJMUMzMkQ0
NzAyNzMyOEE3ODAwMENDMDNCIC8qIEdQVUltYWdlRGF0YUxheW91dC5oICovLAorCQkJCTFDOEZF
RDNFMjczMjc1ODcwMDlFQ0JBRSAvKiBHUFVJbWFnZURhdGFMYXlvdXQuaWRsICovLAorCQkJCTFD
MzJENDcxMjczMjhBODcwMDBDQzAzQiAvKiBHUFVJbmRleEZvcm1hdC5oICovLAorCQkJCTFDMUY1
MkM5MjczMjg2MjQwMDczRUE3RiAvKiBHUFVJbmRleEZvcm1hdC5pZGwgKi8sCisJCQkJMUNCRjFD
OTYyNzJGREMxRDAwODA4ODgwIC8qIEdQVUludGVncmFsVHlwZXMuaCAqLywKKwkJCQkxQzMyRDQ3
MjI3MzI4QTk3MDAwQ0MwM0IgLyogR1BVTG9hZE9wLmggKi8sCisJCQkJMUM4RkVENEYyNzMyNzY3
NDAwOUVDQkFFIC8qIEdQVUxvYWRPcC5pZGwgKi8sCisJCQkJMUNCRjFDOEEyNzJGQ0Q5OTAwODA4
ODgwIC8qIEdQVU9iamVjdEJhc2UuaWRsICovLAorCQkJCTFDQkYxQzhGMjcyRkQ2ODQwMDgwODg4
MCAvKiBHUFVPYmplY3REZXNjcmlwdG9yQmFzZS5oICovLAorCQkJCTFDQkYxQzhCMjcyRkQwODYw
MDgwODg4MCAvKiBHUFVPYmplY3REZXNjcmlwdG9yQmFzZS5pZGwgKi8sCisJCQkJMUMzMkQ0NzMy
NzMyOEFBODAwMENDMDNCIC8qIEdQVU9yaWdpbjJERGljdC5oICovLAorCQkJCTFDMUY1MkMzMjcz
MjgyMTkwMDczRUE3RiAvKiBHUFVPcmlnaW4yRERpY3QuaWRsICovLAorCQkJCTFDMzJENDc0Mjcz
MjhBQjIwMDBDQzAzQiAvKiBHUFVPcmlnaW4zRERpY3QuaCAqLywKKwkJCQkxQzFGNTJDNDI3MzI4
MjQ0MDA3M0VBN0YgLyogR1BVT3JpZ2luM0REaWN0LmlkbCAqLywKKwkJCQkxQzMyRDQ3NTI3MzI4
QUJCMDAwQ0MwM0IgLyogR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmggKi8sCisJCQkJMUM1RjJB
OUYyNzMyN0VBMTAwNzNDNjBDIC8qIEdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5pZGwgKi8sCisJ
CQkJMUMzMkQ0NzYyNzMyOEFDNDAwMENDMDNCIC8qIEdQVVByZWRlZmluZWRDb2xvclNwYWNlLmgg
Ki8sCisJCQkJMUMxRjUyQ0EyNzMyODY4MjAwNzNFQTdGIC8qIEdQVVByZWRlZmluZWRDb2xvclNw
YWNlLmlkbCAqLywKKwkJCQkxQzhGRUQ0MzI3MzI3NUQzMDA5RUNCQUUgLyogR1BVUHJvZ3JhbW1h
YmxlUGFzc0VuY29kZXIuaWRsICovLAorCQkJCTFDMzJENDkzMjczMjk0RkMwMDBDQzAzQiAvKiBH
UFVRdWVyeVNldC5jcHAgKi8sCisJCQkJMUMzMkQ0NzgyNzMyOEFEQjAwMENDMDNCIC8qIEdQVVF1
ZXJ5U2V0LmggKi8sCisJCQkJMUM1RjJBOUMyNzMyN0U3QzAwNzNDNjBDIC8qIEdQVVF1ZXJ5U2V0
LmlkbCAqLywKKwkJCQkxQzMyRDQ3OTI3MzI4QUU0MDAwQ0MwM0IgLyogR1BVUXVlcnlTZXREZXNj
cmlwdG9yLmggKi8sCisJCQkJMUM1RjJBOUQyNzMyN0U4QjAwNzNDNjBDIC8qIEdQVVF1ZXJ5U2V0
RGVzY3JpcHRvci5pZGwgKi8sCisJCQkJMUMzMkQ0N0EyNzMyOEFFRjAwMENDMDNCIC8qIEdQVVF1
ZXJ5VHlwZS5oICovLAorCQkJCTFDNUYyQTlFMjczMjdFOTUwMDczQzYwQyAvKiBHUFVRdWVyeVR5
cGUuaWRsICovLAorCQkJCTFDMzJENDk0MjczMjk2RkUwMDBDQzAzQiAvKiBHUFVRdWV1ZS5jcHAg
Ki8sCisJCQkJMUMzMkQ0N0IyNzMyOEFGOTAwMENDMDNCIC8qIEdQVVF1ZXVlLmggKi8sCisJCQkJ
MUM4RkVENTYyNzMyNzZEODAwOUVDQkFFIC8qIEdQVVF1ZXVlLmlkbCAqLywKKwkJCQkxQzMyRDQ3
QzI3MzI4QjAzMDAwQ0MwM0IgLyogR1BVUmVuZGVyQnVuZGxlLmggKi8sCisJCQkJMUM4RkVENTIy
NzMyNzY5MjAwOUVDQkFFIC8qIEdQVVJlbmRlckJ1bmRsZS5pZGwgKi8sCisJCQkJMUMzMkQ0N0Qy
NzMyOEIwRTAwMENDMDNCIC8qIEdQVVJlbmRlckJ1bmRsZURlc2NyaXB0b3IuaCAqLywKKwkJCQkx
QzhGRUQ1MzI3MzI3NjlFMDA5RUNCQUUgLyogR1BVUmVuZGVyQnVuZGxlRGVzY3JpcHRvci5pZGwg
Ki8sCisJCQkJMUMzMkQ0OTUyNzMyOTkxODAwMENDMDNCIC8qIEdQVVJlbmRlckJ1bmRsZUVuY29k
ZXIuY3BwICovLAorCQkJCTFDMzJENDdFMjczMjhCMTcwMDBDQzAzQiAvKiBHUFVSZW5kZXJCdW5k
bGVFbmNvZGVyLmggKi8sCisJCQkJMUM4RkVENTQyNzMyNzZCQjAwOUVDQkFFIC8qIEdQVVJlbmRl
ckJ1bmRsZUVuY29kZXIuaWRsICovLAorCQkJCTFDMzJENDdGMjczMjhCMkUwMDBDQzAzQiAvKiBH
UFVSZW5kZXJCdW5kbGVFbmNvZGVyRGVzY3JpcHRvci5oICovLAorCQkJCTFDOEZFRDU1MjczMjc2
Q0IwMDlFQ0JBRSAvKiBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyRGVzY3JpcHRvci5pZGwgKi8sCisJ
CQkJMUM4RkVENDgyNzMyNzYwRjAwOUVDQkFFIC8qIEdQVVJlbmRlckVuY29kZXJCYXNlLmlkbCAq
LywKKwkJCQkxQzMyRDQ4MTI3MzI4QjQ0MDAwQ0MwM0IgLyogR1BVUmVuZGVyUGFzc0NvbG9yQXR0
YWNobWVudC5oICovLAorCQkJCTFDOEZFRDREMjczMjc2NTUwMDlFQ0JBRSAvKiBHUFVSZW5kZXJQ
YXNzQ29sb3JBdHRhY2htZW50LmlkbCAqLywKKwkJCQkxQzMyRDQ4MjI3MzI4QjUyMDAwQ0MwM0Ig
LyogR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaCAqLywKKwkJCQkxQzhGRUQ0
RTI3MzI3NjZDMDA5RUNCQUUgLyogR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQu
aWRsICovLAorCQkJCTFDMzJENDgzMjczMjhCNUYwMDBDQzAzQiAvKiBHUFVSZW5kZXJQYXNzRGVz
Y3JpcHRvci5oICovLAorCQkJCTFDOEZFRDRDMjczMjc2NDcwMDlFQ0JBRSAvKiBHUFVSZW5kZXJQ
YXNzRGVzY3JpcHRvci5pZGwgKi8sCisJCQkJMUMzMkQ0OTYyNzMyOUMwRTAwMENDMDNCIC8qIEdQ
VVJlbmRlclBhc3NFbmNvZGVyLmNwcCAqLywKKwkJCQkxQzMyRDQ4NDI3MzI4QjZCMDAwQ0MwM0Ig
LyogR1BVUmVuZGVyUGFzc0VuY29kZXIuaCAqLywKKwkJCQkxQzhGRUQ0OTI3MzI3NjE5MDA5RUNC
QUUgLyogR1BVUmVuZGVyUGFzc0VuY29kZXIuaWRsICovLAorCQkJCTFDMzJENDg1MjczMjhCN0Mw
MDBDQzAzQiAvKiBHUFVSZW5kZXJQYXNzTGF5b3V0LmggKi8sCisJCQkJMUM4RkVENTEyNzMyNzY4
ODAwOUVDQkFFIC8qIEdQVVJlbmRlclBhc3NMYXlvdXQuaWRsICovLAorCQkJCTFDMzJENDg2Mjcz
MjhCOEEwMDBDQzAzQiAvKiBHUFVSZW5kZXJQYXNzVGltZXN0YW1wTG9jYXRpb24uaCAqLywKKwkJ
CQkxQzhGRUQ0QTI3MzI3NjI3MDA5RUNCQUUgLyogR1BVUmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0
aW9uLmlkbCAqLywKKwkJCQkxQzMyRDQ4NzI3MzI4Qjk1MDAwQ0MwM0IgLyogR1BVUmVuZGVyUGFz
c1RpbWVzdGFtcFdyaXRlLmggKi8sCisJCQkJMUM4RkVENEIyNzMyNzYzMDAwOUVDQkFFIC8qIEdQ
VVJlbmRlclBhc3NUaW1lc3RhbXBXcml0ZS5pZGwgKi8sCisJCQkJMUMzMkQ0ODgyNzMyOEI5RjAw
MENDMDNCIC8qIEdQVVJlbmRlclBpcGVsaW5lLmggKi8sCisJCQkJMUM1RjJBOUEyNzMyN0Q2MDAw
NzNDNjBDIC8qIEdQVVJlbmRlclBpcGVsaW5lLmlkbCAqLywKKwkJCQkxQzMyRDQ4OTI3MzI4QkE5
MDAwQ0MwM0IgLyogR1BVU3RvcmVPcC5oICovLAorCQkJCTFDOEZFRDUwMjczMjc2N0UwMDlFQ0JB
RSAvKiBHUFVTdG9yZU9wLmlkbCAqLywKKwkJCQkxQzMyRDQ4QTI3MzI4QkI1MDAwQ0MwM0IgLyog
R1BVVGV4dHVyZS5oICovLAorCQkJCTFDMUY1MkM2MjczMjg0RjMwMDczRUE3RiAvKiBHUFVUZXh0
dXJlLmlkbCAqLywKKwkJCQkxQzMyRDQ4QjI3MzI4QkJEMDAwQ0MwM0IgLyogR1BVVGV4dHVyZUFz
cGVjdC5oICovLAorCQkJCTFDMUY1MkMxMjczMjgwOUYwMDczRUE3RiAvKiBHUFVUZXh0dXJlQXNw
ZWN0LmlkbCAqLywKKwkJCQkxQzMyRDQ4QzI3MzI4QkNDMDAwQ0MwM0IgLyogR1BVVGV4dHVyZUZv
cm1hdC5oICovLAorCQkJCTFDNUYyQTlCMjczMjdERDcwMDczQzYwQyAvKiBHUFVUZXh0dXJlRm9y
bWF0LmlkbCAqLywKKwkJCQkxQzMyRDQ4RDI3MzI4QkQ4MDAwQ0MwM0IgLyogR1BVVGV4dHVyZVZp
ZXcuaCAqLywKKwkJCQkxQzFGNTJDNzI3MzI4NEZDMDA3M0VBN0YgLyogR1BVVGV4dHVyZVZpZXcu
aWRsICovLAorCQkJKTsKKwkJCXBhdGggPSBXZWJHUFU7CisJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOworCQl9OwogCQkxQ0RENDQ2NjBCQTlDODAwMDBGOTAxNDcgLyogQ29uZmlndXJhdGlvbnMg
Ki8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtMjQ0NjUsNiAr
MjQ2NzYsNyBAQAogCQkJCTU3RDg0NjJBMUZFQUY1N0YwMENBMzY4MiAvKiB3ZWJhdXRobiAqLywK
IAkJCQk5N0JDNjlENTE1MDVGMDU0MDAxQjc0QUMgLyogd2ViZGF0YWJhc2UgKi8sCiAJCQkJOTk2
RTU5REExREYwMEQ0NTAwNjYxMkI5IC8qIHdlYmRyaXZlciAqLywKKwkJCQkxQ0JGMUM4NDI3MkZD
QTlFMDA4MDg4ODAgLyogV2ViR1BVICovLAogCQkJCTk3QUFCQ0Y3MTRGQTA5QjUwMDc0NTdBRSAv
KiB3ZWJzb2NrZXRzICovLAogCQkJCUUxRUU4QUM2MjQxMkIxNkYwMEU3OTRENiAvKiB3ZWJ4ciAq
LywKIAkJCSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3Jl
QnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRp
bk5hbWVzLmgKaW5kZXggOTYxNGVlMmNlOTdlMTg1YmQwOWMzNDc2Y2RiN2E0MDBjNTFlNjE3OC4u
NzQ5NmMzZjUxNGRiZDZhZTA1MzYzMTcyNDQyMDcwNDU2ZTlkMmJjZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAtMTI2LDYgKzEy
NiwyMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oRmlsZVN5c3RlbUZpbGVIYW5k
bGUpIFwKICAgICBtYWNybyhGaWxlU3lzdGVtSGFuZGxlKSBcCiAgICAgbWFjcm8oRmlsZVN5c3Rl
bVN5bmNBY2Nlc3NIYW5kbGUpIFwKKyAgICBtYWNybyhHUFVCaW5kR3JvdXApIFwKKyAgICBtYWNy
byhHUFVCdWZmZXIpIFwKKyAgICBtYWNybyhHUFVDb21tYW5kQnVmZmVyKSBcCisgICAgbWFjcm8o
R1BVQ29tbWFuZEVuY29kZXIpIFwKKyAgICBtYWNybyhHUFVDb21wdXRlUGFzc0VuY29kZXIpIFwK
KyAgICBtYWNybyhHUFVDb21wdXRlUGlwZWxpbmUpIFwKKyAgICBtYWNybyhHUFVRdWVyeVNldCkg
XAorICAgIG1hY3JvKEdQVVF1ZXVlKSBcCisgICAgbWFjcm8oR1BVUmVuZGVyQnVuZGxlKSBcCisg
ICAgbWFjcm8oR1BVUmVuZGVyQnVuZGxlRW5jb2RlcikgXAorICAgIG1hY3JvKEdQVVJlbmRlclBh
c3NFbmNvZGVyKSBcCisgICAgbWFjcm8oR1BVUmVuZGVyUGlwZWxpbmUpIFwKKyAgICBtYWNybyhH
UFVUZXh0dXJlKSBcCisgICAgbWFjcm8oR1BVVGV4dHVyZVZpZXcpIFwKICAgICBtYWNybyhHYW1l
cGFkKSBcCiAgICAgbWFjcm8oR2FtZXBhZEJ1dHRvbikgXAogICAgIG1hY3JvKEdhbWVwYWRFdmVu
dCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCmluZGV4IDYyY2NjM2IzNjEyYWY3ZGYzY2E4
YWZhMTEyYmQxYzZjY2M2ODg5ZTEuLjEyNWUwYzIwNGRmNTY5NGZjNjJhNDUzMjg0NzcxMDJkOGQ3
NmQzMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKQEAgLTYyNiw2ICs2MjYsMTIgQEAg
V2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkOgogICAgIFdlYkNvcmU6CiAgICAgICBkZWZhdWx0
OiB0cnVlCiAKK1dlYkdQVToKKyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFsdWU6CisgICAgV2Vi
Q29yZToKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisKIFdlYlJUQ0VuY3J5cHRpb25FbmFibGVkOgog
ICB0eXBlOiBib29sCiAgIGluc3BlY3Rvck92ZXJyaWRlOiB0cnVlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443231</attachid>
            <date>2021-11-03 13:06:08 -0700</date>
            <delta_ts>2021-11-04 09:28:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232661-20211103130607.patch</filename>
            <type>text/plain</type>
            <size>306591</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjU1NWQxODI5MjJmMTc2
NWE0MDk2YjJiMTUzMzVkMGZiODJhMGY1ZC4uZmQwNDk1MmNhYTc4OWVlZGEyMTU0MWFkMDNkODQ1
NmQwYzc0NWQ2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0NiBAQAorMjAyMS0xMS0wMyAgTXls
ZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJHUFVd
IEJpbmRpbmdzIFBhcnQgNzogQnJpbmcgYmFjayBjb21tYW5kIGVuY29kZXIgYmluZGluZ3MgY29k
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNjYx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBp
cyB0aGUgc2V2ZW50aCBjaHVuayBvZiBiaW5kaW5ncyBjb2RlLCBicm91Z2h0IGJhY2sgZnJvbSBy
MjgwNDY3LgorICAgICAgICBUaGlzIGNodW5rIGluY2x1ZGVzIHRoZSBjb21tYW5kIGVuY29kZXIg
b2JqZWN0cy4KKyAgICAgICAgVGhlIG9iamVjdHMgaGF2ZSBubyBtZXRob2RzIGluc2lkZSB0aGVt
IHlldCAtIHRob3NlIHdpbGwgY29tZSBsYXRlci4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVj
YXVzZSB0aGVyZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UgeWV0LgorCisgICAgICAgICogQ01ha2VM
aXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAg
ICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUJpbmRHcm91cC5o
OiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2Fu
Y2VsRXZlbnQuY3BwLgorICAgICAgICAoV2ViQ29yZTo6R1BVQmluZEdyb3VwOjpjcmVhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6R1BVQmluZEdyb3VwOjpsYWJlbCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpHUFVCaW5kR3JvdXA6OnNldExhYmVsKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUJp
bmRHcm91cDo6R1BVQmluZEdyb3VwKToKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVCaW5k
R3JvdXAuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUJ1ZmZl
ci5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAoV2ViQ29yZTo6R1BVQnVmZmVyOjpjcmVhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6R1BVQnVmZmVyOjpsYWJlbCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpHUFVCdWZmZXI6OnNldExhYmVsKToKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVC
dWZmZXIuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNvbG9y
RGljdC5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNvbG9yRGlj
dC5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEJ1
ZmZlci5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tbWFuZEJ1ZmZlcjo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbW1hbmRCdWZmZXI6OmxhYmVsIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbW1hbmRCdWZmZXI6OnNldExhYmVsKToKKyAgICAg
ICAgKFdlYkNvcmU6OkdQVUNvbW1hbmRCdWZmZXI6OkdQVUNvbW1hbmRCdWZmZXIpOgorICAgICAg
ICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRCdWZmZXIuaWRsOiBDb3BpZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAg
ICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRCdWZmZXJEZXNjcmlwdG9yLmg6IENvcGll
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVu
dC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0
b3IuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRF
bmNvZGVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpHUFVDb21tYW5kRW5jb2Rlcjo6
YmVnaW5SZW5kZXJQYXNzKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbW1hbmRFbmNvZGVyOjpi
ZWdpbkNvbXB1dGVQYXNzKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbW1hbmRFbmNvZGVyOjpj
b3B5QnVmZmVyVG9CdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tbWFuZEVuY29kZXI6
OmNvcHlCdWZmZXJUb1RleHR1cmUpOgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tbWFuZEVuY29k
ZXI6OmNvcHlUZXh0dXJlVG9CdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tbWFuZEVu
Y29kZXI6OmNvcHlUZXh0dXJlVG9UZXh0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbW1h
bmRFbmNvZGVyOjpmaWxsQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbW1hbmRFbmNv
ZGVyOjpwdXNoRGVidWdHcm91cCk6CisgICAgICAgIChXZWJDb3JlOjpHUFVDb21tYW5kRW5jb2Rl
cjo6cG9wRGVidWdHcm91cCk6CisgICAgICAgIChXZWJDb3JlOjpHUFVDb21tYW5kRW5jb2Rlcjo6
aW5zZXJ0RGVidWdNYXJrZXIpOgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tbWFuZEVuY29kZXI6
OndyaXRlVGltZXN0YW1wKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbW1hbmRFbmNvZGVyOjpy
ZXNvbHZlUXVlcnlTZXQpOgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tbWFuZEVuY29kZXI6OmZp
bmlzaCk6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuaDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpHUFVDb21tYW5kRW5jb2Rlcjo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkdQVUNvbW1hbmRFbmNvZGVyOjpsYWJlbCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpHUFVDb21tYW5kRW5jb2Rlcjo6c2V0TGFiZWwpOgorICAgICAgICAoV2ViQ29yZTo6
R1BVQ29tbWFuZEVuY29kZXI6OkdQVUNvbW1hbmRFbmNvZGVyKToKKyAgICAgICAgKiBNb2R1bGVz
L1dlYkdQVS9HUFVDb21tYW5kRW5jb2Rlci5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMv
V2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5oOiBDb3BpZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAg
ICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5pZGw6IENvcGll
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVu
dC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NEZXNjcmlwdG9y
Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlD
YW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NE
ZXNjcmlwdG9yLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheUNhbmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVD
b21wdXRlUGFzc0VuY29kZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbXB1
dGVQYXNzRW5jb2Rlcjo6c2V0UGlwZWxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tcHV0
ZVBhc3NFbmNvZGVyOjpkaXNwYXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpHUFVDb21wdXRlUGFz
c0VuY29kZXI6OmRpc3BhdGNoSW5kaXJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tcHV0
ZVBhc3NFbmNvZGVyOjpiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KToKKyAgICAgICAgKFdl
YkNvcmU6OkdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6ZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkp
OgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjplbmRQYXNzKToKKyAg
ICAgICAgKFdlYkNvcmU6OkdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6c2V0QmluZEdyb3VwKToKKyAg
ICAgICAgKFdlYkNvcmU6OkdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6cHVzaERlYnVnR3JvdXApOgor
ICAgICAgICAoV2ViQ29yZTo6R1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjpwb3BEZWJ1Z0dyb3VwKToK
KyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6aW5zZXJ0RGVidWdNYXJr
ZXIpOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzRW5jb2Rlci5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6bGFiZWwgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6R1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjpzZXRMYWJlbCk6CisgICAg
ICAgIChXZWJDb3JlOjpHUFVDb21wdXRlUGFzc0VuY29kZXI6OkdQVUNvbXB1dGVQYXNzRW5jb2Rl
cik6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmlkbDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNl
bEV2ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc1RpbWVz
dGFtcExvY2F0aW9uLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BV
Q29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbi5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICog
TW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0ZS5oOiBDb3BpZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3Bw
LgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wV3JpdGUu
aWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQaXBl
bGluZS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tcHV0ZVBpcGVsaW5l
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tcHV0ZVBpcGVsaW5lOjpsYWJlbCBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpHUFVDb21wdXRlUGlwZWxpbmU6OnNldExhYmVsKToK
KyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGlwZWxpbmUuaWRsOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQu
Y3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUV4dGVudDNERGljdC5oOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQu
Y3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUV4dGVudDNERGljdC5pZGw6IENvcGll
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVu
dC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5QnVmZmVyLmg6IENv
cGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxF
dmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5QnVmZmVyLmlk
bDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNh
bmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlFeHRl
cm5hbEltYWdlLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVSW1h
Z2VDb3B5RXh0ZXJuYWxJbWFnZS5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9X
ZWJHUFUvR1BVSW1hZ2VDb3B5VGV4dHVyZS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVs
ZXMvV2ViR1BVL0dQVUltYWdlQ29weVRleHR1cmUuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAq
IE1vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weVRleHR1cmVUYWdnZWQuaDogQ29waWVkIGZyb20g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmNwcC4K
KyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlUZXh0dXJlVGFnZ2VkLmlkbDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNl
bEV2ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVJbWFnZURhdGFMYXlvdXQu
aDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNh
bmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVJbWFnZURhdGFMYXlv
dXQuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUluZGV4Rm9y
bWF0Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVSW5kZXhGb3Jt
YXQuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUludGVncmFs
VHlwZXMuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUNhbmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVMb2FkT3Au
aDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNh
bmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVMb2FkT3AuaWRsOiBD
b3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2Vs
RXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVU9iamVjdEJhc2UuaWRsOiBD
b3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2Vs
RXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVU9iamVjdERlc2NyaXB0b3JC
YXNlLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVT2JqZWN0RGVz
Y3JpcHRvckJhc2UuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQ
VU9yaWdpbjJERGljdC5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQ
VU9yaWdpbjJERGljdC5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUv
R1BVT3JpZ2luM0REaWN0Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUv
R1BVT3JpZ2luM0REaWN0LmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQ
VS9HUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1
bGVzL1dlYkdQVS9HUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaWRsOiBDb3BpZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAg
ICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVByZWRlZmluZWRDb2xvclNwYWNlLmg6IENvcGllZCBm
cm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5j
cHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUHJlZGVmaW5lZENvbG9yU3BhY2UuaWRs
OiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2Fu
Y2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVByb2dyYW1tYWJsZVBh
c3NFbmNvZGVyLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheUNhbmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVR
dWVyeVNldC5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgIChXZWJDb3JlOjpHUFVRdWVyeVNldDo6
ZGVzdHJveSk6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlTZXQuaDogQ29waWVk
IGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50
LmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OkdQVVF1ZXJ5U2V0OjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6R1BVUXVlcnlTZXQ6OmxhYmVsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkdQ
VVF1ZXJ5U2V0OjpzZXRMYWJlbCk6CisgICAgICAgIChXZWJDb3JlOjpHUFVRdWVyeVNldDo6R1BV
UXVlcnlTZXQpOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5U2V0LmlkbDogQ29w
aWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2
ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVNldERlc2NyaXB0b3Iu
aDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNh
bmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVNldERlc2Ny
aXB0b3IuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5
VHlwZS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5VHlw
ZS5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUXVldWUuY3Bw
OiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2Fu
Y2VsRXZlbnQuY3BwLgorICAgICAgICAoV2ViQ29yZTo6R1BVUXVldWU6OnN1Ym1pdCk6CisgICAg
ICAgIChXZWJDb3JlOjpHUFVRdWV1ZTo6b25TdWJtaXR0ZWRXb3JrRG9uZSk6CisgICAgICAgIChX
ZWJDb3JlOjpHUFVRdWV1ZTo6d3JpdGVCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6R1BVUXVl
dWU6OndyaXRlVGV4dHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpHUFVRdWV1ZTo6Y29weUV4dGVy
bmFsSW1hZ2VUb1RleHR1cmUpOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVF1ZXVlLmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6R1BVUXVldWU6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpHUFVRdWV1ZTo6bGFiZWwgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6R1BVUXVl
dWU6OnNldExhYmVsKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVVF1ZXVlOjpHUFVRdWV1ZSk6Cisg
ICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUXVldWUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKFdl
YkNvcmU6OkdQVVJlbmRlckJ1bmRsZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVVJl
bmRlckJ1bmRsZTo6bGFiZWwgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyQnVu
ZGxlOjpzZXRMYWJlbCk6CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJCdW5kbGU6OkdQVVJl
bmRlckJ1bmRsZSk6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlLmlk
bDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNh
bmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVE
ZXNjcmlwdG9yLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUmVu
ZGVyQnVuZGxlRGVzY3JpcHRvci5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9X
ZWJHUFUvR1BVUmVuZGVyQnVuZGxlRW5jb2Rlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZTo6R1BVUmVuZGVyQnVuZGxlRW5jb2Rlcjo6c2V0UGlwZWxpbmUpOgorICAgICAgICAoV2ViQ29y
ZTo6R1BVUmVuZGVyQnVuZGxlRW5jb2Rlcjo6c2V0SW5kZXhCdWZmZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6R1BVUmVuZGVyQnVuZGxlRW5jb2Rlcjo6c2V0VmVydGV4QnVmZmVyKToKKyAgICAgICAg
KFdlYkNvcmU6OkdQVVJlbmRlckJ1bmRsZUVuY29kZXI6OmRyYXcpOgorICAgICAgICAoV2ViQ29y
ZTo6R1BVUmVuZGVyQnVuZGxlRW5jb2Rlcjo6ZHJhd0luZGV4ZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6R1BVUmVuZGVyQnVuZGxlRW5jb2Rlcjo6ZHJhd0luZGlyZWN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkdQVVJlbmRlckJ1bmRsZUVuY29kZXI6OmRyYXdJbmRleGVkSW5kaXJlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6R1BVUmVuZGVyQnVuZGxlRW5jb2Rlcjo6c2V0QmluZEdyb3VwKToKKyAgICAg
ICAgKFdlYkNvcmU6OkdQVVJlbmRlckJ1bmRsZUVuY29kZXI6OnB1c2hEZWJ1Z0dyb3VwKToKKyAg
ICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlckJ1bmRsZUVuY29kZXI6OnBvcERlYnVnR3JvdXApOgor
ICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyQnVuZGxlRW5jb2Rlcjo6aW5zZXJ0RGVidWdNYXJr
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyQnVuZGxlRW5jb2Rlcjo6ZmluaXNoKToK
KyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVFbmNvZGVyLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyQnVuZGxlRW5jb2Rlcjo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlckJ1bmRsZUVuY29kZXI6OmxhYmVsIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlckJ1bmRsZUVuY29kZXI6OnNldExhYmVsKToKKyAgICAg
ICAgKFdlYkNvcmU6OkdQVVJlbmRlckJ1bmRsZUVuY29kZXI6OkdQVVJlbmRlckJ1bmRsZUVuY29k
ZXIpOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZUVuY29kZXIuaWRs
OiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2Fu
Y2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZUVu
Y29kZXJEZXNjcmlwdG9yLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUv
R1BVUmVuZGVyQnVuZGxlRW5jb2RlckRlc2NyaXB0b3IuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAg
ICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckVuY29kZXJCYXNlLmlkbDogQWRkZWQuCisgICAg
ICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5oOiBDb3Bp
ZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZl
bnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NDb2xvckF0dGFj
aG1lbnQuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRl
clBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9k
dWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaWRsOiBDb3Bp
ZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZl
bnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXNjcmlwdG9y
Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlD
YW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Rl
c2NyaXB0b3IuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJl
bmRlclBhc3NFbmNvZGVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQ
YXNzRW5jb2Rlcjo6c2V0UGlwZWxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFz
c0VuY29kZXI6OnNldEluZGV4QnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBh
c3NFbmNvZGVyOjpzZXRWZXJ0ZXhCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVy
UGFzc0VuY29kZXI6OmRyYXcpOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFzc0VuY29k
ZXI6OmRyYXdJbmRleGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBhc3NFbmNvZGVy
OjpkcmF3SW5kaXJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFzc0VuY29kZXI6
OmRyYXdJbmRleGVkSW5kaXJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFzc0Vu
Y29kZXI6OnNldEJpbmRHcm91cCk6CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQYXNzRW5j
b2Rlcjo6cHVzaERlYnVnR3JvdXApOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFzc0Vu
Y29kZXI6OnBvcERlYnVnR3JvdXApOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFzc0Vu
Y29kZXI6Omluc2VydERlYnVnTWFya2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBh
c3NFbmNvZGVyOjpzZXRWaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQYXNz
RW5jb2Rlcjo6c2V0U2Npc3NvclJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFz
c0VuY29kZXI6OnNldEJsZW5kQ29uc3RhbnQpOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVy
UGFzc0VuY29kZXI6OnNldFN0ZW5jaWxSZWZlcmVuY2UpOgorICAgICAgICAoV2ViQ29yZTo6R1BV
UmVuZGVyUGFzc0VuY29kZXI6OmJlZ2luT2NjbHVzaW9uUXVlcnkpOgorICAgICAgICAoV2ViQ29y
ZTo6R1BVUmVuZGVyUGFzc0VuY29kZXI6OmVuZE9jY2x1c2lvblF1ZXJ5KToKKyAgICAgICAgKFdl
YkNvcmU6OkdQVVJlbmRlclBhc3NFbmNvZGVyOjpiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5
KToKKyAgICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBhc3NFbmNvZGVyOjplbmRQaXBlbGluZVN0
YXRpc3RpY3NRdWVyeSk6CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQYXNzRW5jb2Rlcjo6
ZXhlY3V0ZUJ1bmRsZXMpOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFzc0VuY29kZXI6
OmVuZFBhc3MpOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVy
Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFzc0VuY29kZXI6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQYXNzRW5jb2Rlcjo6bGFiZWwgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFzc0VuY29kZXI6OnNldExhYmVsKToKKyAg
ICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBhc3NFbmNvZGVyOjpHUFVSZW5kZXJQYXNzRW5jb2Rl
cik6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0VuY29kZXIuaWRsOiBB
ZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5b3V0Lmg6IENv
cGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxF
dmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0xheW91dC5p
ZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlD
YW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc1Rp
bWVzdGFtcExvY2F0aW9uLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUv
R1BVUmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9uLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmNwcC4KKyAgICAgICAg
KiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGUuaDogQ29waWVkIGZy
b20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmNw
cC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGUu
aWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
Q2FuY2VsRXZlbnQuY3BwLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBpcGVs
aW5lLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQaXBlbGluZTo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBpcGVsaW5lOjpsYWJlbCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQaXBlbGluZTo6c2V0TGFiZWwpOgorICAg
ICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGlwZWxpbmU6OkdQVVJlbmRlclBpcGVsaW5lKToKKyAg
ICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQaXBlbGluZS5pZGw6IENvcGllZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5jcHAu
CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVU3RvcmVPcC5oOiBDb3BpZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAg
ICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVN0b3JlT3AuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwLgorICAgICAg
ICAqIE1vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKFdl
YkNvcmU6OkdQVVRleHR1cmU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpHUFVUZXh0dXJl
OjpsYWJlbCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpHUFVUZXh0dXJlOjpzZXRMYWJlbCk6
CisgICAgICAgIChXZWJDb3JlOjpHUFVUZXh0dXJlOjpHUFVUZXh0dXJlKToKKyAgICAgICAgKiBN
b2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKiBNb2R1
bGVzL1dlYkdQVS9HUFVUZXh0dXJlQXNwZWN0Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICogTW9k
dWxlcy9XZWJHUFUvR1BVVGV4dHVyZUFzcGVjdC5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5jcHAuCisgICAgICAgICog
TW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZvcm1hdC5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1
bGVzL1dlYkdQVS9HUFVUZXh0dXJlRm9ybWF0LmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxl
cy9XZWJHUFUvR1BVVGV4dHVyZVZpZXcuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmNwcC4KKyAgICAgICAgKFdlYkNvcmU6
OkdQVVRleHR1cmVWaWV3OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6R1BVVGV4dHVyZVZp
ZXc6OmxhYmVsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkdQVVRleHR1cmVWaWV3OjpzZXRM
YWJlbCk6CisgICAgICAgIChXZWJDb3JlOjpHUFVUZXh0dXJlVmlldzo6R1BVVGV4dHVyZVZpZXcp
OgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVWaWV3LmlkbDogQ29waWVkIGZy
b20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmNw
cC4KKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwOgor
ICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmNwcDoKKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oOgorICAgICAgICAqIFNvdXJj
ZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogcGFn
ZS9TZXR0aW5ncy55YW1sOgorCiAyMDIxLTExLTAyICBDYWl0bG4gUG90dGVyICA8Y2FpdHBAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbV2ViSURMXSBTdXBwb3J0IFtFeHBvc2VkPSpdIGV4dGVuZGVk
IGF0dHJpYnV0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dl
YlByZWZlcmVuY2VzLnlhbWwgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJl
ZmVyZW5jZXMueWFtbAppbmRleCA2ZDdkOTJhNDYwMTIyNzhjNzdhNjI0ZTNjZGE0NjIwMDhkOWJi
MTIzLi5kMTY3M2U3OGE0Yzk3ZWVjZTI5MTU0OTQ1YmYwYjc3MWE0ZTdlY2RiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbAorKysg
Yi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAt
MjUzNiw2ICsyNTM2LDE2IEBAIFdlYkdMRW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAgZGVm
YXVsdDogZmFsc2UKIAorV2ViR1BVOgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZToKKyAg
ICBXZWJLaXRMZWdhY3k6CisgICAgICBkZWZhdWx0OiBmYWxzZQorICAgIFdlYktpdDoKKyAgICAg
IGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViQ29yZToKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisKIFdl
YlNlY3VyaXR5RW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBpbnNwZWN0b3JPdmVycmlkZTogdHJ1
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAzNGE3ZTFhYWViN2QwMmRiM2UwNDRiYmY1YTdhNTMw
OWM4ZmNlMzkxLi40MzIxOTlhMjZkYzc5ODg2ZmZkZmQ3MDE5MjlmOTFlMTQ1ZGMyNGMwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dApAQCAtMTgsNiArMTgsNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0lO
Q0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtDTUFLRV9CSU5BUllfRElSfSIKICAgICAiJHtXZWJD
b3JlX0RFUklWRURfU09VUkNFU19ESVJ9IgogICAgICIke1dFQkNPUkVfRElSfSIKKyAgICAiJHtX
RUJDT1JFX0RJUn0vTW9kdWxlcy9XZWJHUFUiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMv
YWlycGxheSIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9hcHBsZXBheSIKICAgICAiJHtX
RUJDT1JFX0RJUn0vTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdCIKQEAgLTE5MSw2ICsx
OTIsNyBAQCBzZXQoV2ViQ29yZV9JRExfSU5DTFVERVMKICAgICB3b3JrZXJzCiAgICAgeG1sCiAK
KyAgICBNb2R1bGVzL1dlYkdQVQogICAgIE1vZHVsZXMvYWlycGxheQogICAgIE1vZHVsZXMvY2Fj
aGUKICAgICBNb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50CkBAIC0xNDY1LDYgKzE0NjcsNTgg
QEAgbGlzdChBUFBFTkQgV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvd2Vi
eHIvWFJXZWJHTExheWVySW5pdC5pZGwKICkKIAorbGlzdChBUFBFTkQgV2ViQ29yZV9OT05fU1ZH
X0lETF9GSUxFUworICAgIE1vZHVsZXMvV2ViR1BVL0dQVUJpbmRHcm91cC5pZGwKKyAgICBNb2R1
bGVzL1dlYkdQVS9HUFVCdWZmZXIuaWRsCisgICAgTW9kdWxlcy9XZWJHUFUvR1BVQ29sb3JEaWN0
LmlkbAorICAgIE1vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRCdWZmZXIuaWRsCisgICAgTW9kdWxl
cy9XZWJHUFUvR1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0b3IuaWRsCisgICAgTW9kdWxlcy9XZWJH
UFUvR1BVQ29tbWFuZEVuY29kZXIuaWRsCisgICAgTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVu
Y29kZXJEZXNjcmlwdG9yLmlkbAorICAgIE1vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzRGVz
Y3JpcHRvci5pZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIuaWRs
CisgICAgTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbi5pZGwK
KyAgICBNb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc1RpbWVzdGFtcFdyaXRlLmlkbAorICAg
IE1vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQaXBlbGluZS5pZGwKKyAgICBNb2R1bGVzL1dlYkdQ
VS9HUFVFeHRlbnQzRERpY3QuaWRsCisgICAgTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5QnVm
ZmVyLmlkbAorICAgIE1vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaWRs
CisgICAgTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5VGV4dHVyZS5pZGwKKyAgICBNb2R1bGVz
L1dlYkdQVS9HUFVJbWFnZUNvcHlUZXh0dXJlVGFnZ2VkLmlkbAorICAgIE1vZHVsZXMvV2ViR1BV
L0dQVUltYWdlRGF0YUxheW91dC5pZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9HUFVJbmRleEZvcm1h
dC5pZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9HUFVMb2FkT3AuaWRsCisgICAgTW9kdWxlcy9XZWJH
UFUvR1BVT2JqZWN0QmFzZS5pZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9HUFVPYmplY3REZXNjcmlw
dG9yQmFzZS5pZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9HUFVPcmlnaW4yRERpY3QuaWRsCisgICAg
TW9kdWxlcy9XZWJHUFUvR1BVT3JpZ2luM0REaWN0LmlkbAorICAgIE1vZHVsZXMvV2ViR1BVL0dQ
VVBpcGVsaW5lU3RhdGlzdGljTmFtZS5pZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9HUFVQcmVkZWZp
bmVkQ29sb3JTcGFjZS5pZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9HUFVQcm9ncmFtbWFibGVQYXNz
RW5jb2Rlci5pZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVNldC5pZGwKKyAgICBNb2R1
bGVzL1dlYkdQVS9HUFVRdWVyeVNldERlc2NyaXB0b3IuaWRsCisgICAgTW9kdWxlcy9XZWJHUFUv
R1BVUXVlcnlUeXBlLmlkbAorICAgIE1vZHVsZXMvV2ViR1BVL0dQVVF1ZXVlLmlkbAorICAgIE1v
ZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZS5pZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9HUFVS
ZW5kZXJCdW5kbGVEZXNjcmlwdG9yLmlkbAorICAgIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1
bmRsZUVuY29kZXIuaWRsCisgICAgTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlRW5jb2Rl
ckRlc2NyaXB0b3IuaWRsCisgICAgTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyRW5jb2RlckJhc2Uu
aWRsCisgICAgTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5pZGwK
KyAgICBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5p
ZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5pZGwKKyAgICBN
b2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5pZGwKKyAgICBNb2R1bGVzL1dlYkdQ
VS9HUFVSZW5kZXJQYXNzTGF5b3V0LmlkbAorICAgIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBh
c3NUaW1lc3RhbXBMb2NhdGlvbi5pZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNz
VGltZXN0YW1wV3JpdGUuaWRsCisgICAgTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGlwZWxpbmUu
aWRsCisgICAgTW9kdWxlcy9XZWJHUFUvR1BVU3RvcmVPcC5pZGwKKyAgICBNb2R1bGVzL1dlYkdQ
VS9HUFVUZXh0dXJlLmlkbAorICAgIE1vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVBc3BlY3QuaWRs
CisgICAgTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZvcm1hdC5pZGwKKyAgICBNb2R1bGVzL1dl
YkdQVS9HUFVUZXh0dXJlVmlldy5pZGwKKykKKwogc2V0KFdlYkNvcmVfSURMX0ZJTEVTCiAgICAg
JHtXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTfQogICAgICR7V2ViQ29yZV9TVkdfSURMX0ZJTEVT
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxl
bGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5k
ZXggMDQyYzE0NTAyMjg1Njk0MWY4MzRiZjdmZDE3ZDkwNzZiMDZkNGJkNi4uYTdiM2M0ZjViY2Vl
OGM1NTdhOGFjNTk2YzcwMzlmNWE2MDBiZDZhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0yMSw2ICsyMSw1OCBAQCAkKEpBVkFTQ1JJ
UFRDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIpL21ha2UtanMtZmlsZS1hcnJheXMucHkKICQoSkFW
QVNDUklQVENPUkVfUFJJVkFURV9IRUFERVJTX0RJUikvd2tidWlsdGlucy5weQogJChKQVZBU0NS
SVBUQ09SRV9QUklWQVRFX0hFQURFUlNfRElSKS94eGQucGwKICQoUFJPSkVDVF9ESVIpL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVUJpbmRHcm91
cC5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVUJ1ZmZlci5pZGwKKyQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVUJ1ZmZlckRlc2NyaXB0b3IuaWRsCiskKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVCdWZmZXJVc2FnZS5pZGwKKyQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvV2ViR1BVL0dQVUNvbG9yRGljdC5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
V2ViR1BVL0dQVUNvbW1hbmRCdWZmZXIuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQ
VS9HUFVDb21tYW5kQnVmZmVyRGVzY3JpcHRvci5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
V2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJH
UFUvR1BVQ29tbWFuZEVuY29kZXJEZXNjcmlwdG9yLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NEZXNjcmlwdG9yLmlkbAorJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmlkbAorJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbi5pZGwKKyQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wV3JpdGUuaWRsCisk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGlwZWxpbmUuaWRsCiskKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVFeHRlbnQzRERpY3QuaWRsCiskKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlCdWZmZXIuaWRsCiskKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmlkbAorJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5VGV4dHVyZS5pZGwKKyQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weVRleHR1cmVUYWdnZWQuaWRsCiskKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFnZURhdGFMYXlvdXQuaWRsCiskKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVJbmRleEZvcm1hdC5pZGwKKyQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvV2ViR1BVL0dQVUxvYWRPcC5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BV
L0dQVU1hcE1vZGUuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVPYmplY3RC
YXNlLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVT2JqZWN0RGVzY3JpcHRv
ckJhc2UuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVPcmlnaW4yRERpY3Qu
aWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVPcmlnaW4zRERpY3QuaWRsCisk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaWRs
CiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVQcmVkZWZpbmVkQ29sb3JTcGFjZS5p
ZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVByb2dyYW1tYWJsZVBhc3NFbmNv
ZGVyLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlTZXQuaWRsCisk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVNldERlc2NyaXB0b3IuaWRsCisk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVR5cGUuaWRsCiskKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWV1ZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
V2ViR1BVL0dQVVJlbmRlckJ1bmRsZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BV
L0dQVVJlbmRlckJ1bmRsZURlc2NyaXB0b3IuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dl
YkdQVS9HUFVSZW5kZXJCdW5kbGVFbmNvZGVyLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9X
ZWJHUFUvR1BVUmVuZGVyQnVuZGxlRW5jb2RlckRlc2NyaXB0b3IuaWRsCiskKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJFbmNvZGVyQmFzZS5pZGwKKyQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaWRsCiskKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVu
dC5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXNjcmlw
dG9yLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0VuY29k
ZXIuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5b3V0
LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc1RpbWVzdGFt
cExvY2F0aW9uLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFz
c1RpbWVzdGFtcFdyaXRlLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVUmVu
ZGVyUGlwZWxpbmUuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVTdG9yZU9w
LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZS5pZGwKKyQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVBc3BlY3QuaWRsCiskKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlRm9ybWF0LmlkbAorJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZVZpZXcuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L2FpcnBsYXkvV2ViS2l0UGxheWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlFdmVudC5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb250YWN0RmllbGQuaWRsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IGYz
MDQ4ZmVjY2YzYzQ2Yzg4YjUwZWQxNDQ3OTU5Zjc0NmRmMjIyZmYuLmIxOThiNjU0NTczZDkyZjdl
NjJhZGQ0YWU3MWVmYjYyNDExYjI1OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC04NjcsNiArODY3LDExMCBAQCAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Zvcm1EYXRhRXZlbnQuY3BwCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Zvcm1EYXRhRXZl
bnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHQ09i
c2VydmF0aW9uLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNHQ09ic2VydmF0aW9uLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTR1BVQmluZEdyb3VwLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVCaW5kR3JvdXAuaAorJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVCdWZmZXIuY3BwCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUJ1ZmZlci5oCiskKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUJ1ZmZlckRlc2NyaXB0b3IuY3Bw
CiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUJ1ZmZl
ckRlc2NyaXB0b3IuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNHUFVCdWZmZXJVc2FnZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTR1BVQnVmZmVyVXNhZ2UuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVDb2xvckRpY3QuY3BwCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUNvbG9yRGljdC5oCiskKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUNvbW1hbmRCdWZmZXIuY3Bw
CiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUNvbW1h
bmRCdWZmZXIuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNHUFVDb21tYW5kQnVmZmVyRGVzY3JpcHRvci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0b3IuaAorJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVDb21tYW5kRW5j
b2Rlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
R1BVQ29tbWFuZEVuY29kZXIuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNHUFVDb21tYW5kRW5jb2RlckRlc2NyaXB0b3IuY3BwCiskKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUNvbW1hbmRFbmNvZGVyRGVzY3Jp
cHRvci5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQ
VUNvbXB1dGVQYXNzRGVzY3JpcHRvci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTR1BVQ29tcHV0ZVBhc3NEZXNjcmlwdG9yLmgKKyQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVQ29tcHV0ZVBhc3NFbmNvZGVy
LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVD
b21wdXRlUGFzc0VuY29kZXIuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNHUFVDb21wdXRlUGFzc1RpbWVzdGFtcExvY2F0aW9uLmNwcAorJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVDb21wdXRlUGFzc1RpbWVz
dGFtcExvY2F0aW9uLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0ZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0
ZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUNv
bXB1dGVQaXBlbGluZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTR1BVQ29tcHV0ZVBpcGVsaW5lLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTR1BVRXh0ZW50M0REaWN0LmNwcAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVFeHRlbnQzRERpY3QuaAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVJbWFnZUNvcHlCdWZm
ZXIuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQ
VUltYWdlQ29weUJ1ZmZlci5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0dQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuY3BwCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUltYWdlQ29weUV4dGVybmFsSW1hZ2Uu
aAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVJbWFn
ZUNvcHlUZXh0dXJlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNHUFVJbWFnZUNvcHlUZXh0dXJlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTR1BVSW1hZ2VDb3B5VGV4dHVyZVRhZ2dlZC5jcHAKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVSW1hZ2VDb3B5VGV4
dHVyZVRhZ2dlZC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0dQVUltYWdlRGF0YUxheW91dC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTR1BVSW1hZ2VEYXRhTGF5b3V0LmgKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVSW5kZXhGb3JtYXQuY3BwCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUluZGV4Rm9ybWF0LmgK
KyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVTG9hZE9w
LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVM
b2FkT3AuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNH
UFVNYXBNb2RlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNHUFVNYXBNb2RlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTR1BVT2JqZWN0QmFzZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTR1BVT2JqZWN0QmFzZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVU9iamVjdERlc2NyaXB0b3JCYXNlLmNwcAorJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVPYmplY3REZXNj
cmlwdG9yQmFzZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0dQVU9yaWdpbjJERGljdC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTR1BVT3JpZ2luMkREaWN0LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVT3JpZ2luM0REaWN0LmNwcAorJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVPcmlnaW4zRERpY3QuaAorJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVQaXBlbGluZVN0
YXRpc3RpY05hbWUuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVByZWRlZmluZWRDb2xvclNwYWNlLmNwcAorJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVQcmVkZWZpbmVk
Q29sb3JTcGFjZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0dQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVQcm9ncmFtbWFibGVQYXNzRW5jb2Rlci5oCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVF1ZXJ5U2V0
LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVR
dWVyeVNldC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0dQVVF1ZXJ5U2V0RGVzY3JpcHRvci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTR1BVUXVlcnlTZXREZXNjcmlwdG9yLmgKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVUXVlcnlUeXBlLmNwcAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVRdWVyeVR5cGUuaAor
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVRdWV1ZS5j
cHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVUXVl
dWUuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVS
ZW5kZXJCdW5kbGUuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0dQVVJlbmRlckJ1bmRsZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0dQVVJlbmRlckJ1bmRsZURlc2NyaXB0b3IuY3BwCiskKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVJlbmRlckJ1bmRsZURlc2Ny
aXB0b3IuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNH
UFVSZW5kZXJCdW5kbGVFbmNvZGVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNHUFVSZW5kZXJCdW5kbGVFbmNvZGVyLmgKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVUmVuZGVyQnVuZGxlRW5jb2RlckRl
c2NyaXB0b3IuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0dQVVJlbmRlckJ1bmRsZUVuY29kZXJEZXNjcmlwdG9yLmgKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVUmVuZGVyRW5jb2RlckJhc2UuY3BwCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVJlbmRlckVu
Y29kZXJCYXNlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5o
CiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVJlbmRl
clBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVu
dC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVJl
bmRlclBhc3NEZXNjcmlwdG9yLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVJlbmRlclBhc3NFbmNvZGVyLmNwcAor
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVSZW5kZXJQ
YXNzRW5jb2Rlci5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0dQVVJlbmRlclBhc3NMYXlvdXQuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVJlbmRlclBhc3NMYXlvdXQuaAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVSZW5kZXJQYXNzVGltZXN0YW1wTG9j
YXRpb24uY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0dQVVJlbmRlclBhc3NUaW1lc3RhbXBMb2NhdGlvbi5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVJlbmRlclBhc3NUaW1lc3RhbXBXcml0ZS5jcHAK
KyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVUmVuZGVy
UGFzc1RpbWVzdGFtcFdyaXRlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTR1BVUmVuZGVyUGlwZWxpbmUuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVJlbmRlclBpcGVsaW5lLmgKKyQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVU3RvcmVPcC5jcHAKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVU3RvcmVPcC5oCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVRleHR1cmUu
Y3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVRl
eHR1cmUuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNH
UFVUZXh0dXJlQXNwZWN0LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNHUFVUZXh0dXJlQXNwZWN0LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTR1BVVGV4dHVyZUZvcm1hdC5jcHAKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVVGV4dHVyZUZvcm1hdC5oCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVRleHR1cmVWaWV3
LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVU
ZXh0dXJlVmlldy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0dhaW5Ob2RlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNHYWluTm9kZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0dhaW5PcHRpb25zLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5k
ZXggYmFhZGE3NjM2ZmJiOTNlNjI1NDcyZDc5ZWVlYmU2OGIxOGFkZmNiYi4uZGY3Y2EwNmQ2NWQw
ZTdlZTAyOGUwMDRmYTE1ODRmN2VhYTI2ZGY0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCkBAIC01Myw2ICs1Myw1NSBAQCBGRUFUVVJFX0FORF9QTEFURk9STV9ERUZJTkVfREVQRU5E
RU5DSUVTID0gJChXZWJDb3JlKS9EZXJpdmVkU291cmNlcy5tYWtlCiAjIC0tLS0tLS0tCiAKIEpT
X0JJTkRJTkdfSURMUyA6PSBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVCaW5k
R3JvdXAuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVUJ1ZmZlci5pZGwg
XAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVQ29sb3JEaWN0LmlkbCBcCisgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kQnVmZmVyLmlkbCBcCisgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kQnVmZmVyRGVzY3JpcHRvci5pZGwgXAor
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuaWRsIFwKKyAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5p
ZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NEZXNjcmlw
dG9yLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0Vu
Y29kZXIuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNz
VGltZXN0YW1wTG9jYXRpb24uaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQ
VUNvbXB1dGVQYXNzVGltZXN0YW1wV3JpdGUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
V2ViR1BVL0dQVUNvbXB1dGVQaXBlbGluZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9X
ZWJHUFUvR1BVRXh0ZW50M0REaWN0LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQ
VS9HUFVJbWFnZUNvcHlCdWZmZXIuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BV
L0dQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
V2ViR1BVL0dQVUltYWdlQ29weVRleHR1cmUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
V2ViR1BVL0dQVUltYWdlQ29weVRleHR1cmVUYWdnZWQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvV2ViR1BVL0dQVUltYWdlRGF0YUxheW91dC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9XZWJHUFUvR1BVSW5kZXhGb3JtYXQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
V2ViR1BVL0dQVUxvYWRPcC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BV
T2JqZWN0QmFzZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVT2JqZWN0
RGVzY3JpcHRvckJhc2UuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVU9y
aWdpbjJERGljdC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVT3JpZ2lu
M0REaWN0LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZVN0
YXRpc3RpY05hbWUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVVByZWRl
ZmluZWRDb2xvclNwYWNlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVQ
cm9ncmFtbWFibGVQYXNzRW5jb2Rlci5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJH
UFUvR1BVUXVlcnlTZXQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVVF1
ZXJ5U2V0RGVzY3JpcHRvci5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BV
UXVlcnlUeXBlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWV1ZS5p
ZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlLmlkbCBc
CisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVEZXNjcmlwdG9y
LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVFbmNv
ZGVyLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVF
bmNvZGVyRGVzY3JpcHRvci5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BV
UmVuZGVyRW5jb2RlckJhc2UuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQ
VVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
V2ViR1BVL0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmlkbCBcCisgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5pZGwgXAorICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0VuY29kZXIuaWRsIFwKKyAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NMYXlvdXQuaWRsIFwKKyAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NUaW1lc3RhbXBMb2NhdGlv
bi5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc1RpbWVz
dGFtcFdyaXRlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQ
aXBlbGluZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVU3RvcmVPcC5p
ZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZS5pZGwgXAorICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUFzcGVjdC5pZGwgXAorICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZvcm1hdC5pZGwgXAorICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZVZpZXcuaWRsIFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvYWlycGxheS9XZWJLaXRQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUV2ZW50Lmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQu
aWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb250YWN0Rmll
bGQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUJp
bmRHcm91cC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQmluZEdyb3VwLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMDFjZmQ4ZmY0YWI0MGI2M2VhMWZkZjQ5NGI5MWI4NWMwNjY3MzAwNwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUJpbmRHcm91
cC5oCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1
ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEdQVUJp
bmRHcm91cCA6IHB1YmxpYyBSZWZDb3VudGVkPEdQVUJpbmRHcm91cD4geworcHVibGljOgorICAg
IHN0YXRpYyBSZWY8R1BVQmluZEdyb3VwPiBjcmVhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgR1BVQmluZEdyb3VwKCkpOworICAgIH0KKworICAgIGNvbnN0IFN0cmlu
ZyYgbGFiZWwoKSBjb25zdCB7IHJldHVybiBtX2xhYmVsOyB9CisgICAgdm9pZCBzZXRMYWJlbChT
dHJpbmcmJiBsYWJlbCkgeyBtX2xhYmVsID0gV1RGTW92ZShsYWJlbCk7IH0KKworcHJpdmF0ZToK
KyAgICBHUFVCaW5kR3JvdXAoKQorICAgIHsKKyAgICB9CisKKyAgICBTdHJpbmcgbV9sYWJlbDsK
K307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUJp
bmRHcm91cC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVCaW5kR3JvdXAu
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjJlZDBiYjg3NTdkNTBjZjNkNmExN2I2NWYxMWYzZDY5MWEzNDEzNmMK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVCaW5k
R3JvdXAuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgRW5hYmxlZEJ5
U2V0dGluZz1XZWJHUFUsCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKKyAgICBFeHBv
c2VkPShXaW5kb3cpLCAvKiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMyNTQyOiBEZWRpY2F0ZWRXb3JrZXIgKi8KKyAgICBTZWN1cmVDb250ZXh0CitdCitpbnRlcmZh
Y2UgR1BVQmluZEdyb3VwIHsKK307CitHUFVCaW5kR3JvdXAgaW5jbHVkZXMgR1BVT2JqZWN0QmFz
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUJ1ZmZlci5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVyLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMyYjdlODU3ZDA5N2Q1M2E3MjYxMzUwZjhlODZhMmY3YTM3YWY5ZgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUJ1ZmZlci5oCkBAIC0wLDAgKzEs
NTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9SZWYuaD4K
KyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEdQVUJ1ZmZlciA6IHB1YmxpYyBS
ZWZDb3VudGVkPEdQVUJ1ZmZlcj4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8R1BVQnVmZmVy
PiBjcmVhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgR1BVQnVmZmVy
KCkpOworICAgIH0KKworICAgIGNvbnN0IFN0cmluZyYgbGFiZWwoKSBjb25zdCB7IHJldHVybiBt
X2xhYmVsOyB9CisgICAgdm9pZCBzZXRMYWJlbChTdHJpbmcmJiBsYWJlbCkgeyBtX2xhYmVsID0g
bGFiZWw7IH0KKworcHJpdmF0ZToKKyAgICBHUFVCdWZmZXIoKTsKKworICAgIFN0cmluZyBtX2xh
YmVsOworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVQnVmZmVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUJ1ZmZlci5p
ZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjk3NThhMGQ0NmMxZmUxODZmNTJjNWI5NjMyNjRlYTgyOTMxODczYwot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUJ1ZmZl
ci5pZGwKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlTZXR0
aW5nPVdlYkdQVSwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAgIEV4cG9zZWQ9
KFdpbmRvdyksIC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1
NDI6IERlZGljYXRlZFdvcmtlciAqLworICAgIFNlY3VyZUNvbnRleHQKK10KK2ludGVyZmFjZSBH
UFVCdWZmZXIgeworfTsKK0dQVUJ1ZmZlciBpbmNsdWRlcyBHUFVPYmplY3RCYXNlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29sb3JEaWN0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb2xvckRpY3QuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41N2Vm
YjNjYzVmYTJiMmNiNWQ4MDJhNmE4MmQxNGM0Nzg3YjRiZGE4Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29sb3JEaWN0LmgKQEAgLTAsMCArMSw0
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8dmFyaWFudD4KKyNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IEdQVUNvbG9yRGljdCB7CisgICAgZG91Ymxl
IHI7CisgICAgZG91YmxlIGc7CisgICAgZG91YmxlIGI7CisgICAgZG91YmxlIGE7Cit9OworCit1
c2luZyBHUFVDb2xvciA9IHN0ZDo6dmFyaWFudDxWZWN0b3I8ZG91YmxlPiwgR1BVQ29sb3JEaWN0
PjsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29s
b3JEaWN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbG9yRGljdC5p
ZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZThlY2YxYjA4MTU2ODg5M2Y5ODRhYWE2NzZlNWIwNTU5MmExNmYyYgot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbG9y
RGljdC5pZGwKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlT
ZXR0aW5nPVdlYkdQVQorXQorZGljdGlvbmFyeSBHUFVDb2xvckRpY3QgeworICAgIHJlcXVpcmVk
IGRvdWJsZSByOworICAgIHJlcXVpcmVkIGRvdWJsZSBnOworICAgIHJlcXVpcmVkIGRvdWJsZSBi
OworICAgIHJlcXVpcmVkIGRvdWJsZSBhOworfTsKK3R5cGVkZWYgKHNlcXVlbmNlPGRvdWJsZT4g
b3IgR1BVQ29sb3JEaWN0KSBHUFVDb2xvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVUNvbW1hbmRCdWZmZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMjU5MTk5OTY4MmYwZDJlM2Nm
NzhhZTZkNTVhZDFiZWQxMjMyNzc2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEJ1ZmZlci5oCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEdQVUNvbW1hbmRCdWZmZXIgOiBwdWJsaWMgUmVmQ291
bnRlZDxHUFVDb21tYW5kQnVmZmVyPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxHUFVDb21t
YW5kQnVmZmVyPiBjcmVhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
R1BVQ29tbWFuZEJ1ZmZlcigpKTsKKyAgICB9CisKKyAgICBjb25zdCBTdHJpbmcmIGxhYmVsKCkg
Y29uc3QgeyByZXR1cm4gbV9sYWJlbDsgfQorICAgIHZvaWQgc2V0TGFiZWwoU3RyaW5nJiYgbGFi
ZWwpIHsgbV9sYWJlbCA9IFdURk1vdmUobGFiZWwpOyB9CisKK3ByaXZhdGU6CisgICAgR1BVQ29t
bWFuZEJ1ZmZlcigpCisgICAgeworICAgIH0KKworICAgIFN0cmluZyBtX2xhYmVsOworfTsKKwor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEJ1
ZmZlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kQnVmZmVy
LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lNGI2MDI2ODg1OTI1MWM4MjY4MzU0YTA1YWVlZTZhNmYwNDdlZTVj
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29t
bWFuZEJ1ZmZlci5pZGwKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBFbmFi
bGVkQnlTZXR0aW5nPVdlYkdQVSwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAg
IEV4cG9zZWQ9KFdpbmRvdyksIC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzI1NDI6IERlZGljYXRlZFdvcmtlciAqLworICAgIFNlY3VyZUNvbnRleHQKK10KK2lu
dGVyZmFjZSBHUFVDb21tYW5kQnVmZmVyIHsKK307CitHUFVDb21tYW5kQnVmZmVyIGluY2x1ZGVz
IEdQVU9iamVjdEJhc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVDb21tYW5kQnVmZmVyRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9X
ZWJHUFUvR1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0b3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOWQxNGUzY2E5
ZmEwM2JkMjZiMmY3ODQzMGY4Zjg1ZDhmZjAxYmE1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0b3IuaApAQCAt
MCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJHUFVP
YmplY3REZXNjcmlwdG9yQmFzZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBH
UFVDb21tYW5kQnVmZmVyRGVzY3JpcHRvciA6IHB1YmxpYyBHUFVPYmplY3REZXNjcmlwdG9yQmFz
ZSB7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVDb21tYW5kQnVmZmVyRGVzY3JpcHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVDb21tYW5kQnVmZmVyRGVzY3JpcHRvci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDhjZjE5ZGIx
MDIwOWExOTc2YjFhNDg4MzcwMjZkNjhlNTM0ZjdlMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRCdWZmZXJEZXNjcmlwdG9yLmlkbApA
QCAtMCwwICsxLDMwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9V2Vi
R1BVCitdCitkaWN0aW9uYXJ5IEdQVUNvbW1hbmRCdWZmZXJEZXNjcmlwdG9yIDogR1BVT2JqZWN0
RGVzY3JpcHRvckJhc2UgeworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2Vi
R1BVL0dQVUNvbW1hbmRFbmNvZGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNzE3MDJhMDgwOTVlMzNiZmNi
NTcwYjFmM2RlZDk5MTIyYTZkY2M3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuY3BwCkBAIC0wLDAgKzEsMTM4IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJHUFVDb21tYW5kRW5jb2Rlci5oIgorCisjaW5jbHVkZSAiR1BVQnVmZmVyLmgiCisjaW5jbHVk
ZSAiR1BVUXVlcnlTZXQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8R1BVUmVuZGVy
UGFzc0VuY29kZXI+IEdQVUNvbW1hbmRFbmNvZGVyOjpiZWdpblJlbmRlclBhc3MoR1BVUmVuZGVy
UGFzc0Rlc2NyaXB0b3IpCit7CisgICAgcmV0dXJuIEdQVVJlbmRlclBhc3NFbmNvZGVyOjpjcmVh
dGUoKTsKK30KKworUmVmPEdQVUNvbXB1dGVQYXNzRW5jb2Rlcj4gR1BVQ29tbWFuZEVuY29kZXI6
OmJlZ2luQ29tcHV0ZVBhc3Moc3RkOjpvcHRpb25hbDxHUFVDb21wdXRlUGFzc0Rlc2NyaXB0b3I+
KQoreworICAgIHJldHVybiBHUFVDb21wdXRlUGFzc0VuY29kZXI6OmNyZWF0ZSgpOworfQorCit2
b2lkIEdQVUNvbW1hbmRFbmNvZGVyOjpjb3B5QnVmZmVyVG9CdWZmZXIoCisgICAgY29uc3QgR1BV
QnVmZmVyJiBzb3VyY2UsCisgICAgR1BVU2l6ZTY0IHNvdXJjZU9mZnNldCwKKyAgICBjb25zdCBH
UFVCdWZmZXImIGRlc3RpbmF0aW9uLAorICAgIEdQVVNpemU2NCBkZXN0aW5hdGlvbk9mZnNldCwK
KyAgICBHUFVTaXplNjQgc2l6ZSkKK3sKKyAgICBVTlVTRURfUEFSQU0oc291cmNlKTsKKyAgICBV
TlVTRURfUEFSQU0oc291cmNlT2Zmc2V0KTsKKyAgICBVTlVTRURfUEFSQU0oZGVzdGluYXRpb24p
OworICAgIFVOVVNFRF9QQVJBTShkZXN0aW5hdGlvbk9mZnNldCk7CisgICAgVU5VU0VEX1BBUkFN
KHNpemUpOworfQorCit2b2lkIEdQVUNvbW1hbmRFbmNvZGVyOjpjb3B5QnVmZmVyVG9UZXh0dXJl
KAorICAgIEdQVUltYWdlQ29weUJ1ZmZlciBzb3VyY2UsCisgICAgR1BVSW1hZ2VDb3B5VGV4dHVy
ZSBkZXN0aW5hdGlvbiwKKyAgICBHUFVFeHRlbnQzRCBjb3B5U2l6ZSkKK3sKKyAgICBVTlVTRURf
UEFSQU0oc291cmNlKTsKKyAgICBVTlVTRURfUEFSQU0oZGVzdGluYXRpb24pOworICAgIFVOVVNF
RF9QQVJBTShjb3B5U2l6ZSk7Cit9CisKK3ZvaWQgR1BVQ29tbWFuZEVuY29kZXI6OmNvcHlUZXh0
dXJlVG9CdWZmZXIoCisgICAgR1BVSW1hZ2VDb3B5VGV4dHVyZSBzb3VyY2UsCisgICAgR1BVSW1h
Z2VDb3B5QnVmZmVyIGRlc3RpbmF0aW9uLAorICAgIEdQVUV4dGVudDNEIGNvcHlTaXplKQorewor
ICAgIFVOVVNFRF9QQVJBTShzb3VyY2UpOworICAgIFVOVVNFRF9QQVJBTShkZXN0aW5hdGlvbik7
CisgICAgVU5VU0VEX1BBUkFNKGNvcHlTaXplKTsKK30KKwordm9pZCBHUFVDb21tYW5kRW5jb2Rl
cjo6Y29weVRleHR1cmVUb1RleHR1cmUoCisgICAgR1BVSW1hZ2VDb3B5VGV4dHVyZSBzb3VyY2Us
CisgICAgR1BVSW1hZ2VDb3B5VGV4dHVyZSBkZXN0aW5hdGlvbiwKKyAgICBHUFVFeHRlbnQzRCBj
b3B5U2l6ZSkKK3sKKyAgICBVTlVTRURfUEFSQU0oc291cmNlKTsKKyAgICBVTlVTRURfUEFSQU0o
ZGVzdGluYXRpb24pOworICAgIFVOVVNFRF9QQVJBTShjb3B5U2l6ZSk7Cit9CisKK3ZvaWQgR1BV
Q29tbWFuZEVuY29kZXI6OmZpbGxCdWZmZXIoCisgICAgY29uc3QgR1BVQnVmZmVyJiBkZXN0aW5h
dGlvbiwKKyAgICBHUFVTaXplNjQgZGVzdGluYXRpb25PZmZzZXQsCisgICAgR1BVU2l6ZTY0IHNp
emUpCit7CisgICAgVU5VU0VEX1BBUkFNKGRlc3RpbmF0aW9uKTsKKyAgICBVTlVTRURfUEFSQU0o
ZGVzdGluYXRpb25PZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTShzaXplKTsKK30KKwordm9pZCBH
UFVDb21tYW5kRW5jb2Rlcjo6cHVzaERlYnVnR3JvdXAoU3RyaW5nJiYgZ3JvdXBMYWJlbCkKK3sK
KyAgICBVTlVTRURfUEFSQU0oZ3JvdXBMYWJlbCk7Cit9CisKK3ZvaWQgR1BVQ29tbWFuZEVuY29k
ZXI6OnBvcERlYnVnR3JvdXAoKQoreworCit9CisKK3ZvaWQgR1BVQ29tbWFuZEVuY29kZXI6Omlu
c2VydERlYnVnTWFya2VyKFN0cmluZyYmIG1hcmtlckxhYmVsKQoreworICAgIFVOVVNFRF9QQVJB
TShtYXJrZXJMYWJlbCk7Cit9CisKK3ZvaWQgR1BVQ29tbWFuZEVuY29kZXI6OndyaXRlVGltZXN0
YW1wKGNvbnN0IEdQVVF1ZXJ5U2V0JiwgR1BVU2l6ZTMyIHF1ZXJ5SW5kZXgpCit7CisgICAgVU5V
U0VEX1BBUkFNKHF1ZXJ5SW5kZXgpOworfQorCit2b2lkIEdQVUNvbW1hbmRFbmNvZGVyOjpyZXNv
bHZlUXVlcnlTZXQoCisgICAgY29uc3QgR1BVUXVlcnlTZXQmLAorICAgIEdQVVNpemUzMiBmaXJz
dFF1ZXJ5LAorICAgIEdQVVNpemUzMiBxdWVyeUNvdW50LAorICAgIGNvbnN0IEdQVUJ1ZmZlciYg
ZGVzdGluYXRpb24sCisgICAgR1BVU2l6ZTY0IGRlc3RpbmF0aW9uT2Zmc2V0KQoreworICAgIFVO
VVNFRF9QQVJBTShmaXJzdFF1ZXJ5KTsKKyAgICBVTlVTRURfUEFSQU0ocXVlcnlDb3VudCk7Cisg
ICAgVU5VU0VEX1BBUkFNKGRlc3RpbmF0aW9uKTsKKyAgICBVTlVTRURfUEFSQU0oZGVzdGluYXRp
b25PZmZzZXQpOworfQorCitSZWY8R1BVQ29tbWFuZEJ1ZmZlcj4gR1BVQ29tbWFuZEVuY29kZXI6
OmZpbmlzaChzdGQ6Om9wdGlvbmFsPEdQVUNvbW1hbmRCdWZmZXJEZXNjcmlwdG9yPikKK3sKKyAg
ICByZXR1cm4gR1BVQ29tbWFuZEJ1ZmZlcjo6Y3JlYXRlKCk7Cit9CisKK30KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2Rlci5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmMwMDE4OTBlNjg5Y2QxZTg5NGVmN2NiZGZkNDIxZDVjODZhMTMxMDUKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2Rlci5oCkBA
IC0wLDAgKzEsMTExIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJH
UFVDb21tYW5kQnVmZmVyLmgiCisjaW5jbHVkZSAiR1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0b3Iu
aCIKKyNpbmNsdWRlICJHUFVDb21wdXRlUGFzc0Rlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJHUFVD
b21wdXRlUGFzc0VuY29kZXIuaCIKKyNpbmNsdWRlICJHUFVFeHRlbnQzRERpY3QuaCIKKyNpbmNs
dWRlICJHUFVJbWFnZUNvcHlCdWZmZXIuaCIKKyNpbmNsdWRlICJHUFVJbWFnZUNvcHlUZXh0dXJl
LmgiCisjaW5jbHVkZSAiR1BVSW50ZWdyYWxUeXBlcy5oIgorI2luY2x1ZGUgIkdQVVJlbmRlclBh
c3NEZXNjcmlwdG9yLmgiCisjaW5jbHVkZSAiR1BVUmVuZGVyUGFzc0VuY29kZXIuaCIKKyNpbmNs
dWRlIDxvcHRpb25hbD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNv
dW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBHUFVCdWZmZXI7CitjbGFzcyBHUFVRdWVyeVNldDsKKworY2xhc3Mg
R1BVQ29tbWFuZEVuY29kZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxHUFVDb21tYW5kRW5jb2Rlcj4g
eworcHVibGljOgorICAgIHN0YXRpYyBSZWY8R1BVQ29tbWFuZEVuY29kZXI+IGNyZWF0ZSgpCisg
ICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBHUFVDb21tYW5kRW5jb2RlcigpKTsK
KyAgICB9CisKKyAgICBSZWY8R1BVUmVuZGVyUGFzc0VuY29kZXI+IGJlZ2luUmVuZGVyUGFzcyhH
UFVSZW5kZXJQYXNzRGVzY3JpcHRvcik7CisgICAgUmVmPEdQVUNvbXB1dGVQYXNzRW5jb2Rlcj4g
YmVnaW5Db21wdXRlUGFzcyhzdGQ6Om9wdGlvbmFsPEdQVUNvbXB1dGVQYXNzRGVzY3JpcHRvcj4p
OworCisgICAgdm9pZCBjb3B5QnVmZmVyVG9CdWZmZXIoCisgICAgICAgIGNvbnN0IEdQVUJ1ZmZl
ciYgc291cmNlLAorICAgICAgICBHUFVTaXplNjQgc291cmNlT2Zmc2V0LAorICAgICAgICBjb25z
dCBHUFVCdWZmZXImIGRlc3RpbmF0aW9uLAorICAgICAgICBHUFVTaXplNjQgZGVzdGluYXRpb25P
ZmZzZXQsCisgICAgICAgIEdQVVNpemU2NCk7CisKKyAgICB2b2lkIGNvcHlCdWZmZXJUb1RleHR1
cmUoCisgICAgICAgIEdQVUltYWdlQ29weUJ1ZmZlciBzb3VyY2UsCisgICAgICAgIEdQVUltYWdl
Q29weVRleHR1cmUgZGVzdGluYXRpb24sCisgICAgICAgIEdQVUV4dGVudDNEIGNvcHlTaXplKTsK
KworICAgIHZvaWQgY29weVRleHR1cmVUb0J1ZmZlcigKKyAgICAgICAgR1BVSW1hZ2VDb3B5VGV4
dHVyZSBzb3VyY2UsCisgICAgICAgIEdQVUltYWdlQ29weUJ1ZmZlciBkZXN0aW5hdGlvbiwKKyAg
ICAgICAgR1BVRXh0ZW50M0QgY29weVNpemUpOworCisgICAgdm9pZCBjb3B5VGV4dHVyZVRvVGV4
dHVyZSgKKyAgICAgICAgR1BVSW1hZ2VDb3B5VGV4dHVyZSBzb3VyY2UsCisgICAgICAgIEdQVUlt
YWdlQ29weVRleHR1cmUgZGVzdGluYXRpb24sCisgICAgICAgIEdQVUV4dGVudDNEIGNvcHlTaXpl
KTsKKworICAgIHZvaWQgZmlsbEJ1ZmZlcigKKyAgICAgICAgY29uc3QgR1BVQnVmZmVyJiBkZXN0
aW5hdGlvbiwKKyAgICAgICAgR1BVU2l6ZTY0IGRlc3RpbmF0aW9uT2Zmc2V0LAorICAgICAgICBH
UFVTaXplNjQpOworCisgICAgdm9pZCBwdXNoRGVidWdHcm91cChTdHJpbmcmJiBncm91cExhYmVs
KTsKKyAgICB2b2lkIHBvcERlYnVnR3JvdXAoKTsKKyAgICB2b2lkIGluc2VydERlYnVnTWFya2Vy
KFN0cmluZyYmIG1hcmtlckxhYmVsKTsKKworICAgIHZvaWQgd3JpdGVUaW1lc3RhbXAoY29uc3Qg
R1BVUXVlcnlTZXQmLCBHUFVTaXplMzIgcXVlcnlJbmRleCk7CisKKyAgICB2b2lkIHJlc29sdmVR
dWVyeVNldCgKKyAgICAgICAgY29uc3QgR1BVUXVlcnlTZXQmLAorICAgICAgICBHUFVTaXplMzIg
Zmlyc3RRdWVyeSwKKyAgICAgICAgR1BVU2l6ZTMyIHF1ZXJ5Q291bnQsCisgICAgICAgIGNvbnN0
IEdQVUJ1ZmZlciYgZGVzdGluYXRpb24sCisgICAgICAgIEdQVVNpemU2NCBkZXN0aW5hdGlvbk9m
ZnNldCk7CisKKyAgICBSZWY8R1BVQ29tbWFuZEJ1ZmZlcj4gZmluaXNoKHN0ZDo6b3B0aW9uYWw8
R1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0b3I+KTsKKworICAgIGNvbnN0IFN0cmluZyYgbGFiZWwo
KSBjb25zdCB7IHJldHVybiBtX2xhYmVsOyB9CisgICAgdm9pZCBzZXRMYWJlbChTdHJpbmcmJiBs
YWJlbCkgeyBtX2xhYmVsID0gV1RGTW92ZShsYWJlbCk7IH0KKworcHJpdmF0ZToKKyAgICBHUFVD
b21tYW5kRW5jb2RlcigpCisgICAgeworICAgIH0KKworICAgIFN0cmluZyBtX2xhYmVsOworfTsK
KworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFu
ZEVuY29kZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVu
Y29kZXIuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDA2NGE0YjU2ZjQwNGZmNDM0YWQwNTg3MGU0MTdjMmVm
ZjE3NzcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVDb21tYW5kRW5jb2Rlci5pZGwKQEAgLTAsMCArMSw4NCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDggVGhlc2Ugc2hvdWxk
bid0IG5lZWQgdG8gYmUgaGVyZS4KK3R5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9u
ZyBHUFVTaXplMzI7Cit0eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmcgbG9uZyBH
UFVTaXplNjQ7Cit0eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmcgR1BVSW50ZWdl
ckNvb3JkaW5hdGU7Cit0eXBlZGVmIChzZXF1ZW5jZTxHUFVJbnRlZ2VyQ29vcmRpbmF0ZT4gb3Ig
R1BVRXh0ZW50M0REaWN0KSBHUFVFeHRlbnQzRDsKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9
V2ViR1BVLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCisgICAgRXhwb3NlZD0oV2lu
ZG93KSwgLyogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjU0Mjog
RGVkaWNhdGVkV29ya2VyICovCisgICAgU2VjdXJlQ29udGV4dAorXQoraW50ZXJmYWNlIEdQVUNv
bW1hbmRFbmNvZGVyIHsKKyAgICBHUFVSZW5kZXJQYXNzRW5jb2RlciBiZWdpblJlbmRlclBhc3Mo
R1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IgZGVzY3JpcHRvcik7CisgICAgR1BVQ29tcHV0ZVBhc3NF
bmNvZGVyIGJlZ2luQ29tcHV0ZVBhc3Mob3B0aW9uYWwgR1BVQ29tcHV0ZVBhc3NEZXNjcmlwdG9y
IGRlc2NyaXB0b3IpOworCisgICAgdW5kZWZpbmVkIGNvcHlCdWZmZXJUb0J1ZmZlcigKKyAgICAg
ICAgR1BVQnVmZmVyIHNvdXJjZSwKKyAgICAgICAgR1BVU2l6ZTY0IHNvdXJjZU9mZnNldCwKKyAg
ICAgICAgR1BVQnVmZmVyIGRlc3RpbmF0aW9uLAorICAgICAgICBHUFVTaXplNjQgZGVzdGluYXRp
b25PZmZzZXQsCisgICAgICAgIEdQVVNpemU2NCBzaXplKTsKKworICAgIHVuZGVmaW5lZCBjb3B5
QnVmZmVyVG9UZXh0dXJlKAorICAgICAgICBHUFVJbWFnZUNvcHlCdWZmZXIgc291cmNlLAorICAg
ICAgICBHUFVJbWFnZUNvcHlUZXh0dXJlIGRlc3RpbmF0aW9uLAorICAgICAgICBHUFVFeHRlbnQz
RCBjb3B5U2l6ZSk7CisKKyAgICB1bmRlZmluZWQgY29weVRleHR1cmVUb0J1ZmZlcigKKyAgICAg
ICAgR1BVSW1hZ2VDb3B5VGV4dHVyZSBzb3VyY2UsCisgICAgICAgIEdQVUltYWdlQ29weUJ1ZmZl
ciBkZXN0aW5hdGlvbiwKKyAgICAgICAgR1BVRXh0ZW50M0QgY29weVNpemUpOworCisgICAgdW5k
ZWZpbmVkIGNvcHlUZXh0dXJlVG9UZXh0dXJlKAorICAgICAgICBHUFVJbWFnZUNvcHlUZXh0dXJl
IHNvdXJjZSwKKyAgICAgICAgR1BVSW1hZ2VDb3B5VGV4dHVyZSBkZXN0aW5hdGlvbiwKKyAgICAg
ICAgR1BVRXh0ZW50M0QgY29weVNpemUpOworCisgICAgdW5kZWZpbmVkIGZpbGxCdWZmZXIoCisg
ICAgICAgIEdQVUJ1ZmZlciBkZXN0aW5hdGlvbiwKKyAgICAgICAgR1BVU2l6ZTY0IGRlc3RpbmF0
aW9uT2Zmc2V0LAorICAgICAgICBHUFVTaXplNjQgc2l6ZSk7CisKKyAgICB1bmRlZmluZWQgcHVz
aERlYnVnR3JvdXAoVVNWU3RyaW5nIGdyb3VwTGFiZWwpOworICAgIHVuZGVmaW5lZCBwb3BEZWJ1
Z0dyb3VwKCk7CisgICAgdW5kZWZpbmVkIGluc2VydERlYnVnTWFya2VyKFVTVlN0cmluZyBtYXJr
ZXJMYWJlbCk7CisKKyAgICB1bmRlZmluZWQgd3JpdGVUaW1lc3RhbXAoR1BVUXVlcnlTZXQgcXVl
cnlTZXQsIEdQVVNpemUzMiBxdWVyeUluZGV4KTsKKworICAgIHVuZGVmaW5lZCByZXNvbHZlUXVl
cnlTZXQoCisgICAgICAgIEdQVVF1ZXJ5U2V0IHF1ZXJ5U2V0LAorICAgICAgICBHUFVTaXplMzIg
Zmlyc3RRdWVyeSwKKyAgICAgICAgR1BVU2l6ZTMyIHF1ZXJ5Q291bnQsCisgICAgICAgIEdQVUJ1
ZmZlciBkZXN0aW5hdGlvbiwKKyAgICAgICAgR1BVU2l6ZTY0IGRlc3RpbmF0aW9uT2Zmc2V0KTsK
KworICAgIEdQVUNvbW1hbmRCdWZmZXIgZmluaXNoKG9wdGlvbmFsIEdQVUNvbW1hbmRCdWZmZXJE
ZXNjcmlwdG9yIGRlc2NyaXB0b3IpOworfTsKK0dQVUNvbW1hbmRFbmNvZGVyIGluY2x1ZGVzIEdQ
VU9iamVjdEJhc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVDb21tYW5kRW5jb2RlckRlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2Vi
R1BVL0dQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQzNTk2ZmM2MmU0
Y2JiM2IwM2FmMDc1YmM3YmYxYzgyNWRkNDk4M2YKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2RlckRlc2NyaXB0b3IuaApAQCAt
MCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJHUFVP
YmplY3REZXNjcmlwdG9yQmFzZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBH
UFVDb21tYW5kRW5jb2RlckRlc2NyaXB0b3IgOiBwdWJsaWMgR1BVT2JqZWN0RGVzY3JpcHRvckJh
c2UgeworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVQ29tbWFuZEVuY29kZXJEZXNjcmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTFjNDQz
Mjc1ODIyMmUwNGRhZDNmMjA5MjNlMjMxZTQ2NDcxY2ZkMAotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5p
ZGwKQEAgLTAsMCArMSwzMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5n
PVdlYkdQVQorXQorZGljdGlvbmFyeSBHUFVDb21tYW5kRW5jb2RlckRlc2NyaXB0b3IgOiBHUFVP
YmplY3REZXNjcmlwdG9yQmFzZSB7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0Rlc2NyaXB0b3IuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wN2Nl
MWUzNTM1ODU4M2Q3OTIyYzdmYjU0NmJhMGVmYzc2NmU5NTUzCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NEZXNjcmlwdG9yLmgK
QEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAi
R1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0ZS5oIgorI2luY2x1ZGUgIkdQVU9iamVjdERlc2Ny
aXB0b3JCYXNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IEdQVUNvbXB1dGVQ
YXNzRGVzY3JpcHRvciA6IHB1YmxpYyBHUFVPYmplY3REZXNjcmlwdG9yQmFzZSB7CisgICAgR1BV
Q29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0ZXMgdGltZXN0YW1wV3JpdGVzOworfTsKKworfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NEZXNj
cmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNz
RGVzY3JpcHRvci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGNhMjMxNjRmNjI1NjE4MDUwMDFhYTYxMmJmYjQ1
MzNhMWUxMjdlNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2Vi
R1BVL0dQVUNvbXB1dGVQYXNzRGVzY3JpcHRvci5pZGwKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKy8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDgg
VGhpcyBzaG91bGRuJ3QgbmVlZCB0byBiZSBoZXJlLgordHlwZWRlZiBzZXF1ZW5jZTxHUFVDb21w
dXRlUGFzc1RpbWVzdGFtcFdyaXRlPiBHUFVDb21wdXRlUGFzc1RpbWVzdGFtcFdyaXRlczsKKwor
WworICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVCitdCitkaWN0aW9uYXJ5IEdQVUNvbXB1dGVQ
YXNzRGVzY3JpcHRvciA6IEdQVU9iamVjdERlc2NyaXB0b3JCYXNlIHsKKyAgICBHUFVDb21wdXRl
UGFzc1RpbWVzdGFtcFdyaXRlcyB0aW1lc3RhbXBXcml0ZXMgPSBbXTsKK307CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iY2YzNjBiMWFiNzc5Yzk1Y2Y1MzE2OTFkYzQyZDRkODk4YmU4MjZlCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0
ZVBhc3NFbmNvZGVyLmNwcApAQCAtMCwwICsxLDEwMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEg
b25jZQorCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiR1BVQ29tcHV0ZVBhc3NFbmNv
ZGVyLmgiCisKKyNpbmNsdWRlICJHUFVCaW5kR3JvdXAuaCIKKyNpbmNsdWRlICJHUFVCdWZmZXIu
aCIKKyNpbmNsdWRlICJHUFVDb21wdXRlUGlwZWxpbmUuaCIKKyNpbmNsdWRlICJHUFVRdWVyeVNl
dC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgR1BVQ29tcHV0ZVBhc3NFbmNvZGVy
OjpzZXRQaXBlbGluZShjb25zdCBHUFVDb21wdXRlUGlwZWxpbmUmKQoreworfQorCit2b2lkIEdQ
VUNvbXB1dGVQYXNzRW5jb2Rlcjo6ZGlzcGF0Y2goR1BVU2l6ZTMyIHgsIHN0ZDo6b3B0aW9uYWw8
R1BVU2l6ZTMyPiB5LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemUzMj4geikKK3sKKyAgICBVTlVTRURf
UEFSQU0oeCk7CisgICAgVU5VU0VEX1BBUkFNKHkpOworICAgIFVOVVNFRF9QQVJBTSh6KTsKK30K
Kwordm9pZCBHUFVDb21wdXRlUGFzc0VuY29kZXI6OmRpc3BhdGNoSW5kaXJlY3QoY29uc3QgR1BV
QnVmZmVyJiBpbmRpcmVjdEJ1ZmZlciwgR1BVU2l6ZTY0IGluZGlyZWN0T2Zmc2V0KQoreworICAg
IFVOVVNFRF9QQVJBTShpbmRpcmVjdEJ1ZmZlcik7CisgICAgVU5VU0VEX1BBUkFNKGluZGlyZWN0
T2Zmc2V0KTsKK30KKwordm9pZCBHUFVDb21wdXRlUGFzc0VuY29kZXI6OmJlZ2luUGlwZWxpbmVT
dGF0aXN0aWNzUXVlcnkoY29uc3QgR1BVUXVlcnlTZXQmLCBHUFVTaXplMzIgcXVlcnlJbmRleCkK
K3sKKyAgICBVTlVTRURfUEFSQU0ocXVlcnlJbmRleCk7Cit9CisKK3ZvaWQgR1BVQ29tcHV0ZVBh
c3NFbmNvZGVyOjplbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpCit7CisKK30KKwordm9pZCBH
UFVDb21wdXRlUGFzc0VuY29kZXI6OmVuZFBhc3MoKQoreworCit9CisKK3ZvaWQgR1BVQ29tcHV0
ZVBhc3NFbmNvZGVyOjpzZXRCaW5kR3JvdXAoR1BVSW5kZXgzMiwgY29uc3QgR1BVQmluZEdyb3Vw
JiwKKyAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxHUFVCdWZmZXJEeW5hbWljT2Zmc2V0Pj4mJikK
K3sKKworfQorCit2b2lkIEdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6c2V0QmluZEdyb3VwKEdQVUlu
ZGV4MzIsIGNvbnN0IEdQVUJpbmRHcm91cCYsCisgICAgY29uc3QgSlNDOjpVaW50MzJBcnJheSYg
ZHluYW1pY09mZnNldHNEYXRhLAorICAgIEdQVVNpemU2NCBkeW5hbWljT2Zmc2V0c0RhdGFTdGFy
dCwKKyAgICBHUFVTaXplMzIgZHluYW1pY09mZnNldHNEYXRhTGVuZ3RoKQoreworICAgIFVOVVNF
RF9QQVJBTShkeW5hbWljT2Zmc2V0c0RhdGEpOworICAgIFVOVVNFRF9QQVJBTShkeW5hbWljT2Zm
c2V0c0RhdGFTdGFydCk7CisgICAgVU5VU0VEX1BBUkFNKGR5bmFtaWNPZmZzZXRzRGF0YUxlbmd0
aCk7Cit9CisKK3ZvaWQgR1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjpwdXNoRGVidWdHcm91cChTdHJp
bmcmJiBncm91cExhYmVsKQoreworICAgIFVOVVNFRF9QQVJBTShncm91cExhYmVsKTsKK30KKwor
dm9pZCBHUFVDb21wdXRlUGFzc0VuY29kZXI6OnBvcERlYnVnR3JvdXAoKQoreworCit9CisKK3Zv
aWQgR1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjppbnNlcnREZWJ1Z01hcmtlcihTdHJpbmcmJiBtYXJr
ZXJMYWJlbCkKK3sKKyAgICBVTlVTRURfUEFSQU0obWFya2VyTGFiZWwpOworfQorCit9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29k
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzRW5jb2Rl
ci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjVhZGQxYmNiNDU5MTQ3OWEzYzgwNzNmMzlmYTMwZDAyOWIxMzdjMDYK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21w
dXRlUGFzc0VuY29kZXIuaApAQCAtMCwwICsxLDgyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlICJHUFVJbnRlZ3JhbFR5cGVzLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvVWludDMyQXJyYXkuaD4KKyNpbmNsdWRlIDxvcHRpb25hbD4KKyNpbmNsdWRlIDx3dGYv
UmVmLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgR1BVQmluZEdyb3VwOworY2xhc3MgR1BVQnVmZmVyOworY2xhc3MgR1BVQ29t
cHV0ZVBpcGVsaW5lOworY2xhc3MgR1BVUXVlcnlTZXQ7CisKK2NsYXNzIEdQVUNvbXB1dGVQYXNz
RW5jb2RlciA6IHB1YmxpYyBSZWZDb3VudGVkPEdQVUNvbXB1dGVQYXNzRW5jb2Rlcj4geworcHVi
bGljOgorICAgIHN0YXRpYyBSZWY8R1BVQ29tcHV0ZVBhc3NFbmNvZGVyPiBjcmVhdGUoKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgR1BVQ29tcHV0ZVBhc3NFbmNvZGVyKCkp
OworICAgIH0KKworICAgIHZvaWQgc2V0UGlwZWxpbmUoY29uc3QgR1BVQ29tcHV0ZVBpcGVsaW5l
Jik7CisgICAgdm9pZCBkaXNwYXRjaChHUFVTaXplMzIgeCwgc3RkOjpvcHRpb25hbDxHUFVTaXpl
MzI+IHksIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTMyPik7CisgICAgdm9pZCBkaXNwYXRjaEluZGly
ZWN0KGNvbnN0IEdQVUJ1ZmZlciYgaW5kaXJlY3RCdWZmZXIsIEdQVVNpemU2NCBpbmRpcmVjdE9m
ZnNldCk7CisKKyAgICB2b2lkIGJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoY29uc3QgR1BV
UXVlcnlTZXQmLCBHUFVTaXplMzIgcXVlcnlJbmRleCk7CisgICAgdm9pZCBlbmRQaXBlbGluZVN0
YXRpc3RpY3NRdWVyeSgpOworCisgICAgdm9pZCBlbmRQYXNzKCk7CisKKyAgICB2b2lkIHNldEJp
bmRHcm91cChHUFVJbmRleDMyLCBjb25zdCBHUFVCaW5kR3JvdXAmLAorICAgICAgICBzdGQ6Om9w
dGlvbmFsPFZlY3RvcjxHUFVCdWZmZXJEeW5hbWljT2Zmc2V0Pj4mJik7CisKKyAgICB2b2lkIHNl
dEJpbmRHcm91cChHUFVJbmRleDMyLCBjb25zdCBHUFVCaW5kR3JvdXAmLAorICAgICAgICBjb25z
dCBKU0M6OlVpbnQzMkFycmF5JiBkeW5hbWljT2Zmc2V0c0RhdGEsCisgICAgICAgIEdQVVNpemU2
NCBkeW5hbWljT2Zmc2V0c0RhdGFTdGFydCwKKyAgICAgICAgR1BVU2l6ZTMyIGR5bmFtaWNPZmZz
ZXRzRGF0YUxlbmd0aCk7CisKKyAgICB2b2lkIHB1c2hEZWJ1Z0dyb3VwKFN0cmluZyYmIGdyb3Vw
TGFiZWwpOworICAgIHZvaWQgcG9wRGVidWdHcm91cCgpOworICAgIHZvaWQgaW5zZXJ0RGVidWdN
YXJrZXIoU3RyaW5nJiYgbWFya2VyTGFiZWwpOworCisgICAgY29uc3QgU3RyaW5nJiBsYWJlbCgp
IGNvbnN0IHsgcmV0dXJuIG1fbGFiZWw7IH0KKyAgICB2b2lkIHNldExhYmVsKFN0cmluZyYmIGxh
YmVsKSB7IG1fbGFiZWwgPSBXVEZNb3ZlKGxhYmVsKTsgfQorCitwcml2YXRlOgorICAgIEdQVUNv
bXB1dGVQYXNzRW5jb2RlcigpCisgICAgeworICAgIH0KKworICAgIFN0cmluZyBtX2xhYmVsOwor
fTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29t
cHV0ZVBhc3NFbmNvZGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNv
bXB1dGVQYXNzRW5jb2Rlci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ5MzQwMTk4YTRkOTI5YjlkOTU0NzU0
MDEzYmRlMGU0ZDM4Yjc1YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzRW5jb2Rlci5pZGwKQEAgLTAsMCArMSw0NyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKy8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1
NDggVGhlc2Ugc2hvdWxkbid0IG5lZWQgdG8gYmUgaGVyZS4KK3R5cGVkZWYgW0VuZm9yY2VSYW5n
ZV0gdW5zaWduZWQgbG9uZyBHUFVTaXplMzI7Cit0eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIHVuc2ln
bmVkIGxvbmcgbG9uZyBHUFVTaXplNjQ7CisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQ
VSwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAgIEV4cG9zZWQ9KFdpbmRvdyks
IC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDI6IERlZGlj
YXRlZFdvcmtlciAqLworICAgIFNlY3VyZUNvbnRleHQKK10KK2ludGVyZmFjZSBHUFVDb21wdXRl
UGFzc0VuY29kZXIgeworICAgIHVuZGVmaW5lZCBzZXRQaXBlbGluZShHUFVDb21wdXRlUGlwZWxp
bmUgcGlwZWxpbmUpOworICAgIHVuZGVmaW5lZCBkaXNwYXRjaChHUFVTaXplMzIgeCwgb3B0aW9u
YWwgR1BVU2l6ZTMyIHkgPSAxLCBvcHRpb25hbCBHUFVTaXplMzIgeiA9IDEpOworICAgIHVuZGVm
aW5lZCBkaXNwYXRjaEluZGlyZWN0KEdQVUJ1ZmZlciBpbmRpcmVjdEJ1ZmZlciwgR1BVU2l6ZTY0
IGluZGlyZWN0T2Zmc2V0KTsKKworICAgIHVuZGVmaW5lZCBiZWdpblBpcGVsaW5lU3RhdGlzdGlj
c1F1ZXJ5KEdQVVF1ZXJ5U2V0IHF1ZXJ5U2V0LCBHUFVTaXplMzIgcXVlcnlJbmRleCk7CisgICAg
dW5kZWZpbmVkIGVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCk7CisKKyAgICB1bmRlZmluZWQg
ZW5kUGFzcygpOworfTsKK0dQVUNvbXB1dGVQYXNzRW5jb2RlciBpbmNsdWRlcyBHUFVPYmplY3RC
YXNlOworR1BVQ29tcHV0ZVBhc3NFbmNvZGVyIGluY2x1ZGVzIEdQVVByb2dyYW1tYWJsZVBhc3NF
bmNvZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29t
cHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1MzFhNmM4
Y2I2MTQ4YzUxOGVjMDM4Y2U3ZTAzNzcxZjYwMWZhMWUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc1RpbWVzdGFtcExvY2F0aW9u
LmgKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVk
ZSA8Y3N0ZGludD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNzIEdQVUNvbXB1
dGVQYXNzVGltZXN0YW1wTG9jYXRpb24gOiB1aW50OF90IHsKKyAgICBCZWdpbm5pbmcsCisgICAg
RW5kCit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVDb21wdXRlUGFzc1RpbWVzdGFtcExvY2F0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wTG9jYXRpb24uaWRsCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmJmMjA3YzIyMDY4Y2I1NjQyM2NiZjYyZTg1OGU2ZmM3YmUxOTJmMWQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc1RpbWVzdGFt
cExvY2F0aW9uLmlkbApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJs
ZWRCeVNldHRpbmc9V2ViR1BVCitdCitlbnVtIEdQVUNvbXB1dGVQYXNzVGltZXN0YW1wTG9jYXRp
b24geworICAgICJiZWdpbm5pbmciLAorICAgICJlbmQiCit9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0ZS5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0
ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5OWFiZGQ4YjI0ZGViOWIyMTEyNDg1NGJkNjFmNzIxNDZiZDJmMTQK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21w
dXRlUGFzc1RpbWVzdGFtcFdyaXRlLmgKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaW5jbHVkZSAiR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbi5o
IgorI2luY2x1ZGUgIkdQVUludGVncmFsVHlwZXMuaCIKKyNpbmNsdWRlICJHUFVRdWVyeVNldC5o
IgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IEdQVUNvbXB1dGVQYXNzVGltZXN0YW1wV3JpdGUg
eworICAgIFJlZlB0cjxHUFVRdWVyeVNldD4gcXVlcnlTZXQ7CisgICAgR1BVU2l6ZTMyIHF1ZXJ5
SW5kZXg7CisgICAgR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbiBsb2NhdGlvbjsKK307
CisKK3VzaW5nIEdQVUNvbXB1dGVQYXNzVGltZXN0YW1wV3JpdGVzID0gVmVjdG9yPEdQVUNvbXB1
dGVQYXNzVGltZXN0YW1wV3JpdGU+OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc1RpbWVzdGFtcFdyaXRlLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wV3JpdGUuaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjJlYmEyZjY1NzdiYWIxNGY2MWQ0NTlkMjYwZTc1ZTU1NjQwNmEwNDYKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFz
c1RpbWVzdGFtcFdyaXRlLmlkbApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjU0OCBUaGlzIHNob3VsZG4n
dCBuZWVkIHRvIGJlIGhlcmUuCit0eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmcg
R1BVU2l6ZTMyOworCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUKK10KK2RpY3Rpb25h
cnkgR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0ZSB7CisgICAgcmVxdWlyZWQgR1BVUXVlcnlT
ZXQgcXVlcnlTZXQ7CisgICAgcmVxdWlyZWQgR1BVU2l6ZTMyIHF1ZXJ5SW5kZXg7CisgICAgcmVx
dWlyZWQgR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbiBsb2NhdGlvbjsKK307CisKK3R5
cGVkZWYgc2VxdWVuY2U8R1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0ZT4gR1BVQ29tcHV0ZVBh
c3NUaW1lc3RhbXBXcml0ZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVDb21wdXRlUGlwZWxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVUNvbXB1dGVQaXBlbGluZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkwNDVmYWRjZTczNjJkMzYxMTYxMDdi
NTYxMmQyMTdhNWRjM2MyYzcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVDb21wdXRlUGlwZWxpbmUuaApAQCAtMCwwICsxLDUwIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitjbGFzcyBHUFVDb21wdXRlUGlwZWxpbmUgOiBwdWJsaWMgUmVmQ291
bnRlZDxHUFVDb21wdXRlUGlwZWxpbmU+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPEdQVUNv
bXB1dGVQaXBlbGluZT4gY3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IEdQVUNvbXB1dGVQaXBlbGluZSgpKTsKKyAgICB9CisKKyAgICBjb25zdCBTdHJpbmcmIGxh
YmVsKCkgY29uc3QgeyByZXR1cm4gbV9sYWJlbDsgfQorICAgIHZvaWQgc2V0TGFiZWwoU3RyaW5n
JiYgbGFiZWwpIHsgbV9sYWJlbCA9IGxhYmVsOyB9CisKK3ByaXZhdGU6CisgICAgR1BVQ29tcHV0
ZVBpcGVsaW5lKCk7CisKKyAgICBTdHJpbmcgbV9sYWJlbDsKK307CisKK30KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQaXBlbGluZS5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGlwZWxpbmUuaWRsCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmI0YjJlNmJlNDRhMmVlZjgxMTc4YWFiNDY5ZjlhNDlmZTNlOWM0MDMKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGlwZWxp
bmUuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgRW5hYmxlZEJ5U2V0
dGluZz1XZWJHUFUsCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKKyAgICBFeHBvc2Vk
PShXaW5kb3cpLCAvKiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMy
NTQyOiBEZWRpY2F0ZWRXb3JrZXIgKi8KKyAgICBTZWN1cmVDb250ZXh0CitdCitpbnRlcmZhY2Ug
R1BVQ29tcHV0ZVBpcGVsaW5lIHsKK307CitHUFVDb21wdXRlUGlwZWxpbmUgaW5jbHVkZXMgR1BV
T2JqZWN0QmFzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VUV4dGVudDNERGljdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRXh0ZW50
M0REaWN0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMzcwOWZlN2M5MTdmNzhmYjQ0NmU1ZDg3NzhmMTZhMGRiZDlm
ZmExYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VUV4dGVudDNERGljdC5oCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworI2luY2x1ZGUgIkdQVUludGVncmFsVHlwZXMuaCIKKyNpbmNsdWRlIDx2YXJpYW50Pgor
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3Qg
R1BVRXh0ZW50M0REaWN0IHsKKyAgICBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSB3aWR0aDsKKyAgICBH
UFVJbnRlZ2VyQ29vcmRpbmF0ZSBoZWlnaHQ7CisgICAgR1BVSW50ZWdlckNvb3JkaW5hdGUgZGVw
dGhPckFycmF5TGF5ZXJzOworfTsKKwordXNpbmcgR1BVRXh0ZW50M0QgPSBzdGQ6OnZhcmlhbnQ8
VmVjdG9yPEdQVUludGVnZXJDb29yZGluYXRlPiwgR1BVRXh0ZW50M0REaWN0PjsKKworfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRXh0ZW50M0REaWN0Lmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUV4dGVudDNERGljdC5pZGwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZmM1OGFmYjJmYTQxYmFjODk1MmNhZmM0ZTQ4MjUwOTI4Zjg5NjhlMQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUV4dGVudDNERGlj
dC5pZGwKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDggVGhpcyBzaG91bGRuJ3QgbmVlZCB0byBiZSBo
ZXJlLgordHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVUludGVnZXJDb29y
ZGluYXRlOworCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUKK10KK2RpY3Rpb25hcnkg
R1BVRXh0ZW50M0REaWN0IHsKKyAgICByZXF1aXJlZCBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSB3aWR0
aDsKKyAgICBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSBoZWlnaHQgPSAxOworICAgIEdQVUludGVnZXJD
b29yZGluYXRlIGRlcHRoT3JBcnJheUxheWVycyA9IDE7Cit9OwordHlwZWRlZiAoc2VxdWVuY2U8
R1BVSW50ZWdlckNvb3JkaW5hdGU+IG9yIEdQVUV4dGVudDNERGljdCkgR1BVRXh0ZW50M0Q7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlCdWZm
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weUJ1ZmZlci5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjE1M2MyZGJiMTY3NGY3ZjljZmE5MTAzNjNlMTJkMjY5ZjcwM2IyOWUKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNv
cHlCdWZmZXIuaApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpbmNsdWRlICJHUFVCdWZmZXIuaCIKKyNpbmNsdWRlICJHUFVJbWFnZURhdGFMYXlvdXQuaCIK
KyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0
IEdQVUltYWdlQ29weUJ1ZmZlciA6IHB1YmxpYyBHUFVJbWFnZURhdGFMYXlvdXQgeworICAgIFJl
ZlB0cjxHUFVCdWZmZXI+IGJ1ZmZlcjsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weUJ1ZmZlci5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlCdWZmZXIuaWRsCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFjOWE0
NDE5MjA4MjY4MzQ3NThjZDI4NjYzZDA3NzQ3N2E4MjAwYTMKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlCdWZmZXIuaWRsCkBAIC0w
LDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUK
K10KK2RpY3Rpb25hcnkgR1BVSW1hZ2VDb3B5QnVmZmVyIDogR1BVSW1hZ2VEYXRhTGF5b3V0IHsK
KyAgICByZXF1aXJlZCBHUFVCdWZmZXIgYnVmZmVyOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43ZDVkY2MwZjJiNGVlYzhlMzY1ODNmYTZiODQ1ZjRkZTNhMDg4YTc4Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5RXh0
ZXJuYWxJbWFnZS5oCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2luY2x1ZGUgIkdQVU9yaWdpbjJERGljdC5oIgorI2luY2x1ZGUgIkhUTUxDYW52YXNFbGVt
ZW50LmgiCisjaW5jbHVkZSAiSW1hZ2VCaXRtYXAuaCIKKyNpbmNsdWRlIDx2YXJpYW50PgorI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgR1BV
SW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZSB7CisgICAgc3RkOjp2YXJpYW50PFJlZlB0cjxJbWFnZUJp
dG1hcD4sIFJlZlB0cjxIVE1MQ2FudmFzRWxlbWVudD4+IHNvdXJjZTsKKyAgICBHUFVPcmlnaW4y
RCBvcmlnaW47Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaWRsCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2ZmRi
Nzg1NmU1MzRjZTlkOTg2ZWM2NzJhMmZhZTA2ZjkyNWZjMTMKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmlk
bApAQCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMjU0OCBUaGVzZSBzaG91bGRuJ3QgbmVlZCB0byBiZSBoZXJl
LgordHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVUludGVnZXJDb29yZGlu
YXRlOwordHlwZWRlZiAoc2VxdWVuY2U8R1BVSW50ZWdlckNvb3JkaW5hdGU+IG9yIEdQVU9yaWdp
bjJERGljdCkgR1BVT3JpZ2luMkQ7CisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVQor
XQorZGljdGlvbmFyeSBHUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlIHsKKyAgICByZXF1aXJlZCAo
SW1hZ2VCaXRtYXAgb3IgSFRNTENhbnZhc0VsZW1lbnQpIHNvdXJjZTsgLy8gRklYTUU6IE9mZnNj
cmVlbkNhbnZhcyBkb2Vzbid0IHNlZW0gdG8gd29yayB3aXRoIG91ciBiaW5kaW5ncyBoZXJlLgor
ICAgIEdQVU9yaWdpbjJEIG9yaWdpbjsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlUZXh0dXJlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlUZXh0dXJlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTU3NzI0YWQ4NDNm
NGQ3ZTk3MzY3Mzg2MzdlNzBmNTk1YTkxNTMxYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weVRleHR1cmUuaApAQCAtMCwwICsxLDQz
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJHUFVJbnRlZ3JhbFR5
cGVzLmgiCisjaW5jbHVkZSAiR1BVT3JpZ2luM0REaWN0LmgiCisjaW5jbHVkZSAiR1BVVGV4dHVy
ZS5oIgorI2luY2x1ZGUgIkdQVVRleHR1cmVBc3BlY3QuaCIKKyNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IEdQVUltYWdlQ29weVRleHR1cmUg
eworICAgIFJlZlB0cjxHUFVUZXh0dXJlPiB0ZXh0dXJlOworICAgIEdQVUludGVnZXJDb29yZGlu
YXRlIG1pcExldmVsOworICAgIEdQVU9yaWdpbjNEIG9yaWdpbjsKKyAgICBHUFVUZXh0dXJlQXNw
ZWN0IGFzcGVjdDsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVUltYWdlQ29weVRleHR1cmUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9X
ZWJHUFUvR1BVSW1hZ2VDb3B5VGV4dHVyZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTg3OGM2OGYwYWNlZDU4
ZmJlODg4ZjdkMmNkNjRmNDg0OTM2MTJlZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weVRleHR1cmUuaWRsCkBAIC0wLDAgKzEsMzgg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjMyNTQ4IFRoZXNlIHNob3VsZG4ndCBuZWVkIHRvIGJlIGhlcmUuCit0eXBlZGVmIFtFbmZv
cmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmcgR1BVSW50ZWdlckNvb3JkaW5hdGU7Cit0eXBlZGVmIChz
ZXF1ZW5jZTxHUFVJbnRlZ2VyQ29vcmRpbmF0ZT4gb3IgR1BVT3JpZ2luM0REaWN0KSBHUFVPcmln
aW4zRDsKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVCitdCitkaWN0aW9uYXJ5IEdQ
VUltYWdlQ29weVRleHR1cmUgeworICAgIHJlcXVpcmVkIEdQVVRleHR1cmUgdGV4dHVyZTsKKyAg
ICBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSBtaXBMZXZlbCA9IDA7CisgICAgR1BVT3JpZ2luM0Qgb3Jp
Z2luOworICAgIEdQVVRleHR1cmVBc3BlY3QgYXNwZWN0ID0gImFsbCI7Cit9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5VGV4dHVyZVRhZ2dl
ZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5VGV4dHVyZVRh
Z2dlZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjBlOGZiZTg3NGIzZmMxNjYyNDAyNDFkYmZiYjFhZjI5YzgzZjIw
YTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVJ
bWFnZUNvcHlUZXh0dXJlVGFnZ2VkLmgKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaW5jbHVkZSAiR1BVSW1hZ2VDb3B5VGV4dHVyZS5oIgorI2luY2x1ZGUg
IkdQVVByZWRlZmluZWRDb2xvclNwYWNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3Ry
dWN0IEdQVUltYWdlQ29weVRleHR1cmVUYWdnZWQgOiBwdWJsaWMgR1BVSW1hZ2VDb3B5VGV4dHVy
ZSB7CisgICAgR1BVUHJlZGVmaW5lZENvbG9yU3BhY2UgY29sb3JTcGFjZTsKKyAgICBib29sIHBy
ZW11bHRpcGxpZWRBbHBoYTsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weVRleHR1cmVUYWdnZWQuaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5VGV4dHVyZVRhZ2dlZC5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNGJmZTQ5ZTlkMzM4Y2ZjNmM1ZjFlYWU5NWUyZjQ2MTNjYjA0MzhjZQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weVRleHR1cmVU
YWdnZWQuaWRsCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgRW5hYmxlZEJ5
U2V0dGluZz1XZWJHUFUKK10KK2RpY3Rpb25hcnkgR1BVSW1hZ2VDb3B5VGV4dHVyZVRhZ2dlZCA6
IEdQVUltYWdlQ29weVRleHR1cmUgeworICAgIEdQVVByZWRlZmluZWRDb2xvclNwYWNlIGNvbG9y
U3BhY2UgPSAic3JnYiI7CisgICAgYm9vbGVhbiBwcmVtdWx0aXBsaWVkQWxwaGEgPSBmYWxzZTsK
K307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFnZURh
dGFMYXlvdXQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUltYWdlRGF0YUxh
eW91dC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjVkNWJjMjYyMDZiMTZlYjM4MmRlNjc4NjMyYjgyOTQyNTFjYzI0
YjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVJ
bWFnZURhdGFMYXlvdXQuaApAQCAtMCwwICsxLDM3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlICJHUFVJbnRlZ3JhbFR5cGVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworc3RydWN0IEdQVUltYWdlRGF0YUxheW91dCB7CisgICAgR1BVU2l6ZTY0IG9mZnNldDsK
KyAgICBHUFVTaXplMzIgYnl0ZXNQZXJSb3c7CisgICAgR1BVU2l6ZTMyIHJvd3NQZXJJbWFnZTsK
K307Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFn
ZURhdGFMYXlvdXQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VE
YXRhTGF5b3V0LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZGZmYmUzOGRkMmZiNGRhMTY0ZDMyYTIzYTBkNzUx
ZjY1MzFkNmFlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVSW1hZ2VEYXRhTGF5b3V0LmlkbApAQCAtMCwwICsxLDM3IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
Ly8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjU0OCBUaGVzZSBz
aG91bGRuJ3QgbmVlZCB0byBiZSBoZXJlLgordHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25l
ZCBsb25nIEdQVVNpemUzMjsKK3R5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBs
b25nIEdQVVNpemU2NDsKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVCitdCitkaWN0
aW9uYXJ5IEdQVUltYWdlRGF0YUxheW91dCB7CisgICAgR1BVU2l6ZTY0IG9mZnNldCA9IDA7Cisg
ICAgR1BVU2l6ZTMyIGJ5dGVzUGVyUm93OworICAgIEdQVVNpemUzMiByb3dzUGVySW1hZ2U7Cit9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW5kZXhGb3Jt
YXQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUluZGV4Rm9ybWF0LmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYjYwYTUyMTczMDIyNTI3OGYyNjcyMmQxZGY2NGZkN2IyOTFmY2U0MQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUluZGV4Rm9ybWF0
LmgKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVk
ZSA8Y3N0ZGludD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNzIEdQVUluZGV4
Rm9ybWF0IDogdWludDhfdCB7CisgICAgVWludDE2LAorICAgIFVpbnQzMgorfTsKKworfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW5kZXhGb3JtYXQuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW5kZXhGb3JtYXQuaWRsCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjg4NmMxYTJhZGE4ZmYzM2QxOTliOGRlYzZkZjZiM2E2YmI0MDk0MDYKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVJbmRleEZvcm1hdC5p
ZGwKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5n
PVdlYkdQVQorXQorZW51bSBHUFVJbmRleEZvcm1hdCB7CisgICAgInVpbnQxNiIsCisgICAgInVp
bnQzMiIKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVJ
bnRlZ3JhbFR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVJbnRlZ3Jh
bFR5cGVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjc1NTVkOTU5M2RlNTNjZjg2YWZhMDVjZDlmYTQyNGM3MzU2
MzVjNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VUludGVncmFsVHlwZXMuaApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordXNpbmcgR1BVQnVmZmVyRHluYW1pY09mZnNl
dCA9IHVpbnQzMl90OwordXNpbmcgR1BVU3RlbmNpbFZhbHVlID0gdWludDMyX3Q7Cit1c2luZyBH
UFVTYW1wbGVNYXNrID0gdWludDMyX3Q7Cit1c2luZyBHUFVEZXB0aEJpYXMgPSBpbnQzMl90Owor
Cit1c2luZyBHUFVTaXplNjQgPSB1aW50NjRfdDsKK3VzaW5nIEdQVUludGVnZXJDb29yZGluYXRl
ID0gdWludDMyX3Q7Cit1c2luZyBHUFVJbmRleDMyID0gdWludDMyX3Q7Cit1c2luZyBHUFVTaXpl
MzIgPSB1aW50MzJfdDsKK3VzaW5nIEdQVVNpZ25lZE9mZnNldDMyID0gaW50MzJfdDsKKwordXNp
bmcgR1BVRmxhZ3NDb25zdGFudCA9IHVpbnQzMl90OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVMb2FkT3AuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVUxvYWRPcC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg4NDgzMGFhOWQ3NjY2MjhmNjU1ZWQ3
MWFlOTQ5MjBiMjk5NDFmOWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVMb2FkT3AuaApAQCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpbmNsdWRlIDxjc3RkaW50PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2VudW0gY2xhc3MgR1BVTG9hZE9wIDogdWludDhfdCB7CisgICAgTG9hZAorfTsKKworfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVTG9hZE9wLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUxvYWRPcC5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODE2
NTA1NDMzNTRmZGIzOTk3MzE2ZTU4MmYyYzI0MzE1ZTg3NDU1NwotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUxvYWRPcC5pZGwKQEAgLTAsMCArMSwz
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVQorXQorZW51
bSBHUFVMb2FkT3AgeworICAgICJsb2FkIgorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVU9iamVjdEJhc2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVT2JqZWN0QmFzZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ1ZjU1NzI4NGNhODEwMzI4
MTk1NGUwMmY1ZTRjNDEzODAxYTE0NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVU9iamVjdEJhc2UuaWRsCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUKK10KK2ludGVyZmFjZSBtaXhp
biBHUFVPYmplY3RCYXNlIHsKKyAgICBhdHRyaWJ1dGUgVVNWU3RyaW5nPyBsYWJlbDsKK307CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVPYmplY3REZXNjcmlw
dG9yQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVT2JqZWN0RGVzY3Jp
cHRvckJhc2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MDA0Y2U1ODM4ZWI3ZTBhYTI3OTU3YmUzNDBjODM3YTFk
ZTdlNTlkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVT2JqZWN0RGVzY3JpcHRvckJhc2UuaApAQCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgR1BVT2JqZWN0RGVzY3JpcHRvckJhc2UgeworICAgIFN0
cmluZyBsYWJlbDsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVU9iamVjdERlc2NyaXB0b3JCYXNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVU9iamVjdERlc2NyaXB0b3JCYXNlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYjE2NWJi
Mzg0MzY4NmM3NTM5NTE0NzJjZDA2NjZiMmE1ODM3NjM5Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVT2JqZWN0RGVzY3JpcHRvckJhc2UuaWRsCkBA
IC0wLDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJH
UFUKK10KK2RpY3Rpb25hcnkgR1BVT2JqZWN0RGVzY3JpcHRvckJhc2UgeworICAgIFVTVlN0cmlu
ZyBsYWJlbDsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVPcmlnaW4yRERpY3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVU9yaWdp
bjJERGljdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZWY1NDc5NDY2M2I5MDJmMWE2MzE0NWZhZDU2MDBjMTc4
YjI1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVPcmlnaW4yRERpY3QuaApAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlICJHUFVJbnRlZ3JhbFR5cGVzLmgiCisjaW5jbHVkZSA8dmFyaWFudD4K
KyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0
IEdQVU9yaWdpbjJERGljdCB7CisgICAgR1BVSW50ZWdlckNvb3JkaW5hdGUgeDsKKyAgICBHUFVJ
bnRlZ2VyQ29vcmRpbmF0ZSB5OworfTsKKwordXNpbmcgR1BVT3JpZ2luMkQgPSBzdGQ6OnZhcmlh
bnQ8VmVjdG9yPEdQVUludGVnZXJDb29yZGluYXRlPiwgR1BVT3JpZ2luMkREaWN0PjsKKworfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVT3JpZ2luMkREaWN0
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVU9yaWdpbjJERGljdC5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZmRkODU0YjdkYTlkNDA5OTJmZmE2NGExOTI3ZmViZjQ3OTI5MjQ0YgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVU9yaWdpbjJE
RGljdC5pZGwKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDggVGhpcyBzaG91bGRuJ3QgbmVlZCB0byBi
ZSBoZXJlLgordHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVUludGVnZXJD
b29yZGluYXRlOworCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUKK10KK2RpY3Rpb25h
cnkgR1BVT3JpZ2luMkREaWN0IHsKKyAgICBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSB4ID0gMDsKKyAg
ICBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSB5ID0gMDsKK307Cit0eXBlZGVmIChzZXF1ZW5jZTxHUFVJ
bnRlZ2VyQ29vcmRpbmF0ZT4gb3IgR1BVT3JpZ2luMkREaWN0KSBHUFVPcmlnaW4yRDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVU9yaWdpbjNERGljdC5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVT3JpZ2luM0REaWN0LmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjU3NzgyZGVjNzk3OGQyYTMyYmFiZDFhY2ZlNDMxMWE1MTgyN2IyYQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVU9yaWdpbjNERGljdC5oCkBA
IC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkdQ
VUludGVncmFsVHlwZXMuaCIKKyNpbmNsdWRlIDx2YXJpYW50PgorI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgR1BVT3JpZ2luM0REaWN0IHsK
KyAgICBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSB4OworICAgIEdQVUludGVnZXJDb29yZGluYXRlIHk7
CisgICAgR1BVSW50ZWdlckNvb3JkaW5hdGUgejsKK307CisKK3VzaW5nIEdQVU9yaWdpbjNEID0g
c3RkOjp2YXJpYW50PFZlY3RvcjxHUFVJbnRlZ2VyQ29vcmRpbmF0ZT4sIEdQVU9yaWdpbjNERGlj
dD47CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVU9y
aWdpbjNERGljdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVPcmlnaW4z
RERpY3QuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyYTY0OTYzNGY0YjE2OGMxNTI4MzUwN2U3MDU4MDhiNzc5
ZTIyOWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVPcmlnaW4zRERpY3QuaWRsCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQ4IFRoaXMgc2hvdWxkbid0
IG5lZWQgdG8gYmUgaGVyZS4KK3R5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBH
UFVJbnRlZ2VyQ29vcmRpbmF0ZTsKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVCitd
CitkaWN0aW9uYXJ5IEdQVU9yaWdpbjNERGljdCB7CisgICAgR1BVSW50ZWdlckNvb3JkaW5hdGUg
eCA9IDA7CisgICAgR1BVSW50ZWdlckNvb3JkaW5hdGUgeSA9IDA7CisgICAgR1BVSW50ZWdlckNv
b3JkaW5hdGUgeiA9IDA7Cit9OwordHlwZWRlZiAoc2VxdWVuY2U8R1BVSW50ZWdlckNvb3JkaW5h
dGU+IG9yIEdQVU9yaWdpbjNERGljdCkgR1BVT3JpZ2luM0Q7CisKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODNmZGFlZTU2NDI0NTI1NTNmNzJiMDVhM2I3MTk5ZmM1N2UyYmQ5NgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lU3Rh
dGlzdGljTmFtZS5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2luY2x1ZGUgPGNzdGRpbnQ+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBjbGFz
cyBHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUgOiB1aW50OF90IHsKKyAgICBWZXJ0ZXhTaGFkZXJJ
bnZvY2F0aW9ucywKKyAgICBDbGlwcGVySW52b2NhdGlvbnMsCisgICAgQ2xpcHBlclByaW1pdGl2
ZXNPdXQsCisgICAgRnJhZ21lbnRTaGFkZXJJbnZvY2F0aW9ucywKKyAgICBDb21wdXRlU2hhZGVy
SW52b2NhdGlvbnMKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaWRsCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk3YjMw
OGQ0NGYxYzJlYWZjZGM0MjE5YjI4N2ZlYWQyZTJjYWQzZmIKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaWRs
CkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1X
ZWJHUFUKK10KK2VudW0gR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lIHsKKyAgICAidmVydGV4LXNo
YWRlci1pbnZvY2F0aW9ucyIsCisgICAgImNsaXBwZXItaW52b2NhdGlvbnMiLAorICAgICJjbGlw
cGVyLXByaW1pdGl2ZXMtb3V0IiwKKyAgICAiZnJhZ21lbnQtc2hhZGVyLWludm9jYXRpb25zIiwK
KyAgICAiY29tcHV0ZS1zaGFkZXItaW52b2NhdGlvbnMiCit9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUHJlZGVmaW5lZENvbG9yU3BhY2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVByZWRlZmluZWRDb2xvclNwYWNlLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNWJjY2RmZTc3NGJhYjUzZDU1ZGY2ZjAzN2ZmMjcyNTg0YThhZDY1ZAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVByZWRlZmluZWRDb2xv
clNwYWNlLmgKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aW5jbHVkZSA8Y3N0ZGludD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNzIEdQ
VVByZWRlZmluZWRDb2xvclNwYWNlIDogdWludDhfdCB7CisgICAgU1JHQgorfTsKKworfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUHJlZGVmaW5lZENvbG9y
U3BhY2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUHJlZGVmaW5lZENv
bG9yU3BhY2UuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1NmFmNDcxNzI1MjJhYTk2MzI3NmI1MDgyZTk3NWI1
MmFkOTUyMGUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVQcmVkZWZpbmVkQ29sb3JTcGFjZS5pZGwKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVQorXQorZW51bSBHUFVQcmVkZWZpbmVk
Q29sb3JTcGFjZSB7CisgICAgInNyZ2IiCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIuaWRsIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIuaWRsCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2YTQ1NmY0ZGFlYjk2YTk1MDIwZDJiN2M5YjZjMDQ5Yzc1MTYxZDMKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVQcm9ncmFtbWFibGVQ
YXNzRW5jb2Rlci5pZGwKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDggVGhlc2Ugc2hvdWxkbid0IG5l
ZWQgdG8gYmUgaGVyZS4KK3R5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBHUFVT
aXplMzI7Cit0eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmcgbG9uZyBHUFVTaXpl
NjQ7Cit0eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmcgR1BVSW5kZXgzMjsKK3R5
cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBHUFVCdWZmZXJEeW5hbWljT2Zmc2V0
OworCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUKK10KK2ludGVyZmFjZSBtaXhpbiBH
UFVQcm9ncmFtbWFibGVQYXNzRW5jb2RlciB7CisgICAgdW5kZWZpbmVkIHNldEJpbmRHcm91cChH
UFVJbmRleDMyIGluZGV4LCBHUFVCaW5kR3JvdXAgYmluZEdyb3VwLAorICAgICAgICAgICAgICAg
ICAgICAgIG9wdGlvbmFsIHNlcXVlbmNlPEdQVUJ1ZmZlckR5bmFtaWNPZmZzZXQ+IGR5bmFtaWNP
ZmZzZXRzID0gW10pOworCisgICAgdW5kZWZpbmVkIHNldEJpbmRHcm91cChHUFVJbmRleDMyIGlu
ZGV4LCBHUFVCaW5kR3JvdXAgYmluZEdyb3VwLAorICAgICAgICAgICAgICAgICAgICAgIFVpbnQz
MkFycmF5IGR5bmFtaWNPZmZzZXRzRGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICBHUFVTaXpl
NjQgZHluYW1pY09mZnNldHNEYXRhU3RhcnQsCisgICAgICAgICAgICAgICAgICAgICAgR1BVU2l6
ZTMyIGR5bmFtaWNPZmZzZXRzRGF0YUxlbmd0aCk7CisKKyAgICB1bmRlZmluZWQgcHVzaERlYnVn
R3JvdXAoVVNWU3RyaW5nIGdyb3VwTGFiZWwpOworICAgIHVuZGVmaW5lZCBwb3BEZWJ1Z0dyb3Vw
KCk7CisgICAgdW5kZWZpbmVkIGluc2VydERlYnVnTWFya2VyKFVTVlN0cmluZyBtYXJrZXJMYWJl
bCk7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVl
cnlTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlTZXQuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmJlY2U5MTViOGRjMTI3NDExZGZkYmE0MmI3NTY1ZmVlYzk1MWE1MzkKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVNl
dC5jcHAKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiR1BVUXVlcnlTZXQuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCit2b2lkIEdQVVF1ZXJ5U2V0OjpkZXN0cm95KCkKK3sKK30KKworfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlTZXQuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5U2V0LmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjdhNjI5
NjNkYzg5NWQ2ZTI0NGQ0Y2IxNGM0OWFhY2JmMWQzNWJjYgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5U2V0LmgKQEAgLTAsMCArMSw1NCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgR1BVUXVlcnlTZXQgOiBwdWJsaWMgUmVm
Q291bnRlZDxHUFVRdWVyeVNldD4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8R1BVUXVlcnlT
ZXQ+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBHUFVRdWVy
eVNldCgpKTsKKyAgICB9CisKKyAgICB2b2lkIGRlc3Ryb3koKTsKKworICAgIGNvbnN0IFN0cmlu
ZyYgbGFiZWwoKSBjb25zdCB7IHJldHVybiBtX2xhYmVsOyB9CisgICAgdm9pZCBzZXRMYWJlbChT
dHJpbmcmJiBsYWJlbCkgeyBtX2xhYmVsID0gV1RGTW92ZShsYWJlbCk7IH0KKworcHJpdmF0ZToK
KyAgICBHUFVRdWVyeVNldCgpCisgICAgeworICAgIH0KKworICAgIFN0cmluZyBtX2xhYmVsOwor
fTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVl
cnlTZXQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlTZXQuaWRs
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIzODY5YjBkOGY1OWM3NWQwNmU4YmUzN2ZlMGRlNmYzNzFiYjJmNmYKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVNl
dC5pZGwKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlTZXR0
aW5nPVdlYkdQVSwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAgIEV4cG9zZWQ9
KFdpbmRvdyksIC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1
NDI6IERlZGljYXRlZFdvcmtlciAqLworICAgIFNlY3VyZUNvbnRleHQKK10KK2ludGVyZmFjZSBH
UFVRdWVyeVNldCB7CisgICAgdW5kZWZpbmVkIGRlc3Ryb3koKTsKK307CitHUFVRdWVyeVNldCBp
bmNsdWRlcyBHUFVPYmplY3RCYXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVUXVlcnlTZXREZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVRdWVyeVNldERlc2NyaXB0b3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMDEzMWFkNTk3Yzcw
N2Y0NDkwNGVmZWU2NGI5MzU1NGQ5ZDY5ZmE3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlTZXREZXNjcmlwdG9yLmgKQEAgLTAsMCArMSw0
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiR1BVSW50ZWdyYWxU
eXBlcy5oIgorI2luY2x1ZGUgIkdQVU9iamVjdERlc2NyaXB0b3JCYXNlLmgiCisjaW5jbHVkZSAi
R1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmgiCisjaW5jbHVkZSAiR1BVUXVlcnlUeXBlLmgiCisj
aW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgR1BVUXVlcnlTZXREZXNjcmlwdG9yIDogcHVibGljIEdQ
VU9iamVjdERlc2NyaXB0b3JCYXNlIHsKKyAgICBHUFVRdWVyeVR5cGUgdHlwZTsKKyAgICBHUFVT
aXplMzIgY291bnQ7CisgICAgVmVjdG9yPEdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZT4gcGlwZWxp
bmVTdGF0aXN0aWNzOworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVUXVlcnlTZXREZXNjcmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVVF1ZXJ5U2V0RGVzY3JpcHRvci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNhMzc2ZjI0
NWI4NzUxNDIwY2JmNWE4NWM1Y2FiOWIwZTdmMjI5MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5U2V0RGVzY3JpcHRvci5pZGwKQEAgLTAs
MCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzI1NDggVGhpcyBzaG91bGRuJ3QgbmVlZCB0byBiZSBoZXJlLgordHlwZWRl
ZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVVNpemUzMjsKKworWworICAgIEVuYWJs
ZWRCeVNldHRpbmc9V2ViR1BVCitdCitkaWN0aW9uYXJ5IEdQVVF1ZXJ5U2V0RGVzY3JpcHRvciA6
IEdQVU9iamVjdERlc2NyaXB0b3JCYXNlIHsKKyAgICByZXF1aXJlZCBHUFVRdWVyeVR5cGUgdHlw
ZTsKKyAgICByZXF1aXJlZCBHUFVTaXplMzIgY291bnQ7CisgICAgc2VxdWVuY2U8R1BVUGlwZWxp
bmVTdGF0aXN0aWNOYW1lPiBwaXBlbGluZVN0YXRpc3RpY3MgPSBbXTsKK307CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVR5cGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5VHlwZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU5MmM1YzJk
OThjZDZhODRlMjczNGU2NmQ4MTdjMTg0NGFhZjQ1NjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVR5cGUuaApAQCAtMCwwICsxLDM4IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDxjc3RkaW50PgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgR1BVUXVlcnlUeXBlIDogdWludDhfdCB7Cisg
ICAgT2NjbHVzaW9uLAorICAgIFBpcGVsaW5lU3RhdGlzdGljcywKKyAgICBUaW1lc3RhbXAKK307
CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5
VHlwZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVR5cGUuaWRs
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdjMmZhNTJiOGY0ZGM2ZDdhYmE5ZDI3ZTY4Y2ExNTllZTVjNDUwYzMKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVR5
cGUuaWRsCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgRW5hYmxlZEJ5U2V0
dGluZz1XZWJHUFUKK10KK2VudW0gR1BVUXVlcnlUeXBlIHsKKyAgICAib2NjbHVzaW9uIiwKKyAg
ICAicGlwZWxpbmUtc3RhdGlzdGljcyIsCisgICAgInRpbWVzdGFtcCIKK307CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWV1ZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWV1ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmUxYTVlYmM3YTcz
OWEwYjJkNjE4N2I3ZWI5Njg3MTg5ZjhiNDhjYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXVlLmNwcApAQCAtMCwwICsxLDc3IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJH
UFVRdWV1ZS5oIgorCisjaW5jbHVkZSAiR1BVQnVmZmVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKwordm9pZCBHUFVRdWV1ZTo6c3VibWl0KFZlY3RvcjxSZWZQdHI8R1BVQ29tbWFuZEJ1ZmZl
cj4+KQoreworfQorCit2b2lkIEdQVVF1ZXVlOjpvblN1Ym1pdHRlZFdvcmtEb25lKFJlZjxEZWZl
cnJlZFByb21pc2U+JiYpCit7Cit9CisKK3ZvaWQgR1BVUXVldWU6OndyaXRlQnVmZmVyKAorICAg
IGNvbnN0IEdQVUJ1ZmZlciYsCisgICAgR1BVU2l6ZTY0IGJ1ZmZlck9mZnNldCwKKyAgICBCdWZm
ZXJTb3VyY2UmJiBkYXRhLAorICAgIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBkYXRhT2Zmc2V0
LAorICAgIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBzaXplKQoreworICAgIFVOVVNFRF9QQVJB
TShidWZmZXJPZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTShkYXRhKTsKKyAgICBVTlVTRURfUEFS
QU0oZGF0YU9mZnNldCk7CisgICAgVU5VU0VEX1BBUkFNKHNpemUpOworfQorCit2b2lkIEdQVVF1
ZXVlOjp3cml0ZVRleHR1cmUoCisgICAgR1BVSW1hZ2VDb3B5VGV4dHVyZSBkZXN0aW5hdGlvbiwK
KyAgICBCdWZmZXJTb3VyY2UmJiBkYXRhLAorICAgIEdQVUltYWdlRGF0YUxheW91dCwKKyAgICBH
UFVFeHRlbnQzRCBzaXplKQoreworICAgIFVOVVNFRF9QQVJBTShkZXN0aW5hdGlvbik7CisgICAg
VU5VU0VEX1BBUkFNKGRhdGEpOworICAgIFVOVVNFRF9QQVJBTShzaXplKTsKK30KKwordm9pZCBH
UFVRdWV1ZTo6Y29weUV4dGVybmFsSW1hZ2VUb1RleHR1cmUoCisgICAgR1BVSW1hZ2VDb3B5RXh0
ZXJuYWxJbWFnZSBzb3VyY2UsCisgICAgR1BVSW1hZ2VDb3B5VGV4dHVyZVRhZ2dlZCBkZXN0aW5h
dGlvbiwKKyAgICBHUFVFeHRlbnQzRCBjb3B5U2l6ZSkKK3sKKyAgICBVTlVTRURfUEFSQU0oc291
cmNlKTsKKyAgICBVTlVTRURfUEFSQU0oZGVzdGluYXRpb24pOworICAgIFVOVVNFRF9QQVJBTShj
b3B5U2l6ZSk7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2Vi
R1BVL0dQVVF1ZXVlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWV1ZS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmQ3YTM2MDA5MmUyODg2Zjg0ZTljNjUzNTQyZTc4NjQwNDIzYThmMDIKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWV1ZS5o
CkBAIC0wLDAgKzEsODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUg
IkJ1ZmZlclNvdXJjZS5oIgorI2luY2x1ZGUgIkdQVUNvbW1hbmRCdWZmZXIuaCIKKyNpbmNsdWRl
ICJHUFVFeHRlbnQzRERpY3QuaCIKKyNpbmNsdWRlICJHUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdl
LmgiCisjaW5jbHVkZSAiR1BVSW1hZ2VDb3B5VGV4dHVyZS5oIgorI2luY2x1ZGUgIkdQVUltYWdl
Q29weVRleHR1cmVUYWdnZWQuaCIKKyNpbmNsdWRlICJHUFVJbWFnZURhdGFMYXlvdXQuaCIKKyNp
bmNsdWRlICJHUFVJbnRlZ3JhbFR5cGVzLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJy
ZWQuaCIKKyNpbmNsdWRlIDxvcHRpb25hbD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIEdQVUJ1ZmZlcjsKKworY2xhc3MgR1BVUXVldWUgOiBwdWJs
aWMgUmVmQ291bnRlZDxHUFVRdWV1ZT4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8R1BVUXVl
dWU+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBHUFVRdWV1
ZSgpKTsKKyAgICB9CisKKyAgICB2b2lkIHN1Ym1pdChWZWN0b3I8UmVmUHRyPEdQVUNvbW1hbmRC
dWZmZXI+Pik7CisKKyAgICB2b2lkIG9uU3VibWl0dGVkV29ya0RvbmUoUmVmPERlZmVycmVkUHJv
bWlzZT4mJik7CisKKyAgICB2b2lkIHdyaXRlQnVmZmVyKAorICAgICAgICBjb25zdCBHUFVCdWZm
ZXImLAorICAgICAgICBHUFVTaXplNjQgYnVmZmVyT2Zmc2V0LAorICAgICAgICBCdWZmZXJTb3Vy
Y2UmJiBkYXRhLAorICAgICAgICBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gZGF0YU9mZnNldCwK
KyAgICAgICAgc3RkOjpvcHRpb25hbDxHUFVTaXplNjQ+KTsKKworICAgIHZvaWQgd3JpdGVUZXh0
dXJlKAorICAgICAgICBHUFVJbWFnZUNvcHlUZXh0dXJlIGRlc3RpbmF0aW9uLAorICAgICAgICBC
dWZmZXJTb3VyY2UmJiBkYXRhLAorICAgICAgICBHUFVJbWFnZURhdGFMYXlvdXQsCisgICAgICAg
IEdQVUV4dGVudDNEIHNpemUpOworCisgICAgdm9pZCBjb3B5RXh0ZXJuYWxJbWFnZVRvVGV4dHVy
ZSgKKyAgICAgICAgR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZSBzb3VyY2UsCisgICAgICAgIEdQ
VUltYWdlQ29weVRleHR1cmVUYWdnZWQgZGVzdGluYXRpb24sCisgICAgICAgIEdQVUV4dGVudDNE
IGNvcHlTaXplKTsKKworICAgIGNvbnN0IFN0cmluZyYgbGFiZWwoKSBjb25zdCB7IHJldHVybiBt
X2xhYmVsOyB9CisgICAgdm9pZCBzZXRMYWJlbChTdHJpbmcmJiBsYWJlbCkgeyBtX2xhYmVsID0g
V1RGTW92ZShsYWJlbCk7IH0KKworcHJpdmF0ZToKKyAgICBHUFVRdWV1ZSgpCisgICAgeworICAg
IH0KKworICAgIFN0cmluZyBtX2xhYmVsOworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVldWUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVUXVldWUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM0ZDlmZjJiN2YyOTYwNzhhMTU0ZGFl
NDRkZDlhYjhiODQ1Y2MwMDYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVRdWV1ZS5pZGwKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8v
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDggVGhlc2Ugc2hv
dWxkbid0IG5lZWQgdG8gYmUgaGVyZS4KK3R5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQg
bG9uZyBsb25nIEdQVVNpemU2NDsKK3R5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9u
ZyBHUFVJbmRleDMyOwordHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVUlu
dGVnZXJDb29yZGluYXRlOwordHlwZWRlZiAoc2VxdWVuY2U8R1BVSW50ZWdlckNvb3JkaW5hdGU+
IG9yIEdQVUV4dGVudDNERGljdCkgR1BVRXh0ZW50M0Q7CisKK1sKKyAgICBFbmFibGVkQnlTZXR0
aW5nPVdlYkdQVSwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAgIEV4cG9zZWQ9
KFdpbmRvdyksIC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1
NDI6IERlZGljYXRlZFdvcmtlciAqLworICAgIFNlY3VyZUNvbnRleHQKK10KK2ludGVyZmFjZSBH
UFVRdWV1ZSB7CisgICAgdW5kZWZpbmVkIHN1Ym1pdChzZXF1ZW5jZTxHUFVDb21tYW5kQnVmZmVy
PiBjb21tYW5kQnVmZmVycyk7CisKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gb25TdWJtaXR0ZWRX
b3JrRG9uZSgpOworCisgICAgdW5kZWZpbmVkIHdyaXRlQnVmZmVyKAorICAgICAgICBHUFVCdWZm
ZXIgYnVmZmVyLAorICAgICAgICBHUFVTaXplNjQgYnVmZmVyT2Zmc2V0LAorICAgICAgICBbQWxs
b3dTaGFyZWRdIEJ1ZmZlclNvdXJjZSBkYXRhLAorICAgICAgICBvcHRpb25hbCBHUFVTaXplNjQg
ZGF0YU9mZnNldCA9IDAsCisgICAgICAgIG9wdGlvbmFsIEdQVVNpemU2NCBzaXplKTsKKworICAg
IHVuZGVmaW5lZCB3cml0ZVRleHR1cmUoCisgICAgICBHUFVJbWFnZUNvcHlUZXh0dXJlIGRlc3Rp
bmF0aW9uLAorICAgICAgW0FsbG93U2hhcmVkXSBCdWZmZXJTb3VyY2UgZGF0YSwKKyAgICAgIEdQ
VUltYWdlRGF0YUxheW91dCBkYXRhTGF5b3V0LAorICAgICAgR1BVRXh0ZW50M0Qgc2l6ZSk7CisK
KyAgICB1bmRlZmluZWQgY29weUV4dGVybmFsSW1hZ2VUb1RleHR1cmUoCisgICAgICAgIEdQVUlt
YWdlQ29weUV4dGVybmFsSW1hZ2Ugc291cmNlLAorICAgICAgICBHUFVJbWFnZUNvcHlUZXh0dXJl
VGFnZ2VkIGRlc3RpbmF0aW9uLAorICAgICAgICBHUFVFeHRlbnQzRCBjb3B5U2l6ZSk7Cit9Owor
R1BVUXVldWUgaW5jbHVkZXMgR1BVT2JqZWN0QmFzZTsKKwordHlwZWRlZiBbRW5mb3JjZVJhbmdl
XSB1bnNpZ25lZCBsb25nIEdQVUJ1ZmZlckR5bmFtaWNPZmZzZXQ7Cit0eXBlZGVmIFtFbmZvcmNl
UmFuZ2VdIHVuc2lnbmVkIGxvbmcgR1BVU3RlbmNpbFZhbHVlOwordHlwZWRlZiBbRW5mb3JjZVJh
bmdlXSB1bnNpZ25lZCBsb25nIEdQVVNhbXBsZU1hc2s7Cit0eXBlZGVmIFtFbmZvcmNlUmFuZ2Vd
IGxvbmcgR1BVRGVwdGhCaWFzOworCit0eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxv
bmcgbG9uZyBHUFVTaXplNjQ7Cit0eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmcg
R1BVSW50ZWdlckNvb3JkaW5hdGU7Cit0eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxv
bmcgR1BVSW5kZXgzMjsKK3R5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBHUFVT
aXplMzI7Cit0eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIGxvbmcgR1BVU2lnbmVkT2Zmc2V0MzI7CisK
K3R5cGVkZWYgdW5zaWduZWQgbG9uZyBHUFVGbGFnc0NvbnN0YW50OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hM2Y3YjUy
NTI4ZGQyMTYyMjk2OTIzMzFlNjBlZTUwY2E4ODU4MzU2Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlLmgKQEAgLTAsMCArMSw1
MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL1JlZi5oPgor
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgR1BVUmVuZGVyQnVuZGxlIDogcHVi
bGljIFJlZkNvdW50ZWQ8R1BVUmVuZGVyQnVuZGxlPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJl
ZjxHUFVSZW5kZXJCdW5kbGU+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBHUFVSZW5kZXJCdW5kbGUoKSk7CisgICAgfQorCisgICAgY29uc3QgU3RyaW5nJiBs
YWJlbCgpIGNvbnN0IHsgcmV0dXJuIG1fbGFiZWw7IH0KKyAgICB2b2lkIHNldExhYmVsKFN0cmlu
ZyYmIGxhYmVsKSB7IG1fbGFiZWwgPSBXVEZNb3ZlKGxhYmVsKTsgfQorCitwcml2YXRlOgorICAg
IEdQVVJlbmRlckJ1bmRsZSgpCisgICAgeworICAgIH0KKworICAgIFN0cmluZyBtX2xhYmVsOwor
fTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVu
ZGVyQnVuZGxlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1
bmRsZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYTZlMGEzNGRiY2I0OWY0NWRiYjM0NDI2YjUxNDRlZmI3OGRl
OWJkMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VVJlbmRlckJ1bmRsZS5pZGwKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBF
bmFibGVkQnlTZXR0aW5nPVdlYkdQVSwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAor
ICAgIEV4cG9zZWQ9KFdpbmRvdyksIC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzI1NDI6IERlZGljYXRlZFdvcmtlciAqLworICAgIFNlY3VyZUNvbnRleHQKK10K
K2ludGVyZmFjZSBHUFVSZW5kZXJCdW5kbGUgeworfTsKK0dQVVJlbmRlckJ1bmRsZSBpbmNsdWRl
cyBHUFVPYmplY3RCYXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVUmVuZGVyQnVuZGxlRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9X
ZWJHUFUvR1BVUmVuZGVyQnVuZGxlRGVzY3JpcHRvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjMWM5ZjdmNjEy
YTE1NDgyOTdmNGI3YzE0YTgzOGQ1OGE2Yzc4OWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVEZXNjcmlwdG9yLmgKQEAgLTAs
MCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiR1BVT2Jq
ZWN0RGVzY3JpcHRvckJhc2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgR1BV
UmVuZGVyQnVuZGxlRGVzY3JpcHRvciA6IHB1YmxpYyBHUFVPYmplY3REZXNjcmlwdG9yQmFzZSB7
Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVS
ZW5kZXJCdW5kbGVEZXNjcmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVVJlbmRlckJ1bmRsZURlc2NyaXB0b3IuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiYjhlYWY0NjRjODk2
YWNmMGVmY2M4ODMxZTJkN2I0ZmVhZjFlZjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVEZXNjcmlwdG9yLmlkbApAQCAtMCww
ICsxLDMwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVCitd
CitkaWN0aW9uYXJ5IEdQVVJlbmRlckJ1bmRsZURlc2NyaXB0b3IgOiBHUFVPYmplY3REZXNjcmlw
dG9yQmFzZSB7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVUmVuZGVyQnVuZGxlRW5jb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVSZW5kZXJCdW5kbGVFbmNvZGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNmY3YmM1YjdlZjk1Mzk5
NDZmOTUyZmVhMThhODdjZDMzOWZkMzExCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlRW5jb2Rlci5jcHAKQEAgLTAsMCArMSwx
MjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIkdQVVJlbmRlckJ1bmRsZUVuY29kZXIuaCIKKworI2luY2x1ZGUgIkdQVUJ1ZmZl
ci5oIgorI2luY2x1ZGUgIkdQVVJlbmRlckJ1bmRsZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK3ZvaWQgR1BVUmVuZGVyQnVuZGxlRW5jb2Rlcjo6c2V0UGlwZWxpbmUoY29uc3QgR1BVUmVu
ZGVyUGlwZWxpbmUmKQoreworfQorCit2b2lkIEdQVVJlbmRlckJ1bmRsZUVuY29kZXI6OnNldElu
ZGV4QnVmZmVyKGNvbnN0IEdQVUJ1ZmZlciYsIEdQVUluZGV4Rm9ybWF0LCBzdGQ6Om9wdGlvbmFs
PEdQVVNpemU2ND4gb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gc2l6ZSkKK3sKKyAg
ICBVTlVTRURfUEFSQU0ob2Zmc2V0KTsKKyAgICBVTlVTRURfUEFSQU0oc2l6ZSk7Cit9CisKK3Zv
aWQgR1BVUmVuZGVyQnVuZGxlRW5jb2Rlcjo6c2V0VmVydGV4QnVmZmVyKEdQVUluZGV4MzIgc2xv
dCwgY29uc3QgR1BVQnVmZmVyJiwgc3RkOjpvcHRpb25hbDxHUFVTaXplNjQ+IG9mZnNldCwgc3Rk
OjpvcHRpb25hbDxHUFVTaXplNjQ+IHNpemUpCit7CisgICAgVU5VU0VEX1BBUkFNKHNsb3QpOwor
ICAgIFVOVVNFRF9QQVJBTShvZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTShzaXplKTsKK30KKwor
dm9pZCBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyOjpkcmF3KEdQVVNpemUzMiB2ZXJ0ZXhDb3VudCwg
c3RkOjpvcHRpb25hbDxHUFVTaXplMzI+IGluc3RhbmNlQ291bnQsCisgICAgc3RkOjpvcHRpb25h
bDxHUFVTaXplMzI+IGZpcnN0VmVydGV4LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemUzMj4gZmlyc3RJ
bnN0YW5jZSkKK3sKKyAgICBVTlVTRURfUEFSQU0odmVydGV4Q291bnQpOworICAgIFVOVVNFRF9Q
QVJBTShpbnN0YW5jZUNvdW50KTsKKyAgICBVTlVTRURfUEFSQU0oZmlyc3RWZXJ0ZXgpOworICAg
IFVOVVNFRF9QQVJBTShmaXJzdEluc3RhbmNlKTsKK30KKwordm9pZCBHUFVSZW5kZXJCdW5kbGVF
bmNvZGVyOjpkcmF3SW5kZXhlZChHUFVTaXplMzIgaW5kZXhDb3VudCwgc3RkOjpvcHRpb25hbDxH
UFVTaXplMzI+IGluc3RhbmNlQ291bnQsCisgICAgc3RkOjpvcHRpb25hbDxHUFVTaXplMzI+IGZp
cnN0SW5kZXgsCisgICAgc3RkOjpvcHRpb25hbDxHUFVTaWduZWRPZmZzZXQzMj4gYmFzZVZlcnRl
eCwKKyAgICBzdGQ6Om9wdGlvbmFsPEdQVVNpemUzMj4gZmlyc3RJbnN0YW5jZSkKK3sKKyAgICBV
TlVTRURfUEFSQU0oaW5kZXhDb3VudCk7CisgICAgVU5VU0VEX1BBUkFNKGluc3RhbmNlQ291bnQp
OworICAgIFVOVVNFRF9QQVJBTShmaXJzdEluZGV4KTsKKyAgICBVTlVTRURfUEFSQU0oYmFzZVZl
cnRleCk7CisgICAgVU5VU0VEX1BBUkFNKGZpcnN0SW5zdGFuY2UpOworfQorCit2b2lkIEdQVVJl
bmRlckJ1bmRsZUVuY29kZXI6OmRyYXdJbmRpcmVjdChjb25zdCBHUFVCdWZmZXImIGluZGlyZWN0
QnVmZmVyLCBHUFVTaXplNjQgaW5kaXJlY3RPZmZzZXQpCit7CisgICAgVU5VU0VEX1BBUkFNKGlu
ZGlyZWN0QnVmZmVyKTsKKyAgICBVTlVTRURfUEFSQU0oaW5kaXJlY3RPZmZzZXQpOworfQorCit2
b2lkIEdQVVJlbmRlckJ1bmRsZUVuY29kZXI6OmRyYXdJbmRleGVkSW5kaXJlY3QoY29uc3QgR1BV
QnVmZmVyJiBpbmRpcmVjdEJ1ZmZlciwgR1BVU2l6ZTY0IGluZGlyZWN0T2Zmc2V0KQoreworICAg
IFVOVVNFRF9QQVJBTShpbmRpcmVjdEJ1ZmZlcik7CisgICAgVU5VU0VEX1BBUkFNKGluZGlyZWN0
T2Zmc2V0KTsKK30KKwordm9pZCBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyOjpzZXRCaW5kR3JvdXAo
R1BVSW5kZXgzMiwgY29uc3QgR1BVQmluZEdyb3VwJiwKKyAgICBzdGQ6Om9wdGlvbmFsPFZlY3Rv
cjxHUFVCdWZmZXJEeW5hbWljT2Zmc2V0Pj4mJiBkeW5hbWljT2Zmc2V0cykKK3sKKyAgICBVTlVT
RURfUEFSQU0oZHluYW1pY09mZnNldHMpOworfQorCit2b2lkIEdQVVJlbmRlckJ1bmRsZUVuY29k
ZXI6OnNldEJpbmRHcm91cChHUFVJbmRleDMyLCBjb25zdCBHUFVCaW5kR3JvdXAmLAorICAgIGNv
bnN0IFVpbnQzMkFycmF5JiBkeW5hbWljT2Zmc2V0c0RhdGEsCisgICAgR1BVU2l6ZTY0IGR5bmFt
aWNPZmZzZXRzRGF0YVN0YXJ0LAorICAgIEdQVVNpemUzMiBkeW5hbWljT2Zmc2V0c0RhdGFMZW5n
dGgpCit7CisgICAgVU5VU0VEX1BBUkFNKGR5bmFtaWNPZmZzZXRzRGF0YSk7CisgICAgVU5VU0VE
X1BBUkFNKGR5bmFtaWNPZmZzZXRzRGF0YVN0YXJ0KTsKKyAgICBVTlVTRURfUEFSQU0oZHluYW1p
Y09mZnNldHNEYXRhTGVuZ3RoKTsKK30KKwordm9pZCBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyOjpw
dXNoRGVidWdHcm91cChTdHJpbmcmJiBncm91cExhYmVsKQoreworICAgIFVOVVNFRF9QQVJBTShn
cm91cExhYmVsKTsKK30KKwordm9pZCBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyOjpwb3BEZWJ1Z0dy
b3VwKCkKK3sKK30KKwordm9pZCBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyOjppbnNlcnREZWJ1Z01h
cmtlcihTdHJpbmcmJiBtYXJrZXJMYWJlbCkKK3sKKyAgICBVTlVTRURfUEFSQU0obWFya2VyTGFi
ZWwpOworfQorCitSZWY8R1BVUmVuZGVyQnVuZGxlPiBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyOjpm
aW5pc2goc3RkOjpvcHRpb25hbDxHUFVSZW5kZXJCdW5kbGVEZXNjcmlwdG9yPikKK3sKKyAgICBy
ZXR1cm4gR1BVUmVuZGVyQnVuZGxlOjpjcmVhdGUoKTsKK30KKworCit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVFbmNvZGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVFbmNvZGVyLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMmI4MDgwMjgzNGZiYzVkM2QxMzU3YmJhY2ViMjczNWVkNDA5MzEyMAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRs
ZUVuY29kZXIuaApAQCAtMCwwICsxLDkyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpbmNsdWRlICJHUFVJbmRleEZvcm1hdC5oIgorI2luY2x1ZGUgIkdQVUludGVncmFsVHlwZXMu
aCIKKyNpbmNsdWRlICJHUFVSZW5kZXJCdW5kbGVEZXNjcmlwdG9yLmgiCisjaW5jbHVkZSA8SmF2
YVNjcmlwdENvcmUvVWludDMyQXJyYXkuaD4KKyNpbmNsdWRlIDxvcHRpb25hbD4KKyNpbmNsdWRl
IDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgR1BVQmluZEdyb3VwOworY2xhc3MgR1BVQnVmZmVyOworY2xhc3Mg
R1BVUmVuZGVyQnVuZGxlOworY2xhc3MgR1BVUmVuZGVyUGlwZWxpbmU7CisKK2NsYXNzIEdQVVJl
bmRlckJ1bmRsZUVuY29kZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxHUFVSZW5kZXJCdW5kbGVFbmNv
ZGVyPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxHUFVSZW5kZXJCdW5kbGVFbmNvZGVyPiBj
cmVhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgR1BVUmVuZGVyQnVu
ZGxlRW5jb2RlcigpKTsKKyAgICB9CisKKyAgICB2b2lkIHNldFBpcGVsaW5lKGNvbnN0IEdQVVJl
bmRlclBpcGVsaW5lJik7CisKKyAgICB2b2lkIHNldEluZGV4QnVmZmVyKGNvbnN0IEdQVUJ1ZmZl
ciYsIEdQVUluZGV4Rm9ybWF0LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gb2Zmc2V0LCBzdGQ6
Om9wdGlvbmFsPEdQVVNpemU2ND4pOworICAgIHZvaWQgc2V0VmVydGV4QnVmZmVyKEdQVUluZGV4
MzIgc2xvdCwgY29uc3QgR1BVQnVmZmVyJiwgc3RkOjpvcHRpb25hbDxHUFVTaXplNjQ+IG9mZnNl
dCwgc3RkOjpvcHRpb25hbDxHUFVTaXplNjQ+KTsKKworICAgIHZvaWQgZHJhdyhHUFVTaXplMzIg
dmVydGV4Q291bnQsIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTMyPiBpbnN0YW5jZUNvdW50LAorICAg
ICAgICBzdGQ6Om9wdGlvbmFsPEdQVVNpemUzMj4gZmlyc3RWZXJ0ZXgsIHN0ZDo6b3B0aW9uYWw8
R1BVU2l6ZTMyPiBmaXJzdEluc3RhbmNlKTsKKyAgICB2b2lkIGRyYXdJbmRleGVkKEdQVVNpemUz
MiBpbmRleENvdW50LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemUzMj4gaW5zdGFuY2VDb3VudCwKKyAg
ICAgICAgc3RkOjpvcHRpb25hbDxHUFVTaXplMzI+IGZpcnN0SW5kZXgsCisgICAgICAgIHN0ZDo6
b3B0aW9uYWw8R1BVU2lnbmVkT2Zmc2V0MzI+IGJhc2VWZXJ0ZXgsCisgICAgICAgIHN0ZDo6b3B0
aW9uYWw8R1BVU2l6ZTMyPiBmaXJzdEluc3RhbmNlKTsKKworICAgIHZvaWQgZHJhd0luZGlyZWN0
KGNvbnN0IEdQVUJ1ZmZlciYgaW5kaXJlY3RCdWZmZXIsIEdQVVNpemU2NCBpbmRpcmVjdE9mZnNl
dCk7CisgICAgdm9pZCBkcmF3SW5kZXhlZEluZGlyZWN0KGNvbnN0IEdQVUJ1ZmZlciYgaW5kaXJl
Y3RCdWZmZXIsIEdQVVNpemU2NCBpbmRpcmVjdE9mZnNldCk7CisKKyAgICB2b2lkIHNldEJpbmRH
cm91cChHUFVJbmRleDMyLCBjb25zdCBHUFVCaW5kR3JvdXAmLAorICAgICAgICBzdGQ6Om9wdGlv
bmFsPFZlY3RvcjxHUFVCdWZmZXJEeW5hbWljT2Zmc2V0Pj4mJiBkeW5hbWljT2Zmc2V0cyk7CisK
KyAgICB2b2lkIHNldEJpbmRHcm91cChHUFVJbmRleDMyLCBjb25zdCBHUFVCaW5kR3JvdXAmLAor
ICAgICAgICBjb25zdCBVaW50MzJBcnJheSYgZHluYW1pY09mZnNldHNEYXRhLAorICAgICAgICBH
UFVTaXplNjQgZHluYW1pY09mZnNldHNEYXRhU3RhcnQsCisgICAgICAgIEdQVVNpemUzMiBkeW5h
bWljT2Zmc2V0c0RhdGFMZW5ndGgpOworCisgICAgdm9pZCBwdXNoRGVidWdHcm91cChTdHJpbmcm
JiBncm91cExhYmVsKTsKKyAgICB2b2lkIHBvcERlYnVnR3JvdXAoKTsKKyAgICB2b2lkIGluc2Vy
dERlYnVnTWFya2VyKFN0cmluZyYmIG1hcmtlckxhYmVsKTsKKworICAgIFJlZjxHUFVSZW5kZXJC
dW5kbGU+IGZpbmlzaChzdGQ6Om9wdGlvbmFsPEdQVVJlbmRlckJ1bmRsZURlc2NyaXB0b3I+KTsK
KworICAgIGNvbnN0IFN0cmluZyYgbGFiZWwoKSBjb25zdCB7IHJldHVybiBtX2xhYmVsOyB9Cisg
ICAgdm9pZCBzZXRMYWJlbChTdHJpbmcmJiBsYWJlbCkgeyBtX2xhYmVsID0gV1RGTW92ZShsYWJl
bCk7IH0KKworcHJpdmF0ZToKKyAgICBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyKCkKKyAgICB7Cisg
ICAgfQorCisgICAgU3RyaW5nIG1fbGFiZWw7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVFbmNvZGVyLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZUVuY29kZXIuaWRsCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmE4ZjI4OWRmMTg0MjFhNjRiMDhiY2MwMThiMjE0NGFmYjRjMjMzZTgKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVF
bmNvZGVyLmlkbApAQCAtMCwwICsxLDM3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJsZWRC
eVNldHRpbmc9V2ViR1BVLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCisgICAgRXhw
b3NlZD0oV2luZG93KSwgLyogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzMjU0MjogRGVkaWNhdGVkV29ya2VyICovCisgICAgU2VjdXJlQ29udGV4dAorXQoraW50ZXJm
YWNlIEdQVVJlbmRlckJ1bmRsZUVuY29kZXIgeworICAgIEdQVVJlbmRlckJ1bmRsZSBmaW5pc2go
b3B0aW9uYWwgR1BVUmVuZGVyQnVuZGxlRGVzY3JpcHRvciBkZXNjcmlwdG9yKTsKK307CitHUFVS
ZW5kZXJCdW5kbGVFbmNvZGVyIGluY2x1ZGVzIEdQVU9iamVjdEJhc2U7CitHUFVSZW5kZXJCdW5k
bGVFbmNvZGVyIGluY2x1ZGVzIEdQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyOworR1BVUmVuZGVy
QnVuZGxlRW5jb2RlciBpbmNsdWRlcyBHUFVSZW5kZXJFbmNvZGVyQmFzZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZUVuY29kZXJEZXNj
cmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVF
bmNvZGVyRGVzY3JpcHRvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjZmRiMDI5MzQ1NjMxNjllZDY5OTNhYzdj
ZWJlMDA3ZDg0OWFlZDEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVFbmNvZGVyRGVzY3JpcHRvci5oCkBAIC0wLDAgKzEsMzgg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkdQVVJlbmRlclBhc3NM
YXlvdXQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgR1BVUmVuZGVyQnVuZGxl
RW5jb2RlckRlc2NyaXB0b3IgOiBwdWJsaWMgR1BVUmVuZGVyUGFzc0xheW91dCB7CisgICAgYm9v
bCBkZXB0aFJlYWRPbmx5OworICAgIGJvb2wgc3RlbmNpbFJlYWRPbmx5OworfTsKKworCit9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVF
bmNvZGVyRGVzY3JpcHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVS
ZW5kZXJCdW5kbGVFbmNvZGVyRGVzY3JpcHRvci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjYzZmMyN2Q3NzRh
YjE0NWVmMjY0MjMyNzNkNzFmMzk3MzVmYTZjOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZUVuY29kZXJEZXNjcmlwdG9yLmlk
bApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9
V2ViR1BVCitdCitkaWN0aW9uYXJ5IEdQVVJlbmRlckJ1bmRsZUVuY29kZXJEZXNjcmlwdG9yIDog
R1BVUmVuZGVyUGFzc0xheW91dCB7CisgICAgYm9vbGVhbiBkZXB0aFJlYWRPbmx5ID0gZmFsc2U7
CisgICAgYm9vbGVhbiBzdGVuY2lsUmVhZE9ubHkgPSBmYWxzZTsKK307CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJFbmNvZGVyQmFzZS5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJFbmNvZGVyQmFzZS5pZGwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNWI3Yzg5ZTM3NmFlMjYxODE5MGQ0YzBiMGY4ZjI0ODhlZGZkNmVmYQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckVuY29k
ZXJCYXNlLmlkbApAQCAtMCwwICsxLDUwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjU0OCBUaGVzZSBzaG91bGRuJ3QgbmVlZCB0
byBiZSBoZXJlLgordHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVVNpemUz
MjsKK3R5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBsb25nIEdQVVNpemU2NDsK
K3R5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBHUFVJbmRleDMyOwordHlwZWRl
ZiBbRW5mb3JjZVJhbmdlXSBsb25nIEdQVVNpZ25lZE9mZnNldDMyOworCitbCisgICAgRW5hYmxl
ZEJ5U2V0dGluZz1XZWJHUFUKK10KK2ludGVyZmFjZSBtaXhpbiBHUFVSZW5kZXJFbmNvZGVyQmFz
ZSB7CisgICAgdW5kZWZpbmVkIHNldFBpcGVsaW5lKEdQVVJlbmRlclBpcGVsaW5lIHBpcGVsaW5l
KTsKKworICAgIHVuZGVmaW5lZCBzZXRJbmRleEJ1ZmZlcihHUFVCdWZmZXIgYnVmZmVyLCBHUFVJ
bmRleEZvcm1hdCBpbmRleEZvcm1hdCwgb3B0aW9uYWwgR1BVU2l6ZTY0IG9mZnNldCA9IDAsIG9w
dGlvbmFsIEdQVVNpemU2NCBzaXplKTsKKyAgICB1bmRlZmluZWQgc2V0VmVydGV4QnVmZmVyKEdQ
VUluZGV4MzIgc2xvdCwgR1BVQnVmZmVyIGJ1ZmZlciwgb3B0aW9uYWwgR1BVU2l6ZTY0IG9mZnNl
dCA9IDAsIG9wdGlvbmFsIEdQVVNpemU2NCBzaXplKTsKKworICAgIHVuZGVmaW5lZCBkcmF3KEdQ
VVNpemUzMiB2ZXJ0ZXhDb3VudCwgb3B0aW9uYWwgR1BVU2l6ZTMyIGluc3RhbmNlQ291bnQgPSAx
LAorICAgICAgICAgICAgICBvcHRpb25hbCBHUFVTaXplMzIgZmlyc3RWZXJ0ZXggPSAwLCBvcHRp
b25hbCBHUFVTaXplMzIgZmlyc3RJbnN0YW5jZSA9IDApOworICAgIHVuZGVmaW5lZCBkcmF3SW5k
ZXhlZChHUFVTaXplMzIgaW5kZXhDb3VudCwgb3B0aW9uYWwgR1BVU2l6ZTMyIGluc3RhbmNlQ291
bnQgPSAxLAorICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgR1BVU2l6ZTMyIGZpcnN0SW5k
ZXggPSAwLAorICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgR1BVU2lnbmVkT2Zmc2V0MzIg
YmFzZVZlcnRleCA9IDAsCisgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBHUFVTaXplMzIg
Zmlyc3RJbnN0YW5jZSA9IDApOworCisgICAgdW5kZWZpbmVkIGRyYXdJbmRpcmVjdChHUFVCdWZm
ZXIgaW5kaXJlY3RCdWZmZXIsIEdQVVNpemU2NCBpbmRpcmVjdE9mZnNldCk7CisgICAgdW5kZWZp
bmVkIGRyYXdJbmRleGVkSW5kaXJlY3QoR1BVQnVmZmVyIGluZGlyZWN0QnVmZmVyLCBHUFVTaXpl
NjQgaW5kaXJlY3RPZmZzZXQpOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li45MmI1NGE3MzMwMzRjYmJhY2RmYzQ0NjMxY2UxNzcxMzA4YzU3Y2JkCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0NvbG9yQXR0
YWNobWVudC5oCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
I2luY2x1ZGUgIkdQVUNvbG9yRGljdC5oIgorI2luY2x1ZGUgIkdQVUxvYWRPcC5oIgorI2luY2x1
ZGUgIkdQVVN0b3JlT3AuaCIKKyNpbmNsdWRlICJHUFVUZXh0dXJlVmlldy5oIgorI2luY2x1ZGUg
PHZhcmlhbnQ+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgR1BVUmVuZGVyUGFzc0NvbG9yQXR0
YWNobWVudCB7CisgICAgUmVmUHRyPEdQVVRleHR1cmVWaWV3PiB2aWV3OworICAgIFJlZlB0cjxH
UFVUZXh0dXJlVmlldz4gcmVzb2x2ZVRhcmdldDsKKworICAgIHN0ZDo6dmFyaWFudDxHUFVMb2Fk
T3AsIFZlY3Rvcjxkb3VibGU+LCBHUFVDb2xvckRpY3Q+IGxvYWRWYWx1ZTsKKyAgICBHUFVTdG9y
ZU9wIHN0b3JlT3A7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaWRsCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmI4ZWNhMWUzZmE2YjQxOGE2ZDY0NDJiYjYwOWE0ZTA5NTFkNjQwODkKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzQ29sb3JB
dHRhY2htZW50LmlkbApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjU0OCBUaGlzIHNob3VsZG4ndCBuZWVk
IHRvIGJlIGhlcmUuCit0eXBlZGVmIChzZXF1ZW5jZTxkb3VibGU+IG9yIEdQVUNvbG9yRGljdCkg
R1BVQ29sb3I7CisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVQorXQorZGljdGlvbmFy
eSBHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50IHsKKyAgICByZXF1aXJlZCBHUFVUZXh0dXJl
VmlldyB2aWV3OworICAgIEdQVVRleHR1cmVWaWV3IHJlc29sdmVUYXJnZXQ7CisKKyAgICByZXF1
aXJlZCAoR1BVTG9hZE9wIG9yIEdQVUNvbG9yKSBsb2FkVmFsdWU7CisgICAgcmVxdWlyZWQgR1BV
U3RvcmVPcCBzdG9yZU9wOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjg2ZDhiNDJlZjc3YmU2Y2JhMmJmMGViZTFmZTQ1YWNkZTM2Zjc2ZDYKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQ
YXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5oCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkdQVUludGVncmFsVHlwZXMuaCIKKyNpbmNsdWRl
ICJHUFVMb2FkT3AuaCIKKyNpbmNsdWRlICJHUFVTdG9yZU9wLmgiCisjaW5jbHVkZSAiR1BVVGV4
dHVyZVZpZXcuaCIKKyNpbmNsdWRlIDx2YXJpYW50PgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNp
bEF0dGFjaG1lbnQgeworICAgIFJlZlB0cjxHUFVUZXh0dXJlVmlldz4gdmlldzsKKworICAgIHN0
ZDo6dmFyaWFudDxHUFVMb2FkT3AsIGZsb2F0PiBkZXB0aExvYWRWYWx1ZTsKKyAgICBHUFVTdG9y
ZU9wIGRlcHRoU3RvcmVPcDsKKyAgICBib29sIGRlcHRoUmVhZE9ubHk7CisKKyAgICBzdGQ6OnZh
cmlhbnQ8R1BVTG9hZE9wLCBHUFVTdGVuY2lsVmFsdWU+IHN0ZW5jaWxMb2FkVmFsdWU7CisgICAg
R1BVU3RvcmVPcCBzdGVuY2lsU3RvcmVPcDsKKyAgICBib29sIHN0ZW5jaWxSZWFkT25seTsKK307
CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRl
clBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmlkbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42Y2MwYTM2MjY1NDk1NjgwNWIzZTlkZTFhYjU2ZTA5MTRhMzA2ZjBlCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0RlcHRoU3Rl
bmNpbEF0dGFjaG1lbnQuaWRsCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQ4IFRoaXMgc2hvdWxkbid0
IG5lZWQgdG8gYmUgaGVyZS4KK3R5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBH
UFVTdGVuY2lsVmFsdWU7CisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVQorXQorZGlj
dGlvbmFyeSBHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudCB7CisgICAgcmVxdWly
ZWQgR1BVVGV4dHVyZVZpZXcgdmlldzsKKworICAgIHJlcXVpcmVkIChHUFVMb2FkT3Agb3IgZmxv
YXQpIGRlcHRoTG9hZFZhbHVlOworICAgIHJlcXVpcmVkIEdQVVN0b3JlT3AgZGVwdGhTdG9yZU9w
OworICAgIGJvb2xlYW4gZGVwdGhSZWFkT25seSA9IGZhbHNlOworCisgICAgcmVxdWlyZWQgKEdQ
VUxvYWRPcCBvciBHUFVTdGVuY2lsVmFsdWUpIHN0ZW5jaWxMb2FkVmFsdWU7CisgICAgcmVxdWly
ZWQgR1BVU3RvcmVPcCBzdGVuY2lsU3RvcmVPcDsKKyAgICBib29sZWFuIHN0ZW5jaWxSZWFkT25s
eSA9IGZhbHNlOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlZWFiOGYzZDVmMTJhMTA1
MjE5ZWRmMDNmZWU5NjE2ZDhhMzQxMWUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oCkBAIC0wLDAgKzEsNDUg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkdQVU9iamVjdERlc2Ny
aXB0b3JCYXNlLmgiCisjaW5jbHVkZSAiR1BVUXVlcnlTZXQuaCIKKyNpbmNsdWRlICJHUFVSZW5k
ZXJQYXNzQ29sb3JBdHRhY2htZW50LmgiCisjaW5jbHVkZSAiR1BVUmVuZGVyUGFzc0RlcHRoU3Rl
bmNpbEF0dGFjaG1lbnQuaCIKKyNpbmNsdWRlICJHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGUu
aCIKKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBHUFVSZW5kZXJQYXNzRGVzY3JpcHRvciA6IHB1
YmxpYyBHUFVPYmplY3REZXNjcmlwdG9yQmFzZSB7CisgICAgVmVjdG9yPEdQVVJlbmRlclBhc3ND
b2xvckF0dGFjaG1lbnQ+IGNvbG9yQXR0YWNobWVudHM7CisgICAgR1BVUmVuZGVyUGFzc0RlcHRo
U3RlbmNpbEF0dGFjaG1lbnQgZGVwdGhTdGVuY2lsQXR0YWNobWVudDsKKyAgICBSZWZQdHI8R1BV
UXVlcnlTZXQ+IG9jY2x1c2lvblF1ZXJ5U2V0OworICAgIEdQVVJlbmRlclBhc3NUaW1lc3RhbXBX
cml0ZXMgdGltZXN0YW1wV3JpdGVzOworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaWRsIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaWRsCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmQ4MDU4ZTNlOTFkOTFjN2FiYTNiZTg3NTA1MTFjODA4YjM5MmZlYmQKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVzY3Jp
cHRvci5pZGwKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDggVGhpcyBzaG91bGRuJ3QgbmVlZCB0byBi
ZSBoZXJlLgordHlwZWRlZiBzZXF1ZW5jZTxHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGU+IEdQ
VVJlbmRlclBhc3NUaW1lc3RhbXBXcml0ZXM7CisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdl
YkdQVQorXQorZGljdGlvbmFyeSBHUFVSZW5kZXJQYXNzRGVzY3JpcHRvciA6IEdQVU9iamVjdERl
c2NyaXB0b3JCYXNlIHsKKyAgICByZXF1aXJlZCBzZXF1ZW5jZTxHUFVSZW5kZXJQYXNzQ29sb3JB
dHRhY2htZW50PiBjb2xvckF0dGFjaG1lbnRzOworICAgIEdQVVJlbmRlclBhc3NEZXB0aFN0ZW5j
aWxBdHRhY2htZW50IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQ7CisgICAgR1BVUXVlcnlTZXQgb2Nj
bHVzaW9uUXVlcnlTZXQ7CisgICAgR1BVUmVuZGVyUGFzc1RpbWVzdGFtcFdyaXRlcyB0aW1lc3Rh
bXBXcml0ZXMgPSBbXTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODAxM2Y5YzUyOTc4MWEw
MzJhNjE1MzM0NmYyYWZhZDU0ZjZmZmU1NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVyLmNwcApAQCAtMCwwICsxLDE3
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiR1BVUmVuZGVyUGFzc0VuY29kZXIuaCIKKworI2luY2x1ZGUgIkdQVUJ1ZmZlci5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgR1BVUmVuZGVyUGFzc0VuY29kZXI6OnNl
dFBpcGVsaW5lKGNvbnN0IEdQVVJlbmRlclBpcGVsaW5lJikKK3sKK30KKwordm9pZCBHUFVSZW5k
ZXJQYXNzRW5jb2Rlcjo6c2V0SW5kZXhCdWZmZXIoY29uc3QgR1BVQnVmZmVyJiwgR1BVSW5kZXhG
b3JtYXQsIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8R1BV
U2l6ZTY0PiBzaXplKQoreworICAgIFVOVVNFRF9QQVJBTShvZmZzZXQpOworICAgIFVOVVNFRF9Q
QVJBTShzaXplKTsKK30KKwordm9pZCBHUFVSZW5kZXJQYXNzRW5jb2Rlcjo6c2V0VmVydGV4QnVm
ZmVyKEdQVUluZGV4MzIgc2xvdCwgY29uc3QgR1BVQnVmZmVyJiwgc3RkOjpvcHRpb25hbDxHUFVT
aXplNjQ+IG9mZnNldCwgc3RkOjpvcHRpb25hbDxHUFVTaXplNjQ+IHNpemUpCit7CisgICAgVU5V
U0VEX1BBUkFNKHNsb3QpOworICAgIFVOVVNFRF9QQVJBTShvZmZzZXQpOworICAgIFVOVVNFRF9Q
QVJBTShzaXplKTsKK30KKwordm9pZCBHUFVSZW5kZXJQYXNzRW5jb2Rlcjo6ZHJhdyhHUFVTaXpl
MzIgdmVydGV4Q291bnQsIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTMyPiBpbnN0YW5jZUNvdW50LAor
ICAgIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTMyPiBmaXJzdFZlcnRleCwgc3RkOjpvcHRpb25hbDxH
UFVTaXplMzI+IGZpcnN0SW5zdGFuY2UpCit7CisgICAgVU5VU0VEX1BBUkFNKHZlcnRleENvdW50
KTsKKyAgICBVTlVTRURfUEFSQU0oaW5zdGFuY2VDb3VudCk7CisgICAgVU5VU0VEX1BBUkFNKGZp
cnN0VmVydGV4KTsKKyAgICBVTlVTRURfUEFSQU0oZmlyc3RJbnN0YW5jZSk7Cit9CisKK3ZvaWQg
R1BVUmVuZGVyUGFzc0VuY29kZXI6OmRyYXdJbmRleGVkKEdQVVNpemUzMiBpbmRleENvdW50LCBz
dGQ6Om9wdGlvbmFsPEdQVVNpemUzMj4gaW5zdGFuY2VDb3VudCwKKyAgICBzdGQ6Om9wdGlvbmFs
PEdQVVNpemUzMj4gZmlyc3RJbmRleCwKKyAgICBzdGQ6Om9wdGlvbmFsPEdQVVNpZ25lZE9mZnNl
dDMyPiBiYXNlVmVydGV4LAorICAgIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTMyPiBmaXJzdEluc3Rh
bmNlKQoreworICAgIFVOVVNFRF9QQVJBTShpbmRleENvdW50KTsKKyAgICBVTlVTRURfUEFSQU0o
aW5zdGFuY2VDb3VudCk7CisgICAgVU5VU0VEX1BBUkFNKGZpcnN0SW5kZXgpOworICAgIFVOVVNF
RF9QQVJBTShiYXNlVmVydGV4KTsKKyAgICBVTlVTRURfUEFSQU0oZmlyc3RJbnN0YW5jZSk7Cit9
CisKK3ZvaWQgR1BVUmVuZGVyUGFzc0VuY29kZXI6OmRyYXdJbmRpcmVjdChjb25zdCBHUFVCdWZm
ZXImIGluZGlyZWN0QnVmZmVyLCBHUFVTaXplNjQgaW5kaXJlY3RPZmZzZXQpCit7CisgICAgVU5V
U0VEX1BBUkFNKGluZGlyZWN0QnVmZmVyKTsKKyAgICBVTlVTRURfUEFSQU0oaW5kaXJlY3RPZmZz
ZXQpOworfQorCit2b2lkIEdQVVJlbmRlclBhc3NFbmNvZGVyOjpkcmF3SW5kZXhlZEluZGlyZWN0
KGNvbnN0IEdQVUJ1ZmZlciYgaW5kaXJlY3RCdWZmZXIsIEdQVVNpemU2NCBpbmRpcmVjdE9mZnNl
dCkKK3sKKyAgICBVTlVTRURfUEFSQU0oaW5kaXJlY3RCdWZmZXIpOworICAgIFVOVVNFRF9QQVJB
TShpbmRpcmVjdE9mZnNldCk7Cit9CisKK3ZvaWQgR1BVUmVuZGVyUGFzc0VuY29kZXI6OnNldEJp
bmRHcm91cChHUFVJbmRleDMyLCBjb25zdCBHUFVCaW5kR3JvdXAmLAorICAgIHN0ZDo6b3B0aW9u
YWw8VmVjdG9yPEdQVUJ1ZmZlckR5bmFtaWNPZmZzZXQ+PiYmIGR5bmFtaWNPZmZzZXRzKQorewor
ICAgIFVOVVNFRF9QQVJBTShkeW5hbWljT2Zmc2V0cyk7Cit9CisKK3ZvaWQgR1BVUmVuZGVyUGFz
c0VuY29kZXI6OnNldEJpbmRHcm91cChHUFVJbmRleDMyLCBjb25zdCBHUFVCaW5kR3JvdXAmLAor
ICAgIGNvbnN0IFVpbnQzMkFycmF5JiBkeW5hbWljT2Zmc2V0c0RhdGEsCisgICAgR1BVU2l6ZTY0
IGR5bmFtaWNPZmZzZXRzRGF0YVN0YXJ0LAorICAgIEdQVVNpemUzMiBkeW5hbWljT2Zmc2V0c0Rh
dGFMZW5ndGgpCit7CisgICAgVU5VU0VEX1BBUkFNKGR5bmFtaWNPZmZzZXRzRGF0YSk7CisgICAg
VU5VU0VEX1BBUkFNKGR5bmFtaWNPZmZzZXRzRGF0YVN0YXJ0KTsKKyAgICBVTlVTRURfUEFSQU0o
ZHluYW1pY09mZnNldHNEYXRhTGVuZ3RoKTsKK30KKwordm9pZCBHUFVSZW5kZXJQYXNzRW5jb2Rl
cjo6cHVzaERlYnVnR3JvdXAoU3RyaW5nJiYgZ3JvdXBMYWJlbCkKK3sKKyAgICBVTlVTRURfUEFS
QU0oZ3JvdXBMYWJlbCk7Cit9CisKK3ZvaWQgR1BVUmVuZGVyUGFzc0VuY29kZXI6OnBvcERlYnVn
R3JvdXAoKQoreworfQorCit2b2lkIEdQVVJlbmRlclBhc3NFbmNvZGVyOjppbnNlcnREZWJ1Z01h
cmtlcihTdHJpbmcmJiBtYXJrZXJMYWJlbCkKK3sKKyAgICBVTlVTRURfUEFSQU0obWFya2VyTGFi
ZWwpOworfQorCit2b2lkIEdQVVJlbmRlclBhc3NFbmNvZGVyOjpzZXRWaWV3cG9ydChmbG9hdCB4
LCBmbG9hdCB5LAorICAgIGZsb2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQsCisgICAgZmxvYXQgbWlu
RGVwdGgsIGZsb2F0IG1heERlcHRoKQoreworICAgIFVOVVNFRF9QQVJBTSh4KTsKKyAgICBVTlVT
RURfUEFSQU0oeSk7CisgICAgVU5VU0VEX1BBUkFNKHdpZHRoKTsKKyAgICBVTlVTRURfUEFSQU0o
aGVpZ2h0KTsKKyAgICBVTlVTRURfUEFSQU0obWluRGVwdGgpOworICAgIFVOVVNFRF9QQVJBTSht
YXhEZXB0aCk7Cit9CisKK3ZvaWQgR1BVUmVuZGVyUGFzc0VuY29kZXI6OnNldFNjaXNzb3JSZWN0
KEdQVUludGVnZXJDb29yZGluYXRlIHgsIEdQVUludGVnZXJDb29yZGluYXRlIHksCisgICAgR1BV
SW50ZWdlckNvb3JkaW5hdGUgd2lkdGgsIEdQVUludGVnZXJDb29yZGluYXRlIGhlaWdodCkKK3sK
KyAgICBVTlVTRURfUEFSQU0oeCk7CisgICAgVU5VU0VEX1BBUkFNKHkpOworICAgIFVOVVNFRF9Q
QVJBTSh3aWR0aCk7CisgICAgVU5VU0VEX1BBUkFNKGhlaWdodCk7Cit9CisKK3ZvaWQgR1BVUmVu
ZGVyUGFzc0VuY29kZXI6OnNldEJsZW5kQ29uc3RhbnQoR1BVQ29sb3IpCit7Cit9CisKK3ZvaWQg
R1BVUmVuZGVyUGFzc0VuY29kZXI6OnNldFN0ZW5jaWxSZWZlcmVuY2UoR1BVU3RlbmNpbFZhbHVl
KQoreworfQorCit2b2lkIEdQVVJlbmRlclBhc3NFbmNvZGVyOjpiZWdpbk9jY2x1c2lvblF1ZXJ5
KEdQVVNpemUzMiBxdWVyeUluZGV4KQoreworICAgIFVOVVNFRF9QQVJBTShxdWVyeUluZGV4KTsK
K30KKwordm9pZCBHUFVSZW5kZXJQYXNzRW5jb2Rlcjo6ZW5kT2NjbHVzaW9uUXVlcnkoKQorewor
fQorCit2b2lkIEdQVVJlbmRlclBhc3NFbmNvZGVyOjpiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1
ZXJ5KGNvbnN0IEdQVVF1ZXJ5U2V0JiwgR1BVU2l6ZTMyIHF1ZXJ5SW5kZXgpCit7CisgICAgVU5V
U0VEX1BBUkFNKHF1ZXJ5SW5kZXgpOworfQorCit2b2lkIEdQVVJlbmRlclBhc3NFbmNvZGVyOjpl
bmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpCit7Cit9CisKK3ZvaWQgR1BVUmVuZGVyUGFzc0Vu
Y29kZXI6OmV4ZWN1dGVCdW5kbGVzKFZlY3RvcjxSZWZQdHI8R1BVUmVuZGVyQnVuZGxlPj4mJikK
K3sKK30KKwordm9pZCBHUFVSZW5kZXJQYXNzRW5jb2Rlcjo6ZW5kUGFzcygpCit7Cit9CisKKwor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFz
c0VuY29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NF
bmNvZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZWNjZjc4ZDNmNDQ4NDI1MWZlZDFiN2VlZjE1YmRhOGIyYjEw
Nzg2NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VVJlbmRlclBhc3NFbmNvZGVyLmgKQEAgLTAsMCArMSwxMTEgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2luY2x1ZGUgIkdQVUNvbG9yRGljdC5oIgorI2luY2x1ZGUgIkdQVUluZGV4
Rm9ybWF0LmgiCisjaW5jbHVkZSAiR1BVSW50ZWdyYWxUeXBlcy5oIgorI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL1VpbnQzMkFycmF5Lmg+CisjaW5jbHVkZSA8b3B0aW9uYWw+CisjaW5jbHVkZSA8
d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBHUFVCaW5kR3JvdXA7Citj
bGFzcyBHUFVCdWZmZXI7CitjbGFzcyBHUFVRdWVyeVNldDsKK2NsYXNzIEdQVVJlbmRlckJ1bmRs
ZTsKK2NsYXNzIEdQVVJlbmRlclBpcGVsaW5lOworCitjbGFzcyBHUFVSZW5kZXJQYXNzRW5jb2Rl
ciA6IHB1YmxpYyBSZWZDb3VudGVkPEdQVUJpbmRHcm91cD4geworcHVibGljOgorICAgIHN0YXRp
YyBSZWY8R1BVUmVuZGVyUGFzc0VuY29kZXI+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBHUFVSZW5kZXJQYXNzRW5jb2RlcigpKTsKKyAgICB9CisKKyAgICB2
b2lkIHNldFBpcGVsaW5lKGNvbnN0IEdQVVJlbmRlclBpcGVsaW5lJik7CisKKyAgICB2b2lkIHNl
dEluZGV4QnVmZmVyKGNvbnN0IEdQVUJ1ZmZlciYsIEdQVUluZGV4Rm9ybWF0LCBzdGQ6Om9wdGlv
bmFsPEdQVVNpemU2ND4gb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4pOworICAgIHZv
aWQgc2V0VmVydGV4QnVmZmVyKEdQVUluZGV4MzIgc2xvdCwgY29uc3QgR1BVQnVmZmVyJiwgc3Rk
OjpvcHRpb25hbDxHUFVTaXplNjQ+IG9mZnNldCwgc3RkOjpvcHRpb25hbDxHUFVTaXplNjQ+KTsK
KworICAgIHZvaWQgZHJhdyhHUFVTaXplMzIgdmVydGV4Q291bnQsIHN0ZDo6b3B0aW9uYWw8R1BV
U2l6ZTMyPiBpbnN0YW5jZUNvdW50LAorICAgICAgICBzdGQ6Om9wdGlvbmFsPEdQVVNpemUzMj4g
Zmlyc3RWZXJ0ZXgsIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTMyPiBmaXJzdEluc3RhbmNlKTsKKyAg
ICB2b2lkIGRyYXdJbmRleGVkKEdQVVNpemUzMiBpbmRleENvdW50LCBzdGQ6Om9wdGlvbmFsPEdQ
VVNpemUzMj4gaW5zdGFuY2VDb3VudCwKKyAgICAgICAgc3RkOjpvcHRpb25hbDxHUFVTaXplMzI+
IGZpcnN0SW5kZXgsCisgICAgICAgIHN0ZDo6b3B0aW9uYWw8R1BVU2lnbmVkT2Zmc2V0MzI+IGJh
c2VWZXJ0ZXgsCisgICAgICAgIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTMyPiBmaXJzdEluc3RhbmNl
KTsKKworICAgIHZvaWQgZHJhd0luZGlyZWN0KGNvbnN0IEdQVUJ1ZmZlciYgaW5kaXJlY3RCdWZm
ZXIsIEdQVVNpemU2NCBpbmRpcmVjdE9mZnNldCk7CisgICAgdm9pZCBkcmF3SW5kZXhlZEluZGly
ZWN0KGNvbnN0IEdQVUJ1ZmZlciYgaW5kaXJlY3RCdWZmZXIsIEdQVVNpemU2NCBpbmRpcmVjdE9m
ZnNldCk7CisKKyAgICB2b2lkIHNldEJpbmRHcm91cChHUFVJbmRleDMyLCBjb25zdCBHUFVCaW5k
R3JvdXAmLAorICAgICAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxHUFVCdWZmZXJEeW5hbWljT2Zm
c2V0Pj4mJiBkeW5hbWljT2Zmc2V0cyk7CisKKyAgICB2b2lkIHNldEJpbmRHcm91cChHUFVJbmRl
eDMyLCBjb25zdCBHUFVCaW5kR3JvdXAmLAorICAgICAgICBjb25zdCBVaW50MzJBcnJheSYgZHlu
YW1pY09mZnNldHNEYXRhLAorICAgICAgICBHUFVTaXplNjQgZHluYW1pY09mZnNldHNEYXRhU3Rh
cnQsCisgICAgICAgIEdQVVNpemUzMiBkeW5hbWljT2Zmc2V0c0RhdGFMZW5ndGgpOworCisgICAg
dm9pZCBwdXNoRGVidWdHcm91cChTdHJpbmcmJiBncm91cExhYmVsKTsKKyAgICB2b2lkIHBvcERl
YnVnR3JvdXAoKTsKKyAgICB2b2lkIGluc2VydERlYnVnTWFya2VyKFN0cmluZyYmIG1hcmtlckxh
YmVsKTsKKworICAgIHZvaWQgc2V0Vmlld3BvcnQoZmxvYXQgeCwgZmxvYXQgeSwKKyAgICAgICAg
ZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdodCwKKyAgICAgICAgZmxvYXQgbWluRGVwdGgsIGZsb2F0
IG1heERlcHRoKTsKKworICAgIHZvaWQgc2V0U2Npc3NvclJlY3QoR1BVSW50ZWdlckNvb3JkaW5h
dGUgeCwgR1BVSW50ZWdlckNvb3JkaW5hdGUgeSwKKyAgICAgICAgR1BVSW50ZWdlckNvb3JkaW5h
dGUgd2lkdGgsIEdQVUludGVnZXJDb29yZGluYXRlIGhlaWdodCk7CisKKyAgICB2b2lkIHNldEJs
ZW5kQ29uc3RhbnQoR1BVQ29sb3IpOworICAgIHZvaWQgc2V0U3RlbmNpbFJlZmVyZW5jZShHUFVT
dGVuY2lsVmFsdWUpOworCisgICAgdm9pZCBiZWdpbk9jY2x1c2lvblF1ZXJ5KEdQVVNpemUzMiBx
dWVyeUluZGV4KTsKKyAgICB2b2lkIGVuZE9jY2x1c2lvblF1ZXJ5KCk7CisKKyAgICB2b2lkIGJl
Z2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoY29uc3QgR1BVUXVlcnlTZXQmLCBHUFVTaXplMzIg
cXVlcnlJbmRleCk7CisgICAgdm9pZCBlbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpOworCisg
ICAgdm9pZCBleGVjdXRlQnVuZGxlcyhWZWN0b3I8UmVmUHRyPEdQVVJlbmRlckJ1bmRsZT4+JiYp
OworICAgIHZvaWQgZW5kUGFzcygpOworCisgICAgY29uc3QgU3RyaW5nJiBsYWJlbCgpIGNvbnN0
IHsgcmV0dXJuIG1fbGFiZWw7IH0KKyAgICB2b2lkIHNldExhYmVsKFN0cmluZyYmIGxhYmVsKSB7
IG1fbGFiZWwgPSBXVEZNb3ZlKGxhYmVsKTsgfQorCitwcml2YXRlOgorICAgIEdQVVJlbmRlclBh
c3NFbmNvZGVyKCkKKyAgICB7CisgICAgfQorCisgICAgU3RyaW5nIG1fbGFiZWw7Cit9OworCit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNz
RW5jb2Rlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNz
RW5jb2Rlci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDM3YmYyZDg1ZTAxODhhNjE4ZTk1YmI1NTQ0NjNhZjE3
NGI4MDFmZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVVJlbmRlclBhc3NFbmNvZGVyLmlkbApAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
Ly8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjU0OCBUaGVzZSBz
aG91bGRuJ3QgbmVlZCB0byBiZSBoZXJlLgordHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25l
ZCBsb25nIEdQVVNpemUzMjsKK3R5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBH
UFVJbnRlZ2VyQ29vcmRpbmF0ZTsKK3R5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9u
ZyBHUFVTdGVuY2lsVmFsdWU7Cit0eXBlZGVmIChzZXF1ZW5jZTxkb3VibGU+IG9yIEdQVUNvbG9y
RGljdCkgR1BVQ29sb3I7CisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVSwKKyAgICBJ
bXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAgIEV4cG9zZWQ9KFdpbmRvdyksIC8qIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDI6IERlZGljYXRlZFdvcmtl
ciAqLworICAgIFNlY3VyZUNvbnRleHQKK10KK2ludGVyZmFjZSBHUFVSZW5kZXJQYXNzRW5jb2Rl
ciB7CisgICAgdW5kZWZpbmVkIHNldFZpZXdwb3J0KGZsb2F0IHgsIGZsb2F0IHksCisgICAgICAg
ICAgICAgICAgICAgICBmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0LAorICAgICAgICAgICAgICAg
ICAgICAgZmxvYXQgbWluRGVwdGgsIGZsb2F0IG1heERlcHRoKTsKKworICAgIHVuZGVmaW5lZCBz
ZXRTY2lzc29yUmVjdChHUFVJbnRlZ2VyQ29vcmRpbmF0ZSB4LCBHUFVJbnRlZ2VyQ29vcmRpbmF0
ZSB5LAorICAgICAgICAgICAgICAgICAgICAgICAgR1BVSW50ZWdlckNvb3JkaW5hdGUgd2lkdGgs
IEdQVUludGVnZXJDb29yZGluYXRlIGhlaWdodCk7CisKKyAgICB1bmRlZmluZWQgc2V0QmxlbmRD
b25zdGFudChHUFVDb2xvciBjb2xvcik7CisgICAgdW5kZWZpbmVkIHNldFN0ZW5jaWxSZWZlcmVu
Y2UoR1BVU3RlbmNpbFZhbHVlIHJlZmVyZW5jZSk7CisKKyAgICB1bmRlZmluZWQgYmVnaW5PY2Ns
dXNpb25RdWVyeShHUFVTaXplMzIgcXVlcnlJbmRleCk7CisgICAgdW5kZWZpbmVkIGVuZE9jY2x1
c2lvblF1ZXJ5KCk7CisKKyAgICB1bmRlZmluZWQgYmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVy
eShHUFVRdWVyeVNldCBxdWVyeVNldCwgR1BVU2l6ZTMyIHF1ZXJ5SW5kZXgpOworICAgIHVuZGVm
aW5lZCBlbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpOworCisgICAgdW5kZWZpbmVkIGV4ZWN1
dGVCdW5kbGVzKHNlcXVlbmNlPEdQVVJlbmRlckJ1bmRsZT4gYnVuZGxlcyk7CisgICAgdW5kZWZp
bmVkIGVuZFBhc3MoKTsKK307CitHUFVSZW5kZXJQYXNzRW5jb2RlciBpbmNsdWRlcyBHUFVPYmpl
Y3RCYXNlOworR1BVUmVuZGVyUGFzc0VuY29kZXIgaW5jbHVkZXMgR1BVUHJvZ3JhbW1hYmxlUGFz
c0VuY29kZXI7CitHUFVSZW5kZXJQYXNzRW5jb2RlciBpbmNsdWRlcyBHUFVSZW5kZXJFbmNvZGVy
QmFzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRl
clBhc3NMYXlvdXQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBh
c3NMYXlvdXQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41Y2FiMjdhMjUzODEyMmMwODVkOWJkZWNkZDNkYmUwZWE1
ZmRjZDIwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVUmVuZGVyUGFzc0xheW91dC5oCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2luY2x1ZGUgIkdQVUludGVncmFsVHlwZXMuaCIKKyNpbmNsdWRlICJHUFVP
YmplY3REZXNjcmlwdG9yQmFzZS5oIgorI2luY2x1ZGUgIkdQVVRleHR1cmVGb3JtYXQuaCIKKyNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IEdQ
VVJlbmRlclBhc3NMYXlvdXQgOiBwdWJsaWMgR1BVT2JqZWN0RGVzY3JpcHRvckJhc2UgeworICAg
IFZlY3RvcjxHUFVUZXh0dXJlRm9ybWF0PiBjb2xvckZvcm1hdHM7CisgICAgR1BVVGV4dHVyZUZv
cm1hdCBkZXB0aFN0ZW5jaWxGb3JtYXQ7CisgICAgR1BVU2l6ZTMyIHNhbXBsZUNvdW50OworfTsK
KworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVy
UGFzc0xheW91dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQ
YXNzTGF5b3V0LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ODFhZDQxMDZmMGEwNDRkYWQwOGVjNDhlOWVhMTYy
ODJiYmQzOWVkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVUmVuZGVyUGFzc0xheW91dC5pZGwKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
Ky8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDggVGhpcyBz
aG91bGRuJ3QgbmVlZCB0byBiZSBoZXJlLgordHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25l
ZCBsb25nIEdQVVNpemUzMjsKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVCitdCitk
aWN0aW9uYXJ5IEdQVVJlbmRlclBhc3NMYXlvdXQ6IEdQVU9iamVjdERlc2NyaXB0b3JCYXNlIHsK
KyAgICByZXF1aXJlZCBzZXF1ZW5jZTxHUFVUZXh0dXJlRm9ybWF0PiBjb2xvckZvcm1hdHM7Cisg
ICAgR1BVVGV4dHVyZUZvcm1hdCBkZXB0aFN0ZW5jaWxGb3JtYXQ7CisgICAgR1BVU2l6ZTMyIHNh
bXBsZUNvdW50ID0gMTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVSZW5kZXJQYXNzVGltZXN0YW1wTG9jYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NUaW1lc3RhbXBMb2NhdGlvbi5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmZmMTYyMWEzMjE4OTg0YTU5YTM1NWZlMWRhMGY3NDViZTYzM2YzYjAKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzVGltZXN0YW1w
TG9jYXRpb24uaApAQCAtMCwwICsxLDM3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpbmNsdWRlIDxjc3RkaW50PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3Mg
R1BVUmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9uIDogdWludDhfdCB7CisgICAgQmVnaW5uaW5n
LAorICAgIEVuZAorfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9X
ZWJHUFUvR1BVUmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NUaW1lc3RhbXBMb2NhdGlvbi5pZGwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjk5NTQ0NmZiNTE0MzdiNWY5ZDlhZmRmNGZhNjhkMjk3NmU5NjNiMwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NUaW1l
c3RhbXBMb2NhdGlvbi5pZGwKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBF
bmFibGVkQnlTZXR0aW5nPVdlYkdQVQorXQorZW51bSBHUFVSZW5kZXJQYXNzVGltZXN0YW1wTG9j
YXRpb24geworICAgICJiZWdpbm5pbmciLAorICAgICJlbmQiCit9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc1RpbWVzdGFtcFdyaXRlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzVGltZXN0YW1wV3Jp
dGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43N2M5MzViNDQ4NWRmNDM0ZDgyMDhhMGYxZmVlODAwZGIyNmQzZDIx
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVu
ZGVyUGFzc1RpbWVzdGFtcFdyaXRlLmgKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaW5jbHVkZSAiR1BVSW50ZWdyYWxUeXBlcy5oIgorI2luY2x1ZGUgIkdQ
VVF1ZXJ5U2V0LmgiCisjaW5jbHVkZSAiR1BVUmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9uLmgi
CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgR1BVUmVuZGVyUGFzc1RpbWVzdGFtcFdyaXRlIHsK
KyAgICBSZWZQdHI8R1BVUXVlcnlTZXQ+IHF1ZXJ5U2V0OworICAgIEdQVVNpemUzMiBxdWVyeUlu
ZGV4OworICAgIEdQVVJlbmRlclBhc3NUaW1lc3RhbXBMb2NhdGlvbiBsb2NhdGlvbjsKK307CisK
K3VzaW5nIEdQVVJlbmRlclBhc3NUaW1lc3RhbXBXcml0ZXMgPSBWZWN0b3I8R1BVUmVuZGVyUGFz
c1RpbWVzdGFtcFdyaXRlPjsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVUmVuZGVyUGFzc1RpbWVzdGFtcFdyaXRlLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NUaW1lc3RhbXBXcml0ZS5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYjg4NTA5MDFhMGY2YjM3NGUxMjExN2U3ODMxNGQ3N2ZhNDMwZjcwMAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NUaW1lc3Rh
bXBXcml0ZS5pZGwKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDggVGhpcyBzaG91bGRuJ3QgbmVlZCB0
byBiZSBoZXJlLgordHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVVNpemUz
MjsKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVCitdCitkaWN0aW9uYXJ5IEdQVVJl
bmRlclBhc3NUaW1lc3RhbXBXcml0ZSB7CisgICAgcmVxdWlyZWQgR1BVUXVlcnlTZXQgcXVlcnlT
ZXQ7CisgICAgcmVxdWlyZWQgR1BVU2l6ZTMyIHF1ZXJ5SW5kZXg7CisgICAgcmVxdWlyZWQgR1BV
UmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9uIGxvY2F0aW9uOworfTsKKwordHlwZWRlZiBzZXF1
ZW5jZTxHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGU+IEdQVVJlbmRlclBhc3NUaW1lc3RhbXBX
cml0ZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5k
ZXJQaXBlbGluZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGlw
ZWxpbmUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hYjIxZGQ3NjgzOGY1ODExNDE5NjdhYzM3YzMzODUzNmIyNDMz
NDI1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
UmVuZGVyUGlwZWxpbmUuaApAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
KyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBHUFVSZW5kZXJQaXBlbGluZSA6IHB1YmxpYyBSZWZDb3VudGVkPEdQVVJlbmRlclBp
cGVsaW5lPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxHUFVSZW5kZXJQaXBlbGluZT4gY3Jl
YXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEdQVVJlbmRlclBpcGVs
aW5lKCkpOworICAgIH0KKworICAgIGNvbnN0IFN0cmluZyYgbGFiZWwoKSBjb25zdCB7IHJldHVy
biBtX2xhYmVsOyB9CisgICAgdm9pZCBzZXRMYWJlbChTdHJpbmcmJiBsYWJlbCkgeyBtX2xhYmVs
ID0gV1RGTW92ZShsYWJlbCk7IH0KKworcHJpdmF0ZToKKyAgICBHUFVSZW5kZXJQaXBlbGluZSgp
CisgICAgeworICAgIH0KKworICAgIFN0cmluZyBtX2xhYmVsOworfTsKKworfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGlwZWxpbmUuaWRsIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGlwZWxpbmUuaWRsCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmM2YmExZWE3NGMzZmY3MjQ3YzllZWNlMmM5MmZhYzY0ZGQ4NjFiYzEKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQaXBlbGlu
ZS5pZGwKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlTZXR0
aW5nPVdlYkdQVSwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAgIEV4cG9zZWQ9
KFdpbmRvdyksIC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1
NDI6IERlZGljYXRlZFdvcmtlciAqLworICAgIFNlY3VyZUNvbnRleHQKK10KK2ludGVyZmFjZSBH
UFVSZW5kZXJQaXBlbGluZSB7Cit9OworR1BVUmVuZGVyUGlwZWxpbmUgaW5jbHVkZXMgR1BVT2Jq
ZWN0QmFzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVN0
b3JlT3AuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVN0b3JlT3AuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jMDE2ZmQ2ODYwNTRmYmE1Nzg0NGNiNDRiYzE5YmI1ZDNhYTAxODQxCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU3RvcmVPcC5oCkBA
IC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPGNz
dGRpbnQ+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBHUFVTdG9yZU9wIDog
dWludDhfdCB7CisgICAgU3RvcmUsCisgICAgRGlzY2FyZAorfTsKKworfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU3RvcmVPcC5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTdG9yZU9wLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NWRlNjc4NjFi
ZDgwYTllNzdjNmVkZDBlMTEzZTNiODhkZDMyODQ4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU3RvcmVPcC5pZGwKQEAgLTAsMCArMSwzMiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVQorXQorZW51bSBHUFVT
dG9yZU9wIHsKKyAgICAic3RvcmUiLAorICAgICJkaXNjYXJkIgorfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmUuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YjhhZDcwOWQyZjZjODA5
MjE5YjA4MmIzYzY4NGEzYzJlODZkZDAxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZS5oCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIEdQVVRleHR1cmUgOiBwdWJsaWMgUmVmQ291bnRlZDxHUFVU
ZXh0dXJlPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxHUFVUZXh0dXJlPiBjcmVhdGUoKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgR1BVVGV4dHVyZSgpKTsKKyAgICB9
CisKKyAgICBjb25zdCBTdHJpbmcmIGxhYmVsKCkgY29uc3QgeyByZXR1cm4gbV9sYWJlbDsgfQor
ICAgIHZvaWQgc2V0TGFiZWwoU3RyaW5nJiYgbGFiZWwpIHsgbV9sYWJlbCA9IFdURk1vdmUobGFi
ZWwpOyB9CisKK3ByaXZhdGU6CisgICAgR1BVVGV4dHVyZSgpCisgICAgeworICAgIH0KKworICAg
IFN0cmluZyBtX2xhYmVsOworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVVGV4dHVyZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVUZXh0dXJlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMjcyZTcxZGY3ZTIxZGNhZGU3NjA2YTg0MGUz
ZmEwNDA0MGVlNmNkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9X
ZWJHUFUvR1BVVGV4dHVyZS5pZGwKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAg
ICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVSwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxl
LAorICAgIEV4cG9zZWQ9KFdpbmRvdyksIC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzI1NDI6IERlZGljYXRlZFdvcmtlciAqLworICAgIFNlY3VyZUNvbnRleHQK
K10KK2ludGVyZmFjZSBHUFVUZXh0dXJlIHsKK307CitHUFVUZXh0dXJlIGluY2x1ZGVzIEdQVU9i
amVjdEJhc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVU
ZXh0dXJlQXNwZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJl
QXNwZWN0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMDY1Y2ZmZjBjZjYxNzliZjA0NWFiMDAwNjNjZmY1ZTFhNmQ0
NTc2ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VVRleHR1cmVBc3BlY3QuaApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlIDxjc3RkaW50PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0g
Y2xhc3MgR1BVVGV4dHVyZUFzcGVjdCA6IHVpbnQ4X3QgeworICAgIEFsbCwKKyAgICBTdGVuY2ls
T25seSwKKyAgICBEZXB0aE9ubHkKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVBc3BlY3QuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVVGV4dHVyZUFzcGVjdC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2I4NTNkYmYxMTZi
ZWY2N2Y1MzJmMWQzMDY0OWRiNDkxNzVkNzNkYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVBc3BlY3QuaWRsCkBAIC0wLDAgKzEsMzMg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUKK10KK2VudW0g
R1BVVGV4dHVyZUFzcGVjdCB7CisgICAgImFsbCIsCisgICAgInN0ZW5jaWwtb25seSIsCisgICAg
ImRlcHRoLW9ubHkiCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVVGV4dHVyZUZvcm1hdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
VGV4dHVyZUZvcm1hdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUwZTk1YTg4MGY2MGZmNzQxMGQ5NWM5NTEyNDgw
ODI5ZTA0OGQwZGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVUZXh0dXJlRm9ybWF0LmgKQEAgLTAsMCArMSwxNTUgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPGNzdGRpbnQ+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworZW51bSBjbGFzcyBHUFVUZXh0dXJlRm9ybWF0IDogdWludDhfdCB7CisgICAgLy8gOC1iaXQg
Zm9ybWF0cworICAgIFI4dW5vcm0sCisgICAgUjhzbm9ybSwKKyAgICBSOHVpbnQsCisgICAgUjhz
aW50LAorCisgICAgLy8gMTYtYml0IGZvcm1hdHMKKyAgICBSMTZ1aW50LAorICAgIFIxNnNpbnQs
CisgICAgUjE2ZmxvYXQsCisgICAgUmc4dW5vcm0sCisgICAgUmc4c25vcm0sCisgICAgUmc4dWlu
dCwKKyAgICBSZzhzaW50LAorCisgICAgLy8gMzItYml0IGZvcm1hdHMKKyAgICBSMzJ1aW50LAor
ICAgIFIzMnNpbnQsCisgICAgUjMyZmxvYXQsCisgICAgUmcxNnVpbnQsCisgICAgUmcxNnNpbnQs
CisgICAgUmcxNmZsb2F0LAorICAgIFJnYmE4dW5vcm0sCisgICAgUmdiYTh1bm9ybVNSR0IsCisg
ICAgUmdiYThzbm9ybSwKKyAgICBSZ2JhOHVpbnQsCisgICAgUmdiYThzaW50LAorICAgIEJncmE4
dW5vcm0sCisgICAgQmdyYTh1bm9ybVNSR0IsCisgICAgLy8gUGFja2VkIDMyLWJpdCBmb3JtYXRz
CisgICAgUmdiOWU1dWZsb2F0LAorICAgIFJnYjEwYTJ1bm9ybSwKKyAgICBSZzExYjEwdWZsb2F0
LAorCisgICAgLy8gNjQtYml0IGZvcm1hdHMKKyAgICBSZzMydWludCwKKyAgICBSZzMyc2ludCwK
KyAgICBSZzMyZmxvYXQsCisgICAgUmdiYTE2dWludCwKKyAgICBSZ2JhMTZzaW50LAorICAgIFJn
YmExNmZsb2F0LAorCisgICAgLy8gMTI4LWJpdCBmb3JtYXRzCisgICAgUmdiYTMydWludCwKKyAg
ICBSZ2JhMzJzaW50LAorICAgIFJnYmEzMmZsb2F0LAorCisgICAgLy8gRGVwdGggYW5kIHN0ZW5j
aWwgZm9ybWF0cworICAgIFN0ZW5jaWw4LAorICAgIERlcHRoMTZ1bm9ybSwKKyAgICBEZXB0aDI0
cGx1cywKKyAgICBEZXB0aDI0cGx1c1N0ZW5jaWw4LAorICAgIERlcHRoMzJmbG9hdCwKKworICAg
IC8vIEJDIGNvbXByZXNzZWQgZm9ybWF0cyB1c2FibGUgaWYgdGV4dHVyZS1jb21wcmVzc2lvbi1i
YyBpcyBib3RoCisgICAgLy8gc3VwcG9ydGVkIGJ5IHRoZSBkZXZpY2UvdXNlciBhZ2VudCBhbmQg
ZW5hYmxlZCBpbiByZXF1ZXN0RGV2aWNlLgorICAgIEJjMVJnYmFVbm9ybSwKKyAgICBCYzFSZ2Jh
VW5vcm1TUkdCLAorICAgIEJjMlJnYmFVbm9ybSwKKyAgICBCYzJSZ2JhVW5vcm1TUkdCLAorICAg
IEJjM1JnYmFVbm9ybSwKKyAgICBCYzNSZ2JhVW5vcm1TUkdCLAorICAgIEJjNFJVbm9ybSwKKyAg
ICBCYzRSU25vcm0sCisgICAgQmM1UmdVbm9ybSwKKyAgICBCYzVSZ1Nub3JtLAorICAgIEJjNmhS
Z2JVZmxvYXQsCisgICAgQmM2aFJnYkZsb2F0LAorICAgIEJjN1JnYmFVbm9ybSwKKyAgICBCYzdS
Z2JhVW5vcm1TUkdCLAorCisgICAgLy8gRVRDMiBjb21wcmVzc2VkIGZvcm1hdHMgdXNhYmxlIGlm
IHRleHR1cmUtY29tcHJlc3Npb24tZXRjMiBpcyBib3RoCisgICAgLy8gc3VwcG9ydGVkIGJ5IHRo
ZSBkZXZpY2UvdXNlciBhZ2VudCBhbmQgZW5hYmxlZCBpbiByZXF1ZXN0RGV2aWNlLgorICAgIEV0
YzJSZ2I4dW5vcm0sCisgICAgRXRjMlJnYjh1bm9ybVNSR0IsCisgICAgRXRjMlJnYjhhMXVub3Jt
LAorICAgIEV0YzJSZ2I4YTF1bm9ybVNSR0IsCisgICAgRXRjMlJnYmE4dW5vcm0sCisgICAgRXRj
MlJnYmE4dW5vcm1TUkdCLAorICAgIEVhY1IxMXVub3JtLAorICAgIEVhY1IxMXNub3JtLAorICAg
IEVhY1JnMTF1bm9ybSwKKyAgICBFYWNSZzExc25vcm0sCisKKyAgICAvLyBBU1RDIGNvbXByZXNz
ZWQgZm9ybWF0cyB1c2FibGUgaWYgdGV4dHVyZS1jb21wcmVzc2lvbi1hc3RjIGlzIGJvdGgKKyAg
ICAvLyBzdXBwb3J0ZWQgYnkgdGhlIGRldmljZS91c2VyIGFnZW50IGFuZCBlbmFibGVkIGluIHJl
cXVlc3REZXZpY2UuCisgICAgQXN0YzR4NFVub3JtLAorICAgIEFzdGM0eDRVbm9ybVNSR0IsCisg
ICAgQXN0YzV4NFVub3JtLAorICAgIEFzdGM1eDRVbm9ybVNSR0IsCisgICAgQXN0YzV4NVVub3Jt
LAorICAgIEFzdGM1eDVVbm9ybVNSR0IsCisgICAgQXN0YzZ4NVVub3JtLAorICAgIEFzdGM2eDVV
bm9ybVNSR0IsCisgICAgQXN0YzZ4NlVub3JtLAorICAgIEFzdGM2eDZVbm9ybVNSR0IsCisgICAg
QXN0Yzh4NVVub3JtLAorICAgIEFzdGM4eDVVbm9ybVNSR0IsCisgICAgQXN0Yzh4NlVub3JtLAor
ICAgIEFzdGM4eDZVbm9ybVNSR0IsCisgICAgQXN0Yzh4OFVub3JtLAorICAgIEFzdGM4eDhVbm9y
bVNSR0IsCisgICAgQXN0YzEweDVVbm9ybSwKKyAgICBBc3RjMTB4NVVub3JtU1JHQiwKKyAgICBB
c3RjMTB4NlVub3JtLAorICAgIEFzdGMxMHg2VW5vcm1TUkdCLAorICAgIEFzdGMxMHg4VW5vcm0s
CisgICAgQXN0YzEweDhVbm9ybVNSR0IsCisgICAgQXN0YzEweDEwVW5vcm0sCisgICAgQXN0YzEw
eDEwVW5vcm1TUkdCLAorICAgIEFzdGMxMngxMFVub3JtLAorICAgIEFzdGMxMngxMFVub3JtU1JH
QiwKKyAgICBBc3RjMTJ4MTJVbm9ybSwKKyAgICBBc3RjMTJ4MTJVbm9ybVNSR0IsCisKKyAgICAv
LyBkZXB0aDI0dW5vcm0tc3RlbmNpbDggZmVhdHVyZQorICAgIERlcHRoMjR1bm9ybVN0ZW5jaWw4
LAorCisgICAgLy8gZGVwdGgzMmZsb2F0LXN0ZW5jaWw4IGZlYXR1cmUKKyAgICBEZXB0aDMyZmxv
YXRTdGVuY2lsOAorfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9X
ZWJHUFUvR1BVVGV4dHVyZUZvcm1hdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVUZXh0dXJlRm9ybWF0LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNmVlZjg0NzU2ZjgxNWRjNDEzZjQ2
NzcyMGI1MzMzMmNmYTkwM2FkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZvcm1hdC5pZGwKQEAgLTAsMCArMSwxNTAgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUKK10KK2VudW0gR1BVVGV4dHVy
ZUZvcm1hdCB7CisgICAgLy8gOC1iaXQgZm9ybWF0cworICAgICJyOHVub3JtIiwKKyAgICAicjhz
bm9ybSIsCisgICAgInI4dWludCIsCisgICAgInI4c2ludCIsCisKKyAgICAvLyAxNi1iaXQgZm9y
bWF0cworICAgICJyMTZ1aW50IiwKKyAgICAicjE2c2ludCIsCisgICAgInIxNmZsb2F0IiwKKyAg
ICAicmc4dW5vcm0iLAorICAgICJyZzhzbm9ybSIsCisgICAgInJnOHVpbnQiLAorICAgICJyZzhz
aW50IiwKKworICAgIC8vIDMyLWJpdCBmb3JtYXRzCisgICAgInIzMnVpbnQiLAorICAgICJyMzJz
aW50IiwKKyAgICAicjMyZmxvYXQiLAorICAgICJyZzE2dWludCIsCisgICAgInJnMTZzaW50IiwK
KyAgICAicmcxNmZsb2F0IiwKKyAgICAicmdiYTh1bm9ybSIsCisgICAgInJnYmE4dW5vcm0tc3Jn
YiIsCisgICAgInJnYmE4c25vcm0iLAorICAgICJyZ2JhOHVpbnQiLAorICAgICJyZ2JhOHNpbnQi
LAorICAgICJiZ3JhOHVub3JtIiwKKyAgICAiYmdyYTh1bm9ybS1zcmdiIiwKKyAgICAvLyBQYWNr
ZWQgMzItYml0IGZvcm1hdHMKKyAgICAicmdiOWU1dWZsb2F0IiwKKyAgICAicmdiMTBhMnVub3Jt
IiwKKyAgICAicmcxMWIxMHVmbG9hdCIsCisKKyAgICAvLyA2NC1iaXQgZm9ybWF0cworICAgICJy
ZzMydWludCIsCisgICAgInJnMzJzaW50IiwKKyAgICAicmczMmZsb2F0IiwKKyAgICAicmdiYTE2
dWludCIsCisgICAgInJnYmExNnNpbnQiLAorICAgICJyZ2JhMTZmbG9hdCIsCisKKyAgICAvLyAx
MjgtYml0IGZvcm1hdHMKKyAgICAicmdiYTMydWludCIsCisgICAgInJnYmEzMnNpbnQiLAorICAg
ICJyZ2JhMzJmbG9hdCIsCisKKyAgICAvLyBEZXB0aCBhbmQgc3RlbmNpbCBmb3JtYXRzCisgICAg
InN0ZW5jaWw4IiwKKyAgICAiZGVwdGgxNnVub3JtIiwKKyAgICAiZGVwdGgyNHBsdXMiLAorICAg
ICJkZXB0aDI0cGx1cy1zdGVuY2lsOCIsCisgICAgImRlcHRoMzJmbG9hdCIsCisKKyAgICAvLyBC
QyBjb21wcmVzc2VkIGZvcm1hdHMgdXNhYmxlIGlmICJ0ZXh0dXJlLWNvbXByZXNzaW9uLWJjIiBp
cyBib3RoCisgICAgLy8gc3VwcG9ydGVkIGJ5IHRoZSBkZXZpY2UvdXNlciBhZ2VudCBhbmQgZW5h
YmxlZCBpbiByZXF1ZXN0RGV2aWNlLgorICAgICJiYzEtcmdiYS11bm9ybSIsCisgICAgImJjMS1y
Z2JhLXVub3JtLXNyZ2IiLAorICAgICJiYzItcmdiYS11bm9ybSIsCisgICAgImJjMi1yZ2JhLXVu
b3JtLXNyZ2IiLAorICAgICJiYzMtcmdiYS11bm9ybSIsCisgICAgImJjMy1yZ2JhLXVub3JtLXNy
Z2IiLAorICAgICJiYzQtci11bm9ybSIsCisgICAgImJjNC1yLXNub3JtIiwKKyAgICAiYmM1LXJn
LXVub3JtIiwKKyAgICAiYmM1LXJnLXNub3JtIiwKKyAgICAiYmM2aC1yZ2ItdWZsb2F0IiwKKyAg
ICAiYmM2aC1yZ2ItZmxvYXQiLAorICAgICJiYzctcmdiYS11bm9ybSIsCisgICAgImJjNy1yZ2Jh
LXVub3JtLXNyZ2IiLAorCisgICAgLy8gRVRDMiBjb21wcmVzc2VkIGZvcm1hdHMgdXNhYmxlIGlm
ICJ0ZXh0dXJlLWNvbXByZXNzaW9uLWV0YzIiIGlzIGJvdGgKKyAgICAvLyBzdXBwb3J0ZWQgYnkg
dGhlIGRldmljZS91c2VyIGFnZW50IGFuZCBlbmFibGVkIGluIHJlcXVlc3REZXZpY2UuCisgICAg
ImV0YzItcmdiOHVub3JtIiwKKyAgICAiZXRjMi1yZ2I4dW5vcm0tc3JnYiIsCisgICAgImV0YzIt
cmdiOGExdW5vcm0iLAorICAgICJldGMyLXJnYjhhMXVub3JtLXNyZ2IiLAorICAgICJldGMyLXJn
YmE4dW5vcm0iLAorICAgICJldGMyLXJnYmE4dW5vcm0tc3JnYiIsCisgICAgImVhYy1yMTF1bm9y
bSIsCisgICAgImVhYy1yMTFzbm9ybSIsCisgICAgImVhYy1yZzExdW5vcm0iLAorICAgICJlYWMt
cmcxMXNub3JtIiwKKworICAgIC8vIEFTVEMgY29tcHJlc3NlZCBmb3JtYXRzIHVzYWJsZSBpZiAi
dGV4dHVyZS1jb21wcmVzc2lvbi1hc3RjIiBpcyBib3RoCisgICAgLy8gc3VwcG9ydGVkIGJ5IHRo
ZSBkZXZpY2UvdXNlciBhZ2VudCBhbmQgZW5hYmxlZCBpbiByZXF1ZXN0RGV2aWNlLgorICAgICJh
c3RjLTR4NC11bm9ybSIsCisgICAgImFzdGMtNHg0LXVub3JtLXNyZ2IiLAorICAgICJhc3RjLTV4
NC11bm9ybSIsCisgICAgImFzdGMtNXg0LXVub3JtLXNyZ2IiLAorICAgICJhc3RjLTV4NS11bm9y
bSIsCisgICAgImFzdGMtNXg1LXVub3JtLXNyZ2IiLAorICAgICJhc3RjLTZ4NS11bm9ybSIsCisg
ICAgImFzdGMtNng1LXVub3JtLXNyZ2IiLAorICAgICJhc3RjLTZ4Ni11bm9ybSIsCisgICAgImFz
dGMtNng2LXVub3JtLXNyZ2IiLAorICAgICJhc3RjLTh4NS11bm9ybSIsCisgICAgImFzdGMtOHg1
LXVub3JtLXNyZ2IiLAorICAgICJhc3RjLTh4Ni11bm9ybSIsCisgICAgImFzdGMtOHg2LXVub3Jt
LXNyZ2IiLAorICAgICJhc3RjLTh4OC11bm9ybSIsCisgICAgImFzdGMtOHg4LXVub3JtLXNyZ2Ii
LAorICAgICJhc3RjLTEweDUtdW5vcm0iLAorICAgICJhc3RjLTEweDUtdW5vcm0tc3JnYiIsCisg
ICAgImFzdGMtMTB4Ni11bm9ybSIsCisgICAgImFzdGMtMTB4Ni11bm9ybS1zcmdiIiwKKyAgICAi
YXN0Yy0xMHg4LXVub3JtIiwKKyAgICAiYXN0Yy0xMHg4LXVub3JtLXNyZ2IiLAorICAgICJhc3Rj
LTEweDEwLXVub3JtIiwKKyAgICAiYXN0Yy0xMHgxMC11bm9ybS1zcmdiIiwKKyAgICAiYXN0Yy0x
MngxMC11bm9ybSIsCisgICAgImFzdGMtMTJ4MTAtdW5vcm0tc3JnYiIsCisgICAgImFzdGMtMTJ4
MTItdW5vcm0iLAorICAgICJhc3RjLTEyeDEyLXVub3JtLXNyZ2IiLAorCisgICAgLy8gImRlcHRo
MjR1bm9ybS1zdGVuY2lsOCIgZmVhdHVyZQorICAgICJkZXB0aDI0dW5vcm0tc3RlbmNpbDgiLAor
CisgICAgLy8gImRlcHRoMzJmbG9hdC1zdGVuY2lsOCIgZmVhdHVyZQorICAgICJkZXB0aDMyZmxv
YXQtc3RlbmNpbDgiCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVVGV4dHVyZVZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVRl
eHR1cmVWaWV3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWFhMDg0ZDg3MWJkMjQyMzIwMWNkMDI3MzliYjBjYmU2
NzZiMDMzYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVVRleHR1cmVWaWV3LmgKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEg
b25jZQorCisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgR1BVVGV4dHVyZVZpZXcgOiBwdWJsaWMgUmVmQ291bnRlZDxHUFVUZXh0dXJlVmll
dz4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8R1BVVGV4dHVyZVZpZXc+IGNyZWF0ZSgpCisg
ICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBHUFVUZXh0dXJlVmlldygpKTsKKyAg
ICB9CisKKyAgICBjb25zdCBTdHJpbmcmIGxhYmVsKCkgY29uc3QgeyByZXR1cm4gbV9sYWJlbDsg
fQorICAgIHZvaWQgc2V0TGFiZWwoU3RyaW5nJiYgbGFiZWwpIHsgbV9sYWJlbCA9IFdURk1vdmUo
bGFiZWwpOyB9CisKK3ByaXZhdGU6CisgICAgR1BVVGV4dHVyZVZpZXcoKQorICAgIHsKKyAgICB9
CisKKyAgICBTdHJpbmcgbV9sYWJlbDsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVWaWV3LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVWaWV3LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZThhZDA2ZWY0YThm
MWJjOTA4OGVmMzVlMmRlMDhiZTEwNzA4MDg0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZVZpZXcuaWRsCkBAIC0wLDAgKzEsMzQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUsCisgICAgSW1wbGVt
ZW50YXRpb25MYWNrc1ZUYWJsZSwKKyAgICBFeHBvc2VkPShXaW5kb3cpLCAvKiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRpY2F0ZWRXb3JrZXIgKi8K
KyAgICBTZWN1cmVDb250ZXh0CitdCitpbnRlcmZhY2UgR1BVVGV4dHVyZVZpZXcgeworfTsKK0dQ
VVRleHR1cmVWaWV3IGluY2x1ZGVzIEdQVU9iamVjdEJhc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmNwcAppbmRleCBj
OTU2MDBkMTFmZjM4ZGI0MzI1ZTBkY2RjN2IyMDRhNGViNjhkMDliLi5jNjc0YmIwMzE0ODdjYjRi
YTI0ZTI3YWZjN2UxMGFiMDk2MzYzOGQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5jcHAKQEAgLTI5LDYgKzI5LDcg
QEAKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogCiAjaW5jbHVkZSAiQXBwbGVQYXlTZXNzaW9uRXJy
b3IuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5
bWVudENvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5
bWVudENvb3JkaW5hdG9yLmNwcAppbmRleCA2MWQ0M2YzOTg5NzdmODk1YTJjNDcwMzllMzhjYmFk
MDQzMTk5ZWVkLi5iMDEyYjU4MGRkNTkyNjlhNzFiNWRlY2UxNzZjMDBiZDU1NmJmMzBlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRp
bmF0b3IuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiQXBwbGVQYXlTaGlwcGluZ01l
dGhvZC5oIgogI2luY2x1ZGUgIkFwcGxlUGF5U2hpcHBpbmdNZXRob2RVcGRhdGUuaCIKICNpbmNs
dWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbkRldGFpbHMuaCIKICNpbmNsdWRl
ICJMaW5rSWNvbkNvbGxlY3Rvci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJQ
YWdlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1Nv
dXJjZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VC
dWZmZXIuaAppbmRleCAyODA5OTI1ZjVkMjFmM2UzZjM0NzdhMWU0NTI0Mzg1MDc4NWQ0ZmFkLi41
MjBjMDc3NTY5NmEyZjBlMmU3MzAwNzM1ZThjOTc3NDk1ZjFhNjE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKQEAgLTQzLDYgKzQz
LDcgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgIlZpZGVvVHJhY2tDbGllbnQuaCIK
ICNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CisjaW5jbHVkZSA8d3RmL09ic2VydmVyLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA4ZGEyNGI3OGRhNTdk
YzNiZDJjZWQxMTg0YzJlZGRmZjBiOGRlMjQ2Li43NmJkNzNmZWZiODIwOGEzOTkxYTk4MmJkYTli
ZWUxYWM3NDkxMWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMjEsNiArMjEsMTIgQEAKIC8vIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKIC8vIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAorTW9kdWxlcy9X
ZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuY3BwCitNb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFz
c0VuY29kZXIuY3BwCitNb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVNldC5jcHAKK01vZHVsZXMvV2Vi
R1BVL0dQVVF1ZXVlLmNwcAorTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlRW5jb2Rlci5j
cHAKK01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVyLmNwcAogTW9kdWxlcy9haXJw
bGF5L1dlYktpdFBsYXliYWNrVGFyZ2V0QXZhaWxhYmlsaXR5RXZlbnQuY3BwCiBNb2R1bGVzL2Fw
cGxpY2F0aW9ubWFuaWZlc3QvQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlci5jcHAKIE1vZHVsZXMv
YXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5jcHAKQEAgLTM3MjgsNiArMzczNCw1NSBAQCBKU0NT
U1RyYW5zbGF0ZS5jcHAKIEpTQ1NTU3R5bGVWYWx1ZS5jcHAKIEpTQ1NTVW5pdFZhbHVlLmNwcAog
SlNDU1NVbnBhcnNlZFZhbHVlLmNwcAorSlNHUFVDb21wdXRlUGlwZWxpbmUuY3BwCitKU0dQVUNv
bW1hbmRCdWZmZXJEZXNjcmlwdG9yLmNwcAorSlNHUFVQcmVkZWZpbmVkQ29sb3JTcGFjZS5jcHAK
K0pTR1BVUmVuZGVyQnVuZGxlRW5jb2RlckRlc2NyaXB0b3IuY3BwCitKU0dQVVF1ZXJ5U2V0RGVz
Y3JpcHRvci5jcHAKK0pTR1BVUmVuZGVyUGlwZWxpbmUuY3BwCitKU0dQVU9iamVjdEJhc2UuY3Bw
CitKU0dQVVF1ZXJ5VHlwZS5jcHAKK0pTR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5jcHAKK0pT
R1BVRXh0ZW50M0REaWN0LmNwcAorSlNHUFVSZW5kZXJCdW5kbGVEZXNjcmlwdG9yLmNwcAorSlNH
UFVMb2FkT3AuY3BwCitKU0dQVU9iamVjdERlc2NyaXB0b3JCYXNlLmNwcAorSlNHUFVJbWFnZUNv
cHlUZXh0dXJlLmNwcAorSlNHUFVUZXh0dXJlLmNwcAorSlNHUFVDb21wdXRlUGFzc0VuY29kZXIu
Y3BwCitKU0dQVVJlbmRlclBhc3NUaW1lc3RhbXBXcml0ZS5jcHAKK0pTR1BVT3JpZ2luM0REaWN0
LmNwcAorSlNHUFVPcmlnaW4yRERpY3QuY3BwCitKU0dQVVJlbmRlckVuY29kZXJCYXNlLmNwcAor
SlNHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmNwcAorSlNHUFVSZW5kZXJQYXNzRW5jb2Rl
ci5jcHAKK0pTR1BVQnVmZmVyLmNwcAorSlNHUFVJbWFnZURhdGFMYXlvdXQuY3BwCitKU0dQVUNv
bG9yRGljdC5jcHAKK0pTR1BVUXVldWUuY3BwCitKU0dQVVRleHR1cmVGb3JtYXQuY3BwCitKU0dQ
VVJlbmRlckJ1bmRsZUVuY29kZXIuY3BwCitKU0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRh
Y2htZW50LmNwcAorSlNHUFVDb21tYW5kQnVmZmVyLmNwcAorSlNHUFVQcm9ncmFtbWFibGVQYXNz
RW5jb2Rlci5jcHAKK0pTR1BVSW5kZXhGb3JtYXQuY3BwCitKU0dQVVJlbmRlclBhc3NUaW1lc3Rh
bXBMb2NhdGlvbi5jcHAKK0pTR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmNwcAorSlNHUFVCaW5k
R3JvdXAuY3BwCitKU0dQVUNvbW1hbmRFbmNvZGVyLmNwcAorSlNHUFVTdG9yZU9wLmNwcAorSlNH
UFVDb21wdXRlUGFzc1RpbWVzdGFtcFdyaXRlLmNwcAorSlNHUFVJbWFnZUNvcHlCdWZmZXIuY3Bw
CitKU0dQVVJlbmRlckJ1bmRsZS5jcHAKK0pTR1BVQ29tbWFuZEVuY29kZXJEZXNjcmlwdG9yLmNw
cAorSlNHUFVJbWFnZUNvcHlUZXh0dXJlVGFnZ2VkLmNwcAorSlNHUFVUZXh0dXJlVmlldy5jcHAK
K0pTR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbi5jcHAKK0pTR1BVUmVuZGVyUGFzc0Rl
c2NyaXB0b3IuY3BwCitKU0dQVVF1ZXJ5U2V0LmNwcAorSlNHUFVUZXh0dXJlQXNwZWN0LmNwcAor
SlNHUFVSZW5kZXJQYXNzTGF5b3V0LmNwcAorSlNHUFVDb21wdXRlUGFzc0Rlc2NyaXB0b3IuY3Bw
CiBKU1VJRXZlbnQuY3BwCiBKU1VJRXZlbnRJbml0LmNwcAogSlNVUkxTZWFyY2hQYXJhbXMuY3Bw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggMjU3NTViYzMzOGU3NmQ4NzkwZDBiNDNjMDdkMmQyYWJmMDYwZTc4NS4uNDYxNGY2ZDkz
Y2EzM2Q5NzI4MWI5OTIwMWE1YTUyOWMwNzNlYjU0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzAzNiw2ICs3MDM2LDE1IEBA
CiAJCTFDMTJBQzJDMUVFNzc5OTUwMDc5RTBBMCAvKiBGb250RGVzY3JpcHRpb25Db2NvYS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBGb250RGVzY3JpcHRpb25Db2NvYS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFDMThEQTU2MTgxQUY2QTUwMEM0RUYyMiAvKiBUZXh0UGFpbnRl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZXh0UGFpbnRlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDMThEQTU3MTgxQUY2QTUwMEM0RUYy
MiAvKiBUZXh0UGFpbnRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXh0
UGFpbnRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzFGNTJDMTI3MzI4MDlG
MDA3M0VBN0YgLyogR1BVVGV4dHVyZUFzcGVjdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVVGV4dHVyZUFzcGVjdC5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDMUY1MkMzMjczMjgyMTkwMDczRUE3
RiAvKiBHUFVPcmlnaW4yRERpY3QuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVU9yaWdpbjJERGljdC5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDMUY1MkM0MjczMjgyNDQwMDczRUE3RiAvKiBHUFVP
cmlnaW4zRERpY3QuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVU9yaWdpbjNERGljdC5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTFDMUY1MkM1MjczMjg0NUYwMDczRUE3RiAvKiBHUFVCaW5kR3JvdXAu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IEdQVUJpbmRHcm91cC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTFDMUY1MkM2MjczMjg0RjMwMDczRUE3RiAvKiBHUFVUZXh0dXJlLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVUZXh0
dXJlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUMxRjUyQzcyNzMyODRGQzAw
NzNFQTdGIC8qIEdQVVRleHR1cmVWaWV3LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVUZXh0dXJlVmlldy5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDMUY1MkM4MjczMjg1QjkwMDczRUE3RiAvKiBH
UFVFeHRlbnQzRERpY3QuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVUV4dGVudDNERGljdC5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTFDMUY1MkM5MjczMjg2MjQwMDczRUE3RiAvKiBHUFVJbmRleEZv
cm1hdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gR1BVSW5kZXhGb3JtYXQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkxQzFGNTJDQTI3MzI4NjgyMDA3M0VBN0YgLyogR1BVUHJlZGVmaW5lZENvbG9yU3Bh
Y2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IEdQVVByZWRlZmluZWRDb2xvclNwYWNlLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMUMyMUU1N0ExODNFRDFGRjAwMUMyODlEIC8qIElPU3VyZmFjZVBvb2wu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSU9TdXJmYWNlUG9vbC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDMjFFNTdCMTgzRUQxRkYwMDFDMjg5
RCAvKiBJT1N1cmZhY2VQb29sLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElP
U3VyZmFjZVBvb2wuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUMyNEVFQTExQzcy
OUIzMjAwODBGOEZDIC8qIEZvbnRGYWNlU2V0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBG
b250RmFjZVNldC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03MDQ2LDYgKzcw
NTUsNTcgQEAKIAkJMUMyNjQ5NzkwRDdFMjQ4QTAwQkQxMEYyIC8qIERvY3VtZW50TG9hZGVyTWFj
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERvY3VtZW50TG9hZGVy
TWFjLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUMyNjY3MTkyNkZBN0YyRTAw
MTE3MDczIC8qIEZvbnRDcmVhdGlvbkNvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9udENyZWF0
aW9uQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzMyNDkxMDFDNkQ2
QTNCMDA3RURCMzIgLyogRm9udFZhcmlhbnRCdWlsZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEZvbnRWYXJpYW50QnVpbGRlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTFDMzJENDVFMjczMjg5QzYwMDBDQzAzQiAvKiBHUFVCaW5kR3JvdXAu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gR1BVQmluZEdyb3VwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTFDMzJENDYwMjczMjg5Q0UwMDBDQzAzQiAvKiBHUFVCdWZmZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gR1BVQnVmZmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDMzJENDYx
MjczMjg5RDUwMDBDQzAzQiAvKiBHUFVDb2xvckRpY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVQ29s
b3JEaWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDMzJENDYyMjczMjg5REQw
MDBDQzAzQiAvKiBHUFVDb21tYW5kQnVmZmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVUNvbW1hbmRC
dWZmZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUMzMkQ0NjMyNzMyODlGNDAw
MENDMDNCIC8qIEdQVUNvbW1hbmRCdWZmZXJEZXNjcmlwdG9yLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQ
VUNvbW1hbmRCdWZmZXJEZXNjcmlwdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTFDMzJENDY0MjczMjg5RkMwMDBDQzAzQiAvKiBHUFVDb21tYW5kRW5jb2Rlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBHUFVDb21tYW5kRW5jb2Rlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkxQzMyRDQ2NTI3MzI4QTA1MDAwQ0MwM0IgLyogR1BVQ29tbWFuZEVuY29kZXJEZXNjcmlwdG9y
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEdQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkxQzMyRDQ2NjI3MzI4QTBGMDAwQ0MwM0IgLyogR1BVQ29t
cHV0ZVBhc3NEZXNjcmlwdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVUNvbXB1dGVQYXNzRGVzY3Jp
cHRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzMyRDQ2NzI3MzI4QTE3MDAw
Q0MwM0IgLyogR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVUNvbXB1
dGVQYXNzRW5jb2Rlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzMyRDQ2ODI3
MzI4QTIyMDAwQ0MwM0IgLyogR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBHUFVDb21wdXRlUGFzc1RpbWVzdGFtcExvY2F0aW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTFDMzJENDY5MjczMjhBMkMwMDBDQzAzQiAvKiBHUFVDb21wdXRl
UGFzc1RpbWVzdGFtcFdyaXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVUNvbXB1dGVQYXNzVGltZXN0
YW1wV3JpdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUMzMkQ0NkEyNzMyOEEz
NDAwMENDMDNCIC8qIEdQVUNvbXB1dGVQaXBlbGluZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVDb21w
dXRlUGlwZWxpbmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUMzMkQ0NkIyNzMy
OEEzRDAwMENDMDNCIC8qIEdQVUV4dGVudDNERGljdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVFeHRl
bnQzRERpY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUMzMkQ0NkMyNzMyOEE0
NTAwMENDMDNCIC8qIEdQVUltYWdlQ29weUJ1ZmZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVJbWFn
ZUNvcHlCdWZmZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUMzMkQ0NkQyNzMy
OEE1MTAwMENDMDNCIC8qIEdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkxQzMyRDQ2RTI3MzI4QTVEMDAwQ0MwM0IgLyogR1BVSW1hZ2VDb3B5VGV4dHVyZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBHUFVJbWFnZUNvcHlUZXh0dXJlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTFDMzJENDZGMjczMjhBNjcwMDBDQzAzQiAvKiBHUFVJbWFnZUNvcHlUZXh0dXJl
VGFnZ2VkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVUltYWdlQ29weVRleHR1cmVUYWdnZWQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUMzMkQ0NzAyNzMyOEE3ODAwMENDMDNCIC8qIEdQ
VUltYWdlRGF0YUxheW91dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVJbWFnZURhdGFMYXlvdXQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUMzMkQ0NzEyNzMyOEE4NzAwMENDMDNCIC8q
IEdQVUluZGV4Rm9ybWF0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVUluZGV4Rm9ybWF0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDMzJENDcyMjczMjhBOTcwMDBDQzAzQiAvKiBHUFVM
b2FkT3AuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVTG9hZE9wLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTFDMzJENDczMjczMjhBQTgwMDBDQzAzQiAvKiBHUFVPcmlnaW4yRERpY3QuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gR1BVT3JpZ2luMkREaWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTFDMzJENDc0MjczMjhBQjIwMDBDQzAzQiAvKiBHUFVPcmlnaW4zRERpY3QuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gR1BVT3JpZ2luM0REaWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTFDMzJENDc1MjczMjhBQkIwMDBDQzAzQiAvKiBHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTFDMzJENDc2MjczMjhBQzQwMDBDQzAzQiAvKiBHUFVQcmVkZWZp
bmVkQ29sb3JTcGFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVQcmVkZWZpbmVkQ29sb3JTcGFjZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzMyRDQ3ODI3MzI4QURCMDAwQ0MwM0Ig
LyogR1BVUXVlcnlTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVUXVlcnlTZXQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUMzMkQ0NzkyNzMyOEFFNDAwMENDMDNCIC8qIEdQVVF1ZXJ5
U2V0RGVzY3JpcHRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVRdWVyeVNldERlc2NyaXB0b3IuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUMzMkQ0N0EyNzMyOEFFRjAwMENDMDNCIC8q
IEdQVVF1ZXJ5VHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVRdWVyeVR5cGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUMzMkQ0N0IyNzMyOEFGOTAwMENDMDNCIC8qIEdQVVF1ZXVl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEdQVVF1ZXVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTFDMzJENDdDMjczMjhCMDMwMDBDQzAzQiAvKiBHUFVSZW5kZXJCdW5kbGUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gR1BVUmVuZGVyQnVuZGxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTFDMzJENDdEMjczMjhCMEUwMDBDQzAzQiAvKiBHUFVSZW5kZXJCdW5kbGVEZXNjcmlwdG9yLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEdQVVJlbmRlckJ1bmRsZURlc2NyaXB0b3IuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMUMzMkQ0N0UyNzMyOEIxNzAwMENDMDNCIC8qIEdQVVJlbmRlckJ1
bmRsZUVuY29kZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVUmVuZGVyQnVuZGxlRW5jb2Rlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzMyRDQ3RjI3MzI4QjJFMDAwQ0MwM0IgLyog
R1BVUmVuZGVyQnVuZGxlRW5jb2RlckRlc2NyaXB0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVUmVu
ZGVyQnVuZGxlRW5jb2RlckRlc2NyaXB0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMUMzMkQ0ODEyNzMyOEI0NDAwMENDMDNCIC8qIEdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1l
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzMyRDQ4MjI3MzI4QjUyMDAwQ0MwM0IgLyogR1BV
UmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVUmVu
ZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMUMzMkQ0ODMyNzMyOEI1RjAwMENDMDNCIC8qIEdQVVJlbmRlclBhc3NEZXNjcmlwdG9y
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTFDMzJENDg0MjczMjhCNkIwMDBDQzAzQiAvKiBHUFVSZW5kZXJQ
YXNzRW5jb2Rlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVSZW5kZXJQYXNzRW5jb2Rlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzMyRDQ4NTI3MzI4QjdDMDAwQ0MwM0IgLyogR1BV
UmVuZGVyUGFzc0xheW91dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVSZW5kZXJQYXNzTGF5b3V0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDMzJENDg2MjczMjhCOEEwMDBDQzAzQiAv
KiBHUFVSZW5kZXJQYXNzVGltZXN0YW1wTG9jYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVUmVu
ZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTFDMzJENDg3MjczMjhCOTUwMDBDQzAzQiAvKiBHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gR1BVUmVuZGVyUGFzc1RpbWVzdGFtcFdyaXRlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDMzJENDg4MjczMjhCOUYwMDBDQzAzQiAvKiBHUFVSZW5k
ZXJQaXBlbGluZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVSZW5kZXJQaXBlbGluZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkxQzMyRDQ4OTI3MzI4QkE5MDAwQ0MwM0IgLyogR1BVU3Rv
cmVPcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVTdG9yZU9wLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTFDMzJENDhBMjczMjhCQjUwMDBDQzAzQiAvKiBHUFVUZXh0dXJlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEdQVVRleHR1cmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUMz
MkQ0OEIyNzMyOEJCRDAwMENDMDNCIC8qIEdQVVRleHR1cmVBc3BlY3QuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gR1BVVGV4dHVyZUFzcGVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzMy
RDQ4QzI3MzI4QkNDMDAwQ0MwM0IgLyogR1BVVGV4dHVyZUZvcm1hdC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBHUFVUZXh0dXJlRm9ybWF0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDMzJE
NDhEMjczMjhCRDgwMDBDQzAzQiAvKiBHUFVUZXh0dXJlVmlldy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBH
UFVUZXh0dXJlVmlldy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzMyRDQ5MDI3
MzI4RjUxMDAwQ0MwM0IgLyogR1BVQ29tbWFuZEVuY29kZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gR1BVQ29tbWFuZEVuY29kZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkx
QzMyRDQ5MjI3MzI5MTlDMDAwQ0MwM0IgLyogR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEdQVUNvbXB1dGVQYXNzRW5jb2Rlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTFDMzJENDkzMjczMjk0RkMwMDBDQzAzQiAvKiBHUFVRdWVyeVNldC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHUFVRdWVyeVNldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTFDMzJENDk0MjczMjk2RkUwMDBDQzAzQiAvKiBHUFVRdWV1ZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBHUFVRdWV1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTFDMzJENDk1MjczMjk5MTgwMDBDQzAzQiAvKiBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdQVVJlbmRlckJ1bmRsZUVuY29kZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkxQzMyRDQ5NjI3MzI5QzBFMDAwQ0MwM0IgLyogR1BVUmVu
ZGVyUGFzc0VuY29kZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR1BVUmVuZGVyUGFzc0VuY29k
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzM5NjlDRjFCNzQyMTFFMDAy
QkNGQTcgLyogRm9udENhY2hlQ29yZVRleHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gRm9udENhY2hlQ29yZVRleHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxQzQzREU2ODIyQUI0QjhBMDAxNTI3RDkgLyogTG9jYWxDdXJyZW50VHJhaXRDb2xs
ZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvY2FsQ3VycmVudFRy
YWl0Q29sbGVjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzQzREU2QTIy
QUI0QjhBMDAxNTI3RDkgLyogTG9jYWxDdXJyZW50VHJhaXRDb2xsZWN0aW9uLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTG9jYWxDdXJyZW50VHJhaXRDb2xsZWN0
aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzA1Myw2ICs3MTEzLDE0IEBA
CiAJCTFDNEQwREQxMjREOUYwREIwMDNENzQ5OCAvKiBHbHlwaEJ1ZmZlck1lbWJlcnMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gR2x5cGhCdWZmZXJNZW1iZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTFDNTBDNDk1MjJDODRGMjQwMEE2RTRCRSAvKiBXSExTTFN0YW5kYXJkTGlicmFyeUZ1
bmN0aW9uTWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdITFNMU3RhbmRhcmRMaWJyYXJ5RnVu
Y3Rpb25NYXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzVFMURBNjI2Rjk0
OUI5MDBFMDdBRjEgLyogRm9udFBhbGV0dGVWYWx1ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9udFBh
bGV0dGVWYWx1ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUM1RjJBOTcyNzMy
N0NEODAwNzNDNjBDIC8qIEdQVUNvbXB1dGVQaXBlbGluZS5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVQ29tcHV0ZVBp
cGVsaW5lLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUM1RjJBOTkyNzMyN0Qy
ODAwNzNDNjBDIC8qIEdQVUNvbG9yRGljdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVQ29sb3JEaWN0LmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUM1RjJBOUEyNzMyN0Q2MDAwNzNDNjBDIC8qIEdQ
VVJlbmRlclBpcGVsaW5lLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVSZW5kZXJQaXBlbGluZS5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDNUYyQTlCMjczMjdERDcwMDczQzYwQyAvKiBHUFVUZXh0
dXJlRm9ybWF0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBHUFVUZXh0dXJlRm9ybWF0LmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMUM1RjJBOUMyNzMyN0U3QzAwNzNDNjBDIC8qIEdQVVF1ZXJ5U2V0Lmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBHUFVRdWVyeVNldC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFD
NUYyQTlEMjczMjdFOEIwMDczQzYwQyAvKiBHUFVRdWVyeVNldERlc2NyaXB0b3IuaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IEdQVVF1ZXJ5U2V0RGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTFDNUYyQTlFMjczMjdFOTUwMDczQzYwQyAvKiBHUFVRdWVyeVR5cGUuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVVF1
ZXJ5VHlwZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDNUYyQTlGMjczMjdF
QTEwMDczQzYwQyAvKiBHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVVBpcGVs
aW5lU3RhdGlzdGljTmFtZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDNjYy
NjBFMUM2RTdDQTYwMEFCNTI3QyAvKiBGb250RmFjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBGb250RmFjZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTFDNjYyNjBGMUM2RTdDQTYwMEFCNTI3QyAvKiBGb250RmFjZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBGb250RmFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkxQzZGRDhBQzI1MEEyOTREMDBENkU5MjAgLyogRm9udFBsYXRmb3JtRGF0YUNvcmVUZXh0
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZvbnRQbGF0Zm9ybURhdGFDb3JlVGV4dC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03MDY1LDYgKzcxMzMsMzYgQEAKIAkJMUM4MUI5
NTgwRTk3MzMwODAwMjY2RTA3IC8qIEluc3BlY3RvckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMUM4NEJFNDEyNkQzOTM5RjAwMkQ2MUZDIC8qIENvbXBvc2VkQ2hhcmFjdGVyQ2x1
c3RlclRleHRJdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb21wb3NlZENoYXJhY3RlckNsdXN0
ZXJUZXh0SXRlcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM4RDI2RDAy
MkMwOUNERTAwRDEyNUYzIC8qIGxpYmNvbXByZXNzaW9uLnRiZCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9ICJzb3VyY2Vjb2RlLnRleHQtYmFzZWQtZHls
aWItZGVmaW5pdGlvbiI7IG5hbWUgPSBsaWJjb21wcmVzc2lvbi50YmQ7IHBhdGggPSB1c3IvbGli
L2xpYmNvbXByZXNzaW9uLnRiZDsgc291cmNlVHJlZSA9IFNES1JPT1Q7IH07CisJCTFDOEZFRDNB
MjczMjc1NUMwMDlFQ0JBRSAvKiBHUFVDb21tYW5kQnVmZmVyLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVDb21tYW5k
QnVmZmVyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUM4RkVEM0MyNzMyNzU2
QjAwOUVDQkFFIC8qIEdQVUNvbW1hbmRCdWZmZXJEZXNjcmlwdG9yLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVDb21t
YW5kQnVmZmVyRGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFD
OEZFRDNEMjczMjc1N0MwMDlFQ0JBRSAvKiBHUFVDb21tYW5kRW5jb2RlckRlc2NyaXB0b3IuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IEdQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTFDOEZFRDNFMjczMjc1ODcwMDlFQ0JBRSAvKiBHUFVJbWFnZURhdGFMYXlv
dXQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IEdQVUltYWdlRGF0YUxheW91dC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTFDOEZFRDNGMjczMjc1OTEwMDlFQ0JBRSAvKiBHUFVJbWFnZUNvcHlCdWZmZXIu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IEdQVUltYWdlQ29weUJ1ZmZlci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTFDOEZFRDQwMjczMjc1QTcwMDlFQ0JBRSAvKiBHUFVJbWFnZUNvcHlUZXh0dXJlLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBHUFVJbWFnZUNvcHlUZXh0dXJlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMUM4RkVENDEyNzMyNzVCQTAwOUVDQkFFIC8qIEdQVUltYWdlQ29weVRleHR1cmVUYWdn
ZWQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IEdQVUltYWdlQ29weVRleHR1cmVUYWdnZWQuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkxQzhGRUQ0MjI3MzI3NUM3MDA5RUNCQUUgLyogR1BVSW1hZ2VDb3B5
RXh0ZXJuYWxJbWFnZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDOEZFRDQzMjczMjc1RDMwMDlFQ0JBRSAvKiBH
UFVQcm9ncmFtbWFibGVQYXNzRW5jb2Rlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVUHJvZ3JhbW1hYmxlUGFzc0Vu
Y29kZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzhGRUQ0NDI3MzI3NURE
MDA5RUNCQUUgLyogR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVDb21wdXRlUGFz
c0VuY29kZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzhGRUQ0NTI3MzI3
NUVDMDA5RUNCQUUgLyogR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbi5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
R1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTFDOEZFRDQ2MjczMjc1RjQwMDlFQ0JBRSAvKiBHUFVDb21wdXRlUGFzc1RpbWVz
dGFtcFdyaXRlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBHUFVDb21wdXRlUGFzc1RpbWVzdGFtcFdyaXRlLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUM4RkVENDcyNzMyNzYwNjAwOUVDQkFFIC8qIEdQ
VUNvbXB1dGVQYXNzRGVzY3JpcHRvci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVQ29tcHV0ZVBhc3NEZXNjcmlwdG9y
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUM4RkVENDgyNzMyNzYwRjAwOUVD
QkFFIC8qIEdQVVJlbmRlckVuY29kZXJCYXNlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVSZW5kZXJFbmNvZGVyQmFz
ZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDOEZFRDQ5MjczMjc2MTkwMDlF
Q0JBRSAvKiBHUFVSZW5kZXJQYXNzRW5jb2Rlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVUmVuZGVyUGFzc0VuY29k
ZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzhGRUQ0QTI3MzI3NjI3MDA5
RUNCQUUgLyogR1BVUmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9uLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVSZW5k
ZXJQYXNzVGltZXN0YW1wTG9jYXRpb24uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkxQzhGRUQ0QjI3MzI3NjMwMDA5RUNCQUUgLyogR1BVUmVuZGVyUGFzc1RpbWVzdGFtcFdyaXRl
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGUuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkxQzhGRUQ0QzI3MzI3NjQ3MDA5RUNCQUUgLyogR1BVUmVuZGVyUGFz
c0Rlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUM4RkVENEQyNzMyNzY1NTAwOUVDQkFFIC8qIEdQVVJl
bmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVVJlbmRlclBhc3NDb2xvckF0dGFj
aG1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzhGRUQ0RTI3MzI3NjZD
MDA5RUNCQUUgLyogR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IEdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMUM4RkVENEYyNzMyNzY3NDAwOUVDQkFFIC8qIEdQVUxvYWRPcC5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gR1BVTG9hZE9wLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUM4RkVE
NTAyNzMyNzY3RTAwOUVDQkFFIC8qIEdQVVN0b3JlT3AuaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVVN0b3JlT3AuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzhGRUQ1MTI3MzI3Njg4MDA5RUNCQUUg
LyogR1BVUmVuZGVyUGFzc0xheW91dC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVUmVuZGVyUGFzc0xheW91dC5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDOEZFRDUyMjczMjc2OTIwMDlFQ0JBRSAv
KiBHUFVSZW5kZXJCdW5kbGUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVVJlbmRlckJ1bmRsZS5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDOEZFRDUzMjczMjc2OUUwMDlFQ0JBRSAvKiBHUFVSZW5k
ZXJCdW5kbGVEZXNjcmlwdG9yLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVSZW5kZXJCdW5kbGVEZXNjcmlwdG9yLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUM4RkVENTQyNzMyNzZCQjAwOUVDQkFF
IC8qIEdQVVJlbmRlckJ1bmRsZUVuY29kZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVVJlbmRlckJ1bmRsZUVuY29k
ZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzhGRUQ1NTI3MzI3NkNCMDA5
RUNCQUUgLyogR1BVUmVuZGVyQnVuZGxlRW5jb2RlckRlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVVJl
bmRlckJ1bmRsZUVuY29kZXJEZXNjcmlwdG9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMUM4RkVENTYyNzMyNzZEODAwOUVDQkFFIC8qIEdQVVF1ZXVlLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVR
dWV1ZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDOEZFRDU3MjczMjc3NDUw
MDlFQ0JBRSAvKiBHUFVDb21tYW5kRW5jb2Rlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVQ29tbWFuZEVuY29kZXIu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzhGRUQ1OTI3MzI3QzIzMDA5RUNC
QUUgLyogR1BVQnVmZmVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVCdWZmZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQzkwNERGOTBCQTlEMkM4MDA4MUU5RDAgLyogVmVyc2lvbi54Y2NvbmZp
ZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBWZXJzaW9uLnhjY29uZmlnOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0FGMzQ3RTBBNkM0MDUyMDBBQkUwNkUgLyogV2Vi
U2NyaXB0T2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlNjcmlw
dE9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0FGMzQ3RjBBNkM0MDUy
MDBBQkUwNkUgLyogV2ViU2NyaXB0T2JqZWN0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gV2ViU2NyaXB0T2JqZWN0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtNzA3Myw2ICs3MTcxLDEwIEBACiAJCTFDQUY1NkRFMjUzMDI0NUEwMDE3QjQ3MiAv
KiBEcmF3R2x5cGhzUmVjb3JkZXJDb3JlVGV4dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEcmF3
R2x5cGhzUmVjb3JkZXJDb3JlVGV4dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTFDQjZCNEY4MjE3QjgzOTMwMDkzQjlDRCAvKiBUZXh0RGVjb3JhdGlvblRoaWNrbmVzcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBUZXh0RGVjb3JhdGlvblRoaWNrbmVzcy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQ0I2QjRGQjIxN0I4Mzk0MDA5M0I5Q0QgLyogVGV4dFVuZGVybGluZU9m
ZnNldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBUZXh0VW5kZXJsaW5lT2Zmc2V0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTFDQkYxQzhBMjcyRkNEOTkwMDgwODg4MCAvKiBHUFVPYmplY3RC
YXNlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBHUFVPYmplY3RCYXNlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMUNCRjFDOEIyNzJGRDA4NjAwODA4ODgwIC8qIEdQVU9iamVjdERlc2NyaXB0b3JCYXNl
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBHUFVPYmplY3REZXNjcmlwdG9yQmFzZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTFDQkYxQzhGMjcyRkQ2ODQwMDgwODg4MCAvKiBHUFVPYmplY3REZXNjcmlw
dG9yQmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVPYmplY3REZXNjcmlwdG9yQmFzZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0JGMUM5NjI3MkZEQzFEMDA4MDg4ODAgLyogR1BV
SW50ZWdyYWxUeXBlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVJbnRlZ3JhbFR5cGVzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQkY5MDBEMjcwRkY4RjYwMDBDNDU3RCAvKiBEaXNw
bGF5TGlzdFJlc291cmNlSGVhcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEaXNwbGF5TGlzdFJlc291cmNl
SGVhcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0M1NEFGQjI3MEY5MkRBMDA1
QkY4QkUgLyogUHJvY2Vzc1F1YWxpZmllZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm9jZXNzUXVhbGlm
aWVkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQ0RGNUJCMTk5MDMzMjQwMEJD
RUJBRCAvKiBTVkdUb09URkZvbnRDb252ZXJzaW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFNWR1RvT1RGRm9udENvbnZlcnNpb24uY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMTkyMTcsNiArMTkzMTksMTE1IEBACiAJCQl0YWJXaWR0aCA9IDg7
CiAJCQl1c2VzVGFicyA9IDA7CiAJCX07CisJCTFDQkYxQzg0MjcyRkNBOUUwMDgwODg4MCAvKiBX
ZWJHUFUgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTFD
MzJENDVFMjczMjg5QzYwMDBDQzAzQiAvKiBHUFVCaW5kR3JvdXAuaCAqLywKKwkJCQkxQzFGNTJD
NTI3MzI4NDVGMDA3M0VBN0YgLyogR1BVQmluZEdyb3VwLmlkbCAqLywKKwkJCQkxQzMyRDQ2MDI3
MzI4OUNFMDAwQ0MwM0IgLyogR1BVQnVmZmVyLmggKi8sCisJCQkJMUM4RkVENTkyNzMyN0MyMzAw
OUVDQkFFIC8qIEdQVUJ1ZmZlci5pZGwgKi8sCisJCQkJMUMzMkQ0NjEyNzMyODlENTAwMENDMDNC
IC8qIEdQVUNvbG9yRGljdC5oICovLAorCQkJCTFDNUYyQTk5MjczMjdEMjgwMDczQzYwQyAvKiBH
UFVDb2xvckRpY3QuaWRsICovLAorCQkJCTFDMzJENDYyMjczMjg5REQwMDBDQzAzQiAvKiBHUFVD
b21tYW5kQnVmZmVyLmggKi8sCisJCQkJMUM4RkVEM0EyNzMyNzU1QzAwOUVDQkFFIC8qIEdQVUNv
bW1hbmRCdWZmZXIuaWRsICovLAorCQkJCTFDMzJENDYzMjczMjg5RjQwMDBDQzAzQiAvKiBHUFVD
b21tYW5kQnVmZmVyRGVzY3JpcHRvci5oICovLAorCQkJCTFDOEZFRDNDMjczMjc1NkIwMDlFQ0JB
RSAvKiBHUFVDb21tYW5kQnVmZmVyRGVzY3JpcHRvci5pZGwgKi8sCisJCQkJMUMzMkQ0OTAyNzMy
OEY1MTAwMENDMDNCIC8qIEdQVUNvbW1hbmRFbmNvZGVyLmNwcCAqLywKKwkJCQkxQzMyRDQ2NDI3
MzI4OUZDMDAwQ0MwM0IgLyogR1BVQ29tbWFuZEVuY29kZXIuaCAqLywKKwkJCQkxQzhGRUQ1NzI3
MzI3NzQ1MDA5RUNCQUUgLyogR1BVQ29tbWFuZEVuY29kZXIuaWRsICovLAorCQkJCTFDMzJENDY1
MjczMjhBMDUwMDBDQzAzQiAvKiBHUFVDb21tYW5kRW5jb2RlckRlc2NyaXB0b3IuaCAqLywKKwkJ
CQkxQzhGRUQzRDI3MzI3NTdDMDA5RUNCQUUgLyogR1BVQ29tbWFuZEVuY29kZXJEZXNjcmlwdG9y
LmlkbCAqLywKKwkJCQkxQzMyRDQ2NjI3MzI4QTBGMDAwQ0MwM0IgLyogR1BVQ29tcHV0ZVBhc3NE
ZXNjcmlwdG9yLmggKi8sCisJCQkJMUM4RkVENDcyNzMyNzYwNjAwOUVDQkFFIC8qIEdQVUNvbXB1
dGVQYXNzRGVzY3JpcHRvci5pZGwgKi8sCisJCQkJMUMzMkQ0OTIyNzMyOTE5QzAwMENDMDNCIC8q
IEdQVUNvbXB1dGVQYXNzRW5jb2Rlci5jcHAgKi8sCisJCQkJMUMzMkQ0NjcyNzMyOEExNzAwMEND
MDNCIC8qIEdQVUNvbXB1dGVQYXNzRW5jb2Rlci5oICovLAorCQkJCTFDOEZFRDQ0MjczMjc1REQw
MDlFQ0JBRSAvKiBHUFVDb21wdXRlUGFzc0VuY29kZXIuaWRsICovLAorCQkJCTFDMzJENDY4Mjcz
MjhBMjIwMDBDQzAzQiAvKiBHUFVDb21wdXRlUGFzc1RpbWVzdGFtcExvY2F0aW9uLmggKi8sCisJ
CQkJMUM4RkVENDUyNzMyNzVFQzAwOUVDQkFFIC8qIEdQVUNvbXB1dGVQYXNzVGltZXN0YW1wTG9j
YXRpb24uaWRsICovLAorCQkJCTFDMzJENDY5MjczMjhBMkMwMDBDQzAzQiAvKiBHUFVDb21wdXRl
UGFzc1RpbWVzdGFtcFdyaXRlLmggKi8sCisJCQkJMUM4RkVENDYyNzMyNzVGNDAwOUVDQkFFIC8q
IEdQVUNvbXB1dGVQYXNzVGltZXN0YW1wV3JpdGUuaWRsICovLAorCQkJCTFDMzJENDZBMjczMjhB
MzQwMDBDQzAzQiAvKiBHUFVDb21wdXRlUGlwZWxpbmUuaCAqLywKKwkJCQkxQzVGMkE5NzI3MzI3
Q0Q4MDA3M0M2MEMgLyogR1BVQ29tcHV0ZVBpcGVsaW5lLmlkbCAqLywKKwkJCQkxQzMyRDQ2QjI3
MzI4QTNEMDAwQ0MwM0IgLyogR1BVRXh0ZW50M0REaWN0LmggKi8sCisJCQkJMUMxRjUyQzgyNzMy
ODVCOTAwNzNFQTdGIC8qIEdQVUV4dGVudDNERGljdC5pZGwgKi8sCisJCQkJMUMzMkQ0NkMyNzMy
OEE0NTAwMENDMDNCIC8qIEdQVUltYWdlQ29weUJ1ZmZlci5oICovLAorCQkJCTFDOEZFRDNGMjcz
Mjc1OTEwMDlFQ0JBRSAvKiBHUFVJbWFnZUNvcHlCdWZmZXIuaWRsICovLAorCQkJCTFDMzJENDZE
MjczMjhBNTEwMDBDQzAzQiAvKiBHUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmggKi8sCisJCQkJ
MUM4RkVENDIyNzMyNzVDNzAwOUVDQkFFIC8qIEdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaWRs
ICovLAorCQkJCTFDMzJENDZFMjczMjhBNUQwMDBDQzAzQiAvKiBHUFVJbWFnZUNvcHlUZXh0dXJl
LmggKi8sCisJCQkJMUM4RkVENDAyNzMyNzVBNzAwOUVDQkFFIC8qIEdQVUltYWdlQ29weVRleHR1
cmUuaWRsICovLAorCQkJCTFDMzJENDZGMjczMjhBNjcwMDBDQzAzQiAvKiBHUFVJbWFnZUNvcHlU
ZXh0dXJlVGFnZ2VkLmggKi8sCisJCQkJMUM4RkVENDEyNzMyNzVCQTAwOUVDQkFFIC8qIEdQVUlt
YWdlQ29weVRleHR1cmVUYWdnZWQuaWRsICovLAorCQkJCTFDMzJENDcwMjczMjhBNzgwMDBDQzAz
QiAvKiBHUFVJbWFnZURhdGFMYXlvdXQuaCAqLywKKwkJCQkxQzhGRUQzRTI3MzI3NTg3MDA5RUNC
QUUgLyogR1BVSW1hZ2VEYXRhTGF5b3V0LmlkbCAqLywKKwkJCQkxQzMyRDQ3MTI3MzI4QTg3MDAw
Q0MwM0IgLyogR1BVSW5kZXhGb3JtYXQuaCAqLywKKwkJCQkxQzFGNTJDOTI3MzI4NjI0MDA3M0VB
N0YgLyogR1BVSW5kZXhGb3JtYXQuaWRsICovLAorCQkJCTFDQkYxQzk2MjcyRkRDMUQwMDgwODg4
MCAvKiBHUFVJbnRlZ3JhbFR5cGVzLmggKi8sCisJCQkJMUMzMkQ0NzIyNzMyOEE5NzAwMENDMDNC
IC8qIEdQVUxvYWRPcC5oICovLAorCQkJCTFDOEZFRDRGMjczMjc2NzQwMDlFQ0JBRSAvKiBHUFVM
b2FkT3AuaWRsICovLAorCQkJCTFDQkYxQzhBMjcyRkNEOTkwMDgwODg4MCAvKiBHUFVPYmplY3RC
YXNlLmlkbCAqLywKKwkJCQkxQ0JGMUM4RjI3MkZENjg0MDA4MDg4ODAgLyogR1BVT2JqZWN0RGVz
Y3JpcHRvckJhc2UuaCAqLywKKwkJCQkxQ0JGMUM4QjI3MkZEMDg2MDA4MDg4ODAgLyogR1BVT2Jq
ZWN0RGVzY3JpcHRvckJhc2UuaWRsICovLAorCQkJCTFDMzJENDczMjczMjhBQTgwMDBDQzAzQiAv
KiBHUFVPcmlnaW4yRERpY3QuaCAqLywKKwkJCQkxQzFGNTJDMzI3MzI4MjE5MDA3M0VBN0YgLyog
R1BVT3JpZ2luMkREaWN0LmlkbCAqLywKKwkJCQkxQzMyRDQ3NDI3MzI4QUIyMDAwQ0MwM0IgLyog
R1BVT3JpZ2luM0REaWN0LmggKi8sCisJCQkJMUMxRjUyQzQyNzMyODI0NDAwNzNFQTdGIC8qIEdQ
VU9yaWdpbjNERGljdC5pZGwgKi8sCisJCQkJMUMzMkQ0NzUyNzMyOEFCQjAwMENDMDNCIC8qIEdQ
VVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oICovLAorCQkJCTFDNUYyQTlGMjczMjdFQTEwMDczQzYw
QyAvKiBHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaWRsICovLAorCQkJCTFDMzJENDc2MjczMjhB
QzQwMDBDQzAzQiAvKiBHUFVQcmVkZWZpbmVkQ29sb3JTcGFjZS5oICovLAorCQkJCTFDMUY1MkNB
MjczMjg2ODIwMDczRUE3RiAvKiBHUFVQcmVkZWZpbmVkQ29sb3JTcGFjZS5pZGwgKi8sCisJCQkJ
MUM4RkVENDMyNzMyNzVEMzAwOUVDQkFFIC8qIEdQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyLmlk
bCAqLywKKwkJCQkxQzMyRDQ5MzI3MzI5NEZDMDAwQ0MwM0IgLyogR1BVUXVlcnlTZXQuY3BwICov
LAorCQkJCTFDMzJENDc4MjczMjhBREIwMDBDQzAzQiAvKiBHUFVRdWVyeVNldC5oICovLAorCQkJ
CTFDNUYyQTlDMjczMjdFN0MwMDczQzYwQyAvKiBHUFVRdWVyeVNldC5pZGwgKi8sCisJCQkJMUMz
MkQ0NzkyNzMyOEFFNDAwMENDMDNCIC8qIEdQVVF1ZXJ5U2V0RGVzY3JpcHRvci5oICovLAorCQkJ
CTFDNUYyQTlEMjczMjdFOEIwMDczQzYwQyAvKiBHUFVRdWVyeVNldERlc2NyaXB0b3IuaWRsICov
LAorCQkJCTFDMzJENDdBMjczMjhBRUYwMDBDQzAzQiAvKiBHUFVRdWVyeVR5cGUuaCAqLywKKwkJ
CQkxQzVGMkE5RTI3MzI3RTk1MDA3M0M2MEMgLyogR1BVUXVlcnlUeXBlLmlkbCAqLywKKwkJCQkx
QzMyRDQ5NDI3MzI5NkZFMDAwQ0MwM0IgLyogR1BVUXVldWUuY3BwICovLAorCQkJCTFDMzJENDdC
MjczMjhBRjkwMDBDQzAzQiAvKiBHUFVRdWV1ZS5oICovLAorCQkJCTFDOEZFRDU2MjczMjc2RDgw
MDlFQ0JBRSAvKiBHUFVRdWV1ZS5pZGwgKi8sCisJCQkJMUMzMkQ0N0MyNzMyOEIwMzAwMENDMDNC
IC8qIEdQVVJlbmRlckJ1bmRsZS5oICovLAorCQkJCTFDOEZFRDUyMjczMjc2OTIwMDlFQ0JBRSAv
KiBHUFVSZW5kZXJCdW5kbGUuaWRsICovLAorCQkJCTFDMzJENDdEMjczMjhCMEUwMDBDQzAzQiAv
KiBHUFVSZW5kZXJCdW5kbGVEZXNjcmlwdG9yLmggKi8sCisJCQkJMUM4RkVENTMyNzMyNzY5RTAw
OUVDQkFFIC8qIEdQVVJlbmRlckJ1bmRsZURlc2NyaXB0b3IuaWRsICovLAorCQkJCTFDMzJENDk1
MjczMjk5MTgwMDBDQzAzQiAvKiBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyLmNwcCAqLywKKwkJCQkx
QzMyRDQ3RTI3MzI4QjE3MDAwQ0MwM0IgLyogR1BVUmVuZGVyQnVuZGxlRW5jb2Rlci5oICovLAor
CQkJCTFDOEZFRDU0MjczMjc2QkIwMDlFQ0JBRSAvKiBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyLmlk
bCAqLywKKwkJCQkxQzMyRDQ3RjI3MzI4QjJFMDAwQ0MwM0IgLyogR1BVUmVuZGVyQnVuZGxlRW5j
b2RlckRlc2NyaXB0b3IuaCAqLywKKwkJCQkxQzhGRUQ1NTI3MzI3NkNCMDA5RUNCQUUgLyogR1BV
UmVuZGVyQnVuZGxlRW5jb2RlckRlc2NyaXB0b3IuaWRsICovLAorCQkJCTFDOEZFRDQ4MjczMjc2
MEYwMDlFQ0JBRSAvKiBHUFVSZW5kZXJFbmNvZGVyQmFzZS5pZGwgKi8sCisJCQkJMUMzMkQ0ODEy
NzMyOEI0NDAwMENDMDNCIC8qIEdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaCAqLywKKwkJ
CQkxQzhGRUQ0RDI3MzI3NjU1MDA5RUNCQUUgLyogR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVu
dC5pZGwgKi8sCisJCQkJMUMzMkQ0ODIyNzMyOEI1MjAwMENDMDNCIC8qIEdQVVJlbmRlclBhc3NE
ZXB0aFN0ZW5jaWxBdHRhY2htZW50LmggKi8sCisJCQkJMUM4RkVENEUyNzMyNzY2QzAwOUVDQkFF
IC8qIEdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmlkbCAqLywKKwkJCQkxQzMy
RDQ4MzI3MzI4QjVGMDAwQ0MwM0IgLyogR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaCAqLywKKwkJ
CQkxQzhGRUQ0QzI3MzI3NjQ3MDA5RUNCQUUgLyogR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaWRs
ICovLAorCQkJCTFDMzJENDk2MjczMjlDMEUwMDBDQzAzQiAvKiBHUFVSZW5kZXJQYXNzRW5jb2Rl
ci5jcHAgKi8sCisJCQkJMUMzMkQ0ODQyNzMyOEI2QjAwMENDMDNCIC8qIEdQVVJlbmRlclBhc3NF
bmNvZGVyLmggKi8sCisJCQkJMUM4RkVENDkyNzMyNzYxOTAwOUVDQkFFIC8qIEdQVVJlbmRlclBh
c3NFbmNvZGVyLmlkbCAqLywKKwkJCQkxQzMyRDQ4NTI3MzI4QjdDMDAwQ0MwM0IgLyogR1BVUmVu
ZGVyUGFzc0xheW91dC5oICovLAorCQkJCTFDOEZFRDUxMjczMjc2ODgwMDlFQ0JBRSAvKiBHUFVS
ZW5kZXJQYXNzTGF5b3V0LmlkbCAqLywKKwkJCQkxQzMyRDQ4NjI3MzI4QjhBMDAwQ0MwM0IgLyog
R1BVUmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9uLmggKi8sCisJCQkJMUM4RkVENEEyNzMyNzYy
NzAwOUVDQkFFIC8qIEdQVVJlbmRlclBhc3NUaW1lc3RhbXBMb2NhdGlvbi5pZGwgKi8sCisJCQkJ
MUMzMkQ0ODcyNzMyOEI5NTAwMENDMDNCIC8qIEdQVVJlbmRlclBhc3NUaW1lc3RhbXBXcml0ZS5o
ICovLAorCQkJCTFDOEZFRDRCMjczMjc2MzAwMDlFQ0JBRSAvKiBHUFVSZW5kZXJQYXNzVGltZXN0
YW1wV3JpdGUuaWRsICovLAorCQkJCTFDMzJENDg4MjczMjhCOUYwMDBDQzAzQiAvKiBHUFVSZW5k
ZXJQaXBlbGluZS5oICovLAorCQkJCTFDNUYyQTlBMjczMjdENjAwMDczQzYwQyAvKiBHUFVSZW5k
ZXJQaXBlbGluZS5pZGwgKi8sCisJCQkJMUMzMkQ0ODkyNzMyOEJBOTAwMENDMDNCIC8qIEdQVVN0
b3JlT3AuaCAqLywKKwkJCQkxQzhGRUQ1MDI3MzI3NjdFMDA5RUNCQUUgLyogR1BVU3RvcmVPcC5p
ZGwgKi8sCisJCQkJMUMzMkQ0OEEyNzMyOEJCNTAwMENDMDNCIC8qIEdQVVRleHR1cmUuaCAqLywK
KwkJCQkxQzFGNTJDNjI3MzI4NEYzMDA3M0VBN0YgLyogR1BVVGV4dHVyZS5pZGwgKi8sCisJCQkJ
MUMzMkQ0OEIyNzMyOEJCRDAwMENDMDNCIC8qIEdQVVRleHR1cmVBc3BlY3QuaCAqLywKKwkJCQkx
QzFGNTJDMTI3MzI4MDlGMDA3M0VBN0YgLyogR1BVVGV4dHVyZUFzcGVjdC5pZGwgKi8sCisJCQkJ
MUMzMkQ0OEMyNzMyOEJDQzAwMENDMDNCIC8qIEdQVVRleHR1cmVGb3JtYXQuaCAqLywKKwkJCQkx
QzVGMkE5QjI3MzI3REQ3MDA3M0M2MEMgLyogR1BVVGV4dHVyZUZvcm1hdC5pZGwgKi8sCisJCQkJ
MUMzMkQ0OEQyNzMyOEJEODAwMENDMDNCIC8qIEdQVVRleHR1cmVWaWV3LmggKi8sCisJCQkJMUMx
RjUyQzcyNzMyODRGQzAwNzNFQTdGIC8qIEdQVVRleHR1cmVWaWV3LmlkbCAqLywKKwkJCSk7CisJ
CQlwYXRoID0gV2ViR1BVOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJMUNE
RDQ0NjYwQkE5QzgwMDAwRjkwMTQ3IC8qIENvbmZpZ3VyYXRpb25zICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTI0NDY1LDYgKzI0Njc2LDcgQEAKIAkJCQk1
N0Q4NDYyQTFGRUFGNTdGMDBDQTM2ODIgLyogd2ViYXV0aG4gKi8sCiAJCQkJOTdCQzY5RDUxNTA1
RjA1NDAwMUI3NEFDIC8qIHdlYmRhdGFiYXNlICovLAogCQkJCTk5NkU1OURBMURGMDBENDUwMDY2
MTJCOSAvKiB3ZWJkcml2ZXIgKi8sCisJCQkJMUNCRjFDODQyNzJGQ0E5RTAwODA4ODgwIC8qIFdl
YkdQVSAqLywKIAkJCQk5N0FBQkNGNzE0RkEwOUI1MDA3NDU3QUUgLyogd2Vic29ja2V0cyAqLywK
IAkJCQlFMUVFOEFDNjI0MTJCMTZGMDBFNzk0RDYgLyogd2VieHIgKi8sCiAJCQkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmluZGV4IDk2
MTRlZTJjZTk3ZTE4NWJkMDljMzQ3NmNkYjdhNDAwYzUxZTYxNzguLjc0OTZjM2Y1MTRkYmQ2YWUw
NTM2MzE3MjQ0MjA3MDQ1NmU5ZDJiY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAgLTEyNiw2ICsxMjYsMjAgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIG1hY3JvKEZpbGVTeXN0ZW1GaWxlSGFuZGxlKSBcCiAgICAgbWFjcm8o
RmlsZVN5c3RlbUhhbmRsZSkgXAogICAgIG1hY3JvKEZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxl
KSBcCisgICAgbWFjcm8oR1BVQmluZEdyb3VwKSBcCisgICAgbWFjcm8oR1BVQnVmZmVyKSBcCisg
ICAgbWFjcm8oR1BVQ29tbWFuZEJ1ZmZlcikgXAorICAgIG1hY3JvKEdQVUNvbW1hbmRFbmNvZGVy
KSBcCisgICAgbWFjcm8oR1BVQ29tcHV0ZVBhc3NFbmNvZGVyKSBcCisgICAgbWFjcm8oR1BVQ29t
cHV0ZVBpcGVsaW5lKSBcCisgICAgbWFjcm8oR1BVUXVlcnlTZXQpIFwKKyAgICBtYWNybyhHUFVR
dWV1ZSkgXAorICAgIG1hY3JvKEdQVVJlbmRlckJ1bmRsZSkgXAorICAgIG1hY3JvKEdQVVJlbmRl
ckJ1bmRsZUVuY29kZXIpIFwKKyAgICBtYWNybyhHUFVSZW5kZXJQYXNzRW5jb2RlcikgXAorICAg
IG1hY3JvKEdQVVJlbmRlclBpcGVsaW5lKSBcCisgICAgbWFjcm8oR1BVVGV4dHVyZSkgXAorICAg
IG1hY3JvKEdQVVRleHR1cmVWaWV3KSBcCiAgICAgbWFjcm8oR2FtZXBhZCkgXAogICAgIG1hY3Jv
KEdhbWVwYWRCdXR0b24pIFwKICAgICBtYWNybyhHYW1lcGFkRXZlbnQpIFwK
</data>
<flag name="review"
          id="467934"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>