<?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>219521</bug_id>
          
          <creation_ts>2020-12-03 18:12:46 -0800</creation_ts>
          <short_desc>[GPUP] Move MediaCapabilities into the GPU process</short_desc>
          <delta_ts>2020-12-04 14:58:15 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>annulen</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>peng.liu6</cc>
    
    <cc>philipj</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>1711920</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-12-03 18:12:46 -0800</bug_when>
    <thetext>[GPUP] Move MediaCapabilities into the GPU process</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711928</commentid>
    <comment_count>1</comment_count>
      <attachid>415376</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-12-03 19:07:28 -0800</bug_when>
    <thetext>Created attachment 415376
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711929</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-12-03 19:07:29 -0800</bug_when>
    <thetext>&lt;rdar://problem/71963056&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711948</commentid>
    <comment_count>3</comment_count>
      <attachid>415385</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-12-03 21:43:05 -0800</bug_when>
    <thetext>Created attachment 415385
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711952</commentid>
    <comment_count>4</comment_count>
      <attachid>415388</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-12-03 22:14:48 -0800</bug_when>
    <thetext>Created attachment 415388
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711955</commentid>
    <comment_count>5</comment_count>
      <attachid>415390</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-12-03 23:01:29 -0800</bug_when>
    <thetext>Created attachment 415390
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712038</commentid>
    <comment_count>6</comment_count>
      <attachid>415420</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-12-04 09:15:57 -0800</bug_when>
    <thetext>Created attachment 415420
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712044</commentid>
    <comment_count>7</comment_count>
      <attachid>415423</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-12-04 09:36:26 -0800</bug_when>
    <thetext>Created attachment 415423
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712076</commentid>
    <comment_count>8</comment_count>
      <attachid>415423</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-12-04 11:17:36 -0800</bug_when>
    <thetext>Comment on attachment 415423
Patch

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

&gt; Source/WebCore/platform/MediaCapabilitiesDecodingInfo.h:65
&gt; +    Optional&lt;MediaCapabilitiesInfo&gt; info = MediaCapabilitiesInfo::decode(decoder);

Nit: `auto`

&gt; Source/WebCore/platform/MediaCapabilitiesEncodingInfo.h:65
&gt; +    Optional&lt;MediaCapabilitiesInfo&gt; info = MediaCapabilitiesInfo::decode(decoder);

Ditto

&gt; Source/WebCore/platform/mediacapabilities/MediaDecodingConfiguration.h:50
&gt; +    Optional&lt;MediaConfiguration&gt; mediaConfiguration = MediaConfiguration::decode(decoder);

Ditto.

&gt; Source/WebCore/platform/mediacapabilities/MediaEncodingConfiguration.h:50
&gt; +    Optional&lt;MediaConfiguration&gt; mediaConfiguration = MediaConfiguration::decode(decoder);

Ditto.

&gt; Source/WebCore/platform/mediacapabilities/VideoConfiguration.h:113
&gt; +
&gt; +

Nit: extra line</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712120</commentid>
    <comment_count>9</comment_count>
      <attachid>415446</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-12-04 12:34:49 -0800</bug_when>
    <thetext>Created attachment 415446
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712181</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-12-04 14:58:14 -0800</bug_when>
    <thetext>Committed r270462: &lt;https://trac.webkit.org/changeset/270462&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 415446.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415376</attachid>
            <date>2020-12-03 19:07:28 -0800</date>
            <delta_ts>2020-12-03 21:43:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219521-20201203190727.patch</filename>
            <type>text/plain</type>
            <size>77324</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMzY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjY3MmMyMzMwOTUyMTYx
ZDIyZGNkNGU2OTNiYjBkMDgzODcxOGMyNC4uNWM1ZGUzNDYyYzQxY2QxODBmMzNiMzBiYmZlYmFk
OWQ1NGEzOWIxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDIwLTEyLTAzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFVQXSBNb3ZlIE1lZGlh
Q2FwYWJpbGl0aWVzIGludG8gdGhlIEdQVSBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk1MjEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgZW5jb2RlKCkgYW5kIGRlY29kZSgpIG9wZXJh
dGlvbnMgdG8gYWxsIHN0cnVjdHMgdXNlZCBpbnNpZGUKKyAgICAgICAgTWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeS4gQWRkIHRoZSBhYmlsaXR5IGZvciBjbGllbnRzIHRvIHByb3ZpZGUK
KyAgICAgICAgdGhlaXIgb3duIGZhY3RvcmllcyBmb3IgdXNlIGluIE1lZGlhRW5naW5lQ29uZmln
dXJhdGlvbkZhY3RvcnkuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8u
aDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvOjplbmNv
ZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0lu
Zm86OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGlu
Z0luZm8uaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZv
OjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDYXBhYmlsaXRpZXNFbmNv
ZGluZ0luZm86OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNJ
bmZvLmg6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0luZm86OmVuY29kZSBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0luZm86OmRlY29kZSk6
CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvQXVkaW9Db25maWd1cmF0aW9u
Lmg6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0NvbmZpZ3VyYXRpb246OmVuY29kZSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0NvbmZpZ3VyYXRpb246OmRlY29kZSk6CisgICAgICAg
ICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvQ29sb3JHYW11dC5oOgorICAgICAgICAqIHBs
YXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL0hkck1ldGFkYXRhVHlwZS5oOgorICAgICAgICAqIHBs
YXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oOgorICAg
ICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ29uZmlndXJhdGlvbi5oOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb25maWd1cmF0aW9uOjplbmNvZGUgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFDb25maWd1cmF0aW9uOjpkZWNvZGUpOgorICAgICAgICAqIHBs
YXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbjo6ZW5jb2RlIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uOjpkZWNvZGUp
OgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdUeXBl
Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ0Nv
bmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdDb25maWd1cmF0
aW9uOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmNvZGluZ0NvbmZp
Z3VyYXRpb246OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMv
TWVkaWFFbmNvZGluZ1R5cGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGll
cy9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmRlZmF1bHRGYWN0b3JpZXMpOgorICAgICAgICAoV2ViQ29yZTo6ZmFjdG9yaWVzKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OmNsZWFyRmFjdG9y
aWVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6
OnJlc2V0RmFjdG9yaWVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3Rvcnk6Omluc3RhbGxGYWN0b3J5KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRW5n
aW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6Omhhc0RlY29kaW5nQ29uZmlndXJhdGlvbkZhY3Rvcnkp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6aGFz
RW5jb2RpbmdDb25maWd1cmF0aW9uRmFjdG9yeSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFj
YXBhYmlsaXRpZXMvTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oOgorICAgICAgICAq
IHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1RyYW5zZmVyRnVuY3Rpb24uaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlZpZGVvQ29uZmlndXJhdGlvbjo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlZpZGVvQ29uZmlndXJhdGlvbjo6ZGVjb2RlKToKKwogMjAyMC0xMi0wMyAgSmVy
IE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIEFkb3B0IEFW
T3V0cHV0RGV2aWNlLmFsbG93c0hlYWRUcmFja2VkU3BhdGlhbEF1ZGlvCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDJk
ZjMxZjMyNTRiODQwOTlkNGU1ZWRhZTM3NzdkZjMyYTIwNDcxMzkuLmMwNjMzMDExOTliMzAwMGY1
ZTViZDFkZDRmNDkyMGNiODA4YTFhYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMjAt
MTItMDMgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVVBd
IE1vdmUgTWVkaWFDYXBhYmlsaXRpZXMgaW50byB0aGUgR1BVIHByb2Nlc3MKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTUyMQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG5ldyBwYWlyIG9mIHBy
b2Nlc3Mgc3VwcGxlbWVudHMsIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnkg
YW5kIC4uUHJveHkuCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0
OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzczo6bWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5KToKKyAgICAgICAgKFdl
YktpdDo6R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlzcGF0Y2hNZXNzYWdlKToKKyAgICAg
ICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBH
UFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94
eS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3Vy
YXRpb25GYWN0b3J5UHJveHk6OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQ
cm94eSk6CisgICAgICAgIChXZWJLaXQ6OmNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbik6Cisg
ICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94
eTo6Y3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5oOiBBZGRlZC4K
KyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3RvcnlQcm94eS5tZXNzYWdlcy5pbjogQWRkZWQuCisgICAgICAgICogU291cmNlcy50eHQ6
CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
V2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0
OjpHUFVQcm9jZXNzQ29ubmVjdGlvbjo6bWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeSk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdl
ci5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQ
cm92aWRlck1hbmFnZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVN
ZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OlJlbW90ZU1lZGlhRW5n
aW5lQ29uZmlndXJhdGlvbkZhY3RvcnkpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpyZWdpc3RlckZhY3RvcnkpOgorICAgICAgICAoV2Vi
S2l0OjpSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpzdXBwbGVtZW50TmFt
ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnk6OmdwdVByb2Nlc3NDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6Y3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKToK
KyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6
Y3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9t
ZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Lmg6IENvcGllZCBmcm9t
IFNvdXJjZS9XVEYvd3RmL0FsZ29yaXRobXMuaC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzZXRVc2VHUFVQcm9jZXNz
Rm9yTWVkaWEpOgorCiAyMDIwLTEyLTAzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29t
PgogCiAgICAgICAgIFtDb2NvYV0gQWRvcHQgQVZPdXRwdXREZXZpY2UuYWxsb3dzSGVhZFRyYWNr
ZWRTcGF0aWFsQXVkaW8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCAyZjgzYWU1NmYyM2Y4MWJmOTFjZjYyNTVkNWVlOTc5MGUyYzli
MmM3Li40ODY5NDQ3OWMxYTJmYzExNTQzZjdkYjJmZTUyNGE4MGQzNGU0MzI2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00MjM0
LDYgKzQyMzQsMTggQEAKIAkJQ0QzRTIxREQyMTgzNDQ0QTAwRTY2RjU1IC8qIEltYWdlQnVmZmVy
VXRpbGl0aWVzQ0cuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENEM0UyMURCMjE4MzNGNTEwMEU2NkY1NSAvKiBJbWFnZUJ1ZmZlclV0aWxpdGllc0NHLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0QzRTI1
MUMxODA0NkIwNjAwRTI3RjU2IC8qIEdyaWRBcmVhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDNFMjUxQjE4MDQ2QjA2MDBFMjdGNTYgLyogR3JpZEFy
ZWEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlD
RDNFMjUyNDE4MDQ2QkNEMDBFMjdGNTYgLyogQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QzRTI1MjIxODA0
NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaCAqLzsgfTsKKwkJQ0Qz
RUVGMzcyNTc5OUVGRTAwNjU2M0JCIC8qIE1lZGlhQ2FwYWJpbGl0aWVzSW5mby5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QwQzhCNTgyMTQxQzhDQTAw
NjJGNTlEIC8qIE1lZGlhQ2FwYWJpbGl0aWVzSW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNEM0VFRjM4MjU3OTlGNzMwMDY1NjNCQiAvKiBN
ZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0RCRDNEMzYxRkU4NUNDMDAwMTJDNTQ1IC8qIE1lZGlhRGVjb2Rp
bmdDb25maWd1cmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJQ0QzRUVGMzkyNTc5OUY3RjAwNjU2M0JCIC8qIE1lZGlhQ29uZmlndXJhdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RCRDNE
MzUxRkU4NUNCRjAwMTJDNTQ1IC8qIE1lZGlhQ29uZmlndXJhdGlvbi5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNEM0VFRjNBMjU3OTlGODgwMDY1
NjNCQiAvKiBBdWRpb0NvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENEQkQzRDJCMUZFODVDQkIwMDEyQzU0NSAvKiBBdWRpb0NvbmZp
Z3VyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQlDRDNFRUYzQjI1Nzk5RkExMDA2NTYzQkIgLyogVmlkZW9Db25maWd1cmF0aW9uLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREJEM0QzNDFGRTg1
Q0JGMDAxMkM1NDUgLyogVmlkZW9Db25maWd1cmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0QzRUVGM0MyNTc5OUZBQjAwNjU2M0JCIC8q
IENvbG9yR2FtdXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENENEU0RTlCMjM1N0NCOUQwMDc4OTVDMyAvKiBDb2xvckdhbXV0LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0QzRUVGM0QyNTc5OUZCNTAw
NjU2M0JCIC8qIEhkck1ldGFkYXRhVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0Q0RTRFOUMyMzU3Q0I5RDAwNzg5NUMzIC8qIEhkck1ldGFkYXRh
VHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUNEM0VFRjNFMjU3OTlGQzcwMDY1NjNCQiAvKiBNZWRpYURlY29kaW5nVHlwZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RCRDNEMzgxRkU4NUNDMDAw
MTJDNTQ1IC8qIE1lZGlhRGVjb2RpbmdUeXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0QzRUVGM0YyNTc5OUZDQzAwNjU2M0JCIC8qIE1lZGlh
RW5jb2RpbmdDb25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDREJEM0QzNzFGRTg1Q0MwMDAxMkM1NDUgLyogTWVkaWFFbmNvZGluZ0Nv
bmZpZ3VyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQlDRDNFRUY0MDI1Nzk5RkQwMDA2NTYzQkIgLyogTWVkaWFFbmNvZGluZ1R5cGUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQkQzRDNFMUZF
ODVDQzMwMDEyQzU0NSAvKiBNZWRpYUVuY29kaW5nVHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNEM0VFRjQxMjU3OTlGRDkwMDY1NjNCQiAv
KiBUcmFuc2ZlckZ1bmN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRDRFNEU5QTIzNTdDQjlDMDA3ODk1QzMgLyogVHJhbnNmZXJGdW5jdGlvbi5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNEM0VF
RjQyMjU3OUI0NEEwMDY1NjNCQiAvKiBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QUM2RjAyNTIx
MTQ4RjU0MDBDQkRBMDYgLyogTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNENEFDNTJBMTQ5
NkFFOUEwMDg3QzRFRiAvKiBDb21wb3NpdGUud2F2IGluIENvcHkgQXVkaW8gUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENEFDNTI4MTQ5NkFFMkYwMDg3QzRF
RiAvKiBDb21wb3NpdGUud2F2ICovOyB9OwogCQlDRDUyMDlFNDFCMEJEODM4MDA3NzE4NEUgLyog
TWVkaWFQbGF5ZXJFbnVtcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0Q1MjA5RTMxQjBCRDgzODAwNzcxODRFIC8qIE1lZGlhUGxheWVyRW51bXMuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRDUyMDlF
NjFCMEJEOUUxMDA3NzE4NEUgLyogSFRNTE1lZGlhRWxlbWVudEVudW1zLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDUyMDlFNTFCMEJEOUUxMDA3NzE4
NEUgLyogSFRNTE1lZGlhRWxlbWVudEVudW1zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTQzMjgsOCArNDM0MCw4IEBACiAJCUNEQzkzOUE4MUU5
QkRGQjEwMEJCNzY4RCAvKiBWaWRlb1Rvb2xib3hTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDOTM5QTYxRTlCREZCMTAwQkI3NjhEIC8q
IFZpZGVvVG9vbGJveFNvZnRMaW5rLmggKi87IH07CiAJCUNEQzk3OUY1MUM0OThDMDkwMERCNTBE
NCAvKiBXZWJDb3JlTlNFcnJvckV4dHJhcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0RDOTc5RjMxQzQ5OEMwOTAwREI1MEQ0IC8qIFdlYkNvcmVOU0Vy
cm9yRXh0cmFzLmggKi87IH07CiAJCUNEQ0E5OEVCMThCMkM4RUIwMEMxMkZGOSAvKiBMZWdhY3lD
RE1Qcml2YXRlTWVkaWFQbGF5ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0RDQTk4RUExOEIyQzhFQjAwQzEyRkY5IC8qIExlZ2FjeUNETVByaXZh
dGVNZWRpYVBsYXllci5jcHAgKi87IH07Ci0JCUNEQ0M5QkNGMjIzODdFOUEwMEZGQjUxQyAvKiBN
ZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDQzlCQ0UyMjM4N0U5QTAwRkZCNTFDIC8qIE1lZGlhQ2Fw
YWJpbGl0aWVzRGVjb2RpbmdJbmZvLmggKi87IH07Ci0JCUNEQ0M5QkQxMjIzODdFQUEwMEZGQjUx
QyAvKiBNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDQzlCRDAyMjM4N0VBQTAwRkZCNTFDIC8qIE1l
ZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvLmggKi87IH07CisJCUNEQ0M5QkNGMjIzODdFOUEw
MEZGQjUxQyAvKiBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDQzlCQ0UyMjM4N0U5QTAwRkZCNTFD
IC8qIE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0RDQzlCRDEyMjM4N0VBQTAwRkZCNTFDIC8q
IE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRENDOUJEMDIyMzg3RUFBMDBGRkI1MUMgLyogTWVkaWFD
YXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlDRENENDFFODFDM0REQjBBMDA5NjVEOTkgLyogUGFyc2VkQ29u
dGVudFJhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDRENENDFFNjFDM0REQjA5MDA5NjVEOTkgLyogUGFyc2VkQ29udGVudFJhbmdlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0RDRkFCQkQxOEMw
QUY3ODAwNkY4NDUwIC8qIEhpZ2hsaWdodERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQ0ZBQkJCMThDMEFFMzEwMDZGODQ1MCAvKiBIaWdobGln
aHREYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJQ0RENzA4OTcxODM1OUY2RjAwMkIzREM2IC8qIFNhbXBsZU1hcC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RENzA4OTUxODM1OUY2RjAwMkIzREM2
IC8qIFNhbXBsZU1hcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CkBAIC03ODAyLDcgKzc4MTQsNiBAQAogCQk0MTlFNkVDNzI1NjZEMjE0MDAyQjUwMTAg
LyogUlRDUGVlckNvbm5lY3Rpb25JY2VFcnJvckV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ1Bl
ZXJDb25uZWN0aW9uSWNlRXJyb3JFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0MTlFNkVEMjI1NjdCRjY5MDAyQjUwMTAgLyogUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXJDb250
ZXh0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSVENSdHBTY3JpcHRUcmFuc2Zvcm1lckNv
bnRleHQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTlFNkVENTI1NjdCRjZB
MDAyQjUwMTAgLyogUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXJDb250ZXh0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyQ29udGV4dC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MTlFNkVEODI1NjdEOEQ5MDAyQjUwMTAgLyog
TGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5jcHA7IHBhdGgg
PSBsaWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE5RkFGQUQxQUJBQkNENTAwNUIzNTcyIC8qIFJlYWRhYmxl
U3RyZWFtQllPQlJlYWRlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUmVhZGFibGVTdHJl
YW1CWU9CUmVhZGVyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE5RkFGQUQx
QUJBQkNENTAwNUI4MjhCIC8qIFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlci5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFBMDIzRUQxQTM5REI3OTAwRjcyMkNGIC8qIFJlYWRh
YmxlU3RyZWFtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSZWFkYWJsZVN0cmVhbS5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zMTA5Nyw2ICszMTEwOCw3IEBACiAJCQkJ
NTc2MDgyNzIyMDIxNUE1NTAwMTE2Njc4IC8qIEF1dGhlbnRpY2F0b3JDb29yZGluYXRvckNsaWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTcyQjQwNDIyMTc4MTE0QTAwMEFENDNFIC8qIEF1dGhl
bnRpY2F0b3JHZXRJbmZvUmVzcG9uc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3MzAzQkQyMjAw
ODdBODMwMDM1NTk2NSAvKiBBdXRoZW50aWNhdG9yUmVzcG9uc2UuaCBpbiBIZWFkZXJzICovLAor
CQkJCUNEM0VFRjNDMjU3OTlGQUIwMDY1NjNCQiAvKiBDb2xvckdhbXV0LmggaW4gSGVhZGVycyAq
LywKIAkJCQk1N0RDRUQ3NDIxNDMwNUYwMDAxNkI4NDcgLyogQXV0aGVudGljYXRvclJlc3BvbnNl
RGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTcyQjQwNDAyMTc4MDE3MTAwMEFENDNFIC8qIEF1
dGhlbnRpY2F0b3JTdXBwb3J0ZWRPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0RDRUQ5
MDIxNDg3RkY3MDAxNkI4NDcgLyogQXV0aGVudGljYXRvclRyYW5zcG9ydC5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0zMTI4OSw2ICszMTMwMSw3IEBACiAJCQkJQTgxODcyMjAwOTc3RDNDMDAwNTgyNkQ5
IC8qIENoaWxkTm9kZUxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0RDgyMzUyMEFGOTJBNzkw
MDA0RjA1NyAvKiBDaHJvbWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0RDgyNDA4MEFGOTNBRUIw
MDA0RjA1NyAvKiBDaHJvbWVDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUNEM0VFRjNBMjU3
OTlGODgwMDY1NjNCQiAvKiBBdWRpb0NvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJ
CUU0QTgxNEQ0MUM2REVDNDAwMEJGODVBQyAvKiBDbGFzc0NoYW5nZUludmFsaWRhdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJODM0OEJGQUMxQjg1NzI5ODAwOTEyRjM2IC8qIENsYXNzQ29sbGVj
dGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDEwNzkwOEMxRkMzRjAzMzAwNjFCMjdBIC8qIENs
aWVudE9yaWdpbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMTMyNyw2ICszMTM0MCw3IEBACiAJCQkJ
NDNFREQ2N0YxQjQ4NURCRjAwNjQwRTc1IC8qIENvbWJpbmVkRmlsdGVyc0FscGhhYmV0LmggaW4g
SGVhZGVycyAqLywKIAkJCQkyNkU5NDREOTFBQzRCMkREMDA3Qjg1QjUgLyogQ29tYmluZWRVUkxG
aWx0ZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTg0RkUzNTE4NjRENUFGMDA4NDNCMTAgLyog
Q29tbWFuZExpbmVBUElIb3N0LmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDNFRUYzOTI1Nzk5RjdG
MDA2NTYzQkIgLyogTWVkaWFDb25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTg0
RkUyQzE4NjM4NzBGMDA4NDNCMTAgLyogQ29tbWFuZExpbmVBUElNb2R1bGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE1ODRGRTI2MTg2MzdEQUIwMDg0M0IxMCAvKiBDb21tYW5kTGluZUFQSU1vZHVs
ZVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjU1MEI2QTIwOTlERjAyNzAwOTBENzgxIC8q
IENvbW1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMzE1MzQsNiArMzE1NDgsNyBAQAogCQkJCUE4
MEU2RDAwMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NQYWdlUnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNEI1QkREOUIyMTY1OEExNTAwREQ0MjYyIC8qIENTU1BhaW50Q2FsbGJhY2suaCBpbiBIZWFk
ZXJzICovLAogCQkJCTRCNkU4NzY5MjE3NkQ2OTIwMDQyMEU1RSAvKiBDU1NQYWludEltYWdlVmFs
dWUuaCBpbiBIZWFkZXJzICovLAorCQkJCUNEM0VFRjNEMjU3OTlGQjUwMDY1NjNCQiAvKiBIZHJN
ZXRhZGF0YVR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTRCQUZEMENCMjE5MEVCRDYwMEMwQUI2
NCAvKiBDU1NQYWludFNpemUuaCBpbiBIZWFkZXJzICovLAogCQkJCTk0NkQzNzJFMUQ2Q0IyOTQw
MDc3MDg0RiAvKiBDU1NQYXJzZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0QTc5OTUyMjBFRTRC
MTQwMEMxOTU2OCAvKiBDU1NQYXJzZXJDb250ZXh0LmggaW4gSGVhZGVycyAqLywKQEAgLTMyMTAz
LDYgKzMyMTE4LDcgQEAKIAkJCQk3QkIzNEE0ODI1Mzc3NkNBMDAwMjlEMDggLyogR3JhcGhpY3ND
b250ZXh0R0xJbWFnZUV4dHJhY3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlDN0I5RkMxMDQy
RDM2NTAwMDlENDQ3IC8qIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmggaW4gSGVhZGVycyAqLywK
IAkJCQkzMTlBNzI4ODIzQzI2N0ZFMDA4NTM1M0MgLyogR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xN
YW5hZ2VyLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDNFRUY0MjI1NzlCNDRBMDA2NTYzQkIgLyog
TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkRB
Q0I5RTkyMzc1NUQwMDAwQjRDMTg1IC8qIEdyYXBoaWNzQ29udGV4dEltcGwuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE4MEQ2NzA4MEU5RTlERUIwMEU0MjBGMCAvKiBHcmFwaGljc0NvbnRleHRQbGF0
Zm9ybVByaXZhdGVDRy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1ODBCMEQwRjEyQTI2OTAwNTFE
Njg5IC8qIEdyYXBoaWNzTGF5ZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMzIyOTAsNiArMzIzMDYs
NyBAQAogCQkJCTUxODVGQzdCMUJCNEM0RTgwMDEyODk4RiAvKiBJREJDdXJzb3IuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTdDM0Q4RUVCMUUwQjE1QTcwMDIzQjA4NCAvKiBJREJDdXJzb3JEaXJlY3Rp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNzEzOEZDMUJGM0FERjQwMDBENUYwMSAvKiBJREJD
dXJzb3JJbmZvLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDNFRUYzQjI1Nzk5RkExMDA2NTYzQkIg
LyogVmlkZW9Db25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTEwRkNGQzFFMDM2
NDFEMDA2RjhEMEIgLyogSURCQ3Vyc29yUmVjb3JkLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTg1
RkM3RTFCQjRDNEU4MDAxMjg5OEYgLyogSURCQ3Vyc29yV2l0aFZhbHVlLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1MTg1RkM4MTFCQjRDNEU4MDAxMjg5OEYgLyogSURCRGF0YWJhc2UuaCBpbiBIZWFk
ZXJzICovLApAQCAtMzI0OTksNiArMzI1MTYsNyBAQAogCQkJCUNENUZGNDk3MjE2MkUyQjcwMDRC
RDg2RiAvKiBJU09UcmFja0VuY3J5cHRpb25Cb3guaCBpbiBIZWFkZXJzICovLAogCQkJCTA3RDEy
RjVDMjNERTU0M0YwMDgwOTk3RCAvKiBJU09WVFRDdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTcx
MjQ3RTM4MUZFQTVGODYwMDhDMDhDRSAvKiBJdGVyYXRpb25Db21wb3NpdGVPcGVyYXRpb24uaCBp
biBIZWFkZXJzICovLAorCQkJCUNEM0VFRjQxMjU3OTlGRDkwMDY1NjNCQiAvKiBUcmFuc2ZlckZ1
bmN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzMwRDk4NDFGODE1QUVDMDAyNjgzNTYgLyog
SlNBYm9ydENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDMzBEOTg2MUY4MTVBRUMw
MDI2ODM1NiAvKiBKU0Fib3J0U2lnbmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzU1RUY1MTI1
M0E0Mjc5MDA2RkY0QTQgLyogSlNBYnN0cmFjdFJhbmdlLmggaW4gSGVhZGVycyAqLywKQEAgLTMz
MDk1LDYgKzMzMTEzLDcgQEAKIAkJCQlBQTJBNUFEMjE2QTQ4NjBBMDA5NzZBMjUgLyogSlNTcGVl
Y2hTeW50aGVzaXNFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUE3RkVFQTcxNkE0RTZGMzAw
NEMwQzMzIC8qIEpTU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBQTdGRUVBOTE2QTRFNkYzMDA0QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXNWb2ljZS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQ0QzRUVGM0UyNTc5OUZDNzAwNjU2M0JCIC8qIE1lZGlhRGVjb2Rp
bmdUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzgyNDMyOTBEMENFOEEyMDA0NjBDOEYgLyog
SlNTUUxFcnJvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFODJGRUQwQ0FCMDdFRTAwMjIzN0FF
IC8qIEpTU1FMUmVzdWx0U2V0LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUZFMTE5QTBDQkZGQ0M0
MDAzMDE3RkEgLyogSlNTUUxSZXN1bHRTZXRSb3dMaXN0LmggaW4gSGVhZGVycyAqLywKQEAgLTM0
MTk1LDYgKzM0MjE0LDcgQEAKIAkJCQlFNDdDMzkyRjFGRTZFMEY5MDBCQkJDNkIgLyogUmVuZGVy
VHJlZVVwZGF0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0N0MzOTMxMUZFNkUxMDIwMEJCQkM2
QiAvKiBSZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUU0NDYxNDUyMENENjhBMzUwMEZBREE3NSAvKiBSZW5kZXJWaWRlby5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQ0QzRUVGNDAyNTc5OUZEMDAwNjU2M0JCIC8qIE1lZGlhRW5jb2RpbmdUeXBlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQ0VBNDg2ODA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyVmll
dy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkUyMDUwN0UxOEE0NThDMjAwODA2NDdFIC8qIFJlbmRl
clZUVEN1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg3MURGRTQwQTE1Mzc2QjAwQjEyQTY4IC8q
IFJlbmRlcldpZGdldC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNDI1Niw2ICszNDI3Niw3IEBACiAJ
CQkJMzEzNTkxMDYxRTdEREM3MzAwRjMwNjMwIC8qIFJUQ0ljZUNvbm5lY3Rpb25TdGF0ZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMzEzNTkxMDcxRTdEREM3MzAwRjMwNjMwIC8qIFJUQ0ljZUdhdGhl
cmluZ1N0YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwN0FCOTk2QjE4REEzQzAxMDAxODc3MUUg
LyogUlRDSWNlU2VydmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDNFRUYzNzI1Nzk5RUZFMDA2
NTYzQkIgLyogTWVkaWFDYXBhYmlsaXRpZXNJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTM1
OTEwODFFN0REQzczMDBGMzA2MzAgLyogUlRDSWNlVHJhbnNwb3J0UG9saWN5LmggaW4gSGVhZGVy
cyAqLywKIAkJCQkzMTM1OTEwOTFFN0REQzczMDBGMzA2MzAgLyogUlRDSWNlVHJhbnNwb3J0U3Rh
dGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3Mzc5NEZFMTlGNTg2NEUwMEU1QTA0NSAvKiBSVENO
b3RpZmllcnNNb2NrLmggaW4gSGVhZGVycyAqLywKQEAgLTM0MzM0LDYgKzM0MzU1LDcgQEAKIAkJ
CQkwRkU3MTQwNjE0MjE3MEI4MDBEQjMzQkEgLyogU2Nyb2xsYmFyVGhlbWVNb2NrLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk4M0M1Nzk1RDFEQTVDMzAxMDA2RkFDODYgLyogU2Nyb2xsQmVoYXZpb3Iu
aCBpbiBIZWFkZXJzICovLAogCQkJCTFBQTg0RjA1MTQzQkE3QkQwMDUxRDE1MyAvKiBTY3JvbGxD
b250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDNFRUYzODI1Nzk5RjczMDA2NTYzQkIg
LyogTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNjA1
QUVEMTVGOTQ4NDgwMDRERjBDMCAvKiBTY3JvbGxpbmdDb25zdHJhaW50cy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMUFGNjJFRTgxNERBMjJBNzAwNDE1NTZDIC8qIFNjcm9sbGluZ0Nvb3JkaW5hdG9y
LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzkxQTk5MTE2Mjc0NkNCMDAyOTczMzAgLyogU2Nyb2xs
aW5nQ29vcmRpbmF0b3JNYWMuaCBpbiBIZWFkZXJzICovLApAQCAtMzQ0ODgsNiArMzQ1MTAsNyBA
QAogCQkJCUNEQzhCNUFEMTgwNEFFNUQwMDE2RTY4NSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlQ2xp
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NEE4MUY0MjBGQzdFMDI3MDA5NTUzMDAgLyogU291
cmNlR3JhcGhpYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDAxQTI3QUUxMEM5QkZEODAwMDI2QTQy
IC8qIFNwYWNlU3BsaXRTdHJpbmcuaCBpbiBIZWFkZXJzICovLAorCQkJCUNEM0VFRjNGMjU3OTlG
Q0MwMDY1NjNCQiAvKiBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbi5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNjI2Q0RFMEYxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggaW4g
SGVhZGVycyAqLywKIAkJCQk5MzQ5NTBDRDI1Mzk0MzYxMDA5OUYxNzEgLyogU3BlZWNoUmVjb2du
aXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTkzNDk1MENFMjUzOTQzNjUwMDk5RjE3MSAvKiBT
cGVlY2hSZWNvZ25pdGlvbkFsdGVybmF0aXZlLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5o
CmluZGV4IDgxY2YzNzYwNjY0NmVmMTNlN2M5MDRhZmNhZTcyOTA4NTAwOTQ4NjUuLmNkNWFiYzE0
YjUxNWZlZTc3YWE2MDhmMTJlNWNmNzM4MzhhNmQ1NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaApAQCAtNDYs
NiArNDYsMzYgQEAgc3RydWN0IE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvIDogTWVkaWFD
YXBhYmlsaXRpZXNJbmZvIHsKICAgICB9CiAKICAgICBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlv
biBzdXBwb3J0ZWRDb25maWd1cmF0aW9uOworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4g
dm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+
IHN0YXRpYyBPcHRpb25hbDxNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbz4gZGVjb2RlKERl
Y29kZXImKTsKIH07CiAKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIE1lZGlhQ2FwYWJp
bGl0aWVzRGVjb2RpbmdJbmZvOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAg
ICBNZWRpYUNhcGFiaWxpdGllc0luZm86OmVuY29kZShlbmNvZGVyKTsKKyAgICBlbmNvZGVyIDw8
IHN1cHBvcnRlZENvbmZpZ3VyYXRpb247CiB9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+CitP
cHRpb25hbDxNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbz4gTWVkaWFDYXBhYmlsaXRpZXNE
ZWNvZGluZ0luZm86OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIE9wdGlvbmFsPE1l
ZGlhQ2FwYWJpbGl0aWVzSW5mbz4gaW5mbyA9IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbzo6ZGVjb2Rl
KGRlY29kZXIpOworICAgIGRlY29kZXIgPj4gaW5mbzsKKyAgICBpZiAoIWluZm8pCisgICAgICAg
IHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxNZWRpYURlY29kaW5nQ29uZmln
dXJhdGlvbj4gc3VwcG9ydGVkQ29uZmlndXJhdGlvbjsKKyAgICBkZWNvZGVyID4+IHN1cHBvcnRl
ZENvbmZpZ3VyYXRpb247CisgICAgaWYgKCFzdXBwb3J0ZWRDb25maWd1cmF0aW9uKQorICAgICAg
ICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgcmV0dXJuIE1lZGlhQ2FwYWJpbGl0aWVzRGVj
b2RpbmdJbmZvKAorICAgICAgICBXVEZNb3ZlKCppbmZvKSwKKyAgICAgICAgV1RGTW92ZSgqc3Vw
cG9ydGVkQ29uZmlndXJhdGlvbikKKyAgICApOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVz
RW5jb2RpbmdJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGll
c0VuY29kaW5nSW5mby5oCmluZGV4IDQyZDM4NTNjYjNjZDk2NDYwMzI0MTdmMTYxNmFkNjY1ZTFk
YzEzYTguLmU4MTFjZWNkZjk1MzQxNTg0MTAxZjliZDFlMDM2NzgxOWEzYWRmNTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZv
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGlu
Z0luZm8uaApAQCAtNDYsNiArNDYsMzUgQEAgc3RydWN0IE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2Rp
bmdJbmZvIDogTWVkaWFDYXBhYmlsaXRpZXNJbmZvIHsKICAgICB9CiAKICAgICBNZWRpYUVuY29k
aW5nQ29uZmlndXJhdGlvbiBzdXBwb3J0ZWRDb25maWd1cmF0aW9uOworCisgICAgdGVtcGxhdGU8
Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRl
PGNsYXNzIERlY29kZXI+IHN0YXRpYyBPcHRpb25hbDxNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5n
SW5mbz4gZGVjb2RlKERlY29kZXImKTsKIH07CiAKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2
b2lkIE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvOjplbmNvZGUoRW5jb2RlciYgZW5jb2Rl
cikgY29uc3QKK3sKKyAgICBNZWRpYUNhcGFiaWxpdGllc0luZm86OmVuY29kZShlbmNvZGVyKTsK
KyAgICBlbmNvZGVyIDw8IHN1cHBvcnRlZENvbmZpZ3VyYXRpb247CiB9CisKK3RlbXBsYXRlPGNs
YXNzIERlY29kZXI+CitPcHRpb25hbDxNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbz4gTWVk
aWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm86OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQorewor
ICAgIE9wdGlvbmFsPE1lZGlhQ2FwYWJpbGl0aWVzSW5mbz4gaW5mbyA9IE1lZGlhQ2FwYWJpbGl0
aWVzSW5mbzo6ZGVjb2RlKGRlY29kZXIpOworICAgIGlmICghaW5mbykKKyAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9u
PiBzdXBwb3J0ZWRDb25maWd1cmF0aW9uOworICAgIGRlY29kZXIgPj4gc3VwcG9ydGVkQ29uZmln
dXJhdGlvbjsKKyAgICBpZiAoIXN1cHBvcnRlZENvbmZpZ3VyYXRpb24pCisgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CisKKyAgICByZXR1cm4gTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0lu
Zm8oCisgICAgICAgIFdURk1vdmUoKmluZm8pLAorICAgICAgICBXVEZNb3ZlKCpzdXBwb3J0ZWRD
b25maWd1cmF0aW9uKQorICAgICk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNJbmZvLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0luZm8uaAppbmRleCAy
ZGRlNzg3ZDdiOGFjNmEwMGQxYTZlMzkxZWE1ZWE3MmMwMTQ3ZWQ4Li44NWUxNjNmOGFhYTFkYjkw
OGIzMTdjNGRlZWNlYzZlMWU4ZDA0NDQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0luZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9NZWRpYUNhcGFiaWxpdGllc0luZm8uaApAQCAtMzEsNiArMzEsNDMgQEAgc3RydWN0IE1lZGlh
Q2FwYWJpbGl0aWVzSW5mbyB7CiAgICAgYm9vbCBzdXBwb3J0ZWQgeyBmYWxzZSB9OwogICAgIGJv
b2wgc21vb3RoIHsgZmFsc2UgfTsKICAgICBib29sIHBvd2VyRWZmaWNpZW50IHsgZmFsc2UgfTsK
KworICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25z
dDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgT3B0aW9uYWw8TWVkaWFDYXBh
YmlsaXRpZXNJbmZvPiBkZWNvZGUoRGVjb2RlciYpOwogfTsKLSAgICAKKwordGVtcGxhdGU8Y2xh
c3MgRW5jb2Rlcj4KK3ZvaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvOjplbmNvZGUoRW5jb2RlciYg
ZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IHN1cHBvcnRlZDsKKyAgICBlbmNvZGVy
IDw8IHNtb290aDsKKyAgICBlbmNvZGVyIDw8IHBvd2VyRWZmaWNpZW50OworfQorCit0ZW1wbGF0
ZTxjbGFzcyBEZWNvZGVyPgorT3B0aW9uYWw8TWVkaWFDYXBhYmlsaXRpZXNJbmZvPiBNZWRpYUNh
cGFiaWxpdGllc0luZm86OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIE9wdGlvbmFs
PGJvb2w+IHN1cHBvcnRlZDsKKyAgICBkZWNvZGVyID4+IHN1cHBvcnRlZDsKKyAgICBpZiAoIXN1
cHBvcnRlZCkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPGJv
b2w+IHNtb290aDsKKyAgICBkZWNvZGVyID4+IHNtb290aDsKKyAgICBpZiAoIXNtb290aCkKKyAg
ICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPGJvb2w+IHBvd2VyRWZm
aWNpZW50OworICAgIGRlY29kZXIgPj4gcG93ZXJFZmZpY2llbnQ7CisgICAgaWYgKCFwb3dlckVm
ZmljaWVudCkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIHJldHVybiB7ewor
ICAgICAgICAqc3VwcG9ydGVkLAorICAgICAgICAqc21vb3RoLAorICAgICAgICAqcG93ZXJFZmZp
Y2llbnQsCisgICAgfX07CiB9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvQXVkaW9Db25maWd1
cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9BdWRp
b0NvbmZpZ3VyYXRpb24uaAppbmRleCA4ZmExNGE1MjRjMDQ1ZmVkZWNjM2ZhNTU0ZjQ4MDk2YTQ5
MzQ4YWRiLi42ODBhMjE0MjEwMzQ3ZjJhY2Q2NmNkMDM5M2EzMTFmYjdmMmM2MDkyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9BdWRpb0NvbmZp
Z3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGll
cy9BdWRpb0NvbmZpZ3VyYXRpb24uaApAQCAtMzUsNiArMzUsNTYgQEAgc3RydWN0IEF1ZGlvQ29u
ZmlndXJhdGlvbiB7CiAgICAgT3B0aW9uYWw8dWludDY0X3Q+IGJpdHJhdGU7CiAgICAgT3B0aW9u
YWw8dWludDMyX3Q+IHNhbXBsZXJhdGU7CiAgICAgT3B0aW9uYWw8Ym9vbD4gc3BhdGlhbFJlbmRl
cmluZzsKKworICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXIm
KSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgT3B0aW9uYWw8QXVk
aW9Db25maWd1cmF0aW9uPiBkZWNvZGUoRGVjb2RlciYpOwogfTsKIAordGVtcGxhdGU8Y2xhc3Mg
RW5jb2Rlcj4KK3ZvaWQgQXVkaW9Db25maWd1cmF0aW9uOjplbmNvZGUoRW5jb2RlciYgZW5jb2Rl
cikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IGNvbnRlbnRUeXBlOworICAgIGVuY29kZXIgPDwg
Y2hhbm5lbHM7CisgICAgZW5jb2RlciA8PCBiaXRyYXRlOworICAgIGVuY29kZXIgPDwgc2FtcGxl
cmF0ZTsKKyAgICBlbmNvZGVyIDw8IHNwYXRpYWxSZW5kZXJpbmc7Cit9CisKK3RlbXBsYXRlPGNs
YXNzIERlY29kZXI+CitPcHRpb25hbDxBdWRpb0NvbmZpZ3VyYXRpb24+IEF1ZGlvQ29uZmlndXJh
dGlvbjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCit7CisgICAgT3B0aW9uYWw8U3RyaW5nPiBj
b250ZW50VHlwZTsKKyAgICBkZWNvZGVyID4+IGNvbnRlbnRUeXBlOworICAgIGlmICghY29udGVu
dFR5cGUpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxTdHJp
bmc+IGNoYW5uZWxzOworICAgIGRlY29kZXIgPj4gY2hhbm5lbHM7CisgICAgaWYgKCFjaGFubmVs
cykKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPE9wdGlvbmFs
PHVpbnQ2NF90Pj4gYml0cmF0ZTsKKyAgICBkZWNvZGVyID4+IGJpdHJhdGU7CisgICAgaWYgKCFi
aXRyYXRlKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8T3B0
aW9uYWw8dWludDMyX3Q+PiBzYW1wbGVSYXRlOworICAgIGRlY29kZXIgPj4gc2FtcGxlUmF0ZTsK
KyAgICBpZiAoIXNhbXBsZVJhdGUpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAg
ICBPcHRpb25hbDxPcHRpb25hbDxib29sPj4gc3BhdGlhbFJlbmRlcmluZzsKKyAgICBkZWNvZGVy
ID4+IHNwYXRpYWxSZW5kZXJpbmc7CisgICAgaWYgKCFzcGF0aWFsUmVuZGVyaW5nKQorICAgICAg
ICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgcmV0dXJuIHt7CisgICAgICAgICpjb250ZW50
VHlwZSwKKyAgICAgICAgKmNoYW5uZWxzLAorICAgICAgICAqYml0cmF0ZSwKKyAgICAgICAgKnNh
bXBsZVJhdGUsCisgICAgICAgICpzcGF0aWFsUmVuZGVyaW5nCisgICAgfX07Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhY2FwYWJpbGl0aWVzL0NvbG9yR2FtdXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhY2FwYWJpbGl0aWVzL0NvbG9yR2FtdXQuaAppbmRleCAxODEzZTM1M2RhZTEyNDhkYjVlOGQy
YzhjZDY1NjgzMjRiZDMwY2QzLi4yOGQwMjQyYzFkNTJjNzJiZjhhNmJmMTUyM2QwODQ0MTk0OGE1
MDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGll
cy9Db2xvckdhbXV0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmls
aXRpZXMvQ29sb3JHYW11dC5oCkBAIC0yNywxMCArMjcsMjMgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1lbnVtIGNsYXNzIENvbG9yR2FtdXQgeworZW51bSBjbGFzcyBDb2xvckdhbXV0IDog
dWludDhfdCB7CiAgICAgU1JHQiwKICAgICBQMywKICAgICBSZWMyMDIwLAogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3Qg
RW51bVRyYWl0czxXZWJDb3JlOjpDb2xvckdhbXV0PiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51
bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6Q29sb3JHYW11dCwKKyAgICAgICAgV2ViQ29yZTo6
Q29sb3JHYW11dDo6U1JHQiwKKyAgICAgICAgV2ViQ29yZTo6Q29sb3JHYW11dDo6UDMsCisgICAg
ICAgIFdlYkNvcmU6OkNvbG9yR2FtdXQ6OlJlYzIwMjAKKyAgICA+OworfTsKKworfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvSGRyTWV0YWRh
dGFUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9IZHJN
ZXRhZGF0YVR5cGUuaAppbmRleCA2NWMxZDBlZTI5ZDg4NGY5YmU4OWY2OWViNTBkZTNhY2FlODIz
MGFlLi4wMjQ5OTgyZjVhODg1MjUwYjUyOGU4ZTg0OTdkZjQ5N2ZmOTMxZDBkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9IZHJNZXRhZGF0YVR5
cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9IZHJN
ZXRhZGF0YVR5cGUuaApAQCAtMjcsMTAgKzI3LDIzIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotZW51bSBjbGFzcyBIZHJNZXRhZGF0YVR5cGUgeworZW51bSBjbGFzcyBIZHJNZXRhZGF0YVR5
cGUgOiB1aW50OF90IHsKICAgICBTbXB0ZVN0MjA4NiwKICAgICBTbXB0ZVN0MjA5NDEwLAogICAg
IFNtcHRlU3QyMDk0NDAKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNl
IFdURiB7CisKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6SGRyTWV0YWRh
dGFUeXBlPiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29y
ZTo6SGRyTWV0YWRhdGFUeXBlLAorICAgICAgICBXZWJDb3JlOjpIZHJNZXRhZGF0YVR5cGU6OlNt
cHRlU3QyMDg2LAorICAgICAgICBXZWJDb3JlOjpIZHJNZXRhZGF0YVR5cGU6OlNtcHRlU3QyMDk0
MTAsCisgICAgICAgIFdlYkNvcmU6Okhkck1ldGFkYXRhVHlwZTo6U21wdGVTdDIwOTQ0MAorICAg
ID47Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNh
cGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oCmluZGV4
IDhhYjdlMjc2NDFjMWI2Mjg4MmE0ODlkMTE0ZjhjMTcyOTRlN2Y5OTkuLjJjZWI2ZjY2ZjhjODVj
ODc0ZjgyZTlkMTY5NmVjYWM4ZjYwNDljMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0
aWVzTG9nZ2luZy5oCkBAIC0zOCwxMSArMzgsMTEgQEAgc3RydWN0IE1lZGlhQ2FwYWJpbGl0aWVz
SW5mbzsKIHN0cnVjdCBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbzsKIHN0cnVjdCBNZWRp
YUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbzsKIAotZW51bSBjbGFzcyBDb2xvckdhbXV0OwotZW51
bSBjbGFzcyBIZHJNZXRhZGF0YVR5cGU7Ci1lbnVtIGNsYXNzIFRyYW5zZmVyRnVuY3Rpb247Ci1l
bnVtIGNsYXNzIE1lZGlhRGVjb2RpbmdUeXBlOwotZW51bSBjbGFzcyBNZWRpYUVuY29kaW5nVHlw
ZTsKK2VudW0gY2xhc3MgQ29sb3JHYW11dCA6IHVpbnQ4X3Q7CitlbnVtIGNsYXNzIEhkck1ldGFk
YXRhVHlwZSA6IHVpbnQ4X3Q7CitlbnVtIGNsYXNzIFRyYW5zZmVyRnVuY3Rpb24gOiB1aW50OF90
OworZW51bSBjbGFzcyBNZWRpYURlY29kaW5nVHlwZSA6IGJvb2w7CitlbnVtIGNsYXNzIE1lZGlh
RW5jb2RpbmdUeXBlIDogYm9vbDsKIAogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ29uZmlndXJhdGlvbi5oCmlu
ZGV4IGQwMWFkNmU5MzI0MTJjYTFiNTdjNDMwNjVjNmYyMjYwM2I4ZTBkNGMuLmMwODY4ZTRhYjlk
NGUwOThhYmM1MTkwNDdmMWY1NmJhZjM1NDQ4ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ29uZmlndXJhdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ29uZmlndXJhdGlv
bi5oCkBAIC0zNCw2ICszNCwzNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdHJ1Y3QgTWVkaWFD
b25maWd1cmF0aW9uIHsKICAgICBPcHRpb25hbDxWaWRlb0NvbmZpZ3VyYXRpb24+IHZpZGVvOwog
ICAgIE9wdGlvbmFsPEF1ZGlvQ29uZmlndXJhdGlvbj4gYXVkaW87CisKKyAgICB0ZW1wbGF0ZTxj
bGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8
Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIE9wdGlvbmFsPE1lZGlhQ29uZmlndXJhdGlvbj4gZGVjb2Rl
KERlY29kZXImKTsKIH07CiAKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIE1lZGlhQ29u
ZmlndXJhdGlvbjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2Rl
ciA8PCB2aWRlbzsKKyAgICBlbmNvZGVyIDw8IGF1ZGlvOwogfQorCit0ZW1wbGF0ZTxjbGFzcyBE
ZWNvZGVyPgorT3B0aW9uYWw8TWVkaWFDb25maWd1cmF0aW9uPiBNZWRpYUNvbmZpZ3VyYXRpb246
OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIE9wdGlvbmFsPE9wdGlvbmFsPFZpZGVv
Q29uZmlndXJhdGlvbj4+IHZpZGVvOworICAgIGRlY29kZXIgPj4gdmlkZW87CisgICAgaWYgKCF2
aWRlbykKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPE9wdGlv
bmFsPEF1ZGlvQ29uZmlndXJhdGlvbj4+IGF1ZGlvOworICAgIGRlY29kZXIgPj4gYXVkaW87Cisg
ICAgaWYgKCFhdWRpbykKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIHJldHVy
biB7eworICAgICAgICAqdmlkZW8sCisgICAgICAgICphdWRpbywKKyAgICB9fTsKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbi5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ0NvbmZpZ3Vy
YXRpb24uaAppbmRleCA1NWMwNDUxODIyNzA5M2JlOWUzYjU3ZmRlZWNhZTMxMzYyZGViYzQ2Li4z
ODA5MjJmMjA5NTczYWMxNjlhZjJkZmYzMTFhZTVhMDY4OWMxMWQ0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5nQ29uZmln
dXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVz
L01lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLmgKQEAgLTMyLDYgKzMyLDM1IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogc3RydWN0IE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uIDogTWVkaWFD
b25maWd1cmF0aW9uIHsKICAgICBNZWRpYURlY29kaW5nVHlwZSB0eXBlOworCisgICAgdGVtcGxh
dGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBs
YXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBPcHRpb25hbDxNZWRpYURlY29kaW5nQ29uZmlndXJh
dGlvbj4gZGVjb2RlKERlY29kZXImKTsKIH07CiAKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2
b2lkIE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uOjplbmNvZGUoRW5jb2RlciYgZW5jb2Rlcikg
Y29uc3QKK3sKKyAgICBNZWRpYUNvbmZpZ3VyYXRpb246OmVuY29kZShlbmNvZGVyKTsKKyAgICBl
bmNvZGVyIDw8IHR5cGU7CiB9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+CitPcHRpb25hbDxN
ZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbj4gTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb246OmRl
Y29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIE9wdGlvbmFsPE1lZGlhQ29uZmlndXJhdGlv
bj4gbWVkaWFDb25maWd1cmF0aW9uID0gTWVkaWFDb25maWd1cmF0aW9uOjpkZWNvZGUoZGVjb2Rl
cik7CisgICAgaWYgKCFtZWRpYUNvbmZpZ3VyYXRpb24pCisgICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7CisKKyAgICBPcHRpb25hbDxNZWRpYURlY29kaW5nVHlwZT4gdHlwZTsKKyAgICBkZWNv
ZGVyID4+IHR5cGU7CisgICAgaWYgKCF0eXBlKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OworCisgICAgcmV0dXJuIHt7CisgICAgICAgICptZWRpYUNvbmZpZ3VyYXRpb24sCisgICAgICAg
ICp0eXBlLAorICAgIH19OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2Rp
bmdUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRp
YURlY29kaW5nVHlwZS5oCmluZGV4IDg5MGU3Zjg0ZDk4NzI0YzAyNGFjNWNmMDI4ZDIxZTYzN2U3
MjgzZjEuLjQxNWUwYjcyMDllYTUwZTE1OTZiMmE4YmQyZjJhMzkyODM2MTg4YTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2Rp
bmdUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMv
TWVkaWFEZWNvZGluZ1R5cGUuaApAQCAtMjcsOSArMjcsMjEgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1lbnVtIGNsYXNzIE1lZGlhRGVjb2RpbmdUeXBlIHsKK2VudW0gY2xhc3MgTWVkaWFE
ZWNvZGluZ1R5cGUgOiBib29sIHsKICAgICBGaWxlLAogICAgIE1lZGlhU291cmNlLAogfTsKIAog
fQorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJD
b3JlOjpNZWRpYURlY29kaW5nVHlwZT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8
CisgICAgICAgIFdlYkNvcmU6Ok1lZGlhRGVjb2RpbmdUeXBlLAorICAgICAgICBXZWJDb3JlOjpN
ZWRpYURlY29kaW5nVHlwZTo6RmlsZSwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFEZWNvZGluZ1R5
cGU6Ok1lZGlhU291cmNlCisgICAgPjsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29k
aW5nQ29uZmlndXJhdGlvbi5oCmluZGV4IDcyOWIzYTFiZWE3YjIzOWVmYzE0NzRkNzRlNjUxMTMz
NjNhMzM4MWQuLmYwOGNhMWU4ODcxYTMwYjRiODE1NGJjZmM5ZmU1NDM1ZjJiYTQ3ZWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5j
b2RpbmdDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFj
YXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaApAQCAtMzIsNiArMzIsMzUg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1Y3QgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRp
b24gOiBNZWRpYUNvbmZpZ3VyYXRpb24gewogICAgIE1lZGlhRW5jb2RpbmdUeXBlIHR5cGU7CisK
KyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7
CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIE9wdGlvbmFsPE1lZGlhRW5jb2Rp
bmdDb25maWd1cmF0aW9uPiBkZWNvZGUoRGVjb2RlciYpOwogfTsKIAordGVtcGxhdGU8Y2xhc3Mg
RW5jb2Rlcj4KK3ZvaWQgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb246OmVuY29kZShFbmNvZGVy
JiBlbmNvZGVyKSBjb25zdAoreworICAgIE1lZGlhQ29uZmlndXJhdGlvbjo6ZW5jb2RlKGVuY29k
ZXIpOworICAgIGVuY29kZXIgPDwgdHlwZTsKIH0KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4K
K09wdGlvbmFsPE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uPiBNZWRpYUVuY29kaW5nQ29uZmln
dXJhdGlvbjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCit7CisgICAgT3B0aW9uYWw8TWVkaWFD
b25maWd1cmF0aW9uPiBtZWRpYUNvbmZpZ3VyYXRpb24gPSBNZWRpYUNvbmZpZ3VyYXRpb246OmRl
Y29kZShkZWNvZGVyKTsKKyAgICBpZiAoIW1lZGlhQ29uZmlndXJhdGlvbikKKyAgICAgICAgcmV0
dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPE1lZGlhRW5jb2RpbmdUeXBlPiB0eXBl
OworICAgIGRlY29kZXIgPj4gdHlwZTsKKyAgICBpZiAoIXR5cGUpCisgICAgICAgIHJldHVybiBX
VEY6Om51bGxvcHQ7CisKKyAgICByZXR1cm4ge3sKKyAgICAgICAgKm1lZGlhQ29uZmlndXJhdGlv
biwKKyAgICAgICAgKnR5cGUsCisgICAgfX07Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMv
TWVkaWFFbmNvZGluZ1R5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJp
bGl0aWVzL01lZGlhRW5jb2RpbmdUeXBlLmgKaW5kZXggYTg3ZDBmMjU4MTRkMTYwNDFmNDljODAw
ZjZiY2FkN2JkOWUzODRkOC4uMDEyYThjNmQ1Mzk2N2Q5YjRlZGMyMjIzYWU0OTAwNTMxZjVmMWZk
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMv
TWVkaWFFbmNvZGluZ1R5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNh
cGFiaWxpdGllcy9NZWRpYUVuY29kaW5nVHlwZS5oCkBAIC0yNyw5ICsyNywyMiBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWVudW0gY2xhc3MgTWVkaWFFbmNvZGluZ1R5cGUgeworZW51bSBj
bGFzcyBNZWRpYUVuY29kaW5nVHlwZSA6IGJvb2wgewogICAgIFJlY29yZCwKICAgICBUcmFuc21p
c3Npb24sCiB9OwogCiB9CisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBF
bnVtVHJhaXRzPFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdUeXBlPiB7CisgICAgdXNpbmcgdmFsdWVz
ID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFFbmNvZGluZ1R5cGUsCisgICAg
ICAgIFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdUeXBlOjpSZWNvcmQsCisgICAgICAgIFdlYkNvcmU6
Ok1lZGlhRW5jb2RpbmdUeXBlOjpUcmFuc21pc3Npb24KKyAgICA+OworfTsKKworfQorCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuY3BwCmluZGV4
IDhmZmE2YTljYzVkZjk0OTA2NDdhNWZlNDlkNjI5MjIwZDA0ZjYzZDYuLjA1MGNkZjlmYzUzMjAy
ZDgxMDBiZWY3MzIzMzc1OWI2NzRiYzc4YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnku
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuY3BwCkBAIC01MywzMyArNTMsNDggQEAgc3RhdGlj
IGJvb2wmIG1vY2tFbmFibGVkKCkKICAgICByZXR1cm4gZW5hYmxlZDsKIH0KIAotc3RydWN0IE1l
ZGlhRW5naW5lRmFjdG9yeSB7Ci0gICAgdm9pZCgqY3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9u
KShNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiYmLCBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25G
YWN0b3J5OjpEZWNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayYmKTsKLSAgICB2b2lkKCpjcmVh
dGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24pKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uJiYsIE1l
ZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkVuY29kaW5nQ29uZmlndXJhdGlvbkNhbGxi
YWNrJiYpOwotfTsKLQotdXNpbmcgRmFjdG9yeVZlY3RvciA9IFZlY3RvcjxNZWRpYUVuZ2luZUZh
Y3Rvcnk+Owotc3RhdGljIGNvbnN0IEZhY3RvcnlWZWN0b3ImIGZhY3RvcmllcygpCit1c2luZyBG
YWN0b3J5VmVjdG9yID0gVmVjdG9yPE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6Ok1l
ZGlhRW5naW5lRmFjdG9yeT47CitzdGF0aWMgRmFjdG9yeVZlY3RvciBkZWZhdWx0RmFjdG9yaWVz
KCkKIHsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8RmFjdG9yeVZlY3Rvcj4gZmFjdG9yaWVz
ID0gbWFrZU5ldmVyRGVzdHJveWVkKEZhY3RvcnlWZWN0b3IoeworICAgIEZhY3RvcnlWZWN0b3Ig
ZmFjdG9yaWVzOwogI2lmIFBMQVRGT1JNKENPQ09BKQotICAgICAgICB7ICZjcmVhdGVNZWRpYVBs
YXllckRlY29kaW5nQ29uZmlndXJhdGlvbkNvY29hLCBudWxscHRyIH0sCisgICAgZmFjdG9yaWVz
LmFwcGVuZCh7ICZjcmVhdGVNZWRpYVBsYXllckRlY29kaW5nQ29uZmlndXJhdGlvbkNvY29hLCBu
dWxscHRyIH0pOwogI2VuZGlmCiAjaWYgVVNFKEdTVFJFQU1FUikKLSAgICAgICAgeyAmY3JlYXRl
TWVkaWFQbGF5ZXJEZWNvZGluZ0NvbmZpZ3VyYXRpb25HU3RyZWFtZXIsICZjcmVhdGVNZWRpYVBs
YXllckVuY29kaW5nQ29uZmlndXJhdGlvbkdTdHJlYW1lciB9LAorICAgIGZhY3Rvcmllcy5hcHBl
bmQoeyAmY3JlYXRlTWVkaWFQbGF5ZXJEZWNvZGluZ0NvbmZpZ3VyYXRpb25HU3RyZWFtZXIsICZj
cmVhdGVNZWRpYVBsYXllckVuY29kaW5nQ29uZmlndXJhdGlvbkdTdHJlYW1lciB9KTsKICNlbmRp
ZgotICAgIH0pKTsKICAgICByZXR1cm4gZmFjdG9yaWVzOwogfQogCitzdGF0aWMgRmFjdG9yeVZl
Y3RvciYgZmFjdG9yaWVzKCkKK3sKKyAgICBzdGF0aWMgYXV0byBmYWN0b3JpZXMgPSBtYWtlTmV2
ZXJEZXN0cm95ZWQ8RmFjdG9yeVZlY3Rvcj4oZGVmYXVsdEZhY3RvcmllcygpKTsKKyAgICByZXR1
cm4gZmFjdG9yaWVzOworfQorCit2b2lkIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6
OmNsZWFyRmFjdG9yaWVzKCkKK3sKKyAgICBmYWN0b3JpZXMoKS5jbGVhcigpOworfQorCit2b2lk
IE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OnJlc2V0RmFjdG9yaWVzKCkKK3sKKyAg
ICBmYWN0b3JpZXMoKSA9IGRlZmF1bHRGYWN0b3JpZXMoKTsKK30KKwordm9pZCBNZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjppbnN0YWxsRmFjdG9yeShNZWRpYUVuZ2luZUZhY3Rvcnkm
JiBmYWN0b3J5KQoreworICAgIGZhY3RvcmllcygpLmFwcGVuZChXVEZNb3ZlKGZhY3RvcnkpKTsK
K30KKwogYm9vbCBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpoYXNEZWNvZGluZ0Nv
bmZpZ3VyYXRpb25GYWN0b3J5KCkKIHsKLSAgICByZXR1cm4gbW9ja0VuYWJsZWQoKSB8fCBXVEY6
OmFueU9mKGZhY3RvcmllcygpLCBbXSAoYXV0byYgZmFjdG9yeSkgeyByZXR1cm4gZmFjdG9yeS5j
cmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRpb247IH0pOworICAgIHJldHVybiBtb2NrRW5hYmxlZCgp
IHx8IFdURjo6YW55T2YoZmFjdG9yaWVzKCksIFtdIChhdXRvJiBmYWN0b3J5KSB7IHJldHVybiAo
Ym9vbClmYWN0b3J5LmNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbjsgfSk7CiB9CiAKIGJvb2wg
TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6aGFzRW5jb2RpbmdDb25maWd1cmF0aW9u
RmFjdG9yeSgpCiB7Ci0gICAgcmV0dXJuIG1vY2tFbmFibGVkKCkgfHwgV1RGOjphbnlPZihmYWN0
b3JpZXMoKSwgW10gKGF1dG8mIGZhY3RvcnkpIHsgcmV0dXJuIGZhY3RvcnkuY3JlYXRlRW5jb2Rp
bmdDb25maWd1cmF0aW9uOyB9KTsKKyAgICByZXR1cm4gbW9ja0VuYWJsZWQoKSB8fCBXVEY6OmFu
eU9mKGZhY3RvcmllcygpLCBbXSAoYXV0byYgZmFjdG9yeSkgeyByZXR1cm4gKGJvb2wpZmFjdG9y
eS5jcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb247IH0pOwogfQogCiB2b2lkIE1lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3Rvcnk6OmNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihNZWRpYURl
Y29kaW5nQ29uZmlndXJhdGlvbiYmIGNvbmZpZywgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFj
dG9yeTo6RGVjb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3RvcnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2Fw
YWJpbGl0aWVzL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaAppbmRleCAxOTc3OTNi
MWM5NGFlZWQ1ZmNjYjJiMzZhOWQyMWJjZjMyNDI0MjczLi4zMTg1OWQxOWY0YTYxN2E3NGNkOTU0
Y2YxMjc1YWNiZjkzZWM0OTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeS5oCkBAIC00NCw5ICs0NCwyMSBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IGJvb2wgaGFzRGVjb2RpbmdDb25maWd1cmF0aW9uRmFjdG9yeSgpOwogICAgIHN0YXRpYyBib29s
IGhhc0VuY29kaW5nQ29uZmlndXJhdGlvbkZhY3RvcnkoKTsKIAotICAgIHN0YXRpYyB2b2lkIGNy
ZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiYmLCBE
ZWNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayYmKTsKLSAgICBzdGF0aWMgdm9pZCBjcmVhdGVF
bmNvZGluZ0NvbmZpZ3VyYXRpb24oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiwgRW5jb2Rp
bmdDb25maWd1cmF0aW9uQ2FsbGJhY2smJik7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZv
aWQgY3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9u
JiYsIERlY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYpOworICAgIFdFQkNPUkVfRVhQT1JU
IHN0YXRpYyB2b2lkIGNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbihNZWRpYUVuY29kaW5nQ29u
ZmlndXJhdGlvbiYmLCBFbmNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayYmKTsKKyAgICAKKyAg
ICB1c2luZyBDcmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24gPSBXVEY6OkZ1bmN0aW9uPHZvaWQo
TWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24mJiwgRGVjb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJh
Y2smJik+OworICAgIHVzaW5nIENyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbiA9IFdURjo6RnVu
Y3Rpb248dm9pZChNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYmLCBFbmNvZGluZ0NvbmZpZ3Vy
YXRpb25DYWxsYmFjayYmKT47CiAKKyAgICBzdHJ1Y3QgTWVkaWFFbmdpbmVGYWN0b3J5IHsKKyAg
ICAgICAgQ3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uIGNyZWF0ZURlY29kaW5nQ29uZmlndXJh
dGlvbjsKKyAgICAgICAgQ3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uIGNyZWF0ZUVuY29kaW5n
Q29uZmlndXJhdGlvbjsKKyAgICB9OworICAgIAorICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2
b2lkIGNsZWFyRmFjdG9yaWVzKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgcmVz
ZXRGYWN0b3JpZXMoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBpbnN0YWxsRmFj
dG9yeShNZWRpYUVuZ2luZUZhY3RvcnkmJik7CisgICAgCiAgICAgV0VCQ09SRV9FWFBPUlQgc3Rh
dGljIHZvaWQgZW5hYmxlTW9jaygpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGRp
c2FibGVNb2NrKCk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFjYXBhYmlsaXRpZXMvVHJhbnNmZXJGdW5jdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFjYXBhYmlsaXRpZXMvVHJhbnNmZXJGdW5jdGlvbi5oCmluZGV4IGIxNDViM2FiYmQ5
ZmNjNTE4ZTM4NmZmNDE5YjZkMmJlZjk3ZjNmNDYuLjVkM2UxN2RhOTcyODQ5N2E4NzRlYzUxMmFh
YmY5ODYyNGU4Mzg0MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
Y2FwYWJpbGl0aWVzL1RyYW5zZmVyRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9UcmFuc2ZlckZ1bmN0aW9uLmgKQEAgLTI3LDEwICsyNywy
MyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWVudW0gY2xhc3MgVHJhbnNmZXJGdW5jdGlv
biB7CitlbnVtIGNsYXNzIFRyYW5zZmVyRnVuY3Rpb24gOiB1aW50OF90IHsKICAgICBTUkdCLAog
ICAgIFBRLAogICAgIEhMRwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCituYW1lc3Bh
Y2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpUcmFuc2Zl
ckZ1bmN0aW9uPiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2Vi
Q29yZTo6VHJhbnNmZXJGdW5jdGlvbiwKKyAgICAgICAgV2ViQ29yZTo6VHJhbnNmZXJGdW5jdGlv
bjo6U1JHQiwKKyAgICAgICAgV2ViQ29yZTo6VHJhbnNmZXJGdW5jdGlvbjo6UFEsCisgICAgICAg
IFdlYkNvcmU6OlRyYW5zZmVyRnVuY3Rpb246OkhMRworICAgID47Cit9OworCit9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZp
Z3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1Zp
ZGVvQ29uZmlndXJhdGlvbi5oCmluZGV4IGNkOWRjYTNjNjcwNTAwN2YyYjllODY5Y2UwZDVlY2Zm
NWVjMmU4MDUuLjQzMjY2ZGY1YjY2M2Y1ZDBkZTFhZjdhMWNiYWIyODQ0OGYwZDQ5Y2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29u
ZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0
aWVzL1ZpZGVvQ29uZmlndXJhdGlvbi5oCkBAIC00Myw2ICs0Myw4NSBAQCBzdHJ1Y3QgVmlkZW9D
b25maWd1cmF0aW9uIHsKICAgICBPcHRpb25hbDxDb2xvckdhbXV0PiBjb2xvckdhbXV0OwogICAg
IE9wdGlvbmFsPEhkck1ldGFkYXRhVHlwZT4gaGRyTWV0YWRhdGFUeXBlOwogICAgIE9wdGlvbmFs
PFRyYW5zZmVyRnVuY3Rpb24+IHRyYW5zZmVyRnVuY3Rpb247CisKKyAgICB0ZW1wbGF0ZTxjbGFz
cyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xh
c3MgRGVjb2Rlcj4gc3RhdGljIE9wdGlvbmFsPFZpZGVvQ29uZmlndXJhdGlvbj4gZGVjb2RlKERl
Y29kZXImKTsKIH07CiAKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIFZpZGVvQ29uZmln
dXJhdGlvbjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8
PCBjb250ZW50VHlwZTsKKyAgICBlbmNvZGVyIDw8IHdpZHRoOworICAgIGVuY29kZXIgPDwgaGVp
Z2h0OworICAgIGVuY29kZXIgPDwgYml0cmF0ZTsKKyAgICBlbmNvZGVyIDw8IGZyYW1lcmF0ZTsK
KyAgICBlbmNvZGVyIDw8IGFscGhhQ2hhbm5lbDsKKyAgICBlbmNvZGVyIDw8IGNvbG9yR2FtdXQ7
CisgICAgZW5jb2RlciA8PCBoZHJNZXRhZGF0YVR5cGU7CisgICAgZW5jb2RlciA8PCB0cmFuc2Zl
ckZ1bmN0aW9uOworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgorT3B0aW9uYWw8VmlkZW9D
b25maWd1cmF0aW9uPiBWaWRlb0NvbmZpZ3VyYXRpb246OmRlY29kZShEZWNvZGVyJiBkZWNvZGVy
KQoreworICAgIE9wdGlvbmFsPFN0cmluZz4gY29udGVudFR5cGU7CisgICAgZGVjb2RlciA+PiBj
b250ZW50VHlwZTsKKyAgICBpZiAoIWNvbnRlbnRUeXBlKQorICAgICAgICByZXR1cm4gV1RGOjpu
dWxsb3B0OworCisgICAgT3B0aW9uYWw8dWludDMyX3Q+IHdpZHRoOworICAgIGRlY29kZXIgPj4g
d2lkdGg7CisgICAgaWYgKCF3aWR0aCkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKwor
ICAgIE9wdGlvbmFsPHVpbnQzMl90PiBoZWlnaHQ7CisgICAgZGVjb2RlciA+PiBoZWlnaHQ7Cisg
ICAgaWYgKCFoZWlnaHQpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRp
b25hbDx1aW50NjRfdD4gYml0cmF0ZTsKKyAgICBkZWNvZGVyID4+IGJpdHJhdGU7CisgICAgaWYg
KCFiaXRyYXRlKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8
ZG91YmxlPiBmcmFtZXJhdGU7CisgICAgZGVjb2RlciA+PiBmcmFtZXJhdGU7CisgICAgaWYgKCFm
cmFtZXJhdGUpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxP
cHRpb25hbDxib29sPj4gYWxwaGFDaGFubmVsOworICAgIGRlY29kZXIgPj4gYWxwaGFDaGFubmVs
OworICAgIGlmICghYWxwaGFDaGFubmVsKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owor
CisgICAgT3B0aW9uYWw8T3B0aW9uYWw8Q29sb3JHYW11dD4+IGNvbG9yR2FtdXQ7CisgICAgZGVj
b2RlciA+PiBjb2xvckdhbXV0OworICAgIGlmICghY29sb3JHYW11dCkKKyAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPE9wdGlvbmFsPEhkck1ldGFkYXRhVHlwZT4+
IGhkck1ldGFkYXRhVHlwZTsKKyAgICBkZWNvZGVyID4+IGhkck1ldGFkYXRhVHlwZTsKKyAgICBp
ZiAoIWhkck1ldGFkYXRhVHlwZSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAg
IE9wdGlvbmFsPE9wdGlvbmFsPFRyYW5zZmVyRnVuY3Rpb24+PiB0cmFuc2ZlckZ1bmN0aW9uOwor
ICAgIGRlY29kZXIgPj4gdHJhbnNmZXJGdW5jdGlvbjsKKyAgICBpZiAoIXRyYW5zZmVyRnVuY3Rp
b24pCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKworICAgIHJldHVybiB7eworICAg
ICAgICAqY29udGVudFR5cGUsCisgICAgICAgICp3aWR0aCwKKyAgICAgICAgKmhlaWdodCwKKyAg
ICAgICAgKmJpdHJhdGUsCisgICAgICAgICpmcmFtZXJhdGUsCisgICAgICAgICphbHBoYUNoYW5u
ZWwsCisgICAgICAgICpjb2xvckdhbXV0LAorICAgICAgICAqaGRyTWV0YWRhdGFUeXBlLAorICAg
ICAgICAqdHJhbnNmZXJGdW5jdGlvbiwKKyAgICB9fTsKIH0KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2Zp
bGVsaXN0IGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0Cmlu
ZGV4IGU1MWNhZWQyMWUxODZjZjJhMTczY2I4YTMzMzEyYmUwYjMwNGJiMDAuLjI2N2NkZDI5NDNl
MTQ2ZjA1Y2M4ZTdjMzEwMjIzOWRiZjZiZTNiNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
RGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2
ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTMzLDYgKzMzLDcgQEAgJChQUk9KRUNUX0RJ
UikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVDRE1Qcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNU
X0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1GYWN0b3J5UHJveHkubWVzc2Fn
ZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNUHJv
eHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVn
YWN5Q0RNU2Vzc2lvblByb3h5Lm1lc3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5tZXNzYWdl
cy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1h
bmFnZXJQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLm1lc3NhZ2VzLmluCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCBlODhiMmMy
MWZhNzE3Yzc3ZDIzMDJjYjUxOGJhNGFkM2VkZTI1NzRhLi42MGQ0NDMwMjZmMzZkNDkzYWNiNjI3
OWQ4ZjdhMGMzMWVhMmI0NjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3Vy
Y2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMt
b3V0cHV0LnhjZmlsZWxpc3QKQEAgLTE5Myw2ICsxOTMsOSBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uTWVzc2FnZXNS
ZXBsaQogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3Rl
TGVnYWN5Q0RNU2Vzc2lvblByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblByb3h5
TWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIv
UmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblByb3h5TWVzc2FnZXNSZXBsaWVzLmgKKyQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhRW5naW5lQ29uZmln
dXJhdGlvbkZhY3RvcnlQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3RvcnlQcm94eU1lc3NhZ2VzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eU1l
c3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVBsYXllck1h
bmFnZXJNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJNZXNzYWdlc1JlcGxpZXMuaApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYktpdC9EZXJp
dmVkU291cmNlcy5tYWtlCmluZGV4IDY4MTQ4NTVmZjlkMjNhZjBhNzdlNWZkYTZkZmQyZmQ1NTA5
NzZmNjkuLjM1OGY3NGJiZDMyNTE2NGQyOTU3NjIwMTI3ZTRhNjAyZDkyZDdhNTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTI0Niw2ICsyNDYsNyBAQCBNRVNTQUdFX1JFQ0VJVkVS
UyA9IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETUZhY3RvcnlQcm94eSBcCiAJR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZUxlZ2FjeUNETVByb3h5IFwKKwlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3RvcnlQcm94eSBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRp
YVBsYXllck1hbmFnZXJQcm94eSBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXll
clByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmNwcAppbmRleCAwZTJlODgzMmIxZTIwZjFlMGYzMTlkNWQ5ZjI1ZDcyY2UxYmY3M2Fk
Li4zZDM5OWEzYjhiYTBhZWI2Njk0NjhmZjYzMzA1ZGNjZmI2YmM3YTcyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3Bw
CkBAIC0zOCw2ICszOCw4IEBACiAjaW5jbHVkZSAiTGliV2ViUlRDQ29kZWNzUHJveHlNZXNzYWdl
cy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJSZW1vdGVBdWRpb01lZGlhU3Ry
ZWFtVHJhY2tSZW5kZXJlck1hbmFnZXIuaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5UHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlJlbW90ZU1lZGlh
UGxheWVyTWFuYWdlclByb3h5LmgiCiAjaW5jbHVkZSAiUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2Vy
UHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUGxheWVyUHJveHkuaCIKQEAg
LTMzNiw2ICszMzgsMTMgQEAgUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5JiBHUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzOjpsZWdhY3lDZG1GYWN0b3J5UHJveHkoKQogfQogI2VuZGlmCiAKK1Jl
bW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eSYgR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzczo6bWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5KCkKK3sKKyAg
ICBpZiAoIW1fbWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5KQorICAgICAgICBt
X21lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eSA9IG1ha2VVbmlxdWU8UmVtb3Rl
TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5PigqdGhpcyk7CisgICAgcmV0dXJu
ICptX21lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eTsKK30KKwogYm9vbCBHUFVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaXNwYXRjaE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBj
b25uZWN0aW9uLCBJUEM6OkRlY29kZXImIGRlY29kZXIpCiB7CiAjaWYgRU5BQkxFKFdFQl9BVURJ
TykKQEAgLTQxMSw2ICs0MjAsMTAgQEAgYm9vbCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpk
aXNwYXRjaE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEMKICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgfQogI2VuZGlmCisgICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2Vp
dmVyTmFtZSgpID09IE1lc3NhZ2VzOjpSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0
b3J5UHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgeworICAgICAgICBtZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5UHJveHkoKS5kaWRSZWNlaXZlTWVzc2FnZUZyb21XZWJQcm9jZXNz
KGNvbm5lY3Rpb24sIGRlY29kZXIpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CiAKICAg
ICByZXR1cm4gbWVzc2FnZVJlY2VpdmVyTWFwKCkuZGlzcGF0Y2hNZXNzYWdlKGNvbm5lY3Rpb24s
IGRlY29kZXIpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmgKaW5kZXggMjY3OGRiYzRlNWQzNjVmYWQyOGU4YjQ4Mjc4NjM3
NjJhM2M0NTc4ZC4uOWIyNzUwZTA5NmVmMjIyODUxNTE0ZjVjZDEwNmZkZWI0MjYyMDRmZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5oCkBAIC00OSw2ICs0OSw3IEBAIGNsYXNzIFJlbW90ZUF1ZGlvU2Vzc2lvblByb3h5Owog
Y2xhc3MgUmVtb3RlQXVkaW9TZXNzaW9uUHJveHlNYW5hZ2VyOwogY2xhc3MgUmVtb3RlQ0RNRmFj
dG9yeVByb3h5OwogY2xhc3MgUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5OworY2xhc3MgUmVt
b3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5OwogY2xhc3MgUmVtb3RlTWVk
aWFQbGF5ZXJNYW5hZ2VyUHJveHk7CiBjbGFzcyBSZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlcjsK
IGNsYXNzIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyOwpAQCAtOTcsNiArOTgsNyBAQCBwdWJs
aWM6CiAjaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCiAgICAgUmVtb3RlTGVnYWN5
Q0RNRmFjdG9yeVByb3h5JiBsZWdhY3lDZG1GYWN0b3J5UHJveHkoKTsKICNlbmRpZgorICAgIFJl
bW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eSYgbWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeVByb3h5KCk7CiAgICAgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJv
eHkmIHJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5KCk7CiAKICNpZiBVU0UoQVVESU9fU0VT
U0lPTikKQEAgLTE5Myw2ICsxOTUsNyBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShMRUdBQ1lfRU5D
UllQVEVEX01FRElBKQogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVMZWdhY3lDRE1GYWN0b3J5
UHJveHk+IG1fbGVnYWN5Q2RtRmFjdG9yeVByb3h5OwogI2VuZGlmCisgICAgc3RkOjp1bmlxdWVf
cHRyPFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eT4gbV9tZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHk7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRp
YUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYTY4NDA4YTA4MjNlMmE4MzI1MjhlMDFiOTA2OWEyZjU2MjI4OGZiYQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVN
ZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuY3BwCkBAIC0wLDAgKzEsNjUgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5LmgiCisKKyNpZiBFTkFCTEUoR1BVX1BST0NF
U1MpCisKKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmg+
CisjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oPgorI2lu
Y2x1ZGUgPFdlYkNvcmUvTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24uaD4KKyNpbmNsdWRlIDxX
ZWJDb3JlL01lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9N
ZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Lmg+CisjaW5jbHVkZSA8d3RmL0FsZ29yaXRo
bXMuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwor
CitSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHk6OlJlbW90ZU1lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eShHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
JiBjb25uZWN0aW9uKQorICAgIDogbV9ncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKGNvbm5lY3Rp
b24pCit7Cit9CisKK1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eTo6
flJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eSgpID0gZGVmYXVsdDsK
Kwordm9pZCBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHk6OiBjcmVh
dGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24oV2ViQ29yZTo6TWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRp
b24mJiBjb25maWd1cmF0aW9uLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6Ok1lZGlh
Q2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvJiYpPiYmIGNvbXBsZXRpb24pCit7CisgICAgTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6Y3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKFdU
Rk1vdmUoY29uZmlndXJhdGlvbiksIFtjb21wbGV0aW9uID0gV1RGTW92ZShjb21wbGV0aW9uKV0g
KGF1dG8gaW5mbykgbXV0YWJsZSB7CisgICAgICAgIGNvbXBsZXRpb24oV1RGTW92ZShpbmZvKSk7
CisgICAgfSk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9y
eVByb3h5OjpjcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24oV2ViQ29yZTo6TWVkaWFFbmNvZGlu
Z0NvbmZpZ3VyYXRpb24mJiBjb25maWd1cmF0aW9uLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdl
YkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvJiYpPiYmIGNvbXBsZXRpb24pCit7
CisgICAgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6Y3JlYXRlRW5jb2RpbmdDb25m
aWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbiksIFtjb21wbGV0aW9uID0gV1RGTW92ZShj
b21wbGV0aW9uKV0gKGF1dG8gaW5mbykgbXV0YWJsZSB7CisgICAgICAgIGNvbXBsZXRpb24oV1RG
TW92ZShpbmZvKSk7CisgICAgfSk7Cit9CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9u
RmFjdG9yeVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVk
aWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTQ2ZDc4OGI3
MTZjNmRlMTcxMjUwODFiNmY5OTg5MWMwNWFmN2MxNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25G
YWN0b3J5UHJveHkuaApAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisKKyNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisj
aW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5Lmg+CisjaW5jbHVkZSA8d3RmL1VuaXF1ZVJlZi5oPgorI2lu
Y2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBHUFVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOworCitjbGFzcyBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3Vy
YXRpb25GYWN0b3J5UHJveHkgZmluYWwgOiBwcml2YXRlIElQQzo6TWVzc2FnZVJlY2VpdmVyLCBw
dWJsaWMgQ2FuTWFrZVdlYWtQdHI8UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9y
eVByb3h5PiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgUmVt
b3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5KEdQVUNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MmKTsKKyAgICB2aXJ0dWFsIH5SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25G
YWN0b3J5UHJveHkoKTsKKworICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tV2ViUHJvY2Vz
cyhJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQzo6RGVjb2RlciYgZGVjb2RlcikgeyBk
aWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsgfQorCisgICAgR1BVQ29ubmVj
dGlvblRvV2ViUHJvY2VzcyYgZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2VzcygpIGNvbnN0IHsgcmV0
dXJuIG1fZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2VzczsgfQorCitwcml2YXRlOgorICAgIGZyaWVu
ZCBjbGFzcyBHUFVQcm9jZXNzQ29ubmVjdGlvbjsKKyAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZl
cgorICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNv
ZGVyJikgZmluYWw7CisKKyAgICAvLyBNZXNzYWdlcworICAgIHZvaWQgY3JlYXRlRGVjb2RpbmdD
b25maWd1cmF0aW9uKFdlYkNvcmU6Ok1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uJiYsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6TWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8m
Jik+JiYpOworICAgIHZvaWQgY3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uKFdlYkNvcmU6Ok1l
ZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29y
ZTo6TWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8mJik+JiYpOworCisgICAgR1BVQ29ubmVj
dGlvblRvV2ViUHJvY2VzcyYgbV9ncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOworfTsKKworfQor
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9u
RmFjdG9yeVByb3h5Lm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2YTFlNzQ0YjllZjFhOTgxMGYz
MTkyZGJhNjI5YTUzYzk5ZTdhYjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5
Lm1lc3NhZ2VzLmluCkBAIC0wLDAgKzEsMzIgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
IyBhcmUgbWV0OgorIyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyMgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworIyBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyMgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorIyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorIyBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorIyBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyMgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyMg
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyMgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorIyBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisKK21lc3NhZ2VzIC0+IFJlbW90
ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eSBOb3RSZWZDb3VudGVkIHsKKyAg
ICBDcmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24oc3RydWN0IFdlYkNvcmU6Ok1lZGlhRGVjb2Rp
bmdDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24pIC0+IChzdHJ1Y3QgV2ViQ29yZTo6TWVkaWFD
YXBhYmlsaXRpZXNEZWNvZGluZ0luZm8gZGVjb2RpbmdJbmZvKSBBc3luYworICAgIENyZWF0ZUVu
Y29kaW5nQ29uZmlndXJhdGlvbihzdHJ1Y3QgV2ViQ29yZTo6TWVkaWFFbmNvZGluZ0NvbmZpZ3Vy
YXRpb24gY29uZmlndXJhdGlvbikgLT4gKHN0cnVjdCBXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGll
c0VuY29kaW5nSW5mbyBkZWNvZGluZ0luZm8pIEFzeW5jCit9CisKKyNlbmRpZgorCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4
dAppbmRleCAwOTE3ZjAxYmUxYzlmOGNhYTJhYmY3ZjBmODkwZjg5NWEzZjJlZjg2Li5jYjc4YmIy
MmI2NzMyNzQ0NTFjYTNjY2RjNTZhNWVmZWY2Nzc1OTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKQEAgLTM3LDYg
KzM3LDcgQEAgR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVDRE1Qcm94eS5jcHAKIEdQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5LmNwcAogR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVMZWdhY3lDRE1Qcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RN
U2Vzc2lvblByb3h5LmNwcAorR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZp
Z3VyYXRpb25GYWN0b3J5UHJveHkuY3BwCiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxh
eWVyTWFuYWdlclByb3h5LmNwcAogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclBy
b3h5LmNwcAogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlLmNwcApAQCAtNTgy
LDYgKzU4Myw3IEBAIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlU2Vzc2lv
bi5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUxlZ2FjeUNETS5jcHAKIFdlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZUxlZ2FjeUNETUZhY3RvcnkuY3BwCiBXZWJQcm9jZXNzL0dQVS9t
ZWRpYS9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uLmNwcAorV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVt
b3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5jcHAKIFdlYlByb2Nlc3MvR1BVL21l
ZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZS5jcHAgQG5vLXVuaWZ5CiBXZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlUHJveHkuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA4MDM3MDQwNGU0OWE3OGQ4YWJl
NzMyMmE3OGVjOTJmYzFjMGJhMGEyLi5jZDFiNGY0NzNmN2FkYmVmODc5YTIzZTE4YmQ1ZGE0ZTQ3
MDY1YWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTE4MDEsNiArMTgwMSw3IEBACiAJCUNEMEM2ODMxMjAxRkQxMDEwMEE1OTQwOSAv
KiBXS0Z1bGxTY3JlZW5WaWV3Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QwQzY4MkYyMDFGRDEwMTAwQTU5NDA5IC8qIFdLRnVsbFNj
cmVlblZpZXdDb250cm9sbGVyLmggKi87IH07CiAJCUNEMTlBMjZFMUExM0U4MzQwMDhENjUwRSAv
KiBXZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QxOUEyNkExQTEzRTgyMTAwOEQ2NTBFIC8qIFdlYkRpYWdu
b3N0aWNMb2dnaW5nQ2xpZW50LmggKi87IH07CiAJCUNEMTlEMkVBMjA0NjQwNkYwMDE3MDc0QSAv
KiBGdWxsc2NyZWVuVG91Y2hTZWNoZXVyaXN0aWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEMTlEMkU4MjA0NjQwNkYwMDE3MDc0QSAvKiBGdWxsc2Ny
ZWVuVG91Y2hTZWNoZXVyaXN0aWMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlDRDNFRUY0NjI1NzlDMjYxMDA2NTYzQkIgLyogUmVtb3RlTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEM0VFRjQ0MjU3OUMxRDQw
MDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHlNZXNz
YWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQlDRDQ1NzBEMzI0NDExM0I1MDBBM0RDRUIgLyogQXVk
aW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDQ1NzBEMDI0NDEwMTRB
MDBBM0RDRUIgLyogQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eU1lc3NhZ2VSZWNl
aXZlci5jcHAgKi87IH07CiAJCUNENDU3MEQ0MjQ0MTFEMEYwMEEzRENFQiAvKiBBdWRpb1Nlc3Np
b25Sb3V0aW5nQXJiaXRyYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDRDQ1NzBDQjI0NDBGQjJBMDBBM0RDRUIgLyogQXVkaW9TZXNzaW9uUm91
dGluZ0FyYml0cmF0b3IuY3BwICovOyB9OwogCQlDRDQ2NjE4MzI0MDEwQTY3MDA0N0NBMzUgLyog
UmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENDY2MTgxMjQwMTA1NjQwMDQ3Q0Ez
NSAvKiBSZW1vdGVDRE1JbnN0YW5jZVNlc3Npb25NZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwpA
QCAtNTMwNiw2ICs1MzA3LDE0IEBACiAJCUNEMTlBMjZBMUExM0U4MjEwMDhENjUwRSAvKiBXZWJE
aWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlDRDE5RDJFODIwNDY0MDZGMDAxNzA3NEEgLyogRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlz
dGljLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZ1bGxzY3JlZW5Ub3VjaFNlY2hldXJpc3RpYy5oOyBwYXRo
ID0gaW9zL2Z1bGxzY3JlZW4vRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEMTlEMkU5MjA0NjQwNkYwMDE3MDc0QSAvKiBGdWxsc2Ny
ZWVuVG91Y2hTZWNoZXVyaXN0aWMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRnVsbHNjcmVlblRv
dWNoU2VjaGV1cmlzdGljLmNwcDsgcGF0aCA9IGlvcy9mdWxsc2NyZWVuL0Z1bGxzY3JlZW5Ub3Vj
aFNlY2hldXJpc3RpYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEM0VFRjMx
MjU3OTk2MTgwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0QzRUVGMzIyNTc5OTYxODAwNjU2M0JC
IC8qIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEM0VFRjMzMjU3OTk3MTcwMDY1NjNCQiAvKiBSZW1v
dGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUNEM0VFRjM0MjU3OTk3MTcwMDY1NjNCQiAvKiBSZW1vdGVNZWRp
YUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0QzRUVGMzUyNTc5OTc5NTAwNjU2M0JCIC8qIFJlbW90ZU1l
ZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5tZXNzYWdlcy5pbiAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSZW1v
dGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkubWVzc2FnZXMuaW47IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEM0VFRjQzMjU3OUMxRDQwMDY1NjNCQiAvKiBSZW1v
dGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHlNZXNzYWdlcy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHlNZXNzYWdl
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDNFRUY0NDI1NzlDMUQ0MDA2NTYz
QkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZVJl
Y2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3RvcnlQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUNEM0VFRjQ1MjU3OUMxRDQwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5UHJveHlNZXNzYWdlc1JlcGxpZXMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZXNSZXBsaWVz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENDU3MENBMjQ0MEZCMkEwMEEzRENF
QiAvKiBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdWRp
b1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlDRDQ1NzBDQjI0NDBGQjJBMDBBM0RDRUIgLyogQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0
b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3Iu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDQ1NzBEMDI0NDEwMTRBMDBBM0RD
RUIgLyogQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5
TWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTU3OTMs
NiArNTgwMiw4IEBACiAJCQkJQ0RFNTU0RUUyNDA1ODFBMzAwOEEzRERCIC8qIFJlbW90ZUxlZ2Fj
eUNETVNlc3Npb24uaCAqLywKIAkJCQlDREU1NTUwNTI0MDU4MzI0MDA4QTNEREIgLyogUmVtb3Rl
TGVnYWN5Q0RNU2Vzc2lvbi5tZXNzYWdlcy5pbiAqLywKIAkJCQlDREU1NTUwOTI0MDU4OENCMDA4
QTNEREIgLyogUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbklkZW50aWZpZXIuaCAqLywKKwkJCQlDRDNF
RUYzMTI1Nzk5NjE4MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFj
dG9yeS5oICovLAorCQkJCUNEM0VFRjMyMjU3OTk2MTgwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmNwcCAqLywKIAkJCQkwN0I5M0ZGNTIzQUYwQ0I4MDAz
NkY4RUEgLyogUmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uLmggKi8sCiAJCQkJMDc5MjMx
MzAyMzlCM0IwQzAwOTU5OEUyIC8qIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5jcHAgKi8sCiAJ
CQkJMDc5MjMxMzQyMzlCM0IwQzAwOTU5OEUyIC8qIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5o
ICovLApAQCAtNTg1Nyw2ICs1ODY4LDkgQEAKIAkJCQlDREU1NTRGODI0MDU4MjA4MDA4QTNEREIg
LyogUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblByb3h5LmggKi8sCiAJCQkJQ0RFNTU1MDAyNDA1ODI4
NDAwOEEzRERCIC8qIFJlbW90ZUxlZ2FjeUNETVNlc3Npb25Qcm94eS5tZXNzYWdlcy5pbiAqLywK
IAkJCQkxRDRGQjQwQzI1NjVDQkY5MDAxQUMyQUQgLyogUmVtb3RlTWVkaWFEZXNjcmlwdGlvbi5o
ICovLAorCQkJCUNEM0VFRjMzMjU3OTk3MTcwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuaCAqLywKKwkJCQlDRDNFRUYzNDI1Nzk5NzE3MDA2NTYz
QkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5LmNwcCAqLywK
KwkJCQlDRDNFRUYzNTI1Nzk5Nzk1MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeVByb3h5Lm1lc3NhZ2VzLmluICovLAogCQkJCTA3MjVFRkFEMjM5QjAyNDUw
MEE1MzhBOSAvKiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5jcHAgKi8sCiAJCQkJMDcy
NUVGQUMyMzlBRTM4NTAwQTUzOEE5IC8qIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Lmgg
Ki8sCiAJCQkJMDcyNUVGQUIyMzlBRTM4NDAwQTUzOEE5IC8qIFJlbW90ZU1lZGlhUGxheWVyTWFu
YWdlclByb3h5Lm1lc3NhZ2VzLmluICovLApAQCAtMTA1MjAsNiArMTA1MzQsOSBAQAogCQkJCUNE
RTU1NTMxMjQwNkI4OTcwMDhBM0REQiAvKiBSZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJveHlNZXNz
YWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCUNERTU1NTJGMjQwNkI4OTcwMDhBM0REQiAvKiBSZW1v
dGVMZWdhY3lDRE1TZXNzaW9uUHJveHlNZXNzYWdlcy5oICovLAogCQkJCUNERTU1NTI2MjQwNkI4
OTUwMDhBM0REQiAvKiBSZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJveHlNZXNzYWdlc1JlcGxpZXMu
aCAqLywKKwkJCQlDRDNFRUY0NDI1NzlDMUQ0MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdpbmVD
b25maWd1cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKKwkJCQlDRDNF
RUY0MzI1NzlDMUQ0MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFj
dG9yeVByb3h5TWVzc2FnZXMuaCAqLywKKwkJCQlDRDNFRUY0NTI1NzlDMUQ0MDA2NTYzQkIgLyog
UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZXNSZXBsaWVz
LmggKi8sCiAJCQkJMDc5MjMxNDUyMzlDQkNCNzAwOTU5OEUyIC8qIFJlbW90ZU1lZGlhUGxheWVy
TWFuYWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQkwNzkyMzE0NjIzOUNCQ0I3
MDA5NTk4RTIgLyogUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHlNZXNzYWdlcy5oICovLAog
CQkJCTA3OTIzMTQyMjM5Q0JDQjUwMDk1OThFMiAvKiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQ
cm94eU1lc3NhZ2VzUmVwbGllcy5oICovLApAQCAtMTM1MjgsNiArMTM1NDUsNyBAQAogCQkJCTJE
MTFCN0NEMjEyNkEyODMwMDZGODg3OCAvKiBVbmlmaWVkU291cmNlNjQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkQ1NEMzMEMyMTJGM0IzMzAwNDlDMTc0IC8qIFVuaWZpZWRTb3VyY2U2NC1tbS5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTJENTRDMzA3MjEyRjNCMzMwMDQ5QzE3NCAvKiBVbmlmaWVk
U291cmNlNjUtbW0ubW0gaW4gU291cmNlcyAqLywKKwkJCQlDRDNFRUY0NjI1NzlDMjYxMDA2NTYz
QkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZVJl
Y2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEMTFCN0NFMjEyNkEyODMwMDZGODg3OCAv
KiBVbmlmaWVkU291cmNlNjUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQxMUI3Q0YyMTI2QTI4
MzAwNkY4ODc4IC8qIFVuaWZpZWRTb3VyY2U2Ni5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDU0
QzMxNDIxMkYzQjMzMDA0OUMxNzQgLyogVW5pZmllZFNvdXJjZTY2LW1tLm1tIGluIFNvdXJjZXMg
Ki8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3ND
b25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nv
bm5lY3Rpb24uY3BwCmluZGV4IGYwMDVhZDViYzM4Njg2NGQwNjE4ODUyNmEzNDFlMWViN2FkMzQw
MzMuLjExZmE3MGYyY2U5YjQzMzUxZTUzYjlhMWYzZjczZmNhNTI4ZDc0YTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3Bw
CkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiUmVtb3RlQ0RNRmFjdG9yeS5oIgogI2luY2x1
ZGUgIlJlbW90ZUNETVByb3h5LmgiCiAjaW5jbHVkZSAiUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeS5o
IgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaCIKICNp
bmNsdWRlICJSZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaCIKICNpbmNsdWRlICJTYW1wbGVCdWZm
ZXJEaXNwbGF5TGF5ZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVy
cy5oIgpAQCAtMTMxLDYgKzEzMiwxMSBAQCBSZW1vdGVMZWdhY3lDRE1GYWN0b3J5JiBHUFVQcm9j
ZXNzQ29ubmVjdGlvbjo6bGVnYWN5Q0RNRmFjdG9yeSgpCiB9CiAjZW5kaWYKIAorUmVtb3RlTWVk
aWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeSYgR1BVUHJvY2Vzc0Nvbm5lY3Rpb246Om1lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkoKQoreworICAgIHJldHVybiAqV2ViUHJvY2Vzczo6
c2luZ2xldG9uKCkuc3VwcGxlbWVudDxSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0
b3J5PigpOworfQorCiBib29sIEdQVVByb2Nlc3NDb25uZWN0aW9uOjpkaXNwYXRjaE1lc3NhZ2Uo
SVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6OkRlY29kZXImIGRlY29kZXIpCiB7CiAg
ICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpNZWRpYVBs
YXllclByaXZhdGVSZW1vdGU6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5oIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5oCmluZGV4IDJj
MGRmNWI5ZjU0OTY4NDdlZDY2OTEwYmYyZjM5YjJjZGM2MGNhMDIuLjZjYWNmZmI0NDlkOTQ2Y2Iy
MjMwZTMwMzk4YjNhODdjM2M2ZTg2NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmgKQEAgLTQzLDYgKzQzLDcgQEAgbmFtZXNw
YWNlIFdlYktpdCB7CiAKIGNsYXNzIFJlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyOwog
Y2xhc3MgUmVtb3RlQ0RNRmFjdG9yeTsKK2NsYXNzIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3Rvcnk7CiBjbGFzcyBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXI7CiBjbGFzcyBSZW1v
dGVMZWdhY3lDRE1GYWN0b3J5Owogc3RydWN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM7CkBA
IC04MCw2ICs4MSw4IEBAIHB1YmxpYzoKICAgICBSZW1vdGVMZWdhY3lDRE1GYWN0b3J5JiBsZWdh
Y3lDRE1GYWN0b3J5KCk7CiAjZW5kaWYKIAorICAgIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3RvcnkmIG1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkoKTsKKwogICAgIHZv
aWQgdXBkYXRlUGFyYW1ldGVycyhjb25zdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJik7CiAK
ICNpZiBFTkFCTEUoVlA5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2Vy
LmNwcAppbmRleCBiOGY0NWE2ZDViYjRkYjQ2MDk4ODAxMjQzYmI1ZTkzMTdiMWUzZTJiLi5lNjIw
YmNjMzEzODMyNTQxZDRkMDM3YTczZjE5YjBiM2M4NWUxN2E1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5h
Z2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1
ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyLmNwcApAQCAtMjYsMTQgKzI2LDE2IEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIu
aCIKIAorI2luY2x1ZGUgIkdQVVByb2Nlc3NDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiTG9nZ2lu
Zy5oIgorI2luY2x1ZGUgIlJlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJS
ZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiU2hh
cmVkUmluZ0J1ZmZlclN0b3JhZ2UuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCiAKICNpZiBQ
TEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKQogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKLXVzaW5nIG5hbWVzcGFjZSBQQUw7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogUmVt
b3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXI6OlJlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJN
YW5hZ2VyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
UmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIuaAppbmRleCBl
NTllMWIwNmI0NDdlNWQ4MGNhNjEwNTJjNmM3YTMyYzRiYTE0MmU2Li43MGU1ZGNiNWNkMDQ2ZWE2
NDQ5ZTBmYjY3ZmIzNGIxYzI2MzlkY2YyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyLmgKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3Zp
ZGVyTWFuYWdlci5oCkBAIC0yNyw2ICsyNyw4IEBACiAKICNpZiBQTEFURk9STShDT0NPQSkgJiYg
RU5BQkxFKEdQVV9QUk9DRVNTKQogCisjaW1wb3J0ICJDb25uZWN0aW9uLmgiCisjaW1wb3J0ICJT
aGFyZWRNZW1vcnkuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0NBQXVkaW9TdHJlYW1EZXNjcmlwdGlv
bi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ0FSaW5nQnVmZmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9NZWRpYVBsYXllcklkZW50aWZpZXIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3RvcnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEwYjcwYWU3YTE4ODE0YjRmZDg2
MjFmYzQ2Zjk5N2ZkZjYxYjE1OTQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnku
Y3BwCkBAIC0wLDAgKzEsOTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oIgorCisjaW5j
bHVkZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUgIldlYlByb2Nl
c3MuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmg+
CisjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oPgorI2lu
Y2x1ZGUgPFdlYkNvcmUvTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24uaD4KKyNpbmNsdWRlIDxX
ZWJDb3JlL01lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9N
ZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQgewor
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3Rvcnk6OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkoV2ViUHJvY2Vz
cyYgcHJvY2VzcykKKyAgICA6IG1fcHJvY2Vzcyhwcm9jZXNzKQoreworfQorCitSZW1vdGVNZWRp
YUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Ojp+UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeSgpID0gZGVmYXVsdDsKKwordm9pZCBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3Vy
YXRpb25GYWN0b3J5OjpyZWdpc3RlckZhY3RvcnkoKQoreworICAgIE1lZGlhRW5naW5lQ29uZmln
dXJhdGlvbkZhY3Rvcnk6OmNsZWFyRmFjdG9yaWVzKCk7CisgICAgTWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeTo6aW5zdGFsbEZhY3RvcnkoeworICAgICAgICBbd2Vha1RoaXMgPSBtYWtl
V2Vha1B0cih0aGlzKV0gKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uJiYgY29uZmlndXJhdGlv
biwgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6RGVjb2RpbmdDb25maWd1cmF0aW9u
Q2FsbGJhY2smJiBjYWxsYmFjaykgeworICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykgeworICAg
ICAgICAgICAgICAgIGNhbGxiYWNrKHt7IH0sIFdURk1vdmUoY29uZmlndXJhdGlvbil9KTsKKyAg
ICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHdlYWtU
aGlzLT5jcmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwg
V1RGTW92ZShjYWxsYmFjaykpOworICAgICAgICB9LAorICAgICAgICBbd2Vha1RoaXMgPSBtYWtl
V2Vha1B0cih0aGlzKV0gKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uJiYgY29uZmlndXJhdGlv
biwgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6RW5jb2RpbmdDb25maWd1cmF0aW9u
Q2FsbGJhY2smJiBjYWxsYmFjaykgeworICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykgeworICAg
ICAgICAgICAgICAgIGNhbGxiYWNrKHt7IH0sIFdURk1vdmUoY29uZmlndXJhdGlvbil9KTsKKyAg
ICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHdlYWtU
aGlzLT5jcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwg
V1RGTW92ZShjYWxsYmFjaykpOworICAgICAgICB9LAorICAgIH0pOworfQorCitjb25zdCBjaGFy
KiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpzdXBwbGVtZW50TmFtZSgp
Cit7CisgICAgcmV0dXJuICJSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5IjsK
K30KKworR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3Rvcnk6OmdwdVByb2Nlc3NDb25uZWN0aW9uKCkKK3sKKyAgICByZXR1cm4gbV9wcm9jZXNz
LmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9uKCk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeTo6Y3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKE1lZGlh
RGVjb2RpbmdDb25maWd1cmF0aW9uJiYgY29uZmlndXJhdGlvbiwgTWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeTo6RGVjb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykK
K3sKKyAgICBncHVQcm9jZXNzQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kV2l0aEFzeW5j
UmVwbHkoTWVzc2FnZXM6OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94
eTo6Q3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbikpLCBb
Y2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0gKE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJ
bmZvJiYgaW5mbykgbXV0YWJsZSB7CisgICAgICAgIGNhbGxiYWNrKFdURk1vdmUoaW5mbykpOwor
ICAgIH0pOworfQorCit2b2lkIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6
OmNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbihNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYm
IGNvbmZpZ3VyYXRpb24sIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkVuY29kaW5n
Q29uZmlndXJhdGlvbkNhbGxiYWNrJiYgY2FsbGJhY2spCit7CisgICAgZ3B1UHJvY2Vzc0Nvbm5l
Y3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpSZW1vdGVN
ZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHk6OkNyZWF0ZUVuY29kaW5nQ29uZmln
dXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pKSwgW2NhbGxiYWNrID0gV1RGTW92ZShjYWxs
YmFjayldIChNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbyYmIGluZm8pIG11dGFibGUgewor
ICAgICAgICBjYWxsYmFjayhXVEZNb3ZlKGluZm8pKTsKKyAgICB9KTsKK30KKworfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
YzUwNWQ1OWIxZTNmM2YyOGIwN2ZkNGM1N2UzMzM3YmVmMzI3YzExCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5LmgKQEAgLTAsMCArMSw3MyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorCisjaW5jbHVkZSAiUmVtb3RlTGVn
YWN5Q0RNSWRlbnRpZmllci5oIgorI2luY2x1ZGUgIlJlbW90ZUxlZ2FjeUNETVNlc3Npb25JZGVu
dGlmaWVyLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzc1N1cHBsZW1lbnQuaCIKKyNpbmNsdWRlIDxX
ZWJDb3JlL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaD4KKyNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKK25hbWVzcGFjZSBJUEMgewor
Y2xhc3MgQ29ubmVjdGlvbjsKK2NsYXNzIERlY29kZXI7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQg
eworCitjbGFzcyBHUFVQcm9jZXNzQ29ubmVjdGlvbjsKK2NsYXNzIFdlYlByb2Nlc3M7CisKK2Ns
YXNzIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkgZmluYWwKKyAgICA6IHB1
YmxpYyBXZWJQcm9jZXNzU3VwcGxlbWVudAorICAgICwgcHVibGljIENhbk1ha2VXZWFrUHRyPFJl
bW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk+IHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBSZW1vdGVNZWRpYUVuZ2luZUNvbmZp
Z3VyYXRpb25GYWN0b3J5KFdlYlByb2Nlc3MmKTsKKyAgICB2aXJ0dWFsIH5SZW1vdGVNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5KCk7CisKKyAgICB2b2lkIHJlZ2lzdGVyRmFjdG9yeSgp
OworCisgICAgc3RhdGljIGNvbnN0IGNoYXIqIHN1cHBsZW1lbnROYW1lKCk7CisgICAgV2ViUHJv
Y2VzcyYgcHJvY2VzcygpIGNvbnN0IHsgcmV0dXJuIG1fcHJvY2VzczsgfQorCisgICAgR1BVUHJv
Y2Vzc0Nvbm5lY3Rpb24mIGdwdVByb2Nlc3NDb25uZWN0aW9uKCk7CisKKyAgICB2b2lkIGRpZFJl
Y2VpdmVTZXNzaW9uTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKTsKKwor
cHJpdmF0ZToKKyAgICB2b2lkIGNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihXZWJDb3JlOjpN
ZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiYmLCBXZWJDb3JlOjpNZWRpYUVuZ2luZUNvbmZpZ3Vy
YXRpb25GYWN0b3J5OjpEZWNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayYmKTsKKyAgICB2b2lk
IGNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbihXZWJDb3JlOjpNZWRpYUVuY29kaW5nQ29uZmln
dXJhdGlvbiYmLCBXZWJDb3JlOjpNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpFbmNv
ZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayYmKTsKKworICAgIFdlYlByb2Nlc3MmIG1fcHJvY2Vz
czsKK307CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHAKaW5kZXggZjJmMjI4MjJjN2IyMjNmY2E1OWY5NTU3M2QxMWRjOTliMTAzNDgxMS4uNWIxYmM1
YTlmYTdmM2I0ZDVhZWYzZTQ0NTVmZjViZmIyYTcyM2JjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtNDUsNiArNDUsNyBAQAogI2luY2x1ZGUgIlByb2Nlc3NB
c3NlcnRpb24uaCIKICNpbmNsdWRlICJSZW1vdGVBdWRpb1Nlc3Npb24uaCIKICNpbmNsdWRlICJS
ZW1vdGVMZWdhY3lDRE1GYWN0b3J5LmgiCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeS5oIgogI2luY2x1ZGUgIlN0b3JhZ2VBcmVhTWFwLmgiCiAjaW5jbHVk
ZSAiVXNlckRhdGEuaCIKICNpbmNsdWRlICJXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5LmgiCkBA
IC0xMDcsNiArMTA4LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0hUTUxNZWRpYUVsZW1lbnQuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0pTRE9NV2luZG93Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9MZWdh
Y3lTY2hlbWVSZWdpc3RyeS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTWVtb3J5Q2FjaGUuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL01lbW9yeVJlbGVhc2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01lc3NhZ2VQ
b3J0Lmg+CkBAIC0yODIsNiArMjg0LDggQEAgV2ViUHJvY2Vzczo6V2ViUHJvY2VzcygpCiAgICAg
YWRkU3VwcGxlbWVudDxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcj4oKTsKICNlbmRpZgog
CisgICAgYWRkU3VwcGxlbWVudDxSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
PigpOworCiAgICAgR2lnYWNhZ2U6OmZvcmJpZERpc2FibGluZ1ByaW1pdGl2ZUdpZ2FjYWdlKCk7
CiB9CiAKQEAgLTE5MjYsNiArMTkzMCwxMSBAQCB2b2lkIFdlYlByb2Nlc3M6OnNldFVzZUdQVVBy
b2Nlc3NGb3JNZWRpYShib29sIHVzZUdQVVByb2Nlc3NGb3JNZWRpYSkKICAgICBlbHNlCiAgICAg
ICAgIExlZ2FjeUNETTo6cmVzZXRGYWN0b3JpZXMoKTsKICNlbmRpZgorICAgIAorICAgIGlmICh1
c2VHUFVQcm9jZXNzRm9yTWVkaWEpCisgICAgICAgIGVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9u
KCkubWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeSgpLnJlZ2lzdGVyRmFjdG9yeSgpOwor
ICAgIGVsc2UKKyAgICAgICAgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6cmVzZXRG
YWN0b3JpZXMoKTsKIH0KIAogYm9vbCBXZWJQcm9jZXNzOjpzaG91bGRVc2VSZW1vdGVSZW5kZXJp
bmdGb3IoUmVuZGVyaW5nUHVycG9zZSBwdXJwb3NlKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415385</attachid>
            <date>2020-12-03 21:43:05 -0800</date>
            <delta_ts>2020-12-03 22:27:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219521-20201203214305.patch</filename>
            <type>text/plain</type>
            <size>75821</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNDIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODY3YjI0ZTg0OTYzNmM3
ZjE2ZjQxZDAwYWE4Y2ZlZGQ0MWFiYjRhNy4uNDE3NTFlMjBmZjM2ZDU5MTk3ZTljY2E2NDU2NGIw
Mjc1MTMzMTY2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDIwLTEyLTAzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFVQXSBNb3ZlIE1lZGlh
Q2FwYWJpbGl0aWVzIGludG8gdGhlIEdQVSBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk1MjEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgZW5jb2RlKCkgYW5kIGRlY29kZSgpIG9wZXJh
dGlvbnMgdG8gYWxsIHN0cnVjdHMgdXNlZCBpbnNpZGUKKyAgICAgICAgTWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeS4gQWRkIHRoZSBhYmlsaXR5IGZvciBjbGllbnRzIHRvIHByb3ZpZGUK
KyAgICAgICAgdGhlaXIgb3duIGZhY3RvcmllcyBmb3IgdXNlIGluIE1lZGlhRW5naW5lQ29uZmln
dXJhdGlvbkZhY3RvcnkuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8u
aDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvOjplbmNv
ZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0lu
Zm86OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGlu
Z0luZm8uaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZv
OjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDYXBhYmlsaXRpZXNFbmNv
ZGluZ0luZm86OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNJ
bmZvLmg6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0luZm86OmVuY29kZSBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0luZm86OmRlY29kZSk6
CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvQXVkaW9Db25maWd1cmF0aW9u
Lmg6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0NvbmZpZ3VyYXRpb246OmVuY29kZSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0NvbmZpZ3VyYXRpb246OmRlY29kZSk6CisgICAgICAg
ICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvQ29sb3JHYW11dC5oOgorICAgICAgICAqIHBs
YXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL0hkck1ldGFkYXRhVHlwZS5oOgorICAgICAgICAqIHBs
YXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oOgorICAg
ICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ29uZmlndXJhdGlvbi5oOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb25maWd1cmF0aW9uOjplbmNvZGUgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFDb25maWd1cmF0aW9uOjpkZWNvZGUpOgorICAgICAgICAqIHBs
YXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbjo6ZW5jb2RlIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uOjpkZWNvZGUp
OgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdUeXBl
Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ0Nv
bmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdDb25maWd1cmF0
aW9uOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmNvZGluZ0NvbmZp
Z3VyYXRpb246OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMv
TWVkaWFFbmNvZGluZ1R5cGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGll
cy9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmRlZmF1bHRGYWN0b3JpZXMpOgorICAgICAgICAoV2ViQ29yZTo6ZmFjdG9yaWVzKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OmNsZWFyRmFjdG9y
aWVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6
OnJlc2V0RmFjdG9yaWVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3Rvcnk6Omluc3RhbGxGYWN0b3J5KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRW5n
aW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6Omhhc0RlY29kaW5nQ29uZmlndXJhdGlvbkZhY3Rvcnkp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6aGFz
RW5jb2RpbmdDb25maWd1cmF0aW9uRmFjdG9yeSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFj
YXBhYmlsaXRpZXMvTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oOgorICAgICAgICAq
IHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1RyYW5zZmVyRnVuY3Rpb24uaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlZpZGVvQ29uZmlndXJhdGlvbjo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlZpZGVvQ29uZmlndXJhdGlvbjo6ZGVjb2RlKToKKwogMjAyMC0xMi0wMyAgSmVy
IE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIEFkb3B0IEFW
T3V0cHV0RGV2aWNlLmFsbG93c0hlYWRUcmFja2VkU3BhdGlhbEF1ZGlvCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQw
MDg4ZDI5MDg3MzM0YjVkN2NhNjljOTIyMDQ2MTY3M2Q0Yjg4YjQuLmZlMmRhODg0NWI4YTkwMzcw
NzdlM2RkYTQ3YzljZGVmNDAxZDFlYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMjAt
MTItMDMgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVVBd
IE1vdmUgTWVkaWFDYXBhYmlsaXRpZXMgaW50byB0aGUgR1BVIHByb2Nlc3MKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTUyMQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG5ldyBwYWlyIG9mIHBy
b2Nlc3Mgc3VwcGxlbWVudHMsIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnkg
YW5kIC4uUHJveHkuCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0
OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzczo6bWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5KToKKyAgICAgICAgKFdl
YktpdDo6R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlzcGF0Y2hNZXNzYWdlKToKKyAgICAg
ICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBH
UFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94
eS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3Vy
YXRpb25GYWN0b3J5UHJveHk6OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQ
cm94eSk6CisgICAgICAgIChXZWJLaXQ6OmNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbik6Cisg
ICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94
eTo6Y3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5oOiBBZGRlZC4K
KyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3RvcnlQcm94eS5tZXNzYWdlcy5pbjogQWRkZWQuCisgICAgICAgICogU291cmNlcy50eHQ6
CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
V2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0
OjpHUFVQcm9jZXNzQ29ubmVjdGlvbjo6bWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeSk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdl
ci5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQ
cm92aWRlck1hbmFnZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVN
ZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OlJlbW90ZU1lZGlhRW5n
aW5lQ29uZmlndXJhdGlvbkZhY3RvcnkpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpyZWdpc3RlckZhY3RvcnkpOgorICAgICAgICAoV2Vi
S2l0OjpSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpzdXBwbGVtZW50TmFt
ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnk6OmdwdVByb2Nlc3NDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6Y3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKToK
KyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6
Y3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9t
ZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Lmg6IENvcGllZCBmcm9t
IFNvdXJjZS9XVEYvd3RmL0FsZ29yaXRobXMuaC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzZXRVc2VHUFVQcm9jZXNz
Rm9yTWVkaWEpOgorCiAyMDIwLTEyLTAzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29t
PgogCiAgICAgICAgIFtDb2NvYV0gQWRvcHQgQVZPdXRwdXREZXZpY2UuYWxsb3dzSGVhZFRyYWNr
ZWRTcGF0aWFsQXVkaW8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCA2NzJhMTY2MGE1ZDlmZjgwMTNiNjlhYmJiNmEzYWFhNzhiOWJl
MWYxLi5lMzY3Njk2Mzk4ZWM3OTk3NGNmM2NkMTAyMWRkYzQyMzlhNGUzNWVmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00MjM0
LDYgKzQyMzQsMTggQEAKIAkJQ0QzRTIxREQyMTgzNDQ0QTAwRTY2RjU1IC8qIEltYWdlQnVmZmVy
VXRpbGl0aWVzQ0cuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENEM0UyMURCMjE4MzNGNTEwMEU2NkY1NSAvKiBJbWFnZUJ1ZmZlclV0aWxpdGllc0NHLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0QzRTI1
MUMxODA0NkIwNjAwRTI3RjU2IC8qIEdyaWRBcmVhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDNFMjUxQjE4MDQ2QjA2MDBFMjdGNTYgLyogR3JpZEFy
ZWEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlD
RDNFMjUyNDE4MDQ2QkNEMDBFMjdGNTYgLyogQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QzRTI1MjIxODA0
NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaCAqLzsgfTsKKwkJQ0Qz
RUVGMzcyNTc5OUVGRTAwNjU2M0JCIC8qIE1lZGlhQ2FwYWJpbGl0aWVzSW5mby5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QwQzhCNTgyMTQxQzhDQTAw
NjJGNTlEIC8qIE1lZGlhQ2FwYWJpbGl0aWVzSW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNEM0VFRjM4MjU3OTlGNzMwMDY1NjNCQiAvKiBN
ZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0RCRDNEMzYxRkU4NUNDMDAwMTJDNTQ1IC8qIE1lZGlhRGVjb2Rp
bmdDb25maWd1cmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJQ0QzRUVGMzkyNTc5OUY3RjAwNjU2M0JCIC8qIE1lZGlhQ29uZmlndXJhdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RCRDNE
MzUxRkU4NUNCRjAwMTJDNTQ1IC8qIE1lZGlhQ29uZmlndXJhdGlvbi5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNEM0VFRjNBMjU3OTlGODgwMDY1
NjNCQiAvKiBBdWRpb0NvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENEQkQzRDJCMUZFODVDQkIwMDEyQzU0NSAvKiBBdWRpb0NvbmZp
Z3VyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQlDRDNFRUYzQjI1Nzk5RkExMDA2NTYzQkIgLyogVmlkZW9Db25maWd1cmF0aW9uLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREJEM0QzNDFGRTg1
Q0JGMDAxMkM1NDUgLyogVmlkZW9Db25maWd1cmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0QzRUVGM0MyNTc5OUZBQjAwNjU2M0JCIC8q
IENvbG9yR2FtdXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENENEU0RTlCMjM1N0NCOUQwMDc4OTVDMyAvKiBDb2xvckdhbXV0LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0QzRUVGM0QyNTc5OUZCNTAw
NjU2M0JCIC8qIEhkck1ldGFkYXRhVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0Q0RTRFOUMyMzU3Q0I5RDAwNzg5NUMzIC8qIEhkck1ldGFkYXRh
VHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUNEM0VFRjNFMjU3OTlGQzcwMDY1NjNCQiAvKiBNZWRpYURlY29kaW5nVHlwZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RCRDNEMzgxRkU4NUNDMDAw
MTJDNTQ1IC8qIE1lZGlhRGVjb2RpbmdUeXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0QzRUVGM0YyNTc5OUZDQzAwNjU2M0JCIC8qIE1lZGlh
RW5jb2RpbmdDb25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDREJEM0QzNzFGRTg1Q0MwMDAxMkM1NDUgLyogTWVkaWFFbmNvZGluZ0Nv
bmZpZ3VyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQlDRDNFRUY0MDI1Nzk5RkQwMDA2NTYzQkIgLyogTWVkaWFFbmNvZGluZ1R5cGUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQkQzRDNFMUZF
ODVDQzMwMDEyQzU0NSAvKiBNZWRpYUVuY29kaW5nVHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNEM0VFRjQxMjU3OTlGRDkwMDY1NjNCQiAv
KiBUcmFuc2ZlckZ1bmN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRDRFNEU5QTIzNTdDQjlDMDA3ODk1QzMgLyogVHJhbnNmZXJGdW5jdGlvbi5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNEM0VF
RjQyMjU3OUI0NEEwMDY1NjNCQiAvKiBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QUM2RjAyNTIx
MTQ4RjU0MDBDQkRBMDYgLyogTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNENEFDNTJBMTQ5
NkFFOUEwMDg3QzRFRiAvKiBDb21wb3NpdGUud2F2IGluIENvcHkgQXVkaW8gUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENEFDNTI4MTQ5NkFFMkYwMDg3QzRF
RiAvKiBDb21wb3NpdGUud2F2ICovOyB9OwogCQlDRDUyMDlFNDFCMEJEODM4MDA3NzE4NEUgLyog
TWVkaWFQbGF5ZXJFbnVtcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0Q1MjA5RTMxQjBCRDgzODAwNzcxODRFIC8qIE1lZGlhUGxheWVyRW51bXMuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRDUyMDlF
NjFCMEJEOUUxMDA3NzE4NEUgLyogSFRNTE1lZGlhRWxlbWVudEVudW1zLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDUyMDlFNTFCMEJEOUUxMDA3NzE4
NEUgLyogSFRNTE1lZGlhRWxlbWVudEVudW1zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTQzMjgsOCArNDM0MCw4IEBACiAJCUNEQzkzOUE4MUU5
QkRGQjEwMEJCNzY4RCAvKiBWaWRlb1Rvb2xib3hTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDOTM5QTYxRTlCREZCMTAwQkI3NjhEIC8q
IFZpZGVvVG9vbGJveFNvZnRMaW5rLmggKi87IH07CiAJCUNEQzk3OUY1MUM0OThDMDkwMERCNTBE
NCAvKiBXZWJDb3JlTlNFcnJvckV4dHJhcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0RDOTc5RjMxQzQ5OEMwOTAwREI1MEQ0IC8qIFdlYkNvcmVOU0Vy
cm9yRXh0cmFzLmggKi87IH07CiAJCUNEQ0E5OEVCMThCMkM4RUIwMEMxMkZGOSAvKiBMZWdhY3lD
RE1Qcml2YXRlTWVkaWFQbGF5ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0RDQTk4RUExOEIyQzhFQjAwQzEyRkY5IC8qIExlZ2FjeUNETVByaXZh
dGVNZWRpYVBsYXllci5jcHAgKi87IH07Ci0JCUNEQ0M5QkNGMjIzODdFOUEwMEZGQjUxQyAvKiBN
ZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDQzlCQ0UyMjM4N0U5QTAwRkZCNTFDIC8qIE1lZGlhQ2Fw
YWJpbGl0aWVzRGVjb2RpbmdJbmZvLmggKi87IH07Ci0JCUNEQ0M5QkQxMjIzODdFQUEwMEZGQjUx
QyAvKiBNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDQzlCRDAyMjM4N0VBQTAwRkZCNTFDIC8qIE1l
ZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvLmggKi87IH07CisJCUNEQ0M5QkNGMjIzODdFOUEw
MEZGQjUxQyAvKiBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDQzlCQ0UyMjM4N0U5QTAwRkZCNTFD
IC8qIE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0RDQzlCRDEyMjM4N0VBQTAwRkZCNTFDIC8q
IE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRENDOUJEMDIyMzg3RUFBMDBGRkI1MUMgLyogTWVkaWFD
YXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlDRENENDFFODFDM0REQjBBMDA5NjVEOTkgLyogUGFyc2VkQ29u
dGVudFJhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDRENENDFFNjFDM0REQjA5MDA5NjVEOTkgLyogUGFyc2VkQ29udGVudFJhbmdlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0RDRkFCQkQxOEMw
QUY3ODAwNkY4NDUwIC8qIEhpZ2hsaWdodERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQ0ZBQkJCMThDMEFFMzEwMDZGODQ1MCAvKiBIaWdobGln
aHREYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJQ0RENzA4OTcxODM1OUY2RjAwMkIzREM2IC8qIFNhbXBsZU1hcC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RENzA4OTUxODM1OUY2RjAwMkIzREM2
IC8qIFNhbXBsZU1hcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CkBAIC0zMTA5Nyw2ICszMTEwOSw3IEBACiAJCQkJNTc2MDgyNzIyMDIxNUE1NTAwMTE2
Njc4IC8qIEF1dGhlbnRpY2F0b3JDb29yZGluYXRvckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNTcyQjQwNDIyMTc4MTE0QTAwMEFENDNFIC8qIEF1dGhlbnRpY2F0b3JHZXRJbmZvUmVzcG9u
c2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3MzAzQkQyMjAwODdBODMwMDM1NTk2NSAvKiBBdXRo
ZW50aWNhdG9yUmVzcG9uc2UuaCBpbiBIZWFkZXJzICovLAorCQkJCUNEM0VFRjNDMjU3OTlGQUIw
MDY1NjNCQiAvKiBDb2xvckdhbXV0LmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0RDRUQ3NDIxNDMw
NUYwMDAxNkI4NDcgLyogQXV0aGVudGljYXRvclJlc3BvbnNlRGF0YS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTcyQjQwNDAyMTc4MDE3MTAwMEFENDNFIC8qIEF1dGhlbnRpY2F0b3JTdXBwb3J0ZWRP
cHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0RDRUQ5MDIxNDg3RkY3MDAxNkI4NDcgLyog
QXV0aGVudGljYXRvclRyYW5zcG9ydC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMTI4OCw2ICszMTMw
MSw3IEBACiAJCQkJQTgxODcyMjAwOTc3RDNDMDAwNTgyNkQ5IC8qIENoaWxkTm9kZUxpc3QuaCBp
biBIZWFkZXJzICovLAogCQkJCTE0RDgyMzUyMEFGOTJBNzkwMDA0RjA1NyAvKiBDaHJvbWUuaCBp
biBIZWFkZXJzICovLAogCQkJCTE0RDgyNDA4MEFGOTNBRUIwMDA0RjA1NyAvKiBDaHJvbWVDbGll
bnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUNEM0VFRjNBMjU3OTlGODgwMDY1NjNCQiAvKiBBdWRp
b0NvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUU0QTgxNEQ0MUM2REVDNDAwMEJG
ODVBQyAvKiBDbGFzc0NoYW5nZUludmFsaWRhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM0
OEJGQUMxQjg1NzI5ODAwOTEyRjM2IC8qIENsYXNzQ29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNDEwNzkwOEMxRkMzRjAzMzAwNjFCMjdBIC8qIENsaWVudE9yaWdpbi5oIGluIEhlYWRl
cnMgKi8sCkBAIC0zMTMyNiw2ICszMTM0MCw3IEBACiAJCQkJNDNFREQ2N0YxQjQ4NURCRjAwNjQw
RTc1IC8qIENvbWJpbmVkRmlsdGVyc0FscGhhYmV0LmggaW4gSGVhZGVycyAqLywKIAkJCQkyNkU5
NDREOTFBQzRCMkREMDA3Qjg1QjUgLyogQ29tYmluZWRVUkxGaWx0ZXJzLmggaW4gSGVhZGVycyAq
LywKIAkJCQlBNTg0RkUzNTE4NjRENUFGMDA4NDNCMTAgLyogQ29tbWFuZExpbmVBUElIb3N0Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQlDRDNFRUYzOTI1Nzk5RjdGMDA2NTYzQkIgLyogTWVkaWFDb25m
aWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTg0RkUyQzE4NjM4NzBGMDA4NDNCMTAg
LyogQ29tbWFuZExpbmVBUElNb2R1bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1ODRGRTI2MTg2
MzdEQUIwMDg0M0IxMCAvKiBDb21tYW5kTGluZUFQSU1vZHVsZVNvdXJjZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNjU1MEI2QTIwOTlERjAyNzAwOTBENzgxIC8qIENvbW1lbnQuaCBpbiBIZWFkZXJz
ICovLApAQCAtMzE1MzMsNiArMzE1NDgsNyBAQAogCQkJCUE4MEU2RDAwMEExOTg5Q0EwMDdGQjhD
NSAvKiBDU1NQYWdlUnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEI1QkREOUIyMTY1OEExNTAw
REQ0MjYyIC8qIENTU1BhaW50Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTRCNkU4NzY5
MjE3NkQ2OTIwMDQyMEU1RSAvKiBDU1NQYWludEltYWdlVmFsdWUuaCBpbiBIZWFkZXJzICovLAor
CQkJCUNEM0VFRjNEMjU3OTlGQjUwMDY1NjNCQiAvKiBIZHJNZXRhZGF0YVR5cGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTRCQUZEMENCMjE5MEVCRDYwMEMwQUI2NCAvKiBDU1NQYWludFNpemUuaCBp
biBIZWFkZXJzICovLAogCQkJCTk0NkQzNzJFMUQ2Q0IyOTQwMDc3MDg0RiAvKiBDU1NQYXJzZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCUU0QTc5OTUyMjBFRTRCMTQwMEMxOTU2OCAvKiBDU1NQYXJz
ZXJDb250ZXh0LmggaW4gSGVhZGVycyAqLywKQEAgLTMyMTAyLDYgKzMyMTE4LDcgQEAKIAkJCQk3
QkIzNEE0ODI1Mzc3NkNBMDAwMjlEMDggLyogR3JhcGhpY3NDb250ZXh0R0xJbWFnZUV4dHJhY3Rv
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlDN0I5RkMxMDQyRDM2NTAwMDlENDQ3IC8qIEdyYXBo
aWNzQ29udGV4dEdMT3BlbkdMLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTlBNzI4ODIzQzI2N0ZF
MDA4NTM1M0MgLyogR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xNYW5hZ2VyLmggaW4gSGVhZGVycyAq
LywKKwkJCQlDRDNFRUY0MjI1NzlCNDRBMDA2NTYzQkIgLyogTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkRBQ0I5RTkyMzc1NUQwMDAwQjRDMTg1
IC8qIEdyYXBoaWNzQ29udGV4dEltcGwuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MEQ2NzA4MEU5
RTlERUIwMEU0MjBGMCAvKiBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVDRy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEY1ODBCMEQwRjEyQTI2OTAwNTFENjg5IC8qIEdyYXBoaWNzTGF5ZXIu
aCBpbiBIZWFkZXJzICovLApAQCAtMzIyODksNiArMzIzMDYsNyBAQAogCQkJCTUxODVGQzdCMUJC
NEM0RTgwMDEyODk4RiAvKiBJREJDdXJzb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDM0Q4RUVC
MUUwQjE1QTcwMDIzQjA4NCAvKiBJREJDdXJzb3JEaXJlY3Rpb24uaCBpbiBIZWFkZXJzICovLAog
CQkJCTUxNzEzOEZDMUJGM0FERjQwMDBENUYwMSAvKiBJREJDdXJzb3JJbmZvLmggaW4gSGVhZGVy
cyAqLywKKwkJCQlDRDNFRUYzQjI1Nzk5RkExMDA2NTYzQkIgLyogVmlkZW9Db25maWd1cmF0aW9u
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTEwRkNGQzFFMDM2NDFEMDA2RjhEMEIgLyogSURCQ3Vy
c29yUmVjb3JkLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTg1RkM3RTFCQjRDNEU4MDAxMjg5OEYg
LyogSURCQ3Vyc29yV2l0aFZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTg1RkM4MTFCQjRD
NEU4MDAxMjg5OEYgLyogSURCRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovLApAQCAtMzI0OTgsNiAr
MzI1MTYsNyBAQAogCQkJCUNENUZGNDk3MjE2MkUyQjcwMDRCRDg2RiAvKiBJU09UcmFja0VuY3J5
cHRpb25Cb3guaCBpbiBIZWFkZXJzICovLAogCQkJCTA3RDEyRjVDMjNERTU0M0YwMDgwOTk3RCAv
KiBJU09WVFRDdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTcxMjQ3RTM4MUZFQTVGODYwMDhDMDhD
RSAvKiBJdGVyYXRpb25Db21wb3NpdGVPcGVyYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUNE
M0VFRjQxMjU3OTlGRDkwMDY1NjNCQiAvKiBUcmFuc2ZlckZ1bmN0aW9uLmggaW4gSGVhZGVycyAq
LywKIAkJCQk3QzMwRDk4NDFGODE1QUVDMDAyNjgzNTYgLyogSlNBYm9ydENvbnRyb2xsZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTdDMzBEOTg2MUY4MTVBRUMwMDI2ODM1NiAvKiBKU0Fib3J0U2ln
bmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzU1RUY1MTI1M0E0Mjc5MDA2RkY0QTQgLyogSlNB
YnN0cmFjdFJhbmdlLmggaW4gSGVhZGVycyAqLywKQEAgLTMzMDk0LDYgKzMzMTEzLDcgQEAKIAkJ
CQlBQTJBNUFEMjE2QTQ4NjBBMDA5NzZBMjUgLyogSlNTcGVlY2hTeW50aGVzaXNFdmVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQUE3RkVFQTcxNkE0RTZGMzAwNEMwQzMzIC8qIEpTU3BlZWNoU3lu
dGhlc2lzVXR0ZXJhbmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBQTdGRUVBOTE2QTRFNkYzMDA0
QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXNWb2ljZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0Qz
RUVGM0UyNTc5OUZDNzAwNjU2M0JCIC8qIE1lZGlhRGVjb2RpbmdUeXBlLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQzgyNDMyOTBEMENFOEEyMDA0NjBDOEYgLyogSlNTUUxFcnJvci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUFFODJGRUQwQ0FCMDdFRTAwMjIzN0FFIC8qIEpTU1FMUmVzdWx0U2V0Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxQUZFMTE5QTBDQkZGQ0M0MDAzMDE3RkEgLyogSlNTUUxSZXN1
bHRTZXRSb3dMaXN0LmggaW4gSGVhZGVycyAqLywKQEAgLTM0MTk0LDYgKzM0MjE0LDcgQEAKIAkJ
CQlFNDdDMzkyRjFGRTZFMEY5MDBCQkJDNkIgLyogUmVuZGVyVHJlZVVwZGF0ZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUU0N0MzOTMxMUZFNkUxMDIwMEJCQkM2QiAvKiBSZW5kZXJUcmVlVXBkYXRl
ckdlbmVyYXRlZENvbnRlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0NDYxNDUyMENENjhBMzUw
MEZBREE3NSAvKiBSZW5kZXJWaWRlby5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0QzRUVGNDAyNTc5
OUZEMDAwNjU2M0JCIC8qIE1lZGlhRW5jb2RpbmdUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
Q0VBNDg2ODA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyVmlldy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkUyMDUwN0UxOEE0NThDMjAwODA2NDdFIC8qIFJlbmRlclZUVEN1ZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTg3MURGRTQwQTE1Mzc2QjAwQjEyQTY4IC8qIFJlbmRlcldpZGdldC5oIGluIEhl
YWRlcnMgKi8sCkBAIC0zNDI1NSw2ICszNDI3Niw3IEBACiAJCQkJMzEzNTkxMDYxRTdEREM3MzAw
RjMwNjMwIC8qIFJUQ0ljZUNvbm5lY3Rpb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzEz
NTkxMDcxRTdEREM3MzAwRjMwNjMwIC8qIFJUQ0ljZUdhdGhlcmluZ1N0YXRlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwN0FCOTk2QjE4REEzQzAxMDAxODc3MUUgLyogUlRDSWNlU2VydmVyLmggaW4g
SGVhZGVycyAqLywKKwkJCQlDRDNFRUYzNzI1Nzk5RUZFMDA2NTYzQkIgLyogTWVkaWFDYXBhYmls
aXRpZXNJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTM1OTEwODFFN0REQzczMDBGMzA2MzAg
LyogUlRDSWNlVHJhbnNwb3J0UG9saWN5LmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTM1OTEwOTFF
N0REQzczMDBGMzA2MzAgLyogUlRDSWNlVHJhbnNwb3J0U3RhdGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTA3Mzc5NEZFMTlGNTg2NEUwMEU1QTA0NSAvKiBSVENOb3RpZmllcnNNb2NrLmggaW4gSGVh
ZGVycyAqLywKQEAgLTM0MzMzLDYgKzM0MzU1LDcgQEAKIAkJCQkwRkU3MTQwNjE0MjE3MEI4MDBE
QjMzQkEgLyogU2Nyb2xsYmFyVGhlbWVNb2NrLmggaW4gSGVhZGVycyAqLywKIAkJCQk4M0M1Nzk1
RDFEQTVDMzAxMDA2RkFDODYgLyogU2Nyb2xsQmVoYXZpb3IuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFBQTg0RjA1MTQzQkE3QkQwMDUxRDE1MyAvKiBTY3JvbGxDb250cm9sbGVyLmggaW4gSGVhZGVy
cyAqLywKKwkJCQlDRDNFRUYzODI1Nzk5RjczMDA2NTYzQkIgLyogTWVkaWFEZWNvZGluZ0NvbmZp
Z3VyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNjA1QUVEMTVGOTQ4NDgwMDRERjBDMCAv
KiBTY3JvbGxpbmdDb25zdHJhaW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFGNjJFRTgxNERB
MjJBNzAwNDE1NTZDIC8qIFNjcm9sbGluZ0Nvb3JkaW5hdG9yLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5MzkxQTk5MTE2Mjc0NkNCMDAyOTczMzAgLyogU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMuaCBp
biBIZWFkZXJzICovLApAQCAtMzQ0ODcsNiArMzQ1MTAsNyBAQAogCQkJCUNEQzhCNUFEMTgwNEFF
NUQwMDE2RTY4NSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQk4NEE4MUY0MjBGQzdFMDI3MDA5NTUzMDAgLyogU291cmNlR3JhcGhpYy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRDAxQTI3QUUxMEM5QkZEODAwMDI2QTQyIC8qIFNwYWNlU3BsaXRTdHJpbmcu
aCBpbiBIZWFkZXJzICovLAorCQkJCUNEM0VFRjNGMjU3OTlGQ0MwMDY1NjNCQiAvKiBNZWRpYUVu
Y29kaW5nQ29uZmlndXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjI2Q0RFMEYxMTQwNDI0
QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzQ5
NTBDRDI1Mzk0MzYxMDA5OUYxNzEgLyogU3BlZWNoUmVjb2duaXRpb24uaCBpbiBIZWFkZXJzICov
LAogCQkJCTkzNDk1MENFMjUzOTQzNjUwMDk5RjE3MSAvKiBTcGVlY2hSZWNvZ25pdGlvbkFsdGVy
bmF0aXZlLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oCmluZGV4IDgxY2YzNzYwNjY0NmVm
MTNlN2M5MDRhZmNhZTcyOTA4NTAwOTQ4NjUuLmNkNWFiYzE0YjUxNWZlZTc3YWE2MDhmMTJlNWNm
NzM4MzhhNmQ1NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2Fw
YWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVk
aWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaApAQCAtNDYsNiArNDYsMzYgQEAgc3RydWN0IE1l
ZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvIDogTWVkaWFDYXBhYmlsaXRpZXNJbmZvIHsKICAg
ICB9CiAKICAgICBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiBzdXBwb3J0ZWRDb25maWd1cmF0
aW9uOworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYp
IGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBPcHRpb25hbDxNZWRp
YUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbz4gZGVjb2RlKERlY29kZXImKTsKIH07CiAKK3RlbXBs
YXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvOjpl
bmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBNZWRpYUNhcGFiaWxpdGllc0lu
Zm86OmVuY29kZShlbmNvZGVyKTsKKyAgICBlbmNvZGVyIDw8IHN1cHBvcnRlZENvbmZpZ3VyYXRp
b247CiB9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+CitPcHRpb25hbDxNZWRpYUNhcGFiaWxp
dGllc0RlY29kaW5nSW5mbz4gTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm86OmRlY29kZShE
ZWNvZGVyJiBkZWNvZGVyKQoreworICAgIE9wdGlvbmFsPE1lZGlhQ2FwYWJpbGl0aWVzSW5mbz4g
aW5mbyA9IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbzo6ZGVjb2RlKGRlY29kZXIpOworICAgIGRlY29k
ZXIgPj4gaW5mbzsKKyAgICBpZiAoIWluZm8pCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
CisKKyAgICBPcHRpb25hbDxNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbj4gc3VwcG9ydGVkQ29u
ZmlndXJhdGlvbjsKKyAgICBkZWNvZGVyID4+IHN1cHBvcnRlZENvbmZpZ3VyYXRpb247CisgICAg
aWYgKCFzdXBwb3J0ZWRDb25maWd1cmF0aW9uKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OworCisgICAgcmV0dXJuIE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvKAorICAgICAgICBX
VEZNb3ZlKCppbmZvKSwKKyAgICAgICAgV1RGTW92ZSgqc3VwcG9ydGVkQ29uZmlndXJhdGlvbikK
KyAgICApOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oCmluZGV4
IDQyZDM4NTNjYjNjZDk2NDYwMzI0MTdmMTYxNmFkNjY1ZTFkYzEzYTguLmU4MTFjZWNkZjk1MzQx
NTg0MTAxZjliZDFlMDM2NzgxOWEzYWRmNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaApAQCAtNDYsNiArNDYs
MzUgQEAgc3RydWN0IE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvIDogTWVkaWFDYXBhYmls
aXRpZXNJbmZvIHsKICAgICB9CiAKICAgICBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiBzdXBw
b3J0ZWRDb25maWd1cmF0aW9uOworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBl
bmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRp
YyBPcHRpb25hbDxNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbz4gZGVjb2RlKERlY29kZXIm
KTsKIH07CiAKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIE1lZGlhQ2FwYWJpbGl0aWVz
RW5jb2RpbmdJbmZvOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBNZWRp
YUNhcGFiaWxpdGllc0luZm86OmVuY29kZShlbmNvZGVyKTsKKyAgICBlbmNvZGVyIDw8IHN1cHBv
cnRlZENvbmZpZ3VyYXRpb247CiB9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+CitPcHRpb25h
bDxNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbz4gTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGlu
Z0luZm86OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIE9wdGlvbmFsPE1lZGlhQ2Fw
YWJpbGl0aWVzSW5mbz4gaW5mbyA9IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbzo6ZGVjb2RlKGRlY29k
ZXIpOworICAgIGlmICghaW5mbykKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAg
IE9wdGlvbmFsPE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uPiBzdXBwb3J0ZWRDb25maWd1cmF0
aW9uOworICAgIGRlY29kZXIgPj4gc3VwcG9ydGVkQ29uZmlndXJhdGlvbjsKKyAgICBpZiAoIXN1
cHBvcnRlZENvbmZpZ3VyYXRpb24pCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAg
ICByZXR1cm4gTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8oCisgICAgICAgIFdURk1vdmUo
KmluZm8pLAorICAgICAgICBXVEZNb3ZlKCpzdXBwb3J0ZWRDb25maWd1cmF0aW9uKQorICAgICk7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0luZm8uaAppbmRleCAyZGRlNzg3ZDdiOGFjNmEwMGQxYTZl
MzkxZWE1ZWE3MmMwMTQ3ZWQ4Li44NWUxNjNmOGFhYTFkYjkwOGIzMTdjNGRlZWNlYzZlMWU4ZDA0
NDQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGll
c0luZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0lu
Zm8uaApAQCAtMzEsNiArMzEsNDMgQEAgc3RydWN0IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyB7CiAg
ICAgYm9vbCBzdXBwb3J0ZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgc21vb3RoIHsgZmFsc2UgfTsK
ICAgICBib29sIHBvd2VyRWZmaWNpZW50IHsgZmFsc2UgfTsKKworICAgIHRlbXBsYXRlPGNsYXNz
IEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFz
cyBEZWNvZGVyPiBzdGF0aWMgT3B0aW9uYWw8TWVkaWFDYXBhYmlsaXRpZXNJbmZvPiBkZWNvZGUo
RGVjb2RlciYpOwogfTsKLSAgICAKKwordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK3ZvaWQgTWVk
aWFDYXBhYmlsaXRpZXNJbmZvOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAg
ICBlbmNvZGVyIDw8IHN1cHBvcnRlZDsKKyAgICBlbmNvZGVyIDw8IHNtb290aDsKKyAgICBlbmNv
ZGVyIDw8IHBvd2VyRWZmaWNpZW50OworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgorT3B0
aW9uYWw8TWVkaWFDYXBhYmlsaXRpZXNJbmZvPiBNZWRpYUNhcGFiaWxpdGllc0luZm86OmRlY29k
ZShEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIE9wdGlvbmFsPGJvb2w+IHN1cHBvcnRlZDsKKyAg
ICBkZWNvZGVyID4+IHN1cHBvcnRlZDsKKyAgICBpZiAoIXN1cHBvcnRlZCkKKyAgICAgICAgcmV0
dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPGJvb2w+IHNtb290aDsKKyAgICBkZWNv
ZGVyID4+IHNtb290aDsKKyAgICBpZiAoIXNtb290aCkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKKworICAgIE9wdGlvbmFsPGJvb2w+IHBvd2VyRWZmaWNpZW50OworICAgIGRlY29kZXIg
Pj4gcG93ZXJFZmZpY2llbnQ7CisgICAgaWYgKCFwb3dlckVmZmljaWVudCkKKyAgICAgICAgcmV0
dXJuIFdURjo6bnVsbG9wdDsKKworICAgIHJldHVybiB7eworICAgICAgICAqc3VwcG9ydGVkLAor
ICAgICAgICAqc21vb3RoLAorICAgICAgICAqcG93ZXJFZmZpY2llbnQsCisgICAgfX07CiB9CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvQXVkaW9Db25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9BdWRpb0NvbmZpZ3VyYXRpb24uaAppbmRl
eCA4ZmExNGE1MjRjMDQ1ZmVkZWNjM2ZhNTU0ZjQ4MDk2YTQ5MzQ4YWRiLi42ODBhMjE0MjEwMzQ3
ZjJhY2Q2NmNkMDM5M2EzMTFmYjdmMmM2MDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9BdWRpb0NvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9BdWRpb0NvbmZpZ3VyYXRpb24u
aApAQCAtMzUsNiArMzUsNTYgQEAgc3RydWN0IEF1ZGlvQ29uZmlndXJhdGlvbiB7CiAgICAgT3B0
aW9uYWw8dWludDY0X3Q+IGJpdHJhdGU7CiAgICAgT3B0aW9uYWw8dWludDMyX3Q+IHNhbXBsZXJh
dGU7CiAgICAgT3B0aW9uYWw8Ym9vbD4gc3BhdGlhbFJlbmRlcmluZzsKKworICAgIHRlbXBsYXRl
PGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0
ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgT3B0aW9uYWw8QXVkaW9Db25maWd1cmF0aW9uPiBkZWNv
ZGUoRGVjb2RlciYpOwogfTsKIAordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK3ZvaWQgQXVkaW9D
b25maWd1cmF0aW9uOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNv
ZGVyIDw8IGNvbnRlbnRUeXBlOworICAgIGVuY29kZXIgPDwgY2hhbm5lbHM7CisgICAgZW5jb2Rl
ciA8PCBiaXRyYXRlOworICAgIGVuY29kZXIgPDwgc2FtcGxlcmF0ZTsKKyAgICBlbmNvZGVyIDw8
IHNwYXRpYWxSZW5kZXJpbmc7Cit9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+CitPcHRpb25h
bDxBdWRpb0NvbmZpZ3VyYXRpb24+IEF1ZGlvQ29uZmlndXJhdGlvbjo6ZGVjb2RlKERlY29kZXIm
IGRlY29kZXIpCit7CisgICAgT3B0aW9uYWw8U3RyaW5nPiBjb250ZW50VHlwZTsKKyAgICBkZWNv
ZGVyID4+IGNvbnRlbnRUeXBlOworICAgIGlmICghY29udGVudFR5cGUpCisgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxTdHJpbmc+IGNoYW5uZWxzOworICAgIGRl
Y29kZXIgPj4gY2hhbm5lbHM7CisgICAgaWYgKCFjaGFubmVscykKKyAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPE9wdGlvbmFsPHVpbnQ2NF90Pj4gYml0cmF0ZTsK
KyAgICBkZWNvZGVyID4+IGJpdHJhdGU7CisgICAgaWYgKCFiaXRyYXRlKQorICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8T3B0aW9uYWw8dWludDMyX3Q+PiBzYW1w
bGVSYXRlOworICAgIGRlY29kZXIgPj4gc2FtcGxlUmF0ZTsKKyAgICBpZiAoIXNhbXBsZVJhdGUp
CisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxPcHRpb25hbDxi
b29sPj4gc3BhdGlhbFJlbmRlcmluZzsKKyAgICBkZWNvZGVyID4+IHNwYXRpYWxSZW5kZXJpbmc7
CisgICAgaWYgKCFzcGF0aWFsUmVuZGVyaW5nKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OworCisgICAgcmV0dXJuIHt7CisgICAgICAgICpjb250ZW50VHlwZSwKKyAgICAgICAgKmNoYW5u
ZWxzLAorICAgICAgICAqYml0cmF0ZSwKKyAgICAgICAgKnNhbXBsZVJhdGUsCisgICAgICAgICpz
cGF0aWFsUmVuZGVyaW5nCisgICAgfX07Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL0NvbG9y
R2FtdXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL0NvbG9y
R2FtdXQuaAppbmRleCAxODEzZTM1M2RhZTEyNDhkYjVlOGQyYzhjZDY1NjgzMjRiZDMwY2QzLi4y
OGQwMjQyYzFkNTJjNzJiZjhhNmJmMTUyM2QwODQ0MTk0OGE1MDdjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9Db2xvckdhbXV0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvQ29sb3JHYW11dC5oCkBA
IC0yNywxMCArMjcsMjMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIGNsYXNzIENv
bG9yR2FtdXQgeworZW51bSBjbGFzcyBDb2xvckdhbXV0IDogdWludDhfdCB7CiAgICAgU1JHQiwK
ICAgICBQMywKICAgICBSZWMyMDIwLAogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitu
YW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpD
b2xvckdhbXV0PiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2Vi
Q29yZTo6Q29sb3JHYW11dCwKKyAgICAgICAgV2ViQ29yZTo6Q29sb3JHYW11dDo6U1JHQiwKKyAg
ICAgICAgV2ViQ29yZTo6Q29sb3JHYW11dDo6UDMsCisgICAgICAgIFdlYkNvcmU6OkNvbG9yR2Ft
dXQ6OlJlYzIwMjAKKyAgICA+OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvSGRyTWV0YWRhdGFUeXBlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9IZHJNZXRhZGF0YVR5cGUuaAppbmRleCA2
NWMxZDBlZTI5ZDg4NGY5YmU4OWY2OWViNTBkZTNhY2FlODIzMGFlLi4wMjQ5OTgyZjVhODg1MjUw
YjUyOGU4ZTg0OTdkZjQ5N2ZmOTMxZDBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9IZHJNZXRhZGF0YVR5cGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9IZHJNZXRhZGF0YVR5cGUuaApAQCAtMjcs
MTAgKzI3LDIzIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotZW51bSBjbGFzcyBIZHJNZXRh
ZGF0YVR5cGUgeworZW51bSBjbGFzcyBIZHJNZXRhZGF0YVR5cGUgOiB1aW50OF90IHsKICAgICBT
bXB0ZVN0MjA4NiwKICAgICBTbXB0ZVN0MjA5NDEwLAogICAgIFNtcHRlU3QyMDk0NDAKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4g
c3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6SGRyTWV0YWRhdGFUeXBlPiB7CisgICAgdXNpbmcg
dmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6SGRyTWV0YWRhdGFUeXBlLAor
ICAgICAgICBXZWJDb3JlOjpIZHJNZXRhZGF0YVR5cGU6OlNtcHRlU3QyMDg2LAorICAgICAgICBX
ZWJDb3JlOjpIZHJNZXRhZGF0YVR5cGU6OlNtcHRlU3QyMDk0MTAsCisgICAgICAgIFdlYkNvcmU6
Okhkck1ldGFkYXRhVHlwZTo6U21wdGVTdDIwOTQ0MAorICAgID47Cit9OworCit9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFi
aWxpdGllc0xvZ2dpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0
aWVzL01lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oCmluZGV4IDhhYjdlMjc2NDFjMWI2Mjg4MmE0
ODlkMTE0ZjhjMTcyOTRlN2Y5OTkuLjJjZWI2ZjY2ZjhjODVjODc0ZjgyZTlkMTY5NmVjYWM4ZjYw
NDljMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0
aWVzL01lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oCkBAIC0zOCwx
MSArMzgsMTEgQEAgc3RydWN0IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbzsKIHN0cnVjdCBNZWRpYUNh
cGFiaWxpdGllc0RlY29kaW5nSW5mbzsKIHN0cnVjdCBNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5n
SW5mbzsKIAotZW51bSBjbGFzcyBDb2xvckdhbXV0OwotZW51bSBjbGFzcyBIZHJNZXRhZGF0YVR5
cGU7Ci1lbnVtIGNsYXNzIFRyYW5zZmVyRnVuY3Rpb247Ci1lbnVtIGNsYXNzIE1lZGlhRGVjb2Rp
bmdUeXBlOwotZW51bSBjbGFzcyBNZWRpYUVuY29kaW5nVHlwZTsKK2VudW0gY2xhc3MgQ29sb3JH
YW11dCA6IHVpbnQ4X3Q7CitlbnVtIGNsYXNzIEhkck1ldGFkYXRhVHlwZSA6IHVpbnQ4X3Q7Citl
bnVtIGNsYXNzIFRyYW5zZmVyRnVuY3Rpb24gOiB1aW50OF90OworZW51bSBjbGFzcyBNZWRpYURl
Y29kaW5nVHlwZSA6IGJvb2w7CitlbnVtIGNsYXNzIE1lZGlhRW5jb2RpbmdUeXBlIDogYm9vbDsK
IAogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxp
dGllcy9NZWRpYUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
Y2FwYWJpbGl0aWVzL01lZGlhQ29uZmlndXJhdGlvbi5oCmluZGV4IGQwMWFkNmU5MzI0MTJjYTFi
NTdjNDMwNjVjNmYyMjYwM2I4ZTBkNGMuLmMwODY4ZTRhYjlkNGUwOThhYmM1MTkwNDdmMWY1NmJh
ZjM1NDQ4ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJp
bGl0aWVzL01lZGlhQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ29uZmlndXJhdGlvbi5oCkBAIC0zNCw2ICszNCwzNiBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdHJ1Y3QgTWVkaWFDb25maWd1cmF0aW9uIHsKICAgICBP
cHRpb25hbDxWaWRlb0NvbmZpZ3VyYXRpb24+IHZpZGVvOwogICAgIE9wdGlvbmFsPEF1ZGlvQ29u
ZmlndXJhdGlvbj4gYXVkaW87CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVu
Y29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGlj
IE9wdGlvbmFsPE1lZGlhQ29uZmlndXJhdGlvbj4gZGVjb2RlKERlY29kZXImKTsKIH07CiAKK3Rl
bXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIE1lZGlhQ29uZmlndXJhdGlvbjo6ZW5jb2RlKEVu
Y29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCB2aWRlbzsKKyAgICBlbmNv
ZGVyIDw8IGF1ZGlvOwogfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgorT3B0aW9uYWw8TWVk
aWFDb25maWd1cmF0aW9uPiBNZWRpYUNvbmZpZ3VyYXRpb246OmRlY29kZShEZWNvZGVyJiBkZWNv
ZGVyKQoreworICAgIE9wdGlvbmFsPE9wdGlvbmFsPFZpZGVvQ29uZmlndXJhdGlvbj4+IHZpZGVv
OworICAgIGRlY29kZXIgPj4gdmlkZW87CisgICAgaWYgKCF2aWRlbykKKyAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPE9wdGlvbmFsPEF1ZGlvQ29uZmlndXJhdGlv
bj4+IGF1ZGlvOworICAgIGRlY29kZXIgPj4gYXVkaW87CisgICAgaWYgKCFhdWRpbykKKyAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIHJldHVybiB7eworICAgICAgICAqdmlkZW8s
CisgICAgICAgICphdWRpbywKKyAgICB9fTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9N
ZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24uaAppbmRleCA1NWMwNDUx
ODIyNzA5M2JlOWUzYjU3ZmRlZWNhZTMxMzYyZGViYzQ2Li4zODA5MjJmMjA5NTczYWMxNjlhZjJk
ZmYzMTFhZTVhMDY4OWMxMWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdDb25maWd1
cmF0aW9uLmgKQEAgLTMyLDYgKzMyLDM1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0
IE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uIDogTWVkaWFDb25maWd1cmF0aW9uIHsKICAgICBN
ZWRpYURlY29kaW5nVHlwZSB0eXBlOworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9p
ZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0
YXRpYyBPcHRpb25hbDxNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbj4gZGVjb2RlKERlY29kZXIm
KTsKIH07CiAKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIE1lZGlhRGVjb2RpbmdDb25m
aWd1cmF0aW9uOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBNZWRpYUNv
bmZpZ3VyYXRpb246OmVuY29kZShlbmNvZGVyKTsKKyAgICBlbmNvZGVyIDw8IHR5cGU7CiB9CisK
K3RlbXBsYXRlPGNsYXNzIERlY29kZXI+CitPcHRpb25hbDxNZWRpYURlY29kaW5nQ29uZmlndXJh
dGlvbj4gTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb246OmRlY29kZShEZWNvZGVyJiBkZWNvZGVy
KQoreworICAgIE9wdGlvbmFsPE1lZGlhQ29uZmlndXJhdGlvbj4gbWVkaWFDb25maWd1cmF0aW9u
ID0gTWVkaWFDb25maWd1cmF0aW9uOjpkZWNvZGUoZGVjb2Rlcik7CisgICAgaWYgKCFtZWRpYUNv
bmZpZ3VyYXRpb24pCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25h
bDxNZWRpYURlY29kaW5nVHlwZT4gdHlwZTsKKyAgICBkZWNvZGVyID4+IHR5cGU7CisgICAgaWYg
KCF0eXBlKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgcmV0dXJuIHt7Cisg
ICAgICAgICptZWRpYUNvbmZpZ3VyYXRpb24sCisgICAgICAgICp0eXBlLAorICAgIH19OworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdUeXBlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5nVHlwZS5oCmluZGV4
IDg5MGU3Zjg0ZDk4NzI0YzAyNGFjNWNmMDI4ZDIxZTYzN2U3MjgzZjEuLjQxNWUwYjcyMDllYTUw
ZTE1OTZiMmE4YmQyZjJhMzkyODM2MTg4YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdUeXBlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ1R5cGUuaApA
QCAtMjcsOSArMjcsMjEgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIGNsYXNzIE1l
ZGlhRGVjb2RpbmdUeXBlIHsKK2VudW0gY2xhc3MgTWVkaWFEZWNvZGluZ1R5cGUgOiBib29sIHsK
ICAgICBGaWxlLAogICAgIE1lZGlhU291cmNlLAogfTsKIAogfQorCituYW1lc3BhY2UgV1RGIHsK
KwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpNZWRpYURlY29kaW5nVHlw
ZT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6Ok1l
ZGlhRGVjb2RpbmdUeXBlLAorICAgICAgICBXZWJDb3JlOjpNZWRpYURlY29kaW5nVHlwZTo6Rmls
ZSwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFEZWNvZGluZ1R5cGU6Ok1lZGlhU291cmNlCisgICAg
PjsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2Fw
YWJpbGl0aWVzL01lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbi5oCmlu
ZGV4IDcyOWIzYTFiZWE3YjIzOWVmYzE0NzRkNzRlNjUxMTMzNjNhMzM4MWQuLmYwOGNhMWU4ODcx
YTMwYjRiODE1NGJjZmM5ZmU1NDM1ZjJiYTQ3ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNv
ZGluZ0NvbmZpZ3VyYXRpb24uaApAQCAtMzIsNiArMzIsMzUgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBzdHJ1Y3QgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24gOiBNZWRpYUNvbmZpZ3VyYXRp
b24gewogICAgIE1lZGlhRW5jb2RpbmdUeXBlIHR5cGU7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBF
bmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3Mg
RGVjb2Rlcj4gc3RhdGljIE9wdGlvbmFsPE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uPiBkZWNv
ZGUoRGVjb2RlciYpOwogfTsKIAordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK3ZvaWQgTWVkaWFF
bmNvZGluZ0NvbmZpZ3VyYXRpb246OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAorewor
ICAgIE1lZGlhQ29uZmlndXJhdGlvbjo6ZW5jb2RlKGVuY29kZXIpOworICAgIGVuY29kZXIgPDwg
dHlwZTsKIH0KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KK09wdGlvbmFsPE1lZGlhRW5jb2Rp
bmdDb25maWd1cmF0aW9uPiBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbjo6ZGVjb2RlKERlY29k
ZXImIGRlY29kZXIpCit7CisgICAgT3B0aW9uYWw8TWVkaWFDb25maWd1cmF0aW9uPiBtZWRpYUNv
bmZpZ3VyYXRpb24gPSBNZWRpYUNvbmZpZ3VyYXRpb246OmRlY29kZShkZWNvZGVyKTsKKyAgICBp
ZiAoIW1lZGlhQ29uZmlndXJhdGlvbikKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKwor
ICAgIE9wdGlvbmFsPE1lZGlhRW5jb2RpbmdUeXBlPiB0eXBlOworICAgIGRlY29kZXIgPj4gdHlw
ZTsKKyAgICBpZiAoIXR5cGUpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBy
ZXR1cm4ge3sKKyAgICAgICAgKm1lZGlhQ29uZmlndXJhdGlvbiwKKyAgICAgICAgKnR5cGUsCisg
ICAgfX07Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ1R5cGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdU
eXBlLmgKaW5kZXggYTg3ZDBmMjU4MTRkMTYwNDFmNDljODAwZjZiY2FkN2JkOWUzODRkOC4uMDEy
YThjNmQ1Mzk2N2Q5YjRlZGMyMjIzYWU0OTAwNTMxZjVmMWZkNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ1R5cGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29k
aW5nVHlwZS5oCkBAIC0yNyw5ICsyNywyMiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWVu
dW0gY2xhc3MgTWVkaWFFbmNvZGluZ1R5cGUgeworZW51bSBjbGFzcyBNZWRpYUVuY29kaW5nVHlw
ZSA6IGJvb2wgewogICAgIFJlY29yZCwKICAgICBUcmFuc21pc3Npb24sCiB9OwogCiB9CisKK25h
bWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6Ok1l
ZGlhRW5jb2RpbmdUeXBlPiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAg
ICAgV2ViQ29yZTo6TWVkaWFFbmNvZGluZ1R5cGUsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhRW5j
b2RpbmdUeXBlOjpSZWNvcmQsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdUeXBlOjpU
cmFuc21pc3Npb24KKyAgICA+OworfTsKKworfQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0
b3J5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuY3BwCmluZGV4IDhmZmE2YTljYzVkZjk0OTA2NDdh
NWZlNDlkNjI5MjIwZDA0ZjYzZDYuLjA1MGNkZjlmYzUzMjAyZDgxMDBiZWY3MzIzMzc1OWI2NzRi
Yzc4YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0
aWVzL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZh
Y3RvcnkuY3BwCkBAIC01MywzMyArNTMsNDggQEAgc3RhdGljIGJvb2wmIG1vY2tFbmFibGVkKCkK
ICAgICByZXR1cm4gZW5hYmxlZDsKIH0KIAotc3RydWN0IE1lZGlhRW5naW5lRmFjdG9yeSB7Ci0g
ICAgdm9pZCgqY3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKShNZWRpYURlY29kaW5nQ29uZmln
dXJhdGlvbiYmLCBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpEZWNvZGluZ0NvbmZp
Z3VyYXRpb25DYWxsYmFjayYmKTsKLSAgICB2b2lkKCpjcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRp
b24pKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uJiYsIE1lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3Rvcnk6OkVuY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYpOwotfTsKLQotdXNpbmcg
RmFjdG9yeVZlY3RvciA9IFZlY3RvcjxNZWRpYUVuZ2luZUZhY3Rvcnk+Owotc3RhdGljIGNvbnN0
IEZhY3RvcnlWZWN0b3ImIGZhY3RvcmllcygpCit1c2luZyBGYWN0b3J5VmVjdG9yID0gVmVjdG9y
PE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6Ok1lZGlhRW5naW5lRmFjdG9yeT47Citz
dGF0aWMgRmFjdG9yeVZlY3RvciBkZWZhdWx0RmFjdG9yaWVzKCkKIHsKLSAgICBzdGF0aWMgTmV2
ZXJEZXN0cm95ZWQ8RmFjdG9yeVZlY3Rvcj4gZmFjdG9yaWVzID0gbWFrZU5ldmVyRGVzdHJveWVk
KEZhY3RvcnlWZWN0b3IoeworICAgIEZhY3RvcnlWZWN0b3IgZmFjdG9yaWVzOwogI2lmIFBMQVRG
T1JNKENPQ09BKQotICAgICAgICB7ICZjcmVhdGVNZWRpYVBsYXllckRlY29kaW5nQ29uZmlndXJh
dGlvbkNvY29hLCBudWxscHRyIH0sCisgICAgZmFjdG9yaWVzLmFwcGVuZCh7ICZjcmVhdGVNZWRp
YVBsYXllckRlY29kaW5nQ29uZmlndXJhdGlvbkNvY29hLCBudWxscHRyIH0pOwogI2VuZGlmCiAj
aWYgVVNFKEdTVFJFQU1FUikKLSAgICAgICAgeyAmY3JlYXRlTWVkaWFQbGF5ZXJEZWNvZGluZ0Nv
bmZpZ3VyYXRpb25HU3RyZWFtZXIsICZjcmVhdGVNZWRpYVBsYXllckVuY29kaW5nQ29uZmlndXJh
dGlvbkdTdHJlYW1lciB9LAorICAgIGZhY3Rvcmllcy5hcHBlbmQoeyAmY3JlYXRlTWVkaWFQbGF5
ZXJEZWNvZGluZ0NvbmZpZ3VyYXRpb25HU3RyZWFtZXIsICZjcmVhdGVNZWRpYVBsYXllckVuY29k
aW5nQ29uZmlndXJhdGlvbkdTdHJlYW1lciB9KTsKICNlbmRpZgotICAgIH0pKTsKICAgICByZXR1
cm4gZmFjdG9yaWVzOwogfQogCitzdGF0aWMgRmFjdG9yeVZlY3RvciYgZmFjdG9yaWVzKCkKK3sK
KyAgICBzdGF0aWMgYXV0byBmYWN0b3JpZXMgPSBtYWtlTmV2ZXJEZXN0cm95ZWQ8RmFjdG9yeVZl
Y3Rvcj4oZGVmYXVsdEZhY3RvcmllcygpKTsKKyAgICByZXR1cm4gZmFjdG9yaWVzOworfQorCit2
b2lkIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OmNsZWFyRmFjdG9yaWVzKCkKK3sK
KyAgICBmYWN0b3JpZXMoKS5jbGVhcigpOworfQorCit2b2lkIE1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3Rvcnk6OnJlc2V0RmFjdG9yaWVzKCkKK3sKKyAgICBmYWN0b3JpZXMoKSA9IGRlZmF1
bHRGYWN0b3JpZXMoKTsKK30KKwordm9pZCBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
OjppbnN0YWxsRmFjdG9yeShNZWRpYUVuZ2luZUZhY3RvcnkmJiBmYWN0b3J5KQoreworICAgIGZh
Y3RvcmllcygpLmFwcGVuZChXVEZNb3ZlKGZhY3RvcnkpKTsKK30KKwogYm9vbCBNZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpoYXNEZWNvZGluZ0NvbmZpZ3VyYXRpb25GYWN0b3J5KCkK
IHsKLSAgICByZXR1cm4gbW9ja0VuYWJsZWQoKSB8fCBXVEY6OmFueU9mKGZhY3RvcmllcygpLCBb
XSAoYXV0byYgZmFjdG9yeSkgeyByZXR1cm4gZmFjdG9yeS5jcmVhdGVEZWNvZGluZ0NvbmZpZ3Vy
YXRpb247IH0pOworICAgIHJldHVybiBtb2NrRW5hYmxlZCgpIHx8IFdURjo6YW55T2YoZmFjdG9y
aWVzKCksIFtdIChhdXRvJiBmYWN0b3J5KSB7IHJldHVybiAoYm9vbClmYWN0b3J5LmNyZWF0ZURl
Y29kaW5nQ29uZmlndXJhdGlvbjsgfSk7CiB9CiAKIGJvb2wgTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeTo6aGFzRW5jb2RpbmdDb25maWd1cmF0aW9uRmFjdG9yeSgpCiB7Ci0gICAgcmV0
dXJuIG1vY2tFbmFibGVkKCkgfHwgV1RGOjphbnlPZihmYWN0b3JpZXMoKSwgW10gKGF1dG8mIGZh
Y3RvcnkpIHsgcmV0dXJuIGZhY3RvcnkuY3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uOyB9KTsK
KyAgICByZXR1cm4gbW9ja0VuYWJsZWQoKSB8fCBXVEY6OmFueU9mKGZhY3RvcmllcygpLCBbXSAo
YXV0byYgZmFjdG9yeSkgeyByZXR1cm4gKGJvb2wpZmFjdG9yeS5jcmVhdGVFbmNvZGluZ0NvbmZp
Z3VyYXRpb247IH0pOwogfQogCiB2b2lkIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6
OmNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiYm
IGNvbmZpZywgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6RGVjb2RpbmdDb25maWd1
cmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnku
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3RvcnkuaAppbmRleCAxOTc3OTNiMWM5NGFlZWQ1ZmNjYjJiMzZhOWQy
MWJjZjMyNDI0MjczLi4zMTg1OWQxOWY0YTYxN2E3NGNkOTU0Y2YxMjc1YWNiZjkzZWM0OTM4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRp
YUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oCkBA
IC00NCw5ICs0NCwyMSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgaGFzRGVjb2RpbmdDb25m
aWd1cmF0aW9uRmFjdG9yeSgpOwogICAgIHN0YXRpYyBib29sIGhhc0VuY29kaW5nQ29uZmlndXJh
dGlvbkZhY3RvcnkoKTsKIAotICAgIHN0YXRpYyB2b2lkIGNyZWF0ZURlY29kaW5nQ29uZmlndXJh
dGlvbihNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiYmLCBEZWNvZGluZ0NvbmZpZ3VyYXRpb25D
YWxsYmFjayYmKTsKLSAgICBzdGF0aWMgdm9pZCBjcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24o
TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiwgRW5jb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJh
Y2smJik7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgY3JlYXRlRGVjb2RpbmdDb25m
aWd1cmF0aW9uKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uJiYsIERlY29kaW5nQ29uZmlndXJh
dGlvbkNhbGxiYWNrJiYpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGNyZWF0ZUVu
Y29kaW5nQ29uZmlndXJhdGlvbihNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYmLCBFbmNvZGlu
Z0NvbmZpZ3VyYXRpb25DYWxsYmFjayYmKTsKKyAgICAKKyAgICB1c2luZyBDcmVhdGVEZWNvZGlu
Z0NvbmZpZ3VyYXRpb24gPSBXVEY6OkZ1bmN0aW9uPHZvaWQoTWVkaWFEZWNvZGluZ0NvbmZpZ3Vy
YXRpb24mJiwgRGVjb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2smJik+OworICAgIHVzaW5nIENy
ZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbiA9IFdURjo6RnVuY3Rpb248dm9pZChNZWRpYUVuY29k
aW5nQ29uZmlndXJhdGlvbiYmLCBFbmNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayYmKT47CiAK
KyAgICBzdHJ1Y3QgTWVkaWFFbmdpbmVGYWN0b3J5IHsKKyAgICAgICAgQ3JlYXRlRGVjb2RpbmdD
b25maWd1cmF0aW9uIGNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbjsKKyAgICAgICAgQ3JlYXRl
RW5jb2RpbmdDb25maWd1cmF0aW9uIGNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbjsKKyAgICB9
OworICAgIAorICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGNsZWFyRmFjdG9yaWVzKCk7
CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgcmVzZXRGYWN0b3JpZXMoKTsKKyAgICBX
RUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBpbnN0YWxsRmFjdG9yeShNZWRpYUVuZ2luZUZhY3Rv
cnkmJik7CisgICAgCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgZW5hYmxlTW9jaygp
OwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGRpc2FibGVNb2NrKCk7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvVHJhbnNm
ZXJGdW5jdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMv
VHJhbnNmZXJGdW5jdGlvbi5oCmluZGV4IGIxNDViM2FiYmQ5ZmNjNTE4ZTM4NmZmNDE5YjZkMmJl
Zjk3ZjNmNDYuLjVkM2UxN2RhOTcyODQ5N2E4NzRlYzUxMmFhYmY5ODYyNGU4Mzg0MjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1RyYW5zZmVy
RnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGll
cy9UcmFuc2ZlckZ1bmN0aW9uLmgKQEAgLTI3LDEwICsyNywyMyBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWVudW0gY2xhc3MgVHJhbnNmZXJGdW5jdGlvbiB7CitlbnVtIGNsYXNzIFRyYW5z
ZmVyRnVuY3Rpb24gOiB1aW50OF90IHsKICAgICBTUkdCLAogICAgIFBRLAogICAgIEhMRwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8
PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpUcmFuc2ZlckZ1bmN0aW9uPiB7CisgICAgdXNp
bmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6VHJhbnNmZXJGdW5jdGlv
biwKKyAgICAgICAgV2ViQ29yZTo6VHJhbnNmZXJGdW5jdGlvbjo6U1JHQiwKKyAgICAgICAgV2Vi
Q29yZTo6VHJhbnNmZXJGdW5jdGlvbjo6UFEsCisgICAgICAgIFdlYkNvcmU6OlRyYW5zZmVyRnVu
Y3Rpb246OkhMRworICAgID47Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29uZmlndXJhdGlvbi5oCmlu
ZGV4IGNkOWRjYTNjNjcwNTAwN2YyYjllODY5Y2UwZDVlY2ZmNWVjMmU4MDUuLjQzMjY2ZGY1YjY2
M2Y1ZDBkZTFhZjdhMWNiYWIyODQ0OGYwZDQ5Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29uZmlndXJhdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29uZmlndXJhdGlv
bi5oCkBAIC00Myw2ICs0Myw4NSBAQCBzdHJ1Y3QgVmlkZW9Db25maWd1cmF0aW9uIHsKICAgICBP
cHRpb25hbDxDb2xvckdhbXV0PiBjb2xvckdhbXV0OwogICAgIE9wdGlvbmFsPEhkck1ldGFkYXRh
VHlwZT4gaGRyTWV0YWRhdGFUeXBlOwogICAgIE9wdGlvbmFsPFRyYW5zZmVyRnVuY3Rpb24+IHRy
YW5zZmVyRnVuY3Rpb247CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29k
ZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIE9w
dGlvbmFsPFZpZGVvQ29uZmlndXJhdGlvbj4gZGVjb2RlKERlY29kZXImKTsKIH07CiAKK3RlbXBs
YXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIFZpZGVvQ29uZmlndXJhdGlvbjo6ZW5jb2RlKEVuY29k
ZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCBjb250ZW50VHlwZTsKKyAgICBl
bmNvZGVyIDw8IHdpZHRoOworICAgIGVuY29kZXIgPDwgaGVpZ2h0OworICAgIGVuY29kZXIgPDwg
Yml0cmF0ZTsKKyAgICBlbmNvZGVyIDw8IGZyYW1lcmF0ZTsKKyAgICBlbmNvZGVyIDw8IGFscGhh
Q2hhbm5lbDsKKyAgICBlbmNvZGVyIDw8IGNvbG9yR2FtdXQ7CisgICAgZW5jb2RlciA8PCBoZHJN
ZXRhZGF0YVR5cGU7CisgICAgZW5jb2RlciA8PCB0cmFuc2ZlckZ1bmN0aW9uOworfQorCit0ZW1w
bGF0ZTxjbGFzcyBEZWNvZGVyPgorT3B0aW9uYWw8VmlkZW9Db25maWd1cmF0aW9uPiBWaWRlb0Nv
bmZpZ3VyYXRpb246OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIE9wdGlvbmFsPFN0
cmluZz4gY29udGVudFR5cGU7CisgICAgZGVjb2RlciA+PiBjb250ZW50VHlwZTsKKyAgICBpZiAo
IWNvbnRlbnRUeXBlKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9u
YWw8dWludDMyX3Q+IHdpZHRoOworICAgIGRlY29kZXIgPj4gd2lkdGg7CisgICAgaWYgKCF3aWR0
aCkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPHVpbnQzMl90
PiBoZWlnaHQ7CisgICAgZGVjb2RlciA+PiBoZWlnaHQ7CisgICAgaWYgKCFoZWlnaHQpCisgICAg
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDx1aW50NjRfdD4gYml0cmF0
ZTsKKyAgICBkZWNvZGVyID4+IGJpdHJhdGU7CisgICAgaWYgKCFiaXRyYXRlKQorICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8ZG91YmxlPiBmcmFtZXJhdGU7Cisg
ICAgZGVjb2RlciA+PiBmcmFtZXJhdGU7CisgICAgaWYgKCFmcmFtZXJhdGUpCisgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxPcHRpb25hbDxib29sPj4gYWxwaGFD
aGFubmVsOworICAgIGRlY29kZXIgPj4gYWxwaGFDaGFubmVsOworICAgIGlmICghYWxwaGFDaGFu
bmVsKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8T3B0aW9u
YWw8Q29sb3JHYW11dD4+IGNvbG9yR2FtdXQ7CisgICAgZGVjb2RlciA+PiBjb2xvckdhbXV0Owor
ICAgIGlmICghY29sb3JHYW11dCkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAg
IE9wdGlvbmFsPE9wdGlvbmFsPEhkck1ldGFkYXRhVHlwZT4+IGhkck1ldGFkYXRhVHlwZTsKKyAg
ICBkZWNvZGVyID4+IGhkck1ldGFkYXRhVHlwZTsKKyAgICBpZiAoIWhkck1ldGFkYXRhVHlwZSkK
KyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPE9wdGlvbmFsPFRy
YW5zZmVyRnVuY3Rpb24+PiB0cmFuc2ZlckZ1bmN0aW9uOworICAgIGRlY29kZXIgPj4gdHJhbnNm
ZXJGdW5jdGlvbjsKKyAgICBpZiAoIXRyYW5zZmVyRnVuY3Rpb24pCisgICAgICAgIHJldHVybiBX
VEY6Om51bGxvcHQ7CisKKworICAgIHJldHVybiB7eworICAgICAgICAqY29udGVudFR5cGUsCisg
ICAgICAgICp3aWR0aCwKKyAgICAgICAgKmhlaWdodCwKKyAgICAgICAgKmJpdHJhdGUsCisgICAg
ICAgICpmcmFtZXJhdGUsCisgICAgICAgICphbHBoYUNoYW5uZWwsCisgICAgICAgICpjb2xvckdh
bXV0LAorICAgICAgICAqaGRyTWV0YWRhdGFUeXBlLAorICAgICAgICAqdHJhbnNmZXJGdW5jdGlv
biwKKyAgICB9fTsKIH0KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYktp
dC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGU1MWNhZWQyMWUxODZjZjJh
MTczY2I4YTMzMzEyYmUwYjMwNGJiMDAuLjI2N2NkZDI5NDNlMTQ2ZjA1Y2M4ZTdjMzEwMjIzOWRi
ZjZiZTNiNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQu
eGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKQEAgLTMzLDYgKzMzLDcgQEAgJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVDRE1Qcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVMZWdhY3lDRE1GYWN0b3J5UHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIp
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNUHJveHkubWVzc2FnZXMuaW4KICQoUFJP
SkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblByb3h5Lm1l
c3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhRW5n
aW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5tZXNzYWdlcy5p
bgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5
Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlh
UmVzb3VyY2VNYW5hZ2VyLm1lc3NhZ2VzLmluCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0Rl
cml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291
cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCBlODhiMmMyMWZhNzE3Yzc3ZDIzMDJjYjUxOGJh
NGFkM2VkZTI1NzRhLi42MGQ0NDMwMjZmMzZkNDkzYWNiNjI3OWQ4ZjdhMGMzMWVhMmI0NjI5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0
CisrKyBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAg
LTE5Myw2ICsxOTMsOSBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uTWVzc2FnZXNSZXBsaQogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblByb3h5
TWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblByb3h5TWVzc2FnZXMuaAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lv
blByb3h5TWVzc2FnZXNSZXBsaWVzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eU1l
c3NhZ2VSZWNlaXZlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eU1lc3NhZ2Vz
LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1l
ZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eU1lc3NhZ2VzUmVwbGllcy5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVBsYXll
ck1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJNZXNzYWdlcy5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVBsYXll
ck1hbmFnZXJNZXNzYWdlc1JlcGxpZXMuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJp
dmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4
IDY4MTQ4NTVmZjlkMjNhZjBhNzdlNWZkYTZkZmQyZmQ1NTA5NzZmNjkuLjM1OGY3NGJiZDMyNTE2
NGQyOTU3NjIwMTI3ZTRhNjAyZDkyZDdhNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVy
aXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UK
QEAgLTI0Niw2ICsyNDYsNyBAQCBNRVNTQUdFX1JFQ0VJVkVSUyA9IFwKIAlHUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZUNETUZhY3RvcnlQcm94eSBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVDRE1J
bnN0YW5jZVByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETVByb3h5IFwK
KwlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQ
cm94eSBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eSBc
CiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5IFwKIAlHUFVQcm9jZXNz
L21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAppbmRleCA2YThj
YTJmOTk1ODc3YzI4MWQ0Nzg5MDMzYTM0MzY1NzljZDM2YzY5Li41YjdmY2Y5NDhmY2VhYjg0Zjdi
YTA4MzgzYzJmZDA0OTEwZDJhMjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCkBAIC0zOCw2ICszOCw4IEBACiAj
aW5jbHVkZSAiTGliV2ViUlRDQ29kZWNzUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIkxvZ2dp
bmcuaCIKICNpbmNsdWRlICJSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlck1hbmFn
ZXIuaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJv
eHkuaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJv
eHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Lmgi
CiAjaW5jbHVkZSAiUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHlNZXNzYWdlcy5oIgogI2lu
Y2x1ZGUgIlJlbW90ZU1lZGlhUGxheWVyUHJveHkuaCIKQEAgLTMzOSw2ICszNDEsMTMgQEAgUmVt
b3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5JiBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpsZWdh
Y3lDZG1GYWN0b3J5UHJveHkoKQogfQogI2VuZGlmCiAKK1JlbW90ZU1lZGlhRW5naW5lQ29uZmln
dXJhdGlvbkZhY3RvcnlQcm94eSYgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6bWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5KCkKK3sKKyAgICBpZiAoIW1fbWVkaWFFbmdpbmVD
b25maWd1cmF0aW9uRmFjdG9yeVByb3h5KQorICAgICAgICBtX21lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3RvcnlQcm94eSA9IG1ha2VVbmlxdWU8UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeVByb3h5PigqdGhpcyk7CisgICAgcmV0dXJuICptX21lZGlhRW5naW5lQ29uZmln
dXJhdGlvbkZhY3RvcnlQcm94eTsKK30KKwogYm9vbCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
OjpkaXNwYXRjaE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6OkRlY29k
ZXImIGRlY29kZXIpCiB7CiAjaWYgRU5BQkxFKFdFQl9BVURJTykKQEAgLTQxNCw2ICs0MjMsMTAg
QEAgYm9vbCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaXNwYXRjaE1lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEMKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQog
I2VuZGlmCisgICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2Vz
OjpSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHk6Om1lc3NhZ2VSZWNl
aXZlck5hbWUoKSkgeworICAgICAgICBtZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJv
eHkoKS5kaWRSZWNlaXZlTWVzc2FnZUZyb21XZWJQcm9jZXNzKGNvbm5lY3Rpb24sIGRlY29kZXIp
OworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CiAKICAgICByZXR1cm4gbWVzc2FnZVJlY2Vp
dmVyTWFwKCkuZGlzcGF0Y2hNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mu
aCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgK
aW5kZXggMGQ3MDlkZjVlNTE1YTIxODBjMDhmYzYyMGRkZGFkNGNjNmRlOGQyZi4uMDY2MjMyNzVk
ZDk2ZGYzMmE3NWMxOWIyMGM0Y2RkYWNhZmNmNTQ0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCkBAIC00OSw2ICs0OSw3
IEBAIGNsYXNzIFJlbW90ZUF1ZGlvU2Vzc2lvblByb3h5OwogY2xhc3MgUmVtb3RlQXVkaW9TZXNz
aW9uUHJveHlNYW5hZ2VyOwogY2xhc3MgUmVtb3RlQ0RNRmFjdG9yeVByb3h5OwogY2xhc3MgUmVt
b3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5OworY2xhc3MgUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeVByb3h5OwogY2xhc3MgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk7
CiBjbGFzcyBSZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlcjsKIGNsYXNzIFJlbW90ZU1lZGlhUmVz
b3VyY2VNYW5hZ2VyOwpAQCAtOTQsNiArOTUsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKExFR0FD
WV9FTkNSWVBURURfTUVESUEpCiAgICAgUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5JiBsZWdh
Y3lDZG1GYWN0b3J5UHJveHkoKTsKICNlbmRpZgorICAgIFJlbW90ZU1lZGlhRW5naW5lQ29uZmln
dXJhdGlvbkZhY3RvcnlQcm94eSYgbWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5
KCk7CiAgICAgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkmIHJlbW90ZU1lZGlhUGxheWVy
TWFuYWdlclByb3h5KCk7CiAKICNpZiBVU0UoQVVESU9fU0VTU0lPTikKQEAgLTE5MCw2ICsxOTIs
NyBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQogICAgIHN0
ZDo6dW5pcXVlX3B0cjxSZW1vdGVMZWdhY3lDRE1GYWN0b3J5UHJveHk+IG1fbGVnYWN5Q2RtRmFj
dG9yeVByb3h5OwogI2VuZGlmCisgICAgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZU1lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3RvcnlQcm94eT4gbV9tZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0
b3J5UHJveHk7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25G
YWN0b3J5UHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTY4NDA4
YTA4MjNlMmE4MzI1MjhlMDFiOTA2OWEyZjU2MjI4OGZiYQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRp
b25GYWN0b3J5UHJveHkuY3BwCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFj
dG9yeVByb3h5LmgiCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisKKyNpbmNsdWRlIDxXZWJD
b3JlL01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9N
ZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFE
ZWNvZGluZ0NvbmZpZ3VyYXRpb24uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhRW5jb2RpbmdD
b25maWd1cmF0aW9uLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRp
b25GYWN0b3J5Lmg+CisjaW5jbHVkZSA8d3RmL0FsZ29yaXRobXMuaD4KKworbmFtZXNwYWNlIFdl
YktpdCB7CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCitSZW1vdGVNZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5UHJveHk6OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZh
Y3RvcnlQcm94eShHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBjb25uZWN0aW9uKQorICAgIDog
bV9ncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKGNvbm5lY3Rpb24pCit7Cit9CisKK1JlbW90ZU1l
ZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eTo6flJlbW90ZU1lZGlhRW5naW5lQ29u
ZmlndXJhdGlvbkZhY3RvcnlQcm94eSgpID0gZGVmYXVsdDsKKwordm9pZCBSZW1vdGVNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHk6OiBjcmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRp
b24oV2ViQ29yZTo6TWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24mJiBjb25maWd1cmF0aW9uLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJ
bmZvJiYpPiYmIGNvbXBsZXRpb24pCit7CisgICAgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFj
dG9yeTo6Y3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbiks
IFtjb21wbGV0aW9uID0gV1RGTW92ZShjb21wbGV0aW9uKV0gKGF1dG8gaW5mbykgbXV0YWJsZSB7
CisgICAgICAgIGNvbXBsZXRpb24oV1RGTW92ZShpbmZvKSk7CisgICAgfSk7Cit9CisKK3ZvaWQg
UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5OjpjcmVhdGVFbmNvZGlu
Z0NvbmZpZ3VyYXRpb24oV2ViQ29yZTo6TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiBjb25m
aWd1cmF0aW9uLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0
aWVzRW5jb2RpbmdJbmZvJiYpPiYmIGNvbXBsZXRpb24pCit7CisgICAgTWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeTo6Y3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uKFdURk1vdmUoY29u
ZmlndXJhdGlvbiksIFtjb21wbGV0aW9uID0gV1RGTW92ZShjb21wbGV0aW9uKV0gKGF1dG8gaW5m
bykgbXV0YWJsZSB7CisgICAgICAgIGNvbXBsZXRpb24oV1RGTW92ZShpbmZvKSk7CisgICAgfSk7
Cit9CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5LmggYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9u
RmFjdG9yeVByb3h5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTQ2ZDc4OGI3MTZjNmRlMTcxMjUwODFiNmY5OTg5
MWMwNWFmN2MxNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuaApAQCAtMCww
ICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoR1BVX1BS
T0NFU1MpCisKKyNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiTWVzc2FnZVJlY2Vp
dmVyLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
Lmg+CisjaW5jbHVkZSA8d3RmL1VuaXF1ZVJlZi5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+
CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
OworCitjbGFzcyBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkgZmlu
YWwgOiBwcml2YXRlIElQQzo6TWVzc2FnZVJlY2VpdmVyLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8
UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5PiB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeVByb3h5KEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmKTsKKyAgICB2aXJ0
dWFsIH5SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkoKTsKKworICAg
IHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tV2ViUHJvY2VzcyhJUEM6OkNvbm5lY3Rpb24mIGNv
bm5lY3Rpb24sIElQQzo6RGVjb2RlciYgZGVjb2RlcikgeyBkaWRSZWNlaXZlTWVzc2FnZShjb25u
ZWN0aW9uLCBkZWNvZGVyKTsgfQorCisgICAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgZ3B1
Q29ubmVjdGlvblRvV2ViUHJvY2VzcygpIGNvbnN0IHsgcmV0dXJuIG1fZ3B1Q29ubmVjdGlvblRv
V2ViUHJvY2VzczsgfQorCitwcml2YXRlOgorICAgIGZyaWVuZCBjbGFzcyBHUFVQcm9jZXNzQ29u
bmVjdGlvbjsKKyAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZlcgorICAgIHZvaWQgZGlkUmVjZWl2
ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CisKKyAgICAv
LyBNZXNzYWdlcworICAgIHZvaWQgY3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKFdlYkNvcmU6
Ok1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2Vi
Q29yZTo6TWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8mJik+JiYpOworICAgIHZvaWQgY3Jl
YXRlRW5jb2RpbmdDb25maWd1cmF0aW9uKFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdDb25maWd1cmF0
aW9uJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6TWVkaWFDYXBhYmlsaXRpZXNF
bmNvZGluZ0luZm8mJik+JiYpOworCisgICAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgbV9n
cHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOworfTsKKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3Vy
YXRpb25GYWN0b3J5UHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5Lm1lc3NhZ2Vz
LmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2YTFlNzQ0YjllZjFhOTgxMGYzMTkyZGJhNjI5YTUzYzk5ZTdhYjEK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0wLDAg
KzEsMzIgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisjIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworIyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyMgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorIyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorIyBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorIyBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyMgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyMgQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyMgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorIyBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyNpZiBFTkFC
TEUoR1BVX1BST0NFU1MpCisKK21lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3RvcnlQcm94eSBOb3RSZWZDb3VudGVkIHsKKyAgICBDcmVhdGVEZWNvZGluZ0NvbmZp
Z3VyYXRpb24oc3RydWN0IFdlYkNvcmU6Ok1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uIGNvbmZp
Z3VyYXRpb24pIC0+IChzdHJ1Y3QgV2ViQ29yZTo6TWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0lu
Zm8gZGVjb2RpbmdJbmZvKSBBc3luYworICAgIENyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbihz
dHJ1Y3QgV2ViQ29yZTo6TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbikg
LT4gKHN0cnVjdCBXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbyBkZWNvZGlu
Z0luZm8pIEFzeW5jCit9CisKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXMudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAppbmRleCA0ZWE0YWZiZDY5ZjE4
MGQ3OGU1OWJmYWUzMjVjNGVmNjRmNDQ5MjA2Li4xNzM1MjM3ZDFlMjhmMWE5MDBlZWMzODUyMzJl
MWYzNWMyNmUxNDk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CisrKyBi
L1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKQEAgLTM3LDYgKzM3LDcgQEAgR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVDRE1Qcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RN
RmFjdG9yeVByb3h5LmNwcAogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1Qcm94eS5j
cHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblByb3h5LmNwcAorR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHku
Y3BwCiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5LmNwcAog
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAogR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlLmNwcApAQCAtNTgyLDYgKzU4Myw3IEBAIFdlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlU2Vzc2lvbi5jcHAKIFdlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZUxlZ2FjeUNETS5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUxl
Z2FjeUNETUZhY3RvcnkuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVMZWdhY3lDRE1T
ZXNzaW9uLmNwcAorV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeS5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVy
TWFuYWdlci5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTUlNRVR5
cGVDYWNoZS5jcHAgQG5vLXVuaWZ5CiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVJl
c291cmNlUHJveHkuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCA4ZTBkYmNiODg1OWIyNjRjNTYyM2I5NDEyNzZiMjgzY2VkMWNmMzVh
Li4wM2RlZDVhNTExOWRkM2YxYWVmNmExZWRiNDgyZGM1OThiYWM0MTgzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE4MDEsNiArMTgw
MSw3IEBACiAJCUNEMEM2ODMxMjAxRkQxMDEwMEE1OTQwOSAvKiBXS0Z1bGxTY3JlZW5WaWV3Q29u
dHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0QwQzY4MkYyMDFGRDEwMTAwQTU5NDA5IC8qIFdLRnVsbFNjcmVlblZpZXdDb250cm9sbGVyLmgg
Ki87IH07CiAJCUNEMTlBMjZFMUExM0U4MzQwMDhENjUwRSAvKiBXZWJEaWFnbm9zdGljTG9nZ2lu
Z0NsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0QxOUEyNkExQTEzRTgyMTAwOEQ2NTBFIC8qIFdlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Lmgg
Ki87IH07CiAJCUNEMTlEMkVBMjA0NjQwNkYwMDE3MDc0QSAvKiBGdWxsc2NyZWVuVG91Y2hTZWNo
ZXVyaXN0aWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENEMTlEMkU4MjA0NjQwNkYwMDE3MDc0QSAvKiBGdWxsc2NyZWVuVG91Y2hTZWNoZXVyaXN0aWMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRDNF
RUY0NjI1NzlDMjYxMDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFj
dG9yeVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENEM0VFRjQ0MjU3OUMxRDQwMDY1NjNCQiAvKiBSZW1vdGVNZWRp
YUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9
OwogCQlDRDQ1NzBEMzI0NDExM0I1MDBBM0RDRUIgLyogQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0
cmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRDQ1NzBEMDI0NDEwMTRBMDBBM0RDRUIgLyogQXVkaW9TZXNz
aW9uUm91dGluZ0FyYml0cmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCUNE
NDU3MEQ0MjQ0MTFEMEYwMEEzRENFQiAvKiBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDQ1NzBD
QjI0NDBGQjJBMDBBM0RDRUIgLyogQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwICov
OyB9OwogCQlDRDQ2NjE4MzI0MDEwQTY3MDA0N0NBMzUgLyogUmVtb3RlQ0RNSW5zdGFuY2VTZXNz
aW9uTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENENDY2MTgxMjQwMTA1NjQwMDQ3Q0EzNSAvKiBSZW1vdGVDRE1JbnN0YW5j
ZVNlc3Npb25NZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwpAQCAtNTMwOSw2ICs1MzEwLDE0IEBA
CiAJCUNEMTlBMjZBMUExM0U4MjEwMDhENjUwRSAvKiBXZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJEaWFnbm9zdGljTG9nZ2lu
Z0NsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDE5RDJFODIwNDY0MDZG
MDAxNzA3NEEgLyogRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IEZ1bGxzY3JlZW5Ub3VjaFNlY2hldXJpc3RpYy5oOyBwYXRoID0gaW9zL2Z1bGxzY3JlZW4vRnVs
bHNjcmVlblRvdWNoU2VjaGV1cmlzdGljLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUNEMTlEMkU5MjA0NjQwNkYwMDE3MDc0QSAvKiBGdWxsc2NyZWVuVG91Y2hTZWNoZXVyaXN0aWMu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljLmNwcDsg
cGF0aCA9IGlvcy9mdWxsc2NyZWVuL0Z1bGxzY3JlZW5Ub3VjaFNlY2hldXJpc3RpYy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEM0VFRjMxMjU3OTk2MTgwMDY1NjNCQiAvKiBS
ZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJl
bW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQ0QzRUVGMzIyNTc5OTYxODAwNjU2M0JCIC8qIFJlbW90ZU1lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3RvcnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVtb3RlTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUNEM0VFRjMzMjU3OTk3MTcwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3Vy
YXRpb25GYWN0b3J5UHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlTWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeVByb3h5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNE
M0VFRjM0MjU3OTk3MTcwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25G
YWN0b3J5UHJveHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVtb3RlTWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeVByb3h5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
Q0QzRUVGMzUyNTc5OTc5NTAwNjU2M0JCIC8qIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3RvcnlQcm94eS5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3Vy
YXRpb25GYWN0b3J5UHJveHkubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUNEM0VFRjQzMjU3OUMxRDQwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3Vy
YXRpb25GYWN0b3J5UHJveHlNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHlNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlDRDNFRUY0NDI1NzlDMUQ0MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEM0VFRjQ1MjU3
OUMxRDQwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJv
eHlNZXNzYWdlc1JlcGxpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlTWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZXNSZXBsaWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNENDU3MENBMjQ0MEZCMkEwMEEzRENFQiAvKiBBdWRpb1Nlc3Npb25Sb3V0
aW5nQXJiaXRyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRy
YXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDQ1NzBDQjI0NDBGQjJBMDBB
M0RDRUIgLyogQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDRDQ1NzBEMDI0NDEwMTRBMDBBM0RDRUIgLyogQXVkaW9TZXNzaW9uUm91
dGluZ0FyYml0cmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTU4MDAsNiArNTgwOSw4IEBACiAJCQkJQ0RF
NTU0RUUyNDA1ODFBMzAwOEEzRERCIC8qIFJlbW90ZUxlZ2FjeUNETVNlc3Npb24uaCAqLywKIAkJ
CQlDREU1NTUwNTI0MDU4MzI0MDA4QTNEREIgLyogUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbi5tZXNz
YWdlcy5pbiAqLywKIAkJCQlDREU1NTUwOTI0MDU4OENCMDA4QTNEREIgLyogUmVtb3RlTGVnYWN5
Q0RNU2Vzc2lvbklkZW50aWZpZXIuaCAqLywKKwkJCQlDRDNFRUYzMTI1Nzk5NjE4MDA2NTYzQkIg
LyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oICovLAorCQkJCUNEM0VF
RjMyMjU3OTk2MTgwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0
b3J5LmNwcCAqLywKIAkJCQkwN0I5M0ZGNTIzQUYwQ0I4MDAzNkY4RUEgLyogUmVtb3RlTWVkaWFQ
bGF5ZXJDb25maWd1cmF0aW9uLmggKi8sCiAJCQkJMDc5MjMxMzAyMzlCM0IwQzAwOTU5OEUyIC8q
IFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5jcHAgKi8sCiAJCQkJMDc5MjMxMzQyMzlCM0IwQzAw
OTU5OEUyIC8qIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5oICovLApAQCAtNTg2NCw2ICs1ODc1
LDkgQEAKIAkJCQlDREU1NTRGODI0MDU4MjA4MDA4QTNEREIgLyogUmVtb3RlTGVnYWN5Q0RNU2Vz
c2lvblByb3h5LmggKi8sCiAJCQkJQ0RFNTU1MDAyNDA1ODI4NDAwOEEzRERCIC8qIFJlbW90ZUxl
Z2FjeUNETVNlc3Npb25Qcm94eS5tZXNzYWdlcy5pbiAqLywKIAkJCQkxRDRGQjQwQzI1NjVDQkY5
MDAxQUMyQUQgLyogUmVtb3RlTWVkaWFEZXNjcmlwdGlvbi5oICovLAorCQkJCUNEM0VFRjMzMjU3
OTk3MTcwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJv
eHkuaCAqLywKKwkJCQlDRDNFRUYzNDI1Nzk5NzE3MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5LmNwcCAqLywKKwkJCQlDRDNFRUYzNTI1Nzk5Nzk1
MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5Lm1l
c3NhZ2VzLmluICovLAogCQkJCTA3MjVFRkFEMjM5QjAyNDUwMEE1MzhBOSAvKiBSZW1vdGVNZWRp
YVBsYXllck1hbmFnZXJQcm94eS5jcHAgKi8sCiAJCQkJMDcyNUVGQUMyMzlBRTM4NTAwQTUzOEE5
IC8qIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5LmggKi8sCiAJCQkJMDcyNUVGQUIyMzlB
RTM4NDAwQTUzOEE5IC8qIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmlu
ICovLApAQCAtMTA1MzEsNiArMTA1NDUsOSBAQAogCQkJCUNERTU1NTMxMjQwNkI4OTcwMDhBM0RE
QiAvKiBSZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAog
CQkJCUNERTU1NTJGMjQwNkI4OTcwMDhBM0REQiAvKiBSZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJv
eHlNZXNzYWdlcy5oICovLAogCQkJCUNERTU1NTI2MjQwNkI4OTUwMDhBM0REQiAvKiBSZW1vdGVM
ZWdhY3lDRE1TZXNzaW9uUHJveHlNZXNzYWdlc1JlcGxpZXMuaCAqLywKKwkJCQlDRDNFRUY0NDI1
NzlDMUQ0MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVBy
b3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKKwkJCQlDRDNFRUY0MzI1NzlDMUQ0MDA2NTYzQkIg
LyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZXMuaCAq
LywKKwkJCQlDRDNFRUY0NTI1NzlDMUQ0MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZXNSZXBsaWVzLmggKi8sCiAJCQkJMDc5MjMxNDUy
MzlDQkNCNzAwOTU5OEUyIC8qIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5TWVzc2FnZVJl
Y2VpdmVyLmNwcCAqLywKIAkJCQkwNzkyMzE0NjIzOUNCQ0I3MDA5NTk4RTIgLyogUmVtb3RlTWVk
aWFQbGF5ZXJNYW5hZ2VyUHJveHlNZXNzYWdlcy5oICovLAogCQkJCTA3OTIzMTQyMjM5Q0JDQjUw
MDk1OThFMiAvKiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5o
ICovLApAQCAtMTM1NDIsNiArMTM1NTksNyBAQAogCQkJCTJEMTFCN0NEMjEyNkEyODMwMDZGODg3
OCAvKiBVbmlmaWVkU291cmNlNjQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ1NEMzMEMyMTJG
M0IzMzAwNDlDMTc0IC8qIFVuaWZpZWRTb3VyY2U2NC1tbS5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTJENTRDMzA3MjEyRjNCMzMwMDQ5QzE3NCAvKiBVbmlmaWVkU291cmNlNjUtbW0ubW0gaW4gU291
cmNlcyAqLywKKwkJCQlDRDNFRUY0NjI1NzlDMjYxMDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTJEMTFCN0NFMjEyNkEyODMwMDZGODg3OCAvKiBVbmlmaWVkU291cmNlNjUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMkQxMUI3Q0YyMTI2QTI4MzAwNkY4ODc4IC8qIFVuaWZpZWRT
b3VyY2U2Ni5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDU0QzMxNDIxMkYzQjMzMDA0OUMxNzQg
LyogVW5pZmllZFNvdXJjZTY2LW1tLm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCmluZGV4IGYw
MDVhZDViYzM4Njg2NGQwNjE4ODUyNmEzNDFlMWViN2FkMzQwMzMuLjExZmE3MGYyY2U5YjQzMzUx
ZTUzYjlhMWYzZjczZmNhNTI4ZDc0YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCkBAIC0zNyw2ICszNyw3IEBACiAj
aW5jbHVkZSAiUmVtb3RlQ0RNRmFjdG9yeS5oIgogI2luY2x1ZGUgIlJlbW90ZUNETVByb3h5Lmgi
CiAjaW5jbHVkZSAiUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeS5oIgorI2luY2x1ZGUgIlJlbW90ZU1l
ZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaCIKICNpbmNsdWRlICJSZW1vdGVNZWRpYVBs
YXllck1hbmFnZXIuaCIKICNpbmNsdWRlICJTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNZXNzYWdl
cy5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgpAQCAtMTMxLDYgKzEzMiwx
MSBAQCBSZW1vdGVMZWdhY3lDRE1GYWN0b3J5JiBHUFVQcm9jZXNzQ29ubmVjdGlvbjo6bGVnYWN5
Q0RNRmFjdG9yeSgpCiB9CiAjZW5kaWYKIAorUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9u
RmFjdG9yeSYgR1BVUHJvY2Vzc0Nvbm5lY3Rpb246Om1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZh
Y3RvcnkoKQoreworICAgIHJldHVybiAqV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc3VwcGxlbWVu
dDxSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5PigpOworfQorCiBib29sIEdQ
VVByb2Nlc3NDb25uZWN0aW9uOjpkaXNwYXRjaE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25u
ZWN0aW9uLCBJUEM6OkRlY29kZXImIGRlY29kZXIpCiB7CiAgICAgaWYgKGRlY29kZXIubWVzc2Fn
ZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Om1l
c3NhZ2VSZWNlaXZlck5hbWUoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5oCmluZGV4IDJjMGRmNWI5ZjU0OTY4NDdlZDY2OTEw
YmYyZjM5YjJjZGM2MGNhMDIuLjZjYWNmZmI0NDlkOTQ2Y2IyMjMwZTMwMzk4YjNhODdjM2M2ZTg2
NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nv
bm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3ND
b25uZWN0aW9uLmgKQEAgLTQzLDYgKzQzLDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNz
IFJlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyOwogY2xhc3MgUmVtb3RlQ0RNRmFjdG9y
eTsKK2NsYXNzIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk7CiBjbGFzcyBS
ZW1vdGVNZWRpYVBsYXllck1hbmFnZXI7CiBjbGFzcyBSZW1vdGVMZWdhY3lDRE1GYWN0b3J5Owog
c3RydWN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM7CkBAIC04MCw2ICs4MSw4IEBAIHB1Ymxp
YzoKICAgICBSZW1vdGVMZWdhY3lDRE1GYWN0b3J5JiBsZWdhY3lDRE1GYWN0b3J5KCk7CiAjZW5k
aWYKIAorICAgIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkmIG1lZGlhRW5n
aW5lQ29uZmlndXJhdGlvbkZhY3RvcnkoKTsKKwogICAgIHZvaWQgdXBkYXRlUGFyYW1ldGVycyhj
b25zdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJik7CiAKICNpZiBFTkFCTEUoVlA5KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1Nv
dXJjZVByb3ZpZGVyTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyLmNwcAppbmRleCBiOGY0NWE2ZDVi
YjRkYjQ2MDk4ODAxMjQzYmI1ZTkzMTdiMWUzZTJiLi5lNjIwYmNjMzEzODMyNTQxZDRkMDM3YTcz
ZjE5YjBiM2M4NWUxN2E1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5h
Z2VyLmNwcApAQCAtMjYsMTQgKzI2LDE2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIuaCIKIAorI2luY2x1ZGUgIkdQVVBy
b2Nlc3NDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2luY2x1ZGUgIlJlbW90
ZUF1ZGlvU291cmNlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJSZW1vdGVBdWRpb1NvdXJjZVByb3Zp
ZGVyTWFuYWdlck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiU2hhcmVkUmluZ0J1ZmZlclN0b3JhZ2Uu
aCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCiAKICNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5B
QkxFKEdQVV9QUk9DRVNTKQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKLXVzaW5nIG5hbWVzcGFjZSBQ
QUw7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRl
ck1hbmFnZXI6OlJlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92
aWRlck1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3Rl
QXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIuaAppbmRleCBlNTllMWIwNmI0NDdlNWQ4MGNhNjEw
NTJjNmM3YTMyYzRiYTE0MmU2Li43MGU1ZGNiNWNkMDQ2ZWE2NDQ5ZTBmYjY3ZmIzNGIxYzI2Mzlk
Y2YyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90
ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlci5oCkBAIC0yNyw2
ICsyNyw4IEBACiAKICNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKQog
CisjaW1wb3J0ICJDb25uZWN0aW9uLmgiCisjaW1wb3J0ICJTaGFyZWRNZW1vcnkuaCIKICNpbmNs
dWRlIDxXZWJDb3JlL0NBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvQ0FSaW5nQnVmZmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVBsYXllcklkZW50aWZp
ZXIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVt
b3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnku
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmEwYjcwYWU3YTE4ODE0YjRmZDg2MjFmYzQ2Zjk5N2ZkZjYxYjE1OTQK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1Jl
bW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuY3BwCkBAIC0wLDAgKzEsOTUgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oIgorCisjaW5jbHVkZSAiR1BVUHJvY2Vzc0Nvbm5l
Y3Rpb24uaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
UHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlIDxXZWJD
b3JlL01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9N
ZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFE
ZWNvZGluZ0NvbmZpZ3VyYXRpb24uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhRW5jb2RpbmdD
b25maWd1cmF0aW9uLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRp
b25GYWN0b3J5Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CisKK1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OlJlbW90ZU1lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkoV2ViUHJvY2VzcyYgcHJvY2VzcykKKyAgICA6IG1f
cHJvY2Vzcyhwcm9jZXNzKQoreworfQorCitSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25G
YWN0b3J5Ojp+UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeSgpID0gZGVmYXVs
dDsKKwordm9pZCBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpyZWdpc3Rl
ckZhY3RvcnkoKQoreworICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OmNsZWFy
RmFjdG9yaWVzKCk7CisgICAgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6aW5zdGFs
bEZhY3RvcnkoeworICAgICAgICBbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKV0gKE1lZGlh
RGVjb2RpbmdDb25maWd1cmF0aW9uJiYgY29uZmlndXJhdGlvbiwgTWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeTo6RGVjb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykg
eworICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykgeworICAgICAgICAgICAgICAgIGNhbGxiYWNr
KHt7IH0sIFdURk1vdmUoY29uZmlndXJhdGlvbil9KTsKKyAgICAgICAgICAgICAgICByZXR1cm47
CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHdlYWtUaGlzLT5jcmVhdGVEZWNvZGluZ0Nv
bmZpZ3VyYXRpb24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShjYWxsYmFjaykpOwor
ICAgICAgICB9LAorICAgICAgICBbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKV0gKE1lZGlh
RW5jb2RpbmdDb25maWd1cmF0aW9uJiYgY29uZmlndXJhdGlvbiwgTWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeTo6RW5jb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykg
eworICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykgeworICAgICAgICAgICAgICAgIGNhbGxiYWNr
KHt7IH0sIFdURk1vdmUoY29uZmlndXJhdGlvbil9KTsKKyAgICAgICAgICAgICAgICByZXR1cm47
CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHdlYWtUaGlzLT5jcmVhdGVFbmNvZGluZ0Nv
bmZpZ3VyYXRpb24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShjYWxsYmFjaykpOwor
ICAgICAgICB9LAorICAgIH0pOworfQorCitjb25zdCBjaGFyKiBSZW1vdGVNZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5OjpzdXBwbGVtZW50TmFtZSgpCit7CisgICAgcmV0dXJuICJSZW1v
dGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5IjsKK30KKworR1BVUHJvY2Vzc0Nvbm5l
Y3Rpb24mIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OmdwdVByb2Nlc3ND
b25uZWN0aW9uKCkKK3sKKyAgICByZXR1cm4gbV9wcm9jZXNzLmVuc3VyZUdQVVByb2Nlc3NDb25u
ZWN0aW9uKCk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9y
eTo6Y3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9u
JiYgY29uZmlndXJhdGlvbiwgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6RGVjb2Rp
bmdDb25maWd1cmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykKK3sKKyAgICBncHVQcm9jZXNzQ29u
bmVjdGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OlJlbW90
ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eTo6Q3JlYXRlRGVjb2RpbmdDb25m
aWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbikpLCBbY2FsbGJhY2sgPSBXVEZNb3ZlKGNh
bGxiYWNrKV0gKE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvJiYgaW5mbykgbXV0YWJsZSB7
CisgICAgICAgIGNhbGxiYWNrKFdURk1vdmUoaW5mbykpOworICAgIH0pOworfQorCit2b2lkIFJl
bW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OmNyZWF0ZUVuY29kaW5nQ29uZmln
dXJhdGlvbihNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIE1lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkVuY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNr
JiYgY2FsbGJhY2spCit7CisgICAgZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCku
c2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRp
b25GYWN0b3J5UHJveHk6OkNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZp
Z3VyYXRpb24pKSwgW2NhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldIChNZWRpYUNhcGFiaWxp
dGllc0VuY29kaW5nSW5mbyYmIGluZm8pIG11dGFibGUgeworICAgICAgICBjYWxsYmFjayhXVEZN
b3ZlKGluZm8pKTsKKyAgICB9KTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3RvcnkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYzUwNWQ1OWIxZTNmM2YyOGIwN2Zk
NGM1N2UzMzM3YmVmMzI3YzExCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmgK
QEAgLTAsMCArMSw3MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxF
KEdQVV9QUk9DRVNTKQorCisjaW5jbHVkZSAiUmVtb3RlTGVnYWN5Q0RNSWRlbnRpZmllci5oIgor
I2luY2x1ZGUgIlJlbW90ZUxlZ2FjeUNETVNlc3Npb25JZGVudGlmaWVyLmgiCisjaW5jbHVkZSAi
V2ViUHJvY2Vzc1N1cHBsZW1lbnQuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhRW5naW5lQ29u
ZmlndXJhdGlvbkZhY3RvcnkuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUg
PHd0Zi9XZWFrUHRyLmg+CisKK25hbWVzcGFjZSBJUEMgeworY2xhc3MgQ29ubmVjdGlvbjsKK2Ns
YXNzIERlY29kZXI7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBHUFVQcm9jZXNz
Q29ubmVjdGlvbjsKK2NsYXNzIFdlYlByb2Nlc3M7CisKK2NsYXNzIFJlbW90ZU1lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3RvcnkgZmluYWwKKyAgICA6IHB1YmxpYyBXZWJQcm9jZXNzU3VwcGxl
bWVudAorICAgICwgcHVibGljIENhbk1ha2VXZWFrUHRyPFJlbW90ZU1lZGlhRW5naW5lQ29uZmln
dXJhdGlvbkZhY3Rvcnk+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
KyAgICBleHBsaWNpdCBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5KFdlYlBy
b2Nlc3MmKTsKKyAgICB2aXJ0dWFsIH5SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0
b3J5KCk7CisKKyAgICB2b2lkIHJlZ2lzdGVyRmFjdG9yeSgpOworCisgICAgc3RhdGljIGNvbnN0
IGNoYXIqIHN1cHBsZW1lbnROYW1lKCk7CisgICAgV2ViUHJvY2VzcyYgcHJvY2VzcygpIGNvbnN0
IHsgcmV0dXJuIG1fcHJvY2VzczsgfQorCisgICAgR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIGdwdVBy
b2Nlc3NDb25uZWN0aW9uKCk7CisKKyAgICB2b2lkIGRpZFJlY2VpdmVTZXNzaW9uTWVzc2FnZShJ
UEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKTsKKworcHJpdmF0ZToKKyAgICB2b2lkIGNy
ZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihXZWJDb3JlOjpNZWRpYURlY29kaW5nQ29uZmlndXJh
dGlvbiYmLCBXZWJDb3JlOjpNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpEZWNvZGlu
Z0NvbmZpZ3VyYXRpb25DYWxsYmFjayYmKTsKKyAgICB2b2lkIGNyZWF0ZUVuY29kaW5nQ29uZmln
dXJhdGlvbihXZWJDb3JlOjpNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYmLCBXZWJDb3JlOjpN
ZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpFbmNvZGluZ0NvbmZpZ3VyYXRpb25DYWxs
YmFjayYmKTsKKworICAgIFdlYlByb2Nlc3MmIG1fcHJvY2VzczsKK307CisKK30KKworI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggZjJmMjI4MjJjN2Iy
MjNmY2E1OWY5NTU3M2QxMWRjOTliMTAzNDgxMS4uNWIxYmM1YTlmYTdmM2I0ZDVhZWYzZTQ0NTVm
ZjViZmIyYTcyM2JjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApA
QCAtNDUsNiArNDUsNyBAQAogI2luY2x1ZGUgIlByb2Nlc3NBc3NlcnRpb24uaCIKICNpbmNsdWRl
ICJSZW1vdGVBdWRpb1Nlc3Npb24uaCIKICNpbmNsdWRlICJSZW1vdGVMZWdhY3lDRE1GYWN0b3J5
LmgiCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oIgog
I2luY2x1ZGUgIlN0b3JhZ2VBcmVhTWFwLmgiCiAjaW5jbHVkZSAiVXNlckRhdGEuaCIKICNpbmNs
dWRlICJXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5LmgiCkBAIC0xMDcsNiArMTA4LDcgQEAKICNp
bmNsdWRlIDxXZWJDb3JlL0hUTUxNZWRpYUVsZW1lbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0pT
RE9NV2luZG93Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9MZWdhY3lTY2hlbWVSZWdpc3RyeS5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvTWVtb3J5Q2FjaGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01lbW9yeVJl
bGVhc2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01lc3NhZ2VQb3J0Lmg+CkBAIC0yODIsNiArMjg0
LDggQEAgV2ViUHJvY2Vzczo6V2ViUHJvY2VzcygpCiAgICAgYWRkU3VwcGxlbWVudDxBdWRpb1Nl
c3Npb25Sb3V0aW5nQXJiaXRyYXRvcj4oKTsKICNlbmRpZgogCisgICAgYWRkU3VwcGxlbWVudDxS
ZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5PigpOworCiAgICAgR2lnYWNhZ2U6
OmZvcmJpZERpc2FibGluZ1ByaW1pdGl2ZUdpZ2FjYWdlKCk7CiB9CiAKQEAgLTE5MjYsNiArMTkz
MCwxMSBAQCB2b2lkIFdlYlByb2Nlc3M6OnNldFVzZUdQVVByb2Nlc3NGb3JNZWRpYShib29sIHVz
ZUdQVVByb2Nlc3NGb3JNZWRpYSkKICAgICBlbHNlCiAgICAgICAgIExlZ2FjeUNETTo6cmVzZXRG
YWN0b3JpZXMoKTsKICNlbmRpZgorICAgIAorICAgIGlmICh1c2VHUFVQcm9jZXNzRm9yTWVkaWEp
CisgICAgICAgIGVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9uKCkubWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeSgpLnJlZ2lzdGVyRmFjdG9yeSgpOworICAgIGVsc2UKKyAgICAgICAgTWVk
aWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6cmVzZXRGYWN0b3JpZXMoKTsKIH0KIAogYm9v
bCBXZWJQcm9jZXNzOjpzaG91bGRVc2VSZW1vdGVSZW5kZXJpbmdGb3IoUmVuZGVyaW5nUHVycG9z
ZSBwdXJwb3NlKQo=
</data>
<flag name="commit-queue"
          id="432593"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415388</attachid>
            <date>2020-12-03 22:14:48 -0800</date>
            <delta_ts>2020-12-03 23:10:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219521-20201203221448.patch</filename>
            <type>text/plain</type>
            <size>75844</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNDIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODY3YjI0ZTg0OTYzNmM3
ZjE2ZjQxZDAwYWE4Y2ZlZGQ0MWFiYjRhNy4uOTFiZTA1MjcwNDBhNmNhYzIyYzBhYjIyM2FiMTZi
ZmVmZTE0Yjk1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDIwLTEyLTAzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFVQXSBNb3ZlIE1lZGlh
Q2FwYWJpbGl0aWVzIGludG8gdGhlIEdQVSBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk1MjEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgZW5jb2RlKCkgYW5kIGRlY29kZSgpIG9wZXJh
dGlvbnMgdG8gYWxsIHN0cnVjdHMgdXNlZCBpbnNpZGUKKyAgICAgICAgTWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeS4gQWRkIHRoZSBhYmlsaXR5IGZvciBjbGllbnRzIHRvIHByb3ZpZGUK
KyAgICAgICAgdGhlaXIgb3duIGZhY3RvcmllcyBmb3IgdXNlIGluIE1lZGlhRW5naW5lQ29uZmln
dXJhdGlvbkZhY3RvcnkuCisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9NZWRp
YUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDYXBh
YmlsaXRpZXNEZWNvZGluZ0luZm86OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbzo6ZGVjb2RlKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9NZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm86OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbzo6ZGVjb2RlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0luZm8uaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
Q2FwYWJpbGl0aWVzSW5mbzo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
Q2FwYWJpbGl0aWVzSW5mbzo6ZGVjb2RlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNhcGFi
aWxpdGllcy9BdWRpb0NvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQ29u
ZmlndXJhdGlvbjo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQ29uZmln
dXJhdGlvbjo6ZGVjb2RlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9D
b2xvckdhbXV0Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvSGRyTWV0
YWRhdGFUeXBlLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFD
YXBhYmlsaXRpZXNMb2dnaW5nLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRp
ZXMvTWVkaWFDb25maWd1cmF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbmZpZ3Vy
YXRpb246OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbmZpZ3VyYXRp
b246OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFE
ZWNvZGluZ0NvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRGVjb2RpbmdD
b25maWd1cmF0aW9uOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFEZWNv
ZGluZ0NvbmZpZ3VyYXRpb246OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBh
YmlsaXRpZXMvTWVkaWFEZWNvZGluZ1R5cGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNh
cGFiaWxpdGllcy9NZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb246OmVuY29kZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbjo6ZGVjb2RlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5nVHlwZS5oOgorICAgICAgICAq
IHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZGVmYXVsdEZhY3Rvcmllcyk6CisgICAgICAgIChX
ZWJDb3JlOjpmYWN0b3JpZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeTo6Y2xlYXJGYWN0b3JpZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6cmVzZXRGYWN0b3JpZXMpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6aW5zdGFsbEZhY3RvcnkpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6aGFzRGVj
b2RpbmdDb25maWd1cmF0aW9uRmFjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpoYXNFbmNvZGluZ0NvbmZpZ3VyYXRpb25GYWN0b3J5KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuZ2luZUNvbmZpZ3Vy
YXRpb25GYWN0b3J5Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvVHJh
bnNmZXJGdW5jdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1Zp
ZGVvQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6VmlkZW9Db25maWd1cmF0aW9u
OjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6VmlkZW9Db25maWd1cmF0aW9uOjpk
ZWNvZGUpOgorCiAyMDIwLTEyLTAzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgog
CiAgICAgICAgIFtDb2NvYV0gQWRvcHQgQVZPdXRwdXREZXZpY2UuYWxsb3dzSGVhZFRyYWNrZWRT
cGF0aWFsQXVkaW8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZDAwODhkMjkwODczMzRiNWQ3Y2E2OWM5MjIwNDYxNjcz
ZDRiODhiNC4uZmUyZGE4ODQ1YjhhOTAzNzA3N2UzZGRhNDdjOWNkZWY0MDFkMWVhYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw0MyBAQAorMjAyMC0xMi0wMyAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFw
cGxlLmNvbT4KKworICAgICAgICBbR1BVUF0gTW92ZSBNZWRpYUNhcGFiaWxpdGllcyBpbnRvIHRo
ZSBHUFUgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE5NTIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIGEgbmV3IHBhaXIgb2YgcHJvY2VzcyBzdXBwbGVtZW50cywgUmVtb3RlTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeSBhbmQgLi5Qcm94eS4KKworICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjptZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25G
YWN0b3J5UHJveHkpOgorICAgICAgICAoV2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
OjpkaXNwYXRjaE1lc3NhZ2UpOgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eTo6UmVtb3RlTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5KToKKyAgICAgICAgKFdlYktpdDo6Y3JlYXRl
RGVjb2RpbmdDb25maWd1cmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5OjpjcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24p
OgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeVByb3h5Lmg6IEFkZGVkLgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5Lm1lc3NhZ2VzLmluOiBBZGRl
ZC4KKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVj
dGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NDb25uZWN0aW9uOjptZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9HUFVQ
cm9jZXNzQ29ubmVjdGlvbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90
ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlci5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnku
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeTo6UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeSk6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OnJlZ2lz
dGVyRmFjdG9yeSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3Rvcnk6OnN1cHBsZW1lbnROYW1lKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVk
aWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6Z3B1UHJvY2Vzc0Nvbm5lY3Rpb24pOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjcmVh
dGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24pOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3RvcnkuaDogQ29waWVkIGZyb20gU291cmNlL1dURi93dGYvQWxnb3JpdGhtcy5oLgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3M6OnNldFVzZUdQVVByb2Nlc3NGb3JNZWRpYSk6CisKIDIwMjAtMTItMDMgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBBZG9wdCBBVk91
dHB1dERldmljZS5hbGxvd3NIZWFkVHJhY2tlZFNwYXRpYWxBdWRpbwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UK
aW5kZXggZDU0NDgzNzhiOTk0MWM0NzE5ODkwNjY1MGEzNTk1NjVlMDYxYWI3NS4uZTljZGI5MWU0
OWY2ZDgzYzQ2ZjVjNTI4MTAxZmY1ZDNiNmQ4YmJhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0x
MzE1LDYgKzEzMTUsMTggQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwog
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaAog
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0
aW9uLmgKIAorICAgIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL0F1ZGlvQ29uZmlndXJhdGlv
bi5oCisgICAgcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvQ29sb3JHYW11dC5oCisgICAgcGxh
dGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvSGRyTWV0YWRhdGFUeXBlLmgKKyAgICBwbGF0Zm9ybS9t
ZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNvbmZpZ3VyYXRpb24uaAorICAgIHBsYXRmb3JtL21lZGlh
Y2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLmgKKyAgICBwbGF0Zm9ybS9t
ZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5nVHlwZS5oCisgICAgcGxhdGZvcm0vbWVkaWFj
YXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaAorICAgIHBsYXRmb3JtL21l
ZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdUeXBlLmgKKyAgICBwbGF0Zm9ybS9tZWRpYWNh
cGFiaWxpdGllcy9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmgKKyAgICBwbGF0Zm9y
bS9tZWRpYWNhcGFiaWxpdGllcy9UcmFuc2ZlckZ1bmN0aW9uLmgKKyAgICBwbGF0Zm9ybS9tZWRp
YWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaAorCiAgICAgcGxhdGZvcm0vbWVkaWFy
ZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZS5oCiAKICAgICBwbGF0Zm9ybS9tZWRpYXN0cmVh
bS9DYXB0dXJlRGV2aWNlLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCA2NzJhMTY2MGE1ZDlmZjgwMTNiNjlhYmJiNmEzYWFhNzhi
OWJlMWYxLi5jOGU3NmRhZWYyYmFmYmFiNTc4ODBjODIwZjNiNWI2OGVlMmJhOGZmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00
MjM0LDYgKzQyMzQsMTggQEAKIAkJQ0QzRTIxREQyMTgzNDQ0QTAwRTY2RjU1IC8qIEltYWdlQnVm
ZmVyVXRpbGl0aWVzQ0cuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENEM0UyMURCMjE4MzNGNTEwMEU2NkY1NSAvKiBJbWFnZUJ1ZmZlclV0aWxpdGllc0NH
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0Qz
RTI1MUMxODA0NkIwNjAwRTI3RjU2IC8qIEdyaWRBcmVhLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDNFMjUxQjE4MDQ2QjA2MDBFMjdGNTYgLyogR3Jp
ZEFyZWEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlDRDNFMjUyNDE4MDQ2QkNEMDBFMjdGNTYgLyogQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QzRTI1MjIx
ODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaCAqLzsgfTsKKwkJ
Q0QzRUVGMzcyNTc5OUVGRTAwNjU2M0JCIC8qIE1lZGlhQ2FwYWJpbGl0aWVzSW5mby5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QwQzhCNTgyMTQxQzhD
QTAwNjJGNTlEIC8qIE1lZGlhQ2FwYWJpbGl0aWVzSW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNEM0VFRjM4MjU3OTlGNzMwMDY1NjNCQiAv
KiBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RCRDNEMzYxRkU4NUNDMDAwMTJDNTQ1IC8qIE1lZGlhRGVj
b2RpbmdDb25maWd1cmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJQ0QzRUVGMzkyNTc5OUY3RjAwNjU2M0JCIC8qIE1lZGlhQ29uZmlndXJh
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RC
RDNEMzUxRkU4NUNCRjAwMTJDNTQ1IC8qIE1lZGlhQ29uZmlndXJhdGlvbi5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNEM0VFRjNBMjU3OTlGODgw
MDY1NjNCQiAvKiBBdWRpb0NvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQkQzRDJCMUZFODVDQkIwMDEyQzU0NSAvKiBBdWRpb0Nv
bmZpZ3VyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQlDRDNFRUYzQjI1Nzk5RkExMDA2NTYzQkIgLyogVmlkZW9Db25maWd1cmF0aW9uLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREJEM0QzNDFG
RTg1Q0JGMDAxMkM1NDUgLyogVmlkZW9Db25maWd1cmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0QzRUVGM0MyNTc5OUZBQjAwNjU2M0JC
IC8qIENvbG9yR2FtdXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENENEU0RTlCMjM1N0NCOUQwMDc4OTVDMyAvKiBDb2xvckdhbXV0LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0QzRUVGM0QyNTc5OUZC
NTAwNjU2M0JCIC8qIEhkck1ldGFkYXRhVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q0RTRFOUMyMzU3Q0I5RDAwNzg5NUMzIC8qIEhkck1ldGFk
YXRhVHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCUNEM0VFRjNFMjU3OTlGQzcwMDY1NjNCQiAvKiBNZWRpYURlY29kaW5nVHlwZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RCRDNEMzgxRkU4NUND
MDAwMTJDNTQ1IC8qIE1lZGlhRGVjb2RpbmdUeXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0QzRUVGM0YyNTc5OUZDQzAwNjU2M0JCIC8qIE1l
ZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDREJEM0QzNzFGRTg1Q0MwMDAxMkM1NDUgLyogTWVkaWFFbmNvZGlu
Z0NvbmZpZ3VyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQlDRDNFRUY0MDI1Nzk5RkQwMDA2NTYzQkIgLyogTWVkaWFFbmNvZGluZ1R5cGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQkQzRDNF
MUZFODVDQzMwMDEyQzU0NSAvKiBNZWRpYUVuY29kaW5nVHlwZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNEM0VFRjQxMjU3OTlGRDkwMDY1NjNC
QiAvKiBUcmFuc2ZlckZ1bmN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDRDRFNEU5QTIzNTdDQjlDMDA3ODk1QzMgLyogVHJhbnNmZXJGdW5jdGlv
bi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNE
M0VFRjQyMjU3OUI0NEEwMDY1NjNCQiAvKiBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QUM2RjAy
NTIxMTQ4RjU0MDBDQkRBMDYgLyogTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNENEFDNTJB
MTQ5NkFFOUEwMDg3QzRFRiAvKiBDb21wb3NpdGUud2F2IGluIENvcHkgQXVkaW8gUmVzb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENEFDNTI4MTQ5NkFFMkYwMDg3
QzRFRiAvKiBDb21wb3NpdGUud2F2ICovOyB9OwogCQlDRDUyMDlFNDFCMEJEODM4MDA3NzE4NEUg
LyogTWVkaWFQbGF5ZXJFbnVtcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0Q1MjA5RTMxQjBCRDgzODAwNzcxODRFIC8qIE1lZGlhUGxheWVyRW51bXMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRDUy
MDlFNjFCMEJEOUUxMDA3NzE4NEUgLyogSFRNTE1lZGlhRWxlbWVudEVudW1zLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDUyMDlFNTFCMEJEOUUxMDA3
NzE4NEUgLyogSFRNTE1lZGlhRWxlbWVudEVudW1zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTQzMjgsOCArNDM0MCw4IEBACiAJCUNEQzkzOUE4
MUU5QkRGQjEwMEJCNzY4RCAvKiBWaWRlb1Rvb2xib3hTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDOTM5QTYxRTlCREZCMTAwQkI3NjhE
IC8qIFZpZGVvVG9vbGJveFNvZnRMaW5rLmggKi87IH07CiAJCUNEQzk3OUY1MUM0OThDMDkwMERC
NTBENCAvKiBXZWJDb3JlTlNFcnJvckV4dHJhcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDOTc5RjMxQzQ5OEMwOTAwREI1MEQ0IC8qIFdlYkNvcmVO
U0Vycm9yRXh0cmFzLmggKi87IH07CiAJCUNEQ0E5OEVCMThCMkM4RUIwMEMxMkZGOSAvKiBMZWdh
Y3lDRE1Qcml2YXRlTWVkaWFQbGF5ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0RDQTk4RUExOEIyQzhFQjAwQzEyRkY5IC8qIExlZ2FjeUNETVBy
aXZhdGVNZWRpYVBsYXllci5jcHAgKi87IH07Ci0JCUNEQ0M5QkNGMjIzODdFOUEwMEZGQjUxQyAv
KiBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDQzlCQ0UyMjM4N0U5QTAwRkZCNTFDIC8qIE1lZGlh
Q2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmggKi87IH07Ci0JCUNEQ0M5QkQxMjIzODdFQUEwMEZG
QjUxQyAvKiBNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDQzlCRDAyMjM4N0VBQTAwRkZCNTFDIC8q
IE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvLmggKi87IH07CisJCUNEQ0M5QkNGMjIzODdF
OUEwMEZGQjUxQyAvKiBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDQzlCQ0UyMjM4N0U5QTAwRkZC
NTFDIC8qIE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0RDQzlCRDEyMjM4N0VBQTAwRkZCNTFD
IC8qIE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRENDOUJEMDIyMzg3RUFBMDBGRkI1MUMgLyogTWVk
aWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQlDRENENDFFODFDM0REQjBBMDA5NjVEOTkgLyogUGFyc2Vk
Q29udGVudFJhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDRENENDFFNjFDM0REQjA5MDA5NjVEOTkgLyogUGFyc2VkQ29udGVudFJhbmdlLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0RDRkFCQkQx
OEMwQUY3ODAwNkY4NDUwIC8qIEhpZ2hsaWdodERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQ0ZBQkJCMThDMEFFMzEwMDZGODQ1MCAvKiBIaWdo
bGlnaHREYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJQ0RENzA4OTcxODM1OUY2RjAwMkIzREM2IC8qIFNhbXBsZU1hcC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RENzA4OTUxODM1OUY2RjAwMkIz
REM2IC8qIFNhbXBsZU1hcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CkBAIC0zMTAyNiw2ICszMTAzOCw3IEBACiAJCQkJODM3ODg3ODIyNEQ4QTYwOTAw
MEQ0QTVCIC8qIEF1ZGlvQnVmZmVyU291cmNlT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RkQzMTYwN0MxMkIwMjZGNzAwQzFBMzU5IC8qIEF1ZGlvQnVzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlGRDMxNjA3RTEyQjAyNkY3MDBDMUEzNTkgLyogQXVkaW9DaGFubmVsLmggaW4gSGVhZGVycyAq
LywKKwkJCQlDRDNFRUYzQTI1Nzk5Rjg4MDA2NTYzQkIgLyogQXVkaW9Db25maWd1cmF0aW9uLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlGRDMxNjAwNTEyQjAyNjc2MDBDMUEzNTkgLyogQXVkaW9Db250
ZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQlFNzg1RDk2MjI0QjdGNzM1MDAxNERCMjEgLyogQXVk
aW9Db250ZXh0TGF0ZW5jeUNhdGVnb3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQlFNzg1RDk2MTI0
QjdGNzM1MDAxNERCMjEgLyogQXVkaW9Db250ZXh0T3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCkBA
IC0zMTMxMyw2ICszMTMyNiw3IEBACiAJCQkJRjQ4RDJBQTUyMTU5NzQwRDAwQzY3NTJCIC8qIENv
bG9yQ29jb2EuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDQUM2QUYwMjQ3RjQxMTAwMEU2MUQ1OSAv
KiBDb2xvckNvbXBvbmVudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNTE0RTAzMjRBRjgwNUUw
MDUwNzEwRiAvKiBDb2xvckNvbnZlcnNpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUNEM0VFRjND
MjU3OTlGQUIwMDY1NjNCQiAvKiBDb2xvckdhbXV0LmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTAz
QjdERjFEQjAxNTY3MDA4QkI4OTAgLyogQ29sb3JIYXNoLmggaW4gSGVhZGVycyAqLywKIAkJCQlG
NTVCM0RCNDEyNTFGMTJEMDAzRUYyNjkgLyogQ29sb3JJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCUNFNTE2OUU3MjFGMUI4NDcwMEVBNEY3OCAvKiBDb2xvcklPUy5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0zMjEyMSw2ICszMjEzNSw3IEBACiAJCQkJMjZFQTg5QTcxQjRGMkI3NTAwOEM1RkQy
IC8qIEhhc2hhYmxlQWN0aW9uTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQ4MkI3NDYxMTk4
QzM1NDAwQkZCMDA1IC8qIEhhc2hDaGFuZ2VFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg3
NDhCRTAxMkNCRjJEQzAwMUZCQTQxIC8qIEhhc2hUb29scy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
Q0QzRUVGM0QyNTc5OUZCNTAwNjU2M0JCIC8qIEhkck1ldGFkYXRhVHlwZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQ0RBNTk1OTMyMTQ2REVDMzAwQTg0MTg1IC8qIEhFVkNVdGlsaXRpZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUNEQTU5NTk4MjE0NkRGNzgwMEE4NDE4NSAvKiBIRVZDVXRpbGl0aWVz
Q29jb2EuaCBpbiBIZWFkZXJzICovLAogCQkJCUY1NUIzREMwMTI1MUYxMkQwMDNFRjI2OSAvKiBI
aWRkZW5JbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLApAQCAtMzM1MTAsMTEgKzMzNTI1LDE1IEBA
CiAJCQkJOTMxQkNDNjExMTI0REZDQjAwQkU3MEREIC8qIE1lZGlhQ2FuU3RhcnRMaXN0ZW5lci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RDQzlCQ0YyMjM4N0U5QTAwRkZCNTFDIC8qIE1lZGlhQ2Fw
YWJpbGl0aWVzRGVjb2RpbmdJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRENDOUJEMTIyMzg3
RUFBMDBGRkI1MUMgLyogTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaCBpbiBIZWFkZXJz
ICovLAorCQkJCUNEM0VFRjM3MjU3OTlFRkUwMDY1NjNCQiAvKiBNZWRpYUNhcGFiaWxpdGllc0lu
Zm8uaCBpbiBIZWFkZXJzICovLAorCQkJCUNEM0VFRjM5MjU3OTlGN0YwMDY1NjNCQiAvKiBNZWRp
YUNvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTA3OEUwOTNBMTdEMTZFMUMwMDQy
MEFBMSAvKiBNZWRpYUNvbnN0cmFpbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREY2NUNDODE0
NUIxRTc1MDBDNEM3QUEgLyogTWVkaWFDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlD
REY2NUNDQTE0NUI0NDg4MDBDNEM3QUEgLyogTWVkaWFDb250cm9sbGVySW50ZXJmYWNlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlDREFCNkQyOTE3QzdERTZDMDBDNjBCMzQgLyogTWVkaWFDb250cm9s
c0hvc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxNzI1M0FCMTM1NEJCQkMwMDM2MEYyQSAvKiBN
ZWRpYUNvbnRyb2xUZXh0VHJhY2tDb250YWluZXJFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJ
CQlDRDNFRUYzODI1Nzk5RjczMDA2NTYzQkIgLyogTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24u
aCBpbiBIZWFkZXJzICovLAorCQkJCUNEM0VFRjNFMjU3OTlGQzcwMDY1NjNCQiAvKiBNZWRpYURl
Y29kaW5nVHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RGMkIwMDQxODFGMDU5QzAwRjJCNDI0
IC8qIE1lZGlhRGVzY3JpcHRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTE1MTQ1QjkwMUIzQTFD
RTAwMDY2MkJGNyAvKiBNZWRpYURldmljZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTVFQTcy
NUQzMUFDQUJENDcwMEVBRDE3QiAvKiBNZWRpYURldmljZXMuaCBpbiBIZWFkZXJzICovLApAQCAt
MzM1MjIsOSArMzM1NDEsMTIgQEAKIAkJCQlGRDZGMjUyRDEzRjVFRjBFMDA2NTE2NUYgLyogTWVk
aWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzBBMUM3RDI0
REI3ODhCMDAyRUNDQUQgLyogTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VPcHRpb25zLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkwN0ZFOTlERDE4ODA3QTdEMDAyNTY2NDggLyogTWVkaWFFbGVtZW50U2Vz
c2lvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0QzRUVGM0YyNTc5OUZDQzAwNjU2M0JCIC8qIE1l
ZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDNFRUY0MDI1
Nzk5RkQwMDA2NTYzQkIgLyogTWVkaWFFbmNvZGluZ1R5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTJEOUJGNzA2MURCRkJCMjQwMDdBN0Q5OSAvKiBNZWRpYUVuY3J5cHRlZEV2ZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQkyRDlCRjcwODFEQkZCQjI0MDA3QTdEOTkgLyogTWVkaWFFbmNyeXB0ZWRF
dmVudEluaXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxQjI4QjE1MUY4NTAxRDMwMEZCNTJBQyAv
KiBNZWRpYUVuZHBvaW50Q29uZmlndXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0QzRUVG
NDIyNTc5QjQ0QTAwNjU2M0JCIC8qIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaCBp
biBIZWFkZXJzICovLAogCQkJCUNEQzQ4QUM5MjE0OUNGMkEwMDI0RkQ1OSAvKiBNZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5Q29jb2EuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0NDYxM0FE
MENENjMzMTAwMEZBREE3NSAvKiBNZWRpYUVycm9yLmggaW4gSGVhZGVycyAqLywKIAkJCQk0RTE5
NTkyMjBBMzlEQUJBMDAyMjBGRTUgLyogTWVkaWFGZWF0dXJlTmFtZXMuaCBpbiBIZWFkZXJzICov
LApAQCAtMzQ5NDksNiArMzQ5NzEsNyBAQAogCQkJCUJFOTEzRDgwMTgxRUY5MjQwMERDQjA5RSAv
KiBUcmFja1ByaXZhdGVCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRkFDMzBGRTE4NEZCMTQ1
MDA4QzRGMUUgLyogVHJhaWxpbmdPYmplY3RzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTYwNzEz
MjFCRDgzMDhCMDBEQkM0RjIgLyogVHJhbnNhY3Rpb25PcGVyYXRpb24uaCBpbiBIZWFkZXJzICov
LAorCQkJCUNEM0VFRjQxMjU3OTlGRDkwMDY1NjNCQiAvKiBUcmFuc2ZlckZ1bmN0aW9uLmggaW4g
SGVhZGVycyAqLywKIAkJCQk0OUU5MTFDNDBFRjg2RDQ3MDA5RDBDQUYgLyogVHJhbnNmb3JtYXRp
b25NYXRyaXguaCBpbiBIZWFkZXJzICovLAogCQkJCUZCNDg0RjREMTcxRjgyMUUwMDA0MDc1NSAv
KiBUcmFuc2Zvcm1GdW5jdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RTkxMUNFMEVGODZE
NDcwMDlEMENBRiAvKiBUcmFuc2Zvcm1PcGVyYXRpb24uaCBpbiBIZWFkZXJzICovLApAQCAtMzUw
MjgsNiArMzUwNTEsNyBAQAogCQkJCTBGMUEwQzM4MjI5QTQ4MTgwMEQzN0FEQiAvKiBWZWxvY2l0
eURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCURGNEUzOEUwMjUyNzk1OTUwMDJBNzQ4MSAvKiBW
ZXJzaW9uQ2hlY2tzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0EyNTcxNTEyOTNDMDEwMDA3QTI2
M0QgLyogVmVydGljYWxQb3NpdGlvbkNhY2hlLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDNFRUYz
QjI1Nzk5RkExMDA2NTYzQkIgLyogVmlkZW9Db25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCQk1MkIwRDRDMDFDNTdGRDY2MDA3N0NFNTMgLyogVmlkZW9GdWxsc2NyZWVuQ2hhbmdlT2Jz
ZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTNGQkM0QUY0MTg5ODgxNTYwMDQ2RUUzOCAvKiBW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTJCMEQ0
QzIxQzU3RkY5MTAwNzdDRTUzIC8qIFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZU1hYy5oIGluIEhl
YWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFi
aWxpdGllc0RlY29kaW5nSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBh
YmlsaXRpZXNEZWNvZGluZ0luZm8uaAppbmRleCA4MWNmMzc2MDY2NDZlZjEzZTdjOTA0YWZjYWU3
MjkwODUwMDk0ODY1Li4wY2RjNTJkYmIxYTY5YjVjMGZmNjNkMGU0YjFlNDc0OTZlNmMzZmQ2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0RlY29k
aW5nSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVz
RGVjb2RpbmdJbmZvLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgIk1lZGlhQ2FwYWJp
bGl0aWVzSW5mby5oIgogI2luY2x1ZGUgIk1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLmgiCisj
aW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDYs
NiArNDcsMzYgQEAgc3RydWN0IE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvIDogTWVkaWFD
YXBhYmlsaXRpZXNJbmZvIHsKICAgICB9CiAKICAgICBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlv
biBzdXBwb3J0ZWRDb25maWd1cmF0aW9uOworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4g
dm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+
IHN0YXRpYyBPcHRpb25hbDxNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbz4gZGVjb2RlKERl
Y29kZXImKTsKIH07CiAKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIE1lZGlhQ2FwYWJp
bGl0aWVzRGVjb2RpbmdJbmZvOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAg
ICBNZWRpYUNhcGFiaWxpdGllc0luZm86OmVuY29kZShlbmNvZGVyKTsKKyAgICBlbmNvZGVyIDw8
IHN1cHBvcnRlZENvbmZpZ3VyYXRpb247CiB9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+CitP
cHRpb25hbDxNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbz4gTWVkaWFDYXBhYmlsaXRpZXNE
ZWNvZGluZ0luZm86OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIE9wdGlvbmFsPE1l
ZGlhQ2FwYWJpbGl0aWVzSW5mbz4gaW5mbyA9IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbzo6ZGVjb2Rl
KGRlY29kZXIpOworICAgIGRlY29kZXIgPj4gaW5mbzsKKyAgICBpZiAoIWluZm8pCisgICAgICAg
IHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxNZWRpYURlY29kaW5nQ29uZmln
dXJhdGlvbj4gc3VwcG9ydGVkQ29uZmlndXJhdGlvbjsKKyAgICBkZWNvZGVyID4+IHN1cHBvcnRl
ZENvbmZpZ3VyYXRpb247CisgICAgaWYgKCFzdXBwb3J0ZWRDb25maWd1cmF0aW9uKQorICAgICAg
ICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgcmV0dXJuIE1lZGlhQ2FwYWJpbGl0aWVzRGVj
b2RpbmdJbmZvKAorICAgICAgICBXVEZNb3ZlKCppbmZvKSwKKyAgICAgICAgV1RGTW92ZSgqc3Vw
cG9ydGVkQ29uZmlndXJhdGlvbikKKyAgICApOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVz
RW5jb2RpbmdJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGll
c0VuY29kaW5nSW5mby5oCmluZGV4IDQyZDM4NTNjYjNjZDk2NDYwMzI0MTdmMTYxNmFkNjY1ZTFk
YzEzYTguLmIzYTE0YmI4NzBkM2EyMjM5OWFlNjI1NjA4OGU4MzBjNWEwNWJlNGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZv
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGlu
Z0luZm8uaApAQCAtMjcsNiArMjcsNyBAQAogCiAjaW5jbHVkZSAiTWVkaWFDYXBhYmlsaXRpZXNJ
bmZvLmgiCiAjaW5jbHVkZSAiTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaCIKKyNpbmNsdWRl
IDx3dGYvT3B0aW9uYWwuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Niw2ICs0Nywz
NSBAQCBzdHJ1Y3QgTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8gOiBNZWRpYUNhcGFiaWxp
dGllc0luZm8gewogICAgIH0KIAogICAgIE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uIHN1cHBv
cnRlZENvbmZpZ3VyYXRpb247CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVu
Y29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGlj
IE9wdGlvbmFsPE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvPiBkZWNvZGUoRGVjb2RlciYp
OwogfTsKIAordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK3ZvaWQgTWVkaWFDYXBhYmlsaXRpZXNF
bmNvZGluZ0luZm86OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAgIE1lZGlh
Q2FwYWJpbGl0aWVzSW5mbzo6ZW5jb2RlKGVuY29kZXIpOworICAgIGVuY29kZXIgPDwgc3VwcG9y
dGVkQ29uZmlndXJhdGlvbjsKIH0KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KK09wdGlvbmFs
PE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvPiBNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5n
SW5mbzo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCit7CisgICAgT3B0aW9uYWw8TWVkaWFDYXBh
YmlsaXRpZXNJbmZvPiBpbmZvID0gTWVkaWFDYXBhYmlsaXRpZXNJbmZvOjpkZWNvZGUoZGVjb2Rl
cik7CisgICAgaWYgKCFpbmZvKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAg
T3B0aW9uYWw8TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24+IHN1cHBvcnRlZENvbmZpZ3VyYXRp
b247CisgICAgZGVjb2RlciA+PiBzdXBwb3J0ZWRDb25maWd1cmF0aW9uOworICAgIGlmICghc3Vw
cG9ydGVkQ29uZmlndXJhdGlvbikKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAg
IHJldHVybiBNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbygKKyAgICAgICAgV1RGTW92ZSgq
aW5mbyksCisgICAgICAgIFdURk1vdmUoKnN1cHBvcnRlZENvbmZpZ3VyYXRpb24pCisgICAgKTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0luZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL01lZGlhQ2FwYWJpbGl0aWVzSW5mby5oCmluZGV4IDJkZGU3ODdkN2I4YWM2YTAwZDFhNmUz
OTFlYTVlYTcyYzAxNDdlZDguLjIzM2FhNDY0ZTIyNzhjMWYxZWY5YWQ5YjgyNDQxZjdjYmEzNmYw
NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVz
SW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzSW5m
by5oCkBAIC0yNSwxMiArMjUsNTEgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlIDx3dGYv
T3B0aW9uYWwuaD4KKwogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAogc3RydWN0IE1lZGlhQ2Fw
YWJpbGl0aWVzSW5mbyB7CiAgICAgYm9vbCBzdXBwb3J0ZWQgeyBmYWxzZSB9OwogICAgIGJvb2wg
c21vb3RoIHsgZmFsc2UgfTsKICAgICBib29sIHBvd2VyRWZmaWNpZW50IHsgZmFsc2UgfTsKKwor
ICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsK
KyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgT3B0aW9uYWw8TWVkaWFDYXBhYmls
aXRpZXNJbmZvPiBkZWNvZGUoRGVjb2RlciYpOwogfTsKLSAgICAKKwordGVtcGxhdGU8Y2xhc3Mg
RW5jb2Rlcj4KK3ZvaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvOjplbmNvZGUoRW5jb2RlciYgZW5j
b2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IHN1cHBvcnRlZDsKKyAgICBlbmNvZGVyIDw8
IHNtb290aDsKKyAgICBlbmNvZGVyIDw8IHBvd2VyRWZmaWNpZW50OwogfQorCit0ZW1wbGF0ZTxj
bGFzcyBEZWNvZGVyPgorT3B0aW9uYWw8TWVkaWFDYXBhYmlsaXRpZXNJbmZvPiBNZWRpYUNhcGFi
aWxpdGllc0luZm86OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIE9wdGlvbmFsPGJv
b2w+IHN1cHBvcnRlZDsKKyAgICBkZWNvZGVyID4+IHN1cHBvcnRlZDsKKyAgICBpZiAoIXN1cHBv
cnRlZCkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPGJvb2w+
IHNtb290aDsKKyAgICBkZWNvZGVyID4+IHNtb290aDsKKyAgICBpZiAoIXNtb290aCkKKyAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPGJvb2w+IHBvd2VyRWZmaWNp
ZW50OworICAgIGRlY29kZXIgPj4gcG93ZXJFZmZpY2llbnQ7CisgICAgaWYgKCFwb3dlckVmZmlj
aWVudCkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIHJldHVybiB7eworICAg
ICAgICAqc3VwcG9ydGVkLAorICAgICAgICAqc21vb3RoLAorICAgICAgICAqcG93ZXJFZmZpY2ll
bnQsCisgICAgfX07Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvQXVkaW9Db25maWd1cmF0
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9BdWRpb0Nv
bmZpZ3VyYXRpb24uaAppbmRleCA4ZmExNGE1MjRjMDQ1ZmVkZWNjM2ZhNTU0ZjQ4MDk2YTQ5MzQ4
YWRiLi41NzY3OWM0MjkyZjlhMDA1MjE4NWY2ZjkzOWU1ZmU1ODA4YmJjOGVkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9BdWRpb0NvbmZpZ3Vy
YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9B
dWRpb0NvbmZpZ3VyYXRpb24uaApAQCAtMjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAor
I2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNSw2ICszNiw1NiBAQCBzdHJ1Y3QgQXVkaW9D
b25maWd1cmF0aW9uIHsKICAgICBPcHRpb25hbDx1aW50NjRfdD4gYml0cmF0ZTsKICAgICBPcHRp
b25hbDx1aW50MzJfdD4gc2FtcGxlcmF0ZTsKICAgICBPcHRpb25hbDxib29sPiBzcGF0aWFsUmVu
ZGVyaW5nOworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2Rl
ciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBPcHRpb25hbDxB
dWRpb0NvbmZpZ3VyYXRpb24+IGRlY29kZShEZWNvZGVyJik7CiB9OwogCit0ZW1wbGF0ZTxjbGFz
cyBFbmNvZGVyPgordm9pZCBBdWRpb0NvbmZpZ3VyYXRpb246OmVuY29kZShFbmNvZGVyJiBlbmNv
ZGVyKSBjb25zdAoreworICAgIGVuY29kZXIgPDwgY29udGVudFR5cGU7CisgICAgZW5jb2RlciA8
PCBjaGFubmVsczsKKyAgICBlbmNvZGVyIDw8IGJpdHJhdGU7CisgICAgZW5jb2RlciA8PCBzYW1w
bGVyYXRlOworICAgIGVuY29kZXIgPDwgc3BhdGlhbFJlbmRlcmluZzsKK30KKwordGVtcGxhdGU8
Y2xhc3MgRGVjb2Rlcj4KK09wdGlvbmFsPEF1ZGlvQ29uZmlndXJhdGlvbj4gQXVkaW9Db25maWd1
cmF0aW9uOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBPcHRpb25hbDxTdHJpbmc+
IGNvbnRlbnRUeXBlOworICAgIGRlY29kZXIgPj4gY29udGVudFR5cGU7CisgICAgaWYgKCFjb250
ZW50VHlwZSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPFN0
cmluZz4gY2hhbm5lbHM7CisgICAgZGVjb2RlciA+PiBjaGFubmVsczsKKyAgICBpZiAoIWNoYW5u
ZWxzKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8T3B0aW9u
YWw8dWludDY0X3Q+PiBiaXRyYXRlOworICAgIGRlY29kZXIgPj4gYml0cmF0ZTsKKyAgICBpZiAo
IWJpdHJhdGUpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxP
cHRpb25hbDx1aW50MzJfdD4+IHNhbXBsZVJhdGU7CisgICAgZGVjb2RlciA+PiBzYW1wbGVSYXRl
OworICAgIGlmICghc2FtcGxlUmF0ZSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKwor
ICAgIE9wdGlvbmFsPE9wdGlvbmFsPGJvb2w+PiBzcGF0aWFsUmVuZGVyaW5nOworICAgIGRlY29k
ZXIgPj4gc3BhdGlhbFJlbmRlcmluZzsKKyAgICBpZiAoIXNwYXRpYWxSZW5kZXJpbmcpCisgICAg
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICByZXR1cm4ge3sKKyAgICAgICAgKmNvbnRl
bnRUeXBlLAorICAgICAgICAqY2hhbm5lbHMsCisgICAgICAgICpiaXRyYXRlLAorICAgICAgICAq
c2FtcGxlUmF0ZSwKKyAgICAgICAgKnNwYXRpYWxSZW5kZXJpbmcKKyAgICB9fTsKK30KKwogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFjYXBhYmlsaXRpZXMvQ29sb3JHYW11dC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFjYXBhYmlsaXRpZXMvQ29sb3JHYW11dC5oCmluZGV4IDE4MTNlMzUzZGFlMTI0OGRiNWU4
ZDJjOGNkNjU2ODMyNGJkMzBjZDMuLjI4ZDAyNDJjMWQ1MmM3MmJmOGE2YmYxNTIzZDA4NDQxOTQ4
YTUwN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0
aWVzL0NvbG9yR2FtdXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFi
aWxpdGllcy9Db2xvckdhbXV0LmgKQEAgLTI3LDEwICsyNywyMyBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWVudW0gY2xhc3MgQ29sb3JHYW11dCB7CitlbnVtIGNsYXNzIENvbG9yR2FtdXQg
OiB1aW50OF90IHsKICAgICBTUkdCLAogICAgIFAzLAogICAgIFJlYzIwMjAsCiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVj
dCBFbnVtVHJhaXRzPFdlYkNvcmU6OkNvbG9yR2FtdXQ+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBF
bnVtVmFsdWVzPAorICAgICAgICBXZWJDb3JlOjpDb2xvckdhbXV0LAorICAgICAgICBXZWJDb3Jl
OjpDb2xvckdhbXV0OjpTUkdCLAorICAgICAgICBXZWJDb3JlOjpDb2xvckdhbXV0OjpQMywKKyAg
ICAgICAgV2ViQ29yZTo6Q29sb3JHYW11dDo6UmVjMjAyMAorICAgID47Cit9OworCit9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9IZHJNZXRh
ZGF0YVR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL0hk
ck1ldGFkYXRhVHlwZS5oCmluZGV4IDY1YzFkMGVlMjlkODg0ZjliZTg5ZjY5ZWI1MGRlM2FjYWU4
MjMwYWUuLjAyNDk5ODJmNWE4ODUyNTBiNTI4ZThlODQ5N2RmNDk3ZmY5MzFkMGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL0hkck1ldGFkYXRh
VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL0hk
ck1ldGFkYXRhVHlwZS5oCkBAIC0yNywxMCArMjcsMjMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1lbnVtIGNsYXNzIEhkck1ldGFkYXRhVHlwZSB7CitlbnVtIGNsYXNzIEhkck1ldGFkYXRh
VHlwZSA6IHVpbnQ4X3QgewogICAgIFNtcHRlU3QyMDg2LAogICAgIFNtcHRlU3QyMDk0MTAsCiAg
ICAgU21wdGVTdDIwOTQ0MAogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCituYW1lc3Bh
Y2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpIZHJNZXRh
ZGF0YVR5cGU+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJD
b3JlOjpIZHJNZXRhZGF0YVR5cGUsCisgICAgICAgIFdlYkNvcmU6Okhkck1ldGFkYXRhVHlwZTo6
U21wdGVTdDIwODYsCisgICAgICAgIFdlYkNvcmU6Okhkck1ldGFkYXRhVHlwZTo6U21wdGVTdDIw
OTQxMCwKKyAgICAgICAgV2ViQ29yZTo6SGRyTWV0YWRhdGFUeXBlOjpTbXB0ZVN0MjA5NDQwCisg
ICAgPjsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
Y2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5nLmgKaW5k
ZXggOGFiN2UyNzY0MWMxYjYyODgyYTQ4OWQxMTRmOGMxNzI5NGU3Zjk5OS4uMmNlYjZmNjZmOGM4
NWM4NzRmODJlOWQxNjk2ZWNhYzhmNjA0OWMxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5nLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmls
aXRpZXNMb2dnaW5nLmgKQEAgLTM4LDExICszOCwxMSBAQCBzdHJ1Y3QgTWVkaWFDYXBhYmlsaXRp
ZXNJbmZvOwogc3RydWN0IE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvOwogc3RydWN0IE1l
ZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvOwogCi1lbnVtIGNsYXNzIENvbG9yR2FtdXQ7Ci1l
bnVtIGNsYXNzIEhkck1ldGFkYXRhVHlwZTsKLWVudW0gY2xhc3MgVHJhbnNmZXJGdW5jdGlvbjsK
LWVudW0gY2xhc3MgTWVkaWFEZWNvZGluZ1R5cGU7Ci1lbnVtIGNsYXNzIE1lZGlhRW5jb2RpbmdU
eXBlOworZW51bSBjbGFzcyBDb2xvckdhbXV0IDogdWludDhfdDsKK2VudW0gY2xhc3MgSGRyTWV0
YWRhdGFUeXBlIDogdWludDhfdDsKK2VudW0gY2xhc3MgVHJhbnNmZXJGdW5jdGlvbiA6IHVpbnQ4
X3Q7CitlbnVtIGNsYXNzIE1lZGlhRGVjb2RpbmdUeXBlIDogYm9vbDsKK2VudW0gY2xhc3MgTWVk
aWFFbmNvZGluZ1R5cGUgOiBib29sOwogCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ29uZmlndXJhdGlvbi5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDb25maWd1cmF0aW9uLmgK
aW5kZXggZDAxYWQ2ZTkzMjQxMmNhMWI1N2M0MzA2NWM2ZjIyNjAzYjhlMGQ0Yy4uYzA4NjhlNGFi
OWQ0ZTA5OGFiYzUxOTA0N2YxZjU2YmFmMzU0NDhlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDb25maWd1cmF0aW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDb25maWd1cmF0
aW9uLmgKQEAgLTM0LDYgKzM0LDM2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0cnVjdCBNZWRp
YUNvbmZpZ3VyYXRpb24gewogICAgIE9wdGlvbmFsPFZpZGVvQ29uZmlndXJhdGlvbj4gdmlkZW87
CiAgICAgT3B0aW9uYWw8QXVkaW9Db25maWd1cmF0aW9uPiBhdWRpbzsKKworICAgIHRlbXBsYXRl
PGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0
ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgT3B0aW9uYWw8TWVkaWFDb25maWd1cmF0aW9uPiBkZWNv
ZGUoRGVjb2RlciYpOwogfTsKIAordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK3ZvaWQgTWVkaWFD
b25maWd1cmF0aW9uOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNv
ZGVyIDw8IHZpZGVvOworICAgIGVuY29kZXIgPDwgYXVkaW87CiB9CisKK3RlbXBsYXRlPGNsYXNz
IERlY29kZXI+CitPcHRpb25hbDxNZWRpYUNvbmZpZ3VyYXRpb24+IE1lZGlhQ29uZmlndXJhdGlv
bjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCit7CisgICAgT3B0aW9uYWw8T3B0aW9uYWw8Vmlk
ZW9Db25maWd1cmF0aW9uPj4gdmlkZW87CisgICAgZGVjb2RlciA+PiB2aWRlbzsKKyAgICBpZiAo
IXZpZGVvKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8T3B0
aW9uYWw8QXVkaW9Db25maWd1cmF0aW9uPj4gYXVkaW87CisgICAgZGVjb2RlciA+PiBhdWRpbzsK
KyAgICBpZiAoIWF1ZGlvKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgcmV0
dXJuIHt7CisgICAgICAgICp2aWRlbywKKyAgICAgICAgKmF1ZGlvLAorICAgIH19OworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5nQ29uZmln
dXJhdGlvbi5oCmluZGV4IDU1YzA0NTE4MjI3MDkzYmU5ZTNiNTdmZGVlY2FlMzEzNjJkZWJjNDYu
LjM4MDkyMmYyMDk1NzNhYzE2OWFmMmRmZjMxMWFlNWEwNjg5YzExZDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdDb25m
aWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRp
ZXMvTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24uaApAQCAtMzIsNiArMzIsMzUgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBzdHJ1Y3QgTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24gOiBNZWRp
YUNvbmZpZ3VyYXRpb24gewogICAgIE1lZGlhRGVjb2RpbmdUeXBlIHR5cGU7CisKKyAgICB0ZW1w
bGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVt
cGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIE9wdGlvbmFsPE1lZGlhRGVjb2RpbmdDb25maWd1
cmF0aW9uPiBkZWNvZGUoRGVjb2RlciYpOwogfTsKIAordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4K
K3ZvaWQgTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb246OmVuY29kZShFbmNvZGVyJiBlbmNvZGVy
KSBjb25zdAoreworICAgIE1lZGlhQ29uZmlndXJhdGlvbjo6ZW5jb2RlKGVuY29kZXIpOworICAg
IGVuY29kZXIgPDwgdHlwZTsKIH0KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KK09wdGlvbmFs
PE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uPiBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbjo6
ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCit7CisgICAgT3B0aW9uYWw8TWVkaWFDb25maWd1cmF0
aW9uPiBtZWRpYUNvbmZpZ3VyYXRpb24gPSBNZWRpYUNvbmZpZ3VyYXRpb246OmRlY29kZShkZWNv
ZGVyKTsKKyAgICBpZiAoIW1lZGlhQ29uZmlndXJhdGlvbikKKyAgICAgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPE1lZGlhRGVjb2RpbmdUeXBlPiB0eXBlOworICAgIGRl
Y29kZXIgPj4gdHlwZTsKKyAgICBpZiAoIXR5cGUpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7CisKKyAgICByZXR1cm4ge3sKKyAgICAgICAgKm1lZGlhQ29uZmlndXJhdGlvbiwKKyAgICAg
ICAgKnR5cGUsCisgICAgfX07Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNv
ZGluZ1R5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01l
ZGlhRGVjb2RpbmdUeXBlLmgKaW5kZXggODkwZTdmODRkOTg3MjRjMDI0YWM1Y2YwMjhkMjFlNjM3
ZTcyODNmMS4uNDE1ZTBiNzIwOWVhNTBlMTU5NmIyYThiZDJmMmEzOTI4MzYxODhhNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNv
ZGluZ1R5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGll
cy9NZWRpYURlY29kaW5nVHlwZS5oCkBAIC0yNyw5ICsyNywyMSBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWVudW0gY2xhc3MgTWVkaWFEZWNvZGluZ1R5cGUgeworZW51bSBjbGFzcyBNZWRp
YURlY29kaW5nVHlwZSA6IGJvb2wgewogICAgIEZpbGUsCiAgICAgTWVkaWFTb3VyY2UsCiB9Owog
CiB9CisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdl
YkNvcmU6Ok1lZGlhRGVjb2RpbmdUeXBlPiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVl
czwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFEZWNvZGluZ1R5cGUsCisgICAgICAgIFdlYkNvcmU6
Ok1lZGlhRGVjb2RpbmdUeXBlOjpGaWxlLAorICAgICAgICBXZWJDb3JlOjpNZWRpYURlY29kaW5n
VHlwZTo6TWVkaWFTb3VyY2UKKyAgICA+OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRp
b24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5j
b2RpbmdDb25maWd1cmF0aW9uLmgKaW5kZXggNzI5YjNhMWJlYTdiMjM5ZWZjMTQ3NGQ3NGU2NTEx
MzM2M2EzMzgxZC4uZjA4Y2ExZTg4NzFhMzBiNGI4MTU0YmNmYzlmZTU0MzVmMmJhNDdlZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFF
bmNvZGluZ0NvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbi5oCkBAIC0zMiw2ICszMiwz
NSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBNZWRpYUVuY29kaW5nQ29uZmlndXJh
dGlvbiA6IE1lZGlhQ29uZmlndXJhdGlvbiB7CiAgICAgTWVkaWFFbmNvZGluZ1R5cGUgdHlwZTsK
KworICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25z
dDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgT3B0aW9uYWw8TWVkaWFFbmNv
ZGluZ0NvbmZpZ3VyYXRpb24+IGRlY29kZShEZWNvZGVyJik7CiB9OwogCit0ZW1wbGF0ZTxjbGFz
cyBFbmNvZGVyPgordm9pZCBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbjo6ZW5jb2RlKEVuY29k
ZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgTWVkaWFDb25maWd1cmF0aW9uOjplbmNvZGUoZW5j
b2Rlcik7CisgICAgZW5jb2RlciA8PCB0eXBlOwogfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVy
PgorT3B0aW9uYWw8TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24+IE1lZGlhRW5jb2RpbmdDb25m
aWd1cmF0aW9uOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBPcHRpb25hbDxNZWRp
YUNvbmZpZ3VyYXRpb24+IG1lZGlhQ29uZmlndXJhdGlvbiA9IE1lZGlhQ29uZmlndXJhdGlvbjo6
ZGVjb2RlKGRlY29kZXIpOworICAgIGlmICghbWVkaWFDb25maWd1cmF0aW9uKQorICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8TWVkaWFFbmNvZGluZ1R5cGU+IHR5
cGU7CisgICAgZGVjb2RlciA+PiB0eXBlOworICAgIGlmICghdHlwZSkKKyAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKKworICAgIHJldHVybiB7eworICAgICAgICAqbWVkaWFDb25maWd1cmF0
aW9uLAorICAgICAgICAqdHlwZSwKKyAgICB9fTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGll
cy9NZWRpYUVuY29kaW5nVHlwZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBh
YmlsaXRpZXMvTWVkaWFFbmNvZGluZ1R5cGUuaAppbmRleCBhODdkMGYyNTgxNGQxNjA0MWY0OWM4
MDBmNmJjYWQ3YmQ5ZTM4NGQ4Li4wMTJhOGM2ZDUzOTY3ZDliNGVkYzIyMjNhZTQ5MDA1MzFmNWYx
ZmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGll
cy9NZWRpYUVuY29kaW5nVHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
Y2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdUeXBlLmgKQEAgLTI3LDkgKzI3LDIyIEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotZW51bSBjbGFzcyBNZWRpYUVuY29kaW5nVHlwZSB7CitlbnVt
IGNsYXNzIE1lZGlhRW5jb2RpbmdUeXBlIDogYm9vbCB7CiAgICAgUmVjb3JkLAogICAgIFRyYW5z
bWlzc2lvbiwKIH07CiAKIH0KKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4gc3RydWN0
IEVudW1UcmFpdHM8V2ViQ29yZTo6TWVkaWFFbmNvZGluZ1R5cGU+IHsKKyAgICB1c2luZyB2YWx1
ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJDb3JlOjpNZWRpYUVuY29kaW5nVHlwZSwKKyAg
ICAgICAgV2ViQ29yZTo6TWVkaWFFbmNvZGluZ1R5cGU6OlJlY29yZCwKKyAgICAgICAgV2ViQ29y
ZTo6TWVkaWFFbmNvZGluZ1R5cGU6OlRyYW5zbWlzc2lvbgorICAgID47Cit9OworCit9CisKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5jcHAKaW5k
ZXggOGZmYTZhOWNjNWRmOTQ5MDY0N2E1ZmU0OWQ2MjkyMjBkMDRmNjNkNi4uMDUwY2RmOWZjNTMy
MDJkODEwMGJlZjczMjMzNzU5YjY3NGJjNzhhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9y
eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVk
aWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5jcHAKQEAgLTUzLDMzICs1Myw0OCBAQCBzdGF0
aWMgYm9vbCYgbW9ja0VuYWJsZWQoKQogICAgIHJldHVybiBlbmFibGVkOwogfQogCi1zdHJ1Y3Qg
TWVkaWFFbmdpbmVGYWN0b3J5IHsKLSAgICB2b2lkKCpjcmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRp
b24pKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uJiYsIE1lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3Rvcnk6OkRlY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYpOwotICAgIHZvaWQoKmNy
ZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbikoTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiwg
TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6RW5jb2RpbmdDb25maWd1cmF0aW9uQ2Fs
bGJhY2smJik7Ci19OwotCi11c2luZyBGYWN0b3J5VmVjdG9yID0gVmVjdG9yPE1lZGlhRW5naW5l
RmFjdG9yeT47Ci1zdGF0aWMgY29uc3QgRmFjdG9yeVZlY3RvciYgZmFjdG9yaWVzKCkKK3VzaW5n
IEZhY3RvcnlWZWN0b3IgPSBWZWN0b3I8TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6
TWVkaWFFbmdpbmVGYWN0b3J5PjsKK3N0YXRpYyBGYWN0b3J5VmVjdG9yIGRlZmF1bHRGYWN0b3Jp
ZXMoKQogewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxGYWN0b3J5VmVjdG9yPiBmYWN0b3Jp
ZXMgPSBtYWtlTmV2ZXJEZXN0cm95ZWQoRmFjdG9yeVZlY3Rvcih7CisgICAgRmFjdG9yeVZlY3Rv
ciBmYWN0b3JpZXM7CiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgICAgIHsgJmNyZWF0ZU1lZGlh
UGxheWVyRGVjb2RpbmdDb25maWd1cmF0aW9uQ29jb2EsIG51bGxwdHIgfSwKKyAgICBmYWN0b3Jp
ZXMuYXBwZW5kKHsgJmNyZWF0ZU1lZGlhUGxheWVyRGVjb2RpbmdDb25maWd1cmF0aW9uQ29jb2Es
IG51bGxwdHIgfSk7CiAjZW5kaWYKICNpZiBVU0UoR1NUUkVBTUVSKQotICAgICAgICB7ICZjcmVh
dGVNZWRpYVBsYXllckRlY29kaW5nQ29uZmlndXJhdGlvbkdTdHJlYW1lciwgJmNyZWF0ZU1lZGlh
UGxheWVyRW5jb2RpbmdDb25maWd1cmF0aW9uR1N0cmVhbWVyIH0sCisgICAgZmFjdG9yaWVzLmFw
cGVuZCh7ICZjcmVhdGVNZWRpYVBsYXllckRlY29kaW5nQ29uZmlndXJhdGlvbkdTdHJlYW1lciwg
JmNyZWF0ZU1lZGlhUGxheWVyRW5jb2RpbmdDb25maWd1cmF0aW9uR1N0cmVhbWVyIH0pOwogI2Vu
ZGlmCi0gICAgfSkpOwogICAgIHJldHVybiBmYWN0b3JpZXM7CiB9CiAKK3N0YXRpYyBGYWN0b3J5
VmVjdG9yJiBmYWN0b3JpZXMoKQoreworICAgIHN0YXRpYyBhdXRvIGZhY3RvcmllcyA9IG1ha2VO
ZXZlckRlc3Ryb3llZDxGYWN0b3J5VmVjdG9yPihkZWZhdWx0RmFjdG9yaWVzKCkpOworICAgIHJl
dHVybiBmYWN0b3JpZXM7Cit9CisKK3ZvaWQgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9y
eTo6Y2xlYXJGYWN0b3JpZXMoKQoreworICAgIGZhY3RvcmllcygpLmNsZWFyKCk7Cit9CisKK3Zv
aWQgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6cmVzZXRGYWN0b3JpZXMoKQorewor
ICAgIGZhY3RvcmllcygpID0gZGVmYXVsdEZhY3RvcmllcygpOworfQorCit2b2lkIE1lZGlhRW5n
aW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6Omluc3RhbGxGYWN0b3J5KE1lZGlhRW5naW5lRmFjdG9y
eSYmIGZhY3RvcnkpCit7CisgICAgZmFjdG9yaWVzKCkuYXBwZW5kKFdURk1vdmUoZmFjdG9yeSkp
OworfQorCiBib29sIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6Omhhc0RlY29kaW5n
Q29uZmlndXJhdGlvbkZhY3RvcnkoKQogewotICAgIHJldHVybiBtb2NrRW5hYmxlZCgpIHx8IFdU
Rjo6YW55T2YoZmFjdG9yaWVzKCksIFtdIChhdXRvJiBmYWN0b3J5KSB7IHJldHVybiBmYWN0b3J5
LmNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbjsgfSk7CisgICAgcmV0dXJuIG1vY2tFbmFibGVk
KCkgfHwgV1RGOjphbnlPZihmYWN0b3JpZXMoKSwgW10gKGF1dG8mIGZhY3RvcnkpIHsgcmV0dXJu
IChib29sKWZhY3RvcnkuY3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uOyB9KTsKIH0KIAogYm9v
bCBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpoYXNFbmNvZGluZ0NvbmZpZ3VyYXRp
b25GYWN0b3J5KCkKIHsKLSAgICByZXR1cm4gbW9ja0VuYWJsZWQoKSB8fCBXVEY6OmFueU9mKGZh
Y3RvcmllcygpLCBbXSAoYXV0byYgZmFjdG9yeSkgeyByZXR1cm4gZmFjdG9yeS5jcmVhdGVFbmNv
ZGluZ0NvbmZpZ3VyYXRpb247IH0pOworICAgIHJldHVybiBtb2NrRW5hYmxlZCgpIHx8IFdURjo6
YW55T2YoZmFjdG9yaWVzKCksIFtdIChhdXRvJiBmYWN0b3J5KSB7IHJldHVybiAoYm9vbClmYWN0
b3J5LmNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbjsgfSk7CiB9CiAKIHZvaWQgTWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeTo6Y3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKE1lZGlh
RGVjb2RpbmdDb25maWd1cmF0aW9uJiYgY29uZmlnLCBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25G
YWN0b3J5OjpEZWNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayYmIGNhbGxiYWNrKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFj
YXBhYmlsaXRpZXMvTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oCmluZGV4IDE5Nzc5
M2IxYzk0YWVlZDVmY2NiMmIzNmE5ZDIxYmNmMzI0MjQyNzMuLjMxODU5ZDE5ZjRhNjE3YTc0Y2Q5
NTRjZjEyNzVhY2JmOTNlYzQ5MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5LmgKQEAgLTQ0LDkgKzQ0LDIxIEBAIHB1YmxpYzoKICAgICBzdGF0
aWMgYm9vbCBoYXNEZWNvZGluZ0NvbmZpZ3VyYXRpb25GYWN0b3J5KCk7CiAgICAgc3RhdGljIGJv
b2wgaGFzRW5jb2RpbmdDb25maWd1cmF0aW9uRmFjdG9yeSgpOwogCi0gICAgc3RhdGljIHZvaWQg
Y3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uJiYs
IERlY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYpOwotICAgIHN0YXRpYyB2b2lkIGNyZWF0
ZUVuY29kaW5nQ29uZmlndXJhdGlvbihNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYmLCBFbmNv
ZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayYmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMg
dm9pZCBjcmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRp
b24mJiwgRGVjb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2smJik7CisgICAgV0VCQ09SRV9FWFBP
UlQgc3RhdGljIHZvaWQgY3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uKE1lZGlhRW5jb2RpbmdD
b25maWd1cmF0aW9uJiYsIEVuY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYpOworICAgIAor
ICAgIHVzaW5nIENyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbiA9IFdURjo6RnVuY3Rpb248dm9p
ZChNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiYmLCBEZWNvZGluZ0NvbmZpZ3VyYXRpb25DYWxs
YmFjayYmKT47CisgICAgdXNpbmcgQ3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uID0gV1RGOjpG
dW5jdGlvbjx2b2lkKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uJiYsIEVuY29kaW5nQ29uZmln
dXJhdGlvbkNhbGxiYWNrJiYpPjsKIAorICAgIHN0cnVjdCBNZWRpYUVuZ2luZUZhY3Rvcnkgewor
ICAgICAgICBDcmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24gY3JlYXRlRGVjb2RpbmdDb25maWd1
cmF0aW9uOworICAgICAgICBDcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24gY3JlYXRlRW5jb2Rp
bmdDb25maWd1cmF0aW9uOworICAgIH07CisgICAgCisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGlj
IHZvaWQgY2xlYXJGYWN0b3JpZXMoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBy
ZXNldEZhY3RvcmllcygpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGluc3RhbGxG
YWN0b3J5KE1lZGlhRW5naW5lRmFjdG9yeSYmKTsKKyAgICAKICAgICBXRUJDT1JFX0VYUE9SVCBz
dGF0aWMgdm9pZCBlbmFibGVNb2NrKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQg
ZGlzYWJsZU1vY2soKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYWNhcGFiaWxpdGllcy9UcmFuc2ZlckZ1bmN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9UcmFuc2ZlckZ1bmN0aW9uLmgKaW5kZXggYjE0NWIzYWJi
ZDlmY2M1MThlMzg2ZmY0MTliNmQyYmVmOTdmM2Y0Ni4uNWQzZTE3ZGE5NzI4NDk3YTg3NGVjNTEy
YWFiZjk4NjI0ZTgzODQyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFjYXBhYmlsaXRpZXMvVHJhbnNmZXJGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1RyYW5zZmVyRnVuY3Rpb24uaApAQCAtMjcsMTAgKzI3
LDIzIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotZW51bSBjbGFzcyBUcmFuc2ZlckZ1bmN0
aW9uIHsKK2VudW0gY2xhc3MgVHJhbnNmZXJGdW5jdGlvbiA6IHVpbnQ4X3QgewogICAgIFNSR0Is
CiAgICAgUFEsCiAgICAgSExHCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK25hbWVz
cGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlRyYW5z
ZmVyRnVuY3Rpb24+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBX
ZWJDb3JlOjpUcmFuc2ZlckZ1bmN0aW9uLAorICAgICAgICBXZWJDb3JlOjpUcmFuc2ZlckZ1bmN0
aW9uOjpTUkdCLAorICAgICAgICBXZWJDb3JlOjpUcmFuc2ZlckZ1bmN0aW9uOjpQUSwKKyAgICAg
ICAgV2ViQ29yZTo6VHJhbnNmZXJGdW5jdGlvbjo6SExHCisgICAgPjsKK307CisKK30KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29u
ZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMv
VmlkZW9Db25maWd1cmF0aW9uLmgKaW5kZXggY2Q5ZGNhM2M2NzA1MDA3ZjJiOWU4NjljZTBkNWVj
ZmY1ZWMyZTgwNS4uNDMyNjZkZjViNjYzZjVkMGRlMWFmN2ExY2JhYjI4NDQ4ZjBkNDljZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvVmlkZW9D
b25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmls
aXRpZXMvVmlkZW9Db25maWd1cmF0aW9uLmgKQEAgLTQzLDYgKzQzLDg1IEBAIHN0cnVjdCBWaWRl
b0NvbmZpZ3VyYXRpb24gewogICAgIE9wdGlvbmFsPENvbG9yR2FtdXQ+IGNvbG9yR2FtdXQ7CiAg
ICAgT3B0aW9uYWw8SGRyTWV0YWRhdGFUeXBlPiBoZHJNZXRhZGF0YVR5cGU7CiAgICAgT3B0aW9u
YWw8VHJhbnNmZXJGdW5jdGlvbj4gdHJhbnNmZXJGdW5jdGlvbjsKKworICAgIHRlbXBsYXRlPGNs
YXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxj
bGFzcyBEZWNvZGVyPiBzdGF0aWMgT3B0aW9uYWw8VmlkZW9Db25maWd1cmF0aW9uPiBkZWNvZGUo
RGVjb2RlciYpOwogfTsKIAordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK3ZvaWQgVmlkZW9Db25m
aWd1cmF0aW9uOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVy
IDw8IGNvbnRlbnRUeXBlOworICAgIGVuY29kZXIgPDwgd2lkdGg7CisgICAgZW5jb2RlciA8PCBo
ZWlnaHQ7CisgICAgZW5jb2RlciA8PCBiaXRyYXRlOworICAgIGVuY29kZXIgPDwgZnJhbWVyYXRl
OworICAgIGVuY29kZXIgPDwgYWxwaGFDaGFubmVsOworICAgIGVuY29kZXIgPDwgY29sb3JHYW11
dDsKKyAgICBlbmNvZGVyIDw8IGhkck1ldGFkYXRhVHlwZTsKKyAgICBlbmNvZGVyIDw8IHRyYW5z
ZmVyRnVuY3Rpb247Cit9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+CitPcHRpb25hbDxWaWRl
b0NvbmZpZ3VyYXRpb24+IFZpZGVvQ29uZmlndXJhdGlvbjo6ZGVjb2RlKERlY29kZXImIGRlY29k
ZXIpCit7CisgICAgT3B0aW9uYWw8U3RyaW5nPiBjb250ZW50VHlwZTsKKyAgICBkZWNvZGVyID4+
IGNvbnRlbnRUeXBlOworICAgIGlmICghY29udGVudFR5cGUpCisgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDx1aW50MzJfdD4gd2lkdGg7CisgICAgZGVjb2RlciA+
PiB3aWR0aDsKKyAgICBpZiAoIXdpZHRoKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owor
CisgICAgT3B0aW9uYWw8dWludDMyX3Q+IGhlaWdodDsKKyAgICBkZWNvZGVyID4+IGhlaWdodDsK
KyAgICBpZiAoIWhlaWdodCkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9w
dGlvbmFsPHVpbnQ2NF90PiBiaXRyYXRlOworICAgIGRlY29kZXIgPj4gYml0cmF0ZTsKKyAgICBp
ZiAoIWJpdHJhdGUpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25h
bDxkb3VibGU+IGZyYW1lcmF0ZTsKKyAgICBkZWNvZGVyID4+IGZyYW1lcmF0ZTsKKyAgICBpZiAo
IWZyYW1lcmF0ZSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFs
PE9wdGlvbmFsPGJvb2w+PiBhbHBoYUNoYW5uZWw7CisgICAgZGVjb2RlciA+PiBhbHBoYUNoYW5u
ZWw7CisgICAgaWYgKCFhbHBoYUNoYW5uZWwpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
CisKKyAgICBPcHRpb25hbDxPcHRpb25hbDxDb2xvckdhbXV0Pj4gY29sb3JHYW11dDsKKyAgICBk
ZWNvZGVyID4+IGNvbG9yR2FtdXQ7CisgICAgaWYgKCFjb2xvckdhbXV0KQorICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8T3B0aW9uYWw8SGRyTWV0YWRhdGFUeXBl
Pj4gaGRyTWV0YWRhdGFUeXBlOworICAgIGRlY29kZXIgPj4gaGRyTWV0YWRhdGFUeXBlOworICAg
IGlmICghaGRyTWV0YWRhdGFUeXBlKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisg
ICAgT3B0aW9uYWw8T3B0aW9uYWw8VHJhbnNmZXJGdW5jdGlvbj4+IHRyYW5zZmVyRnVuY3Rpb247
CisgICAgZGVjb2RlciA+PiB0cmFuc2ZlckZ1bmN0aW9uOworICAgIGlmICghdHJhbnNmZXJGdW5j
dGlvbikKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworCisgICAgcmV0dXJuIHt7Cisg
ICAgICAgICpjb250ZW50VHlwZSwKKyAgICAgICAgKndpZHRoLAorICAgICAgICAqaGVpZ2h0LAor
ICAgICAgICAqYml0cmF0ZSwKKyAgICAgICAgKmZyYW1lcmF0ZSwKKyAgICAgICAgKmFscGhhQ2hh
bm5lbCwKKyAgICAgICAgKmNvbG9yR2FtdXQsCisgICAgICAgICpoZHJNZXRhZGF0YVR5cGUsCisg
ICAgICAgICp0cmFuc2ZlckZ1bmN0aW9uLAorICAgIH19OwogfQorCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0Lnhj
ZmlsZWxpc3QgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QK
aW5kZXggZTUxY2FlZDIxZTE4NmNmMmExNzNjYjhhMzMzMTJiZTBiMzA0YmIwMC4uMjY3Y2RkMjk0
M2UxNDZmMDVjYzhlN2MzMTAyMjM5ZGJmNmJlM2I1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRGVy
aXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtMzMsNiArMzMsNyBAQCAkKFBST0pFQ1Rf
RElSKS9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETVByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pF
Q1RfRElSKS9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETUZhY3RvcnlQcm94eS5tZXNz
YWdlcy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1Q
cm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVM
ZWdhY3lDRE1TZXNzaW9uUHJveHkubWVzc2FnZXMuaW4KKyQoUFJPSkVDVF9ESVIpL0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5Lm1lc3Nh
Z2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVy
TWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIubWVzc2FnZXMuaW4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9T
b3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IGU4OGIy
YzIxZmE3MTdjNzdkMjMwMmNiNTE4YmE0YWQzZWRlMjU3NGEuLjYwZDQ0MzAyNmYzNmQ0OTNhY2I2
Mjc5ZDhmN2EwYzMxZWEyYjQ2MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNv
dXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTkzLDYgKzE5Myw5IEBAICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZUxlZ2FjeUNETVNlc3Npb25NZXNzYWdl
c1JlcGxpCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1v
dGVMZWdhY3lDRE1TZXNzaW9uUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJv
eHlNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0
Mi9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJveHlNZXNzYWdlc1JlcGxpZXMuaAorJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeVByb3h5TWVzc2FnZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5
TWVzc2FnZXNSZXBsaWVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhUGxheWVy
TWFuYWdlck1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlck1lc3NhZ2VzUmVwbGllcy5oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViS2l0L0Rl
cml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNjgxNDg1NWZmOWQyM2FmMGE3N2U1ZmRhNmRmZDJmZDU1
MDk3NmY2OS4uMzU4Zjc0YmJkMzI1MTY0ZDI5NTc2MjAxMjdlNGE2MDJkOTJkN2E1NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJL
aXQvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMjQ2LDYgKzI0Niw3IEBAIE1FU1NBR0VfUkVDRUlW
RVJTID0gXAogCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQ0RNRmFjdG9yeVByb3h5IFwKIAlHUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZUNETUluc3RhbmNlUHJveHkgXAogCUdQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTGVnYWN5Q0RNUHJveHkgXAorCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyTWFuYWdlclByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxh
eWVyUHJveHkgXAogCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuY3BwCmluZGV4IDZhOGNhMmY5OTU4NzdjMjgxZDQ3ODkwMzNhMzQzNjU3OWNkMzZj
NjkuLjViN2ZjZjk0OGZjZWFiODRmN2JhMDgzODNjMmZkMDQ5MTBkMmEyMTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5j
cHAKQEAgLTM4LDYgKzM4LDggQEAKICNpbmNsdWRlICJMaWJXZWJSVENDb2RlY3NQcm94eU1lc3Nh
Z2VzLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIlJlbW90ZUF1ZGlvTWVkaWFT
dHJlYW1UcmFja1JlbmRlcmVyTWFuYWdlci5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3RvcnlQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiUmVtb3RlTWVk
aWFQbGF5ZXJNYW5hZ2VyUHJveHkuaCIKICNpbmNsdWRlICJSZW1vdGVNZWRpYVBsYXllck1hbmFn
ZXJQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oIgpA
QCAtMzM5LDYgKzM0MSwxMyBAQCBSZW1vdGVMZWdhY3lDRE1GYWN0b3J5UHJveHkmIEdQVUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3M6OmxlZ2FjeUNkbUZhY3RvcnlQcm94eSgpCiB9CiAjZW5kaWYKIAor
UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5JiBHUFVDb25uZWN0aW9u
VG9XZWJQcm9jZXNzOjptZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkoKQorewor
ICAgIGlmICghbV9tZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkpCisgICAgICAg
IG1fbWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5ID0gbWFrZVVuaXF1ZTxSZW1v
dGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHk+KCp0aGlzKTsKKyAgICByZXR1
cm4gKm1fbWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5OworfQorCiBib29sIEdQ
VUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpc3BhdGNoTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24m
IGNvbm5lY3Rpb24sIElQQzo6RGVjb2RlciYgZGVjb2RlcikKIHsKICNpZiBFTkFCTEUoV0VCX0FV
RElPKQpAQCAtNDE0LDYgKzQyMywxMCBAQCBib29sIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6
OmRpc3BhdGNoTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQwogICAgICAg
ICByZXR1cm4gdHJ1ZTsKICAgICB9CiAjZW5kaWYKKyAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVj
ZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZh
Y3RvcnlQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7CisgICAgICAgIG1lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3RvcnlQcm94eSgpLmRpZFJlY2VpdmVNZXNzYWdlRnJvbVdlYlByb2Nl
c3MoY29ubmVjdGlvbiwgZGVjb2Rlcik7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KIAog
ICAgIHJldHVybiBtZXNzYWdlUmVjZWl2ZXJNYXAoKS5kaXNwYXRjaE1lc3NhZ2UoY29ubmVjdGlv
biwgZGVjb2Rlcik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BV
Q29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAppbmRleCAwZDcwOWRmNWU1MTVhMjE4MGMwOGZjNjIwZGRk
YWQ0Y2M2ZGU4ZDJmLi4wNjYyMzI3NWRkOTZkZjMyYTc1YzE5YjIwYzRjZGRhY2FmY2Y1NDQyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmgKQEAgLTQ5LDYgKzQ5LDcgQEAgY2xhc3MgUmVtb3RlQXVkaW9TZXNzaW9uUHJveHk7
CiBjbGFzcyBSZW1vdGVBdWRpb1Nlc3Npb25Qcm94eU1hbmFnZXI7CiBjbGFzcyBSZW1vdGVDRE1G
YWN0b3J5UHJveHk7CiBjbGFzcyBSZW1vdGVMZWdhY3lDRE1GYWN0b3J5UHJveHk7CitjbGFzcyBS
ZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHk7CiBjbGFzcyBSZW1vdGVN
ZWRpYVBsYXllck1hbmFnZXJQcm94eTsKIGNsYXNzIFJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2Vy
OwogY2xhc3MgUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXI7CkBAIC05NCw2ICs5NSw3IEBAIHB1
YmxpYzoKICNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKICAgICBSZW1vdGVMZWdh
Y3lDRE1GYWN0b3J5UHJveHkmIGxlZ2FjeUNkbUZhY3RvcnlQcm94eSgpOwogI2VuZGlmCisgICAg
UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5JiBtZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5UHJveHkoKTsKICAgICBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQ
cm94eSYgcmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkoKTsKIAogI2lmIFVTRShBVURJT19T
RVNTSU9OKQpAQCAtMTkwLDYgKzE5Miw3IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKExFR0FDWV9F
TkNSWVBURURfTUVESUEpCiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUxlZ2FjeUNETUZhY3Rv
cnlQcm94eT4gbV9sZWdhY3lDZG1GYWN0b3J5UHJveHk7CiAjZW5kaWYKKyAgICBzdGQ6OnVuaXF1
ZV9wdHI8UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5PiBtX21lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5hNjg0MDhhMDgyM2UyYTgzMjUyOGUwMWI5MDY5YTJmNTYyMjg4ZmJh
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5jcHAKQEAgLTAsMCArMSw2NSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRp
YUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuaCIKKworI2lmIEVOQUJMRShHUFVfUFJP
Q0VTUykKKworI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8u
aD4KKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvLmg+Cisj
aW5jbHVkZSA8V2ViQ29yZS9NZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbi5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaD4KKyNpbmNsdWRlIDxXZWJDb3Jl
L01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaD4KKyNpbmNsdWRlIDx3dGYvQWxnb3Jp
dGhtcy5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CisKK1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eTo6UmVtb3RlTWVk
aWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5KEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MmIGNvbm5lY3Rpb24pCisgICAgOiBtX2dwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoY29ubmVj
dGlvbikKK3sKK30KKworUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5
Ojp+UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5KCkgPSBkZWZhdWx0
OworCit2b2lkIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eTo6IGNy
ZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihXZWJDb3JlOjpNZWRpYURlY29kaW5nQ29uZmlndXJh
dGlvbiYmIGNvbmZpZ3VyYXRpb24sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6TWVk
aWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8mJik+JiYgY29tcGxldGlvbikKK3sKKyAgICBNZWRp
YUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjcmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24o
V1RGTW92ZShjb25maWd1cmF0aW9uKSwgW2NvbXBsZXRpb24gPSBXVEZNb3ZlKGNvbXBsZXRpb24p
XSAoYXV0byBpbmZvKSBtdXRhYmxlIHsKKyAgICAgICAgY29tcGxldGlvbihXVEZNb3ZlKGluZm8p
KTsKKyAgICB9KTsKK30KKwordm9pZCBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0
b3J5UHJveHk6OmNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbihXZWJDb3JlOjpNZWRpYUVuY29k
aW5nQ29uZmlndXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
V2ViQ29yZTo6TWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8mJik+JiYgY29tcGxldGlvbikK
K3sKKyAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjcmVhdGVFbmNvZGluZ0Nv
bmZpZ3VyYXRpb24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwgW2NvbXBsZXRpb24gPSBXVEZNb3Zl
KGNvbXBsZXRpb24pXSAoYXV0byBpbmZvKSBtdXRhYmxlIHsKKyAgICAgICAgY29tcGxldGlvbihX
VEZNb3ZlKGluZm8pKTsKKyAgICB9KTsKK30KKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRp
b25GYWN0b3J5UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVN
ZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NDZkNzg4
YjcxNmM2ZGUxNzEyNTA4MWI2Zjk5ODkxYzA1YWY3YzE3Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3RvcnlQcm94eS5oCkBAIC0wLDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKKworI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIK
KyNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhRW5n
aW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaD4KKyNpbmNsdWRlIDx3dGYvVW5pcXVlUmVmLmg+Cisj
aW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIEdQ
VUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CisKK2NsYXNzIFJlbW90ZU1lZGlhRW5naW5lQ29uZmln
dXJhdGlvbkZhY3RvcnlQcm94eSBmaW5hbCA6IHByaXZhdGUgSVBDOjpNZXNzYWdlUmVjZWl2ZXIs
IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0
b3J5UHJveHk+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBS
ZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkoR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2VzcyYpOworICAgIHZpcnR1YWwgflJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3RvcnlQcm94eSgpOworCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZUZyb21XZWJQcm9j
ZXNzKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZWNvZGVyKSB7
IGRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOyB9CisKKyAgICBHUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzJiBncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKCkgY29uc3QgeyBy
ZXR1cm4gbV9ncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOyB9CisKK3ByaXZhdGU6CisgICAgZnJp
ZW5kIGNsYXNzIEdQVVByb2Nlc3NDb25uZWN0aW9uOworICAgIC8vIElQQzo6TWVzc2FnZVJlY2Vp
dmVyCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRl
Y29kZXImKSBmaW5hbDsKKworICAgIC8vIE1lc3NhZ2VzCisgICAgdm9pZCBjcmVhdGVEZWNvZGlu
Z0NvbmZpZ3VyYXRpb24oV2ViQ29yZTo6TWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24mJiwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5m
byYmKT4mJik7CisgICAgdm9pZCBjcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24oV2ViQ29yZTo6
TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJD
b3JlOjpNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbyYmKT4mJik7CisKKyAgICBHUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzJiBtX2dwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7Cit9OworCit9
CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5tZXNzYWdlcy5pbiBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRp
b25GYWN0b3J5UHJveHkubWVzc2FnZXMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZhMWU3NDRiOWVmMWE5ODEw
ZjMxOTJkYmE2MjlhNTNjOTllN2FiMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJv
eHkubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMiBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMjAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisjIGFyZSBtZXQ6CisjIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorIyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisjIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorIyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisjIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworIyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisjIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisjIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworIyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
IyBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorIyBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisjIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKKworbWVzc2FnZXMgLT4gUmVt
b3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5IE5vdFJlZkNvdW50ZWQgewor
ICAgIENyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihzdHJ1Y3QgV2ViQ29yZTo6TWVkaWFEZWNv
ZGluZ0NvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbikgLT4gKHN0cnVjdCBXZWJDb3JlOjpNZWRp
YUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbyBkZWNvZGluZ0luZm8pIEFzeW5jCisgICAgQ3JlYXRl
RW5jb2RpbmdDb25maWd1cmF0aW9uKHN0cnVjdCBXZWJDb3JlOjpNZWRpYUVuY29kaW5nQ29uZmln
dXJhdGlvbiBjb25maWd1cmF0aW9uKSAtPiAoc3RydWN0IFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0
aWVzRW5jb2RpbmdJbmZvIGRlY29kaW5nSW5mbykgQXN5bmMKK30KKworI2VuZGlmCisKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMu
dHh0CmluZGV4IDRlYTRhZmJkNjlmMTgwZDc4ZTU5YmZhZTMyNWM0ZWY2NGY0NDkyMDYuLjE3MzUy
MzdkMWUyOGYxYTkwMGVlYzM4NTIzMmUxZjM1YzI2ZTE0OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApAQCAtMzcs
NiArMzcsNyBAQCBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETVByb3h5LmNwcAogR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1GYWN0b3J5UHJveHkuY3BwCiBHUFVQcm9jZXNzL21lZGlh
L1JlbW90ZUxlZ2FjeUNETVByb3h5LmNwcAogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lD
RE1TZXNzaW9uUHJveHkuY3BwCitHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29u
ZmlndXJhdGlvbkZhY3RvcnlQcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQ
bGF5ZXJNYW5hZ2VyUHJveHkuY3BwCiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVy
UHJveHkuY3BwCiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2UuY3BwCkBAIC01
ODIsNiArNTgzLDcgQEAgV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VTZXNz
aW9uLmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNLmNwcAogV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeS5jcHAKIFdlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZUxlZ2FjeUNETVNlc3Npb24uY3BwCitXZWJQcm9jZXNzL0dQVS9tZWRpYS9S
ZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmNwcAogV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
UmVtb3RlTWVkaWFQbGF5ZXJNSU1FVHlwZUNhY2hlLmNwcCBAbm8tdW5pZnkKIFdlYlByb2Nlc3Mv
R1BVL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VQcm94eS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0
L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDhlMGRiY2I4ODU5YjI2NGM1
NjIzYjk0MTI3NmIyODNjZWQxY2YzNWEuLjAzZGVkNWE1MTE5ZGQzZjFhZWY2YTFlZGI0ODJkYzU5
OGJhYzQxODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTgwMSw2ICsxODAxLDcgQEAKIAkJQ0QwQzY4MzEyMDFGRDEwMTAwQTU5NDA5
IC8qIFdLRnVsbFNjcmVlblZpZXdDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDBDNjgyRjIwMUZEMTAxMDBBNTk0MDkgLyogV0tGdWxs
U2NyZWVuVmlld0NvbnRyb2xsZXIuaCAqLzsgfTsKIAkJQ0QxOUEyNkUxQTEzRTgzNDAwOEQ2NTBF
IC8qIFdlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDE5QTI2QTFBMTNFODIxMDA4RDY1MEUgLyogV2ViRGlh
Z25vc3RpY0xvZ2dpbmdDbGllbnQuaCAqLzsgfTsKIAkJQ0QxOUQyRUEyMDQ2NDA2RjAwMTcwNzRB
IC8qIEZ1bGxzY3JlZW5Ub3VjaFNlY2hldXJpc3RpYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QxOUQyRTgyMDQ2NDA2RjAwMTcwNzRBIC8qIEZ1bGxz
Y3JlZW5Ub3VjaFNlY2hldXJpc3RpYy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCUNEM0VFRjQ2MjU3OUMyNjEwMDY1NjNCQiAvKiBSZW1vdGVNZWRp
YUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QzRUVGNDQyNTc5QzFE
NDAwNjU2M0JCIC8qIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eU1l
c3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCUNENDU3MEQzMjQ0MTEzQjUwMEEzRENFQiAvKiBB
dWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENDU3MEQwMjQ0MTAx
NEEwMEEzRENFQiAvKiBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5TWVzc2FnZVJl
Y2VpdmVyLmNwcCAqLzsgfTsKIAkJQ0Q0NTcwRDQyNDQxMUQwRjAwQTNEQ0VCIC8qIEF1ZGlvU2Vz
c2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENENDU3MENCMjQ0MEZCMkEwMEEzRENFQiAvKiBBdWRpb1Nlc3Npb25S
b3V0aW5nQXJiaXRyYXRvci5jcHAgKi87IH07CiAJCUNENDY2MTgzMjQwMTBBNjcwMDQ3Q0EzNSAv
KiBSZW1vdGVDRE1JbnN0YW5jZVNlc3Npb25NZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q0NjYxODEyNDAxMDU2NDAwNDdD
QTM1IC8qIFJlbW90ZUNETUluc3RhbmNlU2Vzc2lvbk1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07
CkBAIC01MzA5LDYgKzUzMTAsMTQgQEAKIAkJQ0QxOUEyNkExQTEzRTgyMTAwOEQ2NTBFIC8qIFdl
YkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUNEMTlEMkU4MjA0NjQwNkYwMDE3MDc0QSAvKiBGdWxsc2NyZWVuVG91Y2hTZWNoZXVy
aXN0aWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljLmg7IHBh
dGggPSBpb3MvZnVsbHNjcmVlbi9GdWxsc2NyZWVuVG91Y2hTZWNoZXVyaXN0aWMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QxOUQyRTkyMDQ2NDA2RjAwMTcwNzRBIC8qIEZ1bGxz
Y3JlZW5Ub3VjaFNlY2hldXJpc3RpYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGdWxsc2NyZWVu
VG91Y2hTZWNoZXVyaXN0aWMuY3BwOyBwYXRoID0gaW9zL2Z1bGxzY3JlZW4vRnVsbHNjcmVlblRv
dWNoU2VjaGV1cmlzdGljLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0QzRUVG
MzEyNTc5OTYxODAwNjU2M0JCIC8qIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9y
eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDNFRUYzMjI1Nzk5NjE4MDA2NTYz
QkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0QzRUVGMzMyNTc5OTcxNzAwNjU2M0JCIC8qIFJl
bW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0QzRUVGMzQyNTc5OTcxNzAwNjU2M0JCIC8qIFJlbW90ZU1l
ZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlDRDNFRUYzNTI1Nzk5Nzk1MDA2NTYzQkIgLyogUmVtb3Rl
TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5Lm1lc3NhZ2VzLmluICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFJl
bW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5tZXNzYWdlcy5pbjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0QzRUVGNDMyNTc5QzFENDAwNjU2M0JCIC8qIFJl
bW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eU1lc3NhZ2VzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eU1lc3Nh
Z2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEM0VFRjQ0MjU3OUMxRDQwMDY1
NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHlNZXNzYWdl
UmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQ0QzRUVGNDUyNTc5QzFENDAwNjU2M0JCIC8qIFJlbW90ZU1lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3RvcnlQcm94eU1lc3NhZ2VzUmVwbGllcy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHlNZXNzYWdlc1JlcGxp
ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q0NTcwQ0EyNDQwRkIyQTAwQTNE
Q0VCIC8qIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1
ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUNENDU3MENCMjQ0MEZCMkEwMEEzRENFQiAvKiBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRy
YXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRv
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENDU3MEQwMjQ0MTAxNEEwMEEz
RENFQiAvKiBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5TWVzc2FnZVJlY2VpdmVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yUHJv
eHlNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTgw
MCw2ICs1ODA5LDggQEAKIAkJCQlDREU1NTRFRTI0MDU4MUEzMDA4QTNEREIgLyogUmVtb3RlTGVn
YWN5Q0RNU2Vzc2lvbi5oICovLAogCQkJCUNERTU1NTA1MjQwNTgzMjQwMDhBM0REQiAvKiBSZW1v
dGVMZWdhY3lDRE1TZXNzaW9uLm1lc3NhZ2VzLmluICovLAogCQkJCUNERTU1NTA5MjQwNTg4Q0Iw
MDhBM0REQiAvKiBSZW1vdGVMZWdhY3lDRE1TZXNzaW9uSWRlbnRpZmllci5oICovLAorCQkJCUNE
M0VFRjMxMjU3OTk2MTgwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25G
YWN0b3J5LmggKi8sCisJCQkJQ0QzRUVGMzIyNTc5OTYxODAwNjU2M0JCIC8qIFJlbW90ZU1lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuY3BwICovLAogCQkJCTA3QjkzRkY1MjNBRjBDQjgw
MDM2RjhFQSAvKiBSZW1vdGVNZWRpYVBsYXllckNvbmZpZ3VyYXRpb24uaCAqLywKIAkJCQkwNzky
MzEzMDIzOUIzQjBDMDA5NTk4RTIgLyogUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmNwcCAqLywK
IAkJCQkwNzkyMzEzNDIzOUIzQjBDMDA5NTk4RTIgLyogUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2Vy
LmggKi8sCkBAIC01ODY0LDYgKzU4NzUsOSBAQAogCQkJCUNERTU1NEY4MjQwNTgyMDgwMDhBM0RE
QiAvKiBSZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJveHkuaCAqLywKIAkJCQlDREU1NTUwMDI0MDU4
Mjg0MDA4QTNEREIgLyogUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblByb3h5Lm1lc3NhZ2VzLmluICov
LAogCQkJCTFENEZCNDBDMjU2NUNCRjkwMDFBQzJBRCAvKiBSZW1vdGVNZWRpYURlc2NyaXB0aW9u
LmggKi8sCisJCQkJQ0QzRUVGMzMyNTc5OTcxNzAwNjU2M0JCIC8qIFJlbW90ZU1lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5oICovLAorCQkJCUNEM0VFRjM0MjU3OTk3MTcwMDY1
NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuY3BwICov
LAorCQkJCUNEM0VFRjM1MjU3OTk3OTUwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZp
Z3VyYXRpb25GYWN0b3J5UHJveHkubWVzc2FnZXMuaW4gKi8sCiAJCQkJMDcyNUVGQUQyMzlCMDI0
NTAwQTUzOEE5IC8qIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5LmNwcCAqLywKIAkJCQkw
NzI1RUZBQzIzOUFFMzg1MDBBNTM4QTkgLyogUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHku
aCAqLywKIAkJCQkwNzI1RUZBQjIzOUFFMzg0MDBBNTM4QTkgLyogUmVtb3RlTWVkaWFQbGF5ZXJN
YW5hZ2VyUHJveHkubWVzc2FnZXMuaW4gKi8sCkBAIC0xMDUzMSw2ICsxMDU0NSw5IEBACiAJCQkJ
Q0RFNTU1MzEyNDA2Qjg5NzAwOEEzRERCIC8qIFJlbW90ZUxlZ2FjeUNETVNlc3Npb25Qcm94eU1l
c3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJQ0RFNTU1MkYyNDA2Qjg5NzAwOEEzRERCIC8qIFJl
bW90ZUxlZ2FjeUNETVNlc3Npb25Qcm94eU1lc3NhZ2VzLmggKi8sCiAJCQkJQ0RFNTU1MjYyNDA2
Qjg5NTAwOEEzRERCIC8qIFJlbW90ZUxlZ2FjeUNETVNlc3Npb25Qcm94eU1lc3NhZ2VzUmVwbGll
cy5oICovLAorCQkJCUNEM0VFRjQ0MjU3OUMxRDQwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAorCQkJCUNE
M0VFRjQzMjU3OUMxRDQwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25G
YWN0b3J5UHJveHlNZXNzYWdlcy5oICovLAorCQkJCUNEM0VFRjQ1MjU3OUMxRDQwMDY1NjNCQiAv
KiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHlNZXNzYWdlc1JlcGxp
ZXMuaCAqLywKIAkJCQkwNzkyMzE0NTIzOUNCQ0I3MDA5NTk4RTIgLyogUmVtb3RlTWVkaWFQbGF5
ZXJNYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTA3OTIzMTQ2MjM5Q0JD
QjcwMDk1OThFMiAvKiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eU1lc3NhZ2VzLmggKi8s
CiAJCQkJMDc5MjMxNDIyMzlDQkNCNTAwOTU5OEUyIC8qIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdl
clByb3h5TWVzc2FnZXNSZXBsaWVzLmggKi8sCkBAIC0xMzU0Miw2ICsxMzU1OSw3IEBACiAJCQkJ
MkQxMUI3Q0QyMTI2QTI4MzAwNkY4ODc4IC8qIFVuaWZpZWRTb3VyY2U2NC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkyRDU0QzMwQzIxMkYzQjMzMDA0OUMxNzQgLyogVW5pZmllZFNvdXJjZTY0LW1t
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ1NEMzMDcyMTJGM0IzMzAwNDlDMTc0IC8qIFVuaWZp
ZWRTb3VyY2U2NS1tbS5tbSBpbiBTb3VyY2VzICovLAorCQkJCUNEM0VFRjQ2MjU3OUMyNjEwMDY1
NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHlNZXNzYWdl
UmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQxMUI3Q0UyMTI2QTI4MzAwNkY4ODc4
IC8qIFVuaWZpZWRTb3VyY2U2NS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDExQjdDRjIxMjZB
MjgzMDA2Rjg4NzggLyogVW5pZmllZFNvdXJjZTY2LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJE
NTRDMzE0MjEyRjNCMzMwMDQ5QzE3NCAvKiBVbmlmaWVkU291cmNlNjYtbW0ubW0gaW4gU291cmNl
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vz
c0Nvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNz
Q29ubmVjdGlvbi5jcHAKaW5kZXggZjAwNWFkNWJjMzg2ODY0ZDA2MTg4NTI2YTM0MWUxZWI3YWQz
NDAzMy4uMTFmYTcwZjJjZTliNDMzNTFlNTNiOWExZjNmNzNmY2E1MjhkNzRhMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5j
cHAKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJSZW1vdGVDRE1GYWN0b3J5LmgiCiAjaW5j
bHVkZSAiUmVtb3RlQ0RNUHJveHkuaCIKICNpbmNsdWRlICJSZW1vdGVMZWdhY3lDRE1GYWN0b3J5
LmgiCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oIgog
I2luY2x1ZGUgIlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5oIgogI2luY2x1ZGUgIlNhbXBsZUJ1
ZmZlckRpc3BsYXlMYXllck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmgiCkBAIC0xMzEsNiArMTMyLDExIEBAIFJlbW90ZUxlZ2FjeUNETUZhY3RvcnkmIEdQVVBy
b2Nlc3NDb25uZWN0aW9uOjpsZWdhY3lDRE1GYWN0b3J5KCkKIH0KICNlbmRpZgogCitSZW1vdGVN
ZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5JiBHUFVQcm9jZXNzQ29ubmVjdGlvbjo6bWVk
aWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeSgpCit7CisgICAgcmV0dXJuICpXZWJQcm9jZXNz
OjpzaW5nbGV0b24oKS5zdXBwbGVtZW50PFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZh
Y3Rvcnk+KCk7Cit9CisKIGJvb2wgR1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmRpc3BhdGNoTWVzc2Fn
ZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQzo6RGVjb2RlciYgZGVjb2RlcikKIHsK
ICAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6Ok1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmggYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmgKaW5kZXgg
MmMwZGY1YjlmNTQ5Njg0N2VkNjY5MTBiZjJmMzliMmNkYzYwY2EwMi4uNmNhY2ZmYjQ0OWQ5NDZj
YjIyMzBlMzAzOThiM2E4N2MzYzZlODY3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaApAQCAtNDMsNiArNDMsNyBAQCBuYW1l
c3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXI7
CiBjbGFzcyBSZW1vdGVDRE1GYWN0b3J5OworY2xhc3MgUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeTsKIGNsYXNzIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlcjsKIGNsYXNzIFJl
bW90ZUxlZ2FjeUNETUZhY3Rvcnk7CiBzdHJ1Y3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczsK
QEAgLTgwLDYgKzgxLDggQEAgcHVibGljOgogICAgIFJlbW90ZUxlZ2FjeUNETUZhY3RvcnkmIGxl
Z2FjeUNETUZhY3RvcnkoKTsKICNlbmRpZgogCisgICAgUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeSYgbWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeSgpOworCiAgICAg
dm9pZCB1cGRhdGVQYXJhbWV0ZXJzKGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmKTsK
IAogI2lmIEVOQUJMRShWUDkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFn
ZXIuY3BwCmluZGV4IGI4ZjQ1YTZkNWJiNGRiNDYwOTg4MDEyNDNiYjVlOTMxN2IxZTNlMmIuLmU2
MjBiY2MzMTM4MzI1NDFkNGQwMzdhNzNmMTliMGIzYzg1ZTE3YTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1h
bmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3Rl
QXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIuY3BwCkBAIC0yNiwxNCArMjYsMTYgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJSZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdl
ci5oIgogCisjaW5jbHVkZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJMb2dn
aW5nLmgiCisjaW5jbHVkZSAiUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlci5oIgogI2luY2x1ZGUg
IlJlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJT
aGFyZWRSaW5nQnVmZmVyU3RvcmFnZS5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKIAogI2lm
IFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpCiAKIG5hbWVzcGFjZSBXZWJL
aXQgewotdXNpbmcgbmFtZXNwYWNlIFBBTDsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBS
ZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlcjo6UmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRl
ck1hbmFnZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlci5oCmluZGV4
IGU1OWUxYjA2YjQ0N2U1ZDgwY2E2MTA1MmM2YzdhMzJjNGJhMTQyZTYuLjcwZTVkY2I1Y2QwNDZl
YTY0NDllMGZiNjdmYjM0YjFjMjYzOWRjZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJv
dmlkZXJNYW5hZ2VyLmgKQEAgLTI3LDYgKzI3LDggQEAKIAogI2lmIFBMQVRGT1JNKENPQ09BKSAm
JiBFTkFCTEUoR1BVX1BST0NFU1MpCiAKKyNpbXBvcnQgIkNvbm5lY3Rpb24uaCIKKyNpbXBvcnQg
IlNoYXJlZE1lbW9yeS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ0FBdWRpb1N0cmVhbURlc2NyaXB0
aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DQVJpbmdCdWZmZXIuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL01lZGlhUGxheWVySWRlbnRpZmllci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTBiNzBhZTdhMTg4MTRiNGZk
ODYyMWZjNDZmOTk3ZmRmNjFiMTU5NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9y
eS5jcHAKQEAgLTAsMCArMSw5NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmgiCisKKyNp
bmNsdWRlICJHUFVQcm9jZXNzQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhRW5n
aW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eU1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiV2ViUHJv
Y2Vzcy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8u
aD4KKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvLmg+Cisj
aW5jbHVkZSA8V2ViQ29yZS9NZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbi5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaD4KKyNpbmNsdWRlIDxXZWJDb3Jl
L01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7
Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeTo6UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeShXZWJQcm9j
ZXNzJiBwcm9jZXNzKQorICAgIDogbV9wcm9jZXNzKHByb2Nlc3MpCit7Cit9CisKK1JlbW90ZU1l
ZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6On5SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3Vy
YXRpb25GYWN0b3J5KCkgPSBkZWZhdWx0OworCit2b2lkIFJlbW90ZU1lZGlhRW5naW5lQ29uZmln
dXJhdGlvbkZhY3Rvcnk6OnJlZ2lzdGVyRmFjdG9yeSgpCit7CisgICAgTWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeTo6Y2xlYXJGYWN0b3JpZXMoKTsKKyAgICBNZWRpYUVuZ2luZUNvbmZp
Z3VyYXRpb25GYWN0b3J5OjppbnN0YWxsRmFjdG9yeSh7CisgICAgICAgIFt3ZWFrVGhpcyA9IG1h
a2VXZWFrUHRyKHRoaXMpXSAoTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24mJiBjb25maWd1cmF0
aW9uLCBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpEZWNvZGluZ0NvbmZpZ3VyYXRp
b25DYWxsYmFjayYmIGNhbGxiYWNrKSB7CisgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKSB7Cisg
ICAgICAgICAgICAgICAgY2FsbGJhY2soe3sgfSwgV1RGTW92ZShjb25maWd1cmF0aW9uKX0pOwor
ICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgd2Vh
a1RoaXMtPmNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24p
LCBXVEZNb3ZlKGNhbGxiYWNrKSk7CisgICAgICAgIH0sCisgICAgICAgIFt3ZWFrVGhpcyA9IG1h
a2VXZWFrUHRyKHRoaXMpXSAoTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiBjb25maWd1cmF0
aW9uLCBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpFbmNvZGluZ0NvbmZpZ3VyYXRp
b25DYWxsYmFjayYmIGNhbGxiYWNrKSB7CisgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKSB7Cisg
ICAgICAgICAgICAgICAgY2FsbGJhY2soe3sgfSwgV1RGTW92ZShjb25maWd1cmF0aW9uKX0pOwor
ICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgd2Vh
a1RoaXMtPmNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24p
LCBXVEZNb3ZlKGNhbGxiYWNrKSk7CisgICAgICAgIH0sCisgICAgfSk7Cit9CisKK2NvbnN0IGNo
YXIqIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OnN1cHBsZW1lbnROYW1l
KCkKK3sKKyAgICByZXR1cm4gIlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnki
OworfQorCitHUFVQcm9jZXNzQ29ubmVjdGlvbiYgUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeTo6Z3B1UHJvY2Vzc0Nvbm5lY3Rpb24oKQoreworICAgIHJldHVybiBtX3Byb2Nl
c3MuZW5zdXJlR1BVUHJvY2Vzc0Nvbm5lY3Rpb24oKTsKK30KKwordm9pZCBSZW1vdGVNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjcmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24oTWVk
aWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24mJiBjb25maWd1cmF0aW9uLCBNZWRpYUVuZ2luZUNvbmZp
Z3VyYXRpb25GYWN0b3J5OjpEZWNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayYmIGNhbGxiYWNr
KQoreworICAgIGdwdVByb2Nlc3NDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmRXaXRoQXN5
bmNSZXBseShNZXNzYWdlczo6UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVBy
b3h5OjpDcmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24oV1RGTW92ZShjb25maWd1cmF0aW9uKSks
IFtjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSAoTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGlu
Z0luZm8mJiBpbmZvKSBtdXRhYmxlIHsKKyAgICAgICAgY2FsbGJhY2soV1RGTW92ZShpbmZvKSk7
CisgICAgfSk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9y
eTo6Y3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9u
JiYgY29uZmlndXJhdGlvbiwgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6RW5jb2Rp
bmdDb25maWd1cmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykKK3sKKyAgICBncHVQcm9jZXNzQ29u
bmVjdGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OlJlbW90
ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eTo6Q3JlYXRlRW5jb2RpbmdDb25m
aWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbikpLCBbY2FsbGJhY2sgPSBXVEZNb3ZlKGNh
bGxiYWNrKV0gKE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvJiYgaW5mbykgbXV0YWJsZSB7
CisgICAgICAgIGNhbGxiYWNrKFdURk1vdmUoaW5mbykpOworICAgIH0pOworfQorCit9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhRW5n
aW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmRjNTA1ZDU5YjFlM2YzZjI4YjA3ZmQ0YzU3ZTMzMzdiZWYzMjdjMTEKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3RvcnkuaApAQCAtMCwwICsxLDczIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisKKyNpbmNsdWRlICJSZW1vdGVM
ZWdhY3lDRE1JZGVudGlmaWVyLmgiCisjaW5jbHVkZSAiUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbklk
ZW50aWZpZXIuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzU3VwcGxlbWVudC5oIgorI2luY2x1ZGUg
PFdlYkNvcmUvTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oPgorI2luY2x1ZGUgPHd0
Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KKworbmFtZXNwYWNlIElQQyB7
CitjbGFzcyBDb25uZWN0aW9uOworY2xhc3MgRGVjb2RlcjsKK30KKworbmFtZXNwYWNlIFdlYktp
dCB7CisKK2NsYXNzIEdQVVByb2Nlc3NDb25uZWN0aW9uOworY2xhc3MgV2ViUHJvY2VzczsKKwor
Y2xhc3MgUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeSBmaW5hbAorICAgIDog
cHVibGljIFdlYlByb2Nlc3NTdXBwbGVtZW50CisgICAgLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8
UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeT4geworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIGV4cGxpY2l0IFJlbW90ZU1lZGlhRW5naW5lQ29u
ZmlndXJhdGlvbkZhY3RvcnkoV2ViUHJvY2VzcyYpOworICAgIHZpcnR1YWwgflJlbW90ZU1lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkoKTsKKworICAgIHZvaWQgcmVnaXN0ZXJGYWN0b3J5
KCk7CisKKyAgICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKKyAgICBXZWJQ
cm9jZXNzJiBwcm9jZXNzKCkgY29uc3QgeyByZXR1cm4gbV9wcm9jZXNzOyB9CisKKyAgICBHUFVQ
cm9jZXNzQ29ubmVjdGlvbiYgZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24oKTsKKworICAgIHZvaWQgZGlk
UmVjZWl2ZVNlc3Npb25NZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpOwor
Citwcml2YXRlOgorICAgIHZvaWQgY3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKFdlYkNvcmU6
Ok1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uJiYsIFdlYkNvcmU6Ok1lZGlhRW5naW5lQ29uZmln
dXJhdGlvbkZhY3Rvcnk6OkRlY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYpOworICAgIHZv
aWQgY3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uKFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdDb25m
aWd1cmF0aW9uJiYsIFdlYkNvcmU6Ok1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkVu
Y29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYpOworCisgICAgV2ViUHJvY2VzcyYgbV9wcm9j
ZXNzOworfTsKKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmNwcAppbmRleCBmMmYyMjgyMmM3YjIyM2ZjYTU5Zjk1NTczZDExZGM5OWIxMDM0ODExLi41YjFi
YzVhOWZhN2YzYjRkNWFlZjNlNDQ1NWZmNWJmYjJhNzIzYmM5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC00NSw2ICs0NSw3IEBACiAjaW5jbHVkZSAiUHJvY2Vz
c0Fzc2VydGlvbi5oIgogI2luY2x1ZGUgIlJlbW90ZUF1ZGlvU2Vzc2lvbi5oIgogI2luY2x1ZGUg
IlJlbW90ZUxlZ2FjeUNETUZhY3RvcnkuaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5LmgiCiAjaW5jbHVkZSAiU3RvcmFnZUFyZWFNYXAuaCIKICNpbmNs
dWRlICJVc2VyRGF0YS5oIgogI2luY2x1ZGUgIldlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuaCIK
QEAgLTEwNyw2ICsxMDgsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvSFRNTE1lZGlhRWxlbWVudC5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvSlNET01XaW5kb3cuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0xl
Z2FjeVNjaGVtZVJlZ2lzdHJ5Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYUVuZ2luZUNvbmZp
Z3VyYXRpb25GYWN0b3J5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NZW1vcnlDYWNoZS5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvTWVtb3J5UmVsZWFzZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTWVzc2Fn
ZVBvcnQuaD4KQEAgLTI4Miw2ICsyODQsOCBAQCBXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKCkKICAg
ICBhZGRTdXBwbGVtZW50PEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yPigpOwogI2VuZGlm
CiAKKyAgICBhZGRTdXBwbGVtZW50PFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnk+KCk7CisKICAgICBHaWdhY2FnZTo6Zm9yYmlkRGlzYWJsaW5nUHJpbWl0aXZlR2lnYWNhZ2Uo
KTsKIH0KIApAQCAtMTkyNiw2ICsxOTMwLDExIEBAIHZvaWQgV2ViUHJvY2Vzczo6c2V0VXNlR1BV
UHJvY2Vzc0Zvck1lZGlhKGJvb2wgdXNlR1BVUHJvY2Vzc0Zvck1lZGlhKQogICAgIGVsc2UKICAg
ICAgICAgTGVnYWN5Q0RNOjpyZXNldEZhY3RvcmllcygpOwogI2VuZGlmCisgICAgCisgICAgaWYg
KHVzZUdQVVByb2Nlc3NGb3JNZWRpYSkKKyAgICAgICAgZW5zdXJlR1BVUHJvY2Vzc0Nvbm5lY3Rp
b24oKS5tZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5KCkucmVnaXN0ZXJGYWN0b3J5KCk7
CisgICAgZWxzZQorICAgICAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpyZXNl
dEZhY3RvcmllcygpOwogfQogCiBib29sIFdlYlByb2Nlc3M6OnNob3VsZFVzZVJlbW90ZVJlbmRl
cmluZ0ZvcihSZW5kZXJpbmdQdXJwb3NlIHB1cnBvc2UpCg==
</data>
<flag name="commit-queue"
          id="432600"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415390</attachid>
            <date>2020-12-03 23:01:29 -0800</date>
            <delta_ts>2020-12-04 09:15:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219521-20201203230129.patch</filename>
            <type>text/plain</type>
            <size>76039</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNDIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODY3YjI0ZTg0OTYzNmM3
ZjE2ZjQxZDAwYWE4Y2ZlZGQ0MWFiYjRhNy4uOTFiZTA1MjcwNDBhNmNhYzIyYzBhYjIyM2FiMTZi
ZmVmZTE0Yjk1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDIwLTEyLTAzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFVQXSBNb3ZlIE1lZGlh
Q2FwYWJpbGl0aWVzIGludG8gdGhlIEdQVSBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk1MjEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgZW5jb2RlKCkgYW5kIGRlY29kZSgpIG9wZXJh
dGlvbnMgdG8gYWxsIHN0cnVjdHMgdXNlZCBpbnNpZGUKKyAgICAgICAgTWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeS4gQWRkIHRoZSBhYmlsaXR5IGZvciBjbGllbnRzIHRvIHByb3ZpZGUK
KyAgICAgICAgdGhlaXIgb3duIGZhY3RvcmllcyBmb3IgdXNlIGluIE1lZGlhRW5naW5lQ29uZmln
dXJhdGlvbkZhY3RvcnkuCisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9NZWRp
YUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDYXBh
YmlsaXRpZXNEZWNvZGluZ0luZm86OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbzo6ZGVjb2RlKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9NZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm86OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbzo6ZGVjb2RlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0luZm8uaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
Q2FwYWJpbGl0aWVzSW5mbzo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
Q2FwYWJpbGl0aWVzSW5mbzo6ZGVjb2RlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNhcGFi
aWxpdGllcy9BdWRpb0NvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQ29u
ZmlndXJhdGlvbjo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQ29uZmln
dXJhdGlvbjo6ZGVjb2RlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9D
b2xvckdhbXV0Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvSGRyTWV0
YWRhdGFUeXBlLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFD
YXBhYmlsaXRpZXNMb2dnaW5nLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRp
ZXMvTWVkaWFDb25maWd1cmF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbmZpZ3Vy
YXRpb246OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbmZpZ3VyYXRp
b246OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFE
ZWNvZGluZ0NvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRGVjb2RpbmdD
b25maWd1cmF0aW9uOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFEZWNv
ZGluZ0NvbmZpZ3VyYXRpb246OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBh
YmlsaXRpZXMvTWVkaWFEZWNvZGluZ1R5cGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNh
cGFiaWxpdGllcy9NZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb246OmVuY29kZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbjo6ZGVjb2RlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5nVHlwZS5oOgorICAgICAgICAq
IHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZGVmYXVsdEZhY3Rvcmllcyk6CisgICAgICAgIChX
ZWJDb3JlOjpmYWN0b3JpZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeTo6Y2xlYXJGYWN0b3JpZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6cmVzZXRGYWN0b3JpZXMpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6aW5zdGFsbEZhY3RvcnkpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6aGFzRGVj
b2RpbmdDb25maWd1cmF0aW9uRmFjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpoYXNFbmNvZGluZ0NvbmZpZ3VyYXRpb25GYWN0b3J5KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuZ2luZUNvbmZpZ3Vy
YXRpb25GYWN0b3J5Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvVHJh
bnNmZXJGdW5jdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1Zp
ZGVvQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6VmlkZW9Db25maWd1cmF0aW9u
OjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6VmlkZW9Db25maWd1cmF0aW9uOjpk
ZWNvZGUpOgorCiAyMDIwLTEyLTAzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgog
CiAgICAgICAgIFtDb2NvYV0gQWRvcHQgQVZPdXRwdXREZXZpY2UuYWxsb3dzSGVhZFRyYWNrZWRT
cGF0aWFsQXVkaW8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZDAwODhkMjkwODczMzRiNWQ3Y2E2OWM5MjIwNDYxNjcz
ZDRiODhiNC4uZmUyZGE4ODQ1YjhhOTAzNzA3N2UzZGRhNDdjOWNkZWY0MDFkMWVhYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw0MyBAQAorMjAyMC0xMi0wMyAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFw
cGxlLmNvbT4KKworICAgICAgICBbR1BVUF0gTW92ZSBNZWRpYUNhcGFiaWxpdGllcyBpbnRvIHRo
ZSBHUFUgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE5NTIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIGEgbmV3IHBhaXIgb2YgcHJvY2VzcyBzdXBwbGVtZW50cywgUmVtb3RlTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeSBhbmQgLi5Qcm94eS4KKworICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjptZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25G
YWN0b3J5UHJveHkpOgorICAgICAgICAoV2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
OjpkaXNwYXRjaE1lc3NhZ2UpOgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eTo6UmVtb3RlTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5KToKKyAgICAgICAgKFdlYktpdDo6Y3JlYXRl
RGVjb2RpbmdDb25maWd1cmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5OjpjcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24p
OgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeVByb3h5Lmg6IEFkZGVkLgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5Lm1lc3NhZ2VzLmluOiBBZGRl
ZC4KKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVj
dGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NDb25uZWN0aW9uOjptZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9HUFVQ
cm9jZXNzQ29ubmVjdGlvbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90
ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlci5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnku
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeTo6UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeSk6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OnJlZ2lz
dGVyRmFjdG9yeSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3Rvcnk6OnN1cHBsZW1lbnROYW1lKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVk
aWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6Z3B1UHJvY2Vzc0Nvbm5lY3Rpb24pOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjcmVh
dGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24pOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3RvcnkuaDogQ29waWVkIGZyb20gU291cmNlL1dURi93dGYvQWxnb3JpdGhtcy5oLgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3M6OnNldFVzZUdQVVByb2Nlc3NGb3JNZWRpYSk6CisKIDIwMjAtMTItMDMgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBBZG9wdCBBVk91
dHB1dERldmljZS5hbGxvd3NIZWFkVHJhY2tlZFNwYXRpYWxBdWRpbwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UK
aW5kZXggZDU0NDgzNzhiOTk0MWM0NzE5ODkwNjY1MGEzNTk1NjVlMDYxYWI3NS4uNzk0Njg1YjUx
YmUyNDg2NDUyYmY0YmU1ZDU4MTdmYzg2MzE3MGEzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0x
MzE1LDYgKzEzMTUsMjAgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwog
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaAog
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0
aW9uLmgKIAorICAgIHBsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgKKyAg
ICBwbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oCisgICAgcGxhdGZvcm0v
bWVkaWFjYXBhYmlsaXRpZXMvQXVkaW9Db25maWd1cmF0aW9uLmgKKyAgICBwbGF0Zm9ybS9tZWRp
YWNhcGFiaWxpdGllcy9Db2xvckdhbXV0LmgKKyAgICBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGll
cy9IZHJNZXRhZGF0YVR5cGUuaAorICAgIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlh
Q29uZmlndXJhdGlvbi5oCisgICAgcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNv
ZGluZ0NvbmZpZ3VyYXRpb24uaAorICAgIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlh
RGVjb2RpbmdUeXBlLmgKKyAgICBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29k
aW5nQ29uZmlndXJhdGlvbi5oCisgICAgcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFF
bmNvZGluZ1R5cGUuaAorICAgIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3RvcnkuaAorICAgIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1Ry
YW5zZmVyRnVuY3Rpb24uaAorICAgIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29u
ZmlndXJhdGlvbi5oCisKICAgICBwbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQ
cml2YXRlLmgKIAogICAgIHBsYXRmb3JtL21lZGlhc3RyZWFtL0NhcHR1cmVEZXZpY2UuaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IDY3MmExNjYwYTVkOWZmODAxM2I2OWFiYmI2YTNhYWE3OGI5YmUxZjEuLmM4ZTc2ZGFlZjJiYWZi
YWI1Nzg4MGM4MjBmM2I1YjY4ZWUyYmE4ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQyMzQsNiArNDIzNCwxOCBAQAogCQlD
RDNFMjFERDIxODM0NDRBMDBFNjZGNTUgLyogSW1hZ2VCdWZmZXJVdGlsaXRpZXNDRy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QzRTIxREIyMTgzM0Y1
MTAwRTY2RjU1IC8qIEltYWdlQnVmZmVyVXRpbGl0aWVzQ0cuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRDNFMjUxQzE4MDQ2QjA2MDBFMjdGNTYg
LyogR3JpZEFyZWEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENEM0UyNTFCMTgwNDZCMDYwMEUyN0Y1NiAvKiBHcmlkQXJlYS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNEM0UyNTI0MTgwNDZCQ0QwMEUy
N0Y1NiAvKiBDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDNFMjUyMjE4MDQ2QkNEMDBFMjdGNTYgLyogQ1NT
R3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5oICovOyB9OworCQlDRDNFRUYzNzI1Nzk5RUZFMDA2NTYz
QkIgLyogTWVkaWFDYXBhYmlsaXRpZXNJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRDBDOEI1ODIxNDFDOENBMDA2MkY1OUQgLyogTWVkaWFDYXBh
YmlsaXRpZXNJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJQ0QzRUVGMzgyNTc5OUY3MzAwNjU2M0JCIC8qIE1lZGlhRGVjb2RpbmdDb25maWd1
cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
REJEM0QzNjFGRTg1Q0MwMDAxMkM1NDUgLyogTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24uaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRDNFRUYz
OTI1Nzk5RjdGMDA2NTYzQkIgLyogTWVkaWFDb25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREJEM0QzNTFGRTg1Q0JGMDAxMkM1NDUg
LyogTWVkaWFDb25maWd1cmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJQ0QzRUVGM0EyNTc5OUY4ODAwNjU2M0JCIC8qIEF1ZGlvQ29uZmln
dXJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0RCRDNEMkIxRkU4NUNCQjAwMTJDNTQ1IC8qIEF1ZGlvQ29uZmlndXJhdGlvbi5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNEM0VFRjNCMjU3OTlG
QTEwMDY1NjNCQiAvKiBWaWRlb0NvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQkQzRDM0MUZFODVDQkYwMDEyQzU0NSAvKiBWaWRl
b0NvbmZpZ3VyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQlDRDNFRUYzQzI1Nzk5RkFCMDA2NTYzQkIgLyogQ29sb3JHYW11dC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q0RTRFOUIyMzU3Q0I5
RDAwNzg5NUMzIC8qIENvbG9yR2FtdXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQlDRDNFRUYzRDI1Nzk5RkI1MDA2NTYzQkIgLyogSGRyTWV0YWRh
dGFUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
RDRFNEU5QzIzNTdDQjlEMDA3ODk1QzMgLyogSGRyTWV0YWRhdGFUeXBlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0QzRUVGM0UyNTc5OUZDNzAw
NjU2M0JCIC8qIE1lZGlhRGVjb2RpbmdUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDREJEM0QzODFGRTg1Q0MwMDAxMkM1NDUgLyogTWVkaWFEZWNv
ZGluZ1R5cGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQlDRDNFRUYzRjI1Nzk5RkNDMDA2NTYzQkIgLyogTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRp
b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQkQz
RDM3MUZFODVDQzAwMDEyQzU0NSAvKiBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbi5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNEM0VFRjQwMjU3
OTlGRDAwMDY1NjNCQiAvKiBNZWRpYUVuY29kaW5nVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RCRDNEM0UxRkU4NUNDMzAwMTJDNTQ1IC8qIE1l
ZGlhRW5jb2RpbmdUeXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJQ0QzRUVGNDEyNTc5OUZEOTAwNjU2M0JCIC8qIFRyYW5zZmVyRnVuY3Rpb24u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENEU0RTlB
MjM1N0NCOUMwMDc4OTVDMyAvKiBUcmFuc2ZlckZ1bmN0aW9uLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0QzRUVGNDIyNTc5QjQ0QTAwNjU2M0JC
IC8qIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlBQzZGMDI1MjExNDhGNTQwMENCREEwNiAvKiBN
ZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0Q0QUM1MkExNDk2QUU5QTAwODdDNEVGIC8qIENv
bXBvc2l0ZS53YXYgaW4gQ29weSBBdWRpbyBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0Q0QUM1MjgxNDk2QUUyRjAwODdDNEVGIC8qIENvbXBvc2l0ZS53YXYg
Ki87IH07CiAJCUNENTIwOUU0MUIwQkQ4MzgwMDc3MTg0RSAvKiBNZWRpYVBsYXllckVudW1zLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDUyMDlFMzFC
MEJEODM4MDA3NzE4NEUgLyogTWVkaWFQbGF5ZXJFbnVtcy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNENTIwOUU2MUIwQkQ5RTEwMDc3MTg0RSAv
KiBIVE1MTWVkaWFFbGVtZW50RW51bXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENENTIwOUU1MUIwQkQ5RTEwMDc3MTg0RSAvKiBIVE1MTWVkaWFFbGVt
ZW50RW51bXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwpAQCAtNDMyOCw4ICs0MzQwLDggQEAKIAkJQ0RDOTM5QTgxRTlCREZCMTAwQkI3NjhEIC8qIFZp
ZGVvVG9vbGJveFNvZnRMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDREM5MzlBNjFFOUJERkIxMDBCQjc2OEQgLyogVmlkZW9Ub29sYm94U29mdExp
bmsuaCAqLzsgfTsKIAkJQ0RDOTc5RjUxQzQ5OEMwOTAwREI1MEQ0IC8qIFdlYkNvcmVOU0Vycm9y
RXh0cmFzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
REM5NzlGMzFDNDk4QzA5MDBEQjUwRDQgLyogV2ViQ29yZU5TRXJyb3JFeHRyYXMuaCAqLzsgfTsK
IAkJQ0RDQTk4RUIxOEIyQzhFQjAwQzEyRkY5IC8qIExlZ2FjeUNETVByaXZhdGVNZWRpYVBsYXll
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRENB
OThFQTE4QjJDOEVCMDBDMTJGRjkgLyogTGVnYWN5Q0RNUHJpdmF0ZU1lZGlhUGxheWVyLmNwcCAq
LzsgfTsKLQkJQ0RDQzlCQ0YyMjM4N0U5QTAwRkZCNTFDIC8qIE1lZGlhQ2FwYWJpbGl0aWVzRGVj
b2RpbmdJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDRENDOUJDRTIyMzg3RTlBMDBGRkI1MUMgLyogTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0lu
Zm8uaCAqLzsgfTsKLQkJQ0RDQzlCRDEyMjM4N0VBQTAwRkZCNTFDIC8qIE1lZGlhQ2FwYWJpbGl0
aWVzRW5jb2RpbmdJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDRENDOUJEMDIyMzg3RUFBMDBGRkI1MUMgLyogTWVkaWFDYXBhYmlsaXRpZXNFbmNv
ZGluZ0luZm8uaCAqLzsgfTsKKwkJQ0RDQzlCQ0YyMjM4N0U5QTAwRkZCNTFDIC8qIE1lZGlhQ2Fw
YWJpbGl0aWVzRGVjb2RpbmdJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDRENDOUJDRTIyMzg3RTlBMDBGRkI1MUMgLyogTWVkaWFDYXBhYmlsaXRp
ZXNEZWNvZGluZ0luZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQlDRENDOUJEMTIyMzg3RUFBMDBGRkI1MUMgLyogTWVkaWFDYXBhYmlsaXRpZXNF
bmNvZGluZ0luZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENEQ0M5QkQwMjIzODdFQUEwMEZGQjUxQyAvKiBNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5n
SW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUNEQ0Q0MUU4MUMzRERCMEEwMDk2NUQ5OSAvKiBQYXJzZWRDb250ZW50UmFuZ2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQ0Q0MUU2MUMzRERCMDkw
MDk2NUQ5OSAvKiBQYXJzZWRDb250ZW50UmFuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRENGQUJCRDE4QzBBRjc4MDA2Rjg0NTAgLyogSGln
aGxpZ2h0RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0RDRkFCQkIxOEMwQUUzMTAwNkY4NDUwIC8qIEhpZ2hsaWdodERhdGEuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDREQ3MDg5NzE4MzU5RjZG
MDAyQjNEQzYgLyogU2FtcGxlTWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDREQ3MDg5NTE4MzU5RjZGMDAyQjNEQzYgLyogU2FtcGxlTWFwLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTMxMDI2LDYg
KzMxMDM4LDcgQEAKIAkJCQk4Mzc4ODc4MjI0RDhBNjA5MDAwRDRBNUIgLyogQXVkaW9CdWZmZXJT
b3VyY2VPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDMxNjA3QzEyQjAyNkY3MDBDMUEz
NTkgLyogQXVkaW9CdXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEMzE2MDdFMTJCMDI2RjcwMEMx
QTM1OSAvKiBBdWRpb0NoYW5uZWwuaCBpbiBIZWFkZXJzICovLAorCQkJCUNEM0VFRjNBMjU3OTlG
ODgwMDY1NjNCQiAvKiBBdWRpb0NvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUZE
MzE2MDA1MTJCMDI2NzYwMEMxQTM1OSAvKiBBdWRpb0NvbnRleHQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUU3ODVEOTYyMjRCN0Y3MzUwMDE0REIyMSAvKiBBdWRpb0NvbnRleHRMYXRlbmN5Q2F0ZWdv
cnkuaCBpbiBIZWFkZXJzICovLAogCQkJCUU3ODVEOTYxMjRCN0Y3MzUwMDE0REIyMSAvKiBBdWRp
b0NvbnRleHRPcHRpb25zLmggaW4gSGVhZGVycyAqLywKQEAgLTMxMzEzLDYgKzMxMzI2LDcgQEAK
IAkJCQlGNDhEMkFBNTIxNTk3NDBEMDBDNjc1MkIgLyogQ29sb3JDb2NvYS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJN0NBQzZBRjAyNDdGNDExMDAwRTYxRDU5IC8qIENvbG9yQ29tcG9uZW50cy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJN0M1MTRFMDMyNEFGODA1RTAwNTA3MTBGIC8qIENvbG9yQ29udmVy
c2lvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0QzRUVGM0MyNTc5OUZBQjAwNjU2M0JCIC8qIENv
bG9yR2FtdXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxMDNCN0RGMURCMDE1NjcwMDhCQjg5MCAv
KiBDb2xvckhhc2guaCBpbiBIZWFkZXJzICovLAogCQkJCUY1NUIzREI0MTI1MUYxMkQwMDNFRjI2
OSAvKiBDb2xvcklucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0U1MTY5RTcyMUYxQjg0
NzAwRUE0Rjc4IC8qIENvbG9ySU9TLmggaW4gSGVhZGVycyAqLywKQEAgLTMyMTIxLDYgKzMyMTM1
LDcgQEAKIAkJCQkyNkVBODlBNzFCNEYyQjc1MDA4QzVGRDIgLyogSGFzaGFibGVBY3Rpb25MaXN0
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDgyQjc0NjExOThDMzU0MDBCRkIwMDUgLyogSGFzaENo
YW5nZUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBODc0OEJFMDEyQ0JGMkRDMDAxRkJBNDEg
LyogSGFzaFRvb2xzLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDNFRUYzRDI1Nzk5RkI1MDA2NTYz
QkIgLyogSGRyTWV0YWRhdGFUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREE1OTU5MzIxNDZE
RUMzMDBBODQxODUgLyogSEVWQ1V0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RBNTk1
OTgyMTQ2REY3ODAwQTg0MTg1IC8qIEhFVkNVdGlsaXRpZXNDb2NvYS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRjU1QjNEQzAxMjUxRjEyRDAwM0VGMjY5IC8qIEhpZGRlbklucHV0VHlwZS5oIGluIEhl
YWRlcnMgKi8sCkBAIC0zMzUxMCwxMSArMzM1MjUsMTUgQEAKIAkJCQk5MzFCQ0M2MTExMjRERkNC
MDBCRTcwREQgLyogTWVkaWFDYW5TdGFydExpc3RlbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlD
RENDOUJDRjIyMzg3RTlBMDBGRkI1MUMgLyogTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8u
aCBpbiBIZWFkZXJzICovLAogCQkJCUNEQ0M5QkQxMjIzODdFQUEwMEZGQjUxQyAvKiBNZWRpYUNh
cGFiaWxpdGllc0VuY29kaW5nSW5mby5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0QzRUVGMzcyNTc5
OUVGRTAwNjU2M0JCIC8qIE1lZGlhQ2FwYWJpbGl0aWVzSW5mby5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQ0QzRUVGMzkyNTc5OUY3RjAwNjU2M0JCIC8qIE1lZGlhQ29uZmlndXJhdGlvbi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMDc4RTA5M0ExN0QxNkUxQzAwNDIwQUExIC8qIE1lZGlhQ29uc3RyYWlu
dHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUNERjY1Q0M4MTQ1QjFFNzUwMEM0QzdBQSAvKiBNZWRp
YUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUNERjY1Q0NBMTQ1QjQ0ODgwMEM0QzdB
QSAvKiBNZWRpYUNvbnRyb2xsZXJJbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEQUI2
RDI5MTdDN0RFNkMwMEM2MEIzNCAvKiBNZWRpYUNvbnRyb2xzSG9zdC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNDE3MjUzQUIxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbFRleHRUcmFja0Nv
bnRhaW5lckVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUNEM0VFRjM4MjU3OTlGNzMwMDY1
NjNCQiAvKiBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
Q0QzRUVGM0UyNTc5OUZDNzAwNjU2M0JCIC8qIE1lZGlhRGVjb2RpbmdUeXBlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlDREYyQjAwNDE4MUYwNTlDMDBGMkI0MjQgLyogTWVkaWFEZXNjcmlwdGlvbi5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMTUxNDVCOTAxQjNBMUNFMDAwNjYyQkY3IC8qIE1lZGlhRGV2
aWNlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUVBNzI1RDMxQUNBQkQ0NzAwRUFEMTdCIC8q
IE1lZGlhRGV2aWNlcy5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMzUyMiw5ICszMzU0MSwxMiBAQAog
CQkJCUZENkYyNTJEMTNGNUVGMEUwMDY1MTY1RiAvKiBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5v
ZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzMEExQzdEMjREQjc4OEIwMDJFQ0NBRCAvKiBNZWRp
YUVsZW1lbnRBdWRpb1NvdXJjZU9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3RkU5OURE
MTg4MDdBN0QwMDI1NjY0OCAvKiBNZWRpYUVsZW1lbnRTZXNzaW9uLmggaW4gSGVhZGVycyAqLywK
KwkJCQlDRDNFRUYzRjI1Nzk5RkNDMDA2NTYzQkIgLyogTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRp
b24uaCBpbiBIZWFkZXJzICovLAorCQkJCUNEM0VFRjQwMjU3OTlGRDAwMDY1NjNCQiAvKiBNZWRp
YUVuY29kaW5nVHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ5QkY3MDYxREJGQkIyNDAwN0E3
RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTJEOUJGNzA4
MURCRkJCMjQwMDdBN0Q5OSAvKiBNZWRpYUVuY3J5cHRlZEV2ZW50SW5pdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDFCMjhCMTUxRjg1MDFEMzAwRkI1MkFDIC8qIE1lZGlhRW5kcG9pbnRDb25maWd1
cmF0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDNFRUY0MjI1NzlCNDRBMDA2NTYzQkIgLyog
TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RD
NDhBQzkyMTQ5Q0YyQTAwMjRGRDU5IC8qIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlD
b2NvYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ0NjEzQUQwQ0Q2MzMxMDAwRkFEQTc1IC8qIE1l
ZGlhRXJyb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTRFMTk1OTIyMEEzOURBQkEwMDIyMEZFNSAv
KiBNZWRpYUZlYXR1cmVOYW1lcy5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNDk0OSw2ICszNDk3MSw3
IEBACiAJCQkJQkU5MTNEODAxODFFRjkyNDAwRENCMDlFIC8qIFRyYWNrUHJpdmF0ZUJhc2UuaCBp
biBIZWFkZXJzICovLAogCQkJCUZGQUMzMEZFMTg0RkIxNDUwMDhDNEYxRSAvKiBUcmFpbGluZ09i
amVjdHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNjA3MTMyMUJEODMwOEIwMERCQzRGMiAvKiBU
cmFuc2FjdGlvbk9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0QzRUVGNDEyNTc5OUZE
OTAwNjU2M0JCIC8qIFRyYW5zZmVyRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RTkx
MUM0MEVGODZENDcwMDlEMENBRiAvKiBUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRkI0ODRGNEQxNzFGODIxRTAwMDQwNzU1IC8qIFRyYW5zZm9ybUZ1bmN0aW9ucy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDlFOTExQ0UwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9y
bU9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNTAyOCw2ICszNTA1MSw3IEBACiAJCQkJ
MEYxQTBDMzgyMjlBNDgxODAwRDM3QURCIC8qIFZlbG9jaXR5RGF0YS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJREY0RTM4RTAyNTI3OTU5NTAwMkE3NDgxIC8qIFZlcnNpb25DaGVja3MuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUJDQTI1NzE1MTI5M0MwMTAwMDdBMjYzRCAvKiBWZXJ0aWNhbFBvc2l0aW9u
Q2FjaGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUNEM0VFRjNCMjU3OTlGQTEwMDY1NjNCQiAvKiBW
aWRlb0NvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTUyQjBENEMwMUM1N0ZENjYw
MDc3Q0U1MyAvKiBWaWRlb0Z1bGxzY3JlZW5DaGFuZ2VPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJM0ZCQzRBRjQxODk4ODE1NjAwNDZFRTM4IC8qIFZpZGVvRnVsbHNjcmVlbkludGVyZmFj
ZUFWS2l0LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MkIwRDRDMjFDNTdGRjkxMDA3N0NFNTMgLyog
VmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlTWFjLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5o
CmluZGV4IDgxY2YzNzYwNjY0NmVmMTNlN2M5MDRhZmNhZTcyOTA4NTAwOTQ4NjUuLjBjZGM1MmRi
YjFhNjliNWMwZmY2M2QwZTRiMWU0NzQ5NmU2YzNmZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaApAQCAtMjcs
NiArMjcsNyBAQAogCiAjaW5jbHVkZSAiTWVkaWFDYXBhYmlsaXRpZXNJbmZvLmgiCiAjaW5jbHVk
ZSAiTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24uaCIKKyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Niw2ICs0NywzNiBAQCBzdHJ1Y3QgTWVk
aWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8gOiBNZWRpYUNhcGFiaWxpdGllc0luZm8gewogICAg
IH0KIAogICAgIE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uIHN1cHBvcnRlZENvbmZpZ3VyYXRp
b247CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikg
Y29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIE9wdGlvbmFsPE1lZGlh
Q2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvPiBkZWNvZGUoRGVjb2RlciYpOwogfTsKIAordGVtcGxh
dGU8Y2xhc3MgRW5jb2Rlcj4KK3ZvaWQgTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm86OmVu
Y29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAgIE1lZGlhQ2FwYWJpbGl0aWVzSW5m
bzo6ZW5jb2RlKGVuY29kZXIpOworICAgIGVuY29kZXIgPDwgc3VwcG9ydGVkQ29uZmlndXJhdGlv
bjsKIH0KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KK09wdGlvbmFsPE1lZGlhQ2FwYWJpbGl0
aWVzRGVjb2RpbmdJbmZvPiBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbzo6ZGVjb2RlKERl
Y29kZXImIGRlY29kZXIpCit7CisgICAgT3B0aW9uYWw8TWVkaWFDYXBhYmlsaXRpZXNJbmZvPiBp
bmZvID0gTWVkaWFDYXBhYmlsaXRpZXNJbmZvOjpkZWNvZGUoZGVjb2Rlcik7CisgICAgZGVjb2Rl
ciA+PiBpbmZvOworICAgIGlmICghaW5mbykKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsK
KworICAgIE9wdGlvbmFsPE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uPiBzdXBwb3J0ZWRDb25m
aWd1cmF0aW9uOworICAgIGRlY29kZXIgPj4gc3VwcG9ydGVkQ29uZmlndXJhdGlvbjsKKyAgICBp
ZiAoIXN1cHBvcnRlZENvbmZpZ3VyYXRpb24pCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
CisKKyAgICByZXR1cm4gTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8oCisgICAgICAgIFdU
Rk1vdmUoKmluZm8pLAorICAgICAgICBXVEZNb3ZlKCpzdXBwb3J0ZWRDb25maWd1cmF0aW9uKQor
ICAgICk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvLmgKaW5kZXgg
NDJkMzg1M2NiM2NkOTY0NjAzMjQxN2YxNjE2YWQ2NjVlMWRjMTNhOC4uYjNhMTRiYjg3MGQzYTIy
Mzk5YWU2MjU2MDg4ZTgzMGM1YTA1YmU0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oCkBAIC0yNyw2ICsyNyw3
IEBACiAKICNpbmNsdWRlICJNZWRpYUNhcGFiaWxpdGllc0luZm8uaCIKICNpbmNsdWRlICJNZWRp
YUVuY29kaW5nQ29uZmlndXJhdGlvbi5oIgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ2LDYgKzQ3LDM1IEBAIHN0cnVjdCBNZWRpYUNhcGFi
aWxpdGllc0VuY29kaW5nSW5mbyA6IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyB7CiAgICAgfQogCiAg
ICAgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24gc3VwcG9ydGVkQ29uZmlndXJhdGlvbjsKKwor
ICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsK
KyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgT3B0aW9uYWw8TWVkaWFDYXBhYmls
aXRpZXNFbmNvZGluZ0luZm8+IGRlY29kZShEZWNvZGVyJik7CiB9OwogCit0ZW1wbGF0ZTxjbGFz
cyBFbmNvZGVyPgordm9pZCBNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbzo6ZW5jb2RlKEVu
Y29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgTWVkaWFDYXBhYmlsaXRpZXNJbmZvOjplbmNv
ZGUoZW5jb2Rlcik7CisgICAgZW5jb2RlciA8PCBzdXBwb3J0ZWRDb25maWd1cmF0aW9uOwogfQor
Cit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgorT3B0aW9uYWw8TWVkaWFDYXBhYmlsaXRpZXNFbmNv
ZGluZ0luZm8+IE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvOjpkZWNvZGUoRGVjb2RlciYg
ZGVjb2RlcikKK3sKKyAgICBPcHRpb25hbDxNZWRpYUNhcGFiaWxpdGllc0luZm8+IGluZm8gPSBN
ZWRpYUNhcGFiaWxpdGllc0luZm86OmRlY29kZShkZWNvZGVyKTsKKyAgICBpZiAoIWluZm8pCisg
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxNZWRpYUVuY29kaW5n
Q29uZmlndXJhdGlvbj4gc3VwcG9ydGVkQ29uZmlndXJhdGlvbjsKKyAgICBkZWNvZGVyID4+IHN1
cHBvcnRlZENvbmZpZ3VyYXRpb247CisgICAgaWYgKCFzdXBwb3J0ZWRDb25maWd1cmF0aW9uKQor
ICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgcmV0dXJuIE1lZGlhQ2FwYWJpbGl0
aWVzRW5jb2RpbmdJbmZvKAorICAgICAgICBXVEZNb3ZlKCppbmZvKSwKKyAgICAgICAgV1RGTW92
ZSgqc3VwcG9ydGVkQ29uZmlndXJhdGlvbikKKyAgICApOworfQorCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJp
bGl0aWVzSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNJ
bmZvLmgKaW5kZXggMmRkZTc4N2Q3YjhhYzZhMDBkMWE2ZTM5MWVhNWVhNzJjMDE0N2VkOC4uMjMz
YWE0NjRlMjI3OGMxZjFlZjlhZDliODI0NDFmN2NiYTM2ZjA2NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNJbmZvLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNJbmZvLmgKQEAgLTI1LDEyICsyNSw1MSBA
QAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgCiBzdHJ1Y3QgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIHsKICAgICBi
b29sIHN1cHBvcnRlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBzbW9vdGggeyBmYWxzZSB9OwogICAg
IGJvb2wgcG93ZXJFZmZpY2llbnQgeyBmYWxzZSB9OworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5j
b2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERl
Y29kZXI+IHN0YXRpYyBPcHRpb25hbDxNZWRpYUNhcGFiaWxpdGllc0luZm8+IGRlY29kZShEZWNv
ZGVyJik7CiB9OwotICAgIAorCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgordm9pZCBNZWRpYUNh
cGFiaWxpdGllc0luZm86OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAgIGVu
Y29kZXIgPDwgc3VwcG9ydGVkOworICAgIGVuY29kZXIgPDwgc21vb3RoOworICAgIGVuY29kZXIg
PDwgcG93ZXJFZmZpY2llbnQ7CiB9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+CitPcHRpb25h
bDxNZWRpYUNhcGFiaWxpdGllc0luZm8+IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbzo6ZGVjb2RlKERl
Y29kZXImIGRlY29kZXIpCit7CisgICAgT3B0aW9uYWw8Ym9vbD4gc3VwcG9ydGVkOworICAgIGRl
Y29kZXIgPj4gc3VwcG9ydGVkOworICAgIGlmICghc3VwcG9ydGVkKQorICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8Ym9vbD4gc21vb3RoOworICAgIGRlY29kZXIg
Pj4gc21vb3RoOworICAgIGlmICghc21vb3RoKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OworCisgICAgT3B0aW9uYWw8Ym9vbD4gcG93ZXJFZmZpY2llbnQ7CisgICAgZGVjb2RlciA+PiBw
b3dlckVmZmljaWVudDsKKyAgICBpZiAoIXBvd2VyRWZmaWNpZW50KQorICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OworCisgICAgcmV0dXJuIHt7CisgICAgICAgICpzdXBwb3J0ZWQsCisgICAg
ICAgICpzbW9vdGgsCisgICAgICAgICpwb3dlckVmZmljaWVudCwKKyAgICB9fTsKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYWNhcGFiaWxpdGllcy9BdWRpb0NvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL0F1ZGlvQ29uZmlndXJhdGlvbi5oCmluZGV4IDhm
YTE0YTUyNGMwNDVmZWRlY2MzZmE1NTRmNDgwOTZhNDkzNDhhZGIuLjU3Njc5YzQyOTJmOWEwMDUy
MTg1ZjZmOTM5ZTVmZTU4MDhiYmM4ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhY2FwYWJpbGl0aWVzL0F1ZGlvQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL0F1ZGlvQ29uZmlndXJhdGlvbi5oCkBA
IC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSA8d3RmL09wdGlvbmFs
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTM1LDYgKzM2LDU2IEBAIHN0cnVjdCBBdWRpb0NvbmZpZ3VyYXRpb24gewogICAgIE9w
dGlvbmFsPHVpbnQ2NF90PiBiaXRyYXRlOwogICAgIE9wdGlvbmFsPHVpbnQzMl90PiBzYW1wbGVy
YXRlOwogICAgIE9wdGlvbmFsPGJvb2w+IHNwYXRpYWxSZW5kZXJpbmc7CisKKyAgICB0ZW1wbGF0
ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxh
dGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIE9wdGlvbmFsPEF1ZGlvQ29uZmlndXJhdGlvbj4gZGVj
b2RlKERlY29kZXImKTsKIH07CiAKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIEF1ZGlv
Q29uZmlndXJhdGlvbjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5j
b2RlciA8PCBjb250ZW50VHlwZTsKKyAgICBlbmNvZGVyIDw8IGNoYW5uZWxzOworICAgIGVuY29k
ZXIgPDwgYml0cmF0ZTsKKyAgICBlbmNvZGVyIDw8IHNhbXBsZXJhdGU7CisgICAgZW5jb2RlciA8
PCBzcGF0aWFsUmVuZGVyaW5nOworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgorT3B0aW9u
YWw8QXVkaW9Db25maWd1cmF0aW9uPiBBdWRpb0NvbmZpZ3VyYXRpb246OmRlY29kZShEZWNvZGVy
JiBkZWNvZGVyKQoreworICAgIE9wdGlvbmFsPFN0cmluZz4gY29udGVudFR5cGU7CisgICAgZGVj
b2RlciA+PiBjb250ZW50VHlwZTsKKyAgICBpZiAoIWNvbnRlbnRUeXBlKQorICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8U3RyaW5nPiBjaGFubmVsczsKKyAgICBk
ZWNvZGVyID4+IGNoYW5uZWxzOworICAgIGlmICghY2hhbm5lbHMpCisgICAgICAgIHJldHVybiBX
VEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxPcHRpb25hbDx1aW50NjRfdD4+IGJpdHJhdGU7
CisgICAgZGVjb2RlciA+PiBiaXRyYXRlOworICAgIGlmICghYml0cmF0ZSkKKyAgICAgICAgcmV0
dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPE9wdGlvbmFsPHVpbnQzMl90Pj4gc2Ft
cGxlUmF0ZTsKKyAgICBkZWNvZGVyID4+IHNhbXBsZVJhdGU7CisgICAgaWYgKCFzYW1wbGVSYXRl
KQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8T3B0aW9uYWw8
Ym9vbD4+IHNwYXRpYWxSZW5kZXJpbmc7CisgICAgZGVjb2RlciA+PiBzcGF0aWFsUmVuZGVyaW5n
OworICAgIGlmICghc3BhdGlhbFJlbmRlcmluZykKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9w
dDsKKworICAgIHJldHVybiB7eworICAgICAgICAqY29udGVudFR5cGUsCisgICAgICAgICpjaGFu
bmVscywKKyAgICAgICAgKmJpdHJhdGUsCisgICAgICAgICpzYW1wbGVSYXRlLAorICAgICAgICAq
c3BhdGlhbFJlbmRlcmluZworICAgIH19OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9Db2xv
ckdhbXV0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9Db2xv
ckdhbXV0LmgKaW5kZXggMTgxM2UzNTNkYWUxMjQ4ZGI1ZThkMmM4Y2Q2NTY4MzI0YmQzMGNkMy4u
MjhkMDI0MmMxZDUyYzcyYmY4YTZiZjE1MjNkMDg0NDE5NDhhNTA3YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvQ29sb3JHYW11dC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL0NvbG9yR2FtdXQuaApA
QCAtMjcsMTAgKzI3LDIzIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotZW51bSBjbGFzcyBD
b2xvckdhbXV0IHsKK2VudW0gY2xhc3MgQ29sb3JHYW11dCA6IHVpbnQ4X3QgewogICAgIFNSR0Is
CiAgICAgUDMsCiAgICAgUmVjMjAyMCwKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
bmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6
Q29sb3JHYW11dD4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdl
YkNvcmU6OkNvbG9yR2FtdXQsCisgICAgICAgIFdlYkNvcmU6OkNvbG9yR2FtdXQ6OlNSR0IsCisg
ICAgICAgIFdlYkNvcmU6OkNvbG9yR2FtdXQ6OlAzLAorICAgICAgICBXZWJDb3JlOjpDb2xvckdh
bXV0OjpSZWMyMDIwCisgICAgPjsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL0hkck1ldGFkYXRhVHlwZS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvSGRyTWV0YWRhdGFUeXBlLmgKaW5kZXgg
NjVjMWQwZWUyOWQ4ODRmOWJlODlmNjllYjUwZGUzYWNhZTgyMzBhZS4uMDI0OTk4MmY1YTg4NTI1
MGI1MjhlOGU4NDk3ZGY0OTdmZjkzMWQwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvSGRyTWV0YWRhdGFUeXBlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvSGRyTWV0YWRhdGFUeXBlLmgKQEAgLTI3
LDEwICsyNywyMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWVudW0gY2xhc3MgSGRyTWV0
YWRhdGFUeXBlIHsKK2VudW0gY2xhc3MgSGRyTWV0YWRhdGFUeXBlIDogdWludDhfdCB7CiAgICAg
U21wdGVTdDIwODYsCiAgICAgU21wdGVTdDIwOTQxMCwKICAgICBTbXB0ZVN0MjA5NDQwCiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+
IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6Okhkck1ldGFkYXRhVHlwZT4geworICAgIHVzaW5n
IHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6Okhkck1ldGFkYXRhVHlwZSwK
KyAgICAgICAgV2ViQ29yZTo6SGRyTWV0YWRhdGFUeXBlOjpTbXB0ZVN0MjA4NiwKKyAgICAgICAg
V2ViQ29yZTo6SGRyTWV0YWRhdGFUeXBlOjpTbXB0ZVN0MjA5NDEwLAorICAgICAgICBXZWJDb3Jl
OjpIZHJNZXRhZGF0YVR5cGU6OlNtcHRlU3QyMDk0NDAKKyAgICA+OworfTsKKworfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBh
YmlsaXRpZXNMb2dnaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxp
dGllcy9NZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuaAppbmRleCA4YWI3ZTI3NjQxYzFiNjI4ODJh
NDg5ZDExNGY4YzE3Mjk0ZTdmOTk5Li4yY2ViNmY2NmY4Yzg1Yzg3NGY4MmU5ZDE2OTZlY2FjOGY2
MDQ5YzFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxp
dGllcy9NZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuaApAQCAtMzgs
MTEgKzM4LDExIEBAIHN0cnVjdCBNZWRpYUNhcGFiaWxpdGllc0luZm87CiBzdHJ1Y3QgTWVkaWFD
YXBhYmlsaXRpZXNEZWNvZGluZ0luZm87CiBzdHJ1Y3QgTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGlu
Z0luZm87CiAKLWVudW0gY2xhc3MgQ29sb3JHYW11dDsKLWVudW0gY2xhc3MgSGRyTWV0YWRhdGFU
eXBlOwotZW51bSBjbGFzcyBUcmFuc2ZlckZ1bmN0aW9uOwotZW51bSBjbGFzcyBNZWRpYURlY29k
aW5nVHlwZTsKLWVudW0gY2xhc3MgTWVkaWFFbmNvZGluZ1R5cGU7CitlbnVtIGNsYXNzIENvbG9y
R2FtdXQgOiB1aW50OF90OworZW51bSBjbGFzcyBIZHJNZXRhZGF0YVR5cGUgOiB1aW50OF90Owor
ZW51bSBjbGFzcyBUcmFuc2ZlckZ1bmN0aW9uIDogdWludDhfdDsKK2VudW0gY2xhc3MgTWVkaWFE
ZWNvZGluZ1R5cGUgOiBib29sOworZW51bSBjbGFzcyBNZWRpYUVuY29kaW5nVHlwZSA6IGJvb2w7
CiAKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmls
aXRpZXMvTWVkaWFDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YWNhcGFiaWxpdGllcy9NZWRpYUNvbmZpZ3VyYXRpb24uaAppbmRleCBkMDFhZDZlOTMyNDEyY2Ex
YjU3YzQzMDY1YzZmMjI2MDNiOGUwZDRjLi5jMDg2OGU0YWI5ZDRlMDk4YWJjNTE5MDQ3ZjFmNTZi
YWYzNTQ0OGUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFi
aWxpdGllcy9NZWRpYUNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNvbmZpZ3VyYXRpb24uaApAQCAtMzQsNiArMzQsMzYg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RydWN0IE1lZGlhQ29uZmlndXJhdGlvbiB7CiAgICAg
T3B0aW9uYWw8VmlkZW9Db25maWd1cmF0aW9uPiB2aWRlbzsKICAgICBPcHRpb25hbDxBdWRpb0Nv
bmZpZ3VyYXRpb24+IGF1ZGlvOworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBl
bmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRp
YyBPcHRpb25hbDxNZWRpYUNvbmZpZ3VyYXRpb24+IGRlY29kZShEZWNvZGVyJik7CiB9OwogCit0
ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgordm9pZCBNZWRpYUNvbmZpZ3VyYXRpb246OmVuY29kZShF
bmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAgIGVuY29kZXIgPDwgdmlkZW87CisgICAgZW5j
b2RlciA8PCBhdWRpbzsKIH0KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KK09wdGlvbmFsPE1l
ZGlhQ29uZmlndXJhdGlvbj4gTWVkaWFDb25maWd1cmF0aW9uOjpkZWNvZGUoRGVjb2RlciYgZGVj
b2RlcikKK3sKKyAgICBPcHRpb25hbDxPcHRpb25hbDxWaWRlb0NvbmZpZ3VyYXRpb24+PiB2aWRl
bzsKKyAgICBkZWNvZGVyID4+IHZpZGVvOworICAgIGlmICghdmlkZW8pCisgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxPcHRpb25hbDxBdWRpb0NvbmZpZ3VyYXRp
b24+PiBhdWRpbzsKKyAgICBkZWNvZGVyID4+IGF1ZGlvOworICAgIGlmICghYXVkaW8pCisgICAg
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICByZXR1cm4ge3sKKyAgICAgICAgKnZpZGVv
LAorICAgICAgICAqYXVkaW8sCisgICAgfX07Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMv
TWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLmgKaW5kZXggNTVjMDQ1
MTgyMjcwOTNiZTllM2I1N2ZkZWVjYWUzMTM2MmRlYmM0Ni4uMzgwOTIyZjIwOTU3M2FjMTY5YWYy
ZGZmMzExYWU1YTA2ODljMTFkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5nQ29uZmln
dXJhdGlvbi5oCkBAIC0zMiw2ICszMiwzNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVj
dCBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiA6IE1lZGlhQ29uZmlndXJhdGlvbiB7CiAgICAg
TWVkaWFEZWNvZGluZ1R5cGUgdHlwZTsKKworICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZv
aWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBz
dGF0aWMgT3B0aW9uYWw8TWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24+IGRlY29kZShEZWNvZGVy
Jik7CiB9OwogCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgordm9pZCBNZWRpYURlY29kaW5nQ29u
ZmlndXJhdGlvbjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgTWVkaWFD
b25maWd1cmF0aW9uOjplbmNvZGUoZW5jb2Rlcik7CisgICAgZW5jb2RlciA8PCB0eXBlOwogfQor
Cit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgorT3B0aW9uYWw8TWVkaWFEZWNvZGluZ0NvbmZpZ3Vy
YXRpb24+IE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uOjpkZWNvZGUoRGVjb2RlciYgZGVjb2Rl
cikKK3sKKyAgICBPcHRpb25hbDxNZWRpYUNvbmZpZ3VyYXRpb24+IG1lZGlhQ29uZmlndXJhdGlv
biA9IE1lZGlhQ29uZmlndXJhdGlvbjo6ZGVjb2RlKGRlY29kZXIpOworICAgIGlmICghbWVkaWFD
b25maWd1cmF0aW9uKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9u
YWw8TWVkaWFEZWNvZGluZ1R5cGU+IHR5cGU7CisgICAgZGVjb2RlciA+PiB0eXBlOworICAgIGlm
ICghdHlwZSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIHJldHVybiB7ewor
ICAgICAgICAqbWVkaWFDb25maWd1cmF0aW9uLAorICAgICAgICAqdHlwZSwKKyAgICB9fTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5nVHlwZS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ1R5cGUuaAppbmRl
eCA4OTBlN2Y4NGQ5ODcyNGMwMjRhYzVjZjAyOGQyMWU2MzdlNzI4M2YxLi40MTVlMGI3MjA5ZWE1
MGUxNTk2YjJhOGJkMmYyYTM5MjgzNjE4OGE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5nVHlwZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdUeXBlLmgK
QEAgLTI3LDkgKzI3LDIxIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotZW51bSBjbGFzcyBN
ZWRpYURlY29kaW5nVHlwZSB7CitlbnVtIGNsYXNzIE1lZGlhRGVjb2RpbmdUeXBlIDogYm9vbCB7
CiAgICAgRmlsZSwKICAgICBNZWRpYVNvdXJjZSwKIH07CiAKIH0KKworbmFtZXNwYWNlIFdURiB7
CisKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TWVkaWFEZWNvZGluZ1R5
cGU+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJDb3JlOjpN
ZWRpYURlY29kaW5nVHlwZSwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFEZWNvZGluZ1R5cGU6OkZp
bGUsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhRGVjb2RpbmdUeXBlOjpNZWRpYVNvdXJjZQorICAg
ID47Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNh
cGFiaWxpdGllcy9NZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaApp
bmRleCA3MjliM2ExYmVhN2IyMzllZmMxNDc0ZDc0ZTY1MTEzMzYzYTMzODFkLi5mMDhjYTFlODg3
MWEzMGI0YjgxNTRiY2ZjOWZlNTQzNWYyYmE0N2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5j
b2RpbmdDb25maWd1cmF0aW9uLmgKQEAgLTMyLDYgKzMyLDM1IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogc3RydWN0IE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uIDogTWVkaWFDb25maWd1cmF0
aW9uIHsKICAgICBNZWRpYUVuY29kaW5nVHlwZSB0eXBlOworCisgICAgdGVtcGxhdGU8Y2xhc3Mg
RW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNz
IERlY29kZXI+IHN0YXRpYyBPcHRpb25hbDxNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbj4gZGVj
b2RlKERlY29kZXImKTsKIH07CiAKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIE1lZGlh
RW5jb2RpbmdDb25maWd1cmF0aW9uOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sK
KyAgICBNZWRpYUNvbmZpZ3VyYXRpb246OmVuY29kZShlbmNvZGVyKTsKKyAgICBlbmNvZGVyIDw8
IHR5cGU7CiB9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+CitPcHRpb25hbDxNZWRpYUVuY29k
aW5nQ29uZmlndXJhdGlvbj4gTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb246OmRlY29kZShEZWNv
ZGVyJiBkZWNvZGVyKQoreworICAgIE9wdGlvbmFsPE1lZGlhQ29uZmlndXJhdGlvbj4gbWVkaWFD
b25maWd1cmF0aW9uID0gTWVkaWFDb25maWd1cmF0aW9uOjpkZWNvZGUoZGVjb2Rlcik7CisgICAg
aWYgKCFtZWRpYUNvbmZpZ3VyYXRpb24pCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisK
KyAgICBPcHRpb25hbDxNZWRpYUVuY29kaW5nVHlwZT4gdHlwZTsKKyAgICBkZWNvZGVyID4+IHR5
cGU7CisgICAgaWYgKCF0eXBlKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAg
cmV0dXJuIHt7CisgICAgICAgICptZWRpYUNvbmZpZ3VyYXRpb24sCisgICAgICAgICp0eXBlLAor
ICAgIH19OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdUeXBlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5n
VHlwZS5oCmluZGV4IGE4N2QwZjI1ODE0ZDE2MDQxZjQ5YzgwMGY2YmNhZDdiZDllMzg0ZDguLjAx
MmE4YzZkNTM5NjdkOWI0ZWRjMjIyM2FlNDkwMDUzMWY1ZjFmZDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdUeXBlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNv
ZGluZ1R5cGUuaApAQCAtMjcsOSArMjcsMjIgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1l
bnVtIGNsYXNzIE1lZGlhRW5jb2RpbmdUeXBlIHsKK2VudW0gY2xhc3MgTWVkaWFFbmNvZGluZ1R5
cGUgOiBib29sIHsKICAgICBSZWNvcmQsCiAgICAgVHJhbnNtaXNzaW9uLAogfTsKIAogfQorCitu
YW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpN
ZWRpYUVuY29kaW5nVHlwZT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAg
ICAgIFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdUeXBlLAorICAgICAgICBXZWJDb3JlOjpNZWRpYUVu
Y29kaW5nVHlwZTo6UmVjb3JkLAorICAgICAgICBXZWJDb3JlOjpNZWRpYUVuY29kaW5nVHlwZTo6
VHJhbnNtaXNzaW9uCisgICAgPjsKK307CisKK30KKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFj
dG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRp
YUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmNwcAppbmRleCA4ZmZhNmE5Y2M1ZGY5NDkwNjQ3
YTVmZTQ5ZDYyOTIyMGQwNGY2M2Q2Li4wNTBjZGY5ZmM1MzIwMmQ4MTAwYmVmNzMyMzM3NTliNjc0
YmM3OGE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxp
dGllcy9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25G
YWN0b3J5LmNwcApAQCAtNTMsMzMgKzUzLDQ4IEBAIHN0YXRpYyBib29sJiBtb2NrRW5hYmxlZCgp
CiAgICAgcmV0dXJuIGVuYWJsZWQ7CiB9CiAKLXN0cnVjdCBNZWRpYUVuZ2luZUZhY3Rvcnkgewot
ICAgIHZvaWQoKmNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbikoTWVkaWFEZWNvZGluZ0NvbmZp
Z3VyYXRpb24mJiwgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6RGVjb2RpbmdDb25m
aWd1cmF0aW9uQ2FsbGJhY2smJik7Ci0gICAgdm9pZCgqY3JlYXRlRW5jb2RpbmdDb25maWd1cmF0
aW9uKShNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYmLCBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRp
b25GYWN0b3J5OjpFbmNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayYmKTsKLX07Ci0KLXVzaW5n
IEZhY3RvcnlWZWN0b3IgPSBWZWN0b3I8TWVkaWFFbmdpbmVGYWN0b3J5PjsKLXN0YXRpYyBjb25z
dCBGYWN0b3J5VmVjdG9yJiBmYWN0b3JpZXMoKQordXNpbmcgRmFjdG9yeVZlY3RvciA9IFZlY3Rv
cjxNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpNZWRpYUVuZ2luZUZhY3Rvcnk+Owor
c3RhdGljIEZhY3RvcnlWZWN0b3IgZGVmYXVsdEZhY3RvcmllcygpCiB7Ci0gICAgc3RhdGljIE5l
dmVyRGVzdHJveWVkPEZhY3RvcnlWZWN0b3I+IGZhY3RvcmllcyA9IG1ha2VOZXZlckRlc3Ryb3ll
ZChGYWN0b3J5VmVjdG9yKHsKKyAgICBGYWN0b3J5VmVjdG9yIGZhY3RvcmllczsKICNpZiBQTEFU
Rk9STShDT0NPQSkKLSAgICAgICAgeyAmY3JlYXRlTWVkaWFQbGF5ZXJEZWNvZGluZ0NvbmZpZ3Vy
YXRpb25Db2NvYSwgbnVsbHB0ciB9LAorICAgIGZhY3Rvcmllcy5hcHBlbmQoeyAmY3JlYXRlTWVk
aWFQbGF5ZXJEZWNvZGluZ0NvbmZpZ3VyYXRpb25Db2NvYSwgbnVsbHB0ciB9KTsKICNlbmRpZgog
I2lmIFVTRShHU1RSRUFNRVIpCi0gICAgICAgIHsgJmNyZWF0ZU1lZGlhUGxheWVyRGVjb2RpbmdD
b25maWd1cmF0aW9uR1N0cmVhbWVyLCAmY3JlYXRlTWVkaWFQbGF5ZXJFbmNvZGluZ0NvbmZpZ3Vy
YXRpb25HU3RyZWFtZXIgfSwKKyAgICBmYWN0b3JpZXMuYXBwZW5kKHsgJmNyZWF0ZU1lZGlhUGxh
eWVyRGVjb2RpbmdDb25maWd1cmF0aW9uR1N0cmVhbWVyLCAmY3JlYXRlTWVkaWFQbGF5ZXJFbmNv
ZGluZ0NvbmZpZ3VyYXRpb25HU3RyZWFtZXIgfSk7CiAjZW5kaWYKLSAgICB9KSk7CiAgICAgcmV0
dXJuIGZhY3RvcmllczsKIH0KIAorc3RhdGljIEZhY3RvcnlWZWN0b3ImIGZhY3RvcmllcygpCit7
CisgICAgc3RhdGljIGF1dG8gZmFjdG9yaWVzID0gbWFrZU5ldmVyRGVzdHJveWVkPEZhY3RvcnlW
ZWN0b3I+KGRlZmF1bHRGYWN0b3JpZXMoKSk7CisgICAgcmV0dXJuIGZhY3RvcmllczsKK30KKwor
dm9pZCBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjbGVhckZhY3RvcmllcygpCit7
CisgICAgZmFjdG9yaWVzKCkuY2xlYXIoKTsKK30KKwordm9pZCBNZWRpYUVuZ2luZUNvbmZpZ3Vy
YXRpb25GYWN0b3J5OjpyZXNldEZhY3RvcmllcygpCit7CisgICAgZmFjdG9yaWVzKCkgPSBkZWZh
dWx0RmFjdG9yaWVzKCk7Cit9CisKK3ZvaWQgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9y
eTo6aW5zdGFsbEZhY3RvcnkoTWVkaWFFbmdpbmVGYWN0b3J5JiYgZmFjdG9yeSkKK3sKKyAgICBm
YWN0b3JpZXMoKS5hcHBlbmQoV1RGTW92ZShmYWN0b3J5KSk7Cit9CisKIGJvb2wgTWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeTo6aGFzRGVjb2RpbmdDb25maWd1cmF0aW9uRmFjdG9yeSgp
CiB7Ci0gICAgcmV0dXJuIG1vY2tFbmFibGVkKCkgfHwgV1RGOjphbnlPZihmYWN0b3JpZXMoKSwg
W10gKGF1dG8mIGZhY3RvcnkpIHsgcmV0dXJuIGZhY3RvcnkuY3JlYXRlRGVjb2RpbmdDb25maWd1
cmF0aW9uOyB9KTsKKyAgICByZXR1cm4gbW9ja0VuYWJsZWQoKSB8fCBXVEY6OmFueU9mKGZhY3Rv
cmllcygpLCBbXSAoYXV0byYgZmFjdG9yeSkgeyByZXR1cm4gKGJvb2wpZmFjdG9yeS5jcmVhdGVE
ZWNvZGluZ0NvbmZpZ3VyYXRpb247IH0pOwogfQogCiBib29sIE1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3Rvcnk6Omhhc0VuY29kaW5nQ29uZmlndXJhdGlvbkZhY3RvcnkoKQogewotICAgIHJl
dHVybiBtb2NrRW5hYmxlZCgpIHx8IFdURjo6YW55T2YoZmFjdG9yaWVzKCksIFtdIChhdXRvJiBm
YWN0b3J5KSB7IHJldHVybiBmYWN0b3J5LmNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbjsgfSk7
CisgICAgcmV0dXJuIG1vY2tFbmFibGVkKCkgfHwgV1RGOjphbnlPZihmYWN0b3JpZXMoKSwgW10g
KGF1dG8mIGZhY3RvcnkpIHsgcmV0dXJuIChib29sKWZhY3RvcnkuY3JlYXRlRW5jb2RpbmdDb25m
aWd1cmF0aW9uOyB9KTsKIH0KIAogdm9pZCBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
OjpjcmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24m
JiBjb25maWcsIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkRlY29kaW5nQ29uZmln
dXJhdGlvbkNhbGxiYWNrJiYgY2FsbGJhY2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmgKaW5kZXggMTk3NzkzYjFjOTRhZWVkNWZjY2IyYjM2YTlk
MjFiY2YzMjQyNDI3My4uMzE4NTlkMTlmNGE2MTdhNzRjZDk1NGNmMTI3NWFjYmY5M2VjNDkzOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVk
aWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaApA
QCAtNDQsOSArNDQsMjEgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGhhc0RlY29kaW5nQ29u
ZmlndXJhdGlvbkZhY3RvcnkoKTsKICAgICBzdGF0aWMgYm9vbCBoYXNFbmNvZGluZ0NvbmZpZ3Vy
YXRpb25GYWN0b3J5KCk7CiAKLSAgICBzdGF0aWMgdm9pZCBjcmVhdGVEZWNvZGluZ0NvbmZpZ3Vy
YXRpb24oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24mJiwgRGVjb2RpbmdDb25maWd1cmF0aW9u
Q2FsbGJhY2smJik7Ci0gICAgc3RhdGljIHZvaWQgY3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9u
KE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uJiYsIEVuY29kaW5nQ29uZmlndXJhdGlvbkNhbGxi
YWNrJiYpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGNyZWF0ZURlY29kaW5nQ29u
ZmlndXJhdGlvbihNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiYmLCBEZWNvZGluZ0NvbmZpZ3Vy
YXRpb25DYWxsYmFjayYmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBjcmVhdGVF
bmNvZGluZ0NvbmZpZ3VyYXRpb24oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiwgRW5jb2Rp
bmdDb25maWd1cmF0aW9uQ2FsbGJhY2smJik7CisgICAgCisgICAgdXNpbmcgQ3JlYXRlRGVjb2Rp
bmdDb25maWd1cmF0aW9uID0gV1RGOjpGdW5jdGlvbjx2b2lkKE1lZGlhRGVjb2RpbmdDb25maWd1
cmF0aW9uJiYsIERlY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYpPjsKKyAgICB1c2luZyBD
cmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24gPSBXVEY6OkZ1bmN0aW9uPHZvaWQoTWVkaWFFbmNv
ZGluZ0NvbmZpZ3VyYXRpb24mJiwgRW5jb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2smJik+Owog
CisgICAgc3RydWN0IE1lZGlhRW5naW5lRmFjdG9yeSB7CisgICAgICAgIENyZWF0ZURlY29kaW5n
Q29uZmlndXJhdGlvbiBjcmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRpb247CisgICAgICAgIENyZWF0
ZUVuY29kaW5nQ29uZmlndXJhdGlvbiBjcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb247CisgICAg
fTsKKyAgICAKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBjbGVhckZhY3Rvcmllcygp
OworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHJlc2V0RmFjdG9yaWVzKCk7CisgICAg
V0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgaW5zdGFsbEZhY3RvcnkoTWVkaWFFbmdpbmVGYWN0
b3J5JiYpOworICAgIAogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGVuYWJsZU1vY2so
KTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBkaXNhYmxlTW9jaygpOwogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1RyYW5z
ZmVyRnVuY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVz
L1RyYW5zZmVyRnVuY3Rpb24uaAppbmRleCBiMTQ1YjNhYmJkOWZjYzUxOGUzODZmZjQxOWI2ZDJi
ZWY5N2YzZjQ2Li41ZDNlMTdkYTk3Mjg0OTdhODc0ZWM1MTJhYWJmOTg2MjRlODM4NDI4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9UcmFuc2Zl
ckZ1bmN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRp
ZXMvVHJhbnNmZXJGdW5jdGlvbi5oCkBAIC0yNywxMCArMjcsMjMgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1lbnVtIGNsYXNzIFRyYW5zZmVyRnVuY3Rpb24geworZW51bSBjbGFzcyBUcmFu
c2ZlckZ1bmN0aW9uIDogdWludDhfdCB7CiAgICAgU1JHQiwKICAgICBQUSwKICAgICBITEcKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRl
PD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6VHJhbnNmZXJGdW5jdGlvbj4geworICAgIHVz
aW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OlRyYW5zZmVyRnVuY3Rp
b24sCisgICAgICAgIFdlYkNvcmU6OlRyYW5zZmVyRnVuY3Rpb246OlNSR0IsCisgICAgICAgIFdl
YkNvcmU6OlRyYW5zZmVyRnVuY3Rpb246OlBRLAorICAgICAgICBXZWJDb3JlOjpUcmFuc2ZlckZ1
bmN0aW9uOjpITEcKKyAgICA+OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvVmlkZW9Db25maWd1cmF0aW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaApp
bmRleCBjZDlkY2EzYzY3MDUwMDdmMmI5ZTg2OWNlMGQ1ZWNmZjVlYzJlODA1Li40MzI2NmRmNWI2
NjNmNWQwZGUxYWY3YTFjYmFiMjg0NDhmMGQ0OWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRp
b24uaApAQCAtNDMsNiArNDMsODUgQEAgc3RydWN0IFZpZGVvQ29uZmlndXJhdGlvbiB7CiAgICAg
T3B0aW9uYWw8Q29sb3JHYW11dD4gY29sb3JHYW11dDsKICAgICBPcHRpb25hbDxIZHJNZXRhZGF0
YVR5cGU+IGhkck1ldGFkYXRhVHlwZTsKICAgICBPcHRpb25hbDxUcmFuc2ZlckZ1bmN0aW9uPiB0
cmFuc2ZlckZ1bmN0aW9uOworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNv
ZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBP
cHRpb25hbDxWaWRlb0NvbmZpZ3VyYXRpb24+IGRlY29kZShEZWNvZGVyJik7CiB9OwogCit0ZW1w
bGF0ZTxjbGFzcyBFbmNvZGVyPgordm9pZCBWaWRlb0NvbmZpZ3VyYXRpb246OmVuY29kZShFbmNv
ZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAgIGVuY29kZXIgPDwgY29udGVudFR5cGU7CisgICAg
ZW5jb2RlciA8PCB3aWR0aDsKKyAgICBlbmNvZGVyIDw8IGhlaWdodDsKKyAgICBlbmNvZGVyIDw8
IGJpdHJhdGU7CisgICAgZW5jb2RlciA8PCBmcmFtZXJhdGU7CisgICAgZW5jb2RlciA8PCBhbHBo
YUNoYW5uZWw7CisgICAgZW5jb2RlciA8PCBjb2xvckdhbXV0OworICAgIGVuY29kZXIgPDwgaGRy
TWV0YWRhdGFUeXBlOworICAgIGVuY29kZXIgPDwgdHJhbnNmZXJGdW5jdGlvbjsKK30KKwordGVt
cGxhdGU8Y2xhc3MgRGVjb2Rlcj4KK09wdGlvbmFsPFZpZGVvQ29uZmlndXJhdGlvbj4gVmlkZW9D
b25maWd1cmF0aW9uOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBPcHRpb25hbDxT
dHJpbmc+IGNvbnRlbnRUeXBlOworICAgIGRlY29kZXIgPj4gY29udGVudFR5cGU7CisgICAgaWYg
KCFjb250ZW50VHlwZSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlv
bmFsPHVpbnQzMl90PiB3aWR0aDsKKyAgICBkZWNvZGVyID4+IHdpZHRoOworICAgIGlmICghd2lk
dGgpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDx1aW50MzJf
dD4gaGVpZ2h0OworICAgIGRlY29kZXIgPj4gaGVpZ2h0OworICAgIGlmICghaGVpZ2h0KQorICAg
ICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8dWludDY0X3Q+IGJpdHJh
dGU7CisgICAgZGVjb2RlciA+PiBiaXRyYXRlOworICAgIGlmICghYml0cmF0ZSkKKyAgICAgICAg
cmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPGRvdWJsZT4gZnJhbWVyYXRlOwor
ICAgIGRlY29kZXIgPj4gZnJhbWVyYXRlOworICAgIGlmICghZnJhbWVyYXRlKQorICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8T3B0aW9uYWw8Ym9vbD4+IGFscGhh
Q2hhbm5lbDsKKyAgICBkZWNvZGVyID4+IGFscGhhQ2hhbm5lbDsKKyAgICBpZiAoIWFscGhhQ2hh
bm5lbCkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPE9wdGlv
bmFsPENvbG9yR2FtdXQ+PiBjb2xvckdhbXV0OworICAgIGRlY29kZXIgPj4gY29sb3JHYW11dDsK
KyAgICBpZiAoIWNvbG9yR2FtdXQpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAg
ICBPcHRpb25hbDxPcHRpb25hbDxIZHJNZXRhZGF0YVR5cGU+PiBoZHJNZXRhZGF0YVR5cGU7Cisg
ICAgZGVjb2RlciA+PiBoZHJNZXRhZGF0YVR5cGU7CisgICAgaWYgKCFoZHJNZXRhZGF0YVR5cGUp
CisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxPcHRpb25hbDxU
cmFuc2ZlckZ1bmN0aW9uPj4gdHJhbnNmZXJGdW5jdGlvbjsKKyAgICBkZWNvZGVyID4+IHRyYW5z
ZmVyRnVuY3Rpb247CisgICAgaWYgKCF0cmFuc2ZlckZ1bmN0aW9uKQorICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OworCisKKyAgICByZXR1cm4ge3sKKyAgICAgICAgKmNvbnRlbnRUeXBlLAor
ICAgICAgICAqd2lkdGgsCisgICAgICAgICpoZWlnaHQsCisgICAgICAgICpiaXRyYXRlLAorICAg
ICAgICAqZnJhbWVyYXRlLAorICAgICAgICAqYWxwaGFDaGFubmVsLAorICAgICAgICAqY29sb3JH
YW11dCwKKyAgICAgICAgKmhkck1ldGFkYXRhVHlwZSwKKyAgICAgICAgKnRyYW5zZmVyRnVuY3Rp
b24sCisgICAgfX07CiB9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJL
aXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCBlNTFjYWVkMjFlMTg2Y2Yy
YTE3M2NiOGEzMzMxMmJlMGIzMDRiYjAwLi4yNjdjZGQyOTQzZTE0NmYwNWNjOGU3YzMxMDIyMzlk
YmY2YmUzYjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2Zp
bGVsaXN0CkBAIC0zMyw2ICszMyw3IEBAICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlQ0RNUHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElS
KS9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETVByb3h5Lm1lc3NhZ2VzLmluCiAkKFBS
T0pFQ1RfRElSKS9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETVNlc3Npb25Qcm94eS5t
ZXNzYWdlcy5pbgorJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIp
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkubWVzc2FnZXMu
aW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRp
YVJlc291cmNlTWFuYWdlci5tZXNzYWdlcy5pbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9E
ZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNv
dXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggZTg4YjJjMjFmYTcxN2M3N2QyMzAyY2I1MThi
YTRhZDNlZGUyNTc0YS4uNjBkNDQzMDI2ZjM2ZDQ5M2FjYjYyNzlkOGY3YTBjMzFlYTJiNDYyOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlz
dAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBA
IC0xOTMsNiArMTkzLDkgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YktpdDIvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbk1lc3NhZ2VzUmVwbGkKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZUxlZ2FjeUNETVNlc3Npb25Qcm94
eU1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQyL1JlbW90ZUxlZ2FjeUNETVNlc3Npb25Qcm94eU1lc3NhZ2VzLmgKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZUxlZ2FjeUNETVNlc3Np
b25Qcm94eU1lc3NhZ2VzUmVwbGllcy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHlN
ZXNzYWdlUmVjZWl2ZXIuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHlNZXNzYWdl
cy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVN
ZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHlNZXNzYWdlc1JlcGxpZXMuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFQbGF5
ZXJNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyTWVzc2FnZXMuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFQbGF5
ZXJNYW5hZ2VyTWVzc2FnZXNSZXBsaWVzLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRGVy
aXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRl
eCA2ODE0ODU1ZmY5ZDIzYWYwYTc3ZTVmZGE2ZGZkMmZkNTUwOTc2ZjY5Li4zNThmNzRiYmQzMjUx
NjRkMjk1NzYyMDEyN2U0YTYwMmQ5MmQ3YTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Rl
cml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtl
CkBAIC0yNDYsNiArMjQ2LDcgQEAgTUVTU0FHRV9SRUNFSVZFUlMgPSBcCiAJR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVDRE1GYWN0b3J5UHJveHkgXAogCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQ0RN
SW5zdGFuY2VQcm94eSBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1Qcm94eSBc
CisJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
UHJveHkgXAogCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkg
XAogCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eSBcCiAJR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlciBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKaW5kZXggNmE4
Y2EyZjk5NTg3N2MyODFkNDc4OTAzM2EzNDM2NTc5Y2QzNmM2OS4uMGMyNjE2ODY1N2FhOGM0NzMz
OTE5OTRlZWYwMjM3MmM2Yzg5MjdiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApAQCAtMTAyLDYgKzEwMiwxMSBA
QAogI2luY2x1ZGUgIlJlbW90ZUxlZ2FjeUNETVNlc3Npb25Qcm94eU1lc3NhZ2VzLmgiCiAjZW5k
aWYKIAorI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKKyNpbmNsdWRlICJSZW1vdGVNZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHlNZXNzYWdlcy5oIgorI2VuZGlmCisKIG5hbWVzcGFj
ZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTMzOSw2ICszNDQsMTUg
QEAgUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5JiBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
OjpsZWdhY3lDZG1GYWN0b3J5UHJveHkoKQogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoR1BVX1BS
T0NFU1MpCitSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkmIEdQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3M6Om1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94
eSgpCit7CisgICAgaWYgKCFtX21lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eSkK
KyAgICAgICAgbV9tZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkgPSBtYWtlVW5p
cXVlPFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eT4oKnRoaXMpOwor
ICAgIHJldHVybiAqbV9tZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHk7Cit9Cisj
ZW5kaWYKKwogYm9vbCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaXNwYXRjaE1lc3NhZ2Uo
SVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6OkRlY29kZXImIGRlY29kZXIpCiB7CiAj
aWYgRU5BQkxFKFdFQl9BVURJTykKQEAgLTQxNCw2ICs0MjgsMTAgQEAgYm9vbCBHUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzOjpkaXNwYXRjaE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0
aW9uLCBJUEMKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogI2VuZGlmCisgICAgaWYgKGRl
Y29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpSZW1vdGVNZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgeworICAg
ICAgICBtZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkoKS5kaWRSZWNlaXZlTWVz
c2FnZUZyb21XZWJQcm9jZXNzKGNvbm5lY3Rpb24sIGRlY29kZXIpOworICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICB9CiAKICAgICByZXR1cm4gbWVzc2FnZVJlY2VpdmVyTWFwKCkuZGlzcGF0Y2hN
ZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKaW5kZXggMGQ3MDlkZjVlNTE1
YTIxODBjMDhmYzYyMGRkZGFkNGNjNmRlOGQyZi4uZTMzZjczODEzYmY2MDBlN2E5MWJhNjkyNTMx
MTI4OGNkNzllYWIwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BV
Q29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCkBAIC00OSw2ICs0OSw3IEBAIGNsYXNzIFJlbW90ZUF1
ZGlvU2Vzc2lvblByb3h5OwogY2xhc3MgUmVtb3RlQXVkaW9TZXNzaW9uUHJveHlNYW5hZ2VyOwog
Y2xhc3MgUmVtb3RlQ0RNRmFjdG9yeVByb3h5OwogY2xhc3MgUmVtb3RlTGVnYWN5Q0RNRmFjdG9y
eVByb3h5OworY2xhc3MgUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5
OwogY2xhc3MgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk7CiBjbGFzcyBSZW1vdGVNZWRp
YVJlY29yZGVyTWFuYWdlcjsKIGNsYXNzIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyOwpAQCAt
OTMsNiArOTQsOSBAQCBwdWJsaWM6CiAjZW5kaWYKICNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRF
RF9NRURJQSkKICAgICBSZW1vdGVMZWdhY3lDRE1GYWN0b3J5UHJveHkmIGxlZ2FjeUNkbUZhY3Rv
cnlQcm94eSgpOworI2VuZGlmCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorICAgIFJlbW90ZU1l
ZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eSYgbWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeVByb3h5KCk7CiAjZW5kaWYKICAgICBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQ
cm94eSYgcmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkoKTsKIApAQCAtMTkwLDYgKzE5NCw5
IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFJlbW90ZUxlZ2FjeUNETUZhY3RvcnlQcm94eT4gbV9sZWdhY3lDZG1GYWN0
b3J5UHJveHk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisgICAgc3RkOjp1bmlx
dWVfcHRyPFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eT4gbV9tZWRp
YUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHk7CisjZW5kaWYKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFj
dG9yeVByb3h5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNjg0MDhhMDgyM2UyYTgzMjUyOGUwMWI5MDY5YTJm
NTYyMjg4ZmJhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5jcHAKQEAgLTAs
MCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJS
ZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuaCIKKworI2lmIEVOQUJM
RShHUFVfUFJPQ0VTUykKKworI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFDYXBhYmlsaXRpZXNEZWNv
ZGluZ0luZm8uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJ
bmZvLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbi5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaD4KKyNpbmNsdWRlIDx3
dGYvQWxnb3JpdGhtcy5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CisKK1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eTo6
UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5KEdQVUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MmIGNvbm5lY3Rpb24pCisgICAgOiBtX2dwdUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MoY29ubmVjdGlvbikKK3sKK30KKworUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFj
dG9yeVByb3h5Ojp+UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5KCkg
PSBkZWZhdWx0OworCit2b2lkIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQ
cm94eTo6IGNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihXZWJDb3JlOjpNZWRpYURlY29kaW5n
Q29uZmlndXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2Vi
Q29yZTo6TWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8mJik+JiYgY29tcGxldGlvbikKK3sK
KyAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjcmVhdGVEZWNvZGluZ0NvbmZp
Z3VyYXRpb24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwgW2NvbXBsZXRpb24gPSBXVEZNb3ZlKGNv
bXBsZXRpb24pXSAoYXV0byBpbmZvKSBtdXRhYmxlIHsKKyAgICAgICAgY29tcGxldGlvbihXVEZN
b3ZlKGluZm8pKTsKKyAgICB9KTsKK30KKwordm9pZCBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3Vy
YXRpb25GYWN0b3J5UHJveHk6OmNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbihXZWJDb3JlOjpN
ZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoV2ViQ29yZTo6TWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8mJik+JiYgY29t
cGxldGlvbikKK3sKKyAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjcmVhdGVF
bmNvZGluZ0NvbmZpZ3VyYXRpb24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwgW2NvbXBsZXRpb24g
PSBXVEZNb3ZlKGNvbXBsZXRpb24pXSAoYXV0byBpbmZvKSBtdXRhYmxlIHsKKyAgICAgICAgY29t
cGxldGlvbihXVEZNb3ZlKGluZm8pKTsKKyAgICB9KTsKK30KKworfQorCisjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NDZkNzg4YjcxNmM2ZGUxNzEyNTA4MWI2Zjk5ODkxYzA1YWY3YzE3Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29u
ZmlndXJhdGlvbkZhY3RvcnlQcm94eS5oCkBAIC0wLDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKKworI2luY2x1ZGUgIkNvbm5l
Y3Rpb24uaCIKKyNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKKyNpbmNsdWRlIDxXZWJDb3Jl
L01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaD4KKyNpbmNsdWRlIDx3dGYvVW5pcXVl
UmVmLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisK
K2NsYXNzIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CisKK2NsYXNzIFJlbW90ZU1lZGlhRW5n
aW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eSBmaW5hbCA6IHByaXZhdGUgSVBDOjpNZXNzYWdl
UmVjZWl2ZXIsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3Vy
YXRpb25GYWN0b3J5UHJveHk+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1Ymxp
YzoKKyAgICBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkoR1BVQ29u
bmVjdGlvblRvV2ViUHJvY2VzcyYpOworICAgIHZpcnR1YWwgflJlbW90ZU1lZGlhRW5naW5lQ29u
ZmlndXJhdGlvbkZhY3RvcnlQcm94eSgpOworCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZUZy
b21XZWJQcm9jZXNzKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBk
ZWNvZGVyKSB7IGRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOyB9CisKKyAg
ICBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKCkg
Y29uc3QgeyByZXR1cm4gbV9ncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOyB9CisKK3ByaXZhdGU6
CisgICAgZnJpZW5kIGNsYXNzIEdQVVByb2Nlc3NDb25uZWN0aW9uOworICAgIC8vIElQQzo6TWVz
c2FnZVJlY2VpdmVyCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24m
LCBJUEM6OkRlY29kZXImKSBmaW5hbDsKKworICAgIC8vIE1lc3NhZ2VzCisgICAgdm9pZCBjcmVh
dGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24oV2ViQ29yZTo6TWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRp
b24mJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0Rl
Y29kaW5nSW5mbyYmKT4mJik7CisgICAgdm9pZCBjcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24o
V2ViQ29yZTo6TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbyYmKT4mJik7CisKKyAg
ICBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBtX2dwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7
Cit9OworCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5UHJveHkubWVzc2FnZXMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZhMWU3NDRi
OWVmMWE5ODEwZjMxOTJkYmE2MjlhNTNjOTllN2FiMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25G
YWN0b3J5UHJveHkubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMiBAQAorIyBDb3B5cmlnaHQgKEMp
IDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisjIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorIyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisjIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworIyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisjIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisjIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworIyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorIyBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorIyBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisjIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKKworbWVzc2Fn
ZXMgLT4gUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5IE5vdFJlZkNv
dW50ZWQgeworICAgIENyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihzdHJ1Y3QgV2ViQ29yZTo6
TWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbikgLT4gKHN0cnVjdCBXZWJD
b3JlOjpNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbyBkZWNvZGluZ0luZm8pIEFzeW5jCisg
ICAgQ3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uKHN0cnVjdCBXZWJDb3JlOjpNZWRpYUVuY29k
aW5nQ29uZmlndXJhdGlvbiBjb25maWd1cmF0aW9uKSAtPiAoc3RydWN0IFdlYkNvcmU6Ok1lZGlh
Q2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvIGRlY29kaW5nSW5mbykgQXN5bmMKK30KKworI2VuZGlm
CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0
L1NvdXJjZXMudHh0CmluZGV4IDRlYTRhZmJkNjlmMTgwZDc4ZTU5YmZhZTMyNWM0ZWY2NGY0NDky
MDYuLjE3MzUyMzdkMWUyOGYxYTkwMGVlYzM4NTIzMmUxZjM1YzI2ZTE0OTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4
dApAQCAtMzcsNiArMzcsNyBAQCBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETVByb3h5LmNwcAog
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1GYWN0b3J5UHJveHkuY3BwCiBHUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETVByb3h5LmNwcAogR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVMZWdhY3lDRE1TZXNzaW9uUHJveHkuY3BwCitHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuY3BwCiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyUHJveHkuY3BwCiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2Uu
Y3BwCkBAIC01ODIsNiArNTgzLDcgQEAgV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5z
dGFuY2VTZXNzaW9uLmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNLmNw
cAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeS5jcHAKIFdlYlBy
b2Nlc3MvR1BVL21lZGlhL1JlbW90ZUxlZ2FjeUNETVNlc3Npb24uY3BwCitXZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmNwcAogV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmNwcAogV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNSU1FVHlwZUNhY2hlLmNwcCBAbm8tdW5pZnkKIFdl
YlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VQcm94eS5jcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDhlMGRiY2I4
ODU5YjI2NGM1NjIzYjk0MTI3NmIyODNjZWQxY2YzNWEuLjQ4MDJhNTE4OTdhMTRhZTUwNTM5ZWIx
OTkyZGFlZjA2MzVkNTRiZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtMTgwMSw2ICsxODAxLDcgQEAKIAkJQ0QwQzY4MzEyMDFGRDEw
MTAwQTU5NDA5IC8qIFdLRnVsbFNjcmVlblZpZXdDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDBDNjgyRjIwMUZEMTAxMDBBNTk0MDkg
LyogV0tGdWxsU2NyZWVuVmlld0NvbnRyb2xsZXIuaCAqLzsgfTsKIAkJQ0QxOUEyNkUxQTEzRTgz
NDAwOEQ2NTBFIC8qIFdlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDE5QTI2QTFBMTNFODIxMDA4RDY1MEUg
LyogV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCAqLzsgfTsKIAkJQ0QxOUQyRUEyMDQ2NDA2
RjAwMTcwNzRBIC8qIEZ1bGxzY3JlZW5Ub3VjaFNlY2hldXJpc3RpYy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QxOUQyRTgyMDQ2NDA2RjAwMTcwNzRB
IC8qIEZ1bGxzY3JlZW5Ub3VjaFNlY2hldXJpc3RpYy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNEM0VFRjQ2MjU3OUMyNjEwMDY1NjNCQiAvKiBS
ZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHlNZXNzYWdlUmVjZWl2ZXIu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QzRUVG
NDQyNTc5QzFENDAwNjU2M0JCIC8qIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnlQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCUNENDU3MEQzMjQ0MTEzQjUwMEEz
RENFQiAvKiBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5TWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENDU3
MEQwMjQ0MTAxNEEwMEEzRENFQiAvKiBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5
TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJQ0Q0NTcwRDQyNDQxMUQwRjAwQTNEQ0VCIC8q
IEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENDU3MENCMjQ0MEZCMkEwMEEzRENFQiAvKiBBdWRp
b1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5jcHAgKi87IH07CiAJCUNENDY2MTgzMjQwMTBBNjcw
MDQ3Q0EzNSAvKiBSZW1vdGVDRE1JbnN0YW5jZVNlc3Npb25NZXNzYWdlUmVjZWl2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q0NjYxODEyNDAx
MDU2NDAwNDdDQTM1IC8qIFJlbW90ZUNETUluc3RhbmNlU2Vzc2lvbk1lc3NhZ2VSZWNlaXZlci5j
cHAgKi87IH07CkBAIC01MzA5LDYgKzUzMTAsMTQgQEAKIAkJQ0QxOUEyNkExQTEzRTgyMTAwOEQ2
NTBFIC8qIFdlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUNEMTlEMkU4MjA0NjQwNkYwMDE3MDc0QSAvKiBGdWxsc2NyZWVuVG91
Y2hTZWNoZXVyaXN0aWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlz
dGljLmg7IHBhdGggPSBpb3MvZnVsbHNjcmVlbi9GdWxsc2NyZWVuVG91Y2hTZWNoZXVyaXN0aWMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QxOUQyRTkyMDQ2NDA2RjAwMTcwNzRB
IC8qIEZ1bGxzY3JlZW5Ub3VjaFNlY2hldXJpc3RpYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBG
dWxsc2NyZWVuVG91Y2hTZWNoZXVyaXN0aWMuY3BwOyBwYXRoID0gaW9zL2Z1bGxzY3JlZW4vRnVs
bHNjcmVlblRvdWNoU2VjaGV1cmlzdGljLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQ0QzRUVGMzEyNTc5OTYxODAwNjU2M0JCIC8qIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3RvcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDNFRUYzMjI1Nzk5
NjE4MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0QzRUVGMzMyNTc5OTcxNzAwNjU2
M0JCIC8qIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0QzRUVGMzQyNTc5OTcxNzAwNjU2M0JCIC8q
IFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDNFRUYzNTI1Nzk5Nzk1MDA2NTYzQkIg
LyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5Lm1lc3NhZ2VzLmlu
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5tZXNzYWdl
cy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0QzRUVGNDMyNTc5QzFENDAwNjU2
M0JCIC8qIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eU1lc3NhZ2Vz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQ
cm94eU1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEM0VFRjQ0MjU3
OUMxRDQwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJv
eHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVtb3RlTWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0QzRUVGNDUyNTc5QzFENDAwNjU2M0JCIC8qIFJlbW90ZU1l
ZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eU1lc3NhZ2VzUmVwbGllcy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHlNZXNz
YWdlc1JlcGxpZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q0NTcwQ0EyNDQw
RkIyQTAwQTNEQ0VCIC8qIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNENDU3MENCMjQ0MEZCMkEwMEEzRENFQiAvKiBBdWRpb1Nlc3Npb25Sb3V0
aW5nQXJiaXRyYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBdWRpb1Nlc3Npb25Sb3V0aW5n
QXJiaXRyYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENDU3MEQwMjQ0
MTAxNEEwMEEzRENFQiAvKiBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5TWVzc2Fn
ZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJp
dHJhdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtNTgwMCw2ICs1ODA5LDggQEAKIAkJCQlDREU1NTRFRTI0MDU4MUEzMDA4QTNEREIgLyog
UmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbi5oICovLAogCQkJCUNERTU1NTA1MjQwNTgzMjQwMDhBM0RE
QiAvKiBSZW1vdGVMZWdhY3lDRE1TZXNzaW9uLm1lc3NhZ2VzLmluICovLAogCQkJCUNERTU1NTA5
MjQwNTg4Q0IwMDhBM0REQiAvKiBSZW1vdGVMZWdhY3lDRE1TZXNzaW9uSWRlbnRpZmllci5oICov
LAorCQkJCUNEM0VFRjMyMjU3OTk2MTgwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZp
Z3VyYXRpb25GYWN0b3J5LmNwcCAqLywKKwkJCQlDRDNFRUYzMTI1Nzk5NjE4MDA2NTYzQkIgLyog
UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oICovLAogCQkJCTA3QjkzRkY1
MjNBRjBDQjgwMDM2RjhFQSAvKiBSZW1vdGVNZWRpYVBsYXllckNvbmZpZ3VyYXRpb24uaCAqLywK
IAkJCQkwNzkyMzEzMDIzOUIzQjBDMDA5NTk4RTIgLyogUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2Vy
LmNwcCAqLywKIAkJCQkwNzkyMzEzNDIzOUIzQjBDMDA5NTk4RTIgLyogUmVtb3RlTWVkaWFQbGF5
ZXJNYW5hZ2VyLmggKi8sCkBAIC01ODY0LDYgKzU4NzUsOSBAQAogCQkJCUNERTU1NEY4MjQwNTgy
MDgwMDhBM0REQiAvKiBSZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJveHkuaCAqLywKIAkJCQlDREU1
NTUwMDI0MDU4Mjg0MDA4QTNEREIgLyogUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblByb3h5Lm1lc3Nh
Z2VzLmluICovLAogCQkJCTFENEZCNDBDMjU2NUNCRjkwMDFBQzJBRCAvKiBSZW1vdGVNZWRpYURl
c2NyaXB0aW9uLmggKi8sCisJCQkJQ0QzRUVGMzQyNTc5OTcxNzAwNjU2M0JCIC8qIFJlbW90ZU1l
ZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5jcHAgKi8sCisJCQkJQ0QzRUVGMzMy
NTc5OTcxNzAwNjU2M0JCIC8qIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQ
cm94eS5oICovLAorCQkJCUNEM0VFRjM1MjU3OTk3OTUwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkubWVzc2FnZXMuaW4gKi8sCiAJCQkJMDcyNUVG
QUQyMzlCMDI0NTAwQTUzOEE5IC8qIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5LmNwcCAq
LywKIAkJCQkwNzI1RUZBQzIzOUFFMzg1MDBBNTM4QTkgLyogUmVtb3RlTWVkaWFQbGF5ZXJNYW5h
Z2VyUHJveHkuaCAqLywKIAkJCQkwNzI1RUZBQjIzOUFFMzg0MDBBNTM4QTkgLyogUmVtb3RlTWVk
aWFQbGF5ZXJNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4gKi8sCkBAIC0xMDUzMSw2ICsxMDU0NSw5
IEBACiAJCQkJQ0RFNTU1MzEyNDA2Qjg5NzAwOEEzRERCIC8qIFJlbW90ZUxlZ2FjeUNETVNlc3Np
b25Qcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJQ0RFNTU1MkYyNDA2Qjg5NzAwOEEz
RERCIC8qIFJlbW90ZUxlZ2FjeUNETVNlc3Npb25Qcm94eU1lc3NhZ2VzLmggKi8sCiAJCQkJQ0RF
NTU1MjYyNDA2Qjg5NTAwOEEzRERCIC8qIFJlbW90ZUxlZ2FjeUNETVNlc3Npb25Qcm94eU1lc3Nh
Z2VzUmVwbGllcy5oICovLAorCQkJCUNEM0VFRjQ0MjU3OUMxRDQwMDY1NjNCQiAvKiBSZW1vdGVN
ZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICov
LAorCQkJCUNEM0VFRjQzMjU3OUMxRDQwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZp
Z3VyYXRpb25GYWN0b3J5UHJveHlNZXNzYWdlcy5oICovLAorCQkJCUNEM0VFRjQ1MjU3OUMxRDQw
MDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHlNZXNz
YWdlc1JlcGxpZXMuaCAqLywKIAkJCQkwNzkyMzE0NTIzOUNCQ0I3MDA5NTk4RTIgLyogUmVtb3Rl
TWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTA3OTIz
MTQ2MjM5Q0JDQjcwMDk1OThFMiAvKiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eU1lc3Nh
Z2VzLmggKi8sCiAJCQkJMDc5MjMxNDIyMzlDQkNCNTAwOTU5OEUyIC8qIFJlbW90ZU1lZGlhUGxh
eWVyTWFuYWdlclByb3h5TWVzc2FnZXNSZXBsaWVzLmggKi8sCkBAIC0xMzM4OCw2ICsxMzQwNSw3
IEBACiAJCQkJQ0RFNTU1MzMyNDA2RUI4QzAwOEEzRERCIC8qIFJlbW90ZUxlZ2FjeUNETVByb3h5
TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNERTU1NTM0MjQwNkVCOEMw
MDhBM0REQiAvKiBSZW1vdGVMZWdhY3lDRE1TZXNzaW9uTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUNERTU1NTM1MjQwNkVCOEMwMDhBM0REQiAvKiBSZW1vdGVMZWdhY3lD
RE1TZXNzaW9uUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQ0Qz
RUVGNDYyNTc5QzI2MTAwNjU2M0JCIC8qIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZh
Y3RvcnlQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwNzkyMzE0
QjIzOUNCQ0I4MDA5NTk4RTIgLyogUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHlNZXNzYWdl
UmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDcwMTc4OUUyM0JFOUNGQzAwNUYwRkFB
IC8qIFJlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkwNzFCQzU4RjIzQ0UxRUFBMDA2ODBEN0MgLyogUmVtb3RlTWVkaWFQbGF5ZXJQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5jcHAKaW5kZXggZjAwNWFkNWJjMzg2
ODY0ZDA2MTg4NTI2YTM0MWUxZWI3YWQzNDAzMy4uMTFmYTcwZjJjZTliNDMzNTFlNTNiOWExZjNm
NzNmY2E1MjhkNzRhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9H
UFVQcm9jZXNzQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5jcHAKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJS
ZW1vdGVDRE1GYWN0b3J5LmgiCiAjaW5jbHVkZSAiUmVtb3RlQ0RNUHJveHkuaCIKICNpbmNsdWRl
ICJSZW1vdGVMZWdhY3lDRE1GYWN0b3J5LmgiCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFFbmdpbmVD
b25maWd1cmF0aW9uRmFjdG9yeS5oIgogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUGxheWVyTWFuYWdl
ci5oIgogI2luY2x1ZGUgIlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1lc3NhZ2VzLmgiCiAjaW5j
bHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCkBAIC0xMzEsNiArMTMyLDExIEBAIFJlbW90
ZUxlZ2FjeUNETUZhY3RvcnkmIEdQVVByb2Nlc3NDb25uZWN0aW9uOjpsZWdhY3lDRE1GYWN0b3J5
KCkKIH0KICNlbmRpZgogCitSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5JiBH
UFVQcm9jZXNzQ29ubmVjdGlvbjo6bWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeSgpCit7
CisgICAgcmV0dXJuICpXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zdXBwbGVtZW50PFJlbW90ZU1l
ZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk+KCk7Cit9CisKIGJvb2wgR1BVUHJvY2Vzc0Nv
bm5lY3Rpb246OmRpc3BhdGNoTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQ
Qzo6RGVjb2RlciYgZGVjb2RlcikKIHsKICAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJO
YW1lKCkgPT0gTWVzc2FnZXM6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bWVzc2FnZVJlY2Vp
dmVyTmFtZSgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQ
VVByb2Nlc3NDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVBy
b2Nlc3NDb25uZWN0aW9uLmgKaW5kZXggMmMwZGY1YjlmNTQ5Njg0N2VkNjY5MTBiZjJmMzliMmNk
YzYwY2EwMi4uNmNhY2ZmYjQ0OWQ5NDZjYjIyMzBlMzAzOThiM2E4N2MzYzZlODY3MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24u
aApAQCAtNDMsNiArNDMsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgUmVtb3RlQXVk
aW9Tb3VyY2VQcm92aWRlck1hbmFnZXI7CiBjbGFzcyBSZW1vdGVDRE1GYWN0b3J5OworY2xhc3Mg
UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTsKIGNsYXNzIFJlbW90ZU1lZGlh
UGxheWVyTWFuYWdlcjsKIGNsYXNzIFJlbW90ZUxlZ2FjeUNETUZhY3Rvcnk7CiBzdHJ1Y3QgV2Vi
UGFnZUNyZWF0aW9uUGFyYW1ldGVyczsKQEAgLTgwLDYgKzgxLDggQEAgcHVibGljOgogICAgIFJl
bW90ZUxlZ2FjeUNETUZhY3RvcnkmIGxlZ2FjeUNETUZhY3RvcnkoKTsKICNlbmRpZgogCisgICAg
UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeSYgbWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeSgpOworCiAgICAgdm9pZCB1cGRhdGVQYXJhbWV0ZXJzKGNvbnN0IFdlYlBh
Z2VDcmVhdGlvblBhcmFtZXRlcnMmKTsKIAogI2lmIEVOQUJMRShWUDkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlk
ZXJNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3Rl
QXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIuY3BwCmluZGV4IGI4ZjQ1YTZkNWJiNGRiNDYwOTg4
MDEyNDNiYjVlOTMxN2IxZTNlMmIuLmU2MjBiY2MzMTM4MzI1NDFkNGQwMzdhNzNmMTliMGIzYzg1
ZTE3YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVt
b3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIuY3BwCkBA
IC0yNiwxNCArMjYsMTYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJSZW1vdGVB
dWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlci5oIgogCisjaW5jbHVkZSAiR1BVUHJvY2Vzc0Nvbm5l
Y3Rpb24uaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiUmVtb3RlQXVkaW9Tb3Vy
Y2VQcm92aWRlci5oIgogI2luY2x1ZGUgIlJlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2Vy
TWVzc2FnZXMuaCIKICNpbmNsdWRlICJTaGFyZWRSaW5nQnVmZmVyU3RvcmFnZS5oIgorI2luY2x1
ZGUgIldlYlByb2Nlc3MuaCIKIAogI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BS
T0NFU1MpCiAKIG5hbWVzcGFjZSBXZWJLaXQgewotdXNpbmcgbmFtZXNwYWNlIFBBTDsKIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogCiBSZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlcjo6
UmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdl
ci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJj
ZVByb3ZpZGVyTWFuYWdlci5oCmluZGV4IGU1OWUxYjA2YjQ0N2U1ZDgwY2E2MTA1MmM2YzdhMzJj
NGJhMTQyZTYuLjcwZTVkY2I1Y2QwNDZlYTY0NDllMGZiNjdmYjM0YjFjMjYzOWRjZjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3Vy
Y2VQcm92aWRlck1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyLmgKQEAgLTI3LDYgKzI3LDggQEAK
IAogI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpCiAKKyNpbXBvcnQg
IkNvbm5lY3Rpb24uaCIKKyNpbXBvcnQgIlNoYXJlZE1lbW9yeS5oIgogI2luY2x1ZGUgPFdlYkNv
cmUvQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DQVJpbmdC
dWZmZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01lZGlhUGxheWVySWRlbnRpZmllci5oPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYTBiNzBhZTdhMTg4MTRiNGZkODYyMWZjNDZmOTk3ZmRmNjFiMTU5NAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5jcHAKQEAgLTAsMCArMSw5NSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYUVuZ2luZUNvbmZp
Z3VyYXRpb25GYWN0b3J5LmgiCisKKyNpbmNsdWRlICJHUFVQcm9jZXNzQ29ubmVjdGlvbi5oIgor
I2luY2x1ZGUgIlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eU1lc3Nh
Z2VzLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFD
YXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhQ2FwYWJp
bGl0aWVzRW5jb2RpbmdJbmZvLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYURlY29kaW5nQ29u
ZmlndXJhdGlvbi5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRp
b24uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnku
aD4KKworbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworUmVt
b3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6UmVtb3RlTWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeShXZWJQcm9jZXNzJiBwcm9jZXNzKQorICAgIDogbV9wcm9jZXNzKHBy
b2Nlc3MpCit7Cit9CisKK1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6On5S
ZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5KCkgPSBkZWZhdWx0OworCit2b2lk
IFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OnJlZ2lzdGVyRmFjdG9yeSgp
Cit7CisgICAgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6Y2xlYXJGYWN0b3JpZXMo
KTsKKyAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjppbnN0YWxsRmFjdG9yeSh7
CisgICAgICAgIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMpXSAoTWVkaWFEZWNvZGluZ0Nv
bmZpZ3VyYXRpb24mJiBjb25maWd1cmF0aW9uLCBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0
b3J5OjpEZWNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayYmIGNhbGxiYWNrKSB7CisgICAgICAg
ICAgICBpZiAoIXdlYWtUaGlzKSB7CisgICAgICAgICAgICAgICAgY2FsbGJhY2soe3sgfSwgV1RG
TW92ZShjb25maWd1cmF0aW9uKX0pOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgd2Vha1RoaXMtPmNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlv
bihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CisgICAgICAgIH0s
CisgICAgICAgIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMpXSAoTWVkaWFFbmNvZGluZ0Nv
bmZpZ3VyYXRpb24mJiBjb25maWd1cmF0aW9uLCBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0
b3J5OjpFbmNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayYmIGNhbGxiYWNrKSB7CisgICAgICAg
ICAgICBpZiAoIXdlYWtUaGlzKSB7CisgICAgICAgICAgICAgICAgY2FsbGJhY2soe3sgfSwgV1RG
TW92ZShjb25maWd1cmF0aW9uKX0pOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgd2Vha1RoaXMtPmNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlv
bihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CisgICAgICAgIH0s
CisgICAgfSk7Cit9CisKK2NvbnN0IGNoYXIqIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3Rvcnk6OnN1cHBsZW1lbnROYW1lKCkKK3sKKyAgICByZXR1cm4gIlJlbW90ZU1lZGlhRW5n
aW5lQ29uZmlndXJhdGlvbkZhY3RvcnkiOworfQorCitHUFVQcm9jZXNzQ29ubmVjdGlvbiYgUmVt
b3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6Z3B1UHJvY2Vzc0Nvbm5lY3Rpb24o
KQoreworICAgIHJldHVybiBtX3Byb2Nlc3MuZW5zdXJlR1BVUHJvY2Vzc0Nvbm5lY3Rpb24oKTsK
K30KKwordm9pZCBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjcmVhdGVE
ZWNvZGluZ0NvbmZpZ3VyYXRpb24oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24mJiBjb25maWd1
cmF0aW9uLCBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpEZWNvZGluZ0NvbmZpZ3Vy
YXRpb25DYWxsYmFjayYmIGNhbGxiYWNrKQoreworICAgIGdwdVByb2Nlc3NDb25uZWN0aW9uKCku
Y29ubmVjdGlvbigpLnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6UmVtb3RlTWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5OjpDcmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24o
V1RGTW92ZShjb25maWd1cmF0aW9uKSksIFtjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSAo
TWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8mJiBpbmZvKSBtdXRhYmxlIHsKKyAgICAgICAg
Y2FsbGJhY2soV1RGTW92ZShpbmZvKSk7CisgICAgfSk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6Y3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uKE1l
ZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uJiYgY29uZmlndXJhdGlvbiwgTWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeTo6RW5jb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFj
aykKK3sKKyAgICBncHVQcm9jZXNzQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kV2l0aEFz
eW5jUmVwbHkoTWVzc2FnZXM6OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQ
cm94eTo6Q3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbikp
LCBbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0gKE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2Rp
bmdJbmZvJiYgaW5mbykgbXV0YWJsZSB7CisgICAgICAgIGNhbGxiYWNrKFdURk1vdmUoaW5mbykp
OworICAgIH0pOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjNTA1ZDU5YjFlM2YzZjI4YjA3ZmQ0YzU3ZTMzMzdi
ZWYzMjdjMTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaApAQCAtMCwwICsx
LDczIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoR1BVX1BST0NF
U1MpCisKKyNpbmNsdWRlICJSZW1vdGVMZWdhY3lDRE1JZGVudGlmaWVyLmgiCisjaW5jbHVkZSAi
UmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbklkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNz
U3VwcGxlbWVudC5oIgorI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFFbmdpbmVDb25maWd1cmF0aW9u
RmFjdG9yeS5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQ
dHIuaD4KKworbmFtZXNwYWNlIElQQyB7CitjbGFzcyBDb25uZWN0aW9uOworY2xhc3MgRGVjb2Rl
cjsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIEdQVVByb2Nlc3NDb25uZWN0aW9u
OworY2xhc3MgV2ViUHJvY2VzczsKKworY2xhc3MgUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeSBmaW5hbAorICAgIDogcHVibGljIFdlYlByb2Nlc3NTdXBwbGVtZW50CisgICAg
LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFj
dG9yeT4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIGV4cGxp
Y2l0IFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkoV2ViUHJvY2VzcyYpOwor
ICAgIHZpcnR1YWwgflJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkoKTsKKwor
ICAgIHZvaWQgcmVnaXN0ZXJGYWN0b3J5KCk7CisKKyAgICBzdGF0aWMgY29uc3QgY2hhciogc3Vw
cGxlbWVudE5hbWUoKTsKKyAgICBXZWJQcm9jZXNzJiBwcm9jZXNzKCkgY29uc3QgeyByZXR1cm4g
bV9wcm9jZXNzOyB9CisKKyAgICBHUFVQcm9jZXNzQ29ubmVjdGlvbiYgZ3B1UHJvY2Vzc0Nvbm5l
Y3Rpb24oKTsKKworICAgIHZvaWQgZGlkUmVjZWl2ZVNlc3Npb25NZXNzYWdlKElQQzo6Q29ubmVj
dGlvbiYsIElQQzo6RGVjb2RlciYpOworCitwcml2YXRlOgorICAgIHZvaWQgY3JlYXRlRGVjb2Rp
bmdDb25maWd1cmF0aW9uKFdlYkNvcmU6Ok1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uJiYsIFdl
YkNvcmU6Ok1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkRlY29kaW5nQ29uZmlndXJh
dGlvbkNhbGxiYWNrJiYpOworICAgIHZvaWQgY3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uKFdl
YkNvcmU6Ok1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uJiYsIFdlYkNvcmU6Ok1lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3Rvcnk6OkVuY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYpOwor
CisgICAgV2ViUHJvY2VzcyYgbV9wcm9jZXNzOworfTsKKworfQorCisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCBmMmYyMjgyMmM3YjIyM2ZjYTU5Zjk1
NTczZDExZGM5OWIxMDM0ODExLi41YjFiYzVhOWZhN2YzYjRkNWFlZjNlNDQ1NWZmNWJmYjJhNzIz
YmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC00NSw2ICs0
NSw3IEBACiAjaW5jbHVkZSAiUHJvY2Vzc0Fzc2VydGlvbi5oIgogI2luY2x1ZGUgIlJlbW90ZUF1
ZGlvU2Vzc2lvbi5oIgogI2luY2x1ZGUgIlJlbW90ZUxlZ2FjeUNETUZhY3RvcnkuaCIKKyNpbmNs
dWRlICJSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmgiCiAjaW5jbHVkZSAi
U3RvcmFnZUFyZWFNYXAuaCIKICNpbmNsdWRlICJVc2VyRGF0YS5oIgogI2luY2x1ZGUgIldlYkF1
dG9tYXRpb25TZXNzaW9uUHJveHkuaCIKQEAgLTEwNyw2ICsxMDgsNyBAQAogI2luY2x1ZGUgPFdl
YkNvcmUvSFRNTE1lZGlhRWxlbWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSlNET01XaW5kb3cu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL0xlZ2FjeVNjaGVtZVJlZ2lzdHJ5Lmg+CisjaW5jbHVkZSA8
V2ViQ29yZS9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Lmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9NZW1vcnlDYWNoZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTWVtb3J5UmVsZWFzZS5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvTWVzc2FnZVBvcnQuaD4KQEAgLTI4Miw2ICsyODQsOCBAQCBXZWJQ
cm9jZXNzOjpXZWJQcm9jZXNzKCkKICAgICBhZGRTdXBwbGVtZW50PEF1ZGlvU2Vzc2lvblJvdXRp
bmdBcmJpdHJhdG9yPigpOwogI2VuZGlmCiAKKyAgICBhZGRTdXBwbGVtZW50PFJlbW90ZU1lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk+KCk7CisKICAgICBHaWdhY2FnZTo6Zm9yYmlkRGlz
YWJsaW5nUHJpbWl0aXZlR2lnYWNhZ2UoKTsKIH0KIApAQCAtMTkyNiw2ICsxOTMwLDExIEBAIHZv
aWQgV2ViUHJvY2Vzczo6c2V0VXNlR1BVUHJvY2Vzc0Zvck1lZGlhKGJvb2wgdXNlR1BVUHJvY2Vz
c0Zvck1lZGlhKQogICAgIGVsc2UKICAgICAgICAgTGVnYWN5Q0RNOjpyZXNldEZhY3Rvcmllcygp
OwogI2VuZGlmCisgICAgCisgICAgaWYgKHVzZUdQVVByb2Nlc3NGb3JNZWRpYSkKKyAgICAgICAg
ZW5zdXJlR1BVUHJvY2Vzc0Nvbm5lY3Rpb24oKS5tZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0
b3J5KCkucmVnaXN0ZXJGYWN0b3J5KCk7CisgICAgZWxzZQorICAgICAgICBNZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5OjpyZXNldEZhY3RvcmllcygpOwogfQogCiBib29sIFdlYlByb2Nl
c3M6OnNob3VsZFVzZVJlbW90ZVJlbmRlcmluZ0ZvcihSZW5kZXJpbmdQdXJwb3NlIHB1cnBvc2Up
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415420</attachid>
            <date>2020-12-04 09:15:57 -0800</date>
            <delta_ts>2020-12-04 09:36:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219521-20201204091557.patch</filename>
            <type>text/plain</type>
            <size>76971</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNDIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODY3YjI0ZTg0OTYzNmM3
ZjE2ZjQxZDAwYWE4Y2ZlZGQ0MWFiYjRhNy4uOTFiZTA1MjcwNDBhNmNhYzIyYzBhYjIyM2FiMTZi
ZmVmZTE0Yjk1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDIwLTEyLTAzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFVQXSBNb3ZlIE1lZGlh
Q2FwYWJpbGl0aWVzIGludG8gdGhlIEdQVSBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk1MjEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgZW5jb2RlKCkgYW5kIGRlY29kZSgpIG9wZXJh
dGlvbnMgdG8gYWxsIHN0cnVjdHMgdXNlZCBpbnNpZGUKKyAgICAgICAgTWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeS4gQWRkIHRoZSBhYmlsaXR5IGZvciBjbGllbnRzIHRvIHByb3ZpZGUK
KyAgICAgICAgdGhlaXIgb3duIGZhY3RvcmllcyBmb3IgdXNlIGluIE1lZGlhRW5naW5lQ29uZmln
dXJhdGlvbkZhY3RvcnkuCisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9NZWRp
YUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDYXBh
YmlsaXRpZXNEZWNvZGluZ0luZm86OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbzo6ZGVjb2RlKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9NZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm86OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbzo6ZGVjb2RlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0luZm8uaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
Q2FwYWJpbGl0aWVzSW5mbzo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
Q2FwYWJpbGl0aWVzSW5mbzo6ZGVjb2RlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNhcGFi
aWxpdGllcy9BdWRpb0NvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQ29u
ZmlndXJhdGlvbjo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQ29uZmln
dXJhdGlvbjo6ZGVjb2RlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9D
b2xvckdhbXV0Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvSGRyTWV0
YWRhdGFUeXBlLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFD
YXBhYmlsaXRpZXNMb2dnaW5nLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRp
ZXMvTWVkaWFDb25maWd1cmF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbmZpZ3Vy
YXRpb246OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbmZpZ3VyYXRp
b246OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFE
ZWNvZGluZ0NvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRGVjb2RpbmdD
b25maWd1cmF0aW9uOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFEZWNv
ZGluZ0NvbmZpZ3VyYXRpb246OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBh
YmlsaXRpZXMvTWVkaWFEZWNvZGluZ1R5cGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNh
cGFiaWxpdGllcy9NZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb246OmVuY29kZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbjo6ZGVjb2RlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5nVHlwZS5oOgorICAgICAgICAq
IHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZGVmYXVsdEZhY3Rvcmllcyk6CisgICAgICAgIChX
ZWJDb3JlOjpmYWN0b3JpZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeTo6Y2xlYXJGYWN0b3JpZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6cmVzZXRGYWN0b3JpZXMpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6aW5zdGFsbEZhY3RvcnkpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6aGFzRGVj
b2RpbmdDb25maWd1cmF0aW9uRmFjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpoYXNFbmNvZGluZ0NvbmZpZ3VyYXRpb25GYWN0b3J5KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuZ2luZUNvbmZpZ3Vy
YXRpb25GYWN0b3J5Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvVHJh
bnNmZXJGdW5jdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1Zp
ZGVvQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6VmlkZW9Db25maWd1cmF0aW9u
OjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6VmlkZW9Db25maWd1cmF0aW9uOjpk
ZWNvZGUpOgorCiAyMDIwLTEyLTAzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgog
CiAgICAgICAgIFtDb2NvYV0gQWRvcHQgQVZPdXRwdXREZXZpY2UuYWxsb3dzSGVhZFRyYWNrZWRT
cGF0aWFsQXVkaW8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZDAwODhkMjkwODczMzRiNWQ3Y2E2OWM5MjIwNDYxNjcz
ZDRiODhiNC4uZmUyZGE4ODQ1YjhhOTAzNzA3N2UzZGRhNDdjOWNkZWY0MDFkMWVhYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw0MyBAQAorMjAyMC0xMi0wMyAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFw
cGxlLmNvbT4KKworICAgICAgICBbR1BVUF0gTW92ZSBNZWRpYUNhcGFiaWxpdGllcyBpbnRvIHRo
ZSBHUFUgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE5NTIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIGEgbmV3IHBhaXIgb2YgcHJvY2VzcyBzdXBwbGVtZW50cywgUmVtb3RlTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeSBhbmQgLi5Qcm94eS4KKworICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjptZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25G
YWN0b3J5UHJveHkpOgorICAgICAgICAoV2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
OjpkaXNwYXRjaE1lc3NhZ2UpOgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eTo6UmVtb3RlTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5KToKKyAgICAgICAgKFdlYktpdDo6Y3JlYXRl
RGVjb2RpbmdDb25maWd1cmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5OjpjcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24p
OgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeVByb3h5Lmg6IEFkZGVkLgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5Lm1lc3NhZ2VzLmluOiBBZGRl
ZC4KKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVj
dGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NDb25uZWN0aW9uOjptZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9HUFVQ
cm9jZXNzQ29ubmVjdGlvbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90
ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlci5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnku
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeTo6UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeSk6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OnJlZ2lz
dGVyRmFjdG9yeSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3Rvcnk6OnN1cHBsZW1lbnROYW1lKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVk
aWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6Z3B1UHJvY2Vzc0Nvbm5lY3Rpb24pOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjcmVh
dGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24pOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3RvcnkuaDogQ29waWVkIGZyb20gU291cmNlL1dURi93dGYvQWxnb3JpdGhtcy5oLgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3M6OnNldFVzZUdQVVByb2Nlc3NGb3JNZWRpYSk6CisKIDIwMjAtMTItMDMgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBBZG9wdCBBVk91
dHB1dERldmljZS5hbGxvd3NIZWFkVHJhY2tlZFNwYXRpYWxBdWRpbwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UK
aW5kZXggZDU0NDgzNzhiOTk0MWM0NzE5ODkwNjY1MGEzNTk1NjVlMDYxYWI3NS4uM2RiNmNkNzdl
NjI0NTU5YTE4ZmEwYTk3YzExZDZjYTJjNjQ1NDM0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0x
MDE0LDYgKzEwMTQsOSBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAg
ICAgcGxhdGZvcm0vTG9nZ2luZy5oCiAgICAgcGxhdGZvcm0vTG93UG93ZXJNb2RlTm90aWZpZXIu
aAogICAgIHBsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuaAorICAgIHBsYXRmb3JtL01lZGlhQ2Fw
YWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgKKyAgICBwbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0Vu
Y29kaW5nSW5mby5oCisgICAgcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNJbmZvLmgKICAgICBw
bGF0Zm9ybS9NZWRpYURlc2NyaXB0aW9uLmgKICAgICBwbGF0Zm9ybS9NZWRpYVNhbXBsZS5oCiAg
ICAgcGxhdGZvcm0vTWVkaWFTZWxlY3Rpb25PcHRpb24uaApAQCAtMTMxNSw2ICsxMzE4LDE4IEBA
IHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBwbGF0Zm9ybS9ncmFw
aGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgKICAgICBwbGF0Zm9ybS9ncmFw
aGljcy90cmFuc2Zvcm1zL1RyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5oCiAKKyAgICBwbGF0
Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9BdWRpb0NvbmZpZ3VyYXRpb24uaAorICAgIHBsYXRmb3Jt
L21lZGlhY2FwYWJpbGl0aWVzL0NvbG9yR2FtdXQuaAorICAgIHBsYXRmb3JtL21lZGlhY2FwYWJp
bGl0aWVzL0hkck1ldGFkYXRhVHlwZS5oCisgICAgcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMv
TWVkaWFDb25maWd1cmF0aW9uLmgKKyAgICBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRp
YURlY29kaW5nQ29uZmlndXJhdGlvbi5oCisgICAgcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMv
TWVkaWFEZWNvZGluZ1R5cGUuaAorICAgIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlh
RW5jb2RpbmdDb25maWd1cmF0aW9uLmgKKyAgICBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9N
ZWRpYUVuY29kaW5nVHlwZS5oCisgICAgcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oCisgICAgcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRp
ZXMvVHJhbnNmZXJGdW5jdGlvbi5oCisgICAgcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvVmlk
ZW9Db25maWd1cmF0aW9uLmgKKwogICAgIHBsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNv
cmRlclByaXZhdGUuaAogCiAgICAgcGxhdGZvcm0vbWVkaWFzdHJlYW0vQ2FwdHVyZURldmljZS5o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggNjcyYTE2NjBhNWQ5ZmY4MDEzYjY5YWJiYjZhM2FhYTc4YjliZTFmMS4uYzhlNzZkYWVm
MmJhZmJhYjU3ODgwYzgyMGYzYjViNjhlZTJiYThmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDIzNCw2ICs0MjM0LDE4IEBA
CiAJCUNEM0UyMUREMjE4MzQ0NEEwMEU2NkY1NSAvKiBJbWFnZUJ1ZmZlclV0aWxpdGllc0NHLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDNFMjFEQjIx
ODMzRjUxMDBFNjZGNTUgLyogSW1hZ2VCdWZmZXJVdGlsaXRpZXNDRy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNEM0UyNTFDMTgwNDZCMDYwMEUy
N0Y1NiAvKiBHcmlkQXJlYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0QzRTI1MUIxODA0NkIwNjAwRTI3RjU2IC8qIEdyaWRBcmVhLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0QzRTI1MjQxODA0NkJD
RDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEM0UyNTIyMTgwNDZCQ0QwMEUyN0Y1NiAv
KiBDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmggKi87IH07CisJCUNEM0VFRjM3MjU3OTlFRkUw
MDY1NjNCQiAvKiBNZWRpYUNhcGFiaWxpdGllc0luZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEMEM4QjU4MjE0MUM4Q0EwMDYyRjU5RCAvKiBNZWRp
YUNhcGFiaWxpdGllc0luZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlDRDNFRUYzODI1Nzk5RjczMDA2NTYzQkIgLyogTWVkaWFEZWNvZGluZ0Nv
bmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENEQkQzRDM2MUZFODVDQzAwMDEyQzU0NSAvKiBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlv
bi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNE
M0VFRjM5MjU3OTlGN0YwMDY1NjNCQiAvKiBNZWRpYUNvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQkQzRDM1MUZFODVDQkYwMDEy
QzU0NSAvKiBNZWRpYUNvbmZpZ3VyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQlDRDNFRUYzQTI1Nzk5Rjg4MDA2NTYzQkIgLyogQXVkaW9D
b25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDREJEM0QyQjFGRTg1Q0JCMDAxMkM1NDUgLyogQXVkaW9Db25maWd1cmF0aW9uLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0QzRUVGM0Iy
NTc5OUZBMTAwNjU2M0JCIC8qIFZpZGVvQ29uZmlndXJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RCRDNEMzQxRkU4NUNCRjAwMTJDNTQ1IC8q
IFZpZGVvQ29uZmlndXJhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCUNEM0VFRjNDMjU3OTlGQUIwMDY1NjNCQiAvKiBDb2xvckdhbXV0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDRFNEU5QjIz
NTdDQjlEMDA3ODk1QzMgLyogQ29sb3JHYW11dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCUNEM0VFRjNEMjU3OTlGQjUwMDY1NjNCQiAvKiBIZHJN
ZXRhZGF0YVR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENENEU0RTlDMjM1N0NCOUQwMDc4OTVDMyAvKiBIZHJNZXRhZGF0YVR5cGUuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRDNFRUYzRTI1Nzk5
RkM3MDA2NTYzQkIgLyogTWVkaWFEZWNvZGluZ1R5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQkQzRDM4MUZFODVDQzAwMDEyQzU0NSAvKiBNZWRp
YURlY29kaW5nVHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCUNEM0VFRjNGMjU3OTlGQ0MwMDY1NjNCQiAvKiBNZWRpYUVuY29kaW5nQ29uZmln
dXJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0RCRDNEMzcxRkU4NUNDMDAwMTJDNTQ1IC8qIE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0QzRUVG
NDAyNTc5OUZEMDAwNjU2M0JCIC8qIE1lZGlhRW5jb2RpbmdUeXBlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREJEM0QzRTFGRTg1Q0MzMDAxMkM1NDUg
LyogTWVkaWFFbmNvZGluZ1R5cGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlDRDNFRUY0MTI1Nzk5RkQ5MDA2NTYzQkIgLyogVHJhbnNmZXJGdW5j
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q0
RTRFOUEyMzU3Q0I5QzAwNzg5NUMzIC8qIFRyYW5zZmVyRnVuY3Rpb24uaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRDNFRUY0MjI1NzlCNDRBMDA2
NTYzQkIgLyogTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUFDNkYwMjUyMTE0OEY1NDAwQ0JEQTA2
IC8qIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRDRBQzUyQTE0OTZBRTlBMDA4N0M0RUYg
LyogQ29tcG9zaXRlLndhdiBpbiBDb3B5IEF1ZGlvIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRDRBQzUyODE0OTZBRTJGMDA4N0M0RUYgLyogQ29tcG9zaXRl
LndhdiAqLzsgfTsKIAkJQ0Q1MjA5RTQxQjBCRDgzODAwNzcxODRFIC8qIE1lZGlhUGxheWVyRW51
bXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENTIw
OUUzMUIwQkQ4MzgwMDc3MTg0RSAvKiBNZWRpYVBsYXllckVudW1zLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0Q1MjA5RTYxQjBCRDlFMTAwNzcx
ODRFIC8qIEhUTUxNZWRpYUVsZW1lbnRFbnVtcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1MjA5RTUxQjBCRDlFMTAwNzcxODRFIC8qIEhUTUxNZWRp
YUVsZW1lbnRFbnVtcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CkBAIC00MzI4LDggKzQzNDAsOCBAQAogCQlDREM5MzlBODFFOUJERkIxMDBCQjc2OEQg
LyogVmlkZW9Ub29sYm94U29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENEQzkzOUE2MUU5QkRGQjEwMEJCNzY4RCAvKiBWaWRlb1Rvb2xib3hT
b2Z0TGluay5oICovOyB9OwogCQlDREM5NzlGNTFDNDk4QzA5MDBEQjUwRDQgLyogV2ViQ29yZU5T
RXJyb3JFeHRyYXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENEQzk3OUYzMUM0OThDMDkwMERCNTBENCAvKiBXZWJDb3JlTlNFcnJvckV4dHJhcy5oICov
OyB9OwogCQlDRENBOThFQjE4QjJDOEVCMDBDMTJGRjkgLyogTGVnYWN5Q0RNUHJpdmF0ZU1lZGlh
UGxheWVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENEQ0E5OEVBMThCMkM4RUIwMEMxMkZGOSAvKiBMZWdhY3lDRE1Qcml2YXRlTWVkaWFQbGF5ZXIu
Y3BwICovOyB9OwotCQlDRENDOUJDRjIyMzg3RTlBMDBGRkI1MUMgLyogTWVkaWFDYXBhYmlsaXRp
ZXNEZWNvZGluZ0luZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENEQ0M5QkNFMjIzODdFOUEwMEZGQjUxQyAvKiBNZWRpYUNhcGFiaWxpdGllc0RlY29k
aW5nSW5mby5oICovOyB9OwotCQlDRENDOUJEMTIyMzg3RUFBMDBGRkI1MUMgLyogTWVkaWFDYXBh
YmlsaXRpZXNFbmNvZGluZ0luZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENEQ0M5QkQwMjIzODdFQUEwMEZGQjUxQyAvKiBNZWRpYUNhcGFiaWxpdGll
c0VuY29kaW5nSW5mby5oICovOyB9OworCQlDRENDOUJDRjIyMzg3RTlBMDBGRkI1MUMgLyogTWVk
aWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENEQ0M5QkNFMjIzODdFOUEwMEZGQjUxQyAvKiBNZWRpYUNhcGFi
aWxpdGllc0RlY29kaW5nSW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCUNEQ0M5QkQxMjIzODdFQUEwMEZGQjUxQyAvKiBNZWRpYUNhcGFiaWxp
dGllc0VuY29kaW5nSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0RDQzlCRDAyMjM4N0VBQTAwRkZCNTFDIC8qIE1lZGlhQ2FwYWJpbGl0aWVzRW5j
b2RpbmdJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJQ0RDRDQxRTgxQzNEREIwQTAwOTY1RDk5IC8qIFBhcnNlZENvbnRlbnRSYW5nZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDRDQxRTYxQzNE
REIwOTAwOTY1RDk5IC8qIFBhcnNlZENvbnRlbnRSYW5nZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNEQ0ZBQkJEMThDMEFGNzgwMDZGODQ1MCAv
KiBIaWdobGlnaHREYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDRENGQUJCQjE4QzBBRTMxMDA2Rjg0NTAgLyogSGlnaGxpZ2h0RGF0YS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNERDcwODk3MTgz
NTlGNkYwMDJCM0RDNiAvKiBTYW1wbGVNYXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENERDcwODk1MTgzNTlGNkYwMDJCM0RDNiAvKiBTYW1wbGVNYXAu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMzEw
MjYsNiArMzEwMzgsNyBAQAogCQkJCTgzNzg4NzgyMjREOEE2MDkwMDBENEE1QiAvKiBBdWRpb0J1
ZmZlclNvdXJjZU9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEMzE2MDdDMTJCMDI2Rjcw
MEMxQTM1OSAvKiBBdWRpb0J1cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQzMTYwN0UxMkIwMjZG
NzAwQzFBMzU5IC8qIEF1ZGlvQ2hhbm5lbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0QzRUVGM0Ey
NTc5OUY4ODAwNjU2M0JCIC8qIEF1ZGlvQ29uZmlndXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRkQzMTYwMDUxMkIwMjY3NjAwQzFBMzU5IC8qIEF1ZGlvQ29udGV4dC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRTc4NUQ5NjIyNEI3RjczNTAwMTREQjIxIC8qIEF1ZGlvQ29udGV4dExhdGVuY3lD
YXRlZ29yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTc4NUQ5NjEyNEI3RjczNTAwMTREQjIxIC8q
IEF1ZGlvQ29udGV4dE9wdGlvbnMuaCBpbiBIZWFkZXJzICovLApAQCAtMzEzMTMsNiArMzEzMjYs
NyBAQAogCQkJCUY0OEQyQUE1MjE1OTc0MEQwMEM2NzUyQiAvKiBDb2xvckNvY29hLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk3Q0FDNkFGMDI0N0Y0MTEwMDBFNjFENTkgLyogQ29sb3JDb21wb25lbnRz
LmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzUxNEUwMzI0QUY4MDVFMDA1MDcxMEYgLyogQ29sb3JD
b252ZXJzaW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDNFRUYzQzI1Nzk5RkFCMDA2NTYzQkIg
LyogQ29sb3JHYW11dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzEwM0I3REYxREIwMTU2NzAwOEJC
ODkwIC8qIENvbG9ySGFzaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjU1QjNEQjQxMjUxRjEyRDAw
M0VGMjY5IC8qIENvbG9ySW5wdXRUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTUxNjlFNzIx
RjFCODQ3MDBFQTRGNzggLyogQ29sb3JJT1MuaCBpbiBIZWFkZXJzICovLApAQCAtMzIxMjEsNiAr
MzIxMzUsNyBAQAogCQkJCTI2RUE4OUE3MUI0RjJCNzUwMDhDNUZEMiAvKiBIYXNoYWJsZUFjdGlv
bkxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0ODJCNzQ2MTE5OEMzNTQwMEJGQjAwNSAvKiBI
YXNoQ2hhbmdlRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NzQ4QkUwMTJDQkYyREMwMDFG
QkE0MSAvKiBIYXNoVG9vbHMuaCBpbiBIZWFkZXJzICovLAorCQkJCUNEM0VFRjNEMjU3OTlGQjUw
MDY1NjNCQiAvKiBIZHJNZXRhZGF0YVR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEQTU5NTkz
MjE0NkRFQzMwMEE4NDE4NSAvKiBIRVZDVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlD
REE1OTU5ODIxNDZERjc4MDBBODQxODUgLyogSEVWQ1V0aWxpdGllc0NvY29hLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlGNTVCM0RDMDEyNTFGMTJEMDAzRUYyNjkgLyogSGlkZGVuSW5wdXRUeXBlLmgg
aW4gSGVhZGVycyAqLywKQEAgLTMzNTEwLDExICszMzUyNSwxNSBAQAogCQkJCTkzMUJDQzYxMTEy
NERGQ0IwMEJFNzBERCAvKiBNZWRpYUNhblN0YXJ0TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCUNEQ0M5QkNGMjIzODdFOUEwMEZGQjUxQyAvKiBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5n
SW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RDQzlCRDEyMjM4N0VBQTAwRkZCNTFDIC8qIE1l
ZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDNFRUYz
NzI1Nzk5RUZFMDA2NTYzQkIgLyogTWVkaWFDYXBhYmlsaXRpZXNJbmZvLmggaW4gSGVhZGVycyAq
LywKKwkJCQlDRDNFRUYzOTI1Nzk5RjdGMDA2NTYzQkIgLyogTWVkaWFDb25maWd1cmF0aW9uLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwNzhFMDkzQTE3RDE2RTFDMDA0MjBBQTEgLyogTWVkaWFDb25z
dHJhaW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RGNjVDQzgxNDVCMUU3NTAwQzRDN0FBIC8q
IE1lZGlhQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RGNjVDQ0ExNDVCNDQ4ODAw
QzRDN0FBIC8qIE1lZGlhQ29udHJvbGxlckludGVyZmFjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
Q0RBQjZEMjkxN0M3REU2QzAwQzYwQjM0IC8qIE1lZGlhQ29udHJvbHNIb3N0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQk0MTcyNTNBQjEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sVGV4dFRy
YWNrQ29udGFpbmVyRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0QzRUVGMzgyNTc5OUY3
MzAwNjU2M0JCIC8qIE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLywK
KwkJCQlDRDNFRUYzRTI1Nzk5RkM3MDA2NTYzQkIgLyogTWVkaWFEZWNvZGluZ1R5cGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUNERjJCMDA0MTgxRjA1OUMwMEYyQjQyNCAvKiBNZWRpYURlc2NyaXB0
aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNTE0NUI5MDFCM0ExQ0UwMDA2NjJCRjcgLyogTWVk
aWFEZXZpY2VJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQk1RUE3MjVEMzFBQ0FCRDQ3MDBFQUQx
N0IgLyogTWVkaWFEZXZpY2VzLmggaW4gSGVhZGVycyAqLywKQEAgLTMzNTIyLDkgKzMzNTQxLDEy
IEBACiAJCQkJRkQ2RjI1MkQxM0Y1RUYwRTAwNjUxNjVGIC8qIE1lZGlhRWxlbWVudEF1ZGlvU291
cmNlTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODMwQTFDN0QyNERCNzg4QjAwMkVDQ0FEIC8q
IE1lZGlhRWxlbWVudEF1ZGlvU291cmNlT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdG
RTk5REQxODgwN0E3RDAwMjU2NjQ4IC8qIE1lZGlhRWxlbWVudFNlc3Npb24uaCBpbiBIZWFkZXJz
ICovLAorCQkJCUNEM0VFRjNGMjU3OTlGQ0MwMDY1NjNCQiAvKiBNZWRpYUVuY29kaW5nQ29uZmln
dXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0QzRUVGNDAyNTc5OUZEMDAwNjU2M0JCIC8q
IE1lZGlhRW5jb2RpbmdUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDlCRjcwNjFEQkZCQjI0
MDA3QTdEOTkgLyogTWVkaWFFbmNyeXB0ZWRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ5
QkY3MDgxREJGQkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZlbnRJbml0LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0MUIyOEIxNTFGODUwMUQzMDBGQjUyQUMgLyogTWVkaWFFbmRwb2ludENv
bmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUNEM0VFRjQyMjU3OUI0NEEwMDY1NjNC
QiAvKiBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlDREM0OEFDOTIxNDlDRjJBMDAyNEZENTkgLyogTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFj
dG9yeUNvY29hLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNDQ2MTNBRDBDRDYzMzEwMDBGQURBNzUg
LyogTWVkaWFFcnJvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEUxOTU5MjIwQTM5REFCQTAwMjIw
RkU1IC8qIE1lZGlhRmVhdHVyZU5hbWVzLmggaW4gSGVhZGVycyAqLywKQEAgLTM0OTQ5LDYgKzM0
OTcxLDcgQEAKIAkJCQlCRTkxM0Q4MDE4MUVGOTI0MDBEQ0IwOUUgLyogVHJhY2tQcml2YXRlQmFz
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkZBQzMwRkUxODRGQjE0NTAwOEM0RjFFIC8qIFRyYWls
aW5nT2JqZWN0cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE2MDcxMzIxQkQ4MzA4QjAwREJDNEYy
IC8qIFRyYW5zYWN0aW9uT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDNFRUY0MTI1
Nzk5RkQ5MDA2NTYzQkIgLyogVHJhbnNmZXJGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NDlFOTExQzQwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9ybWF0aW9uTWF0cml4LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlGQjQ4NEY0RDE3MUY4MjFFMDAwNDA3NTUgLyogVHJhbnNmb3JtRnVuY3Rp
b25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5MTFDRTBFRjg2RDQ3MDA5RDBDQUYgLyogVHJh
bnNmb3JtT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTM1MDI4LDYgKzM1MDUxLDcgQEAK
IAkJCQkwRjFBMEMzODIyOUE0ODE4MDBEMzdBREIgLyogVmVsb2NpdHlEYXRhLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlERjRFMzhFMDI1Mjc5NTk1MDAyQTc0ODEgLyogVmVyc2lvbkNoZWNrcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkNBMjU3MTUxMjkzQzAxMDAwN0EyNjNEIC8qIFZlcnRpY2FsUG9z
aXRpb25DYWNoZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0QzRUVGM0IyNTc5OUZBMTAwNjU2M0JC
IC8qIFZpZGVvQ29uZmlndXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTJCMEQ0QzAxQzU3
RkQ2NjAwNzdDRTUzIC8qIFZpZGVvRnVsbHNjcmVlbkNoYW5nZU9ic2VydmVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkzRkJDNEFGNDE4OTg4MTU2MDA0NkVFMzggLyogVmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlQVZLaXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUyQjBENEMyMUM1N0ZGOTEwMDc3Q0U1
MyAvKiBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VNYWMuaCBpbiBIZWFkZXJzICovLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0lu
Zm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJ
bmZvLmgKaW5kZXggODFjZjM3NjA2NjQ2ZWYxM2U3YzkwNGFmY2FlNzI5MDg1MDA5NDg2NS4uMGNk
YzUyZGJiMWE2OWI1YzBmZjYzZDBlNGIxZTQ3NDk2ZTZjM2ZkNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oCkBA
IC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJNZWRpYUNhcGFiaWxpdGllc0luZm8uaCIKICNp
bmNsdWRlICJNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbi5oIgorI2luY2x1ZGUgPHd0Zi9PcHRp
b25hbC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ2LDYgKzQ3LDM2IEBAIHN0cnVj
dCBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbyA6IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyB7
CiAgICAgfQogCiAgICAgTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24gc3VwcG9ydGVkQ29uZmln
dXJhdGlvbjsKKworICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29k
ZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgT3B0aW9uYWw8
TWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8+IGRlY29kZShEZWNvZGVyJik7CiB9OwogCit0
ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgordm9pZCBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5m
bzo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgTWVkaWFDYXBhYmlsaXRp
ZXNJbmZvOjplbmNvZGUoZW5jb2Rlcik7CisgICAgZW5jb2RlciA8PCBzdXBwb3J0ZWRDb25maWd1
cmF0aW9uOwogfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgorT3B0aW9uYWw8TWVkaWFDYXBh
YmlsaXRpZXNEZWNvZGluZ0luZm8+IE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvOjpkZWNv
ZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBPcHRpb25hbDxNZWRpYUNhcGFiaWxpdGllc0lu
Zm8+IGluZm8gPSBNZWRpYUNhcGFiaWxpdGllc0luZm86OmRlY29kZShkZWNvZGVyKTsKKyAgICBk
ZWNvZGVyID4+IGluZm87CisgICAgaWYgKCFpbmZvKQorICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OworCisgICAgT3B0aW9uYWw8TWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24+IHN1cHBvcnRl
ZENvbmZpZ3VyYXRpb247CisgICAgZGVjb2RlciA+PiBzdXBwb3J0ZWRDb25maWd1cmF0aW9uOwor
ICAgIGlmICghc3VwcG9ydGVkQ29uZmlndXJhdGlvbikKKyAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKKworICAgIHJldHVybiBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbygKKyAgICAg
ICAgV1RGTW92ZSgqaW5mbyksCisgICAgICAgIFdURk1vdmUoKnN1cHBvcnRlZENvbmZpZ3VyYXRp
b24pCisgICAgKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaApp
bmRleCA0MmQzODUzY2IzY2Q5NjQ2MDMyNDE3ZjE2MTZhZDY2NWUxZGMxM2E4Li5iM2ExNGJiODcw
ZDNhMjIzOTlhZTYyNTYwODhlODMwYzVhMDViZTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvLmgKQEAgLTI3LDYg
KzI3LDcgQEAKIAogI2luY2x1ZGUgIk1lZGlhQ2FwYWJpbGl0aWVzSW5mby5oIgogI2luY2x1ZGUg
Ik1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmgiCisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDYsNiArNDcsMzUgQEAgc3RydWN0IE1lZGlh
Q2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvIDogTWVkaWFDYXBhYmlsaXRpZXNJbmZvIHsKICAgICB9
CiAKICAgICBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiBzdXBwb3J0ZWRDb25maWd1cmF0aW9u
OworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNv
bnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBPcHRpb25hbDxNZWRpYUNh
cGFiaWxpdGllc0VuY29kaW5nSW5mbz4gZGVjb2RlKERlY29kZXImKTsKIH07CiAKK3RlbXBsYXRl
PGNsYXNzIEVuY29kZXI+Cit2b2lkIE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvOjplbmNv
ZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBNZWRpYUNhcGFiaWxpdGllc0luZm86
OmVuY29kZShlbmNvZGVyKTsKKyAgICBlbmNvZGVyIDw8IHN1cHBvcnRlZENvbmZpZ3VyYXRpb247
CiB9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+CitPcHRpb25hbDxNZWRpYUNhcGFiaWxpdGll
c0VuY29kaW5nSW5mbz4gTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm86OmRlY29kZShEZWNv
ZGVyJiBkZWNvZGVyKQoreworICAgIE9wdGlvbmFsPE1lZGlhQ2FwYWJpbGl0aWVzSW5mbz4gaW5m
byA9IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbzo6ZGVjb2RlKGRlY29kZXIpOworICAgIGlmICghaW5m
bykKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPE1lZGlhRW5j
b2RpbmdDb25maWd1cmF0aW9uPiBzdXBwb3J0ZWRDb25maWd1cmF0aW9uOworICAgIGRlY29kZXIg
Pj4gc3VwcG9ydGVkQ29uZmlndXJhdGlvbjsKKyAgICBpZiAoIXN1cHBvcnRlZENvbmZpZ3VyYXRp
b24pCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICByZXR1cm4gTWVkaWFDYXBh
YmlsaXRpZXNFbmNvZGluZ0luZm8oCisgICAgICAgIFdURk1vdmUoKmluZm8pLAorICAgICAgICBX
VEZNb3ZlKCpzdXBwb3J0ZWRDb25maWd1cmF0aW9uKQorICAgICk7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFD
YXBhYmlsaXRpZXNJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxp
dGllc0luZm8uaAppbmRleCAyZGRlNzg3ZDdiOGFjNmEwMGQxYTZlMzkxZWE1ZWE3MmMwMTQ3ZWQ4
Li4yMzNhYTQ2NGUyMjc4YzFmMWVmOWFkOWI4MjQ0MWY3Y2JhMzZmMDY3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0luZm8uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0luZm8uaApAQCAtMjUsMTIgKzI1
LDUxIEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CisKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAKIHN0cnVjdCBNZWRpYUNhcGFiaWxpdGllc0luZm8gewog
ICAgIGJvb2wgc3VwcG9ydGVkIHsgZmFsc2UgfTsKICAgICBib29sIHNtb290aCB7IGZhbHNlIH07
CiAgICAgYm9vbCBwb3dlckVmZmljaWVudCB7IGZhbHNlIH07CisKKyAgICB0ZW1wbGF0ZTxjbGFz
cyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xh
c3MgRGVjb2Rlcj4gc3RhdGljIE9wdGlvbmFsPE1lZGlhQ2FwYWJpbGl0aWVzSW5mbz4gZGVjb2Rl
KERlY29kZXImKTsKIH07Ci0gICAgCisKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIE1l
ZGlhQ2FwYWJpbGl0aWVzSW5mbzo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7Cisg
ICAgZW5jb2RlciA8PCBzdXBwb3J0ZWQ7CisgICAgZW5jb2RlciA8PCBzbW9vdGg7CisgICAgZW5j
b2RlciA8PCBwb3dlckVmZmljaWVudDsKIH0KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KK09w
dGlvbmFsPE1lZGlhQ2FwYWJpbGl0aWVzSW5mbz4gTWVkaWFDYXBhYmlsaXRpZXNJbmZvOjpkZWNv
ZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBPcHRpb25hbDxib29sPiBzdXBwb3J0ZWQ7Cisg
ICAgZGVjb2RlciA+PiBzdXBwb3J0ZWQ7CisgICAgaWYgKCFzdXBwb3J0ZWQpCisgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxib29sPiBzbW9vdGg7CisgICAgZGVj
b2RlciA+PiBzbW9vdGg7CisgICAgaWYgKCFzbW9vdGgpCisgICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7CisKKyAgICBPcHRpb25hbDxib29sPiBwb3dlckVmZmljaWVudDsKKyAgICBkZWNvZGVy
ID4+IHBvd2VyRWZmaWNpZW50OworICAgIGlmICghcG93ZXJFZmZpY2llbnQpCisgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICByZXR1cm4ge3sKKyAgICAgICAgKnN1cHBvcnRlZCwK
KyAgICAgICAgKnNtb290aCwKKyAgICAgICAgKnBvd2VyRWZmaWNpZW50LAorICAgIH19OworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL0F1ZGlvQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvQXVkaW9Db25maWd1cmF0aW9uLmgKaW5k
ZXggOGZhMTRhNTI0YzA0NWZlZGVjYzNmYTU1NGY0ODA5NmE0OTM0OGFkYi4uNTc2NzljNDI5MmY5
YTAwNTIxODVmNmY5MzllNWZlNTgwOGJiYzhlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvQXVkaW9Db25maWd1cmF0aW9uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvQXVkaW9Db25maWd1cmF0aW9u
LmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlIDx3dGYvT3B0
aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtMzUsNiArMzYsNTYgQEAgc3RydWN0IEF1ZGlvQ29uZmlndXJhdGlvbiB7CiAg
ICAgT3B0aW9uYWw8dWludDY0X3Q+IGJpdHJhdGU7CiAgICAgT3B0aW9uYWw8dWludDMyX3Q+IHNh
bXBsZXJhdGU7CiAgICAgT3B0aW9uYWw8Ym9vbD4gc3BhdGlhbFJlbmRlcmluZzsKKworICAgIHRl
bXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAgICB0
ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgT3B0aW9uYWw8QXVkaW9Db25maWd1cmF0aW9u
PiBkZWNvZGUoRGVjb2RlciYpOwogfTsKIAordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK3ZvaWQg
QXVkaW9Db25maWd1cmF0aW9uOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAg
ICBlbmNvZGVyIDw8IGNvbnRlbnRUeXBlOworICAgIGVuY29kZXIgPDwgY2hhbm5lbHM7CisgICAg
ZW5jb2RlciA8PCBiaXRyYXRlOworICAgIGVuY29kZXIgPDwgc2FtcGxlcmF0ZTsKKyAgICBlbmNv
ZGVyIDw8IHNwYXRpYWxSZW5kZXJpbmc7Cit9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+CitP
cHRpb25hbDxBdWRpb0NvbmZpZ3VyYXRpb24+IEF1ZGlvQ29uZmlndXJhdGlvbjo6ZGVjb2RlKERl
Y29kZXImIGRlY29kZXIpCit7CisgICAgT3B0aW9uYWw8U3RyaW5nPiBjb250ZW50VHlwZTsKKyAg
ICBkZWNvZGVyID4+IGNvbnRlbnRUeXBlOworICAgIGlmICghY29udGVudFR5cGUpCisgICAgICAg
IHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxTdHJpbmc+IGNoYW5uZWxzOwor
ICAgIGRlY29kZXIgPj4gY2hhbm5lbHM7CisgICAgaWYgKCFjaGFubmVscykKKyAgICAgICAgcmV0
dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPE9wdGlvbmFsPHVpbnQ2NF90Pj4gYml0
cmF0ZTsKKyAgICBkZWNvZGVyID4+IGJpdHJhdGU7CisgICAgaWYgKCFiaXRyYXRlKQorICAgICAg
ICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8T3B0aW9uYWw8dWludDMyX3Q+
PiBzYW1wbGVSYXRlOworICAgIGRlY29kZXIgPj4gc2FtcGxlUmF0ZTsKKyAgICBpZiAoIXNhbXBs
ZVJhdGUpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxPcHRp
b25hbDxib29sPj4gc3BhdGlhbFJlbmRlcmluZzsKKyAgICBkZWNvZGVyID4+IHNwYXRpYWxSZW5k
ZXJpbmc7CisgICAgaWYgKCFzcGF0aWFsUmVuZGVyaW5nKQorICAgICAgICByZXR1cm4gV1RGOjpu
dWxsb3B0OworCisgICAgcmV0dXJuIHt7CisgICAgICAgICpjb250ZW50VHlwZSwKKyAgICAgICAg
KmNoYW5uZWxzLAorICAgICAgICAqYml0cmF0ZSwKKyAgICAgICAgKnNhbXBsZVJhdGUsCisgICAg
ICAgICpzcGF0aWFsUmVuZGVyaW5nCisgICAgfX07Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVz
L0NvbG9yR2FtdXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVz
L0NvbG9yR2FtdXQuaAppbmRleCAxODEzZTM1M2RhZTEyNDhkYjVlOGQyYzhjZDY1NjgzMjRiZDMw
Y2QzLi4yOGQwMjQyYzFkNTJjNzJiZjhhNmJmMTUyM2QwODQ0MTk0OGE1MDdjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9Db2xvckdhbXV0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvQ29sb3JHYW11
dC5oCkBAIC0yNywxMCArMjcsMjMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIGNs
YXNzIENvbG9yR2FtdXQgeworZW51bSBjbGFzcyBDb2xvckdhbXV0IDogdWludDhfdCB7CiAgICAg
U1JHQiwKICAgICBQMywKICAgICBSZWMyMDIwLAogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJD
b3JlOjpDb2xvckdhbXV0PiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAg
ICAgV2ViQ29yZTo6Q29sb3JHYW11dCwKKyAgICAgICAgV2ViQ29yZTo6Q29sb3JHYW11dDo6U1JH
QiwKKyAgICAgICAgV2ViQ29yZTo6Q29sb3JHYW11dDo6UDMsCisgICAgICAgIFdlYkNvcmU6OkNv
bG9yR2FtdXQ6OlJlYzIwMjAKKyAgICA+OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvSGRyTWV0YWRhdGFUeXBlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9IZHJNZXRhZGF0YVR5cGUuaApp
bmRleCA2NWMxZDBlZTI5ZDg4NGY5YmU4OWY2OWViNTBkZTNhY2FlODIzMGFlLi4wMjQ5OTgyZjVh
ODg1MjUwYjUyOGU4ZTg0OTdkZjQ5N2ZmOTMxZDBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9IZHJNZXRhZGF0YVR5cGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9IZHJNZXRhZGF0YVR5cGUuaApA
QCAtMjcsMTAgKzI3LDIzIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotZW51bSBjbGFzcyBI
ZHJNZXRhZGF0YVR5cGUgeworZW51bSBjbGFzcyBIZHJNZXRhZGF0YVR5cGUgOiB1aW50OF90IHsK
ICAgICBTbXB0ZVN0MjA4NiwKICAgICBTbXB0ZVN0MjA5NDEwLAogICAgIFNtcHRlU3QyMDk0NDAK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBs
YXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6SGRyTWV0YWRhdGFUeXBlPiB7CisgICAg
dXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6SGRyTWV0YWRhdGFU
eXBlLAorICAgICAgICBXZWJDb3JlOjpIZHJNZXRhZGF0YVR5cGU6OlNtcHRlU3QyMDg2LAorICAg
ICAgICBXZWJDb3JlOjpIZHJNZXRhZGF0YVR5cGU6OlNtcHRlU3QyMDk0MTAsCisgICAgICAgIFdl
YkNvcmU6Okhkck1ldGFkYXRhVHlwZTo6U21wdGVTdDIwOTQ0MAorICAgID47Cit9OworCit9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRp
YUNhcGFiaWxpdGllc0xvZ2dpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2Fw
YWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oCmluZGV4IDhhYjdlMjc2NDFjMWI2
Mjg4MmE0ODlkMTE0ZjhjMTcyOTRlN2Y5OTkuLjJjZWI2ZjY2ZjhjODVjODc0ZjgyZTlkMTY5NmVj
YWM4ZjYwNDljMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2Fw
YWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oCkBA
IC0zOCwxMSArMzgsMTEgQEAgc3RydWN0IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbzsKIHN0cnVjdCBN
ZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbzsKIHN0cnVjdCBNZWRpYUNhcGFiaWxpdGllc0Vu
Y29kaW5nSW5mbzsKIAotZW51bSBjbGFzcyBDb2xvckdhbXV0OwotZW51bSBjbGFzcyBIZHJNZXRh
ZGF0YVR5cGU7Ci1lbnVtIGNsYXNzIFRyYW5zZmVyRnVuY3Rpb247Ci1lbnVtIGNsYXNzIE1lZGlh
RGVjb2RpbmdUeXBlOwotZW51bSBjbGFzcyBNZWRpYUVuY29kaW5nVHlwZTsKK2VudW0gY2xhc3Mg
Q29sb3JHYW11dCA6IHVpbnQ4X3Q7CitlbnVtIGNsYXNzIEhkck1ldGFkYXRhVHlwZSA6IHVpbnQ4
X3Q7CitlbnVtIGNsYXNzIFRyYW5zZmVyRnVuY3Rpb24gOiB1aW50OF90OworZW51bSBjbGFzcyBN
ZWRpYURlY29kaW5nVHlwZSA6IGJvb2w7CitlbnVtIGNsYXNzIE1lZGlhRW5jb2RpbmdUeXBlIDog
Ym9vbDsKIAogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNh
cGFiaWxpdGllcy9NZWRpYUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ29uZmlndXJhdGlvbi5oCmluZGV4IGQwMWFkNmU5MzI0
MTJjYTFiNTdjNDMwNjVjNmYyMjYwM2I4ZTBkNGMuLmMwODY4ZTRhYjlkNGUwOThhYmM1MTkwNDdm
MWY1NmJhZjM1NDQ4ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
Y2FwYWJpbGl0aWVzL01lZGlhQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ29uZmlndXJhdGlvbi5oCkBAIC0zNCw2ICsz
NCwzNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdHJ1Y3QgTWVkaWFDb25maWd1cmF0aW9uIHsK
ICAgICBPcHRpb25hbDxWaWRlb0NvbmZpZ3VyYXRpb24+IHZpZGVvOwogICAgIE9wdGlvbmFsPEF1
ZGlvQ29uZmlndXJhdGlvbj4gYXVkaW87CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2
b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4g
c3RhdGljIE9wdGlvbmFsPE1lZGlhQ29uZmlndXJhdGlvbj4gZGVjb2RlKERlY29kZXImKTsKIH07
CiAKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIE1lZGlhQ29uZmlndXJhdGlvbjo6ZW5j
b2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCB2aWRlbzsKKyAg
ICBlbmNvZGVyIDw8IGF1ZGlvOwogfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgorT3B0aW9u
YWw8TWVkaWFDb25maWd1cmF0aW9uPiBNZWRpYUNvbmZpZ3VyYXRpb246OmRlY29kZShEZWNvZGVy
JiBkZWNvZGVyKQoreworICAgIE9wdGlvbmFsPE9wdGlvbmFsPFZpZGVvQ29uZmlndXJhdGlvbj4+
IHZpZGVvOworICAgIGRlY29kZXIgPj4gdmlkZW87CisgICAgaWYgKCF2aWRlbykKKyAgICAgICAg
cmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPE9wdGlvbmFsPEF1ZGlvQ29uZmln
dXJhdGlvbj4+IGF1ZGlvOworICAgIGRlY29kZXIgPj4gYXVkaW87CisgICAgaWYgKCFhdWRpbykK
KyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIHJldHVybiB7eworICAgICAgICAq
dmlkZW8sCisgICAgICAgICphdWRpbywKKyAgICB9fTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxp
dGllcy9NZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24uaAppbmRleCA1
NWMwNDUxODIyNzA5M2JlOWUzYjU3ZmRlZWNhZTMxMzYyZGViYzQ2Li4zODA5MjJmMjA5NTczYWMx
NjlhZjJkZmYzMTFhZTVhMDY4OWMxMWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbi5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdD
b25maWd1cmF0aW9uLmgKQEAgLTMyLDYgKzMyLDM1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
c3RydWN0IE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uIDogTWVkaWFDb25maWd1cmF0aW9uIHsK
ICAgICBNZWRpYURlY29kaW5nVHlwZSB0eXBlOworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rl
cj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29k
ZXI+IHN0YXRpYyBPcHRpb25hbDxNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbj4gZGVjb2RlKERl
Y29kZXImKTsKIH07CiAKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIE1lZGlhRGVjb2Rp
bmdDb25maWd1cmF0aW9uOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBN
ZWRpYUNvbmZpZ3VyYXRpb246OmVuY29kZShlbmNvZGVyKTsKKyAgICBlbmNvZGVyIDw8IHR5cGU7
CiB9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+CitPcHRpb25hbDxNZWRpYURlY29kaW5nQ29u
ZmlndXJhdGlvbj4gTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb246OmRlY29kZShEZWNvZGVyJiBk
ZWNvZGVyKQoreworICAgIE9wdGlvbmFsPE1lZGlhQ29uZmlndXJhdGlvbj4gbWVkaWFDb25maWd1
cmF0aW9uID0gTWVkaWFDb25maWd1cmF0aW9uOjpkZWNvZGUoZGVjb2Rlcik7CisgICAgaWYgKCFt
ZWRpYUNvbmZpZ3VyYXRpb24pCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBP
cHRpb25hbDxNZWRpYURlY29kaW5nVHlwZT4gdHlwZTsKKyAgICBkZWNvZGVyID4+IHR5cGU7Cisg
ICAgaWYgKCF0eXBlKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgcmV0dXJu
IHt7CisgICAgICAgICptZWRpYUNvbmZpZ3VyYXRpb24sCisgICAgICAgICp0eXBlLAorICAgIH19
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdUeXBlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5nVHlwZS5o
CmluZGV4IDg5MGU3Zjg0ZDk4NzI0YzAyNGFjNWNmMDI4ZDIxZTYzN2U3MjgzZjEuLjQxNWUwYjcy
MDllYTUwZTE1OTZiMmE4YmQyZjJhMzkyODM2MTg4YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdUeXBlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ1R5
cGUuaApAQCAtMjcsOSArMjcsMjEgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIGNs
YXNzIE1lZGlhRGVjb2RpbmdUeXBlIHsKK2VudW0gY2xhc3MgTWVkaWFEZWNvZGluZ1R5cGUgOiBi
b29sIHsKICAgICBGaWxlLAogICAgIE1lZGlhU291cmNlLAogfTsKIAogfQorCituYW1lc3BhY2Ug
V1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpNZWRpYURlY29k
aW5nVHlwZT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNv
cmU6Ok1lZGlhRGVjb2RpbmdUeXBlLAorICAgICAgICBXZWJDb3JlOjpNZWRpYURlY29kaW5nVHlw
ZTo6RmlsZSwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFEZWNvZGluZ1R5cGU6Ok1lZGlhU291cmNl
CisgICAgPjsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5nQ29uZmlndXJhdGlv
bi5oCmluZGV4IDcyOWIzYTFiZWE3YjIzOWVmYzE0NzRkNzRlNjUxMTMzNjNhMzM4MWQuLmYwOGNh
MWU4ODcxYTMwYjRiODE1NGJjZmM5ZmU1NDM1ZjJiYTQ3ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdDb25maWd1cmF0
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVk
aWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaApAQCAtMzIsNiArMzIsMzUgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBzdHJ1Y3QgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24gOiBNZWRpYUNvbmZp
Z3VyYXRpb24gewogICAgIE1lZGlhRW5jb2RpbmdUeXBlIHR5cGU7CisKKyAgICB0ZW1wbGF0ZTxj
bGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8
Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIE9wdGlvbmFsPE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9u
PiBkZWNvZGUoRGVjb2RlciYpOwogfTsKIAordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK3ZvaWQg
TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb246OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25z
dAoreworICAgIE1lZGlhQ29uZmlndXJhdGlvbjo6ZW5jb2RlKGVuY29kZXIpOworICAgIGVuY29k
ZXIgPDwgdHlwZTsKIH0KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KK09wdGlvbmFsPE1lZGlh
RW5jb2RpbmdDb25maWd1cmF0aW9uPiBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbjo6ZGVjb2Rl
KERlY29kZXImIGRlY29kZXIpCit7CisgICAgT3B0aW9uYWw8TWVkaWFDb25maWd1cmF0aW9uPiBt
ZWRpYUNvbmZpZ3VyYXRpb24gPSBNZWRpYUNvbmZpZ3VyYXRpb246OmRlY29kZShkZWNvZGVyKTsK
KyAgICBpZiAoIW1lZGlhQ29uZmlndXJhdGlvbikKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9w
dDsKKworICAgIE9wdGlvbmFsPE1lZGlhRW5jb2RpbmdUeXBlPiB0eXBlOworICAgIGRlY29kZXIg
Pj4gdHlwZTsKKyAgICBpZiAoIXR5cGUpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisK
KyAgICByZXR1cm4ge3sKKyAgICAgICAgKm1lZGlhQ29uZmlndXJhdGlvbiwKKyAgICAgICAgKnR5
cGUsCisgICAgfX07Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ1R5
cGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5j
b2RpbmdUeXBlLmgKaW5kZXggYTg3ZDBmMjU4MTRkMTYwNDFmNDljODAwZjZiY2FkN2JkOWUzODRk
OC4uMDEyYThjNmQ1Mzk2N2Q5YjRlZGMyMjIzYWU0OTAwNTMxZjVmMWZkNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ1R5
cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRp
YUVuY29kaW5nVHlwZS5oCkBAIC0yNyw5ICsyNywyMiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWVudW0gY2xhc3MgTWVkaWFFbmNvZGluZ1R5cGUgeworZW51bSBjbGFzcyBNZWRpYUVuY29k
aW5nVHlwZSA6IGJvb2wgewogICAgIFJlY29yZCwKICAgICBUcmFuc21pc3Npb24sCiB9OwogCiB9
CisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNv
cmU6Ok1lZGlhRW5jb2RpbmdUeXBlPiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwK
KyAgICAgICAgV2ViQ29yZTo6TWVkaWFFbmNvZGluZ1R5cGUsCisgICAgICAgIFdlYkNvcmU6Ok1l
ZGlhRW5jb2RpbmdUeXBlOjpSZWNvcmQsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdU
eXBlOjpUcmFuc21pc3Npb24KKyAgICA+OworfTsKKworfQorCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRp
b25GYWN0b3J5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVz
L01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuY3BwCmluZGV4IDhmZmE2YTljYzVkZjk0
OTA2NDdhNWZlNDlkNjI5MjIwZDA0ZjYzZDYuLjA1MGNkZjlmYzUzMjAyZDgxMDBiZWY3MzIzMzc1
OWI2NzRiYzc4YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2Fw
YWJpbGl0aWVzL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3RvcnkuY3BwCkBAIC01MywzMyArNTMsNDggQEAgc3RhdGljIGJvb2wmIG1vY2tFbmFi
bGVkKCkKICAgICByZXR1cm4gZW5hYmxlZDsKIH0KIAotc3RydWN0IE1lZGlhRW5naW5lRmFjdG9y
eSB7Ci0gICAgdm9pZCgqY3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKShNZWRpYURlY29kaW5n
Q29uZmlndXJhdGlvbiYmLCBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpEZWNvZGlu
Z0NvbmZpZ3VyYXRpb25DYWxsYmFjayYmKTsKLSAgICB2b2lkKCpjcmVhdGVFbmNvZGluZ0NvbmZp
Z3VyYXRpb24pKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uJiYsIE1lZGlhRW5naW5lQ29uZmln
dXJhdGlvbkZhY3Rvcnk6OkVuY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYpOwotfTsKLQot
dXNpbmcgRmFjdG9yeVZlY3RvciA9IFZlY3RvcjxNZWRpYUVuZ2luZUZhY3Rvcnk+Owotc3RhdGlj
IGNvbnN0IEZhY3RvcnlWZWN0b3ImIGZhY3RvcmllcygpCit1c2luZyBGYWN0b3J5VmVjdG9yID0g
VmVjdG9yPE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6Ok1lZGlhRW5naW5lRmFjdG9y
eT47CitzdGF0aWMgRmFjdG9yeVZlY3RvciBkZWZhdWx0RmFjdG9yaWVzKCkKIHsKLSAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8RmFjdG9yeVZlY3Rvcj4gZmFjdG9yaWVzID0gbWFrZU5ldmVyRGVz
dHJveWVkKEZhY3RvcnlWZWN0b3IoeworICAgIEZhY3RvcnlWZWN0b3IgZmFjdG9yaWVzOwogI2lm
IFBMQVRGT1JNKENPQ09BKQotICAgICAgICB7ICZjcmVhdGVNZWRpYVBsYXllckRlY29kaW5nQ29u
ZmlndXJhdGlvbkNvY29hLCBudWxscHRyIH0sCisgICAgZmFjdG9yaWVzLmFwcGVuZCh7ICZjcmVh
dGVNZWRpYVBsYXllckRlY29kaW5nQ29uZmlndXJhdGlvbkNvY29hLCBudWxscHRyIH0pOwogI2Vu
ZGlmCiAjaWYgVVNFKEdTVFJFQU1FUikKLSAgICAgICAgeyAmY3JlYXRlTWVkaWFQbGF5ZXJEZWNv
ZGluZ0NvbmZpZ3VyYXRpb25HU3RyZWFtZXIsICZjcmVhdGVNZWRpYVBsYXllckVuY29kaW5nQ29u
ZmlndXJhdGlvbkdTdHJlYW1lciB9LAorICAgIGZhY3Rvcmllcy5hcHBlbmQoeyAmY3JlYXRlTWVk
aWFQbGF5ZXJEZWNvZGluZ0NvbmZpZ3VyYXRpb25HU3RyZWFtZXIsICZjcmVhdGVNZWRpYVBsYXll
ckVuY29kaW5nQ29uZmlndXJhdGlvbkdTdHJlYW1lciB9KTsKICNlbmRpZgotICAgIH0pKTsKICAg
ICByZXR1cm4gZmFjdG9yaWVzOwogfQogCitzdGF0aWMgRmFjdG9yeVZlY3RvciYgZmFjdG9yaWVz
KCkKK3sKKyAgICBzdGF0aWMgYXV0byBmYWN0b3JpZXMgPSBtYWtlTmV2ZXJEZXN0cm95ZWQ8RmFj
dG9yeVZlY3Rvcj4oZGVmYXVsdEZhY3RvcmllcygpKTsKKyAgICByZXR1cm4gZmFjdG9yaWVzOwor
fQorCit2b2lkIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OmNsZWFyRmFjdG9yaWVz
KCkKK3sKKyAgICBmYWN0b3JpZXMoKS5jbGVhcigpOworfQorCit2b2lkIE1lZGlhRW5naW5lQ29u
ZmlndXJhdGlvbkZhY3Rvcnk6OnJlc2V0RmFjdG9yaWVzKCkKK3sKKyAgICBmYWN0b3JpZXMoKSA9
IGRlZmF1bHRGYWN0b3JpZXMoKTsKK30KKwordm9pZCBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25G
YWN0b3J5OjppbnN0YWxsRmFjdG9yeShNZWRpYUVuZ2luZUZhY3RvcnkmJiBmYWN0b3J5KQorewor
ICAgIGZhY3RvcmllcygpLmFwcGVuZChXVEZNb3ZlKGZhY3RvcnkpKTsKK30KKwogYm9vbCBNZWRp
YUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpoYXNEZWNvZGluZ0NvbmZpZ3VyYXRpb25GYWN0
b3J5KCkKIHsKLSAgICByZXR1cm4gbW9ja0VuYWJsZWQoKSB8fCBXVEY6OmFueU9mKGZhY3Rvcmll
cygpLCBbXSAoYXV0byYgZmFjdG9yeSkgeyByZXR1cm4gZmFjdG9yeS5jcmVhdGVEZWNvZGluZ0Nv
bmZpZ3VyYXRpb247IH0pOworICAgIHJldHVybiBtb2NrRW5hYmxlZCgpIHx8IFdURjo6YW55T2Yo
ZmFjdG9yaWVzKCksIFtdIChhdXRvJiBmYWN0b3J5KSB7IHJldHVybiAoYm9vbClmYWN0b3J5LmNy
ZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbjsgfSk7CiB9CiAKIGJvb2wgTWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeTo6aGFzRW5jb2RpbmdDb25maWd1cmF0aW9uRmFjdG9yeSgpCiB7Ci0g
ICAgcmV0dXJuIG1vY2tFbmFibGVkKCkgfHwgV1RGOjphbnlPZihmYWN0b3JpZXMoKSwgW10gKGF1
dG8mIGZhY3RvcnkpIHsgcmV0dXJuIGZhY3RvcnkuY3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9u
OyB9KTsKKyAgICByZXR1cm4gbW9ja0VuYWJsZWQoKSB8fCBXVEY6OmFueU9mKGZhY3Rvcmllcygp
LCBbXSAoYXV0byYgZmFjdG9yeSkgeyByZXR1cm4gKGJvb2wpZmFjdG9yeS5jcmVhdGVFbmNvZGlu
Z0NvbmZpZ3VyYXRpb247IH0pOwogfQogCiB2b2lkIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZh
Y3Rvcnk6OmNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihNZWRpYURlY29kaW5nQ29uZmlndXJh
dGlvbiYmIGNvbmZpZywgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6RGVjb2RpbmdD
b25maWd1cmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZh
Y3RvcnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaAppbmRleCAxOTc3OTNiMWM5NGFlZWQ1ZmNjYjJi
MzZhOWQyMWJjZjMyNDI0MjczLi4zMTg1OWQxOWY0YTYxN2E3NGNkOTU0Y2YxMjc1YWNiZjkzZWM0
OTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGll
cy9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9y
eS5oCkBAIC00NCw5ICs0NCwyMSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgaGFzRGVjb2Rp
bmdDb25maWd1cmF0aW9uRmFjdG9yeSgpOwogICAgIHN0YXRpYyBib29sIGhhc0VuY29kaW5nQ29u
ZmlndXJhdGlvbkZhY3RvcnkoKTsKIAotICAgIHN0YXRpYyB2b2lkIGNyZWF0ZURlY29kaW5nQ29u
ZmlndXJhdGlvbihNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiYmLCBEZWNvZGluZ0NvbmZpZ3Vy
YXRpb25DYWxsYmFjayYmKTsKLSAgICBzdGF0aWMgdm9pZCBjcmVhdGVFbmNvZGluZ0NvbmZpZ3Vy
YXRpb24oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiwgRW5jb2RpbmdDb25maWd1cmF0aW9u
Q2FsbGJhY2smJik7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgY3JlYXRlRGVjb2Rp
bmdDb25maWd1cmF0aW9uKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uJiYsIERlY29kaW5nQ29u
ZmlndXJhdGlvbkNhbGxiYWNrJiYpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGNy
ZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbihNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYmLCBF
bmNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayYmKTsKKyAgICAKKyAgICB1c2luZyBDcmVhdGVE
ZWNvZGluZ0NvbmZpZ3VyYXRpb24gPSBXVEY6OkZ1bmN0aW9uPHZvaWQoTWVkaWFEZWNvZGluZ0Nv
bmZpZ3VyYXRpb24mJiwgRGVjb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2smJik+OworICAgIHVz
aW5nIENyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbiA9IFdURjo6RnVuY3Rpb248dm9pZChNZWRp
YUVuY29kaW5nQ29uZmlndXJhdGlvbiYmLCBFbmNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayYm
KT47CiAKKyAgICBzdHJ1Y3QgTWVkaWFFbmdpbmVGYWN0b3J5IHsKKyAgICAgICAgQ3JlYXRlRGVj
b2RpbmdDb25maWd1cmF0aW9uIGNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbjsKKyAgICAgICAg
Q3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uIGNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbjsK
KyAgICB9OworICAgIAorICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGNsZWFyRmFjdG9y
aWVzKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgcmVzZXRGYWN0b3JpZXMoKTsK
KyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBpbnN0YWxsRmFjdG9yeShNZWRpYUVuZ2lu
ZUZhY3RvcnkmJik7CisgICAgCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgZW5hYmxl
TW9jaygpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGRpc2FibGVNb2NrKCk7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMv
VHJhbnNmZXJGdW5jdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmls
aXRpZXMvVHJhbnNmZXJGdW5jdGlvbi5oCmluZGV4IGIxNDViM2FiYmQ5ZmNjNTE4ZTM4NmZmNDE5
YjZkMmJlZjk3ZjNmNDYuLjVkM2UxN2RhOTcyODQ5N2E4NzRlYzUxMmFhYmY5ODYyNGU4Mzg0Mjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1Ry
YW5zZmVyRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFi
aWxpdGllcy9UcmFuc2ZlckZ1bmN0aW9uLmgKQEAgLTI3LDEwICsyNywyMyBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWVudW0gY2xhc3MgVHJhbnNmZXJGdW5jdGlvbiB7CitlbnVtIGNsYXNz
IFRyYW5zZmVyRnVuY3Rpb24gOiB1aW50OF90IHsKICAgICBTUkdCLAogICAgIFBRLAogICAgIEhM
RwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVt
cGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpUcmFuc2ZlckZ1bmN0aW9uPiB7Cisg
ICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6VHJhbnNmZXJG
dW5jdGlvbiwKKyAgICAgICAgV2ViQ29yZTo6VHJhbnNmZXJGdW5jdGlvbjo6U1JHQiwKKyAgICAg
ICAgV2ViQ29yZTo6VHJhbnNmZXJGdW5jdGlvbjo6UFEsCisgICAgICAgIFdlYkNvcmU6OlRyYW5z
ZmVyRnVuY3Rpb246OkhMRworICAgID47Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29uZmlndXJhdGlv
bi5oCmluZGV4IGNkOWRjYTNjNjcwNTAwN2YyYjllODY5Y2UwZDVlY2ZmNWVjMmU4MDUuLjQzMjY2
ZGY1YjY2M2Y1ZDBkZTFhZjdhMWNiYWIyODQ0OGYwZDQ5Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29uZmlndXJhdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29uZmln
dXJhdGlvbi5oCkBAIC00Myw2ICs0Myw4NSBAQCBzdHJ1Y3QgVmlkZW9Db25maWd1cmF0aW9uIHsK
ICAgICBPcHRpb25hbDxDb2xvckdhbXV0PiBjb2xvckdhbXV0OwogICAgIE9wdGlvbmFsPEhkck1l
dGFkYXRhVHlwZT4gaGRyTWV0YWRhdGFUeXBlOwogICAgIE9wdGlvbmFsPFRyYW5zZmVyRnVuY3Rp
b24+IHRyYW5zZmVyRnVuY3Rpb247CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lk
IGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3Rh
dGljIE9wdGlvbmFsPFZpZGVvQ29uZmlndXJhdGlvbj4gZGVjb2RlKERlY29kZXImKTsKIH07CiAK
K3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIFZpZGVvQ29uZmlndXJhdGlvbjo6ZW5jb2Rl
KEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCBjb250ZW50VHlwZTsK
KyAgICBlbmNvZGVyIDw8IHdpZHRoOworICAgIGVuY29kZXIgPDwgaGVpZ2h0OworICAgIGVuY29k
ZXIgPDwgYml0cmF0ZTsKKyAgICBlbmNvZGVyIDw8IGZyYW1lcmF0ZTsKKyAgICBlbmNvZGVyIDw8
IGFscGhhQ2hhbm5lbDsKKyAgICBlbmNvZGVyIDw8IGNvbG9yR2FtdXQ7CisgICAgZW5jb2RlciA8
PCBoZHJNZXRhZGF0YVR5cGU7CisgICAgZW5jb2RlciA8PCB0cmFuc2ZlckZ1bmN0aW9uOworfQor
Cit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgorT3B0aW9uYWw8VmlkZW9Db25maWd1cmF0aW9uPiBW
aWRlb0NvbmZpZ3VyYXRpb246OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIE9wdGlv
bmFsPFN0cmluZz4gY29udGVudFR5cGU7CisgICAgZGVjb2RlciA+PiBjb250ZW50VHlwZTsKKyAg
ICBpZiAoIWNvbnRlbnRUeXBlKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAg
T3B0aW9uYWw8dWludDMyX3Q+IHdpZHRoOworICAgIGRlY29kZXIgPj4gd2lkdGg7CisgICAgaWYg
KCF3aWR0aCkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPHVp
bnQzMl90PiBoZWlnaHQ7CisgICAgZGVjb2RlciA+PiBoZWlnaHQ7CisgICAgaWYgKCFoZWlnaHQp
CisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDx1aW50NjRfdD4g
Yml0cmF0ZTsKKyAgICBkZWNvZGVyID4+IGJpdHJhdGU7CisgICAgaWYgKCFiaXRyYXRlKQorICAg
ICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8ZG91YmxlPiBmcmFtZXJh
dGU7CisgICAgZGVjb2RlciA+PiBmcmFtZXJhdGU7CisgICAgaWYgKCFmcmFtZXJhdGUpCisgICAg
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxPcHRpb25hbDxib29sPj4g
YWxwaGFDaGFubmVsOworICAgIGRlY29kZXIgPj4gYWxwaGFDaGFubmVsOworICAgIGlmICghYWxw
aGFDaGFubmVsKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8
T3B0aW9uYWw8Q29sb3JHYW11dD4+IGNvbG9yR2FtdXQ7CisgICAgZGVjb2RlciA+PiBjb2xvckdh
bXV0OworICAgIGlmICghY29sb3JHYW11dCkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsK
KworICAgIE9wdGlvbmFsPE9wdGlvbmFsPEhkck1ldGFkYXRhVHlwZT4+IGhkck1ldGFkYXRhVHlw
ZTsKKyAgICBkZWNvZGVyID4+IGhkck1ldGFkYXRhVHlwZTsKKyAgICBpZiAoIWhkck1ldGFkYXRh
VHlwZSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPE9wdGlv
bmFsPFRyYW5zZmVyRnVuY3Rpb24+PiB0cmFuc2ZlckZ1bmN0aW9uOworICAgIGRlY29kZXIgPj4g
dHJhbnNmZXJGdW5jdGlvbjsKKyAgICBpZiAoIXRyYW5zZmVyRnVuY3Rpb24pCisgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CisKKworICAgIHJldHVybiB7eworICAgICAgICAqY29udGVudFR5
cGUsCisgICAgICAgICp3aWR0aCwKKyAgICAgICAgKmhlaWdodCwKKyAgICAgICAgKmJpdHJhdGUs
CisgICAgICAgICpmcmFtZXJhdGUsCisgICAgICAgICphbHBoYUNoYW5uZWwsCisgICAgICAgICpj
b2xvckdhbXV0LAorICAgICAgICAqaGRyTWV0YWRhdGFUeXBlLAorICAgICAgICAqdHJhbnNmZXJG
dW5jdGlvbiwKKyAgICB9fTsKIH0KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0
cy50eHQKaW5kZXggODhlMTUxYjEyMjI0ZmViY2M4OTNiNTNkNjg1ZTNlYzFiMDEwY2Q0NS4uN2Fm
NjE1YjE1N2FiZTM3NjMyMzA3MWQxNzIwNzQ1ZGQ2ZTExNmY2NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0
CkBAIC0xMzUsNiArMTM1LDcgQEAgc2V0KFdlYktpdF9NRVNTQUdFU19JTl9GSUxFUwogICAgIEdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5CiAgICAgR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1Qcm94eQogICAgIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TGVnYWN5Q0RNU2Vzc2lvblByb3h5CisgICAgR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkKICAgICBHUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5CiAgICAgR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRp
YVBsYXllclByb3h5CiAgICAgR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFu
YWdlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2Zp
bGVsaXN0IGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0Cmlu
ZGV4IGU1MWNhZWQyMWUxODZjZjJhMTczY2I4YTMzMzEyYmUwYjMwNGJiMDAuLjI2N2NkZDI5NDNl
MTQ2ZjA1Y2M4ZTdjMzEwMjIzOWRiZjZiZTNiNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
RGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2
ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTMzLDYgKzMzLDcgQEAgJChQUk9KRUNUX0RJ
UikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVDRE1Qcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNU
X0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1GYWN0b3J5UHJveHkubWVzc2Fn
ZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNUHJv
eHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVn
YWN5Q0RNU2Vzc2lvblByb3h5Lm1lc3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5tZXNzYWdl
cy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1h
bmFnZXJQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLm1lc3NhZ2VzLmluCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCBlODhiMmMy
MWZhNzE3Yzc3ZDIzMDJjYjUxOGJhNGFkM2VkZTI1NzRhLi42MGQ0NDMwMjZmMzZkNDkzYWNiNjI3
OWQ4ZjdhMGMzMWVhMmI0NjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3Vy
Y2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMt
b3V0cHV0LnhjZmlsZWxpc3QKQEAgLTE5Myw2ICsxOTMsOSBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uTWVzc2FnZXNS
ZXBsaQogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3Rl
TGVnYWN5Q0RNU2Vzc2lvblByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblByb3h5
TWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIv
UmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblByb3h5TWVzc2FnZXNSZXBsaWVzLmgKKyQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhRW5naW5lQ29uZmln
dXJhdGlvbkZhY3RvcnlQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3RvcnlQcm94eU1lc3NhZ2VzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eU1l
c3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVBsYXllck1h
bmFnZXJNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJNZXNzYWdlc1JlcGxpZXMuaApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYktpdC9EZXJp
dmVkU291cmNlcy5tYWtlCmluZGV4IDY4MTQ4NTVmZjlkMjNhZjBhNzdlNWZkYTZkZmQyZmQ1NTA5
NzZmNjkuLjM1OGY3NGJiZDMyNTE2NGQyOTU3NjIwMTI3ZTRhNjAyZDkyZDdhNTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTI0Niw2ICsyNDYsNyBAQCBNRVNTQUdFX1JFQ0VJVkVS
UyA9IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETUZhY3RvcnlQcm94eSBcCiAJR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZUxlZ2FjeUNETVByb3h5IFwKKwlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3RvcnlQcm94eSBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRp
YVBsYXllck1hbmFnZXJQcm94eSBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXll
clByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmNwcAppbmRleCA2YThjYTJmOTk1ODc3YzI4MWQ0Nzg5MDMzYTM0MzY1NzljZDM2YzY5
Li4wYzI2MTY4NjU3YWE4YzQ3MzM5MTk5NGVlZjAyMzcyYzZjODkyN2JmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3Bw
CkBAIC0xMDIsNiArMTAyLDExIEBACiAjaW5jbHVkZSAiUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblBy
b3h5TWVzc2FnZXMuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorI2luY2x1
ZGUgIlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5oIgorI2luY2x1
ZGUgIlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eU1lc3NhZ2VzLmgi
CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IApAQCAtMzM5LDYgKzM0NCwxNSBAQCBSZW1vdGVMZWdhY3lDRE1GYWN0b3J5UHJveHkmIEdQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmxlZ2FjeUNkbUZhY3RvcnlQcm94eSgpCiB9CiAjZW5kaWYK
IAorI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKK1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3RvcnlQcm94eSYgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6bWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeVByb3h5KCkKK3sKKyAgICBpZiAoIW1fbWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeVByb3h5KQorICAgICAgICBtX21lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZh
Y3RvcnlQcm94eSA9IG1ha2VVbmlxdWU8UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFj
dG9yeVByb3h5PigqdGhpcyk7CisgICAgcmV0dXJuICptX21lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3RvcnlQcm94eTsKK30KKyNlbmRpZgorCiBib29sIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OmRpc3BhdGNoTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQzo6RGVj
b2RlciYgZGVjb2RlcikKIHsKICNpZiBFTkFCTEUoV0VCX0FVRElPKQpAQCAtNDE0LDYgKzQyOCwx
MCBAQCBib29sIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpc3BhdGNoTWVzc2FnZShJUEM6
OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9
CiAjZW5kaWYKKyAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2Fn
ZXM6OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eTo6bWVzc2FnZVJl
Y2VpdmVyTmFtZSgpKSB7CisgICAgICAgIG1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQ
cm94eSgpLmRpZFJlY2VpdmVNZXNzYWdlRnJvbVdlYlByb2Nlc3MoY29ubmVjdGlvbiwgZGVjb2Rl
cik7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KIAogICAgIHJldHVybiBtZXNzYWdlUmVj
ZWl2ZXJNYXAoKS5kaXNwYXRjaE1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mu
aAppbmRleCAwZDcwOWRmNWU1MTVhMjE4MGMwOGZjNjIwZGRkYWQ0Y2M2ZGU4ZDJmLi5lMzNmNzM4
MTNiZjYwMGU3YTkxYmE2OTI1MzExMjg4Y2Q3OWVhYjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKQEAgLTQ5LDYgKzQ5
LDcgQEAgY2xhc3MgUmVtb3RlQXVkaW9TZXNzaW9uUHJveHk7CiBjbGFzcyBSZW1vdGVBdWRpb1Nl
c3Npb25Qcm94eU1hbmFnZXI7CiBjbGFzcyBSZW1vdGVDRE1GYWN0b3J5UHJveHk7CiBjbGFzcyBS
ZW1vdGVMZWdhY3lDRE1GYWN0b3J5UHJveHk7CitjbGFzcyBSZW1vdGVNZWRpYUVuZ2luZUNvbmZp
Z3VyYXRpb25GYWN0b3J5UHJveHk7CiBjbGFzcyBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94
eTsKIGNsYXNzIFJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyOwogY2xhc3MgUmVtb3RlTWVkaWFS
ZXNvdXJjZU1hbmFnZXI7CkBAIC05Myw2ICs5NCw5IEBAIHB1YmxpYzoKICNlbmRpZgogI2lmIEVO
QUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQogICAgIFJlbW90ZUxlZ2FjeUNETUZhY3RvcnlQ
cm94eSYgbGVnYWN5Q2RtRmFjdG9yeVByb3h5KCk7CisjZW5kaWYKKyNpZiBFTkFCTEUoR1BVX1BS
T0NFU1MpCisgICAgUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5JiBt
ZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkoKTsKICNlbmRpZgogICAgIFJlbW90
ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5JiByZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eSgp
OwogCkBAIC0xOTAsNiArMTk0LDkgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZ
UFRFRF9NRURJQSkKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVBy
b3h5PiBtX2xlZ2FjeUNkbUZhY3RvcnlQcm94eTsKICNlbmRpZgorI2lmIEVOQUJMRShHUFVfUFJP
Q0VTUykKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9u
RmFjdG9yeVByb3h5PiBtX21lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eTsKKyNl
bmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9y
eVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2ODQwOGEwODIz
ZTJhODMyNTI4ZTAxYjkwNjlhMmY1NjIyODhmYmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFj
dG9yeVByb3h5LmNwcApAQCAtMCwwICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQ
cm94eS5oIgorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorCisjaW5jbHVkZSA8V2ViQ29yZS9N
ZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFD
YXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhRGVjb2Rp
bmdDb25maWd1cmF0aW9uLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYUVuY29kaW5nQ29uZmln
dXJhdGlvbi5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFj
dG9yeS5oPgorI2luY2x1ZGUgPHd0Zi9BbGdvcml0aG1zLmg+CisKK25hbWVzcGFjZSBXZWJLaXQg
eworCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeVByb3h5OjpSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
UHJveHkoR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgY29ubmVjdGlvbikKKyAgICA6IG1fZ3B1
Q29ubmVjdGlvblRvV2ViUHJvY2Vzcyhjb25uZWN0aW9uKQoreworfQorCitSZW1vdGVNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHk6On5SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3Vy
YXRpb25GYWN0b3J5UHJveHkoKSA9IGRlZmF1bHQ7CisKK3ZvaWQgUmVtb3RlTWVkaWFFbmdpbmVD
b25maWd1cmF0aW9uRmFjdG9yeVByb3h5OjogY3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKFdl
YkNvcmU6Ok1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uJiYgY29uZmlndXJhdGlvbiwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbyYm
KT4mJiBjb21wbGV0aW9uKQoreworICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6
OmNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pLCBbY29t
cGxldGlvbiA9IFdURk1vdmUoY29tcGxldGlvbildIChhdXRvIGluZm8pIG11dGFibGUgeworICAg
ICAgICBjb21wbGV0aW9uKFdURk1vdmUoaW5mbykpOworICAgIH0pOworfQorCit2b2lkIFJlbW90
ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eTo6Y3JlYXRlRW5jb2RpbmdDb25m
aWd1cmF0aW9uKFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uJiYgY29uZmlndXJh
dGlvbiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0Vu
Y29kaW5nSW5mbyYmKT4mJiBjb21wbGV0aW9uKQoreworICAgIE1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3Rvcnk6OmNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3Vy
YXRpb24pLCBbY29tcGxldGlvbiA9IFdURk1vdmUoY29tcGxldGlvbildIChhdXRvIGluZm8pIG11
dGFibGUgeworICAgICAgICBjb21wbGV0aW9uKFdURk1vdmUoaW5mbykpOworICAgIH0pOworfQor
Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5oIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnlQcm94eS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU0NmQ3ODhiNzE2YzZkZTE3MTI1MDgxYjZmOTk4OTFjMDVh
ZjdjMTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5LmgKQEAgLTAsMCArMSw2
NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNT
KQorCisjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5o
IgorI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oPgor
I2luY2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgorCitu
YW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzczsKKwor
Y2xhc3MgUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5IGZpbmFsIDog
cHJpdmF0ZSBJUEM6Ok1lc3NhZ2VSZWNlaXZlciwgcHVibGljIENhbk1ha2VXZWFrUHRyPFJlbW90
ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eT4geworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3RvcnlQcm94eShHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJik7CisgICAgdmlydHVhbCB+
UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5KCk7CisKKyAgICB2b2lk
IGRpZFJlY2VpdmVNZXNzYWdlRnJvbVdlYlByb2Nlc3MoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0
aW9uLCBJUEM6OkRlY29kZXImIGRlY29kZXIpIHsgZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlv
biwgZGVjb2Rlcik7IH0KKworICAgIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGdwdUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MoKSBjb25zdCB7IHJldHVybiBtX2dwdUNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M7IH0KKworcHJpdmF0ZToKKyAgICBmcmllbmQgY2xhc3MgR1BVUHJvY2Vzc0Nvbm5lY3Rp
b247CisgICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNz
YWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFsOworCisgICAgLy8gTWVz
c2FnZXMKKyAgICB2b2lkIGNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihXZWJDb3JlOjpNZWRp
YURlY29kaW5nQ29uZmlndXJhdGlvbiYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6
Ok1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvJiYpPiYmKTsKKyAgICB2b2lkIGNyZWF0ZUVu
Y29kaW5nQ29uZmlndXJhdGlvbihXZWJDb3JlOjpNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYm
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRW5jb2Rp
bmdJbmZvJiYpPiYmKTsKKworICAgIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIG1fZ3B1Q29u
bmVjdGlvblRvV2ViUHJvY2VzczsKK307CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9u
RmFjdG9yeVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5tZXNzYWdlcy5pbgpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmExZTc0NGI5ZWYxYTk4MTBmMzE5MmRiYTYyOWE1M2M5OWU3YWIxCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDMy
IEBACisjIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorIyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyMgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisjIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyMg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisjIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyMgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyMgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisjIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisjIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisjIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyMgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisjaWYgRU5BQkxFKEdQ
VV9QUk9DRVNTKQorCittZXNzYWdlcyAtPiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25G
YWN0b3J5UHJveHkgTm90UmVmQ291bnRlZCB7CisgICAgQ3JlYXRlRGVjb2RpbmdDb25maWd1cmF0
aW9uKHN0cnVjdCBXZWJDb3JlOjpNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiBjb25maWd1cmF0
aW9uKSAtPiAoc3RydWN0IFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvIGRl
Y29kaW5nSW5mbykgQXN5bmMKKyAgICBDcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24oc3RydWN0
IFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24pIC0+IChz
dHJ1Y3QgV2ViQ29yZTo6TWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8gZGVjb2RpbmdJbmZv
KSBBc3luYworfQorCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2Vz
LnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXggNGVhNGFmYmQ2OWYxODBkNzhl
NTliZmFlMzI1YzRlZjY0ZjQ0OTIwNi4uMTczNTIzN2QxZTI4ZjFhOTAwZWVjMzg1MjMyZTFmMzVj
MjZlMTQ5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC0zNyw2ICszNyw3IEBAIEdQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlQ0RNUHJveHkuY3BwCiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETUZhY3Rv
cnlQcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNUHJveHkuY3BwCiBH
UFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETVNlc3Npb25Qcm94eS5jcHAKK0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5LmNwcAog
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5jcHAKIEdQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFSZXNvdXJjZS5jcHAKQEAgLTU4Miw2ICs1ODMsNyBAQCBXZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVNlc3Npb24uY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVMZWdhY3lDRE0uY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVMZWdhY3lD
RE1GYWN0b3J5LmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lv
bi5jcHAKK1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3RvcnkuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFn
ZXIuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1JTUVUeXBlQ2Fj
aGUuY3BwIEBuby11bmlmeQogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJj
ZVByb3h5LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggOGUwZGJjYjg4NTliMjY0YzU2MjNiOTQxMjc2YjI4M2NlZDFjZjM1YS4uNDgw
MmE1MTg5N2ExNGFlNTA1MzllYjE5OTJkYWVmMDYzNWQ1NGJkNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xODAxLDYgKzE4MDEsNyBA
QAogCQlDRDBDNjgzMTIwMUZEMTAxMDBBNTk0MDkgLyogV0tGdWxsU2NyZWVuVmlld0NvbnRyb2xs
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEMEM2
ODJGMjAxRkQxMDEwMEE1OTQwOSAvKiBXS0Z1bGxTY3JlZW5WaWV3Q29udHJvbGxlci5oICovOyB9
OwogCQlDRDE5QTI2RTFBMTNFODM0MDA4RDY1MEUgLyogV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEMTlB
MjZBMUExM0U4MjEwMDhENjUwRSAvKiBXZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oICovOyB9
OwogCQlDRDE5RDJFQTIwNDY0MDZGMDAxNzA3NEEgLyogRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlz
dGljLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDE5
RDJFODIwNDY0MDZGMDAxNzA3NEEgLyogRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0QzRUVGNDYy
NTc5QzI2MTAwNjU2M0JCIC8qIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQ
cm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDRDNFRUY0NDI1NzlDMUQ0MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJ
Q0Q0NTcwRDMyNDQxMTNCNTAwQTNEQ0VCIC8qIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9y
UHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0Q0NTcwRDAyNDQxMDE0QTAwQTNEQ0VCIC8qIEF1ZGlvU2Vzc2lvblJv
dXRpbmdBcmJpdHJhdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQlDRDQ1NzBE
NDI0NDExRDBGMDBBM0RDRUIgLyogQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q0NTcwQ0IyNDQw
RkIyQTAwQTNEQ0VCIC8qIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcCAqLzsgfTsK
IAkJQ0Q0NjYxODMyNDAxMEE2NzAwNDdDQTM1IC8qIFJlbW90ZUNETUluc3RhbmNlU2Vzc2lvbk1l
c3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDRDQ2NjE4MTI0MDEwNTY0MDA0N0NBMzUgLyogUmVtb3RlQ0RNSW5zdGFuY2VTZXNz
aW9uTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKQEAgLTUzMDksNiArNTMxMCwxNCBAQAogCQlD
RDE5QTI2QTFBMTNFODIxMDA4RDY1MEUgLyogV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QxOUQyRTgyMDQ2NDA2RjAwMTcw
NzRBIC8qIEZ1bGxzY3JlZW5Ub3VjaFNlY2hldXJpc3RpYy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGdWxs
c2NyZWVuVG91Y2hTZWNoZXVyaXN0aWMuaDsgcGF0aCA9IGlvcy9mdWxsc2NyZWVuL0Z1bGxzY3Jl
ZW5Ub3VjaFNlY2hldXJpc3RpYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDE5
RDJFOTIwNDY0MDZGMDAxNzA3NEEgLyogRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IEZ1bGxzY3JlZW5Ub3VjaFNlY2hldXJpc3RpYy5jcHA7IHBhdGgg
PSBpb3MvZnVsbHNjcmVlbi9GdWxsc2NyZWVuVG91Y2hTZWNoZXVyaXN0aWMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlDRDNFRUYzMTI1Nzk5NjE4MDA2NTYzQkIgLyogUmVtb3Rl
TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVN
ZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUNEM0VFRjMyMjU3OTk2MTgwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZp
Z3VyYXRpb25GYWN0b3J5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbW90ZU1lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3RvcnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlD
RDNFRUYzMzI1Nzk5NzE3MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9u
RmFjdG9yeVByb3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3RvcnlQcm94eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDNFRUYz
NDI1Nzk5NzE3MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9y
eVByb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3RvcnlQcm94eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEM0VF
RjM1MjU3OTk3OTUwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0
b3J5UHJveHkubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9u
RmFjdG9yeVByb3h5Lm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlD
RDNFRUY0MzI1NzlDMUQ0MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9u
RmFjdG9yeVByb3h5TWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlTWVkaWFFbmdpbmVD
b25maWd1cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQ0QzRUVGNDQyNTc5QzFENDAwNjU2M0JCIC8qIFJlbW90ZU1lZGlhRW5naW5lQ29u
ZmlndXJhdGlvbkZhY3RvcnlQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHlNZXNzYWdlUmVj
ZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDNFRUY0NTI1NzlDMUQ0
MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5TWVz
c2FnZXNSZXBsaWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3RvcnlQcm94eU1lc3NhZ2VzUmVwbGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDRDQ1NzBDQTI0NDBGQjJBMDBBM0RDRUIgLyogQXVkaW9TZXNzaW9uUm91dGluZ0Fy
Yml0cmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3Iu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q0NTcwQ0IyNDQwRkIyQTAwQTNEQ0VC
IC8qIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQ0Q0NTcwRDAyNDQxMDE0QTAwQTNEQ0VCIC8qIEF1ZGlvU2Vzc2lvblJvdXRpbmdB
cmJpdHJhdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXVk
aW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01ODAwLDYgKzU4MDksOCBAQAogCQkJCUNERTU1NEVF
MjQwNTgxQTMwMDhBM0REQiAvKiBSZW1vdGVMZWdhY3lDRE1TZXNzaW9uLmggKi8sCiAJCQkJQ0RF
NTU1MDUyNDA1ODMyNDAwOEEzRERCIC8qIFJlbW90ZUxlZ2FjeUNETVNlc3Npb24ubWVzc2FnZXMu
aW4gKi8sCiAJCQkJQ0RFNTU1MDkyNDA1ODhDQjAwOEEzRERCIC8qIFJlbW90ZUxlZ2FjeUNETVNl
c3Npb25JZGVudGlmaWVyLmggKi8sCisJCQkJQ0QzRUVGMzIyNTc5OTYxODAwNjU2M0JCIC8qIFJl
bW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuY3BwICovLAorCQkJCUNEM0VFRjMx
MjU3OTk2MTgwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
LmggKi8sCiAJCQkJMDdCOTNGRjUyM0FGMENCODAwMzZGOEVBIC8qIFJlbW90ZU1lZGlhUGxheWVy
Q29uZmlndXJhdGlvbi5oICovLAogCQkJCTA3OTIzMTMwMjM5QjNCMEMwMDk1OThFMiAvKiBSZW1v
dGVNZWRpYVBsYXllck1hbmFnZXIuY3BwICovLAogCQkJCTA3OTIzMTM0MjM5QjNCMEMwMDk1OThF
MiAvKiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaCAqLywKQEAgLTU4NjQsNiArNTg3NSw5IEBA
CiAJCQkJQ0RFNTU0RjgyNDA1ODIwODAwOEEzRERCIC8qIFJlbW90ZUxlZ2FjeUNETVNlc3Npb25Q
cm94eS5oICovLAogCQkJCUNERTU1NTAwMjQwNTgyODQwMDhBM0REQiAvKiBSZW1vdGVMZWdhY3lD
RE1TZXNzaW9uUHJveHkubWVzc2FnZXMuaW4gKi8sCiAJCQkJMUQ0RkI0MEMyNTY1Q0JGOTAwMUFD
MkFEIC8qIFJlbW90ZU1lZGlhRGVzY3JpcHRpb24uaCAqLywKKwkJCQlDRDNFRUYzNDI1Nzk5NzE3
MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5LmNw
cCAqLywKKwkJCQlDRDNFRUYzMzI1Nzk5NzE3MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdpbmVD
b25maWd1cmF0aW9uRmFjdG9yeVByb3h5LmggKi8sCisJCQkJQ0QzRUVGMzUyNTc5OTc5NTAwNjU2
M0JCIC8qIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5tZXNzYWdl
cy5pbiAqLywKIAkJCQkwNzI1RUZBRDIzOUIwMjQ1MDBBNTM4QTkgLyogUmVtb3RlTWVkaWFQbGF5
ZXJNYW5hZ2VyUHJveHkuY3BwICovLAogCQkJCTA3MjVFRkFDMjM5QUUzODUwMEE1MzhBOSAvKiBS
ZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5oICovLAogCQkJCTA3MjVFRkFCMjM5QUUzODQw
MEE1MzhBOSAvKiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbiAqLywK
QEAgLTEwNTMxLDYgKzEwNTQ1LDkgQEAKIAkJCQlDREU1NTUzMTI0MDZCODk3MDA4QTNEREIgLyog
UmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQlD
REU1NTUyRjI0MDZCODk3MDA4QTNEREIgLyogUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblByb3h5TWVz
c2FnZXMuaCAqLywKIAkJCQlDREU1NTUyNjI0MDZCODk1MDA4QTNEREIgLyogUmVtb3RlTGVnYWN5
Q0RNU2Vzc2lvblByb3h5TWVzc2FnZXNSZXBsaWVzLmggKi8sCisJCQkJQ0QzRUVGNDQyNTc5QzFE
NDAwNjU2M0JCIC8qIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eU1l
c3NhZ2VSZWNlaXZlci5jcHAgKi8sCisJCQkJQ0QzRUVGNDMyNTc5QzFENDAwNjU2M0JCIC8qIFJl
bW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eU1lc3NhZ2VzLmggKi8sCisJ
CQkJQ0QzRUVGNDUyNTc5QzFENDAwNjU2M0JCIC8qIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3RvcnlQcm94eU1lc3NhZ2VzUmVwbGllcy5oICovLAogCQkJCTA3OTIzMTQ1MjM5Q0JD
QjcwMDk1OThFMiAvKiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZl
ci5jcHAgKi8sCiAJCQkJMDc5MjMxNDYyMzlDQkNCNzAwOTU5OEUyIC8qIFJlbW90ZU1lZGlhUGxh
eWVyTWFuYWdlclByb3h5TWVzc2FnZXMuaCAqLywKIAkJCQkwNzkyMzE0MjIzOUNCQ0I1MDA5NTk4
RTIgLyogUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHlNZXNzYWdlc1JlcGxpZXMuaCAqLywK
QEAgLTEzMzg4LDYgKzEzNDA1LDcgQEAKIAkJCQlDREU1NTUzMzI0MDZFQjhDMDA4QTNEREIgLyog
UmVtb3RlTGVnYWN5Q0RNUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQ0RFNTU1MzQyNDA2RUI4QzAwOEEzRERCIC8qIFJlbW90ZUxlZ2FjeUNETVNlc3Npb25NZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RFNTU1MzUyNDA2RUI4QzAwOEEz
RERCIC8qIFJlbW90ZUxlZ2FjeUNETVNlc3Npb25Qcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlDRDNFRUY0NjI1NzlDMjYxMDA2NTYzQkIgLyogUmVtb3RlTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTA3OTIzMTRCMjM5Q0JDQjgwMDk1OThFMiAvKiBSZW1vdGVNZWRpYVBsYXll
ck1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwNzAx
Nzg5RTIzQkU5Q0ZDMDA1RjBGQUEgLyogUmVtb3RlTWVkaWFQbGF5ZXJNSU1FVHlwZUNhY2hlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTA3MUJDNThGMjNDRTFFQUEwMDY4MEQ3QyAvKiBSZW1vdGVN
ZWRpYVBsYXllclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNw
cAppbmRleCBmMDA1YWQ1YmMzODY4NjRkMDYxODg1MjZhMzQxZTFlYjdhZDM0MDMzLi4xMWZhNzBm
MmNlOWI0MzM1MWU1M2I5YTFmM2Y3M2ZjYTUyOGQ3NGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcApAQCAtMzcsNiAr
MzcsNyBAQAogI2luY2x1ZGUgIlJlbW90ZUNETUZhY3RvcnkuaCIKICNpbmNsdWRlICJSZW1vdGVD
RE1Qcm94eS5oIgogI2luY2x1ZGUgIlJlbW90ZUxlZ2FjeUNETUZhY3RvcnkuaCIKKyNpbmNsdWRl
ICJSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmgiCiAjaW5jbHVkZSAiUmVt
b3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiU2FtcGxlQnVmZmVyRGlzcGxheUxh
eWVyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKQEAgLTEz
MSw2ICsxMzIsMTEgQEAgUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeSYgR1BVUHJvY2Vzc0Nvbm5lY3Rp
b246OmxlZ2FjeUNETUZhY3RvcnkoKQogfQogI2VuZGlmCiAKK1JlbW90ZU1lZGlhRW5naW5lQ29u
ZmlndXJhdGlvbkZhY3RvcnkmIEdQVVByb2Nlc3NDb25uZWN0aW9uOjptZWRpYUVuZ2luZUNvbmZp
Z3VyYXRpb25GYWN0b3J5KCkKK3sKKyAgICByZXR1cm4gKldlYlByb2Nlc3M6OnNpbmdsZXRvbigp
LnN1cHBsZW1lbnQ8UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeT4oKTsKK30K
KwogYm9vbCBHUFVQcm9jZXNzQ29ubmVjdGlvbjo6ZGlzcGF0Y2hNZXNzYWdlKElQQzo6Q29ubmVj
dGlvbiYgY29ubmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZWNvZGVyKQogewogICAgIGlmIChkZWNv
ZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6TWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaAppbmRleCAyYzBkZjViOWY1NDk2
ODQ3ZWQ2NjkxMGJmMmYzOWIyY2RjNjBjYTAyLi42Y2FjZmZiNDQ5ZDk0NmNiMjIzMGUzMDM5OGIz
YTg3YzNjNmU4NjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQ
VVByb2Nlc3NDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9H
UFVQcm9jZXNzQ29ubmVjdGlvbi5oCkBAIC00Myw2ICs0Myw3IEBAIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiBjbGFzcyBSZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlcjsKIGNsYXNzIFJlbW90
ZUNETUZhY3Rvcnk7CitjbGFzcyBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
OwogY2xhc3MgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyOwogY2xhc3MgUmVtb3RlTGVnYWN5Q0RN
RmFjdG9yeTsKIHN0cnVjdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzOwpAQCAtODAsNiArODEs
OCBAQCBwdWJsaWM6CiAgICAgUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeSYgbGVnYWN5Q0RNRmFjdG9y
eSgpOwogI2VuZGlmCiAKKyAgICBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
JiBtZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5KCk7CisKICAgICB2b2lkIHVwZGF0ZVBh
cmFtZXRlcnMoY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYpOwogCiAjaWYgRU5BQkxF
KFZQOSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVt
b3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlci5jcHAKaW5kZXgg
YjhmNDVhNmQ1YmI0ZGI0NjA5ODgwMTI0M2JiNWU5MzE3YjFlM2UyYi4uZTYyMGJjYzMxMzgzMjU0
MWQ0ZDAzN2E3M2YxOWIwYjNjODVlMTdhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVBy
b3ZpZGVyTWFuYWdlci5jcHAKQEAgLTI2LDE0ICsyNiwxNiBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIlJlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyLmgiCiAKKyNpbmNs
dWRlICJHUFVQcm9jZXNzQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNs
dWRlICJSZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiUmVtb3RlQXVkaW9T
b3VyY2VQcm92aWRlck1hbmFnZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlNoYXJlZFJpbmdCdWZm
ZXJTdG9yYWdlLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogCiAjaWYgUExBVEZPUk0oQ09D
T0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykKIAogbmFtZXNwYWNlIFdlYktpdCB7Ci11c2luZyBu
YW1lc3BhY2UgUEFMOwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIFJlbW90ZUF1ZGlvU291
cmNlUHJvdmlkZXJNYW5hZ2VyOjpSZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlcigpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlv
U291cmNlUHJvdmlkZXJNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyLmgKaW5kZXggZTU5ZTFiMDZiNDQ3
ZTVkODBjYTYxMDUyYzZjN2EzMmM0YmExNDJlNi4uNzBlNWRjYjVjZDA0NmVhNjQ0OWUwZmI2N2Zi
MzRiMWMyNjM5ZGNmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIu
aApAQCAtMjcsNiArMjcsOCBAQAogCiAjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVf
UFJPQ0VTUykKIAorI2ltcG9ydCAiQ29ubmVjdGlvbi5oIgorI2ltcG9ydCAiU2hhcmVkTWVtb3J5
LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9DQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uaD4KICNpbmNs
dWRlIDxXZWJDb3JlL0NBUmluZ0J1ZmZlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFQbGF5
ZXJJZGVudGlmaWVyLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuY3BwIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRp
b25GYWN0b3J5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMGI3MGFlN2ExODgxNGI0ZmQ4NjIxZmM0NmY5OTdm
ZGY2MWIxNTk0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmNwcApAQCAtMCww
ICsxLDk1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJl
bW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaCIKKworI2luY2x1ZGUgIkdQVVBy
b2Nlc3NDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeVByb3h5TWVzc2FnZXMuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5j
bHVkZSA8V2ViQ29yZS9NZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaD4KKyNpbmNsdWRlIDxXZWJD
b3JlL01lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9NZWRp
YUVuY29kaW5nQ29uZmlndXJhdGlvbi5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFFbmdpbmVD
b25maWd1cmF0aW9uRmFjdG9yeS5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOworCitSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpS
ZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5KFdlYlByb2Nlc3MmIHByb2Nlc3Mp
CisgICAgOiBtX3Byb2Nlc3MocHJvY2VzcykKK3sKK30KKworUmVtb3RlTWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeTo6flJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnko
KSA9IGRlZmF1bHQ7CisKK3ZvaWQgUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9y
eTo6cmVnaXN0ZXJGYWN0b3J5KCkKK3sKKyAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0
b3J5OjpjbGVhckZhY3RvcmllcygpOworICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnk6Omluc3RhbGxGYWN0b3J5KHsKKyAgICAgICAgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIodGhp
cyldIChNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIE1lZGlhRW5n
aW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkRlY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYg
Y2FsbGJhY2spIHsKKyAgICAgICAgICAgIGlmICghd2Vha1RoaXMpIHsKKyAgICAgICAgICAgICAg
ICBjYWxsYmFjayh7eyB9LCBXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pfSk7CisgICAgICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICB3ZWFrVGhpcy0+Y3JlYXRl
RGVjb2RpbmdDb25maWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbiksIFdURk1vdmUoY2Fs
bGJhY2spKTsKKyAgICAgICAgfSwKKyAgICAgICAgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIodGhp
cyldIChNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIE1lZGlhRW5n
aW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkVuY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYg
Y2FsbGJhY2spIHsKKyAgICAgICAgICAgIGlmICghd2Vha1RoaXMpIHsKKyAgICAgICAgICAgICAg
ICBjYWxsYmFjayh7eyB9LCBXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pfSk7CisgICAgICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICB3ZWFrVGhpcy0+Y3JlYXRl
RW5jb2RpbmdDb25maWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbiksIFdURk1vdmUoY2Fs
bGJhY2spKTsKKyAgICAgICAgfSwKKyAgICB9KTsKK30KKworY29uc3QgY2hhciogUmVtb3RlTWVk
aWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6c3VwcGxlbWVudE5hbWUoKQoreworICAgIHJl
dHVybiAiUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeSI7Cit9CisKK0dQVVBy
b2Nlc3NDb25uZWN0aW9uJiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Ojpn
cHVQcm9jZXNzQ29ubmVjdGlvbigpCit7CisgICAgcmV0dXJuIG1fcHJvY2Vzcy5lbnN1cmVHUFVQ
cm9jZXNzQ29ubmVjdGlvbigpOworfQorCit2b2lkIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3Rvcnk6OmNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihNZWRpYURlY29kaW5nQ29u
ZmlndXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnk6OkRlY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYgY2FsbGJhY2spCit7CisgICAgZ3B1
UHJvY2Vzc0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3Nh
Z2VzOjpSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHk6OkNyZWF0ZURl
Y29kaW5nQ29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pKSwgW2NhbGxiYWNrID0g
V1RGTW92ZShjYWxsYmFjayldIChNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbyYmIGluZm8p
IG11dGFibGUgeworICAgICAgICBjYWxsYmFjayhXVEZNb3ZlKGluZm8pKTsKKyAgICB9KTsKK30K
Kwordm9pZCBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjcmVhdGVFbmNv
ZGluZ0NvbmZpZ3VyYXRpb24oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiBjb25maWd1cmF0
aW9uLCBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpFbmNvZGluZ0NvbmZpZ3VyYXRp
b25DYWxsYmFjayYmIGNhbGxiYWNrKQoreworICAgIGdwdVByb2Nlc3NDb25uZWN0aW9uKCkuY29u
bmVjdGlvbigpLnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6UmVtb3RlTWVkaWFFbmdpbmVD
b25maWd1cmF0aW9uRmFjdG9yeVByb3h5OjpDcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24oV1RG
TW92ZShjb25maWd1cmF0aW9uKSksIFtjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSAoTWVk
aWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8mJiBpbmZvKSBtdXRhYmxlIHsKKyAgICAgICAgY2Fs
bGJhY2soV1RGTW92ZShpbmZvKSk7CisgICAgfSk7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVN
ZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGM1MDVkNTliMWUz
ZjNmMjhiMDdmZDRjNTdlMzMzN2JlZjMyN2MxMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9u
RmFjdG9yeS5oCkBAIC0wLDAgKzEsNzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
I2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKKworI2luY2x1ZGUgIlJlbW90ZUxlZ2FjeUNETUlkZW50
aWZpZXIuaCIKKyNpbmNsdWRlICJSZW1vdGVMZWdhY3lDRE1TZXNzaW9uSWRlbnRpZmllci5oIgor
I2luY2x1ZGUgIldlYlByb2Nlc3NTdXBwbGVtZW50LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9NZWRp
YUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Lmg+CisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
KyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgorCituYW1lc3BhY2UgSVBDIHsKK2NsYXNzIENvbm5l
Y3Rpb247CitjbGFzcyBEZWNvZGVyOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3Mg
R1BVUHJvY2Vzc0Nvbm5lY3Rpb247CitjbGFzcyBXZWJQcm9jZXNzOworCitjbGFzcyBSZW1vdGVN
ZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5IGZpbmFsCisgICAgOiBwdWJsaWMgV2ViUHJv
Y2Vzc1N1cHBsZW1lbnQKKyAgICAsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxSZW1vdGVNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5PiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CitwdWJsaWM6CisgICAgZXhwbGljaXQgUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFj
dG9yeShXZWJQcm9jZXNzJik7CisgICAgdmlydHVhbCB+UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeSgpOworCisgICAgdm9pZCByZWdpc3RlckZhY3RvcnkoKTsKKworICAgIHN0
YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVtZW50TmFtZSgpOworICAgIFdlYlByb2Nlc3MmIHByb2Nl
c3MoKSBjb25zdCB7IHJldHVybiBtX3Byb2Nlc3M7IH0KKworICAgIEdQVVByb2Nlc3NDb25uZWN0
aW9uJiBncHVQcm9jZXNzQ29ubmVjdGlvbigpOworCisgICAgdm9pZCBkaWRSZWNlaXZlU2Vzc2lv
bk1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJik7CisKK3ByaXZhdGU6Cisg
ICAgdm9pZCBjcmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24oV2ViQ29yZTo6TWVkaWFEZWNvZGlu
Z0NvbmZpZ3VyYXRpb24mJiwgV2ViQ29yZTo6TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9y
eTo6RGVjb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2smJik7CisgICAgdm9pZCBjcmVhdGVFbmNv
ZGluZ0NvbmZpZ3VyYXRpb24oV2ViQ29yZTo6TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiwg
V2ViQ29yZTo6TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6RW5jb2RpbmdDb25maWd1
cmF0aW9uQ2FsbGJhY2smJik7CisKKyAgICBXZWJQcm9jZXNzJiBtX3Byb2Nlc3M7Cit9OworCit9
CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IGYy
ZjIyODIyYzdiMjIzZmNhNTlmOTU1NzNkMTFkYzk5YjEwMzQ4MTEuLjViMWJjNWE5ZmE3ZjNiNGQ1
YWVmM2U0NDU1ZmY1YmZiMmE3MjNiYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHAKQEAgLTQ1LDYgKzQ1LDcgQEAKICNpbmNsdWRlICJQcm9jZXNzQXNzZXJ0aW9uLmgi
CiAjaW5jbHVkZSAiUmVtb3RlQXVkaW9TZXNzaW9uLmgiCiAjaW5jbHVkZSAiUmVtb3RlTGVnYWN5
Q0RNRmFjdG9yeS5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZh
Y3RvcnkuaCIKICNpbmNsdWRlICJTdG9yYWdlQXJlYU1hcC5oIgogI2luY2x1ZGUgIlVzZXJEYXRh
LmgiCiAjaW5jbHVkZSAiV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5oIgpAQCAtMTA3LDYgKzEw
OCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9IVE1MTWVkaWFFbGVtZW50Lmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9KU0RPTVdpbmRvdy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTGVnYWN5U2NoZW1lUmVn
aXN0cnkuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01lbW9yeUNhY2hlLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9NZW1vcnlSZWxlYXNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NZXNzYWdlUG9ydC5oPgpAQCAt
MjgyLDYgKzI4NCw4IEBAIFdlYlByb2Nlc3M6OldlYlByb2Nlc3MoKQogICAgIGFkZFN1cHBsZW1l
bnQ8QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I+KCk7CiAjZW5kaWYKIAorICAgIGFkZFN1
cHBsZW1lbnQ8UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeT4oKTsKKwogICAg
IEdpZ2FjYWdlOjpmb3JiaWREaXNhYmxpbmdQcmltaXRpdmVHaWdhY2FnZSgpOwogfQogCkBAIC0x
OTI2LDYgKzE5MzAsMTEgQEAgdm9pZCBXZWJQcm9jZXNzOjpzZXRVc2VHUFVQcm9jZXNzRm9yTWVk
aWEoYm9vbCB1c2VHUFVQcm9jZXNzRm9yTWVkaWEpCiAgICAgZWxzZQogICAgICAgICBMZWdhY3lD
RE06OnJlc2V0RmFjdG9yaWVzKCk7CiAjZW5kaWYKKyAgICAKKyAgICBpZiAodXNlR1BVUHJvY2Vz
c0Zvck1lZGlhKQorICAgICAgICBlbnN1cmVHUFVQcm9jZXNzQ29ubmVjdGlvbigpLm1lZGlhRW5n
aW5lQ29uZmlndXJhdGlvbkZhY3RvcnkoKS5yZWdpc3RlckZhY3RvcnkoKTsKKyAgICBlbHNlCisg
ICAgICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OnJlc2V0RmFjdG9yaWVzKCk7
CiB9CiAKIGJvb2wgV2ViUHJvY2Vzczo6c2hvdWxkVXNlUmVtb3RlUmVuZGVyaW5nRm9yKFJlbmRl
cmluZ1B1cnBvc2UgcHVycG9zZSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415423</attachid>
            <date>2020-12-04 09:36:26 -0800</date>
            <delta_ts>2020-12-04 11:17:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219521-20201204093625.patch</filename>
            <type>text/plain</type>
            <size>77589</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNDIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODY3YjI0ZTg0OTYzNmM3
ZjE2ZjQxZDAwYWE4Y2ZlZGQ0MWFiYjRhNy4uOTFiZTA1MjcwNDBhNmNhYzIyYzBhYjIyM2FiMTZi
ZmVmZTE0Yjk1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDIwLTEyLTAzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFVQXSBNb3ZlIE1lZGlh
Q2FwYWJpbGl0aWVzIGludG8gdGhlIEdQVSBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk1MjEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgZW5jb2RlKCkgYW5kIGRlY29kZSgpIG9wZXJh
dGlvbnMgdG8gYWxsIHN0cnVjdHMgdXNlZCBpbnNpZGUKKyAgICAgICAgTWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeS4gQWRkIHRoZSBhYmlsaXR5IGZvciBjbGllbnRzIHRvIHByb3ZpZGUK
KyAgICAgICAgdGhlaXIgb3duIGZhY3RvcmllcyBmb3IgdXNlIGluIE1lZGlhRW5naW5lQ29uZmln
dXJhdGlvbkZhY3RvcnkuCisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9NZWRp
YUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDYXBh
YmlsaXRpZXNEZWNvZGluZ0luZm86OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbzo6ZGVjb2RlKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9NZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm86OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbzo6ZGVjb2RlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0luZm8uaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
Q2FwYWJpbGl0aWVzSW5mbzo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
Q2FwYWJpbGl0aWVzSW5mbzo6ZGVjb2RlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNhcGFi
aWxpdGllcy9BdWRpb0NvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQ29u
ZmlndXJhdGlvbjo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQ29uZmln
dXJhdGlvbjo6ZGVjb2RlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9D
b2xvckdhbXV0Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvSGRyTWV0
YWRhdGFUeXBlLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFD
YXBhYmlsaXRpZXNMb2dnaW5nLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRp
ZXMvTWVkaWFDb25maWd1cmF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbmZpZ3Vy
YXRpb246OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbmZpZ3VyYXRp
b246OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFE
ZWNvZGluZ0NvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRGVjb2RpbmdD
b25maWd1cmF0aW9uOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFEZWNv
ZGluZ0NvbmZpZ3VyYXRpb246OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBh
YmlsaXRpZXMvTWVkaWFEZWNvZGluZ1R5cGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNh
cGFiaWxpdGllcy9NZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb246OmVuY29kZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbjo6ZGVjb2RlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5nVHlwZS5oOgorICAgICAgICAq
IHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZGVmYXVsdEZhY3Rvcmllcyk6CisgICAgICAgIChX
ZWJDb3JlOjpmYWN0b3JpZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeTo6Y2xlYXJGYWN0b3JpZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6cmVzZXRGYWN0b3JpZXMpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6aW5zdGFsbEZhY3RvcnkpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6aGFzRGVj
b2RpbmdDb25maWd1cmF0aW9uRmFjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpoYXNFbmNvZGluZ0NvbmZpZ3VyYXRpb25GYWN0b3J5KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuZ2luZUNvbmZpZ3Vy
YXRpb25GYWN0b3J5Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvVHJh
bnNmZXJGdW5jdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1Zp
ZGVvQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6VmlkZW9Db25maWd1cmF0aW9u
OjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6VmlkZW9Db25maWd1cmF0aW9uOjpk
ZWNvZGUpOgorCiAyMDIwLTEyLTAzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgog
CiAgICAgICAgIFtDb2NvYV0gQWRvcHQgQVZPdXRwdXREZXZpY2UuYWxsb3dzSGVhZFRyYWNrZWRT
cGF0aWFsQXVkaW8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZDAwODhkMjkwODczMzRiNWQ3Y2E2OWM5MjIwNDYxNjcz
ZDRiODhiNC4uZmUyZGE4ODQ1YjhhOTAzNzA3N2UzZGRhNDdjOWNkZWY0MDFkMWVhYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw0MyBAQAorMjAyMC0xMi0wMyAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFw
cGxlLmNvbT4KKworICAgICAgICBbR1BVUF0gTW92ZSBNZWRpYUNhcGFiaWxpdGllcyBpbnRvIHRo
ZSBHUFUgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE5NTIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIGEgbmV3IHBhaXIgb2YgcHJvY2VzcyBzdXBwbGVtZW50cywgUmVtb3RlTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeSBhbmQgLi5Qcm94eS4KKworICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjptZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25G
YWN0b3J5UHJveHkpOgorICAgICAgICAoV2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
OjpkaXNwYXRjaE1lc3NhZ2UpOgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eTo6UmVtb3RlTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5KToKKyAgICAgICAgKFdlYktpdDo6Y3JlYXRl
RGVjb2RpbmdDb25maWd1cmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5OjpjcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24p
OgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeVByb3h5Lmg6IEFkZGVkLgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5Lm1lc3NhZ2VzLmluOiBBZGRl
ZC4KKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVj
dGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NDb25uZWN0aW9uOjptZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9HUFVQ
cm9jZXNzQ29ubmVjdGlvbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90
ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlci5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnku
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeTo6UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeSk6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OnJlZ2lz
dGVyRmFjdG9yeSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3Rvcnk6OnN1cHBsZW1lbnROYW1lKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVk
aWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6Z3B1UHJvY2Vzc0Nvbm5lY3Rpb24pOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjcmVh
dGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24pOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3RvcnkuaDogQ29waWVkIGZyb20gU291cmNlL1dURi93dGYvQWxnb3JpdGhtcy5oLgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3M6OnNldFVzZUdQVVByb2Nlc3NGb3JNZWRpYSk6CisKIDIwMjAtMTItMDMgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBBZG9wdCBBVk91
dHB1dERldmljZS5hbGxvd3NIZWFkVHJhY2tlZFNwYXRpYWxBdWRpbwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UK
aW5kZXggZDU0NDgzNzhiOTk0MWM0NzE5ODkwNjY1MGEzNTk1NjVlMDYxYWI3NS4uM2RiNmNkNzdl
NjI0NTU5YTE4ZmEwYTk3YzExZDZjYTJjNjQ1NDM0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0x
MDE0LDYgKzEwMTQsOSBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAg
ICAgcGxhdGZvcm0vTG9nZ2luZy5oCiAgICAgcGxhdGZvcm0vTG93UG93ZXJNb2RlTm90aWZpZXIu
aAogICAgIHBsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuaAorICAgIHBsYXRmb3JtL01lZGlhQ2Fw
YWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgKKyAgICBwbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0Vu
Y29kaW5nSW5mby5oCisgICAgcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNJbmZvLmgKICAgICBw
bGF0Zm9ybS9NZWRpYURlc2NyaXB0aW9uLmgKICAgICBwbGF0Zm9ybS9NZWRpYVNhbXBsZS5oCiAg
ICAgcGxhdGZvcm0vTWVkaWFTZWxlY3Rpb25PcHRpb24uaApAQCAtMTMxNSw2ICsxMzE4LDE4IEBA
IHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBwbGF0Zm9ybS9ncmFw
aGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgKICAgICBwbGF0Zm9ybS9ncmFw
aGljcy90cmFuc2Zvcm1zL1RyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5oCiAKKyAgICBwbGF0
Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9BdWRpb0NvbmZpZ3VyYXRpb24uaAorICAgIHBsYXRmb3Jt
L21lZGlhY2FwYWJpbGl0aWVzL0NvbG9yR2FtdXQuaAorICAgIHBsYXRmb3JtL21lZGlhY2FwYWJp
bGl0aWVzL0hkck1ldGFkYXRhVHlwZS5oCisgICAgcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMv
TWVkaWFDb25maWd1cmF0aW9uLmgKKyAgICBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRp
YURlY29kaW5nQ29uZmlndXJhdGlvbi5oCisgICAgcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMv
TWVkaWFEZWNvZGluZ1R5cGUuaAorICAgIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlh
RW5jb2RpbmdDb25maWd1cmF0aW9uLmgKKyAgICBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9N
ZWRpYUVuY29kaW5nVHlwZS5oCisgICAgcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oCisgICAgcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRp
ZXMvVHJhbnNmZXJGdW5jdGlvbi5oCisgICAgcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvVmlk
ZW9Db25maWd1cmF0aW9uLmgKKwogICAgIHBsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNv
cmRlclByaXZhdGUuaAogCiAgICAgcGxhdGZvcm0vbWVkaWFzdHJlYW0vQ2FwdHVyZURldmljZS5o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggNjcyYTE2NjBhNWQ5ZmY4MDEzYjY5YWJiYjZhM2FhYTc4YjliZTFmMS4uYzhlNzZkYWVm
MmJhZmJhYjU3ODgwYzgyMGYzYjViNjhlZTJiYThmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDIzNCw2ICs0MjM0LDE4IEBA
CiAJCUNEM0UyMUREMjE4MzQ0NEEwMEU2NkY1NSAvKiBJbWFnZUJ1ZmZlclV0aWxpdGllc0NHLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDNFMjFEQjIx
ODMzRjUxMDBFNjZGNTUgLyogSW1hZ2VCdWZmZXJVdGlsaXRpZXNDRy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNEM0UyNTFDMTgwNDZCMDYwMEUy
N0Y1NiAvKiBHcmlkQXJlYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0QzRTI1MUIxODA0NkIwNjAwRTI3RjU2IC8qIEdyaWRBcmVhLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0QzRTI1MjQxODA0NkJD
RDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEM0UyNTIyMTgwNDZCQ0QwMEUyN0Y1NiAv
KiBDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmggKi87IH07CisJCUNEM0VFRjM3MjU3OTlFRkUw
MDY1NjNCQiAvKiBNZWRpYUNhcGFiaWxpdGllc0luZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEMEM4QjU4MjE0MUM4Q0EwMDYyRjU5RCAvKiBNZWRp
YUNhcGFiaWxpdGllc0luZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlDRDNFRUYzODI1Nzk5RjczMDA2NTYzQkIgLyogTWVkaWFEZWNvZGluZ0Nv
bmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENEQkQzRDM2MUZFODVDQzAwMDEyQzU0NSAvKiBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlv
bi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNE
M0VFRjM5MjU3OTlGN0YwMDY1NjNCQiAvKiBNZWRpYUNvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQkQzRDM1MUZFODVDQkYwMDEy
QzU0NSAvKiBNZWRpYUNvbmZpZ3VyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQlDRDNFRUYzQTI1Nzk5Rjg4MDA2NTYzQkIgLyogQXVkaW9D
b25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDREJEM0QyQjFGRTg1Q0JCMDAxMkM1NDUgLyogQXVkaW9Db25maWd1cmF0aW9uLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0QzRUVGM0Iy
NTc5OUZBMTAwNjU2M0JCIC8qIFZpZGVvQ29uZmlndXJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RCRDNEMzQxRkU4NUNCRjAwMTJDNTQ1IC8q
IFZpZGVvQ29uZmlndXJhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCUNEM0VFRjNDMjU3OTlGQUIwMDY1NjNCQiAvKiBDb2xvckdhbXV0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDRFNEU5QjIz
NTdDQjlEMDA3ODk1QzMgLyogQ29sb3JHYW11dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCUNEM0VFRjNEMjU3OTlGQjUwMDY1NjNCQiAvKiBIZHJN
ZXRhZGF0YVR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENENEU0RTlDMjM1N0NCOUQwMDc4OTVDMyAvKiBIZHJNZXRhZGF0YVR5cGUuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRDNFRUYzRTI1Nzk5
RkM3MDA2NTYzQkIgLyogTWVkaWFEZWNvZGluZ1R5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQkQzRDM4MUZFODVDQzAwMDEyQzU0NSAvKiBNZWRp
YURlY29kaW5nVHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCUNEM0VFRjNGMjU3OTlGQ0MwMDY1NjNCQiAvKiBNZWRpYUVuY29kaW5nQ29uZmln
dXJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0RCRDNEMzcxRkU4NUNDMDAwMTJDNTQ1IC8qIE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0QzRUVG
NDAyNTc5OUZEMDAwNjU2M0JCIC8qIE1lZGlhRW5jb2RpbmdUeXBlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREJEM0QzRTFGRTg1Q0MzMDAxMkM1NDUg
LyogTWVkaWFFbmNvZGluZ1R5cGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlDRDNFRUY0MTI1Nzk5RkQ5MDA2NTYzQkIgLyogVHJhbnNmZXJGdW5j
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q0
RTRFOUEyMzU3Q0I5QzAwNzg5NUMzIC8qIFRyYW5zZmVyRnVuY3Rpb24uaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRDNFRUY0MjI1NzlCNDRBMDA2
NTYzQkIgLyogTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUFDNkYwMjUyMTE0OEY1NDAwQ0JEQTA2
IC8qIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRDRBQzUyQTE0OTZBRTlBMDA4N0M0RUYg
LyogQ29tcG9zaXRlLndhdiBpbiBDb3B5IEF1ZGlvIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRDRBQzUyODE0OTZBRTJGMDA4N0M0RUYgLyogQ29tcG9zaXRl
LndhdiAqLzsgfTsKIAkJQ0Q1MjA5RTQxQjBCRDgzODAwNzcxODRFIC8qIE1lZGlhUGxheWVyRW51
bXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENTIw
OUUzMUIwQkQ4MzgwMDc3MTg0RSAvKiBNZWRpYVBsYXllckVudW1zLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0Q1MjA5RTYxQjBCRDlFMTAwNzcx
ODRFIC8qIEhUTUxNZWRpYUVsZW1lbnRFbnVtcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1MjA5RTUxQjBCRDlFMTAwNzcxODRFIC8qIEhUTUxNZWRp
YUVsZW1lbnRFbnVtcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CkBAIC00MzI4LDggKzQzNDAsOCBAQAogCQlDREM5MzlBODFFOUJERkIxMDBCQjc2OEQg
LyogVmlkZW9Ub29sYm94U29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENEQzkzOUE2MUU5QkRGQjEwMEJCNzY4RCAvKiBWaWRlb1Rvb2xib3hT
b2Z0TGluay5oICovOyB9OwogCQlDREM5NzlGNTFDNDk4QzA5MDBEQjUwRDQgLyogV2ViQ29yZU5T
RXJyb3JFeHRyYXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENEQzk3OUYzMUM0OThDMDkwMERCNTBENCAvKiBXZWJDb3JlTlNFcnJvckV4dHJhcy5oICov
OyB9OwogCQlDRENBOThFQjE4QjJDOEVCMDBDMTJGRjkgLyogTGVnYWN5Q0RNUHJpdmF0ZU1lZGlh
UGxheWVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENEQ0E5OEVBMThCMkM4RUIwMEMxMkZGOSAvKiBMZWdhY3lDRE1Qcml2YXRlTWVkaWFQbGF5ZXIu
Y3BwICovOyB9OwotCQlDRENDOUJDRjIyMzg3RTlBMDBGRkI1MUMgLyogTWVkaWFDYXBhYmlsaXRp
ZXNEZWNvZGluZ0luZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENEQ0M5QkNFMjIzODdFOUEwMEZGQjUxQyAvKiBNZWRpYUNhcGFiaWxpdGllc0RlY29k
aW5nSW5mby5oICovOyB9OwotCQlDRENDOUJEMTIyMzg3RUFBMDBGRkI1MUMgLyogTWVkaWFDYXBh
YmlsaXRpZXNFbmNvZGluZ0luZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENEQ0M5QkQwMjIzODdFQUEwMEZGQjUxQyAvKiBNZWRpYUNhcGFiaWxpdGll
c0VuY29kaW5nSW5mby5oICovOyB9OworCQlDRENDOUJDRjIyMzg3RTlBMDBGRkI1MUMgLyogTWVk
aWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENEQ0M5QkNFMjIzODdFOUEwMEZGQjUxQyAvKiBNZWRpYUNhcGFi
aWxpdGllc0RlY29kaW5nSW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCUNEQ0M5QkQxMjIzODdFQUEwMEZGQjUxQyAvKiBNZWRpYUNhcGFiaWxp
dGllc0VuY29kaW5nSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0RDQzlCRDAyMjM4N0VBQTAwRkZCNTFDIC8qIE1lZGlhQ2FwYWJpbGl0aWVzRW5j
b2RpbmdJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJQ0RDRDQxRTgxQzNEREIwQTAwOTY1RDk5IC8qIFBhcnNlZENvbnRlbnRSYW5nZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDRDQxRTYxQzNE
REIwOTAwOTY1RDk5IC8qIFBhcnNlZENvbnRlbnRSYW5nZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNEQ0ZBQkJEMThDMEFGNzgwMDZGODQ1MCAv
KiBIaWdobGlnaHREYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDRENGQUJCQjE4QzBBRTMxMDA2Rjg0NTAgLyogSGlnaGxpZ2h0RGF0YS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNERDcwODk3MTgz
NTlGNkYwMDJCM0RDNiAvKiBTYW1wbGVNYXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENERDcwODk1MTgzNTlGNkYwMDJCM0RDNiAvKiBTYW1wbGVNYXAu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMzEw
MjYsNiArMzEwMzgsNyBAQAogCQkJCTgzNzg4NzgyMjREOEE2MDkwMDBENEE1QiAvKiBBdWRpb0J1
ZmZlclNvdXJjZU9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEMzE2MDdDMTJCMDI2Rjcw
MEMxQTM1OSAvKiBBdWRpb0J1cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQzMTYwN0UxMkIwMjZG
NzAwQzFBMzU5IC8qIEF1ZGlvQ2hhbm5lbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0QzRUVGM0Ey
NTc5OUY4ODAwNjU2M0JCIC8qIEF1ZGlvQ29uZmlndXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRkQzMTYwMDUxMkIwMjY3NjAwQzFBMzU5IC8qIEF1ZGlvQ29udGV4dC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRTc4NUQ5NjIyNEI3RjczNTAwMTREQjIxIC8qIEF1ZGlvQ29udGV4dExhdGVuY3lD
YXRlZ29yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTc4NUQ5NjEyNEI3RjczNTAwMTREQjIxIC8q
IEF1ZGlvQ29udGV4dE9wdGlvbnMuaCBpbiBIZWFkZXJzICovLApAQCAtMzEzMTMsNiArMzEzMjYs
NyBAQAogCQkJCUY0OEQyQUE1MjE1OTc0MEQwMEM2NzUyQiAvKiBDb2xvckNvY29hLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk3Q0FDNkFGMDI0N0Y0MTEwMDBFNjFENTkgLyogQ29sb3JDb21wb25lbnRz
LmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzUxNEUwMzI0QUY4MDVFMDA1MDcxMEYgLyogQ29sb3JD
b252ZXJzaW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDNFRUYzQzI1Nzk5RkFCMDA2NTYzQkIg
LyogQ29sb3JHYW11dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzEwM0I3REYxREIwMTU2NzAwOEJC
ODkwIC8qIENvbG9ySGFzaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjU1QjNEQjQxMjUxRjEyRDAw
M0VGMjY5IC8qIENvbG9ySW5wdXRUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTUxNjlFNzIx
RjFCODQ3MDBFQTRGNzggLyogQ29sb3JJT1MuaCBpbiBIZWFkZXJzICovLApAQCAtMzIxMjEsNiAr
MzIxMzUsNyBAQAogCQkJCTI2RUE4OUE3MUI0RjJCNzUwMDhDNUZEMiAvKiBIYXNoYWJsZUFjdGlv
bkxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0ODJCNzQ2MTE5OEMzNTQwMEJGQjAwNSAvKiBI
YXNoQ2hhbmdlRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NzQ4QkUwMTJDQkYyREMwMDFG
QkE0MSAvKiBIYXNoVG9vbHMuaCBpbiBIZWFkZXJzICovLAorCQkJCUNEM0VFRjNEMjU3OTlGQjUw
MDY1NjNCQiAvKiBIZHJNZXRhZGF0YVR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEQTU5NTkz
MjE0NkRFQzMwMEE4NDE4NSAvKiBIRVZDVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlD
REE1OTU5ODIxNDZERjc4MDBBODQxODUgLyogSEVWQ1V0aWxpdGllc0NvY29hLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlGNTVCM0RDMDEyNTFGMTJEMDAzRUYyNjkgLyogSGlkZGVuSW5wdXRUeXBlLmgg
aW4gSGVhZGVycyAqLywKQEAgLTMzNTEwLDExICszMzUyNSwxNSBAQAogCQkJCTkzMUJDQzYxMTEy
NERGQ0IwMEJFNzBERCAvKiBNZWRpYUNhblN0YXJ0TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCUNEQ0M5QkNGMjIzODdFOUEwMEZGQjUxQyAvKiBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5n
SW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RDQzlCRDEyMjM4N0VBQTAwRkZCNTFDIC8qIE1l
ZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDNFRUYz
NzI1Nzk5RUZFMDA2NTYzQkIgLyogTWVkaWFDYXBhYmlsaXRpZXNJbmZvLmggaW4gSGVhZGVycyAq
LywKKwkJCQlDRDNFRUYzOTI1Nzk5RjdGMDA2NTYzQkIgLyogTWVkaWFDb25maWd1cmF0aW9uLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwNzhFMDkzQTE3RDE2RTFDMDA0MjBBQTEgLyogTWVkaWFDb25z
dHJhaW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RGNjVDQzgxNDVCMUU3NTAwQzRDN0FBIC8q
IE1lZGlhQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RGNjVDQ0ExNDVCNDQ4ODAw
QzRDN0FBIC8qIE1lZGlhQ29udHJvbGxlckludGVyZmFjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
Q0RBQjZEMjkxN0M3REU2QzAwQzYwQjM0IC8qIE1lZGlhQ29udHJvbHNIb3N0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQk0MTcyNTNBQjEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sVGV4dFRy
YWNrQ29udGFpbmVyRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0QzRUVGMzgyNTc5OUY3
MzAwNjU2M0JCIC8qIE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLywK
KwkJCQlDRDNFRUYzRTI1Nzk5RkM3MDA2NTYzQkIgLyogTWVkaWFEZWNvZGluZ1R5cGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUNERjJCMDA0MTgxRjA1OUMwMEYyQjQyNCAvKiBNZWRpYURlc2NyaXB0
aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNTE0NUI5MDFCM0ExQ0UwMDA2NjJCRjcgLyogTWVk
aWFEZXZpY2VJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQk1RUE3MjVEMzFBQ0FCRDQ3MDBFQUQx
N0IgLyogTWVkaWFEZXZpY2VzLmggaW4gSGVhZGVycyAqLywKQEAgLTMzNTIyLDkgKzMzNTQxLDEy
IEBACiAJCQkJRkQ2RjI1MkQxM0Y1RUYwRTAwNjUxNjVGIC8qIE1lZGlhRWxlbWVudEF1ZGlvU291
cmNlTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODMwQTFDN0QyNERCNzg4QjAwMkVDQ0FEIC8q
IE1lZGlhRWxlbWVudEF1ZGlvU291cmNlT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdG
RTk5REQxODgwN0E3RDAwMjU2NjQ4IC8qIE1lZGlhRWxlbWVudFNlc3Npb24uaCBpbiBIZWFkZXJz
ICovLAorCQkJCUNEM0VFRjNGMjU3OTlGQ0MwMDY1NjNCQiAvKiBNZWRpYUVuY29kaW5nQ29uZmln
dXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0QzRUVGNDAyNTc5OUZEMDAwNjU2M0JCIC8q
IE1lZGlhRW5jb2RpbmdUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDlCRjcwNjFEQkZCQjI0
MDA3QTdEOTkgLyogTWVkaWFFbmNyeXB0ZWRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ5
QkY3MDgxREJGQkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZlbnRJbml0LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0MUIyOEIxNTFGODUwMUQzMDBGQjUyQUMgLyogTWVkaWFFbmRwb2ludENv
bmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUNEM0VFRjQyMjU3OUI0NEEwMDY1NjNC
QiAvKiBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlDREM0OEFDOTIxNDlDRjJBMDAyNEZENTkgLyogTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFj
dG9yeUNvY29hLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNDQ2MTNBRDBDRDYzMzEwMDBGQURBNzUg
LyogTWVkaWFFcnJvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEUxOTU5MjIwQTM5REFCQTAwMjIw
RkU1IC8qIE1lZGlhRmVhdHVyZU5hbWVzLmggaW4gSGVhZGVycyAqLywKQEAgLTM0OTQ5LDYgKzM0
OTcxLDcgQEAKIAkJCQlCRTkxM0Q4MDE4MUVGOTI0MDBEQ0IwOUUgLyogVHJhY2tQcml2YXRlQmFz
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkZBQzMwRkUxODRGQjE0NTAwOEM0RjFFIC8qIFRyYWls
aW5nT2JqZWN0cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE2MDcxMzIxQkQ4MzA4QjAwREJDNEYy
IC8qIFRyYW5zYWN0aW9uT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDNFRUY0MTI1
Nzk5RkQ5MDA2NTYzQkIgLyogVHJhbnNmZXJGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NDlFOTExQzQwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9ybWF0aW9uTWF0cml4LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlGQjQ4NEY0RDE3MUY4MjFFMDAwNDA3NTUgLyogVHJhbnNmb3JtRnVuY3Rp
b25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5MTFDRTBFRjg2RDQ3MDA5RDBDQUYgLyogVHJh
bnNmb3JtT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTM1MDI4LDYgKzM1MDUxLDcgQEAK
IAkJCQkwRjFBMEMzODIyOUE0ODE4MDBEMzdBREIgLyogVmVsb2NpdHlEYXRhLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlERjRFMzhFMDI1Mjc5NTk1MDAyQTc0ODEgLyogVmVyc2lvbkNoZWNrcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkNBMjU3MTUxMjkzQzAxMDAwN0EyNjNEIC8qIFZlcnRpY2FsUG9z
aXRpb25DYWNoZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0QzRUVGM0IyNTc5OUZBMTAwNjU2M0JC
IC8qIFZpZGVvQ29uZmlndXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTJCMEQ0QzAxQzU3
RkQ2NjAwNzdDRTUzIC8qIFZpZGVvRnVsbHNjcmVlbkNoYW5nZU9ic2VydmVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkzRkJDNEFGNDE4OTg4MTU2MDA0NkVFMzggLyogVmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlQVZLaXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUyQjBENEMyMUM1N0ZGOTEwMDc3Q0U1
MyAvKiBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VNYWMuaCBpbiBIZWFkZXJzICovLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0lu
Zm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJ
bmZvLmgKaW5kZXggODFjZjM3NjA2NjQ2ZWYxM2U3YzkwNGFmY2FlNzI5MDg1MDA5NDg2NS4uMGNk
YzUyZGJiMWE2OWI1YzBmZjYzZDBlNGIxZTQ3NDk2ZTZjM2ZkNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oCkBA
IC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJNZWRpYUNhcGFiaWxpdGllc0luZm8uaCIKICNp
bmNsdWRlICJNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbi5oIgorI2luY2x1ZGUgPHd0Zi9PcHRp
b25hbC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ2LDYgKzQ3LDM2IEBAIHN0cnVj
dCBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbyA6IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyB7
CiAgICAgfQogCiAgICAgTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24gc3VwcG9ydGVkQ29uZmln
dXJhdGlvbjsKKworICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29k
ZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgT3B0aW9uYWw8
TWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8+IGRlY29kZShEZWNvZGVyJik7CiB9OwogCit0
ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgordm9pZCBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5m
bzo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgTWVkaWFDYXBhYmlsaXRp
ZXNJbmZvOjplbmNvZGUoZW5jb2Rlcik7CisgICAgZW5jb2RlciA8PCBzdXBwb3J0ZWRDb25maWd1
cmF0aW9uOwogfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgorT3B0aW9uYWw8TWVkaWFDYXBh
YmlsaXRpZXNEZWNvZGluZ0luZm8+IE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvOjpkZWNv
ZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBPcHRpb25hbDxNZWRpYUNhcGFiaWxpdGllc0lu
Zm8+IGluZm8gPSBNZWRpYUNhcGFiaWxpdGllc0luZm86OmRlY29kZShkZWNvZGVyKTsKKyAgICBk
ZWNvZGVyID4+IGluZm87CisgICAgaWYgKCFpbmZvKQorICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OworCisgICAgT3B0aW9uYWw8TWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24+IHN1cHBvcnRl
ZENvbmZpZ3VyYXRpb247CisgICAgZGVjb2RlciA+PiBzdXBwb3J0ZWRDb25maWd1cmF0aW9uOwor
ICAgIGlmICghc3VwcG9ydGVkQ29uZmlndXJhdGlvbikKKyAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKKworICAgIHJldHVybiBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbygKKyAgICAg
ICAgV1RGTW92ZSgqaW5mbyksCisgICAgICAgIFdURk1vdmUoKnN1cHBvcnRlZENvbmZpZ3VyYXRp
b24pCisgICAgKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaApp
bmRleCA0MmQzODUzY2IzY2Q5NjQ2MDMyNDE3ZjE2MTZhZDY2NWUxZGMxM2E4Li5iM2ExNGJiODcw
ZDNhMjIzOTlhZTYyNTYwODhlODMwYzVhMDViZTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvLmgKQEAgLTI3LDYg
KzI3LDcgQEAKIAogI2luY2x1ZGUgIk1lZGlhQ2FwYWJpbGl0aWVzSW5mby5oIgogI2luY2x1ZGUg
Ik1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmgiCisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDYsNiArNDcsMzUgQEAgc3RydWN0IE1lZGlh
Q2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvIDogTWVkaWFDYXBhYmlsaXRpZXNJbmZvIHsKICAgICB9
CiAKICAgICBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiBzdXBwb3J0ZWRDb25maWd1cmF0aW9u
OworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNv
bnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBPcHRpb25hbDxNZWRpYUNh
cGFiaWxpdGllc0VuY29kaW5nSW5mbz4gZGVjb2RlKERlY29kZXImKTsKIH07CiAKK3RlbXBsYXRl
PGNsYXNzIEVuY29kZXI+Cit2b2lkIE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvOjplbmNv
ZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBNZWRpYUNhcGFiaWxpdGllc0luZm86
OmVuY29kZShlbmNvZGVyKTsKKyAgICBlbmNvZGVyIDw8IHN1cHBvcnRlZENvbmZpZ3VyYXRpb247
CiB9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+CitPcHRpb25hbDxNZWRpYUNhcGFiaWxpdGll
c0VuY29kaW5nSW5mbz4gTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm86OmRlY29kZShEZWNv
ZGVyJiBkZWNvZGVyKQoreworICAgIE9wdGlvbmFsPE1lZGlhQ2FwYWJpbGl0aWVzSW5mbz4gaW5m
byA9IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbzo6ZGVjb2RlKGRlY29kZXIpOworICAgIGlmICghaW5m
bykKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPE1lZGlhRW5j
b2RpbmdDb25maWd1cmF0aW9uPiBzdXBwb3J0ZWRDb25maWd1cmF0aW9uOworICAgIGRlY29kZXIg
Pj4gc3VwcG9ydGVkQ29uZmlndXJhdGlvbjsKKyAgICBpZiAoIXN1cHBvcnRlZENvbmZpZ3VyYXRp
b24pCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICByZXR1cm4gTWVkaWFDYXBh
YmlsaXRpZXNFbmNvZGluZ0luZm8oCisgICAgICAgIFdURk1vdmUoKmluZm8pLAorICAgICAgICBX
VEZNb3ZlKCpzdXBwb3J0ZWRDb25maWd1cmF0aW9uKQorICAgICk7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFD
YXBhYmlsaXRpZXNJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxp
dGllc0luZm8uaAppbmRleCAyZGRlNzg3ZDdiOGFjNmEwMGQxYTZlMzkxZWE1ZWE3MmMwMTQ3ZWQ4
Li4yMzNhYTQ2NGUyMjc4YzFmMWVmOWFkOWI4MjQ0MWY3Y2JhMzZmMDY3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0luZm8uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0luZm8uaApAQCAtMjUsMTIgKzI1
LDUxIEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CisKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAKIHN0cnVjdCBNZWRpYUNhcGFiaWxpdGllc0luZm8gewog
ICAgIGJvb2wgc3VwcG9ydGVkIHsgZmFsc2UgfTsKICAgICBib29sIHNtb290aCB7IGZhbHNlIH07
CiAgICAgYm9vbCBwb3dlckVmZmljaWVudCB7IGZhbHNlIH07CisKKyAgICB0ZW1wbGF0ZTxjbGFz
cyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xh
c3MgRGVjb2Rlcj4gc3RhdGljIE9wdGlvbmFsPE1lZGlhQ2FwYWJpbGl0aWVzSW5mbz4gZGVjb2Rl
KERlY29kZXImKTsKIH07Ci0gICAgCisKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIE1l
ZGlhQ2FwYWJpbGl0aWVzSW5mbzo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7Cisg
ICAgZW5jb2RlciA8PCBzdXBwb3J0ZWQ7CisgICAgZW5jb2RlciA8PCBzbW9vdGg7CisgICAgZW5j
b2RlciA8PCBwb3dlckVmZmljaWVudDsKIH0KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KK09w
dGlvbmFsPE1lZGlhQ2FwYWJpbGl0aWVzSW5mbz4gTWVkaWFDYXBhYmlsaXRpZXNJbmZvOjpkZWNv
ZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBPcHRpb25hbDxib29sPiBzdXBwb3J0ZWQ7Cisg
ICAgZGVjb2RlciA+PiBzdXBwb3J0ZWQ7CisgICAgaWYgKCFzdXBwb3J0ZWQpCisgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxib29sPiBzbW9vdGg7CisgICAgZGVj
b2RlciA+PiBzbW9vdGg7CisgICAgaWYgKCFzbW9vdGgpCisgICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7CisKKyAgICBPcHRpb25hbDxib29sPiBwb3dlckVmZmljaWVudDsKKyAgICBkZWNvZGVy
ID4+IHBvd2VyRWZmaWNpZW50OworICAgIGlmICghcG93ZXJFZmZpY2llbnQpCisgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICByZXR1cm4ge3sKKyAgICAgICAgKnN1cHBvcnRlZCwK
KyAgICAgICAgKnNtb290aCwKKyAgICAgICAgKnBvd2VyRWZmaWNpZW50LAorICAgIH19OworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL0F1ZGlvQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvQXVkaW9Db25maWd1cmF0aW9uLmgKaW5k
ZXggOGZhMTRhNTI0YzA0NWZlZGVjYzNmYTU1NGY0ODA5NmE0OTM0OGFkYi4uNTc2NzljNDI5MmY5
YTAwNTIxODVmNmY5MzllNWZlNTgwOGJiYzhlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvQXVkaW9Db25maWd1cmF0aW9uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvQXVkaW9Db25maWd1cmF0aW9u
LmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlIDx3dGYvT3B0
aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtMzUsNiArMzYsNTYgQEAgc3RydWN0IEF1ZGlvQ29uZmlndXJhdGlvbiB7CiAg
ICAgT3B0aW9uYWw8dWludDY0X3Q+IGJpdHJhdGU7CiAgICAgT3B0aW9uYWw8dWludDMyX3Q+IHNh
bXBsZXJhdGU7CiAgICAgT3B0aW9uYWw8Ym9vbD4gc3BhdGlhbFJlbmRlcmluZzsKKworICAgIHRl
bXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAgICB0
ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgT3B0aW9uYWw8QXVkaW9Db25maWd1cmF0aW9u
PiBkZWNvZGUoRGVjb2RlciYpOwogfTsKIAordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK3ZvaWQg
QXVkaW9Db25maWd1cmF0aW9uOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAg
ICBlbmNvZGVyIDw8IGNvbnRlbnRUeXBlOworICAgIGVuY29kZXIgPDwgY2hhbm5lbHM7CisgICAg
ZW5jb2RlciA8PCBiaXRyYXRlOworICAgIGVuY29kZXIgPDwgc2FtcGxlcmF0ZTsKKyAgICBlbmNv
ZGVyIDw8IHNwYXRpYWxSZW5kZXJpbmc7Cit9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+CitP
cHRpb25hbDxBdWRpb0NvbmZpZ3VyYXRpb24+IEF1ZGlvQ29uZmlndXJhdGlvbjo6ZGVjb2RlKERl
Y29kZXImIGRlY29kZXIpCit7CisgICAgT3B0aW9uYWw8U3RyaW5nPiBjb250ZW50VHlwZTsKKyAg
ICBkZWNvZGVyID4+IGNvbnRlbnRUeXBlOworICAgIGlmICghY29udGVudFR5cGUpCisgICAgICAg
IHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxTdHJpbmc+IGNoYW5uZWxzOwor
ICAgIGRlY29kZXIgPj4gY2hhbm5lbHM7CisgICAgaWYgKCFjaGFubmVscykKKyAgICAgICAgcmV0
dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPE9wdGlvbmFsPHVpbnQ2NF90Pj4gYml0
cmF0ZTsKKyAgICBkZWNvZGVyID4+IGJpdHJhdGU7CisgICAgaWYgKCFiaXRyYXRlKQorICAgICAg
ICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8T3B0aW9uYWw8dWludDMyX3Q+
PiBzYW1wbGVSYXRlOworICAgIGRlY29kZXIgPj4gc2FtcGxlUmF0ZTsKKyAgICBpZiAoIXNhbXBs
ZVJhdGUpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxPcHRp
b25hbDxib29sPj4gc3BhdGlhbFJlbmRlcmluZzsKKyAgICBkZWNvZGVyID4+IHNwYXRpYWxSZW5k
ZXJpbmc7CisgICAgaWYgKCFzcGF0aWFsUmVuZGVyaW5nKQorICAgICAgICByZXR1cm4gV1RGOjpu
dWxsb3B0OworCisgICAgcmV0dXJuIHt7CisgICAgICAgICpjb250ZW50VHlwZSwKKyAgICAgICAg
KmNoYW5uZWxzLAorICAgICAgICAqYml0cmF0ZSwKKyAgICAgICAgKnNhbXBsZVJhdGUsCisgICAg
ICAgICpzcGF0aWFsUmVuZGVyaW5nCisgICAgfX07Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVz
L0NvbG9yR2FtdXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVz
L0NvbG9yR2FtdXQuaAppbmRleCAxODEzZTM1M2RhZTEyNDhkYjVlOGQyYzhjZDY1NjgzMjRiZDMw
Y2QzLi4yOGQwMjQyYzFkNTJjNzJiZjhhNmJmMTUyM2QwODQ0MTk0OGE1MDdjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9Db2xvckdhbXV0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvQ29sb3JHYW11
dC5oCkBAIC0yNywxMCArMjcsMjMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIGNs
YXNzIENvbG9yR2FtdXQgeworZW51bSBjbGFzcyBDb2xvckdhbXV0IDogdWludDhfdCB7CiAgICAg
U1JHQiwKICAgICBQMywKICAgICBSZWMyMDIwLAogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJD
b3JlOjpDb2xvckdhbXV0PiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAg
ICAgV2ViQ29yZTo6Q29sb3JHYW11dCwKKyAgICAgICAgV2ViQ29yZTo6Q29sb3JHYW11dDo6U1JH
QiwKKyAgICAgICAgV2ViQ29yZTo6Q29sb3JHYW11dDo6UDMsCisgICAgICAgIFdlYkNvcmU6OkNv
bG9yR2FtdXQ6OlJlYzIwMjAKKyAgICA+OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvSGRyTWV0YWRhdGFUeXBlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9IZHJNZXRhZGF0YVR5cGUuaApp
bmRleCA2NWMxZDBlZTI5ZDg4NGY5YmU4OWY2OWViNTBkZTNhY2FlODIzMGFlLi4wMjQ5OTgyZjVh
ODg1MjUwYjUyOGU4ZTg0OTdkZjQ5N2ZmOTMxZDBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9IZHJNZXRhZGF0YVR5cGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9IZHJNZXRhZGF0YVR5cGUuaApA
QCAtMjcsMTAgKzI3LDIzIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotZW51bSBjbGFzcyBI
ZHJNZXRhZGF0YVR5cGUgeworZW51bSBjbGFzcyBIZHJNZXRhZGF0YVR5cGUgOiB1aW50OF90IHsK
ICAgICBTbXB0ZVN0MjA4NiwKICAgICBTbXB0ZVN0MjA5NDEwLAogICAgIFNtcHRlU3QyMDk0NDAK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBs
YXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6SGRyTWV0YWRhdGFUeXBlPiB7CisgICAg
dXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6SGRyTWV0YWRhdGFU
eXBlLAorICAgICAgICBXZWJDb3JlOjpIZHJNZXRhZGF0YVR5cGU6OlNtcHRlU3QyMDg2LAorICAg
ICAgICBXZWJDb3JlOjpIZHJNZXRhZGF0YVR5cGU6OlNtcHRlU3QyMDk0MTAsCisgICAgICAgIFdl
YkNvcmU6Okhkck1ldGFkYXRhVHlwZTo6U21wdGVTdDIwOTQ0MAorICAgID47Cit9OworCit9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRp
YUNhcGFiaWxpdGllc0xvZ2dpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2Fw
YWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oCmluZGV4IDhhYjdlMjc2NDFjMWI2
Mjg4MmE0ODlkMTE0ZjhjMTcyOTRlN2Y5OTkuLjJjZWI2ZjY2ZjhjODVjODc0ZjgyZTlkMTY5NmVj
YWM4ZjYwNDljMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2Fw
YWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oCkBA
IC0zOCwxMSArMzgsMTEgQEAgc3RydWN0IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbzsKIHN0cnVjdCBN
ZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbzsKIHN0cnVjdCBNZWRpYUNhcGFiaWxpdGllc0Vu
Y29kaW5nSW5mbzsKIAotZW51bSBjbGFzcyBDb2xvckdhbXV0OwotZW51bSBjbGFzcyBIZHJNZXRh
ZGF0YVR5cGU7Ci1lbnVtIGNsYXNzIFRyYW5zZmVyRnVuY3Rpb247Ci1lbnVtIGNsYXNzIE1lZGlh
RGVjb2RpbmdUeXBlOwotZW51bSBjbGFzcyBNZWRpYUVuY29kaW5nVHlwZTsKK2VudW0gY2xhc3Mg
Q29sb3JHYW11dCA6IHVpbnQ4X3Q7CitlbnVtIGNsYXNzIEhkck1ldGFkYXRhVHlwZSA6IHVpbnQ4
X3Q7CitlbnVtIGNsYXNzIFRyYW5zZmVyRnVuY3Rpb24gOiB1aW50OF90OworZW51bSBjbGFzcyBN
ZWRpYURlY29kaW5nVHlwZSA6IGJvb2w7CitlbnVtIGNsYXNzIE1lZGlhRW5jb2RpbmdUeXBlIDog
Ym9vbDsKIAogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNh
cGFiaWxpdGllcy9NZWRpYUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ29uZmlndXJhdGlvbi5oCmluZGV4IGQwMWFkNmU5MzI0
MTJjYTFiNTdjNDMwNjVjNmYyMjYwM2I4ZTBkNGMuLmMwODY4ZTRhYjlkNGUwOThhYmM1MTkwNDdm
MWY1NmJhZjM1NDQ4ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
Y2FwYWJpbGl0aWVzL01lZGlhQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ29uZmlndXJhdGlvbi5oCkBAIC0zNCw2ICsz
NCwzNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdHJ1Y3QgTWVkaWFDb25maWd1cmF0aW9uIHsK
ICAgICBPcHRpb25hbDxWaWRlb0NvbmZpZ3VyYXRpb24+IHZpZGVvOwogICAgIE9wdGlvbmFsPEF1
ZGlvQ29uZmlndXJhdGlvbj4gYXVkaW87CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2
b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4g
c3RhdGljIE9wdGlvbmFsPE1lZGlhQ29uZmlndXJhdGlvbj4gZGVjb2RlKERlY29kZXImKTsKIH07
CiAKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIE1lZGlhQ29uZmlndXJhdGlvbjo6ZW5j
b2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCB2aWRlbzsKKyAg
ICBlbmNvZGVyIDw8IGF1ZGlvOwogfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgorT3B0aW9u
YWw8TWVkaWFDb25maWd1cmF0aW9uPiBNZWRpYUNvbmZpZ3VyYXRpb246OmRlY29kZShEZWNvZGVy
JiBkZWNvZGVyKQoreworICAgIE9wdGlvbmFsPE9wdGlvbmFsPFZpZGVvQ29uZmlndXJhdGlvbj4+
IHZpZGVvOworICAgIGRlY29kZXIgPj4gdmlkZW87CisgICAgaWYgKCF2aWRlbykKKyAgICAgICAg
cmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPE9wdGlvbmFsPEF1ZGlvQ29uZmln
dXJhdGlvbj4+IGF1ZGlvOworICAgIGRlY29kZXIgPj4gYXVkaW87CisgICAgaWYgKCFhdWRpbykK
KyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIHJldHVybiB7eworICAgICAgICAq
dmlkZW8sCisgICAgICAgICphdWRpbywKKyAgICB9fTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxp
dGllcy9NZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24uaAppbmRleCA1
NWMwNDUxODIyNzA5M2JlOWUzYjU3ZmRlZWNhZTMxMzYyZGViYzQ2Li4zODA5MjJmMjA5NTczYWMx
NjlhZjJkZmYzMTFhZTVhMDY4OWMxMWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbi5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdD
b25maWd1cmF0aW9uLmgKQEAgLTMyLDYgKzMyLDM1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
c3RydWN0IE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uIDogTWVkaWFDb25maWd1cmF0aW9uIHsK
ICAgICBNZWRpYURlY29kaW5nVHlwZSB0eXBlOworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rl
cj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29k
ZXI+IHN0YXRpYyBPcHRpb25hbDxNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbj4gZGVjb2RlKERl
Y29kZXImKTsKIH07CiAKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIE1lZGlhRGVjb2Rp
bmdDb25maWd1cmF0aW9uOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBN
ZWRpYUNvbmZpZ3VyYXRpb246OmVuY29kZShlbmNvZGVyKTsKKyAgICBlbmNvZGVyIDw8IHR5cGU7
CiB9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+CitPcHRpb25hbDxNZWRpYURlY29kaW5nQ29u
ZmlndXJhdGlvbj4gTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb246OmRlY29kZShEZWNvZGVyJiBk
ZWNvZGVyKQoreworICAgIE9wdGlvbmFsPE1lZGlhQ29uZmlndXJhdGlvbj4gbWVkaWFDb25maWd1
cmF0aW9uID0gTWVkaWFDb25maWd1cmF0aW9uOjpkZWNvZGUoZGVjb2Rlcik7CisgICAgaWYgKCFt
ZWRpYUNvbmZpZ3VyYXRpb24pCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBP
cHRpb25hbDxNZWRpYURlY29kaW5nVHlwZT4gdHlwZTsKKyAgICBkZWNvZGVyID4+IHR5cGU7Cisg
ICAgaWYgKCF0eXBlKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgcmV0dXJu
IHt7CisgICAgICAgICptZWRpYUNvbmZpZ3VyYXRpb24sCisgICAgICAgICp0eXBlLAorICAgIH19
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdUeXBlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5nVHlwZS5o
CmluZGV4IDg5MGU3Zjg0ZDk4NzI0YzAyNGFjNWNmMDI4ZDIxZTYzN2U3MjgzZjEuLjQxNWUwYjcy
MDllYTUwZTE1OTZiMmE4YmQyZjJhMzkyODM2MTg4YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdUeXBlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ1R5
cGUuaApAQCAtMjcsOSArMjcsMjEgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIGNs
YXNzIE1lZGlhRGVjb2RpbmdUeXBlIHsKK2VudW0gY2xhc3MgTWVkaWFEZWNvZGluZ1R5cGUgOiBi
b29sIHsKICAgICBGaWxlLAogICAgIE1lZGlhU291cmNlLAogfTsKIAogfQorCituYW1lc3BhY2Ug
V1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpNZWRpYURlY29k
aW5nVHlwZT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNv
cmU6Ok1lZGlhRGVjb2RpbmdUeXBlLAorICAgICAgICBXZWJDb3JlOjpNZWRpYURlY29kaW5nVHlw
ZTo6RmlsZSwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFEZWNvZGluZ1R5cGU6Ok1lZGlhU291cmNl
CisgICAgPjsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5nQ29uZmlndXJhdGlv
bi5oCmluZGV4IDcyOWIzYTFiZWE3YjIzOWVmYzE0NzRkNzRlNjUxMTMzNjNhMzM4MWQuLmYwOGNh
MWU4ODcxYTMwYjRiODE1NGJjZmM5ZmU1NDM1ZjJiYTQ3ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdDb25maWd1cmF0
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVk
aWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaApAQCAtMzIsNiArMzIsMzUgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBzdHJ1Y3QgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24gOiBNZWRpYUNvbmZp
Z3VyYXRpb24gewogICAgIE1lZGlhRW5jb2RpbmdUeXBlIHR5cGU7CisKKyAgICB0ZW1wbGF0ZTxj
bGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8
Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIE9wdGlvbmFsPE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9u
PiBkZWNvZGUoRGVjb2RlciYpOwogfTsKIAordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK3ZvaWQg
TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb246OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25z
dAoreworICAgIE1lZGlhQ29uZmlndXJhdGlvbjo6ZW5jb2RlKGVuY29kZXIpOworICAgIGVuY29k
ZXIgPDwgdHlwZTsKIH0KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KK09wdGlvbmFsPE1lZGlh
RW5jb2RpbmdDb25maWd1cmF0aW9uPiBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbjo6ZGVjb2Rl
KERlY29kZXImIGRlY29kZXIpCit7CisgICAgT3B0aW9uYWw8TWVkaWFDb25maWd1cmF0aW9uPiBt
ZWRpYUNvbmZpZ3VyYXRpb24gPSBNZWRpYUNvbmZpZ3VyYXRpb246OmRlY29kZShkZWNvZGVyKTsK
KyAgICBpZiAoIW1lZGlhQ29uZmlndXJhdGlvbikKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9w
dDsKKworICAgIE9wdGlvbmFsPE1lZGlhRW5jb2RpbmdUeXBlPiB0eXBlOworICAgIGRlY29kZXIg
Pj4gdHlwZTsKKyAgICBpZiAoIXR5cGUpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisK
KyAgICByZXR1cm4ge3sKKyAgICAgICAgKm1lZGlhQ29uZmlndXJhdGlvbiwKKyAgICAgICAgKnR5
cGUsCisgICAgfX07Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ1R5
cGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5j
b2RpbmdUeXBlLmgKaW5kZXggYTg3ZDBmMjU4MTRkMTYwNDFmNDljODAwZjZiY2FkN2JkOWUzODRk
OC4uMDEyYThjNmQ1Mzk2N2Q5YjRlZGMyMjIzYWU0OTAwNTMxZjVmMWZkNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ1R5
cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRp
YUVuY29kaW5nVHlwZS5oCkBAIC0yNyw5ICsyNywyMiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWVudW0gY2xhc3MgTWVkaWFFbmNvZGluZ1R5cGUgeworZW51bSBjbGFzcyBNZWRpYUVuY29k
aW5nVHlwZSA6IGJvb2wgewogICAgIFJlY29yZCwKICAgICBUcmFuc21pc3Npb24sCiB9OwogCiB9
CisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNv
cmU6Ok1lZGlhRW5jb2RpbmdUeXBlPiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwK
KyAgICAgICAgV2ViQ29yZTo6TWVkaWFFbmNvZGluZ1R5cGUsCisgICAgICAgIFdlYkNvcmU6Ok1l
ZGlhRW5jb2RpbmdUeXBlOjpSZWNvcmQsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdU
eXBlOjpUcmFuc21pc3Npb24KKyAgICA+OworfTsKKworfQorCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRp
b25GYWN0b3J5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVz
L01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuY3BwCmluZGV4IDhmZmE2YTljYzVkZjk0
OTA2NDdhNWZlNDlkNjI5MjIwZDA0ZjYzZDYuLjA1MGNkZjlmYzUzMjAyZDgxMDBiZWY3MzIzMzc1
OWI2NzRiYzc4YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2Fw
YWJpbGl0aWVzL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3RvcnkuY3BwCkBAIC01MywzMyArNTMsNDggQEAgc3RhdGljIGJvb2wmIG1vY2tFbmFi
bGVkKCkKICAgICByZXR1cm4gZW5hYmxlZDsKIH0KIAotc3RydWN0IE1lZGlhRW5naW5lRmFjdG9y
eSB7Ci0gICAgdm9pZCgqY3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKShNZWRpYURlY29kaW5n
Q29uZmlndXJhdGlvbiYmLCBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpEZWNvZGlu
Z0NvbmZpZ3VyYXRpb25DYWxsYmFjayYmKTsKLSAgICB2b2lkKCpjcmVhdGVFbmNvZGluZ0NvbmZp
Z3VyYXRpb24pKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uJiYsIE1lZGlhRW5naW5lQ29uZmln
dXJhdGlvbkZhY3Rvcnk6OkVuY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYpOwotfTsKLQot
dXNpbmcgRmFjdG9yeVZlY3RvciA9IFZlY3RvcjxNZWRpYUVuZ2luZUZhY3Rvcnk+Owotc3RhdGlj
IGNvbnN0IEZhY3RvcnlWZWN0b3ImIGZhY3RvcmllcygpCit1c2luZyBGYWN0b3J5VmVjdG9yID0g
VmVjdG9yPE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6Ok1lZGlhRW5naW5lRmFjdG9y
eT47CitzdGF0aWMgRmFjdG9yeVZlY3RvciBkZWZhdWx0RmFjdG9yaWVzKCkKIHsKLSAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8RmFjdG9yeVZlY3Rvcj4gZmFjdG9yaWVzID0gbWFrZU5ldmVyRGVz
dHJveWVkKEZhY3RvcnlWZWN0b3IoeworICAgIEZhY3RvcnlWZWN0b3IgZmFjdG9yaWVzOwogI2lm
IFBMQVRGT1JNKENPQ09BKQotICAgICAgICB7ICZjcmVhdGVNZWRpYVBsYXllckRlY29kaW5nQ29u
ZmlndXJhdGlvbkNvY29hLCBudWxscHRyIH0sCisgICAgZmFjdG9yaWVzLmFwcGVuZCh7ICZjcmVh
dGVNZWRpYVBsYXllckRlY29kaW5nQ29uZmlndXJhdGlvbkNvY29hLCBudWxscHRyIH0pOwogI2Vu
ZGlmCiAjaWYgVVNFKEdTVFJFQU1FUikKLSAgICAgICAgeyAmY3JlYXRlTWVkaWFQbGF5ZXJEZWNv
ZGluZ0NvbmZpZ3VyYXRpb25HU3RyZWFtZXIsICZjcmVhdGVNZWRpYVBsYXllckVuY29kaW5nQ29u
ZmlndXJhdGlvbkdTdHJlYW1lciB9LAorICAgIGZhY3Rvcmllcy5hcHBlbmQoeyAmY3JlYXRlTWVk
aWFQbGF5ZXJEZWNvZGluZ0NvbmZpZ3VyYXRpb25HU3RyZWFtZXIsICZjcmVhdGVNZWRpYVBsYXll
ckVuY29kaW5nQ29uZmlndXJhdGlvbkdTdHJlYW1lciB9KTsKICNlbmRpZgotICAgIH0pKTsKICAg
ICByZXR1cm4gZmFjdG9yaWVzOwogfQogCitzdGF0aWMgRmFjdG9yeVZlY3RvciYgZmFjdG9yaWVz
KCkKK3sKKyAgICBzdGF0aWMgYXV0byBmYWN0b3JpZXMgPSBtYWtlTmV2ZXJEZXN0cm95ZWQ8RmFj
dG9yeVZlY3Rvcj4oZGVmYXVsdEZhY3RvcmllcygpKTsKKyAgICByZXR1cm4gZmFjdG9yaWVzOwor
fQorCit2b2lkIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OmNsZWFyRmFjdG9yaWVz
KCkKK3sKKyAgICBmYWN0b3JpZXMoKS5jbGVhcigpOworfQorCit2b2lkIE1lZGlhRW5naW5lQ29u
ZmlndXJhdGlvbkZhY3Rvcnk6OnJlc2V0RmFjdG9yaWVzKCkKK3sKKyAgICBmYWN0b3JpZXMoKSA9
IGRlZmF1bHRGYWN0b3JpZXMoKTsKK30KKwordm9pZCBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25G
YWN0b3J5OjppbnN0YWxsRmFjdG9yeShNZWRpYUVuZ2luZUZhY3RvcnkmJiBmYWN0b3J5KQorewor
ICAgIGZhY3RvcmllcygpLmFwcGVuZChXVEZNb3ZlKGZhY3RvcnkpKTsKK30KKwogYm9vbCBNZWRp
YUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpoYXNEZWNvZGluZ0NvbmZpZ3VyYXRpb25GYWN0
b3J5KCkKIHsKLSAgICByZXR1cm4gbW9ja0VuYWJsZWQoKSB8fCBXVEY6OmFueU9mKGZhY3Rvcmll
cygpLCBbXSAoYXV0byYgZmFjdG9yeSkgeyByZXR1cm4gZmFjdG9yeS5jcmVhdGVEZWNvZGluZ0Nv
bmZpZ3VyYXRpb247IH0pOworICAgIHJldHVybiBtb2NrRW5hYmxlZCgpIHx8IFdURjo6YW55T2Yo
ZmFjdG9yaWVzKCksIFtdIChhdXRvJiBmYWN0b3J5KSB7IHJldHVybiAoYm9vbClmYWN0b3J5LmNy
ZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbjsgfSk7CiB9CiAKIGJvb2wgTWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeTo6aGFzRW5jb2RpbmdDb25maWd1cmF0aW9uRmFjdG9yeSgpCiB7Ci0g
ICAgcmV0dXJuIG1vY2tFbmFibGVkKCkgfHwgV1RGOjphbnlPZihmYWN0b3JpZXMoKSwgW10gKGF1
dG8mIGZhY3RvcnkpIHsgcmV0dXJuIGZhY3RvcnkuY3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9u
OyB9KTsKKyAgICByZXR1cm4gbW9ja0VuYWJsZWQoKSB8fCBXVEY6OmFueU9mKGZhY3Rvcmllcygp
LCBbXSAoYXV0byYgZmFjdG9yeSkgeyByZXR1cm4gKGJvb2wpZmFjdG9yeS5jcmVhdGVFbmNvZGlu
Z0NvbmZpZ3VyYXRpb247IH0pOwogfQogCiB2b2lkIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZh
Y3Rvcnk6OmNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihNZWRpYURlY29kaW5nQ29uZmlndXJh
dGlvbiYmIGNvbmZpZywgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6RGVjb2RpbmdD
b25maWd1cmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZh
Y3RvcnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaAppbmRleCAxOTc3OTNiMWM5NGFlZWQ1ZmNjYjJi
MzZhOWQyMWJjZjMyNDI0MjczLi4zMTg1OWQxOWY0YTYxN2E3NGNkOTU0Y2YxMjc1YWNiZjkzZWM0
OTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGll
cy9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9y
eS5oCkBAIC00NCw5ICs0NCwyMSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgaGFzRGVjb2Rp
bmdDb25maWd1cmF0aW9uRmFjdG9yeSgpOwogICAgIHN0YXRpYyBib29sIGhhc0VuY29kaW5nQ29u
ZmlndXJhdGlvbkZhY3RvcnkoKTsKIAotICAgIHN0YXRpYyB2b2lkIGNyZWF0ZURlY29kaW5nQ29u
ZmlndXJhdGlvbihNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiYmLCBEZWNvZGluZ0NvbmZpZ3Vy
YXRpb25DYWxsYmFjayYmKTsKLSAgICBzdGF0aWMgdm9pZCBjcmVhdGVFbmNvZGluZ0NvbmZpZ3Vy
YXRpb24oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiwgRW5jb2RpbmdDb25maWd1cmF0aW9u
Q2FsbGJhY2smJik7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgY3JlYXRlRGVjb2Rp
bmdDb25maWd1cmF0aW9uKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uJiYsIERlY29kaW5nQ29u
ZmlndXJhdGlvbkNhbGxiYWNrJiYpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGNy
ZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbihNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYmLCBF
bmNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayYmKTsKKyAgICAKKyAgICB1c2luZyBDcmVhdGVE
ZWNvZGluZ0NvbmZpZ3VyYXRpb24gPSBXVEY6OkZ1bmN0aW9uPHZvaWQoTWVkaWFEZWNvZGluZ0Nv
bmZpZ3VyYXRpb24mJiwgRGVjb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2smJik+OworICAgIHVz
aW5nIENyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbiA9IFdURjo6RnVuY3Rpb248dm9pZChNZWRp
YUVuY29kaW5nQ29uZmlndXJhdGlvbiYmLCBFbmNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayYm
KT47CiAKKyAgICBzdHJ1Y3QgTWVkaWFFbmdpbmVGYWN0b3J5IHsKKyAgICAgICAgQ3JlYXRlRGVj
b2RpbmdDb25maWd1cmF0aW9uIGNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbjsKKyAgICAgICAg
Q3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uIGNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbjsK
KyAgICB9OworICAgIAorICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGNsZWFyRmFjdG9y
aWVzKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgcmVzZXRGYWN0b3JpZXMoKTsK
KyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBpbnN0YWxsRmFjdG9yeShNZWRpYUVuZ2lu
ZUZhY3RvcnkmJik7CisgICAgCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgZW5hYmxl
TW9jaygpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGRpc2FibGVNb2NrKCk7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMv
VHJhbnNmZXJGdW5jdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmls
aXRpZXMvVHJhbnNmZXJGdW5jdGlvbi5oCmluZGV4IGIxNDViM2FiYmQ5ZmNjNTE4ZTM4NmZmNDE5
YjZkMmJlZjk3ZjNmNDYuLjVkM2UxN2RhOTcyODQ5N2E4NzRlYzUxMmFhYmY5ODYyNGU4Mzg0Mjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1Ry
YW5zZmVyRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFi
aWxpdGllcy9UcmFuc2ZlckZ1bmN0aW9uLmgKQEAgLTI3LDEwICsyNywyMyBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWVudW0gY2xhc3MgVHJhbnNmZXJGdW5jdGlvbiB7CitlbnVtIGNsYXNz
IFRyYW5zZmVyRnVuY3Rpb24gOiB1aW50OF90IHsKICAgICBTUkdCLAogICAgIFBRLAogICAgIEhM
RwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVt
cGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpUcmFuc2ZlckZ1bmN0aW9uPiB7Cisg
ICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6VHJhbnNmZXJG
dW5jdGlvbiwKKyAgICAgICAgV2ViQ29yZTo6VHJhbnNmZXJGdW5jdGlvbjo6U1JHQiwKKyAgICAg
ICAgV2ViQ29yZTo6VHJhbnNmZXJGdW5jdGlvbjo6UFEsCisgICAgICAgIFdlYkNvcmU6OlRyYW5z
ZmVyRnVuY3Rpb246OkhMRworICAgID47Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29uZmlndXJhdGlv
bi5oCmluZGV4IGNkOWRjYTNjNjcwNTAwN2YyYjllODY5Y2UwZDVlY2ZmNWVjMmU4MDUuLjQzMjY2
ZGY1YjY2M2Y1ZDBkZTFhZjdhMWNiYWIyODQ0OGYwZDQ5Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29uZmlndXJhdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29uZmln
dXJhdGlvbi5oCkBAIC00Myw2ICs0Myw4NSBAQCBzdHJ1Y3QgVmlkZW9Db25maWd1cmF0aW9uIHsK
ICAgICBPcHRpb25hbDxDb2xvckdhbXV0PiBjb2xvckdhbXV0OwogICAgIE9wdGlvbmFsPEhkck1l
dGFkYXRhVHlwZT4gaGRyTWV0YWRhdGFUeXBlOwogICAgIE9wdGlvbmFsPFRyYW5zZmVyRnVuY3Rp
b24+IHRyYW5zZmVyRnVuY3Rpb247CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lk
IGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3Rh
dGljIE9wdGlvbmFsPFZpZGVvQ29uZmlndXJhdGlvbj4gZGVjb2RlKERlY29kZXImKTsKIH07CiAK
K3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIFZpZGVvQ29uZmlndXJhdGlvbjo6ZW5jb2Rl
KEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCBjb250ZW50VHlwZTsK
KyAgICBlbmNvZGVyIDw8IHdpZHRoOworICAgIGVuY29kZXIgPDwgaGVpZ2h0OworICAgIGVuY29k
ZXIgPDwgYml0cmF0ZTsKKyAgICBlbmNvZGVyIDw8IGZyYW1lcmF0ZTsKKyAgICBlbmNvZGVyIDw8
IGFscGhhQ2hhbm5lbDsKKyAgICBlbmNvZGVyIDw8IGNvbG9yR2FtdXQ7CisgICAgZW5jb2RlciA8
PCBoZHJNZXRhZGF0YVR5cGU7CisgICAgZW5jb2RlciA8PCB0cmFuc2ZlckZ1bmN0aW9uOworfQor
Cit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgorT3B0aW9uYWw8VmlkZW9Db25maWd1cmF0aW9uPiBW
aWRlb0NvbmZpZ3VyYXRpb246OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIE9wdGlv
bmFsPFN0cmluZz4gY29udGVudFR5cGU7CisgICAgZGVjb2RlciA+PiBjb250ZW50VHlwZTsKKyAg
ICBpZiAoIWNvbnRlbnRUeXBlKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAg
T3B0aW9uYWw8dWludDMyX3Q+IHdpZHRoOworICAgIGRlY29kZXIgPj4gd2lkdGg7CisgICAgaWYg
KCF3aWR0aCkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPHVp
bnQzMl90PiBoZWlnaHQ7CisgICAgZGVjb2RlciA+PiBoZWlnaHQ7CisgICAgaWYgKCFoZWlnaHQp
CisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDx1aW50NjRfdD4g
Yml0cmF0ZTsKKyAgICBkZWNvZGVyID4+IGJpdHJhdGU7CisgICAgaWYgKCFiaXRyYXRlKQorICAg
ICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8ZG91YmxlPiBmcmFtZXJh
dGU7CisgICAgZGVjb2RlciA+PiBmcmFtZXJhdGU7CisgICAgaWYgKCFmcmFtZXJhdGUpCisgICAg
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxPcHRpb25hbDxib29sPj4g
YWxwaGFDaGFubmVsOworICAgIGRlY29kZXIgPj4gYWxwaGFDaGFubmVsOworICAgIGlmICghYWxw
aGFDaGFubmVsKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8
T3B0aW9uYWw8Q29sb3JHYW11dD4+IGNvbG9yR2FtdXQ7CisgICAgZGVjb2RlciA+PiBjb2xvckdh
bXV0OworICAgIGlmICghY29sb3JHYW11dCkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsK
KworICAgIE9wdGlvbmFsPE9wdGlvbmFsPEhkck1ldGFkYXRhVHlwZT4+IGhkck1ldGFkYXRhVHlw
ZTsKKyAgICBkZWNvZGVyID4+IGhkck1ldGFkYXRhVHlwZTsKKyAgICBpZiAoIWhkck1ldGFkYXRh
VHlwZSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPE9wdGlv
bmFsPFRyYW5zZmVyRnVuY3Rpb24+PiB0cmFuc2ZlckZ1bmN0aW9uOworICAgIGRlY29kZXIgPj4g
dHJhbnNmZXJGdW5jdGlvbjsKKyAgICBpZiAoIXRyYW5zZmVyRnVuY3Rpb24pCisgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CisKKworICAgIHJldHVybiB7eworICAgICAgICAqY29udGVudFR5
cGUsCisgICAgICAgICp3aWR0aCwKKyAgICAgICAgKmhlaWdodCwKKyAgICAgICAgKmJpdHJhdGUs
CisgICAgICAgICpmcmFtZXJhdGUsCisgICAgICAgICphbHBoYUNoYW5uZWwsCisgICAgICAgICpj
b2xvckdhbXV0LAorICAgICAgICAqaGRyTWV0YWRhdGFUeXBlLAorICAgICAgICAqdHJhbnNmZXJG
dW5jdGlvbiwKKyAgICB9fTsKIH0KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0
cy50eHQKaW5kZXggODhlMTUxYjEyMjI0ZmViY2M4OTNiNTNkNjg1ZTNlYzFiMDEwY2Q0NS4uN2Fm
NjE1YjE1N2FiZTM3NjMyMzA3MWQxNzIwNzQ1ZGQ2ZTExNmY2NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0
CkBAIC0xMzUsNiArMTM1LDcgQEAgc2V0KFdlYktpdF9NRVNTQUdFU19JTl9GSUxFUwogICAgIEdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5CiAgICAgR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1Qcm94eQogICAgIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TGVnYWN5Q0RNU2Vzc2lvblByb3h5CisgICAgR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkKICAgICBHUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5CiAgICAgR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRp
YVBsYXllclByb3h5CiAgICAgR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFu
YWdlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2Zp
bGVsaXN0IGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0Cmlu
ZGV4IGU1MWNhZWQyMWUxODZjZjJhMTczY2I4YTMzMzEyYmUwYjMwNGJiMDAuLjI2N2NkZDI5NDNl
MTQ2ZjA1Y2M4ZTdjMzEwMjIzOWRiZjZiZTNiNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
RGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2
ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTMzLDYgKzMzLDcgQEAgJChQUk9KRUNUX0RJ
UikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVDRE1Qcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNU
X0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1GYWN0b3J5UHJveHkubWVzc2Fn
ZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNUHJv
eHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVn
YWN5Q0RNU2Vzc2lvblByb3h5Lm1lc3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5tZXNzYWdl
cy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1h
bmFnZXJQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLm1lc3NhZ2VzLmluCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCBlODhiMmMy
MWZhNzE3Yzc3ZDIzMDJjYjUxOGJhNGFkM2VkZTI1NzRhLi42MGQ0NDMwMjZmMzZkNDkzYWNiNjI3
OWQ4ZjdhMGMzMWVhMmI0NjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3Vy
Y2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMt
b3V0cHV0LnhjZmlsZWxpc3QKQEAgLTE5Myw2ICsxOTMsOSBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uTWVzc2FnZXNS
ZXBsaQogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3Rl
TGVnYWN5Q0RNU2Vzc2lvblByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblByb3h5
TWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIv
UmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblByb3h5TWVzc2FnZXNSZXBsaWVzLmgKKyQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhRW5naW5lQ29uZmln
dXJhdGlvbkZhY3RvcnlQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3RvcnlQcm94eU1lc3NhZ2VzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eU1l
c3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVBsYXllck1h
bmFnZXJNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJNZXNzYWdlc1JlcGxpZXMuaApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYktpdC9EZXJp
dmVkU291cmNlcy5tYWtlCmluZGV4IDY4MTQ4NTVmZjlkMjNhZjBhNzdlNWZkYTZkZmQyZmQ1NTA5
NzZmNjkuLjM1OGY3NGJiZDMyNTE2NGQyOTU3NjIwMTI3ZTRhNjAyZDkyZDdhNTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTI0Niw2ICsyNDYsNyBAQCBNRVNTQUdFX1JFQ0VJVkVS
UyA9IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETUZhY3RvcnlQcm94eSBcCiAJR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZUxlZ2FjeUNETVByb3h5IFwKKwlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3RvcnlQcm94eSBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRp
YVBsYXllck1hbmFnZXJQcm94eSBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXll
clByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmNwcAppbmRleCA2YThjYTJmOTk1ODc3YzI4MWQ0Nzg5MDMzYTM0MzY1NzljZDM2YzY5
Li4wYzI2MTY4NjU3YWE4YzQ3MzM5MTk5NGVlZjAyMzcyYzZjODkyN2JmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3Bw
CkBAIC0xMDIsNiArMTAyLDExIEBACiAjaW5jbHVkZSAiUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblBy
b3h5TWVzc2FnZXMuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorI2luY2x1
ZGUgIlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5oIgorI2luY2x1
ZGUgIlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eU1lc3NhZ2VzLmgi
CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IApAQCAtMzM5LDYgKzM0NCwxNSBAQCBSZW1vdGVMZWdhY3lDRE1GYWN0b3J5UHJveHkmIEdQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmxlZ2FjeUNkbUZhY3RvcnlQcm94eSgpCiB9CiAjZW5kaWYK
IAorI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKK1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3RvcnlQcm94eSYgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6bWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeVByb3h5KCkKK3sKKyAgICBpZiAoIW1fbWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeVByb3h5KQorICAgICAgICBtX21lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZh
Y3RvcnlQcm94eSA9IG1ha2VVbmlxdWU8UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFj
dG9yeVByb3h5PigqdGhpcyk7CisgICAgcmV0dXJuICptX21lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3RvcnlQcm94eTsKK30KKyNlbmRpZgorCiBib29sIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OmRpc3BhdGNoTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQzo6RGVj
b2RlciYgZGVjb2RlcikKIHsKICNpZiBFTkFCTEUoV0VCX0FVRElPKQpAQCAtNDE0LDYgKzQyOCwx
MCBAQCBib29sIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpc3BhdGNoTWVzc2FnZShJUEM6
OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9
CiAjZW5kaWYKKyAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2Fn
ZXM6OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eTo6bWVzc2FnZVJl
Y2VpdmVyTmFtZSgpKSB7CisgICAgICAgIG1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQ
cm94eSgpLmRpZFJlY2VpdmVNZXNzYWdlRnJvbVdlYlByb2Nlc3MoY29ubmVjdGlvbiwgZGVjb2Rl
cik7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KIAogICAgIHJldHVybiBtZXNzYWdlUmVj
ZWl2ZXJNYXAoKS5kaXNwYXRjaE1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mu
aAppbmRleCAwZDcwOWRmNWU1MTVhMjE4MGMwOGZjNjIwZGRkYWQ0Y2M2ZGU4ZDJmLi5lMzNmNzM4
MTNiZjYwMGU3YTkxYmE2OTI1MzExMjg4Y2Q3OWVhYjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKQEAgLTQ5LDYgKzQ5
LDcgQEAgY2xhc3MgUmVtb3RlQXVkaW9TZXNzaW9uUHJveHk7CiBjbGFzcyBSZW1vdGVBdWRpb1Nl
c3Npb25Qcm94eU1hbmFnZXI7CiBjbGFzcyBSZW1vdGVDRE1GYWN0b3J5UHJveHk7CiBjbGFzcyBS
ZW1vdGVMZWdhY3lDRE1GYWN0b3J5UHJveHk7CitjbGFzcyBSZW1vdGVNZWRpYUVuZ2luZUNvbmZp
Z3VyYXRpb25GYWN0b3J5UHJveHk7CiBjbGFzcyBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94
eTsKIGNsYXNzIFJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyOwogY2xhc3MgUmVtb3RlTWVkaWFS
ZXNvdXJjZU1hbmFnZXI7CkBAIC05Myw2ICs5NCw5IEBAIHB1YmxpYzoKICNlbmRpZgogI2lmIEVO
QUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQogICAgIFJlbW90ZUxlZ2FjeUNETUZhY3RvcnlQ
cm94eSYgbGVnYWN5Q2RtRmFjdG9yeVByb3h5KCk7CisjZW5kaWYKKyNpZiBFTkFCTEUoR1BVX1BS
T0NFU1MpCisgICAgUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5JiBt
ZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkoKTsKICNlbmRpZgogICAgIFJlbW90
ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5JiByZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eSgp
OwogCkBAIC0xOTAsNiArMTk0LDkgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZ
UFRFRF9NRURJQSkKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVBy
b3h5PiBtX2xlZ2FjeUNkbUZhY3RvcnlQcm94eTsKICNlbmRpZgorI2lmIEVOQUJMRShHUFVfUFJP
Q0VTUykKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9u
RmFjdG9yeVByb3h5PiBtX21lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eTsKKyNl
bmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9y
eVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2ODQwOGEwODIz
ZTJhODMyNTI4ZTAxYjkwNjlhMmY1NjIyODhmYmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFj
dG9yeVByb3h5LmNwcApAQCAtMCwwICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQ
cm94eS5oIgorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorCisjaW5jbHVkZSA8V2ViQ29yZS9N
ZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFD
YXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhRGVjb2Rp
bmdDb25maWd1cmF0aW9uLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYUVuY29kaW5nQ29uZmln
dXJhdGlvbi5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFj
dG9yeS5oPgorI2luY2x1ZGUgPHd0Zi9BbGdvcml0aG1zLmg+CisKK25hbWVzcGFjZSBXZWJLaXQg
eworCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeVByb3h5OjpSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
UHJveHkoR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgY29ubmVjdGlvbikKKyAgICA6IG1fZ3B1
Q29ubmVjdGlvblRvV2ViUHJvY2Vzcyhjb25uZWN0aW9uKQoreworfQorCitSZW1vdGVNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHk6On5SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3Vy
YXRpb25GYWN0b3J5UHJveHkoKSA9IGRlZmF1bHQ7CisKK3ZvaWQgUmVtb3RlTWVkaWFFbmdpbmVD
b25maWd1cmF0aW9uRmFjdG9yeVByb3h5OjogY3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKFdl
YkNvcmU6Ok1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uJiYgY29uZmlndXJhdGlvbiwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbyYm
KT4mJiBjb21wbGV0aW9uKQoreworICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6
OmNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pLCBbY29t
cGxldGlvbiA9IFdURk1vdmUoY29tcGxldGlvbildIChhdXRvIGluZm8pIG11dGFibGUgeworICAg
ICAgICBjb21wbGV0aW9uKFdURk1vdmUoaW5mbykpOworICAgIH0pOworfQorCit2b2lkIFJlbW90
ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eTo6Y3JlYXRlRW5jb2RpbmdDb25m
aWd1cmF0aW9uKFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uJiYgY29uZmlndXJh
dGlvbiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0Vu
Y29kaW5nSW5mbyYmKT4mJiBjb21wbGV0aW9uKQoreworICAgIE1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3Rvcnk6OmNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3Vy
YXRpb24pLCBbY29tcGxldGlvbiA9IFdURk1vdmUoY29tcGxldGlvbildIChhdXRvIGluZm8pIG11
dGFibGUgeworICAgICAgICBjb21wbGV0aW9uKFdURk1vdmUoaW5mbykpOworICAgIH0pOworfQor
Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5oIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnlQcm94eS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU0NmQ3ODhiNzE2YzZkZTE3MTI1MDgxYjZmOTk4OTFjMDVh
ZjdjMTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5LmgKQEAgLTAsMCArMSw2
NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNT
KQorCisjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5o
IgorI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oPgor
I2luY2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgorCitu
YW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzczsKKwor
Y2xhc3MgUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5IGZpbmFsIDog
cHJpdmF0ZSBJUEM6Ok1lc3NhZ2VSZWNlaXZlciwgcHVibGljIENhbk1ha2VXZWFrUHRyPFJlbW90
ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eT4geworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3RvcnlQcm94eShHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJik7CisgICAgdmlydHVhbCB+
UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5KCk7CisKKyAgICB2b2lk
IGRpZFJlY2VpdmVNZXNzYWdlRnJvbVdlYlByb2Nlc3MoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0
aW9uLCBJUEM6OkRlY29kZXImIGRlY29kZXIpIHsgZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlv
biwgZGVjb2Rlcik7IH0KKworICAgIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGdwdUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MoKSBjb25zdCB7IHJldHVybiBtX2dwdUNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M7IH0KKworcHJpdmF0ZToKKyAgICBmcmllbmQgY2xhc3MgR1BVUHJvY2Vzc0Nvbm5lY3Rp
b247CisgICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNz
YWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFsOworCisgICAgLy8gTWVz
c2FnZXMKKyAgICB2b2lkIGNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihXZWJDb3JlOjpNZWRp
YURlY29kaW5nQ29uZmlndXJhdGlvbiYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6
Ok1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvJiYpPiYmKTsKKyAgICB2b2lkIGNyZWF0ZUVu
Y29kaW5nQ29uZmlndXJhdGlvbihXZWJDb3JlOjpNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYm
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRW5jb2Rp
bmdJbmZvJiYpPiYmKTsKKworICAgIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIG1fZ3B1Q29u
bmVjdGlvblRvV2ViUHJvY2VzczsKK307CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9u
RmFjdG9yeVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5tZXNzYWdlcy5pbgpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmExZTc0NGI5ZWYxYTk4MTBmMzE5MmRiYTYyOWE1M2M5OWU3YWIxCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDMy
IEBACisjIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorIyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyMgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisjIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyMg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisjIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyMgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyMgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisjIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisjIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisjIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyMgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisjaWYgRU5BQkxFKEdQ
VV9QUk9DRVNTKQorCittZXNzYWdlcyAtPiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25G
YWN0b3J5UHJveHkgTm90UmVmQ291bnRlZCB7CisgICAgQ3JlYXRlRGVjb2RpbmdDb25maWd1cmF0
aW9uKHN0cnVjdCBXZWJDb3JlOjpNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiBjb25maWd1cmF0
aW9uKSAtPiAoc3RydWN0IFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvIGRl
Y29kaW5nSW5mbykgQXN5bmMKKyAgICBDcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24oc3RydWN0
IFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24pIC0+IChz
dHJ1Y3QgV2ViQ29yZTo6TWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8gZGVjb2RpbmdJbmZv
KSBBc3luYworfQorCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwCmluZGV4IGFmN2JlNTEyZWFj
MmQxYWU2NTRhZTA5Y2I1MmQ5NGIzOWIyYzYwNzcuLjQ5OWJkNjFjMmY3ODIyMjNmYTM4ZmM5N2Ix
ODJmYTZkMmI5MzgxZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNp
ZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAKICNpbmNsdWRl
ICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eS5oIgogI2luY2x1ZGUgIlJlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlcy5oIgog
I2luY2x1ZGUgIlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9D
b250ZW50VHlwZS5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBiL1Nv
dXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXggNGVhNGFmYmQ2OWYxODBkNzhlNTliZmFlMzI1
YzRlZjY0ZjQ0OTIwNi4uMTczNTIzN2QxZTI4ZjFhOTAwZWVjMzg1MjMyZTFmMzVjMjZlMTQ5OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0
L1NvdXJjZXMudHh0CkBAIC0zNyw2ICszNyw3IEBAIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQ0RN
UHJveHkuY3BwCiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETUZhY3RvcnlQcm94eS5j
cHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNUHJveHkuY3BwCiBHUFVQcm9jZXNz
L21lZGlhL1JlbW90ZUxlZ2FjeUNETVNlc3Npb25Qcm94eS5jcHAKK0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5LmNwcAogR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVk
aWFSZXNvdXJjZS5jcHAKQEAgLTU4Miw2ICs1ODMsNyBAQCBXZWJQcm9jZXNzL0dQVS9tZWRpYS9S
ZW1vdGVDRE1JbnN0YW5jZVNlc3Npb24uY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVM
ZWdhY3lDRE0uY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVMZWdhY3lDRE1GYWN0b3J5
LmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbi5jcHAKK1dl
YlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnku
Y3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuY3BwCiBX
ZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUuY3BwIEBu
by11bmlmeQogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZVByb3h5LmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggOGUwZGJjYjg4NTliMjY0YzU2MjNiOTQxMjc2YjI4M2NlZDFjZjM1YS4uNDgwMmE1MTg5N2Ex
NGFlNTA1MzllYjE5OTJkYWVmMDYzNWQ1NGJkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xODAxLDYgKzE4MDEsNyBAQAogCQlDRDBD
NjgzMTIwMUZEMTAxMDBBNTk0MDkgLyogV0tGdWxsU2NyZWVuVmlld0NvbnRyb2xsZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEMEM2ODJGMjAxRkQx
MDEwMEE1OTQwOSAvKiBXS0Z1bGxTY3JlZW5WaWV3Q29udHJvbGxlci5oICovOyB9OwogCQlDRDE5
QTI2RTFBMTNFODM0MDA4RDY1MEUgLyogV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEMTlBMjZBMUExM0U4
MjEwMDhENjUwRSAvKiBXZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oICovOyB9OwogCQlDRDE5
RDJFQTIwNDY0MDZGMDAxNzA3NEEgLyogRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDE5RDJFODIwNDY0
MDZGMDAxNzA3NEEgLyogRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0QzRUVGNDYyNTc5QzI2MTAw
NjU2M0JCIC8qIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDRDNFRUY0NDI1NzlDMUQ0MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJQ0Q0NTcwRDMy
NDQxMTNCNTAwQTNEQ0VCIC8qIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yUHJveHlNZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQ0Q0NTcwRDAyNDQxMDE0QTAwQTNEQ0VCIC8qIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJp
dHJhdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQlDRDQ1NzBENDI0NDExRDBG
MDBBM0RDRUIgLyogQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q0NTcwQ0IyNDQwRkIyQTAwQTNE
Q0VCIC8qIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcCAqLzsgfTsKIAkJQ0Q0NjYx
ODMyNDAxMEE2NzAwNDdDQTM1IC8qIFJlbW90ZUNETUluc3RhbmNlU2Vzc2lvbk1lc3NhZ2VSZWNl
aXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
RDQ2NjE4MTI0MDEwNTY0MDA0N0NBMzUgLyogUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uTWVzc2Fn
ZVJlY2VpdmVyLmNwcCAqLzsgfTsKQEAgLTUzMDksNiArNTMxMCwxNCBAQAogCQlDRDE5QTI2QTFB
MTNFODIxMDA4RDY1MEUgLyogV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QxOUQyRTgyMDQ2NDA2RjAwMTcwNzRBIC8qIEZ1
bGxzY3JlZW5Ub3VjaFNlY2hldXJpc3RpYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGdWxsc2NyZWVuVG91
Y2hTZWNoZXVyaXN0aWMuaDsgcGF0aCA9IGlvcy9mdWxsc2NyZWVuL0Z1bGxzY3JlZW5Ub3VjaFNl
Y2hldXJpc3RpYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDE5RDJFOTIwNDY0
MDZGMDAxNzA3NEEgLyogRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbmFtZSA9IEZ1bGxzY3JlZW5Ub3VjaFNlY2hldXJpc3RpYy5jcHA7IHBhdGggPSBpb3MvZnVs
bHNjcmVlbi9GdWxsc2NyZWVuVG91Y2hTZWNoZXVyaXN0aWMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlDRDNFRUYzMTI1Nzk5NjE4MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVNZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNE
M0VFRjMyMjU3OTk2MTgwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25G
YWN0b3J5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3RvcnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDNFRUYzMzI1
Nzk5NzE3MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVBy
b3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnlQcm94eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDNFRUYzNDI1Nzk5NzE3
MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnlQcm94eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEM0VFRjM1MjU3OTk3
OTUwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHku
bWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVBy
b3h5Lm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDNFRUY0MzI1
NzlDMUQ0MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVBy
b3h5TWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeVByb3h5TWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
Q0QzRUVGNDQyNTc5QzFENDAwNjU2M0JCIC8qIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3RvcnlQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW1v
dGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHlNZXNzYWdlUmVjZWl2ZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDNFRUY0NTI1NzlDMUQ0MDA2NTYzQkIg
LyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZXNSZXBs
aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnlQcm94eU1lc3NhZ2VzUmVwbGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
RDQ1NzBDQTI0NDBGQjJBMDBBM0RDRUIgLyogQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3Iu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q0NTcwQ0IyNDQwRkIyQTAwQTNEQ0VCIC8qIEF1ZGlv
U2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF1ZGlvU2Vz
c2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
Q0Q0NTcwRDAyNDQxMDE0QTAwQTNEQ0VCIC8qIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9y
UHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXVkaW9TZXNzaW9u
Um91dGluZ0FyYml0cmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC01ODAwLDYgKzU4MDksOCBAQAogCQkJCUNERTU1NEVFMjQwNTgxQTMw
MDhBM0REQiAvKiBSZW1vdGVMZWdhY3lDRE1TZXNzaW9uLmggKi8sCiAJCQkJQ0RFNTU1MDUyNDA1
ODMyNDAwOEEzRERCIC8qIFJlbW90ZUxlZ2FjeUNETVNlc3Npb24ubWVzc2FnZXMuaW4gKi8sCiAJ
CQkJQ0RFNTU1MDkyNDA1ODhDQjAwOEEzRERCIC8qIFJlbW90ZUxlZ2FjeUNETVNlc3Npb25JZGVu
dGlmaWVyLmggKi8sCisJCQkJQ0QzRUVGMzIyNTc5OTYxODAwNjU2M0JCIC8qIFJlbW90ZU1lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuY3BwICovLAorCQkJCUNEM0VFRjMxMjU3OTk2MTgw
MDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmggKi8sCiAJ
CQkJMDdCOTNGRjUyM0FGMENCODAwMzZGOEVBIC8qIFJlbW90ZU1lZGlhUGxheWVyQ29uZmlndXJh
dGlvbi5oICovLAogCQkJCTA3OTIzMTMwMjM5QjNCMEMwMDk1OThFMiAvKiBSZW1vdGVNZWRpYVBs
YXllck1hbmFnZXIuY3BwICovLAogCQkJCTA3OTIzMTM0MjM5QjNCMEMwMDk1OThFMiAvKiBSZW1v
dGVNZWRpYVBsYXllck1hbmFnZXIuaCAqLywKQEAgLTU4NjQsNiArNTg3NSw5IEBACiAJCQkJQ0RF
NTU0RjgyNDA1ODIwODAwOEEzRERCIC8qIFJlbW90ZUxlZ2FjeUNETVNlc3Npb25Qcm94eS5oICov
LAogCQkJCUNERTU1NTAwMjQwNTgyODQwMDhBM0REQiAvKiBSZW1vdGVMZWdhY3lDRE1TZXNzaW9u
UHJveHkubWVzc2FnZXMuaW4gKi8sCiAJCQkJMUQ0RkI0MEMyNTY1Q0JGOTAwMUFDMkFEIC8qIFJl
bW90ZU1lZGlhRGVzY3JpcHRpb24uaCAqLywKKwkJCQlDRDNFRUYzNDI1Nzk5NzE3MDA2NTYzQkIg
LyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5LmNwcCAqLywKKwkJ
CQlDRDNFRUYzMzI1Nzk5NzE3MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeVByb3h5LmggKi8sCisJCQkJQ0QzRUVGMzUyNTc5OTc5NTAwNjU2M0JCIC8qIFJl
bW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5tZXNzYWdlcy5pbiAqLywK
IAkJCQkwNzI1RUZBRDIzOUIwMjQ1MDBBNTM4QTkgLyogUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2Vy
UHJveHkuY3BwICovLAogCQkJCTA3MjVFRkFDMjM5QUUzODUwMEE1MzhBOSAvKiBSZW1vdGVNZWRp
YVBsYXllck1hbmFnZXJQcm94eS5oICovLAogCQkJCTA3MjVFRkFCMjM5QUUzODQwMEE1MzhBOSAv
KiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbiAqLywKQEAgLTEwNTMx
LDYgKzEwNTQ1LDkgQEAKIAkJCQlDREU1NTUzMTI0MDZCODk3MDA4QTNEREIgLyogUmVtb3RlTGVn
YWN5Q0RNU2Vzc2lvblByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQlDREU1NTUyRjI0
MDZCODk3MDA4QTNEREIgLyogUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblByb3h5TWVzc2FnZXMuaCAq
LywKIAkJCQlDREU1NTUyNjI0MDZCODk1MDA4QTNEREIgLyogUmVtb3RlTGVnYWN5Q0RNU2Vzc2lv
blByb3h5TWVzc2FnZXNSZXBsaWVzLmggKi8sCisJCQkJQ0QzRUVGNDQyNTc5QzFENDAwNjU2M0JC
IC8qIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eU1lc3NhZ2VSZWNl
aXZlci5jcHAgKi8sCisJCQkJQ0QzRUVGNDMyNTc5QzFENDAwNjU2M0JCIC8qIFJlbW90ZU1lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eU1lc3NhZ2VzLmggKi8sCisJCQkJQ0QzRUVG
NDUyNTc5QzFENDAwNjU2M0JCIC8qIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnlQcm94eU1lc3NhZ2VzUmVwbGllcy5oICovLAogCQkJCTA3OTIzMTQ1MjM5Q0JDQjcwMDk1OThF
MiAvKiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8s
CiAJCQkJMDc5MjMxNDYyMzlDQkNCNzAwOTU5OEUyIC8qIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdl
clByb3h5TWVzc2FnZXMuaCAqLywKIAkJCQkwNzkyMzE0MjIzOUNCQ0I1MDA5NTk4RTIgLyogUmVt
b3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHlNZXNzYWdlc1JlcGxpZXMuaCAqLywKQEAgLTEzMzg4
LDYgKzEzNDA1LDcgQEAKIAkJCQlDREU1NTUzMzI0MDZFQjhDMDA4QTNEREIgLyogUmVtb3RlTGVn
YWN5Q0RNUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RFNTU1
MzQyNDA2RUI4QzAwOEEzRERCIC8qIFJlbW90ZUxlZ2FjeUNETVNlc3Npb25NZXNzYWdlUmVjZWl2
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RFNTU1MzUyNDA2RUI4QzAwOEEzRERCIC8qIFJl
bW90ZUxlZ2FjeUNETVNlc3Npb25Qcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlDRDNFRUY0NjI1NzlDMjYxMDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTA3OTIzMTRCMjM5Q0JDQjgwMDk1OThFMiAvKiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQ
cm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwNzAxNzg5RTIzQkU5
Q0ZDMDA1RjBGQUEgLyogUmVtb3RlTWVkaWFQbGF5ZXJNSU1FVHlwZUNhY2hlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTA3MUJDNThGMjNDRTFFQUEwMDY4MEQ3QyAvKiBSZW1vdGVNZWRpYVBsYXll
clByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcAppbmRleCBm
MDA1YWQ1YmMzODY4NjRkMDYxODg1MjZhMzQxZTFlYjdhZDM0MDMzLi4xMWZhNzBmMmNlOWI0MzM1
MWU1M2I5YTFmM2Y3M2ZjYTUyOGQ3NGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcApAQCAtMzcsNiArMzcsNyBAQAog
I2luY2x1ZGUgIlJlbW90ZUNETUZhY3RvcnkuaCIKICNpbmNsdWRlICJSZW1vdGVDRE1Qcm94eS5o
IgogI2luY2x1ZGUgIlJlbW90ZUxlZ2FjeUNETUZhY3RvcnkuaCIKKyNpbmNsdWRlICJSZW1vdGVN
ZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmgiCiAjaW5jbHVkZSAiUmVtb3RlTWVkaWFQ
bGF5ZXJNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWVzc2Fn
ZXMuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKQEAgLTEzMSw2ICsxMzIs
MTEgQEAgUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeSYgR1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmxlZ2Fj
eUNETUZhY3RvcnkoKQogfQogI2VuZGlmCiAKK1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3RvcnkmIEdQVVByb2Nlc3NDb25uZWN0aW9uOjptZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25G
YWN0b3J5KCkKK3sKKyAgICByZXR1cm4gKldlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnN1cHBsZW1l
bnQ8UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeT4oKTsKK30KKwogYm9vbCBH
UFVQcm9jZXNzQ29ubmVjdGlvbjo6ZGlzcGF0Y2hNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29u
bmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZWNvZGVyKQogewogICAgIGlmIChkZWNvZGVyLm1lc3Nh
Z2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpt
ZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaAppbmRleCAyYzBkZjViOWY1NDk2ODQ3ZWQ2Njkx
MGJmMmYzOWIyY2RjNjBjYTAyLi42Y2FjZmZiNDQ5ZDk0NmNiMjIzMGUzMDM5OGIzYTg3YzNjNmU4
NjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3ND
b25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNz
Q29ubmVjdGlvbi5oCkBAIC00Myw2ICs0Myw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFz
cyBSZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlcjsKIGNsYXNzIFJlbW90ZUNETUZhY3Rv
cnk7CitjbGFzcyBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OwogY2xhc3Mg
UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyOwogY2xhc3MgUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeTsK
IHN0cnVjdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzOwpAQCAtODAsNiArODEsOCBAQCBwdWJs
aWM6CiAgICAgUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeSYgbGVnYWN5Q0RNRmFjdG9yeSgpOwogI2Vu
ZGlmCiAKKyAgICBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5JiBtZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5KCk7CisKICAgICB2b2lkIHVwZGF0ZVBhcmFtZXRlcnMo
Y29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYpOwogCiAjaWYgRU5BQkxFKFZQOSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9T
b3VyY2VQcm92aWRlck1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlci5jcHAKaW5kZXggYjhmNDVhNmQ1
YmI0ZGI0NjA5ODgwMTI0M2JiNWU5MzE3YjFlM2UyYi4uZTYyMGJjYzMxMzgzMjU0MWQ0ZDAzN2E3
M2YxOWIwYjNjODVlMTdhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlci5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFu
YWdlci5jcHAKQEAgLTI2LDE0ICsyNiwxNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIlJlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyLmgiCiAKKyNpbmNsdWRlICJHUFVQ
cm9jZXNzQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJSZW1v
dGVBdWRpb1NvdXJjZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiUmVtb3RlQXVkaW9Tb3VyY2VQcm92
aWRlck1hbmFnZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlNoYXJlZFJpbmdCdWZmZXJTdG9yYWdl
LmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogCiAjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVO
QUJMRShHUFVfUFJPQ0VTUykKIAogbmFtZXNwYWNlIFdlYktpdCB7Ci11c2luZyBuYW1lc3BhY2Ug
UEFMOwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIFJlbW90ZUF1ZGlvU291cmNlUHJvdmlk
ZXJNYW5hZ2VyOjpSZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlcigpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJv
dmlkZXJNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90
ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyLmgKaW5kZXggZTU5ZTFiMDZiNDQ3ZTVkODBjYTYx
MDUyYzZjN2EzMmM0YmExNDJlNi4uNzBlNWRjYjVjZDA0NmVhNjQ0OWUwZmI2N2ZiMzRiMWMyNjM5
ZGNmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1v
dGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIuaApAQCAtMjcs
NiArMjcsOCBAQAogCiAjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykK
IAorI2ltcG9ydCAiQ29ubmVjdGlvbi5oIgorI2ltcG9ydCAiU2hhcmVkTWVtb3J5LmgiCiAjaW5j
bHVkZSA8V2ViQ29yZS9DQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0NBUmluZ0J1ZmZlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFQbGF5ZXJJZGVudGlm
aWVyLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1Jl
bW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5hMGI3MGFlN2ExODgxNGI0ZmQ4NjIxZmM0NmY5OTdmZGY2MWIxNTk0
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9S
ZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmNwcApAQCAtMCwwICsxLDk1IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaCIKKworI2luY2x1ZGUgIkdQVVByb2Nlc3NDb25u
ZWN0aW9uLmgiCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9y
eVByb3h5TWVzc2FnZXMuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSA8V2Vi
Q29yZS9NZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
TWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlh
RGVjb2RpbmdDb25maWd1cmF0aW9uLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYUVuY29kaW5n
Q29uZmlndXJhdGlvbi5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeS5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOworCitSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpSZW1vdGVNZWRp
YUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5KFdlYlByb2Nlc3MmIHByb2Nlc3MpCisgICAgOiBt
X3Byb2Nlc3MocHJvY2VzcykKK3sKK30KKworUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9u
RmFjdG9yeTo6flJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkoKSA9IGRlZmF1
bHQ7CisKK3ZvaWQgUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6cmVnaXN0
ZXJGYWN0b3J5KCkKK3sKKyAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjbGVh
ckZhY3RvcmllcygpOworICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6Omluc3Rh
bGxGYWN0b3J5KHsKKyAgICAgICAgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIodGhpcyldIChNZWRp
YURlY29kaW5nQ29uZmlndXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIE1lZGlhRW5naW5lQ29uZmln
dXJhdGlvbkZhY3Rvcnk6OkRlY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYgY2FsbGJhY2sp
IHsKKyAgICAgICAgICAgIGlmICghd2Vha1RoaXMpIHsKKyAgICAgICAgICAgICAgICBjYWxsYmFj
ayh7eyB9LCBXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pfSk7CisgICAgICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICB3ZWFrVGhpcy0+Y3JlYXRlRGVjb2RpbmdD
b25maWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbiksIFdURk1vdmUoY2FsbGJhY2spKTsK
KyAgICAgICAgfSwKKyAgICAgICAgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIodGhpcyldIChNZWRp
YUVuY29kaW5nQ29uZmlndXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIE1lZGlhRW5naW5lQ29uZmln
dXJhdGlvbkZhY3Rvcnk6OkVuY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYgY2FsbGJhY2sp
IHsKKyAgICAgICAgICAgIGlmICghd2Vha1RoaXMpIHsKKyAgICAgICAgICAgICAgICBjYWxsYmFj
ayh7eyB9LCBXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pfSk7CisgICAgICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICB3ZWFrVGhpcy0+Y3JlYXRlRW5jb2RpbmdD
b25maWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbiksIFdURk1vdmUoY2FsbGJhY2spKTsK
KyAgICAgICAgfSwKKyAgICB9KTsKK30KKworY29uc3QgY2hhciogUmVtb3RlTWVkaWFFbmdpbmVD
b25maWd1cmF0aW9uRmFjdG9yeTo6c3VwcGxlbWVudE5hbWUoKQoreworICAgIHJldHVybiAiUmVt
b3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeSI7Cit9CisKK0dQVVByb2Nlc3NDb25u
ZWN0aW9uJiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpncHVQcm9jZXNz
Q29ubmVjdGlvbigpCit7CisgICAgcmV0dXJuIG1fcHJvY2Vzcy5lbnN1cmVHUFVQcm9jZXNzQ29u
bmVjdGlvbigpOworfQorCit2b2lkIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnk6OmNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihNZWRpYURlY29kaW5nQ29uZmlndXJhdGlv
biYmIGNvbmZpZ3VyYXRpb24sIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkRlY29k
aW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYgY2FsbGJhY2spCit7CisgICAgZ3B1UHJvY2Vzc0Nv
bm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpSZW1v
dGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHk6OkNyZWF0ZURlY29kaW5nQ29u
ZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pKSwgW2NhbGxiYWNrID0gV1RGTW92ZShj
YWxsYmFjayldIChNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbyYmIGluZm8pIG11dGFibGUg
eworICAgICAgICBjYWxsYmFjayhXVEZNb3ZlKGluZm8pKTsKKyAgICB9KTsKK30KKwordm9pZCBS
ZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjcmVhdGVFbmNvZGluZ0NvbmZp
Z3VyYXRpb24oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiBjb25maWd1cmF0aW9uLCBNZWRp
YUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpFbmNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFj
ayYmIGNhbGxiYWNrKQoreworICAgIGdwdVByb2Nlc3NDb25uZWN0aW9uKCkuY29ubmVjdGlvbigp
LnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeVByb3h5OjpDcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24oV1RGTW92ZShjb25m
aWd1cmF0aW9uKSksIFtjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSAoTWVkaWFDYXBhYmls
aXRpZXNFbmNvZGluZ0luZm8mJiBpbmZvKSBtdXRhYmxlIHsKKyAgICAgICAgY2FsbGJhY2soV1RG
TW92ZShpbmZvKSk7CisgICAgfSk7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9y
eS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGM1MDVkNTliMWUzZjNmMjhiMDdm
ZDRjNTdlMzMzN2JlZjMyN2MxMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5o
CkBAIC0wLDAgKzEsNzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJM
RShHUFVfUFJPQ0VTUykKKworI2luY2x1ZGUgIlJlbW90ZUxlZ2FjeUNETUlkZW50aWZpZXIuaCIK
KyNpbmNsdWRlICJSZW1vdGVMZWdhY3lDRE1TZXNzaW9uSWRlbnRpZmllci5oIgorI2luY2x1ZGUg
IldlYlByb2Nlc3NTdXBwbGVtZW50LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5Lmg+CisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRl
IDx3dGYvV2Vha1B0ci5oPgorCituYW1lc3BhY2UgSVBDIHsKK2NsYXNzIENvbm5lY3Rpb247Citj
bGFzcyBEZWNvZGVyOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgR1BVUHJvY2Vz
c0Nvbm5lY3Rpb247CitjbGFzcyBXZWJQcm9jZXNzOworCitjbGFzcyBSZW1vdGVNZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5IGZpbmFsCisgICAgOiBwdWJsaWMgV2ViUHJvY2Vzc1N1cHBs
ZW1lbnQKKyAgICAsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxSZW1vdGVNZWRpYUVuZ2luZUNvbmZp
Z3VyYXRpb25GYWN0b3J5PiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6
CisgICAgZXhwbGljaXQgUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeShXZWJQ
cm9jZXNzJik7CisgICAgdmlydHVhbCB+UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFj
dG9yeSgpOworCisgICAgdm9pZCByZWdpc3RlckZhY3RvcnkoKTsKKworICAgIHN0YXRpYyBjb25z
dCBjaGFyKiBzdXBwbGVtZW50TmFtZSgpOworICAgIFdlYlByb2Nlc3MmIHByb2Nlc3MoKSBjb25z
dCB7IHJldHVybiBtX3Byb2Nlc3M7IH0KKworICAgIEdQVVByb2Nlc3NDb25uZWN0aW9uJiBncHVQ
cm9jZXNzQ29ubmVjdGlvbigpOworCisgICAgdm9pZCBkaWRSZWNlaXZlU2Vzc2lvbk1lc3NhZ2Uo
SVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJik7CisKK3ByaXZhdGU6CisgICAgdm9pZCBj
cmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24oV2ViQ29yZTo6TWVkaWFEZWNvZGluZ0NvbmZpZ3Vy
YXRpb24mJiwgV2ViQ29yZTo6TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6RGVjb2Rp
bmdDb25maWd1cmF0aW9uQ2FsbGJhY2smJik7CisgICAgdm9pZCBjcmVhdGVFbmNvZGluZ0NvbmZp
Z3VyYXRpb24oV2ViQ29yZTo6TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiwgV2ViQ29yZTo6
TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6RW5jb2RpbmdDb25maWd1cmF0aW9uQ2Fs
bGJhY2smJik7CisKKyAgICBXZWJQcm9jZXNzJiBtX3Byb2Nlc3M7Cit9OworCit9CisKKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IGYyZjIyODIyYzdi
MjIzZmNhNTlmOTU1NzNkMTFkYzk5YjEwMzQ4MTEuLjViMWJjNWE5ZmE3ZjNiNGQ1YWVmM2U0NDU1
ZmY1YmZiMmE3MjNiYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAK
QEAgLTQ1LDYgKzQ1LDcgQEAKICNpbmNsdWRlICJQcm9jZXNzQXNzZXJ0aW9uLmgiCiAjaW5jbHVk
ZSAiUmVtb3RlQXVkaW9TZXNzaW9uLmgiCiAjaW5jbHVkZSAiUmVtb3RlTGVnYWN5Q0RNRmFjdG9y
eS5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaCIK
ICNpbmNsdWRlICJTdG9yYWdlQXJlYU1hcC5oIgogI2luY2x1ZGUgIlVzZXJEYXRhLmgiCiAjaW5j
bHVkZSAiV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5oIgpAQCAtMTA3LDYgKzEwOCw3IEBACiAj
aW5jbHVkZSA8V2ViQ29yZS9IVE1MTWVkaWFFbGVtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9K
U0RPTVdpbmRvdy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTGVnYWN5U2NoZW1lUmVnaXN0cnkuaD4K
KyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL01lbW9yeUNhY2hlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NZW1vcnlS
ZWxlYXNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NZXNzYWdlUG9ydC5oPgpAQCAtMjgyLDYgKzI4
NCw4IEBAIFdlYlByb2Nlc3M6OldlYlByb2Nlc3MoKQogICAgIGFkZFN1cHBsZW1lbnQ8QXVkaW9T
ZXNzaW9uUm91dGluZ0FyYml0cmF0b3I+KCk7CiAjZW5kaWYKIAorICAgIGFkZFN1cHBsZW1lbnQ8
UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeT4oKTsKKwogICAgIEdpZ2FjYWdl
Ojpmb3JiaWREaXNhYmxpbmdQcmltaXRpdmVHaWdhY2FnZSgpOwogfQogCkBAIC0xOTI2LDYgKzE5
MzAsMTEgQEAgdm9pZCBXZWJQcm9jZXNzOjpzZXRVc2VHUFVQcm9jZXNzRm9yTWVkaWEoYm9vbCB1
c2VHUFVQcm9jZXNzRm9yTWVkaWEpCiAgICAgZWxzZQogICAgICAgICBMZWdhY3lDRE06OnJlc2V0
RmFjdG9yaWVzKCk7CiAjZW5kaWYKKyAgICAKKyAgICBpZiAodXNlR1BVUHJvY2Vzc0Zvck1lZGlh
KQorICAgICAgICBlbnN1cmVHUFVQcm9jZXNzQ29ubmVjdGlvbigpLm1lZGlhRW5naW5lQ29uZmln
dXJhdGlvbkZhY3RvcnkoKS5yZWdpc3RlckZhY3RvcnkoKTsKKyAgICBlbHNlCisgICAgICAgIE1l
ZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OnJlc2V0RmFjdG9yaWVzKCk7CiB9CiAKIGJv
b2wgV2ViUHJvY2Vzczo6c2hvdWxkVXNlUmVtb3RlUmVuZGVyaW5nRm9yKFJlbmRlcmluZ1B1cnBv
c2UgcHVycG9zZSkK
</data>
<flag name="review"
          id="432634"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415446</attachid>
            <date>2020-12-04 12:34:49 -0800</date>
            <delta_ts>2020-12-04 14:58:15 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-219521-20201204123448.patch</filename>
            <type>text/plain</type>
            <size>77459</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNDM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTg5ZGI2NjM2OTcxN2M1
MjhiOThlNDQ5YmY5ZjIxOTc5OTExM2ZiNS4uYTc3N2ZmMGM3NjFhZjNiNjU3NDJlZDU4NTY0NmJi
ZDdiYjM3MjJjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDIwLTEyLTAzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFVQXSBNb3ZlIE1lZGlh
Q2FwYWJpbGl0aWVzIGludG8gdGhlIEdQVSBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk1MjEKKworICAgICAgICBSZXZpZXdlZCBieSBF
cmljIENhcmxzb24uCisKKyAgICAgICAgQWRkIGVuY29kZSgpIGFuZCBkZWNvZGUoKSBvcGVyYXRp
b25zIHRvIGFsbCBzdHJ1Y3RzIHVzZWQgaW5zaWRlCisgICAgICAgIE1lZGlhRW5naW5lQ29uZmln
dXJhdGlvbkZhY3RvcnkuIEFkZCB0aGUgYWJpbGl0eSBmb3IgY2xpZW50cyB0byBwcm92aWRlCisg
ICAgICAgIHRoZWlyIG93biBmYWN0b3JpZXMgZm9yIHVzZSBpbiBNZWRpYUVuZ2luZUNvbmZpZ3Vy
YXRpb25GYWN0b3J5LgorCisgICAgICAgICogSGVhZGVycy5jbWFrZToKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vTWVkaWFD
YXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ2FwYWJp
bGl0aWVzRGVjb2RpbmdJbmZvOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm86OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0v
TWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
Q2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm86OmRlY29kZSk6CisgICAgICAgICogcGxh
dGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNJbmZvLmg6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNh
cGFiaWxpdGllc0luZm86OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNh
cGFiaWxpdGllc0luZm86OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmls
aXRpZXMvQXVkaW9Db25maWd1cmF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0NvbmZp
Z3VyYXRpb246OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0NvbmZpZ3Vy
YXRpb246OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvQ29s
b3JHYW11dC5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL0hkck1ldGFk
YXRhVHlwZS5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2Fw
YWJpbGl0aWVzTG9nZ2luZy5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVz
L01lZGlhQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb25maWd1cmF0
aW9uOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb25maWd1cmF0aW9u
OjpkZWNvZGUpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVj
b2RpbmdDb25maWd1cmF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYURlY29kaW5nQ29u
ZmlndXJhdGlvbjo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRGVjb2Rp
bmdDb25maWd1cmF0aW9uOjpkZWNvZGUpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJp
bGl0aWVzL01lZGlhRGVjb2RpbmdUeXBlLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBh
YmlsaXRpZXMvTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb246OmRlY29kZSk6CisgICAgICAgICogcGxh
dGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ1R5cGUuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRlZmF1bHRGYWN0b3JpZXMpOgorICAgICAgICAoV2Vi
Q29yZTo6ZmFjdG9yaWVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3Rvcnk6OmNsZWFyRmFjdG9yaWVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRW5n
aW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OnJlc2V0RmFjdG9yaWVzKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6Omluc3RhbGxGYWN0b3J5KToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6Omhhc0RlY29k
aW5nQ29uZmlndXJhdGlvbkZhY3RvcnkpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmdpbmVD
b25maWd1cmF0aW9uRmFjdG9yeTo6aGFzRW5jb2RpbmdDb25maWd1cmF0aW9uRmFjdG9yeSk6Cisg
ICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeS5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1RyYW5z
ZmVyRnVuY3Rpb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRl
b0NvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OlZpZGVvQ29uZmlndXJhdGlvbjo6
ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlZpZGVvQ29uZmlndXJhdGlvbjo6ZGVj
b2RlKToKKwogMjAyMC0xMi0wMyAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbQ29jb2FdIEFkb3B0IEFWT3V0cHV0RGV2aWNlLmFsbG93c0hlYWRUcmFja2VkU3Bh
dGlhbEF1ZGlvCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDA5NThmZWY4MWMxMTgxZWFiZmY4NzNkNmIwMzFmYjZlZjVm
MzZlZmQuLjdlMjEzOTBmNDMzMzU4MjAyMjM4MzNlNWZmNWQyNDI5MmJmMGM5NzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsNDMgQEAKKzIwMjAtMTItMDMgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBs
ZS5jb20+CisKKyAgICAgICAgW0dQVVBdIE1vdmUgTWVkaWFDYXBhYmlsaXRpZXMgaW50byB0aGUg
R1BVIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxOTUyMQorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAg
ICBBZGQgYSBuZXcgcGFpciBvZiBwcm9jZXNzIHN1cHBsZW1lbnRzLCBSZW1vdGVNZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5IGFuZCAuLlByb3h5LgorCisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRwdXQu
eGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEdQ
VVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6Om1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnlQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRp
c3BhdGNoTWVzc2FnZSk6CisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5OjpSZW1vdGVNZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkpOgorICAgICAgICAoV2ViS2l0OjpjcmVhdGVEZWNv
ZGluZ0NvbmZpZ3VyYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5UHJveHk6OmNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbik6Cisg
ICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25G
YWN0b3J5UHJveHkuaDogQWRkZWQuCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVN
ZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkubWVzc2FnZXMuaW46IEFkZGVkLgor
ICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9u
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzc0Nvbm5lY3Rpb246Om1lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3RvcnkpOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL0dQVVByb2Nl
c3NDb25uZWN0aW9uLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVk
aW9Tb3VyY2VQcm92aWRlck1hbmFnZXIuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21l
ZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25G
YWN0b3J5OjpSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5KToKKyAgICAgICAg
KFdlYktpdDo6UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6cmVnaXN0ZXJG
YWN0b3J5KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9u
RmFjdG9yeTo6c3VwcGxlbWVudE5hbWUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpncHVQcm9jZXNzQ29ubmVjdGlvbik6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OmNyZWF0ZURl
Y29kaW5nQ29uZmlndXJhdGlvbik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3Rvcnk6OmNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbik6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9u
RmFjdG9yeS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV1RGL3d0Zi9BbGdvcml0aG1zLmguCisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzczo6c2V0VXNlR1BVUHJvY2Vzc0Zvck1lZGlhKToKKwogMjAyMC0xMi0wMyAgSmVyIE5vYmxl
ICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIEFkb3B0IEFWT3V0cHV0
RGV2aWNlLmFsbG93c0hlYWRUcmFja2VkU3BhdGlhbEF1ZGlvCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQppbmRl
eCBkNTQ0ODM3OGI5OTQxYzQ3MTk4OTA2NjUwYTM1OTU2NWUwNjFhYjc1Li4zZGI2Y2Q3N2U2MjQ1
NTlhMThmYTBhOTdjMTFkNmNhMmM2NDU0MzRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9I
ZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKQEAgLTEwMTQs
NiArMTAxNCw5IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBw
bGF0Zm9ybS9Mb2dnaW5nLmgKICAgICBwbGF0Zm9ybS9Mb3dQb3dlck1vZGVOb3RpZmllci5oCiAg
ICAgcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5oCisgICAgcGxhdGZvcm0vTWVkaWFDYXBhYmls
aXRpZXNEZWNvZGluZ0luZm8uaAorICAgIHBsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzRW5jb2Rp
bmdJbmZvLmgKKyAgICBwbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0luZm8uaAogICAgIHBsYXRm
b3JtL01lZGlhRGVzY3JpcHRpb24uaAogICAgIHBsYXRmb3JtL01lZGlhU2FtcGxlLmgKICAgICBw
bGF0Zm9ybS9NZWRpYVNlbGVjdGlvbk9wdGlvbi5oCkBAIC0xMzE1LDYgKzEzMTgsMTggQEAgc2V0
KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIHBsYXRmb3JtL2dyYXBoaWNz
L3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaAogICAgIHBsYXRmb3JtL2dyYXBoaWNz
L3RyYW5zZm9ybXMvVHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0aW9uLmgKIAorICAgIHBsYXRmb3Jt
L21lZGlhY2FwYWJpbGl0aWVzL0F1ZGlvQ29uZmlndXJhdGlvbi5oCisgICAgcGxhdGZvcm0vbWVk
aWFjYXBhYmlsaXRpZXMvQ29sb3JHYW11dC5oCisgICAgcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRp
ZXMvSGRyTWV0YWRhdGFUeXBlLmgKKyAgICBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRp
YUNvbmZpZ3VyYXRpb24uaAorICAgIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVj
b2RpbmdDb25maWd1cmF0aW9uLmgKKyAgICBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRp
YURlY29kaW5nVHlwZS5oCisgICAgcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNv
ZGluZ0NvbmZpZ3VyYXRpb24uaAorICAgIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlh
RW5jb2RpbmdUeXBlLmgKKyAgICBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmgKKyAgICBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9U
cmFuc2ZlckZ1bmN0aW9uLmgKKyAgICBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0Nv
bmZpZ3VyYXRpb24uaAorCiAgICAgcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVy
UHJpdmF0ZS5oCiAKICAgICBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9DYXB0dXJlRGV2aWNlLmgKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA4NTliZjU2ZDIyMzRhYzVlOTE5Yjg0NGQxMjQyZTZjMmIyNDJkMGQ3Li5iNThjYzBkODhhZDQz
NDA1YjcyYWE3YThiNTUyYWZjYTcyZDljNGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00MjM0LDYgKzQyMzQsMTggQEAKIAkJ
Q0QzRTIxREQyMTgzNDQ0QTAwRTY2RjU1IC8qIEltYWdlQnVmZmVyVXRpbGl0aWVzQ0cuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEM0UyMURCMjE4MzNG
NTEwMEU2NkY1NSAvKiBJbWFnZUJ1ZmZlclV0aWxpdGllc0NHLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0QzRTI1MUMxODA0NkIwNjAwRTI3RjU2
IC8qIEdyaWRBcmVhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDRDNFMjUxQjE4MDQ2QjA2MDBFMjdGNTYgLyogR3JpZEFyZWEuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRDNFMjUyNDE4MDQ2QkNEMDBF
MjdGNTYgLyogQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QzRTI1MjIxODA0NkJDRDAwRTI3RjU2IC8qIENT
U0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaCAqLzsgfTsKKwkJQ0QzRUVGMzcyNTc5OUVGRTAwNjU2
M0JCIC8qIE1lZGlhQ2FwYWJpbGl0aWVzSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QwQzhCNTgyMTQxQzhDQTAwNjJGNTlEIC8qIE1lZGlhQ2Fw
YWJpbGl0aWVzSW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCUNEM0VFRjM4MjU3OTlGNzMwMDY1NjNCQiAvKiBNZWRpYURlY29kaW5nQ29uZmln
dXJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0RCRDNEMzYxRkU4NUNDMDAwMTJDNTQ1IC8qIE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0QzRUVG
MzkyNTc5OUY3RjAwNjU2M0JCIC8qIE1lZGlhQ29uZmlndXJhdGlvbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RCRDNEMzUxRkU4NUNCRjAwMTJDNTQ1
IC8qIE1lZGlhQ29uZmlndXJhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCUNEM0VFRjNBMjU3OTlGODgwMDY1NjNCQiAvKiBBdWRpb0NvbmZp
Z3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENEQkQzRDJCMUZFODVDQkIwMDEyQzU0NSAvKiBBdWRpb0NvbmZpZ3VyYXRpb24uaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRDNFRUYzQjI1Nzk5
RkExMDA2NTYzQkIgLyogVmlkZW9Db25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREJEM0QzNDFGRTg1Q0JGMDAxMkM1NDUgLyogVmlk
ZW9Db25maWd1cmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJQ0QzRUVGM0MyNTc5OUZBQjAwNjU2M0JCIC8qIENvbG9yR2FtdXQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENEU0RTlCMjM1N0NC
OUQwMDc4OTVDMyAvKiBDb2xvckdhbXV0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0QzRUVGM0QyNTc5OUZCNTAwNjU2M0JCIC8qIEhkck1ldGFk
YXRhVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0Q0RTRFOUMyMzU3Q0I5RDAwNzg5NUMzIC8qIEhkck1ldGFkYXRhVHlwZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNEM0VFRjNFMjU3OTlGQzcw
MDY1NjNCQiAvKiBNZWRpYURlY29kaW5nVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RCRDNEMzgxRkU4NUNDMDAwMTJDNTQ1IC8qIE1lZGlhRGVj
b2RpbmdUeXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJQ0QzRUVGM0YyNTc5OUZDQzAwNjU2M0JCIC8qIE1lZGlhRW5jb2RpbmdDb25maWd1cmF0
aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREJE
M0QzNzFGRTg1Q0MwMDAxMkM1NDUgLyogTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRDNFRUY0MDI1
Nzk5RkQwMDA2NTYzQkIgLyogTWVkaWFFbmNvZGluZ1R5cGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQkQzRDNFMUZFODVDQzMwMDEyQzU0NSAvKiBN
ZWRpYUVuY29kaW5nVHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCUNEM0VFRjQxMjU3OTlGRDkwMDY1NjNCQiAvKiBUcmFuc2ZlckZ1bmN0aW9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDRFNEU5
QTIzNTdDQjlDMDA3ODk1QzMgLyogVHJhbnNmZXJGdW5jdGlvbi5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNEM0VFRjQyMjU3OUI0NEEwMDY1NjNC
QiAvKiBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QUM2RjAyNTIxMTQ4RjU0MDBDQkRBMDYgLyog
TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNENEFDNTJBMTQ5NkFFOUEwMDg3QzRFRiAvKiBD
b21wb3NpdGUud2F2IGluIENvcHkgQXVkaW8gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENENEFDNTI4MTQ5NkFFMkYwMDg3QzRFRiAvKiBDb21wb3NpdGUud2F2
ICovOyB9OwogCQlDRDUyMDlFNDFCMEJEODM4MDA3NzE4NEUgLyogTWVkaWFQbGF5ZXJFbnVtcy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1MjA5RTMx
QjBCRDgzODAwNzcxODRFIC8qIE1lZGlhUGxheWVyRW51bXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRDUyMDlFNjFCMEJEOUUxMDA3NzE4NEUg
LyogSFRNTE1lZGlhRWxlbWVudEVudW1zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDRDUyMDlFNTFCMEJEOUUxMDA3NzE4NEUgLyogSFRNTE1lZGlhRWxl
bWVudEVudW1zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKQEAgLTQzMjgsOCArNDM0MCw4IEBACiAJCUNEQzkzOUE4MUU5QkRGQjEwMEJCNzY4RCAvKiBW
aWRlb1Rvb2xib3hTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0RDOTM5QTYxRTlCREZCMTAwQkI3NjhEIC8qIFZpZGVvVG9vbGJveFNvZnRM
aW5rLmggKi87IH07CiAJCUNEQzk3OUY1MUM0OThDMDkwMERCNTBENCAvKiBXZWJDb3JlTlNFcnJv
ckV4dHJhcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0RDOTc5RjMxQzQ5OEMwOTAwREI1MEQ0IC8qIFdlYkNvcmVOU0Vycm9yRXh0cmFzLmggKi87IH07
CiAJCUNEQ0E5OEVCMThCMkM4RUIwMEMxMkZGOSAvKiBMZWdhY3lDRE1Qcml2YXRlTWVkaWFQbGF5
ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RD
QTk4RUExOEIyQzhFQjAwQzEyRkY5IC8qIExlZ2FjeUNETVByaXZhdGVNZWRpYVBsYXllci5jcHAg
Ki87IH07Ci0JCUNEQ0M5QkNGMjIzODdFOUEwMEZGQjUxQyAvKiBNZWRpYUNhcGFiaWxpdGllc0Rl
Y29kaW5nSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0RDQzlCQ0UyMjM4N0U5QTAwRkZCNTFDIC8qIE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJ
bmZvLmggKi87IH07Ci0JCUNEQ0M5QkQxMjIzODdFQUEwMEZGQjUxQyAvKiBNZWRpYUNhcGFiaWxp
dGllc0VuY29kaW5nSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0RDQzlCRDAyMjM4N0VBQTAwRkZCNTFDIC8qIE1lZGlhQ2FwYWJpbGl0aWVzRW5j
b2RpbmdJbmZvLmggKi87IH07CisJCUNEQ0M5QkNGMjIzODdFOUEwMEZGQjUxQyAvKiBNZWRpYUNh
cGFiaWxpdGllc0RlY29kaW5nSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0RDQzlCQ0UyMjM4N0U5QTAwRkZCNTFDIC8qIE1lZGlhQ2FwYWJpbGl0
aWVzRGVjb2RpbmdJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJQ0RDQzlCRDEyMjM4N0VBQTAwRkZCNTFDIC8qIE1lZGlhQ2FwYWJpbGl0aWVz
RW5jb2RpbmdJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDRENDOUJEMDIyMzg3RUFBMDBGRkI1MUMgLyogTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGlu
Z0luZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlDRENENDFFODFDM0REQjBBMDA5NjVEOTkgLyogUGFyc2VkQ29udGVudFJhbmdlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRENENDFFNjFDM0REQjA5
MDA5NjVEOTkgLyogUGFyc2VkQ29udGVudFJhbmdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0RDRkFCQkQxOEMwQUY3ODAwNkY4NDUwIC8qIEhp
Z2hsaWdodERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENEQ0ZBQkJCMThDMEFFMzEwMDZGODQ1MCAvKiBIaWdobGlnaHREYXRhLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0RENzA4OTcxODM1OUY2
RjAwMkIzREM2IC8qIFNhbXBsZU1hcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0RENzA4OTUxODM1OUY2RjAwMkIzREM2IC8qIFNhbXBsZU1hcC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0zMTAyOCw2
ICszMTA0MCw3IEBACiAJCQkJODM3ODg3ODIyNEQ4QTYwOTAwMEQ0QTVCIC8qIEF1ZGlvQnVmZmVy
U291cmNlT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQzMTYwN0MxMkIwMjZGNzAwQzFB
MzU5IC8qIEF1ZGlvQnVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDMxNjA3RTEyQjAyNkY3MDBD
MUEzNTkgLyogQXVkaW9DaGFubmVsLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDNFRUYzQTI1Nzk5
Rjg4MDA2NTYzQkIgLyogQXVkaW9Db25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlG
RDMxNjAwNTEyQjAyNjc2MDBDMUEzNTkgLyogQXVkaW9Db250ZXh0LmggaW4gSGVhZGVycyAqLywK
IAkJCQlFNzg1RDk2MjI0QjdGNzM1MDAxNERCMjEgLyogQXVkaW9Db250ZXh0TGF0ZW5jeUNhdGVn
b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQlFNzg1RDk2MTI0QjdGNzM1MDAxNERCMjEgLyogQXVk
aW9Db250ZXh0T3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMTMxNSw2ICszMTMyOCw3IEBA
CiAJCQkJRjQ4RDJBQTUyMTU5NzQwRDAwQzY3NTJCIC8qIENvbG9yQ29jb2EuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTdDQUM2QUYwMjQ3RjQxMTAwMEU2MUQ1OSAvKiBDb2xvckNvbXBvbmVudHMuaCBp
biBIZWFkZXJzICovLAogCQkJCTdDNTE0RTAzMjRBRjgwNUUwMDUwNzEwRiAvKiBDb2xvckNvbnZl
cnNpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUNEM0VFRjNDMjU3OTlGQUIwMDY1NjNCQiAvKiBD
b2xvckdhbXV0LmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTAzQjdERjFEQjAxNTY3MDA4QkI4OTAg
LyogQ29sb3JIYXNoLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNTVCM0RCNDEyNTFGMTJEMDAzRUYy
NjkgLyogQ29sb3JJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFNTE2OUU3MjFGMUI4
NDcwMEVBNEY3OCAvKiBDb2xvcklPUy5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMjEyMyw2ICszMjEz
Nyw3IEBACiAJCQkJMjZFQTg5QTcxQjRGMkI3NTAwOEM1RkQyIC8qIEhhc2hhYmxlQWN0aW9uTGlz
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQ4MkI3NDYxMTk4QzM1NDAwQkZCMDA1IC8qIEhhc2hD
aGFuZ2VFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg3NDhCRTAxMkNCRjJEQzAwMUZCQTQx
IC8qIEhhc2hUb29scy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0QzRUVGM0QyNTc5OUZCNTAwNjU2
M0JCIC8qIEhkck1ldGFkYXRhVHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RBNTk1OTMyMTQ2
REVDMzAwQTg0MTg1IC8qIEhFVkNVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEQTU5
NTk4MjE0NkRGNzgwMEE4NDE4NSAvKiBIRVZDVXRpbGl0aWVzQ29jb2EuaCBpbiBIZWFkZXJzICov
LAogCQkJCUY1NUIzREMwMTI1MUYxMkQwMDNFRjI2OSAvKiBIaWRkZW5JbnB1dFR5cGUuaCBpbiBI
ZWFkZXJzICovLApAQCAtMzM1MTIsMTEgKzMzNTI3LDE1IEBACiAJCQkJOTMxQkNDNjExMTI0REZD
QjAwQkU3MEREIC8qIE1lZGlhQ2FuU3RhcnRMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
Q0RDQzlCQ0YyMjM4N0U5QTAwRkZCNTFDIC8qIE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZv
LmggaW4gSGVhZGVycyAqLywKIAkJCQlDRENDOUJEMTIyMzg3RUFBMDBGRkI1MUMgLyogTWVkaWFD
YXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaCBpbiBIZWFkZXJzICovLAorCQkJCUNEM0VFRjM3MjU3
OTlFRkUwMDY1NjNCQiAvKiBNZWRpYUNhcGFiaWxpdGllc0luZm8uaCBpbiBIZWFkZXJzICovLAor
CQkJCUNEM0VFRjM5MjU3OTlGN0YwMDY1NjNCQiAvKiBNZWRpYUNvbmZpZ3VyYXRpb24uaCBpbiBI
ZWFkZXJzICovLAogCQkJCTA3OEUwOTNBMTdEMTZFMUMwMDQyMEFBMSAvKiBNZWRpYUNvbnN0cmFp
bnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREY2NUNDODE0NUIxRTc1MDBDNEM3QUEgLyogTWVk
aWFDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREY2NUNDQTE0NUI0NDg4MDBDNEM3
QUEgLyogTWVkaWFDb250cm9sbGVySW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREFC
NkQyOTE3QzdERTZDMDBDNjBCMzQgLyogTWVkaWFDb250cm9sc0hvc3QuaCBpbiBIZWFkZXJzICov
LAogCQkJCTQxNzI1M0FCMTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xUZXh0VHJhY2tD
b250YWluZXJFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDNFRUYzODI1Nzk5RjczMDA2
NTYzQkIgLyogTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJ
CUNEM0VFRjNFMjU3OTlGQzcwMDY1NjNCQiAvKiBNZWRpYURlY29kaW5nVHlwZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQ0RGMkIwMDQxODFGMDU5QzAwRjJCNDI0IC8qIE1lZGlhRGVzY3JpcHRpb24u
aCBpbiBIZWFkZXJzICovLAogCQkJCTE1MTQ1QjkwMUIzQTFDRTAwMDY2MkJGNyAvKiBNZWRpYURl
dmljZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTVFQTcyNUQzMUFDQUJENDcwMEVBRDE3QiAv
KiBNZWRpYURldmljZXMuaCBpbiBIZWFkZXJzICovLApAQCAtMzM1MjQsOSArMzM1NDMsMTIgQEAK
IAkJCQlGRDZGMjUyRDEzRjVFRjBFMDA2NTE2NUYgLyogTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VO
b2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzBBMUM3RDI0REI3ODhCMDAyRUNDQUQgLyogTWVk
aWFFbGVtZW50QXVkaW9Tb3VyY2VPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQkwN0ZFOTlE
RDE4ODA3QTdEMDAyNTY2NDggLyogTWVkaWFFbGVtZW50U2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQ0QzRUVGM0YyNTc5OUZDQzAwNjU2M0JCIC8qIE1lZGlhRW5jb2RpbmdDb25maWd1cmF0
aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDNFRUY0MDI1Nzk5RkQwMDA2NTYzQkIgLyogTWVk
aWFFbmNvZGluZ1R5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTJEOUJGNzA2MURCRkJCMjQwMDdB
N0Q5OSAvKiBNZWRpYUVuY3J5cHRlZEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDlCRjcw
ODFEQkZCQjI0MDA3QTdEOTkgLyogTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQxQjI4QjE1MUY4NTAxRDMwMEZCNTJBQyAvKiBNZWRpYUVuZHBvaW50Q29uZmln
dXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0QzRUVGNDIyNTc5QjQ0QTAwNjU2M0JCIC8q
IE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCUNE
QzQ4QUM5MjE0OUNGMkEwMDI0RkQ1OSAvKiBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
Q29jb2EuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0NDYxM0FEMENENjMzMTAwMEZBREE3NSAvKiBN
ZWRpYUVycm9yLmggaW4gSGVhZGVycyAqLywKIAkJCQk0RTE5NTkyMjBBMzlEQUJBMDAyMjBGRTUg
LyogTWVkaWFGZWF0dXJlTmFtZXMuaCBpbiBIZWFkZXJzICovLApAQCAtMzQ5NTEsNiArMzQ5NzMs
NyBAQAogCQkJCUJFOTEzRDgwMTgxRUY5MjQwMERDQjA5RSAvKiBUcmFja1ByaXZhdGVCYXNlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlGRkFDMzBGRTE4NEZCMTQ1MDA4QzRGMUUgLyogVHJhaWxpbmdP
YmplY3RzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTYwNzEzMjFCRDgzMDhCMDBEQkM0RjIgLyog
VHJhbnNhY3Rpb25PcGVyYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUNEM0VFRjQxMjU3OTlG
RDkwMDY1NjNCQiAvKiBUcmFuc2ZlckZ1bmN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5
MTFDNDBFRjg2RDQ3MDA5RDBDQUYgLyogVHJhbnNmb3JtYXRpb25NYXRyaXguaCBpbiBIZWFkZXJz
ICovLAogCQkJCUZCNDg0RjREMTcxRjgyMUUwMDA0MDc1NSAvKiBUcmFuc2Zvcm1GdW5jdGlvbnMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RTkxMUNFMEVGODZENDcwMDlEMENBRiAvKiBUcmFuc2Zv
cm1PcGVyYXRpb24uaCBpbiBIZWFkZXJzICovLApAQCAtMzUwMzAsNiArMzUwNTMsNyBAQAogCQkJ
CTBGMUEwQzM4MjI5QTQ4MTgwMEQzN0FEQiAvKiBWZWxvY2l0eURhdGEuaCBpbiBIZWFkZXJzICov
LAogCQkJCURGNEUzOEUwMjUyNzk1OTUwMDJBNzQ4MSAvKiBWZXJzaW9uQ2hlY2tzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQ0EyNTcxNTEyOTNDMDEwMDA3QTI2M0QgLyogVmVydGljYWxQb3NpdGlv
bkNhY2hlLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDNFRUYzQjI1Nzk5RkExMDA2NTYzQkIgLyog
VmlkZW9Db25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MkIwRDRDMDFDNTdGRDY2
MDA3N0NFNTMgLyogVmlkZW9GdWxsc2NyZWVuQ2hhbmdlT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCTNGQkM0QUY0MTg5ODgxNTYwMDQ2RUUzOCAvKiBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZh
Y2VBVktpdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTJCMEQ0QzIxQzU3RkY5MTAwNzdDRTUzIC8q
IFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZU1hYy5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8u
aAppbmRleCA4MWNmMzc2MDY2NDZlZjEzZTdjOTA0YWZjYWU3MjkwODUwMDk0ODY1Li4xODYxNzc2
YjJlYjZhZmM5NjA0OTFlNDljNjgyMjRiYTljOWY5M2UzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgKQEAgLTI3
LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgIk1lZGlhQ2FwYWJpbGl0aWVzSW5mby5oIgogI2luY2x1
ZGUgIk1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLmgiCisjaW5jbHVkZSA8d3RmL09wdGlvbmFs
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDYsNiArNDcsMzUgQEAgc3RydWN0IE1l
ZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvIDogTWVkaWFDYXBhYmlsaXRpZXNJbmZvIHsKICAg
ICB9CiAKICAgICBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiBzdXBwb3J0ZWRDb25maWd1cmF0
aW9uOworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYp
IGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBPcHRpb25hbDxNZWRp
YUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbz4gZGVjb2RlKERlY29kZXImKTsKIH07CiAKK3RlbXBs
YXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvOjpl
bmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBNZWRpYUNhcGFiaWxpdGllc0lu
Zm86OmVuY29kZShlbmNvZGVyKTsKKyAgICBlbmNvZGVyIDw8IHN1cHBvcnRlZENvbmZpZ3VyYXRp
b247CiB9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+CitPcHRpb25hbDxNZWRpYUNhcGFiaWxp
dGllc0RlY29kaW5nSW5mbz4gTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm86OmRlY29kZShE
ZWNvZGVyJiBkZWNvZGVyKQoreworICAgIGF1dG8gaW5mbyA9IE1lZGlhQ2FwYWJpbGl0aWVzSW5m
bzo6ZGVjb2RlKGRlY29kZXIpOworICAgIGlmICghaW5mbykKKyAgICAgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uPiBzdXBw
b3J0ZWRDb25maWd1cmF0aW9uOworICAgIGRlY29kZXIgPj4gc3VwcG9ydGVkQ29uZmlndXJhdGlv
bjsKKyAgICBpZiAoIXN1cHBvcnRlZENvbmZpZ3VyYXRpb24pCisgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7CisKKyAgICByZXR1cm4gTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8oCisg
ICAgICAgIFdURk1vdmUoKmluZm8pLAorICAgICAgICBXVEZNb3ZlKCpzdXBwb3J0ZWRDb25maWd1
cmF0aW9uKQorICAgICk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8u
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZv
LmgKaW5kZXggNDJkMzg1M2NiM2NkOTY0NjAzMjQxN2YxNjE2YWQ2NjVlMWRjMTNhOC4uMTIyMDA2
MzUzZTU3ZjY2ODg5M2M3ZTdkM2I3NWE4YzA1OGEyZTljMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oCkBAIC0y
Nyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJNZWRpYUNhcGFiaWxpdGllc0luZm8uaCIKICNpbmNs
dWRlICJNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbi5oIgorI2luY2x1ZGUgPHd0Zi9PcHRpb25h
bC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ2LDYgKzQ3LDM1IEBAIHN0cnVjdCBN
ZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbyA6IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyB7CiAg
ICAgfQogCiAgICAgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24gc3VwcG9ydGVkQ29uZmlndXJh
dGlvbjsKKworICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXIm
KSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgT3B0aW9uYWw8TWVk
aWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8+IGRlY29kZShEZWNvZGVyJik7CiB9OwogCit0ZW1w
bGF0ZTxjbGFzcyBFbmNvZGVyPgordm9pZCBNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbzo6
ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgTWVkaWFDYXBhYmlsaXRpZXNJ
bmZvOjplbmNvZGUoZW5jb2Rlcik7CisgICAgZW5jb2RlciA8PCBzdXBwb3J0ZWRDb25maWd1cmF0
aW9uOwogfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgorT3B0aW9uYWw8TWVkaWFDYXBhYmls
aXRpZXNFbmNvZGluZ0luZm8+IE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvOjpkZWNvZGUo
RGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBhdXRvIGluZm8gPSBNZWRpYUNhcGFiaWxpdGllc0lu
Zm86OmRlY29kZShkZWNvZGVyKTsKKyAgICBpZiAoIWluZm8pCisgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbj4gc3Vw
cG9ydGVkQ29uZmlndXJhdGlvbjsKKyAgICBkZWNvZGVyID4+IHN1cHBvcnRlZENvbmZpZ3VyYXRp
b247CisgICAgaWYgKCFzdXBwb3J0ZWRDb25maWd1cmF0aW9uKQorICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OworCisgICAgcmV0dXJuIE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvKAor
ICAgICAgICBXVEZNb3ZlKCppbmZvKSwKKyAgICAgICAgV1RGTW92ZSgqc3VwcG9ydGVkQ29uZmln
dXJhdGlvbikKKyAgICApOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzSW5mby5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNJbmZvLmgKaW5kZXggMmRkZTc4
N2Q3YjhhYzZhMDBkMWE2ZTM5MWVhNWVhNzJjMDE0N2VkOC4uMjMzYWE0NjRlMjI3OGMxZjFlZjlh
ZDliODI0NDFmN2NiYTM2ZjA2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
TWVkaWFDYXBhYmlsaXRpZXNJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVk
aWFDYXBhYmlsaXRpZXNJbmZvLmgKQEAgLTI1LDEyICsyNSw1MSBAQAogCiAjcHJhZ21hIG9uY2UK
IAorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
CiBzdHJ1Y3QgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIHsKICAgICBib29sIHN1cHBvcnRlZCB7IGZh
bHNlIH07CiAgICAgYm9vbCBzbW9vdGggeyBmYWxzZSB9OwogICAgIGJvb2wgcG93ZXJFZmZpY2ll
bnQgeyBmYWxzZSB9OworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUo
RW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBPcHRp
b25hbDxNZWRpYUNhcGFiaWxpdGllc0luZm8+IGRlY29kZShEZWNvZGVyJik7CiB9OwotICAgIAor
Cit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgordm9pZCBNZWRpYUNhcGFiaWxpdGllc0luZm86OmVu
Y29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAgIGVuY29kZXIgPDwgc3VwcG9ydGVk
OworICAgIGVuY29kZXIgPDwgc21vb3RoOworICAgIGVuY29kZXIgPDwgcG93ZXJFZmZpY2llbnQ7
CiB9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+CitPcHRpb25hbDxNZWRpYUNhcGFiaWxpdGll
c0luZm8+IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbzo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCit7
CisgICAgT3B0aW9uYWw8Ym9vbD4gc3VwcG9ydGVkOworICAgIGRlY29kZXIgPj4gc3VwcG9ydGVk
OworICAgIGlmICghc3VwcG9ydGVkKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisg
ICAgT3B0aW9uYWw8Ym9vbD4gc21vb3RoOworICAgIGRlY29kZXIgPj4gc21vb3RoOworICAgIGlm
ICghc21vb3RoKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8
Ym9vbD4gcG93ZXJFZmZpY2llbnQ7CisgICAgZGVjb2RlciA+PiBwb3dlckVmZmljaWVudDsKKyAg
ICBpZiAoIXBvd2VyRWZmaWNpZW50KQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisg
ICAgcmV0dXJuIHt7CisgICAgICAgICpzdXBwb3J0ZWQsCisgICAgICAgICpzbW9vdGgsCisgICAg
ICAgICpwb3dlckVmZmljaWVudCwKKyAgICB9fTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGll
cy9BdWRpb0NvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2Fw
YWJpbGl0aWVzL0F1ZGlvQ29uZmlndXJhdGlvbi5oCmluZGV4IDhmYTE0YTUyNGMwNDVmZWRlY2Mz
ZmE1NTRmNDgwOTZhNDkzNDhhZGIuLjU3Njc5YzQyOTJmOWEwMDUyMTg1ZjZmOTM5ZTVmZTU4MDhi
YmM4ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0
aWVzL0F1ZGlvQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhY2FwYWJpbGl0aWVzL0F1ZGlvQ29uZmlndXJhdGlvbi5oCkBAIC0yNSw2ICsyNSw3IEBACiAK
ICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM1LDYgKzM2LDU2
IEBAIHN0cnVjdCBBdWRpb0NvbmZpZ3VyYXRpb24gewogICAgIE9wdGlvbmFsPHVpbnQ2NF90PiBi
aXRyYXRlOwogICAgIE9wdGlvbmFsPHVpbnQzMl90PiBzYW1wbGVyYXRlOwogICAgIE9wdGlvbmFs
PGJvb2w+IHNwYXRpYWxSZW5kZXJpbmc7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2
b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4g
c3RhdGljIE9wdGlvbmFsPEF1ZGlvQ29uZmlndXJhdGlvbj4gZGVjb2RlKERlY29kZXImKTsKIH07
CiAKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIEF1ZGlvQ29uZmlndXJhdGlvbjo6ZW5j
b2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCBjb250ZW50VHlw
ZTsKKyAgICBlbmNvZGVyIDw8IGNoYW5uZWxzOworICAgIGVuY29kZXIgPDwgYml0cmF0ZTsKKyAg
ICBlbmNvZGVyIDw8IHNhbXBsZXJhdGU7CisgICAgZW5jb2RlciA8PCBzcGF0aWFsUmVuZGVyaW5n
OworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgorT3B0aW9uYWw8QXVkaW9Db25maWd1cmF0
aW9uPiBBdWRpb0NvbmZpZ3VyYXRpb246OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworICAg
IE9wdGlvbmFsPFN0cmluZz4gY29udGVudFR5cGU7CisgICAgZGVjb2RlciA+PiBjb250ZW50VHlw
ZTsKKyAgICBpZiAoIWNvbnRlbnRUeXBlKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owor
CisgICAgT3B0aW9uYWw8U3RyaW5nPiBjaGFubmVsczsKKyAgICBkZWNvZGVyID4+IGNoYW5uZWxz
OworICAgIGlmICghY2hhbm5lbHMpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAg
ICBPcHRpb25hbDxPcHRpb25hbDx1aW50NjRfdD4+IGJpdHJhdGU7CisgICAgZGVjb2RlciA+PiBi
aXRyYXRlOworICAgIGlmICghYml0cmF0ZSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsK
KworICAgIE9wdGlvbmFsPE9wdGlvbmFsPHVpbnQzMl90Pj4gc2FtcGxlUmF0ZTsKKyAgICBkZWNv
ZGVyID4+IHNhbXBsZVJhdGU7CisgICAgaWYgKCFzYW1wbGVSYXRlKQorICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8T3B0aW9uYWw8Ym9vbD4+IHNwYXRpYWxSZW5k
ZXJpbmc7CisgICAgZGVjb2RlciA+PiBzcGF0aWFsUmVuZGVyaW5nOworICAgIGlmICghc3BhdGlh
bFJlbmRlcmluZykKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIHJldHVybiB7
eworICAgICAgICAqY29udGVudFR5cGUsCisgICAgICAgICpjaGFubmVscywKKyAgICAgICAgKmJp
dHJhdGUsCisgICAgICAgICpzYW1wbGVSYXRlLAorICAgICAgICAqc3BhdGlhbFJlbmRlcmluZwor
ICAgIH19OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9Db2xvckdhbXV0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9Db2xvckdhbXV0LmgKaW5kZXggMTgx
M2UzNTNkYWUxMjQ4ZGI1ZThkMmM4Y2Q2NTY4MzI0YmQzMGNkMy4uMjhkMDI0MmMxZDUyYzcyYmY4
YTZiZjE1MjNkMDg0NDE5NDhhNTA3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFjYXBhYmlsaXRpZXMvQ29sb3JHYW11dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL0NvbG9yR2FtdXQuaApAQCAtMjcsMTAgKzI3LDIzIEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotZW51bSBjbGFzcyBDb2xvckdhbXV0IHsKK2VudW0g
Y2xhc3MgQ29sb3JHYW11dCA6IHVpbnQ4X3QgewogICAgIFNSR0IsCiAgICAgUDMsCiAgICAgUmVj
MjAyMCwKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7CisK
K3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6Q29sb3JHYW11dD4geworICAg
IHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OkNvbG9yR2FtdXQs
CisgICAgICAgIFdlYkNvcmU6OkNvbG9yR2FtdXQ6OlNSR0IsCisgICAgICAgIFdlYkNvcmU6OkNv
bG9yR2FtdXQ6OlAzLAorICAgICAgICBXZWJDb3JlOjpDb2xvckdhbXV0OjpSZWMyMDIwCisgICAg
PjsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2Fw
YWJpbGl0aWVzL0hkck1ldGFkYXRhVHlwZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFjYXBhYmlsaXRpZXMvSGRyTWV0YWRhdGFUeXBlLmgKaW5kZXggNjVjMWQwZWUyOWQ4ODRmOWJl
ODlmNjllYjUwZGUzYWNhZTgyMzBhZS4uMDI0OTk4MmY1YTg4NTI1MGI1MjhlOGU4NDk3ZGY0OTdm
ZjkzMWQwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmls
aXRpZXMvSGRyTWV0YWRhdGFUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFjYXBhYmlsaXRpZXMvSGRyTWV0YWRhdGFUeXBlLmgKQEAgLTI3LDEwICsyNywyMyBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWVudW0gY2xhc3MgSGRyTWV0YWRhdGFUeXBlIHsKK2VudW0g
Y2xhc3MgSGRyTWV0YWRhdGFUeXBlIDogdWludDhfdCB7CiAgICAgU21wdGVTdDIwODYsCiAgICAg
U21wdGVTdDIwOTQxMCwKICAgICBTbXB0ZVN0MjA5NDQwCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRz
PFdlYkNvcmU6Okhkck1ldGFkYXRhVHlwZT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1
ZXM8CisgICAgICAgIFdlYkNvcmU6Okhkck1ldGFkYXRhVHlwZSwKKyAgICAgICAgV2ViQ29yZTo6
SGRyTWV0YWRhdGFUeXBlOjpTbXB0ZVN0MjA4NiwKKyAgICAgICAgV2ViQ29yZTo6SGRyTWV0YWRh
dGFUeXBlOjpTbXB0ZVN0MjA5NDEwLAorICAgICAgICBXZWJDb3JlOjpIZHJNZXRhZGF0YVR5cGU6
OlNtcHRlU3QyMDk0NDAKKyAgICA+OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5nLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxp
dGllc0xvZ2dpbmcuaAppbmRleCA4YWI3ZTI3NjQxYzFiNjI4ODJhNDg5ZDExNGY4YzE3Mjk0ZTdm
OTk5Li4yY2ViNmY2NmY4Yzg1Yzg3NGY4MmU5ZDE2OTZlY2FjOGY2MDQ5YzFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxp
dGllc0xvZ2dpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxp
dGllcy9NZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuaApAQCAtMzgsMTEgKzM4LDExIEBAIHN0cnVj
dCBNZWRpYUNhcGFiaWxpdGllc0luZm87CiBzdHJ1Y3QgTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGlu
Z0luZm87CiBzdHJ1Y3QgTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm87CiAKLWVudW0gY2xh
c3MgQ29sb3JHYW11dDsKLWVudW0gY2xhc3MgSGRyTWV0YWRhdGFUeXBlOwotZW51bSBjbGFzcyBU
cmFuc2ZlckZ1bmN0aW9uOwotZW51bSBjbGFzcyBNZWRpYURlY29kaW5nVHlwZTsKLWVudW0gY2xh
c3MgTWVkaWFFbmNvZGluZ1R5cGU7CitlbnVtIGNsYXNzIENvbG9yR2FtdXQgOiB1aW50OF90Owor
ZW51bSBjbGFzcyBIZHJNZXRhZGF0YVR5cGUgOiB1aW50OF90OworZW51bSBjbGFzcyBUcmFuc2Zl
ckZ1bmN0aW9uIDogdWludDhfdDsKK2VudW0gY2xhc3MgTWVkaWFEZWNvZGluZ1R5cGUgOiBib29s
OworZW51bSBjbGFzcyBNZWRpYUVuY29kaW5nVHlwZSA6IGJvb2w7CiAKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDb25maWd1
cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRp
YUNvbmZpZ3VyYXRpb24uaAppbmRleCBkMDFhZDZlOTMyNDEyY2ExYjU3YzQzMDY1YzZmMjI2MDNi
OGUwZDRjLi5jMDg2OGU0YWI5ZDRlMDk4YWJjNTE5MDQ3ZjFmNTZiYWYzNTQ0OGUxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNvbmZp
Z3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGll
cy9NZWRpYUNvbmZpZ3VyYXRpb24uaApAQCAtMzQsNiArMzQsMzYgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogc3RydWN0IE1lZGlhQ29uZmlndXJhdGlvbiB7CiAgICAgT3B0aW9uYWw8VmlkZW9Db25m
aWd1cmF0aW9uPiB2aWRlbzsKICAgICBPcHRpb25hbDxBdWRpb0NvbmZpZ3VyYXRpb24+IGF1ZGlv
OworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNv
bnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBPcHRpb25hbDxNZWRpYUNv
bmZpZ3VyYXRpb24+IGRlY29kZShEZWNvZGVyJik7CiB9OwogCit0ZW1wbGF0ZTxjbGFzcyBFbmNv
ZGVyPgordm9pZCBNZWRpYUNvbmZpZ3VyYXRpb246OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBj
b25zdAoreworICAgIGVuY29kZXIgPDwgdmlkZW87CisgICAgZW5jb2RlciA8PCBhdWRpbzsKIH0K
KwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KK09wdGlvbmFsPE1lZGlhQ29uZmlndXJhdGlvbj4g
TWVkaWFDb25maWd1cmF0aW9uOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBPcHRp
b25hbDxPcHRpb25hbDxWaWRlb0NvbmZpZ3VyYXRpb24+PiB2aWRlbzsKKyAgICBkZWNvZGVyID4+
IHZpZGVvOworICAgIGlmICghdmlkZW8pCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisK
KyAgICBPcHRpb25hbDxPcHRpb25hbDxBdWRpb0NvbmZpZ3VyYXRpb24+PiBhdWRpbzsKKyAgICBk
ZWNvZGVyID4+IGF1ZGlvOworICAgIGlmICghYXVkaW8pCisgICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7CisKKyAgICByZXR1cm4ge3sKKyAgICAgICAgKnZpZGVvLAorICAgICAgICAqYXVkaW8s
CisgICAgfX07Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ0NvbmZp
Z3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01l
ZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLmgKaW5kZXggNTVjMDQ1MTgyMjcwOTNiZTllM2I1N2Zk
ZWVjYWUzMTM2MmRlYmM0Ni4uNzBiOTYyM2U3NDViNmY3NWZkYmViMTMyNTMxYWFlOTE1ODZlYWRk
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMv
TWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbi5oCkBAIC0zMiw2
ICszMiwzNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBNZWRpYURlY29kaW5nQ29u
ZmlndXJhdGlvbiA6IE1lZGlhQ29uZmlndXJhdGlvbiB7CiAgICAgTWVkaWFEZWNvZGluZ1R5cGUg
dHlwZTsKKworICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXIm
KSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgT3B0aW9uYWw8TWVk
aWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24+IGRlY29kZShEZWNvZGVyJik7CiB9OwogCit0ZW1wbGF0
ZTxjbGFzcyBFbmNvZGVyPgordm9pZCBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbjo6ZW5jb2Rl
KEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgTWVkaWFDb25maWd1cmF0aW9uOjplbmNv
ZGUoZW5jb2Rlcik7CisgICAgZW5jb2RlciA8PCB0eXBlOwogfQorCit0ZW1wbGF0ZTxjbGFzcyBE
ZWNvZGVyPgorT3B0aW9uYWw8TWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24+IE1lZGlhRGVjb2Rp
bmdDb25maWd1cmF0aW9uOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBhdXRvIG1l
ZGlhQ29uZmlndXJhdGlvbiA9IE1lZGlhQ29uZmlndXJhdGlvbjo6ZGVjb2RlKGRlY29kZXIpOwor
ICAgIGlmICghbWVkaWFDb25maWd1cmF0aW9uKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OworCisgICAgT3B0aW9uYWw8TWVkaWFEZWNvZGluZ1R5cGU+IHR5cGU7CisgICAgZGVjb2RlciA+
PiB0eXBlOworICAgIGlmICghdHlwZSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKwor
ICAgIHJldHVybiB7eworICAgICAgICAqbWVkaWFDb25maWd1cmF0aW9uLAorICAgICAgICAqdHlw
ZSwKKyAgICB9fTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5nVHlw
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNv
ZGluZ1R5cGUuaAppbmRleCA4OTBlN2Y4NGQ5ODcyNGMwMjRhYzVjZjAyOGQyMWU2MzdlNzI4M2Yx
Li40MTVlMGI3MjA5ZWE1MGUxNTk2YjJhOGJkMmYyYTM5MjgzNjE4OGE3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5nVHlw
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlh
RGVjb2RpbmdUeXBlLmgKQEAgLTI3LDkgKzI3LDIxIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotZW51bSBjbGFzcyBNZWRpYURlY29kaW5nVHlwZSB7CitlbnVtIGNsYXNzIE1lZGlhRGVjb2Rp
bmdUeXBlIDogYm9vbCB7CiAgICAgRmlsZSwKICAgICBNZWRpYVNvdXJjZSwKIH07CiAKIH0KKwor
bmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6
TWVkaWFEZWNvZGluZ1R5cGU+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAg
ICAgICBXZWJDb3JlOjpNZWRpYURlY29kaW5nVHlwZSwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFE
ZWNvZGluZ1R5cGU6OkZpbGUsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhRGVjb2RpbmdUeXBlOjpN
ZWRpYVNvdXJjZQorICAgID47Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbi5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ0Nv
bmZpZ3VyYXRpb24uaAppbmRleCA3MjliM2ExYmVhN2IyMzllZmMxNDc0ZDc0ZTY1MTEzMzYzYTMz
ODFkLi5iZjc4OGQzYmZjMDgyNzE3YzRiMGNlYjEyNmJkMGYzNTBjNGYzYmRkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5n
Q29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJp
bGl0aWVzL01lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmgKQEAgLTMyLDYgKzMyLDM1IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uIDog
TWVkaWFDb25maWd1cmF0aW9uIHsKICAgICBNZWRpYUVuY29kaW5nVHlwZSB0eXBlOworCisgICAg
dGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAg
IHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBPcHRpb25hbDxNZWRpYUVuY29kaW5nQ29u
ZmlndXJhdGlvbj4gZGVjb2RlKERlY29kZXImKTsKIH07CiAKK3RlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+Cit2b2lkIE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uOjplbmNvZGUoRW5jb2RlciYgZW5j
b2RlcikgY29uc3QKK3sKKyAgICBNZWRpYUNvbmZpZ3VyYXRpb246OmVuY29kZShlbmNvZGVyKTsK
KyAgICBlbmNvZGVyIDw8IHR5cGU7CiB9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+CitPcHRp
b25hbDxNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbj4gTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRp
b246OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIGF1dG8gbWVkaWFDb25maWd1cmF0
aW9uID0gTWVkaWFDb25maWd1cmF0aW9uOjpkZWNvZGUoZGVjb2Rlcik7CisgICAgaWYgKCFtZWRp
YUNvbmZpZ3VyYXRpb24pCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRp
b25hbDxNZWRpYUVuY29kaW5nVHlwZT4gdHlwZTsKKyAgICBkZWNvZGVyID4+IHR5cGU7CisgICAg
aWYgKCF0eXBlKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgcmV0dXJuIHt7
CisgICAgICAgICptZWRpYUNvbmZpZ3VyYXRpb24sCisgICAgICAgICp0eXBlLAorICAgIH19Owor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdUeXBlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5nVHlwZS5oCmlu
ZGV4IGE4N2QwZjI1ODE0ZDE2MDQxZjQ5YzgwMGY2YmNhZDdiZDllMzg0ZDguLjAxMmE4YzZkNTM5
NjdkOWI0ZWRjMjIyM2FlNDkwMDUzMWY1ZjFmZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdUeXBlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ1R5cGUu
aApAQCAtMjcsOSArMjcsMjIgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIGNsYXNz
IE1lZGlhRW5jb2RpbmdUeXBlIHsKK2VudW0gY2xhc3MgTWVkaWFFbmNvZGluZ1R5cGUgOiBib29s
IHsKICAgICBSZWNvcmQsCiAgICAgVHJhbnNtaXNzaW9uLAogfTsKIAogfQorCituYW1lc3BhY2Ug
V1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpNZWRpYUVuY29k
aW5nVHlwZT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNv
cmU6Ok1lZGlhRW5jb2RpbmdUeXBlLAorICAgICAgICBXZWJDb3JlOjpNZWRpYUVuY29kaW5nVHlw
ZTo6UmVjb3JkLAorICAgICAgICBXZWJDb3JlOjpNZWRpYUVuY29kaW5nVHlwZTo6VHJhbnNtaXNz
aW9uCisgICAgPjsKK307CisKK30KKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5LmNwcAppbmRleCA4ZmZhNmE5Y2M1ZGY5NDkwNjQ3YTVmZTQ5ZDYy
OTIyMGQwNGY2M2Q2Li4wNTBjZGY5ZmM1MzIwMmQ4MTAwYmVmNzMyMzM3NTliNjc0YmM3OGE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRp
YUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmNw
cApAQCAtNTMsMzMgKzUzLDQ4IEBAIHN0YXRpYyBib29sJiBtb2NrRW5hYmxlZCgpCiAgICAgcmV0
dXJuIGVuYWJsZWQ7CiB9CiAKLXN0cnVjdCBNZWRpYUVuZ2luZUZhY3RvcnkgewotICAgIHZvaWQo
KmNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbikoTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24m
JiwgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6RGVjb2RpbmdDb25maWd1cmF0aW9u
Q2FsbGJhY2smJik7Ci0gICAgdm9pZCgqY3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uKShNZWRp
YUVuY29kaW5nQ29uZmlndXJhdGlvbiYmLCBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
OjpFbmNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayYmKTsKLX07Ci0KLXVzaW5nIEZhY3RvcnlW
ZWN0b3IgPSBWZWN0b3I8TWVkaWFFbmdpbmVGYWN0b3J5PjsKLXN0YXRpYyBjb25zdCBGYWN0b3J5
VmVjdG9yJiBmYWN0b3JpZXMoKQordXNpbmcgRmFjdG9yeVZlY3RvciA9IFZlY3RvcjxNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpNZWRpYUVuZ2luZUZhY3Rvcnk+Oworc3RhdGljIEZh
Y3RvcnlWZWN0b3IgZGVmYXVsdEZhY3RvcmllcygpCiB7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJv
eWVkPEZhY3RvcnlWZWN0b3I+IGZhY3RvcmllcyA9IG1ha2VOZXZlckRlc3Ryb3llZChGYWN0b3J5
VmVjdG9yKHsKKyAgICBGYWN0b3J5VmVjdG9yIGZhY3RvcmllczsKICNpZiBQTEFURk9STShDT0NP
QSkKLSAgICAgICAgeyAmY3JlYXRlTWVkaWFQbGF5ZXJEZWNvZGluZ0NvbmZpZ3VyYXRpb25Db2Nv
YSwgbnVsbHB0ciB9LAorICAgIGZhY3Rvcmllcy5hcHBlbmQoeyAmY3JlYXRlTWVkaWFQbGF5ZXJE
ZWNvZGluZ0NvbmZpZ3VyYXRpb25Db2NvYSwgbnVsbHB0ciB9KTsKICNlbmRpZgogI2lmIFVTRShH
U1RSRUFNRVIpCi0gICAgICAgIHsgJmNyZWF0ZU1lZGlhUGxheWVyRGVjb2RpbmdDb25maWd1cmF0
aW9uR1N0cmVhbWVyLCAmY3JlYXRlTWVkaWFQbGF5ZXJFbmNvZGluZ0NvbmZpZ3VyYXRpb25HU3Ry
ZWFtZXIgfSwKKyAgICBmYWN0b3JpZXMuYXBwZW5kKHsgJmNyZWF0ZU1lZGlhUGxheWVyRGVjb2Rp
bmdDb25maWd1cmF0aW9uR1N0cmVhbWVyLCAmY3JlYXRlTWVkaWFQbGF5ZXJFbmNvZGluZ0NvbmZp
Z3VyYXRpb25HU3RyZWFtZXIgfSk7CiAjZW5kaWYKLSAgICB9KSk7CiAgICAgcmV0dXJuIGZhY3Rv
cmllczsKIH0KIAorc3RhdGljIEZhY3RvcnlWZWN0b3ImIGZhY3RvcmllcygpCit7CisgICAgc3Rh
dGljIGF1dG8gZmFjdG9yaWVzID0gbWFrZU5ldmVyRGVzdHJveWVkPEZhY3RvcnlWZWN0b3I+KGRl
ZmF1bHRGYWN0b3JpZXMoKSk7CisgICAgcmV0dXJuIGZhY3RvcmllczsKK30KKwordm9pZCBNZWRp
YUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjbGVhckZhY3RvcmllcygpCit7CisgICAgZmFj
dG9yaWVzKCkuY2xlYXIoKTsKK30KKwordm9pZCBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0
b3J5OjpyZXNldEZhY3RvcmllcygpCit7CisgICAgZmFjdG9yaWVzKCkgPSBkZWZhdWx0RmFjdG9y
aWVzKCk7Cit9CisKK3ZvaWQgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6aW5zdGFs
bEZhY3RvcnkoTWVkaWFFbmdpbmVGYWN0b3J5JiYgZmFjdG9yeSkKK3sKKyAgICBmYWN0b3JpZXMo
KS5hcHBlbmQoV1RGTW92ZShmYWN0b3J5KSk7Cit9CisKIGJvb2wgTWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeTo6aGFzRGVjb2RpbmdDb25maWd1cmF0aW9uRmFjdG9yeSgpCiB7Ci0gICAg
cmV0dXJuIG1vY2tFbmFibGVkKCkgfHwgV1RGOjphbnlPZihmYWN0b3JpZXMoKSwgW10gKGF1dG8m
IGZhY3RvcnkpIHsgcmV0dXJuIGZhY3RvcnkuY3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uOyB9
KTsKKyAgICByZXR1cm4gbW9ja0VuYWJsZWQoKSB8fCBXVEY6OmFueU9mKGZhY3RvcmllcygpLCBb
XSAoYXV0byYgZmFjdG9yeSkgeyByZXR1cm4gKGJvb2wpZmFjdG9yeS5jcmVhdGVEZWNvZGluZ0Nv
bmZpZ3VyYXRpb247IH0pOwogfQogCiBib29sIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnk6Omhhc0VuY29kaW5nQ29uZmlndXJhdGlvbkZhY3RvcnkoKQogewotICAgIHJldHVybiBtb2Nr
RW5hYmxlZCgpIHx8IFdURjo6YW55T2YoZmFjdG9yaWVzKCksIFtdIChhdXRvJiBmYWN0b3J5KSB7
IHJldHVybiBmYWN0b3J5LmNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbjsgfSk7CisgICAgcmV0
dXJuIG1vY2tFbmFibGVkKCkgfHwgV1RGOjphbnlPZihmYWN0b3JpZXMoKSwgW10gKGF1dG8mIGZh
Y3RvcnkpIHsgcmV0dXJuIChib29sKWZhY3RvcnkuY3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9u
OyB9KTsKIH0KIAogdm9pZCBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjcmVhdGVE
ZWNvZGluZ0NvbmZpZ3VyYXRpb24oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24mJiBjb25maWcs
IE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkRlY29kaW5nQ29uZmlndXJhdGlvbkNh
bGxiYWNrJiYgY2FsbGJhY2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuZ2luZUNvbmZpZ3Vy
YXRpb25GYWN0b3J5LmgKaW5kZXggMTk3NzkzYjFjOTRhZWVkNWZjY2IyYjM2YTlkMjFiY2YzMjQy
NDI3My4uMzE4NTlkMTlmNGE2MTdhNzRjZDk1NGNmMTI3NWFjYmY5M2VjNDkzOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmdpbmVD
b25maWd1cmF0aW9uRmFjdG9yeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
Y2FwYWJpbGl0aWVzL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaApAQCAtNDQsOSAr
NDQsMjEgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGhhc0RlY29kaW5nQ29uZmlndXJhdGlv
bkZhY3RvcnkoKTsKICAgICBzdGF0aWMgYm9vbCBoYXNFbmNvZGluZ0NvbmZpZ3VyYXRpb25GYWN0
b3J5KCk7CiAKLSAgICBzdGF0aWMgdm9pZCBjcmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24oTWVk
aWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24mJiwgRGVjb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2sm
Jik7Ci0gICAgc3RhdGljIHZvaWQgY3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uKE1lZGlhRW5j
b2RpbmdDb25maWd1cmF0aW9uJiYsIEVuY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYpOwor
ICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlv
bihNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiYmLCBEZWNvZGluZ0NvbmZpZ3VyYXRpb25DYWxs
YmFjayYmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBjcmVhdGVFbmNvZGluZ0Nv
bmZpZ3VyYXRpb24oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiwgRW5jb2RpbmdDb25maWd1
cmF0aW9uQ2FsbGJhY2smJik7CisgICAgCisgICAgdXNpbmcgQ3JlYXRlRGVjb2RpbmdDb25maWd1
cmF0aW9uID0gV1RGOjpGdW5jdGlvbjx2b2lkKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uJiYs
IERlY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYpPjsKKyAgICB1c2luZyBDcmVhdGVFbmNv
ZGluZ0NvbmZpZ3VyYXRpb24gPSBXVEY6OkZ1bmN0aW9uPHZvaWQoTWVkaWFFbmNvZGluZ0NvbmZp
Z3VyYXRpb24mJiwgRW5jb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2smJik+OwogCisgICAgc3Ry
dWN0IE1lZGlhRW5naW5lRmFjdG9yeSB7CisgICAgICAgIENyZWF0ZURlY29kaW5nQ29uZmlndXJh
dGlvbiBjcmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRpb247CisgICAgICAgIENyZWF0ZUVuY29kaW5n
Q29uZmlndXJhdGlvbiBjcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb247CisgICAgfTsKKyAgICAK
KyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBjbGVhckZhY3RvcmllcygpOworICAgIFdF
QkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHJlc2V0RmFjdG9yaWVzKCk7CisgICAgV0VCQ09SRV9F
WFBPUlQgc3RhdGljIHZvaWQgaW5zdGFsbEZhY3RvcnkoTWVkaWFFbmdpbmVGYWN0b3J5JiYpOwor
ICAgIAogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGVuYWJsZU1vY2soKTsKICAgICBX
RUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBkaXNhYmxlTW9jaygpOwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1RyYW5zZmVyRnVuY3Rp
b24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1RyYW5zZmVy
RnVuY3Rpb24uaAppbmRleCBiMTQ1YjNhYmJkOWZjYzUxOGUzODZmZjQxOWI2ZDJiZWY5N2YzZjQ2
Li41ZDNlMTdkYTk3Mjg0OTdhODc0ZWM1MTJhYWJmOTg2MjRlODM4NDI4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9UcmFuc2ZlckZ1bmN0aW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvVHJhbnNm
ZXJGdW5jdGlvbi5oCkBAIC0yNywxMCArMjcsMjMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1lbnVtIGNsYXNzIFRyYW5zZmVyRnVuY3Rpb24geworZW51bSBjbGFzcyBUcmFuc2ZlckZ1bmN0
aW9uIDogdWludDhfdCB7CiAgICAgU1JHQiwKICAgICBQUSwKICAgICBITEcKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4gc3RydWN0
IEVudW1UcmFpdHM8V2ViQ29yZTo6VHJhbnNmZXJGdW5jdGlvbj4geworICAgIHVzaW5nIHZhbHVl
cyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OlRyYW5zZmVyRnVuY3Rpb24sCisgICAg
ICAgIFdlYkNvcmU6OlRyYW5zZmVyRnVuY3Rpb246OlNSR0IsCisgICAgICAgIFdlYkNvcmU6OlRy
YW5zZmVyRnVuY3Rpb246OlBRLAorICAgICAgICBXZWJDb3JlOjpUcmFuc2ZlckZ1bmN0aW9uOjpI
TEcKKyAgICA+OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFjYXBhYmlsaXRpZXMvVmlkZW9Db25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaAppbmRleCBjZDlk
Y2EzYzY3MDUwMDdmMmI5ZTg2OWNlMGQ1ZWNmZjVlYzJlODA1Li40MTcwODZhNjUwNGQ3ZWE0ZDlm
MTNkZWYwMGQ4ZDNkMWU0NjAyNzJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaApAQCAt
NDMsNiArNDMsODQgQEAgc3RydWN0IFZpZGVvQ29uZmlndXJhdGlvbiB7CiAgICAgT3B0aW9uYWw8
Q29sb3JHYW11dD4gY29sb3JHYW11dDsKICAgICBPcHRpb25hbDxIZHJNZXRhZGF0YVR5cGU+IGhk
ck1ldGFkYXRhVHlwZTsKICAgICBPcHRpb25hbDxUcmFuc2ZlckZ1bmN0aW9uPiB0cmFuc2ZlckZ1
bmN0aW9uOworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2Rl
ciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBPcHRpb25hbDxW
aWRlb0NvbmZpZ3VyYXRpb24+IGRlY29kZShEZWNvZGVyJik7CiB9OwogCit0ZW1wbGF0ZTxjbGFz
cyBFbmNvZGVyPgordm9pZCBWaWRlb0NvbmZpZ3VyYXRpb246OmVuY29kZShFbmNvZGVyJiBlbmNv
ZGVyKSBjb25zdAoreworICAgIGVuY29kZXIgPDwgY29udGVudFR5cGU7CisgICAgZW5jb2RlciA8
PCB3aWR0aDsKKyAgICBlbmNvZGVyIDw8IGhlaWdodDsKKyAgICBlbmNvZGVyIDw8IGJpdHJhdGU7
CisgICAgZW5jb2RlciA8PCBmcmFtZXJhdGU7CisgICAgZW5jb2RlciA8PCBhbHBoYUNoYW5uZWw7
CisgICAgZW5jb2RlciA8PCBjb2xvckdhbXV0OworICAgIGVuY29kZXIgPDwgaGRyTWV0YWRhdGFU
eXBlOworICAgIGVuY29kZXIgPDwgdHJhbnNmZXJGdW5jdGlvbjsKIH0KKwordGVtcGxhdGU8Y2xh
c3MgRGVjb2Rlcj4KK09wdGlvbmFsPFZpZGVvQ29uZmlndXJhdGlvbj4gVmlkZW9Db25maWd1cmF0
aW9uOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBPcHRpb25hbDxTdHJpbmc+IGNv
bnRlbnRUeXBlOworICAgIGRlY29kZXIgPj4gY29udGVudFR5cGU7CisgICAgaWYgKCFjb250ZW50
VHlwZSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPHVpbnQz
Ml90PiB3aWR0aDsKKyAgICBkZWNvZGVyID4+IHdpZHRoOworICAgIGlmICghd2lkdGgpCisgICAg
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDx1aW50MzJfdD4gaGVpZ2h0
OworICAgIGRlY29kZXIgPj4gaGVpZ2h0OworICAgIGlmICghaGVpZ2h0KQorICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8dWludDY0X3Q+IGJpdHJhdGU7CisgICAg
ZGVjb2RlciA+PiBiaXRyYXRlOworICAgIGlmICghYml0cmF0ZSkKKyAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPGRvdWJsZT4gZnJhbWVyYXRlOworICAgIGRlY29k
ZXIgPj4gZnJhbWVyYXRlOworICAgIGlmICghZnJhbWVyYXRlKQorICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8T3B0aW9uYWw8Ym9vbD4+IGFscGhhQ2hhbm5lbDsK
KyAgICBkZWNvZGVyID4+IGFscGhhQ2hhbm5lbDsKKyAgICBpZiAoIWFscGhhQ2hhbm5lbCkKKyAg
ICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPE9wdGlvbmFsPENvbG9y
R2FtdXQ+PiBjb2xvckdhbXV0OworICAgIGRlY29kZXIgPj4gY29sb3JHYW11dDsKKyAgICBpZiAo
IWNvbG9yR2FtdXQpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25h
bDxPcHRpb25hbDxIZHJNZXRhZGF0YVR5cGU+PiBoZHJNZXRhZGF0YVR5cGU7CisgICAgZGVjb2Rl
ciA+PiBoZHJNZXRhZGF0YVR5cGU7CisgICAgaWYgKCFoZHJNZXRhZGF0YVR5cGUpCisgICAgICAg
IHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxPcHRpb25hbDxUcmFuc2ZlckZ1
bmN0aW9uPj4gdHJhbnNmZXJGdW5jdGlvbjsKKyAgICBkZWNvZGVyID4+IHRyYW5zZmVyRnVuY3Rp
b247CisgICAgaWYgKCF0cmFuc2ZlckZ1bmN0aW9uKQorICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OworCisgICAgcmV0dXJuIHt7CisgICAgICAgICpjb250ZW50VHlwZSwKKyAgICAgICAgKndp
ZHRoLAorICAgICAgICAqaGVpZ2h0LAorICAgICAgICAqYml0cmF0ZSwKKyAgICAgICAgKmZyYW1l
cmF0ZSwKKyAgICAgICAgKmFscGhhQ2hhbm5lbCwKKyAgICAgICAgKmNvbG9yR2FtdXQsCisgICAg
ICAgICpoZHJNZXRhZGF0YVR5cGUsCisgICAgICAgICp0cmFuc2ZlckZ1bmN0aW9uLAorICAgIH19
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dAppbmRleCA4OGUx
NTFiMTIyMjRmZWJjYzg5M2I1M2Q2ODVlM2VjMWIwMTBjZDQ1Li43YWY2MTViMTU3YWJlMzc2MzIz
MDcxZDE3MjA3NDVkZDZlMTE2ZjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlz
dHMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKQEAgLTEzNSw2ICsxMzUs
NyBAQCBzZXQoV2ViS2l0X01FU1NBR0VTX0lOX0ZJTEVTCiAgICAgR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVMZWdhY3lDRE1GYWN0b3J5UHJveHkKICAgICBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxl
Z2FjeUNETVByb3h5CiAgICAgR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1TZXNzaW9u
UHJveHkKKyAgICBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3RvcnlQcm94eQogICAgIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5h
Z2VyUHJveHkKICAgICBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkKICAg
ICBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2Uv
V2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggZTUxY2FlZDIxZTE4
NmNmMmExNzNjYjhhMzMzMTJiZTBiMzA0YmIwMC4uMjY3Y2RkMjk0M2UxNDZmMDVjYzhlN2MzMTAy
MjM5ZGJmNmJlM2I1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1p
bnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQu
eGNmaWxlbGlzdApAQCAtMzMsNiArMzMsNyBAQCAkKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZUNETVByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZUxlZ2FjeUNETUZhY3RvcnlQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNU
X0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1Qcm94eS5tZXNzYWdlcy5pbgog
JChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJv
eHkubWVzc2FnZXMuaW4KKyQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVk
aWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1Rf
RElSKS9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Lm1lc3Nh
Z2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVy
UHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFSZXNvdXJjZU1hbmFnZXIubWVzc2FnZXMuaW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2
ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IGU4OGIyYzIxZmE3MTdjNzdkMjMwMmNi
NTE4YmE0YWQzZWRlMjU3NGEuLjYwZDQ0MzAyNmYzNmQ0OTNhY2I2Mjc5ZDhmN2EwYzMxZWEyYjQ2
MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QKKysrIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlz
dApAQCAtMTkzLDYgKzE5Myw5IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQyL1JlbW90ZUxlZ2FjeUNETVNlc3Npb25NZXNzYWdlc1JlcGxpCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVMZWdhY3lDRE1TZXNzaW9u
UHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJveHlNZXNzYWdlcy5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVMZWdhY3lDRE1T
ZXNzaW9uUHJveHlNZXNzYWdlc1JlcGxpZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVBy
b3h5TWVzc2FnZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5TWVz
c2FnZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVt
b3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZXNSZXBsaWVzLmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlh
UGxheWVyTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlck1lc3NhZ2VzLmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlh
UGxheWVyTWFuYWdlck1lc3NhZ2VzUmVwbGllcy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UK
aW5kZXggNjgxNDg1NWZmOWQyM2FmMGE3N2U1ZmRhNmRmZDJmZDU1MDk3NmY2OS4uMzU4Zjc0YmJk
MzI1MTY0ZDI5NTc2MjAxMjdlNGE2MDJkOTJkN2E1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMu
bWFrZQpAQCAtMjQ2LDYgKzI0Niw3IEBAIE1FU1NBR0VfUkVDRUlWRVJTID0gXAogCUdQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlQ0RNRmFjdG9yeVByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90
ZUNETUluc3RhbmNlUHJveHkgXAogCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNUHJv
eHkgXAorCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFj
dG9yeVByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclBy
b3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkgXAogCUdQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCmluZGV4
IDZhOGNhMmY5OTU4NzdjMjgxZDQ3ODkwMzNhMzQzNjU3OWNkMzZjNjkuLjBjMjYxNjg2NTdhYThj
NDczMzkxOTk0ZWVmMDIzNzJjNmM4OTI3YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKQEAgLTEwMiw2ICsxMDIs
MTEgQEAKICNpbmNsdWRlICJSZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJveHlNZXNzYWdlcy5oIgog
I2VuZGlmCiAKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5LmgiCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZXMuaCIKKyNlbmRpZgorCiBuYW1l
c3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCkBAIC0zMzksNiArMzQ0
LDE1IEBAIFJlbW90ZUxlZ2FjeUNETUZhY3RvcnlQcm94eSYgR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzczo6bGVnYWN5Q2RtRmFjdG9yeVByb3h5KCkKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKEdQ
VV9QUk9DRVNTKQorUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5JiBH
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjptZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
UHJveHkoKQoreworICAgIGlmICghbV9tZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJv
eHkpCisgICAgICAgIG1fbWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5ID0gbWFr
ZVVuaXF1ZTxSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHk+KCp0aGlz
KTsKKyAgICByZXR1cm4gKm1fbWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5Owor
fQorI2VuZGlmCisKIGJvb2wgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlzcGF0Y2hNZXNz
YWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZWNvZGVyKQog
ewogI2lmIEVOQUJMRShXRUJfQVVESU8pCkBAIC00MTQsNiArNDI4LDEwIEBAIGJvb2wgR1BVQ29u
bmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlzcGF0Y2hNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29u
bmVjdGlvbiwgSVBDCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICNlbmRpZgorICAgIGlm
IChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6UmVtb3RlTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsK
KyAgICAgICAgbWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5KCkuZGlkUmVjZWl2
ZU1lc3NhZ2VGcm9tV2ViUHJvY2Vzcyhjb25uZWN0aW9uLCBkZWNvZGVyKTsKKyAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgfQogCiAgICAgcmV0dXJuIG1lc3NhZ2VSZWNlaXZlck1hcCgpLmRpc3Bh
dGNoTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCmluZGV4IDBkNzA5ZGY1
ZTUxNWEyMTgwYzA4ZmM2MjBkZGRhZDRjYzZkZThkMmYuLmUzM2Y3MzgxM2JmNjAwZTdhOTFiYTY5
MjUzMTEyODhjZDc5ZWFiMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaApAQCAtNDksNiArNDksNyBAQCBjbGFzcyBSZW1v
dGVBdWRpb1Nlc3Npb25Qcm94eTsKIGNsYXNzIFJlbW90ZUF1ZGlvU2Vzc2lvblByb3h5TWFuYWdl
cjsKIGNsYXNzIFJlbW90ZUNETUZhY3RvcnlQcm94eTsKIGNsYXNzIFJlbW90ZUxlZ2FjeUNETUZh
Y3RvcnlQcm94eTsKK2NsYXNzIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQ
cm94eTsKIGNsYXNzIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OwogY2xhc3MgUmVtb3Rl
TWVkaWFSZWNvcmRlck1hbmFnZXI7CiBjbGFzcyBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlcjsK
QEAgLTkzLDYgKzk0LDkgQEAgcHVibGljOgogI2VuZGlmCiAjaWYgRU5BQkxFKExFR0FDWV9FTkNS
WVBURURfTUVESUEpCiAgICAgUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5JiBsZWdhY3lDZG1G
YWN0b3J5UHJveHkoKTsKKyNlbmRpZgorI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKKyAgICBSZW1v
dGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkmIG1lZGlhRW5naW5lQ29uZmln
dXJhdGlvbkZhY3RvcnlQcm94eSgpOwogI2VuZGlmCiAgICAgUmVtb3RlTWVkaWFQbGF5ZXJNYW5h
Z2VyUHJveHkmIHJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5KCk7CiAKQEAgLTE5MCw2ICsx
OTQsOSBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQogICAg
IHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVMZWdhY3lDRE1GYWN0b3J5UHJveHk+IG1fbGVnYWN5Q2Rt
RmFjdG9yeVByb3h5OwogI2VuZGlmCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorICAgIHN0ZDo6
dW5pcXVlX3B0cjxSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHk+IG1f
bWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5OworI2VuZGlmCiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuY3BwIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3RvcnlQcm94eS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTY4NDA4YTA4MjNlMmE4MzI1MjhlMDFiOTA2
OWEyZjU2MjI4OGZiYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuY3BwCkBA
IC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5LmgiCisKKyNpZiBF
TkFCTEUoR1BVX1BST0NFU1MpCisKKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhQ2FwYWJpbGl0aWVz
RGVjb2RpbmdJbmZvLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYUNhcGFiaWxpdGllc0VuY29k
aW5nSW5mby5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24u
aD4KKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmg+CisjaW5j
bHVkZSA8V2ViQ29yZS9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Lmg+CisjaW5jbHVk
ZSA8d3RmL0FsZ29yaXRobXMuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3VzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOworCitSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJv
eHk6OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eShHUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzJiBjb25uZWN0aW9uKQorICAgIDogbV9ncHVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzKGNvbm5lY3Rpb24pCit7Cit9CisKK1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3RvcnlQcm94eTo6flJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94
eSgpID0gZGVmYXVsdDsKKwordm9pZCBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0
b3J5UHJveHk6OiBjcmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24oV2ViQ29yZTo6TWVkaWFEZWNv
ZGluZ0NvbmZpZ3VyYXRpb24mJiBjb25maWd1cmF0aW9uLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvJiYpPiYmIGNvbXBsZXRpb24p
Cit7CisgICAgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6Y3JlYXRlRGVjb2RpbmdD
b25maWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbiksIFtjb21wbGV0aW9uID0gV1RGTW92
ZShjb21wbGV0aW9uKV0gKGF1dG8gaW5mbykgbXV0YWJsZSB7CisgICAgICAgIGNvbXBsZXRpb24o
V1RGTW92ZShpbmZvKSk7CisgICAgfSk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeVByb3h5OjpjcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24oV2ViQ29y
ZTo6TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiBjb25maWd1cmF0aW9uLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvJiYpPiYm
IGNvbXBsZXRpb24pCit7CisgICAgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6Y3Jl
YXRlRW5jb2RpbmdDb25maWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbiksIFtjb21wbGV0
aW9uID0gV1RGTW92ZShjb21wbGV0aW9uKV0gKGF1dG8gaW5mbykgbXV0YWJsZSB7CisgICAgICAg
IGNvbXBsZXRpb24oV1RGTW92ZShpbmZvKSk7CisgICAgfSk7Cit9CisKK30KKworI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5LmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTQ2ZDc4OGI3MTZjNmRlMTcxMjUwODFiNmY5OTg5MWMwNWFmN2MxNwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuaApAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisKKyNpbmNsdWRlICJD
b25uZWN0aW9uLmgiCisjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCisjaW5jbHVkZSA8V2Vi
Q29yZS9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Lmg+CisjaW5jbHVkZSA8d3RmL1Vu
aXF1ZVJlZi5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKK25hbWVzcGFjZSBXZWJLaXQg
eworCitjbGFzcyBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOworCitjbGFzcyBSZW1vdGVNZWRp
YUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkgZmluYWwgOiBwcml2YXRlIElQQzo6TWVz
c2FnZVJlY2VpdmVyLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8UmVtb3RlTWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeVByb3h5PiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Citw
dWJsaWM6CisgICAgUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5KEdQ
VUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmKTsKKyAgICB2aXJ0dWFsIH5SZW1vdGVNZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkoKTsKKworICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3Nh
Z2VGcm9tV2ViUHJvY2VzcyhJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQzo6RGVjb2Rl
ciYgZGVjb2RlcikgeyBkaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsgfQor
CisgICAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2Vz
cygpIGNvbnN0IHsgcmV0dXJuIG1fZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2VzczsgfQorCitwcml2
YXRlOgorICAgIGZyaWVuZCBjbGFzcyBHUFVQcm9jZXNzQ29ubmVjdGlvbjsKKyAgICAvLyBJUEM6
Ok1lc3NhZ2VSZWNlaXZlcgorICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0
aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CisKKyAgICAvLyBNZXNzYWdlcworICAgIHZvaWQg
Y3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKFdlYkNvcmU6Ok1lZGlhRGVjb2RpbmdDb25maWd1
cmF0aW9uJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6TWVkaWFDYXBhYmlsaXRp
ZXNEZWNvZGluZ0luZm8mJik+JiYpOworICAgIHZvaWQgY3JlYXRlRW5jb2RpbmdDb25maWd1cmF0
aW9uKFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uJiYsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoV2ViQ29yZTo6TWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8mJik+JiYpOwor
CisgICAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgbV9ncHVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOworfTsKKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkubWVz
c2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5Lm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2YTFl
NzQ0YjllZjFhOTgxMGYzMTkyZGJhNjI5YTUzYzk5ZTdhYjEKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0wLDAgKzEsMzIgQEAKKyMgQ29weXJpZ2h0
IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisjICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworIyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyMgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorIyBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorIyBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorIyBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyMgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyMgQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyMgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorIyBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisKK21l
c3NhZ2VzIC0+IFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eSBOb3RS
ZWZDb3VudGVkIHsKKyAgICBDcmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24oc3RydWN0IFdlYkNv
cmU6Ok1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24pIC0+IChzdHJ1Y3Qg
V2ViQ29yZTo6TWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8gZGVjb2RpbmdJbmZvKSBBc3lu
YworICAgIENyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbihzdHJ1Y3QgV2ViQ29yZTo6TWVkaWFF
bmNvZGluZ0NvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbikgLT4gKHN0cnVjdCBXZWJDb3JlOjpN
ZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbyBkZWNvZGluZ0luZm8pIEFzeW5jCit9CisKKyNl
bmRpZgorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFTb3VyY2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFTb3VyY2VQcm94eS5jcHAKaW5kZXggYWY3YmU1MTJlYWMyZDFhZTY1NGFlMDljYjUy
ZDk0YjM5YjJjNjA3Ny4uNDk5YmQ2MWMyZjc4MjIyM2ZhMzhmYzk3YjE4MmZhNmQyYjkzODFkZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291
cmNlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVN
ZWRpYVNvdXJjZVByb3h5LmNwcApAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShHUFVfUFJP
Q0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKIAogI2luY2x1ZGUgIkdQVUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYVBsYXllclByb3h5LmgiCiAjaW5j
bHVkZSAiUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiUmVtb3Rl
U291cmNlQnVmZmVyUHJveHkuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0NvbnRlbnRUeXBlLmg+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYktpdC9Tb3Vy
Y2VzLnR4dAppbmRleCA0ZWE0YWZiZDY5ZjE4MGQ3OGU1OWJmYWUzMjVjNGVmNjRmNDQ5MjA2Li4x
NzM1MjM3ZDFlMjhmMWE5MDBlZWMzODUyMzJlMWYzNWMyNmUxNDk5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKQEAg
LTM3LDYgKzM3LDcgQEAgR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVDRE1Qcm94eS5jcHAKIEdQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5LmNwcAogR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVMZWdhY3lDRE1Qcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVn
YWN5Q0RNU2Vzc2lvblByb3h5LmNwcAorR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuY3BwCiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyTWFuYWdlclByb3h5LmNwcAogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBs
YXllclByb3h5LmNwcAogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlLmNwcApA
QCAtNTgyLDYgKzU4Myw3IEBAIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNl
U2Vzc2lvbi5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUxlZ2FjeUNETS5jcHAKIFdl
YlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUxlZ2FjeUNETUZhY3RvcnkuY3BwCiBXZWJQcm9jZXNz
L0dQVS9tZWRpYS9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uLmNwcAorV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5jcHAKIFdlYlByb2Nlc3Mv
R1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5jcHAKIFdlYlByb2Nlc3MvR1BVL21l
ZGlhL1JlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZS5jcHAgQG5vLXVuaWZ5CiBXZWJQcm9j
ZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlUHJveHkuY3BwCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA4ZTBkYmNiODg1OWIy
NjRjNTYyM2I5NDEyNzZiMjgzY2VkMWNmMzVhLi40ODAyYTUxODk3YTE0YWU1MDUzOWViMTk5MmRh
ZWYwNjM1ZDU0YmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTE4MDEsNiArMTgwMSw3IEBACiAJCUNEMEM2ODMxMjAxRkQxMDEwMEE1
OTQwOSAvKiBXS0Z1bGxTY3JlZW5WaWV3Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QwQzY4MkYyMDFGRDEwMTAwQTU5NDA5IC8qIFdL
RnVsbFNjcmVlblZpZXdDb250cm9sbGVyLmggKi87IH07CiAJCUNEMTlBMjZFMUExM0U4MzQwMDhE
NjUwRSAvKiBXZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QxOUEyNkExQTEzRTgyMTAwOEQ2NTBFIC8qIFdl
YkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggKi87IH07CiAJCUNEMTlEMkVBMjA0NjQwNkYwMDE3
MDc0QSAvKiBGdWxsc2NyZWVuVG91Y2hTZWNoZXVyaXN0aWMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEMTlEMkU4MjA0NjQwNkYwMDE3MDc0QSAvKiBG
dWxsc2NyZWVuVG91Y2hTZWNoZXVyaXN0aWMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQlDRDNFRUY0NjI1NzlDMjYxMDA2NTYzQkIgLyogUmVtb3Rl
TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEM0VFRjQ0MjU3
OUMxRDQwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJv
eHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQlDRDQ1NzBEMzI0NDExM0I1MDBBM0RDRUIg
LyogQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDQ1NzBEMDI0
NDEwMTRBMDBBM0RDRUIgLyogQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi87IH07CiAJCUNENDU3MEQ0MjQ0MTFEMEYwMEEzRENFQiAvKiBBdWRp
b1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRDQ1NzBDQjI0NDBGQjJBMDBBM0RDRUIgLyogQXVkaW9TZXNz
aW9uUm91dGluZ0FyYml0cmF0b3IuY3BwICovOyB9OwogCQlDRDQ2NjE4MzI0MDEwQTY3MDA0N0NB
MzUgLyogUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENDY2MTgxMjQwMTA1NjQw
MDQ3Q0EzNSAvKiBSZW1vdGVDRE1JbnN0YW5jZVNlc3Npb25NZXNzYWdlUmVjZWl2ZXIuY3BwICov
OyB9OwpAQCAtNTMwOSw2ICs1MzEwLDE0IEBACiAJCUNEMTlBMjZBMUExM0U4MjEwMDhENjUwRSAv
KiBXZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDRDE5RDJFODIwNDY0MDZGMDAxNzA3NEEgLyogRnVsbHNjcmVlblRvdWNoU2Vj
aGV1cmlzdGljLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZ1bGxzY3JlZW5Ub3VjaFNlY2hldXJpc3RpYy5o
OyBwYXRoID0gaW9zL2Z1bGxzY3JlZW4vRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEMTlEMkU5MjA0NjQwNkYwMDE3MDc0QSAvKiBG
dWxsc2NyZWVuVG91Y2hTZWNoZXVyaXN0aWMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRnVsbHNj
cmVlblRvdWNoU2VjaGV1cmlzdGljLmNwcDsgcGF0aCA9IGlvcy9mdWxsc2NyZWVuL0Z1bGxzY3Jl
ZW5Ub3VjaFNlY2hldXJpc3RpYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNE
M0VFRjMxMjU3OTk2MTgwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25G
YWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZh
Y3RvcnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0QzRUVGMzIyNTc5OTYxODAw
NjU2M0JCIC8qIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEM0VFRjMzMjU3OTk3MTcwMDY1NjNCQiAv
KiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEM0VFRjM0MjU3OTk3MTcwMDY1NjNCQiAvKiBSZW1v
dGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0QzRUVGMzUyNTc5OTc5NTAwNjU2M0JCIC8qIFJl
bW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlQcm94eS5tZXNzYWdlcy5pbiAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkubWVzc2FnZXMuaW47
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEM0VFRjQzMjU3OUMxRDQwMDY1NjNCQiAv
KiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHlNZXNzYWdlcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHlN
ZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDNFRUY0NDI1NzlDMUQ0
MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5TWVz
c2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbW90ZU1lZGlhRW5naW5lQ29u
ZmlndXJhdGlvbkZhY3RvcnlQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUNEM0VFRjQ1MjU3OUMxRDQwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHlNZXNzYWdlc1JlcGxpZXMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZXNS
ZXBsaWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENDU3MENBMjQ0MEZCMkEw
MEEzRENFQiAvKiBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDRDQ1NzBDQjI0NDBGQjJBMDBBM0RDRUIgLyogQXVkaW9TZXNzaW9uUm91dGluZ0Fy
Yml0cmF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0
cmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDQ1NzBEMDI0NDEwMTRB
MDBBM0RDRUIgLyogQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eU1lc3NhZ2VSZWNl
aXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRv
clByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTU4MDAsNiArNTgwOSw4IEBACiAJCQkJQ0RFNTU0RUUyNDA1ODFBMzAwOEEzRERCIC8qIFJlbW90
ZUxlZ2FjeUNETVNlc3Npb24uaCAqLywKIAkJCQlDREU1NTUwNTI0MDU4MzI0MDA4QTNEREIgLyog
UmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbi5tZXNzYWdlcy5pbiAqLywKIAkJCQlDREU1NTUwOTI0MDU4
OENCMDA4QTNEREIgLyogUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbklkZW50aWZpZXIuaCAqLywKKwkJ
CQlDRDNFRUYzMjI1Nzk5NjE4MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeS5jcHAgKi8sCisJCQkJQ0QzRUVGMzEyNTc5OTYxODAwNjU2M0JCIC8qIFJlbW90
ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaCAqLywKIAkJCQkwN0I5M0ZGNTIzQUYw
Q0I4MDAzNkY4RUEgLyogUmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uLmggKi8sCiAJCQkJ
MDc5MjMxMzAyMzlCM0IwQzAwOTU5OEUyIC8qIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5jcHAg
Ki8sCiAJCQkJMDc5MjMxMzQyMzlCM0IwQzAwOTU5OEUyIC8qIFJlbW90ZU1lZGlhUGxheWVyTWFu
YWdlci5oICovLApAQCAtNTg2NCw2ICs1ODc1LDkgQEAKIAkJCQlDREU1NTRGODI0MDU4MjA4MDA4
QTNEREIgLyogUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblByb3h5LmggKi8sCiAJCQkJQ0RFNTU1MDAy
NDA1ODI4NDAwOEEzRERCIC8qIFJlbW90ZUxlZ2FjeUNETVNlc3Npb25Qcm94eS5tZXNzYWdlcy5p
biAqLywKIAkJCQkxRDRGQjQwQzI1NjVDQkY5MDAxQUMyQUQgLyogUmVtb3RlTWVkaWFEZXNjcmlw
dGlvbi5oICovLAorCQkJCUNEM0VFRjM0MjU3OTk3MTcwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHkuY3BwICovLAorCQkJCUNEM0VFRjMzMjU3OTk3
MTcwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHku
aCAqLywKKwkJCQlDRDNFRUYzNTI1Nzk5Nzk1MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdpbmVD
b25maWd1cmF0aW9uRmFjdG9yeVByb3h5Lm1lc3NhZ2VzLmluICovLAogCQkJCTA3MjVFRkFEMjM5
QjAyNDUwMEE1MzhBOSAvKiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5jcHAgKi8sCiAJ
CQkJMDcyNUVGQUMyMzlBRTM4NTAwQTUzOEE5IC8qIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclBy
b3h5LmggKi8sCiAJCQkJMDcyNUVGQUIyMzlBRTM4NDAwQTUzOEE5IC8qIFJlbW90ZU1lZGlhUGxh
eWVyTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluICovLApAQCAtMTA1MzEsNiArMTA1NDUsOSBAQAog
CQkJCUNERTU1NTMxMjQwNkI4OTcwMDhBM0REQiAvKiBSZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJv
eHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCUNERTU1NTJGMjQwNkI4OTcwMDhBM0REQiAv
KiBSZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJveHlNZXNzYWdlcy5oICovLAogCQkJCUNERTU1NTI2
MjQwNkI4OTUwMDhBM0REQiAvKiBSZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJveHlNZXNzYWdlc1Jl
cGxpZXMuaCAqLywKKwkJCQlDRDNFRUY0NDI1NzlDMUQ0MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKKwkJ
CQlDRDNFRUY0MzI1NzlDMUQ0MDA2NTYzQkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeVByb3h5TWVzc2FnZXMuaCAqLywKKwkJCQlDRDNFRUY0NTI1NzlDMUQ0MDA2NTYz
QkIgLyogUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeVByb3h5TWVzc2FnZXNS
ZXBsaWVzLmggKi8sCiAJCQkJMDc5MjMxNDUyMzlDQkNCNzAwOTU5OEUyIC8qIFJlbW90ZU1lZGlh
UGxheWVyTWFuYWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQkwNzkyMzE0NjIz
OUNCQ0I3MDA5NTk4RTIgLyogUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHlNZXNzYWdlcy5o
ICovLAogCQkJCTA3OTIzMTQyMjM5Q0JDQjUwMDk1OThFMiAvKiBSZW1vdGVNZWRpYVBsYXllck1h
bmFnZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oICovLApAQCAtMTMzODgsNiArMTM0MDUsNyBAQAog
CQkJCUNERTU1NTMzMjQwNkVCOEMwMDhBM0REQiAvKiBSZW1vdGVMZWdhY3lDRE1Qcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDREU1NTUzNDI0MDZFQjhDMDA4QTNE
REIgLyogUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbk1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlDREU1NTUzNTI0MDZFQjhDMDA4QTNEREIgLyogUmVtb3RlTGVnYWN5Q0RNU2Vz
c2lvblByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUNEM0VFRjQ2
MjU3OUMyNjEwMDY1NjNCQiAvKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
UHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDc5MjMxNEIyMzlD
QkNCODAwOTU5OEUyIC8qIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5TWVzc2FnZVJlY2Vp
dmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3MDE3ODlFMjNCRTlDRkMwMDVGMEZBQSAvKiBS
ZW1vdGVNZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDcx
QkM1OEYyM0NFMUVBQTAwNjgwRDdDIC8qIFJlbW90ZU1lZGlhUGxheWVyUHJveHlNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCmluZGV4IGYwMDVhZDViYzM4Njg2NGQw
NjE4ODUyNmEzNDFlMWViN2FkMzQwMzMuLjExZmE3MGYyY2U5YjQzMzUxZTUzYjlhMWYzZjczZmNh
NTI4ZDc0YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJv
Y2Vzc0Nvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BV
UHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiUmVtb3Rl
Q0RNRmFjdG9yeS5oIgogI2luY2x1ZGUgIlJlbW90ZUNETVByb3h5LmgiCiAjaW5jbHVkZSAiUmVt
b3RlTGVnYWN5Q0RNRmFjdG9yeS5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhRW5naW5lQ29uZmln
dXJhdGlvbkZhY3RvcnkuaCIKICNpbmNsdWRlICJSZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaCIK
ICNpbmNsdWRlICJTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUg
IldlYkNvcmVBcmd1bWVudENvZGVycy5oIgpAQCAtMTMxLDYgKzEzMiwxMSBAQCBSZW1vdGVMZWdh
Y3lDRE1GYWN0b3J5JiBHUFVQcm9jZXNzQ29ubmVjdGlvbjo6bGVnYWN5Q0RNRmFjdG9yeSgpCiB9
CiAjZW5kaWYKIAorUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeSYgR1BVUHJv
Y2Vzc0Nvbm5lY3Rpb246Om1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkoKQoreworICAg
IHJldHVybiAqV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc3VwcGxlbWVudDxSZW1vdGVNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5PigpOworfQorCiBib29sIEdQVVByb2Nlc3NDb25uZWN0
aW9uOjpkaXNwYXRjaE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6OkRl
Y29kZXImIGRlY29kZXIpCiB7CiAgICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgp
ID09IE1lc3NhZ2VzOjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Om1lc3NhZ2VSZWNlaXZlck5h
bWUoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9j
ZXNzQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNz
Q29ubmVjdGlvbi5oCmluZGV4IDJjMGRmNWI5ZjU0OTY4NDdlZDY2OTEwYmYyZjM5YjJjZGM2MGNh
MDIuLjZjYWNmZmI0NDlkOTQ2Y2IyMjMwZTMwMzk4YjNhODdjM2M2ZTg2NzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmgKQEAg
LTQzLDYgKzQzLDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFJlbW90ZUF1ZGlvU291
cmNlUHJvdmlkZXJNYW5hZ2VyOwogY2xhc3MgUmVtb3RlQ0RNRmFjdG9yeTsKK2NsYXNzIFJlbW90
ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk7CiBjbGFzcyBSZW1vdGVNZWRpYVBsYXll
ck1hbmFnZXI7CiBjbGFzcyBSZW1vdGVMZWdhY3lDRE1GYWN0b3J5Owogc3RydWN0IFdlYlBhZ2VD
cmVhdGlvblBhcmFtZXRlcnM7CkBAIC04MCw2ICs4MSw4IEBAIHB1YmxpYzoKICAgICBSZW1vdGVM
ZWdhY3lDRE1GYWN0b3J5JiBsZWdhY3lDRE1GYWN0b3J5KCk7CiAjZW5kaWYKIAorICAgIFJlbW90
ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkmIG1lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3RvcnkoKTsKKwogICAgIHZvaWQgdXBkYXRlUGFyYW1ldGVycyhjb25zdCBXZWJQYWdlQ3Jl
YXRpb25QYXJhbWV0ZXJzJik7CiAKICNpZiBFTkFCTEUoVlA5KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFu
YWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlv
U291cmNlUHJvdmlkZXJNYW5hZ2VyLmNwcAppbmRleCBiOGY0NWE2ZDViYjRkYjQ2MDk4ODAxMjQz
YmI1ZTkzMTdiMWUzZTJiLi5lNjIwYmNjMzEzODMyNTQxZDRkMDM3YTczZjE5YjBiM2M4NWUxN2E1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1
ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyLmNwcApAQCAtMjYs
MTQgKzI2LDE2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUmVtb3RlQXVkaW9T
b3VyY2VQcm92aWRlck1hbmFnZXIuaCIKIAorI2luY2x1ZGUgIkdQVVByb2Nlc3NDb25uZWN0aW9u
LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2luY2x1ZGUgIlJlbW90ZUF1ZGlvU291cmNlUHJv
dmlkZXIuaCIKICNpbmNsdWRlICJSZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlck1lc3Nh
Z2VzLmgiCiAjaW5jbHVkZSAiU2hhcmVkUmluZ0J1ZmZlclN0b3JhZ2UuaCIKKyNpbmNsdWRlICJX
ZWJQcm9jZXNzLmgiCiAKICNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNT
KQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKLXVzaW5nIG5hbWVzcGFjZSBQQUw7CiB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIAogUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXI6OlJlbW90
ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIuaCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92
aWRlck1hbmFnZXIuaAppbmRleCBlNTllMWIwNmI0NDdlNWQ4MGNhNjEwNTJjNmM3YTMyYzRiYTE0
MmU2Li43MGU1ZGNiNWNkMDQ2ZWE2NDQ5ZTBmYjY3ZmIzNGIxYzI2MzlkY2YyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJv
dmlkZXJNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9S
ZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlci5oCkBAIC0yNyw2ICsyNyw4IEBACiAKICNp
ZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKQogCisjaW1wb3J0ICJDb25u
ZWN0aW9uLmgiCisjaW1wb3J0ICJTaGFyZWRNZW1vcnkuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0NB
QXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ0FSaW5nQnVmZmVy
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVBsYXllcklkZW50aWZpZXIuaD4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVD
b25maWd1cmF0aW9uRmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmEwYjcwYWU3YTE4ODE0YjRmZDg2MjFmYzQ2Zjk5N2ZkZjYxYjE1OTQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3RvcnkuY3BwCkBAIC0wLDAgKzEsOTUgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeS5oIgorCisjaW5jbHVkZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKKyNpbmNs
dWRlICJSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHlNZXNzYWdlcy5o
IgorI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhQ2FwYWJp
bGl0aWVzRGVjb2RpbmdJbmZvLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYUNhcGFiaWxpdGll
c0VuY29kaW5nSW5mby5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFEZWNvZGluZ0NvbmZpZ3Vy
YXRpb24uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmg+
CisjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Lmg+CisK
K25hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK1JlbW90ZU1l
ZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3RvcnkoV2ViUHJvY2VzcyYgcHJvY2VzcykKKyAgICA6IG1fcHJvY2Vzcyhwcm9jZXNz
KQoreworfQorCitSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Ojp+UmVtb3Rl
TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeSgpID0gZGVmYXVsdDsKKwordm9pZCBSZW1v
dGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpyZWdpc3RlckZhY3RvcnkoKQorewor
ICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OmNsZWFyRmFjdG9yaWVzKCk7Cisg
ICAgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6aW5zdGFsbEZhY3RvcnkoeworICAg
ICAgICBbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKV0gKE1lZGlhRGVjb2RpbmdDb25maWd1
cmF0aW9uJiYgY29uZmlndXJhdGlvbiwgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6
RGVjb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykgeworICAgICAgICAgICAg
aWYgKCF3ZWFrVGhpcykgeworICAgICAgICAgICAgICAgIGNhbGxiYWNrKHt7IH0sIFdURk1vdmUo
Y29uZmlndXJhdGlvbil9KTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIHdlYWtUaGlzLT5jcmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24oV1RG
TW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShjYWxsYmFjaykpOworICAgICAgICB9LAorICAg
ICAgICBbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKV0gKE1lZGlhRW5jb2RpbmdDb25maWd1
cmF0aW9uJiYgY29uZmlndXJhdGlvbiwgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6
RW5jb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykgeworICAgICAgICAgICAg
aWYgKCF3ZWFrVGhpcykgeworICAgICAgICAgICAgICAgIGNhbGxiYWNrKHt7IH0sIFdURk1vdmUo
Y29uZmlndXJhdGlvbil9KTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIHdlYWtUaGlzLT5jcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24oV1RG
TW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShjYWxsYmFjaykpOworICAgICAgICB9LAorICAg
IH0pOworfQorCitjb25zdCBjaGFyKiBSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0
b3J5OjpzdXBwbGVtZW50TmFtZSgpCit7CisgICAgcmV0dXJuICJSZW1vdGVNZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5IjsKK30KKworR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIFJlbW90ZU1l
ZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OmdwdVByb2Nlc3NDb25uZWN0aW9uKCkKK3sK
KyAgICByZXR1cm4gbV9wcm9jZXNzLmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9uKCk7Cit9CisK
K3ZvaWQgUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6Y3JlYXRlRGVjb2Rp
bmdDb25maWd1cmF0aW9uKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uJiYgY29uZmlndXJhdGlv
biwgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6RGVjb2RpbmdDb25maWd1cmF0aW9u
Q2FsbGJhY2smJiBjYWxsYmFjaykKK3sKKyAgICBncHVQcm9jZXNzQ29ubmVjdGlvbigpLmNvbm5l
Y3Rpb24oKS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OlJlbW90ZU1lZGlhRW5naW5lQ29u
ZmlndXJhdGlvbkZhY3RvcnlQcm94eTo6Q3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKFdURk1v
dmUoY29uZmlndXJhdGlvbikpLCBbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0gKE1lZGlh
Q2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvJiYgaW5mbykgbXV0YWJsZSB7CisgICAgICAgIGNhbGxi
YWNrKFdURk1vdmUoaW5mbykpOworICAgIH0pOworfQorCit2b2lkIFJlbW90ZU1lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3Rvcnk6OmNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbihNZWRpYUVu
Y29kaW5nQ29uZmlndXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIE1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3Rvcnk6OkVuY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYgY2FsbGJhY2spCit7
CisgICAgZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZFdpdGhBc3luY1Jl
cGx5KE1lc3NhZ2VzOjpSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5UHJveHk6
OkNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pKSwgW2Nh
bGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldIChNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5m
byYmIGluZm8pIG11dGFibGUgeworICAgICAgICBjYWxsYmFjayhXVEZNb3ZlKGluZm8pKTsKKyAg
ICB9KTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmggYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZh
Y3RvcnkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kYzUwNWQ1OWIxZTNmM2YyOGIwN2ZkNGM1N2UzMzM3YmVmMzI3
YzExCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmgKQEAgLTAsMCArMSw3MyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQor
CisjaW5jbHVkZSAiUmVtb3RlTGVnYWN5Q0RNSWRlbnRpZmllci5oIgorI2luY2x1ZGUgIlJlbW90
ZUxlZ2FjeUNETVNlc3Npb25JZGVudGlmaWVyLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzc1N1cHBs
ZW1lbnQuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnkuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+
CisKK25hbWVzcGFjZSBJUEMgeworY2xhc3MgQ29ubmVjdGlvbjsKK2NsYXNzIERlY29kZXI7Cit9
CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBHUFVQcm9jZXNzQ29ubmVjdGlvbjsKK2Ns
YXNzIFdlYlByb2Nlc3M7CisKK2NsYXNzIFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZh
Y3RvcnkgZmluYWwKKyAgICA6IHB1YmxpYyBXZWJQcm9jZXNzU3VwcGxlbWVudAorICAgICwgcHVi
bGljIENhbk1ha2VXZWFrUHRyPFJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk+
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBS
ZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5KFdlYlByb2Nlc3MmKTsKKyAgICB2
aXJ0dWFsIH5SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5KCk7CisKKyAgICB2
b2lkIHJlZ2lzdGVyRmFjdG9yeSgpOworCisgICAgc3RhdGljIGNvbnN0IGNoYXIqIHN1cHBsZW1l
bnROYW1lKCk7CisgICAgV2ViUHJvY2VzcyYgcHJvY2VzcygpIGNvbnN0IHsgcmV0dXJuIG1fcHJv
Y2VzczsgfQorCisgICAgR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIGdwdVByb2Nlc3NDb25uZWN0aW9u
KCk7CisKKyAgICB2b2lkIGRpZFJlY2VpdmVTZXNzaW9uTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24m
LCBJUEM6OkRlY29kZXImKTsKKworcHJpdmF0ZToKKyAgICB2b2lkIGNyZWF0ZURlY29kaW5nQ29u
ZmlndXJhdGlvbihXZWJDb3JlOjpNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiYmLCBXZWJDb3Jl
OjpNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpEZWNvZGluZ0NvbmZpZ3VyYXRpb25D
YWxsYmFjayYmKTsKKyAgICB2b2lkIGNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbihXZWJDb3Jl
OjpNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYmLCBXZWJDb3JlOjpNZWRpYUVuZ2luZUNvbmZp
Z3VyYXRpb25GYWN0b3J5OjpFbmNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayYmKTsKKworICAg
IFdlYlByb2Nlc3MmIG1fcHJvY2VzczsKK307CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggZjJmMjI4MjJjN2IyMjNmY2E1OWY5NTU3M2Qx
MWRjOTliMTAzNDgxMS4uNWIxYmM1YTlmYTdmM2I0ZDVhZWYzZTQ0NTVmZjViZmIyYTcyM2JjOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtNDUsNiArNDUsNyBA
QAogI2luY2x1ZGUgIlByb2Nlc3NBc3NlcnRpb24uaCIKICNpbmNsdWRlICJSZW1vdGVBdWRpb1Nl
c3Npb24uaCIKICNpbmNsdWRlICJSZW1vdGVMZWdhY3lDRE1GYWN0b3J5LmgiCisjaW5jbHVkZSAi
UmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oIgogI2luY2x1ZGUgIlN0b3Jh
Z2VBcmVhTWFwLmgiCiAjaW5jbHVkZSAiVXNlckRhdGEuaCIKICNpbmNsdWRlICJXZWJBdXRvbWF0
aW9uU2Vzc2lvblByb3h5LmgiCkBAIC0xMDcsNiArMTA4LDcgQEAKICNpbmNsdWRlIDxXZWJDb3Jl
L0hUTUxNZWRpYUVsZW1lbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0pTRE9NV2luZG93Lmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9MZWdhY3lTY2hlbWVSZWdpc3RyeS5oPgorI2luY2x1ZGUgPFdlYkNv
cmUvTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
TWVtb3J5Q2FjaGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01lbW9yeVJlbGVhc2UuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL01lc3NhZ2VQb3J0Lmg+CkBAIC0yODIsNiArMjg0LDggQEAgV2ViUHJvY2Vz
czo6V2ViUHJvY2VzcygpCiAgICAgYWRkU3VwcGxlbWVudDxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJi
aXRyYXRvcj4oKTsKICNlbmRpZgogCisgICAgYWRkU3VwcGxlbWVudDxSZW1vdGVNZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5PigpOworCiAgICAgR2lnYWNhZ2U6OmZvcmJpZERpc2FibGlu
Z1ByaW1pdGl2ZUdpZ2FjYWdlKCk7CiB9CiAKQEAgLTE5MjYsNiArMTkzMCwxMSBAQCB2b2lkIFdl
YlByb2Nlc3M6OnNldFVzZUdQVVByb2Nlc3NGb3JNZWRpYShib29sIHVzZUdQVVByb2Nlc3NGb3JN
ZWRpYSkKICAgICBlbHNlCiAgICAgICAgIExlZ2FjeUNETTo6cmVzZXRGYWN0b3JpZXMoKTsKICNl
bmRpZgorICAgIAorICAgIGlmICh1c2VHUFVQcm9jZXNzRm9yTWVkaWEpCisgICAgICAgIGVuc3Vy
ZUdQVVByb2Nlc3NDb25uZWN0aW9uKCkubWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeSgp
LnJlZ2lzdGVyRmFjdG9yeSgpOworICAgIGVsc2UKKyAgICAgICAgTWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeTo6cmVzZXRGYWN0b3JpZXMoKTsKIH0KIAogYm9vbCBXZWJQcm9jZXNzOjpz
aG91bGRVc2VSZW1vdGVSZW5kZXJpbmdGb3IoUmVuZGVyaW5nUHVycG9zZSBwdXJwb3NlKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>