<?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>229028</bug_id>
          
          <creation_ts>2021-08-12 02:12:07 -0700</creation_ts>
          <short_desc>Removal of &quot;TypedOM&quot; prefix for CSSOM Object names</short_desc>
          <delta_ts>2021-08-16 22:28:57 -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="Qiaosong Zhou">johnson.zhou.sh</reporter>
          <assigned_to name="Qiaosong Zhou">johnson.zhou.sh</assigned_to>
          <cc>achristensen</cc>
    
    <cc>annulen</cc>
    
    <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</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>1783755</commentid>
    <comment_count>0</comment_count>
    <who name="Qiaosong Zhou">johnson.zhou.sh</who>
    <bug_when>2021-08-12 02:12:07 -0700</bug_when>
    <thetext>Removal of &quot;TypedOM&quot; prefix for CSSOM Object names</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783756</commentid>
    <comment_count>1</comment_count>
      <attachid>435403</attachid>
    <who name="Qiaosong Zhou">johnson.zhou.sh</who>
    <bug_when>2021-08-12 02:13:41 -0700</bug_when>
    <thetext>Created attachment 435403
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783836</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-12 08:47:26 -0700</bug_when>
    <thetext>Committed r280968 (240474@main): &lt;https://commits.webkit.org/240474@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 435403.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783837</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-12 08:48:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/81851045&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783925</commentid>
    <comment_count>4</comment_count>
      <attachid>435403</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-08-12 13:02:37 -0700</bug_when>
    <thetext>Comment on attachment 435403
Patch

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

&gt; Source/WebCore/css/typedom/CSSUnparsedValue.idl:28
&gt; +    InterfaceName=CSSUnparsedValue,

These are no longer needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784714</commentid>
    <comment_count>5</comment_count>
    <who name="Qiaosong Zhou">johnson.zhou.sh</who>
    <bug_when>2021-08-16 18:56:27 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784715</commentid>
    <comment_count>6</comment_count>
      <attachid>435654</attachid>
    <who name="Qiaosong Zhou">johnson.zhou.sh</who>
    <bug_when>2021-08-16 18:56:30 -0700</bug_when>
    <thetext>Created attachment 435654
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784717</commentid>
    <comment_count>7</comment_count>
      <attachid>435655</attachid>
    <who name="Qiaosong Zhou">johnson.zhou.sh</who>
    <bug_when>2021-08-16 19:02:15 -0700</bug_when>
    <thetext>Created attachment 435655
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784718</commentid>
    <comment_count>8</comment_count>
      <attachid>435656</attachid>
    <who name="Qiaosong Zhou">johnson.zhou.sh</who>
    <bug_when>2021-08-16 19:14:24 -0700</bug_when>
    <thetext>Created attachment 435656
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784727</commentid>
    <comment_count>9</comment_count>
      <attachid>435660</attachid>
    <who name="Qiaosong Zhou">johnson.zhou.sh</who>
    <bug_when>2021-08-16 19:57:38 -0700</bug_when>
    <thetext>Created attachment 435660
Patch</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435403</attachid>
            <date>2021-08-12 02:13:41 -0700</date>
            <delta_ts>2021-08-16 18:56:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229028-20210812021340.patch</filename>
            <type>text/plain</type>
            <size>122361</size>
            <attacher name="Qiaosong Zhou">johnson.zhou.sh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwOTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTNjN2ZkNDUyM2M2MmU2
YTcyYjZkYmE4OWEwZWZmMGQ4YTM0M2Q2Yi4uMmU2NThiNTQ3OWE0MzYwY2NjNWJhZjYwMDhhOGIw
ZjVmZmRkZjY5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDIxLTA4LTEyICBKb2hu
c29uIFpob3UgIDxxaWFvc29uZ196aG91QGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmFsIG9m
ICJUeXBlZE9NIiBwcmVmaXggZm9yIENTU09NIE9iamVjdCBuYW1lcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MDI4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6
CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ1NTU3R5bGVWYWx1ZUN1c3Rv
bS5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1R5cGVkT01D
U1NTdHlsZVZhbHVlQ3VzdG9tLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgICogY3NzL3R5cGVkb20vQ1NT
TnVtZXJpY1ZhbHVlLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L1R5cGVkT01DU1NVbml0VmFsdWUuY3BwLgorICAgICAgICAqIGNzcy90eXBlZG9tL0NTU051bWVy
aWNWYWx1ZS5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRP
TUNTU051bWVyaWNWYWx1ZS5oLgorICAgICAgICAqIGNzcy90eXBlZG9tL0NTU051bWVyaWNWYWx1
ZS5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NT
TnVtZXJpY1ZhbHVlLmlkbC4KKyAgICAgICAgKiBjc3MvdHlwZWRvbS9DU1NTdHlsZUltYWdlVmFs
dWUuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRPTUNT
U0ltYWdlVmFsdWUuY3BwLgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVJbWFnZVZhbHVlOjpD
U1NTdHlsZUltYWdlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVJbWFnZVZhbHVl
Ojpkb2N1bWVudCBjb25zdCk6CisgICAgICAgICogY3NzL3R5cGVkb20vQ1NTU3R5bGVJbWFnZVZh
bHVlLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NT
SW1hZ2VWYWx1ZS5oLgorICAgICAgICAqIGNzcy90eXBlZG9tL0NTU1N0eWxlSW1hZ2VWYWx1ZS5p
ZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NTSW1h
Z2VWYWx1ZS5pZGwuCisgICAgICAgICogY3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5jcHA6IFJl
bmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NTU3R5bGVWYWx1
ZS5jcHAuCisgICAgICAgICogY3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5oOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRPTUNTU1N0eWxlVmFsdWUuaC4KKyAg
ICAgICAgKiBjc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVlLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJj
ZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1R5cGVkT01DU1NTdHlsZVZhbHVlLmlkbC4KKyAgICAgICAg
KiBjc3MvdHlwZWRvbS9DU1NVbml0VmFsdWUuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNv
cmUvY3NzL3R5cGVkb20vVHlwZWRPTUNTU051bWVyaWNWYWx1ZS5jcHAuCisgICAgICAgICogY3Nz
L3R5cGVkb20vQ1NTVW5pdFZhbHVlLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3Mv
dHlwZWRvbS9UeXBlZE9NQ1NTVW5pdFZhbHVlLmguCisgICAgICAgICogY3NzL3R5cGVkb20vQ1NT
VW5pdFZhbHVlLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1R5
cGVkT01DU1NVbml0VmFsdWUuaWRsLgorICAgICAgICAqIGNzcy90eXBlZG9tL0NTU1VucGFyc2Vk
VmFsdWUuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRP
TUNTU1VucGFyc2VkVmFsdWUuY3BwLgorICAgICAgICAqIGNzcy90eXBlZG9tL0NTU1VucGFyc2Vk
VmFsdWUuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1R5cGVkT01D
U1NVbnBhcnNlZFZhbHVlLmguCisgICAgICAgICogY3NzL3R5cGVkb20vQ1NTVW5wYXJzZWRWYWx1
ZS5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NT
VW5wYXJzZWRWYWx1ZS5pZGwuCisgICAgICAgICogY3NzL3R5cGVkb20vU3R5bGVQcm9wZXJ0eU1h
cFJlYWRPbmx5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUHJvcGVydHlNYXBSZWFkT25s
eTo6cmVpZnlWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVByb3BlcnR5TWFwUmVhZE9u
bHk6OmN1c3RvbVByb3BlcnR5VmFsdWVPckRlZmF1bHQpOgorICAgICAgICAqIGNzcy90eXBlZG9t
L1N0eWxlUHJvcGVydHlNYXBSZWFkT25seS5oOgorICAgICAgICAqIGNzcy90eXBlZG9tL1N0eWxl
UHJvcGVydHlNYXBSZWFkT25seS5pZGw6CisgICAgICAgICogZG9tL1N0eWxlZEVsZW1lbnQuY3Bw
OgorICAgICAgICAqIGh0bWwvQ3VzdG9tUGFpbnRJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpleHRyYWN0Q29tcHV0ZWRQcm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21QYWlu
dEltYWdlOjpkb0N1c3RvbVBhaW50KToKKyAgICAgICAgKiBodG1sL0ltYWdlQml0bWFwLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkltYWdlQml0bWFwOjpjcmVhdGVQcm9taXNlKToKKyAgICAgICAg
KiBodG1sL0ltYWdlQml0bWFwLmg6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzRHJhd0lt
YWdlLmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNGaWxsU3Ryb2tlU3R5bGVzLmlk
bDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQ6OmNoZWNrT3JpZ2luKToKKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0Lmg6CisgICAgICAgICog
aHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpzaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQy
REJhc2U6OmRyYXdJbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkRCYXNlOjpjcmVhdGVQYXR0ZXJuKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkRCYXNlLmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNh
bnZhcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDYW52YXM6OnByb2Nlc3NBcmd1
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDYW52YXM6OmluZGV4Rm9yRGF0YSk6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNhbnZhcy5oOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JDYW52YXNDYWxsVHJhY2VyLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yQ2FudmFzQ2FsbFRyYWNlci5oOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMv
SW5zcGVjdG9yQ2FudmFzQWdlbnQuY3BwOgorICAgICAgICAqIHBhZ2UvV2luZG93T3JXb3JrZXJH
bG9iYWxTY29wZS5pZGw6CisKIDIwMjEtMDgtMTEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KIAogICAgICAgICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBDcm9zcy1PcmlnaW4tRW1i
ZWRkZXItUG9saWN5IChDT0VQKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA4NDlhNjI0ZjAwNjkw
MTdjMjNjOGUzM2NmMmViZjBkNzliMzE4ODNiLi5hNzdhNTJkNjEzYTNhN2FhMjUzZTRlZDk4MWIx
NGJhNjVmYzU2NGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNzEzLDEzICs3MTMsMTMgQEAg
c2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBjc3MvU3R5bGVTaGVldC5pZGwKICAg
ICBjc3MvU3R5bGVTaGVldExpc3QuaWRsCiAKKyAgICBjc3MvdHlwZWRvbS9DU1NOdW1lcmljVmFs
dWUuaWRsCisgICAgY3NzL3R5cGVkb20vQ1NTU3R5bGVJbWFnZVZhbHVlLmlkbAorICAgIGNzcy90
eXBlZG9tL0NTU1N0eWxlVmFsdWUuaWRsCisgICAgY3NzL3R5cGVkb20vQ1NTVW5pdFZhbHVlLmlk
bAorICAgIGNzcy90eXBlZG9tL0NTU1VucGFyc2VkVmFsdWUuaWRsCiAgICAgY3NzL3R5cGVkb20v
U3R5bGVQcm9wZXJ0eU1hcC5pZGwKICAgICBjc3MvdHlwZWRvbS9TdHlsZVByb3BlcnR5TWFwUmVh
ZE9ubHkuaWRsCi0gICAgY3NzL3R5cGVkb20vVHlwZWRPTUNTU0ltYWdlVmFsdWUuaWRsCi0gICAg
Y3NzL3R5cGVkb20vVHlwZWRPTUNTU051bWVyaWNWYWx1ZS5pZGwKLSAgICBjc3MvdHlwZWRvbS9U
eXBlZE9NQ1NTU3R5bGVWYWx1ZS5pZGwKLSAgICBjc3MvdHlwZWRvbS9UeXBlZE9NQ1NTVW5pdFZh
bHVlLmlkbAotICAgIGNzcy90eXBlZG9tL1R5cGVkT01DU1NVbnBhcnNlZFZhbHVlLmlkbAogCiAg
ICAgZG9tL0Fib3J0QWxnb3JpdGhtLmlkbAogICAgIGRvbS9BYm9ydENvbnRyb2xsZXIuaWRsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCA3
NzM5NGI3NmM0NWY2YmFlOTdhMDUwMWFjMWJhMjBlZjEwNGJhMWJjLi5lNzZhMTljNjU4Njk1N2Ji
ZDJhZWQ0NzRiNjA0N2YxNGI0ODBlMTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTcyNywxMSArNzI3LDExIEBAICQoUFJPSkVDVF9E
SVIpL2Nzcy9xdWlya3MuY3NzCiAkKFBST0pFQ1RfRElSKS9jc3Mvc3ZnLmNzcwogJChQUk9KRUNU
X0RJUikvY3NzL3R5cGVkb20vU3R5bGVQcm9wZXJ0eU1hcC5pZGwKICQoUFJPSkVDVF9ESVIpL2Nz
cy90eXBlZG9tL1N0eWxlUHJvcGVydHlNYXBSZWFkT25seS5pZGwKLSQoUFJPSkVDVF9ESVIpL2Nz
cy90eXBlZG9tL1R5cGVkT01DU1NJbWFnZVZhbHVlLmlkbAotJChQUk9KRUNUX0RJUikvY3NzL3R5
cGVkb20vVHlwZWRPTUNTU051bWVyaWNWYWx1ZS5pZGwKLSQoUFJPSkVDVF9ESVIpL2Nzcy90eXBl
ZG9tL1R5cGVkT01DU1NTdHlsZVZhbHVlLmlkbAotJChQUk9KRUNUX0RJUikvY3NzL3R5cGVkb20v
VHlwZWRPTUNTU1VuaXRWYWx1ZS5pZGwKLSQoUFJPSkVDVF9ESVIpL2Nzcy90eXBlZG9tL1R5cGVk
T01DU1NVbnBhcnNlZFZhbHVlLmlkbAorJChQUk9KRUNUX0RJUikvY3NzL3R5cGVkb20vQ1NTU3R5
bGVJbWFnZVZhbHVlLmlkbAorJChQUk9KRUNUX0RJUikvY3NzL3R5cGVkb20vQ1NTTnVtZXJpY1Zh
bHVlLmlkbAorJChQUk9KRUNUX0RJUikvY3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5pZGwKKyQo
UFJPSkVDVF9ESVIpL2Nzcy90eXBlZG9tL0NTU1VuaXRWYWx1ZS5pZGwKKyQoUFJPSkVDVF9ESVIp
L2Nzcy90eXBlZG9tL0NTU1VucGFyc2VkVmFsdWUuaWRsCiAkKFBST0pFQ1RfRElSKS9kb20vQWJv
cnRBbGdvcml0aG0uaWRsCiAkKFBST0pFQ1RfRElSKS9kb20vQWJvcnRDb250cm9sbGVyLmlkbAog
JChQUk9KRUNUX0RJUikvZG9tL0Fib3J0U2lnbmFsLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCBmNDdlNTk5NDIwOWJhNzI2NTli
ODI1NDkxOTAyMzM1YTYyODViMjQ5Li40YTkzMDE5ODM4NzViN2Y0OGZjOWU2NTA0ZjA1MDE0ZWIw
ZmI1OWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQu
eGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdApAQCAtMjIzOSwxNiArMjIzOSwxNiBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1RyZWVXYWxrZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1RyZWVXYWxrZXIuaAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUeXBlQ29udmVyc2lvbnMuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1R5cGVDb252ZXJzaW9u
cy5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1R5cGVk
T01DU1NJbWFnZVZhbHVlLmNwcAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNUeXBlZE9NQ1NTSW1hZ2VWYWx1ZS5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1R5cGVkT01DU1NOdW1lcmljVmFsdWUuY3BwCi0kKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1R5cGVkT01DU1NOdW1l
cmljVmFsdWUuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNUeXBlZE9NQ1NTU3R5bGVWYWx1ZS5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTVHlwZWRPTUNTU1N0eWxlVmFsdWUuaAotJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUeXBlZE9NQ1NTVW5pdFZhbHVlLmNwcAot
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUeXBlZE9NQ1NT
VW5pdFZhbHVlLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTVHlwZWRPTUNTU1VucGFyc2VkVmFsdWUuY3BwCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1R5cGVkT01DU1NVbnBhcnNlZFZhbHVlLmgKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTU3R5bGVJbWFnZVZhbHVl
LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NT
dHlsZUltYWdlVmFsdWUuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNDU1NOdW1lcmljVmFsdWUuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0NTU051bWVyaWNWYWx1ZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1N0eWxlVmFsdWUuY3BwCiskKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1N0eWxlVmFsdWUuaAorJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NVbml0VmFsdWUu
Y3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1Vu
aXRWYWx1ZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0NTU1VucGFyc2VkVmFsdWUuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0NTU1VucGFyc2VkVmFsdWUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNVSUV2ZW50LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNVSUV2ZW50LmgKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVUlFdmVudEluaXQuY3BwCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQppbmRleCBmMTMzMmMwZDNmOTIzYmEwYTJhNzUzM2RhM2I5ODAzMzk3NDgz
OThkLi5jYjM2NTZjZmM4NGIwY2I5ZGNhZGVmMTY1NjEwYWVmMmY3YWJhYTEwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTU5OCwxMSArNTk4LDExIEBAIEpTX0JJTkRJTkdfSURM
UyA6PSBcCiAgICAgJChXZWJDb3JlKS9jc3MvU3R5bGVTaGVldExpc3QuaWRsIFwKICAgICAkKFdl
YkNvcmUpL2Nzcy90eXBlZG9tL1N0eWxlUHJvcGVydHlNYXAuaWRsIFwKICAgICAkKFdlYkNvcmUp
L2Nzcy90eXBlZG9tL1N0eWxlUHJvcGVydHlNYXBSZWFkT25seS5pZGwgXAotICAgICQoV2ViQ29y
ZSkvY3NzL3R5cGVkb20vVHlwZWRPTUNTU0ltYWdlVmFsdWUuaWRsIFwKLSAgICAkKFdlYkNvcmUp
L2Nzcy90eXBlZG9tL1R5cGVkT01DU1NOdW1lcmljVmFsdWUuaWRsIFwKLSAgICAkKFdlYkNvcmUp
L2Nzcy90eXBlZG9tL1R5cGVkT01DU1NTdHlsZVZhbHVlLmlkbCBcCi0gICAgJChXZWJDb3JlKS9j
c3MvdHlwZWRvbS9UeXBlZE9NQ1NTVW5pdFZhbHVlLmlkbCBcCi0gICAgJChXZWJDb3JlKS9jc3Mv
dHlwZWRvbS9UeXBlZE9NQ1NTVW5wYXJzZWRWYWx1ZS5pZGwgXAorICAgICQoV2ViQ29yZSkvY3Nz
L3R5cGVkb20vQ1NTU3R5bGVJbWFnZVZhbHVlLmlkbCBcCisgICAgJChXZWJDb3JlKS9jc3MvdHlw
ZWRvbS9DU1NOdW1lcmljVmFsdWUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2Nzcy90eXBlZG9tL0NT
U1N0eWxlVmFsdWUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2Nzcy90eXBlZG9tL0NTU1VuaXRWYWx1
ZS5pZGwgXAorICAgICQoV2ViQ29yZSkvY3NzL3R5cGVkb20vQ1NTVW5wYXJzZWRWYWx1ZS5pZGwg
XAogICAgICQoV2ViQ29yZSkvZG9tL0Fib3J0QWxnb3JpdGhtLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9kb20vQWJvcnRDb250cm9sbGVyLmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vQWJvcnRTaWdu
YWwuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggMDc3MjVhNDI4MzkzYjJkZmFmMjdkZTUyMjgzM2Ri
YTM4Zjc4MDUwOS4uMzJmZDhlYzhlMzBkMjhhZDE5OWMyNGJmNGMxZTFkZTQyY2Y0ZWRhZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
U291cmNlcy50eHQKQEAgLTUyNiw3ICs1MjYsNyBAQCBiaW5kaW5ncy9qcy9KU1RleHRDdXN0b20u
Y3BwCiBiaW5kaW5ncy9qcy9KU1RleHRUcmFja0N1ZUN1c3RvbS5jcHAKIGJpbmRpbmdzL2pzL0pT
VHJhY2tDdXN0b20uY3BwCiBiaW5kaW5ncy9qcy9KU1RyZWVXYWxrZXJDdXN0b20uY3BwCi1iaW5k
aW5ncy9qcy9KU1R5cGVkT01DU1NTdHlsZVZhbHVlQ3VzdG9tLmNwcAorYmluZGluZ3MvanMvSlND
U1NTdHlsZVZhbHVlQ3VzdG9tLmNwcAogYmluZGluZ3MvanMvSlNVbmRvSXRlbUN1c3RvbS5jcHAK
IGJpbmRpbmdzL2pzL0pTV2ViQW5pbWF0aW9uQ3VzdG9tLmNwcAogYmluZGluZ3MvanMvSlNXZWJH
TDJSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcApAQCAtNzY0LDExICs3NjQsMTEgQEAgY3NzL3Bh
cnNlci9NZWRpYVF1ZXJ5UGFyc2VyLmNwcAogY3NzL3BhcnNlci9TaXplc0F0dHJpYnV0ZVBhcnNl
ci5jcHAKIGNzcy9wYXJzZXIvU2l6ZXNDYWxjUGFyc2VyLmNwcAogY3NzL3R5cGVkb20vU3R5bGVQ
cm9wZXJ0eU1hcFJlYWRPbmx5LmNwcAotY3NzL3R5cGVkb20vVHlwZWRPTUNTU0ltYWdlVmFsdWUu
Y3BwCi1jc3MvdHlwZWRvbS9UeXBlZE9NQ1NTTnVtZXJpY1ZhbHVlLmNwcAotY3NzL3R5cGVkb20v
VHlwZWRPTUNTU1N0eWxlVmFsdWUuY3BwCi1jc3MvdHlwZWRvbS9UeXBlZE9NQ1NTVW5pdFZhbHVl
LmNwcAotY3NzL3R5cGVkb20vVHlwZWRPTUNTU1VucGFyc2VkVmFsdWUuY3BwCitjc3MvdHlwZWRv
bS9DU1NTdHlsZUltYWdlVmFsdWUuY3BwCitjc3MvdHlwZWRvbS9DU1NOdW1lcmljVmFsdWUuY3Bw
Citjc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVlLmNwcAorY3NzL3R5cGVkb20vQ1NTVW5pdFZhbHVl
LmNwcAorY3NzL3R5cGVkb20vQ1NTVW5wYXJzZWRWYWx1ZS5jcHAKIGNzc2ppdC9TZWxlY3RvckNv
bXBpbGVyLmNwcAogZGlzcGxheS9jb21wb3NpdGluZy9EaXNwbGF5TGF5ZXJDb250cm9sbGVyLmNw
cAogZGlzcGxheS9jc3MvRGlzcGxheUJveC5jcHAKQEAgLTM1ODMsMTEgKzM1ODMsMTEgQEAgSlNU
cmFuc2Zvcm1TdHJlYW0uY3BwCiBKU1RyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmNw
cAogSlNUcmFuc2l0aW9uRXZlbnQuY3BwCiBKU1RyZWVXYWxrZXIuY3BwCi1KU1R5cGVkT01DU1NJ
bWFnZVZhbHVlLmNwcAotSlNUeXBlZE9NQ1NTTnVtZXJpY1ZhbHVlLmNwcAotSlNUeXBlZE9NQ1NT
U3R5bGVWYWx1ZS5jcHAKLUpTVHlwZWRPTUNTU1VuaXRWYWx1ZS5jcHAKLUpTVHlwZWRPTUNTU1Vu
cGFyc2VkVmFsdWUuY3BwCitKU0NTU1N0eWxlSW1hZ2VWYWx1ZS5jcHAKK0pTQ1NTTnVtZXJpY1Zh
bHVlLmNwcAorSlNDU1NTdHlsZVZhbHVlLmNwcAorSlNDU1NVbml0VmFsdWUuY3BwCitKU0NTU1Vu
cGFyc2VkVmFsdWUuY3BwCiBKU1VJRXZlbnQuY3BwCiBKU1VJRXZlbnRJbml0LmNwcAogSlNVUkxT
ZWFyY2hQYXJhbXMuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggMzY0MTcxMTRmMDNhZTAxMzkyYjg5ZDczYWNjYWVkYzc2ODRi
MGM3YS4uNjA2YTIxOWJmYjk5NTBjMDEwMTdmNmQwZGRlODA4YjdjMzFjYTU4ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTQw
Niw3ICsxNDA2LDcgQEAKIAkJNEIyNzA4QzcwQUYxOUVFNDAwNjUxMjdGIC8qIFBhc3RlYm9hcmQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRCMjcwOEM1
MEFGMTlFRTQwMDY1MTI3RiAvKiBQYXN0ZWJvYXJkLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNEIzMDQzQ0QwQUUwMzczQjAwQTgyNjQ3IC8qIEVk
aXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEIz
MDQzQ0IwQUUwMzczQjAwQTgyNjQ3IC8qIEVkaXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTRCMzQ4MDk0MEVFRjUwRDQwMEFDMUI0MSAvKiBJ
bWFnZVNvdXJjZUNHLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0QjM0ODA5MjBFRUY1MEQ0MDBBQzFCNDEgLyogSW1hZ2VTb3VyY2VDRy5oICovOyB9Owot
CQk0QjQzODY1MDIxOUNENTYxMDBGOEQzQzUgLyogVHlwZWRPTUNTU0ltYWdlVmFsdWUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRCNDM4NjRGMjE5Q0Q1
NjEwMEY4RDNDNSAvKiBUeXBlZE9NQ1NTSW1hZ2VWYWx1ZS5oICovOyB9OworCQk0QjQzODY1MDIx
OUNENTYxMDBGOEQzQzUgLyogQ1NTU3R5bGVJbWFnZVZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QjQzODY0RjIxOUNENTYxMDBGOEQzQzUgLyog
Q1NTU3R5bGVJbWFnZVZhbHVlLmggKi87IH07CiAJCTRCNUJERDlCMjE2NThBMTUwMERENDI2MiAv
KiBDU1NQYWludENhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0QjVCREQ5QTIxNjU4QTE1MDBERDQyNjIgLyogQ1NTUGFpbnRDYWxsYmFjay5o
ICovOyB9OwogCQk0QjZCNUNCRDIxNjQwRUZGMDA2MDM4MTcgLyogRE9NQ1NTUGFpbnRXb3JrbGV0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QjZCNUNC
ODIxNjNFQzA3MDA2MDM4MTcgLyogRE9NQ1NTUGFpbnRXb3JrbGV0LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNEI2QjVDQzAyMTY0Mzg2NDAwNjAz
ODE3IC8qIFBhaW50V29ya2xldEdsb2JhbFNjb3BlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QjZCNUNCRjIxNjQzODY0MDA2MDM4MTcgLyogUGFpbnRX
b3JrbGV0R2xvYmFsU2NvcGUuaCAqLzsgfTsKQEAgLTE0MTUsMTAgKzE0MTUsMTAgQEAKIAkJNEJB
RTk1QjEwQjJGQTlDRTAwQUVEOEEwIC8qIEVkaXRvckRlbGV0ZUFjdGlvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEJBRTk1QjAwQjJGQTlDRTAwQUVE
OEEwIC8qIEVkaXRvckRlbGV0ZUFjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTRCQUZEMENCMjE5MEVCRDYwMEMwQUI2NCAvKiBDU1NQYWlu
dFNpemUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRC
QUZEMENBMjE5MEVCRDYwMEMwQUI2NCAvKiBDU1NQYWludFNpemUuaCAqLzsgfTsKIAkJNEJBRkQw
Q0YyMTkwRjlCNTAwQzBBQjY0IC8qIFN0eWxlUHJvcGVydHlNYXBSZWFkT25seS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEJBRkQwQ0UyMTkwRjlCNDAw
QzBBQjY0IC8qIFN0eWxlUHJvcGVydHlNYXBSZWFkT25seS5oICovOyB9OwotCQk0QkFGRDBENjIx
OTIxNDZCMDBDMEFCNjQgLyogVHlwZWRPTUNTU1N0eWxlVmFsdWUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRCQUZEMEQ1MjE5MjE0NkIwMEMwQUI2NCAv
KiBUeXBlZE9NQ1NTU3R5bGVWYWx1ZS5oICovOyB9OwotCQk0QkFGRDBEOTIxOTIxRUEwMDBDMEFC
NjQgLyogVHlwZWRPTUNTU1VucGFyc2VkVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRCQUZEMEQ4MjE5MjFFQTAwMEMwQUI2NCAvKiBUeXBlZE9N
Q1NTVW5wYXJzZWRWYWx1ZS5oICovOyB9OwotCQk0QkFGRDBFMDIxOTIyMEFCMDBDMEFCNjQgLyog
VHlwZWRPTUNTU051bWVyaWNWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNEJBRkQwREYyMTkyMjBBQjAwQzBBQjY0IC8qIFR5cGVkT01DU1NOdW1l
cmljVmFsdWUuaCAqLzsgfTsKLQkJNEJBRkQwRTEyMTkyNDJBMDAwQzBBQjY0IC8qIFR5cGVkT01D
U1NVbml0VmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDRCQUZEMEREMjE5MjIwOTIwMEMwQUI2NCAvKiBUeXBlZE9NQ1NTVW5pdFZhbHVlLmggKi87
IH07CisJCTRCQUZEMEQ2MjE5MjE0NkIwMEMwQUI2NCAvKiBDU1NTdHlsZVZhbHVlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QkFGRDBENTIxOTIxNDZC
MDBDMEFCNjQgLyogQ1NTU3R5bGVWYWx1ZS5oICovOyB9OworCQk0QkFGRDBEOTIxOTIxRUEwMDBD
MEFCNjQgLyogQ1NTVW5wYXJzZWRWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNEJBRkQwRDgyMTkyMUVBMDAwQzBBQjY0IC8qIENTU1VucGFyc2Vk
VmFsdWUuaCAqLzsgfTsKKwkJNEJBRkQwRTAyMTkyMjBBQjAwQzBBQjY0IC8qIENTU051bWVyaWNW
YWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEJB
RkQwREYyMTkyMjBBQjAwQzBBQjY0IC8qIENTU051bWVyaWNWYWx1ZS5oICovOyB9OworCQk0QkFG
RDBFMTIxOTI0MkEwMDBDMEFCNjQgLyogQ1NTVW5pdFZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QkFGRDBERDIxOTIyMDkyMDBDMEFCNjQgLyog
Q1NTVW5pdFZhbHVlLmggKi87IH07CiAJCTRCRDc4MUJGMjFDMTk2NUYwMEQ5NzAzRSAvKiBTdHls
ZVByb3BlcnR5TWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0QkQ3ODFCRTIxQzE5NjVGMDBEOTcwM0UgLyogU3R5bGVQcm9wZXJ0eU1hcC5oICovOyB9
OwogCQk0QkRBM0ZGRTIxNTFCNkY1MDBGRDY2MDQgLyogRE9NQ1NTQ3VzdG9tUHJvcGVydHlEZXNj
cmlwdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
QkRBM0ZGODIxNTFCNkYyMDBGRDY2MDQgLyogRE9NQ1NTQ3VzdG9tUHJvcGVydHlEZXNjcmlwdG9y
LmggKi87IH07CiAJCTRCREEzRkZGMjE1MUI2RjUwMEZENjYwNCAvKiBET01DU1NSZWdpc3RlckN1
c3RvbVByb3BlcnR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0QkRBM0ZGOTIxNTFCNkYzMDBGRDY2MDQgLyogRE9NQ1NTUmVnaXN0ZXJDdXN0b21Qcm9w
ZXJ0eS5oICovOyB9OwpAQCAtODUzOCw4ICs4NTM4LDggQEAKIAkJNEIzMDQzQ0IwQUUwMzczQjAw
QTgyNjQ3IC8qIEVkaXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRWRp
dG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRCMzQ4MDkxMEVFRjUwRDQwMEFD
MUI0MSAvKiBJbWFnZVNvdXJjZUNHTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gSW1hZ2VTb3VyY2VDR01hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNEIzNDgwOTIwRUVGNTBENDAwQUMxQjQxIC8qIEltYWdlU291cmNlQ0cuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW1hZ2VTb3VyY2VDRy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk0QjQzODY0RDIxOUNENTJEMDBGOEQzQzUgLyogVHlwZWRPTUNTU0lt
YWdlVmFsdWUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IFR5cGVkT01DU1NJbWFnZVZhbHVlLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJNEI0Mzg2NEYyMTlDRDU2MTAwRjhEM0M1IC8qIFR5cGVkT01DU1NJ
bWFnZVZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFR5cGVkT01DU1NJbWFnZVZhbHVlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTRCNDM4NjREMjE5Q0Q1MkQwMEY4RDNDNSAvKiBDU1NT
dHlsZUltYWdlVmFsdWUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENTU1N0eWxlSW1hZ2VWYWx1ZS5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTRCNDM4NjRGMjE5Q0Q1NjEwMEY4RDNDNSAvKiBDU1NTdHls
ZUltYWdlVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTU3R5bGVJbWFnZVZhbHVlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRCNUJERDk5MjE2NTg4RTUwMERENDI2MiAvKiBDU1NQ
YWludENhbGxiYWNrLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDU1NQYWludENhbGxiYWNrLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNEI1QkREOUEyMTY1OEExNTAwREQ0MjYyIC8qIENTU1BhaW50Q2Fs
bGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTUGFpbnRDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0QjZCNUNCNjIxNjNEQzFBMDA2MDM4MTcgLyogRE9NQ1NTTmFtZXNw
YWNlK0NTU1BhaW50aW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSAiRE9NQ1NTTmFtZXNwYWNlK0NTU1BhaW50aW5nLmlk
bCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04NTU4LDE1ICs4NTU4LDE1IEBACiAJ
CTRCQUZEMENEMjE5MEVCRTkwMEMwQUI2NCAvKiBDU1NQYWludFNpemUuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENTU1Bh
aW50U2l6ZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRCQUZEMENFMjE5MEY5
QjQwMEMwQUI2NCAvKiBTdHlsZVByb3BlcnR5TWFwUmVhZE9ubHkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
U3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTRCQUZEMEQwMjE5MEY5QzIwMEMwQUI2NCAvKiBTdHlsZVByb3BlcnR5TWFwUmVhZE9ubHkuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IFN0eWxlUHJvcGVydHlNYXBSZWFkT25seS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTRCQUZEMEQzMjE5MjE0NTYwMEMwQUI2NCAvKiBUeXBlZE9NQ1NTU3R5bGVWYWx1
ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gVHlwZWRPTUNTU1N0eWxlVmFsdWUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQk0QkFGRDBENTIxOTIxNDZCMDBDMEFCNjQgLyogVHlwZWRPTUNTU1N0eWxlVmFs
dWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gVHlwZWRPTUNTU1N0eWxlVmFsdWUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJNEJBRkQwRDcyMTkyMUU3OTAwQzBBQjY0IC8qIFR5cGVkT01DU1NV
bnBhcnNlZFZhbHVlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBUeXBlZE9NQ1NTVW5wYXJzZWRWYWx1ZS5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTRCQUZEMEQ4MjE5MjFFQTAwMEMwQUI2NCAvKiBUeXBl
ZE9NQ1NTVW5wYXJzZWRWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUeXBlZE9NQ1NTVW5wYXJzZWRW
YWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0QkFGRDBEQjIxOTIyMDIyMDBD
MEFCNjQgLyogVHlwZWRPTUNTU051bWVyaWNWYWx1ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gVHlwZWRPTUNTU051bWVy
aWNWYWx1ZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTRCQUZEMERDMjE5MjIw
NEEwMEMwQUI2NCAvKiBUeXBlZE9NQ1NTVW5pdFZhbHVlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBUeXBlZE9NQ1NTVW5p
dFZhbHVlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNEJBRkQwREQyMTkyMjA5
MjAwQzBBQjY0IC8qIFR5cGVkT01DU1NVbml0VmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUeXBlZE9N
Q1NTVW5pdFZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTRCQUZEMERGMjE5
MjIwQUIwMEMwQUI2NCAvKiBUeXBlZE9NQ1NTTnVtZXJpY1ZhbHVlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFR5cGVkT01DU1NOdW1lcmljVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
NEJBRkQwRTIyMTkyNjA0RDAwQzBBQjY0IC8qIEpTVHlwZWRPTUNTU1N0eWxlVmFsdWVDdXN0b20u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNUeXBlZE9NQ1NTU3R5bGVWYWx1ZUN1c3RvbS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTRCQUZEMEQzMjE5MjE0NTYwMEMwQUI2NCAv
KiBDU1NTdHlsZVZhbHVlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDU1NTdHlsZVZhbHVlLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNEJBRkQwRDUyMTkyMTQ2QjAwQzBBQjY0IC8qIENTU1N0eWxlVmFs
dWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTU3R5bGVWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0QkFGRDBENzIxOTIxRTc5MDBDMEFCNjQgLyogQ1NTVW5wYXJzZWRWYWx1ZS5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gQ1NTVW5wYXJzZWRWYWx1ZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTRCQUZEMEQ4MjE5MjFFQTAwMEMwQUI2NCAvKiBDU1NVbnBhcnNlZFZhbHVlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENTU1VucGFyc2VkVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNEJBRkQwREIyMTkyMjAyMjAwQzBBQjY0IC8qIENTU051bWVyaWNWYWx1ZS5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
Q1NTTnVtZXJpY1ZhbHVlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNEJBRkQw
REMyMTkyMjA0QTAwQzBBQjY0IC8qIENTU1VuaXRWYWx1ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQ1NTVW5pdFZhbHVl
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNEJBRkQwREQyMTkyMjA5MjAwQzBB
QjY0IC8qIENTU1VuaXRWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxp
Y2l0RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU1VuaXRWYWx1ZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0QkFGRDBERjIxOTIyMEFCMDBDMEFCNjQgLyogQ1NT
TnVtZXJpY1ZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU051bWVyaWNWYWx1ZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk0QkFGRDBFMjIxOTI2MDREMDBDMEFCNjQgLyogSlNDU1NT
dHlsZVZhbHVlQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ1NTU3R5bGVWYWx1ZUN1
c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRCRDc4MUJDMjFDMTk2NDgw
MEQ5NzAzRSAvKiBTdHlsZVByb3BlcnR5TWFwLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTdHlsZVByb3BlcnR5TWFwLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEJENzgxQkUyMUMxOTY1RjAwRDk3MDNF
IC8qIFN0eWxlUHJvcGVydHlNYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVQcm9wZXJ0eU1hcC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0QkQ3ODFDNTIxQzFENjc3MDBEOTcwM0Ug
LyogU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxl
UHJvcGVydHlNYXBSZWFkT25seS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
NjA5MywxMSArMTYwOTMsMTEgQEAKIAkJRTMxNTBFQTUxREE3MjE4RDAwMTk0MDEyIC8qIERPTUpJ
VEhlbHBlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSklUSGVscGVy
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzFDRDc1MDIyOUY3NDk1MDBGQkRB
MTkgLyogVGFibGVMYXlvdXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGFibGVMYXlvdXQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzIzQ0ZGOTFFNUFGNkE1MDBGMEI0QTAg
LyogSlNET01Db252ZXJ0UHJvbWlzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0RPTUNvbnZlcnRQcm9taXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUUz
MjkyNzVFMjI1NDNGNTcwMDMwOEE5QSAvKiBUeXBlZE9NQ1NTU3R5bGVWYWx1ZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBUeXBlZE9NQ1NTU3R5bGVWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCUUzMjkyNzYwMjI1NDNGNTgwMDMwOEE5QSAvKiBUeXBlZE9NQ1NTSW1hZ2VW
YWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUeXBlZE9NQ1NTSW1hZ2VWYWx1ZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUUzMjkyNzYxMjI1NDNGNTgwMDMwOEE5QSAvKiBU
eXBlZE9NQ1NTVW5wYXJzZWRWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUeXBlZE9NQ1NT
VW5wYXJzZWRWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUUzMjkyNzYy
MjI1NDNGNTgwMDMwOEE5QSAvKiBUeXBlZE9NQ1NTTnVtZXJpY1ZhbHVlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFR5cGVkT01DU1NOdW1lcmljVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQlFMzI5Mjc2MzIyNTQzRjU5MDAzMDhBOUEgLyogVHlwZWRPTUNTU1VuaXRWYWx1
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUeXBlZE9NQ1NTVW5pdFZhbHVlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTMyOTI3NUUyMjU0M0Y1NzAwMzA4QTlBIC8qIENTU1N0
eWxlVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTU3R5bGVWYWx1ZS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzMjkyNzYwMjI1NDNGNTgwMDMwOEE5QSAvKiBDU1NT
dHlsZUltYWdlVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTU3R5bGVJbWFnZVZhbHVl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTMyOTI3NjEyMjU0M0Y1ODAwMzA4
QTlBIC8qIENTU1VucGFyc2VkVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTVW5wYXJz
ZWRWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzMjkyNzYyMjI1NDNG
NTgwMDMwOEE5QSAvKiBDU1NOdW1lcmljVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NT
TnVtZXJpY1ZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTMyOTI3NjMy
MjU0M0Y1OTAwMzA4QTlBIC8qIENTU1VuaXRWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBD
U1NVbml0VmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzI5Mjc2NjIy
NTQzRkRFMDAzMDhBOUEgLyogRE9NUmVjdFJlYWRPbmx5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IERPTVJlY3RSZWFkT25seS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzMzQ4
MjVFMURDOTNBQTAwMDlDOTU0NCAvKiBET01KSVRBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERPTUpJVEFic3RyYWN0SGVhcFJlcG9zaXRv
cnkuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvRE9NSklUQWJzdHJhY3RIZWFwUmVw
b3NpdG9yeS5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQlFMzNEMENC
QzI2NzJFMUIzMDA3NEUxODMgLyogSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMjAwNzQsMjYgKzIwMDc0LDI2IEBACiAJCTRCQUZEMERBMjE5MjFFQUQwMEMwQUI2
NCAvKiB0eXBlZG9tICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgK
KwkJCQlFMzI5Mjc2MjIyNTQzRjU4MDAzMDhBOUEgLyogQ1NTTnVtZXJpY1ZhbHVlLmNwcCAqLywK
KwkJCQk0QkFGRDBERjIxOTIyMEFCMDBDMEFCNjQgLyogQ1NTTnVtZXJpY1ZhbHVlLmggKi8sCisJ
CQkJNEJBRkQwREIyMTkyMjAyMjAwQzBBQjY0IC8qIENTU051bWVyaWNWYWx1ZS5pZGwgKi8sCisJ
CQkJRTMyOTI3NjAyMjU0M0Y1ODAwMzA4QTlBIC8qIENTU1N0eWxlSW1hZ2VWYWx1ZS5jcHAgKi8s
CisJCQkJNEI0Mzg2NEYyMTlDRDU2MTAwRjhEM0M1IC8qIENTU1N0eWxlSW1hZ2VWYWx1ZS5oICov
LAorCQkJCTRCNDM4NjREMjE5Q0Q1MkQwMEY4RDNDNSAvKiBDU1NTdHlsZUltYWdlVmFsdWUuaWRs
ICovLAorCQkJCUUzMjkyNzVFMjI1NDNGNTcwMDMwOEE5QSAvKiBDU1NTdHlsZVZhbHVlLmNwcCAq
LywKKwkJCQk0QkFGRDBENTIxOTIxNDZCMDBDMEFCNjQgLyogQ1NTU3R5bGVWYWx1ZS5oICovLAor
CQkJCTRCQUZEMEQzMjE5MjE0NTYwMEMwQUI2NCAvKiBDU1NTdHlsZVZhbHVlLmlkbCAqLywKKwkJ
CQlFMzI5Mjc2MzIyNTQzRjU5MDAzMDhBOUEgLyogQ1NTVW5pdFZhbHVlLmNwcCAqLywKKwkJCQk0
QkFGRDBERDIxOTIyMDkyMDBDMEFCNjQgLyogQ1NTVW5pdFZhbHVlLmggKi8sCisJCQkJNEJBRkQw
REMyMTkyMjA0QTAwQzBBQjY0IC8qIENTU1VuaXRWYWx1ZS5pZGwgKi8sCisJCQkJRTMyOTI3NjEy
MjU0M0Y1ODAwMzA4QTlBIC8qIENTU1VucGFyc2VkVmFsdWUuY3BwICovLAorCQkJCTRCQUZEMEQ4
MjE5MjFFQTAwMEMwQUI2NCAvKiBDU1NVbnBhcnNlZFZhbHVlLmggKi8sCisJCQkJNEJBRkQwRDcy
MTkyMUU3OTAwQzBBQjY0IC8qIENTU1VucGFyc2VkVmFsdWUuaWRsICovLAogCQkJCTRCRDc4MUJF
MjFDMTk2NUYwMEQ5NzAzRSAvKiBTdHlsZVByb3BlcnR5TWFwLmggKi8sCiAJCQkJNEJENzgxQkMy
MUMxOTY0ODAwRDk3MDNFIC8qIFN0eWxlUHJvcGVydHlNYXAuaWRsICovLAogCQkJCTRCRDc4MUM1
MjFDMUQ2NzcwMEQ5NzAzRSAvKiBTdHlsZVByb3BlcnR5TWFwUmVhZE9ubHkuY3BwICovLAogCQkJ
CTRCQUZEMENFMjE5MEY5QjQwMEMwQUI2NCAvKiBTdHlsZVByb3BlcnR5TWFwUmVhZE9ubHkuaCAq
LywKIAkJCQk0QkFGRDBEMDIxOTBGOUMyMDBDMEFCNjQgLyogU3R5bGVQcm9wZXJ0eU1hcFJlYWRP
bmx5LmlkbCAqLywKLQkJCQlFMzI5Mjc2MDIyNTQzRjU4MDAzMDhBOUEgLyogVHlwZWRPTUNTU0lt
YWdlVmFsdWUuY3BwICovLAotCQkJCTRCNDM4NjRGMjE5Q0Q1NjEwMEY4RDNDNSAvKiBUeXBlZE9N
Q1NTSW1hZ2VWYWx1ZS5oICovLAotCQkJCTRCNDM4NjREMjE5Q0Q1MkQwMEY4RDNDNSAvKiBUeXBl
ZE9NQ1NTSW1hZ2VWYWx1ZS5pZGwgKi8sCi0JCQkJRTMyOTI3NjIyMjU0M0Y1ODAwMzA4QTlBIC8q
IFR5cGVkT01DU1NOdW1lcmljVmFsdWUuY3BwICovLAotCQkJCTRCQUZEMERGMjE5MjIwQUIwMEMw
QUI2NCAvKiBUeXBlZE9NQ1NTTnVtZXJpY1ZhbHVlLmggKi8sCi0JCQkJNEJBRkQwREIyMTkyMjAy
MjAwQzBBQjY0IC8qIFR5cGVkT01DU1NOdW1lcmljVmFsdWUuaWRsICovLAotCQkJCUUzMjkyNzVF
MjI1NDNGNTcwMDMwOEE5QSAvKiBUeXBlZE9NQ1NTU3R5bGVWYWx1ZS5jcHAgKi8sCi0JCQkJNEJB
RkQwRDUyMTkyMTQ2QjAwQzBBQjY0IC8qIFR5cGVkT01DU1NTdHlsZVZhbHVlLmggKi8sCi0JCQkJ
NEJBRkQwRDMyMTkyMTQ1NjAwQzBBQjY0IC8qIFR5cGVkT01DU1NTdHlsZVZhbHVlLmlkbCAqLywK
LQkJCQlFMzI5Mjc2MzIyNTQzRjU5MDAzMDhBOUEgLyogVHlwZWRPTUNTU1VuaXRWYWx1ZS5jcHAg
Ki8sCi0JCQkJNEJBRkQwREQyMTkyMjA5MjAwQzBBQjY0IC8qIFR5cGVkT01DU1NVbml0VmFsdWUu
aCAqLywKLQkJCQk0QkFGRDBEQzIxOTIyMDRBMDBDMEFCNjQgLyogVHlwZWRPTUNTU1VuaXRWYWx1
ZS5pZGwgKi8sCi0JCQkJRTMyOTI3NjEyMjU0M0Y1ODAwMzA4QTlBIC8qIFR5cGVkT01DU1NVbnBh
cnNlZFZhbHVlLmNwcCAqLywKLQkJCQk0QkFGRDBEODIxOTIxRUEwMDBDMEFCNjQgLyogVHlwZWRP
TUNTU1VucGFyc2VkVmFsdWUuaCAqLywKLQkJCQk0QkFGRDBENzIxOTIxRTc5MDBDMEFCNjQgLyog
VHlwZWRPTUNTU1VucGFyc2VkVmFsdWUuaWRsICovLAogCQkJKTsKIAkJCXBhdGggPSB0eXBlZG9t
OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTIyNjIwLDYgKzIyNjIwLDcgQEAKIAkJ
CQk5MzkyMjYyRTEwMzIxMDg0MDA2RTdENUQgLyogSlNDU1NSdWxlTGlzdEN1c3RvbS5jcHAgKi8s
CiAJCQkJQkM1ODI1RjIwQzBCODkzODAwNTNGMUI1IC8qIEpTQ1NTU3R5bGVEZWNsYXJhdGlvbkN1
c3RvbS5jcHAgKi8sCiAJCQkJQUQ3MjZGRUExNkQ5RjQwQjAwM0E0RTZEIC8qIEpTQ1NTU3R5bGVE
ZWNsYXJhdGlvbkN1c3RvbS5oICovLAorCQkJCTRCQUZEMEUyMjE5MjYwNEQwMEMwQUI2NCAvKiBK
U0NTU1N0eWxlVmFsdWVDdXN0b20uY3BwICovLAogCQkJCUJDMjBGQjdFMEMwRThFNkMwMEQxNDQ3
RiAvKiBKU0RlcHJlY2F0ZWRDU1NPTVZhbHVlQ3VzdG9tLmNwcCAqLywKIAkJCQk0OUM3QkE4QzEw
NDJGNUIxMDAwOUQ0NDcgLyogSlNEb2N1bWVudEN1c3RvbS5jcHAgKi8sCiAJCQkJQUREQTk0QkYx
OTY4NkY4MDAwNDUzMDI5IC8qIEpTRG9jdW1lbnRDdXN0b20uaCAqLywKQEAgLTIyNjc2LDcgKzIy
Njc3LDYgQEAKIAkJCQkwNzAzMzRFODE0NUExRjM1MDA4RDhENDUgLyogSlNUcmFja0N1c3RvbS5j
cHAgKi8sCiAJCQkJMDc4NDYzODQxNDVCMUI4RTAwQTU4REYxIC8qIEpTVHJhY2tDdXN0b20uaCAq
LywKIAkJCQk1MTZCQjc5MjBDRTkxRTY4MDA1MTJGNzkgLyogSlNUcmVlV2Fsa2VyQ3VzdG9tLmNw
cCAqLywKLQkJCQk0QkFGRDBFMjIxOTI2MDREMDBDMEFCNjQgLyogSlNUeXBlZE9NQ1NTU3R5bGVW
YWx1ZUN1c3RvbS5jcHAgKi8sCiAJCQkJRjRFMTk2NUEyMUYyMzk1MDAwMjg1MDc4IC8qIEpTVW5k
b0l0ZW1DdXN0b20uY3BwICovLAogCQkJCTcxNURBNUQzMjAxQkI5MDIwMDJFRjJCMCAvKiBKU1dl
YkFuaW1hdGlvbkN1c3RvbS5jcHAgKi8sCiAJCQkJRDNGM0QzNTkxQTY5QTNCMDAwNTlGQzJCIC8q
IEpTV2ViR0wyUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAgKi8sCkBAIC0zMTUwMCw2ICszMTUw
MCw3IEBACiAJCQkJQTgwRTZEMDMwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU01lZGlhUnVsZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMzE0QkUzQTExQjMwRjZCNzAwMTQxOTgyIC8qIENTU05hbWVkSW1h
Z2VWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTRFODM5NTExREZCMkEwRTAwN0JDNkE3IC8q
IENTU05hbWVzcGFjZVJ1bGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTRCQUZEMEUwMjE5MjIwQUIw
MEMwQUI2NCAvKiBDU1NOdW1lcmljVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MEU2RDAw
MEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NQYWdlUnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEI1
QkREOUIyMTY1OEExNTAwREQ0MjYyIC8qIENTU1BhaW50Q2FsbGJhY2suaCBpbiBIZWFkZXJzICov
LAogCQkJCTRCNkU4NzY5MjE3NkQ2OTIwMDQyMEU1RSAvKiBDU1NQYWludEltYWdlVmFsdWUuaCBp
biBIZWFkZXJzICovLApAQCAtMzE1MzgsOCArMzE1MzksMTAgQEAKIAkJCQk5NERFNUM4RTFEODA4
MDI3MDAxNjRGMkEgLyogQ1NTU2VsZWN0b3JQYXJzZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4
MEU2Q0U4MEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NTaGFkb3dWYWx1ZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQTgwRTZFMEYwQTE5OTExQzAwN0ZCOEM1IC8qIENTU1N0eWxlRGVjbGFyYXRpb24uaCBp
biBIZWFkZXJzICovLAorCQkJCTRCNDM4NjUwMjE5Q0Q1NjEwMEY4RDNDNSAvKiBDU1NTdHlsZUlt
YWdlVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MEU2RDBDMEExOTg5Q0EwMDdGQjhDNSAv
KiBDU1NTdHlsZVJ1bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4RUE4MDA3MEExOTUxNkUwMEE4
RUY1RiAvKiBDU1NTdHlsZVNoZWV0LmggaW4gSGVhZGVycyAqLywKKwkJCQk0QkFGRDBENjIxOTIx
NDZCMDBDMEFCNjQgLyogQ1NTU3R5bGVWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTRERTVD
OTIxRDgzMDExRDAwMTY0RjJBIC8qIENTU1N1cHBvcnRzUGFyc2VyLmggaW4gSGVhZGVycyAqLywK
IAkJCQlGQzU0RDA1NzE2QTc2NzMxMDA1NzVFNEQgLyogQ1NTU3VwcG9ydHNSdWxlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQzgwQzk4ODBDRDI5NEVFMDBBMEI3QjMgLyogQ1NTVGltaW5nRnVuY3Rp
b25WYWx1ZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMTU1MCw3ICszMTU1Myw5IEBACiAJCQkJNzE1
QUQ3MjEyMDUwNTEzRjAwRDU5MkRDIC8qIENTU1RyYW5zaXRpb24uaCBpbiBIZWFkZXJzICovLAog
CQkJCTM3MUY1M0U5MEQyNzA0RjkwMEVDRTBENSAvKiBDU1NVbmljb2RlUmFuZ2VWYWx1ZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMEY2QjcwN0EyMzdCQzM2RDAwNTJDQTQ3IC8qIENTU1VuaXRzLmgg
aW4gSGVhZGVycyAqLywKKwkJCQk0QkFGRDBFMTIxOTI0MkEwMDBDMEFCNjQgLyogQ1NTVW5pdFZh
bHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlERDdDREYyNTBBMjNDRjk4MDAwNjk5MjggLyogQ1NT
VW5rbm93blJ1bGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTRCQUZEMEQ5MjE5MjFFQTAwMEMwQUI2
NCAvKiBDU1NVbnBhcnNlZFZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzdEOEZGMDFCRDAz
QjY0MDBGRkU1NDAgLyogQ1NTVW5zZXRWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgwRTZD
RUUwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU1ZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFM0JC
QzI0NzIzODM1NTI2MDA2RUMzOUYgLyogQ1NTVmFsdWVLZXkuaCBpbiBIZWFkZXJzICovLApAQCAt
MzUwMzcsMTEgKzM1MDQyLDYgQEAKIAkJCQk4NTRGRTczOTBBMjI5N0JFMDA1OEQ3QUQgLyogVHJl
ZVdhbGtlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzM3NUQ3RkUxNjYzOTUxOTAwNjE4NEFCIC8q
IFR5cGVBaGVhZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ2QTJCMUMxN0NBNjVCOTAwMERCQ0Q4
IC8qIFR5cGVkRWxlbWVudERlc2NlbmRhbnRJdGVyYXRvci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
NEI0Mzg2NTAyMTlDRDU2MTAwRjhEM0M1IC8qIFR5cGVkT01DU1NJbWFnZVZhbHVlLmggaW4gSGVh
ZGVycyAqLywKLQkJCQk0QkFGRDBFMDIxOTIyMEFCMDBDMEFCNjQgLyogVHlwZWRPTUNTU051bWVy
aWNWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNEJBRkQwRDYyMTkyMTQ2QjAwQzBBQjY0IC8q
IFR5cGVkT01DU1NTdHlsZVZhbHVlLmggaW4gSGVhZGVycyAqLywKLQkJCQk0QkFGRDBFMTIxOTI0
MkEwMDBDMEFCNjQgLyogVHlwZWRPTUNTU1VuaXRWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
NEJBRkQwRDkyMTkyMUVBMDAwQzBBQjY0IC8qIFR5cGVkT01DU1NVbnBhcnNlZFZhbHVlLmggaW4g
SGVhZGVycyAqLywKIAkJCQk5MzMwOUUxQTA5OUU2NDkyMDA1NkU1ODEgLyogVHlwaW5nQ29tbWFu
ZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTcxNTJCNkUyMUNEOTk1RDAwMEMzN0NBIC8qIFUyZkNv
bW1hbmRDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTcxNTJCN0MyMUREOEJBMTAw
MEMzN0NBIC8qIFUyZlJlc3BvbnNlQ29udmVydGVyLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTU3R5bGVWYWx1ZUN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1N0eWxlVmFsdWVDdXN0b20uY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjVjNTQ1M2ViMTg4ZWNmNzQ0YTg3OTQ4ZjkzODk1OWYzODExMTI0MjkKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1N0eWxlVmFsdWVD
dXN0b20uY3BwCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNDU1NTdHls
ZVZhbHVlLmgiCisKKyNpZiBFTkFCTEUoQ1NTX1RZUEVEX09NKQorCisjaW5jbHVkZSAiSlNDU1NT
dHlsZUltYWdlVmFsdWUuaCIKKyNpbmNsdWRlICJKU0NTU1VuaXRWYWx1ZS5oIgorI2luY2x1ZGUg
IkpTQ1NTVW5wYXJzZWRWYWx1ZS5oIgorI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK0pTVmFsdWUgdG9K
U05ld2x5Q3JlYXRlZChKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIFJlZjxDU1NTdHlsZVZhbHVlPiYmIHZhbHVlKQoreworICAgIGlmICh2YWx1ZS0+aXNV
bml0VmFsdWUoKSkKKyAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTVW5pdFZhbHVlPihn
bG9iYWxPYmplY3QsIFdURk1vdmUodmFsdWUpKTsKKyAgICBpZiAodmFsdWUtPmlzVW5wYXJzZWRW
YWx1ZSgpKQorICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NVbnBhcnNlZFZhbHVlPihn
bG9iYWxPYmplY3QsIFdURk1vdmUodmFsdWUpKTsKKyAgICBpZiAodmFsdWUtPmlzSW1hZ2VWYWx1
ZSgpKQorICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NTdHlsZUltYWdlVmFsdWU+KGds
b2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1ZSkpOworCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTU3R5bGVWYWx1ZT4oZ2xvYmFsT2JqZWN0LCBX
VEZNb3ZlKHZhbHVlKSk7Cit9CisKK0pTVmFsdWUgdG9KUyhKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ1NTU3R5bGVW
YWx1ZSYgb2JqZWN0KQoreworICAgIHJldHVybiB3cmFwKGxleGljYWxHbG9iYWxPYmplY3QsIGds
b2JhbE9iamVjdCwgb2JqZWN0KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVHlwZWRPTUNTU1N0
eWxlVmFsdWVDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUeXBlZE9N
Q1NTU3R5bGVWYWx1ZUN1c3RvbS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFl
NmVmYmQwYjJmZjNhOWU2MWU4ZjM3MGRiZTI3MDExOGNmNTdiZmMuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNUeXBlZE9NQ1NTU3R5bGVWYWx1ZUN1c3RvbS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw1OSAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
Ci0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lu
Y2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkpTVHlwZWRPTUNTU1N0eWxlVmFsdWUuaCIKLQot
I2lmIEVOQUJMRShDU1NfVFlQRURfT00pCi0KLSNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5o
IgotI2luY2x1ZGUgIkpTVHlwZWRPTUNTU0ltYWdlVmFsdWUuaCIKLSNpbmNsdWRlICJKU1R5cGVk
T01DU1NVbml0VmFsdWUuaCIKLSNpbmNsdWRlICJKU1R5cGVkT01DU1NVbnBhcnNlZFZhbHVlLmgi
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0KLUpTVmFsdWUg
dG9KU05ld2x5Q3JlYXRlZChKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFJlZjxUeXBlZE9NQ1NTU3R5bGVWYWx1ZT4mJiB2YWx1ZSkKLXsKLSAgICBpZiAo
dmFsdWUtPmlzVW5pdFZhbHVlKCkpCi0gICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFR5cGVk
T01DU1NVbml0VmFsdWU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1ZSkpOwotICAgIGlmICh2
YWx1ZS0+aXNVbnBhcnNlZFZhbHVlKCkpCi0gICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFR5
cGVkT01DU1NVbnBhcnNlZFZhbHVlPihnbG9iYWxPYmplY3QsIFdURk1vdmUodmFsdWUpKTsKLSAg
ICBpZiAodmFsdWUtPmlzSW1hZ2VWYWx1ZSgpKQotICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBl
cjxUeXBlZE9NQ1NTSW1hZ2VWYWx1ZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHZhbHVlKSk7Ci0K
LSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUeXBl
ZE9NQ1NTU3R5bGVWYWx1ZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHZhbHVlKSk7Ci19Ci0KLUpT
VmFsdWUgdG9KUyhKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNET01HbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVHlwZWRPTUNTU1N0eWxlVmFsdWUmIG9iamVjdCkKLXsK
LSAgICByZXR1cm4gd3JhcChsZXhpY2FsR2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QsIG9iamVj
dCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NOdW1lcmljVmFsdWUuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL3R5cGVkb20vQ1NTTnVtZXJpY1ZhbHVlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNjFjMjgx
YWNlYjU2ZjczOTdlMDY4OTZiMThlMzAxOTQzZDUyMWM2Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTTnVtZXJpY1ZhbHVlLmNwcApAQCAtMCwwICsxLDQz
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
CisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZworICogICAgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAg
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSIOKAnEFTIElT4oCdIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksCisgKiBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SCisgKiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YKKyAqIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICog
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNTU051
bWVyaWNWYWx1ZS5oIgorCisjaWYgRU5BQkxFKENTU19UWVBFRF9PTSkKKworI2luY2x1ZGUgPHd0
Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01BS0Vf
SVNPX0FMTE9DQVRFRF9JTVBMKENTU051bWVyaWNWYWx1ZSk7CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9D
U1NOdW1lcmljVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU051bWVyaWNW
YWx1ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmFhODdlZDY2ZTZlZTA3MmJmZTQ2NTFiYmJjOGY4ZmMwYmZjYzg0
YzMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NOdW1l
cmljVmFsdWUuaApAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQ1NTX1RZUEVEX09N
KQorCisjaW5jbHVkZSAiQ1NTU3R5bGVWYWx1ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIENTU051bWVyaWNWYWx1ZSA6IHB1YmxpYyBDU1NTdHlsZVZhbHVlIHsKKyAgICBXVEZf
TUFLRV9JU09fQUxMT0NBVEVEKENTU051bWVyaWNWYWx1ZSk7Citwcm90ZWN0ZWQ6CisgICAgQ1NT
TnVtZXJpY1ZhbHVlKCkgPSBkZWZhdWx0OworfTsKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NOdW1lcmlj
VmFsdWUuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTTnVtZXJpY1ZhbHVlLmlk
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45MTYwNDkzNTc2MDRjMjYyNWZkZGViYTc5N2Q1YWFiYmI1YTU4ZGQxCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTTnVtZXJpY1Zh
bHVlLmlkbApAQCAtMCwwICsxLDMyIEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
KiBhcmUgbWV0OgorKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCitbCisgICAg
SW50ZXJmYWNlTmFtZT1DU1NOdW1lcmljVmFsdWUsCisgICAgRW5hYmxlZEF0UnVudGltZT1DU1NU
eXBlZE9NLAorICAgIENvbmRpdGlvbmFsPUNTU19UWVBFRF9PTSwKKyAgICBFeHBvc2VkPShXaW5k
b3csV29ya2VyLFBhaW50V29ya2xldCksCitdIGludGVyZmFjZSBDU1NOdW1lcmljVmFsdWUgOiBD
U1NTdHlsZVZhbHVlIHsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRv
bS9DU1NTdHlsZUltYWdlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NT
U3R5bGVJbWFnZVZhbHVlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YWMxNjlkNWZkN2E0MWZlMjUwZDlkMDFl
NzhlZGE4MzdjYWNlMGViCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5
cGVkb20vQ1NTU3R5bGVJbWFnZVZhbHVlLmNwcApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisgKiAgICBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICog
ICAgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAgIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSIOKAnEFTIElT4oCdIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgSE9MREVSIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksCisgKiBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SCisgKiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YKKyAqIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNTU1N0eWxlSW1hZ2VWYWx1ZS5o
IgorCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKworI2lmIEVOQUJMRShDU1NfVFlQRURfT00pCisK
KyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChDU1NTdHlsZUltYWdlVmFsdWUpOworCitD
U1NTdHlsZUltYWdlVmFsdWU6OkNTU1N0eWxlSW1hZ2VWYWx1ZShDU1NJbWFnZVZhbHVlJiBjc3NW
YWx1ZSwgRG9jdW1lbnQmIGRvY3VtZW50KQorICAgIDogbV9jc3NWYWx1ZShtYWtlUmVmKGNzc1Zh
bHVlKSkKKyAgICAsIG1fZG9jdW1lbnQobWFrZVdlYWtQdHIoZG9jdW1lbnQpKQoreworfQorCitE
b2N1bWVudCogQ1NTU3R5bGVJbWFnZVZhbHVlOjpkb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1f
ZG9jdW1lbnQuZ2V0KCk7IH0KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1N0eWxlSW1hZ2VWYWx1ZS5o
IGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTU3R5bGVJbWFnZVZhbHVlLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMmZiNWNiNDgyMDFiNmY0NWUzMGY1MTQxMThkNTIxZmY2OGU5MGUxOQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1N0eWxlSW1hZ2VWYWx1ZS5o
CkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShDU1NfVFlQRURfT00pCisKKyNpbmNs
dWRlICJDU1NJbWFnZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTU3R5bGVWYWx1ZS5oIgorI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KKyNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdDb25jYXRlbmF0ZU51bWJlcnMuaD4KKyNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEb2N1bWVudDsK
KworY2xhc3MgQ1NTU3R5bGVJbWFnZVZhbHVlIGZpbmFsIDogcHVibGljIENTU1N0eWxlVmFsdWUg
eworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ1NTU3R5bGVJbWFnZVZhbHVlKTsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUmVmPENTU1N0eWxlSW1hZ2VWYWx1ZT4gY3JlYXRlKENTU0ltYWdlVmFs
dWUmIGNzc1ZhbHVlLCBEb2N1bWVudCYgZG9jdW1lbnQpCisgICAgeworICAgICAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBDU1NTdHlsZUltYWdlVmFsdWUoY3NzVmFsdWUsIGRvY3VtZW50KSk7Cisg
ICAgfQorCisgICAgU3RyaW5nIHRvU3RyaW5nKCkgZmluYWwgeyByZXR1cm4gbV9jc3NWYWx1ZS0+
Y3NzVGV4dCgpOyB9CisKKyAgICBDYWNoZWRJbWFnZSogaW1hZ2UoKSB7IHJldHVybiBtX2Nzc1Zh
bHVlLT5jYWNoZWRJbWFnZSgpOyB9CisgICAgRG9jdW1lbnQqIGRvY3VtZW50KCkgY29uc3Q7CisK
K3ByaXZhdGU6CisgICAgQ1NTU3R5bGVJbWFnZVZhbHVlKENTU0ltYWdlVmFsdWUmLCBEb2N1bWVu
dCYpOworCisgICAgYm9vbCBpc0ltYWdlVmFsdWUoKSBmaW5hbCB7IHJldHVybiB0cnVlOyB9CisK
KyAgICBSZWY8Q1NTSW1hZ2VWYWx1ZT4gbV9jc3NWYWx1ZTsKKyAgICBXZWFrUHRyPERvY3VtZW50
PiBtX2RvY3VtZW50OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1N0eWxlSW1hZ2VWYWx1ZS5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZUltYWdlVmFsdWUuaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjMwZDVlZWU4ZDJmMGNkMDRmMTJkN2ZhYmI2YzdlZmMyNmJlMWMyY2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZUltYWdlVmFs
dWUuaWRsCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJ
bmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisq
IGFyZSBtZXQ6CisqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKK1sKKyAgICBJ
bnRlcmZhY2VOYW1lPUNTU0ltYWdlVmFsdWUsCisgICAgRW5hYmxlZEF0UnVudGltZT1DU1NUeXBl
ZE9NLAorICAgIENvbmRpdGlvbmFsPUNTU19UWVBFRF9PTSwKKyAgICBFeHBvc2VkPShXaW5kb3cs
V29ya2VyLFBhaW50V29ya2xldCksCisgICAgSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0LAorXSBp
bnRlcmZhY2UgQ1NTU3R5bGVJbWFnZVZhbHVlIDogQ1NTU3R5bGVWYWx1ZSB7Cit9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVlLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OWM1
NWYyODhlMGI2Nzg0NDVjM2E0NjQ1YWE0ZjNjMmJjYmRmM2MyCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5jcHAKQEAgLTAsMCArMSw0
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzCisgKiAg
ICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUiDigJxBUyBJU+KAnSBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBCRQorICogTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLAorICogT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUgorICogVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GCisgKiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAq
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NT
dHlsZVZhbHVlLmgiCisKKyNpZiBFTkFCTEUoQ1NTX1RZUEVEX09NKQorCisjaW5jbHVkZSA8d3Rm
L0lzb01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9J
U09fQUxMT0NBVEVEX0lNUEwoQ1NTU3R5bGVWYWx1ZSk7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NT
dHlsZVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVlLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTU2MGE2ZDI4NTEyODdiMzRlZTkwZThmMzU4ODFiNzJiMWQ3NDY0MAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1N0eWxlVmFsdWUu
aApAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQ1NTX1RZUEVEX09NKQorCisjaW5j
bHVkZSAiU2NyaXB0V3JhcHBhYmxlLmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitj
bGFzcyBDU1NTdHlsZVZhbHVlIDogcHVibGljIFJlZkNvdW50ZWQ8Q1NTU3R5bGVWYWx1ZT4sIHB1
YmxpYyBTY3JpcHRXcmFwcGFibGUgeworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ1NTU3R5
bGVWYWx1ZSk7CitwdWJsaWM6CisgICAgdmlydHVhbCB+Q1NTU3R5bGVWYWx1ZSgpID0gZGVmYXVs
dDsKKyAgICB2aXJ0dWFsIFN0cmluZyB0b1N0cmluZygpID0gMDsKKworICAgIHZpcnR1YWwgYm9v
bCBpc1VuaXRWYWx1ZSgpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIGlzVW5w
YXJzZWRWYWx1ZSgpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIGlzSW1hZ2VW
YWx1ZSgpIHsgcmV0dXJuIGZhbHNlOyB9CisKK3Byb3RlY3RlZDoKKyAgICBDU1NTdHlsZVZhbHVl
KCkgPSBkZWZhdWx0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1N0eWxlVmFsdWUuaWRsIGIv
U291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NWQwMTMzZDZjMDg5MWVjZTAxNWJmMmY0ZmE1YmY2NjI2MWJlYmNiOAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1N0eWxlVmFsdWUuaWRsCkBAIC0wLDAg
KzEsMzUgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuICBBbGwgcmlnaHRz
IHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKK1sKKyAgICBJbnRlcmZhY2VOYW1lPUNT
U1N0eWxlVmFsdWUsCisgICAgQ3VzdG9tVG9KU09iamVjdCwKKyAgICBFbmFibGVkQXRSdW50aW1l
PUNTU1R5cGVkT00sCisgICAgQ29uZGl0aW9uYWw9Q1NTX1RZUEVEX09NLAorICAgIEV4cG9zZWQ9
KFdpbmRvdyxXb3JrZXIsUGFpbnRXb3JrbGV0KSwKKyAgICBTa2lwVlRhYmxlVmFsaWRhdGlvbiwK
K10gaW50ZXJmYWNlIENTU1N0eWxlVmFsdWUgeworICAgIHN0cmluZ2lmaWVyOworfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1VuaXRWYWx1ZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NVbml0VmFsdWUuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI3NjA1
NGZkZGQ0YjAzMjFlMmNiMDUyNDVhOGRlZGMxNDFmZmMxOGEKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NVbml0VmFsdWUuY3BwCkBAIC0wLDAgKzEsNDMg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUK
KyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscworICogICAg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVIg4oCcQVMgSVPigJ0gQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwKKyAqIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IKKyAqIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRgorICogVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ1NTVW5p
dFZhbHVlLmgiCisKKyNpZiBFTkFCTEUoQ1NTX1RZUEVEX09NKQorCisjaW5jbHVkZSA8d3RmL0lz
b01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09f
QUxMT0NBVEVEX0lNUEwoQ1NTVW5pdFZhbHVlKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1VuaXRW
YWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTVW5pdFZhbHVlLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNGJmYjFkMTc5ZGU4ZTNkNGI1NmM2ZTVmOWU0ODU1MDJkOTA5MjExMgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1VuaXRWYWx1ZS5oCkBAIC0w
LDAgKzEsNjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShDU1NfVFlQRURfT00pCisKKyNpbmNsdWRlICJD
U1NOdW1lcmljVmFsdWUuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUg
PHd0Zi90ZXh0L1N0cmluZ0NvbmNhdGVuYXRlTnVtYmVycy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENTU1VuaXRWYWx1
ZSBmaW5hbCA6IHB1YmxpYyBDU1NOdW1lcmljVmFsdWUgeworICAgIFdURl9NQUtFX0lTT19BTExP
Q0FURUQoQ1NTVW5pdFZhbHVlKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPENTU1VuaXRWYWx1
ZT4gY3JlYXRlKGRvdWJsZSB2YWx1ZSwgY29uc3QgU3RyaW5nJiB1bml0KQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTVW5pdFZhbHVlKHZhbHVlLCB1bml0KSk7CisgICAg
fQorCisgICAgLy8gRklYTUU6IG5vdCBjb3JyZWN0LgorICAgIFN0cmluZyB0b1N0cmluZygpIGZp
bmFsIHsgcmV0dXJuIG1ha2VTdHJpbmcoKGludCkgbV92YWx1ZSwgbV91bml0KTsgfQorCisgICAg
ZG91YmxlIHZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZTsgfQorICAgIHZvaWQgc2V0VmFs
dWUoZG91YmxlIHZhbHVlKSB7IG1fdmFsdWUgPSB2YWx1ZTsgfQorICAgIGNvbnN0IFN0cmluZyYg
dW5pdCgpIGNvbnN0IHsgcmV0dXJuIG1fdW5pdDsgfQorICAgIHZvaWQgc2V0VW5pdChjb25zdCBT
dHJpbmcmIHVuaXQpIHsgbV91bml0ID0gdW5pdDsgfQorCitwcml2YXRlOgorICAgIENTU1VuaXRW
YWx1ZShkb3VibGUgdmFsdWUsIGNvbnN0IFN0cmluZyYgdW5pdCkKKyAgICAgICAgOiBtX3ZhbHVl
KHZhbHVlKQorICAgICAgICAsIG1fdW5pdCh1bml0KQorICAgIHsKKyAgICB9CisKKyAgICBib29s
IGlzVW5pdFZhbHVlKCkgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQorCisgICAgZG91YmxlIG1fdmFs
dWU7CisgICAgU3RyaW5nIG1fdW5pdDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NVbml0VmFs
dWUuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTVW5pdFZhbHVlLmlkbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YjUzZWFkMzYwMzFmMDZmMmRmMDA0OTM5MDVkNDU5NTc3NzUyMzllCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTVW5pdFZhbHVlLmlkbApA
QCAtMCwwICsxLDM2IEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiAgQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworKiBhcmUgbWV0
OgorKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCitbCisgICAgSW50ZXJmYWNl
TmFtZT1DU1NVbml0VmFsdWUsCisgICAgRW5hYmxlZEF0UnVudGltZT1DU1NUeXBlZE9NLAorICAg
IENvbmRpdGlvbmFsPUNTU19UWVBFRF9PTSwKKyAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyLFBh
aW50V29ya2xldCksCitdIGludGVyZmFjZSBDU1NVbml0VmFsdWUgOiBDU1NOdW1lcmljVmFsdWUg
eworICAgIGNvbnN0cnVjdG9yKGRvdWJsZSB2YWx1ZSwgVVNWU3RyaW5nIHVuaXQpOworCisgICAg
YXR0cmlidXRlIGRvdWJsZSB2YWx1ZTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5n
IHVuaXQ7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTVW5w
YXJzZWRWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NVbnBhcnNlZFZh
bHVlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zYTMzMTQxNWRlMzM0YmUyN2E3ZGU0MjExODc5ODEyZGQ1MDNk
ZmQ5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTVW5w
YXJzZWRWYWx1ZS5jcHAKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
OSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzCisgKiAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUiDigJxBUyBJU+KAnSBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhP
TERFUiBCRQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLAorICogT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUgor
ICogVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GCisgKiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NVbnBhcnNlZFZhbHVlLmgiCisKKyNpZiBFTkFCTEUo
Q1NTX1RZUEVEX09NKQorCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoQ1NTVW5wYXJz
ZWRWYWx1ZSk7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NVbnBhcnNlZFZhbHVlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NVbnBhcnNlZFZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjFlNWY1
N2M5MjhkZmY5Yzk0ODFiYzA5YmQxM2Y2ZmEwZWIyNTEzMQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1VucGFyc2VkVmFsdWUuaApAQCAtMCwwICsxLDU5
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpZiBFTkFCTEUoQ1NTX1RZUEVEX09NKQorCisjaW5jbHVkZSAiQ1NTU3R5bGVW
YWx1ZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ1NTVW5wYXJzZWRW
YWx1ZSBmaW5hbCA6IHB1YmxpYyBDU1NTdHlsZVZhbHVlIHsKKyAgICBXVEZfTUFLRV9JU09fQUxM
T0NBVEVEKENTU1VucGFyc2VkVmFsdWUpOworcHVibGljOgorICAgIHN0YXRpYyBSZWY8Q1NTVW5w
YXJzZWRWYWx1ZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgc2VyaWFsaXplZFZhbHVlKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTVW5wYXJzZWRWYWx1ZShzZXJpYWxpemVk
VmFsdWUpKTsKKyAgICB9CisKKyAgICBTdHJpbmcgdG9TdHJpbmcoKSBmaW5hbCB7IHJldHVybiBt
X3NlcmlhbGl6ZWRWYWx1ZTsgfQorCitwcml2YXRlOgorICAgIGV4cGxpY2l0IENTU1VucGFyc2Vk
VmFsdWUoY29uc3QgU3RyaW5nJiBzZXJpYWxpemVkVmFsdWUpCisgICAgICAgIDogbV9zZXJpYWxp
emVkVmFsdWUoc2VyaWFsaXplZFZhbHVlKQorICAgIHsKKyAgICB9CisKKyAgICBib29sIGlzVW5w
YXJzZWRWYWx1ZSgpIGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKworICAgIFN0cmluZyBtX3Nlcmlh
bGl6ZWRWYWx1ZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NVbnBhcnNlZFZhbHVlLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1VucGFyc2VkVmFsdWUuaWRsCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYyZGUxYjVkY2FjMGE2ODEwZmM0MjRlNWU1MDhlNTllOGZkOWVkNjMKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NVbnBhcnNlZFZhbHVlLmlkbApA
QCAtMCwwICsxLDM0IEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiAgQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworKiBhcmUgbWV0
OgorKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisvLyBGSVhNRTogd3Jvbmcg
Y29uc3RydWN0b3IuCitbCisgICAgSW50ZXJmYWNlTmFtZT1DU1NVbnBhcnNlZFZhbHVlLAorICAg
IEVuYWJsZWRBdFJ1bnRpbWU9Q1NTVHlwZWRPTSwKKyAgICBDb25kaXRpb25hbD1DU1NfVFlQRURf
T00sCisgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlcixQYWludFdvcmtsZXQpLAorXSBpbnRlcmZh
Y2UgQ1NTVW5wYXJzZWRWYWx1ZSA6IENTU1N0eWxlVmFsdWUgeworICAgIGNvbnN0cnVjdG9yKFVT
VlN0cmluZyBzZXJpYWxpemVkVmFsdWUpOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy90eXBlZG9tL1N0eWxlUHJvcGVydHlNYXBSZWFkT25seS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvdHlwZWRvbS9TdHlsZVByb3BlcnR5TWFwUmVhZE9ubHkuY3BwCmluZGV4IGFkZGYzYTgy
NTExNTQ4MDk1MzJmNDdmYzc5M2NjMjZkZDYxZTM2ZjMuLjJiNjJiODE1YjQ4OWM0ZDVmM2IxZTJj
NGZmZWM4NGU3YzExMGJiODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L1N0eWxlUHJvcGVydHlNYXBSZWFkT25seS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5
cGVkb20vU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5LmNwcApAQCAtMzUsMzEgKzM1LDMxIEBACiAj
aW5jbHVkZSAiQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ltYWdlVmFs
dWUuaCIKICNpbmNsdWRlICJDU1NQcmltaXRpdmVWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU1N0eWxl
SW1hZ2VWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU1N0eWxlVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NV
bml0VmFsdWUuaCIKKyNpbmNsdWRlICJDU1NVbnBhcnNlZFZhbHVlLmgiCiAjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKLSNpbmNsdWRlICJUeXBlZE9NQ1NTSW1hZ2VWYWx1ZS5oIgotI2luY2x1ZGUgIlR5
cGVkT01DU1NTdHlsZVZhbHVlLmgiCi0jaW5jbHVkZSAiVHlwZWRPTUNTU1VuaXRWYWx1ZS5oIgot
I2luY2x1ZGUgIlR5cGVkT01DU1NVbnBhcnNlZFZhbHVlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotUmVmUHRyPFR5cGVkT01DU1NTdHlsZVZhbHVlPiBTdHlsZVByb3BlcnR5TWFwUmVhZE9u
bHk6OnJlaWZ5VmFsdWUoQ1NTVmFsdWUqIHZhbHVlLCBEb2N1bWVudCYgZG9jdW1lbnQsIEVsZW1l
bnQqKQorUmVmUHRyPENTU1N0eWxlVmFsdWU+IFN0eWxlUHJvcGVydHlNYXBSZWFkT25seTo6cmVp
ZnlWYWx1ZShDU1NWYWx1ZSogdmFsdWUsIERvY3VtZW50JiBkb2N1bWVudCwgRWxlbWVudCopCiB7
CiAgICAgaWYgKCF2YWx1ZSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICAvLyBGSVhN
RTogUHJvcGVybHkgcmVpZnkgYWxsIGxlbmd0aCB2YWx1ZXMuCiAgICAgaWYgKGlzPENTU1ByaW1p
dGl2ZVZhbHVlPigqdmFsdWUpICYmIGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqdmFsdWUp
LnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NVbml0VHlwZTo6Q1NTX1BYKQotICAgICAgICByZXR1cm4g
VHlwZWRPTUNTU1VuaXRWYWx1ZTo6Y3JlYXRlKGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigq
dmFsdWUpLmRvdWJsZVZhbHVlKCksICJweCIpOworICAgICAgICByZXR1cm4gQ1NTVW5pdFZhbHVl
OjpjcmVhdGUoZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCp2YWx1ZSkuZG91YmxlVmFsdWUo
KSwgInB4Iik7CiAKICAgICBpZiAoaXM8Q1NTSW1hZ2VWYWx1ZT4oKnZhbHVlKSkKLSAgICAgICAg
cmV0dXJuIFR5cGVkT01DU1NJbWFnZVZhbHVlOjpjcmVhdGUoZG93bmNhc3Q8Q1NTSW1hZ2VWYWx1
ZT4oKnZhbHVlKSwgZG9jdW1lbnQpOworICAgICAgICByZXR1cm4gQ1NTU3R5bGVJbWFnZVZhbHVl
OjpjcmVhdGUoZG93bmNhc3Q8Q1NTSW1hZ2VWYWx1ZT4oKnZhbHVlKSwgZG9jdW1lbnQpOwogCi0g
ICAgLy8gRklYTUU6IHNob3VsZCB1c2UgcmF3IFR5cGVkT01DU1NTdHlsZVZhbHVlCi0gICAgcmV0
dXJuIFR5cGVkT01DU1NVbnBhcnNlZFZhbHVlOjpjcmVhdGUodmFsdWUtPmNzc1RleHQoKSk7Cisg
ICAgLy8gRklYTUU6IHNob3VsZCB1c2UgcmF3IENTU1N0eWxlVmFsdWUKKyAgICByZXR1cm4gQ1NT
VW5wYXJzZWRWYWx1ZTo6Y3JlYXRlKHZhbHVlLT5jc3NUZXh0KCkpOwogfQogCi1SZWZQdHI8VHlw
ZWRPTUNTU1N0eWxlVmFsdWU+IFN0eWxlUHJvcGVydHlNYXBSZWFkT25seTo6Y3VzdG9tUHJvcGVy
dHlWYWx1ZU9yRGVmYXVsdChjb25zdCBTdHJpbmcmIG5hbWUsIERvY3VtZW50JiBkb2N1bWVudCwg
Q1NTVmFsdWUqIGlucHV0VmFsdWUsIEVsZW1lbnQqIGVsZW1lbnQpCitSZWZQdHI8Q1NTU3R5bGVW
YWx1ZT4gU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5OjpjdXN0b21Qcm9wZXJ0eVZhbHVlT3JEZWZh
dWx0KGNvbnN0IFN0cmluZyYgbmFtZSwgRG9jdW1lbnQmIGRvY3VtZW50LCBDU1NWYWx1ZSogaW5w
dXRWYWx1ZSwgRWxlbWVudCogZWxlbWVudCkKIHsKICAgICBpZiAoIWlucHV0VmFsdWUpIHsKICAg
ICAgICAgYXV0byogcmVnaXN0ZXJlZCA9IGRvY3VtZW50LmdldENTU1JlZ2lzdGVyZWRDdXN0b21Q
cm9wZXJ0eVNldCgpLmdldChuYW1lKTsKQEAgLTY5LDcgKzY5LDcgQEAgUmVmUHRyPFR5cGVkT01D
U1NTdHlsZVZhbHVlPiBTdHlsZVByb3BlcnR5TWFwUmVhZE9ubHk6OmN1c3RvbVByb3BlcnR5VmFs
dWVPckRlZmEKICAgICAgICAgICAgIHJldHVybiBTdHlsZVByb3BlcnR5TWFwUmVhZE9ubHk6OnJl
aWZ5VmFsdWUodmFsdWUuZ2V0KCksIGRvY3VtZW50LCBlbGVtZW50KTsKICAgICAgICAgfQogCi0g
ICAgICAgIHJldHVybiBUeXBlZE9NQ1NTVW5wYXJzZWRWYWx1ZTo6Y3JlYXRlKGVtcHR5U3RyaW5n
KCkpOworICAgICAgICByZXR1cm4gQ1NTVW5wYXJzZWRWYWx1ZTo6Y3JlYXRlKGVtcHR5U3RyaW5n
KCkpOwogICAgIH0KIAogICAgIHJldHVybiBTdHlsZVByb3BlcnR5TWFwUmVhZE9ubHk6OnJlaWZ5
VmFsdWUoaW5wdXRWYWx1ZSwgZG9jdW1lbnQsIGVsZW1lbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL3R5cGVkb20vU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5LmggYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvdHlwZWRvbS9TdHlsZVByb3BlcnR5TWFwUmVhZE9ubHkuaAppbmRleCAxYzA3
NjI0NzkxMTY4MzlhNjc4OGRlZTg2OGQyNjdmNTg2OTQwODljLi5lM2NhNzExMDE4YjA5YWFmZmQ3
MWUxYjFlNDQ3MWViMjE2ZmI4MWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlw
ZWRvbS9TdHlsZVByb3BlcnR5TWFwUmVhZE9ubHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
dHlwZWRvbS9TdHlsZVByb3BlcnR5TWFwUmVhZE9ubHkuaApAQCAtMzYsMTUgKzM2LDE1IEBAIGNs
YXNzIENTU1ZhbHVlOwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBFbGVtZW50OwogY2xhc3MgU3R5
bGVkRWxlbWVudDsKLWNsYXNzIFR5cGVkT01DU1NTdHlsZVZhbHVlOworY2xhc3MgQ1NTU3R5bGVW
YWx1ZTsKIAogY2xhc3MgU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5IDogcHVibGljIFJlZkNvdW50
ZWQ8U3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5PiB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+U3R5
bGVQcm9wZXJ0eU1hcFJlYWRPbmx5KCkgPSBkZWZhdWx0OwotICAgIHZpcnR1YWwgUmVmUHRyPFR5
cGVkT01DU1NTdHlsZVZhbHVlPiBnZXQoY29uc3QgU3RyaW5nJiBwcm9wZXJ0eSkgY29uc3QgPSAw
OworICAgIHZpcnR1YWwgUmVmUHRyPENTU1N0eWxlVmFsdWU+IGdldChjb25zdCBTdHJpbmcmIHBy
b3BlcnR5KSBjb25zdCA9IDA7CiAKLSAgICBzdGF0aWMgUmVmUHRyPFR5cGVkT01DU1NTdHlsZVZh
bHVlPiByZWlmeVZhbHVlKENTU1ZhbHVlKiwgRG9jdW1lbnQmLCBFbGVtZW50KiA9IG51bGxwdHIp
OwotICAgIHN0YXRpYyBSZWZQdHI8VHlwZWRPTUNTU1N0eWxlVmFsdWU+IGN1c3RvbVByb3BlcnR5
VmFsdWVPckRlZmF1bHQoY29uc3QgU3RyaW5nJiBuYW1lLCBEb2N1bWVudCYsIENTU1ZhbHVlKiwg
RWxlbWVudCogPSBudWxscHRyKTsKKyAgICBzdGF0aWMgUmVmUHRyPENTU1N0eWxlVmFsdWU+IHJl
aWZ5VmFsdWUoQ1NTVmFsdWUqLCBEb2N1bWVudCYsIEVsZW1lbnQqID0gbnVsbHB0cik7CisgICAg
c3RhdGljIFJlZlB0cjxDU1NTdHlsZVZhbHVlPiBjdXN0b21Qcm9wZXJ0eVZhbHVlT3JEZWZhdWx0
KGNvbnN0IFN0cmluZyYgbmFtZSwgRG9jdW1lbnQmLCBDU1NWYWx1ZSosIEVsZW1lbnQqID0gbnVs
bHB0cik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvdHlwZWRvbS9TdHlsZVByb3BlcnR5TWFwUmVhZE9ubHkuaWRsIGIvU291cmNl
L1dlYkNvcmUvY3NzL3R5cGVkb20vU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5LmlkbAppbmRleCA2
NjJhNGFkZWU1NWFlNDc0MTM4MjRmYjc0Mjg4ZWY2NzIxNmQzODZjLi5lYWM2MzI1NmVkMzZhOTNj
ZDZlMGI3M2MzNGExODY5OTkwNjVmN2Y4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
dHlwZWRvbS9TdHlsZVByb3BlcnR5TWFwUmVhZE9ubHkuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy90eXBlZG9tL1N0eWxlUHJvcGVydHlNYXBSZWFkT25seS5pZGwKQEAgLTMwLDYgKzMwLDYg
QEAKICAgICBTa2lwVlRhYmxlVmFsaWRhdGlvbiwKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwK
IF0gaW50ZXJmYWNlIFN0eWxlUHJvcGVydHlNYXBSZWFkT25seSB7Ci0gICAgLy8gRklYTUU6IHNo
b3VsZCBiZSAodW5kZWZpbmVkIG9yIFR5cGVkT01DU1NTdHlsZVZhbHVlKSwgbm90IG51bGwKLSAg
ICBUeXBlZE9NQ1NTU3R5bGVWYWx1ZT8gZ2V0KFVTVlN0cmluZyBwcm9wZXJ0eSk7CisgICAgLy8g
RklYTUU6IHNob3VsZCBiZSAodW5kZWZpbmVkIG9yIENTU1N0eWxlVmFsdWUpLCBub3QgbnVsbAor
ICAgIENTU1N0eWxlVmFsdWU/IGdldChVU1ZTdHJpbmcgcHJvcGVydHkpOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1R5cGVkT01DU1NJbWFnZVZhbHVlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1R5cGVkT01DU1NJbWFnZVZhbHVlLmNwcApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDU2YWIzNDI5NzBiNWZhMWY3ZjRiNjY2ZWE3ZWQ1
NzI3NTRiZmZkNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NTSW1hZ2VWYWx1ZS5jcHAKKysr
IC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE5IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqCi0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCi0gKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZwotICogICAgZGlzY2xhaW1lci4KLSAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKLSAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nCi0gKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMKLSAqICAgIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
IOKAnEFTIElT4oCdIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVS
IEJFCi0gKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksCi0gKiBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SCi0gKiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YKLSAqIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNv
bmZpZy5oIgotI2luY2x1ZGUgIlR5cGVkT01DU1NJbWFnZVZhbHVlLmgiCi0KLSNpbmNsdWRlICJE
b2N1bWVudC5oIgotCi0jaWYgRU5BQkxFKENTU19UWVBFRF9PTSkKLQotI2luY2x1ZGUgPHd0Zi9J
c29NYWxsb2NJbmxpbmVzLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotV1RGX01BS0VfSVNP
X0FMTE9DQVRFRF9JTVBMKFR5cGVkT01DU1NJbWFnZVZhbHVlKTsKLQotVHlwZWRPTUNTU0ltYWdl
VmFsdWU6OlR5cGVkT01DU1NJbWFnZVZhbHVlKENTU0ltYWdlVmFsdWUmIGNzc1ZhbHVlLCBEb2N1
bWVudCYgZG9jdW1lbnQpCi0gICAgOiBtX2Nzc1ZhbHVlKG1ha2VSZWYoY3NzVmFsdWUpKQotICAg
ICwgbV9kb2N1bWVudChtYWtlV2Vha1B0cihkb2N1bWVudCkpCi17Ci19Ci0KLURvY3VtZW50KiBU
eXBlZE9NQ1NTSW1hZ2VWYWx1ZTo6ZG9jdW1lbnQoKSBjb25zdCB7IHJldHVybiBtX2RvY3VtZW50
LmdldCgpOyB9Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NTSW1hZ2VWYWx1ZS5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRPTUNTU0ltYWdlVmFsdWUuaApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggN2Q3NDU3NzFmYmIxMTg3YTdlNDZkOWE2MTIwZTM4MzVjMTM2
YTUxYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NTSW1hZ2VWYWx1ZS5oCisrKyAvZGV2L251
bGwKQEAgLTEsNjUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKENTU19UWVBFRF9PTSkKLQotI2lu
Y2x1ZGUgIkNTU0ltYWdlVmFsdWUuaCIKLSNpbmNsdWRlICJUeXBlZE9NQ1NTU3R5bGVWYWx1ZS5o
IgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0jaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4K
LSNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdDb25jYXRlbmF0ZU51bWJlcnMuaD4KLSNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBE
b2N1bWVudDsKLQotY2xhc3MgVHlwZWRPTUNTU0ltYWdlVmFsdWUgZmluYWwgOiBwdWJsaWMgVHlw
ZWRPTUNTU1N0eWxlVmFsdWUgewotICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoVHlwZWRPTUNT
U0ltYWdlVmFsdWUpOwotcHVibGljOgotICAgIHN0YXRpYyBSZWY8VHlwZWRPTUNTU0ltYWdlVmFs
dWU+IGNyZWF0ZShDU1NJbWFnZVZhbHVlJiBjc3NWYWx1ZSwgRG9jdW1lbnQmIGRvY3VtZW50KQot
ICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVHlwZWRPTUNTU0ltYWdlVmFsdWUo
Y3NzVmFsdWUsIGRvY3VtZW50KSk7Ci0gICAgfQotCi0gICAgU3RyaW5nIHRvU3RyaW5nKCkgZmlu
YWwgeyByZXR1cm4gbV9jc3NWYWx1ZS0+Y3NzVGV4dCgpOyB9Ci0KLSAgICBDYWNoZWRJbWFnZSog
aW1hZ2UoKSB7IHJldHVybiBtX2Nzc1ZhbHVlLT5jYWNoZWRJbWFnZSgpOyB9Ci0gICAgRG9jdW1l
bnQqIGRvY3VtZW50KCkgY29uc3Q7Ci0KLXByaXZhdGU6Ci0gICAgVHlwZWRPTUNTU0ltYWdlVmFs
dWUoQ1NTSW1hZ2VWYWx1ZSYgY3NzVmFsdWUsIERvY3VtZW50JiBkb2N1bWVudCk7Ci0KLSAgICBi
b29sIGlzSW1hZ2VWYWx1ZSgpIGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KLQotICAgIFJlZjxDU1NJ
bWFnZVZhbHVlPiBtX2Nzc1ZhbHVlOwotICAgIFdlYWtQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7
Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRPTUNTU0ltYWdlVmFsdWUuaWRsIGIvU291cmNl
L1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRPTUNTU0ltYWdlVmFsdWUuaWRsCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAyODM1ZDNhM2ZlYWY5OGM1OWQ4ZWY1ZmIzMzI2ZDkzMWVlODE3
OWUxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1R5cGVkT01DU1NJbWFnZVZhbHVlLmlkbAorKysgL2Rldi9u
dWxsCkBAIC0xLDMzICswLDAgQEAKLS8qCi0qIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgotKgotKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0qIGFy
ZSBtZXQ6Ci0qIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0qICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotKgotKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0q
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
Ci0qIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAotKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0qIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
Ci0qIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAotKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSovCi0KLVsKLSAgICBJbnRl
cmZhY2VOYW1lPUNTU0ltYWdlVmFsdWUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1DU1NUeXBlZE9N
LAotICAgIENvbmRpdGlvbmFsPUNTU19UWVBFRF9PTSwKLSAgICBFeHBvc2VkPShXaW5kb3csV29y
a2VyLFBhaW50V29ya2xldCksCi0gICAgSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0LAotXSBpbnRl
cmZhY2UgVHlwZWRPTUNTU0ltYWdlVmFsdWUgOiBUeXBlZE9NQ1NTU3R5bGVWYWx1ZSB7Ci19Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRPTUNTU051bWVyaWNW
YWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NTTnVtZXJpY1Zh
bHVlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTRhMWE5OTU0NzU5Mzk3NGM3
MjAxYmE4OGVhNTA1MGRjMjFhNmEzZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NTTnVtZXJp
Y1ZhbHVlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUKLSAqICAgIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCi0gKiAgICBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQotICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKLSAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscwotICogICAgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVIg4oCcQVMgSVPigJ0gQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBIT0xERVIgQkUKLSAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwKLSAqIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQot
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IKLSAqIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRgotICogVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiVHlwZWRPTUNTU051bWVyaWNWYWx1ZS5o
IgotCi0jaWYgRU5BQkxFKENTU19UWVBFRF9PTSkKLQotI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJ
bmxpbmVzLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotV1RGX01BS0VfSVNPX0FMTE9DQVRF
RF9JTVBMKFR5cGVkT01DU1NOdW1lcmljVmFsdWUpOwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRP
TUNTU051bWVyaWNWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRPTUNT
U051bWVyaWNWYWx1ZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZWY3MTY0Zjdj
NmY1ZmU1ODZlZmZhNzljZjI5NmM0ZTRmYjRjYTExLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1R5cGVkT01D
U1NOdW1lcmljVmFsdWUuaAorKysgL2Rldi9udWxsCkBAIC0xLDQxICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lm
IEVOQUJMRShDU1NfVFlQRURfT00pCi0KLSNpbmNsdWRlICJUeXBlZE9NQ1NTU3R5bGVWYWx1ZS5o
IgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFR5cGVkT01DU1NOdW1lcmljVmFsdWUg
OiBwdWJsaWMgVHlwZWRPTUNTU1N0eWxlVmFsdWUgewotICAgIFdURl9NQUtFX0lTT19BTExPQ0FU
RUQoVHlwZWRPTUNTU051bWVyaWNWYWx1ZSk7Ci1wcm90ZWN0ZWQ6Ci0gICAgVHlwZWRPTUNTU051
bWVyaWNWYWx1ZSgpID0gZGVmYXVsdDsKLX07Ci19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRPTUNTU051
bWVyaWNWYWx1ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NTTnVt
ZXJpY1ZhbHVlLmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzQ2ZmZmYmUzY2Qz
ZjcwM2ZkNGVjZDFhM2Y2MDA2MzdiMThlODRiNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NT
TnVtZXJpY1ZhbHVlLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLS8qCi0qIENv
cHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotKgotKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0qIGFyZSBtZXQ6Ci0qIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0qICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotKgotKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
LSogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKLSogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0qIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0qIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0qIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgotKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0qIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSovCi0KLVsKLSAgICBJbnRlcmZhY2VOYW1lPUNTU051bWVyaWNWYWx1ZSwKLSAg
ICBFbmFibGVkQXRSdW50aW1lPUNTU1R5cGVkT00sCi0gICAgQ29uZGl0aW9uYWw9Q1NTX1RZUEVE
X09NLAotICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIsUGFpbnRXb3JrbGV0KSwKLV0gaW50ZXJm
YWNlIFR5cGVkT01DU1NOdW1lcmljVmFsdWUgOiBUeXBlZE9NQ1NTU3R5bGVWYWx1ZSB7Ci19Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRPTUNTU1N0eWxlVmFs
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRPTUNTU1N0eWxlVmFsdWUu
Y3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYTRkZGNmMGZhZTkzMGM5NTBkYjM5
ZDhlN2IwMzAyODNiNTI0ODE5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1R5cGVkT01DU1NTdHlsZVZhbHVl
LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUKLSAqICAgIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCi0gKiAgICBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQotICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcKLSAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscwotICogICAgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVIg4oCcQVMgSVPigJ0gQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBIT0xERVIgQkUKLSAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwKLSAqIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IKLSAqIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRgotICogVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5j
bHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiVHlwZWRPTUNTU1N0eWxlVmFsdWUuaCIKLQotI2lm
IEVOQUJMRShDU1NfVFlQRURfT00pCi0KLSNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5o
PgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChU
eXBlZE9NQ1NTU3R5bGVWYWx1ZSk7Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NTU3R5bGVW
YWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRPTUNTU1N0eWxlVmFsdWUu
aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzFmOWFlNjUxZjk5MDkwYmNkOTQzMzI5
Mjg5NTY4ZjcxZjQxZDc5OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NTU3R5bGVWYWx1ZS5o
CisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
OCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKENTU19UWVBF
RF9PTSkKLQotI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgotI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLQotY2xhc3MgVHlwZWRPTUNTU1N0eWxlVmFsdWUgOiBwdWJsaWMgUmVmQ291bnRl
ZDxUeXBlZE9NQ1NTU3R5bGVWYWx1ZT4sIHB1YmxpYyBTY3JpcHRXcmFwcGFibGUgewotICAgIFdU
Rl9NQUtFX0lTT19BTExPQ0FURUQoVHlwZWRPTUNTU1N0eWxlVmFsdWUpOwotcHVibGljOgotICAg
IHZpcnR1YWwgflR5cGVkT01DU1NTdHlsZVZhbHVlKCkgPSBkZWZhdWx0OwotICAgIHZpcnR1YWwg
U3RyaW5nIHRvU3RyaW5nKCkgPSAwOwotCi0gICAgdmlydHVhbCBib29sIGlzVW5pdFZhbHVlKCkg
eyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNVbnBhcnNlZFZhbHVlKCkgeyBy
ZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNJbWFnZVZhbHVlKCkgeyByZXR1cm4g
ZmFsc2U7IH0KLQotcHJvdGVjdGVkOgotICAgIFR5cGVkT01DU1NTdHlsZVZhbHVlKCkgPSBkZWZh
dWx0OwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1R5cGVkT01DU1NTdHlsZVZhbHVlLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1R5cGVkT01DU1NTdHlsZVZhbHVlLmlkbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTVmOWIwYmFlYjZlYjk4MTYwMjJkZTQ3NzBiY2IyNTk5
YjAzMjNmZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NTU3R5bGVWYWx1ZS5pZGwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi0vKgotKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSoKLSogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0qIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
KiBhcmUgbWV0OgotKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0qIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0qICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSoKLSogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0qIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0qIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgotKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKLSogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQotKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKLSogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0qIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0qLwotCi1bCi0gICAg
SW50ZXJmYWNlTmFtZT1DU1NTdHlsZVZhbHVlLAotICAgIEN1c3RvbVRvSlNPYmplY3QsCi0gICAg
RW5hYmxlZEF0UnVudGltZT1DU1NUeXBlZE9NLAotICAgIENvbmRpdGlvbmFsPUNTU19UWVBFRF9P
TSwKLSAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyLFBhaW50V29ya2xldCksCi0gICAgU2tpcFZU
YWJsZVZhbGlkYXRpb24sCi1dIGludGVyZmFjZSBUeXBlZE9NQ1NTU3R5bGVWYWx1ZSB7Ci0gICAg
c3RyaW5naWZpZXI7Ci19OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20v
VHlwZWRPTUNTU1VuaXRWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBl
ZE9NQ1NTVW5pdFZhbHVlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDliOWMz
MjViYjIxMmY1YzZjMWY3ZmZmMDU4MTUxNTA5YzgyYmY5NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBl
ZE9NQ1NTVW5pdFZhbHVlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUKLSAqICAgIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
Ci0gKiAgICBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKLSAqICAgIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscwotICogICAgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVIg4oCcQVMgSVPigJ0gQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
LSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBIT0xERVIgQkUKLSAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwKLSAqIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IKLSAqIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRgotICogVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiVHlwZWRPTUNTU1VuaXRW
YWx1ZS5oIgotCi0jaWYgRU5BQkxFKENTU19UWVBFRF9PTSkKLQotI2luY2x1ZGUgPHd0Zi9Jc29N
YWxsb2NJbmxpbmVzLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotV1RGX01BS0VfSVNPX0FM
TE9DQVRFRF9JTVBMKFR5cGVkT01DU1NVbml0VmFsdWUpOwotCi19IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlw
ZWRPTUNTU1VuaXRWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRPTUNT
U1VuaXRWYWx1ZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MDE2ZjA0ODVkNTYy
MWQ3YjhkZjQyYmIyNTBmMmFkMTYwMTJiNWIwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1R5cGVkT01DU1NV
bml0VmFsdWUuaAorKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJM
RShDU1NfVFlQRURfT00pCi0KLSNpbmNsdWRlICJUeXBlZE9NQ1NTTnVtZXJpY1ZhbHVlLmgiCi0j
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdDb25j
YXRlbmF0ZU51bWJlcnMuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KLQotbmFt
ZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBUeXBlZE9NQ1NTVW5pdFZhbHVlIGZpbmFsIDogcHVi
bGljIFR5cGVkT01DU1NOdW1lcmljVmFsdWUgewotICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQo
VHlwZWRPTUNTU1VuaXRWYWx1ZSk7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxUeXBlZE9NQ1NT
VW5pdFZhbHVlPiBjcmVhdGUoZG91YmxlIHZhbHVlLCBjb25zdCBTdHJpbmcmIHVuaXQpCi0gICAg
ewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBUeXBlZE9NQ1NTVW5pdFZhbHVlKHZhbHVl
LCB1bml0KSk7Ci0gICAgfQotCi0gICAgLy8gRklYTUU6IG5vdCBjb3JyZWN0LgotICAgIFN0cmlu
ZyB0b1N0cmluZygpIGZpbmFsIHsgcmV0dXJuIG1ha2VTdHJpbmcoKGludCkgbV92YWx1ZSwgbV91
bml0KTsgfQotCi0gICAgZG91YmxlIHZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZTsgfQot
ICAgIHZvaWQgc2V0VmFsdWUoZG91YmxlIHZhbHVlKSB7IG1fdmFsdWUgPSB2YWx1ZTsgfQotICAg
IGNvbnN0IFN0cmluZyYgdW5pdCgpIGNvbnN0IHsgcmV0dXJuIG1fdW5pdDsgfQotICAgIHZvaWQg
c2V0VW5pdChjb25zdCBTdHJpbmcmIHVuaXQpIHsgbV91bml0ID0gdW5pdDsgfQotCi1wcml2YXRl
OgotICAgIFR5cGVkT01DU1NVbml0VmFsdWUoZG91YmxlIHZhbHVlLCBjb25zdCBTdHJpbmcmIHVu
aXQpCi0gICAgICAgIDogbV92YWx1ZSh2YWx1ZSkKLSAgICAgICAgLCBtX3VuaXQodW5pdCkKLSAg
ICB7Ci0gICAgfQotCi0gICAgYm9vbCBpc1VuaXRWYWx1ZSgpIGZpbmFsIHsgcmV0dXJuIHRydWU7
IH0KLQotICAgIGRvdWJsZSBtX3ZhbHVlOwotICAgIFN0cmluZyBtX3VuaXQ7Ci19OwotCi19IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL3R5cGVkb20vVHlwZWRPTUNTU1VuaXRWYWx1ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
dHlwZWRvbS9UeXBlZE9NQ1NTVW5pdFZhbHVlLmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZTY5ZjEzYjg4ODIyN2Q2ZTQzZDBkNWQ2MjZiYTYyYjFjOTkwODc2MS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
dHlwZWRvbS9UeXBlZE9NQ1NTVW5pdFZhbHVlLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICsw
LDAgQEAKLS8qCi0qIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJl
c2VydmVkLgotKgotKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0qIGFyZSBtZXQ6Ci0qIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0qICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotKgotKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKLSogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0qIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0qIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAotKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0qIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0qIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKLSogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSovCi0KLVsKLSAgICBJbnRlcmZhY2VOYW1lPUNTU1Vu
aXRWYWx1ZSwKLSAgICBFbmFibGVkQXRSdW50aW1lPUNTU1R5cGVkT00sCi0gICAgQ29uZGl0aW9u
YWw9Q1NTX1RZUEVEX09NLAotICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIsUGFpbnRXb3JrbGV0
KSwKLV0gaW50ZXJmYWNlIFR5cGVkT01DU1NVbml0VmFsdWUgOiBUeXBlZE9NQ1NTTnVtZXJpY1Zh
bHVlIHsKLSAgICBjb25zdHJ1Y3Rvcihkb3VibGUgdmFsdWUsIFVTVlN0cmluZyB1bml0KTsKLQot
ICAgIGF0dHJpYnV0ZSBkb3VibGUgdmFsdWU7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0
cmluZyB1bml0OwotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1R5
cGVkT01DU1NVbnBhcnNlZFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1R5
cGVkT01DU1NVbnBhcnNlZFZhbHVlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
OTY0N2QzZGQ2NGM2YTI2Nzk4ZTY5NzYwN2I5MDMwYjUyMWZhNDExNy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRv
bS9UeXBlZE9NQ1NTVW5wYXJzZWRWYWx1ZS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqCi0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
Ci0gKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZwotICogICAgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqICAgIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCi0gKiAgICBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKLSAqICAg
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSIOKAnEFTIElT4oCdIEFORCBBTlkKLSAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIEJFCi0gKiBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksCi0gKiBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SCi0gKiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YKLSAqIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotICog
U1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlR5cGVk
T01DU1NVbnBhcnNlZFZhbHVlLmgiCi0KLSNpZiBFTkFCTEUoQ1NTX1RZUEVEX09NKQotCi0jaW5j
bHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1X
VEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoVHlwZWRPTUNTU1VucGFyc2VkVmFsdWUpOwotCi19
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL3R5cGVkb20vVHlwZWRPTUNTU1VucGFyc2VkVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy90eXBlZG9tL1R5cGVkT01DU1NVbnBhcnNlZFZhbHVlLmgKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDc0M2E1NWFhMDFiODQzMjA1ZjgyZWMyM2U4NzQzMjUzZWFkYzQ3OGQuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL3R5cGVkb20vVHlwZWRPTUNTU1VucGFyc2VkVmFsdWUuaAorKysgL2Rldi9udWxsCkBA
IC0xLDU5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0g
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShDU1NfVFlQRURfT00pCi0KLSNpbmNsdWRl
ICJUeXBlZE9NQ1NTU3R5bGVWYWx1ZS5oIgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0j
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQot
Y2xhc3MgVHlwZWRPTUNTU1VucGFyc2VkVmFsdWUgZmluYWwgOiBwdWJsaWMgVHlwZWRPTUNTU1N0
eWxlVmFsdWUgewotICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoVHlwZWRPTUNTU1VucGFyc2Vk
VmFsdWUpOwotcHVibGljOgotICAgIHN0YXRpYyBSZWY8VHlwZWRPTUNTU1VucGFyc2VkVmFsdWU+
IGNyZWF0ZShjb25zdCBTdHJpbmcmIHNlcmlhbGl6ZWRWYWx1ZSkKLSAgICB7Ci0gICAgICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IFR5cGVkT01DU1NVbnBhcnNlZFZhbHVlKHNlcmlhbGl6ZWRWYWx1
ZSkpOwotICAgIH0KLQotICAgIFN0cmluZyB0b1N0cmluZygpIGZpbmFsIHsgcmV0dXJuIG1fc2Vy
aWFsaXplZFZhbHVlOyB9Ci0KLXByaXZhdGU6Ci0gICAgZXhwbGljaXQgVHlwZWRPTUNTU1VucGFy
c2VkVmFsdWUoY29uc3QgU3RyaW5nJiBzZXJpYWxpemVkVmFsdWUpCi0gICAgICAgIDogbV9zZXJp
YWxpemVkVmFsdWUoc2VyaWFsaXplZFZhbHVlKQotICAgIHsKLSAgICB9Ci0KLSAgICBib29sIGlz
VW5wYXJzZWRWYWx1ZSgpIGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KLQotICAgIFN0cmluZyBtX3Nl
cmlhbGl6ZWRWYWx1ZTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NTVW5wYXJzZWRW
YWx1ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NTVW5wYXJzZWRW
YWx1ZS5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxOTljYWUzOWM1OThmM2E3
MmUwMTFiZDRiZTE5MDkxMTFkNTMyZjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRPTUNTU1VucGFy
c2VkVmFsdWUuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotLyoKLSogQ29weXJp
Z2h0IChDKSAyMDE4IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0qCi0qIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSogYXJlIG1ldDoKLSogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0qICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0qCi0qIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQotKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0qIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCi0qIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0qIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotKi8KLQotLy8gRklYTUU6IHdyb25nIGNvbnN0cnVjdG9yLgotWwotICAgIEludGVyZmFj
ZU5hbWU9Q1NTVW5wYXJzZWRWYWx1ZSwKLSAgICBFbmFibGVkQXRSdW50aW1lPUNTU1R5cGVkT00s
Ci0gICAgQ29uZGl0aW9uYWw9Q1NTX1RZUEVEX09NLAotICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3Jr
ZXIsUGFpbnRXb3JrbGV0KSwKLV0gaW50ZXJmYWNlIFR5cGVkT01DU1NVbnBhcnNlZFZhbHVlIDog
VHlwZWRPTUNTU1N0eWxlVmFsdWUgewotICAgIGNvbnN0cnVjdG9yKFVTVlN0cmluZyBzZXJpYWxp
emVkVmFsdWUpOwotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcAppbmRleCA5MWVi
ZjIxM2RkY2MxN2Q2MjI4OGYzYTMxMDk4MzE4OGM4NGU1NDBhLi45NTdlNTc2OTNhZTliY2JkNzJj
OWUzMGQ1ZTlkODE0NWZhOWEwODVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5
bGVkRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3Bw
CkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKICNpbmNs
dWRlICJDU1NQcm9wZXJ0eVBhcnNlci5oIgogI2luY2x1ZGUgIkNTU1N0eWxlU2hlZXQuaCIKKyNp
bmNsdWRlICJDU1NVbnBhcnNlZFZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWVQb29sLmgiCiAj
aW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2UuaCIKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xp
Y3kuaCIKQEAgLTQ1LDcgKzQ2LDYgQEAKICNpbmNsdWRlICJTdHlsZVByb3BlcnRpZXMuaCIKICNp
bmNsdWRlICJTdHlsZVByb3BlcnR5TWFwLmgiCiAjaW5jbHVkZSAiU3R5bGVSZXNvbHZlci5oIgot
I2luY2x1ZGUgIlR5cGVkT01DU1NVbnBhcnNlZFZhbHVlLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hG
dW5jdGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCkBAIC04Nyw3
ICs4Nyw3IEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgUmVmUHRyPFR5cGVkT01D
U1NTdHlsZVZhbHVlPiBnZXQoY29uc3QgU3RyaW5nJiBwcm9wZXJ0eSkgY29uc3QgZmluYWwKKyAg
ICBSZWZQdHI8Q1NTU3R5bGVWYWx1ZT4gZ2V0KGNvbnN0IFN0cmluZyYgcHJvcGVydHkpIGNvbnN0
IGZpbmFsCiAgICAgewogICAgICAgICBBU1NFUlQobV9lbGVtZW50KTsgLy8gSGl0dGluZyB0aGlz
IGFzc2VydGlvbiB3b3VsZCBpbXBseSBhIEdDIGJ1Zy4gRWxlbWVudCBpcyBjb2xsZWN0ZWQgd2hp
bGUgdGhpcyBwcm9wZXJ0eSBtYXAgaXMgYWxpdmUuCiAgICAgICAgIGlmICghbV9lbGVtZW50KQpA
QCAtMTAyLDcgKzEwMiw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGNsZWFyRWxlbWVudCgpIG92
ZXJyaWRlIHsgbV9lbGVtZW50ID0gbnVsbHB0cjsgfQogCi0gICAgc3RhdGljIFJlZlB0cjxUeXBl
ZE9NQ1NTU3R5bGVWYWx1ZT4gZXh0cmFjdElubGluZVByb3BlcnR5KGNvbnN0IFN0cmluZyYgbmFt
ZSwgU3R5bGVkRWxlbWVudCYgZWxlbWVudCkKKyAgICBzdGF0aWMgUmVmUHRyPENTU1N0eWxlVmFs
dWU+IGV4dHJhY3RJbmxpbmVQcm9wZXJ0eShjb25zdCBTdHJpbmcmIG5hbWUsIFN0eWxlZEVsZW1l
bnQmIGVsZW1lbnQpCiAgICAgewogICAgICAgICBpZiAoIWVsZW1lbnQuaW5saW5lU3R5bGUoKSkK
ICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9DdXN0b21QYWludEltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ3VzdG9tUGFp
bnRJbWFnZS5jcHAKaW5kZXggMGYzMzBlZjA0MTM4MTc4ZmUwNzg3MWE0ZDk1MzY2YWZlODRiZTg3
MS4uZTMwMDc3ZjVhYmEwMDdjOTc0Y2QwZDc4OWFmMjU4NjViMGZmNmE2NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9DdXN0b21QYWludEltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0N1c3RvbVBhaW50SW1hZ2UuY3BwCkBAIC0zMiw2ICszMiw5IEBACiAjaW5jbHVk
ZSAiQ1NTSW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1ByaW1pdGl2ZVZhbHVlLmgiCiAjaW5j
bHVkZSAiQ1NTUHJvcGVydHlQYXJzZXIuaCIKKyNpbmNsdWRlICJDU1NTdHlsZUltYWdlVmFsdWUu
aCIKKyNpbmNsdWRlICJDU1NVbml0VmFsdWUuaCIKKyNpbmNsdWRlICJDU1NVbnBhcnNlZFZhbHVl
LmgiCiAjaW5jbHVkZSAiQ3VzdG9tUGFpbnRDYW52YXMuaCIKICNpbmNsdWRlICJHcmFwaGljc0Nv
bnRleHQuaCIKICNpbmNsdWRlICJJbWFnZUJpdG1hcC5oIgpAQCAtNDEsOSArNDQsNyBAQAogI2lu
Y2x1ZGUgIlBhaW50UmVuZGVyaW5nQ29udGV4dDJELmgiCiAjaW5jbHVkZSAiUmVuZGVyRWxlbWVu
dC5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydHlNYXAuaCIKLSNpbmNsdWRlICJUeXBlZE9NQ1NT
SW1hZ2VWYWx1ZS5oIgotI2luY2x1ZGUgIlR5cGVkT01DU1NVbml0VmFsdWUuaCIKLSNpbmNsdWRl
ICJUeXBlZE9NQ1NTVW5wYXJzZWRWYWx1ZS5oIgorCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
Q29uc3RydWN0RGF0YS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01OSw3ICs2MCw3IEBA
IEN1c3RvbVBhaW50SW1hZ2U6OkN1c3RvbVBhaW50SW1hZ2UoUGFpbnRXb3JrbGV0R2xvYmFsU2Nv
cGU6OlBhaW50RGVmaW5pdGlvbiYgZGVmCiAKIEN1c3RvbVBhaW50SW1hZ2U6On5DdXN0b21QYWlu
dEltYWdlKCkgPSBkZWZhdWx0OwogCi1zdGF0aWMgUmVmUHRyPFR5cGVkT01DU1NTdHlsZVZhbHVl
PiBleHRyYWN0Q29tcHV0ZWRQcm9wZXJ0eShjb25zdCBTdHJpbmcmIG5hbWUsIEVsZW1lbnQmIGVs
ZW1lbnQpCitzdGF0aWMgUmVmUHRyPENTU1N0eWxlVmFsdWU+IGV4dHJhY3RDb21wdXRlZFByb3Bl
cnR5KGNvbnN0IFN0cmluZyYgbmFtZSwgRWxlbWVudCYgZWxlbWVudCkKIHsKICAgICBDb21wdXRl
ZFN0eWxlRXh0cmFjdG9yIGV4dHJhY3RvcigmZWxlbWVudCk7CiAKQEAgLTc4LDEyICs3OSwxMiBA
QCBzdGF0aWMgUmVmUHRyPFR5cGVkT01DU1NTdHlsZVZhbHVlPiBleHRyYWN0Q29tcHV0ZWRQcm9w
ZXJ0eShjb25zdCBTdHJpbmcmIG5hbWUsCiAKIGNsYXNzIEhhc2hNYXBTdHlsZVByb3BlcnR5TWFw
IGZpbmFsIDogcHVibGljIFN0eWxlUHJvcGVydHlNYXAgewogcHVibGljOgotICAgIHN0YXRpYyBS
ZWY8U3R5bGVQcm9wZXJ0eU1hcD4gY3JlYXRlKEhhc2hNYXA8U3RyaW5nLCBSZWZQdHI8VHlwZWRP
TUNTU1N0eWxlVmFsdWU+PiYmIG1hcCkKKyAgICBzdGF0aWMgUmVmPFN0eWxlUHJvcGVydHlNYXA+
IGNyZWF0ZShIYXNoTWFwPFN0cmluZywgUmVmUHRyPENTU1N0eWxlVmFsdWU+PiYmIG1hcCkKICAg
ICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEhhc2hNYXBTdHlsZVByb3BlcnR5TWFw
KFdURk1vdmUobWFwKSkpOwogICAgIH0KIAotICAgIHN0YXRpYyBSZWZQdHI8VHlwZWRPTUNTU1N0
eWxlVmFsdWU+IGV4dHJhY3RDb21wdXRlZFByb3BlcnR5KGNvbnN0IFN0cmluZyYgbmFtZSwgRWxl
bWVudCYgZWxlbWVudCkKKyAgICBzdGF0aWMgUmVmUHRyPENTU1N0eWxlVmFsdWU+IGV4dHJhY3RD
b21wdXRlZFByb3BlcnR5KGNvbnN0IFN0cmluZyYgbmFtZSwgRWxlbWVudCYgZWxlbWVudCkKICAg
ICB7CiAgICAgICAgIENvbXB1dGVkU3R5bGVFeHRyYWN0b3IgZXh0cmFjdG9yKCZlbGVtZW50KTsK
IApAQCAtMTAxLDE2ICsxMDIsMTYgQEAgcHVibGljOgogICAgIH0KIAogcHJpdmF0ZToKLSAgICBl
eHBsaWNpdCBIYXNoTWFwU3R5bGVQcm9wZXJ0eU1hcChIYXNoTWFwPFN0cmluZywgUmVmUHRyPFR5
cGVkT01DU1NTdHlsZVZhbHVlPj4mJiBtYXApCisgICAgZXhwbGljaXQgSGFzaE1hcFN0eWxlUHJv
cGVydHlNYXAoSGFzaE1hcDxTdHJpbmcsIFJlZlB0cjxDU1NTdHlsZVZhbHVlPj4mJiBtYXApCiAg
ICAgICAgIDogbV9tYXAoV1RGTW92ZShtYXApKQogICAgIHsKICAgICB9CiAKICAgICB2b2lkIGNs
ZWFyRWxlbWVudCgpIG92ZXJyaWRlIHsgfQogCi0gICAgUmVmUHRyPFR5cGVkT01DU1NTdHlsZVZh
bHVlPiBnZXQoY29uc3QgU3RyaW5nJiBwcm9wZXJ0eSkgY29uc3QgZmluYWwgeyByZXR1cm4gbWFr
ZVJlZlB0cihtX21hcC5nZXQocHJvcGVydHkpKTsgfQorICAgIFJlZlB0cjxDU1NTdHlsZVZhbHVl
PiBnZXQoY29uc3QgU3RyaW5nJiBwcm9wZXJ0eSkgY29uc3QgZmluYWwgeyByZXR1cm4gbWFrZVJl
ZlB0cihtX21hcC5nZXQocHJvcGVydHkpKTsgfQogCi0gICAgSGFzaE1hcDxTdHJpbmcsIFJlZlB0
cjxUeXBlZE9NQ1NTU3R5bGVWYWx1ZT4+IG1fbWFwOworICAgIEhhc2hNYXA8U3RyaW5nLCBSZWZQ
dHI8Q1NTU3R5bGVWYWx1ZT4+IG1fbWFwOwogfTsKIAogSW1hZ2VEcmF3UmVzdWx0IEN1c3RvbVBh
aW50SW1hZ2U6OmRvQ3VzdG9tUGFpbnQoR3JhcGhpY3NDb250ZXh0JiBkZXN0Q29udGV4dCwgY29u
c3QgRmxvYXRTaXplJiBkZXN0U2l6ZSkKQEAgLTEzOCw3ICsxMzksNyBAQCBJbWFnZURyYXdSZXN1
bHQgQ3VzdG9tUGFpbnRJbWFnZTo6ZG9DdXN0b21QYWludChHcmFwaGljc0NvbnRleHQmIGRlc3RD
b250ZXh0LCBjbwogICAgICAgICByZXR1cm4gSW1hZ2VEcmF3UmVzdWx0OjpEaWROb3RoaW5nOwog
ICAgIGF1dG8gY29udGV4dCA9IGNvbnRleHRPckV4Y2VwdGlvbi5yZWxlYXNlUmV0dXJuVmFsdWUo
KTsKIAotICAgIEhhc2hNYXA8U3RyaW5nLCBSZWZQdHI8VHlwZWRPTUNTU1N0eWxlVmFsdWU+PiBw
cm9wZXJ0eVZhbHVlczsKKyAgICBIYXNoTWFwPFN0cmluZywgUmVmUHRyPENTU1N0eWxlVmFsdWU+
PiBwcm9wZXJ0eVZhbHVlczsKIAogICAgIGlmIChhdXRvKiBlbGVtZW50ID0gbV9lbGVtZW50LT5l
bGVtZW50KCkpIHsKICAgICAgICAgZm9yIChhdXRvJiBuYW1lIDogbV9pbnB1dFByb3BlcnRpZXMp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlQml0bWFwLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSW1hZ2VCaXRtYXAuY3BwCmluZGV4IDMyYjc0YzQ5N2YyMzRmYWQ1YzQw
OWZkMTgwNTViZjJiNTIyMzQ2NzQuLjc1Njk2YTg0OWIwNDQzMGJkODAzOTc0ZjVmMDY1MzIyNmUz
NjkwYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VCaXRtYXAuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VCaXRtYXAuY3BwCkBAIC0yOCw2ICsyOCw3IEBA
CiAKICNpbmNsdWRlICJCaXRtYXBJbWFnZS5oIgogI2luY2x1ZGUgIkJsb2IuaCIKKyNpbmNsdWRl
ICJDU1NTdHlsZUltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgogI2luY2x1
ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgpAQCAtNTEsNyAr
NTIsNiBAQAogI2luY2x1ZGUgIlJlbmRlckVsZW1lbnQuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZm
ZXIuaCIKICNpbmNsdWRlICJTdXNwZW5kYWJsZVRpbWVyLmgiCi0jaW5jbHVkZSAiVHlwZWRPTUNT
U0ltYWdlVmFsdWUuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogI2luY2x1
ZGUgPHd0Zi9TY29wZS5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KQEAgLTU0NCw3
ICs1NDQsNyBAQCB2b2lkIEltYWdlQml0bWFwOjpjcmVhdGVQcm9taXNlKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsCiAjZW5kaWYKIAogI2lmIEVOQUJMRShD
U1NfVFlQRURfT00pCi12b2lkIEltYWdlQml0bWFwOjpjcmVhdGVQcm9taXNlKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmLCBSZWZQdHI8VHlwZWRPTUNTU0ltYWdlVmFsdWU+JiwgSW1hZ2VCaXRtYXBP
cHRpb25zJiYsIHN0ZDo6b3B0aW9uYWw8SW50UmVjdD4sIEltYWdlQml0bWFwOjpQcm9taXNlJiYg
cHJvbWlzZSkKK3ZvaWQgSW1hZ2VCaXRtYXA6OmNyZWF0ZVByb21pc2UoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYsIFJlZlB0cjxDU1NTdHlsZUltYWdlVmFsdWU+JiwgSW1hZ2VCaXRtYXBPcHRpb25z
JiYsIHN0ZDo6b3B0aW9uYWw8SW50UmVjdD4sIEltYWdlQml0bWFwOjpQcm9taXNlJiYgcHJvbWlz
ZSkKIHsKICAgICBwcm9taXNlLnJlamVjdChJbnZhbGlkU3RhdGVFcnJvciwgIk5vdCBpbXBsZW1l
bnRlZCIpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUJpdG1hcC5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUJpdG1hcC5oCmluZGV4IDMyNDZkNDI0NGQ0NmJl
MTk0YjBlZDgwZDk4YWM2MjI0NmFhMzc2YzQuLjAyYjdmMTVjZWQ5Yzc0ZmM2MmZkZjVlYTE2ZTkx
NmI2ZjYzMzdhOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VCaXRtYXAu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlQml0bWFwLmgKQEAgLTUyLDcgKzUyLDcg
QEAgY2xhc3MgT2Zmc2NyZWVuQ2FudmFzOwogI2VuZGlmCiBjbGFzcyBQZW5kaW5nSW1hZ2VCaXRt
YXA7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwotY2xhc3MgVHlwZWRPTUNTU0ltYWdl
VmFsdWU7CitjbGFzcyBDU1NTdHlsZUltYWdlVmFsdWU7CiBzdHJ1Y3QgSW1hZ2VCaXRtYXBPcHRp
b25zOwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJy
ZWQ7CkBAIC03MSw3ICs3MSw3IEBAIHB1YmxpYzoKICAgICAgICAgUmVmUHRyPE9mZnNjcmVlbkNh
bnZhcz4sCiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NTX1RZUEVEX09NKQotICAgICAgICBSZWZQdHI8
VHlwZWRPTUNTU0ltYWdlVmFsdWU+LAorICAgICAgICBSZWZQdHI8Q1NTU3R5bGVJbWFnZVZhbHVl
PiwKICNlbmRpZgogICAgICAgICBSZWZQdHI8QmxvYj4sCiAgICAgICAgIFJlZlB0cjxJbWFnZURh
dGE+CkBAIC0xMjgsNyArMTI4LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBjcmVhdGVQ
cm9taXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBDYW52YXNCYXNlJiwgSW1hZ2VCaXRtYXBP
cHRpb25zJiYsIHN0ZDo6b3B0aW9uYWw8SW50UmVjdD4sIFByb21pc2UmJik7CiAgICAgc3RhdGlj
IHZvaWQgY3JlYXRlUHJvbWlzZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmUHRyPEJsb2I+
JiwgSW1hZ2VCaXRtYXBPcHRpb25zJiYsIHN0ZDo6b3B0aW9uYWw8SW50UmVjdD4sIFByb21pc2Um
Jik7CiAgICAgc3RhdGljIHZvaWQgY3JlYXRlUHJvbWlzZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiwgUmVmUHRyPEltYWdlRGF0YT4mLCBJbWFnZUJpdG1hcE9wdGlvbnMmJiwgc3RkOjpvcHRpb25h
bDxJbnRSZWN0PiwgUHJvbWlzZSYmKTsKLSAgICBzdGF0aWMgdm9pZCBjcmVhdGVQcm9taXNlKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZWZQdHI8VHlwZWRPTUNTU0ltYWdlVmFsdWU+JiwgSW1h
Z2VCaXRtYXBPcHRpb25zJiYsIHN0ZDo6b3B0aW9uYWw8SW50UmVjdD4sIFByb21pc2UmJik7Cisg
ICAgc3RhdGljIHZvaWQgY3JlYXRlUHJvbWlzZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVm
UHRyPENTU1N0eWxlSW1hZ2VWYWx1ZT4mLCBJbWFnZUJpdG1hcE9wdGlvbnMmJiwgc3RkOjpvcHRp
b25hbDxJbnRSZWN0PiwgUHJvbWlzZSYmKTsKICAgICBzdGF0aWMgdm9pZCBjcmVhdGVGcm9tQnVm
ZmVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZWY8QXJyYXlCdWZmZXI+JiYsIFN0cmluZyBt
aW1lVHlwZSwgbG9uZyBsb25nIGV4cGVjdGVkQ29udGVudExlbmd0aCwgY29uc3QgVVJMJiwgSW1h
Z2VCaXRtYXBPcHRpb25zJiYsIHN0ZDo6b3B0aW9uYWw8SW50UmVjdD4sIFByb21pc2UmJik7CiAK
ICAgICBzdGQ6Om9wdGlvbmFsPEltYWdlQml0bWFwQmFja2luZz4gbV9iYWNraW5nU3RvcmU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNEcmF3SW1hZ2UuaWRs
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzRHJhd0ltYWdlLmlkbAppbmRleCA5
YThlZGIzNzNiY2FjYTY0ZDdlMTdjMzRlNWQ4MTYxNzczNjIyMDcxLi5jODdhZTJkOGMzNDI4MmJk
MWVlNDc0YzlmYjBmZWE2MTBkNDYzMmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNEcmF3SW1hZ2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0NhbnZhc0RyYXdJbWFnZS5pZGwKQEAgLTI2LDcgKzI2LDcgQEAKIC8vIEZJWE1FOiBUaGlz
IHNob3VsZCBpbmNsdWRlIFNWR0ltYWdlRWxlbWVudC4KIHR5cGVkZWYgKEhUTUxJbWFnZUVsZW1l
bnQgb3IgSFRNTENhbnZhc0VsZW1lbnQgb3IgSW1hZ2VCaXRtYXAKICNpZiBkZWZpbmVkKEVOQUJM
RV9DU1NfVFlQRURfT00pICYmIEVOQUJMRV9DU1NfVFlQRURfT00KLSAgICBvciBUeXBlZE9NQ1NT
SW1hZ2VWYWx1ZQorICAgIG9yIENTU1N0eWxlSW1hZ2VWYWx1ZQogI2VuZGlmCiAjaWYgZGVmaW5l
ZChFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUykgJiYgRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMKICAg
ICBvciBPZmZzY3JlZW5DYW52YXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0NhbnZhc0ZpbGxTdHJva2VTdHlsZXMuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvQ2FudmFzRmlsbFN0cm9rZVN0eWxlcy5pZGwKaW5kZXggMTA3MDQ4ZDU2NTA0YWMzNmVkNWE4
YjExZjIzZDgxMzEyMzYzMTg0Mi4uZDM4MzE4Yjc4NzRjNjVhODVkOTY5ZjJlZmZkZDA0ZTI4NDc5
OTM0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzRmlsbFN0
cm9rZVN0eWxlcy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzRmls
bFN0cm9rZVN0eWxlcy5pZGwKQEAgLTI2LDcgKzI2LDcgQEAKIC8vIEZJWE1FOiBUaGlzIHNob3Vs
ZCBpbmNsdWRlIFNWR0ltYWdlRWxlbWVudC4KIHR5cGVkZWYgKEhUTUxJbWFnZUVsZW1lbnQgb3Ig
SFRNTENhbnZhc0VsZW1lbnQgb3IgSW1hZ2VCaXRtYXAKICNpZiBkZWZpbmVkKEVOQUJMRV9DU1Nf
VFlQRURfT00pICYmIEVOQUJMRV9DU1NfVFlQRURfT00KLSAgICBvciBUeXBlZE9NQ1NTSW1hZ2VW
YWx1ZQorICAgIG9yIENTU1N0eWxlSW1hZ2VWYWx1ZQogI2VuZGlmCiAjaWYgZGVmaW5lZChFTkFC
TEVfT0ZGU0NSRUVOX0NBTlZBUykgJiYgRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMKICAgICBvciBP
ZmZzY3JlZW5DYW52YXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dC5jcHAKaW5kZXggMDQwNjJhMDQzZTEyM2U0MTZiMWU4YmZmMDhi
MjYxMTU2MDVmNjNmOS4uNmMyMzcxN2YwNGVmNTk0YWYzZmVlZTRiOTM1YWE3M2Q1ZDcwOWQ3MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5n
Q29udGV4dC5jcHAKQEAgLTE4Myw3ICsxODMsNyBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQ6OmNoZWNrT3JpZ2luKGNvbnN0IFVSTCYgdXJsKQogICAgICAgICBtX2NhbnZhcy5zZXRPcmln
aW5UYWludGVkKCk7CiB9CiAKLXZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDo6Y2hlY2tPcmln
aW4oY29uc3QgVHlwZWRPTUNTU0ltYWdlVmFsdWUmKQordm9pZCBDYW52YXNSZW5kZXJpbmdDb250
ZXh0OjpjaGVja09yaWdpbihjb25zdCBDU1NTdHlsZUltYWdlVmFsdWUmKQogewogICAgIG1fY2Fu
dmFzLnNldE9yaWdpblRhaW50ZWQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaAppbmRleCA3MTliNjMxZTAyNTI2ODdkMDM0
YzZlNDFlMWU3ZmM5MjdkYjFjMDY3Li4zNzIwMDc5MDQ2ZmUwMmY1Njg0NTIwNWQyYTdkZWI5OTc4
ZTgwMjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5k
ZXJpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dC5oCkBAIC00Miw3ICs0Miw3IEBAIGNsYXNzIEhUTUxDYW52YXNFbGVtZW50
OwogY2xhc3MgSFRNTEltYWdlRWxlbWVudDsKIGNsYXNzIEhUTUxWaWRlb0VsZW1lbnQ7CiBjbGFz
cyBJbWFnZUJpdG1hcDsKLWNsYXNzIFR5cGVkT01DU1NJbWFnZVZhbHVlOworY2xhc3MgQ1NTU3R5
bGVJbWFnZVZhbHVlOwogY2xhc3MgV2ViR0xPYmplY3Q7CiBlbnVtIGNsYXNzIFBpeGVsRm9ybWF0
IDogdWludDhfdDsKIApAQCAtMTA0LDcgKzEwNCw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgICAg
IG1fY2FudmFzLnNldE9yaWdpblRhaW50ZWQoKTsKICAgICB9CiAgICAgdm9pZCBjaGVja09yaWdp
bihjb25zdCBVUkwmKTsKLSAgICB2b2lkIGNoZWNrT3JpZ2luKGNvbnN0IFR5cGVkT01DU1NJbWFn
ZVZhbHVlJik7CisgICAgdm9pZCBjaGVja09yaWdpbihjb25zdCBDU1NTdHlsZUltYWdlVmFsdWUm
KTsKIAogICAgIGJvb2wgbV9oYXNBY3RpdmVJbnNwZWN0b3JDYW52YXNDYWxsVHJhY2VyIHsgZmFs
c2UgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52
YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmNwcAppbmRleCAxNjNjYTQ0ZmFjM2FjMjQwOTI3ZDBm
Y2JhYjY2MDc2Y2MyYTEzYzViLi44MjZiMzhjOWM3YmM4Y2I2NzhmNWY2NWVlZDc2MTRmYzViYWVh
ZmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJp
bmdDb250ZXh0MkRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52
YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmNwcApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUg
IkNTU0ZvbnRTZWxlY3Rvci5oIgogI2luY2x1ZGUgIkNTU1BhcnNlci5oIgogI2luY2x1ZGUgIkNT
U1Byb3BlcnR5TmFtZXMuaCIKKyNpbmNsdWRlICJDU1NTdHlsZUltYWdlVmFsdWUuaCIKICNpbmNs
dWRlICJDYWNoZWRJbWFnZS5oIgogI2luY2x1ZGUgIkNhbnZhc0dyYWRpZW50LmgiCiAjaW5jbHVk
ZSAiQ2FudmFzUGF0dGVybi5oIgpAQCAtNjgsNyArNjksNiBAQAogI2luY2x1ZGUgIlN0eWxlUmVz
b2x2ZXIuaCIKICNpbmNsdWRlICJUZXh0TWV0cmljcy5oIgogI2luY2x1ZGUgIlRleHRSdW4uaCIK
LSNpbmNsdWRlICJUeXBlZE9NQ1NTSW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUgPHd0Zi9DaGVja2Vk
QXJpdGhtZXRpYy5oPgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAjaW5jbHVk
ZSA8d3RmL01hdGhFeHRyYXMuaD4KQEAgLTE0MjQsNyArMTQyNCw3IEBAIHN0YXRpYyBpbmxpbmUg
RmxvYXRTaXplIHNpemUoSFRNTFZpZGVvRWxlbWVudCYgdmlkZW8pCiAjZW5kaWYKIAogI2lmIEVO
QUJMRShDU1NfVFlQRURfT00pCi1zdGF0aWMgaW5saW5lIEZsb2F0U2l6ZSBzaXplKFR5cGVkT01D
U1NJbWFnZVZhbHVlJiBpbWFnZSkKK3N0YXRpYyBpbmxpbmUgRmxvYXRTaXplIHNpemUoQ1NTU3R5
bGVJbWFnZVZhbHVlJiBpbWFnZSkKIHsKICAgICBhdXRvKiBjYWNoZWRJbWFnZSA9IGltYWdlLmlt
YWdlKCk7CiAgICAgaWYgKCFjYWNoZWRJbWFnZSkKQEAgLTE0OTUsNyArMTQ5NSw3IEBAIEV4Y2Vw
dGlvbk9yPHZvaWQ+IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OmRyYXdJbWFnZShIVE1M
SW1hZ2VFbGVtZW50JiBpbWFnCiB9CiAKICNpZiBFTkFCTEUoQ1NTX1RZUEVEX09NKQotRXhjZXB0
aW9uT3I8dm9pZD4gQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6ZHJhd0ltYWdlKFR5cGVk
T01DU1NJbWFnZVZhbHVlJiBpbWFnZSwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBjb25zdCBG
bG9hdFJlY3QmIGRzdFJlY3QpCitFeGNlcHRpb25Pcjx2b2lkPiBDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkRCYXNlOjpkcmF3SW1hZ2UoQ1NTU3R5bGVJbWFnZVZhbHVlJiBpbWFnZSwgY29uc3QgRmxv
YXRSZWN0JiBzcmNSZWN0LCBjb25zdCBGbG9hdFJlY3QmIGRzdFJlY3QpCiB7CiAgICAgYXV0byog
Y2FjaGVkSW1hZ2UgPSBpbWFnZS5pbWFnZSgpOwogICAgIGlmICghY2FjaGVkSW1hZ2UgfHwgIWlt
YWdlLmRvY3VtZW50KCkpCkBAIC0yMDQxLDcgKzIwNDEsNyBAQCBFeGNlcHRpb25PcjxSZWZQdHI8
Q2FudmFzUGF0dGVybj4+IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OmNyZWF0ZVBhdHRl
cm4oSQogfQogCiAjaWYgRU5BQkxFKENTU19UWVBFRF9PTSkKLUV4Y2VwdGlvbk9yPFJlZlB0cjxD
YW52YXNQYXR0ZXJuPj4gQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6Y3JlYXRlUGF0dGVy
bihUeXBlZE9NQ1NTSW1hZ2VWYWx1ZSYsIGJvb2wsIGJvb2wpCitFeGNlcHRpb25PcjxSZWZQdHI8
Q2FudmFzUGF0dGVybj4+IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OmNyZWF0ZVBhdHRl
cm4oQ1NTU3R5bGVJbWFnZVZhbHVlJiwgYm9vbCwgYm9vbCkKIHsKICAgICAvLyBGSVhNRTogSW1w
bGVtZW50LgogICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IgfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJh
c2UuaAppbmRleCAwNzU3OWE0MTQ5YjZkZDI4NzhkMGEwYjkwZTZkNTRiMDZlMzk4ODZhLi5hMTQz
MTM4OTk0NGEyNDhjZGZhMjdiMGYwYTIxOTg1ODkyMjU1OTNmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5o
CkBAIC02Nyw3ICs2Nyw3IEBAIHN0cnVjdCBET01NYXRyaXgyREluaXQ7CiAKIHVzaW5nIENhbnZh
c0ltYWdlU291cmNlID0gVmFyaWFudDxSZWZQdHI8SFRNTEltYWdlRWxlbWVudD4sIFJlZlB0cjxI
VE1MQ2FudmFzRWxlbWVudD4sIFJlZlB0cjxJbWFnZUJpdG1hcD4KICNpZiBFTkFCTEUoQ1NTX1RZ
UEVEX09NKQotICAgICwgUmVmUHRyPFR5cGVkT01DU1NJbWFnZVZhbHVlPgorICAgICwgUmVmUHRy
PENTU1N0eWxlSW1hZ2VWYWx1ZT4KICNlbmRpZgogI2lmIEVOQUJMRShPRkZTQ1JFRU5fQ0FOVkFT
KQogICAgICwgUmVmUHRyPE9mZnNjcmVlbkNhbnZhcz4KQEAgLTM0OSw3ICszNDksNyBAQCBwcml2
YXRlOgogI2VuZGlmCiAgICAgRXhjZXB0aW9uT3I8UmVmUHRyPENhbnZhc1BhdHRlcm4+PiBjcmVh
dGVQYXR0ZXJuKEltYWdlQml0bWFwJiwgYm9vbCByZXBlYXRYLCBib29sIHJlcGVhdFkpOwogI2lm
IEVOQUJMRShDU1NfVFlQRURfT00pCi0gICAgRXhjZXB0aW9uT3I8UmVmUHRyPENhbnZhc1BhdHRl
cm4+PiBjcmVhdGVQYXR0ZXJuKFR5cGVkT01DU1NJbWFnZVZhbHVlJiwgYm9vbCByZXBlYXRYLCBi
b29sIHJlcGVhdFkpOworICAgIEV4Y2VwdGlvbk9yPFJlZlB0cjxDYW52YXNQYXR0ZXJuPj4gY3Jl
YXRlUGF0dGVybihDU1NTdHlsZUltYWdlVmFsdWUmLCBib29sIHJlcGVhdFgsIGJvb2wgcmVwZWF0
WSk7CiAjZW5kaWYKIAogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IGRyYXdJbWFnZShIVE1MSW1hZ2VF
bGVtZW50JiwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBjb25zdCBGbG9hdFJlY3QmIGRzdFJl
Y3QpOwpAQCAtMzYwLDcgKzM2MCw3IEBAIHByaXZhdGU6CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4g
ZHJhd0ltYWdlKEhUTUxWaWRlb0VsZW1lbnQmLCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNv
bnN0IEZsb2F0UmVjdCYgZHN0UmVjdCk7CiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NTX1RZUEVEX09N
KQotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IGRyYXdJbWFnZShUeXBlZE9NQ1NTSW1hZ2VWYWx1ZSYs
IGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgY29uc3QgRmxvYXRSZWN0JiBkc3RSZWN0KTsKKyAg
ICBFeGNlcHRpb25Pcjx2b2lkPiBkcmF3SW1hZ2UoQ1NTU3R5bGVJbWFnZVZhbHVlJiwgY29uc3Qg
RmxvYXRSZWN0JiBzcmNSZWN0LCBjb25zdCBGbG9hdFJlY3QmIGRzdFJlY3QpOwogI2VuZGlmCiAg
ICAgRXhjZXB0aW9uT3I8dm9pZD4gZHJhd0ltYWdlKEltYWdlQml0bWFwJiwgY29uc3QgRmxvYXRS
ZWN0JiBzcmNSZWN0LCBjb25zdCBGbG9hdFJlY3QmIGRzdFJlY3QpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ2FudmFzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDYW52YXMuY3BwCmluZGV4IDQyYmY3MjlkM2Y3M2U3NmVi
ZjliYWViOGFiNmNhNGZjNDE2ZTAyMmQuLmQ0OGUzMTk2MWQ0OTczYjMzNjNkZmIyZjUwNzliMDgw
NDljYmQ2ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
YW52YXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDYW52YXMu
Y3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2FudmFzLmgiCiAKICNp
bmNsdWRlICJBZmZpbmVUcmFuc2Zvcm0uaCIKKyNpbmNsdWRlICJDU1NTdHlsZUltYWdlVmFsdWUu
aCIKICNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgogI2luY2x1ZGUgIkNhbnZhc0Jhc2UuaCIKICNp
bmNsdWRlICJDYW52YXNHcmFkaWVudC5oIgpAQCAtNjcsNyArNjgsNiBAQAogI2luY2x1ZGUgIlJl
Y29yZGluZ1N3aXp6bGVUeXBlLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFV0aWxpdGllcy5oIgogI2lu
Y2x1ZGUgIlN0cmluZ0FkYXB0b3JzLmgiCi0jaW5jbHVkZSAiVHlwZWRPTUNTU0ltYWdlVmFsdWUu
aCIKICNpbmNsdWRlICJXZWJHTDJSZW5kZXJpbmdDb250ZXh0LmgiCiAjaW5jbHVkZSAiV2ViR0xC
dWZmZXIuaCIKICNpbmNsdWRlICJXZWJHTEZyYW1lYnVmZmVyLmgiCkBAIC01MTYsNyArNTE2LDcg
QEAgc3RkOjpvcHRpb25hbDxJbnNwZWN0b3JDYW52YXNDYWxsVHJhY2VyOjpQcm9jZXNzZWRBcmd1
bWVudD4gSW5zcGVjdG9yQ2FudmFzOjpwcm8KIAogI2lmIEVOQUJMRShDU1NfVFlQRURfT00pCiAK
LXN0ZDo6b3B0aW9uYWw8SW5zcGVjdG9yQ2FudmFzQ2FsbFRyYWNlcjo6UHJvY2Vzc2VkQXJndW1l
bnQ+IEluc3BlY3RvckNhbnZhczo6cHJvY2Vzc0FyZ3VtZW50KFJlZlB0cjxUeXBlZE9NQ1NTSW1h
Z2VWYWx1ZT4mIGFyZ3VtZW50KQorc3RkOjpvcHRpb25hbDxJbnNwZWN0b3JDYW52YXNDYWxsVHJh
Y2VyOjpQcm9jZXNzZWRBcmd1bWVudD4gSW5zcGVjdG9yQ2FudmFzOjpwcm9jZXNzQXJndW1lbnQo
UmVmUHRyPENTU1N0eWxlSW1hZ2VWYWx1ZT4mIGFyZ3VtZW50KQogewogICAgIGlmICghYXJndW1l
bnQpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CkBAIC0xMDgzLDcgKzEwODMsNyBAQCBp
bnQgSW5zcGVjdG9yQ2FudmFzOjppbmRleEZvckRhdGEoRHVwbGljYXRlRGF0YVZhcmlhbnQgZGF0
YSkKICAgICAgICAgICAgIGl0ZW0gPSBXVEZNb3ZlKGFycmF5KTsKICAgICAgICAgfSwKICNpZiBF
TkFCTEUoQ1NTX1RZUEVEX09NKQotICAgICAgICBbJl0gKGNvbnN0IFJlZlB0cjxUeXBlZE9NQ1NT
SW1hZ2VWYWx1ZT4mIGNzc0ltYWdlVmFsdWUpIHsKKyAgICAgICAgWyZdIChjb25zdCBSZWZQdHI8
Q1NTU3R5bGVJbWFnZVZhbHVlPiYgY3NzSW1hZ2VWYWx1ZSkgewogICAgICAgICAgICAgU3RyaW5n
IGRhdGFVUkwgPSAiZGF0YTosIl9zOwogCiAgICAgICAgICAgICBpZiAoYXV0byogY2FjaGVkSW1h
Z2UgPSBjc3NJbWFnZVZhbHVlLT5pbWFnZSgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ2FudmFzLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ2FudmFzLmgKaW5kZXggNmE5OWVjZmY0N2I1ODBlYzRjNjk2MTAxMGZkNjUwMWZk
YTM1MzY5OS4uNDlhYWVjNTM0NmU0Nzk3N2ZiZDRlYmRlNmU3NTYyMjI5YmFiNzJmYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNhbnZhcy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDYW52YXMuaApAQCAtNTAsNyArNTAsNyBA
QCBjbGFzcyBJbWFnZURhdGE7CiBjbGFzcyBPZmZzY3JlZW5DYW52YXM7CiAjZW5kaWYKICNpZiBF
TkFCTEUoQ1NTX1RZUEVEX09NKQotY2xhc3MgVHlwZWRPTUNTU0ltYWdlVmFsdWU7CitjbGFzcyBD
U1NTdHlsZUltYWdlVmFsdWU7CiAjZW5kaWYKIAogY2xhc3MgSW5zcGVjdG9yQ2FudmFzIGZpbmFs
IDogcHVibGljIFJlZkNvdW50ZWQ8SW5zcGVjdG9yQ2FudmFzPiB7CkBAIC0xMTgsNyArMTE4LDcg
QEAgcHJpdmF0ZToKICAgICAgICAgUmVmUHRyPEltYWdlQml0bWFwPiwKICAgICAgICAgUmVmUHRy
PEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiwKICNpZiBFTkFCTEUoQ1NTX1RZUEVEX09NKQot
ICAgICAgICBSZWZQdHI8VHlwZWRPTUNTU0ltYWdlVmFsdWU+LAorICAgICAgICBSZWZQdHI8Q1NT
U3R5bGVJbWFnZVZhbHVlPiwKICNlbmRpZgogICAgICAgICBJbnNwZWN0b3I6OlNjcmlwdENhbGxG
cmFtZSwKICNpZiBFTkFCTEUoT0ZGU0NSRUVOX0NBTlZBUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDYW52YXNDYWxsVHJhY2VyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDYW52YXNDYWxsVHJhY2VyLmNwcAppbmRleCAyOTgw
MTA0MzRhYTMwZWUzMDNmMjFhMDM3NjdjYzgxMWVkMjdiMGU5Li4zY2VjMTdhOWE5MDRlMmIzOWU4
ODE4OGIwNDc5ZmVjMTE4MWU4ZGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQ2FudmFzQ2FsbFRyYWNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNhbnZhc0NhbGxUcmFjZXIuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2FudmFzQ2FsbFRyYWNlci5o
IgogCisjaW5jbHVkZSAiQ1NTU3R5bGVJbWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ2FudmFzQmFz
ZS5oIgogI2luY2x1ZGUgIkNhbnZhc0dyYWRpZW50LmgiCiAjaW5jbHVkZSAiQ2FudmFzUGF0dGVy
bi5oIgpAQCAtNDQsNyArNDUsNiBAQAogI2luY2x1ZGUgIk9mZnNjcmVlbkNhbnZhcy5oIgogI2lu
Y2x1ZGUgIlBhdGgyRC5oIgogI2luY2x1ZGUgIlJlY29yZGluZ1N3aXp6bGVUeXBlLmgiCi0jaW5j
bHVkZSAiVHlwZWRPTUNTU0ltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJXZWJHTDJSZW5kZXJpbmdD
b250ZXh0LmgiCiAjaW5jbHVkZSAiV2ViR0xCdWZmZXIuaCIKICNpbmNsdWRlICJXZWJHTEZyYW1l
YnVmZmVyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q2FudmFzQ2FsbFRyYWNlci5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNh
bnZhc0NhbGxUcmFjZXIuaAppbmRleCBiNWFkY2Y2NGE1ZDNjZjIwMDFlYjUwZDI0NWNkOTI5YWM0
ODQ5NTY2Li4xZDhmNmMwM2U4NzU0YmFiYTA1ZTMwMTJjYjJhNjVmNDYzY2E0NDgwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ2FudmFzQ2FsbFRyYWNlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDYW52YXNDYWxsVHJhY2Vy
LmgKQEAgLTU1LDcgKzU1LDcgQEAgY2xhc3MgSW1hZ2VCaXRtYXA7CiBjbGFzcyBJbWFnZURhdGE7
CiBjbGFzcyBPZmZzY3JlZW5DYW52YXM7CiBjbGFzcyBQYXRoMkQ7Ci1jbGFzcyBUeXBlZE9NQ1NT
SW1hZ2VWYWx1ZTsKK2NsYXNzIENTU1N0eWxlSW1hZ2VWYWx1ZTsKIGNsYXNzIFdlYkdMQnVmZmVy
OwogY2xhc3MgV2ViR0xGcmFtZWJ1ZmZlcjsKIGNsYXNzIFdlYkdMUHJvZ3JhbTsKQEAgLTgxLDcg
KzgxLDcgQEAgZW51bSBJbWFnZVNtb290aGluZ1F1YWxpdHk7CiAKICNpZiBFTkFCTEUoQ1NTX1RZ
UEVEX09NKQogI2RlZmluZSBGT1JfRUFDSF9JTlNQRUNUT1JfQ0FOVkFTX0NBTExfVFJBQ0VSX0NT
U19UWVBFRF9PTV9BUkdVTUVOVChtYWNybykgXAotICAgIG1hY3JvKFJlZlB0cjxUeXBlZE9NQ1NT
SW1hZ2VWYWx1ZT4mKSBcCisgICAgbWFjcm8oUmVmUHRyPENTU1N0eWxlSW1hZ2VWYWx1ZT4mKSBc
CiAvLyBlbmQgb2YgRk9SX0VBQ0hfSU5TUEVDVE9SX0NBTlZBU19DQUxMX1RSQUNFUl9DU1NfVFlQ
RURfT01fQVJHVU1FTlQKICNlbHNlCiAjZGVmaW5lIEZPUl9FQUNIX0lOU1BFQ1RPUl9DQU5WQVNf
Q0FMTF9UUkFDRVJfQ1NTX1RZUEVEX09NX0FSR1VNRU5UKG1hY3JvKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDYW52YXNBZ2VudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNhbnZhc0FnZW50LmNwcApp
bmRleCBiMGZmMDlmNzJlOWRlZDkwNjQ4ZmM2YzFkOTNlNWM1NGVkMGM4M2FmLi4xNDQyY2QzY2Qz
ZmVhMGUxMzFjMGRlM2I2MzIxODE2ZWNkMmJmZDVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNhbnZhc0FnZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNhbnZhc0FnZW50LmNwcApAQCAtMjYs
NiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNhbnZh
c0FnZW50LmgiCiAKKyNpbmNsdWRlICJDU1NTdHlsZUltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJD
YW52YXNCYXNlLmgiCiAjaW5jbHVkZSAiQ2FudmFzR3JhZGllbnQuaCIKICNpbmNsdWRlICJDYW52
YXNQYXR0ZXJuLmgiCkBAIC01MSw3ICs1Miw2IEBACiAjaW5jbHVkZSAiUGF0aDJELmgiCiAjaW5j
bHVkZSAiU2NyaXB0U3RhdGUuaCIKICNpbmNsdWRlICJTdHJpbmdBZGFwdG9ycy5oIgotI2luY2x1
ZGUgIlR5cGVkT01DU1NJbWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAiV2ViR0wyUmVuZGVyaW5nQ29u
dGV4dC5oIgogI2luY2x1ZGUgIldlYkdMQnVmZmVyLmgiCiAjaW5jbHVkZSAiV2ViR0xGcmFtZWJ1
ZmZlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9XaW5kb3dPcldvcmtlckds
b2JhbFNjb3BlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2luZG93T3JXb3JrZXJHbG9iYWxT
Y29wZS5pZGwKaW5kZXggYzNhYzBkNTcwYzk5YjAwZTUxOTViNjBjMDk1ZGY0NDI1ZDAyYWJlNy4u
ZjJjNWIwNTc5YzBlZDBkMjU1OWE2MWZmNjg4ZWIwZTM5YTBhYjc5YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUuaWRsCkBAIC0zNiw3ICsz
Niw3IEBAIHR5cGVkZWYgKEhUTUxJbWFnZUVsZW1lbnQKICAgICBvciBPZmZzY3JlZW5DYW52YXMK
ICNlbmRpZgogI2lmIGRlZmluZWQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJiYgRU5BQkxFX0NTU19U
WVBFRF9PTQotICAgIG9yIFR5cGVkT01DU1NJbWFnZVZhbHVlCisgICAgb3IgQ1NTU3R5bGVJbWFn
ZVZhbHVlCiAjZW5kaWYKICkgQ2FudmFzSW1hZ2VTb3VyY2U7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435654</attachid>
            <date>2021-08-16 18:56:30 -0700</date>
            <delta_ts>2021-08-16 19:02:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229028-20210816185629.patch</filename>
            <type>text/plain</type>
            <size>47059</size>
            <attacher name="Qiaosong Zhou">johnson.zhou.sh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGVjNDQ1NThkMzU5OWFh
YzI5YmJiMDAzNDMwMzEzOTgzOTBhMjM0NS4uMDZjODI4MDY5NzJmNWRkY2I4MjE0ZTg2MWNjZWNk
ODU5ODdlMWVlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDIxLTA4LTEyICBKb2hu
c29uIFpob3UgIDxxaWFvc29uZ196aG91QGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmFsIG9m
ICJUeXBlZE9NIiBwcmVmaXggZm9yIENTU09NIE9iamVjdCBuYW1lcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MDI4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6
CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ1NTU3R5bGVWYWx1ZUN1c3Rv
bS5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1R5cGVkT01D
U1NTdHlsZVZhbHVlQ3VzdG9tLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgICogY3NzL3R5cGVkb20vQ1NT
TnVtZXJpY1ZhbHVlLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L1R5cGVkT01DU1NVbml0VmFsdWUuY3BwLgorICAgICAgICAqIGNzcy90eXBlZG9tL0NTU051bWVy
aWNWYWx1ZS5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRP
TUNTU051bWVyaWNWYWx1ZS5oLgorICAgICAgICAqIGNzcy90eXBlZG9tL0NTU051bWVyaWNWYWx1
ZS5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NT
TnVtZXJpY1ZhbHVlLmlkbC4KKyAgICAgICAgKiBjc3MvdHlwZWRvbS9DU1NTdHlsZUltYWdlVmFs
dWUuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRPTUNT
U0ltYWdlVmFsdWUuY3BwLgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVJbWFnZVZhbHVlOjpD
U1NTdHlsZUltYWdlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVJbWFnZVZhbHVl
Ojpkb2N1bWVudCBjb25zdCk6CisgICAgICAgICogY3NzL3R5cGVkb20vQ1NTU3R5bGVJbWFnZVZh
bHVlLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NT
SW1hZ2VWYWx1ZS5oLgorICAgICAgICAqIGNzcy90eXBlZG9tL0NTU1N0eWxlSW1hZ2VWYWx1ZS5p
ZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NTSW1h
Z2VWYWx1ZS5pZGwuCisgICAgICAgICogY3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5jcHA6IFJl
bmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NTU3R5bGVWYWx1
ZS5jcHAuCisgICAgICAgICogY3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5oOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRPTUNTU1N0eWxlVmFsdWUuaC4KKyAg
ICAgICAgKiBjc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVlLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJj
ZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1R5cGVkT01DU1NTdHlsZVZhbHVlLmlkbC4KKyAgICAgICAg
KiBjc3MvdHlwZWRvbS9DU1NVbml0VmFsdWUuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNv
cmUvY3NzL3R5cGVkb20vVHlwZWRPTUNTU051bWVyaWNWYWx1ZS5jcHAuCisgICAgICAgICogY3Nz
L3R5cGVkb20vQ1NTVW5pdFZhbHVlLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3Mv
dHlwZWRvbS9UeXBlZE9NQ1NTVW5pdFZhbHVlLmguCisgICAgICAgICogY3NzL3R5cGVkb20vQ1NT
VW5pdFZhbHVlLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1R5
cGVkT01DU1NVbml0VmFsdWUuaWRsLgorICAgICAgICAqIGNzcy90eXBlZG9tL0NTU1VucGFyc2Vk
VmFsdWUuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRP
TUNTU1VucGFyc2VkVmFsdWUuY3BwLgorICAgICAgICAqIGNzcy90eXBlZG9tL0NTU1VucGFyc2Vk
VmFsdWUuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1R5cGVkT01D
U1NVbnBhcnNlZFZhbHVlLmguCisgICAgICAgICogY3NzL3R5cGVkb20vQ1NTVW5wYXJzZWRWYWx1
ZS5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NT
VW5wYXJzZWRWYWx1ZS5pZGwuCisgICAgICAgICogY3NzL3R5cGVkb20vU3R5bGVQcm9wZXJ0eU1h
cFJlYWRPbmx5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUHJvcGVydHlNYXBSZWFkT25s
eTo6cmVpZnlWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVByb3BlcnR5TWFwUmVhZE9u
bHk6OmN1c3RvbVByb3BlcnR5VmFsdWVPckRlZmF1bHQpOgorICAgICAgICAqIGNzcy90eXBlZG9t
L1N0eWxlUHJvcGVydHlNYXBSZWFkT25seS5oOgorICAgICAgICAqIGNzcy90eXBlZG9tL1N0eWxl
UHJvcGVydHlNYXBSZWFkT25seS5pZGw6CisgICAgICAgICogZG9tL1N0eWxlZEVsZW1lbnQuY3Bw
OgorICAgICAgICAqIGh0bWwvQ3VzdG9tUGFpbnRJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpleHRyYWN0Q29tcHV0ZWRQcm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21QYWlu
dEltYWdlOjpkb0N1c3RvbVBhaW50KToKKyAgICAgICAgKiBodG1sL0ltYWdlQml0bWFwLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkltYWdlQml0bWFwOjpjcmVhdGVQcm9taXNlKToKKyAgICAgICAg
KiBodG1sL0ltYWdlQml0bWFwLmg6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzRHJhd0lt
YWdlLmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNGaWxsU3Ryb2tlU3R5bGVzLmlk
bDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQ6OmNoZWNrT3JpZ2luKToKKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0Lmg6CisgICAgICAgICog
aHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpzaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQy
REJhc2U6OmRyYXdJbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkRCYXNlOjpjcmVhdGVQYXR0ZXJuKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkRCYXNlLmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNh
bnZhcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDYW52YXM6OnByb2Nlc3NBcmd1
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDYW52YXM6OmluZGV4Rm9yRGF0YSk6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNhbnZhcy5oOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JDYW52YXNDYWxsVHJhY2VyLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yQ2FudmFzQ2FsbFRyYWNlci5oOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMv
SW5zcGVjdG9yQ2FudmFzQWdlbnQuY3BwOgorICAgICAgICAqIHBhZ2UvV2luZG93T3JXb3JrZXJH
bG9iYWxTY29wZS5pZGw6CisKIDIwMjEtMDgtMTYgIEFuZHJlcyBHb256YWxleiAgPGFuZHJlc2df
MjJAYXBwbGUuY29tPgogCiAgICAgICAgIEV4cG9zZSBbV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXIgbGluZVJlY3RzQW5kVGV4dF0gb24gTWFjT1MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4
IDAxNTQyZGYyMTRlYWJmZDUyYTNiNzBhNGM4ZmYwNzFhNmNlMzViMmIuLmJkN2JkMzgyODI3ODAw
OGQ4Nzk0NmYzM2QwZjAzMmYxNWJhNjhmYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC03MTUs
NiArNzE1LDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBjc3MvU3R5bGVT
aGVldExpc3QuaWRsCiAKICAgICBjc3MvdHlwZWRvbS9DU1NOdW1lcmljVmFsdWUuaWRsCisgICAg
Y3NzL3R5cGVkb20vQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmlkbAogICAgIGNzcy90eXBl
ZG9tL0NTU1N0eWxlSW1hZ2VWYWx1ZS5pZGwKICAgICBjc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVl
LmlkbAogICAgIGNzcy90eXBlZG9tL0NTU1VuaXRWYWx1ZS5pZGwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGM1M2U0MjIyZjA5NWJiNDVj
ZGJkNjZiOGVjOWQ4MDlhZTBlYzE4MDIuLjMwZjI3MDUwNGNkZjNhODcxM2Y1MTdhMmVkZGNmYTU1
M2EzMzNkNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNm
aWxlbGlzdApAQCAtNzI2LDEzICs3MjYsMTQgQEAgJChQUk9KRUNUX0RJUikvY3NzL21lZGlhQ29u
dHJvbHMuY3NzCiAkKFBST0pFQ1RfRElSKS9jc3MvcGx1Z0lucy5jc3MKICQoUFJPSkVDVF9ESVIp
L2Nzcy9xdWlya3MuY3NzCiAkKFBST0pFQ1RfRElSKS9jc3Mvc3ZnLmNzcwotJChQUk9KRUNUX0RJ
UikvY3NzL3R5cGVkb20vU3R5bGVQcm9wZXJ0eU1hcC5pZGwKLSQoUFJPSkVDVF9ESVIpL2Nzcy90
eXBlZG9tL1N0eWxlUHJvcGVydHlNYXBSZWFkT25seS5pZGwKLSQoUFJPSkVDVF9ESVIpL2Nzcy90
eXBlZG9tL0NTU1N0eWxlSW1hZ2VWYWx1ZS5pZGwKICQoUFJPSkVDVF9ESVIpL2Nzcy90eXBlZG9t
L0NTU051bWVyaWNWYWx1ZS5pZGwKKyQoUFJPSkVDVF9ESVIpL2Nzcy90eXBlZG9tL0NTU09NVmFy
aWFibGVSZWZlcmVuY2VWYWx1ZS5pZGwKKyQoUFJPSkVDVF9ESVIpL2Nzcy90eXBlZG9tL0NTU1N0
eWxlSW1hZ2VWYWx1ZS5pZGwKICQoUFJPSkVDVF9ESVIpL2Nzcy90eXBlZG9tL0NTU1N0eWxlVmFs
dWUuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvdHlwZWRvbS9DU1NVbml0VmFsdWUuaWRsCiAkKFBS
T0pFQ1RfRElSKS9jc3MvdHlwZWRvbS9DU1NVbnBhcnNlZFZhbHVlLmlkbAorJChQUk9KRUNUX0RJ
UikvY3NzL3R5cGVkb20vU3R5bGVQcm9wZXJ0eU1hcC5pZGwKKyQoUFJPSkVDVF9ESVIpL2Nzcy90
eXBlZG9tL1N0eWxlUHJvcGVydHlNYXBSZWFkT25seS5pZGwKICQoUFJPSkVDVF9ESVIpL2RvbS9B
Ym9ydEFsZ29yaXRobS5pZGwKICQoUFJPSkVDVF9ESVIpL2RvbS9BYm9ydENvbnRyb2xsZXIuaWRs
CiAkKFBST0pFQ1RfRElSKS9kb20vQWJvcnRTaWduYWwuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IDkxZmM2YjM2YzY1MzBiYmZm
ZmMxMjQwMjcxZWVhNjdmNjQ3Nzc0YzQuLjE3Y2ViZTFkMGJhZDZkMDE1NjQyN2Y2NjY0OWE1NGJj
ZjVjZGNmZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54
Y2ZpbGVsaXN0CkBAIC0zMTIsNiArMzEyLDEwIEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTTWVkaWFSdWxlLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NNZWRpYVJ1bGUuaAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NOYW1lc3BhY2VSdWxlLmNwcAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NOYW1lc3Bh
Y2VSdWxlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
Q1NTTnVtZXJpY1ZhbHVlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNDU1NOdW1lcmljVmFsdWUuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuY3BwCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU09NVmFyaWFibGVS
ZWZlcmVuY2VWYWx1ZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0NTU1BhZ2VSdWxlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNDU1NQYWdlUnVsZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1BhaW50Q2FsbGJhY2suY3BwCkBAIC0zMjYsMTYgKzMzMCwy
NCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1N0
eWxlRGVjbGFyYXRpb24rUHJvcGVydHlOYW1lcwogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZURlY2xhcmF0aW9uK1Byb3BlcnR5TmFtZXMuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZURl
Y2xhcmF0aW9uLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNDU1NTdHlsZURlY2xhcmF0aW9uLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTQ1NTU3R5bGVJbWFnZVZhbHVlLmNwcAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZUltYWdlVmFsdWUuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZVJ1bGUu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1N0
eWxlUnVsZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0NTU1N0eWxlU2hlZXQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0NTU1N0eWxlU2hlZXQuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZVZhbHVlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZVZhbHVlLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTU3VwcG9ydHNSdWxlLmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdXBwb3J0c1J1
bGUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NU
cmFuc2l0aW9uLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNDU1NUcmFuc2l0aW9uLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTQ1NTVW5pdFZhbHVlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NVbml0VmFsdWUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NVbmtub3duUnVsZS5jcHAKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTVW5rbm93blJ1bGUuaAorJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NVbnBhcnNlZFZh
bHVlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlND
U1NVbnBhcnNlZFZhbHVlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTQ2FjaGVRdWVyeU9wdGlvbnMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NhY2hlUXVlcnlPcHRpb25zLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFt
VHJhY2suY3BwCkBAIC0yMjQxLDE2ICsyMjUzLDYgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUcmVlV2Fsa2VyLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUcmVlV2Fsa2VyLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVHlwZUNvbnZlcnNpb25zLmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUeXBlQ29udmVyc2lv
bnMuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NT
dHlsZUltYWdlVmFsdWUuY3BwCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0NTU1N0eWxlSW1hZ2VWYWx1ZS5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU051bWVyaWNWYWx1ZS5jcHAKLSQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTTnVtZXJpY1ZhbHVlLmgKLSQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTU3R5bGVWYWx1ZS5j
cHAKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTU3R5
bGVWYWx1ZS5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0NTU1VuaXRWYWx1ZS5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTQ1NTVW5pdFZhbHVlLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTQ1NTVW5wYXJzZWRWYWx1ZS5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTVW5wYXJzZWRWYWx1ZS5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VJRXZlbnQuY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VJRXZlbnQuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNVSUV2ZW50SW5pdC5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDA0MjIxZjM5NjczOTJhOWUxMjYzNDI2
ZGY2NDViMzk2NzQzYmY5MWMuLjk0OWY4NTIyYjY0YWMzZGE0YzU4OGU3MDVkZGM1ODQ0Nzk4MjZj
YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNjA0LDYgKzYwNCw3IEBAIEpT
X0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9jc3MvdHlwZWRvbS9DU1NTdHlsZVZh
bHVlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvdHlwZWRvbS9DU1NVbml0VmFsdWUuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2Nzcy90eXBlZG9tL0NTU1VucGFyc2VkVmFsdWUuaWRsIFwKKyAgICAk
KFdlYkNvcmUpL2Nzcy90eXBlZG9tL0NTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5pZGwgXAog
ICAgICQoV2ViQ29yZSkvZG9tL0Fib3J0QWxnb3JpdGhtLmlkbCBcCiAgICAgJChXZWJDb3JlKS9k
b20vQWJvcnRDb250cm9sbGVyLmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vQWJvcnRTaWduYWwu
aWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQKaW5kZXggYjllOGJiMWY1MjExNGQxYTZjM2JhYzU2YzBjNWUyZjMw
MWFkZGMxZC4uZTgyMTU3ZWVkYjg0OWQ5MGQ2MjU3YzFhMzM3NGI2YWZhNDlhOGQ4NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQKQEAgLTc3MCw2ICs3NzAsNyBAQCBjc3MvdHlwZWRvbS9DU1NOdW1lcmljVmFsdWUu
Y3BwCiBjc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVlLmNwcAogY3NzL3R5cGVkb20vQ1NTVW5pdFZh
bHVlLmNwcAogY3NzL3R5cGVkb20vQ1NTVW5wYXJzZWRWYWx1ZS5jcHAKK2Nzcy90eXBlZG9tL0NT
U09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHAKIGNzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNw
cAogZGlzcGxheS9jb21wb3NpdGluZy9EaXNwbGF5TGF5ZXJDb250cm9sbGVyLmNwcAogZGlzcGxh
eS9jc3MvRGlzcGxheUJveC5jcHAKQEAgLTM1ODcsNiArMzU4OCw3IEBAIEpTVHJhbnNpdGlvbkV2
ZW50LmNwcAogSlNUcmVlV2Fsa2VyLmNwcAogSlNDU1NTdHlsZUltYWdlVmFsdWUuY3BwCiBKU0NT
U051bWVyaWNWYWx1ZS5jcHAKK0pTQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcAogSlND
U1NTdHlsZVZhbHVlLmNwcAogSlNDU1NVbml0VmFsdWUuY3BwCiBKU0NTU1VucGFyc2VkVmFsdWUu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggODRjN2RlZjc2YjdhMmQ3NTQ4MmIyYmI5ZjA4ZmYwMWJlMjUyNTRiOS4uNDEwZGVh
ODhkZTZmZjhkNTZjMDc3MTBhZDVlNjkzMjAyODUzNmI5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzQ0LDYgKzc0NCw3IEBA
CiAJCTI5QUUyMTM1MjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkT2JqZWN0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUFFMjEzMzIxQUJBNDhB
MDA4NjkyODMgLyogQVhJc29sYXRlZE9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI5RDdCQ0ZBMTQ0NEFGN0QwMDcwNjE5QyAvKiBBY2Nl
c3NpYmlsaXR5U3BpbkJ1dHRvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMjlEN0JDRjkxNDQ0QUY3RDAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGlu
QnV0dG9uLmggKi87IH07CiAJCTI5RkFGNEI2MTk1QUIwODkwMEE1MjJEQyAvKiBUZXh0VW5kb0lu
c2VydGlvbk1hcmt1cE1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMjlGQUY0QjUxOTVBQjA4OTAwQTUyMkRDIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFy
a3VwTWFjLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJMkFCRkZGRjMyNkM1MzVDMDAwNDg4NzVCIC8qIENTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkFCRkZG
RjEyNkM1MzVCRDAwNDg4NzVCIC8qIENTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5oICovOyB9
OwogCQkyQjM2NUM4NDE1MjUxMTlFMDA5MUQyN0IgLyogUmVuZGVyU1ZHRWxsaXBzZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkI0MjM1QTAxNTI1MEY2
MDAwREJCQ0Q4IC8qIFJlbmRlclNWR0VsbGlwc2UuaCAqLzsgfTsKIAkJMkJFOEUyQzcxMkE1ODlF
QzAwRkFENTUwIC8qIEhUTUxNZXRhQ2hhcnNldFBhcnNlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkJFOEUyQzYxMkE1ODlFQzAwRkFENTUwIC8qIEhU
TUxNZXRhQ2hhcnNldFBhcnNlci5oICovOyB9OwogCQkyQzg1NjUzNDI0QzBGNzNDMDBBMzc2NzMg
LyogRmlsdGVyRWZmZWN0UmVuZGVyZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDJDODU2NTMzMjRDMEY3M0MwMEEzNzY3MyAvKiBGaWx0ZXJFZmZlY3RS
ZW5kZXJlci5oICovOyB9OwpAQCAtNzE3Miw2ICs3MTczLDkgQEAKIAkJMkE2NjQzOEUyNkEwMDZB
RTAwQzE0N0ExIC8qIEZvcm1EYXRhRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEZvcm1EYXRhRXZlbnQuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyQTY2NDM5MDI2QTAwNkFGMDBDMTQ3QTEgLyog
Rm9ybURhdGFFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb3JtRGF0YUV2ZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJBNjY0MzkxMjZBMDA2QUYwMEMxNDdBMSAvKiBGb3JtRGF0
YUV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZvcm1EYXRhRXZlbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkyQUJGRkZFRjI2QzUzNUJDMDA0ODg3NUIgLyogQ1NTT01W
YXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU09NVmFyaWFi
bGVSZWZlcmVuY2VWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJBQkZG
RkYxMjZDNTM1QkQwMDQ4ODc1QiAvKiBDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTJBQkZGRkYyMjZDNTM1QkQwMDQ4ODc1QiAvKiBDU1NPTVZhcmlhYmxl
UmVmZXJlbmNlVmFsdWUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJCNDIzNTlGMTUyNTBGNjAwMERCQkNEOCAv
KiBSZW5kZXJTVkdFbGxpcHNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFJlbmRlclNWR0VsbGlwc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
QjQyMzVBMDE1MjUwRjYwMDBEQkJDRDggLyogUmVuZGVyU1ZHRWxsaXBzZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJTVkdFbGxpcHNlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTJCRThFMkM2MTJBNTg5RUMwMEZBRDU1MCAvKiBIVE1MTWV0YUNoYXJz
ZXRQYXJzZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTE1ldGFDaGFy
c2V0UGFyc2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDA4Nyw2ICsyMDA5
MSw5IEBACiAJCQkJRTMyOTI3NjIyMjU0M0Y1ODAwMzA4QTlBIC8qIENTU051bWVyaWNWYWx1ZS5j
cHAgKi8sCiAJCQkJNEJBRkQwREYyMTkyMjBBQjAwQzBBQjY0IC8qIENTU051bWVyaWNWYWx1ZS5o
ICovLAogCQkJCTRCQUZEMERCMjE5MjIwMjIwMEMwQUI2NCAvKiBDU1NOdW1lcmljVmFsdWUuaWRs
ICovLAorCQkJCTJBQkZGRkVGMjZDNTM1QkMwMDQ4ODc1QiAvKiBDU1NPTVZhcmlhYmxlUmVmZXJl
bmNlVmFsdWUuY3BwICovLAorCQkJCTJBQkZGRkYxMjZDNTM1QkQwMDQ4ODc1QiAvKiBDU1NPTVZh
cmlhYmxlUmVmZXJlbmNlVmFsdWUuaCAqLywKKwkJCQkyQUJGRkZGMjI2QzUzNUJEMDA0ODg3NUIg
LyogQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmlkbCAqLywKIAkJCQlFMzI5Mjc2MDIyNTQz
RjU4MDAzMDhBOUEgLyogQ1NTU3R5bGVJbWFnZVZhbHVlLmNwcCAqLywKIAkJCQk0QjQzODY0RjIx
OUNENTYxMDBGOEQzQzUgLyogQ1NTU3R5bGVJbWFnZVZhbHVlLmggKi8sCiAJCQkJNEI0Mzg2NEQy
MTlDRDUyRDAwRjhEM0M1IC8qIENTU1N0eWxlSW1hZ2VWYWx1ZS5pZGwgKi8sCkBAIC0zMTUxMiw2
ICszMTUxOSw3IEBACiAJCQkJMzE0QkUzQTExQjMwRjZCNzAwMTQxOTgyIC8qIENTU05hbWVkSW1h
Z2VWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTRFODM5NTExREZCMkEwRTAwN0JDNkE3IC8q
IENTU05hbWVzcGFjZVJ1bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTRCQUZEMEUwMjE5MjIwQUIw
MEMwQUI2NCAvKiBDU1NOdW1lcmljVmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTJBQkZGRkYz
MjZDNTM1QzAwMDQ4ODc1QiAvKiBDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE4MEU2RDAwMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NQYWdlUnVsZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNEI1QkREOUIyMTY1OEExNTAwREQ0MjYyIC8qIENTU1BhaW50Q2Fs
bGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTRCNkU4NzY5MjE3NkQ2OTIwMDQyMEU1RSAvKiBD
U1NQYWludEltYWdlVmFsdWUuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNDU1NTdHlsZVZhbHVlQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTQ1NTU3R5bGVWYWx1ZUN1c3RvbS5jcHAKaW5kZXggNWM1NDUzZWIx
ODhlY2Y3NDRhODc5NDhmOTM4OTU5ZjM4MTExMjQyOS4uYjhiYzYwOGQ3ZjIzNWNiMDUyZWE5NTdj
Y2NmYWEyOTg2Y2FmMDZlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNDU1NTdHlsZVZhbHVlQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0NTU1N0eWxlVmFsdWVDdXN0b20uY3BwCkBAIC0zOCwxNCArMzgsMTMgQEAgdXNpbmcgbmFt
ZXNwYWNlIEpTQzsKIAogSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0Kiwg
SlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPENTU1N0eWxlVmFsdWU+JiYgdmFs
dWUpCiB7Ci0gICAgaWYgKHZhbHVlLT5pc1VuaXRWYWx1ZSgpKQorICAgIGlmICh2YWx1ZS0+Z2V0
VHlwZSgpID09IENTU1N0eWxlVmFsdWVUeXBlOjpDU1NVbml0VmFsdWUpCiAgICAgICAgIHJldHVy
biBjcmVhdGVXcmFwcGVyPENTU1VuaXRWYWx1ZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHZhbHVl
KSk7Ci0gICAgaWYgKHZhbHVlLT5pc1VucGFyc2VkVmFsdWUoKSkKKyAgICBpZiAodmFsdWUtPmdl
dFR5cGUoKSA9PSBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTVW5wYXJzZWRWYWx1ZSkKICAgICAgICAg
cmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTVW5wYXJzZWRWYWx1ZT4oZ2xvYmFsT2JqZWN0LCBXVEZN
b3ZlKHZhbHVlKSk7Ci0gICAgaWYgKHZhbHVlLT5pc0ltYWdlVmFsdWUoKSkKKyAgICBpZiAodmFs
dWUtPmdldFR5cGUoKSA9PSBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTU3R5bGVJbWFnZVZhbHVlKQog
ICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NTdHlsZUltYWdlVmFsdWU+KGdsb2JhbE9i
amVjdCwgV1RGTW92ZSh2YWx1ZSkpOwogCi0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAg
cmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTU3R5bGVWYWx1ZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3Zl
KHZhbHVlKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dl
YkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaAppbmRleCBjZGI1MmUxMDljMTg2ODI2NGRiZjJkOTQwOTgyZDk2MzQxYTUw
MWJlLi42OWMzOWJiMDM4MGNmMDlmNTFlNmE2ZGU5MDkyMjU5ZjYxMTVkOGU3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC04NSw2
ICs4NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhDU1NUcmFuc2l0aW9uKSBc
CiAgICAgbWFjcm8oQ1NTVW5pdFZhbHVlKSBcCiAgICAgbWFjcm8oQ1NTVW5wYXJzZWRWYWx1ZSkg
XAorICAgIG1hY3JvKENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUpIFwKICAgICBtYWNybyhDdXN0
b21FbGVtZW50UmVnaXN0cnkpIFwKICAgICBtYWNybyhEYXRhYmFzZSkgXAogICAgIG1hY3JvKERh
dGFUcmFuc2Zlckl0ZW0pIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L0NTU051bWVyaWNWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTTnVtZXJp
Y1ZhbHVlLmgKaW5kZXggYWE4N2VkNjZlNmVlMDcyYmZlNDY1MWJiYmM4ZjhmYzBiZmNjODRjMy4u
YmQ4ZjhmOWM2YWQ2OGJmZGI0YTJhYTg0OTM5NmI3ZDI2M2ZlOTJmOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTTnVtZXJpY1ZhbHVlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL3R5cGVkb20vQ1NTTnVtZXJpY1ZhbHVlLmgKQEAgLTMzLDYgKzMzLDkgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDU1NOdW1lcmljVmFsdWUgOiBwdWJsaWMgQ1NTU3R5
bGVWYWx1ZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChDU1NOdW1lcmljVmFsdWUpOwor
ICAgIAorICAgIENTU1N0eWxlVmFsdWVUeXBlIGdldFR5cGUoKSBjb25zdCB7IHJldHVybiBDU1NT
dHlsZVZhbHVlVHlwZTo6Q1NTTnVtZXJpY1ZhbHVlOyB9CisKIHByb3RlY3RlZDoKICAgICBDU1NO
dW1lcmljVmFsdWUoKSA9IGRlZmF1bHQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL3R5cGVkb20vQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy90eXBlZG9tL0NTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNzBmNTEwZDZiN2ZmMDYwMTU0MmU2YTNiZTQ5Mzc0YTMwZDE5MzY4OAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU09NVmFyaWFibGVSZWZlcmVuY2VW
YWx1ZS5jcHAKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzCisgKiAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUiDi
gJxBUyBJU+KAnSBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBC
RQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLAorICogT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUgorICogVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GCisgKiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuaCIKKworI2lmIEVO
QUJMRShDU1NfVFlQRURfT00pCisKKyNpbmNsdWRlICJDU1NVbnBhcnNlZFZhbHVlLmgiCisjaW5j
bHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitX
VEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlKTsK
KworRXhjZXB0aW9uT3I8UmVmPENTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZT4+IENTU09NVmFy
aWFibGVSZWZlcmVuY2VWYWx1ZTo6Y3JlYXRlKFN0cmluZyB2YXJpYWJsZSwgUmVmUHRyPENTU1Vu
cGFyc2VkVmFsdWU+JiYgZmFsbGJhY2spCit7CisgICAgaWYgKCF2YXJpYWJsZS5zdGFydHNXaXRo
KCItLSJfcykpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IgfTsKKyAgICAK
KyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUodmFy
aWFibGUsIFdURk1vdmUoZmFsbGJhY2spKSk7Cit9CisKK0V4Y2VwdGlvbk9yPHZvaWQ+IENTU09N
VmFyaWFibGVSZWZlcmVuY2VWYWx1ZTo6c2V0VmFyaWFibGUoU3RyaW5nIHZhcmlhYmxlKQorewor
ICAgIGlmICghdmFyaWFibGUuc3RhcnRzV2l0aCgiLS0iX3MpKQorICAgICAgICByZXR1cm4gRXhj
ZXB0aW9uIHsgVHlwZUVycm9yIH07CisgICAgCisgICAgbV92YXJpYWJsZSA9IHZhcmlhYmxlOwor
ICAgIHJldHVybiB7IH07Cit9CisKK1N0cmluZyBDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWU6
OnRvU3RyaW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbWFrZVN0cmluZygidmFyKCJfcywgbV92
YXJpYWJsZSwgKG1fZmFsbGJhY2sgPyAiLCAiX3MgOiAiIl9zKSwgKG1fZmFsbGJhY2sgPyBtX2Zh
bGxiYWNrLT50b1N0cmluZygpIDogIiJfcyksICIpIl9zKTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L0NTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVk
b20vQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDI2YWQ5NzM5NGM3
NDU0NmI0ZDI3ZDY0NTA1MDUyOWViY2VlYzNmNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy90eXBlZG9tL0NTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5oCkBAIC0wLDAg
KzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShDU1NfVFlQRURfT00pCisKKyNpbmNsdWRlICJDU1NT
dHlsZVZhbHVlLmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit0ZW1wbGF0ZTx0eXBl
bmFtZT4gY2xhc3MgRXhjZXB0aW9uT3I7CitjbGFzcyBDU1NVbnBhcnNlZFZhbHVlOworCitjbGFz
cyBDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWU6IHB1YmxpYyBSZWZDb3VudGVkPENTU09NVmFy
aWFibGVSZWZlcmVuY2VWYWx1ZT4geworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ1NTT01W
YXJpYWJsZVJlZmVyZW5jZVZhbHVlKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgRXhjZXB0aW9uT3I8
UmVmPENTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZT4+IGNyZWF0ZShTdHJpbmcsIFJlZlB0cjxD
U1NVbnBhcnNlZFZhbHVlPiYmIGZhbGxiYWNrID0geyB9KTsKKyAgICAKKyAgICBFeGNlcHRpb25P
cjx2b2lkPiBzZXRWYXJpYWJsZShTdHJpbmcpOworICAgIFN0cmluZyB0b1N0cmluZygpIGNvbnN0
OworICAgIAorICAgIFN0cmluZyB2YXJpYWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1fdmFyaWFibGU7
IH0KKyAgICBSZWZQdHI8Q1NTVW5wYXJzZWRWYWx1ZT4gZmFsbGJhY2soKSBjb25zdCB7IHJldHVy
biBtX2ZhbGxiYWNrLmNvcHlSZWYoKTsgfQorICAgIAorcHJpdmF0ZToKKyAgICBleHBsaWNpdCBD
U1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUoU3RyaW5nIHZhcmlhYmxlLCBSZWZQdHI8Q1NTVW5w
YXJzZWRWYWx1ZT4mJiBmYWxsYmFjaykKKyAgICAgICAgOiBtX3ZhcmlhYmxlKHZhcmlhYmxlKQor
ICAgICAgICAsIG1fZmFsbGJhY2soV1RGTW92ZShmYWxsYmFjaykpIHsgfQorICAgIAorICAgIFN0
cmluZyBtX3ZhcmlhYmxlOworICAgIFJlZlB0cjxDU1NVbnBhcnNlZFZhbHVlPiBtX2ZhbGxiYWNr
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUu
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmM1YTlhYjhkNDBkNDBkYTk0OWExYjhjODNmODViYjMwMmU1ZDY5OWYK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NPTVZhcmlh
YmxlUmVmZXJlbmNlVmFsdWUuaWRsCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorKgorKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyovCisKK1sKKyAgICBJbnRlcmZhY2VOYW1lPUNTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUsCisg
ICAgRW5hYmxlZEF0UnVudGltZT1DU1NUeXBlZE9NLAorICAgIENvbmRpdGlvbmFsPUNTU19UWVBF
RF9PTSwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAgIEV4cG9zZWQ9KFdpbmRv
dyxXb3JrZXIsUGFpbnRXb3JrbGV0KSwKK10gaW50ZXJmYWNlIENTU09NVmFyaWFibGVSZWZlcmVu
Y2VWYWx1ZSB7CisgICAgY29uc3RydWN0b3IoVVNWU3RyaW5nIHZhcmlhYmxlLCBvcHRpb25hbCBD
U1NVbnBhcnNlZFZhbHVlPyBmYWxsYmFjayA9IG51bGwpOworICAgIGF0dHJpYnV0ZSBVU1ZTdHJp
bmcgdmFyaWFibGU7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1VucGFyc2VkVmFsdWU/IGZh
bGxiYWNrOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1N0
eWxlSW1hZ2VWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZUlt
YWdlVmFsdWUuY3BwCmluZGV4IDVhYzE2OWQ1ZmQ3YTQxZmUyNTBkOWQwMWU3OGVkYTgzN2NhY2Uw
ZWIuLmFlOTEzNGEzNWRhNzRmNjE2Yjk2M2YzZGM1NmM5OGJlZmZiOTc5ODYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1N0eWxlSW1hZ2VWYWx1ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTU3R5bGVJbWFnZVZhbHVlLmNwcApAQCAtNDAs
OCArNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURf
SU1QTChDU1NTdHlsZUltYWdlVmFsdWUpOwogCi1DU1NTdHlsZUltYWdlVmFsdWU6OkNTU1N0eWxl
SW1hZ2VWYWx1ZShDU1NJbWFnZVZhbHVlJiBjc3NWYWx1ZSwgRG9jdW1lbnQmIGRvY3VtZW50KQot
ICAgIDogbV9jc3NWYWx1ZShtYWtlUmVmKGNzc1ZhbHVlKSkKK0NTU1N0eWxlSW1hZ2VWYWx1ZTo6
Q1NTU3R5bGVJbWFnZVZhbHVlKFJlZjxDU1NJbWFnZVZhbHVlPiYmIGNzc1ZhbHVlLCBEb2N1bWVu
dCYgZG9jdW1lbnQpCisgICAgOiBtX2Nzc1ZhbHVlKFdURk1vdmUoY3NzVmFsdWUpKQogICAgICwg
bV9kb2N1bWVudChtYWtlV2Vha1B0cihkb2N1bWVudCkpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZUltYWdlVmFsdWUuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy90eXBlZG9tL0NTU1N0eWxlSW1hZ2VWYWx1ZS5oCmluZGV4IDJmYjVjYjQ4MjAxYjZm
NDVlMzBmNTE0MTE4ZDUyMWZmNjhlOTBlMTkuLjdkNDBiODViN2ZjNWIxMDMwY2NlZDFmMmY1NDIy
MzI0MTA4OWZkZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1N0
eWxlSW1hZ2VWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1N0eWxl
SW1hZ2VWYWx1ZS5oCkBAIC00MSwyMCArNDEsMTkgQEAgY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBD
U1NTdHlsZUltYWdlVmFsdWUgZmluYWwgOiBwdWJsaWMgQ1NTU3R5bGVWYWx1ZSB7CiAgICAgV1RG
X01BS0VfSVNPX0FMTE9DQVRFRChDU1NTdHlsZUltYWdlVmFsdWUpOwogcHVibGljOgotICAgIHN0
YXRpYyBSZWY8Q1NTU3R5bGVJbWFnZVZhbHVlPiBjcmVhdGUoQ1NTSW1hZ2VWYWx1ZSYgY3NzVmFs
dWUsIERvY3VtZW50JiBkb2N1bWVudCkKKyAgICBzdGF0aWMgUmVmPENTU1N0eWxlSW1hZ2VWYWx1
ZT4gY3JlYXRlKFJlZjxDU1NJbWFnZVZhbHVlPiYmIGNzc1ZhbHVlLCBEb2N1bWVudCYgZG9jdW1l
bnQpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NTdHlsZUltYWdlVmFs
dWUoY3NzVmFsdWUsIGRvY3VtZW50KSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENT
U1N0eWxlSW1hZ2VWYWx1ZShXVEZNb3ZlKGNzc1ZhbHVlKSwgZG9jdW1lbnQpKTsKICAgICB9CiAK
LSAgICBTdHJpbmcgdG9TdHJpbmcoKSBmaW5hbCB7IHJldHVybiBtX2Nzc1ZhbHVlLT5jc3NUZXh0
KCk7IH0KKyAgICBTdHJpbmcgdG9TdHJpbmcoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2Nzc1Zh
bHVlLT5jc3NUZXh0KCk7IH0KKyAgICBDU1NTdHlsZVZhbHVlVHlwZSBnZXRUeXBlKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU1N0eWxlSW1hZ2VWYWx1ZTsgfQog
CiAgICAgQ2FjaGVkSW1hZ2UqIGltYWdlKCkgeyByZXR1cm4gbV9jc3NWYWx1ZS0+Y2FjaGVkSW1h
Z2UoKTsgfQogICAgIERvY3VtZW50KiBkb2N1bWVudCgpIGNvbnN0OwogCiBwcml2YXRlOgotICAg
IENTU1N0eWxlSW1hZ2VWYWx1ZShDU1NJbWFnZVZhbHVlJiwgRG9jdW1lbnQmKTsKLQotICAgIGJv
b2wgaXNJbWFnZVZhbHVlKCkgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQorICAgIENTU1N0eWxlSW1h
Z2VWYWx1ZShSZWY8Q1NTSW1hZ2VWYWx1ZT4mJiwgRG9jdW1lbnQmKTsKIAogICAgIFJlZjxDU1NJ
bWFnZVZhbHVlPiBtX2Nzc1ZhbHVlOwogICAgIFdlYWtQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1N0eWxlVmFsdWUuY3BwCmluZGV4IDk5
YzU1ZjI4OGUwYjY3ODQ0NWMzYTQ2NDVhYTRmM2MyYmNiZGYzYzIuLjRjZTIwZDQ3YTY3MjY1YjVj
ODQwMjlkOGViNTRhODExYjA5NDE4MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90
eXBlZG9tL0NTU1N0eWxlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L0NTU1N0eWxlVmFsdWUuY3BwCkBAIC0zMiwxMiArMzIsMTIxIEBACiAKICNpZiBFTkFCTEUoQ1NT
X1RZUEVEX09NKQogCisjaW5jbHVkZSAiQ1NTUGFyc2VyLmgiCisjaW5jbHVkZSAiQ1NTUHJvcGVy
dHlQYXJzZXIuaCIKKyNpbmNsdWRlICJDU1NVbml0VmFsdWUuaCIKKyNpbmNsdWRlICJDU1NWYWx1
ZUxpc3QuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorI2luY2x1ZGUgPHd0
Zi90ZXh0L1N0cmluZ1ZpZXcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEX0lNUEwoQ1NTU3R5bGVWYWx1ZSk7CiAKK0V4Y2VwdGlvbk9yPFZlY3RvcjxS
ZWY8Q1NTU3R5bGVWYWx1ZT4+PiBDU1NTdHlsZVZhbHVlOjpwYXJzZVN0eWxlVmFsdWUoU3RyaW5n
IHByb3BlcnR5LCBTdHJpbmcgY3NzVGV4dCwgYm9vbCBwYXJzZU11bHRpcGxlKQoreworICAgIC8v
IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdHlwZWQtb20tMS8jY3Nzc3R5bGV2YWx1ZQorICAg
IAorICAgIC8vIDEuIElmIHByb3BlcnR5IGlzIG5vdCBhIGN1c3RvbSBwcm9wZXJ0eSBuYW1lIHN0
cmluZywgc2V0IHByb3BlcnR5IHRvIHByb3BlcnR5IEFTQ0lJIGxvd2VyY2FzZWQuCisgICAgaWYg
KGlzQ3VzdG9tUHJvcGVydHlOYW1lKHByb3BlcnR5KSkgeworICAgICAgICAvLyBDdXN0b20gUHJv
cGVydHkgTmFtZSBTdHJpbmcKKyAgICAgICAgcHJvcGVydHkuY29udmVydFRvQVNDSUlMb3dlcmNh
c2UoKTsKKyAgICB9CisgICAgCisgICAgLy8gQ1NTUHJvcGVydHlJRAorICAgIGF1dG8gcHJvcGVy
dHlJRCA9IGNzc1Byb3BlcnR5SUQocHJvcGVydHkpOworCisgICAgLy8gMi4gSWYgcHJvcGVydHkg
aXMgbm90IGEgdmFsaWQgQ1NTIHByb3BlcnR5LCB0aHJvdyBhIFR5cGVFcnJvci4KKyAgICBpZiAo
cHJvcGVydHlJRCA9PSBDU1NQcm9wZXJ0eUludmFsaWQpCisgICAgICAgIHJldHVybiBFeGNlcHRp
b24geyBUeXBlRXJyb3IsICJQcm9wZXJ0eSBTdHJpbmcgaXMgbm90IGEgdmFsaWQgQ1NTIHByb3Bl
cnR5LiJfcyB9OworICAgIAorICAgIGF1dG8gc3R5bGVEZWNsYXJhdGlvbiA9IE11dGFibGVTdHls
ZVByb3BlcnRpZXM6OmNyZWF0ZSgpOworICAgIAorICAgIGF1dG8gcGFyc2VSZXN1bHQgPSBDU1NQ
YXJzZXI6OnBhcnNlVmFsdWUoc3R5bGVEZWNsYXJhdGlvbiwgcHJvcGVydHlJRCwgY3NzVGV4dCwg
dHJ1ZSwgSFRNTFN0YW5kYXJkTW9kZSk7CisgICAgaWYgKHBhcnNlUmVzdWx0ID09IENTU1BhcnNl
cjo6UGFyc2VSZXN1bHQ6OkVycm9yKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgU3ludGF4
RXJyb3IgfTsKKyAgICAKKworICAgIC8vIFJlZlB0cjxDU1NWYWx1ZT4KKyAgICBhdXRvIGNzc1Zh
bHVlID0gc3R5bGVEZWNsYXJhdGlvbi0+Z2V0UHJvcGVydHlDU1NWYWx1ZShwcm9wZXJ0eUlEKTsK
KyAgICBhdXRvIHZhbHVlVHlwZSA9IGNzc1ZhbHVlLT5jc3NWYWx1ZVR5cGUoKTsKKyAgICAKKyAg
ICBpZiAoIWNzc1ZhbHVlKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgU3ludGF4RXJyb3Ig
fTsKKworICAgIGF1dG8gcHJvcGVydHlWaWV3ID0gU3RyaW5nVmlldyhwcm9wZXJ0eSk7CisKKyAg
ICBWZWN0b3I8UmVmPENTU1N0eWxlVmFsdWU+PiByZXN1bHRzOworCisgICAgaWYgKHZhbHVlVHlw
ZSA9PSBDU1NWYWx1ZTo6Q1NTX1ZBTFVFX0xJU1QpIHsKKyAgICAgICAgQVNTRVJUKGlzPENTU1Zh
bHVlTGlzdD4oY3NzVmFsdWUuZ2V0KCkpKTsKKyAgICAgICAgCisgICAgICAgIGJvb2wgcGFyc2Vk
Rmlyc3QgPSBmYWxzZTsKKyAgICAgICAgZm9yIChhdXRvJiBjdXJyZW50VmFsdWUgOiBkb3duY2Fz
dDxDU1NWYWx1ZUxpc3Q+KCpjc3NWYWx1ZS5nZXQoKSkpIHsKKyAgICAgICAgICAgIGlmICghcGFy
c2VNdWx0aXBsZSAmJiBwYXJzZWRGaXJzdCkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgIGF1dG8gcmVpZmllZFZhbHVlID0gQ1NTU3R5bGVWYWx1ZTo6cmVpZnlWYWx1ZShwcm9w
ZXJ0eUlELCBjdXJyZW50VmFsdWUuY29weVJlZigpKTsKKyAgICAgICAgICAgIGlmIChyZWlmaWVk
VmFsdWUpCisgICAgICAgICAgICAgICAgcmVzdWx0cy5hcHBlbmQocmVpZmllZFZhbHVlLnJlbGVh
c2VOb25OdWxsKCkpOworICAgICAgICAgICAgcGFyc2VkRmlyc3QgPSB0cnVlOworICAgICAgICB9
CisgICAgfSBlbHNlIHsKKyAgICAgICAgYXV0byByZWlmaWVkVmFsdWUgPSBDU1NTdHlsZVZhbHVl
OjpyZWlmeVZhbHVlKHByb3BlcnR5SUQsIGNzc1ZhbHVlLmNvcHlSZWYoKSk7CisgICAgICAgIGlm
IChyZWlmaWVkVmFsdWUpCisgICAgICAgICAgICByZXN1bHRzLmFwcGVuZChyZWlmaWVkVmFsdWUu
cmVsZWFzZU5vbk51bGwoKSk7CisgICAgfQorICAgIAorICAgIHJldHVybiByZXN1bHRzOworfQor
CitFeGNlcHRpb25PcjxSZWY8Q1NTU3R5bGVWYWx1ZT4+IENTU1N0eWxlVmFsdWU6OnBhcnNlKFN0
cmluZyBwcm9wZXJ0eSwgU3RyaW5nIGNzc1RleHQpCit7CisgICAgYXV0byBwYXJzZVJlc3VsdCA9
IHBhcnNlU3R5bGVWYWx1ZShwcm9wZXJ0eSwgY3NzVGV4dCwgZmFsc2UpOworICAgIGlmIChwYXJz
ZVJlc3VsdC5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIHBhcnNlUmVzdWx0LnJlbGVh
c2VFeGNlcHRpb24oKTsKKworICAgIGF1dG8gcmVzID0gV1RGTW92ZShwYXJzZVJlc3VsdC5yZWxl
YXNlUmV0dXJuVmFsdWUoKS5hdCgwKSk7CisgICAgCisgICAgcmV0dXJuIHJlczsKK30KKworRXhj
ZXB0aW9uT3I8VmVjdG9yPFJlZjxDU1NTdHlsZVZhbHVlPj4+IENTU1N0eWxlVmFsdWU6OnBhcnNl
QWxsKFN0cmluZyBwcm9wZXJ0eSwgU3RyaW5nIGNzc1RleHQpCit7CisgICAgcmV0dXJuIHBhcnNl
U3R5bGVWYWx1ZShwcm9wZXJ0eSwgY3NzVGV4dCwgdHJ1ZSk7Cit9CisKK1JlZjxDU1NTdHlsZVZh
bHVlPiBDU1NTdHlsZVZhbHVlOjpjcmVhdGUoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlELCBSZWZQ
dHI8Q1NTVmFsdWU+JiYgY3NzVmFsdWUsIGNvbnN0IFN0cmluZyYgcHJvcGVydHkpCit7CisgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTU3R5bGVWYWx1ZShwcm9wZXJ0eUlELCBXVEZNb3ZlKGNz
c1ZhbHVlKSwgcHJvcGVydHkpKTsKK30KKworUmVmPENTU1N0eWxlVmFsdWU+IENTU1N0eWxlVmFs
dWU6OmNyZWF0ZSgpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTU3R5bGVWYWx1ZSgp
KTsKK30KKworQ1NTU3R5bGVWYWx1ZTo6Q1NTU3R5bGVWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3Bl
cnR5SUQsIFJlZlB0cjxDU1NWYWx1ZT4mJiBjc3NWYWx1ZSwgY29uc3QgU3RyaW5nJiBwcm9wZXJ0
eSkKKyAgICA6IG1fY3NzUHJvcGVydHlJRChwcm9wZXJ0eUlEKQorICAgICwgbV9jdXN0b21Qcm9w
ZXJ0eU5hbWUocHJvcGVydHkpCisgICAgLCBtX3Byb3BlcnR5VmFsdWUoV1RGTW92ZShjc3NWYWx1
ZSkpCit7Cit9CisKKy8vIEludm9rZXMgc3RhdGljIGNvbnN0cnVjdG9yIG9mIHN1YmNsYXNzZXMg
dG8gcmVpZnlWYWx1ZXMKK1JlZlB0cjxDU1NTdHlsZVZhbHVlPiBDU1NTdHlsZVZhbHVlOjpyZWlm
eVZhbHVlKENTU1Byb3BlcnR5SUQsIFJlZlB0cjxDU1NWYWx1ZT4mJikKK3sKKyAgICAvLyBGSVhN
RTogQWRkIFJlaWZpY2F0aW9uIGNvbnRyb2wgZmxvdy4gUmV0dXJucyBudWxscHRyIGlmIGZhaWxl
ZAorICAgIHJldHVybiBDU1NTdHlsZVZhbHVlOjpjcmVhdGUoKTsKK30KKworU3RyaW5nIENTU1N0
eWxlVmFsdWU6OnRvU3RyaW5nKCkgY29uc3QKK3sKKyAgICBpZiAoIW1fcHJvcGVydHlWYWx1ZSkK
KyAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CisgICAgCisgICAgcmV0dXJuIG1fcHJvcGVy
dHlWYWx1ZS0+Y3NzVGV4dCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5o
IGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5oCmluZGV4IDE1NjBh
NmQyODUxMjg3YjM0ZWU5MGU4ZjM1ODgxYjcyYjFkNzQ2NDAuLmQ3Y2EzMTY1NTYzMWEzMTY3MzEx
MDIyMzU0YmQ1ZTRkYWQ4ZDZkODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBl
ZG9tL0NTU1N0eWxlVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NT
dHlsZVZhbHVlLmgKQEAgLTMzLDE4ICszMyw0NSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
K2NsYXNzIENTU1ZhbHVlOwordGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgRXhjZXB0aW9uT3I7
CisKK2VudW0gY2xhc3MgQ1NTU3R5bGVWYWx1ZVR5cGU6IHVpbnQ4X3QgeworICAgIENTU1N0eWxl
VmFsdWUsCisgICAgQ1NTU3R5bGVJbWFnZVZhbHVlLAorICAgIENTU1RyYW5zZm9ybVZhbHVlLAor
ICAgIENTU051bWVyaWNWYWx1ZSwKKyAgICBDU1NNYXRoVmFsdWUsCisgICAgQ1NTVW5pdFZhbHVl
LAorICAgIENTU1VucGFyc2VkVmFsdWUsCisgICAgQ1NTS2V5d29yZFZhbHVlCit9OworCiBjbGFz
cyBDU1NTdHlsZVZhbHVlIDogcHVibGljIFJlZkNvdW50ZWQ8Q1NTU3R5bGVWYWx1ZT4sIHB1Ymxp
YyBTY3JpcHRXcmFwcGFibGUgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ1NTU3R5bGVW
YWx1ZSk7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+Q1NTU3R5bGVWYWx1ZSgpID0gZGVmYXVsdDsK
LSAgICB2aXJ0dWFsIFN0cmluZyB0b1N0cmluZygpID0gMDsKLQotICAgIHZpcnR1YWwgYm9vbCBp
c1VuaXRWYWx1ZSgpIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBib29sIGlzVW5wYXJz
ZWRWYWx1ZSgpIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBib29sIGlzSW1hZ2VWYWx1
ZSgpIHsgcmV0dXJuIGZhbHNlOyB9CiAKKyAgICB2aXJ0dWFsIFN0cmluZyB0b1N0cmluZygpIGNv
bnN0OworICAgIHZpcnR1YWwgQ1NTU3R5bGVWYWx1ZVR5cGUgZ2V0VHlwZSgpIGNvbnN0IHsgcmV0
dXJuIENTU1N0eWxlVmFsdWVUeXBlOjpDU1NTdHlsZVZhbHVlOyB9CisgICAgCisgICAgdmlydHVh
bCB+Q1NTU3R5bGVWYWx1ZSgpID0gZGVmYXVsdDsKKyAgICAgICAgCisgICAgc3RhdGljIEV4Y2Vw
dGlvbk9yPFZlY3RvcjxSZWY8Q1NTU3R5bGVWYWx1ZT4+PiBwYXJzZVN0eWxlVmFsdWUoU3RyaW5n
LCBTdHJpbmcsIGJvb2wpOworICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8Q1NTU3R5bGVWYWx1
ZT4+IHBhcnNlKFN0cmluZywgU3RyaW5nKTsKKyAgICBzdGF0aWMgRXhjZXB0aW9uT3I8VmVjdG9y
PFJlZjxDU1NTdHlsZVZhbHVlPj4+IHBhcnNlQWxsKFN0cmluZywgU3RyaW5nKTsKKyAgICAKKyAg
ICBzdGF0aWMgUmVmUHRyPENTU1N0eWxlVmFsdWU+IHJlaWZ5VmFsdWUoQ1NTUHJvcGVydHlJRCwg
UmVmUHRyPENTU1ZhbHVlPiYmKTsKKyAgICAKKyAgICBzdGF0aWMgUmVmPENTU1N0eWxlVmFsdWU+
IGNyZWF0ZShDU1NQcm9wZXJ0eUlELCBSZWZQdHI8Q1NTVmFsdWU+JiYsIGNvbnN0IFN0cmluZyYg
PSBudWxsU3RyaW5nKCkpOworICAgIC8vIEZJWE1FOiBwcm9iYWJseSBzaG91bGQgcmVtb3ZlIHRo
aXMgaW4gdGhlIGZ1dHVyZQorICAgIHN0YXRpYyBSZWY8Q1NTU3R5bGVWYWx1ZT4gY3JlYXRlKCk7
CisgICAgICAgIAogcHJvdGVjdGVkOgogICAgIENTU1N0eWxlVmFsdWUoKSA9IGRlZmF1bHQ7Cisg
ICAgQ1NTU3R5bGVWYWx1ZShDU1NQcm9wZXJ0eUlELCBSZWZQdHI8Q1NTVmFsdWU+JiYsIGNvbnN0
IFN0cmluZyYpOworICAgIENTU1Byb3BlcnR5SUQgbV9jc3NQcm9wZXJ0eUlEOworICAgIFN0cmlu
ZyBtX2N1c3RvbVByb3BlcnR5TmFtZTsKKyAgICBSZWZQdHI8Q1NTVmFsdWU+IG1fcHJvcGVydHlW
YWx1ZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1N0eWxlVmFsdWUuaWRsIGIvU291cmNlL1dlYkNvcmUvY3Nz
L3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5pZGwKaW5kZXggNWQwMTMzZDZjMDg5MWVjZTAxNWJmMmY0
ZmE1YmY2NjI2MWJlYmNiOC4uYWU3ZjkyNDljZTg4ZjNiZjg0OTE4NmVjMDQ3ZjJjYTkxNDU0MDg0
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5pZGwKQEAg
LTI5LDcgKzI5LDkgQEAKICAgICBFbmFibGVkQXRSdW50aW1lPUNTU1R5cGVkT00sCiAgICAgQ29u
ZGl0aW9uYWw9Q1NTX1RZUEVEX09NLAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIsUGFpbnRX
b3JrbGV0KSwKLSAgICBTa2lwVlRhYmxlVmFsaWRhdGlvbiwKKyAgICBTa2lwVlRhYmxlVmFsaWRh
dGlvbgogXSBpbnRlcmZhY2UgQ1NTU3R5bGVWYWx1ZSB7CiAgICAgc3RyaW5naWZpZXI7CisgICAg
W0V4cG9zZWQ9V2luZG93XSBzdGF0aWMgQ1NTU3R5bGVWYWx1ZSBwYXJzZShVU1ZTdHJpbmcgcHJv
cGVydHksIFVTVlN0cmluZyBjc3NUZXh0KTsKKyAgICBbRXhwb3NlZD1XaW5kb3ddIHN0YXRpYyBz
ZXF1ZW5jZTxDU1NTdHlsZVZhbHVlPiBwYXJzZUFsbChVU1ZTdHJpbmcgcHJvcGVydHksIFVTVlN0
cmluZyBjc3NUZXh0KTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRv
bS9DU1NVbml0VmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1VuaXRWYWx1
ZS5oCmluZGV4IDRiZmIxZDE3OWRlOGUzZDRiNTZjNmU1ZjllNDg1NTAyZDkwOTIxMTIuLmFmODUz
OTM4MGUxMmEyYjIwZTkyNmY2Y2NiOTY4ZDE4ZDdiZmM3MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1VuaXRWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy90eXBlZG9tL0NTU1VuaXRWYWx1ZS5oCkBAIC00Myw3ICs0Myw4IEBAIHB1YmxpYzoKICAgICB9
CiAKICAgICAvLyBGSVhNRTogbm90IGNvcnJlY3QuCi0gICAgU3RyaW5nIHRvU3RyaW5nKCkgZmlu
YWwgeyByZXR1cm4gbWFrZVN0cmluZygoaW50KSBtX3ZhbHVlLCBtX3VuaXQpOyB9CisgICAgU3Ry
aW5nIHRvU3RyaW5nKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbWFrZVN0cmluZygoaW50KSBtX3Zh
bHVlLCBtX3VuaXQpOyB9CisgICAgQ1NTU3R5bGVWYWx1ZVR5cGUgZ2V0VHlwZSgpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIENTU1N0eWxlVmFsdWVUeXBlOjpDU1NVbml0VmFsdWU7IH0KIAogICAgIGRv
dWJsZSB2YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWU7IH0KICAgICB2b2lkIHNldFZhbHVl
KGRvdWJsZSB2YWx1ZSkgeyBtX3ZhbHVlID0gdmFsdWU7IH0KQEAgLTU3LDggKzU4LDYgQEAgcHJp
dmF0ZToKICAgICB7CiAgICAgfQogCi0gICAgYm9vbCBpc1VuaXRWYWx1ZSgpIGZpbmFsIHsgcmV0
dXJuIHRydWU7IH0KLQogICAgIGRvdWJsZSBtX3ZhbHVlOwogICAgIFN0cmluZyBtX3VuaXQ7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTVW5wYXJzZWRWYWx1
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NVbnBhcnNlZFZhbHVlLmNwcApp
bmRleCAzYTMzMTQxNWRlMzM0YmUyN2E3ZGU0MjExODc5ODEyZGQ1MDNkZmQ5Li4xOWY1ZjY5MjY3
MzAxOGIzNGY3OWFkZTZkYWQyNDE4OTNiNzBhOWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvdHlwZWRvbS9DU1NVbnBhcnNlZFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvdHlwZWRvbS9DU1NVbnBhcnNlZFZhbHVlLmNwcApAQCAtMzIsMTIgKzMyLDUzIEBACiAKICNp
ZiBFTkFCTEUoQ1NTX1RZUEVEX09NKQogCisjaW5jbHVkZSAiQ1NTT01WYXJpYWJsZVJlZmVyZW5j
ZVZhbHVlLmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFs
bG9jSW5saW5lcy5oPgorI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CisjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FM
TE9DQVRFRF9JTVBMKENTU1VucGFyc2VkVmFsdWUpOwogCitSZWY8Q1NTVW5wYXJzZWRWYWx1ZT4g
Q1NTVW5wYXJzZWRWYWx1ZTo6Y3JlYXRlKGNvbnN0IFZlY3RvcjxDU1NVbnBhcnNlZFNlZ21lbnQ+
JiBzZWdtZW50cykKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NVbnBhcnNlZFZhbHVl
KHNlZ21lbnRzKSk7Cit9CisKK0NTU1VucGFyc2VkVmFsdWU6OkNTU1VucGFyc2VkVmFsdWUoY29u
c3QgVmVjdG9yPENTU1VucGFyc2VkU2VnbWVudD4mIHNlZ21lbnRzKQorICAgIDogbV9zZWdtZW50
cyhzZWdtZW50cykKK3sKK30KKworU3RyaW5nIENTU1VucGFyc2VkVmFsdWU6OnRvU3RyaW5nKCkg
Y29uc3QKK3sKKyAgICBTdHJpbmcgc2VyaWFsaXphdGlvbiA9IGVtcHR5U3RyaW5nKCk7CisgICAg
Zm9yIChhdXRvJiBzZWdtZW50IDogbV9zZWdtZW50cykgeworICAgICAgICBpZiAoV1RGOjpob2xk
c19hbHRlcm5hdGl2ZTxTdHJpbmc+KHNlZ21lbnQpKQorICAgICAgICAgICAgc2VyaWFsaXphdGlv
bi5hcHBlbmQoV1RGOjpnZXQ8U3RyaW5nPihzZWdtZW50KSk7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIHNlcmlhbGl6YXRpb24uYXBwZW5kKFdURjo6Z2V0PFJlZlB0cjxDU1NPTVZhcmlhYmxl
UmVmZXJlbmNlVmFsdWU+PihzZWdtZW50KS0+dG9TdHJpbmcoKSk7CisgICAgfQorICAgIHJldHVy
biBzZXJpYWxpemF0aW9uOworfQorCitFeGNlcHRpb25PcjxDU1NVbnBhcnNlZFNlZ21lbnQ+IENT
U1VucGFyc2VkVmFsdWU6Oml0ZW0odW5zaWduZWQgbG9uZyBpbmRleCkKK3sKKyAgICBpZiAoaW5k
ZXggPj0gbV9zZWdtZW50cy5zaXplKCkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBSYW5n
ZUVycm9yIH07CisgICAgcmV0dXJuIEV4Y2VwdGlvbk9yPENTU1VucGFyc2VkU2VnbWVudD4geyBD
U1NVbnBhcnNlZFNlZ21lbnQgeyBtX3NlZ21lbnRzW2luZGV4XSB9IH07Cit9CisKK0V4Y2VwdGlv
bk9yPENTU1VucGFyc2VkU2VnbWVudD4gQ1NTVW5wYXJzZWRWYWx1ZTo6c2V0SXRlbSh1bnNpZ25l
ZCBsb25nIGluZGV4LCBDU1NVbnBhcnNlZFNlZ21lbnQgdmFsKQoreworICAgIGlmIChpbmRleCA+
PSBtX3NlZ21lbnRzLnNpemUoKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFJhbmdlRXJy
b3IgfTsKKyAgICBtX3NlZ21lbnRzW2luZGV4XSA9IHZhbDsKKyAgICByZXR1cm4gRXhjZXB0aW9u
T3I8Q1NTVW5wYXJzZWRTZWdtZW50PiB7IENTU1VucGFyc2VkU2VnbWVudCB7IHZhbCB9IH07Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NVbnBhcnNlZFZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvdHlwZWRvbS9DU1NVbnBhcnNlZFZhbHVlLmgKaW5kZXggZjFlNWY1N2M5MjhkZmY5Yzk0ODFi
YzA5YmQxM2Y2ZmEwZWIyNTEzMS4uZGQxOTEyMjkwOGI3NDRjYzA0MWVjYjlkMmM5M2MzMTRmMTAy
YzJhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTVW5wYXJzZWRW
YWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1VucGFyc2VkVmFsdWUu
aApAQCAtMjksMzEgKzI5LDQxIEBACiAKICNpbmNsdWRlICJDU1NTdHlsZVZhbHVlLmgiCiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IENTU1VucGFyc2VkVmFsdWUgZmluYWwgOiBwdWJsaWMgQ1NTU3R5bGVWYWx1ZSB7Cit0ZW1wbGF0
ZTx0eXBlbmFtZT4gY2xhc3MgRXhjZXB0aW9uT3I7CitjbGFzcyBDU1NPTVZhcmlhYmxlUmVmZXJl
bmNlVmFsdWU7Cit1c2luZyBDU1NVbnBhcnNlZFNlZ21lbnQgPSBWYXJpYW50PFN0cmluZywgUmVm
UHRyPENTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZT4+OworCitjbGFzcyBDU1NVbnBhcnNlZFZh
bHVlIDogcHVibGljIENTU1N0eWxlVmFsdWUgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQo
Q1NTVW5wYXJzZWRWYWx1ZSk7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxDU1NVbnBhcnNlZFZh
bHVlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBzZXJpYWxpemVkVmFsdWUpCi0gICAgewotICAgICAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NVbnBhcnNlZFZhbHVlKHNlcmlhbGl6ZWRWYWx1ZSkp
OwotICAgIH0KIAotICAgIFN0cmluZyB0b1N0cmluZygpIGZpbmFsIHsgcmV0dXJuIG1fc2VyaWFs
aXplZFZhbHVlOyB9CisgICAgc3RhdGljIFJlZjxDU1NVbnBhcnNlZFZhbHVlPiBjcmVhdGUoY29u
c3QgVmVjdG9yPENTU1VucGFyc2VkU2VnbWVudD4mKTsKKyAgICAKKyAgICBTdHJpbmcgdG9TdHJp
bmcoKSBjb25zdCBmaW5hbDsKKyAgICAKKyAgICBDU1NTdHlsZVZhbHVlVHlwZSBnZXRUeXBlKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU1VucGFyc2VkVmFsdWU7
IH0KIAotcHJpdmF0ZToKLSAgICBleHBsaWNpdCBDU1NVbnBhcnNlZFZhbHVlKGNvbnN0IFN0cmlu
ZyYgc2VyaWFsaXplZFZhbHVlKQotICAgICAgICA6IG1fc2VyaWFsaXplZFZhbHVlKHNlcmlhbGl6
ZWRWYWx1ZSkKLSAgICB7Ci0gICAgfQorICAgIHVuc2lnbmVkIGxvbmcgbGVuZ3RoKCkgY29uc3Qg
eyByZXR1cm4gbV9zZWdtZW50cy5zaXplKCk7IH0KKyAgICAKKyAgICBFeGNlcHRpb25PcjxDU1NV
bnBhcnNlZFNlZ21lbnQ+IGl0ZW0odW5zaWduZWQgbG9uZyk7CisgICAgCisgICAgRXhjZXB0aW9u
T3I8Q1NTVW5wYXJzZWRTZWdtZW50PiBzZXRJdGVtKHVuc2lnbmVkIGxvbmcsIENTU1VucGFyc2Vk
U2VnbWVudCk7CiAKLSAgICBib29sIGlzVW5wYXJzZWRWYWx1ZSgpIGZpbmFsIHsgcmV0dXJuIHRy
dWU7IH0KK3ByaXZhdGU6CisgICAgZXhwbGljaXQgQ1NTVW5wYXJzZWRWYWx1ZShjb25zdCBWZWN0
b3I8Q1NTVW5wYXJzZWRTZWdtZW50PiYgc2VnbWVudHMpOwogCi0gICAgU3RyaW5nIG1fc2VyaWFs
aXplZFZhbHVlOworICAgIFZlY3RvcjxDU1NVbnBhcnNlZFNlZ21lbnQ+IG1fc2VnbWVudHM7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVH
SU4oV2ViQ29yZTo6Q1NTVW5wYXJzZWRWYWx1ZSkKKyAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29u
c3QgV2ViQ29yZTo6Q1NTU3R5bGVWYWx1ZSYgc3R5bGVWYWx1ZSkgeyByZXR1cm4gc3R5bGVWYWx1
ZS5nZXRUeXBlKCkgPT0gV2ViQ29yZTo6Q1NTU3R5bGVWYWx1ZVR5cGU6OkNTU1VucGFyc2VkVmFs
dWU7IH0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKKwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NVbnBhcnNlZFZhbHVlLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1VucGFyc2VkVmFsdWUuaWRsCmluZGV4IGYyZGUxYjVk
Y2FjMGE2ODEwZmM0MjRlNWU1MDhlNTllOGZkOWVkNjMuLjY1ZDdhNzYwNTM5YTZmODllMGQ0MzI4
NTQ3YjE1Njg2ZjhjZjJiMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L0NTU1VucGFyc2VkVmFsdWUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NT
U1VucGFyc2VkVmFsdWUuaWRsCkBAIC0yMywxMiArMjMsMTkgQEAKICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICov
CiAKLS8vIEZJWE1FOiB3cm9uZyBjb25zdHJ1Y3Rvci4KK3R5cGVkZWYgKFVTVlN0cmluZyBvciBD
U1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUpIENTU1VucGFyc2VkU2VnbWVudDsKKwogWwogICAg
IEludGVyZmFjZU5hbWU9Q1NTVW5wYXJzZWRWYWx1ZSwKICAgICBFbmFibGVkQXRSdW50aW1lPUNT
U1R5cGVkT00sCiAgICAgQ29uZGl0aW9uYWw9Q1NTX1RZUEVEX09NLAogICAgIEV4cG9zZWQ9KFdp
bmRvdyxXb3JrZXIsUGFpbnRXb3JrbGV0KSwKKyAgICBKU0dlbmVyYXRlVG9OYXRpdmVPYmplY3QK
IF0gaW50ZXJmYWNlIENTU1VucGFyc2VkVmFsdWUgOiBDU1NTdHlsZVZhbHVlIHsKLSAgICBjb25z
dHJ1Y3RvcihVU1ZTdHJpbmcgc2VyaWFsaXplZFZhbHVlKTsKKyAgICBjb25zdHJ1Y3RvcihzZXF1
ZW5jZTxDU1NVbnBhcnNlZFNlZ21lbnQ+IG1lbWJlcnMpOworCisgICAgaXRlcmFibGU8Q1NTVW5w
YXJzZWRTZWdtZW50PjsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5n
dGg7CisgICAgZ2V0dGVyIENTU1VucGFyc2VkU2VnbWVudCAodW5zaWduZWQgbG9uZyBpbmRleCk7
CisgICAgc2V0dGVyIENTU1VucGFyc2VkU2VnbWVudCAodW5zaWduZWQgbG9uZyBpbmRleCwgQ1NT
VW5wYXJzZWRTZWdtZW50IHZhbCk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L3R5cGVkb20vU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy90eXBlZG9tL1N0eWxlUHJvcGVydHlNYXBSZWFkT25seS5jcHAKaW5kZXggMmI2MmI4MTViNDg5
YzRkNWYzYjFlMmM0ZmZlYzg0ZTdjMTEwYmI4OC4uYmE4M2I1NmM2Mjk3OTBlZTk5ODJjNjk3ZTIw
Yjg0MzIxYTNlYmFmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vU3R5
bGVQcm9wZXJ0eU1hcFJlYWRPbmx5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRv
bS9TdHlsZVByb3BlcnR5TWFwUmVhZE9ubHkuY3BwCkBAIC00MywzNiArNDMsMzcgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1SZWZQdHI8Q1NTU3R5bGVWYWx1ZT4gU3R5bGVQcm9wZXJ0eU1h
cFJlYWRPbmx5OjpyZWlmeVZhbHVlKENTU1ZhbHVlKiB2YWx1ZSwgRG9jdW1lbnQmIGRvY3VtZW50
LCBFbGVtZW50KikKK1JlZlB0cjxDU1NTdHlsZVZhbHVlPiBTdHlsZVByb3BlcnR5TWFwUmVhZE9u
bHk6OnJlaWZ5VmFsdWUoUmVmUHRyPENTU1ZhbHVlPiYmIHZhbHVlLCBjb25zdCBTdHJpbmcmLCBE
b2N1bWVudCYgZG9jdW1lbnQsIEVsZW1lbnQqKQogewogICAgIGlmICghdmFsdWUpCiAgICAgICAg
IHJldHVybiBudWxscHRyOwotCisgICAgCisgICAgQ1NTVmFsdWUqIHZhbHVlUHRyID0gdmFsdWUu
Z2V0KCk7CisgICAgCiAgICAgLy8gRklYTUU6IFByb3Blcmx5IHJlaWZ5IGFsbCBsZW5ndGggdmFs
dWVzLgotICAgIGlmIChpczxDU1NQcmltaXRpdmVWYWx1ZT4oKnZhbHVlKSAmJiBkb3duY2FzdDxD
U1NQcmltaXRpdmVWYWx1ZT4oKnZhbHVlKS5wcmltaXRpdmVUeXBlKCkgPT0gQ1NTVW5pdFR5cGU6
OkNTU19QWCkKLSAgICAgICAgcmV0dXJuIENTU1VuaXRWYWx1ZTo6Y3JlYXRlKGRvd25jYXN0PENT
U1ByaW1pdGl2ZVZhbHVlPigqdmFsdWUpLmRvdWJsZVZhbHVlKCksICJweCIpOworICAgIGlmIChp
czxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWVQdHIpICYmIGRvd25jYXN0PENTU1ByaW1pdGl2ZVZh
bHVlPih2YWx1ZVB0ciktPnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NVbml0VHlwZTo6Q1NTX1BYKQor
ICAgICAgICByZXR1cm4gQ1NTVW5pdFZhbHVlOjpjcmVhdGUoZG93bmNhc3Q8Q1NTUHJpbWl0aXZl
VmFsdWU+KHZhbHVlUHRyKS0+ZG91YmxlVmFsdWUoKSwgInB4Iik7CiAKLSAgICBpZiAoaXM8Q1NT
SW1hZ2VWYWx1ZT4oKnZhbHVlKSkKLSAgICAgICAgcmV0dXJuIENTU1N0eWxlSW1hZ2VWYWx1ZTo6
Y3JlYXRlKGRvd25jYXN0PENTU0ltYWdlVmFsdWU+KCp2YWx1ZSksIGRvY3VtZW50KTsKKyAgICBp
ZiAoaXM8Q1NTSW1hZ2VWYWx1ZT4odmFsdWUpKQorICAgICAgICByZXR1cm4gQ1NTU3R5bGVJbWFn
ZVZhbHVlOjpjcmVhdGUobWFrZVJlZihkb3duY2FzdDxDU1NJbWFnZVZhbHVlPigqdmFsdWVQdHIp
KSwgZG9jdW1lbnQpOwogCi0gICAgLy8gRklYTUU6IHNob3VsZCB1c2UgcmF3IENTU1N0eWxlVmFs
dWUKLSAgICByZXR1cm4gQ1NTVW5wYXJzZWRWYWx1ZTo6Y3JlYXRlKHZhbHVlLT5jc3NUZXh0KCkp
OworICAgIHJldHVybiBudWxscHRyOwogfQogCi1SZWZQdHI8Q1NTU3R5bGVWYWx1ZT4gU3R5bGVQ
cm9wZXJ0eU1hcFJlYWRPbmx5OjpjdXN0b21Qcm9wZXJ0eVZhbHVlT3JEZWZhdWx0KGNvbnN0IFN0
cmluZyYgbmFtZSwgRG9jdW1lbnQmIGRvY3VtZW50LCBDU1NWYWx1ZSogaW5wdXRWYWx1ZSwgRWxl
bWVudCogZWxlbWVudCkKK1JlZlB0cjxDU1NTdHlsZVZhbHVlPiBTdHlsZVByb3BlcnR5TWFwUmVh
ZE9ubHk6OmN1c3RvbVByb3BlcnR5VmFsdWVPckRlZmF1bHQoY29uc3QgU3RyaW5nJiBuYW1lLCBE
b2N1bWVudCYgZG9jdW1lbnQsIFJlZlB0cjxDU1NWYWx1ZT4mJiBpbnB1dFZhbHVlLCBFbGVtZW50
KiBlbGVtZW50KQogewogICAgIGlmICghaW5wdXRWYWx1ZSkgewogICAgICAgICBhdXRvKiByZWdp
c3RlcmVkID0gZG9jdW1lbnQuZ2V0Q1NTUmVnaXN0ZXJlZEN1c3RvbVByb3BlcnR5U2V0KCkuZ2V0
KG5hbWUpOwogCiAgICAgICAgIGlmIChyZWdpc3RlcmVkICYmIHJlZ2lzdGVyZWQtPmluaXRpYWxW
YWx1ZSgpKSB7CiAgICAgICAgICAgICBhdXRvIHZhbHVlID0gcmVnaXN0ZXJlZC0+aW5pdGlhbFZh
bHVlQ29weSgpOwotICAgICAgICAgICAgcmV0dXJuIFN0eWxlUHJvcGVydHlNYXBSZWFkT25seTo6
cmVpZnlWYWx1ZSh2YWx1ZS5nZXQoKSwgZG9jdW1lbnQsIGVsZW1lbnQpOworICAgICAgICAgICAg
cmV0dXJuIFN0eWxlUHJvcGVydHlNYXBSZWFkT25seTo6cmVpZnlWYWx1ZShXVEZNb3ZlKHZhbHVl
KSwgbmFtZSwgZG9jdW1lbnQsIGVsZW1lbnQpOwogICAgICAgICB9CiAKLSAgICAgICAgcmV0dXJu
IENTU1VucGFyc2VkVmFsdWU6OmNyZWF0ZShlbXB0eVN0cmluZygpKTsKKyAgICAgICAgcmV0dXJu
IENTU1N0eWxlVmFsdWU6OmNyZWF0ZSgpOwogICAgIH0KIAotICAgIHJldHVybiBTdHlsZVByb3Bl
cnR5TWFwUmVhZE9ubHk6OnJlaWZ5VmFsdWUoaW5wdXRWYWx1ZSwgZG9jdW1lbnQsIGVsZW1lbnQp
OworICAgIHJldHVybiBTdHlsZVByb3BlcnR5TWFwUmVhZE9ubHk6OnJlaWZ5VmFsdWUoV1RGTW92
ZShpbnB1dFZhbHVlKSwgbmFtZSwgZG9jdW1lbnQsIGVsZW1lbnQpOwogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9TdHls
ZVByb3BlcnR5TWFwUmVhZE9ubHkuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1N0eWxl
UHJvcGVydHlNYXBSZWFkT25seS5oCmluZGV4IGUzY2E3MTEwMThiMDlhYWZmZDcxZTFiMWU0NDcx
ZWIyMTZmYjgxZDAuLmE3ODlkN2U5ZTgxN2Y0YjYyZGVjMTY2MDZiY2ZhMjI2MjNhYjNhOWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1N0eWxlUHJvcGVydHlNYXBSZWFk
T25seS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1N0eWxlUHJvcGVydHlNYXBS
ZWFkT25seS5oCkBAIC00Miw5ICs0Miw5IEBAIGNsYXNzIFN0eWxlUHJvcGVydHlNYXBSZWFkT25s
eSA6IHB1YmxpYyBSZWZDb3VudGVkPFN0eWxlUHJvcGVydHlNYXBSZWFkT25seT4gewogcHVibGlj
OgogICAgIHZpcnR1YWwgflN0eWxlUHJvcGVydHlNYXBSZWFkT25seSgpID0gZGVmYXVsdDsKICAg
ICB2aXJ0dWFsIFJlZlB0cjxDU1NTdHlsZVZhbHVlPiBnZXQoY29uc3QgU3RyaW5nJiBwcm9wZXJ0
eSkgY29uc3QgPSAwOwotCi0gICAgc3RhdGljIFJlZlB0cjxDU1NTdHlsZVZhbHVlPiByZWlmeVZh
bHVlKENTU1ZhbHVlKiwgRG9jdW1lbnQmLCBFbGVtZW50KiA9IG51bGxwdHIpOwotICAgIHN0YXRp
YyBSZWZQdHI8Q1NTU3R5bGVWYWx1ZT4gY3VzdG9tUHJvcGVydHlWYWx1ZU9yRGVmYXVsdChjb25z
dCBTdHJpbmcmIG5hbWUsIERvY3VtZW50JiwgQ1NTVmFsdWUqLCBFbGVtZW50KiA9IG51bGxwdHIp
OworICAgIAorICAgIHN0YXRpYyBSZWZQdHI8Q1NTU3R5bGVWYWx1ZT4gcmVpZnlWYWx1ZShSZWZQ
dHI8Q1NTVmFsdWU+JiYsIGNvbnN0IFN0cmluZyYgbmFtZSwgRG9jdW1lbnQmLCBFbGVtZW50KiA9
IG51bGxwdHIpOworICAgIHN0YXRpYyBSZWZQdHI8Q1NTU3R5bGVWYWx1ZT4gY3VzdG9tUHJvcGVy
dHlWYWx1ZU9yRGVmYXVsdChjb25zdCBTdHJpbmcmIG5hbWUsIERvY3VtZW50JiwgUmVmUHRyPENT
U1ZhbHVlPiYmLCBFbGVtZW50KiA9IG51bGxwdHIpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCmluZGV4IDk1N2U1NzY5M2FlOWJj
YmQ3MmM5ZTMwZDVlOWQ4MTQ1ZmE5YTA4NWYuLmZhZTAyODIyODIwYTM3M2Y1OWUzYzM3MDYzYTU5
Y2Y1YjkyNTYzZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKQEAgLTEwOSw3
ICsxMDksNyBAQCBwcml2YXRlOgogCiAgICAgICAgIGlmIChpc0N1c3RvbVByb3BlcnR5TmFtZShu
YW1lKSkgewogICAgICAgICAgICAgYXV0byB2YWx1ZSA9IGVsZW1lbnQuaW5saW5lU3R5bGUoKS0+
Z2V0Q3VzdG9tUHJvcGVydHlDU1NWYWx1ZShuYW1lKTsKLSAgICAgICAgICAgIHJldHVybiBTdHls
ZVByb3BlcnR5TWFwUmVhZE9ubHk6OmN1c3RvbVByb3BlcnR5VmFsdWVPckRlZmF1bHQobmFtZSwg
ZWxlbWVudC5kb2N1bWVudCgpLCB2YWx1ZS5nZXQoKSwgJmVsZW1lbnQpOworICAgICAgICAgICAg
cmV0dXJuIFN0eWxlUHJvcGVydHlNYXBSZWFkT25seTo6Y3VzdG9tUHJvcGVydHlWYWx1ZU9yRGVm
YXVsdChuYW1lLCBlbGVtZW50LmRvY3VtZW50KCksIHZhbHVlLmNvcHlSZWYoKSwgJmVsZW1lbnQp
OwogICAgICAgICB9CiAKICAgICAgICAgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEID0gY3NzUHJv
cGVydHlJRChuYW1lKTsKQEAgLTExNyw3ICsxMTcsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAKICAgICAgICAgYXV0byB2YWx1ZSA9IGVsZW1lbnQuaW5saW5lU3R5
bGUoKS0+Z2V0UHJvcGVydHlDU1NWYWx1ZShwcm9wZXJ0eUlEKTsKLSAgICAgICAgcmV0dXJuIFN0
eWxlUHJvcGVydHlNYXBSZWFkT25seTo6cmVpZnlWYWx1ZSh2YWx1ZS5nZXQoKSwgZWxlbWVudC5k
b2N1bWVudCgpLCAmZWxlbWVudCk7CisgICAgICAgIHJldHVybiBTdHlsZVByb3BlcnR5TWFwUmVh
ZE9ubHk6OnJlaWZ5VmFsdWUodmFsdWUuY29weVJlZigpLCBuYW1lLCBlbGVtZW50LmRvY3VtZW50
KCksICZlbGVtZW50KTsKICAgICB9CiAKICAgICBTdHlsZWRFbGVtZW50KiBtX2VsZW1lbnQgeyBu
dWxscHRyIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0N1c3RvbVBhaW50SW1h
Z2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9DdXN0b21QYWludEltYWdlLmNwcAppbmRleCBl
MzAwNzdmNWFiYTAwN2M5NzRjZDBkNzg5YWYyNTg2NWIwZmY2YTY2Li42OWZmNTdlZGUxYWQ3YjQ2
ZDk3NThlODJhZmZlZGYxMzJhY2NlNzRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0N1c3RvbVBhaW50SW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ3VzdG9tUGFp
bnRJbWFnZS5jcHAKQEAgLTY2LDcgKzY2LDcgQEAgc3RhdGljIFJlZlB0cjxDU1NTdHlsZVZhbHVl
PiBleHRyYWN0Q29tcHV0ZWRQcm9wZXJ0eShjb25zdCBTdHJpbmcmIG5hbWUsIEVsZW1lbnQKIAog
ICAgIGlmIChpc0N1c3RvbVByb3BlcnR5TmFtZShuYW1lKSkgewogICAgICAgICBhdXRvIHZhbHVl
ID0gZXh0cmFjdG9yLmN1c3RvbVByb3BlcnR5VmFsdWUobmFtZSk7Ci0gICAgICAgIHJldHVybiBT
dHlsZVByb3BlcnR5TWFwUmVhZE9ubHk6OmN1c3RvbVByb3BlcnR5VmFsdWVPckRlZmF1bHQobmFt
ZSwgZWxlbWVudC5kb2N1bWVudCgpLCB2YWx1ZS5nZXQoKSwgJmVsZW1lbnQpOworICAgICAgICBy
ZXR1cm4gU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5OjpjdXN0b21Qcm9wZXJ0eVZhbHVlT3JEZWZh
dWx0KG5hbWUsIGVsZW1lbnQuZG9jdW1lbnQoKSwgdmFsdWUuY29weVJlZigpLCAmZWxlbWVudCk7
CiAgICAgfQogCiAgICAgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEID0gY3NzUHJvcGVydHlJRChu
YW1lKTsKQEAgLTc0LDcgKzc0LDcgQEAgc3RhdGljIFJlZlB0cjxDU1NTdHlsZVZhbHVlPiBleHRy
YWN0Q29tcHV0ZWRQcm9wZXJ0eShjb25zdCBTdHJpbmcmIG5hbWUsIEVsZW1lbnQKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAKICAgICBhdXRvIHZhbHVlID0gZXh0cmFjdG9yLnByb3BlcnR5VmFs
dWUocHJvcGVydHlJRCwgRG9Ob3RVcGRhdGVMYXlvdXQpOwotICAgIHJldHVybiBTdHlsZVByb3Bl
cnR5TWFwUmVhZE9ubHk6OnJlaWZ5VmFsdWUodmFsdWUuZ2V0KCksIGVsZW1lbnQuZG9jdW1lbnQo
KSwgJmVsZW1lbnQpOworICAgIHJldHVybiBTdHlsZVByb3BlcnR5TWFwUmVhZE9ubHk6OnJlaWZ5
VmFsdWUodmFsdWUuY29weVJlZigpLCBuYW1lLCBlbGVtZW50LmRvY3VtZW50KCksICZlbGVtZW50
KTsKIH0KIAogY2xhc3MgSGFzaE1hcFN0eWxlUHJvcGVydHlNYXAgZmluYWwgOiBwdWJsaWMgU3R5
bGVQcm9wZXJ0eU1hcCB7CkBAIC05MCw3ICs5MCw3IEBAIHB1YmxpYzoKIAogICAgICAgICBpZiAo
aXNDdXN0b21Qcm9wZXJ0eU5hbWUobmFtZSkpIHsKICAgICAgICAgICAgIGF1dG8gdmFsdWUgPSBl
eHRyYWN0b3IuY3VzdG9tUHJvcGVydHlWYWx1ZShuYW1lKTsKLSAgICAgICAgICAgIHJldHVybiBT
dHlsZVByb3BlcnR5TWFwUmVhZE9ubHk6OmN1c3RvbVByb3BlcnR5VmFsdWVPckRlZmF1bHQobmFt
ZSwgZWxlbWVudC5kb2N1bWVudCgpLCB2YWx1ZS5nZXQoKSwgJmVsZW1lbnQpOworICAgICAgICAg
ICAgcmV0dXJuIFN0eWxlUHJvcGVydHlNYXBSZWFkT25seTo6Y3VzdG9tUHJvcGVydHlWYWx1ZU9y
RGVmYXVsdChuYW1lLCBlbGVtZW50LmRvY3VtZW50KCksIHZhbHVlLmNvcHlSZWYoKSwgJmVsZW1l
bnQpOwogICAgICAgICB9CiAKICAgICAgICAgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEID0gY3Nz
UHJvcGVydHlJRChuYW1lKTsKQEAgLTk4LDcgKzk4LDcgQEAgcHVibGljOgogICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAKICAgICAgICAgYXV0byB2YWx1ZSA9IGV4dHJhY3Rvci5wcm9wZXJ0
eVZhbHVlKHByb3BlcnR5SUQsIERvTm90VXBkYXRlTGF5b3V0KTsKLSAgICAgICAgcmV0dXJuIFN0
eWxlUHJvcGVydHlNYXBSZWFkT25seTo6cmVpZnlWYWx1ZSh2YWx1ZS5nZXQoKSwgZWxlbWVudC5k
b2N1bWVudCgpLCAmZWxlbWVudCk7CisgICAgICAgIHJldHVybiBTdHlsZVByb3BlcnR5TWFwUmVh
ZE9ubHk6OnJlaWZ5VmFsdWUodmFsdWUuY29weVJlZigpLCBuYW1lLCBlbGVtZW50LmRvY3VtZW50
KCksICZlbGVtZW50KTsKICAgICB9CiAKIHByaXZhdGU6Cg==
</data>
<flag name="commit-queue"
          id="458527"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435655</attachid>
            <date>2021-08-16 19:02:15 -0700</date>
            <delta_ts>2021-08-16 19:53:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229028-20210816190214.patch</filename>
            <type>text/plain</type>
            <size>47010</size>
            <attacher name="Qiaosong Zhou">johnson.zhou.sh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGVjNDQ1NThkMzU5OWFh
YzI5YmJiMDAzNDMwMzEzOTgzOTBhMjM0NS4uMDZjODI4MDY5NzJmNWRkY2I4MjE0ZTg2MWNjZWNk
ODU5ODdlMWVlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDIxLTA4LTEyICBKb2hu
c29uIFpob3UgIDxxaWFvc29uZ196aG91QGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmFsIG9m
ICJUeXBlZE9NIiBwcmVmaXggZm9yIENTU09NIE9iamVjdCBuYW1lcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MDI4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6
CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ1NTU3R5bGVWYWx1ZUN1c3Rv
bS5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1R5cGVkT01D
U1NTdHlsZVZhbHVlQ3VzdG9tLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgICogY3NzL3R5cGVkb20vQ1NT
TnVtZXJpY1ZhbHVlLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L1R5cGVkT01DU1NVbml0VmFsdWUuY3BwLgorICAgICAgICAqIGNzcy90eXBlZG9tL0NTU051bWVy
aWNWYWx1ZS5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRP
TUNTU051bWVyaWNWYWx1ZS5oLgorICAgICAgICAqIGNzcy90eXBlZG9tL0NTU051bWVyaWNWYWx1
ZS5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NT
TnVtZXJpY1ZhbHVlLmlkbC4KKyAgICAgICAgKiBjc3MvdHlwZWRvbS9DU1NTdHlsZUltYWdlVmFs
dWUuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRPTUNT
U0ltYWdlVmFsdWUuY3BwLgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVJbWFnZVZhbHVlOjpD
U1NTdHlsZUltYWdlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVJbWFnZVZhbHVl
Ojpkb2N1bWVudCBjb25zdCk6CisgICAgICAgICogY3NzL3R5cGVkb20vQ1NTU3R5bGVJbWFnZVZh
bHVlLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NT
SW1hZ2VWYWx1ZS5oLgorICAgICAgICAqIGNzcy90eXBlZG9tL0NTU1N0eWxlSW1hZ2VWYWx1ZS5p
ZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NTSW1h
Z2VWYWx1ZS5pZGwuCisgICAgICAgICogY3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5jcHA6IFJl
bmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NTU3R5bGVWYWx1
ZS5jcHAuCisgICAgICAgICogY3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5oOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRPTUNTU1N0eWxlVmFsdWUuaC4KKyAg
ICAgICAgKiBjc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVlLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJj
ZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1R5cGVkT01DU1NTdHlsZVZhbHVlLmlkbC4KKyAgICAgICAg
KiBjc3MvdHlwZWRvbS9DU1NVbml0VmFsdWUuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNv
cmUvY3NzL3R5cGVkb20vVHlwZWRPTUNTU051bWVyaWNWYWx1ZS5jcHAuCisgICAgICAgICogY3Nz
L3R5cGVkb20vQ1NTVW5pdFZhbHVlLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3Mv
dHlwZWRvbS9UeXBlZE9NQ1NTVW5pdFZhbHVlLmguCisgICAgICAgICogY3NzL3R5cGVkb20vQ1NT
VW5pdFZhbHVlLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1R5
cGVkT01DU1NVbml0VmFsdWUuaWRsLgorICAgICAgICAqIGNzcy90eXBlZG9tL0NTU1VucGFyc2Vk
VmFsdWUuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRP
TUNTU1VucGFyc2VkVmFsdWUuY3BwLgorICAgICAgICAqIGNzcy90eXBlZG9tL0NTU1VucGFyc2Vk
VmFsdWUuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1R5cGVkT01D
U1NVbnBhcnNlZFZhbHVlLmguCisgICAgICAgICogY3NzL3R5cGVkb20vQ1NTVW5wYXJzZWRWYWx1
ZS5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NT
VW5wYXJzZWRWYWx1ZS5pZGwuCisgICAgICAgICogY3NzL3R5cGVkb20vU3R5bGVQcm9wZXJ0eU1h
cFJlYWRPbmx5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUHJvcGVydHlNYXBSZWFkT25s
eTo6cmVpZnlWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVByb3BlcnR5TWFwUmVhZE9u
bHk6OmN1c3RvbVByb3BlcnR5VmFsdWVPckRlZmF1bHQpOgorICAgICAgICAqIGNzcy90eXBlZG9t
L1N0eWxlUHJvcGVydHlNYXBSZWFkT25seS5oOgorICAgICAgICAqIGNzcy90eXBlZG9tL1N0eWxl
UHJvcGVydHlNYXBSZWFkT25seS5pZGw6CisgICAgICAgICogZG9tL1N0eWxlZEVsZW1lbnQuY3Bw
OgorICAgICAgICAqIGh0bWwvQ3VzdG9tUGFpbnRJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpleHRyYWN0Q29tcHV0ZWRQcm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21QYWlu
dEltYWdlOjpkb0N1c3RvbVBhaW50KToKKyAgICAgICAgKiBodG1sL0ltYWdlQml0bWFwLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkltYWdlQml0bWFwOjpjcmVhdGVQcm9taXNlKToKKyAgICAgICAg
KiBodG1sL0ltYWdlQml0bWFwLmg6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzRHJhd0lt
YWdlLmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNGaWxsU3Ryb2tlU3R5bGVzLmlk
bDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQ6OmNoZWNrT3JpZ2luKToKKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0Lmg6CisgICAgICAgICog
aHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpzaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQy
REJhc2U6OmRyYXdJbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkRCYXNlOjpjcmVhdGVQYXR0ZXJuKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkRCYXNlLmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNh
bnZhcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDYW52YXM6OnByb2Nlc3NBcmd1
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDYW52YXM6OmluZGV4Rm9yRGF0YSk6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNhbnZhcy5oOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JDYW52YXNDYWxsVHJhY2VyLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yQ2FudmFzQ2FsbFRyYWNlci5oOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMv
SW5zcGVjdG9yQ2FudmFzQWdlbnQuY3BwOgorICAgICAgICAqIHBhZ2UvV2luZG93T3JXb3JrZXJH
bG9iYWxTY29wZS5pZGw6CisKIDIwMjEtMDgtMTYgIEFuZHJlcyBHb256YWxleiAgPGFuZHJlc2df
MjJAYXBwbGUuY29tPgogCiAgICAgICAgIEV4cG9zZSBbV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXIgbGluZVJlY3RzQW5kVGV4dF0gb24gTWFjT1MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4
IDAxNTQyZGYyMTRlYWJmZDUyYTNiNzBhNGM4ZmYwNzFhNmNlMzViMmIuLmJkN2JkMzgyODI3ODAw
OGQ4Nzk0NmYzM2QwZjAzMmYxNWJhNjhmYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC03MTUs
NiArNzE1LDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBjc3MvU3R5bGVT
aGVldExpc3QuaWRsCiAKICAgICBjc3MvdHlwZWRvbS9DU1NOdW1lcmljVmFsdWUuaWRsCisgICAg
Y3NzL3R5cGVkb20vQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmlkbAogICAgIGNzcy90eXBl
ZG9tL0NTU1N0eWxlSW1hZ2VWYWx1ZS5pZGwKICAgICBjc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVl
LmlkbAogICAgIGNzcy90eXBlZG9tL0NTU1VuaXRWYWx1ZS5pZGwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGM1M2U0MjIyZjA5NWJiNDVj
ZGJkNjZiOGVjOWQ4MDlhZTBlYzE4MDIuLjMwZjI3MDUwNGNkZjNhODcxM2Y1MTdhMmVkZGNmYTU1
M2EzMzNkNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNm
aWxlbGlzdApAQCAtNzI2LDEzICs3MjYsMTQgQEAgJChQUk9KRUNUX0RJUikvY3NzL21lZGlhQ29u
dHJvbHMuY3NzCiAkKFBST0pFQ1RfRElSKS9jc3MvcGx1Z0lucy5jc3MKICQoUFJPSkVDVF9ESVIp
L2Nzcy9xdWlya3MuY3NzCiAkKFBST0pFQ1RfRElSKS9jc3Mvc3ZnLmNzcwotJChQUk9KRUNUX0RJ
UikvY3NzL3R5cGVkb20vU3R5bGVQcm9wZXJ0eU1hcC5pZGwKLSQoUFJPSkVDVF9ESVIpL2Nzcy90
eXBlZG9tL1N0eWxlUHJvcGVydHlNYXBSZWFkT25seS5pZGwKLSQoUFJPSkVDVF9ESVIpL2Nzcy90
eXBlZG9tL0NTU1N0eWxlSW1hZ2VWYWx1ZS5pZGwKICQoUFJPSkVDVF9ESVIpL2Nzcy90eXBlZG9t
L0NTU051bWVyaWNWYWx1ZS5pZGwKKyQoUFJPSkVDVF9ESVIpL2Nzcy90eXBlZG9tL0NTU09NVmFy
aWFibGVSZWZlcmVuY2VWYWx1ZS5pZGwKKyQoUFJPSkVDVF9ESVIpL2Nzcy90eXBlZG9tL0NTU1N0
eWxlSW1hZ2VWYWx1ZS5pZGwKICQoUFJPSkVDVF9ESVIpL2Nzcy90eXBlZG9tL0NTU1N0eWxlVmFs
dWUuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvdHlwZWRvbS9DU1NVbml0VmFsdWUuaWRsCiAkKFBS
T0pFQ1RfRElSKS9jc3MvdHlwZWRvbS9DU1NVbnBhcnNlZFZhbHVlLmlkbAorJChQUk9KRUNUX0RJ
UikvY3NzL3R5cGVkb20vU3R5bGVQcm9wZXJ0eU1hcC5pZGwKKyQoUFJPSkVDVF9ESVIpL2Nzcy90
eXBlZG9tL1N0eWxlUHJvcGVydHlNYXBSZWFkT25seS5pZGwKICQoUFJPSkVDVF9ESVIpL2RvbS9B
Ym9ydEFsZ29yaXRobS5pZGwKICQoUFJPSkVDVF9ESVIpL2RvbS9BYm9ydENvbnRyb2xsZXIuaWRs
CiAkKFBST0pFQ1RfRElSKS9kb20vQWJvcnRTaWduYWwuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IDkxZmM2YjM2YzY1MzBiYmZm
ZmMxMjQwMjcxZWVhNjdmNjQ3Nzc0YzQuLjE3Y2ViZTFkMGJhZDZkMDE1NjQyN2Y2NjY0OWE1NGJj
ZjVjZGNmZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54
Y2ZpbGVsaXN0CkBAIC0zMTIsNiArMzEyLDEwIEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTTWVkaWFSdWxlLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NNZWRpYVJ1bGUuaAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NOYW1lc3BhY2VSdWxlLmNwcAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NOYW1lc3Bh
Y2VSdWxlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
Q1NTTnVtZXJpY1ZhbHVlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNDU1NOdW1lcmljVmFsdWUuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuY3BwCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU09NVmFyaWFibGVS
ZWZlcmVuY2VWYWx1ZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0NTU1BhZ2VSdWxlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNDU1NQYWdlUnVsZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1BhaW50Q2FsbGJhY2suY3BwCkBAIC0zMjYsMTYgKzMzMCwy
NCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1N0
eWxlRGVjbGFyYXRpb24rUHJvcGVydHlOYW1lcwogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZURlY2xhcmF0aW9uK1Byb3BlcnR5TmFtZXMuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZURl
Y2xhcmF0aW9uLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNDU1NTdHlsZURlY2xhcmF0aW9uLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTQ1NTU3R5bGVJbWFnZVZhbHVlLmNwcAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZUltYWdlVmFsdWUuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZVJ1bGUu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1N0
eWxlUnVsZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0NTU1N0eWxlU2hlZXQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0NTU1N0eWxlU2hlZXQuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZVZhbHVlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZVZhbHVlLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTU3VwcG9ydHNSdWxlLmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdXBwb3J0c1J1
bGUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NU
cmFuc2l0aW9uLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNDU1NUcmFuc2l0aW9uLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTQ1NTVW5pdFZhbHVlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NVbml0VmFsdWUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NVbmtub3duUnVsZS5jcHAKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTVW5rbm93blJ1bGUuaAorJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NVbnBhcnNlZFZh
bHVlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlND
U1NVbnBhcnNlZFZhbHVlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTQ2FjaGVRdWVyeU9wdGlvbnMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NhY2hlUXVlcnlPcHRpb25zLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFt
VHJhY2suY3BwCkBAIC0yMjQxLDE2ICsyMjUzLDYgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUcmVlV2Fsa2VyLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUcmVlV2Fsa2VyLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVHlwZUNvbnZlcnNpb25zLmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUeXBlQ29udmVyc2lv
bnMuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NT
dHlsZUltYWdlVmFsdWUuY3BwCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0NTU1N0eWxlSW1hZ2VWYWx1ZS5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU051bWVyaWNWYWx1ZS5jcHAKLSQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTTnVtZXJpY1ZhbHVlLmgKLSQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTU3R5bGVWYWx1ZS5j
cHAKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTU3R5
bGVWYWx1ZS5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0NTU1VuaXRWYWx1ZS5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTQ1NTVW5pdFZhbHVlLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTQ1NTVW5wYXJzZWRWYWx1ZS5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTVW5wYXJzZWRWYWx1ZS5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VJRXZlbnQuY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VJRXZlbnQuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNVSUV2ZW50SW5pdC5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDA0MjIxZjM5NjczOTJhOWUxMjYzNDI2
ZGY2NDViMzk2NzQzYmY5MWMuLjk0OWY4NTIyYjY0YWMzZGE0YzU4OGU3MDVkZGM1ODQ0Nzk4MjZj
YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNjA0LDYgKzYwNCw3IEBAIEpT
X0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9jc3MvdHlwZWRvbS9DU1NTdHlsZVZh
bHVlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvdHlwZWRvbS9DU1NVbml0VmFsdWUuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2Nzcy90eXBlZG9tL0NTU1VucGFyc2VkVmFsdWUuaWRsIFwKKyAgICAk
KFdlYkNvcmUpL2Nzcy90eXBlZG9tL0NTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5pZGwgXAog
ICAgICQoV2ViQ29yZSkvZG9tL0Fib3J0QWxnb3JpdGhtLmlkbCBcCiAgICAgJChXZWJDb3JlKS9k
b20vQWJvcnRDb250cm9sbGVyLmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vQWJvcnRTaWduYWwu
aWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQKaW5kZXggYjllOGJiMWY1MjExNGQxYTZjM2JhYzU2YzBjNWUyZjMw
MWFkZGMxZC4uZTgyMTU3ZWVkYjg0OWQ5MGQ2MjU3YzFhMzM3NGI2YWZhNDlhOGQ4NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQKQEAgLTc3MCw2ICs3NzAsNyBAQCBjc3MvdHlwZWRvbS9DU1NOdW1lcmljVmFsdWUu
Y3BwCiBjc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVlLmNwcAogY3NzL3R5cGVkb20vQ1NTVW5pdFZh
bHVlLmNwcAogY3NzL3R5cGVkb20vQ1NTVW5wYXJzZWRWYWx1ZS5jcHAKK2Nzcy90eXBlZG9tL0NT
U09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHAKIGNzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNw
cAogZGlzcGxheS9jb21wb3NpdGluZy9EaXNwbGF5TGF5ZXJDb250cm9sbGVyLmNwcAogZGlzcGxh
eS9jc3MvRGlzcGxheUJveC5jcHAKQEAgLTM1ODcsNiArMzU4OCw3IEBAIEpTVHJhbnNpdGlvbkV2
ZW50LmNwcAogSlNUcmVlV2Fsa2VyLmNwcAogSlNDU1NTdHlsZUltYWdlVmFsdWUuY3BwCiBKU0NT
U051bWVyaWNWYWx1ZS5jcHAKK0pTQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcAogSlND
U1NTdHlsZVZhbHVlLmNwcAogSlNDU1NVbml0VmFsdWUuY3BwCiBKU0NTU1VucGFyc2VkVmFsdWUu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggODRjN2RlZjc2YjdhMmQ3NTQ4MmIyYmI5ZjA4ZmYwMWJlMjUyNTRiOS4uNDEwZGVh
ODhkZTZmZjhkNTZjMDc3MTBhZDVlNjkzMjAyODUzNmI5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzQ0LDYgKzc0NCw3IEBA
CiAJCTI5QUUyMTM1MjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkT2JqZWN0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUFFMjEzMzIxQUJBNDhB
MDA4NjkyODMgLyogQVhJc29sYXRlZE9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI5RDdCQ0ZBMTQ0NEFGN0QwMDcwNjE5QyAvKiBBY2Nl
c3NpYmlsaXR5U3BpbkJ1dHRvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMjlEN0JDRjkxNDQ0QUY3RDAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGlu
QnV0dG9uLmggKi87IH07CiAJCTI5RkFGNEI2MTk1QUIwODkwMEE1MjJEQyAvKiBUZXh0VW5kb0lu
c2VydGlvbk1hcmt1cE1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMjlGQUY0QjUxOTVBQjA4OTAwQTUyMkRDIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFy
a3VwTWFjLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJMkFCRkZGRjMyNkM1MzVDMDAwNDg4NzVCIC8qIENTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkFCRkZG
RjEyNkM1MzVCRDAwNDg4NzVCIC8qIENTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5oICovOyB9
OwogCQkyQjM2NUM4NDE1MjUxMTlFMDA5MUQyN0IgLyogUmVuZGVyU1ZHRWxsaXBzZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkI0MjM1QTAxNTI1MEY2
MDAwREJCQ0Q4IC8qIFJlbmRlclNWR0VsbGlwc2UuaCAqLzsgfTsKIAkJMkJFOEUyQzcxMkE1ODlF
QzAwRkFENTUwIC8qIEhUTUxNZXRhQ2hhcnNldFBhcnNlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkJFOEUyQzYxMkE1ODlFQzAwRkFENTUwIC8qIEhU
TUxNZXRhQ2hhcnNldFBhcnNlci5oICovOyB9OwogCQkyQzg1NjUzNDI0QzBGNzNDMDBBMzc2NzMg
LyogRmlsdGVyRWZmZWN0UmVuZGVyZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDJDODU2NTMzMjRDMEY3M0MwMEEzNzY3MyAvKiBGaWx0ZXJFZmZlY3RS
ZW5kZXJlci5oICovOyB9OwpAQCAtNzE3Miw2ICs3MTczLDkgQEAKIAkJMkE2NjQzOEUyNkEwMDZB
RTAwQzE0N0ExIC8qIEZvcm1EYXRhRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEZvcm1EYXRhRXZlbnQuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyQTY2NDM5MDI2QTAwNkFGMDBDMTQ3QTEgLyog
Rm9ybURhdGFFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb3JtRGF0YUV2ZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJBNjY0MzkxMjZBMDA2QUYwMEMxNDdBMSAvKiBGb3JtRGF0
YUV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZvcm1EYXRhRXZlbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkyQUJGRkZFRjI2QzUzNUJDMDA0ODg3NUIgLyogQ1NTT01W
YXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU09NVmFyaWFi
bGVSZWZlcmVuY2VWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJBQkZG
RkYxMjZDNTM1QkQwMDQ4ODc1QiAvKiBDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTJBQkZGRkYyMjZDNTM1QkQwMDQ4ODc1QiAvKiBDU1NPTVZhcmlhYmxl
UmVmZXJlbmNlVmFsdWUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJCNDIzNTlGMTUyNTBGNjAwMERCQkNEOCAv
KiBSZW5kZXJTVkdFbGxpcHNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFJlbmRlclNWR0VsbGlwc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
QjQyMzVBMDE1MjUwRjYwMDBEQkJDRDggLyogUmVuZGVyU1ZHRWxsaXBzZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJTVkdFbGxpcHNlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTJCRThFMkM2MTJBNTg5RUMwMEZBRDU1MCAvKiBIVE1MTWV0YUNoYXJz
ZXRQYXJzZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTE1ldGFDaGFy
c2V0UGFyc2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDA4Nyw2ICsyMDA5
MSw5IEBACiAJCQkJRTMyOTI3NjIyMjU0M0Y1ODAwMzA4QTlBIC8qIENTU051bWVyaWNWYWx1ZS5j
cHAgKi8sCiAJCQkJNEJBRkQwREYyMTkyMjBBQjAwQzBBQjY0IC8qIENTU051bWVyaWNWYWx1ZS5o
ICovLAogCQkJCTRCQUZEMERCMjE5MjIwMjIwMEMwQUI2NCAvKiBDU1NOdW1lcmljVmFsdWUuaWRs
ICovLAorCQkJCTJBQkZGRkVGMjZDNTM1QkMwMDQ4ODc1QiAvKiBDU1NPTVZhcmlhYmxlUmVmZXJl
bmNlVmFsdWUuY3BwICovLAorCQkJCTJBQkZGRkYxMjZDNTM1QkQwMDQ4ODc1QiAvKiBDU1NPTVZh
cmlhYmxlUmVmZXJlbmNlVmFsdWUuaCAqLywKKwkJCQkyQUJGRkZGMjI2QzUzNUJEMDA0ODg3NUIg
LyogQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmlkbCAqLywKIAkJCQlFMzI5Mjc2MDIyNTQz
RjU4MDAzMDhBOUEgLyogQ1NTU3R5bGVJbWFnZVZhbHVlLmNwcCAqLywKIAkJCQk0QjQzODY0RjIx
OUNENTYxMDBGOEQzQzUgLyogQ1NTU3R5bGVJbWFnZVZhbHVlLmggKi8sCiAJCQkJNEI0Mzg2NEQy
MTlDRDUyRDAwRjhEM0M1IC8qIENTU1N0eWxlSW1hZ2VWYWx1ZS5pZGwgKi8sCkBAIC0zMTUxMiw2
ICszMTUxOSw3IEBACiAJCQkJMzE0QkUzQTExQjMwRjZCNzAwMTQxOTgyIC8qIENTU05hbWVkSW1h
Z2VWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTRFODM5NTExREZCMkEwRTAwN0JDNkE3IC8q
IENTU05hbWVzcGFjZVJ1bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTRCQUZEMEUwMjE5MjIwQUIw
MEMwQUI2NCAvKiBDU1NOdW1lcmljVmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTJBQkZGRkYz
MjZDNTM1QzAwMDQ4ODc1QiAvKiBDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE4MEU2RDAwMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NQYWdlUnVsZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNEI1QkREOUIyMTY1OEExNTAwREQ0MjYyIC8qIENTU1BhaW50Q2Fs
bGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTRCNkU4NzY5MjE3NkQ2OTIwMDQyMEU1RSAvKiBD
U1NQYWludEltYWdlVmFsdWUuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNDU1NTdHlsZVZhbHVlQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTQ1NTU3R5bGVWYWx1ZUN1c3RvbS5jcHAKaW5kZXggNWM1NDUzZWIx
ODhlY2Y3NDRhODc5NDhmOTM4OTU5ZjM4MTExMjQyOS4uYjhiYzYwOGQ3ZjIzNWNiMDUyZWE5NTdj
Y2NmYWEyOTg2Y2FmMDZlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNDU1NTdHlsZVZhbHVlQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0NTU1N0eWxlVmFsdWVDdXN0b20uY3BwCkBAIC0zOCwxNCArMzgsMTMgQEAgdXNpbmcgbmFt
ZXNwYWNlIEpTQzsKIAogSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0Kiwg
SlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPENTU1N0eWxlVmFsdWU+JiYgdmFs
dWUpCiB7Ci0gICAgaWYgKHZhbHVlLT5pc1VuaXRWYWx1ZSgpKQorICAgIGlmICh2YWx1ZS0+Z2V0
VHlwZSgpID09IENTU1N0eWxlVmFsdWVUeXBlOjpDU1NVbml0VmFsdWUpCiAgICAgICAgIHJldHVy
biBjcmVhdGVXcmFwcGVyPENTU1VuaXRWYWx1ZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHZhbHVl
KSk7Ci0gICAgaWYgKHZhbHVlLT5pc1VucGFyc2VkVmFsdWUoKSkKKyAgICBpZiAodmFsdWUtPmdl
dFR5cGUoKSA9PSBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTVW5wYXJzZWRWYWx1ZSkKICAgICAgICAg
cmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTVW5wYXJzZWRWYWx1ZT4oZ2xvYmFsT2JqZWN0LCBXVEZN
b3ZlKHZhbHVlKSk7Ci0gICAgaWYgKHZhbHVlLT5pc0ltYWdlVmFsdWUoKSkKKyAgICBpZiAodmFs
dWUtPmdldFR5cGUoKSA9PSBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTU3R5bGVJbWFnZVZhbHVlKQog
ICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NTdHlsZUltYWdlVmFsdWU+KGdsb2JhbE9i
amVjdCwgV1RGTW92ZSh2YWx1ZSkpOwogCi0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAg
cmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTU3R5bGVWYWx1ZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3Zl
KHZhbHVlKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dl
YkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaAppbmRleCBjZGI1MmUxMDljMTg2ODI2NGRiZjJkOTQwOTgyZDk2MzQxYTUw
MWJlLi42OWMzOWJiMDM4MGNmMDlmNTFlNmE2ZGU5MDkyMjU5ZjYxMTVkOGU3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC04NSw2
ICs4NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhDU1NUcmFuc2l0aW9uKSBc
CiAgICAgbWFjcm8oQ1NTVW5pdFZhbHVlKSBcCiAgICAgbWFjcm8oQ1NTVW5wYXJzZWRWYWx1ZSkg
XAorICAgIG1hY3JvKENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUpIFwKICAgICBtYWNybyhDdXN0
b21FbGVtZW50UmVnaXN0cnkpIFwKICAgICBtYWNybyhEYXRhYmFzZSkgXAogICAgIG1hY3JvKERh
dGFUcmFuc2Zlckl0ZW0pIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L0NTU051bWVyaWNWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTTnVtZXJp
Y1ZhbHVlLmgKaW5kZXggYWE4N2VkNjZlNmVlMDcyYmZlNDY1MWJiYmM4ZjhmYzBiZmNjODRjMy4u
YmQ4ZjhmOWM2YWQ2OGJmZGI0YTJhYTg0OTM5NmI3ZDI2M2ZlOTJmOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTTnVtZXJpY1ZhbHVlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL3R5cGVkb20vQ1NTTnVtZXJpY1ZhbHVlLmgKQEAgLTMzLDYgKzMzLDkgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDU1NOdW1lcmljVmFsdWUgOiBwdWJsaWMgQ1NTU3R5
bGVWYWx1ZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChDU1NOdW1lcmljVmFsdWUpOwor
ICAgIAorICAgIENTU1N0eWxlVmFsdWVUeXBlIGdldFR5cGUoKSBjb25zdCB7IHJldHVybiBDU1NT
dHlsZVZhbHVlVHlwZTo6Q1NTTnVtZXJpY1ZhbHVlOyB9CisKIHByb3RlY3RlZDoKICAgICBDU1NO
dW1lcmljVmFsdWUoKSA9IGRlZmF1bHQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL3R5cGVkb20vQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy90eXBlZG9tL0NTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNzBmNTEwZDZiN2ZmMDYwMTU0MmU2YTNiZTQ5Mzc0YTMwZDE5MzY4OAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU09NVmFyaWFibGVSZWZlcmVuY2VW
YWx1ZS5jcHAKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzCisgKiAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUiDi
gJxBUyBJU+KAnSBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBC
RQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLAorICogT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUgorICogVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GCisgKiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuaCIKKworI2lmIEVO
QUJMRShDU1NfVFlQRURfT00pCisKKyNpbmNsdWRlICJDU1NVbnBhcnNlZFZhbHVlLmgiCisjaW5j
bHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitX
VEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlKTsK
KworRXhjZXB0aW9uT3I8UmVmPENTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZT4+IENTU09NVmFy
aWFibGVSZWZlcmVuY2VWYWx1ZTo6Y3JlYXRlKFN0cmluZyB2YXJpYWJsZSwgUmVmUHRyPENTU1Vu
cGFyc2VkVmFsdWU+JiYgZmFsbGJhY2spCit7CisgICAgaWYgKCF2YXJpYWJsZS5zdGFydHNXaXRo
KCItLSJfcykpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IgfTsKKyAgICAK
KyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUodmFy
aWFibGUsIFdURk1vdmUoZmFsbGJhY2spKSk7Cit9CisKK0V4Y2VwdGlvbk9yPHZvaWQ+IENTU09N
VmFyaWFibGVSZWZlcmVuY2VWYWx1ZTo6c2V0VmFyaWFibGUoU3RyaW5nIHZhcmlhYmxlKQorewor
ICAgIGlmICghdmFyaWFibGUuc3RhcnRzV2l0aCgiLS0iX3MpKQorICAgICAgICByZXR1cm4gRXhj
ZXB0aW9uIHsgVHlwZUVycm9yIH07CisgICAgCisgICAgbV92YXJpYWJsZSA9IHZhcmlhYmxlOwor
ICAgIHJldHVybiB7IH07Cit9CisKK1N0cmluZyBDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWU6
OnRvU3RyaW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbWFrZVN0cmluZygidmFyKCJfcywgbV92
YXJpYWJsZSwgKG1fZmFsbGJhY2sgPyAiLCAiX3MgOiAiIl9zKSwgKG1fZmFsbGJhY2sgPyBtX2Zh
bGxiYWNrLT50b1N0cmluZygpIDogIiJfcyksICIpIl9zKTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L0NTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVk
b20vQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDI2YWQ5NzM5NGM3
NDU0NmI0ZDI3ZDY0NTA1MDUyOWViY2VlYzNmNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy90eXBlZG9tL0NTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5oCkBAIC0wLDAg
KzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShDU1NfVFlQRURfT00pCisKKyNpbmNsdWRlICJDU1NT
dHlsZVZhbHVlLmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit0ZW1wbGF0ZTx0eXBl
bmFtZT4gY2xhc3MgRXhjZXB0aW9uT3I7CitjbGFzcyBDU1NVbnBhcnNlZFZhbHVlOworCitjbGFz
cyBDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWU6IHB1YmxpYyBSZWZDb3VudGVkPENTU09NVmFy
aWFibGVSZWZlcmVuY2VWYWx1ZT4geworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ1NTT01W
YXJpYWJsZVJlZmVyZW5jZVZhbHVlKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgRXhjZXB0aW9uT3I8
UmVmPENTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZT4+IGNyZWF0ZShTdHJpbmcsIFJlZlB0cjxD
U1NVbnBhcnNlZFZhbHVlPiYmIGZhbGxiYWNrID0geyB9KTsKKyAgICAKKyAgICBFeGNlcHRpb25P
cjx2b2lkPiBzZXRWYXJpYWJsZShTdHJpbmcpOworICAgIFN0cmluZyB0b1N0cmluZygpIGNvbnN0
OworICAgIAorICAgIFN0cmluZyB2YXJpYWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1fdmFyaWFibGU7
IH0KKyAgICBSZWZQdHI8Q1NTVW5wYXJzZWRWYWx1ZT4gZmFsbGJhY2soKSBjb25zdCB7IHJldHVy
biBtX2ZhbGxiYWNrLmNvcHlSZWYoKTsgfQorICAgIAorcHJpdmF0ZToKKyAgICBleHBsaWNpdCBD
U1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUoU3RyaW5nIHZhcmlhYmxlLCBSZWZQdHI8Q1NTVW5w
YXJzZWRWYWx1ZT4mJiBmYWxsYmFjaykKKyAgICAgICAgOiBtX3ZhcmlhYmxlKHZhcmlhYmxlKQor
ICAgICAgICAsIG1fZmFsbGJhY2soV1RGTW92ZShmYWxsYmFjaykpIHsgfQorICAgIAorICAgIFN0
cmluZyBtX3ZhcmlhYmxlOworICAgIFJlZlB0cjxDU1NVbnBhcnNlZFZhbHVlPiBtX2ZhbGxiYWNr
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUu
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmM1YTlhYjhkNDBkNDBkYTk0OWExYjhjODNmODViYjMwMmU1ZDY5OWYK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NPTVZhcmlh
YmxlUmVmZXJlbmNlVmFsdWUuaWRsCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorKgorKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyovCisKK1sKKyAgICBJbnRlcmZhY2VOYW1lPUNTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUsCisg
ICAgRW5hYmxlZEF0UnVudGltZT1DU1NUeXBlZE9NLAorICAgIENvbmRpdGlvbmFsPUNTU19UWVBF
RF9PTSwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAgIEV4cG9zZWQ9KFdpbmRv
dyxXb3JrZXIsUGFpbnRXb3JrbGV0KSwKK10gaW50ZXJmYWNlIENTU09NVmFyaWFibGVSZWZlcmVu
Y2VWYWx1ZSB7CisgICAgY29uc3RydWN0b3IoVVNWU3RyaW5nIHZhcmlhYmxlLCBvcHRpb25hbCBD
U1NVbnBhcnNlZFZhbHVlPyBmYWxsYmFjayA9IG51bGwpOworICAgIGF0dHJpYnV0ZSBVU1ZTdHJp
bmcgdmFyaWFibGU7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1VucGFyc2VkVmFsdWU/IGZh
bGxiYWNrOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1N0
eWxlSW1hZ2VWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZUlt
YWdlVmFsdWUuY3BwCmluZGV4IDVhYzE2OWQ1ZmQ3YTQxZmUyNTBkOWQwMWU3OGVkYTgzN2NhY2Uw
ZWIuLmFlOTEzNGEzNWRhNzRmNjE2Yjk2M2YzZGM1NmM5OGJlZmZiOTc5ODYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1N0eWxlSW1hZ2VWYWx1ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTU3R5bGVJbWFnZVZhbHVlLmNwcApAQCAtNDAs
OCArNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURf
SU1QTChDU1NTdHlsZUltYWdlVmFsdWUpOwogCi1DU1NTdHlsZUltYWdlVmFsdWU6OkNTU1N0eWxl
SW1hZ2VWYWx1ZShDU1NJbWFnZVZhbHVlJiBjc3NWYWx1ZSwgRG9jdW1lbnQmIGRvY3VtZW50KQot
ICAgIDogbV9jc3NWYWx1ZShtYWtlUmVmKGNzc1ZhbHVlKSkKK0NTU1N0eWxlSW1hZ2VWYWx1ZTo6
Q1NTU3R5bGVJbWFnZVZhbHVlKFJlZjxDU1NJbWFnZVZhbHVlPiYmIGNzc1ZhbHVlLCBEb2N1bWVu
dCYgZG9jdW1lbnQpCisgICAgOiBtX2Nzc1ZhbHVlKFdURk1vdmUoY3NzVmFsdWUpKQogICAgICwg
bV9kb2N1bWVudChtYWtlV2Vha1B0cihkb2N1bWVudCkpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZUltYWdlVmFsdWUuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy90eXBlZG9tL0NTU1N0eWxlSW1hZ2VWYWx1ZS5oCmluZGV4IDJmYjVjYjQ4MjAxYjZm
NDVlMzBmNTE0MTE4ZDUyMWZmNjhlOTBlMTkuLjdkNDBiODViN2ZjNWIxMDMwY2NlZDFmMmY1NDIy
MzI0MTA4OWZkZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1N0
eWxlSW1hZ2VWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1N0eWxl
SW1hZ2VWYWx1ZS5oCkBAIC00MSwyMCArNDEsMTkgQEAgY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBD
U1NTdHlsZUltYWdlVmFsdWUgZmluYWwgOiBwdWJsaWMgQ1NTU3R5bGVWYWx1ZSB7CiAgICAgV1RG
X01BS0VfSVNPX0FMTE9DQVRFRChDU1NTdHlsZUltYWdlVmFsdWUpOwogcHVibGljOgotICAgIHN0
YXRpYyBSZWY8Q1NTU3R5bGVJbWFnZVZhbHVlPiBjcmVhdGUoQ1NTSW1hZ2VWYWx1ZSYgY3NzVmFs
dWUsIERvY3VtZW50JiBkb2N1bWVudCkKKyAgICBzdGF0aWMgUmVmPENTU1N0eWxlSW1hZ2VWYWx1
ZT4gY3JlYXRlKFJlZjxDU1NJbWFnZVZhbHVlPiYmIGNzc1ZhbHVlLCBEb2N1bWVudCYgZG9jdW1l
bnQpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NTdHlsZUltYWdlVmFs
dWUoY3NzVmFsdWUsIGRvY3VtZW50KSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENT
U1N0eWxlSW1hZ2VWYWx1ZShXVEZNb3ZlKGNzc1ZhbHVlKSwgZG9jdW1lbnQpKTsKICAgICB9CiAK
LSAgICBTdHJpbmcgdG9TdHJpbmcoKSBmaW5hbCB7IHJldHVybiBtX2Nzc1ZhbHVlLT5jc3NUZXh0
KCk7IH0KKyAgICBTdHJpbmcgdG9TdHJpbmcoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2Nzc1Zh
bHVlLT5jc3NUZXh0KCk7IH0KKyAgICBDU1NTdHlsZVZhbHVlVHlwZSBnZXRUeXBlKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU1N0eWxlSW1hZ2VWYWx1ZTsgfQog
CiAgICAgQ2FjaGVkSW1hZ2UqIGltYWdlKCkgeyByZXR1cm4gbV9jc3NWYWx1ZS0+Y2FjaGVkSW1h
Z2UoKTsgfQogICAgIERvY3VtZW50KiBkb2N1bWVudCgpIGNvbnN0OwogCiBwcml2YXRlOgotICAg
IENTU1N0eWxlSW1hZ2VWYWx1ZShDU1NJbWFnZVZhbHVlJiwgRG9jdW1lbnQmKTsKLQotICAgIGJv
b2wgaXNJbWFnZVZhbHVlKCkgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQorICAgIENTU1N0eWxlSW1h
Z2VWYWx1ZShSZWY8Q1NTSW1hZ2VWYWx1ZT4mJiwgRG9jdW1lbnQmKTsKIAogICAgIFJlZjxDU1NJ
bWFnZVZhbHVlPiBtX2Nzc1ZhbHVlOwogICAgIFdlYWtQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1N0eWxlVmFsdWUuY3BwCmluZGV4IDk5
YzU1ZjI4OGUwYjY3ODQ0NWMzYTQ2NDVhYTRmM2MyYmNiZGYzYzIuLjhmOTUwMmQ3MDM1YmVkOTZk
OGY0NTA5ODBlNzM2ZDQwMzE4NDA0MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90
eXBlZG9tL0NTU1N0eWxlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L0NTU1N0eWxlVmFsdWUuY3BwCkBAIC0zMiwxMiArMzIsMTE5IEBACiAKICNpZiBFTkFCTEUoQ1NT
X1RZUEVEX09NKQogCisjaW5jbHVkZSAiQ1NTUGFyc2VyLmgiCisjaW5jbHVkZSAiQ1NTUHJvcGVy
dHlQYXJzZXIuaCIKKyNpbmNsdWRlICJDU1NVbml0VmFsdWUuaCIKKyNpbmNsdWRlICJDU1NWYWx1
ZUxpc3QuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorI2luY2x1ZGUgPHd0
Zi90ZXh0L1N0cmluZ1ZpZXcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEX0lNUEwoQ1NTU3R5bGVWYWx1ZSk7CiAKK0V4Y2VwdGlvbk9yPFZlY3RvcjxS
ZWY8Q1NTU3R5bGVWYWx1ZT4+PiBDU1NTdHlsZVZhbHVlOjpwYXJzZVN0eWxlVmFsdWUoU3RyaW5n
IHByb3BlcnR5LCBTdHJpbmcgY3NzVGV4dCwgYm9vbCBwYXJzZU11bHRpcGxlKQoreworICAgIC8v
IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdHlwZWQtb20tMS8jY3Nzc3R5bGV2YWx1ZQorICAg
IAorICAgIC8vIDEuIElmIHByb3BlcnR5IGlzIG5vdCBhIGN1c3RvbSBwcm9wZXJ0eSBuYW1lIHN0
cmluZywgc2V0IHByb3BlcnR5IHRvIHByb3BlcnR5IEFTQ0lJIGxvd2VyY2FzZWQuCisgICAgaWYg
KGlzQ3VzdG9tUHJvcGVydHlOYW1lKHByb3BlcnR5KSkgeworICAgICAgICAvLyBDdXN0b20gUHJv
cGVydHkgTmFtZSBTdHJpbmcKKyAgICAgICAgcHJvcGVydHkuY29udmVydFRvQVNDSUlMb3dlcmNh
c2UoKTsKKyAgICB9CisgICAgCisgICAgLy8gQ1NTUHJvcGVydHlJRAorICAgIGF1dG8gcHJvcGVy
dHlJRCA9IGNzc1Byb3BlcnR5SUQocHJvcGVydHkpOworCisgICAgLy8gMi4gSWYgcHJvcGVydHkg
aXMgbm90IGEgdmFsaWQgQ1NTIHByb3BlcnR5LCB0aHJvdyBhIFR5cGVFcnJvci4KKyAgICBpZiAo
cHJvcGVydHlJRCA9PSBDU1NQcm9wZXJ0eUludmFsaWQpCisgICAgICAgIHJldHVybiBFeGNlcHRp
b24geyBUeXBlRXJyb3IsICJQcm9wZXJ0eSBTdHJpbmcgaXMgbm90IGEgdmFsaWQgQ1NTIHByb3Bl
cnR5LiJfcyB9OworICAgIAorICAgIGF1dG8gc3R5bGVEZWNsYXJhdGlvbiA9IE11dGFibGVTdHls
ZVByb3BlcnRpZXM6OmNyZWF0ZSgpOworICAgIAorICAgIGF1dG8gcGFyc2VSZXN1bHQgPSBDU1NQ
YXJzZXI6OnBhcnNlVmFsdWUoc3R5bGVEZWNsYXJhdGlvbiwgcHJvcGVydHlJRCwgY3NzVGV4dCwg
dHJ1ZSwgSFRNTFN0YW5kYXJkTW9kZSk7CisgICAgaWYgKHBhcnNlUmVzdWx0ID09IENTU1BhcnNl
cjo6UGFyc2VSZXN1bHQ6OkVycm9yKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgU3ludGF4
RXJyb3IgfTsKKyAgICAKKworICAgIC8vIFJlZlB0cjxDU1NWYWx1ZT4KKyAgICBhdXRvIGNzc1Zh
bHVlID0gc3R5bGVEZWNsYXJhdGlvbi0+Z2V0UHJvcGVydHlDU1NWYWx1ZShwcm9wZXJ0eUlEKTsK
KyAgICBhdXRvIHZhbHVlVHlwZSA9IGNzc1ZhbHVlLT5jc3NWYWx1ZVR5cGUoKTsKKyAgICAKKyAg
ICBpZiAoIWNzc1ZhbHVlKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgU3ludGF4RXJyb3Ig
fTsKKworICAgIFZlY3RvcjxSZWY8Q1NTU3R5bGVWYWx1ZT4+IHJlc3VsdHM7CisKKyAgICBpZiAo
dmFsdWVUeXBlID09IENTU1ZhbHVlOjpDU1NfVkFMVUVfTElTVCkgeworICAgICAgICBBU1NFUlQo
aXM8Q1NTVmFsdWVMaXN0Pihjc3NWYWx1ZS5nZXQoKSkpOworICAgICAgICAKKyAgICAgICAgYm9v
bCBwYXJzZWRGaXJzdCA9IGZhbHNlOworICAgICAgICBmb3IgKGF1dG8mIGN1cnJlbnRWYWx1ZSA6
IGRvd25jYXN0PENTU1ZhbHVlTGlzdD4oKmNzc1ZhbHVlLmdldCgpKSkgeworICAgICAgICAgICAg
aWYgKCFwYXJzZU11bHRpcGxlICYmIHBhcnNlZEZpcnN0KQorICAgICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgYXV0byByZWlmaWVkVmFsdWUgPSBDU1NTdHlsZVZhbHVlOjpyZWlmeVZh
bHVlKHByb3BlcnR5SUQsIGN1cnJlbnRWYWx1ZS5jb3B5UmVmKCkpOworICAgICAgICAgICAgaWYg
KHJlaWZpZWRWYWx1ZSkKKyAgICAgICAgICAgICAgICByZXN1bHRzLmFwcGVuZChyZWlmaWVkVmFs
dWUucmVsZWFzZU5vbk51bGwoKSk7CisgICAgICAgICAgICBwYXJzZWRGaXJzdCA9IHRydWU7Cisg
ICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBhdXRvIHJlaWZpZWRWYWx1ZSA9IENTU1N0
eWxlVmFsdWU6OnJlaWZ5VmFsdWUocHJvcGVydHlJRCwgY3NzVmFsdWUuY29weVJlZigpKTsKKyAg
ICAgICAgaWYgKHJlaWZpZWRWYWx1ZSkKKyAgICAgICAgICAgIHJlc3VsdHMuYXBwZW5kKHJlaWZp
ZWRWYWx1ZS5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIHJlc3Vs
dHM7Cit9CisKK0V4Y2VwdGlvbk9yPFJlZjxDU1NTdHlsZVZhbHVlPj4gQ1NTU3R5bGVWYWx1ZTo6
cGFyc2UoU3RyaW5nIHByb3BlcnR5LCBTdHJpbmcgY3NzVGV4dCkKK3sKKyAgICBhdXRvIHBhcnNl
UmVzdWx0ID0gcGFyc2VTdHlsZVZhbHVlKHByb3BlcnR5LCBjc3NUZXh0LCBmYWxzZSk7CisgICAg
aWYgKHBhcnNlUmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gcGFyc2VSZXN1
bHQucmVsZWFzZUV4Y2VwdGlvbigpOworCisgICAgYXV0byByZXMgPSBXVEZNb3ZlKHBhcnNlUmVz
dWx0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpLmF0KDApKTsKKyAgICAKKyAgICByZXR1cm4gcmVzOwor
fQorCitFeGNlcHRpb25PcjxWZWN0b3I8UmVmPENTU1N0eWxlVmFsdWU+Pj4gQ1NTU3R5bGVWYWx1
ZTo6cGFyc2VBbGwoU3RyaW5nIHByb3BlcnR5LCBTdHJpbmcgY3NzVGV4dCkKK3sKKyAgICByZXR1
cm4gcGFyc2VTdHlsZVZhbHVlKHByb3BlcnR5LCBjc3NUZXh0LCB0cnVlKTsKK30KKworUmVmPENT
U1N0eWxlVmFsdWU+IENTU1N0eWxlVmFsdWU6OmNyZWF0ZShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5
SUQsIFJlZlB0cjxDU1NWYWx1ZT4mJiBjc3NWYWx1ZSwgY29uc3QgU3RyaW5nJiBwcm9wZXJ0eSkK
K3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NTdHlsZVZhbHVlKHByb3BlcnR5SUQsIFdU
Rk1vdmUoY3NzVmFsdWUpLCBwcm9wZXJ0eSkpOworfQorCitSZWY8Q1NTU3R5bGVWYWx1ZT4gQ1NT
U3R5bGVWYWx1ZTo6Y3JlYXRlKCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NTdHls
ZVZhbHVlKCkpOworfQorCitDU1NTdHlsZVZhbHVlOjpDU1NTdHlsZVZhbHVlKENTU1Byb3BlcnR5
SUQgcHJvcGVydHlJRCwgUmVmUHRyPENTU1ZhbHVlPiYmIGNzc1ZhbHVlLCBjb25zdCBTdHJpbmcm
IHByb3BlcnR5KQorICAgIDogbV9jc3NQcm9wZXJ0eUlEKHByb3BlcnR5SUQpCisgICAgLCBtX2N1
c3RvbVByb3BlcnR5TmFtZShwcm9wZXJ0eSkKKyAgICAsIG1fcHJvcGVydHlWYWx1ZShXVEZNb3Zl
KGNzc1ZhbHVlKSkKK3sKK30KKworLy8gSW52b2tlcyBzdGF0aWMgY29uc3RydWN0b3Igb2Ygc3Vi
Y2xhc3NlcyB0byByZWlmeVZhbHVlcworUmVmUHRyPENTU1N0eWxlVmFsdWU+IENTU1N0eWxlVmFs
dWU6OnJlaWZ5VmFsdWUoQ1NTUHJvcGVydHlJRCwgUmVmUHRyPENTU1ZhbHVlPiYmKQoreworICAg
IC8vIEZJWE1FOiBBZGQgUmVpZmljYXRpb24gY29udHJvbCBmbG93LiBSZXR1cm5zIG51bGxwdHIg
aWYgZmFpbGVkCisgICAgcmV0dXJuIENTU1N0eWxlVmFsdWU6OmNyZWF0ZSgpOworfQorCitTdHJp
bmcgQ1NTU3R5bGVWYWx1ZTo6dG9TdHJpbmcoKSBjb25zdAoreworICAgIGlmICghbV9wcm9wZXJ0
eVZhbHVlKQorICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKKyAgICAKKyAgICByZXR1cm4g
bV9wcm9wZXJ0eVZhbHVlLT5jc3NUZXh0KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHls
ZVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVlLmgKaW5k
ZXggMTU2MGE2ZDI4NTEyODdiMzRlZTkwZThmMzU4ODFiNzJiMWQ3NDY0MC4uZDdjYTMxNjU1NjMx
YTMxNjczMTEwMjIzNTRiZDVlNGRhZDhkNmQ4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBl
ZG9tL0NTU1N0eWxlVmFsdWUuaApAQCAtMzMsMTggKzMzLDQ1IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAorY2xhc3MgQ1NTVmFsdWU7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBFeGNl
cHRpb25PcjsKKworZW51bSBjbGFzcyBDU1NTdHlsZVZhbHVlVHlwZTogdWludDhfdCB7CisgICAg
Q1NTU3R5bGVWYWx1ZSwKKyAgICBDU1NTdHlsZUltYWdlVmFsdWUsCisgICAgQ1NTVHJhbnNmb3Jt
VmFsdWUsCisgICAgQ1NTTnVtZXJpY1ZhbHVlLAorICAgIENTU01hdGhWYWx1ZSwKKyAgICBDU1NV
bml0VmFsdWUsCisgICAgQ1NTVW5wYXJzZWRWYWx1ZSwKKyAgICBDU1NLZXl3b3JkVmFsdWUKK307
CisKIGNsYXNzIENTU1N0eWxlVmFsdWUgOiBwdWJsaWMgUmVmQ291bnRlZDxDU1NTdHlsZVZhbHVl
PiwgcHVibGljIFNjcmlwdFdyYXBwYWJsZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChD
U1NTdHlsZVZhbHVlKTsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5DU1NTdHlsZVZhbHVlKCkgPSBk
ZWZhdWx0OwotICAgIHZpcnR1YWwgU3RyaW5nIHRvU3RyaW5nKCkgPSAwOwotCi0gICAgdmlydHVh
bCBib29sIGlzVW5pdFZhbHVlKCkgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wg
aXNVbnBhcnNlZFZhbHVlKCkgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNJ
bWFnZVZhbHVlKCkgeyByZXR1cm4gZmFsc2U7IH0KIAorICAgIHZpcnR1YWwgU3RyaW5nIHRvU3Ry
aW5nKCkgY29uc3Q7CisgICAgdmlydHVhbCBDU1NTdHlsZVZhbHVlVHlwZSBnZXRUeXBlKCkgY29u
c3QgeyByZXR1cm4gQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU1N0eWxlVmFsdWU7IH0KKyAgICAKKyAg
ICB2aXJ0dWFsIH5DU1NTdHlsZVZhbHVlKCkgPSBkZWZhdWx0OworICAgICAgICAKKyAgICBzdGF0
aWMgRXhjZXB0aW9uT3I8VmVjdG9yPFJlZjxDU1NTdHlsZVZhbHVlPj4+IHBhcnNlU3R5bGVWYWx1
ZShTdHJpbmcsIFN0cmluZywgYm9vbCk7CisgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxDU1NT
dHlsZVZhbHVlPj4gcGFyc2UoU3RyaW5nLCBTdHJpbmcpOworICAgIHN0YXRpYyBFeGNlcHRpb25P
cjxWZWN0b3I8UmVmPENTU1N0eWxlVmFsdWU+Pj4gcGFyc2VBbGwoU3RyaW5nLCBTdHJpbmcpOwor
ICAgIAorICAgIHN0YXRpYyBSZWZQdHI8Q1NTU3R5bGVWYWx1ZT4gcmVpZnlWYWx1ZShDU1NQcm9w
ZXJ0eUlELCBSZWZQdHI8Q1NTVmFsdWU+JiYpOworICAgIAorICAgIHN0YXRpYyBSZWY8Q1NTU3R5
bGVWYWx1ZT4gY3JlYXRlKENTU1Byb3BlcnR5SUQsIFJlZlB0cjxDU1NWYWx1ZT4mJiwgY29uc3Qg
U3RyaW5nJiA9IG51bGxTdHJpbmcoKSk7CisgICAgLy8gRklYTUU6IHByb2JhYmx5IHNob3VsZCBy
ZW1vdmUgdGhpcyBpbiB0aGUgZnV0dXJlCisgICAgc3RhdGljIFJlZjxDU1NTdHlsZVZhbHVlPiBj
cmVhdGUoKTsKKyAgICAgICAgCiBwcm90ZWN0ZWQ6CiAgICAgQ1NTU3R5bGVWYWx1ZSgpID0gZGVm
YXVsdDsKKyAgICBDU1NTdHlsZVZhbHVlKENTU1Byb3BlcnR5SUQsIFJlZlB0cjxDU1NWYWx1ZT4m
JiwgY29uc3QgU3RyaW5nJik7CisgICAgQ1NTUHJvcGVydHlJRCBtX2Nzc1Byb3BlcnR5SUQ7Cisg
ICAgU3RyaW5nIG1fY3VzdG9tUHJvcGVydHlOYW1lOworICAgIFJlZlB0cjxDU1NWYWx1ZT4gbV9w
cm9wZXJ0eVZhbHVlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVlLmlkbAppbmRleCA1ZDAxMzNkNmMwODkxZWNl
MDE1YmYyZjRmYTViZjY2MjYxYmViY2I4Li5hZTdmOTI0OWNlODhmM2JmODQ5MTg2ZWMwNDdmMmNh
OTE0NTQwODQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHls
ZVZhbHVlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVl
LmlkbApAQCAtMjksNyArMjksOSBAQAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9Q1NTVHlwZWRPTSwK
ICAgICBDb25kaXRpb25hbD1DU1NfVFlQRURfT00sCiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtl
cixQYWludFdvcmtsZXQpLAotICAgIFNraXBWVGFibGVWYWxpZGF0aW9uLAorICAgIFNraXBWVGFi
bGVWYWxpZGF0aW9uCiBdIGludGVyZmFjZSBDU1NTdHlsZVZhbHVlIHsKICAgICBzdHJpbmdpZmll
cjsKKyAgICBbRXhwb3NlZD1XaW5kb3ddIHN0YXRpYyBDU1NTdHlsZVZhbHVlIHBhcnNlKFVTVlN0
cmluZyBwcm9wZXJ0eSwgVVNWU3RyaW5nIGNzc1RleHQpOworICAgIFtFeHBvc2VkPVdpbmRvd10g
c3RhdGljIHNlcXVlbmNlPENTU1N0eWxlVmFsdWU+IHBhcnNlQWxsKFVTVlN0cmluZyBwcm9wZXJ0
eSwgVVNWU3RyaW5nIGNzc1RleHQpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy90eXBlZG9tL0NTU1VuaXRWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NT
VW5pdFZhbHVlLmgKaW5kZXggNGJmYjFkMTc5ZGU4ZTNkNGI1NmM2ZTVmOWU0ODU1MDJkOTA5MjEx
Mi4uYWY4NTM5MzgwZTEyYTJiMjBlOTI2ZjZjY2I5NjhkMThkN2JmYzcwYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTVW5pdFZhbHVlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL3R5cGVkb20vQ1NTVW5pdFZhbHVlLmgKQEAgLTQzLDcgKzQzLDggQEAgcHVibGlj
OgogICAgIH0KIAogICAgIC8vIEZJWE1FOiBub3QgY29ycmVjdC4KLSAgICBTdHJpbmcgdG9TdHJp
bmcoKSBmaW5hbCB7IHJldHVybiBtYWtlU3RyaW5nKChpbnQpIG1fdmFsdWUsIG1fdW5pdCk7IH0K
KyAgICBTdHJpbmcgdG9TdHJpbmcoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtYWtlU3RyaW5nKChp
bnQpIG1fdmFsdWUsIG1fdW5pdCk7IH0KKyAgICBDU1NTdHlsZVZhbHVlVHlwZSBnZXRUeXBlKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU1VuaXRWYWx1ZTsgfQog
CiAgICAgZG91YmxlIHZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZTsgfQogICAgIHZvaWQg
c2V0VmFsdWUoZG91YmxlIHZhbHVlKSB7IG1fdmFsdWUgPSB2YWx1ZTsgfQpAQCAtNTcsOCArNTgs
NiBAQCBwcml2YXRlOgogICAgIHsKICAgICB9CiAKLSAgICBib29sIGlzVW5pdFZhbHVlKCkgZmlu
YWwgeyByZXR1cm4gdHJ1ZTsgfQotCiAgICAgZG91YmxlIG1fdmFsdWU7CiAgICAgU3RyaW5nIG1f
dW5pdDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NVbnBh
cnNlZFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1VucGFyc2VkVmFs
dWUuY3BwCmluZGV4IDNhMzMxNDE1ZGUzMzRiZTI3YTdkZTQyMTE4Nzk4MTJkZDUwM2RmZDkuLjE5
ZjVmNjkyNjczMDE4YjM0Zjc5YWRlNmRhZDI0MTg5M2I3MGE5ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1VucGFyc2VkVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1VucGFyc2VkVmFsdWUuY3BwCkBAIC0zMiwxMiArMzIsNTMg
QEAKIAogI2lmIEVOQUJMRShDU1NfVFlQRURfT00pCiAKKyNpbmNsdWRlICJDU1NPTVZhcmlhYmxl
UmVmZXJlbmNlVmFsdWUuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgogI2luY2x1ZGUgPHd0
Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisjaW5jbHVkZSA8d3RmL1ZhcmlhbnQuaD4KKyNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXVEZfTUFL
RV9JU09fQUxMT0NBVEVEX0lNUEwoQ1NTVW5wYXJzZWRWYWx1ZSk7CiAKK1JlZjxDU1NVbnBhcnNl
ZFZhbHVlPiBDU1NVbnBhcnNlZFZhbHVlOjpjcmVhdGUoY29uc3QgVmVjdG9yPENTU1VucGFyc2Vk
U2VnbWVudD4mIHNlZ21lbnRzKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENTU1VucGFy
c2VkVmFsdWUoc2VnbWVudHMpKTsKK30KKworQ1NTVW5wYXJzZWRWYWx1ZTo6Q1NTVW5wYXJzZWRW
YWx1ZShjb25zdCBWZWN0b3I8Q1NTVW5wYXJzZWRTZWdtZW50PiYgc2VnbWVudHMpCisgICAgOiBt
X3NlZ21lbnRzKHNlZ21lbnRzKQoreworfQorCitTdHJpbmcgQ1NTVW5wYXJzZWRWYWx1ZTo6dG9T
dHJpbmcoKSBjb25zdAoreworICAgIFN0cmluZyBzZXJpYWxpemF0aW9uID0gZW1wdHlTdHJpbmco
KTsKKyAgICBmb3IgKGF1dG8mIHNlZ21lbnQgOiBtX3NlZ21lbnRzKSB7CisgICAgICAgIGlmIChX
VEY6OmhvbGRzX2FsdGVybmF0aXZlPFN0cmluZz4oc2VnbWVudCkpCisgICAgICAgICAgICBzZXJp
YWxpemF0aW9uLmFwcGVuZChXVEY6OmdldDxTdHJpbmc+KHNlZ21lbnQpKTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgc2VyaWFsaXphdGlvbi5hcHBlbmQoV1RGOjpnZXQ8UmVmUHRyPENTU09N
VmFyaWFibGVSZWZlcmVuY2VWYWx1ZT4+KHNlZ21lbnQpLT50b1N0cmluZygpKTsKKyAgICB9Cisg
ICAgcmV0dXJuIHNlcmlhbGl6YXRpb247Cit9CisKK0V4Y2VwdGlvbk9yPENTU1VucGFyc2VkU2Vn
bWVudD4gQ1NTVW5wYXJzZWRWYWx1ZTo6aXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KQoreworICAg
IGlmIChpbmRleCA+PSBtX3NlZ21lbnRzLnNpemUoKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlv
biB7IFJhbmdlRXJyb3IgfTsKKyAgICByZXR1cm4gRXhjZXB0aW9uT3I8Q1NTVW5wYXJzZWRTZWdt
ZW50PiB7IENTU1VucGFyc2VkU2VnbWVudCB7IG1fc2VnbWVudHNbaW5kZXhdIH0gfTsKK30KKwor
RXhjZXB0aW9uT3I8Q1NTVW5wYXJzZWRTZWdtZW50PiBDU1NVbnBhcnNlZFZhbHVlOjpzZXRJdGVt
KHVuc2lnbmVkIGxvbmcgaW5kZXgsIENTU1VucGFyc2VkU2VnbWVudCB2YWwpCit7CisgICAgaWYg
KGluZGV4ID49IG1fc2VnbWVudHMuc2l6ZSgpKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsg
UmFuZ2VFcnJvciB9OworICAgIG1fc2VnbWVudHNbaW5kZXhdID0gdmFsOworICAgIHJldHVybiBF
eGNlcHRpb25PcjxDU1NVbnBhcnNlZFNlZ21lbnQ+IHsgQ1NTVW5wYXJzZWRTZWdtZW50IHsgdmFs
IH0gfTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1VucGFyc2VkVmFsdWUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1VucGFyc2VkVmFsdWUuaAppbmRleCBmMWU1ZjU3YzkyOGRm
ZjljOTQ4MWJjMDliZDEzZjZmYTBlYjI1MTMxLi5kZDE5MTIyOTA4Yjc0NGNjMDQxZWNiOWQyYzkz
YzMxNGYxMDJjMmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NV
bnBhcnNlZFZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTVW5wYXJz
ZWRWYWx1ZS5oCkBAIC0yOSwzMSArMjksNDEgQEAKIAogI2luY2x1ZGUgIkNTU1N0eWxlVmFsdWUu
aCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotY2xhc3MgQ1NTVW5wYXJzZWRWYWx1ZSBmaW5hbCA6IHB1YmxpYyBDU1NTdHlsZVZhbHVlIHsK
K3RlbXBsYXRlPHR5cGVuYW1lPiBjbGFzcyBFeGNlcHRpb25PcjsKK2NsYXNzIENTU09NVmFyaWFi
bGVSZWZlcmVuY2VWYWx1ZTsKK3VzaW5nIENTU1VucGFyc2VkU2VnbWVudCA9IFZhcmlhbnQ8U3Ry
aW5nLCBSZWZQdHI8Q1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlPj47CisKK2NsYXNzIENTU1Vu
cGFyc2VkVmFsdWUgOiBwdWJsaWMgQ1NTU3R5bGVWYWx1ZSB7CiAgICAgV1RGX01BS0VfSVNPX0FM
TE9DQVRFRChDU1NVbnBhcnNlZFZhbHVlKTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPENTU1Vu
cGFyc2VkVmFsdWU+IGNyZWF0ZShjb25zdCBTdHJpbmcmIHNlcmlhbGl6ZWRWYWx1ZSkKLSAgICB7
Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENTU1VucGFyc2VkVmFsdWUoc2VyaWFsaXpl
ZFZhbHVlKSk7Ci0gICAgfQogCi0gICAgU3RyaW5nIHRvU3RyaW5nKCkgZmluYWwgeyByZXR1cm4g
bV9zZXJpYWxpemVkVmFsdWU7IH0KKyAgICBzdGF0aWMgUmVmPENTU1VucGFyc2VkVmFsdWU+IGNy
ZWF0ZShjb25zdCBWZWN0b3I8Q1NTVW5wYXJzZWRTZWdtZW50PiYpOworICAgIAorICAgIFN0cmlu
ZyB0b1N0cmluZygpIGNvbnN0IGZpbmFsOworICAgIAorICAgIENTU1N0eWxlVmFsdWVUeXBlIGdl
dFR5cGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTVW5wYXJz
ZWRWYWx1ZTsgfQogCi1wcml2YXRlOgotICAgIGV4cGxpY2l0IENTU1VucGFyc2VkVmFsdWUoY29u
c3QgU3RyaW5nJiBzZXJpYWxpemVkVmFsdWUpCi0gICAgICAgIDogbV9zZXJpYWxpemVkVmFsdWUo
c2VyaWFsaXplZFZhbHVlKQotICAgIHsKLSAgICB9CisgICAgdW5zaWduZWQgbG9uZyBsZW5ndGgo
KSBjb25zdCB7IHJldHVybiBtX3NlZ21lbnRzLnNpemUoKTsgfQorICAgIAorICAgIEV4Y2VwdGlv
bk9yPENTU1VucGFyc2VkU2VnbWVudD4gaXRlbSh1bnNpZ25lZCBsb25nKTsKKyAgICAKKyAgICBF
eGNlcHRpb25PcjxDU1NVbnBhcnNlZFNlZ21lbnQ+IHNldEl0ZW0odW5zaWduZWQgbG9uZywgQ1NT
VW5wYXJzZWRTZWdtZW50KTsKIAotICAgIGJvb2wgaXNVbnBhcnNlZFZhbHVlKCkgZmluYWwgeyBy
ZXR1cm4gdHJ1ZTsgfQorcHJpdmF0ZToKKyAgICBleHBsaWNpdCBDU1NVbnBhcnNlZFZhbHVlKGNv
bnN0IFZlY3RvcjxDU1NVbnBhcnNlZFNlZ21lbnQ+JiBzZWdtZW50cyk7CiAKLSAgICBTdHJpbmcg
bV9zZXJpYWxpemVkVmFsdWU7CisgICAgVmVjdG9yPENTU1VucGFyc2VkU2VnbWVudD4gbV9zZWdt
ZW50czsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RS
QUlUU19CRUdJTihXZWJDb3JlOjpDU1NVbnBhcnNlZFZhbHVlKQorICAgIHN0YXRpYyBib29sIGlz
VHlwZShjb25zdCBXZWJDb3JlOjpDU1NTdHlsZVZhbHVlJiBzdHlsZVZhbHVlKSB7IHJldHVybiBz
dHlsZVZhbHVlLmdldFR5cGUoKSA9PSBXZWJDb3JlOjpDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTVW5w
YXJzZWRWYWx1ZTsgfQorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQorCiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1VucGFyc2VkVmFsdWUuaWRs
IGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTVW5wYXJzZWRWYWx1ZS5pZGwKaW5kZXgg
ZjJkZTFiNWRjYWMwYTY4MTBmYzQyNGU1ZTUwOGU1OWU4ZmQ5ZWQ2My4uNjVkN2E3NjA1MzlhNmY4
OWUwZDQzMjg1NDdiMTU2ODZmOGNmMmIzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L3R5cGVkb20vQ1NTVW5wYXJzZWRWYWx1ZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5
cGVkb20vQ1NTVW5wYXJzZWRWYWx1ZS5pZGwKQEAgLTIzLDEyICsyMywxOSBAQAogKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgogKi8KIAotLy8gRklYTUU6IHdyb25nIGNvbnN0cnVjdG9yLgordHlwZWRlZiAoVVNWU3Ry
aW5nIG9yIENTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZSkgQ1NTVW5wYXJzZWRTZWdtZW50Owor
CiBbCiAgICAgSW50ZXJmYWNlTmFtZT1DU1NVbnBhcnNlZFZhbHVlLAogICAgIEVuYWJsZWRBdFJ1
bnRpbWU9Q1NTVHlwZWRPTSwKICAgICBDb25kaXRpb25hbD1DU1NfVFlQRURfT00sCiAgICAgRXhw
b3NlZD0oV2luZG93LFdvcmtlcixQYWludFdvcmtsZXQpLAorICAgIEpTR2VuZXJhdGVUb05hdGl2
ZU9iamVjdAogXSBpbnRlcmZhY2UgQ1NTVW5wYXJzZWRWYWx1ZSA6IENTU1N0eWxlVmFsdWUgewot
ICAgIGNvbnN0cnVjdG9yKFVTVlN0cmluZyBzZXJpYWxpemVkVmFsdWUpOworICAgIGNvbnN0cnVj
dG9yKHNlcXVlbmNlPENTU1VucGFyc2VkU2VnbWVudD4gbWVtYmVycyk7CisKKyAgICBpdGVyYWJs
ZTxDU1NVbnBhcnNlZFNlZ21lbnQ+OworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBs
b25nIGxlbmd0aDsKKyAgICBnZXR0ZXIgQ1NTVW5wYXJzZWRTZWdtZW50ICh1bnNpZ25lZCBsb25n
IGluZGV4KTsKKyAgICBzZXR0ZXIgQ1NTVW5wYXJzZWRTZWdtZW50ICh1bnNpZ25lZCBsb25nIGlu
ZGV4LCBDU1NVbnBhcnNlZFNlZ21lbnQgdmFsKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvdHlwZWRvbS9TdHlsZVByb3BlcnR5TWFwUmVhZE9ubHkuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL3R5cGVkb20vU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5LmNwcAppbmRleCAyYjYy
YjgxNWI0ODljNGQ1ZjNiMWUyYzRmZmVjODRlN2MxMTBiYjg4Li5iYTgzYjU2YzYyOTc5MGVlOTk4
MmM2OTdlMjBiODQzMjFhM2ViYWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlw
ZWRvbS9TdHlsZVByb3BlcnR5TWFwUmVhZE9ubHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy90eXBlZG9tL1N0eWxlUHJvcGVydHlNYXBSZWFkT25seS5jcHAKQEAgLTQzLDM2ICs0MywzNyBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlZlB0cjxDU1NTdHlsZVZhbHVlPiBTdHlsZVBy
b3BlcnR5TWFwUmVhZE9ubHk6OnJlaWZ5VmFsdWUoQ1NTVmFsdWUqIHZhbHVlLCBEb2N1bWVudCYg
ZG9jdW1lbnQsIEVsZW1lbnQqKQorUmVmUHRyPENTU1N0eWxlVmFsdWU+IFN0eWxlUHJvcGVydHlN
YXBSZWFkT25seTo6cmVpZnlWYWx1ZShSZWZQdHI8Q1NTVmFsdWU+JiYgdmFsdWUsIGNvbnN0IFN0
cmluZyYsIERvY3VtZW50JiBkb2N1bWVudCwgRWxlbWVudCopCiB7CiAgICAgaWYgKCF2YWx1ZSkK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KKyAgICAKKyAgICBDU1NWYWx1ZSogdmFsdWVQdHIg
PSB2YWx1ZS5nZXQoKTsKKyAgICAKICAgICAvLyBGSVhNRTogUHJvcGVybHkgcmVpZnkgYWxsIGxl
bmd0aCB2YWx1ZXMuCi0gICAgaWYgKGlzPENTU1ByaW1pdGl2ZVZhbHVlPigqdmFsdWUpICYmIGRv
d25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqdmFsdWUpLnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NV
bml0VHlwZTo6Q1NTX1BYKQotICAgICAgICByZXR1cm4gQ1NTVW5pdFZhbHVlOjpjcmVhdGUoZG93
bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCp2YWx1ZSkuZG91YmxlVmFsdWUoKSwgInB4Iik7Cisg
ICAgaWYgKGlzPENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZVB0cikgJiYgZG93bmNhc3Q8Q1NTUHJp
bWl0aXZlVmFsdWU+KHZhbHVlUHRyKS0+cHJpbWl0aXZlVHlwZSgpID09IENTU1VuaXRUeXBlOjpD
U1NfUFgpCisgICAgICAgIHJldHVybiBDU1NVbml0VmFsdWU6OmNyZWF0ZShkb3duY2FzdDxDU1NQ
cmltaXRpdmVWYWx1ZT4odmFsdWVQdHIpLT5kb3VibGVWYWx1ZSgpLCAicHgiKTsKIAotICAgIGlm
IChpczxDU1NJbWFnZVZhbHVlPigqdmFsdWUpKQotICAgICAgICByZXR1cm4gQ1NTU3R5bGVJbWFn
ZVZhbHVlOjpjcmVhdGUoZG93bmNhc3Q8Q1NTSW1hZ2VWYWx1ZT4oKnZhbHVlKSwgZG9jdW1lbnQp
OworICAgIGlmIChpczxDU1NJbWFnZVZhbHVlPih2YWx1ZSkpCisgICAgICAgIHJldHVybiBDU1NT
dHlsZUltYWdlVmFsdWU6OmNyZWF0ZShtYWtlUmVmKGRvd25jYXN0PENTU0ltYWdlVmFsdWU+KCp2
YWx1ZVB0cikpLCBkb2N1bWVudCk7CiAKLSAgICAvLyBGSVhNRTogc2hvdWxkIHVzZSByYXcgQ1NT
U3R5bGVWYWx1ZQotICAgIHJldHVybiBDU1NVbnBhcnNlZFZhbHVlOjpjcmVhdGUodmFsdWUtPmNz
c1RleHQoKSk7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLVJlZlB0cjxDU1NTdHlsZVZhbHVl
PiBTdHlsZVByb3BlcnR5TWFwUmVhZE9ubHk6OmN1c3RvbVByb3BlcnR5VmFsdWVPckRlZmF1bHQo
Y29uc3QgU3RyaW5nJiBuYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQsIENTU1ZhbHVlKiBpbnB1dFZh
bHVlLCBFbGVtZW50KiBlbGVtZW50KQorUmVmUHRyPENTU1N0eWxlVmFsdWU+IFN0eWxlUHJvcGVy
dHlNYXBSZWFkT25seTo6Y3VzdG9tUHJvcGVydHlWYWx1ZU9yRGVmYXVsdChjb25zdCBTdHJpbmcm
IG5hbWUsIERvY3VtZW50JiBkb2N1bWVudCwgUmVmUHRyPENTU1ZhbHVlPiYmIGlucHV0VmFsdWUs
IEVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAgaWYgKCFpbnB1dFZhbHVlKSB7CiAgICAgICAgIGF1
dG8qIHJlZ2lzdGVyZWQgPSBkb2N1bWVudC5nZXRDU1NSZWdpc3RlcmVkQ3VzdG9tUHJvcGVydHlT
ZXQoKS5nZXQobmFtZSk7CiAKICAgICAgICAgaWYgKHJlZ2lzdGVyZWQgJiYgcmVnaXN0ZXJlZC0+
aW5pdGlhbFZhbHVlKCkpIHsKICAgICAgICAgICAgIGF1dG8gdmFsdWUgPSByZWdpc3RlcmVkLT5p
bml0aWFsVmFsdWVDb3B5KCk7Ci0gICAgICAgICAgICByZXR1cm4gU3R5bGVQcm9wZXJ0eU1hcFJl
YWRPbmx5OjpyZWlmeVZhbHVlKHZhbHVlLmdldCgpLCBkb2N1bWVudCwgZWxlbWVudCk7CisgICAg
ICAgICAgICByZXR1cm4gU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5OjpyZWlmeVZhbHVlKFdURk1v
dmUodmFsdWUpLCBuYW1lLCBkb2N1bWVudCwgZWxlbWVudCk7CiAgICAgICAgIH0KIAotICAgICAg
ICByZXR1cm4gQ1NTVW5wYXJzZWRWYWx1ZTo6Y3JlYXRlKGVtcHR5U3RyaW5nKCkpOworICAgICAg
ICByZXR1cm4gQ1NTU3R5bGVWYWx1ZTo6Y3JlYXRlKCk7CiAgICAgfQogCi0gICAgcmV0dXJuIFN0
eWxlUHJvcGVydHlNYXBSZWFkT25seTo6cmVpZnlWYWx1ZShpbnB1dFZhbHVlLCBkb2N1bWVudCwg
ZWxlbWVudCk7CisgICAgcmV0dXJuIFN0eWxlUHJvcGVydHlNYXBSZWFkT25seTo6cmVpZnlWYWx1
ZShXVEZNb3ZlKGlucHV0VmFsdWUpLCBuYW1lLCBkb2N1bWVudCwgZWxlbWVudCk7CiB9CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBl
ZG9tL1N0eWxlUHJvcGVydHlNYXBSZWFkT25seS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVk
b20vU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5LmgKaW5kZXggZTNjYTcxMTAxOGIwOWFhZmZkNzFl
MWIxZTQ0NzFlYjIxNmZiODFkMC4uYTc4OWQ3ZTllODE3ZjRiNjJkZWMxNjYwNmJjZmEyMjYyM2Fi
M2E5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vU3R5bGVQcm9wZXJ0
eU1hcFJlYWRPbmx5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vU3R5bGVQcm9w
ZXJ0eU1hcFJlYWRPbmx5LmgKQEAgLTQyLDkgKzQyLDkgQEAgY2xhc3MgU3R5bGVQcm9wZXJ0eU1h
cFJlYWRPbmx5IDogcHVibGljIFJlZkNvdW50ZWQ8U3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5PiB7
CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+U3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5KCkgPSBkZWZh
dWx0OwogICAgIHZpcnR1YWwgUmVmUHRyPENTU1N0eWxlVmFsdWU+IGdldChjb25zdCBTdHJpbmcm
IHByb3BlcnR5KSBjb25zdCA9IDA7Ci0KLSAgICBzdGF0aWMgUmVmUHRyPENTU1N0eWxlVmFsdWU+
IHJlaWZ5VmFsdWUoQ1NTVmFsdWUqLCBEb2N1bWVudCYsIEVsZW1lbnQqID0gbnVsbHB0cik7Ci0g
ICAgc3RhdGljIFJlZlB0cjxDU1NTdHlsZVZhbHVlPiBjdXN0b21Qcm9wZXJ0eVZhbHVlT3JEZWZh
dWx0KGNvbnN0IFN0cmluZyYgbmFtZSwgRG9jdW1lbnQmLCBDU1NWYWx1ZSosIEVsZW1lbnQqID0g
bnVsbHB0cik7CisgICAgCisgICAgc3RhdGljIFJlZlB0cjxDU1NTdHlsZVZhbHVlPiByZWlmeVZh
bHVlKFJlZlB0cjxDU1NWYWx1ZT4mJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBEb2N1bWVudCYsIEVs
ZW1lbnQqID0gbnVsbHB0cik7CisgICAgc3RhdGljIFJlZlB0cjxDU1NTdHlsZVZhbHVlPiBjdXN0
b21Qcm9wZXJ0eVZhbHVlT3JEZWZhdWx0KGNvbnN0IFN0cmluZyYgbmFtZSwgRG9jdW1lbnQmLCBS
ZWZQdHI8Q1NTVmFsdWU+JiYsIEVsZW1lbnQqID0gbnVsbHB0cik7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKaW5kZXggOTU3ZTU3
NjkzYWU5YmNiZDcyYzllMzBkNWU5ZDgxNDVmYTlhMDg1Zi4uZmFlMDI4MjI4MjBhMzczZjU5ZTNj
MzcwNjNhNTljZjViOTI1NjNkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxl
ZEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcApA
QCAtMTA5LDcgKzEwOSw3IEBAIHByaXZhdGU6CiAKICAgICAgICAgaWYgKGlzQ3VzdG9tUHJvcGVy
dHlOYW1lKG5hbWUpKSB7CiAgICAgICAgICAgICBhdXRvIHZhbHVlID0gZWxlbWVudC5pbmxpbmVT
dHlsZSgpLT5nZXRDdXN0b21Qcm9wZXJ0eUNTU1ZhbHVlKG5hbWUpOwotICAgICAgICAgICAgcmV0
dXJuIFN0eWxlUHJvcGVydHlNYXBSZWFkT25seTo6Y3VzdG9tUHJvcGVydHlWYWx1ZU9yRGVmYXVs
dChuYW1lLCBlbGVtZW50LmRvY3VtZW50KCksIHZhbHVlLmdldCgpLCAmZWxlbWVudCk7CisgICAg
ICAgICAgICByZXR1cm4gU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5OjpjdXN0b21Qcm9wZXJ0eVZh
bHVlT3JEZWZhdWx0KG5hbWUsIGVsZW1lbnQuZG9jdW1lbnQoKSwgdmFsdWUuY29weVJlZigpLCAm
ZWxlbWVudCk7CiAgICAgICAgIH0KIAogICAgICAgICBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQg
PSBjc3NQcm9wZXJ0eUlEKG5hbWUpOwpAQCAtMTE3LDcgKzExNyw3IEBAIHByaXZhdGU6CiAgICAg
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgICAgICBhdXRvIHZhbHVlID0gZWxlbWVudC5p
bmxpbmVTdHlsZSgpLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKHByb3BlcnR5SUQpOwotICAgICAgICBy
ZXR1cm4gU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5OjpyZWlmeVZhbHVlKHZhbHVlLmdldCgpLCBl
bGVtZW50LmRvY3VtZW50KCksICZlbGVtZW50KTsKKyAgICAgICAgcmV0dXJuIFN0eWxlUHJvcGVy
dHlNYXBSZWFkT25seTo6cmVpZnlWYWx1ZSh2YWx1ZS5jb3B5UmVmKCksIG5hbWUsIGVsZW1lbnQu
ZG9jdW1lbnQoKSwgJmVsZW1lbnQpOwogICAgIH0KIAogICAgIFN0eWxlZEVsZW1lbnQqIG1fZWxl
bWVudCB7IG51bGxwdHIgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ3VzdG9t
UGFpbnRJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0N1c3RvbVBhaW50SW1hZ2UuY3Bw
CmluZGV4IGUzMDA3N2Y1YWJhMDA3Yzk3NGNkMGQ3ODlhZjI1ODY1YjBmZjZhNjYuLjY5ZmY1N2Vk
ZTFhZDdiNDZkOTc1OGU4MmFmZmVkZjEzMmFjY2U3NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvQ3VzdG9tUGFpbnRJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9D
dXN0b21QYWludEltYWdlLmNwcApAQCAtNjYsNyArNjYsNyBAQCBzdGF0aWMgUmVmUHRyPENTU1N0
eWxlVmFsdWU+IGV4dHJhY3RDb21wdXRlZFByb3BlcnR5KGNvbnN0IFN0cmluZyYgbmFtZSwgRWxl
bWVudAogCiAgICAgaWYgKGlzQ3VzdG9tUHJvcGVydHlOYW1lKG5hbWUpKSB7CiAgICAgICAgIGF1
dG8gdmFsdWUgPSBleHRyYWN0b3IuY3VzdG9tUHJvcGVydHlWYWx1ZShuYW1lKTsKLSAgICAgICAg
cmV0dXJuIFN0eWxlUHJvcGVydHlNYXBSZWFkT25seTo6Y3VzdG9tUHJvcGVydHlWYWx1ZU9yRGVm
YXVsdChuYW1lLCBlbGVtZW50LmRvY3VtZW50KCksIHZhbHVlLmdldCgpLCAmZWxlbWVudCk7Cisg
ICAgICAgIHJldHVybiBTdHlsZVByb3BlcnR5TWFwUmVhZE9ubHk6OmN1c3RvbVByb3BlcnR5VmFs
dWVPckRlZmF1bHQobmFtZSwgZWxlbWVudC5kb2N1bWVudCgpLCB2YWx1ZS5jb3B5UmVmKCksICZl
bGVtZW50KTsKICAgICB9CiAKICAgICBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQgPSBjc3NQcm9w
ZXJ0eUlEKG5hbWUpOwpAQCAtNzQsNyArNzQsNyBAQCBzdGF0aWMgUmVmUHRyPENTU1N0eWxlVmFs
dWU+IGV4dHJhY3RDb21wdXRlZFByb3BlcnR5KGNvbnN0IFN0cmluZyYgbmFtZSwgRWxlbWVudAog
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIGF1dG8gdmFsdWUgPSBleHRyYWN0b3IucHJv
cGVydHlWYWx1ZShwcm9wZXJ0eUlELCBEb05vdFVwZGF0ZUxheW91dCk7Ci0gICAgcmV0dXJuIFN0
eWxlUHJvcGVydHlNYXBSZWFkT25seTo6cmVpZnlWYWx1ZSh2YWx1ZS5nZXQoKSwgZWxlbWVudC5k
b2N1bWVudCgpLCAmZWxlbWVudCk7CisgICAgcmV0dXJuIFN0eWxlUHJvcGVydHlNYXBSZWFkT25s
eTo6cmVpZnlWYWx1ZSh2YWx1ZS5jb3B5UmVmKCksIG5hbWUsIGVsZW1lbnQuZG9jdW1lbnQoKSwg
JmVsZW1lbnQpOwogfQogCiBjbGFzcyBIYXNoTWFwU3R5bGVQcm9wZXJ0eU1hcCBmaW5hbCA6IHB1
YmxpYyBTdHlsZVByb3BlcnR5TWFwIHsKQEAgLTkwLDcgKzkwLDcgQEAgcHVibGljOgogCiAgICAg
ICAgIGlmIChpc0N1c3RvbVByb3BlcnR5TmFtZShuYW1lKSkgewogICAgICAgICAgICAgYXV0byB2
YWx1ZSA9IGV4dHJhY3Rvci5jdXN0b21Qcm9wZXJ0eVZhbHVlKG5hbWUpOwotICAgICAgICAgICAg
cmV0dXJuIFN0eWxlUHJvcGVydHlNYXBSZWFkT25seTo6Y3VzdG9tUHJvcGVydHlWYWx1ZU9yRGVm
YXVsdChuYW1lLCBlbGVtZW50LmRvY3VtZW50KCksIHZhbHVlLmdldCgpLCAmZWxlbWVudCk7Cisg
ICAgICAgICAgICByZXR1cm4gU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5OjpjdXN0b21Qcm9wZXJ0
eVZhbHVlT3JEZWZhdWx0KG5hbWUsIGVsZW1lbnQuZG9jdW1lbnQoKSwgdmFsdWUuY29weVJlZigp
LCAmZWxlbWVudCk7CiAgICAgICAgIH0KIAogICAgICAgICBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5
SUQgPSBjc3NQcm9wZXJ0eUlEKG5hbWUpOwpAQCAtOTgsNyArOTgsNyBAQCBwdWJsaWM6CiAgICAg
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgICAgICBhdXRvIHZhbHVlID0gZXh0cmFjdG9y
LnByb3BlcnR5VmFsdWUocHJvcGVydHlJRCwgRG9Ob3RVcGRhdGVMYXlvdXQpOwotICAgICAgICBy
ZXR1cm4gU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5OjpyZWlmeVZhbHVlKHZhbHVlLmdldCgpLCBl
bGVtZW50LmRvY3VtZW50KCksICZlbGVtZW50KTsKKyAgICAgICAgcmV0dXJuIFN0eWxlUHJvcGVy
dHlNYXBSZWFkT25seTo6cmVpZnlWYWx1ZSh2YWx1ZS5jb3B5UmVmKCksIG5hbWUsIGVsZW1lbnQu
ZG9jdW1lbnQoKSwgJmVsZW1lbnQpOwogICAgIH0KIAogcHJpdmF0ZToK
</data>
<flag name="commit-queue"
          id="458533"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435656</attachid>
            <date>2021-08-16 19:14:24 -0700</date>
            <delta_ts>2021-08-16 19:57:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229028-20210816191423.patch</filename>
            <type>text/plain</type>
            <size>47163</size>
            <attacher name="Qiaosong Zhou">johnson.zhou.sh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGVjNDQ1NThkMzU5OWFh
YzI5YmJiMDAzNDMwMzEzOTgzOTBhMjM0NS4uMDZjODI4MDY5NzJmNWRkY2I4MjE0ZTg2MWNjZWNk
ODU5ODdlMWVlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDIxLTA4LTEyICBKb2hu
c29uIFpob3UgIDxxaWFvc29uZ196aG91QGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmFsIG9m
ICJUeXBlZE9NIiBwcmVmaXggZm9yIENTU09NIE9iamVjdCBuYW1lcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MDI4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6
CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ1NTU3R5bGVWYWx1ZUN1c3Rv
bS5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1R5cGVkT01D
U1NTdHlsZVZhbHVlQ3VzdG9tLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgICogY3NzL3R5cGVkb20vQ1NT
TnVtZXJpY1ZhbHVlLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L1R5cGVkT01DU1NVbml0VmFsdWUuY3BwLgorICAgICAgICAqIGNzcy90eXBlZG9tL0NTU051bWVy
aWNWYWx1ZS5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRP
TUNTU051bWVyaWNWYWx1ZS5oLgorICAgICAgICAqIGNzcy90eXBlZG9tL0NTU051bWVyaWNWYWx1
ZS5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NT
TnVtZXJpY1ZhbHVlLmlkbC4KKyAgICAgICAgKiBjc3MvdHlwZWRvbS9DU1NTdHlsZUltYWdlVmFs
dWUuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRPTUNT
U0ltYWdlVmFsdWUuY3BwLgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVJbWFnZVZhbHVlOjpD
U1NTdHlsZUltYWdlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVJbWFnZVZhbHVl
Ojpkb2N1bWVudCBjb25zdCk6CisgICAgICAgICogY3NzL3R5cGVkb20vQ1NTU3R5bGVJbWFnZVZh
bHVlLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NT
SW1hZ2VWYWx1ZS5oLgorICAgICAgICAqIGNzcy90eXBlZG9tL0NTU1N0eWxlSW1hZ2VWYWx1ZS5p
ZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NTSW1h
Z2VWYWx1ZS5pZGwuCisgICAgICAgICogY3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5jcHA6IFJl
bmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NTU3R5bGVWYWx1
ZS5jcHAuCisgICAgICAgICogY3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5oOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRPTUNTU1N0eWxlVmFsdWUuaC4KKyAg
ICAgICAgKiBjc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVlLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJj
ZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1R5cGVkT01DU1NTdHlsZVZhbHVlLmlkbC4KKyAgICAgICAg
KiBjc3MvdHlwZWRvbS9DU1NVbml0VmFsdWUuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNv
cmUvY3NzL3R5cGVkb20vVHlwZWRPTUNTU051bWVyaWNWYWx1ZS5jcHAuCisgICAgICAgICogY3Nz
L3R5cGVkb20vQ1NTVW5pdFZhbHVlLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3Mv
dHlwZWRvbS9UeXBlZE9NQ1NTVW5pdFZhbHVlLmguCisgICAgICAgICogY3NzL3R5cGVkb20vQ1NT
VW5pdFZhbHVlLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1R5
cGVkT01DU1NVbml0VmFsdWUuaWRsLgorICAgICAgICAqIGNzcy90eXBlZG9tL0NTU1VucGFyc2Vk
VmFsdWUuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRP
TUNTU1VucGFyc2VkVmFsdWUuY3BwLgorICAgICAgICAqIGNzcy90eXBlZG9tL0NTU1VucGFyc2Vk
VmFsdWUuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1R5cGVkT01D
U1NVbnBhcnNlZFZhbHVlLmguCisgICAgICAgICogY3NzL3R5cGVkb20vQ1NTVW5wYXJzZWRWYWx1
ZS5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NT
VW5wYXJzZWRWYWx1ZS5pZGwuCisgICAgICAgICogY3NzL3R5cGVkb20vU3R5bGVQcm9wZXJ0eU1h
cFJlYWRPbmx5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUHJvcGVydHlNYXBSZWFkT25s
eTo6cmVpZnlWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVByb3BlcnR5TWFwUmVhZE9u
bHk6OmN1c3RvbVByb3BlcnR5VmFsdWVPckRlZmF1bHQpOgorICAgICAgICAqIGNzcy90eXBlZG9t
L1N0eWxlUHJvcGVydHlNYXBSZWFkT25seS5oOgorICAgICAgICAqIGNzcy90eXBlZG9tL1N0eWxl
UHJvcGVydHlNYXBSZWFkT25seS5pZGw6CisgICAgICAgICogZG9tL1N0eWxlZEVsZW1lbnQuY3Bw
OgorICAgICAgICAqIGh0bWwvQ3VzdG9tUGFpbnRJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpleHRyYWN0Q29tcHV0ZWRQcm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21QYWlu
dEltYWdlOjpkb0N1c3RvbVBhaW50KToKKyAgICAgICAgKiBodG1sL0ltYWdlQml0bWFwLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkltYWdlQml0bWFwOjpjcmVhdGVQcm9taXNlKToKKyAgICAgICAg
KiBodG1sL0ltYWdlQml0bWFwLmg6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzRHJhd0lt
YWdlLmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNGaWxsU3Ryb2tlU3R5bGVzLmlk
bDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQ6OmNoZWNrT3JpZ2luKToKKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0Lmg6CisgICAgICAgICog
aHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpzaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQy
REJhc2U6OmRyYXdJbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkRCYXNlOjpjcmVhdGVQYXR0ZXJuKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkRCYXNlLmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNh
bnZhcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDYW52YXM6OnByb2Nlc3NBcmd1
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDYW52YXM6OmluZGV4Rm9yRGF0YSk6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNhbnZhcy5oOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JDYW52YXNDYWxsVHJhY2VyLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yQ2FudmFzQ2FsbFRyYWNlci5oOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMv
SW5zcGVjdG9yQ2FudmFzQWdlbnQuY3BwOgorICAgICAgICAqIHBhZ2UvV2luZG93T3JXb3JrZXJH
bG9iYWxTY29wZS5pZGw6CisKIDIwMjEtMDgtMTYgIEFuZHJlcyBHb256YWxleiAgPGFuZHJlc2df
MjJAYXBwbGUuY29tPgogCiAgICAgICAgIEV4cG9zZSBbV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXIgbGluZVJlY3RzQW5kVGV4dF0gb24gTWFjT1MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4
IDAxNTQyZGYyMTRlYWJmZDUyYTNiNzBhNGM4ZmYwNzFhNmNlMzViMmIuLmJkN2JkMzgyODI3ODAw
OGQ4Nzk0NmYzM2QwZjAzMmYxNWJhNjhmYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC03MTUs
NiArNzE1LDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBjc3MvU3R5bGVT
aGVldExpc3QuaWRsCiAKICAgICBjc3MvdHlwZWRvbS9DU1NOdW1lcmljVmFsdWUuaWRsCisgICAg
Y3NzL3R5cGVkb20vQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmlkbAogICAgIGNzcy90eXBl
ZG9tL0NTU1N0eWxlSW1hZ2VWYWx1ZS5pZGwKICAgICBjc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVl
LmlkbAogICAgIGNzcy90eXBlZG9tL0NTU1VuaXRWYWx1ZS5pZGwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGM1M2U0MjIyZjA5NWJiNDVj
ZGJkNjZiOGVjOWQ4MDlhZTBlYzE4MDIuLjMwZjI3MDUwNGNkZjNhODcxM2Y1MTdhMmVkZGNmYTU1
M2EzMzNkNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNm
aWxlbGlzdApAQCAtNzI2LDEzICs3MjYsMTQgQEAgJChQUk9KRUNUX0RJUikvY3NzL21lZGlhQ29u
dHJvbHMuY3NzCiAkKFBST0pFQ1RfRElSKS9jc3MvcGx1Z0lucy5jc3MKICQoUFJPSkVDVF9ESVIp
L2Nzcy9xdWlya3MuY3NzCiAkKFBST0pFQ1RfRElSKS9jc3Mvc3ZnLmNzcwotJChQUk9KRUNUX0RJ
UikvY3NzL3R5cGVkb20vU3R5bGVQcm9wZXJ0eU1hcC5pZGwKLSQoUFJPSkVDVF9ESVIpL2Nzcy90
eXBlZG9tL1N0eWxlUHJvcGVydHlNYXBSZWFkT25seS5pZGwKLSQoUFJPSkVDVF9ESVIpL2Nzcy90
eXBlZG9tL0NTU1N0eWxlSW1hZ2VWYWx1ZS5pZGwKICQoUFJPSkVDVF9ESVIpL2Nzcy90eXBlZG9t
L0NTU051bWVyaWNWYWx1ZS5pZGwKKyQoUFJPSkVDVF9ESVIpL2Nzcy90eXBlZG9tL0NTU09NVmFy
aWFibGVSZWZlcmVuY2VWYWx1ZS5pZGwKKyQoUFJPSkVDVF9ESVIpL2Nzcy90eXBlZG9tL0NTU1N0
eWxlSW1hZ2VWYWx1ZS5pZGwKICQoUFJPSkVDVF9ESVIpL2Nzcy90eXBlZG9tL0NTU1N0eWxlVmFs
dWUuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvdHlwZWRvbS9DU1NVbml0VmFsdWUuaWRsCiAkKFBS
T0pFQ1RfRElSKS9jc3MvdHlwZWRvbS9DU1NVbnBhcnNlZFZhbHVlLmlkbAorJChQUk9KRUNUX0RJ
UikvY3NzL3R5cGVkb20vU3R5bGVQcm9wZXJ0eU1hcC5pZGwKKyQoUFJPSkVDVF9ESVIpL2Nzcy90
eXBlZG9tL1N0eWxlUHJvcGVydHlNYXBSZWFkT25seS5pZGwKICQoUFJPSkVDVF9ESVIpL2RvbS9B
Ym9ydEFsZ29yaXRobS5pZGwKICQoUFJPSkVDVF9ESVIpL2RvbS9BYm9ydENvbnRyb2xsZXIuaWRs
CiAkKFBST0pFQ1RfRElSKS9kb20vQWJvcnRTaWduYWwuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IDkxZmM2YjM2YzY1MzBiYmZm
ZmMxMjQwMjcxZWVhNjdmNjQ3Nzc0YzQuLjE3Y2ViZTFkMGJhZDZkMDE1NjQyN2Y2NjY0OWE1NGJj
ZjVjZGNmZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54
Y2ZpbGVsaXN0CkBAIC0zMTIsNiArMzEyLDEwIEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTTWVkaWFSdWxlLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NNZWRpYVJ1bGUuaAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NOYW1lc3BhY2VSdWxlLmNwcAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NOYW1lc3Bh
Y2VSdWxlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
Q1NTTnVtZXJpY1ZhbHVlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNDU1NOdW1lcmljVmFsdWUuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuY3BwCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU09NVmFyaWFibGVS
ZWZlcmVuY2VWYWx1ZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0NTU1BhZ2VSdWxlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNDU1NQYWdlUnVsZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1BhaW50Q2FsbGJhY2suY3BwCkBAIC0zMjYsMTYgKzMzMCwy
NCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1N0
eWxlRGVjbGFyYXRpb24rUHJvcGVydHlOYW1lcwogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZURlY2xhcmF0aW9uK1Byb3BlcnR5TmFtZXMuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZURl
Y2xhcmF0aW9uLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNDU1NTdHlsZURlY2xhcmF0aW9uLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTQ1NTU3R5bGVJbWFnZVZhbHVlLmNwcAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZUltYWdlVmFsdWUuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZVJ1bGUu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1N0
eWxlUnVsZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0NTU1N0eWxlU2hlZXQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0NTU1N0eWxlU2hlZXQuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZVZhbHVlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZVZhbHVlLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTU3VwcG9ydHNSdWxlLmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdXBwb3J0c1J1
bGUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NU
cmFuc2l0aW9uLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNDU1NUcmFuc2l0aW9uLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTQ1NTVW5pdFZhbHVlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NVbml0VmFsdWUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NVbmtub3duUnVsZS5jcHAKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTVW5rbm93blJ1bGUuaAorJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NVbnBhcnNlZFZh
bHVlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlND
U1NVbnBhcnNlZFZhbHVlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTQ2FjaGVRdWVyeU9wdGlvbnMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NhY2hlUXVlcnlPcHRpb25zLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFt
VHJhY2suY3BwCkBAIC0yMjQxLDE2ICsyMjUzLDYgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUcmVlV2Fsa2VyLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUcmVlV2Fsa2VyLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVHlwZUNvbnZlcnNpb25zLmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUeXBlQ29udmVyc2lv
bnMuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NT
dHlsZUltYWdlVmFsdWUuY3BwCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0NTU1N0eWxlSW1hZ2VWYWx1ZS5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU051bWVyaWNWYWx1ZS5jcHAKLSQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTTnVtZXJpY1ZhbHVlLmgKLSQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTU3R5bGVWYWx1ZS5j
cHAKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTU3R5
bGVWYWx1ZS5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0NTU1VuaXRWYWx1ZS5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTQ1NTVW5pdFZhbHVlLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTQ1NTVW5wYXJzZWRWYWx1ZS5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTVW5wYXJzZWRWYWx1ZS5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VJRXZlbnQuY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VJRXZlbnQuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNVSUV2ZW50SW5pdC5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDA0MjIxZjM5NjczOTJhOWUxMjYzNDI2
ZGY2NDViMzk2NzQzYmY5MWMuLjk0OWY4NTIyYjY0YWMzZGE0YzU4OGU3MDVkZGM1ODQ0Nzk4MjZj
YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNjA0LDYgKzYwNCw3IEBAIEpT
X0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9jc3MvdHlwZWRvbS9DU1NTdHlsZVZh
bHVlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvdHlwZWRvbS9DU1NVbml0VmFsdWUuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2Nzcy90eXBlZG9tL0NTU1VucGFyc2VkVmFsdWUuaWRsIFwKKyAgICAk
KFdlYkNvcmUpL2Nzcy90eXBlZG9tL0NTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5pZGwgXAog
ICAgICQoV2ViQ29yZSkvZG9tL0Fib3J0QWxnb3JpdGhtLmlkbCBcCiAgICAgJChXZWJDb3JlKS9k
b20vQWJvcnRDb250cm9sbGVyLmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vQWJvcnRTaWduYWwu
aWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQKaW5kZXggYjllOGJiMWY1MjExNGQxYTZjM2JhYzU2YzBjNWUyZjMw
MWFkZGMxZC4uZTgyMTU3ZWVkYjg0OWQ5MGQ2MjU3YzFhMzM3NGI2YWZhNDlhOGQ4NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQKQEAgLTc3MCw2ICs3NzAsNyBAQCBjc3MvdHlwZWRvbS9DU1NOdW1lcmljVmFsdWUu
Y3BwCiBjc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVlLmNwcAogY3NzL3R5cGVkb20vQ1NTVW5pdFZh
bHVlLmNwcAogY3NzL3R5cGVkb20vQ1NTVW5wYXJzZWRWYWx1ZS5jcHAKK2Nzcy90eXBlZG9tL0NT
U09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHAKIGNzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNw
cAogZGlzcGxheS9jb21wb3NpdGluZy9EaXNwbGF5TGF5ZXJDb250cm9sbGVyLmNwcAogZGlzcGxh
eS9jc3MvRGlzcGxheUJveC5jcHAKQEAgLTM1ODcsNiArMzU4OCw3IEBAIEpTVHJhbnNpdGlvbkV2
ZW50LmNwcAogSlNUcmVlV2Fsa2VyLmNwcAogSlNDU1NTdHlsZUltYWdlVmFsdWUuY3BwCiBKU0NT
U051bWVyaWNWYWx1ZS5jcHAKK0pTQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcAogSlND
U1NTdHlsZVZhbHVlLmNwcAogSlNDU1NVbml0VmFsdWUuY3BwCiBKU0NTU1VucGFyc2VkVmFsdWUu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggODRjN2RlZjc2YjdhMmQ3NTQ4MmIyYmI5ZjA4ZmYwMWJlMjUyNTRiOS4uNDEwZGVh
ODhkZTZmZjhkNTZjMDc3MTBhZDVlNjkzMjAyODUzNmI5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzQ0LDYgKzc0NCw3IEBA
CiAJCTI5QUUyMTM1MjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkT2JqZWN0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUFFMjEzMzIxQUJBNDhB
MDA4NjkyODMgLyogQVhJc29sYXRlZE9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI5RDdCQ0ZBMTQ0NEFGN0QwMDcwNjE5QyAvKiBBY2Nl
c3NpYmlsaXR5U3BpbkJ1dHRvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMjlEN0JDRjkxNDQ0QUY3RDAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGlu
QnV0dG9uLmggKi87IH07CiAJCTI5RkFGNEI2MTk1QUIwODkwMEE1MjJEQyAvKiBUZXh0VW5kb0lu
c2VydGlvbk1hcmt1cE1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMjlGQUY0QjUxOTVBQjA4OTAwQTUyMkRDIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFy
a3VwTWFjLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJMkFCRkZGRjMyNkM1MzVDMDAwNDg4NzVCIC8qIENTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkFCRkZG
RjEyNkM1MzVCRDAwNDg4NzVCIC8qIENTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5oICovOyB9
OwogCQkyQjM2NUM4NDE1MjUxMTlFMDA5MUQyN0IgLyogUmVuZGVyU1ZHRWxsaXBzZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkI0MjM1QTAxNTI1MEY2
MDAwREJCQ0Q4IC8qIFJlbmRlclNWR0VsbGlwc2UuaCAqLzsgfTsKIAkJMkJFOEUyQzcxMkE1ODlF
QzAwRkFENTUwIC8qIEhUTUxNZXRhQ2hhcnNldFBhcnNlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkJFOEUyQzYxMkE1ODlFQzAwRkFENTUwIC8qIEhU
TUxNZXRhQ2hhcnNldFBhcnNlci5oICovOyB9OwogCQkyQzg1NjUzNDI0QzBGNzNDMDBBMzc2NzMg
LyogRmlsdGVyRWZmZWN0UmVuZGVyZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDJDODU2NTMzMjRDMEY3M0MwMEEzNzY3MyAvKiBGaWx0ZXJFZmZlY3RS
ZW5kZXJlci5oICovOyB9OwpAQCAtNzE3Miw2ICs3MTczLDkgQEAKIAkJMkE2NjQzOEUyNkEwMDZB
RTAwQzE0N0ExIC8qIEZvcm1EYXRhRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEZvcm1EYXRhRXZlbnQuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyQTY2NDM5MDI2QTAwNkFGMDBDMTQ3QTEgLyog
Rm9ybURhdGFFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb3JtRGF0YUV2ZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJBNjY0MzkxMjZBMDA2QUYwMEMxNDdBMSAvKiBGb3JtRGF0
YUV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZvcm1EYXRhRXZlbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkyQUJGRkZFRjI2QzUzNUJDMDA0ODg3NUIgLyogQ1NTT01W
YXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU09NVmFyaWFi
bGVSZWZlcmVuY2VWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJBQkZG
RkYxMjZDNTM1QkQwMDQ4ODc1QiAvKiBDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTJBQkZGRkYyMjZDNTM1QkQwMDQ4ODc1QiAvKiBDU1NPTVZhcmlhYmxl
UmVmZXJlbmNlVmFsdWUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJCNDIzNTlGMTUyNTBGNjAwMERCQkNEOCAv
KiBSZW5kZXJTVkdFbGxpcHNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFJlbmRlclNWR0VsbGlwc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
QjQyMzVBMDE1MjUwRjYwMDBEQkJDRDggLyogUmVuZGVyU1ZHRWxsaXBzZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJTVkdFbGxpcHNlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTJCRThFMkM2MTJBNTg5RUMwMEZBRDU1MCAvKiBIVE1MTWV0YUNoYXJz
ZXRQYXJzZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTE1ldGFDaGFy
c2V0UGFyc2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDA4Nyw2ICsyMDA5
MSw5IEBACiAJCQkJRTMyOTI3NjIyMjU0M0Y1ODAwMzA4QTlBIC8qIENTU051bWVyaWNWYWx1ZS5j
cHAgKi8sCiAJCQkJNEJBRkQwREYyMTkyMjBBQjAwQzBBQjY0IC8qIENTU051bWVyaWNWYWx1ZS5o
ICovLAogCQkJCTRCQUZEMERCMjE5MjIwMjIwMEMwQUI2NCAvKiBDU1NOdW1lcmljVmFsdWUuaWRs
ICovLAorCQkJCTJBQkZGRkVGMjZDNTM1QkMwMDQ4ODc1QiAvKiBDU1NPTVZhcmlhYmxlUmVmZXJl
bmNlVmFsdWUuY3BwICovLAorCQkJCTJBQkZGRkYxMjZDNTM1QkQwMDQ4ODc1QiAvKiBDU1NPTVZh
cmlhYmxlUmVmZXJlbmNlVmFsdWUuaCAqLywKKwkJCQkyQUJGRkZGMjI2QzUzNUJEMDA0ODg3NUIg
LyogQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmlkbCAqLywKIAkJCQlFMzI5Mjc2MDIyNTQz
RjU4MDAzMDhBOUEgLyogQ1NTU3R5bGVJbWFnZVZhbHVlLmNwcCAqLywKIAkJCQk0QjQzODY0RjIx
OUNENTYxMDBGOEQzQzUgLyogQ1NTU3R5bGVJbWFnZVZhbHVlLmggKi8sCiAJCQkJNEI0Mzg2NEQy
MTlDRDUyRDAwRjhEM0M1IC8qIENTU1N0eWxlSW1hZ2VWYWx1ZS5pZGwgKi8sCkBAIC0zMTUxMiw2
ICszMTUxOSw3IEBACiAJCQkJMzE0QkUzQTExQjMwRjZCNzAwMTQxOTgyIC8qIENTU05hbWVkSW1h
Z2VWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTRFODM5NTExREZCMkEwRTAwN0JDNkE3IC8q
IENTU05hbWVzcGFjZVJ1bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTRCQUZEMEUwMjE5MjIwQUIw
MEMwQUI2NCAvKiBDU1NOdW1lcmljVmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTJBQkZGRkYz
MjZDNTM1QzAwMDQ4ODc1QiAvKiBDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE4MEU2RDAwMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NQYWdlUnVsZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNEI1QkREOUIyMTY1OEExNTAwREQ0MjYyIC8qIENTU1BhaW50Q2Fs
bGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTRCNkU4NzY5MjE3NkQ2OTIwMDQyMEU1RSAvKiBD
U1NQYWludEltYWdlVmFsdWUuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNDU1NTdHlsZVZhbHVlQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTQ1NTU3R5bGVWYWx1ZUN1c3RvbS5jcHAKaW5kZXggNWM1NDUzZWIx
ODhlY2Y3NDRhODc5NDhmOTM4OTU5ZjM4MTExMjQyOS4uYjhiYzYwOGQ3ZjIzNWNiMDUyZWE5NTdj
Y2NmYWEyOTg2Y2FmMDZlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNDU1NTdHlsZVZhbHVlQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0NTU1N0eWxlVmFsdWVDdXN0b20uY3BwCkBAIC0zOCwxNCArMzgsMTMgQEAgdXNpbmcgbmFt
ZXNwYWNlIEpTQzsKIAogSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0Kiwg
SlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPENTU1N0eWxlVmFsdWU+JiYgdmFs
dWUpCiB7Ci0gICAgaWYgKHZhbHVlLT5pc1VuaXRWYWx1ZSgpKQorICAgIGlmICh2YWx1ZS0+Z2V0
VHlwZSgpID09IENTU1N0eWxlVmFsdWVUeXBlOjpDU1NVbml0VmFsdWUpCiAgICAgICAgIHJldHVy
biBjcmVhdGVXcmFwcGVyPENTU1VuaXRWYWx1ZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHZhbHVl
KSk7Ci0gICAgaWYgKHZhbHVlLT5pc1VucGFyc2VkVmFsdWUoKSkKKyAgICBpZiAodmFsdWUtPmdl
dFR5cGUoKSA9PSBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTVW5wYXJzZWRWYWx1ZSkKICAgICAgICAg
cmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTVW5wYXJzZWRWYWx1ZT4oZ2xvYmFsT2JqZWN0LCBXVEZN
b3ZlKHZhbHVlKSk7Ci0gICAgaWYgKHZhbHVlLT5pc0ltYWdlVmFsdWUoKSkKKyAgICBpZiAodmFs
dWUtPmdldFR5cGUoKSA9PSBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTU3R5bGVJbWFnZVZhbHVlKQog
ICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NTdHlsZUltYWdlVmFsdWU+KGdsb2JhbE9i
amVjdCwgV1RGTW92ZSh2YWx1ZSkpOwogCi0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAg
cmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTU3R5bGVWYWx1ZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3Zl
KHZhbHVlKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dl
YkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaAppbmRleCBjZGI1MmUxMDljMTg2ODI2NGRiZjJkOTQwOTgyZDk2MzQxYTUw
MWJlLi42OWMzOWJiMDM4MGNmMDlmNTFlNmE2ZGU5MDkyMjU5ZjYxMTVkOGU3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC04NSw2
ICs4NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhDU1NUcmFuc2l0aW9uKSBc
CiAgICAgbWFjcm8oQ1NTVW5pdFZhbHVlKSBcCiAgICAgbWFjcm8oQ1NTVW5wYXJzZWRWYWx1ZSkg
XAorICAgIG1hY3JvKENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUpIFwKICAgICBtYWNybyhDdXN0
b21FbGVtZW50UmVnaXN0cnkpIFwKICAgICBtYWNybyhEYXRhYmFzZSkgXAogICAgIG1hY3JvKERh
dGFUcmFuc2Zlckl0ZW0pIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L0NTU051bWVyaWNWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTTnVtZXJp
Y1ZhbHVlLmgKaW5kZXggYWE4N2VkNjZlNmVlMDcyYmZlNDY1MWJiYmM4ZjhmYzBiZmNjODRjMy4u
YmQ4ZjhmOWM2YWQ2OGJmZGI0YTJhYTg0OTM5NmI3ZDI2M2ZlOTJmOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTTnVtZXJpY1ZhbHVlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL3R5cGVkb20vQ1NTTnVtZXJpY1ZhbHVlLmgKQEAgLTMzLDYgKzMzLDkgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDU1NOdW1lcmljVmFsdWUgOiBwdWJsaWMgQ1NTU3R5
bGVWYWx1ZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChDU1NOdW1lcmljVmFsdWUpOwor
ICAgIAorICAgIENTU1N0eWxlVmFsdWVUeXBlIGdldFR5cGUoKSBjb25zdCB7IHJldHVybiBDU1NT
dHlsZVZhbHVlVHlwZTo6Q1NTTnVtZXJpY1ZhbHVlOyB9CisKIHByb3RlY3RlZDoKICAgICBDU1NO
dW1lcmljVmFsdWUoKSA9IGRlZmF1bHQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL3R5cGVkb20vQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy90eXBlZG9tL0NTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNzBmNTEwZDZiN2ZmMDYwMTU0MmU2YTNiZTQ5Mzc0YTMwZDE5MzY4OAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU09NVmFyaWFibGVSZWZlcmVuY2VW
YWx1ZS5jcHAKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzCisgKiAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUiDi
gJxBUyBJU+KAnSBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBC
RQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLAorICogT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUgorICogVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GCisgKiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuaCIKKworI2lmIEVO
QUJMRShDU1NfVFlQRURfT00pCisKKyNpbmNsdWRlICJDU1NVbnBhcnNlZFZhbHVlLmgiCisjaW5j
bHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitX
VEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlKTsK
KworRXhjZXB0aW9uT3I8UmVmPENTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZT4+IENTU09NVmFy
aWFibGVSZWZlcmVuY2VWYWx1ZTo6Y3JlYXRlKFN0cmluZyB2YXJpYWJsZSwgUmVmUHRyPENTU1Vu
cGFyc2VkVmFsdWU+JiYgZmFsbGJhY2spCit7CisgICAgaWYgKCF2YXJpYWJsZS5zdGFydHNXaXRo
KCItLSJfcykpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IgfTsKKyAgICAK
KyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUodmFy
aWFibGUsIFdURk1vdmUoZmFsbGJhY2spKSk7Cit9CisKK0V4Y2VwdGlvbk9yPHZvaWQ+IENTU09N
VmFyaWFibGVSZWZlcmVuY2VWYWx1ZTo6c2V0VmFyaWFibGUoU3RyaW5nIHZhcmlhYmxlKQorewor
ICAgIGlmICghdmFyaWFibGUuc3RhcnRzV2l0aCgiLS0iX3MpKQorICAgICAgICByZXR1cm4gRXhj
ZXB0aW9uIHsgVHlwZUVycm9yIH07CisgICAgCisgICAgbV92YXJpYWJsZSA9IHZhcmlhYmxlOwor
ICAgIHJldHVybiB7IH07Cit9CisKK1N0cmluZyBDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWU6
OnRvU3RyaW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbWFrZVN0cmluZygidmFyKCJfcywgbV92
YXJpYWJsZSwgKG1fZmFsbGJhY2sgPyAiLCAiX3MgOiAiIl9zKSwgKG1fZmFsbGJhY2sgPyBtX2Zh
bGxiYWNrLT50b1N0cmluZygpIDogIiJfcyksICIpIl9zKTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L0NTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVk
b20vQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDI2YWQ5NzM5NGM3
NDU0NmI0ZDI3ZDY0NTA1MDUyOWViY2VlYzNmNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy90eXBlZG9tL0NTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5oCkBAIC0wLDAg
KzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShDU1NfVFlQRURfT00pCisKKyNpbmNsdWRlICJDU1NT
dHlsZVZhbHVlLmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit0ZW1wbGF0ZTx0eXBl
bmFtZT4gY2xhc3MgRXhjZXB0aW9uT3I7CitjbGFzcyBDU1NVbnBhcnNlZFZhbHVlOworCitjbGFz
cyBDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWU6IHB1YmxpYyBSZWZDb3VudGVkPENTU09NVmFy
aWFibGVSZWZlcmVuY2VWYWx1ZT4geworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ1NTT01W
YXJpYWJsZVJlZmVyZW5jZVZhbHVlKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgRXhjZXB0aW9uT3I8
UmVmPENTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZT4+IGNyZWF0ZShTdHJpbmcsIFJlZlB0cjxD
U1NVbnBhcnNlZFZhbHVlPiYmIGZhbGxiYWNrID0geyB9KTsKKyAgICAKKyAgICBFeGNlcHRpb25P
cjx2b2lkPiBzZXRWYXJpYWJsZShTdHJpbmcpOworICAgIFN0cmluZyB0b1N0cmluZygpIGNvbnN0
OworICAgIAorICAgIFN0cmluZyB2YXJpYWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1fdmFyaWFibGU7
IH0KKyAgICBSZWZQdHI8Q1NTVW5wYXJzZWRWYWx1ZT4gZmFsbGJhY2soKSBjb25zdCB7IHJldHVy
biBtX2ZhbGxiYWNrLmNvcHlSZWYoKTsgfQorICAgIAorcHJpdmF0ZToKKyAgICBleHBsaWNpdCBD
U1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUoU3RyaW5nIHZhcmlhYmxlLCBSZWZQdHI8Q1NTVW5w
YXJzZWRWYWx1ZT4mJiBmYWxsYmFjaykKKyAgICAgICAgOiBtX3ZhcmlhYmxlKHZhcmlhYmxlKQor
ICAgICAgICAsIG1fZmFsbGJhY2soV1RGTW92ZShmYWxsYmFjaykpIHsgfQorICAgIAorICAgIFN0
cmluZyBtX3ZhcmlhYmxlOworICAgIFJlZlB0cjxDU1NVbnBhcnNlZFZhbHVlPiBtX2ZhbGxiYWNr
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUu
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmM1YTlhYjhkNDBkNDBkYTk0OWExYjhjODNmODViYjMwMmU1ZDY5OWYK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NPTVZhcmlh
YmxlUmVmZXJlbmNlVmFsdWUuaWRsCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorKgorKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyovCisKK1sKKyAgICBJbnRlcmZhY2VOYW1lPUNTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUsCisg
ICAgRW5hYmxlZEF0UnVudGltZT1DU1NUeXBlZE9NLAorICAgIENvbmRpdGlvbmFsPUNTU19UWVBF
RF9PTSwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAgIEV4cG9zZWQ9KFdpbmRv
dyxXb3JrZXIsUGFpbnRXb3JrbGV0KSwKK10gaW50ZXJmYWNlIENTU09NVmFyaWFibGVSZWZlcmVu
Y2VWYWx1ZSB7CisgICAgY29uc3RydWN0b3IoVVNWU3RyaW5nIHZhcmlhYmxlLCBvcHRpb25hbCBD
U1NVbnBhcnNlZFZhbHVlPyBmYWxsYmFjayA9IG51bGwpOworICAgIGF0dHJpYnV0ZSBVU1ZTdHJp
bmcgdmFyaWFibGU7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1VucGFyc2VkVmFsdWU/IGZh
bGxiYWNrOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1N0
eWxlSW1hZ2VWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZUlt
YWdlVmFsdWUuY3BwCmluZGV4IDVhYzE2OWQ1ZmQ3YTQxZmUyNTBkOWQwMWU3OGVkYTgzN2NhY2Uw
ZWIuLmFlOTEzNGEzNWRhNzRmNjE2Yjk2M2YzZGM1NmM5OGJlZmZiOTc5ODYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1N0eWxlSW1hZ2VWYWx1ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTU3R5bGVJbWFnZVZhbHVlLmNwcApAQCAtNDAs
OCArNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURf
SU1QTChDU1NTdHlsZUltYWdlVmFsdWUpOwogCi1DU1NTdHlsZUltYWdlVmFsdWU6OkNTU1N0eWxl
SW1hZ2VWYWx1ZShDU1NJbWFnZVZhbHVlJiBjc3NWYWx1ZSwgRG9jdW1lbnQmIGRvY3VtZW50KQot
ICAgIDogbV9jc3NWYWx1ZShtYWtlUmVmKGNzc1ZhbHVlKSkKK0NTU1N0eWxlSW1hZ2VWYWx1ZTo6
Q1NTU3R5bGVJbWFnZVZhbHVlKFJlZjxDU1NJbWFnZVZhbHVlPiYmIGNzc1ZhbHVlLCBEb2N1bWVu
dCYgZG9jdW1lbnQpCisgICAgOiBtX2Nzc1ZhbHVlKFdURk1vdmUoY3NzVmFsdWUpKQogICAgICwg
bV9kb2N1bWVudChtYWtlV2Vha1B0cihkb2N1bWVudCkpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZUltYWdlVmFsdWUuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy90eXBlZG9tL0NTU1N0eWxlSW1hZ2VWYWx1ZS5oCmluZGV4IDJmYjVjYjQ4MjAxYjZm
NDVlMzBmNTE0MTE4ZDUyMWZmNjhlOTBlMTkuLjdkNDBiODViN2ZjNWIxMDMwY2NlZDFmMmY1NDIy
MzI0MTA4OWZkZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1N0
eWxlSW1hZ2VWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1N0eWxl
SW1hZ2VWYWx1ZS5oCkBAIC00MSwyMCArNDEsMTkgQEAgY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBD
U1NTdHlsZUltYWdlVmFsdWUgZmluYWwgOiBwdWJsaWMgQ1NTU3R5bGVWYWx1ZSB7CiAgICAgV1RG
X01BS0VfSVNPX0FMTE9DQVRFRChDU1NTdHlsZUltYWdlVmFsdWUpOwogcHVibGljOgotICAgIHN0
YXRpYyBSZWY8Q1NTU3R5bGVJbWFnZVZhbHVlPiBjcmVhdGUoQ1NTSW1hZ2VWYWx1ZSYgY3NzVmFs
dWUsIERvY3VtZW50JiBkb2N1bWVudCkKKyAgICBzdGF0aWMgUmVmPENTU1N0eWxlSW1hZ2VWYWx1
ZT4gY3JlYXRlKFJlZjxDU1NJbWFnZVZhbHVlPiYmIGNzc1ZhbHVlLCBEb2N1bWVudCYgZG9jdW1l
bnQpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NTdHlsZUltYWdlVmFs
dWUoY3NzVmFsdWUsIGRvY3VtZW50KSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENT
U1N0eWxlSW1hZ2VWYWx1ZShXVEZNb3ZlKGNzc1ZhbHVlKSwgZG9jdW1lbnQpKTsKICAgICB9CiAK
LSAgICBTdHJpbmcgdG9TdHJpbmcoKSBmaW5hbCB7IHJldHVybiBtX2Nzc1ZhbHVlLT5jc3NUZXh0
KCk7IH0KKyAgICBTdHJpbmcgdG9TdHJpbmcoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2Nzc1Zh
bHVlLT5jc3NUZXh0KCk7IH0KKyAgICBDU1NTdHlsZVZhbHVlVHlwZSBnZXRUeXBlKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU1N0eWxlSW1hZ2VWYWx1ZTsgfQog
CiAgICAgQ2FjaGVkSW1hZ2UqIGltYWdlKCkgeyByZXR1cm4gbV9jc3NWYWx1ZS0+Y2FjaGVkSW1h
Z2UoKTsgfQogICAgIERvY3VtZW50KiBkb2N1bWVudCgpIGNvbnN0OwogCiBwcml2YXRlOgotICAg
IENTU1N0eWxlSW1hZ2VWYWx1ZShDU1NJbWFnZVZhbHVlJiwgRG9jdW1lbnQmKTsKLQotICAgIGJv
b2wgaXNJbWFnZVZhbHVlKCkgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQorICAgIENTU1N0eWxlSW1h
Z2VWYWx1ZShSZWY8Q1NTSW1hZ2VWYWx1ZT4mJiwgRG9jdW1lbnQmKTsKIAogICAgIFJlZjxDU1NJ
bWFnZVZhbHVlPiBtX2Nzc1ZhbHVlOwogICAgIFdlYWtQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1N0eWxlVmFsdWUuY3BwCmluZGV4IDk5
YzU1ZjI4OGUwYjY3ODQ0NWMzYTQ2NDVhYTRmM2MyYmNiZGYzYzIuLjhmOTUwMmQ3MDM1YmVkOTZk
OGY0NTA5ODBlNzM2ZDQwMzE4NDA0MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90
eXBlZG9tL0NTU1N0eWxlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L0NTU1N0eWxlVmFsdWUuY3BwCkBAIC0zMiwxMiArMzIsMTE5IEBACiAKICNpZiBFTkFCTEUoQ1NT
X1RZUEVEX09NKQogCisjaW5jbHVkZSAiQ1NTUGFyc2VyLmgiCisjaW5jbHVkZSAiQ1NTUHJvcGVy
dHlQYXJzZXIuaCIKKyNpbmNsdWRlICJDU1NVbml0VmFsdWUuaCIKKyNpbmNsdWRlICJDU1NWYWx1
ZUxpc3QuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorI2luY2x1ZGUgPHd0
Zi90ZXh0L1N0cmluZ1ZpZXcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEX0lNUEwoQ1NTU3R5bGVWYWx1ZSk7CiAKK0V4Y2VwdGlvbk9yPFZlY3RvcjxS
ZWY8Q1NTU3R5bGVWYWx1ZT4+PiBDU1NTdHlsZVZhbHVlOjpwYXJzZVN0eWxlVmFsdWUoU3RyaW5n
IHByb3BlcnR5LCBTdHJpbmcgY3NzVGV4dCwgYm9vbCBwYXJzZU11bHRpcGxlKQoreworICAgIC8v
IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdHlwZWQtb20tMS8jY3Nzc3R5bGV2YWx1ZQorICAg
IAorICAgIC8vIDEuIElmIHByb3BlcnR5IGlzIG5vdCBhIGN1c3RvbSBwcm9wZXJ0eSBuYW1lIHN0
cmluZywgc2V0IHByb3BlcnR5IHRvIHByb3BlcnR5IEFTQ0lJIGxvd2VyY2FzZWQuCisgICAgaWYg
KGlzQ3VzdG9tUHJvcGVydHlOYW1lKHByb3BlcnR5KSkgeworICAgICAgICAvLyBDdXN0b20gUHJv
cGVydHkgTmFtZSBTdHJpbmcKKyAgICAgICAgcHJvcGVydHkuY29udmVydFRvQVNDSUlMb3dlcmNh
c2UoKTsKKyAgICB9CisgICAgCisgICAgLy8gQ1NTUHJvcGVydHlJRAorICAgIGF1dG8gcHJvcGVy
dHlJRCA9IGNzc1Byb3BlcnR5SUQocHJvcGVydHkpOworCisgICAgLy8gMi4gSWYgcHJvcGVydHkg
aXMgbm90IGEgdmFsaWQgQ1NTIHByb3BlcnR5LCB0aHJvdyBhIFR5cGVFcnJvci4KKyAgICBpZiAo
cHJvcGVydHlJRCA9PSBDU1NQcm9wZXJ0eUludmFsaWQpCisgICAgICAgIHJldHVybiBFeGNlcHRp
b24geyBUeXBlRXJyb3IsICJQcm9wZXJ0eSBTdHJpbmcgaXMgbm90IGEgdmFsaWQgQ1NTIHByb3Bl
cnR5LiJfcyB9OworICAgIAorICAgIGF1dG8gc3R5bGVEZWNsYXJhdGlvbiA9IE11dGFibGVTdHls
ZVByb3BlcnRpZXM6OmNyZWF0ZSgpOworICAgIAorICAgIGF1dG8gcGFyc2VSZXN1bHQgPSBDU1NQ
YXJzZXI6OnBhcnNlVmFsdWUoc3R5bGVEZWNsYXJhdGlvbiwgcHJvcGVydHlJRCwgY3NzVGV4dCwg
dHJ1ZSwgSFRNTFN0YW5kYXJkTW9kZSk7CisgICAgaWYgKHBhcnNlUmVzdWx0ID09IENTU1BhcnNl
cjo6UGFyc2VSZXN1bHQ6OkVycm9yKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgU3ludGF4
RXJyb3IgfTsKKyAgICAKKworICAgIC8vIFJlZlB0cjxDU1NWYWx1ZT4KKyAgICBhdXRvIGNzc1Zh
bHVlID0gc3R5bGVEZWNsYXJhdGlvbi0+Z2V0UHJvcGVydHlDU1NWYWx1ZShwcm9wZXJ0eUlEKTsK
KyAgICBhdXRvIHZhbHVlVHlwZSA9IGNzc1ZhbHVlLT5jc3NWYWx1ZVR5cGUoKTsKKyAgICAKKyAg
ICBpZiAoIWNzc1ZhbHVlKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgU3ludGF4RXJyb3Ig
fTsKKworICAgIFZlY3RvcjxSZWY8Q1NTU3R5bGVWYWx1ZT4+IHJlc3VsdHM7CisKKyAgICBpZiAo
dmFsdWVUeXBlID09IENTU1ZhbHVlOjpDU1NfVkFMVUVfTElTVCkgeworICAgICAgICBBU1NFUlQo
aXM8Q1NTVmFsdWVMaXN0Pihjc3NWYWx1ZS5nZXQoKSkpOworICAgICAgICAKKyAgICAgICAgYm9v
bCBwYXJzZWRGaXJzdCA9IGZhbHNlOworICAgICAgICBmb3IgKGF1dG8mIGN1cnJlbnRWYWx1ZSA6
IGRvd25jYXN0PENTU1ZhbHVlTGlzdD4oKmNzc1ZhbHVlLmdldCgpKSkgeworICAgICAgICAgICAg
aWYgKCFwYXJzZU11bHRpcGxlICYmIHBhcnNlZEZpcnN0KQorICAgICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgYXV0byByZWlmaWVkVmFsdWUgPSBDU1NTdHlsZVZhbHVlOjpyZWlmeVZh
bHVlKHByb3BlcnR5SUQsIGN1cnJlbnRWYWx1ZS5jb3B5UmVmKCkpOworICAgICAgICAgICAgaWYg
KHJlaWZpZWRWYWx1ZSkKKyAgICAgICAgICAgICAgICByZXN1bHRzLmFwcGVuZChyZWlmaWVkVmFs
dWUucmVsZWFzZU5vbk51bGwoKSk7CisgICAgICAgICAgICBwYXJzZWRGaXJzdCA9IHRydWU7Cisg
ICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBhdXRvIHJlaWZpZWRWYWx1ZSA9IENTU1N0
eWxlVmFsdWU6OnJlaWZ5VmFsdWUocHJvcGVydHlJRCwgY3NzVmFsdWUuY29weVJlZigpKTsKKyAg
ICAgICAgaWYgKHJlaWZpZWRWYWx1ZSkKKyAgICAgICAgICAgIHJlc3VsdHMuYXBwZW5kKHJlaWZp
ZWRWYWx1ZS5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIHJlc3Vs
dHM7Cit9CisKK0V4Y2VwdGlvbk9yPFJlZjxDU1NTdHlsZVZhbHVlPj4gQ1NTU3R5bGVWYWx1ZTo6
cGFyc2UoU3RyaW5nIHByb3BlcnR5LCBTdHJpbmcgY3NzVGV4dCkKK3sKKyAgICBhdXRvIHBhcnNl
UmVzdWx0ID0gcGFyc2VTdHlsZVZhbHVlKHByb3BlcnR5LCBjc3NUZXh0LCBmYWxzZSk7CisgICAg
aWYgKHBhcnNlUmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gcGFyc2VSZXN1
bHQucmVsZWFzZUV4Y2VwdGlvbigpOworCisgICAgYXV0byByZXMgPSBXVEZNb3ZlKHBhcnNlUmVz
dWx0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpLmF0KDApKTsKKyAgICAKKyAgICByZXR1cm4gcmVzOwor
fQorCitFeGNlcHRpb25PcjxWZWN0b3I8UmVmPENTU1N0eWxlVmFsdWU+Pj4gQ1NTU3R5bGVWYWx1
ZTo6cGFyc2VBbGwoU3RyaW5nIHByb3BlcnR5LCBTdHJpbmcgY3NzVGV4dCkKK3sKKyAgICByZXR1
cm4gcGFyc2VTdHlsZVZhbHVlKHByb3BlcnR5LCBjc3NUZXh0LCB0cnVlKTsKK30KKworUmVmPENT
U1N0eWxlVmFsdWU+IENTU1N0eWxlVmFsdWU6OmNyZWF0ZShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5
SUQsIFJlZlB0cjxDU1NWYWx1ZT4mJiBjc3NWYWx1ZSwgY29uc3QgU3RyaW5nJiBwcm9wZXJ0eSkK
K3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NTdHlsZVZhbHVlKHByb3BlcnR5SUQsIFdU
Rk1vdmUoY3NzVmFsdWUpLCBwcm9wZXJ0eSkpOworfQorCitSZWY8Q1NTU3R5bGVWYWx1ZT4gQ1NT
U3R5bGVWYWx1ZTo6Y3JlYXRlKCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NTdHls
ZVZhbHVlKCkpOworfQorCitDU1NTdHlsZVZhbHVlOjpDU1NTdHlsZVZhbHVlKENTU1Byb3BlcnR5
SUQgcHJvcGVydHlJRCwgUmVmUHRyPENTU1ZhbHVlPiYmIGNzc1ZhbHVlLCBjb25zdCBTdHJpbmcm
IHByb3BlcnR5KQorICAgIDogbV9jc3NQcm9wZXJ0eUlEKHByb3BlcnR5SUQpCisgICAgLCBtX2N1
c3RvbVByb3BlcnR5TmFtZShwcm9wZXJ0eSkKKyAgICAsIG1fcHJvcGVydHlWYWx1ZShXVEZNb3Zl
KGNzc1ZhbHVlKSkKK3sKK30KKworLy8gSW52b2tlcyBzdGF0aWMgY29uc3RydWN0b3Igb2Ygc3Vi
Y2xhc3NlcyB0byByZWlmeVZhbHVlcworUmVmUHRyPENTU1N0eWxlVmFsdWU+IENTU1N0eWxlVmFs
dWU6OnJlaWZ5VmFsdWUoQ1NTUHJvcGVydHlJRCwgUmVmUHRyPENTU1ZhbHVlPiYmKQoreworICAg
IC8vIEZJWE1FOiBBZGQgUmVpZmljYXRpb24gY29udHJvbCBmbG93LiBSZXR1cm5zIG51bGxwdHIg
aWYgZmFpbGVkCisgICAgcmV0dXJuIENTU1N0eWxlVmFsdWU6OmNyZWF0ZSgpOworfQorCitTdHJp
bmcgQ1NTU3R5bGVWYWx1ZTo6dG9TdHJpbmcoKSBjb25zdAoreworICAgIGlmICghbV9wcm9wZXJ0
eVZhbHVlKQorICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKKyAgICAKKyAgICByZXR1cm4g
bV9wcm9wZXJ0eVZhbHVlLT5jc3NUZXh0KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHls
ZVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVlLmgKaW5k
ZXggMTU2MGE2ZDI4NTEyODdiMzRlZTkwZThmMzU4ODFiNzJiMWQ3NDY0MC4uODQ3YzljNmMyOTU3
YzJmMTRlOTcyNGExZWIwMzAxODNjNjBlN2ZmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBl
ZG9tL0NTU1N0eWxlVmFsdWUuaApAQCAtMjcsMjQgKzI3LDUyIEBACiAKICNpZiBFTkFCTEUoQ1NT
X1RZUEVEX09NKQogCisjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgogI2luY2x1ZGUgIlNj
cmlwdFdyYXBwYWJsZS5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgQ1NT
VmFsdWU7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBFeGNlcHRpb25PcjsKKworZW51bSBj
bGFzcyBDU1NTdHlsZVZhbHVlVHlwZTogdWludDhfdCB7CisgICAgQ1NTU3R5bGVWYWx1ZSwKKyAg
ICBDU1NTdHlsZUltYWdlVmFsdWUsCisgICAgQ1NTVHJhbnNmb3JtVmFsdWUsCisgICAgQ1NTTnVt
ZXJpY1ZhbHVlLAorICAgIENTU01hdGhWYWx1ZSwKKyAgICBDU1NVbml0VmFsdWUsCisgICAgQ1NT
VW5wYXJzZWRWYWx1ZSwKKyAgICBDU1NLZXl3b3JkVmFsdWUKK307CisKIGNsYXNzIENTU1N0eWxl
VmFsdWUgOiBwdWJsaWMgUmVmQ291bnRlZDxDU1NTdHlsZVZhbHVlPiwgcHVibGljIFNjcmlwdFdy
YXBwYWJsZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChDU1NTdHlsZVZhbHVlKTsKIHB1
YmxpYzoKLSAgICB2aXJ0dWFsIH5DU1NTdHlsZVZhbHVlKCkgPSBkZWZhdWx0OwotICAgIHZpcnR1
YWwgU3RyaW5nIHRvU3RyaW5nKCkgPSAwOwotCi0gICAgdmlydHVhbCBib29sIGlzVW5pdFZhbHVl
KCkgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNVbnBhcnNlZFZhbHVlKCkg
eyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNJbWFnZVZhbHVlKCkgeyByZXR1
cm4gZmFsc2U7IH0KIAorICAgIHZpcnR1YWwgU3RyaW5nIHRvU3RyaW5nKCkgY29uc3Q7CisgICAg
dmlydHVhbCBDU1NTdHlsZVZhbHVlVHlwZSBnZXRUeXBlKCkgY29uc3QgeyByZXR1cm4gQ1NTU3R5
bGVWYWx1ZVR5cGU6OkNTU1N0eWxlVmFsdWU7IH0KKyAgICAKKyAgICB2aXJ0dWFsIH5DU1NTdHls
ZVZhbHVlKCkgPSBkZWZhdWx0OworICAgICAgICAKKyAgICBzdGF0aWMgRXhjZXB0aW9uT3I8VmVj
dG9yPFJlZjxDU1NTdHlsZVZhbHVlPj4+IHBhcnNlU3R5bGVWYWx1ZShTdHJpbmcsIFN0cmluZywg
Ym9vbCk7CisgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxDU1NTdHlsZVZhbHVlPj4gcGFyc2Uo
U3RyaW5nLCBTdHJpbmcpOworICAgIHN0YXRpYyBFeGNlcHRpb25PcjxWZWN0b3I8UmVmPENTU1N0
eWxlVmFsdWU+Pj4gcGFyc2VBbGwoU3RyaW5nLCBTdHJpbmcpOworICAgIAorICAgIHN0YXRpYyBS
ZWZQdHI8Q1NTU3R5bGVWYWx1ZT4gcmVpZnlWYWx1ZShDU1NQcm9wZXJ0eUlELCBSZWZQdHI8Q1NT
VmFsdWU+JiYpOworICAgIAorICAgIHN0YXRpYyBSZWY8Q1NTU3R5bGVWYWx1ZT4gY3JlYXRlKENT
U1Byb3BlcnR5SUQsIFJlZlB0cjxDU1NWYWx1ZT4mJiwgY29uc3QgU3RyaW5nJiA9IG51bGxTdHJp
bmcoKSk7CisgICAgLy8gRklYTUU6IHByb2JhYmx5IHNob3VsZCByZW1vdmUgdGhpcyBpbiB0aGUg
ZnV0dXJlCisgICAgc3RhdGljIFJlZjxDU1NTdHlsZVZhbHVlPiBjcmVhdGUoKTsKKyAgICAgICAg
CiBwcm90ZWN0ZWQ6CiAgICAgQ1NTU3R5bGVWYWx1ZSgpID0gZGVmYXVsdDsKKyAgICBDU1NTdHls
ZVZhbHVlKENTU1Byb3BlcnR5SUQsIFJlZlB0cjxDU1NWYWx1ZT4mJiwgY29uc3QgU3RyaW5nJik7
CisgICAgQ1NTUHJvcGVydHlJRCBtX2Nzc1Byb3BlcnR5SUQ7CisgICAgU3RyaW5nIG1fY3VzdG9t
UHJvcGVydHlOYW1lOworICAgIFJlZlB0cjxDU1NWYWx1ZT4gbV9wcm9wZXJ0eVZhbHVlOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9D
U1NTdHlsZVZhbHVlLmlkbAppbmRleCA1ZDAxMzNkNmMwODkxZWNlMDE1YmYyZjRmYTViZjY2MjYx
YmViY2I4Li5hZTdmOTI0OWNlODhmM2JmODQ5MTg2ZWMwNDdmMmNhOTE0NTQwODQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVlLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVlLmlkbApAQCAtMjksNyArMjks
OSBAQAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9Q1NTVHlwZWRPTSwKICAgICBDb25kaXRpb25hbD1D
U1NfVFlQRURfT00sCiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlcixQYWludFdvcmtsZXQpLAot
ICAgIFNraXBWVGFibGVWYWxpZGF0aW9uLAorICAgIFNraXBWVGFibGVWYWxpZGF0aW9uCiBdIGlu
dGVyZmFjZSBDU1NTdHlsZVZhbHVlIHsKICAgICBzdHJpbmdpZmllcjsKKyAgICBbRXhwb3NlZD1X
aW5kb3ddIHN0YXRpYyBDU1NTdHlsZVZhbHVlIHBhcnNlKFVTVlN0cmluZyBwcm9wZXJ0eSwgVVNW
U3RyaW5nIGNzc1RleHQpOworICAgIFtFeHBvc2VkPVdpbmRvd10gc3RhdGljIHNlcXVlbmNlPENT
U1N0eWxlVmFsdWU+IHBhcnNlQWxsKFVTVlN0cmluZyBwcm9wZXJ0eSwgVVNWU3RyaW5nIGNzc1Rl
eHQpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1VuaXRW
YWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTVW5pdFZhbHVlLmgKaW5kZXgg
NGJmYjFkMTc5ZGU4ZTNkNGI1NmM2ZTVmOWU0ODU1MDJkOTA5MjExMi4uYWY4NTM5MzgwZTEyYTJi
MjBlOTI2ZjZjY2I5NjhkMThkN2JmYzcwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L3R5cGVkb20vQ1NTVW5pdFZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20v
Q1NTVW5pdFZhbHVlLmgKQEAgLTQzLDcgKzQzLDggQEAgcHVibGljOgogICAgIH0KIAogICAgIC8v
IEZJWE1FOiBub3QgY29ycmVjdC4KLSAgICBTdHJpbmcgdG9TdHJpbmcoKSBmaW5hbCB7IHJldHVy
biBtYWtlU3RyaW5nKChpbnQpIG1fdmFsdWUsIG1fdW5pdCk7IH0KKyAgICBTdHJpbmcgdG9TdHJp
bmcoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtYWtlU3RyaW5nKChpbnQpIG1fdmFsdWUsIG1fdW5p
dCk7IH0KKyAgICBDU1NTdHlsZVZhbHVlVHlwZSBnZXRUeXBlKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU1VuaXRWYWx1ZTsgfQogCiAgICAgZG91YmxlIHZhbHVl
KCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZTsgfQogICAgIHZvaWQgc2V0VmFsdWUoZG91YmxlIHZh
bHVlKSB7IG1fdmFsdWUgPSB2YWx1ZTsgfQpAQCAtNTcsOCArNTgsNiBAQCBwcml2YXRlOgogICAg
IHsKICAgICB9CiAKLSAgICBib29sIGlzVW5pdFZhbHVlKCkgZmluYWwgeyByZXR1cm4gdHJ1ZTsg
fQotCiAgICAgZG91YmxlIG1fdmFsdWU7CiAgICAgU3RyaW5nIG1fdW5pdDsKIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NVbnBhcnNlZFZhbHVlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1VucGFyc2VkVmFsdWUuY3BwCmluZGV4IDNhMzMx
NDE1ZGUzMzRiZTI3YTdkZTQyMTE4Nzk4MTJkZDUwM2RmZDkuLjE5ZjVmNjkyNjczMDE4YjM0Zjc5
YWRlNmRhZDI0MTg5M2I3MGE5ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBl
ZG9tL0NTU1VucGFyc2VkVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L0NTU1VucGFyc2VkVmFsdWUuY3BwCkBAIC0zMiwxMiArMzIsNTMgQEAKIAogI2lmIEVOQUJMRShD
U1NfVFlQRURfT00pCiAKKyNpbmNsdWRlICJDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuaCIK
KyNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVz
Lmg+CisjaW5jbHVkZSA8d3RmL1ZhcmlhbnQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lN
UEwoQ1NTVW5wYXJzZWRWYWx1ZSk7CiAKK1JlZjxDU1NVbnBhcnNlZFZhbHVlPiBDU1NVbnBhcnNl
ZFZhbHVlOjpjcmVhdGUoY29uc3QgVmVjdG9yPENTU1VucGFyc2VkU2VnbWVudD4mIHNlZ21lbnRz
KQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENTU1VucGFyc2VkVmFsdWUoc2VnbWVudHMp
KTsKK30KKworQ1NTVW5wYXJzZWRWYWx1ZTo6Q1NTVW5wYXJzZWRWYWx1ZShjb25zdCBWZWN0b3I8
Q1NTVW5wYXJzZWRTZWdtZW50PiYgc2VnbWVudHMpCisgICAgOiBtX3NlZ21lbnRzKHNlZ21lbnRz
KQoreworfQorCitTdHJpbmcgQ1NTVW5wYXJzZWRWYWx1ZTo6dG9TdHJpbmcoKSBjb25zdAorewor
ICAgIFN0cmluZyBzZXJpYWxpemF0aW9uID0gZW1wdHlTdHJpbmcoKTsKKyAgICBmb3IgKGF1dG8m
IHNlZ21lbnQgOiBtX3NlZ21lbnRzKSB7CisgICAgICAgIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0
aXZlPFN0cmluZz4oc2VnbWVudCkpCisgICAgICAgICAgICBzZXJpYWxpemF0aW9uLmFwcGVuZChX
VEY6OmdldDxTdHJpbmc+KHNlZ21lbnQpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgc2Vy
aWFsaXphdGlvbi5hcHBlbmQoV1RGOjpnZXQ8UmVmUHRyPENTU09NVmFyaWFibGVSZWZlcmVuY2VW
YWx1ZT4+KHNlZ21lbnQpLT50b1N0cmluZygpKTsKKyAgICB9CisgICAgcmV0dXJuIHNlcmlhbGl6
YXRpb247Cit9CisKK0V4Y2VwdGlvbk9yPENTU1VucGFyc2VkU2VnbWVudD4gQ1NTVW5wYXJzZWRW
YWx1ZTo6aXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KQoreworICAgIGlmIChpbmRleCA+PSBtX3Nl
Z21lbnRzLnNpemUoKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFJhbmdlRXJyb3IgfTsK
KyAgICByZXR1cm4gRXhjZXB0aW9uT3I8Q1NTVW5wYXJzZWRTZWdtZW50PiB7IENTU1VucGFyc2Vk
U2VnbWVudCB7IG1fc2VnbWVudHNbaW5kZXhdIH0gfTsKK30KKworRXhjZXB0aW9uT3I8Q1NTVW5w
YXJzZWRTZWdtZW50PiBDU1NVbnBhcnNlZFZhbHVlOjpzZXRJdGVtKHVuc2lnbmVkIGxvbmcgaW5k
ZXgsIENTU1VucGFyc2VkU2VnbWVudCB2YWwpCit7CisgICAgaWYgKGluZGV4ID49IG1fc2VnbWVu
dHMuc2l6ZSgpKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgUmFuZ2VFcnJvciB9OworICAg
IG1fc2VnbWVudHNbaW5kZXhdID0gdmFsOworICAgIHJldHVybiBFeGNlcHRpb25PcjxDU1NVbnBh
cnNlZFNlZ21lbnQ+IHsgQ1NTVW5wYXJzZWRTZWdtZW50IHsgdmFsIH0gfTsKK30KKwogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy90eXBlZG9tL0NTU1VucGFyc2VkVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L0NTU1VucGFyc2VkVmFsdWUuaAppbmRleCBmMWU1ZjU3YzkyOGRmZjljOTQ4MWJjMDliZDEzZjZm
YTBlYjI1MTMxLi5kZDE5MTIyOTA4Yjc0NGNjMDQxZWNiOWQyYzkzYzMxNGYxMDJjMmE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NVbnBhcnNlZFZhbHVlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTVW5wYXJzZWRWYWx1ZS5oCkBAIC0yOSwz
MSArMjksNDEgQEAKIAogI2luY2x1ZGUgIkNTU1N0eWxlVmFsdWUuaCIKICNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ1NTVW5wYXJz
ZWRWYWx1ZSBmaW5hbCA6IHB1YmxpYyBDU1NTdHlsZVZhbHVlIHsKK3RlbXBsYXRlPHR5cGVuYW1l
PiBjbGFzcyBFeGNlcHRpb25PcjsKK2NsYXNzIENTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZTsK
K3VzaW5nIENTU1VucGFyc2VkU2VnbWVudCA9IFZhcmlhbnQ8U3RyaW5nLCBSZWZQdHI8Q1NTT01W
YXJpYWJsZVJlZmVyZW5jZVZhbHVlPj47CisKK2NsYXNzIENTU1VucGFyc2VkVmFsdWUgOiBwdWJs
aWMgQ1NTU3R5bGVWYWx1ZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChDU1NVbnBhcnNl
ZFZhbHVlKTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPENTU1VucGFyc2VkVmFsdWU+IGNyZWF0
ZShjb25zdCBTdHJpbmcmIHNlcmlhbGl6ZWRWYWx1ZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IENTU1VucGFyc2VkVmFsdWUoc2VyaWFsaXplZFZhbHVlKSk7Ci0gICAgfQog
Ci0gICAgU3RyaW5nIHRvU3RyaW5nKCkgZmluYWwgeyByZXR1cm4gbV9zZXJpYWxpemVkVmFsdWU7
IH0KKyAgICBzdGF0aWMgUmVmPENTU1VucGFyc2VkVmFsdWU+IGNyZWF0ZShjb25zdCBWZWN0b3I8
Q1NTVW5wYXJzZWRTZWdtZW50PiYpOworICAgIAorICAgIFN0cmluZyB0b1N0cmluZygpIGNvbnN0
IGZpbmFsOworICAgIAorICAgIENTU1N0eWxlVmFsdWVUeXBlIGdldFR5cGUoKSBjb25zdCBmaW5h
bCB7IHJldHVybiBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTVW5wYXJzZWRWYWx1ZTsgfQogCi1wcml2
YXRlOgotICAgIGV4cGxpY2l0IENTU1VucGFyc2VkVmFsdWUoY29uc3QgU3RyaW5nJiBzZXJpYWxp
emVkVmFsdWUpCi0gICAgICAgIDogbV9zZXJpYWxpemVkVmFsdWUoc2VyaWFsaXplZFZhbHVlKQot
ICAgIHsKLSAgICB9CisgICAgdW5zaWduZWQgbG9uZyBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBt
X3NlZ21lbnRzLnNpemUoKTsgfQorICAgIAorICAgIEV4Y2VwdGlvbk9yPENTU1VucGFyc2VkU2Vn
bWVudD4gaXRlbSh1bnNpZ25lZCBsb25nKTsKKyAgICAKKyAgICBFeGNlcHRpb25PcjxDU1NVbnBh
cnNlZFNlZ21lbnQ+IHNldEl0ZW0odW5zaWduZWQgbG9uZywgQ1NTVW5wYXJzZWRTZWdtZW50KTsK
IAotICAgIGJvb2wgaXNVbnBhcnNlZFZhbHVlKCkgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQorcHJp
dmF0ZToKKyAgICBleHBsaWNpdCBDU1NVbnBhcnNlZFZhbHVlKGNvbnN0IFZlY3RvcjxDU1NVbnBh
cnNlZFNlZ21lbnQ+JiBzZWdtZW50cyk7CiAKLSAgICBTdHJpbmcgbV9zZXJpYWxpemVkVmFsdWU7
CisgICAgVmVjdG9yPENTU1VucGFyc2VkU2VnbWVudD4gbV9zZWdtZW50czsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3Jl
OjpDU1NVbnBhcnNlZFZhbHVlKQorICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3Jl
OjpDU1NTdHlsZVZhbHVlJiBzdHlsZVZhbHVlKSB7IHJldHVybiBzdHlsZVZhbHVlLmdldFR5cGUo
KSA9PSBXZWJDb3JlOjpDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTVW5wYXJzZWRWYWx1ZTsgfQorU1BF
Q0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQorCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1VucGFyc2VkVmFsdWUuaWRsIGIvU291cmNlL1dlYkNvcmUv
Y3NzL3R5cGVkb20vQ1NTVW5wYXJzZWRWYWx1ZS5pZGwKaW5kZXggZjJkZTFiNWRjYWMwYTY4MTBm
YzQyNGU1ZTUwOGU1OWU4ZmQ5ZWQ2My4uNjVkN2E3NjA1MzlhNmY4OWUwZDQzMjg1NDdiMTU2ODZm
OGNmMmIzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTVW5wYXJz
ZWRWYWx1ZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTVW5wYXJzZWRW
YWx1ZS5pZGwKQEAgLTIzLDEyICsyMywxOSBAQAogKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogKi8KIAotLy8gRklY
TUU6IHdyb25nIGNvbnN0cnVjdG9yLgordHlwZWRlZiAoVVNWU3RyaW5nIG9yIENTU09NVmFyaWFi
bGVSZWZlcmVuY2VWYWx1ZSkgQ1NTVW5wYXJzZWRTZWdtZW50OworCiBbCiAgICAgSW50ZXJmYWNl
TmFtZT1DU1NVbnBhcnNlZFZhbHVlLAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9Q1NTVHlwZWRPTSwK
ICAgICBDb25kaXRpb25hbD1DU1NfVFlQRURfT00sCiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtl
cixQYWludFdvcmtsZXQpLAorICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdAogXSBpbnRlcmZh
Y2UgQ1NTVW5wYXJzZWRWYWx1ZSA6IENTU1N0eWxlVmFsdWUgewotICAgIGNvbnN0cnVjdG9yKFVT
VlN0cmluZyBzZXJpYWxpemVkVmFsdWUpOworICAgIGNvbnN0cnVjdG9yKHNlcXVlbmNlPENTU1Vu
cGFyc2VkU2VnbWVudD4gbWVtYmVycyk7CisKKyAgICBpdGVyYWJsZTxDU1NVbnBhcnNlZFNlZ21l
bnQ+OworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKKyAgICBn
ZXR0ZXIgQ1NTVW5wYXJzZWRTZWdtZW50ICh1bnNpZ25lZCBsb25nIGluZGV4KTsKKyAgICBzZXR0
ZXIgQ1NTVW5wYXJzZWRTZWdtZW50ICh1bnNpZ25lZCBsb25nIGluZGV4LCBDU1NVbnBhcnNlZFNl
Z21lbnQgdmFsKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9T
dHlsZVByb3BlcnR5TWFwUmVhZE9ubHkuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20v
U3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5LmNwcAppbmRleCAyYjYyYjgxNWI0ODljNGQ1ZjNiMWUy
YzRmZmVjODRlN2MxMTBiYjg4Li5iYTgzYjU2YzYyOTc5MGVlOTk4MmM2OTdlMjBiODQzMjFhM2Vi
YWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9TdHlsZVByb3BlcnR5
TWFwUmVhZE9ubHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1N0eWxlUHJv
cGVydHlNYXBSZWFkT25seS5jcHAKQEAgLTQzLDM2ICs0MywzNyBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLVJlZlB0cjxDU1NTdHlsZVZhbHVlPiBTdHlsZVByb3BlcnR5TWFwUmVhZE9ubHk6
OnJlaWZ5VmFsdWUoQ1NTVmFsdWUqIHZhbHVlLCBEb2N1bWVudCYgZG9jdW1lbnQsIEVsZW1lbnQq
KQorUmVmUHRyPENTU1N0eWxlVmFsdWU+IFN0eWxlUHJvcGVydHlNYXBSZWFkT25seTo6cmVpZnlW
YWx1ZShSZWZQdHI8Q1NTVmFsdWU+JiYgdmFsdWUsIGNvbnN0IFN0cmluZyYsIERvY3VtZW50JiBk
b2N1bWVudCwgRWxlbWVudCopCiB7CiAgICAgaWYgKCF2YWx1ZSkKICAgICAgICAgcmV0dXJuIG51
bGxwdHI7Ci0KKyAgICAKKyAgICBDU1NWYWx1ZSogdmFsdWVQdHIgPSB2YWx1ZS5nZXQoKTsKKyAg
ICAKICAgICAvLyBGSVhNRTogUHJvcGVybHkgcmVpZnkgYWxsIGxlbmd0aCB2YWx1ZXMuCi0gICAg
aWYgKGlzPENTU1ByaW1pdGl2ZVZhbHVlPigqdmFsdWUpICYmIGRvd25jYXN0PENTU1ByaW1pdGl2
ZVZhbHVlPigqdmFsdWUpLnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NVbml0VHlwZTo6Q1NTX1BYKQot
ICAgICAgICByZXR1cm4gQ1NTVW5pdFZhbHVlOjpjcmVhdGUoZG93bmNhc3Q8Q1NTUHJpbWl0aXZl
VmFsdWU+KCp2YWx1ZSkuZG91YmxlVmFsdWUoKSwgInB4Iik7CisgICAgaWYgKGlzPENTU1ByaW1p
dGl2ZVZhbHVlPih2YWx1ZVB0cikgJiYgZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVl
UHRyKS0+cHJpbWl0aXZlVHlwZSgpID09IENTU1VuaXRUeXBlOjpDU1NfUFgpCisgICAgICAgIHJl
dHVybiBDU1NVbml0VmFsdWU6OmNyZWF0ZShkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFs
dWVQdHIpLT5kb3VibGVWYWx1ZSgpLCAicHgiKTsKIAotICAgIGlmIChpczxDU1NJbWFnZVZhbHVl
PigqdmFsdWUpKQotICAgICAgICByZXR1cm4gQ1NTU3R5bGVJbWFnZVZhbHVlOjpjcmVhdGUoZG93
bmNhc3Q8Q1NTSW1hZ2VWYWx1ZT4oKnZhbHVlKSwgZG9jdW1lbnQpOworICAgIGlmIChpczxDU1NJ
bWFnZVZhbHVlPih2YWx1ZSkpCisgICAgICAgIHJldHVybiBDU1NTdHlsZUltYWdlVmFsdWU6OmNy
ZWF0ZShtYWtlUmVmKGRvd25jYXN0PENTU0ltYWdlVmFsdWU+KCp2YWx1ZVB0cikpLCBkb2N1bWVu
dCk7CiAKLSAgICAvLyBGSVhNRTogc2hvdWxkIHVzZSByYXcgQ1NTU3R5bGVWYWx1ZQotICAgIHJl
dHVybiBDU1NVbnBhcnNlZFZhbHVlOjpjcmVhdGUodmFsdWUtPmNzc1RleHQoKSk7CisgICAgcmV0
dXJuIG51bGxwdHI7CiB9CiAKLVJlZlB0cjxDU1NTdHlsZVZhbHVlPiBTdHlsZVByb3BlcnR5TWFw
UmVhZE9ubHk6OmN1c3RvbVByb3BlcnR5VmFsdWVPckRlZmF1bHQoY29uc3QgU3RyaW5nJiBuYW1l
LCBEb2N1bWVudCYgZG9jdW1lbnQsIENTU1ZhbHVlKiBpbnB1dFZhbHVlLCBFbGVtZW50KiBlbGVt
ZW50KQorUmVmUHRyPENTU1N0eWxlVmFsdWU+IFN0eWxlUHJvcGVydHlNYXBSZWFkT25seTo6Y3Vz
dG9tUHJvcGVydHlWYWx1ZU9yRGVmYXVsdChjb25zdCBTdHJpbmcmIG5hbWUsIERvY3VtZW50JiBk
b2N1bWVudCwgUmVmUHRyPENTU1ZhbHVlPiYmIGlucHV0VmFsdWUsIEVsZW1lbnQqIGVsZW1lbnQp
CiB7CiAgICAgaWYgKCFpbnB1dFZhbHVlKSB7CiAgICAgICAgIGF1dG8qIHJlZ2lzdGVyZWQgPSBk
b2N1bWVudC5nZXRDU1NSZWdpc3RlcmVkQ3VzdG9tUHJvcGVydHlTZXQoKS5nZXQobmFtZSk7CiAK
ICAgICAgICAgaWYgKHJlZ2lzdGVyZWQgJiYgcmVnaXN0ZXJlZC0+aW5pdGlhbFZhbHVlKCkpIHsK
ICAgICAgICAgICAgIGF1dG8gdmFsdWUgPSByZWdpc3RlcmVkLT5pbml0aWFsVmFsdWVDb3B5KCk7
Ci0gICAgICAgICAgICByZXR1cm4gU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5OjpyZWlmeVZhbHVl
KHZhbHVlLmdldCgpLCBkb2N1bWVudCwgZWxlbWVudCk7CisgICAgICAgICAgICByZXR1cm4gU3R5
bGVQcm9wZXJ0eU1hcFJlYWRPbmx5OjpyZWlmeVZhbHVlKFdURk1vdmUodmFsdWUpLCBuYW1lLCBk
b2N1bWVudCwgZWxlbWVudCk7CiAgICAgICAgIH0KIAotICAgICAgICByZXR1cm4gQ1NTVW5wYXJz
ZWRWYWx1ZTo6Y3JlYXRlKGVtcHR5U3RyaW5nKCkpOworICAgICAgICByZXR1cm4gQ1NTU3R5bGVW
YWx1ZTo6Y3JlYXRlKCk7CiAgICAgfQogCi0gICAgcmV0dXJuIFN0eWxlUHJvcGVydHlNYXBSZWFk
T25seTo6cmVpZnlWYWx1ZShpbnB1dFZhbHVlLCBkb2N1bWVudCwgZWxlbWVudCk7CisgICAgcmV0
dXJuIFN0eWxlUHJvcGVydHlNYXBSZWFkT25seTo6cmVpZnlWYWx1ZShXVEZNb3ZlKGlucHV0VmFs
dWUpLCBuYW1lLCBkb2N1bWVudCwgZWxlbWVudCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1N0eWxlUHJvcGVydHlN
YXBSZWFkT25seS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vU3R5bGVQcm9wZXJ0eU1h
cFJlYWRPbmx5LmgKaW5kZXggZTNjYTcxMTAxOGIwOWFhZmZkNzFlMWIxZTQ0NzFlYjIxNmZiODFk
MC4uYTc4OWQ3ZTllODE3ZjRiNjJkZWMxNjYwNmJjZmEyMjYyM2FiM2E5ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5LmgK
QEAgLTQyLDkgKzQyLDkgQEAgY2xhc3MgU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5IDogcHVibGlj
IFJlZkNvdW50ZWQ8U3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5PiB7CiBwdWJsaWM6CiAgICAgdmly
dHVhbCB+U3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5KCkgPSBkZWZhdWx0OwogICAgIHZpcnR1YWwg
UmVmUHRyPENTU1N0eWxlVmFsdWU+IGdldChjb25zdCBTdHJpbmcmIHByb3BlcnR5KSBjb25zdCA9
IDA7Ci0KLSAgICBzdGF0aWMgUmVmUHRyPENTU1N0eWxlVmFsdWU+IHJlaWZ5VmFsdWUoQ1NTVmFs
dWUqLCBEb2N1bWVudCYsIEVsZW1lbnQqID0gbnVsbHB0cik7Ci0gICAgc3RhdGljIFJlZlB0cjxD
U1NTdHlsZVZhbHVlPiBjdXN0b21Qcm9wZXJ0eVZhbHVlT3JEZWZhdWx0KGNvbnN0IFN0cmluZyYg
bmFtZSwgRG9jdW1lbnQmLCBDU1NWYWx1ZSosIEVsZW1lbnQqID0gbnVsbHB0cik7CisgICAgCisg
ICAgc3RhdGljIFJlZlB0cjxDU1NTdHlsZVZhbHVlPiByZWlmeVZhbHVlKFJlZlB0cjxDU1NWYWx1
ZT4mJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBEb2N1bWVudCYsIEVsZW1lbnQqID0gbnVsbHB0cik7
CisgICAgc3RhdGljIFJlZlB0cjxDU1NTdHlsZVZhbHVlPiBjdXN0b21Qcm9wZXJ0eVZhbHVlT3JE
ZWZhdWx0KGNvbnN0IFN0cmluZyYgbmFtZSwgRG9jdW1lbnQmLCBSZWZQdHI8Q1NTVmFsdWU+JiYs
IEVsZW1lbnQqID0gbnVsbHB0cik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKaW5kZXggOTU3ZTU3NjkzYWU5YmNiZDcyYzllMzBk
NWU5ZDgxNDVmYTlhMDg1Zi4uZmFlMDI4MjI4MjBhMzczZjU5ZTNjMzcwNjNhNTljZjViOTI1NjNk
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcApAQCAtMTA5LDcgKzEwOSw3IEBA
IHByaXZhdGU6CiAKICAgICAgICAgaWYgKGlzQ3VzdG9tUHJvcGVydHlOYW1lKG5hbWUpKSB7CiAg
ICAgICAgICAgICBhdXRvIHZhbHVlID0gZWxlbWVudC5pbmxpbmVTdHlsZSgpLT5nZXRDdXN0b21Q
cm9wZXJ0eUNTU1ZhbHVlKG5hbWUpOwotICAgICAgICAgICAgcmV0dXJuIFN0eWxlUHJvcGVydHlN
YXBSZWFkT25seTo6Y3VzdG9tUHJvcGVydHlWYWx1ZU9yRGVmYXVsdChuYW1lLCBlbGVtZW50LmRv
Y3VtZW50KCksIHZhbHVlLmdldCgpLCAmZWxlbWVudCk7CisgICAgICAgICAgICByZXR1cm4gU3R5
bGVQcm9wZXJ0eU1hcFJlYWRPbmx5OjpjdXN0b21Qcm9wZXJ0eVZhbHVlT3JEZWZhdWx0KG5hbWUs
IGVsZW1lbnQuZG9jdW1lbnQoKSwgdmFsdWUuY29weVJlZigpLCAmZWxlbWVudCk7CiAgICAgICAg
IH0KIAogICAgICAgICBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQgPSBjc3NQcm9wZXJ0eUlEKG5h
bWUpOwpAQCAtMTE3LDcgKzExNyw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICByZXR1cm4gbnVs
bHB0cjsKIAogICAgICAgICBhdXRvIHZhbHVlID0gZWxlbWVudC5pbmxpbmVTdHlsZSgpLT5nZXRQ
cm9wZXJ0eUNTU1ZhbHVlKHByb3BlcnR5SUQpOwotICAgICAgICByZXR1cm4gU3R5bGVQcm9wZXJ0
eU1hcFJlYWRPbmx5OjpyZWlmeVZhbHVlKHZhbHVlLmdldCgpLCBlbGVtZW50LmRvY3VtZW50KCks
ICZlbGVtZW50KTsKKyAgICAgICAgcmV0dXJuIFN0eWxlUHJvcGVydHlNYXBSZWFkT25seTo6cmVp
ZnlWYWx1ZSh2YWx1ZS5jb3B5UmVmKCksIG5hbWUsIGVsZW1lbnQuZG9jdW1lbnQoKSwgJmVsZW1l
bnQpOwogICAgIH0KIAogICAgIFN0eWxlZEVsZW1lbnQqIG1fZWxlbWVudCB7IG51bGxwdHIgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ3VzdG9tUGFpbnRJbWFnZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0N1c3RvbVBhaW50SW1hZ2UuY3BwCmluZGV4IGUzMDA3N2Y1YWJh
MDA3Yzk3NGNkMGQ3ODlhZjI1ODY1YjBmZjZhNjYuLjY5ZmY1N2VkZTFhZDdiNDZkOTc1OGU4MmFm
ZmVkZjEzMmFjY2U3NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ3VzdG9tUGFp
bnRJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9DdXN0b21QYWludEltYWdlLmNw
cApAQCAtNjYsNyArNjYsNyBAQCBzdGF0aWMgUmVmUHRyPENTU1N0eWxlVmFsdWU+IGV4dHJhY3RD
b21wdXRlZFByb3BlcnR5KGNvbnN0IFN0cmluZyYgbmFtZSwgRWxlbWVudAogCiAgICAgaWYgKGlz
Q3VzdG9tUHJvcGVydHlOYW1lKG5hbWUpKSB7CiAgICAgICAgIGF1dG8gdmFsdWUgPSBleHRyYWN0
b3IuY3VzdG9tUHJvcGVydHlWYWx1ZShuYW1lKTsKLSAgICAgICAgcmV0dXJuIFN0eWxlUHJvcGVy
dHlNYXBSZWFkT25seTo6Y3VzdG9tUHJvcGVydHlWYWx1ZU9yRGVmYXVsdChuYW1lLCBlbGVtZW50
LmRvY3VtZW50KCksIHZhbHVlLmdldCgpLCAmZWxlbWVudCk7CisgICAgICAgIHJldHVybiBTdHls
ZVByb3BlcnR5TWFwUmVhZE9ubHk6OmN1c3RvbVByb3BlcnR5VmFsdWVPckRlZmF1bHQobmFtZSwg
ZWxlbWVudC5kb2N1bWVudCgpLCB2YWx1ZS5jb3B5UmVmKCksICZlbGVtZW50KTsKICAgICB9CiAK
ICAgICBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQgPSBjc3NQcm9wZXJ0eUlEKG5hbWUpOwpAQCAt
NzQsNyArNzQsNyBAQCBzdGF0aWMgUmVmUHRyPENTU1N0eWxlVmFsdWU+IGV4dHJhY3RDb21wdXRl
ZFByb3BlcnR5KGNvbnN0IFN0cmluZyYgbmFtZSwgRWxlbWVudAogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKIAogICAgIGF1dG8gdmFsdWUgPSBleHRyYWN0b3IucHJvcGVydHlWYWx1ZShwcm9wZXJ0
eUlELCBEb05vdFVwZGF0ZUxheW91dCk7Ci0gICAgcmV0dXJuIFN0eWxlUHJvcGVydHlNYXBSZWFk
T25seTo6cmVpZnlWYWx1ZSh2YWx1ZS5nZXQoKSwgZWxlbWVudC5kb2N1bWVudCgpLCAmZWxlbWVu
dCk7CisgICAgcmV0dXJuIFN0eWxlUHJvcGVydHlNYXBSZWFkT25seTo6cmVpZnlWYWx1ZSh2YWx1
ZS5jb3B5UmVmKCksIG5hbWUsIGVsZW1lbnQuZG9jdW1lbnQoKSwgJmVsZW1lbnQpOwogfQogCiBj
bGFzcyBIYXNoTWFwU3R5bGVQcm9wZXJ0eU1hcCBmaW5hbCA6IHB1YmxpYyBTdHlsZVByb3BlcnR5
TWFwIHsKQEAgLTkwLDcgKzkwLDcgQEAgcHVibGljOgogCiAgICAgICAgIGlmIChpc0N1c3RvbVBy
b3BlcnR5TmFtZShuYW1lKSkgewogICAgICAgICAgICAgYXV0byB2YWx1ZSA9IGV4dHJhY3Rvci5j
dXN0b21Qcm9wZXJ0eVZhbHVlKG5hbWUpOwotICAgICAgICAgICAgcmV0dXJuIFN0eWxlUHJvcGVy
dHlNYXBSZWFkT25seTo6Y3VzdG9tUHJvcGVydHlWYWx1ZU9yRGVmYXVsdChuYW1lLCBlbGVtZW50
LmRvY3VtZW50KCksIHZhbHVlLmdldCgpLCAmZWxlbWVudCk7CisgICAgICAgICAgICByZXR1cm4g
U3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5OjpjdXN0b21Qcm9wZXJ0eVZhbHVlT3JEZWZhdWx0KG5h
bWUsIGVsZW1lbnQuZG9jdW1lbnQoKSwgdmFsdWUuY29weVJlZigpLCAmZWxlbWVudCk7CiAgICAg
ICAgIH0KIAogICAgICAgICBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQgPSBjc3NQcm9wZXJ0eUlE
KG5hbWUpOwpAQCAtOTgsNyArOTgsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICByZXR1cm4gbnVs
bHB0cjsKIAogICAgICAgICBhdXRvIHZhbHVlID0gZXh0cmFjdG9yLnByb3BlcnR5VmFsdWUocHJv
cGVydHlJRCwgRG9Ob3RVcGRhdGVMYXlvdXQpOwotICAgICAgICByZXR1cm4gU3R5bGVQcm9wZXJ0
eU1hcFJlYWRPbmx5OjpyZWlmeVZhbHVlKHZhbHVlLmdldCgpLCBlbGVtZW50LmRvY3VtZW50KCks
ICZlbGVtZW50KTsKKyAgICAgICAgcmV0dXJuIFN0eWxlUHJvcGVydHlNYXBSZWFkT25seTo6cmVp
ZnlWYWx1ZSh2YWx1ZS5jb3B5UmVmKCksIG5hbWUsIGVsZW1lbnQuZG9jdW1lbnQoKSwgJmVsZW1l
bnQpOwogICAgIH0KIAogcHJpdmF0ZToK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435660</attachid>
            <date>2021-08-16 19:57:38 -0700</date>
            <delta_ts>2021-08-16 21:59:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229028-20210816195737.patch</filename>
            <type>text/plain</type>
            <size>47163</size>
            <attacher name="Qiaosong Zhou">johnson.zhou.sh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGVjNDQ1NThkMzU5OWFh
YzI5YmJiMDAzNDMwMzEzOTgzOTBhMjM0NS4uNTVlZDgyYTdkZDJkZDljYmNhNTZlOWIwNTIwZTc5
MWUyZTA0MmU2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDIxLTA4LTEyICBKb2hu
c29uIFpob3UgIDxxaWFvc29uZ196aG91QGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmFsIG9m
ICJUeXBlZE9NIiBwcmVmaXggZm9yIENTU09NIE9iamVjdCBuYW1lcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MDY5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6
CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ1NTU3R5bGVWYWx1ZUN1c3Rv
bS5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1R5cGVkT01D
U1NTdHlsZVZhbHVlQ3VzdG9tLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgICogY3NzL3R5cGVkb20vQ1NT
TnVtZXJpY1ZhbHVlLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L1R5cGVkT01DU1NVbml0VmFsdWUuY3BwLgorICAgICAgICAqIGNzcy90eXBlZG9tL0NTU051bWVy
aWNWYWx1ZS5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRP
TUNTU051bWVyaWNWYWx1ZS5oLgorICAgICAgICAqIGNzcy90eXBlZG9tL0NTU051bWVyaWNWYWx1
ZS5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NT
TnVtZXJpY1ZhbHVlLmlkbC4KKyAgICAgICAgKiBjc3MvdHlwZWRvbS9DU1NTdHlsZUltYWdlVmFs
dWUuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRPTUNT
U0ltYWdlVmFsdWUuY3BwLgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVJbWFnZVZhbHVlOjpD
U1NTdHlsZUltYWdlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVJbWFnZVZhbHVl
Ojpkb2N1bWVudCBjb25zdCk6CisgICAgICAgICogY3NzL3R5cGVkb20vQ1NTU3R5bGVJbWFnZVZh
bHVlLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NT
SW1hZ2VWYWx1ZS5oLgorICAgICAgICAqIGNzcy90eXBlZG9tL0NTU1N0eWxlSW1hZ2VWYWx1ZS5p
ZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NTSW1h
Z2VWYWx1ZS5pZGwuCisgICAgICAgICogY3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5jcHA6IFJl
bmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NTU3R5bGVWYWx1
ZS5jcHAuCisgICAgICAgICogY3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5oOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRPTUNTU1N0eWxlVmFsdWUuaC4KKyAg
ICAgICAgKiBjc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVlLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJj
ZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1R5cGVkT01DU1NTdHlsZVZhbHVlLmlkbC4KKyAgICAgICAg
KiBjc3MvdHlwZWRvbS9DU1NVbml0VmFsdWUuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNv
cmUvY3NzL3R5cGVkb20vVHlwZWRPTUNTU051bWVyaWNWYWx1ZS5jcHAuCisgICAgICAgICogY3Nz
L3R5cGVkb20vQ1NTVW5pdFZhbHVlLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3Mv
dHlwZWRvbS9UeXBlZE9NQ1NTVW5pdFZhbHVlLmguCisgICAgICAgICogY3NzL3R5cGVkb20vQ1NT
VW5pdFZhbHVlLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1R5
cGVkT01DU1NVbml0VmFsdWUuaWRsLgorICAgICAgICAqIGNzcy90eXBlZG9tL0NTU1VucGFyc2Vk
VmFsdWUuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vVHlwZWRP
TUNTU1VucGFyc2VkVmFsdWUuY3BwLgorICAgICAgICAqIGNzcy90eXBlZG9tL0NTU1VucGFyc2Vk
VmFsdWUuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1R5cGVkT01D
U1NVbnBhcnNlZFZhbHVlLmguCisgICAgICAgICogY3NzL3R5cGVkb20vQ1NTVW5wYXJzZWRWYWx1
ZS5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9UeXBlZE9NQ1NT
VW5wYXJzZWRWYWx1ZS5pZGwuCisgICAgICAgICogY3NzL3R5cGVkb20vU3R5bGVQcm9wZXJ0eU1h
cFJlYWRPbmx5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUHJvcGVydHlNYXBSZWFkT25s
eTo6cmVpZnlWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVByb3BlcnR5TWFwUmVhZE9u
bHk6OmN1c3RvbVByb3BlcnR5VmFsdWVPckRlZmF1bHQpOgorICAgICAgICAqIGNzcy90eXBlZG9t
L1N0eWxlUHJvcGVydHlNYXBSZWFkT25seS5oOgorICAgICAgICAqIGNzcy90eXBlZG9tL1N0eWxl
UHJvcGVydHlNYXBSZWFkT25seS5pZGw6CisgICAgICAgICogZG9tL1N0eWxlZEVsZW1lbnQuY3Bw
OgorICAgICAgICAqIGh0bWwvQ3VzdG9tUGFpbnRJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpleHRyYWN0Q29tcHV0ZWRQcm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21QYWlu
dEltYWdlOjpkb0N1c3RvbVBhaW50KToKKyAgICAgICAgKiBodG1sL0ltYWdlQml0bWFwLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkltYWdlQml0bWFwOjpjcmVhdGVQcm9taXNlKToKKyAgICAgICAg
KiBodG1sL0ltYWdlQml0bWFwLmg6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzRHJhd0lt
YWdlLmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNGaWxsU3Ryb2tlU3R5bGVzLmlk
bDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQ6OmNoZWNrT3JpZ2luKToKKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0Lmg6CisgICAgICAgICog
aHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpzaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQy
REJhc2U6OmRyYXdJbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkRCYXNlOjpjcmVhdGVQYXR0ZXJuKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkRCYXNlLmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNh
bnZhcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDYW52YXM6OnByb2Nlc3NBcmd1
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDYW52YXM6OmluZGV4Rm9yRGF0YSk6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNhbnZhcy5oOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JDYW52YXNDYWxsVHJhY2VyLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yQ2FudmFzQ2FsbFRyYWNlci5oOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMv
SW5zcGVjdG9yQ2FudmFzQWdlbnQuY3BwOgorICAgICAgICAqIHBhZ2UvV2luZG93T3JXb3JrZXJH
bG9iYWxTY29wZS5pZGw6CisKIDIwMjEtMDgtMTYgIEFuZHJlcyBHb256YWxleiAgPGFuZHJlc2df
MjJAYXBwbGUuY29tPgogCiAgICAgICAgIEV4cG9zZSBbV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXIgbGluZVJlY3RzQW5kVGV4dF0gb24gTWFjT1MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4
IDAxNTQyZGYyMTRlYWJmZDUyYTNiNzBhNGM4ZmYwNzFhNmNlMzViMmIuLmJkN2JkMzgyODI3ODAw
OGQ4Nzk0NmYzM2QwZjAzMmYxNWJhNjhmYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC03MTUs
NiArNzE1LDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBjc3MvU3R5bGVT
aGVldExpc3QuaWRsCiAKICAgICBjc3MvdHlwZWRvbS9DU1NOdW1lcmljVmFsdWUuaWRsCisgICAg
Y3NzL3R5cGVkb20vQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmlkbAogICAgIGNzcy90eXBl
ZG9tL0NTU1N0eWxlSW1hZ2VWYWx1ZS5pZGwKICAgICBjc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVl
LmlkbAogICAgIGNzcy90eXBlZG9tL0NTU1VuaXRWYWx1ZS5pZGwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGM1M2U0MjIyZjA5NWJiNDVj
ZGJkNjZiOGVjOWQ4MDlhZTBlYzE4MDIuLjMwZjI3MDUwNGNkZjNhODcxM2Y1MTdhMmVkZGNmYTU1
M2EzMzNkNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNm
aWxlbGlzdApAQCAtNzI2LDEzICs3MjYsMTQgQEAgJChQUk9KRUNUX0RJUikvY3NzL21lZGlhQ29u
dHJvbHMuY3NzCiAkKFBST0pFQ1RfRElSKS9jc3MvcGx1Z0lucy5jc3MKICQoUFJPSkVDVF9ESVIp
L2Nzcy9xdWlya3MuY3NzCiAkKFBST0pFQ1RfRElSKS9jc3Mvc3ZnLmNzcwotJChQUk9KRUNUX0RJ
UikvY3NzL3R5cGVkb20vU3R5bGVQcm9wZXJ0eU1hcC5pZGwKLSQoUFJPSkVDVF9ESVIpL2Nzcy90
eXBlZG9tL1N0eWxlUHJvcGVydHlNYXBSZWFkT25seS5pZGwKLSQoUFJPSkVDVF9ESVIpL2Nzcy90
eXBlZG9tL0NTU1N0eWxlSW1hZ2VWYWx1ZS5pZGwKICQoUFJPSkVDVF9ESVIpL2Nzcy90eXBlZG9t
L0NTU051bWVyaWNWYWx1ZS5pZGwKKyQoUFJPSkVDVF9ESVIpL2Nzcy90eXBlZG9tL0NTU09NVmFy
aWFibGVSZWZlcmVuY2VWYWx1ZS5pZGwKKyQoUFJPSkVDVF9ESVIpL2Nzcy90eXBlZG9tL0NTU1N0
eWxlSW1hZ2VWYWx1ZS5pZGwKICQoUFJPSkVDVF9ESVIpL2Nzcy90eXBlZG9tL0NTU1N0eWxlVmFs
dWUuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvdHlwZWRvbS9DU1NVbml0VmFsdWUuaWRsCiAkKFBS
T0pFQ1RfRElSKS9jc3MvdHlwZWRvbS9DU1NVbnBhcnNlZFZhbHVlLmlkbAorJChQUk9KRUNUX0RJ
UikvY3NzL3R5cGVkb20vU3R5bGVQcm9wZXJ0eU1hcC5pZGwKKyQoUFJPSkVDVF9ESVIpL2Nzcy90
eXBlZG9tL1N0eWxlUHJvcGVydHlNYXBSZWFkT25seS5pZGwKICQoUFJPSkVDVF9ESVIpL2RvbS9B
Ym9ydEFsZ29yaXRobS5pZGwKICQoUFJPSkVDVF9ESVIpL2RvbS9BYm9ydENvbnRyb2xsZXIuaWRs
CiAkKFBST0pFQ1RfRElSKS9kb20vQWJvcnRTaWduYWwuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IDkxZmM2YjM2YzY1MzBiYmZm
ZmMxMjQwMjcxZWVhNjdmNjQ3Nzc0YzQuLjE3Y2ViZTFkMGJhZDZkMDE1NjQyN2Y2NjY0OWE1NGJj
ZjVjZGNmZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54
Y2ZpbGVsaXN0CkBAIC0zMTIsNiArMzEyLDEwIEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTTWVkaWFSdWxlLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NNZWRpYVJ1bGUuaAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NOYW1lc3BhY2VSdWxlLmNwcAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NOYW1lc3Bh
Y2VSdWxlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
Q1NTTnVtZXJpY1ZhbHVlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNDU1NOdW1lcmljVmFsdWUuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuY3BwCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU09NVmFyaWFibGVS
ZWZlcmVuY2VWYWx1ZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0NTU1BhZ2VSdWxlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNDU1NQYWdlUnVsZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1BhaW50Q2FsbGJhY2suY3BwCkBAIC0zMjYsMTYgKzMzMCwy
NCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1N0
eWxlRGVjbGFyYXRpb24rUHJvcGVydHlOYW1lcwogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZURlY2xhcmF0aW9uK1Byb3BlcnR5TmFtZXMuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZURl
Y2xhcmF0aW9uLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNDU1NTdHlsZURlY2xhcmF0aW9uLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTQ1NTU3R5bGVJbWFnZVZhbHVlLmNwcAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZUltYWdlVmFsdWUuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZVJ1bGUu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1N0
eWxlUnVsZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0NTU1N0eWxlU2hlZXQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0NTU1N0eWxlU2hlZXQuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZVZhbHVlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZVZhbHVlLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTU3VwcG9ydHNSdWxlLmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdXBwb3J0c1J1
bGUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NU
cmFuc2l0aW9uLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNDU1NUcmFuc2l0aW9uLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTQ1NTVW5pdFZhbHVlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NVbml0VmFsdWUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NVbmtub3duUnVsZS5jcHAKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTVW5rbm93blJ1bGUuaAorJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NVbnBhcnNlZFZh
bHVlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlND
U1NVbnBhcnNlZFZhbHVlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTQ2FjaGVRdWVyeU9wdGlvbnMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NhY2hlUXVlcnlPcHRpb25zLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFt
VHJhY2suY3BwCkBAIC0yMjQxLDE2ICsyMjUzLDYgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUcmVlV2Fsa2VyLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUcmVlV2Fsa2VyLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVHlwZUNvbnZlcnNpb25zLmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUeXBlQ29udmVyc2lv
bnMuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NT
dHlsZUltYWdlVmFsdWUuY3BwCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0NTU1N0eWxlSW1hZ2VWYWx1ZS5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU051bWVyaWNWYWx1ZS5jcHAKLSQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTTnVtZXJpY1ZhbHVlLmgKLSQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTU3R5bGVWYWx1ZS5j
cHAKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTU3R5
bGVWYWx1ZS5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0NTU1VuaXRWYWx1ZS5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTQ1NTVW5pdFZhbHVlLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTQ1NTVW5wYXJzZWRWYWx1ZS5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTVW5wYXJzZWRWYWx1ZS5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VJRXZlbnQuY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VJRXZlbnQuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNVSUV2ZW50SW5pdC5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDA0MjIxZjM5NjczOTJhOWUxMjYzNDI2
ZGY2NDViMzk2NzQzYmY5MWMuLjk0OWY4NTIyYjY0YWMzZGE0YzU4OGU3MDVkZGM1ODQ0Nzk4MjZj
YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNjA0LDYgKzYwNCw3IEBAIEpT
X0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9jc3MvdHlwZWRvbS9DU1NTdHlsZVZh
bHVlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvdHlwZWRvbS9DU1NVbml0VmFsdWUuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2Nzcy90eXBlZG9tL0NTU1VucGFyc2VkVmFsdWUuaWRsIFwKKyAgICAk
KFdlYkNvcmUpL2Nzcy90eXBlZG9tL0NTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5pZGwgXAog
ICAgICQoV2ViQ29yZSkvZG9tL0Fib3J0QWxnb3JpdGhtLmlkbCBcCiAgICAgJChXZWJDb3JlKS9k
b20vQWJvcnRDb250cm9sbGVyLmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vQWJvcnRTaWduYWwu
aWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQKaW5kZXggYjllOGJiMWY1MjExNGQxYTZjM2JhYzU2YzBjNWUyZjMw
MWFkZGMxZC4uZTgyMTU3ZWVkYjg0OWQ5MGQ2MjU3YzFhMzM3NGI2YWZhNDlhOGQ4NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQKQEAgLTc3MCw2ICs3NzAsNyBAQCBjc3MvdHlwZWRvbS9DU1NOdW1lcmljVmFsdWUu
Y3BwCiBjc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVlLmNwcAogY3NzL3R5cGVkb20vQ1NTVW5pdFZh
bHVlLmNwcAogY3NzL3R5cGVkb20vQ1NTVW5wYXJzZWRWYWx1ZS5jcHAKK2Nzcy90eXBlZG9tL0NT
U09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHAKIGNzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNw
cAogZGlzcGxheS9jb21wb3NpdGluZy9EaXNwbGF5TGF5ZXJDb250cm9sbGVyLmNwcAogZGlzcGxh
eS9jc3MvRGlzcGxheUJveC5jcHAKQEAgLTM1ODcsNiArMzU4OCw3IEBAIEpTVHJhbnNpdGlvbkV2
ZW50LmNwcAogSlNUcmVlV2Fsa2VyLmNwcAogSlNDU1NTdHlsZUltYWdlVmFsdWUuY3BwCiBKU0NT
U051bWVyaWNWYWx1ZS5jcHAKK0pTQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcAogSlND
U1NTdHlsZVZhbHVlLmNwcAogSlNDU1NVbml0VmFsdWUuY3BwCiBKU0NTU1VucGFyc2VkVmFsdWUu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggODRjN2RlZjc2YjdhMmQ3NTQ4MmIyYmI5ZjA4ZmYwMWJlMjUyNTRiOS4uNDEwZGVh
ODhkZTZmZjhkNTZjMDc3MTBhZDVlNjkzMjAyODUzNmI5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzQ0LDYgKzc0NCw3IEBA
CiAJCTI5QUUyMTM1MjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkT2JqZWN0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUFFMjEzMzIxQUJBNDhB
MDA4NjkyODMgLyogQVhJc29sYXRlZE9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI5RDdCQ0ZBMTQ0NEFGN0QwMDcwNjE5QyAvKiBBY2Nl
c3NpYmlsaXR5U3BpbkJ1dHRvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMjlEN0JDRjkxNDQ0QUY3RDAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGlu
QnV0dG9uLmggKi87IH07CiAJCTI5RkFGNEI2MTk1QUIwODkwMEE1MjJEQyAvKiBUZXh0VW5kb0lu
c2VydGlvbk1hcmt1cE1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMjlGQUY0QjUxOTVBQjA4OTAwQTUyMkRDIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFy
a3VwTWFjLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJMkFCRkZGRjMyNkM1MzVDMDAwNDg4NzVCIC8qIENTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkFCRkZG
RjEyNkM1MzVCRDAwNDg4NzVCIC8qIENTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5oICovOyB9
OwogCQkyQjM2NUM4NDE1MjUxMTlFMDA5MUQyN0IgLyogUmVuZGVyU1ZHRWxsaXBzZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkI0MjM1QTAxNTI1MEY2
MDAwREJCQ0Q4IC8qIFJlbmRlclNWR0VsbGlwc2UuaCAqLzsgfTsKIAkJMkJFOEUyQzcxMkE1ODlF
QzAwRkFENTUwIC8qIEhUTUxNZXRhQ2hhcnNldFBhcnNlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkJFOEUyQzYxMkE1ODlFQzAwRkFENTUwIC8qIEhU
TUxNZXRhQ2hhcnNldFBhcnNlci5oICovOyB9OwogCQkyQzg1NjUzNDI0QzBGNzNDMDBBMzc2NzMg
LyogRmlsdGVyRWZmZWN0UmVuZGVyZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDJDODU2NTMzMjRDMEY3M0MwMEEzNzY3MyAvKiBGaWx0ZXJFZmZlY3RS
ZW5kZXJlci5oICovOyB9OwpAQCAtNzE3Miw2ICs3MTczLDkgQEAKIAkJMkE2NjQzOEUyNkEwMDZB
RTAwQzE0N0ExIC8qIEZvcm1EYXRhRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEZvcm1EYXRhRXZlbnQuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyQTY2NDM5MDI2QTAwNkFGMDBDMTQ3QTEgLyog
Rm9ybURhdGFFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb3JtRGF0YUV2ZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJBNjY0MzkxMjZBMDA2QUYwMEMxNDdBMSAvKiBGb3JtRGF0
YUV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZvcm1EYXRhRXZlbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkyQUJGRkZFRjI2QzUzNUJDMDA0ODg3NUIgLyogQ1NTT01W
YXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU09NVmFyaWFi
bGVSZWZlcmVuY2VWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJBQkZG
RkYxMjZDNTM1QkQwMDQ4ODc1QiAvKiBDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTJBQkZGRkYyMjZDNTM1QkQwMDQ4ODc1QiAvKiBDU1NPTVZhcmlhYmxl
UmVmZXJlbmNlVmFsdWUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJCNDIzNTlGMTUyNTBGNjAwMERCQkNEOCAv
KiBSZW5kZXJTVkdFbGxpcHNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFJlbmRlclNWR0VsbGlwc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
QjQyMzVBMDE1MjUwRjYwMDBEQkJDRDggLyogUmVuZGVyU1ZHRWxsaXBzZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJTVkdFbGxpcHNlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTJCRThFMkM2MTJBNTg5RUMwMEZBRDU1MCAvKiBIVE1MTWV0YUNoYXJz
ZXRQYXJzZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTE1ldGFDaGFy
c2V0UGFyc2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDA4Nyw2ICsyMDA5
MSw5IEBACiAJCQkJRTMyOTI3NjIyMjU0M0Y1ODAwMzA4QTlBIC8qIENTU051bWVyaWNWYWx1ZS5j
cHAgKi8sCiAJCQkJNEJBRkQwREYyMTkyMjBBQjAwQzBBQjY0IC8qIENTU051bWVyaWNWYWx1ZS5o
ICovLAogCQkJCTRCQUZEMERCMjE5MjIwMjIwMEMwQUI2NCAvKiBDU1NOdW1lcmljVmFsdWUuaWRs
ICovLAorCQkJCTJBQkZGRkVGMjZDNTM1QkMwMDQ4ODc1QiAvKiBDU1NPTVZhcmlhYmxlUmVmZXJl
bmNlVmFsdWUuY3BwICovLAorCQkJCTJBQkZGRkYxMjZDNTM1QkQwMDQ4ODc1QiAvKiBDU1NPTVZh
cmlhYmxlUmVmZXJlbmNlVmFsdWUuaCAqLywKKwkJCQkyQUJGRkZGMjI2QzUzNUJEMDA0ODg3NUIg
LyogQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmlkbCAqLywKIAkJCQlFMzI5Mjc2MDIyNTQz
RjU4MDAzMDhBOUEgLyogQ1NTU3R5bGVJbWFnZVZhbHVlLmNwcCAqLywKIAkJCQk0QjQzODY0RjIx
OUNENTYxMDBGOEQzQzUgLyogQ1NTU3R5bGVJbWFnZVZhbHVlLmggKi8sCiAJCQkJNEI0Mzg2NEQy
MTlDRDUyRDAwRjhEM0M1IC8qIENTU1N0eWxlSW1hZ2VWYWx1ZS5pZGwgKi8sCkBAIC0zMTUxMiw2
ICszMTUxOSw3IEBACiAJCQkJMzE0QkUzQTExQjMwRjZCNzAwMTQxOTgyIC8qIENTU05hbWVkSW1h
Z2VWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTRFODM5NTExREZCMkEwRTAwN0JDNkE3IC8q
IENTU05hbWVzcGFjZVJ1bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTRCQUZEMEUwMjE5MjIwQUIw
MEMwQUI2NCAvKiBDU1NOdW1lcmljVmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTJBQkZGRkYz
MjZDNTM1QzAwMDQ4ODc1QiAvKiBDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE4MEU2RDAwMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NQYWdlUnVsZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNEI1QkREOUIyMTY1OEExNTAwREQ0MjYyIC8qIENTU1BhaW50Q2Fs
bGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTRCNkU4NzY5MjE3NkQ2OTIwMDQyMEU1RSAvKiBD
U1NQYWludEltYWdlVmFsdWUuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNDU1NTdHlsZVZhbHVlQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTQ1NTU3R5bGVWYWx1ZUN1c3RvbS5jcHAKaW5kZXggNWM1NDUzZWIx
ODhlY2Y3NDRhODc5NDhmOTM4OTU5ZjM4MTExMjQyOS4uYjhiYzYwOGQ3ZjIzNWNiMDUyZWE5NTdj
Y2NmYWEyOTg2Y2FmMDZlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNDU1NTdHlsZVZhbHVlQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0NTU1N0eWxlVmFsdWVDdXN0b20uY3BwCkBAIC0zOCwxNCArMzgsMTMgQEAgdXNpbmcgbmFt
ZXNwYWNlIEpTQzsKIAogSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0Kiwg
SlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPENTU1N0eWxlVmFsdWU+JiYgdmFs
dWUpCiB7Ci0gICAgaWYgKHZhbHVlLT5pc1VuaXRWYWx1ZSgpKQorICAgIGlmICh2YWx1ZS0+Z2V0
VHlwZSgpID09IENTU1N0eWxlVmFsdWVUeXBlOjpDU1NVbml0VmFsdWUpCiAgICAgICAgIHJldHVy
biBjcmVhdGVXcmFwcGVyPENTU1VuaXRWYWx1ZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHZhbHVl
KSk7Ci0gICAgaWYgKHZhbHVlLT5pc1VucGFyc2VkVmFsdWUoKSkKKyAgICBpZiAodmFsdWUtPmdl
dFR5cGUoKSA9PSBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTVW5wYXJzZWRWYWx1ZSkKICAgICAgICAg
cmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTVW5wYXJzZWRWYWx1ZT4oZ2xvYmFsT2JqZWN0LCBXVEZN
b3ZlKHZhbHVlKSk7Ci0gICAgaWYgKHZhbHVlLT5pc0ltYWdlVmFsdWUoKSkKKyAgICBpZiAodmFs
dWUtPmdldFR5cGUoKSA9PSBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTU3R5bGVJbWFnZVZhbHVlKQog
ICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NTdHlsZUltYWdlVmFsdWU+KGdsb2JhbE9i
amVjdCwgV1RGTW92ZSh2YWx1ZSkpOwogCi0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAg
cmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTU3R5bGVWYWx1ZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3Zl
KHZhbHVlKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dl
YkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaAppbmRleCBjZGI1MmUxMDljMTg2ODI2NGRiZjJkOTQwOTgyZDk2MzQxYTUw
MWJlLi42OWMzOWJiMDM4MGNmMDlmNTFlNmE2ZGU5MDkyMjU5ZjYxMTVkOGU3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC04NSw2
ICs4NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhDU1NUcmFuc2l0aW9uKSBc
CiAgICAgbWFjcm8oQ1NTVW5pdFZhbHVlKSBcCiAgICAgbWFjcm8oQ1NTVW5wYXJzZWRWYWx1ZSkg
XAorICAgIG1hY3JvKENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUpIFwKICAgICBtYWNybyhDdXN0
b21FbGVtZW50UmVnaXN0cnkpIFwKICAgICBtYWNybyhEYXRhYmFzZSkgXAogICAgIG1hY3JvKERh
dGFUcmFuc2Zlckl0ZW0pIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L0NTU051bWVyaWNWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTTnVtZXJp
Y1ZhbHVlLmgKaW5kZXggYWE4N2VkNjZlNmVlMDcyYmZlNDY1MWJiYmM4ZjhmYzBiZmNjODRjMy4u
YmQ4ZjhmOWM2YWQ2OGJmZGI0YTJhYTg0OTM5NmI3ZDI2M2ZlOTJmOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTTnVtZXJpY1ZhbHVlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL3R5cGVkb20vQ1NTTnVtZXJpY1ZhbHVlLmgKQEAgLTMzLDYgKzMzLDkgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDU1NOdW1lcmljVmFsdWUgOiBwdWJsaWMgQ1NTU3R5
bGVWYWx1ZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChDU1NOdW1lcmljVmFsdWUpOwor
ICAgIAorICAgIENTU1N0eWxlVmFsdWVUeXBlIGdldFR5cGUoKSBjb25zdCB7IHJldHVybiBDU1NT
dHlsZVZhbHVlVHlwZTo6Q1NTTnVtZXJpY1ZhbHVlOyB9CisKIHByb3RlY3RlZDoKICAgICBDU1NO
dW1lcmljVmFsdWUoKSA9IGRlZmF1bHQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL3R5cGVkb20vQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy90eXBlZG9tL0NTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNzBmNTEwZDZiN2ZmMDYwMTU0MmU2YTNiZTQ5Mzc0YTMwZDE5MzY4OAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU09NVmFyaWFibGVSZWZlcmVuY2VW
YWx1ZS5jcHAKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzCisgKiAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUiDi
gJxBUyBJU+KAnSBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBC
RQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLAorICogT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUgorICogVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GCisgKiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuaCIKKworI2lmIEVO
QUJMRShDU1NfVFlQRURfT00pCisKKyNpbmNsdWRlICJDU1NVbnBhcnNlZFZhbHVlLmgiCisjaW5j
bHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitX
VEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlKTsK
KworRXhjZXB0aW9uT3I8UmVmPENTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZT4+IENTU09NVmFy
aWFibGVSZWZlcmVuY2VWYWx1ZTo6Y3JlYXRlKFN0cmluZyB2YXJpYWJsZSwgUmVmUHRyPENTU1Vu
cGFyc2VkVmFsdWU+JiYgZmFsbGJhY2spCit7CisgICAgaWYgKCF2YXJpYWJsZS5zdGFydHNXaXRo
KCItLSJfcykpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IgfTsKKyAgICAK
KyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUodmFy
aWFibGUsIFdURk1vdmUoZmFsbGJhY2spKSk7Cit9CisKK0V4Y2VwdGlvbk9yPHZvaWQ+IENTU09N
VmFyaWFibGVSZWZlcmVuY2VWYWx1ZTo6c2V0VmFyaWFibGUoU3RyaW5nIHZhcmlhYmxlKQorewor
ICAgIGlmICghdmFyaWFibGUuc3RhcnRzV2l0aCgiLS0iX3MpKQorICAgICAgICByZXR1cm4gRXhj
ZXB0aW9uIHsgVHlwZUVycm9yIH07CisgICAgCisgICAgbV92YXJpYWJsZSA9IHZhcmlhYmxlOwor
ICAgIHJldHVybiB7IH07Cit9CisKK1N0cmluZyBDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWU6
OnRvU3RyaW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbWFrZVN0cmluZygidmFyKCJfcywgbV92
YXJpYWJsZSwgKG1fZmFsbGJhY2sgPyAiLCAiX3MgOiAiIl9zKSwgKG1fZmFsbGJhY2sgPyBtX2Zh
bGxiYWNrLT50b1N0cmluZygpIDogIiJfcyksICIpIl9zKTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L0NTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVk
b20vQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDI2YWQ5NzM5NGM3
NDU0NmI0ZDI3ZDY0NTA1MDUyOWViY2VlYzNmNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy90eXBlZG9tL0NTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5oCkBAIC0wLDAg
KzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShDU1NfVFlQRURfT00pCisKKyNpbmNsdWRlICJDU1NT
dHlsZVZhbHVlLmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit0ZW1wbGF0ZTx0eXBl
bmFtZT4gY2xhc3MgRXhjZXB0aW9uT3I7CitjbGFzcyBDU1NVbnBhcnNlZFZhbHVlOworCitjbGFz
cyBDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWU6IHB1YmxpYyBSZWZDb3VudGVkPENTU09NVmFy
aWFibGVSZWZlcmVuY2VWYWx1ZT4geworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ1NTT01W
YXJpYWJsZVJlZmVyZW5jZVZhbHVlKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgRXhjZXB0aW9uT3I8
UmVmPENTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZT4+IGNyZWF0ZShTdHJpbmcsIFJlZlB0cjxD
U1NVbnBhcnNlZFZhbHVlPiYmIGZhbGxiYWNrID0geyB9KTsKKyAgICAKKyAgICBFeGNlcHRpb25P
cjx2b2lkPiBzZXRWYXJpYWJsZShTdHJpbmcpOworICAgIFN0cmluZyB0b1N0cmluZygpIGNvbnN0
OworICAgIAorICAgIFN0cmluZyB2YXJpYWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1fdmFyaWFibGU7
IH0KKyAgICBSZWZQdHI8Q1NTVW5wYXJzZWRWYWx1ZT4gZmFsbGJhY2soKSBjb25zdCB7IHJldHVy
biBtX2ZhbGxiYWNrLmNvcHlSZWYoKTsgfQorICAgIAorcHJpdmF0ZToKKyAgICBleHBsaWNpdCBD
U1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUoU3RyaW5nIHZhcmlhYmxlLCBSZWZQdHI8Q1NTVW5w
YXJzZWRWYWx1ZT4mJiBmYWxsYmFjaykKKyAgICAgICAgOiBtX3ZhcmlhYmxlKHZhcmlhYmxlKQor
ICAgICAgICAsIG1fZmFsbGJhY2soV1RGTW92ZShmYWxsYmFjaykpIHsgfQorICAgIAorICAgIFN0
cmluZyBtX3ZhcmlhYmxlOworICAgIFJlZlB0cjxDU1NVbnBhcnNlZFZhbHVlPiBtX2ZhbGxiYWNr
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUu
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmM1YTlhYjhkNDBkNDBkYTk0OWExYjhjODNmODViYjMwMmU1ZDY5OWYK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NPTVZhcmlh
YmxlUmVmZXJlbmNlVmFsdWUuaWRsCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorKgorKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyovCisKK1sKKyAgICBJbnRlcmZhY2VOYW1lPUNTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUsCisg
ICAgRW5hYmxlZEF0UnVudGltZT1DU1NUeXBlZE9NLAorICAgIENvbmRpdGlvbmFsPUNTU19UWVBF
RF9PTSwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAgIEV4cG9zZWQ9KFdpbmRv
dyxXb3JrZXIsUGFpbnRXb3JrbGV0KSwKK10gaW50ZXJmYWNlIENTU09NVmFyaWFibGVSZWZlcmVu
Y2VWYWx1ZSB7CisgICAgY29uc3RydWN0b3IoVVNWU3RyaW5nIHZhcmlhYmxlLCBvcHRpb25hbCBD
U1NVbnBhcnNlZFZhbHVlPyBmYWxsYmFjayA9IG51bGwpOworICAgIGF0dHJpYnV0ZSBVU1ZTdHJp
bmcgdmFyaWFibGU7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1VucGFyc2VkVmFsdWU/IGZh
bGxiYWNrOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1N0
eWxlSW1hZ2VWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZUlt
YWdlVmFsdWUuY3BwCmluZGV4IDVhYzE2OWQ1ZmQ3YTQxZmUyNTBkOWQwMWU3OGVkYTgzN2NhY2Uw
ZWIuLmFlOTEzNGEzNWRhNzRmNjE2Yjk2M2YzZGM1NmM5OGJlZmZiOTc5ODYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1N0eWxlSW1hZ2VWYWx1ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTU3R5bGVJbWFnZVZhbHVlLmNwcApAQCAtNDAs
OCArNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURf
SU1QTChDU1NTdHlsZUltYWdlVmFsdWUpOwogCi1DU1NTdHlsZUltYWdlVmFsdWU6OkNTU1N0eWxl
SW1hZ2VWYWx1ZShDU1NJbWFnZVZhbHVlJiBjc3NWYWx1ZSwgRG9jdW1lbnQmIGRvY3VtZW50KQot
ICAgIDogbV9jc3NWYWx1ZShtYWtlUmVmKGNzc1ZhbHVlKSkKK0NTU1N0eWxlSW1hZ2VWYWx1ZTo6
Q1NTU3R5bGVJbWFnZVZhbHVlKFJlZjxDU1NJbWFnZVZhbHVlPiYmIGNzc1ZhbHVlLCBEb2N1bWVu
dCYgZG9jdW1lbnQpCisgICAgOiBtX2Nzc1ZhbHVlKFdURk1vdmUoY3NzVmFsdWUpKQogICAgICwg
bV9kb2N1bWVudChtYWtlV2Vha1B0cihkb2N1bWVudCkpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZUltYWdlVmFsdWUuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy90eXBlZG9tL0NTU1N0eWxlSW1hZ2VWYWx1ZS5oCmluZGV4IDJmYjVjYjQ4MjAxYjZm
NDVlMzBmNTE0MTE4ZDUyMWZmNjhlOTBlMTkuLjdkNDBiODViN2ZjNWIxMDMwY2NlZDFmMmY1NDIy
MzI0MTA4OWZkZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1N0
eWxlSW1hZ2VWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1N0eWxl
SW1hZ2VWYWx1ZS5oCkBAIC00MSwyMCArNDEsMTkgQEAgY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBD
U1NTdHlsZUltYWdlVmFsdWUgZmluYWwgOiBwdWJsaWMgQ1NTU3R5bGVWYWx1ZSB7CiAgICAgV1RG
X01BS0VfSVNPX0FMTE9DQVRFRChDU1NTdHlsZUltYWdlVmFsdWUpOwogcHVibGljOgotICAgIHN0
YXRpYyBSZWY8Q1NTU3R5bGVJbWFnZVZhbHVlPiBjcmVhdGUoQ1NTSW1hZ2VWYWx1ZSYgY3NzVmFs
dWUsIERvY3VtZW50JiBkb2N1bWVudCkKKyAgICBzdGF0aWMgUmVmPENTU1N0eWxlSW1hZ2VWYWx1
ZT4gY3JlYXRlKFJlZjxDU1NJbWFnZVZhbHVlPiYmIGNzc1ZhbHVlLCBEb2N1bWVudCYgZG9jdW1l
bnQpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NTdHlsZUltYWdlVmFs
dWUoY3NzVmFsdWUsIGRvY3VtZW50KSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENT
U1N0eWxlSW1hZ2VWYWx1ZShXVEZNb3ZlKGNzc1ZhbHVlKSwgZG9jdW1lbnQpKTsKICAgICB9CiAK
LSAgICBTdHJpbmcgdG9TdHJpbmcoKSBmaW5hbCB7IHJldHVybiBtX2Nzc1ZhbHVlLT5jc3NUZXh0
KCk7IH0KKyAgICBTdHJpbmcgdG9TdHJpbmcoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2Nzc1Zh
bHVlLT5jc3NUZXh0KCk7IH0KKyAgICBDU1NTdHlsZVZhbHVlVHlwZSBnZXRUeXBlKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU1N0eWxlSW1hZ2VWYWx1ZTsgfQog
CiAgICAgQ2FjaGVkSW1hZ2UqIGltYWdlKCkgeyByZXR1cm4gbV9jc3NWYWx1ZS0+Y2FjaGVkSW1h
Z2UoKTsgfQogICAgIERvY3VtZW50KiBkb2N1bWVudCgpIGNvbnN0OwogCiBwcml2YXRlOgotICAg
IENTU1N0eWxlSW1hZ2VWYWx1ZShDU1NJbWFnZVZhbHVlJiwgRG9jdW1lbnQmKTsKLQotICAgIGJv
b2wgaXNJbWFnZVZhbHVlKCkgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQorICAgIENTU1N0eWxlSW1h
Z2VWYWx1ZShSZWY8Q1NTSW1hZ2VWYWx1ZT4mJiwgRG9jdW1lbnQmKTsKIAogICAgIFJlZjxDU1NJ
bWFnZVZhbHVlPiBtX2Nzc1ZhbHVlOwogICAgIFdlYWtQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1N0eWxlVmFsdWUuY3BwCmluZGV4IDk5
YzU1ZjI4OGUwYjY3ODQ0NWMzYTQ2NDVhYTRmM2MyYmNiZGYzYzIuLjhmOTUwMmQ3MDM1YmVkOTZk
OGY0NTA5ODBlNzM2ZDQwMzE4NDA0MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90
eXBlZG9tL0NTU1N0eWxlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L0NTU1N0eWxlVmFsdWUuY3BwCkBAIC0zMiwxMiArMzIsMTE5IEBACiAKICNpZiBFTkFCTEUoQ1NT
X1RZUEVEX09NKQogCisjaW5jbHVkZSAiQ1NTUGFyc2VyLmgiCisjaW5jbHVkZSAiQ1NTUHJvcGVy
dHlQYXJzZXIuaCIKKyNpbmNsdWRlICJDU1NVbml0VmFsdWUuaCIKKyNpbmNsdWRlICJDU1NWYWx1
ZUxpc3QuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorI2luY2x1ZGUgPHd0
Zi90ZXh0L1N0cmluZ1ZpZXcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEX0lNUEwoQ1NTU3R5bGVWYWx1ZSk7CiAKK0V4Y2VwdGlvbk9yPFZlY3RvcjxS
ZWY8Q1NTU3R5bGVWYWx1ZT4+PiBDU1NTdHlsZVZhbHVlOjpwYXJzZVN0eWxlVmFsdWUoU3RyaW5n
IHByb3BlcnR5LCBTdHJpbmcgY3NzVGV4dCwgYm9vbCBwYXJzZU11bHRpcGxlKQoreworICAgIC8v
IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdHlwZWQtb20tMS8jY3Nzc3R5bGV2YWx1ZQorICAg
IAorICAgIC8vIDEuIElmIHByb3BlcnR5IGlzIG5vdCBhIGN1c3RvbSBwcm9wZXJ0eSBuYW1lIHN0
cmluZywgc2V0IHByb3BlcnR5IHRvIHByb3BlcnR5IEFTQ0lJIGxvd2VyY2FzZWQuCisgICAgaWYg
KGlzQ3VzdG9tUHJvcGVydHlOYW1lKHByb3BlcnR5KSkgeworICAgICAgICAvLyBDdXN0b20gUHJv
cGVydHkgTmFtZSBTdHJpbmcKKyAgICAgICAgcHJvcGVydHkuY29udmVydFRvQVNDSUlMb3dlcmNh
c2UoKTsKKyAgICB9CisgICAgCisgICAgLy8gQ1NTUHJvcGVydHlJRAorICAgIGF1dG8gcHJvcGVy
dHlJRCA9IGNzc1Byb3BlcnR5SUQocHJvcGVydHkpOworCisgICAgLy8gMi4gSWYgcHJvcGVydHkg
aXMgbm90IGEgdmFsaWQgQ1NTIHByb3BlcnR5LCB0aHJvdyBhIFR5cGVFcnJvci4KKyAgICBpZiAo
cHJvcGVydHlJRCA9PSBDU1NQcm9wZXJ0eUludmFsaWQpCisgICAgICAgIHJldHVybiBFeGNlcHRp
b24geyBUeXBlRXJyb3IsICJQcm9wZXJ0eSBTdHJpbmcgaXMgbm90IGEgdmFsaWQgQ1NTIHByb3Bl
cnR5LiJfcyB9OworICAgIAorICAgIGF1dG8gc3R5bGVEZWNsYXJhdGlvbiA9IE11dGFibGVTdHls
ZVByb3BlcnRpZXM6OmNyZWF0ZSgpOworICAgIAorICAgIGF1dG8gcGFyc2VSZXN1bHQgPSBDU1NQ
YXJzZXI6OnBhcnNlVmFsdWUoc3R5bGVEZWNsYXJhdGlvbiwgcHJvcGVydHlJRCwgY3NzVGV4dCwg
dHJ1ZSwgSFRNTFN0YW5kYXJkTW9kZSk7CisgICAgaWYgKHBhcnNlUmVzdWx0ID09IENTU1BhcnNl
cjo6UGFyc2VSZXN1bHQ6OkVycm9yKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgU3ludGF4
RXJyb3IgfTsKKyAgICAKKworICAgIC8vIFJlZlB0cjxDU1NWYWx1ZT4KKyAgICBhdXRvIGNzc1Zh
bHVlID0gc3R5bGVEZWNsYXJhdGlvbi0+Z2V0UHJvcGVydHlDU1NWYWx1ZShwcm9wZXJ0eUlEKTsK
KyAgICBhdXRvIHZhbHVlVHlwZSA9IGNzc1ZhbHVlLT5jc3NWYWx1ZVR5cGUoKTsKKyAgICAKKyAg
ICBpZiAoIWNzc1ZhbHVlKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgU3ludGF4RXJyb3Ig
fTsKKworICAgIFZlY3RvcjxSZWY8Q1NTU3R5bGVWYWx1ZT4+IHJlc3VsdHM7CisKKyAgICBpZiAo
dmFsdWVUeXBlID09IENTU1ZhbHVlOjpDU1NfVkFMVUVfTElTVCkgeworICAgICAgICBBU1NFUlQo
aXM8Q1NTVmFsdWVMaXN0Pihjc3NWYWx1ZS5nZXQoKSkpOworICAgICAgICAKKyAgICAgICAgYm9v
bCBwYXJzZWRGaXJzdCA9IGZhbHNlOworICAgICAgICBmb3IgKGF1dG8mIGN1cnJlbnRWYWx1ZSA6
IGRvd25jYXN0PENTU1ZhbHVlTGlzdD4oKmNzc1ZhbHVlLmdldCgpKSkgeworICAgICAgICAgICAg
aWYgKCFwYXJzZU11bHRpcGxlICYmIHBhcnNlZEZpcnN0KQorICAgICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgYXV0byByZWlmaWVkVmFsdWUgPSBDU1NTdHlsZVZhbHVlOjpyZWlmeVZh
bHVlKHByb3BlcnR5SUQsIGN1cnJlbnRWYWx1ZS5jb3B5UmVmKCkpOworICAgICAgICAgICAgaWYg
KHJlaWZpZWRWYWx1ZSkKKyAgICAgICAgICAgICAgICByZXN1bHRzLmFwcGVuZChyZWlmaWVkVmFs
dWUucmVsZWFzZU5vbk51bGwoKSk7CisgICAgICAgICAgICBwYXJzZWRGaXJzdCA9IHRydWU7Cisg
ICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBhdXRvIHJlaWZpZWRWYWx1ZSA9IENTU1N0
eWxlVmFsdWU6OnJlaWZ5VmFsdWUocHJvcGVydHlJRCwgY3NzVmFsdWUuY29weVJlZigpKTsKKyAg
ICAgICAgaWYgKHJlaWZpZWRWYWx1ZSkKKyAgICAgICAgICAgIHJlc3VsdHMuYXBwZW5kKHJlaWZp
ZWRWYWx1ZS5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIHJlc3Vs
dHM7Cit9CisKK0V4Y2VwdGlvbk9yPFJlZjxDU1NTdHlsZVZhbHVlPj4gQ1NTU3R5bGVWYWx1ZTo6
cGFyc2UoU3RyaW5nIHByb3BlcnR5LCBTdHJpbmcgY3NzVGV4dCkKK3sKKyAgICBhdXRvIHBhcnNl
UmVzdWx0ID0gcGFyc2VTdHlsZVZhbHVlKHByb3BlcnR5LCBjc3NUZXh0LCBmYWxzZSk7CisgICAg
aWYgKHBhcnNlUmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gcGFyc2VSZXN1
bHQucmVsZWFzZUV4Y2VwdGlvbigpOworCisgICAgYXV0byByZXMgPSBXVEZNb3ZlKHBhcnNlUmVz
dWx0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpLmF0KDApKTsKKyAgICAKKyAgICByZXR1cm4gcmVzOwor
fQorCitFeGNlcHRpb25PcjxWZWN0b3I8UmVmPENTU1N0eWxlVmFsdWU+Pj4gQ1NTU3R5bGVWYWx1
ZTo6cGFyc2VBbGwoU3RyaW5nIHByb3BlcnR5LCBTdHJpbmcgY3NzVGV4dCkKK3sKKyAgICByZXR1
cm4gcGFyc2VTdHlsZVZhbHVlKHByb3BlcnR5LCBjc3NUZXh0LCB0cnVlKTsKK30KKworUmVmPENT
U1N0eWxlVmFsdWU+IENTU1N0eWxlVmFsdWU6OmNyZWF0ZShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5
SUQsIFJlZlB0cjxDU1NWYWx1ZT4mJiBjc3NWYWx1ZSwgY29uc3QgU3RyaW5nJiBwcm9wZXJ0eSkK
K3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NTdHlsZVZhbHVlKHByb3BlcnR5SUQsIFdU
Rk1vdmUoY3NzVmFsdWUpLCBwcm9wZXJ0eSkpOworfQorCitSZWY8Q1NTU3R5bGVWYWx1ZT4gQ1NT
U3R5bGVWYWx1ZTo6Y3JlYXRlKCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NTdHls
ZVZhbHVlKCkpOworfQorCitDU1NTdHlsZVZhbHVlOjpDU1NTdHlsZVZhbHVlKENTU1Byb3BlcnR5
SUQgcHJvcGVydHlJRCwgUmVmUHRyPENTU1ZhbHVlPiYmIGNzc1ZhbHVlLCBjb25zdCBTdHJpbmcm
IHByb3BlcnR5KQorICAgIDogbV9jc3NQcm9wZXJ0eUlEKHByb3BlcnR5SUQpCisgICAgLCBtX2N1
c3RvbVByb3BlcnR5TmFtZShwcm9wZXJ0eSkKKyAgICAsIG1fcHJvcGVydHlWYWx1ZShXVEZNb3Zl
KGNzc1ZhbHVlKSkKK3sKK30KKworLy8gSW52b2tlcyBzdGF0aWMgY29uc3RydWN0b3Igb2Ygc3Vi
Y2xhc3NlcyB0byByZWlmeVZhbHVlcworUmVmUHRyPENTU1N0eWxlVmFsdWU+IENTU1N0eWxlVmFs
dWU6OnJlaWZ5VmFsdWUoQ1NTUHJvcGVydHlJRCwgUmVmUHRyPENTU1ZhbHVlPiYmKQoreworICAg
IC8vIEZJWE1FOiBBZGQgUmVpZmljYXRpb24gY29udHJvbCBmbG93LiBSZXR1cm5zIG51bGxwdHIg
aWYgZmFpbGVkCisgICAgcmV0dXJuIENTU1N0eWxlVmFsdWU6OmNyZWF0ZSgpOworfQorCitTdHJp
bmcgQ1NTU3R5bGVWYWx1ZTo6dG9TdHJpbmcoKSBjb25zdAoreworICAgIGlmICghbV9wcm9wZXJ0
eVZhbHVlKQorICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKKyAgICAKKyAgICByZXR1cm4g
bV9wcm9wZXJ0eVZhbHVlLT5jc3NUZXh0KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHls
ZVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVlLmgKaW5k
ZXggMTU2MGE2ZDI4NTEyODdiMzRlZTkwZThmMzU4ODFiNzJiMWQ3NDY0MC4uODQ3YzljNmMyOTU3
YzJmMTRlOTcyNGExZWIwMzAxODNjNjBlN2ZmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBl
ZG9tL0NTU1N0eWxlVmFsdWUuaApAQCAtMjcsMjQgKzI3LDUyIEBACiAKICNpZiBFTkFCTEUoQ1NT
X1RZUEVEX09NKQogCisjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgogI2luY2x1ZGUgIlNj
cmlwdFdyYXBwYWJsZS5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgQ1NT
VmFsdWU7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBFeGNlcHRpb25PcjsKKworZW51bSBj
bGFzcyBDU1NTdHlsZVZhbHVlVHlwZTogdWludDhfdCB7CisgICAgQ1NTU3R5bGVWYWx1ZSwKKyAg
ICBDU1NTdHlsZUltYWdlVmFsdWUsCisgICAgQ1NTVHJhbnNmb3JtVmFsdWUsCisgICAgQ1NTTnVt
ZXJpY1ZhbHVlLAorICAgIENTU01hdGhWYWx1ZSwKKyAgICBDU1NVbml0VmFsdWUsCisgICAgQ1NT
VW5wYXJzZWRWYWx1ZSwKKyAgICBDU1NLZXl3b3JkVmFsdWUKK307CisKIGNsYXNzIENTU1N0eWxl
VmFsdWUgOiBwdWJsaWMgUmVmQ291bnRlZDxDU1NTdHlsZVZhbHVlPiwgcHVibGljIFNjcmlwdFdy
YXBwYWJsZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChDU1NTdHlsZVZhbHVlKTsKIHB1
YmxpYzoKLSAgICB2aXJ0dWFsIH5DU1NTdHlsZVZhbHVlKCkgPSBkZWZhdWx0OwotICAgIHZpcnR1
YWwgU3RyaW5nIHRvU3RyaW5nKCkgPSAwOwotCi0gICAgdmlydHVhbCBib29sIGlzVW5pdFZhbHVl
KCkgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNVbnBhcnNlZFZhbHVlKCkg
eyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNJbWFnZVZhbHVlKCkgeyByZXR1
cm4gZmFsc2U7IH0KIAorICAgIHZpcnR1YWwgU3RyaW5nIHRvU3RyaW5nKCkgY29uc3Q7CisgICAg
dmlydHVhbCBDU1NTdHlsZVZhbHVlVHlwZSBnZXRUeXBlKCkgY29uc3QgeyByZXR1cm4gQ1NTU3R5
bGVWYWx1ZVR5cGU6OkNTU1N0eWxlVmFsdWU7IH0KKyAgICAKKyAgICB2aXJ0dWFsIH5DU1NTdHls
ZVZhbHVlKCkgPSBkZWZhdWx0OworICAgICAgICAKKyAgICBzdGF0aWMgRXhjZXB0aW9uT3I8VmVj
dG9yPFJlZjxDU1NTdHlsZVZhbHVlPj4+IHBhcnNlU3R5bGVWYWx1ZShTdHJpbmcsIFN0cmluZywg
Ym9vbCk7CisgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxDU1NTdHlsZVZhbHVlPj4gcGFyc2Uo
U3RyaW5nLCBTdHJpbmcpOworICAgIHN0YXRpYyBFeGNlcHRpb25PcjxWZWN0b3I8UmVmPENTU1N0
eWxlVmFsdWU+Pj4gcGFyc2VBbGwoU3RyaW5nLCBTdHJpbmcpOworICAgIAorICAgIHN0YXRpYyBS
ZWZQdHI8Q1NTU3R5bGVWYWx1ZT4gcmVpZnlWYWx1ZShDU1NQcm9wZXJ0eUlELCBSZWZQdHI8Q1NT
VmFsdWU+JiYpOworICAgIAorICAgIHN0YXRpYyBSZWY8Q1NTU3R5bGVWYWx1ZT4gY3JlYXRlKENT
U1Byb3BlcnR5SUQsIFJlZlB0cjxDU1NWYWx1ZT4mJiwgY29uc3QgU3RyaW5nJiA9IG51bGxTdHJp
bmcoKSk7CisgICAgLy8gRklYTUU6IHByb2JhYmx5IHNob3VsZCByZW1vdmUgdGhpcyBpbiB0aGUg
ZnV0dXJlCisgICAgc3RhdGljIFJlZjxDU1NTdHlsZVZhbHVlPiBjcmVhdGUoKTsKKyAgICAgICAg
CiBwcm90ZWN0ZWQ6CiAgICAgQ1NTU3R5bGVWYWx1ZSgpID0gZGVmYXVsdDsKKyAgICBDU1NTdHls
ZVZhbHVlKENTU1Byb3BlcnR5SUQsIFJlZlB0cjxDU1NWYWx1ZT4mJiwgY29uc3QgU3RyaW5nJik7
CisgICAgQ1NTUHJvcGVydHlJRCBtX2Nzc1Byb3BlcnR5SUQ7CisgICAgU3RyaW5nIG1fY3VzdG9t
UHJvcGVydHlOYW1lOworICAgIFJlZlB0cjxDU1NWYWx1ZT4gbV9wcm9wZXJ0eVZhbHVlOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9D
U1NTdHlsZVZhbHVlLmlkbAppbmRleCA1ZDAxMzNkNmMwODkxZWNlMDE1YmYyZjRmYTViZjY2MjYx
YmViY2I4Li5hZTdmOTI0OWNlODhmM2JmODQ5MTg2ZWMwNDdmMmNhOTE0NTQwODQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVlLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVlLmlkbApAQCAtMjksNyArMjks
OSBAQAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9Q1NTVHlwZWRPTSwKICAgICBDb25kaXRpb25hbD1D
U1NfVFlQRURfT00sCiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlcixQYWludFdvcmtsZXQpLAot
ICAgIFNraXBWVGFibGVWYWxpZGF0aW9uLAorICAgIFNraXBWVGFibGVWYWxpZGF0aW9uCiBdIGlu
dGVyZmFjZSBDU1NTdHlsZVZhbHVlIHsKICAgICBzdHJpbmdpZmllcjsKKyAgICBbRXhwb3NlZD1X
aW5kb3ddIHN0YXRpYyBDU1NTdHlsZVZhbHVlIHBhcnNlKFVTVlN0cmluZyBwcm9wZXJ0eSwgVVNW
U3RyaW5nIGNzc1RleHQpOworICAgIFtFeHBvc2VkPVdpbmRvd10gc3RhdGljIHNlcXVlbmNlPENT
U1N0eWxlVmFsdWU+IHBhcnNlQWxsKFVTVlN0cmluZyBwcm9wZXJ0eSwgVVNWU3RyaW5nIGNzc1Rl
eHQpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1VuaXRW
YWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTVW5pdFZhbHVlLmgKaW5kZXgg
NGJmYjFkMTc5ZGU4ZTNkNGI1NmM2ZTVmOWU0ODU1MDJkOTA5MjExMi4uYWY4NTM5MzgwZTEyYTJi
MjBlOTI2ZjZjY2I5NjhkMThkN2JmYzcwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L3R5cGVkb20vQ1NTVW5pdFZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20v
Q1NTVW5pdFZhbHVlLmgKQEAgLTQzLDcgKzQzLDggQEAgcHVibGljOgogICAgIH0KIAogICAgIC8v
IEZJWE1FOiBub3QgY29ycmVjdC4KLSAgICBTdHJpbmcgdG9TdHJpbmcoKSBmaW5hbCB7IHJldHVy
biBtYWtlU3RyaW5nKChpbnQpIG1fdmFsdWUsIG1fdW5pdCk7IH0KKyAgICBTdHJpbmcgdG9TdHJp
bmcoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtYWtlU3RyaW5nKChpbnQpIG1fdmFsdWUsIG1fdW5p
dCk7IH0KKyAgICBDU1NTdHlsZVZhbHVlVHlwZSBnZXRUeXBlKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU1VuaXRWYWx1ZTsgfQogCiAgICAgZG91YmxlIHZhbHVl
KCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZTsgfQogICAgIHZvaWQgc2V0VmFsdWUoZG91YmxlIHZh
bHVlKSB7IG1fdmFsdWUgPSB2YWx1ZTsgfQpAQCAtNTcsOCArNTgsNiBAQCBwcml2YXRlOgogICAg
IHsKICAgICB9CiAKLSAgICBib29sIGlzVW5pdFZhbHVlKCkgZmluYWwgeyByZXR1cm4gdHJ1ZTsg
fQotCiAgICAgZG91YmxlIG1fdmFsdWU7CiAgICAgU3RyaW5nIG1fdW5pdDsKIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NVbnBhcnNlZFZhbHVlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1VucGFyc2VkVmFsdWUuY3BwCmluZGV4IDNhMzMx
NDE1ZGUzMzRiZTI3YTdkZTQyMTE4Nzk4MTJkZDUwM2RmZDkuLjE5ZjVmNjkyNjczMDE4YjM0Zjc5
YWRlNmRhZDI0MTg5M2I3MGE5ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBl
ZG9tL0NTU1VucGFyc2VkVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L0NTU1VucGFyc2VkVmFsdWUuY3BwCkBAIC0zMiwxMiArMzIsNTMgQEAKIAogI2lmIEVOQUJMRShD
U1NfVFlQRURfT00pCiAKKyNpbmNsdWRlICJDU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuaCIK
KyNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVz
Lmg+CisjaW5jbHVkZSA8d3RmL1ZhcmlhbnQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lN
UEwoQ1NTVW5wYXJzZWRWYWx1ZSk7CiAKK1JlZjxDU1NVbnBhcnNlZFZhbHVlPiBDU1NVbnBhcnNl
ZFZhbHVlOjpjcmVhdGUoY29uc3QgVmVjdG9yPENTU1VucGFyc2VkU2VnbWVudD4mIHNlZ21lbnRz
KQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENTU1VucGFyc2VkVmFsdWUoc2VnbWVudHMp
KTsKK30KKworQ1NTVW5wYXJzZWRWYWx1ZTo6Q1NTVW5wYXJzZWRWYWx1ZShjb25zdCBWZWN0b3I8
Q1NTVW5wYXJzZWRTZWdtZW50PiYgc2VnbWVudHMpCisgICAgOiBtX3NlZ21lbnRzKHNlZ21lbnRz
KQoreworfQorCitTdHJpbmcgQ1NTVW5wYXJzZWRWYWx1ZTo6dG9TdHJpbmcoKSBjb25zdAorewor
ICAgIFN0cmluZyBzZXJpYWxpemF0aW9uID0gZW1wdHlTdHJpbmcoKTsKKyAgICBmb3IgKGF1dG8m
IHNlZ21lbnQgOiBtX3NlZ21lbnRzKSB7CisgICAgICAgIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0
aXZlPFN0cmluZz4oc2VnbWVudCkpCisgICAgICAgICAgICBzZXJpYWxpemF0aW9uLmFwcGVuZChX
VEY6OmdldDxTdHJpbmc+KHNlZ21lbnQpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgc2Vy
aWFsaXphdGlvbi5hcHBlbmQoV1RGOjpnZXQ8UmVmUHRyPENTU09NVmFyaWFibGVSZWZlcmVuY2VW
YWx1ZT4+KHNlZ21lbnQpLT50b1N0cmluZygpKTsKKyAgICB9CisgICAgcmV0dXJuIHNlcmlhbGl6
YXRpb247Cit9CisKK0V4Y2VwdGlvbk9yPENTU1VucGFyc2VkU2VnbWVudD4gQ1NTVW5wYXJzZWRW
YWx1ZTo6aXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KQoreworICAgIGlmIChpbmRleCA+PSBtX3Nl
Z21lbnRzLnNpemUoKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFJhbmdlRXJyb3IgfTsK
KyAgICByZXR1cm4gRXhjZXB0aW9uT3I8Q1NTVW5wYXJzZWRTZWdtZW50PiB7IENTU1VucGFyc2Vk
U2VnbWVudCB7IG1fc2VnbWVudHNbaW5kZXhdIH0gfTsKK30KKworRXhjZXB0aW9uT3I8Q1NTVW5w
YXJzZWRTZWdtZW50PiBDU1NVbnBhcnNlZFZhbHVlOjpzZXRJdGVtKHVuc2lnbmVkIGxvbmcgaW5k
ZXgsIENTU1VucGFyc2VkU2VnbWVudCB2YWwpCit7CisgICAgaWYgKGluZGV4ID49IG1fc2VnbWVu
dHMuc2l6ZSgpKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgUmFuZ2VFcnJvciB9OworICAg
IG1fc2VnbWVudHNbaW5kZXhdID0gdmFsOworICAgIHJldHVybiBFeGNlcHRpb25PcjxDU1NVbnBh
cnNlZFNlZ21lbnQ+IHsgQ1NTVW5wYXJzZWRTZWdtZW50IHsgdmFsIH0gfTsKK30KKwogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy90eXBlZG9tL0NTU1VucGFyc2VkVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L0NTU1VucGFyc2VkVmFsdWUuaAppbmRleCBmMWU1ZjU3YzkyOGRmZjljOTQ4MWJjMDliZDEzZjZm
YTBlYjI1MTMxLi5kZDE5MTIyOTA4Yjc0NGNjMDQxZWNiOWQyYzkzYzMxNGYxMDJjMmE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NVbnBhcnNlZFZhbHVlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTVW5wYXJzZWRWYWx1ZS5oCkBAIC0yOSwz
MSArMjksNDEgQEAKIAogI2luY2x1ZGUgIkNTU1N0eWxlVmFsdWUuaCIKICNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ1NTVW5wYXJz
ZWRWYWx1ZSBmaW5hbCA6IHB1YmxpYyBDU1NTdHlsZVZhbHVlIHsKK3RlbXBsYXRlPHR5cGVuYW1l
PiBjbGFzcyBFeGNlcHRpb25PcjsKK2NsYXNzIENTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZTsK
K3VzaW5nIENTU1VucGFyc2VkU2VnbWVudCA9IFZhcmlhbnQ8U3RyaW5nLCBSZWZQdHI8Q1NTT01W
YXJpYWJsZVJlZmVyZW5jZVZhbHVlPj47CisKK2NsYXNzIENTU1VucGFyc2VkVmFsdWUgOiBwdWJs
aWMgQ1NTU3R5bGVWYWx1ZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChDU1NVbnBhcnNl
ZFZhbHVlKTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPENTU1VucGFyc2VkVmFsdWU+IGNyZWF0
ZShjb25zdCBTdHJpbmcmIHNlcmlhbGl6ZWRWYWx1ZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IENTU1VucGFyc2VkVmFsdWUoc2VyaWFsaXplZFZhbHVlKSk7Ci0gICAgfQog
Ci0gICAgU3RyaW5nIHRvU3RyaW5nKCkgZmluYWwgeyByZXR1cm4gbV9zZXJpYWxpemVkVmFsdWU7
IH0KKyAgICBzdGF0aWMgUmVmPENTU1VucGFyc2VkVmFsdWU+IGNyZWF0ZShjb25zdCBWZWN0b3I8
Q1NTVW5wYXJzZWRTZWdtZW50PiYpOworICAgIAorICAgIFN0cmluZyB0b1N0cmluZygpIGNvbnN0
IGZpbmFsOworICAgIAorICAgIENTU1N0eWxlVmFsdWVUeXBlIGdldFR5cGUoKSBjb25zdCBmaW5h
bCB7IHJldHVybiBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTVW5wYXJzZWRWYWx1ZTsgfQogCi1wcml2
YXRlOgotICAgIGV4cGxpY2l0IENTU1VucGFyc2VkVmFsdWUoY29uc3QgU3RyaW5nJiBzZXJpYWxp
emVkVmFsdWUpCi0gICAgICAgIDogbV9zZXJpYWxpemVkVmFsdWUoc2VyaWFsaXplZFZhbHVlKQot
ICAgIHsKLSAgICB9CisgICAgdW5zaWduZWQgbG9uZyBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBt
X3NlZ21lbnRzLnNpemUoKTsgfQorICAgIAorICAgIEV4Y2VwdGlvbk9yPENTU1VucGFyc2VkU2Vn
bWVudD4gaXRlbSh1bnNpZ25lZCBsb25nKTsKKyAgICAKKyAgICBFeGNlcHRpb25PcjxDU1NVbnBh
cnNlZFNlZ21lbnQ+IHNldEl0ZW0odW5zaWduZWQgbG9uZywgQ1NTVW5wYXJzZWRTZWdtZW50KTsK
IAotICAgIGJvb2wgaXNVbnBhcnNlZFZhbHVlKCkgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQorcHJp
dmF0ZToKKyAgICBleHBsaWNpdCBDU1NVbnBhcnNlZFZhbHVlKGNvbnN0IFZlY3RvcjxDU1NVbnBh
cnNlZFNlZ21lbnQ+JiBzZWdtZW50cyk7CiAKLSAgICBTdHJpbmcgbV9zZXJpYWxpemVkVmFsdWU7
CisgICAgVmVjdG9yPENTU1VucGFyc2VkU2VnbWVudD4gbV9zZWdtZW50czsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3Jl
OjpDU1NVbnBhcnNlZFZhbHVlKQorICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3Jl
OjpDU1NTdHlsZVZhbHVlJiBzdHlsZVZhbHVlKSB7IHJldHVybiBzdHlsZVZhbHVlLmdldFR5cGUo
KSA9PSBXZWJDb3JlOjpDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTVW5wYXJzZWRWYWx1ZTsgfQorU1BF
Q0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQorCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1VucGFyc2VkVmFsdWUuaWRsIGIvU291cmNlL1dlYkNvcmUv
Y3NzL3R5cGVkb20vQ1NTVW5wYXJzZWRWYWx1ZS5pZGwKaW5kZXggZjJkZTFiNWRjYWMwYTY4MTBm
YzQyNGU1ZTUwOGU1OWU4ZmQ5ZWQ2My4uNjVkN2E3NjA1MzlhNmY4OWUwZDQzMjg1NDdiMTU2ODZm
OGNmMmIzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTVW5wYXJz
ZWRWYWx1ZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTVW5wYXJzZWRW
YWx1ZS5pZGwKQEAgLTIzLDEyICsyMywxOSBAQAogKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogKi8KIAotLy8gRklY
TUU6IHdyb25nIGNvbnN0cnVjdG9yLgordHlwZWRlZiAoVVNWU3RyaW5nIG9yIENTU09NVmFyaWFi
bGVSZWZlcmVuY2VWYWx1ZSkgQ1NTVW5wYXJzZWRTZWdtZW50OworCiBbCiAgICAgSW50ZXJmYWNl
TmFtZT1DU1NVbnBhcnNlZFZhbHVlLAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9Q1NTVHlwZWRPTSwK
ICAgICBDb25kaXRpb25hbD1DU1NfVFlQRURfT00sCiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtl
cixQYWludFdvcmtsZXQpLAorICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdAogXSBpbnRlcmZh
Y2UgQ1NTVW5wYXJzZWRWYWx1ZSA6IENTU1N0eWxlVmFsdWUgewotICAgIGNvbnN0cnVjdG9yKFVT
VlN0cmluZyBzZXJpYWxpemVkVmFsdWUpOworICAgIGNvbnN0cnVjdG9yKHNlcXVlbmNlPENTU1Vu
cGFyc2VkU2VnbWVudD4gbWVtYmVycyk7CisKKyAgICBpdGVyYWJsZTxDU1NVbnBhcnNlZFNlZ21l
bnQ+OworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKKyAgICBn
ZXR0ZXIgQ1NTVW5wYXJzZWRTZWdtZW50ICh1bnNpZ25lZCBsb25nIGluZGV4KTsKKyAgICBzZXR0
ZXIgQ1NTVW5wYXJzZWRTZWdtZW50ICh1bnNpZ25lZCBsb25nIGluZGV4LCBDU1NVbnBhcnNlZFNl
Z21lbnQgdmFsKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9T
dHlsZVByb3BlcnR5TWFwUmVhZE9ubHkuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20v
U3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5LmNwcAppbmRleCAyYjYyYjgxNWI0ODljNGQ1ZjNiMWUy
YzRmZmVjODRlN2MxMTBiYjg4Li5iYTgzYjU2YzYyOTc5MGVlOTk4MmM2OTdlMjBiODQzMjFhM2Vi
YWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9TdHlsZVByb3BlcnR5
TWFwUmVhZE9ubHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1N0eWxlUHJv
cGVydHlNYXBSZWFkT25seS5jcHAKQEAgLTQzLDM2ICs0MywzNyBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLVJlZlB0cjxDU1NTdHlsZVZhbHVlPiBTdHlsZVByb3BlcnR5TWFwUmVhZE9ubHk6
OnJlaWZ5VmFsdWUoQ1NTVmFsdWUqIHZhbHVlLCBEb2N1bWVudCYgZG9jdW1lbnQsIEVsZW1lbnQq
KQorUmVmUHRyPENTU1N0eWxlVmFsdWU+IFN0eWxlUHJvcGVydHlNYXBSZWFkT25seTo6cmVpZnlW
YWx1ZShSZWZQdHI8Q1NTVmFsdWU+JiYgdmFsdWUsIGNvbnN0IFN0cmluZyYsIERvY3VtZW50JiBk
b2N1bWVudCwgRWxlbWVudCopCiB7CiAgICAgaWYgKCF2YWx1ZSkKICAgICAgICAgcmV0dXJuIG51
bGxwdHI7Ci0KKyAgICAKKyAgICBDU1NWYWx1ZSogdmFsdWVQdHIgPSB2YWx1ZS5nZXQoKTsKKyAg
ICAKICAgICAvLyBGSVhNRTogUHJvcGVybHkgcmVpZnkgYWxsIGxlbmd0aCB2YWx1ZXMuCi0gICAg
aWYgKGlzPENTU1ByaW1pdGl2ZVZhbHVlPigqdmFsdWUpICYmIGRvd25jYXN0PENTU1ByaW1pdGl2
ZVZhbHVlPigqdmFsdWUpLnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NVbml0VHlwZTo6Q1NTX1BYKQot
ICAgICAgICByZXR1cm4gQ1NTVW5pdFZhbHVlOjpjcmVhdGUoZG93bmNhc3Q8Q1NTUHJpbWl0aXZl
VmFsdWU+KCp2YWx1ZSkuZG91YmxlVmFsdWUoKSwgInB4Iik7CisgICAgaWYgKGlzPENTU1ByaW1p
dGl2ZVZhbHVlPih2YWx1ZVB0cikgJiYgZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVl
UHRyKS0+cHJpbWl0aXZlVHlwZSgpID09IENTU1VuaXRUeXBlOjpDU1NfUFgpCisgICAgICAgIHJl
dHVybiBDU1NVbml0VmFsdWU6OmNyZWF0ZShkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFs
dWVQdHIpLT5kb3VibGVWYWx1ZSgpLCAicHgiKTsKIAotICAgIGlmIChpczxDU1NJbWFnZVZhbHVl
PigqdmFsdWUpKQotICAgICAgICByZXR1cm4gQ1NTU3R5bGVJbWFnZVZhbHVlOjpjcmVhdGUoZG93
bmNhc3Q8Q1NTSW1hZ2VWYWx1ZT4oKnZhbHVlKSwgZG9jdW1lbnQpOworICAgIGlmIChpczxDU1NJ
bWFnZVZhbHVlPih2YWx1ZSkpCisgICAgICAgIHJldHVybiBDU1NTdHlsZUltYWdlVmFsdWU6OmNy
ZWF0ZShtYWtlUmVmKGRvd25jYXN0PENTU0ltYWdlVmFsdWU+KCp2YWx1ZVB0cikpLCBkb2N1bWVu
dCk7CiAKLSAgICAvLyBGSVhNRTogc2hvdWxkIHVzZSByYXcgQ1NTU3R5bGVWYWx1ZQotICAgIHJl
dHVybiBDU1NVbnBhcnNlZFZhbHVlOjpjcmVhdGUodmFsdWUtPmNzc1RleHQoKSk7CisgICAgcmV0
dXJuIG51bGxwdHI7CiB9CiAKLVJlZlB0cjxDU1NTdHlsZVZhbHVlPiBTdHlsZVByb3BlcnR5TWFw
UmVhZE9ubHk6OmN1c3RvbVByb3BlcnR5VmFsdWVPckRlZmF1bHQoY29uc3QgU3RyaW5nJiBuYW1l
LCBEb2N1bWVudCYgZG9jdW1lbnQsIENTU1ZhbHVlKiBpbnB1dFZhbHVlLCBFbGVtZW50KiBlbGVt
ZW50KQorUmVmUHRyPENTU1N0eWxlVmFsdWU+IFN0eWxlUHJvcGVydHlNYXBSZWFkT25seTo6Y3Vz
dG9tUHJvcGVydHlWYWx1ZU9yRGVmYXVsdChjb25zdCBTdHJpbmcmIG5hbWUsIERvY3VtZW50JiBk
b2N1bWVudCwgUmVmUHRyPENTU1ZhbHVlPiYmIGlucHV0VmFsdWUsIEVsZW1lbnQqIGVsZW1lbnQp
CiB7CiAgICAgaWYgKCFpbnB1dFZhbHVlKSB7CiAgICAgICAgIGF1dG8qIHJlZ2lzdGVyZWQgPSBk
b2N1bWVudC5nZXRDU1NSZWdpc3RlcmVkQ3VzdG9tUHJvcGVydHlTZXQoKS5nZXQobmFtZSk7CiAK
ICAgICAgICAgaWYgKHJlZ2lzdGVyZWQgJiYgcmVnaXN0ZXJlZC0+aW5pdGlhbFZhbHVlKCkpIHsK
ICAgICAgICAgICAgIGF1dG8gdmFsdWUgPSByZWdpc3RlcmVkLT5pbml0aWFsVmFsdWVDb3B5KCk7
Ci0gICAgICAgICAgICByZXR1cm4gU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5OjpyZWlmeVZhbHVl
KHZhbHVlLmdldCgpLCBkb2N1bWVudCwgZWxlbWVudCk7CisgICAgICAgICAgICByZXR1cm4gU3R5
bGVQcm9wZXJ0eU1hcFJlYWRPbmx5OjpyZWlmeVZhbHVlKFdURk1vdmUodmFsdWUpLCBuYW1lLCBk
b2N1bWVudCwgZWxlbWVudCk7CiAgICAgICAgIH0KIAotICAgICAgICByZXR1cm4gQ1NTVW5wYXJz
ZWRWYWx1ZTo6Y3JlYXRlKGVtcHR5U3RyaW5nKCkpOworICAgICAgICByZXR1cm4gQ1NTU3R5bGVW
YWx1ZTo6Y3JlYXRlKCk7CiAgICAgfQogCi0gICAgcmV0dXJuIFN0eWxlUHJvcGVydHlNYXBSZWFk
T25seTo6cmVpZnlWYWx1ZShpbnB1dFZhbHVlLCBkb2N1bWVudCwgZWxlbWVudCk7CisgICAgcmV0
dXJuIFN0eWxlUHJvcGVydHlNYXBSZWFkT25seTo6cmVpZnlWYWx1ZShXVEZNb3ZlKGlucHV0VmFs
dWUpLCBuYW1lLCBkb2N1bWVudCwgZWxlbWVudCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1N0eWxlUHJvcGVydHlN
YXBSZWFkT25seS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vU3R5bGVQcm9wZXJ0eU1h
cFJlYWRPbmx5LmgKaW5kZXggZTNjYTcxMTAxOGIwOWFhZmZkNzFlMWIxZTQ0NzFlYjIxNmZiODFk
MC4uYTc4OWQ3ZTllODE3ZjRiNjJkZWMxNjYwNmJjZmEyMjYyM2FiM2E5ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5LmgK
QEAgLTQyLDkgKzQyLDkgQEAgY2xhc3MgU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5IDogcHVibGlj
IFJlZkNvdW50ZWQ8U3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5PiB7CiBwdWJsaWM6CiAgICAgdmly
dHVhbCB+U3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5KCkgPSBkZWZhdWx0OwogICAgIHZpcnR1YWwg
UmVmUHRyPENTU1N0eWxlVmFsdWU+IGdldChjb25zdCBTdHJpbmcmIHByb3BlcnR5KSBjb25zdCA9
IDA7Ci0KLSAgICBzdGF0aWMgUmVmUHRyPENTU1N0eWxlVmFsdWU+IHJlaWZ5VmFsdWUoQ1NTVmFs
dWUqLCBEb2N1bWVudCYsIEVsZW1lbnQqID0gbnVsbHB0cik7Ci0gICAgc3RhdGljIFJlZlB0cjxD
U1NTdHlsZVZhbHVlPiBjdXN0b21Qcm9wZXJ0eVZhbHVlT3JEZWZhdWx0KGNvbnN0IFN0cmluZyYg
bmFtZSwgRG9jdW1lbnQmLCBDU1NWYWx1ZSosIEVsZW1lbnQqID0gbnVsbHB0cik7CisgICAgCisg
ICAgc3RhdGljIFJlZlB0cjxDU1NTdHlsZVZhbHVlPiByZWlmeVZhbHVlKFJlZlB0cjxDU1NWYWx1
ZT4mJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBEb2N1bWVudCYsIEVsZW1lbnQqID0gbnVsbHB0cik7
CisgICAgc3RhdGljIFJlZlB0cjxDU1NTdHlsZVZhbHVlPiBjdXN0b21Qcm9wZXJ0eVZhbHVlT3JE
ZWZhdWx0KGNvbnN0IFN0cmluZyYgbmFtZSwgRG9jdW1lbnQmLCBSZWZQdHI8Q1NTVmFsdWU+JiYs
IEVsZW1lbnQqID0gbnVsbHB0cik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKaW5kZXggOTU3ZTU3NjkzYWU5YmNiZDcyYzllMzBk
NWU5ZDgxNDVmYTlhMDg1Zi4uZmFlMDI4MjI4MjBhMzczZjU5ZTNjMzcwNjNhNTljZjViOTI1NjNk
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcApAQCAtMTA5LDcgKzEwOSw3IEBA
IHByaXZhdGU6CiAKICAgICAgICAgaWYgKGlzQ3VzdG9tUHJvcGVydHlOYW1lKG5hbWUpKSB7CiAg
ICAgICAgICAgICBhdXRvIHZhbHVlID0gZWxlbWVudC5pbmxpbmVTdHlsZSgpLT5nZXRDdXN0b21Q
cm9wZXJ0eUNTU1ZhbHVlKG5hbWUpOwotICAgICAgICAgICAgcmV0dXJuIFN0eWxlUHJvcGVydHlN
YXBSZWFkT25seTo6Y3VzdG9tUHJvcGVydHlWYWx1ZU9yRGVmYXVsdChuYW1lLCBlbGVtZW50LmRv
Y3VtZW50KCksIHZhbHVlLmdldCgpLCAmZWxlbWVudCk7CisgICAgICAgICAgICByZXR1cm4gU3R5
bGVQcm9wZXJ0eU1hcFJlYWRPbmx5OjpjdXN0b21Qcm9wZXJ0eVZhbHVlT3JEZWZhdWx0KG5hbWUs
IGVsZW1lbnQuZG9jdW1lbnQoKSwgdmFsdWUuY29weVJlZigpLCAmZWxlbWVudCk7CiAgICAgICAg
IH0KIAogICAgICAgICBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQgPSBjc3NQcm9wZXJ0eUlEKG5h
bWUpOwpAQCAtMTE3LDcgKzExNyw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICByZXR1cm4gbnVs
bHB0cjsKIAogICAgICAgICBhdXRvIHZhbHVlID0gZWxlbWVudC5pbmxpbmVTdHlsZSgpLT5nZXRQ
cm9wZXJ0eUNTU1ZhbHVlKHByb3BlcnR5SUQpOwotICAgICAgICByZXR1cm4gU3R5bGVQcm9wZXJ0
eU1hcFJlYWRPbmx5OjpyZWlmeVZhbHVlKHZhbHVlLmdldCgpLCBlbGVtZW50LmRvY3VtZW50KCks
ICZlbGVtZW50KTsKKyAgICAgICAgcmV0dXJuIFN0eWxlUHJvcGVydHlNYXBSZWFkT25seTo6cmVp
ZnlWYWx1ZSh2YWx1ZS5jb3B5UmVmKCksIG5hbWUsIGVsZW1lbnQuZG9jdW1lbnQoKSwgJmVsZW1l
bnQpOwogICAgIH0KIAogICAgIFN0eWxlZEVsZW1lbnQqIG1fZWxlbWVudCB7IG51bGxwdHIgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ3VzdG9tUGFpbnRJbWFnZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0N1c3RvbVBhaW50SW1hZ2UuY3BwCmluZGV4IGUzMDA3N2Y1YWJh
MDA3Yzk3NGNkMGQ3ODlhZjI1ODY1YjBmZjZhNjYuLjY5ZmY1N2VkZTFhZDdiNDZkOTc1OGU4MmFm
ZmVkZjEzMmFjY2U3NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ3VzdG9tUGFp
bnRJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9DdXN0b21QYWludEltYWdlLmNw
cApAQCAtNjYsNyArNjYsNyBAQCBzdGF0aWMgUmVmUHRyPENTU1N0eWxlVmFsdWU+IGV4dHJhY3RD
b21wdXRlZFByb3BlcnR5KGNvbnN0IFN0cmluZyYgbmFtZSwgRWxlbWVudAogCiAgICAgaWYgKGlz
Q3VzdG9tUHJvcGVydHlOYW1lKG5hbWUpKSB7CiAgICAgICAgIGF1dG8gdmFsdWUgPSBleHRyYWN0
b3IuY3VzdG9tUHJvcGVydHlWYWx1ZShuYW1lKTsKLSAgICAgICAgcmV0dXJuIFN0eWxlUHJvcGVy
dHlNYXBSZWFkT25seTo6Y3VzdG9tUHJvcGVydHlWYWx1ZU9yRGVmYXVsdChuYW1lLCBlbGVtZW50
LmRvY3VtZW50KCksIHZhbHVlLmdldCgpLCAmZWxlbWVudCk7CisgICAgICAgIHJldHVybiBTdHls
ZVByb3BlcnR5TWFwUmVhZE9ubHk6OmN1c3RvbVByb3BlcnR5VmFsdWVPckRlZmF1bHQobmFtZSwg
ZWxlbWVudC5kb2N1bWVudCgpLCB2YWx1ZS5jb3B5UmVmKCksICZlbGVtZW50KTsKICAgICB9CiAK
ICAgICBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQgPSBjc3NQcm9wZXJ0eUlEKG5hbWUpOwpAQCAt
NzQsNyArNzQsNyBAQCBzdGF0aWMgUmVmUHRyPENTU1N0eWxlVmFsdWU+IGV4dHJhY3RDb21wdXRl
ZFByb3BlcnR5KGNvbnN0IFN0cmluZyYgbmFtZSwgRWxlbWVudAogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKIAogICAgIGF1dG8gdmFsdWUgPSBleHRyYWN0b3IucHJvcGVydHlWYWx1ZShwcm9wZXJ0
eUlELCBEb05vdFVwZGF0ZUxheW91dCk7Ci0gICAgcmV0dXJuIFN0eWxlUHJvcGVydHlNYXBSZWFk
T25seTo6cmVpZnlWYWx1ZSh2YWx1ZS5nZXQoKSwgZWxlbWVudC5kb2N1bWVudCgpLCAmZWxlbWVu
dCk7CisgICAgcmV0dXJuIFN0eWxlUHJvcGVydHlNYXBSZWFkT25seTo6cmVpZnlWYWx1ZSh2YWx1
ZS5jb3B5UmVmKCksIG5hbWUsIGVsZW1lbnQuZG9jdW1lbnQoKSwgJmVsZW1lbnQpOwogfQogCiBj
bGFzcyBIYXNoTWFwU3R5bGVQcm9wZXJ0eU1hcCBmaW5hbCA6IHB1YmxpYyBTdHlsZVByb3BlcnR5
TWFwIHsKQEAgLTkwLDcgKzkwLDcgQEAgcHVibGljOgogCiAgICAgICAgIGlmIChpc0N1c3RvbVBy
b3BlcnR5TmFtZShuYW1lKSkgewogICAgICAgICAgICAgYXV0byB2YWx1ZSA9IGV4dHJhY3Rvci5j
dXN0b21Qcm9wZXJ0eVZhbHVlKG5hbWUpOwotICAgICAgICAgICAgcmV0dXJuIFN0eWxlUHJvcGVy
dHlNYXBSZWFkT25seTo6Y3VzdG9tUHJvcGVydHlWYWx1ZU9yRGVmYXVsdChuYW1lLCBlbGVtZW50
LmRvY3VtZW50KCksIHZhbHVlLmdldCgpLCAmZWxlbWVudCk7CisgICAgICAgICAgICByZXR1cm4g
U3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5OjpjdXN0b21Qcm9wZXJ0eVZhbHVlT3JEZWZhdWx0KG5h
bWUsIGVsZW1lbnQuZG9jdW1lbnQoKSwgdmFsdWUuY29weVJlZigpLCAmZWxlbWVudCk7CiAgICAg
ICAgIH0KIAogICAgICAgICBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQgPSBjc3NQcm9wZXJ0eUlE
KG5hbWUpOwpAQCAtOTgsNyArOTgsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICByZXR1cm4gbnVs
bHB0cjsKIAogICAgICAgICBhdXRvIHZhbHVlID0gZXh0cmFjdG9yLnByb3BlcnR5VmFsdWUocHJv
cGVydHlJRCwgRG9Ob3RVcGRhdGVMYXlvdXQpOwotICAgICAgICByZXR1cm4gU3R5bGVQcm9wZXJ0
eU1hcFJlYWRPbmx5OjpyZWlmeVZhbHVlKHZhbHVlLmdldCgpLCBlbGVtZW50LmRvY3VtZW50KCks
ICZlbGVtZW50KTsKKyAgICAgICAgcmV0dXJuIFN0eWxlUHJvcGVydHlNYXBSZWFkT25seTo6cmVp
ZnlWYWx1ZSh2YWx1ZS5jb3B5UmVmKCksIG5hbWUsIGVsZW1lbnQuZG9jdW1lbnQoKSwgJmVsZW1l
bnQpOwogICAgIH0KIAogcHJpdmF0ZToK
</data>
<flag name="commit-queue"
          id="458537"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>