<?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>226618</bug_id>
          
          <creation_ts>2021-06-03 18:36:00 -0700</creation_ts>
          <short_desc>Rename MainThreadGenericEventQueue to EventLoopEventQueue</short_desc>
          <delta_ts>2021-06-04 07:49:18 -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>WebCore Misc.</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>annulen</cc>
    
    <cc>calvaris</cc>
    
    <cc>changseok</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kangil.han</cc>
    
    <cc>philipj</cc>
    
    <cc>rniwa</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1766626</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-03 18:36:00 -0700</bug_when>
    <thetext>Rename MainThreadGenericEventQueue to EventLoopEventQueue, now that it is based on the HTML event loop (and not a global Timer).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766629</commentid>
    <comment_count>1</comment_count>
      <attachid>430527</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-03 18:39:25 -0700</bug_when>
    <thetext>Created attachment 430527
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766631</commentid>
    <comment_count>2</comment_count>
      <attachid>430529</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-03 18:42:45 -0700</bug_when>
    <thetext>Created attachment 430529
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766762</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-04 07:48:19 -0700</bug_when>
    <thetext>Committed r278457 (238477@main): &lt;https://commits.webkit.org/238477@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 430529.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766764</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-04 07:49:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/78868885&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430527</attachid>
            <date>2021-06-03 18:39:25 -0700</date>
            <delta_ts>2021-06-03 18:43:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226618-20210603183924.patch</filename>
            <type>text/plain</type>
            <size>39859</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NDM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzZjYWI3MDlmMzIwNjVm
YTJkZjVlMDlmMWQzZGY4ZDMxZmRmNDgyMi4uYmJkNWQ0ZGQyMDc3YzkzN2I3ZGEzNzI0NmQ2ZWRi
M2M0OWUxNjY1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDIxLTA2LTAzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVuYW1lIE1haW5UaHJlYWRH
ZW5lcmljRXZlbnRRdWV1ZSB0byBFdmVudExvb3BFdmVudFF1ZXVlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY2MTgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgTWFpblRocmVhZEdlbmVyaWNF
dmVudFF1ZXVlIHRvIEV2ZW50TG9vcEV2ZW50UXVldWUsIG5vdyB0aGF0IGl0IGlzIGJhc2VkIG9u
IHRoZSBIVE1MCisgICAgICAgIGV2ZW50IGxvb3AgKGFuZCBub3QgYSBnbG9iYWwgVGltZXIpLgor
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6Ok1lZGlhU2Vz
c2lvbkNvb3JkaW5hdG9yKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNl
c3Npb25Db29yZGluYXRvci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFT
b3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2U6Ok1lZGlhU291cmNlKToK
KyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmg6CisgICAgICAgICog
TW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U291cmNlQnVmZmVyOjpTb3VyY2VCdWZmZXIpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3Vy
Y2UvU291cmNlQnVmZmVyLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VC
dWZmZXJMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlckxpc3Q6OlNvdXJj
ZUJ1ZmZlckxpc3QpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
TGlzdC5oOgorICAgICAgICAqIE1vZHVsZXMvcmVtb3RlcGxheWJhY2svUmVtb3RlUGxheWJhY2su
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVtb3RlUGxheWJhY2s6OlJlbW90ZVBsYXliYWNrKToK
KyAgICAgICAgKiBNb2R1bGVzL3JlbW90ZXBsYXliYWNrL1JlbW90ZVBsYXliYWNrLmg6CisgICAg
ICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIGRvbS9FdmVudExvb3BFdmVudFF1ZXVlLmNwcDogUmVuYW1lZCBm
cm9tIFNvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmljRXZlbnRRdWV1ZS5jcHAuCisgICAgICAgIChX
ZWJDb3JlOjpFdmVudExvb3BFdmVudFF1ZXVlOjpFdmVudExvb3BFdmVudFF1ZXVlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkV2ZW50TG9vcEV2ZW50UXVldWU6OmVucXVldWVFdmVudCk6CisgICAgICAg
IChXZWJDb3JlOjpFdmVudExvb3BFdmVudFF1ZXVlOjpkaXNwYXRjaE9uZUV2ZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OkV2ZW50TG9vcEV2ZW50UXVldWU6OmNsb3NlKToKKyAgICAgICAgKFdlYkNv
cmU6OkV2ZW50TG9vcEV2ZW50UXVldWU6OmNhbmNlbEFsbEV2ZW50cyk6CisgICAgICAgIChXZWJD
b3JlOjpFdmVudExvb3BFdmVudFF1ZXVlOjpoYXNQZW5kaW5nQWN0aXZpdHkgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6RXZlbnRMb29wRXZlbnRRdWV1ZTo6aGFzUGVuZGluZ0V2ZW50c09mVHlw
ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudExvb3BFdmVudFF1ZXVlOjpzdG9wKToK
KyAgICAgICAgKFdlYkNvcmU6OkV2ZW50TG9vcEV2ZW50UXVldWU6OmFjdGl2ZURPTU9iamVjdE5h
bWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRMb29wRXZlbnRRdWV1ZTo6Y3JlYXRl
KToKKyAgICAgICAgKiBkb20vRXZlbnRMb29wRXZlbnRRdWV1ZS5oOiBSZW5hbWVkIGZyb20gU291
cmNlL1dlYkNvcmUvZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmguCisgICAgICAgICogaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OkhU
TUxNZWRpYUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAg
ICAgICAqIGh0bWwvdHJhY2svVHJhY2tMaXN0QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpU
cmFja0xpc3RCYXNlOjpUcmFja0xpc3RCYXNlKToKKyAgICAgICAgKiBodG1sL3RyYWNrL1RyYWNr
TGlzdEJhc2UuaDoKKwogMjAyMS0wNi0wMyAgSmVhbi1ZdmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjI3ODMzNik6IGZhc3QvZG9tL1dpbmRvdy9wcm9w
ZXJ0eS1hY2Nlc3Mtb24tY2FjaGVkLXdpbmRvdy1hZnRlci1mcmFtZS1yZW1vdmVkLmh0bWwgKGxh
eW91dC10ZXN0KSBpcyBhIGNvbnN0YW50IGNyYXNoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRvci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRvci5j
cHAKaW5kZXggMDgzNGFjZjliMTM5ZjlkNGM0MTkxMjVlY2RkMmQ1NjQ4MDMxNTc1NC4uYWZmYWY4
M2E2ZWFiYjc3MDM5N2Y0Yjg0NThiNjE4YTNmNDNkNWIwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbkNvb3Jk
aW5hdG9yLmNwcApAQCAtNTksNyArNTksNyBAQCBNZWRpYVNlc3Npb25Db29yZGluYXRvcjo6TWVk
aWFTZXNzaW9uQ29vcmRpbmF0b3IoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dAogICAg
IDogQWN0aXZlRE9NT2JqZWN0KGNvbnRleHQpCiAgICAgLCBtX2xvZ2dlcihtYWtlUmVmKERvY3Vt
ZW50OjpzaGFyZWRMb2dnZXIoKSkpCiAgICAgLCBtX2xvZ0lkZW50aWZpZXIobmV4dENvb3JkaW5h
dG9yTG9nSWRlbnRpZmllcigpKQotICAgICwgbV9hc3luY0V2ZW50UXVldWUoTWFpblRocmVhZEdl
bmVyaWNFdmVudFF1ZXVlOjpjcmVhdGUoKnRoaXMpKQorICAgICwgbV9hc3luY0V2ZW50UXVldWUo
RXZlbnRMb29wRXZlbnRRdWV1ZTo6Y3JlYXRlKCp0aGlzKSkKIHsKICAgICBBTFdBWVNfTE9HKExP
R0lERU5USUZJRVIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c2Vzc2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuaAppbmRleCBhN2NjMjRhOTZl
NGFiZWRmMzM5OGM1YzNkMmYzZGM3OGFiNjM4YTlmLi45NTE5YTdjMDhjYjFhNWU3MDNhN2EyYTE1
ZTg3OWFiOGU4MDU3YTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c2Vzc2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmgKQEAgLTExMCw3ICsx
MTAsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxNZWRpYVNlc3Npb25Db29yZGluYXRvclByaXZh
dGU+IG1fcHJpdmF0ZUNvb3JkaW5hdG9yOwogICAgIGNvbnN0IFJlZjxjb25zdCBMb2dnZXI+IG1f
bG9nZ2VyOwogICAgIGNvbnN0IHZvaWQqIG1fbG9nSWRlbnRpZmllcjsKLSAgICBVbmlxdWVSZWY8
TWFpblRocmVhZEdlbmVyaWNFdmVudFF1ZXVlPiBtX2FzeW5jRXZlbnRRdWV1ZTsKKyAgICBVbmlx
dWVSZWY8RXZlbnRMb29wRXZlbnRRdWV1ZT4gbV9hc3luY0V2ZW50UXVldWU7CiAgICAgTWVkaWFT
ZXNzaW9uQ29vcmRpbmF0b3JTdGF0ZSBtX3N0YXRlIHsgTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JT
dGF0ZTo6Q2xvc2VkIH07CiAgICAgYm9vbCBtX2hhc0Nvb3JkaW5hdG9yc1N0YXRlQ2hhbmdlRXZl
bnRMaXN0ZW5lciB7IGZhbHNlIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcAppbmRleCBhNGM0YjZjNmYzNzFmNjM1NTIyYjFm
ZWNkMzI2MjJlMzk0MzIyNmFiLi41NmM1ZGE4N2Q3NjEwMzgxYmExZjI4NTNmMmRmM2FiYWE3ZjJi
ZjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlh
U291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlh
U291cmNlLmNwcApAQCAtMTA0LDcgKzEwNCw3IEBAIE1lZGlhU291cmNlOjpNZWRpYVNvdXJjZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQogICAgIDogQWN0aXZlRE9NT2JqZWN0KCZj
b250ZXh0KQogICAgICwgbV9kdXJhdGlvbihNZWRpYVRpbWU6OmludmFsaWRUaW1lKCkpCiAgICAg
LCBtX3BlbmRpbmdTZWVrVGltZShNZWRpYVRpbWU6OmludmFsaWRUaW1lKCkpCi0gICAgLCBtX2Fz
eW5jRXZlbnRRdWV1ZShNYWluVGhyZWFkR2VuZXJpY0V2ZW50UXVldWU6OmNyZWF0ZSgqdGhpcykp
CisgICAgLCBtX2FzeW5jRXZlbnRRdWV1ZShFdmVudExvb3BFdmVudFF1ZXVlOjpjcmVhdGUoKnRo
aXMpKQogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogICAgICwgbV9sb2dnZXIoZG93bmNhc3Q8
RG9jdW1lbnQ+KGNvbnRleHQpLmxvZ2dlcigpKQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmgKaW5kZXggYmQ3NGM0YzcxMzdiZWE3
NzYzMjRkNTVjMDU5NzZhZjBmMGNlYTYzOC4uYTNhODRjM2YyMTU2NjhlODk3YzdmMjA3N2M1MWFk
ZjlhZWNhMjU5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9NZWRpYVNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2Uv
TWVkaWFTb3VyY2UuaApAQCAtMzMsOSArMzMsOSBAQAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0Up
CiAKICNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKKyNpbmNsdWRlICJFdmVudExvb3BFdmVu
dFF1ZXVlLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJFeGNlcHRpb25P
ci5oIgotI2luY2x1ZGUgIkdlbmVyaWNFdmVudFF1ZXVlLmgiCiAjaW5jbHVkZSAiSFRNTE1lZGlh
RWxlbWVudC5oIgogI2luY2x1ZGUgIk1lZGlhU291cmNlUHJpdmF0ZUNsaWVudC5oIgogI2luY2x1
ZGUgIlVSTFJlZ2lzdHJ5LmgiCkBAIC0xNzQsNyArMTc0LDcgQEAgcHJpdmF0ZToKICAgICBNZWRp
YVRpbWUgbV9kdXJhdGlvbjsKICAgICBNZWRpYVRpbWUgbV9wZW5kaW5nU2Vla1RpbWU7CiAgICAg
UmVhZHlTdGF0ZSBtX3JlYWR5U3RhdGUgeyBSZWFkeVN0YXRlOjpDbG9zZWQgfTsKLSAgICBVbmlx
dWVSZWY8TWFpblRocmVhZEdlbmVyaWNFdmVudFF1ZXVlPiBtX2FzeW5jRXZlbnRRdWV1ZTsKKyAg
ICBVbmlxdWVSZWY8RXZlbnRMb29wRXZlbnRRdWV1ZT4gbV9hc3luY0V2ZW50UXVldWU7CiAjaWYg
IVJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAgUmVmPGNvbnN0IExvZ2dlcj4gbV9sb2dnZXI7CiAg
ICAgY29uc3Qgdm9pZCogbV9sb2dJZGVudGlmaWVyIHsgbnVsbHB0ciB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCmluZGV4IDIx
MmU5OWJkYWRjMzI1YzRiZTkzMWMyNTdiODNkNWFlMjhiMWIzZDQuLjNmZmEyOGM5ZjhkNzNkM2I3
NmFkMzY2YjUwMWM1YzAwOTVhOThiMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKQEAgLTM4LDcgKzM4LDYgQEAKICNpbmNs
dWRlICJCdWZmZXJTb3VyY2UuaCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50
TmFtZXMuaCIKLSNpbmNsdWRlICJHZW5lcmljRXZlbnRRdWV1ZS5oIgogI2luY2x1ZGUgIkhUTUxN
ZWRpYUVsZW1lbnQuaCIKICNpbmNsdWRlICJJbmJhbmRUZXh0VHJhY2suaCIKICNpbmNsdWRlICJJ
bmJhbmRUZXh0VHJhY2tQcml2YXRlLmgiCkBAIC03NSw3ICs3NCw3IEBAIFNvdXJjZUJ1ZmZlcjo6
U291cmNlQnVmZmVyKFJlZjxTb3VyY2VCdWZmZXJQcml2YXRlPiYmIHNvdXJjZUJ1ZmZlclByaXZh
dGUsIE1lZGlhCiAgICAgOiBBY3RpdmVET01PYmplY3Qoc291cmNlLT5zY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkpCiAgICAgLCBtX3ByaXZhdGUoV1RGTW92ZShzb3VyY2VCdWZmZXJQcml2YXRlKSkK
ICAgICAsIG1fc291cmNlKHNvdXJjZSkKLSAgICAsIG1fYXN5bmNFdmVudFF1ZXVlKE1haW5UaHJl
YWRHZW5lcmljRXZlbnRRdWV1ZTo6Y3JlYXRlKCp0aGlzKSkKKyAgICAsIG1fYXN5bmNFdmVudFF1
ZXVlKEV2ZW50TG9vcEV2ZW50UXVldWU6OmNyZWF0ZSgqdGhpcykpCiAgICAgLCBtX2FwcGVuZEJ1
ZmZlclRpbWVyKCp0aGlzLCAmU291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJUaW1lckZpcmVkKQog
ICAgICwgbV9hcHBlbmRXaW5kb3dTdGFydChNZWRpYVRpbWU6Onplcm9UaW1lKCkpCiAgICAgLCBt
X2FwcGVuZFdpbmRvd0VuZChNZWRpYVRpbWU6OnBvc2l0aXZlSW5maW5pdGVUaW1lKCkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaAppbmRl
eCBkNDIzZDEwOTE0MzQyMWMxMGM4MWQxZTZjMjE4YzJhZjU3ZjMxY2U2Li4yY2ZmNjc4ZjYwMTZj
ZWQ3ZWZiNDY5NzgxYjFkZjJhYTYyOWZiNzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKQEAgLTM1LDkgKzM1LDkgQEAKIAogI2lu
Y2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIkF1ZGlvVHJhY2suaCIKKyNpbmNs
dWRlICJFdmVudExvb3BFdmVudFF1ZXVlLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNp
bmNsdWRlICJFeGNlcHRpb25Pci5oIgotI2luY2x1ZGUgIkdlbmVyaWNFdmVudFF1ZXVlLmgiCiAj
aW5jbHVkZSAiU291cmNlQnVmZmVyUHJpdmF0ZS5oIgogI2luY2x1ZGUgIlNvdXJjZUJ1ZmZlclBy
aXZhdGVDbGllbnQuaCIKICNpbmNsdWRlICJUZXh0VHJhY2suaCIKQEAgLTIwOCw3ICsyMDgsNyBA
QCBwcml2YXRlOgogCiAgICAgUmVmPFNvdXJjZUJ1ZmZlclByaXZhdGU+IG1fcHJpdmF0ZTsKICAg
ICBNZWRpYVNvdXJjZSogbV9zb3VyY2U7Ci0gICAgVW5pcXVlUmVmPE1haW5UaHJlYWRHZW5lcmlj
RXZlbnRRdWV1ZT4gbV9hc3luY0V2ZW50UXVldWU7CisgICAgVW5pcXVlUmVmPEV2ZW50TG9vcEV2
ZW50UXVldWU+IG1fYXN5bmNFdmVudFF1ZXVlOwogICAgIEFwcGVuZE1vZGUgbV9tb2RlIHsgQXBw
ZW5kTW9kZTo6U2VnbWVudHMgfTsKIAogICAgIFZlY3Rvcjx1bnNpZ25lZCBjaGFyPiBtX3BlbmRp
bmdBcHBlbmREYXRhOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNv
dXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
b3VyY2UvU291cmNlQnVmZmVyTGlzdC5jcHAKaW5kZXggMmM0NzhjNTk4NTE1YmUyOGM0NjYyZDhj
NjE3Njg1Mzg4MGExYmJjOS4uODM2ZDRjMDhiNjRlZjc4N2Y5NzI3NThjYmRhNzNlNWU5N2M4MzM3
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VC
dWZmZXJMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1Nv
dXJjZUJ1ZmZlckxpc3QuY3BwCkBAIC00NCw3ICs0NCw3IEBAIFdURl9NQUtFX0lTT19BTExPQ0FU
RURfSU1QTChTb3VyY2VCdWZmZXJMaXN0KTsKIAogU291cmNlQnVmZmVyTGlzdDo6U291cmNlQnVm
ZmVyTGlzdChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogICAgIDogQWN0aXZlRE9N
T2JqZWN0KGNvbnRleHQpCi0gICAgLCBtX2FzeW5jRXZlbnRRdWV1ZShNYWluVGhyZWFkR2VuZXJp
Y0V2ZW50UXVldWU6OmNyZWF0ZSgqdGhpcykpCisgICAgLCBtX2FzeW5jRXZlbnRRdWV1ZShFdmVu
dExvb3BFdmVudFF1ZXVlOjpjcmVhdGUoKnRoaXMpKQogewogICAgIHN1c3BlbmRJZk5lZWRlZCgp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3Vy
Y2VCdWZmZXJMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJj
ZUJ1ZmZlckxpc3QuaAppbmRleCA5YzhhYWEyZWJiMjIwODA5MDhkZTIyNTE3NzE3ZWJlZWM1Zjg4
MzFlLi5kMzlmNzI5YzkyOGY4MDM1MWFkNjc1NTU2ZWExYjkyMWY0ZWNmMWMwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3Qu
aApAQCAtMzMsOCArMzMsOCBAQAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAKICNpbmNsdWRl
ICJBY3RpdmVET01PYmplY3QuaCIKKyNpbmNsdWRlICJFdmVudExvb3BFdmVudFF1ZXVlLmgiCiAj
aW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKLSNpbmNsdWRlICJHZW5lcmljRXZlbnRRdWV1ZS5oIgog
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBA
IC04MCw3ICs4MCw3IEBAIHByaXZhdGU6CiAKICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmpl
Y3ROYW1lKCkgY29uc3QgZmluYWw7CiAKLSAgICBVbmlxdWVSZWY8TWFpblRocmVhZEdlbmVyaWNF
dmVudFF1ZXVlPiBtX2FzeW5jRXZlbnRRdWV1ZTsKKyAgICBVbmlxdWVSZWY8RXZlbnRMb29wRXZl
bnRRdWV1ZT4gbV9hc3luY0V2ZW50UXVldWU7CiAKICAgICBWZWN0b3I8UmVmUHRyPFNvdXJjZUJ1
ZmZlcj4+IG1fbGlzdDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Jl
bW90ZXBsYXliYWNrL1JlbW90ZVBsYXliYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cmVtb3RlcGxheWJhY2svUmVtb3RlUGxheWJhY2suY3BwCmluZGV4IDFiOTU2NTJiMzk5OTJmNGY3
OWQ1ZjVlZWVhMzc3OWQ2YjUwYTA2ZjMuLjY0N2U1ZGNmYWJjMmE1YjdjYjRkYzg1MDNkYjVmOWMz
MDcxYzVlMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcmVtb3RlcGxheWJh
Y2svUmVtb3RlUGxheWJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcmVtb3Rl
cGxheWJhY2svUmVtb3RlUGxheWJhY2suY3BwCkBAIC01MCw3ICs1MCw3IEBAIFJlZjxSZW1vdGVQ
bGF5YmFjaz4gUmVtb3RlUGxheWJhY2s6OmNyZWF0ZShIVE1MTWVkaWFFbGVtZW50JiBlbGVtZW50
KQogUmVtb3RlUGxheWJhY2s6OlJlbW90ZVBsYXliYWNrKEhUTUxNZWRpYUVsZW1lbnQmIGVsZW1l
bnQpCiAgICAgOiBXZWJDb3JlOjpBY3RpdmVET01PYmplY3QoZWxlbWVudC5zY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkpCiAgICAgLCBtX21lZGlhRWxlbWVudChtYWtlV2Vha1B0cihlbGVtZW50KSkK
LSAgICAsIG1fZXZlbnRRdWV1ZShNYWluVGhyZWFkR2VuZXJpY0V2ZW50UXVldWU6OmNyZWF0ZSgq
dGhpcykpCisgICAgLCBtX2V2ZW50UXVldWUoRXZlbnRMb29wRXZlbnRRdWV1ZTo6Y3JlYXRlKCp0
aGlzKSkKICAgICAsIG1fdGFza1F1ZXVlKGVsZW1lbnQuc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
KQogewogICAgIHN1c3BlbmRJZk5lZWRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9yZW1vdGVwbGF5YmFjay9SZW1vdGVQbGF5YmFjay5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9yZW1vdGVwbGF5YmFjay9SZW1vdGVQbGF5YmFjay5oCmluZGV4IDE2OTlkYmJhYzdj
NTAzNzdkYmYxNDg0M2NiNzI5ZjQ2YjFkNThkM2EuLmE1NTdkMWU3OTZjNDFmYWZhNjQwZTM5YTM1
NTg2Y2U0MWU2NDI3YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcmVtb3Rl
cGxheWJhY2svUmVtb3RlUGxheWJhY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Jl
bW90ZXBsYXliYWNrL1JlbW90ZVBsYXliYWNrLmgKQEAgLTI4LDggKzI4LDggQEAKICNpZiBFTkFC
TEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0
LmgiCisjaW5jbHVkZSAiRXZlbnRMb29wRXZlbnRRdWV1ZS5oIgogI2luY2x1ZGUgIkV2ZW50VGFy
Z2V0LmgiCi0jaW5jbHVkZSAiR2VuZXJpY0V2ZW50UXVldWUuaCIKICNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgpAQCAtMTAwLDcgKzEwMCw3IEBAIHByaXZhdGU6CiAgICAgU3RhdGUgbV9zdGF0ZSB7IFN0YXRl
OjpEaXNjb25uZWN0ZWQgfTsKICAgICBib29sIG1fYXZhaWxhYmxlIHsgZmFsc2UgfTsKIAotICAg
IFVuaXF1ZVJlZjxNYWluVGhyZWFkR2VuZXJpY0V2ZW50UXVldWU+IG1fZXZlbnRRdWV1ZTsKKyAg
ICBVbmlxdWVSZWY8RXZlbnRMb29wRXZlbnRRdWV1ZT4gbV9ldmVudFF1ZXVlOwogICAgIEV2ZW50
TG9vcFRhc2tRdWV1ZSBtX3Rhc2tRdWV1ZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggOGEyMGM4
MDI1N2UzNjE3ODgwYzJmMzVjOGM5OWFjMWJkM2QzMDJjMy4uYjRhMzAzNGRkNmM5NDAzYTMxMDgw
M2ZjOGRkNWM0MDBkYzdjNzhlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTk0OSw2ICs5NDksNyBAQCBk
b20vRXZlbnRDb250ZXh0LmNwcAogZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHAKIGRvbS9FdmVudExp
c3RlbmVyTWFwLmNwcAogZG9tL0V2ZW50TG9vcC5jcHAKK2RvbS9FdmVudExvb3BFdmVudFF1ZXVl
LmNwcAogZG9tL0V2ZW50TmFtZXMuY3BwCiBkb20vRXZlbnRQYXRoLmNwcAogZG9tL0V2ZW50VGFy
Z2V0LmNwcApAQCAtOTU4LDcgKzk1OSw2IEBAIGRvbS9FeHRlbnNpb25TdHlsZVNoZWV0cy5jcHAK
IGRvbS9Gb2N1c0V2ZW50LmNwcAogZG9tL0Z1bGxzY3JlZW5NYW5hZ2VyLmNwcAogZG9tL0dDUmVh
Y2hhYmxlUmVmLmNwcAotZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmNwcAogZG9tL0hhc2hDaGFuZ2VF
dmVudC5jcHAKIGRvbS9JZFRhcmdldE9ic2VydmVyLmNwcAogZG9tL0lkVGFyZ2V0T2JzZXJ2ZXJS
ZWdpc3RyeS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCA2ZjgwMDMxZjA3NmE3NDE2ZDNkZTEzMGFjNDBjMzRkMGIzNzBiMWU1
Li40NmYyNjgyODQ4YjBlNTk3NjI3MTVhYzIwMmI1MTVlNGYzMzM0MTNkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDIsNyAr
MTAyLDcgQEAKIAkJMDcxQTlFQzMxNjhGQkM1NTAwMjYyOUY5IC8qIFRleHRUcmFja0N1ZUdlbmVy
aWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MUE5
RUMxMTY4RkI1NkMwMDI2MjlGOSAvKiBUZXh0VHJhY2tDdWVHZW5lcmljLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDcxRTQ5NkUxQUQ1QUEwRDAw
OEE1MEI0IC8qIE1lZGlhUGxheWJhY2tUYXJnZXRDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MUU0OTZEMUFENUFBMEQwMDhBNTBCNCAvKiBN
ZWRpYVBsYXliYWNrVGFyZ2V0Q29jb2EubW0gKi87IH07CiAJCTA3MUU0OTcwMUFENUFCNUUwMDhB
NTBCNCAvKiBNZWRpYVBsYXliYWNrVGFyZ2V0Q29jb2EuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MUU0OTZGMUFENUFCNUUwMDhBNTBCNCAvKiBNZWRp
YVBsYXliYWNrVGFyZ2V0Q29jb2EuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwotCQkwNzIwQjBBMTE0RDMzMjM1MDA2NDI5NTUgLyogR2VuZXJpY0V2ZW50
UXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3
MjBCMDlGMTREMzMyMzUwMDY0Mjk1NSAvKiBHZW5lcmljRXZlbnRRdWV1ZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTA3MjBCMEExMTREMzMyMzUw
MDY0Mjk1NSAvKiBFdmVudExvb3BFdmVudFF1ZXVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzIwQjA5RjE0RDMzMjM1MDA2NDI5NTUgLyogRXZlbnRM
b29wRXZlbnRRdWV1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTA3MjVFRkE5MjM5QUQ3OTMwMEE1MzhBOSAvKiBNZWRpYVBsYXllclByaXZhdGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3OUY1RTRC
MEYzQkVCRUEwMDVFMDc4MiAvKiBNZWRpYVBsYXllclByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwNzI3N0U0RDE3RDAxOENDMDAxNTUz
NEQgLyogSlNNZWRpYVN0cmVhbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMDcyNzdFNDExN0QwMThDQzAwMTU1MzREIC8qIEpTTWVkaWFTdHJlYW0uaCAq
LzsgfTsKIAkJMDcyNzdFNEQxN0QwMThDQzAwMTU1MzRFIC8qIEpTQ2FudmFzQ2FwdHVyZU1lZGlh
U3RyZWFtVHJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDA3Mjc3RTQxMTdEMDE4Q0MwMDE1NTM0RSAvKiBKU0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVh
bVRyYWNrLmggKi87IH07CkBAIC01NzgxLDggKzU3ODEsOCBAQAogCQkwNzFBOUVDMTE2OEZCNTZD
MDAyNjI5RjkgLyogVGV4dFRyYWNrQ3VlR2VuZXJpYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBUZXh0VHJhY2tDdWVHZW5lcmljLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTA3MUU0OTZEMUFENUFBMEQwMDhBNTBCNCAvKiBNZWRpYVBsYXliYWNrVGFyZ2V0Q29j
b2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBNZWRpYVBsYXli
YWNrVGFyZ2V0Q29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3MUU0OTZG
MUFENUFCNUUwMDhBNTBCNCAvKiBNZWRpYVBsYXliYWNrVGFyZ2V0Q29jb2EuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFQbGF5YmFja1RhcmdldENvY29hLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA3MjBCMDlFMTREMzMyMzUwMDY0Mjk1NSAvKiBHZW5l
cmljRXZlbnRRdWV1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBH
ZW5lcmljRXZlbnRRdWV1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA3MjBC
MDlGMTREMzMyMzUwMDY0Mjk1NSAvKiBHZW5lcmljRXZlbnRRdWV1ZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBHZW5lcmljRXZlbnRRdWV1ZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwNzIwQjA5RTE0RDMzMjM1MDA2NDI5NTUgLyogRXZlbnRMb29wRXZlbnRR
dWV1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFdmVudExvb3BF
dmVudFF1ZXVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDcyMEIwOUYxNEQz
MzIzNTAwNjQyOTU1IC8qIEV2ZW50TG9vcEV2ZW50UXVldWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRXZlbnRMb29wRXZlbnRRdWV1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkwNzIyMUI0QzE3Q0VDMzI3MDA4NDhFNTEgLyogTWVkaWFTdHJlYW0uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFTdHJlYW0uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzIyMUI0RDE3Q0VDMzI3MDA4NDhFNTEgLyogTWVk
aWFTdHJlYW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFTdHJlYW0u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDcyMjFCNEUxN0NFQzMyNzAwODQ4RTUx
IC8qIE1lZGlhU3RyZWFtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBNZWRpYVN0cmVhbS5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zMDE4OCw4ICszMDE4OCw2IEBACiAJ
CQkJOTMwN0YxRDYwQUYyRDU5MDAwREJBMzFBIC8qIEhpdFRlc3RSZXN1bHQuaCAqLywKIAkJCQlC
NTFBMkY0MDE3RDdENURBMDA3MjUxN0EgLyogSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAgKi8s
CiAJCQkJQjUxQTJGM0UxN0Q3RDNBNDAwNzI1MTdBIC8qIEltYWdlUXVhbGl0eUNvbnRyb2xsZXIu
aCAqLywKLQkJCQlBOENGRjVERjBBMTU1QTA1MDAwQTQyMzQgLyogTGVnYWN5SW5saW5lQm94LmNw
cCAqLywKLQkJCQlBOENGRjVERTBBMTU1QTA1MDAwQTQyMzQgLyogTGVnYWN5SW5saW5lQm94Lmgg
Ki8sCiAJCQkJQjU3Q0I1MkMxODJBM0VFRDAwNzlBNjQ3IC8qIElubGluZUVsZW1lbnRCb3guY3Bw
ICovLAogCQkJCUI1N0NCNTJCMTgyQTM3RjYwMDc5QTY0NyAvKiBJbmxpbmVFbGVtZW50Qm94Lmgg
Ki8sCiAJCQkJOTMwQzkwREMxOUNGOTY1MzAwRDZDMjFBIC8qIElubGluZUl0ZXJhdG9yLmNwcCAq
LywKQEAgLTMwMjA1LDYgKzMwMjAzLDggQEAKIAkJCQk5QkQxRjY4MDFGMDQ2MkI4MDAxQzlDREQg
LyogTGF5b3V0RGlzYWxsb3dlZFNjb3BlLmggKi8sCiAJCQkJQTEyMEFDQTExM0Y5OTg0NjAwRkU0
QUM3IC8qIExheW91dFJlcGFpbnRlci5jcHAgKi8sCiAJCQkJQTEyMEFDQTAxM0Y5OTgzNzAwRkU0
QUM3IC8qIExheW91dFJlcGFpbnRlci5oICovLAorCQkJCUE4Q0ZGNURGMEExNTVBMDUwMDBBNDIz
NCAvKiBMZWdhY3lJbmxpbmVCb3guY3BwICovLAorCQkJCUE4Q0ZGNURFMEExNTVBMDUwMDBBNDIz
NCAvKiBMZWdhY3lJbmxpbmVCb3guaCAqLywKIAkJCQlBOENGRjVERDBBMTU1QTA1MDAwQTQyMzQg
LyogTGVnYWN5SW5saW5lRmxvd0JveC5jcHAgKi8sCiAJCQkJQThDRkY1REMwQTE1NUEwNTAwMEE0
MjM0IC8qIExlZ2FjeUlubGluZUZsb3dCb3guaCAqLywKIAkJCQlCQ0VBNDgxMzA5N0Q5MzAyMDA5
NEM5RTQgLyogTGVnYWN5TGluZUxheW91dC5jcHAgKi8sCkBAIC0zMDY2NSw2ICszMDY2NSw4IEBA
CiAJCQkJNDZCRDA1QzAyNUJCNkU0RDAwMjI1RjMwIC8qIEV2ZW50TGlzdGVuZXJPcHRpb25zLmlk
bCAqLywKIAkJCQk5QjkxRENDQzIzODM3OTJEMDAwRUVFMEYgLyogRXZlbnRMb29wLmNwcCAqLywK
IAkJCQk5QjBBQkNBMTIzNjc5QUIzMDBCNDUwODUgLyogRXZlbnRMb29wLmggKi8sCisJCQkJMDcy
MEIwOUUxNEQzMzIzNTAwNjQyOTU1IC8qIEV2ZW50TG9vcEV2ZW50UXVldWUuY3BwICovLAorCQkJ
CTA3MjBCMDlGMTREMzMyMzUwMDY0Mjk1NSAvKiBFdmVudExvb3BFdmVudFF1ZXVlLmggKi8sCiAJ
CQkJODNGRTdDQTMxREE5RjE2NTAwMzcyMzdDIC8qIEV2ZW50TW9kaWZpZXJJbml0LmggKi8sCiAJ
CQkJODNGRTdDQTYxREE5RjE2NjAwMzcyMzdDIC8qIEV2ZW50TW9kaWZpZXJJbml0LmlkbCAqLywK
IAkJCQk5Mzk4ODVDMTA4QjdFM0QxMDBFNzA3QzQgLyogRXZlbnROYW1lcy5jcHAgKi8sCkBAIC0z
MDY5Nyw4ICszMDY5OSw2IEBACiAJCQkJQ0Q5MkY1MTYyMjYxMDM4MjAwRjg3QkIzIC8qIEZ1bGxz
Y3JlZW5NYW5hZ2VyLmggKi8sCiAJCQkJOUJBQUM0NTgyMTUxRTc3QTAwM0Q0QTk4IC8qIEdDUmVh
Y2hhYmxlUmVmLmNwcCAqLywKIAkJCQk5QkFBQzQ1NjIxNTFFMzlFMDAzRDRBOTggLyogR0NSZWFj
aGFibGVSZWYuaCAqLywKLQkJCQkwNzIwQjA5RTE0RDMzMjM1MDA2NDI5NTUgLyogR2VuZXJpY0V2
ZW50UXVldWUuY3BwICovLAotCQkJCTA3MjBCMDlGMTREMzMyMzUwMDY0Mjk1NSAvKiBHZW5lcmlj
RXZlbnRRdWV1ZS5oICovLAogCQkJCTdDMkQ3MjJFMjUwODNBMzQwMDUzOTY2MiAvKiBHbG9iYWxF
dmVudEhhbmRsZXJzK1BvaW50ZXJFdmVudHMuaWRsICovLAogCQkJCTQ0QkQyQjM2MjUyNzc5Nzgw
MDU1RDk1QSAvKiBHbG9iYWxFdmVudEhhbmRsZXJzK1NlbGVjdGlvbi5pZGwgKi8sCiAJCQkJN0M0
MTg5QUIxQjA3QzE3MDAwMEZBNzU3IC8qIEdsb2JhbEV2ZW50SGFuZGxlcnMuaWRsICovLApAQCAt
MzIwNDEsNyArMzIwNDEsNiBAQAogCQkJCUUxRkUxMzc1MTg0MDJBNjcwMDg5MkYxMyAvKiBDb21t
b25DcnlwdG9VdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNjBGMzJCMURGQkIxMDcw
MDQxNkQ2QyAvKiBDb21tb25WTS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M5M0YzNEExQUE2QkE1
RTAwQTk4QkFCIC8qIENvbXBpbGVkQ29udGVudEV4dGVuc2lvbi5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJRTRFOTRENjEyMkZGMTU4QTAwREQxOTFGIC8qIExlZ2FjeUxpbmVMYXlvdXQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUMyRjRFNzhDMUU0NUMzRUYwMDZENzEwNSAvKiBDb21wbGV4VGV4dENvbnRy
b2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0QkE1MDkwMUJDRkJEOTUwMEUzNEVGNyAvKiBD
b21wb3NlZFRyZWVBbmNlc3Rvckl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNDRGQTE4
NTFCQ0E2QjVBMDA5MUI2RUYgLyogQ29tcG9zZWRUcmVlSXRlcmF0b3IuaCBpbiBIZWFkZXJzICov
LApAQCAtMzIyMDEsNiArMzIyMDAsNyBAQAogCQkJCUJDRjE2NDU5MjY2MkExRTkwMDAyRjdFRiAv
KiBDU1NDYWxjTmVnYXRlTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNGMTY0NjEyNjYyQTI4
RDAwMDJGN0VGIC8qIENTU0NhbGNPcGVyYXRpb25Ob2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
Q0YxNjQ1NTI2NjJBMTIyMDAwMkY3RUYgLyogQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlTm9kZS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQkM3MDlERTAyNjYzMjNDRjAwQjlBMjFDIC8qIENTU0NhbGNTeW1i
b2xUYWJsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlBRTJEOEYxMzRFRTUwQzAwNzI5MjBBIC8q
IENTU0NhbGNWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM2MDQ5Q0MwREI1NjBDMjAwMjA0
NzM5IC8qIENTU0NhbnZhc1ZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VBNDc5MDA5N0NB
QUM4MDA5NEM5RTQgLyogQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmggaW4gSGVhZGVycyAq
LywKQEAgLTMyNTkxLDYgKzMyNTkxLDcgQEAKIAkJCQlBRDQ0OTVGNDE0MUZDMDg5MDA1NDFFREYg
LyogRXZlbnRMaXN0ZW5lck1hcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDZCRDA1QzYyNUJCNkU2
QzAwMjI1RjMwIC8qIEV2ZW50TGlzdGVuZXJPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk0
NkYwMkExQTIzNzM3RjgzMDAxMDZBNjQgLyogRXZlbnRMb29wLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkwNzIwQjBBMTE0RDMzMjM1MDA2NDI5NTUgLyogRXZlbnRMb29wRXZlbnRRdWV1ZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJODNGRTdDQTgxREE5RjFCNjAwMzcyMzdDIC8qIEV2ZW50TW9kaWZpZXJJ
bml0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5Mzk4ODVDNDA4QjdFM0QxMDBFNzA3QzQgLyogRXZl
bnROYW1lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOUI3MTRFMjExQzkxMTY2OTAwQUMwRTkyIC8q
IEV2ZW50UGF0aC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMjc4OSw3ICszMjc5MCw2IEBACiAJCQkJ
QzBDMDU0Q0MxMTE4QzhFNDAwQ0UyNjM2IC8qIGdlbmVyYXRlLWJpbmRpbmdzLnBsIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkMyM0YwREIwREFGRjRBNDAwOUZEQzkxIC8qIEdlbmVyYXRlZEltYWdlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk4MzAwMzBGNjFCN0QzM0I1MDBFRDNBQUMgLyogR2VuZXJpY0Nh
Y2hlZEhUTUxDb2xsZWN0aW9uLmggaW4gSGVhZGVycyAqLywKLQkJCQkwNzIwQjBBMTE0RDMzMjM1
MDA2NDI5NTUgLyogR2VuZXJpY0V2ZW50UXVldWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUNENjJG
Qjk2MUFGMDE4RTcwMDEyRUQ3RCAvKiBHZW5lcmljVGFza1F1ZXVlLmggaW4gSGVhZGVycyAqLywK
IAkJCQk5NzQ2QUYyNDE0RjREREU2MDAzRTdBNzAgLyogR2VvbG9jYXRpb24uaCBpbiBIZWFkZXJz
ICovLAogCQkJCTk3NDZBRjI1MTRGNERERTYwMDNFN0E3MSAvKiBHZW9sb2NhdGlvbkNsaWVudC5o
IGluIEhlYWRlcnMgKi8sCkBAIC0zMzE0MCwxMSArMzMxNDAsOSBAQAogCQkJCTUxRUVBQTc0MUJF
RkZBQjEwMDIxODAwOCAvKiBJbmRleFZhbHVlRW50cnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
NzEzOEY4MUJGMTI4QkIwMDBENUYwMSAvKiBJbmRleFZhbHVlU3RvcmUuaCBpbiBIZWFkZXJzICov
LAogCQkJCUNEMDYzRjgzMUUyM0ZBODkwMDgxMkJFMyAvKiBJbml0RGF0YVJlZ2lzdHJ5LmggaW4g
SGVhZGVycyAqLywKLQkJCQlBOENGRjVFNTBBMTU1QTA1MDAwQTQyMzQgLyogTGVnYWN5SW5saW5l
Qm94LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzA1OTI2NDFFMjdBM0FEMDBENTdDOTggLyogSW5s
aW5lQ2xhc3NpY1NjcmlwdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkZFMTk4MTcyMTc4Mzk3QzAw
NDQ2RjA4IC8qIElubGluZUNvbnRlbnRCcmVha2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCNTdD
QjUyRTE4MkEzRUZDMDA3OUE2NDcgLyogSW5saW5lRWxlbWVudEJveC5oIGluIEhlYWRlcnMgKi8s
Ci0JCQkJQThDRkY1RTMwQTE1NUEwNTAwMEE0MjM0IC8qIExlZ2FjeUlubGluZUZsb3dCb3guaCBp
biBIZWFkZXJzICovLAogCQkJCTZGN0NBM0NBMjA4QzJCMkUwMDJGMjlBQiAvKiBJbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDdDNEQ1N0QyNjUwOEJDQjAwQzdB
QjFGIC8qIElubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkZF
NjM2RTgyNjQ3OTYyOTAwRjA5NTFFIC8qIElubGluZUZvcm1hdHRpbmdRdWlya3MuaCBpbiBIZWFk
ZXJzICovLApAQCAtMzQxNjYsOSArMzQxNjQsMTMgQEAKIAkJCQlDREY0QjcxMjFFMDA4N0FFMDBF
MjM1QTIgLyogTGVnYWN5Q0RNU2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RFOEI1RjEx
QTY5Nzc4QjAwQjRCNjZBIC8qIExlZ2FjeUNETVNlc3Npb25DbGVhcktleS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMkRFNzAwMjMxOTJGRTgyQTAwQjA5NzVDIC8qIExlZ2FjeURpc3BsYXlSZWZyZXNo
TW9uaXRvck1hYy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQThDRkY1RTUwQTE1NUEwNTAwMEE0MjM0
IC8qIExlZ2FjeUlubGluZUJveC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQThDRkY1RTMwQTE1NUEw
NTAwMEE0MjM0IC8qIExlZ2FjeUlubGluZUZsb3dCb3guaCBpbiBIZWFkZXJzICovLAorCQkJCUU0
RTk0RDYxMjJGRjE1OEEwMEREMTkxRiAvKiBMZWdhY3lMaW5lTGF5b3V0LmggaW4gSGVhZGVycyAq
LywKIAkJCQlGNDRBNUY1OTFGRUQzOEYyMDA3RjU5NDQgLyogTGVnYWN5TlNQYXN0ZWJvYXJkVHlw
ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUExODVCNDJBMUU4MjExQTEwMERDOTExOCAvKiBMZWdh
Y3lQcmV2aWV3TG9hZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTBEQkY0NzE4RjkyMzE3MDAw
RDcwQzYgLyogTGVnYWN5UHJldmlld0xvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
QThDRkY1RTEwQTE1NUEwNTAwMEE0MjM0IC8qIExlZ2FjeVJvb3RJbmxpbmVCb3guaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUxNjJDN0Y1MTFGNzdFRkIwMDYxMkVGRSAvKiBMZWdhY3lTY2hlbWVSZWdp
c3RyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTRDM0IxRkEwRjBFNDE2MTAwOTY5M0Y2IC8qIExl
Z2FjeVRpbGVDYWNoZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTRCNjVBNTgxMzJGQThFNzAwNzBF
N0JFIC8qIExlZ2FjeVRpbGVHcmlkLmggaW4gSGVhZGVycyAqLywKQEAgLTM0Njc4LDcgKzM0Njgw
LDYgQEAKIAkJCQkyNjYwMUVCRjE0QjNCOUFEMDAxMkMwRkUgLyogUGxhdGZvcm1FdmVudEZhY3Rv
cnlJT1MuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQUE0ODcwMTRBMDUyNTMwMDg4RkFDNCAvKiBQ
bGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTcyM0Y3N0IxNDg0
Q0E0QzAwOEM2REJFIC8qIFBsYXRmb3JtRXhwb3J0TWFjcm9zLmggaW4gSGVhZGVycyAqLywKLQkJ
CQlCQzcwOURFMDI2NjMyM0NGMDBCOUEyMUMgLyogQ1NTQ2FsY1N5bWJvbFRhYmxlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1MTVCRTE5NTFENTRGNUZCMDBERDdDNjggLyogUGxhdGZvcm1HYW1lcGFk
LmggaW4gSGVhZGVycyAqLywKIAkJCQk3MjZENTZFMjI1M0FFMjhEMDAwMkVGOTAgLyogUGxhdGZv
cm1JbWFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ3NzA1QzcyNTUyNzZDRDAwMUQwQzk0IC8q
IFBsYXRmb3JtSW1hZ2VCdWZmZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMzUwMzUsNyArMzUwMzYs
NiBAQAogCQkJCUZEMzE2MEE5MTJCMDI2RjcwMEMxQTM1OSAvKiBSZXZlcmJDb252b2x2ZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCUZEMzE2MEFCMTJCMDI2RjcwMEMxQTM1OSAvKiBSZXZlcmJDb252
b2x2ZXJTdGFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQzMTYwQUQxMkIwMjZGNzAwQzFBMzU5
IC8qIFJldmVyYklucHV0QnVmZmVyLmggaW4gSGVhZGVycyAqLywKLQkJCQlBOENGRjVFMTBBMTU1
QTA1MDAwQTQyMzQgLyogTGVnYWN5Um9vdElubGluZUJveC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NDlFOTExQzkwRUY4NkQ0NzAwOUQwQ0FGIC8qIFJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTczRjk1RkYxMkM5N0JGRTAwMzFBQUY5IC8qIFJvdW5kZWRSZWN0
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0UyMzM2MzFEQzdEQTI0MDBGMjhEMDEgLyogUnNhT3Ro
ZXJQcmltZXNJbmZvLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudExvb3BFdmVudFF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudExv
b3BFdmVudFF1ZXVlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOGMxNjIxNzJhMzdhYmQ1MmU0NmUyYzZiMzA4
ZjkxZWEzMDI5OWVjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
TG9vcEV2ZW50UXVldWUuY3BwCkBAIC0wLDAgKzEsMTE4IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEyIFZpY3RvciBDYXJidW5lICh2aWN0b3JAcm9zZWR1Lm9yZykKKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJFdmVudExvb3BFdmVudFF1ZXVlLmgiCisKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2lu
Y2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiRXZlbnRMb29wLmgiCisjaW5jbHVkZSAiRXZlbnRU
YXJnZXQuaCIKKyNpbmNsdWRlICJOb2RlLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5oIgorI2luY2x1ZGUgIlRpbWVyLmgiCisjaW5jbHVkZSA8d3RmL0FsZ29yaXRobXMuaD4K
KyNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgorI2luY2x1ZGUgPHd0Zi9TZXRGb3JTY29wZS5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0V2ZW50TG9vcEV2ZW50UXVldWU6OkV2ZW50TG9v
cEV2ZW50UXVldWUoRXZlbnRUYXJnZXQmIG93bmVyKQorICAgIDogQWN0aXZlRE9NT2JqZWN0KG93
bmVyLnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKKyAgICAsIG1fb3duZXIob3duZXIpCit7Cit9
CisKK3ZvaWQgRXZlbnRMb29wRXZlbnRRdWV1ZTo6ZW5xdWV1ZUV2ZW50KFJlZlB0cjxFdmVudD4m
JiBldmVudCkKK3sKKyAgICBpZiAobV9pc0Nsb3NlZCB8fCAhc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoZXZlbnQtPnRhcmdldCgpID09ICZtX293
bmVyKQorICAgICAgICBldmVudC0+c2V0VGFyZ2V0KG51bGxwdHIpOworCisgICAgbV9wZW5kaW5n
RXZlbnRzLmFwcGVuZChXVEZNb3ZlKGV2ZW50KSk7CisKKyAgICBzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCktPmV2ZW50TG9vcCgpLnF1ZXVlVGFzayhUYXNrU291cmNlOjpNZWRpYUVsZW1lbnQsIFt3
ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKV0geworICAgICAgICBpZiAod2Vha1RoaXMpCisg
ICAgICAgICAgICB3ZWFrVGhpcy0+ZGlzcGF0Y2hPbmVFdmVudCgpOworICAgIH0pOworfQorCit2
b2lkIEV2ZW50TG9vcEV2ZW50UXVldWU6OmRpc3BhdGNoT25lRXZlbnQoKQoreworICAgIEFTU0VS
VCghbV9wZW5kaW5nRXZlbnRzLmlzRW1wdHkoKSk7CisKKyAgICBSZWY8RXZlbnRUYXJnZXQ+IHBy
b3RlY3RlZE93bmVyKG1fb3duZXIpOworICAgIFNldEZvclNjb3BlPGJvb2w+IGV2ZW50RmlyaW5n
U2NvcGUobV9pc0ZpcmluZ0V2ZW50LCB0cnVlKTsKKworICAgIFJlZlB0cjxFdmVudD4gZXZlbnQg
PSBtX3BlbmRpbmdFdmVudHMudGFrZUZpcnN0KCk7CisgICAgUmVmPEV2ZW50VGFyZ2V0PiB0YXJn
ZXQgPSBldmVudC0+dGFyZ2V0KCkgPyAqZXZlbnQtPnRhcmdldCgpIDogbV9vd25lcjsKKyAgICBB
U1NFUlRfV0lUSF9NRVNTQUdFKCF0YXJnZXQtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWN0
aXZlRE9NT2JqZWN0c0FyZVN0b3BwZWQoKSwKKyAgICAgICAgIkFuIGF0dGVtcHQgdG8gZGlzcGF0
Y2ggYW4gZXZlbnQgb24gYSBzdG9wcGVkIHRhcmdldCBieSBFdmVudFRhcmdldEludGVyZmFjZT0l
ZCAobm9kZU5hbWU9JXMgdGFyZ2V0PSVwIG93bmVyPSVwKSIsCisgICAgICAgIG1fb3duZXIuZXZl
bnRUYXJnZXRJbnRlcmZhY2UoKSwgbV9vd25lci5pc05vZGUoKSA/IHN0YXRpY19jYXN0PE5vZGUm
PihtX293bmVyKS5ub2RlTmFtZSgpLmFzY2lpKCkuZGF0YSgpIDogIiIsIHRhcmdldC5wdHIoKSwg
Jm1fb3duZXIpOworICAgIHRhcmdldC0+ZGlzcGF0Y2hFdmVudCgqZXZlbnQpOworfQorCit2b2lk
IEV2ZW50TG9vcEV2ZW50UXVldWU6OmNsb3NlKCkKK3sKKyAgICBtX2lzQ2xvc2VkID0gdHJ1ZTsK
KyAgICBjYW5jZWxBbGxFdmVudHMoKTsKK30KKwordm9pZCBFdmVudExvb3BFdmVudFF1ZXVlOjpj
YW5jZWxBbGxFdmVudHMoKQoreworICAgIHdlYWtQdHJGYWN0b3J5KCkucmV2b2tlQWxsKCk7Cisg
ICAgbV9wZW5kaW5nRXZlbnRzLmNsZWFyKCk7Cit9CisKK2Jvb2wgRXZlbnRMb29wRXZlbnRRdWV1
ZTo6aGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gIW1fcGVuZGluZ0V2
ZW50cy5pc0VtcHR5KCkgfHwgbV9pc0ZpcmluZ0V2ZW50OworfQorCitib29sIEV2ZW50TG9vcEV2
ZW50UXVldWU6Omhhc1BlbmRpbmdFdmVudHNPZlR5cGUoY29uc3QgQXRvbVN0cmluZyYgdHlwZSkg
Y29uc3QKK3sKKyAgICByZXR1cm4gV1RGOjphbnlPZihtX3BlbmRpbmdFdmVudHMsIFsmXShhdXRv
JiBldmVudCkgeyByZXR1cm4gZXZlbnQtPnR5cGUoKSA9PSB0eXBlOyB9KTsKK30KKwordm9pZCBF
dmVudExvb3BFdmVudFF1ZXVlOjpzdG9wKCkKK3sKKyAgICBjbG9zZSgpOworfQorCitjb25zdCBj
aGFyKiBFdmVudExvb3BFdmVudFF1ZXVlOjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gIkV2ZW50TG9vcEV2ZW50UXVldWUiOworfQorCitVbmlxdWVSZWY8RXZlbnRM
b29wRXZlbnRRdWV1ZT4gRXZlbnRMb29wRXZlbnRRdWV1ZTo6Y3JlYXRlKEV2ZW50VGFyZ2V0JiBl
dmVudFRhcmdldCkKK3sKKyAgICBhdXRvIGV2ZW50UXVldWUgPSBtYWtlVW5pcXVlUmVmPEV2ZW50
TG9vcEV2ZW50UXVldWU+KGV2ZW50VGFyZ2V0KTsKKyAgICBldmVudFF1ZXVlLT5zdXNwZW5kSWZO
ZWVkZWQoKTsKKyAgICByZXR1cm4gZXZlbnRRdWV1ZTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50TG9vcEV2ZW50UXVldWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudExvb3BFdmVudFF1ZXVlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTU2ZmY3NDc2MmU3ZDMxNWQ0NTQz
MWExYzQyZDE5ODljMTY4NGMxYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudExvb3BFdmVudFF1ZXVlLmgKQEAgLTAsMCArMSw3MCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMiBWaWN0b3IgQ2FyYnVuZSAodmljdG9yQHJvc2VkdS5vcmcpCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1
ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgorI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgorI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9V
bmlxdWVSZWYuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIEV2ZW50OworY2xhc3MgRXZlbnRUYXJnZXQ7CitjbGFzcyBTY3JpcHRFeGVj
dXRpb25Db250ZXh0OworCisvLyBGSVhNRTogV2Ugc2hvdWxkIHBvcnQgY2FsbCBzaXRlcyB0byB0
aGUgSFRNTCBldmVudCBsb29wIGFuZCByZW1vdmUgdGhpcyBjbGFzcy4KK2NsYXNzIEV2ZW50TG9v
cEV2ZW50UXVldWUgOiBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgQ2FuTWFrZVdlYWtQ
dHI8RXZlbnRMb29wRXZlbnRRdWV1ZT4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwor
cHVibGljOgorICAgIHN0YXRpYyBVbmlxdWVSZWY8RXZlbnRMb29wRXZlbnRRdWV1ZT4gY3JlYXRl
KEV2ZW50VGFyZ2V0Jik7CisKKyAgICB2b2lkIGVucXVldWVFdmVudChSZWZQdHI8RXZlbnQ+JiYp
OworICAgIHZvaWQgY2xvc2UoKTsKKworICAgIHZvaWQgY2FuY2VsQWxsRXZlbnRzKCk7CisgICAg
Ym9vbCBoYXNQZW5kaW5nRXZlbnRzT2ZUeXBlKGNvbnN0IEF0b21TdHJpbmcmKSBjb25zdDsKKwor
ICAgIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgZnJp
ZW5kIFVuaXF1ZVJlZjxFdmVudExvb3BFdmVudFF1ZXVlPiBXVEY6Om1ha2VVbmlxdWVSZWZXaXRo
b3V0RmFzdE1hbGxvY0NoZWNrPEV2ZW50TG9vcEV2ZW50UXVldWUsIFdlYkNvcmU6OkV2ZW50VGFy
Z2V0Jj4oV2ViQ29yZTo6RXZlbnRUYXJnZXQmKTsKKyAgICBleHBsaWNpdCBFdmVudExvb3BFdmVu
dFF1ZXVlKEV2ZW50VGFyZ2V0Jik7CisKKyAgICB2b2lkIGRpc3BhdGNoT25lRXZlbnQoKTsKKwor
ICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKKyAgICB2
b2lkIHN0b3AoKSBmaW5hbDsKKworICAgIEV2ZW50VGFyZ2V0JiBtX293bmVyOworICAgIERlcXVl
PFJlZlB0cjxFdmVudD4+IG1fcGVuZGluZ0V2ZW50czsKKyAgICBib29sIG1faXNDbG9zZWQgeyBm
YWxzZSB9OworICAgIGJvb2wgbV9pc0ZpcmluZ0V2ZW50IHsgZmFsc2UgfTsKK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmlj
RXZlbnRRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJpY0V2ZW50UXVldWUuY3Bw
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYjQ4ZGQ4ZDY2ZmI5MWJiMGI5NGE4NjZk
ZDNhNzhjYWE5YjYyYjdhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmljRXZlbnRRdWV1ZS5jcHAKKysrIC9kZXYv
bnVsbApAQCAtMSwxMTggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBWaWN0b3Ig
Q2FyYnVuZSAodmljdG9yQHJvc2VkdS5vcmcpCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiR2VuZXJpY0V2
ZW50UXVldWUuaCIKLQotI2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVkZSAiRXZlbnQuaCIK
LSNpbmNsdWRlICJFdmVudExvb3AuaCIKLSNpbmNsdWRlICJFdmVudFRhcmdldC5oIgotI2luY2x1
ZGUgIk5vZGUuaCIKLSNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCi0jaW5jbHVk
ZSAiVGltZXIuaCIKLSNpbmNsdWRlIDx3dGYvQWxnb3JpdGhtcy5oPgotI2luY2x1ZGUgPHd0Zi9N
YWluVGhyZWFkLmg+Ci0jaW5jbHVkZSA8d3RmL1NldEZvclNjb3BlLmg+Ci0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLQotTWFpblRocmVhZEdlbmVyaWNFdmVudFF1ZXVlOjpNYWluVGhyZWFkR2VuZXJp
Y0V2ZW50UXVldWUoRXZlbnRUYXJnZXQmIG93bmVyKQotICAgIDogQWN0aXZlRE9NT2JqZWN0KG93
bmVyLnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKLSAgICAsIG1fb3duZXIob3duZXIpCi17Ci19
Ci0KLXZvaWQgTWFpblRocmVhZEdlbmVyaWNFdmVudFF1ZXVlOjplbnF1ZXVlRXZlbnQoUmVmUHRy
PEV2ZW50PiYmIGV2ZW50KQotewotICAgIGlmIChtX2lzQ2xvc2VkIHx8ICFzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChldmVudC0+dGFyZ2V0KCkg
PT0gJm1fb3duZXIpCi0gICAgICAgIGV2ZW50LT5zZXRUYXJnZXQobnVsbHB0cik7Ci0KLSAgICBt
X3BlbmRpbmdFdmVudHMuYXBwZW5kKFdURk1vdmUoZXZlbnQpKTsKLQotICAgIHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKS0+ZXZlbnRMb29wKCkucXVldWVUYXNrKFRhc2tTb3VyY2U6Ok1lZGlhRWxl
bWVudCwgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpXSB7Ci0gICAgICAgIGlmICh3ZWFr
VGhpcykKLSAgICAgICAgICAgIHdlYWtUaGlzLT5kaXNwYXRjaE9uZUV2ZW50KCk7Ci0gICAgfSk7
Ci19Ci0KLXZvaWQgTWFpblRocmVhZEdlbmVyaWNFdmVudFF1ZXVlOjpkaXNwYXRjaE9uZUV2ZW50
KCkKLXsKLSAgICBBU1NFUlQoIW1fcGVuZGluZ0V2ZW50cy5pc0VtcHR5KCkpOwotCi0gICAgUmVm
PEV2ZW50VGFyZ2V0PiBwcm90ZWN0KG1fb3duZXIpOwotICAgIFNldEZvclNjb3BlPGJvb2w+IGV2
ZW50RmlyaW5nU2NvcGUobV9pc0ZpcmluZ0V2ZW50LCB0cnVlKTsKLQotICAgIFJlZlB0cjxFdmVu
dD4gZXZlbnQgPSBtX3BlbmRpbmdFdmVudHMudGFrZUZpcnN0KCk7Ci0gICAgUmVmPEV2ZW50VGFy
Z2V0PiB0YXJnZXQgPSBldmVudC0+dGFyZ2V0KCkgPyAqZXZlbnQtPnRhcmdldCgpIDogbV9vd25l
cjsKLSAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCF0YXJnZXQtPnNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKS0+YWN0aXZlRE9NT2JqZWN0c0FyZVN0b3BwZWQoKSwKLSAgICAgICAgIkFuIGF0dGVtcHQg
dG8gZGlzcGF0Y2ggYW4gZXZlbnQgb24gYSBzdG9wcGVkIHRhcmdldCBieSBFdmVudFRhcmdldElu
dGVyZmFjZT0lZCAobm9kZU5hbWU9JXMgdGFyZ2V0PSVwIG93bmVyPSVwKSIsCi0gICAgICAgIG1f
b3duZXIuZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSwgbV9vd25lci5pc05vZGUoKSA/IHN0YXRpY19j
YXN0PE5vZGUmPihtX293bmVyKS5ub2RlTmFtZSgpLmFzY2lpKCkuZGF0YSgpIDogIiIsIHRhcmdl
dC5wdHIoKSwgJm1fb3duZXIpOwotICAgIHRhcmdldC0+ZGlzcGF0Y2hFdmVudCgqZXZlbnQpOwot
fQotCi12b2lkIE1haW5UaHJlYWRHZW5lcmljRXZlbnRRdWV1ZTo6Y2xvc2UoKQotewotICAgIG1f
aXNDbG9zZWQgPSB0cnVlOwotICAgIGNhbmNlbEFsbEV2ZW50cygpOwotfQotCi12b2lkIE1haW5U
aHJlYWRHZW5lcmljRXZlbnRRdWV1ZTo6Y2FuY2VsQWxsRXZlbnRzKCkKLXsKLSAgICB3ZWFrUHRy
RmFjdG9yeSgpLnJldm9rZUFsbCgpOwotICAgIG1fcGVuZGluZ0V2ZW50cy5jbGVhcigpOwotfQot
Ci1ib29sIE1haW5UaHJlYWRHZW5lcmljRXZlbnRRdWV1ZTo6aGFzUGVuZGluZ0FjdGl2aXR5KCkg
Y29uc3QKLXsKLSAgICByZXR1cm4gIW1fcGVuZGluZ0V2ZW50cy5pc0VtcHR5KCkgfHwgbV9pc0Zp
cmluZ0V2ZW50OwotfQotCi1ib29sIE1haW5UaHJlYWRHZW5lcmljRXZlbnRRdWV1ZTo6aGFzUGVu
ZGluZ0V2ZW50c09mVHlwZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlKSBjb25zdAotewotICAgIHJl
dHVybiBXVEY6OmFueU9mKG1fcGVuZGluZ0V2ZW50cywgWyZdKGF1dG8mIGV2ZW50KSB7IHJldHVy
biBldmVudC0+dHlwZSgpID09IHR5cGU7IH0pOwotfQotCi12b2lkIE1haW5UaHJlYWRHZW5lcmlj
RXZlbnRRdWV1ZTo6c3RvcCgpCi17Ci0gICAgY2xvc2UoKTsKLX0KLQotY29uc3QgY2hhciogTWFp
blRocmVhZEdlbmVyaWNFdmVudFF1ZXVlOjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKLXsK
LSAgICByZXR1cm4gIk1haW5UaHJlYWRHZW5lcmljRXZlbnRRdWV1ZSI7Ci19Ci0KLVVuaXF1ZVJl
ZjxNYWluVGhyZWFkR2VuZXJpY0V2ZW50UXVldWU+IE1haW5UaHJlYWRHZW5lcmljRXZlbnRRdWV1
ZTo6Y3JlYXRlKEV2ZW50VGFyZ2V0JiBldmVudFRhcmdldCkKLXsKLSAgICBhdXRvIGV2ZW50UXVl
dWUgPSBtYWtlVW5pcXVlUmVmPE1haW5UaHJlYWRHZW5lcmljRXZlbnRRdWV1ZT4oZXZlbnRUYXJn
ZXQpOwotICAgIGV2ZW50UXVldWUtPnN1c3BlbmRJZk5lZWRlZCgpOwotICAgIHJldHVybiBldmVu
dFF1ZXVlOwotfQotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJpY0V2
ZW50UXVldWUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmljRXZlbnRRdWV1ZS5oCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MzhkZWM4MTNkNzA4ZTNhYzM5MTVmNTBlOTVkYTFj
Yzg5MDgzMjMwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmljRXZlbnRRdWV1ZS5oCisrKyAvZGV2L251bGwKQEAg
LTEsNzAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBWaWN0b3IgQ2FyYnVuZSAo
dmljdG9yQHJvc2VkdS5vcmcpCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
LSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgotI2lu
Y2x1ZGUgPHd0Zi9EZXF1ZS5oPgotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgotI2luY2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4KLSNpbmNsdWRlIDx3dGYv
V2Vha1B0ci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIEV2ZW50OwotY2xhc3Mg
RXZlbnRUYXJnZXQ7Ci1jbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwotCi0vLyBGSVhNRTog
V2Ugc2hvdWxkIHBvcnQgY2FsbCBzaXRlcyB0byB0aGUgSFRNTCBldmVudCBsb29wIGFuZCByZW1v
dmUgdGhpcyBjbGFzcy4KLWNsYXNzIE1haW5UaHJlYWRHZW5lcmljRXZlbnRRdWV1ZSA6IHB1Ymxp
YyBBY3RpdmVET01PYmplY3QsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxNYWluVGhyZWFkR2VuZXJp
Y0V2ZW50UXVldWU+IHsKLSAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKLXB1YmxpYzoKLSAg
ICBzdGF0aWMgVW5pcXVlUmVmPE1haW5UaHJlYWRHZW5lcmljRXZlbnRRdWV1ZT4gY3JlYXRlKEV2
ZW50VGFyZ2V0Jik7Ci0KLSAgICB2b2lkIGVucXVldWVFdmVudChSZWZQdHI8RXZlbnQ+JiYpOwot
ICAgIHZvaWQgY2xvc2UoKTsKLQotICAgIHZvaWQgY2FuY2VsQWxsRXZlbnRzKCk7Ci0gICAgYm9v
bCBoYXNQZW5kaW5nRXZlbnRzT2ZUeXBlKGNvbnN0IEF0b21TdHJpbmcmKSBjb25zdDsKLQotICAg
IGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3Q7Ci0KLXByaXZhdGU6Ci0gICAgZnJpZW5k
IFVuaXF1ZVJlZjxNYWluVGhyZWFkR2VuZXJpY0V2ZW50UXVldWU+IFdURjo6bWFrZVVuaXF1ZVJl
ZldpdGhvdXRGYXN0TWFsbG9jQ2hlY2s8TWFpblRocmVhZEdlbmVyaWNFdmVudFF1ZXVlLCBXZWJD
b3JlOjpFdmVudFRhcmdldCY+KFdlYkNvcmU6OkV2ZW50VGFyZ2V0Jik7Ci0gICAgZXhwbGljaXQg
TWFpblRocmVhZEdlbmVyaWNFdmVudFF1ZXVlKEV2ZW50VGFyZ2V0Jik7Ci0KLSAgICB2b2lkIGRp
c3BhdGNoT25lRXZlbnQoKTsKLQotICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUo
KSBjb25zdCBmaW5hbDsKLSAgICB2b2lkIHN0b3AoKSBmaW5hbDsKLQotICAgIEV2ZW50VGFyZ2V0
JiBtX293bmVyOwotICAgIERlcXVlPFJlZlB0cjxFdmVudD4+IG1fcGVuZGluZ0V2ZW50czsKLSAg
ICBib29sIG1faXNDbG9zZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9pc0ZpcmluZ0V2ZW50IHsg
ZmFsc2UgfTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDEyOTMyMDNkN2M4MGE5ZmRlYzY0MjRjNmU4NzE0
MThiODQ5ZTBlZmMuLjJmMGFkN2JlYzFiMTNkZTBhNDJjYjJlYzBhYzc0MGQxODI4OWJmZTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtNDA5LDcgKzQwOSw3
IEBAIEhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxNZWRpYUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtCiAgICAgLCBtX3Zpc2liaWxpdHlDaGFuZ2VUYXNr
UXVldWUoJmRvY3VtZW50KQogICAgICwgbV9mdWxsc2NyZWVuVGFza1F1ZXVlKCZkb2N1bWVudCkK
ICAgICAsIG1fcGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzUXVldWUoJmRvY3VtZW50KQotICAgICwg
bV9hc3luY0V2ZW50UXVldWUoTWFpblRocmVhZEdlbmVyaWNFdmVudFF1ZXVlOjpjcmVhdGUoKnRo
aXMpKQorICAgICwgbV9hc3luY0V2ZW50UXVldWUoRXZlbnRMb29wRXZlbnRRdWV1ZTo6Y3JlYXRl
KCp0aGlzKSkKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgICwgbV92b2x1bWVSZXZlcnRU
YXNrKCZkb2N1bWVudCkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
aAppbmRleCA2MDBkMDNjMTRlMGRmM2U2YTFlNjQ5Y2Y1NTI3ZjNjYTljY2FhMTk0Li5hYmY2NDhk
ZGI0Nzk4YjMxNjJjYTRmMjRiZmZjOThlNTczOTc1ZGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuaApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgIkF1dG9wbGF5RXZl
bnQuaCIKICNpbmNsdWRlICJDYXB0aW9uVXNlclByZWZlcmVuY2VzLmgiCiAjaW5jbHVkZSAiRGVm
ZXJyYWJsZVRhc2suaCIKLSNpbmNsdWRlICJHZW5lcmljRXZlbnRRdWV1ZS5oIgorI2luY2x1ZGUg
IkV2ZW50TG9vcEV2ZW50UXVldWUuaCIKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgogI2luY2x1
ZGUgIkhUTUxNZWRpYUVsZW1lbnRFbnVtcy5oIgogI2luY2x1ZGUgIk1lZGlhQ2FuU3RhcnRMaXN0
ZW5lci5oIgpAQCAtOTU3LDcgKzk1Nyw3IEBAIHByaXZhdGU6CiAgICAgRXZlbnRMb29wVGFza1F1
ZXVlIG1fZnVsbHNjcmVlblRhc2tRdWV1ZTsKICAgICBFdmVudExvb3BUYXNrUXVldWUgbV9wbGF5
YmFja1RhcmdldElzV2lyZWxlc3NRdWV1ZTsKICAgICBSZWZQdHI8VGltZVJhbmdlcz4gbV9wbGF5
ZWRUaW1lUmFuZ2VzOwotICAgIFVuaXF1ZVJlZjxNYWluVGhyZWFkR2VuZXJpY0V2ZW50UXVldWU+
IG1fYXN5bmNFdmVudFF1ZXVlOworICAgIFVuaXF1ZVJlZjxFdmVudExvb3BFdmVudFF1ZXVlPiBt
X2FzeW5jRXZlbnRRdWV1ZTsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIEV2ZW50TG9v
cERlZmVycmFibGVUYXNrIG1fdm9sdW1lUmV2ZXJ0VGFzazsKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0xpc3RCYXNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvdHJhY2svVHJhY2tMaXN0QmFzZS5jcHAKaW5kZXggMjY0M2RmNDAwMzE5NGQ3Njll
NTg2NjIwNjQ2MzZjNjc2MzYxOGQ4Yi4uYjZmMTdiZDUyNmMxMDY2ODRiNTA5OWM5YjAxZDQxODlk
NWIzYzBkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0xpc3RC
YXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrTGlzdEJhc2UuY3Bw
CkBAIC00Miw3ICs0Miw3IEBAIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChUcmFja0xpc3RC
YXNlKTsKIFRyYWNrTGlzdEJhc2U6OlRyYWNrTGlzdEJhc2UoV2Vha1B0cjxIVE1MTWVkaWFFbGVt
ZW50PiBlbGVtZW50LCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogICAgIDogQWN0
aXZlRE9NT2JqZWN0KGNvbnRleHQpCiAgICAgLCBtX2VsZW1lbnQoZWxlbWVudCkKLSAgICAsIG1f
YXN5bmNFdmVudFF1ZXVlKE1haW5UaHJlYWRHZW5lcmljRXZlbnRRdWV1ZTo6Y3JlYXRlKCp0aGlz
KSkKKyAgICAsIG1fYXN5bmNFdmVudFF1ZXVlKEV2ZW50TG9vcEV2ZW50UXVldWU6OmNyZWF0ZSgq
dGhpcykpCiB7CiAgICAgQVNTRVJUKCFjb250ZXh0IHx8IGlzPERvY3VtZW50Pihjb250ZXh0KSk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrTGlzdEJhc2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tMaXN0QmFzZS5oCmluZGV4IDY1ZTFj
NzkxYzVlM2I4MTQxZDhiZjU5MDQxY2RjMmViZTJkYjZjMTQuLjZhNzI1OWY5MjY4MmNiMmQ1Y2Vj
ZjM3NDM5MzcwYTA1MDliYjc0OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJh
Y2svVHJhY2tMaXN0QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tM
aXN0QmFzZS5oCkBAIC0yOCw4ICsyOCw4IEBACiAjaWYgRU5BQkxFKFZJREVPKQogCiAjaW5jbHVk
ZSAiQWN0aXZlRE9NT2JqZWN0LmgiCisjaW5jbHVkZSAiRXZlbnRMb29wRXZlbnRRdWV1ZS5oIgog
I2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCi0jaW5jbHVkZSAiR2VuZXJpY0V2ZW50UXVldWUuaCIK
ICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNp
bmNsdWRlIDx3dGYvV2Vha1B0ci5oPgpAQCAtODUsNyArODUsNyBAQCBwcml2YXRlOgogCiAgICAg
V2Vha1B0cjxIVE1MTWVkaWFFbGVtZW50PiBtX2VsZW1lbnQ7CiAKLSAgICBVbmlxdWVSZWY8TWFp
blRocmVhZEdlbmVyaWNFdmVudFF1ZXVlPiBtX2FzeW5jRXZlbnRRdWV1ZTsKKyAgICBVbmlxdWVS
ZWY8RXZlbnRMb29wRXZlbnRRdWV1ZT4gbV9hc3luY0V2ZW50UXVldWU7CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCg==
</data>
<flag name="commit-queue"
          id="452003"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430529</attachid>
            <date>2021-06-03 18:42:45 -0700</date>
            <delta_ts>2021-06-04 07:48:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226618-20210603184244.patch</filename>
            <type>text/plain</type>
            <size>41462</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NDM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzZjYWI3MDlmMzIwNjVm
YTJkZjVlMDlmMWQzZGY4ZDMxZmRmNDgyMi4uYmJkNWQ0ZGQyMDc3YzkzN2I3ZGEzNzI0NmQ2ZWRi
M2M0OWUxNjY1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDIxLTA2LTAzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVuYW1lIE1haW5UaHJlYWRH
ZW5lcmljRXZlbnRRdWV1ZSB0byBFdmVudExvb3BFdmVudFF1ZXVlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY2MTgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgTWFpblRocmVhZEdlbmVyaWNF
dmVudFF1ZXVlIHRvIEV2ZW50TG9vcEV2ZW50UXVldWUsIG5vdyB0aGF0IGl0IGlzIGJhc2VkIG9u
IHRoZSBIVE1MCisgICAgICAgIGV2ZW50IGxvb3AgKGFuZCBub3QgYSBnbG9iYWwgVGltZXIpLgor
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6Ok1lZGlhU2Vz
c2lvbkNvb3JkaW5hdG9yKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNl
c3Npb25Db29yZGluYXRvci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFT
b3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2U6Ok1lZGlhU291cmNlKToK
KyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmg6CisgICAgICAgICog
TW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U291cmNlQnVmZmVyOjpTb3VyY2VCdWZmZXIpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3Vy
Y2UvU291cmNlQnVmZmVyLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VC
dWZmZXJMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlckxpc3Q6OlNvdXJj
ZUJ1ZmZlckxpc3QpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
TGlzdC5oOgorICAgICAgICAqIE1vZHVsZXMvcmVtb3RlcGxheWJhY2svUmVtb3RlUGxheWJhY2su
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVtb3RlUGxheWJhY2s6OlJlbW90ZVBsYXliYWNrKToK
KyAgICAgICAgKiBNb2R1bGVzL3JlbW90ZXBsYXliYWNrL1JlbW90ZVBsYXliYWNrLmg6CisgICAg
ICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIGRvbS9FdmVudExvb3BFdmVudFF1ZXVlLmNwcDogUmVuYW1lZCBm
cm9tIFNvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmljRXZlbnRRdWV1ZS5jcHAuCisgICAgICAgIChX
ZWJDb3JlOjpFdmVudExvb3BFdmVudFF1ZXVlOjpFdmVudExvb3BFdmVudFF1ZXVlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkV2ZW50TG9vcEV2ZW50UXVldWU6OmVucXVldWVFdmVudCk6CisgICAgICAg
IChXZWJDb3JlOjpFdmVudExvb3BFdmVudFF1ZXVlOjpkaXNwYXRjaE9uZUV2ZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OkV2ZW50TG9vcEV2ZW50UXVldWU6OmNsb3NlKToKKyAgICAgICAgKFdlYkNv
cmU6OkV2ZW50TG9vcEV2ZW50UXVldWU6OmNhbmNlbEFsbEV2ZW50cyk6CisgICAgICAgIChXZWJD
b3JlOjpFdmVudExvb3BFdmVudFF1ZXVlOjpoYXNQZW5kaW5nQWN0aXZpdHkgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6RXZlbnRMb29wRXZlbnRRdWV1ZTo6aGFzUGVuZGluZ0V2ZW50c09mVHlw
ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudExvb3BFdmVudFF1ZXVlOjpzdG9wKToK
KyAgICAgICAgKFdlYkNvcmU6OkV2ZW50TG9vcEV2ZW50UXVldWU6OmFjdGl2ZURPTU9iamVjdE5h
bWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRMb29wRXZlbnRRdWV1ZTo6Y3JlYXRl
KToKKyAgICAgICAgKiBkb20vRXZlbnRMb29wRXZlbnRRdWV1ZS5oOiBSZW5hbWVkIGZyb20gU291
cmNlL1dlYkNvcmUvZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmguCisgICAgICAgICogaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OkhU
TUxNZWRpYUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAg
ICAgICAqIGh0bWwvdHJhY2svVHJhY2tMaXN0QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpU
cmFja0xpc3RCYXNlOjpUcmFja0xpc3RCYXNlKToKKyAgICAgICAgKiBodG1sL3RyYWNrL1RyYWNr
TGlzdEJhc2UuaDoKKwogMjAyMS0wNi0wMyAgSmVhbi1ZdmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjI3ODMzNik6IGZhc3QvZG9tL1dpbmRvdy9wcm9w
ZXJ0eS1hY2Nlc3Mtb24tY2FjaGVkLXdpbmRvdy1hZnRlci1mcmFtZS1yZW1vdmVkLmh0bWwgKGxh
eW91dC10ZXN0KSBpcyBhIGNvbnN0YW50IGNyYXNoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCA1Y2E1
MDg0NWU1YzU2NDhkOTdmNDdkZGZkZjA5MTE1NmU4MGY1YjVhLi41NTQ2YzRkM2U2MzZmMzY2MDlj
NDE4OTA4ODJmNDE2YzdhMGVhYTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJz
LmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKQEAgLTQ2Miw2ICs0NjIs
NyBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgZG9tL0V2ZW50
TGlzdGVuZXJNYXAuaAogICAgIGRvbS9FdmVudExpc3RlbmVyT3B0aW9ucy5oCiAgICAgZG9tL0V2
ZW50TG9vcC5oCisgICAgZG9tL0V2ZW50TG9vcEV2ZW50UXVldWUuaAogICAgIGRvbS9FdmVudE1v
ZGlmaWVySW5pdC5oCiAgICAgZG9tL0V2ZW50TmFtZXMuaAogICAgIGRvbS9FdmVudFF1ZXVlLmgK
QEAgLTQ3NSw3ICs0NzYsNiBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJT
CiAgICAgZG9tL0ZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbi5oCiAgICAgZG9tL0Z1bGxzY3Jl
ZW5NYW5hZ2VyLmgKICAgICBkb20vR0NSZWFjaGFibGVSZWYuaAotICAgIGRvbS9HZW5lcmljRXZl
bnRRdWV1ZS5oCiAgICAgZG9tL0lubGluZVN0eWxlU2hlZXRPd25lci5oCiAgICAgZG9tL0tleWJv
YXJkRXZlbnQuaAogICAgIGRvbS9MaXZlTm9kZUxpc3QuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0
b3IuY3BwCmluZGV4IDA4MzRhY2Y5YjEzOWY5ZDRjNDE5MTI1ZWNkZDJkNTY0ODAzMTU3NTQuLmFm
ZmFmODNhNmVhYmI3NzAzOTdmNGI4NDU4YjYxOGEzZjQzZDViMGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25D
b29yZGluYXRvci5jcHAKQEAgLTU5LDcgKzU5LDcgQEAgTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6
Ok1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQK
ICAgICA6IEFjdGl2ZURPTU9iamVjdChjb250ZXh0KQogICAgICwgbV9sb2dnZXIobWFrZVJlZihE
b2N1bWVudDo6c2hhcmVkTG9nZ2VyKCkpKQogICAgICwgbV9sb2dJZGVudGlmaWVyKG5leHRDb29y
ZGluYXRvckxvZ0lkZW50aWZpZXIoKSkKLSAgICAsIG1fYXN5bmNFdmVudFF1ZXVlKE1haW5UaHJl
YWRHZW5lcmljRXZlbnRRdWV1ZTo6Y3JlYXRlKCp0aGlzKSkKKyAgICAsIG1fYXN5bmNFdmVudFF1
ZXVlKEV2ZW50TG9vcEV2ZW50UXVldWU6OmNyZWF0ZSgqdGhpcykpCiB7CiAgICAgQUxXQVlTX0xP
RyhMT0dJREVOVElGSUVSKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmgKaW5kZXggYTdjYzI0
YTk2ZTRhYmVkZjMzOThjNWMzZDJmM2RjNzhhYjYzOGE5Zi4uMzY3Zjk5MDc3YjBmZGZmNGMxNmNi
NWQ0MmMwYzQ1N2IwOThlYmNkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRvci5oCkBAIC0yOCw4
ICsyOCw4IEBACiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT05fQ09PUkRJTkFUT1IpCiAKICNpbmNs
dWRlICJBY3RpdmVET01PYmplY3QuaCIKKyNpbmNsdWRlICJFdmVudExvb3BFdmVudFF1ZXVlLmgi
CiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKLSNpbmNsdWRlICJHZW5lcmljRXZlbnRRdWV1ZS5o
IgogI2luY2x1ZGUgIk1lZGlhU2Vzc2lvbi5oIgogI2luY2x1ZGUgIk1lZGlhU2Vzc2lvbkNvb3Jk
aW5hdG9yUHJpdmF0ZS5oIgogI2luY2x1ZGUgIk1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yU3RhdGUu
aCIKQEAgLTExMCw3ICsxMTAsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxNZWRpYVNlc3Npb25D
b29yZGluYXRvclByaXZhdGU+IG1fcHJpdmF0ZUNvb3JkaW5hdG9yOwogICAgIGNvbnN0IFJlZjxj
b25zdCBMb2dnZXI+IG1fbG9nZ2VyOwogICAgIGNvbnN0IHZvaWQqIG1fbG9nSWRlbnRpZmllcjsK
LSAgICBVbmlxdWVSZWY8TWFpblRocmVhZEdlbmVyaWNFdmVudFF1ZXVlPiBtX2FzeW5jRXZlbnRR
dWV1ZTsKKyAgICBVbmlxdWVSZWY8RXZlbnRMb29wRXZlbnRRdWV1ZT4gbV9hc3luY0V2ZW50UXVl
dWU7CiAgICAgTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JTdGF0ZSBtX3N0YXRlIHsgTWVkaWFTZXNz
aW9uQ29vcmRpbmF0b3JTdGF0ZTo6Q2xvc2VkIH07CiAgICAgYm9vbCBtX2hhc0Nvb3JkaW5hdG9y
c1N0YXRlQ2hhbmdlRXZlbnRMaXN0ZW5lciB7IGZhbHNlIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcAppbmRleCBhNGM0YjZj
NmYzNzFmNjM1NTIyYjFmZWNkMzI2MjJlMzk0MzIyNmFiLi41NmM1ZGE4N2Q3NjEwMzgxYmExZjI4
NTNmMmRmM2FiYWE3ZjJiZjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL01lZGlhU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL01lZGlhU291cmNlLmNwcApAQCAtMTA0LDcgKzEwNCw3IEBAIE1lZGlhU291cmNl
OjpNZWRpYVNvdXJjZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQogICAgIDogQWN0
aXZlRE9NT2JqZWN0KCZjb250ZXh0KQogICAgICwgbV9kdXJhdGlvbihNZWRpYVRpbWU6OmludmFs
aWRUaW1lKCkpCiAgICAgLCBtX3BlbmRpbmdTZWVrVGltZShNZWRpYVRpbWU6OmludmFsaWRUaW1l
KCkpCi0gICAgLCBtX2FzeW5jRXZlbnRRdWV1ZShNYWluVGhyZWFkR2VuZXJpY0V2ZW50UXVldWU6
OmNyZWF0ZSgqdGhpcykpCisgICAgLCBtX2FzeW5jRXZlbnRRdWV1ZShFdmVudExvb3BFdmVudFF1
ZXVlOjpjcmVhdGUoKnRoaXMpKQogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogICAgICwgbV9s
b2dnZXIoZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQpLmxvZ2dlcigpKQogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmgKaW5kZXgg
YmQ3NGM0YzcxMzdiZWE3NzYzMjRkNTVjMDU5NzZhZjBmMGNlYTYzOC4uYTNhODRjM2YyMTU2Njhl
ODk3YzdmMjA3N2M1MWFkZjlhZWNhMjU5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaApAQCAtMzMsOSArMzMsOSBAQAogI2lmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCiAKICNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKKyNpbmNsdWRl
ICJFdmVudExvb3BFdmVudFF1ZXVlLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNs
dWRlICJFeGNlcHRpb25Pci5oIgotI2luY2x1ZGUgIkdlbmVyaWNFdmVudFF1ZXVlLmgiCiAjaW5j
bHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgogI2luY2x1ZGUgIk1lZGlhU291cmNlUHJpdmF0ZUNs
aWVudC5oIgogI2luY2x1ZGUgIlVSTFJlZ2lzdHJ5LmgiCkBAIC0xNzQsNyArMTc0LDcgQEAgcHJp
dmF0ZToKICAgICBNZWRpYVRpbWUgbV9kdXJhdGlvbjsKICAgICBNZWRpYVRpbWUgbV9wZW5kaW5n
U2Vla1RpbWU7CiAgICAgUmVhZHlTdGF0ZSBtX3JlYWR5U3RhdGUgeyBSZWFkeVN0YXRlOjpDbG9z
ZWQgfTsKLSAgICBVbmlxdWVSZWY8TWFpblRocmVhZEdlbmVyaWNFdmVudFF1ZXVlPiBtX2FzeW5j
RXZlbnRRdWV1ZTsKKyAgICBVbmlxdWVSZWY8RXZlbnRMb29wRXZlbnRRdWV1ZT4gbV9hc3luY0V2
ZW50UXVldWU7CiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAgUmVmPGNvbnN0IExvZ2dl
cj4gbV9sb2dnZXI7CiAgICAgY29uc3Qgdm9pZCogbV9sb2dJZGVudGlmaWVyIHsgbnVsbHB0ciB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VC
dWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZm
ZXIuY3BwCmluZGV4IDIxMmU5OWJkYWRjMzI1YzRiZTkzMWMyNTdiODNkNWFlMjhiMWIzZDQuLjNm
ZmEyOGM5ZjhkNzNkM2I3NmFkMzY2YjUwMWM1YzAwOTVhOThiMmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKQEAgLTM4LDcg
KzM4LDYgQEAKICNpbmNsdWRlICJCdWZmZXJTb3VyY2UuaCIKICNpbmNsdWRlICJFdmVudC5oIgog
I2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKLSNpbmNsdWRlICJHZW5lcmljRXZlbnRRdWV1ZS5oIgog
I2luY2x1ZGUgIkhUTUxNZWRpYUVsZW1lbnQuaCIKICNpbmNsdWRlICJJbmJhbmRUZXh0VHJhY2su
aCIKICNpbmNsdWRlICJJbmJhbmRUZXh0VHJhY2tQcml2YXRlLmgiCkBAIC03NSw3ICs3NCw3IEBA
IFNvdXJjZUJ1ZmZlcjo6U291cmNlQnVmZmVyKFJlZjxTb3VyY2VCdWZmZXJQcml2YXRlPiYmIHNv
dXJjZUJ1ZmZlclByaXZhdGUsIE1lZGlhCiAgICAgOiBBY3RpdmVET01PYmplY3Qoc291cmNlLT5z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCiAgICAgLCBtX3ByaXZhdGUoV1RGTW92ZShzb3VyY2VC
dWZmZXJQcml2YXRlKSkKICAgICAsIG1fc291cmNlKHNvdXJjZSkKLSAgICAsIG1fYXN5bmNFdmVu
dFF1ZXVlKE1haW5UaHJlYWRHZW5lcmljRXZlbnRRdWV1ZTo6Y3JlYXRlKCp0aGlzKSkKKyAgICAs
IG1fYXN5bmNFdmVudFF1ZXVlKEV2ZW50TG9vcEV2ZW50UXVldWU6OmNyZWF0ZSgqdGhpcykpCiAg
ICAgLCBtX2FwcGVuZEJ1ZmZlclRpbWVyKCp0aGlzLCAmU291cmNlQnVmZmVyOjphcHBlbmRCdWZm
ZXJUaW1lckZpcmVkKQogICAgICwgbV9hcHBlbmRXaW5kb3dTdGFydChNZWRpYVRpbWU6Onplcm9U
aW1lKCkpCiAgICAgLCBtX2FwcGVuZFdpbmRvd0VuZChNZWRpYVRpbWU6OnBvc2l0aXZlSW5maW5p
dGVUaW1lKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNl
L1NvdXJjZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3Vy
Y2VCdWZmZXIuaAppbmRleCBkNDIzZDEwOTE0MzQyMWMxMGM4MWQxZTZjMjE4YzJhZjU3ZjMxY2U2
Li4yY2ZmNjc4ZjYwMTZjZWQ3ZWZiNDY5NzgxYjFkZjJhYTYyOWZiNzhkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKQEAgLTM1LDkg
KzM1LDkgQEAKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIkF1ZGlv
VHJhY2suaCIKKyNpbmNsdWRlICJFdmVudExvb3BFdmVudFF1ZXVlLmgiCiAjaW5jbHVkZSAiRXZl
bnRUYXJnZXQuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgotI2luY2x1ZGUgIkdlbmVyaWNF
dmVudFF1ZXVlLmgiCiAjaW5jbHVkZSAiU291cmNlQnVmZmVyUHJpdmF0ZS5oIgogI2luY2x1ZGUg
IlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaCIKICNpbmNsdWRlICJUZXh0VHJhY2suaCIKQEAg
LTIwOCw3ICsyMDgsNyBAQCBwcml2YXRlOgogCiAgICAgUmVmPFNvdXJjZUJ1ZmZlclByaXZhdGU+
IG1fcHJpdmF0ZTsKICAgICBNZWRpYVNvdXJjZSogbV9zb3VyY2U7Ci0gICAgVW5pcXVlUmVmPE1h
aW5UaHJlYWRHZW5lcmljRXZlbnRRdWV1ZT4gbV9hc3luY0V2ZW50UXVldWU7CisgICAgVW5pcXVl
UmVmPEV2ZW50TG9vcEV2ZW50UXVldWU+IG1fYXN5bmNFdmVudFF1ZXVlOwogICAgIEFwcGVuZE1v
ZGUgbV9tb2RlIHsgQXBwZW5kTW9kZTo6U2VnbWVudHMgfTsKIAogICAgIFZlY3Rvcjx1bnNpZ25l
ZCBjaGFyPiBtX3BlbmRpbmdBcHBlbmREYXRhOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5jcHAKaW5kZXggMmM0NzhjNTk4
NTE1YmUyOGM0NjYyZDhjNjE3Njg1Mzg4MGExYmJjOS4uODM2ZDRjMDhiNjRlZjc4N2Y5NzI3NThj
YmRhNzNlNWU5N2M4MzM3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuY3BwCkBAIC00NCw3ICs0NCw3IEBAIFdURl9N
QUtFX0lTT19BTExPQ0FURURfSU1QTChTb3VyY2VCdWZmZXJMaXN0KTsKIAogU291cmNlQnVmZmVy
TGlzdDo6U291cmNlQnVmZmVyTGlzdChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQog
ICAgIDogQWN0aXZlRE9NT2JqZWN0KGNvbnRleHQpCi0gICAgLCBtX2FzeW5jRXZlbnRRdWV1ZShN
YWluVGhyZWFkR2VuZXJpY0V2ZW50UXVldWU6OmNyZWF0ZSgqdGhpcykpCisgICAgLCBtX2FzeW5j
RXZlbnRRdWV1ZShFdmVudExvb3BFdmVudFF1ZXVlOjpjcmVhdGUoKnRoaXMpKQogewogICAgIHN1
c3BlbmRJZk5lZWRlZCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaAppbmRleCA5YzhhYWEyZWJiMjIwODA5MDhkZTIy
NTE3NzE3ZWJlZWM1Zjg4MzFlLi5kMzlmNzI5YzkyOGY4MDM1MWFkNjc1NTU2ZWExYjkyMWY0ZWNm
MWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJj
ZUJ1ZmZlckxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1Nv
dXJjZUJ1ZmZlckxpc3QuaApAQCAtMzMsOCArMzMsOCBAQAogI2lmIEVOQUJMRShNRURJQV9TT1VS
Q0UpCiAKICNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKKyNpbmNsdWRlICJFdmVudExvb3BF
dmVudFF1ZXVlLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKLSNpbmNsdWRlICJHZW5lcmlj
RXZlbnRRdWV1ZS5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgogCkBAIC04MCw3ICs4MCw3IEBAIHByaXZhdGU6CiAKICAgICBjb25zdCBjaGFy
KiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWw7CiAKLSAgICBVbmlxdWVSZWY8TWFp
blRocmVhZEdlbmVyaWNFdmVudFF1ZXVlPiBtX2FzeW5jRXZlbnRRdWV1ZTsKKyAgICBVbmlxdWVS
ZWY8RXZlbnRMb29wRXZlbnRRdWV1ZT4gbV9hc3luY0V2ZW50UXVldWU7CiAKICAgICBWZWN0b3I8
UmVmUHRyPFNvdXJjZUJ1ZmZlcj4+IG1fbGlzdDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3JlbW90ZXBsYXliYWNrL1JlbW90ZVBsYXliYWNrLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcmVtb3RlcGxheWJhY2svUmVtb3RlUGxheWJhY2suY3BwCmluZGV4IDFi
OTU2NTJiMzk5OTJmNGY3OWQ1ZjVlZWVhMzc3OWQ2YjUwYTA2ZjMuLjY0N2U1ZGNmYWJjMmE1Yjdj
YjRkYzg1MDNkYjVmOWMzMDcxYzVlMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcmVtb3RlcGxheWJhY2svUmVtb3RlUGxheWJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcmVtb3RlcGxheWJhY2svUmVtb3RlUGxheWJhY2suY3BwCkBAIC01MCw3ICs1MCw3
IEBAIFJlZjxSZW1vdGVQbGF5YmFjaz4gUmVtb3RlUGxheWJhY2s6OmNyZWF0ZShIVE1MTWVkaWFF
bGVtZW50JiBlbGVtZW50KQogUmVtb3RlUGxheWJhY2s6OlJlbW90ZVBsYXliYWNrKEhUTUxNZWRp
YUVsZW1lbnQmIGVsZW1lbnQpCiAgICAgOiBXZWJDb3JlOjpBY3RpdmVET01PYmplY3QoZWxlbWVu
dC5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCiAgICAgLCBtX21lZGlhRWxlbWVudChtYWtlV2Vh
a1B0cihlbGVtZW50KSkKLSAgICAsIG1fZXZlbnRRdWV1ZShNYWluVGhyZWFkR2VuZXJpY0V2ZW50
UXVldWU6OmNyZWF0ZSgqdGhpcykpCisgICAgLCBtX2V2ZW50UXVldWUoRXZlbnRMb29wRXZlbnRR
dWV1ZTo6Y3JlYXRlKCp0aGlzKSkKICAgICAsIG1fdGFza1F1ZXVlKGVsZW1lbnQuc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpKQogewogICAgIHN1c3BlbmRJZk5lZWRlZCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9yZW1vdGVwbGF5YmFjay9SZW1vdGVQbGF5YmFjay5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9yZW1vdGVwbGF5YmFjay9SZW1vdGVQbGF5YmFjay5oCmlu
ZGV4IDE2OTlkYmJhYzdjNTAzNzdkYmYxNDg0M2NiNzI5ZjQ2YjFkNThkM2EuLmE1NTdkMWU3OTZj
NDFmYWZhNjQwZTM5YTM1NTg2Y2U0MWU2NDI3YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcmVtb3RlcGxheWJhY2svUmVtb3RlUGxheWJhY2suaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3JlbW90ZXBsYXliYWNrL1JlbW90ZVBsYXliYWNrLmgKQEAgLTI4LDggKzI4
LDggQEAKICNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQogCiAjaW5jbHVkZSAi
QWN0aXZlRE9NT2JqZWN0LmgiCisjaW5jbHVkZSAiRXZlbnRMb29wRXZlbnRRdWV1ZS5oIgogI2lu
Y2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCi0jaW5jbHVkZSAiR2VuZXJpY0V2ZW50UXVldWUuaCIKICNp
bmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgpAQCAtMTAwLDcgKzEwMCw3IEBAIHByaXZhdGU6CiAgICAgU3RhdGUg
bV9zdGF0ZSB7IFN0YXRlOjpEaXNjb25uZWN0ZWQgfTsKICAgICBib29sIG1fYXZhaWxhYmxlIHsg
ZmFsc2UgfTsKIAotICAgIFVuaXF1ZVJlZjxNYWluVGhyZWFkR2VuZXJpY0V2ZW50UXVldWU+IG1f
ZXZlbnRRdWV1ZTsKKyAgICBVbmlxdWVSZWY8RXZlbnRMb29wRXZlbnRRdWV1ZT4gbV9ldmVudFF1
ZXVlOwogICAgIEV2ZW50TG9vcFRhc2tRdWV1ZSBtX3Rhc2tRdWV1ZTsKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50
eHQKaW5kZXggOGEyMGM4MDI1N2UzNjE3ODgwYzJmMzVjOGM5OWFjMWJkM2QzMDJjMy4uYjRhMzAz
NGRkNmM5NDAzYTMxMDgwM2ZjOGRkNWM0MDBkYzdjNzhlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTk0
OSw2ICs5NDksNyBAQCBkb20vRXZlbnRDb250ZXh0LmNwcAogZG9tL0V2ZW50RGlzcGF0Y2hlci5j
cHAKIGRvbS9FdmVudExpc3RlbmVyTWFwLmNwcAogZG9tL0V2ZW50TG9vcC5jcHAKK2RvbS9FdmVu
dExvb3BFdmVudFF1ZXVlLmNwcAogZG9tL0V2ZW50TmFtZXMuY3BwCiBkb20vRXZlbnRQYXRoLmNw
cAogZG9tL0V2ZW50VGFyZ2V0LmNwcApAQCAtOTU4LDcgKzk1OSw2IEBAIGRvbS9FeHRlbnNpb25T
dHlsZVNoZWV0cy5jcHAKIGRvbS9Gb2N1c0V2ZW50LmNwcAogZG9tL0Z1bGxzY3JlZW5NYW5hZ2Vy
LmNwcAogZG9tL0dDUmVhY2hhYmxlUmVmLmNwcAotZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmNwcAog
ZG9tL0hhc2hDaGFuZ2VFdmVudC5jcHAKIGRvbS9JZFRhcmdldE9ic2VydmVyLmNwcAogZG9tL0lk
VGFyZ2V0T2JzZXJ2ZXJSZWdpc3RyeS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2ZjgwMDMxZjA3NmE3NDE2ZDNkZTEzMGFj
NDBjMzRkMGIzNzBiMWU1Li40NmYyNjgyODQ4YjBlNTk3NjI3MTVhYzIwMmI1MTVlNGYzMzM0MTNk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC0xMDIsNyArMTAyLDcgQEAKIAkJMDcxQTlFQzMxNjhGQkM1NTAwMjYyOUY5IC8qIFRl
eHRUcmFja0N1ZUdlbmVyaWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDA3MUE5RUMxMTY4RkI1NkMwMDI2MjlGOSAvKiBUZXh0VHJhY2tDdWVHZW5lcmlj
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDcx
RTQ5NkUxQUQ1QUEwRDAwOEE1MEI0IC8qIE1lZGlhUGxheWJhY2tUYXJnZXRDb2NvYS5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MUU0OTZEMUFENUFB
MEQwMDhBNTBCNCAvKiBNZWRpYVBsYXliYWNrVGFyZ2V0Q29jb2EubW0gKi87IH07CiAJCTA3MUU0
OTcwMUFENUFCNUUwMDhBNTBCNCAvKiBNZWRpYVBsYXliYWNrVGFyZ2V0Q29jb2EuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MUU0OTZGMUFENUFCNUUw
MDhBNTBCNCAvKiBNZWRpYVBsYXliYWNrVGFyZ2V0Q29jb2EuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkwNzIwQjBBMTE0RDMzMjM1MDA2NDI5NTUg
LyogR2VuZXJpY0V2ZW50UXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDA3MjBCMDlGMTREMzMyMzUwMDY0Mjk1NSAvKiBHZW5lcmljRXZlbnRRdWV1
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTA3
MjBCMEExMTREMzMyMzUwMDY0Mjk1NSAvKiBFdmVudExvb3BFdmVudFF1ZXVlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzIwQjA5RjE0RDMzMjM1MDA2
NDI5NTUgLyogRXZlbnRMb29wRXZlbnRRdWV1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3MjVFRkE5MjM5QUQ3OTMwMEE1MzhBOSAvKiBNZWRp
YVBsYXllclByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDA3OUY1RTRCMEYzQkVCRUEwMDVFMDc4MiAvKiBNZWRpYVBsYXllclByaXZhdGUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwNzI3N0U0
RDE3RDAxOENDMDAxNTUzNEQgLyogSlNNZWRpYVN0cmVhbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcyNzdFNDExN0QwMThDQzAwMTU1MzREIC8qIEpT
TWVkaWFTdHJlYW0uaCAqLzsgfTsKIAkJMDcyNzdFNEQxN0QwMThDQzAwMTU1MzRFIC8qIEpTQ2Fu
dmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDA3Mjc3RTQxMTdEMDE4Q0MwMDE1NTM0RSAvKiBKU0NhbnZhc0Nh
cHR1cmVNZWRpYVN0cmVhbVRyYWNrLmggKi87IH07CkBAIC01NzgxLDggKzU3ODEsOCBAQAogCQkw
NzFBOUVDMTE2OEZCNTZDMDAyNjI5RjkgLyogVGV4dFRyYWNrQ3VlR2VuZXJpYy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXh0VHJhY2tDdWVHZW5lcmljLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3MUU0OTZEMUFENUFBMEQwMDhBNTBCNCAvKiBNZWRpYVBs
YXliYWNrVGFyZ2V0Q29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBNZWRpYVBsYXliYWNrVGFyZ2V0Q29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTA3MUU0OTZGMUFENUFCNUUwMDhBNTBCNCAvKiBNZWRpYVBsYXliYWNrVGFyZ2V0Q29j
b2EuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFQbGF5YmFja1Rhcmdl
dENvY29hLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA3MjBCMDlFMTREMzMyMzUw
MDY0Mjk1NSAvKiBHZW5lcmljRXZlbnRRdWV1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBHZW5lcmljRXZlbnRRdWV1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTA3MjBCMDlGMTREMzMyMzUwMDY0Mjk1NSAvKiBHZW5lcmljRXZlbnRRdWV1ZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZW5lcmljRXZlbnRRdWV1ZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwNzIwQjA5RTE0RDMzMjM1MDA2NDI5NTUgLyog
RXZlbnRMb29wRXZlbnRRdWV1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBFdmVudExvb3BFdmVudFF1ZXVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMDcyMEIwOUYxNEQzMzIzNTAwNjQyOTU1IC8qIEV2ZW50TG9vcEV2ZW50UXVldWUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRMb29wRXZlbnRRdWV1ZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzIyMUI0QzE3Q0VDMzI3MDA4NDhFNTEgLyogTWVk
aWFTdHJlYW0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFT
dHJlYW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzIyMUI0RDE3Q0VDMzI3
MDA4NDhFNTEgLyogTWVkaWFTdHJlYW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTWVkaWFTdHJlYW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDcyMjFCNEUx
N0NFQzMyNzAwODQ4RTUxIC8qIE1lZGlhU3RyZWFtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBNZWRpYVN0cmVhbS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zMDE4OCw4
ICszMDE4OCw2IEBACiAJCQkJOTMwN0YxRDYwQUYyRDU5MDAwREJBMzFBIC8qIEhpdFRlc3RSZXN1
bHQuaCAqLywKIAkJCQlCNTFBMkY0MDE3RDdENURBMDA3MjUxN0EgLyogSW1hZ2VRdWFsaXR5Q29u
dHJvbGxlci5jcHAgKi8sCiAJCQkJQjUxQTJGM0UxN0Q3RDNBNDAwNzI1MTdBIC8qIEltYWdlUXVh
bGl0eUNvbnRyb2xsZXIuaCAqLywKLQkJCQlBOENGRjVERjBBMTU1QTA1MDAwQTQyMzQgLyogTGVn
YWN5SW5saW5lQm94LmNwcCAqLywKLQkJCQlBOENGRjVERTBBMTU1QTA1MDAwQTQyMzQgLyogTGVn
YWN5SW5saW5lQm94LmggKi8sCiAJCQkJQjU3Q0I1MkMxODJBM0VFRDAwNzlBNjQ3IC8qIElubGlu
ZUVsZW1lbnRCb3guY3BwICovLAogCQkJCUI1N0NCNTJCMTgyQTM3RjYwMDc5QTY0NyAvKiBJbmxp
bmVFbGVtZW50Qm94LmggKi8sCiAJCQkJOTMwQzkwREMxOUNGOTY1MzAwRDZDMjFBIC8qIElubGlu
ZUl0ZXJhdG9yLmNwcCAqLywKQEAgLTMwMjA1LDYgKzMwMjAzLDggQEAKIAkJCQk5QkQxRjY4MDFG
MDQ2MkI4MDAxQzlDREQgLyogTGF5b3V0RGlzYWxsb3dlZFNjb3BlLmggKi8sCiAJCQkJQTEyMEFD
QTExM0Y5OTg0NjAwRkU0QUM3IC8qIExheW91dFJlcGFpbnRlci5jcHAgKi8sCiAJCQkJQTEyMEFD
QTAxM0Y5OTgzNzAwRkU0QUM3IC8qIExheW91dFJlcGFpbnRlci5oICovLAorCQkJCUE4Q0ZGNURG
MEExNTVBMDUwMDBBNDIzNCAvKiBMZWdhY3lJbmxpbmVCb3guY3BwICovLAorCQkJCUE4Q0ZGNURF
MEExNTVBMDUwMDBBNDIzNCAvKiBMZWdhY3lJbmxpbmVCb3guaCAqLywKIAkJCQlBOENGRjVERDBB
MTU1QTA1MDAwQTQyMzQgLyogTGVnYWN5SW5saW5lRmxvd0JveC5jcHAgKi8sCiAJCQkJQThDRkY1
REMwQTE1NUEwNTAwMEE0MjM0IC8qIExlZ2FjeUlubGluZUZsb3dCb3guaCAqLywKIAkJCQlCQ0VB
NDgxMzA5N0Q5MzAyMDA5NEM5RTQgLyogTGVnYWN5TGluZUxheW91dC5jcHAgKi8sCkBAIC0zMDY2
NSw2ICszMDY2NSw4IEBACiAJCQkJNDZCRDA1QzAyNUJCNkU0RDAwMjI1RjMwIC8qIEV2ZW50TGlz
dGVuZXJPcHRpb25zLmlkbCAqLywKIAkJCQk5QjkxRENDQzIzODM3OTJEMDAwRUVFMEYgLyogRXZl
bnRMb29wLmNwcCAqLywKIAkJCQk5QjBBQkNBMTIzNjc5QUIzMDBCNDUwODUgLyogRXZlbnRMb29w
LmggKi8sCisJCQkJMDcyMEIwOUUxNEQzMzIzNTAwNjQyOTU1IC8qIEV2ZW50TG9vcEV2ZW50UXVl
dWUuY3BwICovLAorCQkJCTA3MjBCMDlGMTREMzMyMzUwMDY0Mjk1NSAvKiBFdmVudExvb3BFdmVu
dFF1ZXVlLmggKi8sCiAJCQkJODNGRTdDQTMxREE5RjE2NTAwMzcyMzdDIC8qIEV2ZW50TW9kaWZp
ZXJJbml0LmggKi8sCiAJCQkJODNGRTdDQTYxREE5RjE2NjAwMzcyMzdDIC8qIEV2ZW50TW9kaWZp
ZXJJbml0LmlkbCAqLywKIAkJCQk5Mzk4ODVDMTA4QjdFM0QxMDBFNzA3QzQgLyogRXZlbnROYW1l
cy5jcHAgKi8sCkBAIC0zMDY5Nyw4ICszMDY5OSw2IEBACiAJCQkJQ0Q5MkY1MTYyMjYxMDM4MjAw
Rjg3QkIzIC8qIEZ1bGxzY3JlZW5NYW5hZ2VyLmggKi8sCiAJCQkJOUJBQUM0NTgyMTUxRTc3QTAw
M0Q0QTk4IC8qIEdDUmVhY2hhYmxlUmVmLmNwcCAqLywKIAkJCQk5QkFBQzQ1NjIxNTFFMzlFMDAz
RDRBOTggLyogR0NSZWFjaGFibGVSZWYuaCAqLywKLQkJCQkwNzIwQjA5RTE0RDMzMjM1MDA2NDI5
NTUgLyogR2VuZXJpY0V2ZW50UXVldWUuY3BwICovLAotCQkJCTA3MjBCMDlGMTREMzMyMzUwMDY0
Mjk1NSAvKiBHZW5lcmljRXZlbnRRdWV1ZS5oICovLAogCQkJCTdDMkQ3MjJFMjUwODNBMzQwMDUz
OTY2MiAvKiBHbG9iYWxFdmVudEhhbmRsZXJzK1BvaW50ZXJFdmVudHMuaWRsICovLAogCQkJCTQ0
QkQyQjM2MjUyNzc5NzgwMDU1RDk1QSAvKiBHbG9iYWxFdmVudEhhbmRsZXJzK1NlbGVjdGlvbi5p
ZGwgKi8sCiAJCQkJN0M0MTg5QUIxQjA3QzE3MDAwMEZBNzU3IC8qIEdsb2JhbEV2ZW50SGFuZGxl
cnMuaWRsICovLApAQCAtMzIwNDEsNyArMzIwNDEsNiBAQAogCQkJCUUxRkUxMzc1MTg0MDJBNjcw
MDg5MkYxMyAvKiBDb21tb25DcnlwdG9VdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBG
NjBGMzJCMURGQkIxMDcwMDQxNkQ2QyAvKiBDb21tb25WTS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
N0M5M0YzNEExQUE2QkE1RTAwQTk4QkFCIC8qIENvbXBpbGVkQ29udGVudEV4dGVuc2lvbi5oIGlu
IEhlYWRlcnMgKi8sCi0JCQkJRTRFOTRENjEyMkZGMTU4QTAwREQxOTFGIC8qIExlZ2FjeUxpbmVM
YXlvdXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUMyRjRFNzhDMUU0NUMzRUYwMDZENzEwNSAvKiBD
b21wbGV4VGV4dENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0QkE1MDkwMUJDRkJE
OTUwMEUzNEVGNyAvKiBDb21wb3NlZFRyZWVBbmNlc3Rvckl0ZXJhdG9yLmggaW4gSGVhZGVycyAq
LywKIAkJCQlFNDRGQTE4NTFCQ0E2QjVBMDA5MUI2RUYgLyogQ29tcG9zZWRUcmVlSXRlcmF0b3Iu
aCBpbiBIZWFkZXJzICovLApAQCAtMzIyMDEsNiArMzIyMDAsNyBAQAogCQkJCUJDRjE2NDU5MjY2
MkExRTkwMDAyRjdFRiAvKiBDU1NDYWxjTmVnYXRlTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkNGMTY0NjEyNjYyQTI4RDAwMDJGN0VGIC8qIENTU0NhbGNPcGVyYXRpb25Ob2RlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQ0YxNjQ1NTI2NjJBMTIyMDAwMkY3RUYgLyogQ1NTQ2FsY1ByaW1pdGl2
ZVZhbHVlTm9kZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkM3MDlERTAyNjYzMjNDRjAwQjlBMjFD
IC8qIENTU0NhbGNTeW1ib2xUYWJsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlBRTJEOEYxMzRF
RTUwQzAwNzI5MjBBIC8qIENTU0NhbGNWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM2MDQ5
Q0MwREI1NjBDMjAwMjA0NzM5IC8qIENTU0NhbnZhc1ZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQ0VBNDc5MDA5N0NBQUM4MDA5NEM5RTQgLyogQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9u
LmggaW4gSGVhZGVycyAqLywKQEAgLTMyNTkxLDYgKzMyNTkxLDcgQEAKIAkJCQlBRDQ0OTVGNDE0
MUZDMDg5MDA1NDFFREYgLyogRXZlbnRMaXN0ZW5lck1hcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NDZCRDA1QzYyNUJCNkU2QzAwMjI1RjMwIC8qIEV2ZW50TGlzdGVuZXJPcHRpb25zLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0NkYwMkExQTIzNzM3RjgzMDAxMDZBNjQgLyogRXZlbnRMb29wLmggaW4g
SGVhZGVycyAqLywKKwkJCQkwNzIwQjBBMTE0RDMzMjM1MDA2NDI5NTUgLyogRXZlbnRMb29wRXZl
bnRRdWV1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODNGRTdDQTgxREE5RjFCNjAwMzcyMzdDIC8q
IEV2ZW50TW9kaWZpZXJJbml0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5Mzk4ODVDNDA4QjdFM0Qx
MDBFNzA3QzQgLyogRXZlbnROYW1lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOUI3MTRFMjExQzkx
MTY2OTAwQUMwRTkyIC8qIEV2ZW50UGF0aC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMjc4OSw3ICsz
Mjc5MCw2IEBACiAJCQkJQzBDMDU0Q0MxMTE4QzhFNDAwQ0UyNjM2IC8qIGdlbmVyYXRlLWJpbmRp
bmdzLnBsIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMyM0YwREIwREFGRjRBNDAwOUZEQzkxIC8qIEdl
bmVyYXRlZEltYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzAwMzBGNjFCN0QzM0I1MDBFRDNB
QUMgLyogR2VuZXJpY0NhY2hlZEhUTUxDb2xsZWN0aW9uLmggaW4gSGVhZGVycyAqLywKLQkJCQkw
NzIwQjBBMTE0RDMzMjM1MDA2NDI5NTUgLyogR2VuZXJpY0V2ZW50UXVldWUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUNENjJGQjk2MUFGMDE4RTcwMDEyRUQ3RCAvKiBHZW5lcmljVGFza1F1ZXVlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5NzQ2QUYyNDE0RjREREU2MDAzRTdBNzAgLyogR2VvbG9jYXRp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCTk3NDZBRjI1MTRGNERERTYwMDNFN0E3MSAvKiBHZW9s
b2NhdGlvbkNsaWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMzE0MCwxMSArMzMxNDAsOSBAQAog
CQkJCTUxRUVBQTc0MUJFRkZBQjEwMDIxODAwOCAvKiBJbmRleFZhbHVlRW50cnkuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUxNzEzOEY4MUJGMTI4QkIwMDBENUYwMSAvKiBJbmRleFZhbHVlU3RvcmUu
aCBpbiBIZWFkZXJzICovLAogCQkJCUNEMDYzRjgzMUUyM0ZBODkwMDgxMkJFMyAvKiBJbml0RGF0
YVJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywKLQkJCQlBOENGRjVFNTBBMTU1QTA1MDAwQTQyMzQg
LyogTGVnYWN5SW5saW5lQm94LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzA1OTI2NDFFMjdBM0FE
MDBENTdDOTggLyogSW5saW5lQ2xhc3NpY1NjcmlwdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkZF
MTk4MTcyMTc4Mzk3QzAwNDQ2RjA4IC8qIElubGluZUNvbnRlbnRCcmVha2VyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCNTdDQjUyRTE4MkEzRUZDMDA3OUE2NDcgLyogSW5saW5lRWxlbWVudEJveC5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJQThDRkY1RTMwQTE1NUEwNTAwMEE0MjM0IC8qIExlZ2FjeUlu
bGluZUZsb3dCb3guaCBpbiBIZWFkZXJzICovLAogCQkJCTZGN0NBM0NBMjA4QzJCMkUwMDJGMjlB
QiAvKiBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDdDNEQ1
N0QyNjUwOEJDQjAwQzdBQjFGIC8qIElubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNkZFNjM2RTgyNjQ3OTYyOTAwRjA5NTFFIC8qIElubGluZUZvcm1hdHRpbmdR
dWlya3MuaCBpbiBIZWFkZXJzICovLApAQCAtMzQxNjYsOSArMzQxNjQsMTMgQEAKIAkJCQlDREY0
QjcxMjFFMDA4N0FFMDBFMjM1QTIgLyogTGVnYWN5Q0RNU2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQ0RFOEI1RjExQTY5Nzc4QjAwQjRCNjZBIC8qIExlZ2FjeUNETVNlc3Npb25DbGVhcktl
eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkRFNzAwMjMxOTJGRTgyQTAwQjA5NzVDIC8qIExlZ2Fj
eURpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQThDRkY1RTUw
QTE1NUEwNTAwMEE0MjM0IC8qIExlZ2FjeUlubGluZUJveC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
QThDRkY1RTMwQTE1NUEwNTAwMEE0MjM0IC8qIExlZ2FjeUlubGluZUZsb3dCb3guaCBpbiBIZWFk
ZXJzICovLAorCQkJCUU0RTk0RDYxMjJGRjE1OEEwMEREMTkxRiAvKiBMZWdhY3lMaW5lTGF5b3V0
LmggaW4gSGVhZGVycyAqLywKIAkJCQlGNDRBNUY1OTFGRUQzOEYyMDA3RjU5NDQgLyogTGVnYWN5
TlNQYXN0ZWJvYXJkVHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUExODVCNDJBMUU4MjExQTEw
MERDOTExOCAvKiBMZWdhY3lQcmV2aWV3TG9hZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTBE
QkY0NzE4RjkyMzE3MDAwRDcwQzYgLyogTGVnYWN5UHJldmlld0xvYWRlckNsaWVudC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQThDRkY1RTEwQTE1NUEwNTAwMEE0MjM0IC8qIExlZ2FjeVJvb3RJbmxp
bmVCb3guaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNjJDN0Y1MTFGNzdFRkIwMDYxMkVGRSAvKiBM
ZWdhY3lTY2hlbWVSZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTRDM0IxRkEwRjBFNDE2
MTAwOTY5M0Y2IC8qIExlZ2FjeVRpbGVDYWNoZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTRCNjVB
NTgxMzJGQThFNzAwNzBFN0JFIC8qIExlZ2FjeVRpbGVHcmlkLmggaW4gSGVhZGVycyAqLywKQEAg
LTM0Njc4LDcgKzM0NjgwLDYgQEAKIAkJCQkyNjYwMUVCRjE0QjNCOUFEMDAxMkMwRkUgLyogUGxh
dGZvcm1FdmVudEZhY3RvcnlJT1MuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQUE0ODcwMTRBMDUy
NTMwMDg4RkFDNCAvKiBQbGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTcyM0Y3N0IxNDg0Q0E0QzAwOEM2REJFIC8qIFBsYXRmb3JtRXhwb3J0TWFjcm9zLmggaW4g
SGVhZGVycyAqLywKLQkJCQlCQzcwOURFMDI2NjMyM0NGMDBCOUEyMUMgLyogQ1NTQ2FsY1N5bWJv
bFRhYmxlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTVCRTE5NTFENTRGNUZCMDBERDdDNjggLyog
UGxhdGZvcm1HYW1lcGFkLmggaW4gSGVhZGVycyAqLywKIAkJCQk3MjZENTZFMjI1M0FFMjhEMDAw
MkVGOTAgLyogUGxhdGZvcm1JbWFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ3NzA1QzcyNTUy
NzZDRDAwMUQwQzk0IC8qIFBsYXRmb3JtSW1hZ2VCdWZmZXIuaCBpbiBIZWFkZXJzICovLApAQCAt
MzUwMzUsNyArMzUwMzYsNiBAQAogCQkJCUZEMzE2MEE5MTJCMDI2RjcwMEMxQTM1OSAvKiBSZXZl
cmJDb252b2x2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEMzE2MEFCMTJCMDI2RjcwMEMxQTM1
OSAvKiBSZXZlcmJDb252b2x2ZXJTdGFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQzMTYwQUQx
MkIwMjZGNzAwQzFBMzU5IC8qIFJldmVyYklucHV0QnVmZmVyLmggaW4gSGVhZGVycyAqLywKLQkJ
CQlBOENGRjVFMTBBMTU1QTA1MDAwQTQyMzQgLyogTGVnYWN5Um9vdElubGluZUJveC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNDlFOTExQzkwRUY4NkQ0NzAwOUQwQ0FGIC8qIFJvdGF0ZVRyYW5zZm9y
bU9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTczRjk1RkYxMkM5N0JGRTAwMzFBQUY5
IC8qIFJvdW5kZWRSZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0UyMzM2MzFEQzdEQTI0MDBG
MjhEMDEgLyogUnNhT3RoZXJQcmltZXNJbmZvLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudExvb3BFdmVudFF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9FdmVudExvb3BFdmVudFF1ZXVlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOGMxNjIxNzJhMzdh
YmQ1MmU0NmUyYzZiMzA4ZjkxZWEzMDI5OWVjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50TG9vcEV2ZW50UXVldWUuY3BwCkBAIC0wLDAgKzEsMTE4IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEyIFZpY3RvciBDYXJidW5lICh2aWN0b3JAcm9zZWR1Lm9yZykK
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJFdmVudExvb3BFdmVudFF1ZXVlLmgiCisKKyNpbmNsdWRlICJE
b2N1bWVudC5oIgorI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiRXZlbnRMb29wLmgiCisj
aW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRlICJOb2RlLmgiCisjaW5jbHVkZSAiU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgIlRpbWVyLmgiCisjaW5jbHVkZSA8d3Rm
L0FsZ29yaXRobXMuaD4KKyNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgorI2luY2x1ZGUgPHd0
Zi9TZXRGb3JTY29wZS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0V2ZW50TG9vcEV2ZW50
UXVldWU6OkV2ZW50TG9vcEV2ZW50UXVldWUoRXZlbnRUYXJnZXQmIG93bmVyKQorICAgIDogQWN0
aXZlRE9NT2JqZWN0KG93bmVyLnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKKyAgICAsIG1fb3du
ZXIob3duZXIpCit7Cit9CisKK3ZvaWQgRXZlbnRMb29wRXZlbnRRdWV1ZTo6ZW5xdWV1ZUV2ZW50
KFJlZlB0cjxFdmVudD4mJiBldmVudCkKK3sKKyAgICBpZiAobV9pc0Nsb3NlZCB8fCAhc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoZXZlbnQtPnRh
cmdldCgpID09ICZtX293bmVyKQorICAgICAgICBldmVudC0+c2V0VGFyZ2V0KG51bGxwdHIpOwor
CisgICAgbV9wZW5kaW5nRXZlbnRzLmFwcGVuZChXVEZNb3ZlKGV2ZW50KSk7CisKKyAgICBzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCktPmV2ZW50TG9vcCgpLnF1ZXVlVGFzayhUYXNrU291cmNlOjpN
ZWRpYUVsZW1lbnQsIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKV0geworICAgICAgICBp
ZiAod2Vha1RoaXMpCisgICAgICAgICAgICB3ZWFrVGhpcy0+ZGlzcGF0Y2hPbmVFdmVudCgpOwor
ICAgIH0pOworfQorCit2b2lkIEV2ZW50TG9vcEV2ZW50UXVldWU6OmRpc3BhdGNoT25lRXZlbnQo
KQoreworICAgIEFTU0VSVCghbV9wZW5kaW5nRXZlbnRzLmlzRW1wdHkoKSk7CisKKyAgICBSZWY8
RXZlbnRUYXJnZXQ+IHByb3RlY3RlZE93bmVyKG1fb3duZXIpOworICAgIFNldEZvclNjb3BlPGJv
b2w+IGV2ZW50RmlyaW5nU2NvcGUobV9pc0ZpcmluZ0V2ZW50LCB0cnVlKTsKKworICAgIFJlZlB0
cjxFdmVudD4gZXZlbnQgPSBtX3BlbmRpbmdFdmVudHMudGFrZUZpcnN0KCk7CisgICAgUmVmPEV2
ZW50VGFyZ2V0PiB0YXJnZXQgPSBldmVudC0+dGFyZ2V0KCkgPyAqZXZlbnQtPnRhcmdldCgpIDog
bV9vd25lcjsKKyAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCF0YXJnZXQtPnNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKS0+YWN0aXZlRE9NT2JqZWN0c0FyZVN0b3BwZWQoKSwKKyAgICAgICAgIkFuIGF0
dGVtcHQgdG8gZGlzcGF0Y2ggYW4gZXZlbnQgb24gYSBzdG9wcGVkIHRhcmdldCBieSBFdmVudFRh
cmdldEludGVyZmFjZT0lZCAobm9kZU5hbWU9JXMgdGFyZ2V0PSVwIG93bmVyPSVwKSIsCisgICAg
ICAgIG1fb3duZXIuZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSwgbV9vd25lci5pc05vZGUoKSA/IHN0
YXRpY19jYXN0PE5vZGUmPihtX293bmVyKS5ub2RlTmFtZSgpLmFzY2lpKCkuZGF0YSgpIDogIiIs
IHRhcmdldC5wdHIoKSwgJm1fb3duZXIpOworICAgIHRhcmdldC0+ZGlzcGF0Y2hFdmVudCgqZXZl
bnQpOworfQorCit2b2lkIEV2ZW50TG9vcEV2ZW50UXVldWU6OmNsb3NlKCkKK3sKKyAgICBtX2lz
Q2xvc2VkID0gdHJ1ZTsKKyAgICBjYW5jZWxBbGxFdmVudHMoKTsKK30KKwordm9pZCBFdmVudExv
b3BFdmVudFF1ZXVlOjpjYW5jZWxBbGxFdmVudHMoKQoreworICAgIHdlYWtQdHJGYWN0b3J5KCku
cmV2b2tlQWxsKCk7CisgICAgbV9wZW5kaW5nRXZlbnRzLmNsZWFyKCk7Cit9CisKK2Jvb2wgRXZl
bnRMb29wRXZlbnRRdWV1ZTo6aGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QKK3sKKyAgICByZXR1
cm4gIW1fcGVuZGluZ0V2ZW50cy5pc0VtcHR5KCkgfHwgbV9pc0ZpcmluZ0V2ZW50OworfQorCiti
b29sIEV2ZW50TG9vcEV2ZW50UXVldWU6Omhhc1BlbmRpbmdFdmVudHNPZlR5cGUoY29uc3QgQXRv
bVN0cmluZyYgdHlwZSkgY29uc3QKK3sKKyAgICByZXR1cm4gV1RGOjphbnlPZihtX3BlbmRpbmdF
dmVudHMsIFsmXShhdXRvJiBldmVudCkgeyByZXR1cm4gZXZlbnQtPnR5cGUoKSA9PSB0eXBlOyB9
KTsKK30KKwordm9pZCBFdmVudExvb3BFdmVudFF1ZXVlOjpzdG9wKCkKK3sKKyAgICBjbG9zZSgp
OworfQorCitjb25zdCBjaGFyKiBFdmVudExvb3BFdmVudFF1ZXVlOjphY3RpdmVET01PYmplY3RO
YW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gIkV2ZW50TG9vcEV2ZW50UXVldWUiOworfQorCitV
bmlxdWVSZWY8RXZlbnRMb29wRXZlbnRRdWV1ZT4gRXZlbnRMb29wRXZlbnRRdWV1ZTo6Y3JlYXRl
KEV2ZW50VGFyZ2V0JiBldmVudFRhcmdldCkKK3sKKyAgICBhdXRvIGV2ZW50UXVldWUgPSBtYWtl
VW5pcXVlUmVmPEV2ZW50TG9vcEV2ZW50UXVldWU+KGV2ZW50VGFyZ2V0KTsKKyAgICBldmVudFF1
ZXVlLT5zdXNwZW5kSWZOZWVkZWQoKTsKKyAgICByZXR1cm4gZXZlbnRRdWV1ZTsKK30KKworfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TG9vcEV2ZW50UXVldWUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudExvb3BFdmVudFF1ZXVlLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTU2ZmY3
NDc2MmU3ZDMxNWQ0NTQzMWExYzQyZDE5ODljMTY4NGMxYgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudExvb3BFdmVudFF1ZXVlLmgKQEAgLTAsMCArMSw3MCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBWaWN0b3IgQ2FyYnVuZSAodmljdG9yQHJvc2VkdS5v
cmcpCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgorI2luY2x1ZGUgPHd0Zi9EZXF1
ZS5oPgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgor
I2luY2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEV2ZW50OworY2xhc3MgRXZlbnRUYXJnZXQ7Citj
bGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OworCisvLyBGSVhNRTogV2Ugc2hvdWxkIHBvcnQg
Y2FsbCBzaXRlcyB0byB0aGUgSFRNTCBldmVudCBsb29wIGFuZCByZW1vdmUgdGhpcyBjbGFzcy4K
K2NsYXNzIEV2ZW50TG9vcEV2ZW50UXVldWUgOiBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJs
aWMgQ2FuTWFrZVdlYWtQdHI8RXZlbnRMb29wRXZlbnRRdWV1ZT4geworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIHN0YXRpYyBVbmlxdWVSZWY8RXZlbnRMb29wRXZl
bnRRdWV1ZT4gY3JlYXRlKEV2ZW50VGFyZ2V0Jik7CisKKyAgICB2b2lkIGVucXVldWVFdmVudChS
ZWZQdHI8RXZlbnQ+JiYpOworICAgIHZvaWQgY2xvc2UoKTsKKworICAgIHZvaWQgY2FuY2VsQWxs
RXZlbnRzKCk7CisgICAgYm9vbCBoYXNQZW5kaW5nRXZlbnRzT2ZUeXBlKGNvbnN0IEF0b21TdHJp
bmcmKSBjb25zdDsKKworICAgIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3Q7CisKK3By
aXZhdGU6CisgICAgZnJpZW5kIFVuaXF1ZVJlZjxFdmVudExvb3BFdmVudFF1ZXVlPiBXVEY6Om1h
a2VVbmlxdWVSZWZXaXRob3V0RmFzdE1hbGxvY0NoZWNrPEV2ZW50TG9vcEV2ZW50UXVldWUsIFdl
YkNvcmU6OkV2ZW50VGFyZ2V0Jj4oV2ViQ29yZTo6RXZlbnRUYXJnZXQmKTsKKyAgICBleHBsaWNp
dCBFdmVudExvb3BFdmVudFF1ZXVlKEV2ZW50VGFyZ2V0Jik7CisKKyAgICB2b2lkIGRpc3BhdGNo
T25lRXZlbnQoKTsKKworICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25z
dCBmaW5hbDsKKyAgICB2b2lkIHN0b3AoKSBmaW5hbDsKKworICAgIEV2ZW50VGFyZ2V0JiBtX293
bmVyOworICAgIERlcXVlPFJlZlB0cjxFdmVudD4+IG1fcGVuZGluZ0V2ZW50czsKKyAgICBib29s
IG1faXNDbG9zZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc0ZpcmluZ0V2ZW50IHsgZmFsc2Ug
fTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9HZW5lcmljRXZlbnRRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJp
Y0V2ZW50UXVldWUuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYjQ4ZGQ4ZDY2
ZmI5MWJiMGI5NGE4NjZkZDNhNzhjYWE5YjYyYjdhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmljRXZlbnRRdWV1
ZS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMTggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMiBWaWN0b3IgQ2FyYnVuZSAodmljdG9yQHJvc2VkdS5vcmcpCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5j
bHVkZSAiR2VuZXJpY0V2ZW50UXVldWUuaCIKLQotI2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5j
bHVkZSAiRXZlbnQuaCIKLSNpbmNsdWRlICJFdmVudExvb3AuaCIKLSNpbmNsdWRlICJFdmVudFRh
cmdldC5oIgotI2luY2x1ZGUgIk5vZGUuaCIKLSNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250
ZXh0LmgiCi0jaW5jbHVkZSAiVGltZXIuaCIKLSNpbmNsdWRlIDx3dGYvQWxnb3JpdGhtcy5oPgot
I2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+Ci0jaW5jbHVkZSA8d3RmL1NldEZvclNjb3BlLmg+
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotTWFpblRocmVhZEdlbmVyaWNFdmVudFF1ZXVlOjpN
YWluVGhyZWFkR2VuZXJpY0V2ZW50UXVldWUoRXZlbnRUYXJnZXQmIG93bmVyKQotICAgIDogQWN0
aXZlRE9NT2JqZWN0KG93bmVyLnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKLSAgICAsIG1fb3du
ZXIob3duZXIpCi17Ci19Ci0KLXZvaWQgTWFpblRocmVhZEdlbmVyaWNFdmVudFF1ZXVlOjplbnF1
ZXVlRXZlbnQoUmVmUHRyPEV2ZW50PiYmIGV2ZW50KQotewotICAgIGlmIChtX2lzQ2xvc2VkIHx8
ICFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChl
dmVudC0+dGFyZ2V0KCkgPT0gJm1fb3duZXIpCi0gICAgICAgIGV2ZW50LT5zZXRUYXJnZXQobnVs
bHB0cik7Ci0KLSAgICBtX3BlbmRpbmdFdmVudHMuYXBwZW5kKFdURk1vdmUoZXZlbnQpKTsKLQot
ICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+ZXZlbnRMb29wKCkucXVldWVUYXNrKFRhc2tT
b3VyY2U6Ok1lZGlhRWxlbWVudCwgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpXSB7Ci0g
ICAgICAgIGlmICh3ZWFrVGhpcykKLSAgICAgICAgICAgIHdlYWtUaGlzLT5kaXNwYXRjaE9uZUV2
ZW50KCk7Ci0gICAgfSk7Ci19Ci0KLXZvaWQgTWFpblRocmVhZEdlbmVyaWNFdmVudFF1ZXVlOjpk
aXNwYXRjaE9uZUV2ZW50KCkKLXsKLSAgICBBU1NFUlQoIW1fcGVuZGluZ0V2ZW50cy5pc0VtcHR5
KCkpOwotCi0gICAgUmVmPEV2ZW50VGFyZ2V0PiBwcm90ZWN0KG1fb3duZXIpOwotICAgIFNldEZv
clNjb3BlPGJvb2w+IGV2ZW50RmlyaW5nU2NvcGUobV9pc0ZpcmluZ0V2ZW50LCB0cnVlKTsKLQot
ICAgIFJlZlB0cjxFdmVudD4gZXZlbnQgPSBtX3BlbmRpbmdFdmVudHMudGFrZUZpcnN0KCk7Ci0g
ICAgUmVmPEV2ZW50VGFyZ2V0PiB0YXJnZXQgPSBldmVudC0+dGFyZ2V0KCkgPyAqZXZlbnQtPnRh
cmdldCgpIDogbV9vd25lcjsKLSAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCF0YXJnZXQtPnNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKS0+YWN0aXZlRE9NT2JqZWN0c0FyZVN0b3BwZWQoKSwKLSAgICAg
ICAgIkFuIGF0dGVtcHQgdG8gZGlzcGF0Y2ggYW4gZXZlbnQgb24gYSBzdG9wcGVkIHRhcmdldCBi
eSBFdmVudFRhcmdldEludGVyZmFjZT0lZCAobm9kZU5hbWU9JXMgdGFyZ2V0PSVwIG93bmVyPSVw
KSIsCi0gICAgICAgIG1fb3duZXIuZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSwgbV9vd25lci5pc05v
ZGUoKSA/IHN0YXRpY19jYXN0PE5vZGUmPihtX293bmVyKS5ub2RlTmFtZSgpLmFzY2lpKCkuZGF0
YSgpIDogIiIsIHRhcmdldC5wdHIoKSwgJm1fb3duZXIpOwotICAgIHRhcmdldC0+ZGlzcGF0Y2hF
dmVudCgqZXZlbnQpOwotfQotCi12b2lkIE1haW5UaHJlYWRHZW5lcmljRXZlbnRRdWV1ZTo6Y2xv
c2UoKQotewotICAgIG1faXNDbG9zZWQgPSB0cnVlOwotICAgIGNhbmNlbEFsbEV2ZW50cygpOwot
fQotCi12b2lkIE1haW5UaHJlYWRHZW5lcmljRXZlbnRRdWV1ZTo6Y2FuY2VsQWxsRXZlbnRzKCkK
LXsKLSAgICB3ZWFrUHRyRmFjdG9yeSgpLnJldm9rZUFsbCgpOwotICAgIG1fcGVuZGluZ0V2ZW50
cy5jbGVhcigpOwotfQotCi1ib29sIE1haW5UaHJlYWRHZW5lcmljRXZlbnRRdWV1ZTo6aGFzUGVu
ZGluZ0FjdGl2aXR5KCkgY29uc3QKLXsKLSAgICByZXR1cm4gIW1fcGVuZGluZ0V2ZW50cy5pc0Vt
cHR5KCkgfHwgbV9pc0ZpcmluZ0V2ZW50OwotfQotCi1ib29sIE1haW5UaHJlYWRHZW5lcmljRXZl
bnRRdWV1ZTo6aGFzUGVuZGluZ0V2ZW50c09mVHlwZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlKSBj
b25zdAotewotICAgIHJldHVybiBXVEY6OmFueU9mKG1fcGVuZGluZ0V2ZW50cywgWyZdKGF1dG8m
IGV2ZW50KSB7IHJldHVybiBldmVudC0+dHlwZSgpID09IHR5cGU7IH0pOwotfQotCi12b2lkIE1h
aW5UaHJlYWRHZW5lcmljRXZlbnRRdWV1ZTo6c3RvcCgpCi17Ci0gICAgY2xvc2UoKTsKLX0KLQot
Y29uc3QgY2hhciogTWFpblRocmVhZEdlbmVyaWNFdmVudFF1ZXVlOjphY3RpdmVET01PYmplY3RO
YW1lKCkgY29uc3QKLXsKLSAgICByZXR1cm4gIk1haW5UaHJlYWRHZW5lcmljRXZlbnRRdWV1ZSI7
Ci19Ci0KLVVuaXF1ZVJlZjxNYWluVGhyZWFkR2VuZXJpY0V2ZW50UXVldWU+IE1haW5UaHJlYWRH
ZW5lcmljRXZlbnRRdWV1ZTo6Y3JlYXRlKEV2ZW50VGFyZ2V0JiBldmVudFRhcmdldCkKLXsKLSAg
ICBhdXRvIGV2ZW50UXVldWUgPSBtYWtlVW5pcXVlUmVmPE1haW5UaHJlYWRHZW5lcmljRXZlbnRR
dWV1ZT4oZXZlbnRUYXJnZXQpOwotICAgIGV2ZW50UXVldWUtPnN1c3BlbmRJZk5lZWRlZCgpOwot
ICAgIHJldHVybiBldmVudFF1ZXVlOwotfQotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vR2VuZXJpY0V2ZW50UXVldWUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmljRXZl
bnRRdWV1ZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MzhkZWM4MTNkNzA4ZTNh
YzM5MTVmNTBlOTVkYTFjYzg5MDgzMjMwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmljRXZlbnRRdWV1ZS5oCisr
KyAvZGV2L251bGwKQEAgLTEsNzAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBW
aWN0b3IgQ2FyYnVuZSAodmljdG9yQHJvc2VkdS5vcmcpCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgIkFjdGl2ZURP
TU9iamVjdC5oIgotI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+Ci0jaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgotI2luY2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4K
LSNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNz
IEV2ZW50OwotY2xhc3MgRXZlbnRUYXJnZXQ7Ci1jbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0
OwotCi0vLyBGSVhNRTogV2Ugc2hvdWxkIHBvcnQgY2FsbCBzaXRlcyB0byB0aGUgSFRNTCBldmVu
dCBsb29wIGFuZCByZW1vdmUgdGhpcyBjbGFzcy4KLWNsYXNzIE1haW5UaHJlYWRHZW5lcmljRXZl
bnRRdWV1ZSA6IHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxN
YWluVGhyZWFkR2VuZXJpY0V2ZW50UXVldWU+IHsKLSAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKLXB1YmxpYzoKLSAgICBzdGF0aWMgVW5pcXVlUmVmPE1haW5UaHJlYWRHZW5lcmljRXZlbnRR
dWV1ZT4gY3JlYXRlKEV2ZW50VGFyZ2V0Jik7Ci0KLSAgICB2b2lkIGVucXVldWVFdmVudChSZWZQ
dHI8RXZlbnQ+JiYpOwotICAgIHZvaWQgY2xvc2UoKTsKLQotICAgIHZvaWQgY2FuY2VsQWxsRXZl
bnRzKCk7Ci0gICAgYm9vbCBoYXNQZW5kaW5nRXZlbnRzT2ZUeXBlKGNvbnN0IEF0b21TdHJpbmcm
KSBjb25zdDsKLQotICAgIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3Q7Ci0KLXByaXZh
dGU6Ci0gICAgZnJpZW5kIFVuaXF1ZVJlZjxNYWluVGhyZWFkR2VuZXJpY0V2ZW50UXVldWU+IFdU
Rjo6bWFrZVVuaXF1ZVJlZldpdGhvdXRGYXN0TWFsbG9jQ2hlY2s8TWFpblRocmVhZEdlbmVyaWNF
dmVudFF1ZXVlLCBXZWJDb3JlOjpFdmVudFRhcmdldCY+KFdlYkNvcmU6OkV2ZW50VGFyZ2V0Jik7
Ci0gICAgZXhwbGljaXQgTWFpblRocmVhZEdlbmVyaWNFdmVudFF1ZXVlKEV2ZW50VGFyZ2V0Jik7
Ci0KLSAgICB2b2lkIGRpc3BhdGNoT25lRXZlbnQoKTsKLQotICAgIGNvbnN0IGNoYXIqIGFjdGl2
ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKLSAgICB2b2lkIHN0b3AoKSBmaW5hbDsKLQot
ICAgIEV2ZW50VGFyZ2V0JiBtX293bmVyOwotICAgIERlcXVlPFJlZlB0cjxFdmVudD4+IG1fcGVu
ZGluZ0V2ZW50czsKLSAgICBib29sIG1faXNDbG9zZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9p
c0ZpcmluZ0V2ZW50IHsgZmFsc2UgfTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDEyOTMyMDNkN2M4MGE5
ZmRlYzY0MjRjNmU4NzE0MThiODQ5ZTBlZmMuLjJmMGFkN2JlYzFiMTNkZTBhNDJjYjJlYzBhYzc0
MGQxODI4OWJmZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApA
QCAtNDA5LDcgKzQwOSw3IEBAIEhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxNZWRpYUVsZW1lbnQoY29u
c3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtCiAgICAgLCBtX3Zpc2li
aWxpdHlDaGFuZ2VUYXNrUXVldWUoJmRvY3VtZW50KQogICAgICwgbV9mdWxsc2NyZWVuVGFza1F1
ZXVlKCZkb2N1bWVudCkKICAgICAsIG1fcGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzUXVldWUoJmRv
Y3VtZW50KQotICAgICwgbV9hc3luY0V2ZW50UXVldWUoTWFpblRocmVhZEdlbmVyaWNFdmVudFF1
ZXVlOjpjcmVhdGUoKnRoaXMpKQorICAgICwgbV9hc3luY0V2ZW50UXVldWUoRXZlbnRMb29wRXZl
bnRRdWV1ZTo6Y3JlYXRlKCp0aGlzKSkKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgICwg
bV92b2x1bWVSZXZlcnRUYXNrKCZkb2N1bWVudCkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuaAppbmRleCA2MDBkMDNjMTRlMGRmM2U2YTFlNjQ5Y2Y1NTI3ZjNjYTlj
Y2FhMTk0Li5hYmY2NDhkZGI0Nzk4YjMxNjJjYTRmMjRiZmZjOThlNTczOTc1ZGZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1
ZGUgIkF1dG9wbGF5RXZlbnQuaCIKICNpbmNsdWRlICJDYXB0aW9uVXNlclByZWZlcmVuY2VzLmgi
CiAjaW5jbHVkZSAiRGVmZXJyYWJsZVRhc2suaCIKLSNpbmNsdWRlICJHZW5lcmljRXZlbnRRdWV1
ZS5oIgorI2luY2x1ZGUgIkV2ZW50TG9vcEV2ZW50UXVldWUuaCIKICNpbmNsdWRlICJIVE1MRWxl
bWVudC5oIgogI2luY2x1ZGUgIkhUTUxNZWRpYUVsZW1lbnRFbnVtcy5oIgogI2luY2x1ZGUgIk1l
ZGlhQ2FuU3RhcnRMaXN0ZW5lci5oIgpAQCAtOTU3LDcgKzk1Nyw3IEBAIHByaXZhdGU6CiAgICAg
RXZlbnRMb29wVGFza1F1ZXVlIG1fZnVsbHNjcmVlblRhc2tRdWV1ZTsKICAgICBFdmVudExvb3BU
YXNrUXVldWUgbV9wbGF5YmFja1RhcmdldElzV2lyZWxlc3NRdWV1ZTsKICAgICBSZWZQdHI8VGlt
ZVJhbmdlcz4gbV9wbGF5ZWRUaW1lUmFuZ2VzOwotICAgIFVuaXF1ZVJlZjxNYWluVGhyZWFkR2Vu
ZXJpY0V2ZW50UXVldWU+IG1fYXN5bmNFdmVudFF1ZXVlOworICAgIFVuaXF1ZVJlZjxFdmVudExv
b3BFdmVudFF1ZXVlPiBtX2FzeW5jRXZlbnRRdWV1ZTsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQogICAgIEV2ZW50TG9vcERlZmVycmFibGVUYXNrIG1fdm9sdW1lUmV2ZXJ0VGFzazsKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0xpc3RCYXNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tMaXN0QmFzZS5jcHAKaW5kZXggMjY0
M2RmNDAwMzE5NGQ3NjllNTg2NjIwNjQ2MzZjNjc2MzYxOGQ4Yi4uYjZmMTdiZDUyNmMxMDY2ODRi
NTA5OWM5YjAxZDQxODlkNWIzYzBkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90
cmFjay9UcmFja0xpc3RCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1Ry
YWNrTGlzdEJhc2UuY3BwCkBAIC00Miw3ICs0Miw3IEBAIFdURl9NQUtFX0lTT19BTExPQ0FURURf
SU1QTChUcmFja0xpc3RCYXNlKTsKIFRyYWNrTGlzdEJhc2U6OlRyYWNrTGlzdEJhc2UoV2Vha1B0
cjxIVE1MTWVkaWFFbGVtZW50PiBlbGVtZW50LCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0KQogICAgIDogQWN0aXZlRE9NT2JqZWN0KGNvbnRleHQpCiAgICAgLCBtX2VsZW1lbnQoZWxl
bWVudCkKLSAgICAsIG1fYXN5bmNFdmVudFF1ZXVlKE1haW5UaHJlYWRHZW5lcmljRXZlbnRRdWV1
ZTo6Y3JlYXRlKCp0aGlzKSkKKyAgICAsIG1fYXN5bmNFdmVudFF1ZXVlKEV2ZW50TG9vcEV2ZW50
UXVldWU6OmNyZWF0ZSgqdGhpcykpCiB7CiAgICAgQVNTRVJUKCFjb250ZXh0IHx8IGlzPERvY3Vt
ZW50Pihjb250ZXh0KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNr
L1RyYWNrTGlzdEJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tMaXN0QmFz
ZS5oCmluZGV4IDY1ZTFjNzkxYzVlM2I4MTQxZDhiZjU5MDQxY2RjMmViZTJkYjZjMTQuLjZhNzI1
OWY5MjY4MmNiMmQ1Y2VjZjM3NDM5MzcwYTA1MDliYjc0OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tMaXN0QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvdHJhY2svVHJhY2tMaXN0QmFzZS5oCkBAIC0yOCw4ICsyOCw4IEBACiAjaWYgRU5BQkxFKFZJ
REVPKQogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCisjaW5jbHVkZSAiRXZlbnRMb29w
RXZlbnRRdWV1ZS5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCi0jaW5jbHVkZSAiR2VuZXJp
Y0V2ZW50UXVldWUuaCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgpAQCAtODUsNyArODUsNyBAQCBw
cml2YXRlOgogCiAgICAgV2Vha1B0cjxIVE1MTWVkaWFFbGVtZW50PiBtX2VsZW1lbnQ7CiAKLSAg
ICBVbmlxdWVSZWY8TWFpblRocmVhZEdlbmVyaWNFdmVudFF1ZXVlPiBtX2FzeW5jRXZlbnRRdWV1
ZTsKKyAgICBVbmlxdWVSZWY8RXZlbnRMb29wRXZlbnRRdWV1ZT4gbV9hc3luY0V2ZW50UXVldWU7
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL01vY2tNZWRpYVNlc3Npb25Db29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9Nb2NrTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuaAppbmRleCBiMmMwMDliODhhMDA3
NjZhZDcxYTU4ZDRkODM5Mjk3M2M1YzgwMjk1Li5iZWU1Y2Y5MmIwNDQ4NWY0YjUyZDMzOThhYTFm
MDdhN2IxMGM3MDgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tNZWRp
YVNlc3Npb25Db29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja01l
ZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmgKQEAgLTI3LDcgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShN
RURJQV9TRVNTSU9OX0NPT1JESU5BVE9SKQogCi0jaW5jbHVkZSAiR2VuZXJpY0V2ZW50UXVldWUu
aCIKKyNpbmNsdWRlICJFdmVudExvb3BFdmVudFF1ZXVlLmgiCiAjaW5jbHVkZSAiTWVkaWFTZXNz
aW9uQ29vcmRpbmF0b3JQcml2YXRlLmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNp
bmNsdWRlIDx3dGYvV2Vha1B0ci5oPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>