<?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>44924</bug_id>
          
          <creation_ts>2010-08-30 19:30:28 -0700</creation_ts>
          <short_desc>REGRESSION(r66418): Broke moving-shadow-on-container on multiple bots (Requested by abarth on #webkit).</short_desc>
          <delta_ts>2010-08-30 20:50:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>44928</dependson>
          <blocked>44896</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>krit</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>271873</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-30 19:30:28 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/66418 broke the build:
Broke moving-shadow-on-container on multiple bots (Requested by abarth on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271874</commentid>
    <comment_count>1</comment_count>
      <attachid>66003</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-30 19:30:49 -0700</bug_when>
    <thetext>Created attachment 66003
ROLLOUT of r66418

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID --ignore-builders

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271885</commentid>
    <comment_count>2</comment_count>
      <attachid>66003</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-30 20:35:56 -0700</bug_when>
    <thetext>Comment on attachment 66003
ROLLOUT of r66418

The CQ doesn&apos;t want to land this patch.  I bet it doesn&apos;t build anymore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271893</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-30 20:50:26 -0700</bug_when>
    <thetext>Turns out it wasn&apos;t applying anymore.  I landed it manually and filed bug 44928 about the cq problem.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66003</attachid>
            <date>2010-08-30 19:30:49 -0700</date>
            <delta_ts>2010-08-30 20:35:56 -0700</delta_ts>
            <desc>ROLLOUT of r66418</desc>
            <filename>bug-44924-20100831023048.patch</filename>
            <type>text/plain</type>
            <size>70574</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwZDcyMjc0YTIwNjA5NTk5ODFkMzgxMDIzZjgwOTg4YjI1MzM0YmY3Li5lMDM5YjI2
N2VmM2RiMjVmYTgzNzRiMjhlZjVlYTJiMjljZTg1Yjk5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTAtMDgtMzAgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgor
CisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI2NjQxOC4KKyAgICAgICAgaHR0cDov
L3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNjY0MTgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ0OTI0CisKKyAgICAgICAgQnJva2UgbW92aW5nLXNo
YWRvdy1vbi1jb250YWluZXIgb24gbXVsdGlwbGUgYm90cyAoUmVxdWVzdGVkCisgICAgICAgIGJ5
IGFiYXJ0aCBvbiAjd2Via2l0KS4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2
Zy9jc3MvY29tcG9zaXRlLXNoYWRvdy1leGFtcGxlLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9jc3MvY29tcG9zaXRlLXNoYWRvdy1leGFtcGxl
LWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvY3NzL2Nv
bXBvc2l0ZS1zaGFkb3ctd2l0aC1vcGFjaXR5LWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAq
IHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9jc3MvY29tcG9zaXRlLXNoYWRvdy13aXRoLW9wYWNp
dHktZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3NzL2NvbXBvc2l0
ZS1zaGFkb3ctZXhhbXBsZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2
Zy9jc3MvY29tcG9zaXRlLXNoYWRvdy13aXRoLW9wYWNpdHktZXhwZWN0ZWQudHh0OgorCiAyMDEw
LTA4LTMwICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
bGVvcGFyZC9zdmcvY3NzL2NvbXBvc2l0ZS1zaGFkb3ctZXhhbXBsZS1leHBlY3RlZC5jaGVja3N1
bSBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9jc3MvY29tcG9zaXRlLXNo
YWRvdy1leGFtcGxlLWV4cGVjdGVkLmNoZWNrc3VtCmluZGV4IDUzOWNiMzlmOGRjYjUzYjYwMmUz
MTM0YzI0NTAwODU0MTRlZDA0M2YuLjQxZTBjYmYxN2E1NzBjMjhjNzdhN2Y3YTdhYWIwNjE1NWNl
OTdlY2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9j
c3MvY29tcG9zaXRlLXNoYWRvdy1leGFtcGxlLWV4cGVjdGVkLmNoZWNrc3VtCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9jc3MvY29tcG9zaXRlLXNoYWRvdy1leGFt
cGxlLWV4cGVjdGVkLmNoZWNrc3VtCkBAIC0xICsxIEBACi04MTYxMTMxMzM2YjE5MjVmZmUzOTZl
NjNkYjE3M2I2YgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzg1ZTRlMDM5MDI2ODVkYjk3
Nzk0MjJjZWU3NmEzOGI3ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2Nzcy9jb21wb3NpdGUtc2hhZG93
LWV4YW1wbGUtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQv
c3ZnL2Nzcy9jb21wb3NpdGUtc2hhZG93LWV4YW1wbGUtZXhwZWN0ZWQucG5nCmluZGV4IGE2YmVh
YmZiZGMyZTAzNmZmODliMTM2NGM0MjA2OGEwMWZjNzNkM2UuLjlmODk3NTg1YzEzOGY3ZGE0OTUz
NTRjODMxOTA3NTM4NTZmNTIxZTUgMTAwNjQ0CkdJVCBiaW5hcnkgcGF0Y2gKZGVsdGEgMTk2NzQK
emNtZUhQY1RgaV4pPXZVP0tvfCpDWEJiSy1CNyVhPmZEfGRBQz1kaCRmZ2w2SzVpMU51cSlFRz5Y
aDVWV0F9Rz45Cnpzc1RpI0gkbFZUKDM+PFZmKUVnQ2tydjdlPEVTPz9eVmElaUtIci00KShVXnoj
ZSNlR0oha0s7X3h7fnxmQlc/MQp6R0xkcWJAK1luV1JIe1hGSEcxWFEhZSshN0JXNnhDMWlGM2tG
T0Vie1U8bUVjJWlQSXw9aWY4NklXKWF2RzNnblUKeik2WExmMkgzViZRfTJHZl5+MyFOc0hGVVk+
YH4qIT5fKmM0PndQeHlyYzFHJXQ5NztGWVhKZnRAdlVxcXI8JUoyCno2ZG5SJntxMkc7R2hpUFhP
OVBUNiUtO3A4Xn5qS1lyUj0taTwqUUFHQjAzelIjVmM0KkJETEpWJUtxKGdrOWxXTgp6cC1ZbkZ5
WDltKjZvKks8NFNkPVBkZytDPChfJlp0PUBnYHtab2MtMXhxcTBEZ24hcEE9U0omeClLP2Q/MTNC
JEYKejVuKmJJOTc8dT8qRjdPbVMlaTh1VXo/RyU7b3s8STdOVmRAcTJ1c2MqV01VRCUlN1RedXZH
R3RWfjZ2d2FFP2NHCnpQRkt+KnhWPCYrUFlBOCNgYnxVSVBaPShZOG1kJTxWeGsxQSNERUl9I1dz
YnVnekYqYGBOPU0lcTt7UD0kWUB6YAp6cGwrSzA0X3s+RHNnVGMwaHJrU0FJY3EqPTsyYz09eiVQ
d205OVo+N1BzK2BAR1pESmg/QFVPSk1kWj8jLSstNCsKenZfP21CQFMqTEIjSDZvJkNGUVhxV2Y1
cWlsUSViIy0mVj88OyhKO1lBSD1LPWU2ayZGPE9TfGxJUHVtc05MRmZjCno0PVFFJlZEP09Panp9
LXx4eWp0dW8jWjtmSHJyb157Qy0zcHViTnk9RikzSTRJfEtjRHllYX5pJDB6JmMpcT8qZQp6dk09
TXNrOEclMj9BPjZTQ21sS0VQTylmTFkyank2UDQ5JlFZMmlWe1ZkR304QnlWcDYoUEdsTGwqUnM8
eDFyIXcKeiRLaTluRXleST12czYwMnVaKHdnMz1gWmFUPEdaaWdFNk80X2xCeiQ0fE1FcDRWRz9G
eWNSdHRuO3gxJUZXdDJ6Cnpue0xGbXIkOSFCTS1hTmtoYG8tWE5BXiZUb147cHdYbWVuRCpPSGko
dkM2aihicjxRQWx5WmNGOXFyeEtCZz1AOAp6KEV9K3ZFJkh7RkJmfHB0PTtVKUJlYCNTaEZMfkIl
K303fWpMIVAwT19weXd1ZkFKYF54JEdYKC05d1F1Y1IlYDMKens8aXFUJXFsZ2pLa3ckMEZFQU9w
e0dSRkBMczUmQ3c9Y2hrK2wjKnNjZ3p1PWNhRzkxO3NPNHtLMFRwdkNUPXBRCnokflpwJnRkI3cq
b1RIalh7THFhZzc2VWc8UDN2KD9EbCVObEZxSzg1NkIyfVVvcDhDVkIqaG1RM2IrNjBJTk82Owp6
TVRhQWtPSFdBV0R6QkJBYkopZW1PVHtZVUpzfWpFV2tMNVd6X3okPTtUWE5AZHRfUigrU3teVng4
Z1BCIVV6WjcKel45eG4+JTtZe1hteChNdmo1PjM3SUxhUj8wSnsmQWBKS3F7NmhZPjMmUX5jKUlu
LTZsaVFNcmRPej91UE5vY016CnpzY24qcG58bU1GNk9zJilyZz4hcUd9aDhpSCpoUWNsc1J4UGxo
UClRRk9lQlZuYUdpfXFtcG0lME5IQjdDO2pYQQp6STI4KEFpdDQlfGElVVcpPCtFV1hHM0F7RktS
OV5GKDV1PmgqWVJ7TWMlPGJfMTRibVVRTHFacG96JlNUP1c2ZFUKekQ+M0xvVihnenAyVXFgYEch
Z1hGZy1ROGZOeldVMC1zNSg8T1ZJX3FEKnRqQGJKbjU2dkkyaCRENlh+QVNDTElxCnpHWTYkWmom
PENVZkZsWHE0JkNseSRQXjlNN2kxUjtTaWBkYmRBanw9NilVS0VOM054aVgwZU96a1N3dWVZMHVr
Pgp6dGRwOzdxOGVye2xfSmQ5NF5ZQTNxKCkrUj5nV3RQYEdJLSFIPSUmY3YlQHJaVF9FTjV6Y1Qw
NTR0Ry1AWX1KTSsKejlpSE9AeUU7Ri0rcyp2NHY+RHAhamZKd0FgaCYta2N0eV89bjh8STs+OzAk
TyplWj9oNDEpRE9lOSpyK25qPH5UCnpaS25ORl5BdC07fEdoekU4Y2BhcmNxOCpfX258aEhHcFZR
R3pscTs9NUdlQ0tYNUteUVctNkdJV347RiRqUWV3PAp6OGloSjhYNGxwbUpob3l9WUc8bnFpSEBn
fSZqQ2RgYD87YGI4e35FX1RXelFmPzU7RkErdGYjVmdHSGIrYGxhKyMKej9qIXlmYyNxOEYzUEBo
M2BlcTZUWXcyY1RZbjVxWFpsTXdBSHw2WT1QKT5IQCU/ME5IYlpBWlgmRE4tK1ghU3tyCno2TXtq
PHY4QztrZnYrUHdDTileKUF0T3dLcjJ8JnM4MkglZlRLLVJ8Z1hSSGBTcnlNKmMtTSlAM0hLdkwy
bGt4fQp6THI4Ri1nZG1rWXo2OSYzbWsqeilAWCNCZ2h9fF94aUolTmpgQmlsKiooK3Nvcj5OWk82
d1BWQUIpN0k1Sm40K2cKekdwVCUpVF87ajQ+dVZRfFo+Mm9HbEpjYj5Qe2RIaFZCViZLIyF4bzRK
OU01WG99YjtLVj9PSyp1VyFuPW5zSShGCnpXPyVscCp8MlBVPWxGS1VoKVcwcz5rfmleX3JYb2Mk
RHdLRmhhWl9WQilKZ3MwXn12I0M8dE1XWnt3diFgdTBlYAp6ey05MiVee35gTSk8fFczdU58VFlx
MH5OYFF2T0BNWFpPSilHfigzO3hLI2dpIzJqV3N0SSo1KTdtUjRmPDIxZTYKenhAN0lSQkowPEk3
WFokdUVAYzlEQVQ5LWBjN1MpQ0NHJEMqaH19KCN4aT8hKyshSTdrPX1zYnEjI0xadCNYYUlLCnot
ZDRuYkY0IStzOzhvfGRtNlJFS2R1Myl0VXcpcFZLV3w3MyUzTUQ8e2lLKT1lJCNmKU5Je01aLU9T
OzAxUk9lIwp6YG4kejw0RkRLRSZLUlhUaEZ1WVJfYWpnb0xQUmBvZGdTTzYzcys2MitoO3clUmA1
S1FiVTl0P3FPRW5nPjsxd3QKenxIJnVrbVlLNHFYPUI5Zmw4WCF8JnxYT2s0WH1JKD0rIVZZejZj
WEBHcXBGU29sOD9gazRVY2Y+PChQdypea3U+CnpyLT9zKF9CPjZ6XnJzO3VTflgxZjZSbHZ6Smtz
d352REhXcXoxYjVkMyFtaHlNI0NEJlBjWW9iajN7VS00YDYmKQp6biZ0WWFwWVJtUkQ1dUdrUyQ7
RGdYS31eQ0F3S09WQSU+SVIhbGw3VlglKUA0NlFgdGN3SWFQKk89O29WajN+REAKenRULW07I2lf
WGl5QEt8VFFIVikzZnRGaDJVISN4ejlOKmtLVD1YPE1IUEw9TiReQiQlS25QUFgzd3FYVj0qSmpr
Cnp6JiZTd09GZjxIb284VjJRaUFiUHNOVEtXOWlDc0ckUXg8JTkmRU89QUJUbkhwZzhzJW9INGlN
cTEoXnNWSWRnTgp6WiZJX281cH1QeUVIVGZtKl4obldOSFJqYXMzSDVaSyR6T14hKHR6RW5jPkom
dH40WDVZeGtwKTNGZCQpQiYjYnQKem0tb0JPZnN2ZTNKMX5Oa1BZSEVMQ29zV0ZBdDh8OHJ2V3xt
dGBaRENFR18oK088LV5VRGYwPUljPGxgQzh+c3xfCno7fjdXfj9UOX1lUURMJnVuKV56cUBLJUd8
eyk7QWEmWFI1QzlDfXR6ezZZRW1XZUI/Z3l3eUdudHh0eGRyUXgwYQp6eT19STdpekBjd2wtdVc2
QjkqenowKDZ1akBiNn5pTGs1SW1hIXdVTjNUNDU7O3dLbzx1YEB4KSZUam1FIUs2dD0KemwoZEt4
QEpyY0AheDQ9IWl7KnxUMkYjSSNPZ00xVk9FTnhYZU98dVUxWVVuT0pSTGFrLVdDJUkzbDFibXFt
SnhOCnpFN2B2QHpWK0wpeUBGdT41I3BKJkF8TE93PSNkZWUkbmBeJko/en47UG5FJWY+dyt5V0lQ
bXpRNDxYRnlwcHpjQAp6TV9hUkpza2hDZEJiNH14RHdWVXw5KmxwJGV7NFllTVJjVENkfjJMVj9g
UWw2KDNidj1hfUZ9R0NrRVlGa01WOGsKem55c15McjwhKT4mZS17LUx0TSVwLW0wKDVgYT19c3cm
LWtiXmlMQG5CQ1BvPDJIcDFKJWVAUyotPTl9dTBLZSZ3CnohbjFhPzc2RGUjVzdiPzZqSndFODJe
NW0rKHFNSXFtaV8+amdAVFIpT3FePTFAaF9VakdmbU1sSjk5PEFhNSlxVgp6bW91JXFHZiN+fE14
bXxWZ0J+eF8hdzJuTmR8eUNrMiYtfioyMVh8WHEzZSFsbE17TzBZNDFzfkRLNn1ARUpjcT4KejE9
cn52RUFNKClQbHgkQU85KiUlTjRUdCZfKzlYdSs7PGM5QHI4RStyOT5MVl4hN2lSNjN8S2cxTHtC
SVBkcmlMCnoldUo1QGF4blp1LXUlXmt7fSZ0JTRxeyZmaDY4Xk1oa3RQeFBKNk1xQEUzNlNIY3RN
Y0YjUCshaFFrPiFvQl9pYgp6RmRYNzk7bT81SzM+ZU9VO1MzbmdmWitAbiZWYj9uLSljQW1oWDE4
PEkwSl9Oa0hoZWV5JCk2bzJud1I3dHpyNksKenNFaDtQKClkNDY4Myh8bkBxZUgpNHVESkp8M0dD
TkB2KEFRUXh2NUBQKz02dDhITW89Ni1xezdvS1lCTzZ2alVsCnp4ZnpBPXxId35hNnZpMmFhUnh0
eSFCMWlFUXlCYWQyMHcrdFB4LSo9Vig/UUt7MWdVMWd+M254TTM0RiVQbl5MfAp6VmJIYEdHO3ct
JUdQb0FicG91ZVI7dFpOTmdDQD9QaVBKSCVYfmMye1A1Z2g5Q1hQQjZeYyhgPTJEVSNYcXlKbCEK
ekBvayM/Wihwem9fPHcqaDQqZFByJWBaWTMybVhIUjxgO3FGen42Nyh7MzRXYl59cFlgJD42SHxr
OEBUMjM7WXhZCnpCeGlKUEdDRFc2QmxBJnpvMzhLfTtLbHZ4dTsodypePko1OSk5UVoyQz5aNWtU
K2RjYzUkNDVvOS1CX3EpSUJDdwp6aT1jMGZicTFoVld6JGpUaUFDantvPkUhJj0mb3JpUm42d3Rj
dTl2JCQlWDNAN1ItQFVwMjl1Z0huYnIwakVgU2MKenJ7aG5TVF9kKmZgaiZUMlpmRz1icGEqdVAw
WlVBNmhWaSEkUTFRb2ZDcE9lPHo7ODxsMzNXaiQpaWk2aF8tP002CnpjOFV5UUU4OShLWlFIeEBl
QmlrcVo4NUl9T31hfSZ7YGZUQThqYURyJCFTe0A5SW4kV3VpTGV+RF9eM2lpcX5uYwp6NG17a31Z
aH5lSjxAJSNGcGR6K0NXXikrT0N1ZTBPdl5QeEIrVmlmayZeNXV1O3AwcXZDc2okNXlzZUYwOVZj
ZVgKel49NXMwVnlqa0Mwdm0xe0I1e1VEKHRSN1JPaVB7T3Y8MnM1emBGT0FuKHQheWtoSztvdyRg
cmpvRChTZjZLIWdtCnp2WnxLKlBwbX4kdWV6LTUrTTI0KUBUZ2tPcVAjcn11ciUyIVhPcGB8TSlk
V0h4YTVFS3ZlM34yUil6cCstXkluRAp6YD4pOztKJmQ4SFlhVTMqTV93MUwkNWFrYyFxJHlqRkh8
Nl91V3dAOG9ocUdtV3h3KGpUdWh6emM5V0FXSUB6dFkKemApMTVoWXAhWWJFZkw/YnlEPVM/VFlS
eHpPVEZqV1Are0Z+ISN7VmEpXnhFMGlnPSVDMUAoQnBiPWhwdlk5NFRLCnpxZyVMSSo3cGR1JF59
VkR6bWNVUHBPKWRjTXJxRjVHKyYhTXlqNHZwaTB+dTg4Wk1MWG89Kl9MVFd5ckhLdEshUwp6aFlP
JHdsR2peJlRmOTVBRDc2SWcpQEpiKnVtKWBZVjdON3RHaSQ8MFpaOXsmOE1lNkw0MjhZQF5vQUJr
MFFHbl4Kek4te0Z0Qkx+UyE+JVVCPEA0c3dAYWZsRz1NMHs2X0QhPD1vWHtsQy1IX1VNRD84PHZe
djM8OGtxRktARkFNNnElCnptTWJQeSQ+ZllnQkRWUlNuTWc4XkArPUI4Q0MmPnc9YzRueS1taU1q
NFFvOTdOJTYrWWxmIytpP0lYU1lLSylVMwp6QjtlNkw9RSFwd2crMzhPdyFlMTdxMikqfW9GTkNl
cD1zZWhMYCtCPjtrP21UKzlob1RiU0ZHR25iIU8kMXx3K2MKejRmcyghPCFaZjVnWmU+NkxkfSlJ
cnBxSys5TD9XUDNNe1hwM1dUVTgmQDB4Sz94MXI8QXBZZTVeVX0hYVk5YXNuCnppMjFWRiNqKUxk
ayhrPERia3BhME54MDRgKEFLOG5OU2dPS3s3d3VYZ3JNc0tFLTZOdjl1bD9pe05eJFI4V1BEKAp6
VHsqfWM+Q0lDcDJLR09UOHZteTsxN1IzfmxsTUIoTmprbGdXQWNAM0s9QUNNSko3PCtgUWlZMC1g
NzthdCRMal4KelVuKUdqJmRINmZVUW59SDk7MzNObWZ4SiEwbmg2dHlQfTBRPiU1biNeNkIhflB6
bFJkWnt8akJ3eVBSTGQtV2ZJCnp3aXBES0NxM05PZyEzWSZtbkFZP1YtYSNhUWFfeV9wcThSSmRT
RztKe3djc05vOTQ4NyQ0TFpsRHBDYkxLWSV0Mwp6MGtuPFo+aUIrRmx8Skc2Vm5HIVo7UnE2Q0cq
dEZNVHdFT0daRDkqSGByWDR7IW9leSg0ITBVdjhEPiRCXzFqdG8KenM/OE9JKU89IUomNCt1NHYr
IVdHUWw+XjQzQTJ8YHQ4KVoodDJuemg9MT5KTDgxM3xrUG5NVHNRI0A2JVRzZG4lCnoraUBHc3Yr
SVRxSHNnP207bzg2JU1XUnAxLUVRajgpK1ZLTGgrNjVrK0xoLVFqY0FhbHJ8WSNIKDY1UGFSdDNo
eQp6ZyFOezlDSnVNWlpvWnArQVBjTyVrUGp9byp4Z35JWnEzeF87b0lZcHpXb25rN3VQYnx5Znoj
ZHYjRWFAXnd9akwKekZwKiZpaS1mX2tzblVyQXtUN3dRVj1pdVdkfGI9Iz1VbDNWQXtNYCFiO19z
SEVeOT5zS0ZeJkdUajchemYlRis+CnpCRjl5YzxMcSFxYiQ0SlptNlFUbyRZZD1Cemk8emAhQTA/
JjxUbjx4VU9uWUBiMXdtMGcyS3xKI0dBMzF6d2IwSQp6RFh2TDE7fiskNEJ6UkAzejRFVSFjcjVD
diV7ZD9jWFM9S1JiaXpkMGptVksxK0liI01ue1MtRmlWVWxxKVY7LV4KelY/V2k9byY0Zy0xZnh6
cEtkKDtockxiNGV2SHo/T3VwcUhWUWNTcTFUPEJNaj9+dEowZjcqIShPVkpWZUU2O0gyCnomJnQt
YWpDfTJLQjBjTjthNF84cWJWcilfZCRXfjE4bzhwcihVLVNqYE93RitlP29uMGxgPnR1SXNMPDJA
RHlSegp6ZHB4emBEJTsxRyRYfnRCYkJGKEE0X0VuMEJRX0QocSt9Rz1qTGNNMV5zOF4lX3s9fD5h
ajdoamdeRypRWFFOOF4KemwzNXNUcVlHeiVUT1p3cG8zfGlEOzVOcmBlbiV3ZElwVykyakhndU9k
OW9eZWN1KVAhIVRte2F3WiokRm8mR0dlCnpocGRrSXYhPHI1JHtDTyZIWVgjZHk3RFVxdkNrRzdD
TElDZEk5MF9gbko8IzArRGppQFpiNmA5MV85Jnc7MC09awp6TGleKC1vK3FDLUVlYy1+Q3lzXyhp
OGBnVTVBNStPRzZ6KHVMaVUzUDw3O3gqZU1aPUVuU3piSjwyZU1SQEI8VCEKekFtSGhJQCgkJUcl
P3M7QmohJEAweWNRKClvPS1IZVFDc313YH1jVX1OVVg9VzVaTFdZdzF6aWswZDtJYFM+MDZ3Cnp1
PUtlZ3dwTnhnSG1kKkozfXwrOT9tSlFWaWc9KWA7dCl0bSFUfjYoZm9GK25xK2pGbj5wZ21TVyo+
U0ZyRmhYTwp6clUhSkFMUVJ9eEtHOXh2RWtre1NPcCZmJGtwOChpZkBJc00pVSEoUG48VFV3WkZD
d3tqdmh7ZUVnKDE/S0BZfikKel8lZSg3Y24lNCMtbFZ5c19ZbD0pe3M3Sz5uZEpBRFdZWGk3X3RG
cUAxPHBiPDgySV9gbkZYWWxZRGEwUSM4Nz9uCnp3ZmczRDJqUSgxKCkzR1ZZU1FSeVpuVFkyM35p
VHdEbzNEKWBDdmxNdCY0dFp3WmlNUTZ2M2YrS3tyfmFSZ0owSQp6cUUtWCE7IzV2ZU5OLUw3b3dx
Sj96cj48UHEzV3dxPkw7PTReQzNvUUstRnc5PGszKEpneGl3LTtHTDdGYUQmZTkKenY4Y3JMR1le
OWxUfXY+ZFJOSkxtSGRJcislSTdLMmUkKDgodVhVd3JtUmlOSG1+eilWMnF7fGAySHwkMGxRd0p2
CnpUVTJvfStyYmhWaWBnckdNI1hZOV88JHlhWlNOZyR7NmpmQWBUSWBKMV5WPFNrNGZXSjhfaFJq
QTduWChycT5hYwp6ZT8mZD97e0h0Vk1NRV4zS2NpI3M2fkZtc3lFXm5gREB8RVl1NyYlTU08P2Ut
Jk5CMURTWjlTbkNhMHhnPWxxcHsKejNBTENpTzFmLSU0OS11ZmxwTClebDVBPStQIXswMENfcE5e
O2ZDWFNGO1lqfU0xSX1vZXApQkB4KDleenFqJHRtCkpvMllwejtOTXJJaVg7RjQKCmRlbHRhIDE5
ODA5CnpjbWVJNGNUYGleX1EjVipxJlB6OEtCTlElbCVrOT9EQUdmM2c3a24/I1NzSz89bUcqYUd5
XiZVaWN0alZMYHZ3Mgp6XmQ9dy1zQn0/a0tvSk5DMFloKVVGZihHfSUkbmMkcDZtVkFaPntpMDc3
T2tAX25kdzlLSWZCdHp4eT1oP0NRKGUKelJXS2R+VD5FOFZCUVU0dDJfbSshXlEhJHktLVVyMkFQ
NTUtTWdGTFNMUz5QJW8tTEptKjBMYHhIVn5lY2tKZl5eCnp5YCoxc1BQdiFoVkBiMXQ1MFJYJmxN
cG9ve1EpO2d1KjdVKmdafVMjIWNuIUJJKjdDT3JqMlFMT2ZnWTFvVyloTAp6Uzx9YXxLQjdha05s
PSo/KiVXcmZrZGV+YVk3Mmw0aDUmKG98NDhIb0ZVMDh8STwpdEFwfVF1aiV2KmNiKnk3Tz4Keit6
TXRqQFdFeEEoM358cExNMiVFa0l3enBMbiVmSEN4PGJGO2xRa18tVkMzTFA4SEx1R1JXdiU8antO
RSordztpCno9eERvJFBsTVVNVUpydGsjTlZrJVNLaWxZTE5DfnokO2xJNzxqVSpMVzZDKVAzVDJU
bTNWVmkmajl9OHpEcDMyPgp6QzM1RzJQSnEkaHkrfUI3d3heQDUqcSFMZSNVI1FFWnhQN3E0TTFC
SFVndGhoO0okaXIrZ2lWTWgmKnR3bkNEZ1UKejsjc31yPDJrK3QhZkwpa1M/WHA5WnlpWnNNI2o2
SkY1MTRsVF9pYiQla009YlV5TVNYMXQzNTQ3e19OSmRmdVJ7Cno5JENrOE43Z1RsMSUyfSsyS0ly
UzlWe2VkZXRfWiRoIzFzU1NCdzskN1Q/fmctS0B8ayE7MXwpKGJNQWdxQ1ZkZAp6TkYkTEckNXtW
dHJpb3hBbFIjV2d6cjdqVHtmRU1PTyNJQmtlS3tYXjFrXiVjY2V9PDQ9eiE9T1AtbSolOXIjfCgK
elB2VDt0IV9DbWQmU3tYNXJWNWdIYyR+R3BzIUhUbXw2Nnk/OTRAOz5ieEpHZyklTSklPnImT3Jl
ZWZmZl80Tzw2CnohZkludDc5fn09aHJAWk4wP1NoKEs8P2duQGZ8Q1g0SXNzb0duTW4rRUVgcSZ5
d0RUSzRtQD95NWFkUjVne0JgNAp6PDB4ck5XJW87eXNHdV5lSnRSUyNQaU95QkFOSzhvOXV+RWQ7
fXJzMCk8fUBzS0Vwa15FfnpaZDhnKSFtP0syKn0KemwjfWdxcnptXj1TVnJtLTxST2cwISFERE1o
PEx7YEh1clJQS1ghNHMmJj5ubWlRfEx0PEphR0BnfnlwXiY2Y2VPCnpsPE44PXdacykkenNUbzY9
JER3QF9CcU08WE1laVVYQ1koMnY5eEJPMVZjdn48cCtEXnAtUlV2QzBYenlKeGBWNAp6IXsqQUFD
Z0tWKkooek9uQ012SyE8ZUBBPk59ZkJtZ1Q2XkhxYXlfNzFjMDg+bXdTfHpAblY+bzgtdEhpMU8/
MkkKeil3UXtPQWRBekNaXktIUXpQT2MjXkFzO2E5Xnt3NSMkM0B8WHpBaUJMT2xgQSshSDJ+NkRI
dGFeIyRYZSl5TWtuCnpqVClOckhuU0F4KjBPQFNvczc2eCFWXiNCUDlWcTwlb1NLcjw/YmB4LVNN
RGohI34mS21IWGQyWm8zeH5jTypRKAp6PS00fm42REJrSk9qYWoyNW13eDhGd3I+c1IwdGNKMW5X
Km4hd3x7WmNCVjtESWtoODk7cWV3X2VJbz9UU0tjS3AKekpmYDVSKjZyeylwfUBVODRaek9LKWZW
cmA+YFp9WjwkOW1UTWt8am8rZGBjVTJvcyEmeWVETGxEdndXfXFXa2tDCnpsLUhWZSFyKSN+QnB4
Km1kNXoqS192MW9xRSNeJThBK2lDYjJtU3U/NG17PjVgb2g5dUVKcDMmTWVVZWlHQHUlQgp6IW54
dVplRnI+ciV1X31Ke08oKkcmclgtZiZpYV8pY19oRFgrXz1UVGxuZzAzUlFJaVJQV2N2Skk/dGM7
d2NqbjQKelQwd0VwKlp8NT0rcClXUHI3ZTtTaksjLSlRTks1dVY4diotViprcUpYS3woalAzMXxL
OVNAKSRAR1cyZXlsVlVpCnpnNH4ybSQ+UGN8VihfQ0w1KChKPyMlRE1YeXoqOUhRNjBmWG0lQHFB
cH5JfitsbVNZTnk/dT1YOzYoNmhiZ01ZVwp6UHdYbChFQ35NRy11N0NAdj56d05rSWwqVWYxWnsz
cC0yMHRzN2F8RnlIU3hkZDctP01wK2dOVkZEYVhJTVdnNlgKekR3V1p0aWtLMHU8Xj5BTysjYnAo
eTVOSFJDPVFNOGE9ezRrPnFHeXY0QXJJci1lJH1ralQ/JkhFRGVJYC04ajFoCnphcmtCNUYmREEk
T1k4fmwob0FOYipMSmNhc04zfnVPPXVyWDc5Yl5PRntAPGF0Uyp4Mys/cD92O0dzTXlWJGg3JAp6
PClmTmRoPGw7ay1hb2QzLSk9cmIkTlBpUzZ7aiMkT3tMeHo8cXQmflA8REQ0M3U8VnB5OGZ1d0dg
cEUpVmchfXAKekBxSUF8KEYkT3RuNnYxRWZNPiRmdSFDQWpDZn5gUl9oUklCVi0pP011d0hkdXdk
P089R2Z8Oyp4PlJBdFg1S1M/CnpQfjVjP0dKMyUqJiUxUT5SYEZuTmslbFJQO0NAZm04PmlSU05O
dWtWa1pqTFBra1F7UStROHFnK0FqSDRkdztGfAp6O2NqcUt2Y0FBZklSOVUrXkZDTiZpYmEqZTE+
c3Y0JnZkNWFNK3tQNV55U1NkT0VIfDR2MVpsPG02O2JAcW56fDMKemtWazF2eDhNN3wod1khYCEz
QEI/Z2dsezk/KT4xdmVyTDhhZ2A+emlDLTRQWiUyQl9qdmxgNClRMFZTJWsrSlc8CnpgVyE7NG1+
NiYrXzRpKjdaWjRlMypkTkNMY2M4RFA4YihAZWBBZXRFU2Y9bitVZm0ycig7WTQtakdoSUZ4TmZC
Nwp6VytAPz9CSGRDWF9iRzZJP00rS3dxYGo7JjwjOGMzTHFLNkAqNWRYKWt5WD9zait7U3MmZmYr
Py1yU3goJWY3QkQKemlXM3Y/NU9jY2ZXJVJ+Z1JffU9oWH5iUHxLfX5ZfGcrKUpwWUphPT0wWU48
WTw+e2tBbkd1LVBNQkZnQ0I3Rz88CnokRCtTeVQ/aFBieDJMNlcxbGw7SkBGcUt1blNqfSk/cERM
SHUqOzE+YlYxQn5vR0lNVyN5NmhuSyk+MXsoIz5FXwp6Tn4xV2tuamRITD50dlhxUzgmVkBmZjIt
ekpPU0k3cHVtdV84fTZTaGNRM3h4RmJpY1JWWGpLR3g+STY7S31DKlgKelQ/NHBiU01wTiVZPUpI
eFB8PFZPO1QpQ2VPVEJ+aUZfSFM1KGJGOE03ditEKz5McEg4VTNNcmdiYE5TV2dgczAmCnp5Plcj
UlJJbWVnV2RTM1ZKWDVUSGcxeFg5WjBuVkVJNmBsI2EhMiNfbmUjbXxrczUhWjlUJGpvaFUqQUo9
T0lxagp6bSV2JW91fUVjWGxudURTaTxTT1hzKkgjalQoRkxmR1NjR2Mlb2JMZm5Sdi1OKm5KRitG
RTgtQyVOMU9YQSFsXj8KejA1KT5hc21yNX4lSjViZENeMEBVUkpXNis4UG1UXld7OVEqeVJuZnJC
bFR5fkpjUU5POHFgMmt4QzQtUk08e3VaCnptR0VBJGspfj9DdlJhK0pOeHdLIXdKODQ9RWRFJCM3
Z3tkMD41RSVfenIjazwtX2gqbkM9MmNMYWQpTGVlTk50Uwp6ZUR1V0dBR1RNO1Q+b0FAOHsjTmVq
dnlyKC1LZD9PQ2B8V0ZCK3NBRHFnYDVqak1qQiY0PlM9PXorIy0qPCl+S0UKemYtfFQkKz8xbX0w
WSp3WW9ufD4rP0VjYytRKmBLODM9RUBtVlF9JEREJT9HMVpTdEIzcjE/IXlLSUtCJGV6K2otCnpR
SmlIS1difXVvJmFCbUFTYW9uaVR8SC1YRHU+WWsqQTR4Tm4/PSkrbHB6XyM9JFlxdjc7d3BQejhD
M1hyVVY7Jgp6SDV+fXx2SWFNdFJYZyhkTnJXUE5LVUFFbWVXQiFuIXQ3RFFtaDZfTTJpTjstNT08
NmpeXk56NlR1dlIrWH0rYUQKenBfZW9MM3VYSVA3PF5ENFZ8M3c4PWRqaHxnciQrQWxMMkRSdWVe
YGY3PWRJNCY5cH5IT3R4dC0jO2xHUiprUj1qCnoxVE9fRUtNWmFAKFpMdnlXKFRELSVvI2N9R1d0
bkRSK1UtZTI9TEpJN0wwfWZGWnpLN2klS1MjTDE1ekwqbjQqcQp6Rip4XzBTSloyS3QpUXckaE1C
biskcz9EeWA+MzxZX2ltcyQmX3ZhWStfVndVYmgmdSF7JWIxcD1VRkVrVzdDWUcKekxVTGhfSlNf
SHY8TU12X3tUNDJ7UiZZMVloN3FCTWdIRCZ1UTZXNlRmTkVfSWk/dCoyVXVxc15PQ083MFRDXiUt
CnpVfUx3XnhoJVhRKD5tekMrQCNfV3lgb2twZ0d0KHIoUUY+QzRhKTJkQ2V6NXdYeCpUaz9pZCpu
UXk5dyptPEF7bwp6TEQxeCM+JXkyNThZZmBVS1BjdkcwIT1AOUNDazJ+azdQd3s/JXQheEklcDwl
YW87VkIlNUlGREtXQzB8UnZMMkkKel80Un1tVn42NWpxQmpKb3QlfmFJWG1eR2c2OEg1aXd0TkJX
en1NNklILSZaSj51TFIpIWE1bmYkXkk8JEhNSVVzCnpWSUJCLVRLfWY3NHR6YldlXlhjb0Q3cDJZ
KGZaQj97NEhQfF88Q0Nacm0rNEs0RHEkSlBKP3dDdGJlKURrZHJicgp6U2Z8MUk0d30obW9kKVlQ
U2Z7fXs5U3pwTVZQPjVNPnRDSCh8TD8mJU1FPWJiMm19WGR0MHxrMXp0aWJLJUQrc3IKenxIdDRD
e0FYJFFlKkBlUjwydlpoWFhXMExDbWp9Y2I7S31WK2Y3VGwofnxCeG1gQzw9VEdFfUNibC1WfUt9
KSpSCnpsSjJ5bUoxeXp7emJJc0FOJXlhbyRrM0FScEE9QF9LcHtnKnkzLVVnRz0mVUpBd3lIaCY9
Zks+ZyR6dzBMc1E4Nwp6amh2a1o+b2kjM2s7YyYhR1hGJSt7JTw3T1g+eFgmb1NpMFRyXihyQWFg
djQhd2d7Uz57bDZ6PzQtaEJMZmsxNHgKeng4R2o+NktPakBzY3J2MWtoYiQ5RDc1Vn5ZNU8wI2gj
PDszUjJzT2B6P314fVVzWkBvMTl6SVZ7cmB1dzlnKitVCnopY1RYWUl7NThhQ3BOIypzJm5MZlk8
eHpxUkc9d2UyTWQkMSk1OFM9S19RVml5RCZPe3M/Zkt6MXxgbFg9MnJVQQp6SD0kPjBmVi1sRjtG
WlRPSVBRa0hiSGFxZlNEanF+KCEzR3poSjl6PEFsRz1SQnpyMz0qKlp5fCRSIVg5VWtWPi0KeiZE
biZIMmZ9Q2U3Xzl8NFg2UzImZiFOTWE2fXtzKEF2JkJhUTNSQllLbmd3dXhaZG45TXU/dWwqPDgl
UkFEYml+Cnp0MEF1QEN0QnkyTVYkdj1lfTArfTl6T1RucGM3Y2xtbjM4KG9uPEdUJXdzT3RVTjU8
bTI1Q0JgO0oqQFU2S0p1YQp6V09IZyM3YShGdS1OdlVjbytwdEQxMW0kUUQpSURjXnxCTzZpVDEw
I1RmcFh4JCppVHBecmRSJlE/fnZjJUk5QDUKeigyXk53ZHdvZC1saVZ+KkJqMXdgbHtUd0ByMFNL
eSoqdzhlb0wjWlNCazNJbzF3b0xLYDFkQm1ZYWN7Nm51aCZsCnpIZntoNSEoRFIyWWJKaCsyX2Yl
fkAlNH1oTD9TbDVGRmZ3TkxRWXpXKCl3JS1yZ34tTlhaPX5mLWlsMD0pZG87Twp6NTJDMkE8JChe
K08tWExQaTY7cEpaaSFFcCpxbHR+ekUmTiUoeT5xXzgrV2Z5VmsrZiF2dTt7bV8oSXJMd0JyMnAK
eioyJUsqWUhAfE49fF48WThxVklEcEtFVU0xU2xffWRMY2VaVXVsIU89azBvTE8+RSMpKWJQRlBS
Ql91ZmBjPFE2CnpDVyQ8cSM/az9SLSM4S3c0PElGTSp7OzZVdFdnRU9EPGVKc3U/PmRFK1peMFFz
cFByfFZUUjhiWT5yb3RTNHskfAp6Xzw5bnMpeFZ7KnB8b2AqVns1VkppZkZqITxZMHptIygyNDhN
d0NLTGBzQGxaTm5jPks5bzw+Y0xteF5te2NOVyQKentkNTRNcXc3YmE2QG00UHE1R1RUPEhQYSM4
T0V7JTA8dWVMQF4oZEFjSGk4UTs8bCElTG12fUtxXntHdzt0bnNlCnpxdVV1MXVEfmQ0Jm1nc0RT
O3hGOyluREYrbX4zYH1TSHIpYnVpSlcoSVBGc1g7bnh2KzNvZU0oQlBrWE5RNzktIwp6NDwyVlA2
UnglfGZfIVIrQWA7cyQwQE9iYHdFTXVvMW9kZVkocWl9bSl9WjxucTAzNXNAXk4rd1Zvek50Q0pF
K2EKejlwcSZsO348VW1eTmR7Y2syYTRBJFU7PmZKdERXR2JScms2KT49Yz5UbmxaWjVUaXsjZ0c7
e2l4MCRyQ18mdD1wCnpmNk9xZ3N0KFhhUEJgK0h5IUVOKFRPeXhMNT1LP2tKWVdlSStzYFVkYEhS
ZGROPSsqd1YwfEI/eGhtb2ZEYG9zaQp6OzFNSWJHYUFfWDVgfDU0M0M3NVktZ0F+KXhuYXEtIVR9
UWdRIUooNTxBKSU1bXJqflkkRDY0JE1Ccj9GMUBmPVgKejB8OWk9UzNlZFZyMG0hPGx2bTxGc0U+
amVVKlhgQUl7VDVJSihoYERsWmx6QVg8LVdyN1h0PExhdU8lck9JREdMCnoySFV7KHlJOUgoakMh
NEI3QkNjYSt2bTNJR1pNeiNTPm9TWDB6K2lPWWBeRlJHaERKfWVWJDh9e3t6ND4rUngwTgp6N31h
RiZIYG1EQl8yUHd8LXtLbndNKTtFMTF4LXFtWEZ+RV57ZlF3MHIpc3Y9WUhWQClTcCpiTSZINk9T
LTQyUHMKejJedWNBakAyKjhNRWZ0LTMqX2spSXxldCNHZj4obmoqaj5IcHx6bzxoaCZjbjlLUkJu
YVUkT3g8VihjWWRHaThECnojZXF7KDg/eWtnSXlBZDZSSzg5Pyo2MlhidiFBMFhfPzsyUD55SVpZ
JkVKWWp6ZiUxJVZlJCZGYmZ4UUYmSDVPUgp6K0pNeTVXSlhkUmMmd3Mmcy1rb0lBSDlVfHdOUmZf
aGBaIURaPFdzeDI/fk9fdlAtbUdjMyY5cVh1fj1yYGloajUKems2WmBCKlpoM1NZQD9jZD89TU40
USg2fkhYTEd0MVMjZSQ1cm1VQHJVWGQ2PyhpPGt9NzNaU2BEciZZbT48eiliCnpDWllZNSl6UVJx
MnJIdH0oPEEzZilzKiNkcEp+YXF7Y0VMZFRCbSsxYTtCVyQwWlYqYDcrU1UyX19UczRBVFYxeQp6
QjY1YVJ7eV9NJHskRntRLUxXPGdZbUh7Mnc9SHheOHUleihiPmA0O05tQTc8a28lSm5zeHhhVSE5
ZjlEWnl6T1gKelR2YHBZVEBISlA0TUYxJDc+WSkwRnU7RVgtQTdaemhVKjgmVDhwT25gbCNnUUls
eXxPSjQzUDlSSUJvQWpVLXM7CnpHMWMpYXdOLVJoWi18dmlmZ2dHVWJJbFloS1lVRXVAP1R4Qi1D
OCl9cXFiMUxSNWZvbl5mWiltbTEzeThoOUZJYQp6VGw8Z1VQNk1sNW1VIVojP0pDdypOM3djKClW
cGx4Xip6dVJOM2Ewb3BqZ1gobWNMMkplPCZGXmNPJX4/ckBsI1kKelloSlNFeiNTajd7XlhkdTtT
Zj9qYlUmcWBRTUdSJk5oe0FDMig9Kz9OP1pRKGh8ckQ+fEcwLUZPQE80aTtBQjJECnpnRkVNWS1j
ITFGSzdqdjcwI296YiM3azYxLUFIU3JLPVVHWD8malA2NFNlIWJBMW1ALU9CcFN4QjFNbDRqO2hv
eQp6O058KnMpJUllPiYlS1gteFBnbEBJdVE2Q1hmLWlSdllVQ1ZkY0xPfiYwO0t5V3RLME0oRG1E
biFWJVpaazgocUUKemspLUtJWjZjQ016VkdrKkF0MjRUM1U/TD1nWW9CaTg0eDZIRjRaTEE+O159
a2ljcSVoXk9TQzQqTD4mKFYlZUxiCnpjUnE0XlYyR2lZTzRjXn1EVip6Y0VDP0prKlRuJU92Izw4
QVdWQVh7b0NBVF48MXBfbj1IS1dfK1ZvdC0qc2ZzUwp6Xio2bWVIdWhqQFR+JiNzSSsrbmokZ3I4
P0dYVlFTPjdeK2lndXA5OFNRUlUwcXQ9X0Yod0N9YzFNKz1oQmBlbksKemxAeyVAcnBsMyo0eHVX
OEwjUVQqPW0hQ3FJb0lzdyRYaUUten1CMXEoRCk8QFNieXNeOVRpfE89ZigpbiZ1QXNQCno8PiRp
QGgpaUlYbE19djU4K2V2WXlWYzBxPDtaZ0smWUd3QHl0T2YwMUhCITxBYyZnb3BeREMrdEJsailA
SHRlewp6YG1hZWp4VE5LVkxxQHwobVlfR1l4KiowUTxnPWBQSkt5OD9DJHZpeDxYPGpAJT5Rfml1
KmdoPlNKcH4rWnNYVioKem8tWD5ySXNWVUdBcGEmdnpWNCk+fEx7X1A/T3h1RlF7cXEyX2w3aDtq
NTFWNVc0VEhPYDZpWlJVa2d6YGd9dVlgCnoxQW5mKytDRCo0Qzxpc2lsPm9KaHAzQlBCOX1NTyhg
VGpyUTAjOXxCbHIobVopVVNPSDg+emJnPHJWXkdITkR3Mgp6Y31Lb3hkR3k5NF9NVDFsRT9CdzZV
SFhIYiVmdWZiT3lKTlp2WnM3RG0oLXE8PUtlRHROeEhWSG8lY0ZoQzJKbEcKeGtYbG1TekpEKm0k
QmRTV3c2fWclcDEoaFFqNXJkb01RP1NAPz9TK3xpM2Y9TXFwaHk1bVp4R0R7NkYrMnZDO3FsCgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2Nzcy9jb21w
b3NpdGUtc2hhZG93LXdpdGgtb3BhY2l0eS1leHBlY3RlZC5jaGVja3N1bSBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9jc3MvY29tcG9zaXRlLXNoYWRvdy13aXRoLW9wYWNp
dHktZXhwZWN0ZWQuY2hlY2tzdW0KaW5kZXggNDcwMjExYmUwZGJiYmJmMjU1Njc1MmZkYzkzNzcx
MWE2NDEzOGRhNC4uMDQ0ZjkwYTI1ODliZTI1NDY3MGZjMTQ2YTYyMDVlZDM2OWE0MTBlMCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2Nzcy9jb21wb3Np
dGUtc2hhZG93LXdpdGgtb3BhY2l0eS1leHBlY3RlZC5jaGVja3N1bQorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvY3NzL2NvbXBvc2l0ZS1zaGFkb3ctd2l0aC1vcGFj
aXR5LWV4cGVjdGVkLmNoZWNrc3VtCkBAIC0xICsxIEBACi04N2MzYTcxYzgzZGQzNjAyZDc2MGRj
MTU1ODE0ODY3OQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzM3Y2U2ZjQ4YTM3YmRlNTQ2
NDYzNWJjYzA5MjZhMDNhClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2Nzcy9jb21wb3NpdGUtc2hhZG93
LXdpdGgtb3BhY2l0eS1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVv
cGFyZC9zdmcvY3NzL2NvbXBvc2l0ZS1zaGFkb3ctd2l0aC1vcGFjaXR5LWV4cGVjdGVkLnBuZwpp
bmRleCBmY2JkOGIyMTFiMGJiM2Q5MDAxNTgzZGJmMWYzMDA0NDEzOTY2OGU3Li4xOGU4NDI2YjFh
ZmFlYjYyOGQ4NzU3YjNkZDdmYmUwMDQ5ZTJhODdhIDEwMDY0NApHSVQgYmluYXJ5IHBhdGNoCmRl
bHRhIDM1NjkKemNtWldyZDBiTHk4XnZ1eCZEMWZxdU5lYWtiRjQ4Tm1vXkpib3okNWUpNy1MIURK
PV4kd3tsNzNpWT5NbzdFX2pICnoqd35jajl4anQ2WHEjR1l4dUtGYFhefCpgQkIpJjhlcG9ZIy1e
VTtQPyhoRVlgQEg4bD1lKn42S2EkbmokWjkzOAp6VnZoUmJgPEA7Z15ZMSRTZ2ltQXxeO05vNXh0
cHlOIzlmSzdwe1RYbyszWnR5JnA/KVBYWT15RiRZRTQpX0w8Rl4KekZLUzd2VW0+MEI/aEdmai16
fTQhI0l6cHRFbm14S20mWCo9K0A8clFDRl4kXz4hJjdIPEBAcGFAR0x+YUFkQGUwCnpxRkJZKzFK
S35XSz5xK0J5fj5QWkpQQUQlcS1gZE9QcEhAJSN5PiZEPUE9VlM+VG9AelYtayE2bjV4PTtLdHQ/
Vgp6RGY/flptQj9vQXJfdUpOY15LVHJoPnVxVHpaY34oe1B7PVN4X0tZaUFZPWk2bUBBY3x0REQ4
NClvNks+JSZQVz0KeiRHTkxLMnxCJHd5cWVCOFk1aUpLTU9CXjcyUTwxKkhBZHYpX2ktV2w4YFJY
NmleQ1ooQDRCM29YX2w3M2s0Z2goCnpHNVZGeHV3RTNtTmBgcEI1PjE0UldBXl9wV0VDT2duRkE7
VkVKWTJ0LWJASDtnSE9rYHZlRnt3Z3VxdSNZS0AjYgp6X1BZMWslKGVuNHJ9dSNgNkRaP28+T3hv
S2RuQVkoVXNydFRoXzZkSm5gI3JOZzNzdS1MO1JYKUJqI1QzM3UrbEEKellwcUU8KVZWVFF2X2JP
I1kqcyNsJjRNaUYwbUcjPDFJbU5BUmNjVSNEJj42PD5IckQ+KGdKbng0b3hiKHNRc0U+CnpzUVFB
YiRHaypyd2YxfldPTCVqbCFMeCM+OH5zWj4+cjFvUkZNVXRqe3dgQjBrY2RDeD9VQnwtO3xyenJk
UkZmPwp6VUNsfUozUF93NXpQcDNSYXcrYn5ENzZqQyFZQzJSYzBaUHlMfTU5JWd0eWs5O19ufUVA
eHhTeCtiIypGTTQxMX0KejBAQ3Ehcy1ybTNWWXJ+QDhzJTtCYjRtJHE2SHhCd2tqKWd7Yi1CeDZ0
Xz9eP3NgPlJGJGBsMEQ5PzAlWE1SJS1yCnpFP2dWM3BTR084LUB9YmRIbThwRXsoK3FBV1dQIUlV
YlVnUWpgNUhEYjNLaE00YDctPEZLa2NwWF51MiRDcFBnRwp6RFlmUHZ7fTBqREZUS3lQdEQ/JD5G
WVAqZjUqMWMzK0lJS21QZVJBWkVne1duQmgjOGwhPHt4eHFyX1drUTRiQFcKem1FZiNiczl+UjRa
JiFGNmVSSmNIdWBjdVNgYTZ2WCEoRiV3ZSlndUdpdD5qPUhwPURvYjlHdipaYGVeRDVuWWdUCnoz
aFopWHxFfmZeRXY5YW93NilGX1FrRXNKUHtyb2Nlbjx7Z3BfUn1LemdoYUhze3s+JEF6fCg9SkE3
IWxpRE1keQp6KlhKfjhEQFgqQE1OaStWRXslQkxwKkhfJVVFV0U5YExFT2YpM0V5YmpgaiFZU0k3
X1ZDNXtmfFd3a35wZlc3NWUKel5zSX1ZSWNLamc/VTB+TWdCX09FXih9JW42RzZnbF5eV1d1Nzd+
d2skNkxrTkVCPXEzZUo1Nk4/e2wtOSVyZ3k4CnpaQWRYbHBlVDlPQmlqP3J1cXY8SzklJWJNPSlp
LVJuKVNESnFjV0VPLXFBWkcrdFF4ZXE0TUMhJSR3XyFfKDd+cwp6Xk88UGV2bkczKj9Jdihye2Rv
VV9VMmVzYCNaZXhEVFFyR3BWYlpEaU08MyhKVk5HPD98Snd9aWxRdHViIzZjV0wKej1IKnV0JFRI
N0EpVnV8NklkSl4rRk4xTTdEblooYm1Ud2tmJl5SOHpocDNFaj5URlpVVl9RaWg+TGpGTncjYmU7
CnplQFFNUDJzbWh6MHF6OHdiWmYkfUAoKzI1THBmU3ooYmFePk5PMEokZj17PyE2IWRxKzJ4U2xH
Mns5UlhqOTNsUgp6PTZ1MW9NNyVkNGJEbnxQZUI8MnJLQTM1Q25IWjNjKWJqdWRSdnJYQzFKV0Bh
XnI+P31FcWZBUHg4KH5oKnZDaDkKeitNcUAkXnpTNFYmX3J0PUlnd1oyWFV2JVNTKklaJTNmRzBy
ck52aXdJJXdlRi0zJUZHcGFPdDR2MmxSN0lVNCpsCnooS2FuenVgRmVtOWFVME47Q2JESjl7dWBL
MDA4bj9vYDhIdisqS14hMS03VHRRQXVORTs7Jjh6ejY2UUNePV80Ngp6aFA8QDMwdDs1JmorOSVs
ansjeVRGKmtBREkmOWF7c25MX1RqKnpRNytpK2M7SGR7Xjs3dDtrJDF0MlVZK05jY1kKel5NcTlC
RFF1RHB2REIyIyFmenhrcjJSYzlBWjIxdEt3Vl5GeVBOfkBBVXAmRERfRnBjKngxMTN5alUkQUkw
aiUlCno8bzlIbSNScGduY14qV1V6M2BOfWZUU2pzcEVNSUslOXUpVl50WXhEZDwoVWVfZlhFVkVg
IUdMKmMwaCp7QFEqLQp6bHBsWVdIYXdvKjl3VXZUM01iQkJYM3A/dlI5UHI/MypPIU5AVjhhYUh+
TEBjbiZZaXhVJCk8fnQtJnF6blZaNS0Keik0VUdkTT43Ris1cEZCREFWbD0hc3VxR2Q+ST5fJjt1
LSUtdjB9fk4rTSYtJipJbyFjNnMoTyo8T3VEfDRianwhCno9UjQyRlpyd0RtZ2dSVXJxX0grTWwk
N0p0RDR3bG13Q1dZYGpWNWwtT0FqT1FFbFl+PGBMeSVDaVBLTUgxQHohKgp6X0NRdz4hODZjVz8r
Z0U1TylvJWA+TFZ1TjcjaTBsU3lqYzxFLSF4X3d9JTI8cjR4fiR6UkxOZihkTFNhcEk5Nm8KeiRR
Nm9oUmY2fEtEJl48azhJNmpnTEUxKkFgZGgtNUg1aHFVI0J5V1IoeyRIfSY2S0tgPzxXMHVeSWQ8
JlJtcHgzCnowNko7TUdiSEwkcl42THZsWG0qeEx6dVZDdklVYz1xWFYpdFFuZGBwJmlOSTNqfCsq
dXtMVnhaayomKGBuZk13dgp6Q0FvN1BINztBNz9VWiQmM35lMF5WZClpfl9Jc1piXkdtVV8rVDsl
LWNOYTBTeUUrciNJSXVfZnpPfWlqT01yYSsKekphRnE7TGEyYFd4b2NWb3cpRTJgNzgjbCRZYTxV
ZFYzWmdwbHNJYW5rdW1hX1JhQHheWHQlX29LYCV+NiN+JCE9Cno0IU10MjhPfTxsUG5qIUYtQjNw
NVhxPGF+JFE3NyFXd0U4cj81VVVgaVlOTHc2QDE0RClTJSM7RTRwKHMkUCE/JAp6IyZ4UEJrSUhv
fVVzXlliSEIpTG1NJEBOdVctXmBldTd3aX4zTmVybntxJkopZ1RneEY+Xjtxe0l2dFlOe2A3WEAK
eklFUHEtV3lwQnBjKmsrNDZIM21STDZSfn45XmBtSlE9WE85ZyFrRyFZeHhLM0s4KkFeVyh3KTtP
aGJkY3Q+VUNmCnp6IW9GNDwlSXlea09UK3NYZVZ4NDU8I3l0VTh6aXVJdTdvYVdrMVojJEk1Vl5s
IUlZRT5kKVBJfElfSkMoRjc1IQp6c2sleD15ZmF2XnhaX31nVyslPntiOztrSkd2ckRmY0owJUox
aUk1dFIqOTt+Ny0qY3xvPHlqOyg3SGVAMDRJMm8KenRkY3MqJmolJD1UKmkqbzRNb05lQFVrKiZB
RGdVOV5MVkN3K3Q0K2Q4TlpxMSlEVkllLWo7KWdue2dNcWprWi1GCnp5KW54aihZSmFvRlZ1d3Bw
PlZeSXlePlNme31EYSl0Q010S1dGMXZKU0p+Sl5MNWdBfHpmdkJfZk9OSWBEcG8yKAp6YGkycThr
Zyp2Mytgemg9ei14dDskRGl+WmhRWlh+Ykt8WGR6YCMraS0jfFAhWj1fbmhhYTxeUjw3TWAyN0pI
PFUKejBhaH4tIXJpIWFMKUVHYzQ/Z34pV1h2VStKflNgUiZfcTJUdCpARVE0RlAwS3BrRkBoREla
Pzd0d05rYjFqSGxrCnpNOzZNQ2hmOXNzRTg8Tzk+JmhwKW08K2luVktBNCZtYC0zWShVUStPVXtu
b0R2QiNTQ2l9dWpvUjxSUDhOZGJFMwp6NlJGX0BadE9hT1JMK093NTFyZz1IbFMqcntgZVpxISVt
UnEhN0NwNFRHRj0mbkhNfEdLIUNAQmYlJlFNJThRP2IKeityRCUlTn53QmJXQFZyV00/eCtvXnFV
TElOVTw4flh8VyNMT2N5NTlBbDF6Z0hmdXJBZH0rMyVSYT9xcSVmbCEoCnpGUmZNaGwqMkYwMGR8
UCRyejhTWlg4aSkleWRhTzxUdzc4NEkjZkF8YEVFV0lOUEpycm0wQHJVRnFQTFkpRThMcQp6dHds
YCVqU3gjak9gUWkpaUA4QEBSaXFHMEUtSjI2MVROOzdYbSheSUZMa0o9NilYNyppKGBvUEYrX1Fn
Q1NacjgKemVoP2AyUDE0b3hkRkVPSnpFUX17T0NmJHZMNXVMXlc4PWxyKlRyUnJSLWlAdVZZQUNx
YlFoNHEzRHpWPF9TQWl0CnpPTFZYdDN6bUNzMmZNSmNGOFh3UihDJDNHcCg4IUxoXnBqJWZoRE9n
cU5Kc00kUVlPflcmc003SjtrbkE4UH1nPgp6RXEhTUZQT1VLcnVKNT8yT1ptVkVjQnFuZDhwUFUr
aVNIUDEhe19XI1czbnRJMFR4ZzJoeEx7JXgpNTZsZFFTTUwKek89ZEQ/R2l4O1MrUHRqWFdkdylP
SHlVYUVGTm4lcmRKTEJLPVZuZ2AwWXpxUGp8aEVVUnczfFdvP2VwXzhkYXArCnpUVXpib0FFKjZ0
bDMmS2A+Z2FUUzZ9dChzWi11XyZNb1dMQzNfPUdDeyZjZF94e0lTXyZYI21uamBRbGJ3YVIqOQp6
M0kkJkxvKHFDQXctPzJvcmNZVz1WQ3RLWD9PZj94RVhFJEQzJHk0ZGhqaVhOWUtFXlBiZV9gd0xH
PVA4VSUyN1YKeiZCTnJFM09jZG4zPHpYfEJMSGIre3lsJWd0cG9II21MbHtWdlZOMFFeKW9MOEN9
dihpZ3M0fXlfJSo3U09OQStaCk8/bXokTFFzbmV8QF96eVJsWjJvRQoKZGVsdGEgMzUzOQp6Y21a
V3JYK1JUSzdZenxhS25nfENpVTxMNXNULX49bVNpR1c3Ny05ZEshcFljVG5HP2JXS29nfmlANE42
c0E7dW8KekY8TyltNVEwRkdCOU9SSCFKPnZMVk0pTTlTeUdtbUtwPHFGRkR7ayViJC1sYG5mdmEk
PWlLd29lUWwmIWdRUXRpCnprSkZBfDQpRSlESmBMZmlKZXF8dUYwITh5MkxpME98OF57PXttUld0
emljPS0kQTlqWGAje3NfZ01xVSo5SX1hcgp6PCpxK0otPGk+ViZmNGh+eDstRWVAcDEhRUpsJEpm
N0N4diRWbXRZeFE9VXNHJmNCKHdpVT4kODNtNWFURUxTZ1MKekAzZD9pY31AQmo1SWx+UEJ1ZkJk
R3F5bigjakx0KEB9c0gmRFkoTi1YTDBGJndTdEc/IyZmSUA9JmJ3Rz1oNkFVCnpiMEc7e21wLXtS
SG1ZWDZCcjM+JWdtbCQxczsrb31BN01ub3Q2eXw2d08lbztnVUI0TVJsaXV9VXhPND5sN0pNQAp6
OyZ9WD9vM1p0NVpvRXVURGFtWiFeZFRvSzg9TF4pcXhhJXw9UH1rIWFpRVE2Z2thfm88eW0zVSgl
RXI0JSYjUEAKejNEPlJvSjhjZikrVipHYHc1PnReYT8mYWEpUk1KVCVBYCh9PHQzcnUrMlolKj1+
RXFzYClwWWZ1eX1OOUVqOWtCCnpTMFZvU0p7ZWo/dXpkQz5TZHozcVJvazMtVGBKe3swbUVQPUJ0
cSR8eygrKUVuUj8xc1FsJWtrSWRgQ180PisrNAp6e0pUblJ0NGZYcSQ/biNFOEIxU0JMa3tpS21C
emVTPXYoMHdYKz5AYERlVGw+ekpSKlQtcUhkeShxcXY7KjVuXkUKejlOQHJHYXVzcCRrcnFOO0Em
czdzaWJZU3sxPEg5PCV0IVd4S0BXZF43eTUyWmJ+R0Yte08hPERrKjFAXi1SYkc3CnpoO0QtUGd1
VVIpaWsxejZNfnpSYz1ye35KZUFkTEZ6NTtfYU5WeDZCPz48fFUkNGR2ZSYrNnAyZ1VPLVFGN1c7
fgp6QGAwUSFzfDhOZXNSZj4tVzhONDJfV1E8N3JLc0lmJn45Y0N8TUlMYVFmP01rcDZCIVlgejdS
dG9KZUNuP2pFMUsKemtsK3IjPXR+YUdeJndaKUlEPm56ajlJNlVsN0luYVc8P0lldzUkRkR2dV9k
aG4zVlBZdmtBR2V6M2pXa1RMUTxRCnpeR0BIPU1OWlVSND5FSE8oS2d+K29VKGZDSEclS2hjJkM9
Jj85fUx1Sip6REpkRz8pNztedi04R2xaPkluYkRQdAp6LVgoU3k7JSF2SGB7P3Vqck96NTZFeDVs
Y0hwdVZBPDluWnBrMWc2ezx3OG02QEcyeHlWN217eEVVa1RXKSlTRiMKej9ydT1kbjJtb3w8amFo
bUZSdT44OV4zUXlvOU53e1BwQGJ+QUtXQH5ibm0+MEkyK1p2YTk2fGg0JXooSW4leDBRCnokKE0q
ZVRpPG9XVyU1NUFOJU97YTgpPChQVVI1dFl5PkQ8O3oxOClDKnNwbFlQal9jWWdOUFhmXiNyNUY+
MXZZYwp6K14oSntuXyh+bkVNV1YjdW97cUhKRy1XOz0zQkVHIzlnRGdgcXhTMHhpNUJ7PVlJXmlQ
XjFyX1QtTmBpVHV3MHMKej9PJndmejFBa314VWF+dDxGaW9MYEFSUHFpeE1wdTdGOzw7M3x7JFVl
TU58a0h9akc4b2xuY05UM0F9TClZZE51CnpCe18xcXNQai1uP0JTdiN6QVpfUGd9M3M1YTtEaGpF
WCVAcys7eUsocTs7M0VZQ3RCflRgd3IhRzdyQGVwVV5wYQp6UUhmeGsxUUE7bi1yfi1CNjZrYUJk
c3l8Y0l2YXg/XnVZc2NEUEhtTFEmN0chWHxyPXt7R1g+TV9mTV9yRyR3aEwKelZ8ZUN+bSNPOzty
bj9AR0VxNENAJkNhMXMmVH0yOWF0PWdzak9VZHpxTzB2WGV5ekZtY1Rvd3x4UFU1dShpfGYwCnpD
dkFmSWkjdEh3OCVSfHp6cnd7WXxFaWQ+KHxjTm9fKFlAYXlVSGt2MlVJeCMzMj9Qc09gQVlJPXo1
KitqdyhaSgp6V1ZObnZXUTdGQnMtTGVJLWcqWG00ZHV5ejZyZV5SanxIVCZrZiRSfXVvTVBzaEps
N3QqPj1IR0RiUVhsQiV0N1gKemJaNFBxcHc8PHtEPnNQKUYmO3grNEM+cyp0PjhxX3JEUFlNWVNl
SzNPPm58ZFNGNyNuQjtGeTZVJTwzeUhLLXN0CnpZPSlreUp2WXc4WGgpJHBOJFBZXlRPcD9reTt3
TDBEKn42KWNmNGkwakFxclVhdFJwdGloQWVWbHNpPFpvZkhBZAp6ODBgcVIpfERfRTJ5WTMtekx6
YHJfQXBzek91PW9AeD5pU1pxTTg4fkVmUnM2ZF5yXndLZyh4VFB3YWgkPF4pc1MKejJ0IT5jbllA
aUg2JDQ0by14ZzUxSXMqRTgjWEt+ZGtBanEzM2p8JXFMQmlle15FLTxlbl9tanNKP35GUTRKcnJh
Cno3fGxOYCNHblNGcXNUY3JePEF3UjJYNUZGY045M1RSRCpJfXBHM2U+QGZxNHlpVjd6UChLTG5C
ST0wd2JsaVNrMAp6R204eEQ8e0NQJFBeUm81aiZPOXxZOCtjV217dTNYLXhKUWNEKUowYEw7TnpT
bktiUmAycTwhYUV8antQRUMwRlgKeihxQDxDSGBPQG5jTD85fVImU0U5PzJnWTZ6VHU+LSNDQEA/
Pz8/KDV3Mk5MK3tRT2luV3djY0taUjBtNGd9cENgCnoqI19Jei0qPll3JnVMbFUlWT9tMU19X1Ih
LUI8ajRZdlQze1lLbzc2eTh2TX45ekleK3ZGZktwM1AtSjtgI19jYQp6SWMyOHgpezUpO3B+QnBY
anBVX00xbCpCOHJka3xyKilufT0zalV0fF90aTx9V3oxYmpubSZNXzMyQUU4ejlwJT0KenRQfCRZ
TV5tPihSUWJLJDVTRXg3ZCtqS2pAUU9gRztlZEgpSChOdGZNTWNKNy1JeV88byNMTE10VkV+eU9l
KWIyCnpyaT9re1lIK1QwIUVJTTJKbjV8JUY2QTtIJjx9YTdnY2dGUFBjc3BfZnBTcipJYnZEPWpM
NldoYjR8KitPTHZXWAp6KUZ4T3MyfVVCT2ZfcG5kXzFtSTs+QVlhemVfck5jUmJBZnh5fHwhZWM+
fEdZYEImS3lUVH12ZGFfZVJVPkVmR0QKem5QQWlfKTdpMmotOFV2YkBINDxGeUMzaC1peXQ8MzZv
ITM0bGE0PmI1b0AjeDY3KU9sTVZgaXhWTjs3Um17UVNDCnpsSEJhQzd2OzgjJXBGb3VORjstVlFr
NkNtKUoobW9GKmF5YVdWY35lQyRiWWZoPzlPYHQjJTNuclErT0MkXm8qeAp6aiFVVEF5UG9EMmhl
ZWh0T0ZfekJncHgqNChOSk5uKUB6XzsmTDFZSXA3b2ZeWHA8allMMW44TGs3NURwOGVzSE0KemBL
bTB2YmNTP0Q5PT81ajFzeS1RU31ZPkk1dmlzR0xMR0RWemBCN20yRmtJckRHZDslPkx4Pj02WTdU
eCo9OyV2Cno3aSFSSWclSDhZZENUVX04ajNkMlk5JEVCSFVUZSpAKl5PVndSRnBoVGMyNkJuMH1z
bC1YS2tveytSUmpgQmJ1MQp6SlVXdkw+U1B1Q3tEa2NabTQ0QlY1fColaFJIMWwpRz8ySjRgIWMj
QmpadS1ZSHc4cjtARlUqUk8wQSZkbCtqUioKelN8TzlAKT4qY3NVcl9BKUN8eXYwa0RBe0ZfbTlT
VWJTJmczeyY0VmV4R2ReQE1lfCVMeE18ZXc1QHAhQm1+MlYxCno9Yz8yQXAtcSV3NGtvKyElK2FJ
PXVAPXIjSzFLdCU9TnRWJD1GQ0V5ZztobWZ4e1lCS2hIfG1DY0t7X0JwYjNjVwp6VG5GeHttMDNO
QmhJMUxiNTE/UCRya198MWdCZFMqSkhZUHREbFR2bzd2dXR0UiF+dT9BSk1rbVMxKmNATWd4dm4K
elYtWWp7KHZYKGpKUVExX0M9eDEqaC0jZWY4Sz0oT1ckTntLdntCczRAMFFJcEBwWjFUVWNhKCZN
S1BjJWV1WnpaCno7aSQ/djM4MURLIzlLS1dQPX5HdClSUT5nSlgxcGtiJH5KUjxQeVBaI3NzZ0Vx
bnBablRgSjxKPnAyMjR2ZFBnIwp6WTZgWm8kTWJSY2tAVkdnJWAxdWE2KjstZFZOc3U+P3d+TTNp
cDhrK20qPng2b2diMlV2R2ZReVYpRUBLPWg7aW0Kejx7JSh7XjBPd1YqXlU4ZG45YDN0KzJteypW
eGY1XilDN14ye05aWE9DSXxobzQxfTdEcEJnRHckVSRwfT4rfShYCnpSSiNVfGckRSFeQytJZGFv
Yjw4QWgyU0JgYlI0cHVgNn1lWG0pYHtjNk1JaFlLWE0kVD5nMnA0TGVuNkpDISRpUgp6WlV3T2JJ
RERCJSh7fHZyOWFKMyN5a1ZyQWY3WigyVDt0RShVd3w2diNwbmh4JC10eCFGaUZGZCRFU21YNXlh
YjsKemtFQXBheW9LdDRIPylnUHYjYD5QeGVGLVR1X0ZTeW1RTj4pYmtsVnNiYV5BLWtoX0NHaGZP
cXwoRWUobT9odiF+CnpHcjZmSzJZdCZxVF9BQnsxeX5LSk1qfCtUViY2aHlwTSRASCZwRnNjPkNr
bjlCfn5eV2lEKUs5a3VPeF82Vjs7fQp6LUtoQXVONilPNXsoNSp6JD41Rnw4UXhGTVpjWno8RC1g
TiE5dC1sJURAWF8hNWVmRVQpQDYrP21zPVIxT29XcmYKeno5I3Q7NUs+WWsqfENkRDc8cl83OWg7
MmUkU0kjbj1+OD9oJWclTlVHeGxuVSEkeCshdmdfZUZTYXJaQm16RD1gCnooIz5LYjRIZENjKn0t
Q2A7KCghKFpANWZzOV9kdUc/YGctVVZfKG5vJTZQfChvVGlTMXNDQWRhTVNoTmljSj83egp6a3p+
P3g0bUw3OCR2M2pFeGJndHtiRl5tcXRPNTMzeGF9STxnZXozNz9HPFhIKXB8Y1hWQSl2S0haQihu
KG9odF4KbEBRSU81RiswNGVPZDJaRGFtLXMqaHA9ZkVQJSEteUBPQUxeTzdFRFF7e2UjWmRMUkcq
CgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jc3MvY29tcG9zaXRl
LXNoYWRvdy1leGFtcGxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9z
dmcvY3NzL2NvbXBvc2l0ZS1zaGFkb3ctZXhhbXBsZS1leHBlY3RlZC50eHQKaW5kZXggZWQwOTc3
ZmU3ZTY1OTk1MThjMmQ2ZGZjNDgzMjUwYmZkYWIzNjExYS4uMDc0ZWRiYzI3ODYwMmRiMzFkNWJl
NjhmODA3NjFmNjUxZjcwM2E2MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L3N2Zy9jc3MvY29tcG9zaXRlLXNoYWRvdy1leGFtcGxlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2Nzcy9jb21wb3NpdGUtc2hhZG93LWV4YW1wbGUtZXhw
ZWN0ZWQudHh0CkBAIC0zLDcgKzMsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2MTYKIGxh
eWVyIGF0ICgwLDApIHNpemUgNzg1eDYxNgogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkg
c2l6ZSA3ODV4NjE2CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3Njl4NjAw
Ci0gICAgICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICg0MCwzNikgc2l6ZSA0NDZ4MTYwCisgICAg
ICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICg0MCwzNikgc2l6ZSA0MzZ4MTUwCiAgICAgICAgIFJl
bmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDQwLDM2KSBzaXplIDE0NngxNDAKICAgICAgICAgICBS
ZW5kZXJQYXRoIHtwYXRofSBhdCAoNDAsMzYpIHNpemUgMTQ2eDE0MCBbdHJhbnNmb3JtPXttPSgo
MS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgxMDAuMDAsMTAwLjAwKX1dIFtzdHJva2U9e1t0eXBl
PVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW3N0cm9rZSB3aWR0aD0xMC4wMF19XSBbZmlsbD17W3R5
cGU9U09MSURdIFtjb2xvcj0jOTk5OTk5XX1dIFtkYXRhPSJNMC4wMCwzMC4wMCBMLTM1LjI3LDQ4
LjU0IEwtMjguNTMsOS4yNyBMLTU3LjA2LC0xOC41NCBMLTE3LjYzLC0yNC4yNyBMLTAuMDAsLTYw
LjAwIEwxNy42MywtMjQuMjcgTDU3LjA2LC0xOC41NCBMMjguNTMsOS4yNyBMMzUuMjcsNDguNTQg
WiJdCiAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDIwMCw0Nikgc2l6ZSAxMjh4
MTI1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2Nzcy9jb21wb3Np
dGUtc2hhZG93LXdpdGgtb3BhY2l0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvc3ZnL2Nzcy9jb21wb3NpdGUtc2hhZG93LXdpdGgtb3BhY2l0eS1leHBlY3RlZC50eHQK
aW5kZXggOTVmYmYwOTY1OWI0MjQyY2VkYjY0ODc2ZDQwMjhjNTViNmI1ZDE0Mi4uZjc0MWVmMmU4
NTI5YjJiZGQwNjZhMjA3MDYyZTMwZWQ2OTcwZjFlZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL3N2Zy9jc3MvY29tcG9zaXRlLXNoYWRvdy13aXRoLW9wYWNpdHktZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3NzL2NvbXBvc2l0ZS1z
aGFkb3ctd2l0aC1vcGFjaXR5LWV4cGVjdGVkLnR4dApAQCAtNCw3ICs0LDcgQEAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA3ODV4NjE2CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4
NXg2MTYKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXg2MDAKIGxheWVy
IGF0ICg4LDgpIHNpemUgNzY5eDYwMAotICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICg0MCwzNikg
c2l6ZSA0NDZ4MTYwIFtvcGFjaXR5PTAuNTBdCisgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDQw
LDM2KSBzaXplIDQzNngxNTAgW29wYWNpdHk9MC41MF0KICAgICBSZW5kZXJTVkdDb250YWluZXIg
e2d9IGF0ICg0MCwzNikgc2l6ZSAxNDZ4MTQwCiAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAo
NDAsMzYpIHNpemUgMTQ2eDE0MCBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDAp
KSB0PSgxMDAuMDAsMTAwLjAwKX1dIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAw
MF0gW3N0cm9rZSB3aWR0aD0xMC4wMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jOTk5
OTk5XX1dIFtkYXRhPSJNMC4wMCwzMC4wMCBMLTM1LjI3LDQ4LjU0IEwtMjguNTMsOS4yNyBMLTU3
LjA2LC0xOC41NCBMLTE3LjYzLC0yNC4yNyBMLTAuMDAsLTYwLjAwIEwxNy42MywtMjQuMjcgTDU3
LjA2LC0xOC41NCBMMjguNTMsOS4yNyBMMzUuMjcsNDguNTQgWiJdCiAgICAgUmVuZGVyU1ZHQ29u
dGFpbmVyIHtnfSBhdCAoMjAwLDQ2KSBzaXplIDEyOHgxMjUKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjRhYWFhMGViYTZhNjk2ZDNhN2Q4
YWNmNjM0YTI2MzM0ODlhYjNmZi4uMWYwYmM3NmEyODgxMDkyMmZmMDY1ZjdlMjE5ZDk2NjdlNjM3
MTEyZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw2OSBAQAorMjAxMC0wOC0zMCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2
aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjY2
NDE4LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC82NjQxOAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQ5MjQKKworICAg
ICAgICBCcm9rZSBtb3Zpbmctc2hhZG93LW9uLWNvbnRhaW5lciBvbiBtdWx0aXBsZSBib3RzIChS
ZXF1ZXN0ZWQKKyAgICAgICAgYnkgYWJhcnRoIG9uICN3ZWJraXQpLgorCisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckZvcmVpZ25PYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
Rm9yZWlnbk9iamVjdDo6bGF5b3V0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJPYmplY3Q6OnNldE5lZWRzQm91bmRhcmllc1VwZGF0ZSk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlck9iamVjdENoaWxkTGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJPYmplY3RDaGlsZExpc3Q6OnJlbW92ZUNoaWxkTm9kZSk6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclBhdGguY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUGF0aDo6bGF5b3V0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclBhdGg6OnBhaW50KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclBhdGg6OnN0eWxlV2lsbENoYW5nZSk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclBhdGguaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclBhdGg6OnNldE5lZWRzQm91bmRh
cmllc1VwZGF0ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNWR0Jsb2NrLmNwcDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHQmxvY2suaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyU1ZHQ29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR0NvbnRh
aW5lcjo6UmVuZGVyU1ZHQ29udGFpbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR0Nv
bnRhaW5lcjo6bGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR0NvbnRhaW5lcjo6
cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHQ29udGFpbmVyOjpvYmplY3RCb3Vu
ZGluZ0JveCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdDb250YWluZXI6OnN0cm9rZUJv
dW5kaW5nQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR0NvbnRhaW5lcjo6cmVwYWlu
dFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdD
b250YWluZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR0NvbnRhaW5lcjo6Y2FsY3Vs
YXRlTG9jYWxUcmFuc2Zvcm0pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdHcmFkaWVu
dFN0b3AuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR0hpZGRlbkNvbnRhaW5lcjo6Y2xpcHBlZE92
ZXJmbG93UmVjdEZvclJlcGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHSGlkZGVu
Q29udGFpbmVyOjpvYmplY3RCb3VuZGluZ0JveCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJT
VkdIaWRkZW5Db250YWluZXI6OnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyLmg6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclNWR0ltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR0lt
YWdlOjpsYXlvdXQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdJbWFnZS5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdJbmxpbmUuY3BwOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJTVkdJbmxpbmUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHTW9kZWxP
YmplY3QuY3BwOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdNb2RlbE9iamVjdC5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdSb290LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclNWR1Jvb3Q6OlJlbmRlclNWR1Jvb3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
U1ZHUm9vdDo6bGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jvb3Q6Om9iamVj
dEJvdW5kaW5nQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jvb3Q6OnN0cm9rZUJv
dW5kaW5nQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jvb3Q6OnJlcGFpbnRSZWN0
SW5Mb2NhbENvb3JkaW5hdGVzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUm9vdC5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclNWR1RleHQ6OmxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNW
R1RyYW5zZm9ybWFibGVDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZH
VHJhbnNmb3JtYWJsZUNvbnRhaW5lcjo6Y2FsY3VsYXRlTG9jYWxUcmFuc2Zvcm0pOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmg6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyOjpjYWxjVmlld3BvcnQpOgorICAgICAg
ICAqIHJlbmRlcmluZy9TVkdSZW5kZXJTdXBwb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R1JlbmRlclN1cHBvcnQ6OmNvbXB1dGVDb250YWluZXJCb3VuZGluZ0JveCk6CisgICAgICAgICog
cmVuZGVyaW5nL1NWR1JlbmRlclN1cHBvcnQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUv
U1ZHUmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6OmRp
ZmYpOgorCiAyMDEwLTA4LTMwICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGb3JlaWduT2JqZWN0LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZv
cmVpZ25PYmplY3QuY3BwCmluZGV4IGJmY2I5NDA4ZjUyZWJiY2IwYzJkOTU5MDg4Njc2MzE3MjEx
Yzk3OGIuLjUwYzFhNDJkOWQwZGJiYjQ4ODJhNGFiNmM5NjczYTY5MmM5NzU2NWYgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZvcmVpZ25PYmplY3QuY3BwCisrKyBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZvcmVpZ25PYmplY3QuY3BwCkBAIC0xMDIsMjAgKzEwMiwxNCBA
QCB2b2lkIFJlbmRlckZvcmVpZ25PYmplY3Q6OmxheW91dCgpCiAgICAgTGF5b3V0UmVwYWludGVy
IHJlcGFpbnRlcigqdGhpcywgbV9ldmVySGFkTGF5b3V0ICYmIGNoZWNrRm9yUmVwYWludER1cmlu
Z0xheW91dCgpKTsKICAgICBTVkdGb3JlaWduT2JqZWN0RWxlbWVudCogZm9yZWlnbiA9IHN0YXRp
Y19jYXN0PFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50Kj4obm9kZSgpKTsKIAotICAgIGJvb2wgdXBk
YXRlQ2FjaGVkQm91bmRhcmllc0luUGFyZW50cyA9IGZhbHNlOwogICAgIGlmIChtX25lZWRzVHJh
bnNmb3JtVXBkYXRlKSB7CiAgICAgICAgIG1fbG9jYWxUcmFuc2Zvcm0gPSBmb3JlaWduLT5hbmlt
YXRlZExvY2FsVHJhbnNmb3JtKCk7CiAgICAgICAgIG1fbmVlZHNUcmFuc2Zvcm1VcGRhdGUgPSBm
YWxzZTsKLSAgICAgICAgdXBkYXRlQ2FjaGVkQm91bmRhcmllc0luUGFyZW50cyA9IHRydWU7CiAg
ICAgfQogCi0gICAgRmxvYXRSZWN0IG9sZFZpZXdwb3J0ID0gbV92aWV3cG9ydDsKLQogICAgIC8v
IENhY2hlIHZpZXdwb3J0IGJvdW5kYXJpZXMKICAgICBGbG9hdFBvaW50IHZpZXdwb3J0TG9jYXRp
b24oZm9yZWlnbi0+eCgpLnZhbHVlKGZvcmVpZ24pLCBmb3JlaWduLT55KCkudmFsdWUoZm9yZWln
bikpOwogICAgIG1fdmlld3BvcnQgPSBGbG9hdFJlY3Qodmlld3BvcnRMb2NhdGlvbiwgRmxvYXRT
aXplKGZvcmVpZ24tPndpZHRoKCkudmFsdWUoZm9yZWlnbiksIGZvcmVpZ24tPmhlaWdodCgpLnZh
bHVlKGZvcmVpZ24pKSk7Ci0gICAgaWYgKCF1cGRhdGVDYWNoZWRCb3VuZGFyaWVzSW5QYXJlbnRz
KQotICAgICAgICB1cGRhdGVDYWNoZWRCb3VuZGFyaWVzSW5QYXJlbnRzID0gb2xkVmlld3BvcnQg
IT0gbV92aWV3cG9ydDsKIAogICAgIC8vIFNldCBib3ggb3JpZ2luIHRvIHRoZSBmb3JlaWduT2Jq
ZWN0IHgveSB0cmFuc2xhdGlvbiwgc28gcG9zaXRpb25lZCBvYmplY3RzIGluIFhIVE1MIGNvbnRl
bnQgZ2V0IGNvcnJlY3QKICAgICAvLyBwb3NpdGlvbnMuIEEgcmVndWxhciBSZW5kZXJCb3hNb2Rl
bE9iamVjdCB3b3VsZCBwdWxsIHRoaXMgaW5mb3JtYXRpb24gZnJvbSBSZW5kZXJTdHlsZSAtIGlu
IFNWRyB0aG9zZQpAQCAtMTI4LDEwICsxMjIsNiBAQCB2b2lkIFJlbmRlckZvcmVpZ25PYmplY3Q6
OmxheW91dCgpCiAgICAgUmVuZGVyQmxvY2s6OmxheW91dCgpOwogICAgIEFTU0VSVCghbmVlZHNM
YXlvdXQoKSk7CiAKLSAgICAvLyBJZiBvdXIgYm91bmRzIGNoYW5nZWQsIG5vdGlmeSB0aGUgcGFy
ZW50cy4KLSAgICBpZiAodXBkYXRlQ2FjaGVkQm91bmRhcmllc0luUGFyZW50cykKLSAgICAgICAg
UmVuZGVyU1ZHQmxvY2s6OnNldE5lZWRzQm91bmRhcmllc1VwZGF0ZSgpOwotCiAgICAgLy8gSW52
YWxpZGF0ZSBhbGwgcmVzb3VyY2VzIG9mIHRoaXMgY2xpZW50IGlmIG91ciBsYXlvdXQgY2hhbmdl
ZC4KICAgICBpZiAobGF5b3V0Q2hhbmdlZCkKICAgICAgICAgU1ZHUmVzb3VyY2VzQ2FjaGU6OmNs
aWVudExheW91dENoYW5nZWQodGhpcyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRl
eCBkMDFiOTJkOTQxMjNkMzg4YWQ5YjAyOGQ1MDU1NWMzZjJiOTVjY2E0Li41NzZhYWQwMjRhYzJl
Y2YxYWQ0MTJmZjE3MzAyYWRjNTdkOGYxNTcxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5j
cHAKQEAgLTI2OTIsMTIgKzI2OTIsNiBAQCBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciogUmVu
ZGVyT2JqZWN0Ojp0b1JlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKCkKICAgICByZXR1cm4gMDsK
IH0KIAotdm9pZCBSZW5kZXJPYmplY3Q6OnNldE5lZWRzQm91bmRhcmllc1VwZGF0ZSgpCi17Ci0g
ICAgaWYgKFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSBwYXJlbnQoKSkKLSAgICAgICAgcmVuZGVy
ZXItPnNldE5lZWRzQm91bmRhcmllc1VwZGF0ZSgpOwotfQotCiBGbG9hdFJlY3QgUmVuZGVyT2Jq
ZWN0OjpvYmplY3RCb3VuZGluZ0JveCgpIGNvbnN0CiB7CiAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IDlmYmFmOTEwYTg5N2QzN2VkOTBmZDcy
NWRlY2JmYTdhYzI0YjVjZmQuLjM0ZWJhNmQ4ZjQ4N2U0ZTg0MDc0NWFlZTMzNTA3ZWYzMTc2ZTQ0
NmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCisrKyBiL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0zMjcsNyArMzI3LDcgQEAgcHVibGlj
OgogICAgIC8vIFVuZm9ydHVuYXRlbHkgd2UgZG9uJ3QgaGF2ZSBzdWNoIGEgY2xhc3MgeWV0LCBi
ZWNhdXNlIGl0J3Mgbm90IHBvc3NpYmxlIGZvciBhbGwgcmVuZGVyZXJzCiAgICAgLy8gdG8gaW5o
ZXJpdCBmcm9tIFJlbmRlclNWR09iamVjdCAtPiBSZW5kZXJPYmplY3QgKHNvbWUgbmVlZCBSZW5k
ZXJCbG9jayBpbmhlcml0YW5jZSBmb3IgaW5zdGFuY2UpCiAgICAgdmlydHVhbCB2b2lkIHNldE5l
ZWRzVHJhbnNmb3JtVXBkYXRlKCkgeyB9Ci0gICAgdmlydHVhbCB2b2lkIHNldE5lZWRzQm91bmRh
cmllc1VwZGF0ZSgpOworICAgIHZpcnR1YWwgdm9pZCBzZXROZWVkc0JvdW5kYXJpZXNVcGRhdGUo
KSB7IH0KIAogICAgIC8vIFBlciBTVkcgMS4xIG9iamVjdEJvdW5kaW5nQm94IGlnbm9yZXMgY2xp
cHBpbmcsIG1hc2tpbmcsIGZpbHRlciBlZmZlY3RzLCBvcGFjaXR5IGFuZCBzdHJva2Utd2lkdGgu
CiAgICAgLy8gVGhpcyBpcyB1c2VkIGZvciBhbGwgY29tcHV0YXRpb24gb2Ygb2JqZWN0Qm91bmRp
bmdCb3ggcmVsYXRpdmUgdW5pdHMgYW5kIGJ5IFNWR0xvY2F0ZWFibGU6OmdldEJCb3goKS4KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdENoaWxkTGlzdC5jcHAgYi9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3RDaGlsZExpc3QuY3BwCmluZGV4IDk2ZWM4MDA1
MTgzMzA5YzUwNDA1MTc2NzY2YmY4YmUzNTk3ZWI0YzYuLmQ4Yzc5NTU2ZmRiMGNlMmE0NmY4YzZi
M2RhYmE3ZDkyMGI4ZGY3NmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdENoaWxkTGlzdC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0Q2hp
bGRMaXN0LmNwcApAQCAtOTgsMTEgKzk4LDYgQEAgUmVuZGVyT2JqZWN0KiBSZW5kZXJPYmplY3RD
aGlsZExpc3Q6OnJlbW92ZUNoaWxkTm9kZShSZW5kZXJPYmplY3QqIG93bmVyLCBSZW5kZXIKIAog
ICAgICAgICBpZiAob2xkQ2hpbGQtPmlzUG9zaXRpb25lZCgpICYmIG93bmVyLT5jaGlsZHJlbklu
bGluZSgpKQogICAgICAgICAgICAgb3duZXItPmRpcnR5TGluZXNGcm9tQ2hhbmdlZENoaWxkKG9s
ZENoaWxkKTsKLQotI2lmIEVOQUJMRShTVkcpCi0gICAgICAgIC8vIFVwZGF0ZSBjYWNoZWQgYm91
bmRhcmllcyBpbiBTVkcgcmVuZGVyZXJzLCBpZiBhIGNoaWxkIGlzIHJlbW92ZWQuCi0gICAgICAg
IG93bmVyLT5zZXROZWVkc0JvdW5kYXJpZXNVcGRhdGUoKTsKLSNlbmRpZgogICAgIH0KICAgICAK
ICAgICAvLyBJZiBvbGRDaGlsZCBpcyB0aGUgc3RhcnQgb3IgZW5kIG9mIHRoZSBzZWxlY3Rpb24s
IHRoZW4gY2xlYXIgdGhlIHNlbGVjdGlvbiB0bwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyUGF0aC5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQYXRoLmNwcAppbmRl
eCAwZjMxZGYxZDVhYzc1OGQyYTU2Yjc5MWRiODRjYTdiNzYxMzc4MTdjLi44NmExMmM4NGRhNDdk
NTU1YTFiZDc5MTIzYjZhY2Y0NzM3YzE0NzUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJQYXRoLmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQYXRoLmNwcApA
QCAtMTAxLDM5ICsxMDEsMjggQEAgdm9pZCBSZW5kZXJQYXRoOjpsYXlvdXQoKQogICAgIExheW91
dFJlcGFpbnRlciByZXBhaW50ZXIoKnRoaXMsIG1fZXZlckhhZExheW91dCAmJiBjaGVja0ZvclJl
cGFpbnREdXJpbmdMYXlvdXQoKSk7CiAgICAgU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQq
IGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudCo+KG5v
ZGUoKSk7CiAKLSAgICBib29sIHVwZGF0ZUNhY2hlZEJvdW5kYXJpZXNJblBhcmVudHMgPSBmYWxz
ZTsKLQogICAgIGJvb2wgbmVlZHNQYXRoVXBkYXRlID0gbV9uZWVkc1BhdGhVcGRhdGU7CiAgICAg
aWYgKG5lZWRzUGF0aFVwZGF0ZSkgewogICAgICAgICBtX3BhdGggPSBlbGVtZW50LT50b1BhdGhE
YXRhKCk7CiAgICAgICAgIG1fbmVlZHNQYXRoVXBkYXRlID0gZmFsc2U7Ci0gICAgICAgIHVwZGF0
ZUNhY2hlZEJvdW5kYXJpZXNJblBhcmVudHMgPSB0cnVlOwogICAgIH0KIAogICAgIGlmIChtX25l
ZWRzVHJhbnNmb3JtVXBkYXRlKSB7CiAgICAgICAgIG1fbG9jYWxUcmFuc2Zvcm0gPSBlbGVtZW50
LT5hbmltYXRlZExvY2FsVHJhbnNmb3JtKCk7CiAgICAgICAgIG1fbmVlZHNUcmFuc2Zvcm1VcGRh
dGUgPSBmYWxzZTsKLSAgICAgICAgdXBkYXRlQ2FjaGVkQm91bmRhcmllc0luUGFyZW50cyA9IHRy
dWU7CiAgICAgfQogCi0gICAgaWYgKG1fbmVlZHNCb3VuZGFyaWVzVXBkYXRlKQotICAgICAgICB1
cGRhdGVDYWNoZWRCb3VuZGFyaWVzSW5QYXJlbnRzID0gdHJ1ZTsKLQogICAgIC8vIEludmFsaWRh
dGUgYWxsIHJlc291cmNlcyBvZiB0aGlzIGNsaWVudCBpZiBvdXIgbGF5b3V0IGNoYW5nZWQuCiAg
ICAgaWYgKG1fZXZlckhhZExheW91dCAmJiBzZWxmTmVlZHNMYXlvdXQoKSkKICAgICAgICAgU1ZH
UmVzb3VyY2VzQ2FjaGU6OmNsaWVudExheW91dENoYW5nZWQodGhpcyk7CiAKICAgICAvLyBBdCB0
aGlzIHBvaW50IExheW91dFJlcGFpbnRlciBhbHJlYWR5IGdyYWJiZWQgdGhlIG9sZCBib3VuZHMs
Ci0gICAgLy8gcmVjYWxjdWxhdGUgdGhlbSBub3cgc28gcmVwYWludEFmdGVyTGF5b3V0KCkgdXNl
cyB0aGUgbmV3IGJvdW5kcy4KKyAgICAvLyByZWNhbGN1bGF0ZSB0aGVtIG5vdyBzbyByZXBhaW50
QWZ0ZXJMYXlvdXQoKSB1c2VzIHRoZSBuZXcgYm91bmRzCiAgICAgaWYgKG5lZWRzUGF0aFVwZGF0
ZSB8fCBtX25lZWRzQm91bmRhcmllc1VwZGF0ZSkgewogICAgICAgICB1cGRhdGVDYWNoZWRCb3Vu
ZGFyaWVzKCk7CiAgICAgICAgIG1fbmVlZHNCb3VuZGFyaWVzVXBkYXRlID0gZmFsc2U7CiAgICAg
fQogCi0gICAgLy8gSWYgb3VyIGJvdW5kcyBjaGFuZ2VkLCBub3RpZnkgdGhlIHBhcmVudHMuCi0g
ICAgaWYgKHVwZGF0ZUNhY2hlZEJvdW5kYXJpZXNJblBhcmVudHMpCi0gICAgICAgIFJlbmRlclNW
R01vZGVsT2JqZWN0OjpzZXROZWVkc0JvdW5kYXJpZXNVcGRhdGUoKTsKLQogICAgIHJlcGFpbnRl
ci5yZXBhaW50QWZ0ZXJMYXlvdXQoKTsKICAgICBzZXROZWVkc0xheW91dChmYWxzZSk7CiB9CkBA
IC0xODMsNyArMTcyLDggQEAgdm9pZCBSZW5kZXJQYXRoOjpwYWludChQYWludEluZm8mIHBhaW50
SW5mbywgaW50LCBpbnQpCiAgICAgICAgIHJldHVybjsKIAogICAgIEZsb2F0UmVjdCBib3VuZGlu
Z0JveCA9IHJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCk7Ci0gICAgaWYgKCFTVkdSZW5k
ZXJTdXBwb3J0OjpwYWludEluZm9JbnRlcnNlY3RzUmVwYWludFJlY3QoYm91bmRpbmdCb3gsIG1f
bG9jYWxUcmFuc2Zvcm0sIHBhaW50SW5mbykpCisgICAgRmxvYXRSZWN0IG5vbkxvY2FsQm91bmRp
bmdCb3ggPSBtX2xvY2FsVHJhbnNmb3JtLm1hcFJlY3QoYm91bmRpbmdCb3gpOworICAgIGlmICgh
bm9uTG9jYWxCb3VuZGluZ0JveC5pbnRlcnNlY3RzKHBhaW50SW5mby5yZWN0KSkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgUGFpbnRJbmZvIGNoaWxkUGFpbnRJbmZvKHBhaW50SW5mbyk7CkBAIC0y
ODAsNiArMjcwLDEzIEBAIEZsb2F0UmVjdCBSZW5kZXJQYXRoOjpjYWxjdWxhdGVNYXJrZXJCb3Vu
ZHNJZk5lZWRlZCgpCiAgICAgcmV0dXJuIG1fbWFya2VyTGF5b3V0SW5mby5jYWxjdWxhdGVCb3Vu
ZGFyaWVzKG1hcmtlclN0YXJ0LCBtYXJrZXJNaWQsIG1hcmtlckVuZCwgc3ZnU3R5bGUtPnN0cm9r
ZVdpZHRoKCkudmFsdWUoc3ZnRWxlbWVudCksIG1fcGF0aCk7CiB9CiAKK3ZvaWQgUmVuZGVyUGF0
aDo6c3R5bGVXaWxsQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHls
ZSogbmV3U3R5bGUpCit7CisgICAgaWYgKGRpZmYgPT0gU3R5bGVEaWZmZXJlbmNlTGF5b3V0KQor
ICAgICAgICBzZXROZWVkc0JvdW5kYXJpZXNVcGRhdGUoKTsKKyAgICBSZW5kZXJTVkdNb2RlbE9i
amVjdDo6c3R5bGVXaWxsQ2hhbmdlKGRpZmYsIG5ld1N0eWxlKTsKK30KKwogdm9pZCBSZW5kZXJQ
YXRoOjp1cGRhdGVDYWNoZWRCb3VuZGFyaWVzKCkKIHsKICAgICBpZiAobV9wYXRoLmlzRW1wdHko
KSkgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGF0aC5oIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyUGF0aC5oCmluZGV4IDFkMzVhMDFjYzVhN2M0NDU4ZTRhNTM1ZWU2
ZDYwNjY0OTJmZjA3ZWUuLjFiZGFjMDczNjdlMGIzMzc1MmZlNzdiZGQ2MDI5M2NiOTYxZjFiMjUg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBhdGguaAorKysgYi9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJQYXRoLmgKQEAgLTQxLDggKzQxLDggQEAgcHVibGljOgogICAgIFJl
bmRlclBhdGgoU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQqKTsKIAogICAgIGNvbnN0IFBh
dGgmIHBhdGgoKSBjb25zdCB7IHJldHVybiBtX3BhdGg7IH0KKyAgICB2b2lkIHNldE5lZWRzQm91
bmRhcmllc1VwZGF0ZSgpIHsgbV9uZWVkc0JvdW5kYXJpZXNVcGRhdGUgPSB0cnVlOyB9CiAgICAg
dm9pZCBzZXROZWVkc1BhdGhVcGRhdGUoKSB7IG1fbmVlZHNQYXRoVXBkYXRlID0gdHJ1ZTsgfQot
ICAgIHZpcnR1YWwgdm9pZCBzZXROZWVkc0JvdW5kYXJpZXNVcGRhdGUoKSB7IG1fbmVlZHNCb3Vu
ZGFyaWVzVXBkYXRlID0gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXROZWVkc1RyYW5zZm9y
bVVwZGF0ZSgpIHsgbV9uZWVkc1RyYW5zZm9ybVVwZGF0ZSA9IHRydWU7IH0KIAogcHJpdmF0ZToK
QEAgLTYzLDYgKzYzLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgYWRkRm9jdXNSaW5n
UmVjdHMoVmVjdG9yPEludFJlY3Q+JiwgaW50IHR4LCBpbnQgdHkpOwogCiAgICAgdmlydHVhbCBi
b29sIG5vZGVBdEZsb2F0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmLCBIaXRUZXN0UmVzdWx0
JiwgY29uc3QgRmxvYXRQb2ludCYgcG9pbnRJblBhcmVudCwgSGl0VGVzdEFjdGlvbik7CisgICAg
dmlydHVhbCB2b2lkIHN0eWxlV2lsbENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRl
clN0eWxlKik7CiAKICAgICBGbG9hdFJlY3QgY2FsY3VsYXRlTWFya2VyQm91bmRzSWZOZWVkZWQo
KTsKICAgICB2b2lkIHVwZGF0ZUNhY2hlZEJvdW5kYXJpZXMoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclNWR0Jsb2NrLmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNWR0Jsb2NrLmNwcAppbmRleCBiMmQ3MjdhMTFmNDNiNjM5MzQxNmJjODlkYWVmNzQ2ZTQ4NzU4
YmExLi5kNjAyMmI1MTc5MmE2MDIxODc3ZDgxMzRkYjI0ZDVhZWZiNjIzOGIzIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdCbG9jay5jcHAKKysrIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyU1ZHQmxvY2suY3BwCkBAIC04MSwxMyArODEsNiBAQCB2b2lkIFJlbmRlclNW
R0Jsb2NrOjpkZXN0cm95KCkKICAgICBSZW5kZXJCbG9jazo6ZGVzdHJveSgpOwogfQogCi12b2lk
IFJlbmRlclNWR0Jsb2NrOjpzdHlsZVdpbGxDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNv
bnN0IFJlbmRlclN0eWxlKiBuZXdTdHlsZSkKLXsKLSAgICBpZiAoZGlmZiA9PSBTdHlsZURpZmZl
cmVuY2VMYXlvdXQpCi0gICAgICAgIHNldE5lZWRzQm91bmRhcmllc1VwZGF0ZSgpOwotICAgIFJl
bmRlckJsb2NrOjpzdHlsZVdpbGxDaGFuZ2UoZGlmZiwgbmV3U3R5bGUpOwotfQotCiB2b2lkIFJl
bmRlclNWR0Jsb2NrOjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3Qg
UmVuZGVyU3R5bGUqIG9sZFN0eWxlKQogewogICAgIFJlbmRlckJsb2NrOjpzdHlsZURpZENoYW5n
ZShkaWZmLCBvbGRTdHlsZSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJT
VkdCbG9jay5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHQmxvY2suaAppbmRleCBjMTM3
OWRhN2EzNWI2OWQ0OWMxMjE2ZWQ2YWUxNDM5YTVlMDhkZTNlLi5jNDMzN2NjOTEwNzA4YWMyN2Fi
ZDI4ZGQzNWY4NjlkM2NkNjRlMDQ4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJTVkdCbG9jay5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR0Jsb2NrLmgKQEAg
LTQwLDcgKzQwLDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgYWJzb2x1dGVSZWN0cyhW
ZWN0b3I8SW50UmVjdD4mLCBpbnQgdHgsIGludCB0eSk7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGVz
dHJveSgpOwotICAgIHZpcnR1YWwgdm9pZCBzdHlsZVdpbGxDaGFuZ2UoU3R5bGVEaWZmZXJlbmNl
LCBjb25zdCBSZW5kZXJTdHlsZSogbmV3U3R5bGUpOwogICAgIHZpcnR1YWwgdm9pZCBzdHlsZURp
ZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSk7CiAg
ICAgdmlydHVhbCB2b2lkIHVwZGF0ZUZyb21FbGVtZW50KCk7CiB9OwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHQ29udGFpbmVyLmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNWR0NvbnRhaW5lci5jcHAKaW5kZXggOGM5OTI3MDA4NDM1Y2YyNjY1YzhmZmU4MmVi
M2Q5YTEzOTU5ZTgzZS4uYmFiMDdhNGI5OTdhMWQ4MGE2N2UwY2Q3NGQyMTM0NTY5ODVhNzg4YyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHQ29udGFpbmVyLmNwcAorKysg
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdDb250YWluZXIuY3BwCkBAIC0zOSw3ICszOSw2
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIFJlbmRlclNWR0NvbnRhaW5lcjo6UmVuZGVyU1ZHQ29u
dGFpbmVyKFNWR1N0eWxlZEVsZW1lbnQqIG5vZGUpCiAgICAgOiBSZW5kZXJTVkdNb2RlbE9iamVj
dChub2RlKQogICAgICwgbV9kcmF3c0NvbnRlbnRzKHRydWUpCi0gICAgLCBtX25lZWRzQm91bmRh
cmllc1VwZGF0ZSh0cnVlKQogewogfQogCkBAIC01Niw3ICs1NSw3IEBAIHZvaWQgUmVuZGVyU1ZH
Q29udGFpbmVyOjpsYXlvdXQoKQogICAgIExheW91dFJlcGFpbnRlciByZXBhaW50ZXIoKnRoaXMs
IG1fZXZlckhhZExheW91dCAmJiBjaGVja0ZvclJlcGFpbnREdXJpbmdMYXlvdXQoKSk7CiAKICAg
ICAvLyBBbGxvdyBSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyIHRvIHVwZGF0ZSBpdHMg
dHJhbnNmb3JtLgotICAgIGJvb2wgdXBkYXRlZFRyYW5zZm9ybSA9IGNhbGN1bGF0ZUxvY2FsVHJh
bnNmb3JtKCk7CisgICAgY2FsY3VsYXRlTG9jYWxUcmFuc2Zvcm0oKTsKIAogICAgIFNWR1JlbmRl
clN1cHBvcnQ6OmxheW91dENoaWxkcmVuKHRoaXMsIHNlbGZOZWVkc0xheW91dCgpKTsKIApAQCAt
NjQsMTYgKzYzLDYgQEAgdm9pZCBSZW5kZXJTVkdDb250YWluZXI6OmxheW91dCgpCiAgICAgaWYg
KG1fZXZlckhhZExheW91dCAmJiBzZWxmTmVlZHNMYXlvdXQoKSkKICAgICAgICAgU1ZHUmVzb3Vy
Y2VzQ2FjaGU6OmNsaWVudExheW91dENoYW5nZWQodGhpcyk7CiAKLSAgICAvLyBBdCB0aGlzIHBv
aW50IExheW91dFJlcGFpbnRlciBhbHJlYWR5IGdyYWJiZWQgdGhlIG9sZCBib3VuZHMsCi0gICAg
Ly8gcmVjYWxjdWxhdGUgdGhlbSBub3cgc28gcmVwYWludEFmdGVyTGF5b3V0KCkgdXNlcyB0aGUg
bmV3IGJvdW5kcy4KLSAgICBpZiAobV9uZWVkc0JvdW5kYXJpZXNVcGRhdGUgfHwgdXBkYXRlZFRy
YW5zZm9ybSkgewotICAgICAgICB1cGRhdGVDYWNoZWRCb3VuZGFyaWVzKCk7Ci0gICAgICAgIG1f
bmVlZHNCb3VuZGFyaWVzVXBkYXRlID0gZmFsc2U7Ci0gICAgCi0gICAgICAgIC8vIElmIG91ciBi
b3VuZHMgY2hhbmdlZCwgbm90aWZ5IHRoZSBwYXJlbnRzLgotICAgICAgICBSZW5kZXJTVkdNb2Rl
bE9iamVjdDo6c2V0TmVlZHNCb3VuZGFyaWVzVXBkYXRlKCk7Ci0gICAgfQotCiAgICAgcmVwYWlu
dGVyLnJlcGFpbnRBZnRlckxheW91dCgpOwogICAgIHNldE5lZWRzTGF5b3V0KGZhbHNlKTsKIH0K
QEAgLTk3LDEwICs4Niw2IEBAIHZvaWQgUmVuZGVyU1ZHQ29udGFpbmVyOjpwYWludChQYWludElu
Zm8mIHBhaW50SW5mbywgaW50LCBpbnQpCiAgICAgaWYgKCFmaXJzdENoaWxkKCkgJiYgIXNlbGZX
aWxsUGFpbnQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgRmxvYXRSZWN0IHJlcGFpbnRSZWN0
ID0gcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKTsKLSAgICBpZiAoIVNWR1JlbmRlclN1
cHBvcnQ6OnBhaW50SW5mb0ludGVyc2VjdHNSZXBhaW50UmVjdChyZXBhaW50UmVjdCwgbG9jYWxU
b1BhcmVudFRyYW5zZm9ybSgpLCBwYWludEluZm8pKQotICAgICAgICByZXR1cm47Ci0KICAgICBQ
YWludEluZm8gY2hpbGRQYWludEluZm8ocGFpbnRJbmZvKTsKICAgICBjaGlsZFBhaW50SW5mby5j
b250ZXh0LT5zYXZlKCk7CiAKQEAgLTEzMCw3ICsxMTUsNyBAQCB2b2lkIFJlbmRlclNWR0NvbnRh
aW5lcjo6cGFpbnQoUGFpbnRJbmZvJiBwYWludEluZm8sIGludCwgaW50KQogICAgIC8vIEZJWE1F
OiBUaGlzIG1lYW5zIG91ciBmb2N1cyByaW5nIHdvbid0IHNoYXJlIG91ciByb3RhdGlvbiBsaWtl
IGl0IHNob3VsZC4KICAgICAvLyBXZSBzaG91bGQgaW5zdGVhZCBkaXNhYmxlIG91ciBjbGlwIGR1
cmluZyBQYWludFBoYXNlT3V0bGluZQogICAgIGlmICgocGFpbnRJbmZvLnBoYXNlID09IFBhaW50
UGhhc2VPdXRsaW5lIHx8IHBhaW50SW5mby5waGFzZSA9PSBQYWludFBoYXNlU2VsZk91dGxpbmUp
ICYmIHN0eWxlKCktPm91dGxpbmVXaWR0aCgpICYmIHN0eWxlKCktPnZpc2liaWxpdHkoKSA9PSBW
SVNJQkxFKSB7Ci0gICAgICAgIEludFJlY3QgcGFpbnRSZWN0SW5QYXJlbnQgPSBlbmNsb3NpbmdJ
bnRSZWN0KGxvY2FsVG9QYXJlbnRUcmFuc2Zvcm0oKS5tYXBSZWN0KHJlcGFpbnRSZWN0KSk7Cisg
ICAgICAgIEludFJlY3QgcGFpbnRSZWN0SW5QYXJlbnQgPSBlbmNsb3NpbmdJbnRSZWN0KGxvY2Fs
VG9QYXJlbnRUcmFuc2Zvcm0oKS5tYXBSZWN0KHJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVz
KCkpKTsKICAgICAgICAgcGFpbnRPdXRsaW5lKHBhaW50SW5mby5jb250ZXh0LCBwYWludFJlY3RJ
blBhcmVudC54KCksIHBhaW50UmVjdEluUGFyZW50LnkoKSwgcGFpbnRSZWN0SW5QYXJlbnQud2lk
dGgoKSwgcGFpbnRSZWN0SW5QYXJlbnQuaGVpZ2h0KCkpOwogICAgIH0KIH0KQEAgLTE0MywxNCAr
MTI4LDIxIEBAIHZvaWQgUmVuZGVyU1ZHQ29udGFpbmVyOjphZGRGb2N1c1JpbmdSZWN0cyhWZWN0
b3I8SW50UmVjdD4mIHJlY3RzLCBpbnQsIGludCkKICAgICAgICAgcmVjdHMuYXBwZW5kKHBhaW50
UmVjdEluUGFyZW50KTsKIH0KIAotdm9pZCBSZW5kZXJTVkdDb250YWluZXI6OnVwZGF0ZUNhY2hl
ZEJvdW5kYXJpZXMoKQorRmxvYXRSZWN0IFJlbmRlclNWR0NvbnRhaW5lcjo6b2JqZWN0Qm91bmRp
bmdCb3goKSBjb25zdAogewotICAgIG1fb2JqZWN0Qm91bmRpbmdCb3ggPSBGbG9hdFJlY3QoKTsK
LSAgICBtX3N0cm9rZUJvdW5kaW5nQm94ID0gRmxvYXRSZWN0KCk7Ci0gICAgbV9yZXBhaW50Qm91
bmRpbmdCb3ggPSBGbG9hdFJlY3QoKTsKKyAgICByZXR1cm4gU1ZHUmVuZGVyU3VwcG9ydDo6Y29t
cHV0ZUNvbnRhaW5lckJvdW5kaW5nQm94KHRoaXMsIFNWR1JlbmRlclN1cHBvcnQ6Ok9iamVjdEJv
dW5kaW5nQm94KTsKK30KIAotICAgIFNWR1JlbmRlclN1cHBvcnQ6OmNvbXB1dGVDb250YWluZXJC
b3VuZGluZ0JveGVzKHRoaXMsIG1fb2JqZWN0Qm91bmRpbmdCb3gsIG1fc3Ryb2tlQm91bmRpbmdC
b3gsIG1fcmVwYWludEJvdW5kaW5nQm94KTsKLSAgICBTVkdSZW5kZXJTdXBwb3J0OjppbnRlcnNl
Y3RSZXBhaW50UmVjdFdpdGhSZXNvdXJjZXModGhpcywgbV9yZXBhaW50Qm91bmRpbmdCb3gpOwor
RmxvYXRSZWN0IFJlbmRlclNWR0NvbnRhaW5lcjo6c3Ryb2tlQm91bmRpbmdCb3goKSBjb25zdAor
eworICAgIHJldHVybiBTVkdSZW5kZXJTdXBwb3J0Ojpjb21wdXRlQ29udGFpbmVyQm91bmRpbmdC
b3godGhpcywgU1ZHUmVuZGVyU3VwcG9ydDo6U3Ryb2tlQm91bmRpbmdCb3gpOworfQorCitGbG9h
dFJlY3QgUmVuZGVyU1ZHQ29udGFpbmVyOjpyZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygp
IGNvbnN0Cit7CisgICAgRmxvYXRSZWN0IHJlcGFpbnRSZWN0ID0gU1ZHUmVuZGVyU3VwcG9ydDo6
Y29tcHV0ZUNvbnRhaW5lckJvdW5kaW5nQm94KHRoaXMsIFNWR1JlbmRlclN1cHBvcnQ6OlJlcGFp
bnRCb3VuZGluZ0JveCk7CisgICAgU1ZHUmVuZGVyU3VwcG9ydDo6aW50ZXJzZWN0UmVwYWludFJl
Y3RXaXRoUmVzb3VyY2VzKHRoaXMsIHJlcGFpbnRSZWN0KTsKKyAgICByZXR1cm4gcmVwYWludFJl
Y3Q7CiB9CiAKIGJvb2wgUmVuZGVyU1ZHQ29udGFpbmVyOjpub2RlQXRGbG9hdFBvaW50KGNvbnN0
IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBIaXRUZXN0UmVzdWx0JiByZXN1bHQsIGNvbnN0IEZs
b2F0UG9pbnQmIHBvaW50SW5QYXJlbnQsIEhpdFRlc3RBY3Rpb24gaGl0VGVzdEFjdGlvbikKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR0NvbnRhaW5lci5oIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyU1ZHQ29udGFpbmVyLmgKaW5kZXggYjBjOTUyZjRhMmRkZjZjZGE0
OWZlNmFhNWE5MzhlMmY4YWE2NjQ0Yi4uMGExMjJjZGExZTc2NDM0YTcwYzYyMDYwY2IwY2Y2NzY2
Y2E1M2I5NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHQ29udGFpbmVy
LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHQ29udGFpbmVyLmgKQEAgLTQzLDcg
KzQzLDYgQEAgcHVibGljOgogICAgIGJvb2wgZHJhd3NDb250ZW50cygpIGNvbnN0IHsgcmV0dXJu
IG1fZHJhd3NDb250ZW50czsgfQogCiAgICAgdmlydHVhbCB2b2lkIHBhaW50KFBhaW50SW5mbyYs
IGludCBwYXJlbnRYLCBpbnQgcGFyZW50WSk7Ci0gICAgdmlydHVhbCB2b2lkIHNldE5lZWRzQm91
bmRhcmllc1VwZGF0ZSgpIHsgbV9uZWVkc0JvdW5kYXJpZXNVcGRhdGUgPSB0cnVlOyB9CiAKIHBy
b3RlY3RlZDoKICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdENoaWxkTGlzdCogdmlydHVhbENoaWxk
cmVuKCkgeyByZXR1cm4gY2hpbGRyZW4oKTsgfQpAQCAtNTYsMTQgKzU1LDE0IEBAIHByb3RlY3Rl
ZDoKIAogICAgIHZpcnR1YWwgdm9pZCBhZGRGb2N1c1JpbmdSZWN0cyhWZWN0b3I8SW50UmVjdD4m
LCBpbnQgdHgsIGludCB0eSk7CiAKLSAgICB2aXJ0dWFsIEZsb2F0UmVjdCBvYmplY3RCb3VuZGlu
Z0JveCgpIGNvbnN0IHsgcmV0dXJuIG1fb2JqZWN0Qm91bmRpbmdCb3g7IH0KLSAgICB2aXJ0dWFs
IEZsb2F0UmVjdCBzdHJva2VCb3VuZGluZ0JveCgpIGNvbnN0IHsgcmV0dXJuIG1fc3Ryb2tlQm91
bmRpbmdCb3g7IH0KLSAgICB2aXJ0dWFsIEZsb2F0UmVjdCByZXBhaW50UmVjdEluTG9jYWxDb29y
ZGluYXRlcygpIGNvbnN0IHsgcmV0dXJuIG1fcmVwYWludEJvdW5kaW5nQm94OyB9CisgICAgdmly
dHVhbCBGbG9hdFJlY3Qgb2JqZWN0Qm91bmRpbmdCb3goKSBjb25zdDsKKyAgICB2aXJ0dWFsIEZs
b2F0UmVjdCBzdHJva2VCb3VuZGluZ0JveCgpIGNvbnN0OworICAgIHZpcnR1YWwgRmxvYXRSZWN0
IHJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIGJv
b2wgbm9kZUF0RmxvYXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQm
LCBjb25zdCBGbG9hdFBvaW50JiBwb2ludEluUGFyZW50LCBIaXRUZXN0QWN0aW9uKTsKIAogICAg
IC8vIEFsbG93IFJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIgdG8gaG9vayBpbiBhdCB0
aGUgcmlnaHQgdGltZSBpbiBsYXlvdXQoKQotICAgIHZpcnR1YWwgYm9vbCBjYWxjdWxhdGVMb2Nh
bFRyYW5zZm9ybSgpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCB2b2lkIGNhbGN1bGF0
ZUxvY2FsVHJhbnNmb3JtKCkgeyB9CiAKICAgICAvLyBBbGxvdyBSZW5kZXJTVkdWaWV3cG9ydENv
bnRhaW5lciB0byBob29rIGluIGF0IHRoZSByaWdodCB0aW1lcyBpbiBsYXlvdXQoKSwgcGFpbnQo
KSBhbmQgbm9kZUF0RmxvYXRQb2ludCgpCiAgICAgdmlydHVhbCB2b2lkIGNhbGNWaWV3cG9ydCgp
IHsgfQpAQCAtNzEsMTUgKzcwLDEwIEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIGJvb2wgcG9p
bnRJc0luc2lkZVZpZXdwb3J0Q2xpcChjb25zdCBGbG9hdFBvaW50JiAvKnBvaW50SW5QYXJlbnQq
LykgeyByZXR1cm4gdHJ1ZTsgfQogCiAgICAgYm9vbCBzZWxmV2lsbFBhaW50KCk7Ci0gICAgdm9p
ZCB1cGRhdGVDYWNoZWRCb3VuZGFyaWVzKCk7CiAKIHByaXZhdGU6CiAgICAgUmVuZGVyT2JqZWN0
Q2hpbGRMaXN0IG1fY2hpbGRyZW47Ci0gICAgRmxvYXRSZWN0IG1fb2JqZWN0Qm91bmRpbmdCb3g7
Ci0gICAgRmxvYXRSZWN0IG1fc3Ryb2tlQm91bmRpbmdCb3g7Ci0gICAgRmxvYXRSZWN0IG1fcmVw
YWludEJvdW5kaW5nQm94OwogICAgIGJvb2wgbV9kcmF3c0NvbnRlbnRzIDogMTsKLSAgICBib29s
IG1fbmVlZHNCb3VuZGFyaWVzVXBkYXRlIDogMTsKIH07CiAgIAogaW5saW5lIFJlbmRlclNWR0Nv
bnRhaW5lciogdG9SZW5kZXJTVkdDb250YWluZXIoUmVuZGVyT2JqZWN0KiBvYmplY3QpCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdHcmFkaWVudFN0b3AuaCBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclNWR0dyYWRpZW50U3RvcC5oCmluZGV4IGYwNmE5YTU5ZDg1NjE0
Y2U2ZWNmMTA3MWY0NWFhMmFiNzlkYWIyZTguLjQ1ZGE3YjRlNjc3YTFjMzc2MjA3ZTBlYTQ2ZWM1
MjA2NzQyODhjZWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR0dyYWRp
ZW50U3RvcC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR0dyYWRpZW50U3RvcC5o
CkBAIC00Niw3ICs0Niw2IEBAIHB1YmxpYzoKICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA0MDAKICAgICB2aXJ0dWFsIEludFJlY3QgY2xpcHBlZE92ZXJm
bG93UmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqKSB7IHJldHVybiBJbnRSZWN0
KCk7IH0KICAgICB2aXJ0dWFsIEZsb2F0UmVjdCBvYmplY3RCb3VuZGluZ0JveCgpIGNvbnN0IHsg
cmV0dXJuIEZsb2F0UmVjdCgpOyB9Ci0gICAgdmlydHVhbCBGbG9hdFJlY3Qgc3Ryb2tlQm91bmRp
bmdCb3goKSBjb25zdCB7IHJldHVybiBGbG9hdFJlY3QoKTsgfQogICAgIHZpcnR1YWwgRmxvYXRS
ZWN0IHJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkgY29uc3QgeyByZXR1cm4gRmxvYXRS
ZWN0KCk7IH0KIAogcHJvdGVjdGVkOgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU1ZHSGlkZGVuQ29udGFpbmVyLmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR0hp
ZGRlbkNvbnRhaW5lci5jcHAKaW5kZXggZWUxZDIxNGM3ODE1OWUyMGIwMDc1OWU4YjU2NGNlNzJi
MDI2MzJmYy4uMGFmNDIzNmRiMDIzZmM3MzZiYmVjYTE2Mzc5Y2NhMmY0Zjg0ZDE4ZiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyLmNwcAorKysg
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdIaWRkZW5Db250YWluZXIuY3BwCkBAIC00Nyw2
ICs0NywxMSBAQCB2b2lkIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lcjo6cGFpbnQoUGFpbnRJbmZv
JiwgaW50LCBpbnQpCiAgICAgLy8gVGhpcyBzdWJ0cmVlIGRvZXMgbm90IHBhaW50LgogfQogCitJ
bnRSZWN0IFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lcjo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJl
cGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIC8qcmVwYWludENvbnRhaW5lciovKQoreworICAg
IHJldHVybiBJbnRSZWN0KCk7Cit9CisKIHZvaWQgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyOjph
YnNvbHV0ZVF1YWRzKFZlY3RvcjxGbG9hdFF1YWQ+JikKIHsKICAgICAvLyBUaGlzIHN1YnRyZWUg
ZG9lcyBub3QgdGFrZSB1cCBzcGFjZSBvciBwYWludApAQCAtNTcsNiArNjIsMTYgQEAgYm9vbCBS
ZW5kZXJTVkdIaWRkZW5Db250YWluZXI6Om5vZGVBdEZsb2F0UG9pbnQoY29uc3QgSGl0VGVzdFJl
cXVlc3QmLCBIaXRUZXN0UmUKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK0Zsb2F0UmVjdCBSZW5k
ZXJTVkdIaWRkZW5Db250YWluZXI6Om9iamVjdEJvdW5kaW5nQm94KCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gRmxvYXRSZWN0KCk7Cit9CisKK0Zsb2F0UmVjdCBSZW5kZXJTVkdIaWRkZW5Db250YWlu
ZXI6OnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
RmxvYXRSZWN0KCk7Cit9CisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdIaWRkZW5Db250YWluZXIuaCBiL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclNWR0hpZGRlbkNvbnRhaW5lci5oCmluZGV4IDk3ODAwZDQ2YzYzNTRm
YmY0YTVkZDVmNmQ5YjMxZmU2NTRkMWRjODQuLmUwZGFhYzE5NDNmMjkzNTEwODZjZTc5YjhjYmM5
NjBiYWQ5OWUzMjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR0hpZGRl
bkNvbnRhaW5lci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR0hpZGRlbkNvbnRh
aW5lci5oCkBAIC00Nyw5ICs0NywxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAg
dmlydHVhbCB2b2lkIHBhaW50KFBhaW50SW5mbyYsIGludCBwYXJlbnRYLCBpbnQgcGFyZW50WSk7
CiAgICAgICAgIAotICAgICAgICB2aXJ0dWFsIEludFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdEZv
clJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqKSB7IHJldHVybiBJbnRSZWN0KCk7IH0KKyAg
ICAgICAgdmlydHVhbCBJbnRSZWN0IGNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJlbmRl
ckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyKTsKICAgICAgICAgdmlydHVhbCB2b2lk
IGFic29sdXRlUXVhZHMoVmVjdG9yPEZsb2F0UXVhZD4mKTsKIAorICAgICAgICB2aXJ0dWFsIEZs
b2F0UmVjdCBvYmplY3RCb3VuZGluZ0JveCgpIGNvbnN0OworICAgICAgICB2aXJ0dWFsIEZsb2F0
UmVjdCByZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpIGNvbnN0OworCiAgICAgICAgIHZp
cnR1YWwgYm9vbCBub2RlQXRGbG9hdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVz
dFJlc3VsdCYsIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50SW5QYXJlbnQsIEhpdFRlc3RBY3Rpb24p
OwogICAgIH07CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdJbWFn
ZS5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdJbWFnZS5jcHAKaW5kZXggNWUzMDQ2
NTMzNGE1M2VlMmRlZGZhMzg1ZGQwOTQyODdlMmUzNGRiMS4uNjIxNGZmZWU0YWFmNGJhMjhkMDNh
ZGVjMDBkZjhlNzhhODEyOWI3YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
U1ZHSW1hZ2UuY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR0ltYWdlLmNwcApA
QCAtNTcsMTEgKzU3LDkgQEAgdm9pZCBSZW5kZXJTVkdJbWFnZTo6bGF5b3V0KCkKICAgICBMYXlv
dXRSZXBhaW50ZXIgcmVwYWludGVyKCp0aGlzLCBtX2V2ZXJIYWRMYXlvdXQgJiYgY2hlY2tGb3JS
ZXBhaW50RHVyaW5nTGF5b3V0KCkpOwogICAgIFNWR0ltYWdlRWxlbWVudCogaW1hZ2UgPSBzdGF0
aWNfY2FzdDxTVkdJbWFnZUVsZW1lbnQqPihub2RlKCkpOwogCi0gICAgYm9vbCB1cGRhdGVDYWNo
ZWRCb3VuZGFyaWVzSW5QYXJlbnRzID0gZmFsc2U7CiAgICAgaWYgKG1fbmVlZHNUcmFuc2Zvcm1V
cGRhdGUpIHsKICAgICAgICAgbV9sb2NhbFRyYW5zZm9ybSA9IGltYWdlLT5hbmltYXRlZExvY2Fs
VHJhbnNmb3JtKCk7CiAgICAgICAgIG1fbmVlZHNUcmFuc2Zvcm1VcGRhdGUgPSBmYWxzZTsKLSAg
ICAgICAgdXBkYXRlQ2FjaGVkQm91bmRhcmllc0luUGFyZW50cyA9IHRydWU7CiAgICAgfQogCiAg
ICAgLy8gbWluaW11bSBoZWlnaHQKQEAgLTcxLDIxICs2OSwxMyBAQCB2b2lkIFJlbmRlclNWR0lt
YWdlOjpsYXlvdXQoKQogICAgIGNhbGNIZWlnaHQoKTsKIAogICAgIC8vIEZJWE1FOiBPcHRpbWl6
ZSBjYWNoaW5nIHRoZSByZXBhaW50IHJlY3RzLgotICAgIEZsb2F0UmVjdCBvbGRCb3VuZGFyaWVz
ID0gbV9sb2NhbEJvdW5kczsKICAgICBtX2xvY2FsQm91bmRzID0gRmxvYXRSZWN0KGltYWdlLT54
KCkudmFsdWUoaW1hZ2UpLCBpbWFnZS0+eSgpLnZhbHVlKGltYWdlKSwgaW1hZ2UtPndpZHRoKCku
dmFsdWUoaW1hZ2UpLCBpbWFnZS0+aGVpZ2h0KCkudmFsdWUoaW1hZ2UpKTsKICAgICBtX2NhY2hl
ZExvY2FsUmVwYWludFJlY3QgPSBGbG9hdFJlY3QoKTsKIAotICAgIGlmICghdXBkYXRlQ2FjaGVk
Qm91bmRhcmllc0luUGFyZW50cykKLSAgICAgICAgdXBkYXRlQ2FjaGVkQm91bmRhcmllc0luUGFy
ZW50cyA9IG9sZEJvdW5kYXJpZXMgIT0gbV9sb2NhbEJvdW5kczsKLQogICAgIC8vIEludmFsaWRh
dGUgYWxsIHJlc291cmNlcyBvZiB0aGlzIGNsaWVudCBpZiBvdXIgbGF5b3V0IGNoYW5nZWQuCiAg
ICAgaWYgKG1fZXZlckhhZExheW91dCAmJiBzZWxmTmVlZHNMYXlvdXQoKSkKICAgICAgICAgU1ZH
UmVzb3VyY2VzQ2FjaGU6OmNsaWVudExheW91dENoYW5nZWQodGhpcyk7CiAKLSAgICAvLyBJZiBv
dXIgYm91bmRzIGNoYW5nZWQsIG5vdGlmeSB0aGUgcGFyZW50cy4KLSAgICBpZiAodXBkYXRlQ2Fj
aGVkQm91bmRhcmllc0luUGFyZW50cykKLSAgICAgICAgUmVuZGVySW1hZ2U6OnNldE5lZWRzQm91
bmRhcmllc1VwZGF0ZSgpOwotCiAgICAgcmVwYWludGVyLnJlcGFpbnRBZnRlckxheW91dCgpOwog
ICAgIHNldE5lZWRzTGF5b3V0KGZhbHNlKTsKIH0KQEAgLTEyNywxMyArMTE3LDYgQEAgdm9pZCBS
ZW5kZXJTVkdJbWFnZTo6ZGVzdHJveSgpCiAgICAgUmVuZGVySW1hZ2U6OmRlc3Ryb3koKTsKIH0K
IAotdm9pZCBSZW5kZXJTVkdJbWFnZTo6c3R5bGVXaWxsQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBk
aWZmLCBjb25zdCBSZW5kZXJTdHlsZSogbmV3U3R5bGUpCi17Ci0gICAgaWYgKGRpZmYgPT0gU3R5
bGVEaWZmZXJlbmNlTGF5b3V0KQotICAgICAgICBzZXROZWVkc0JvdW5kYXJpZXNVcGRhdGUoKTsK
LSAgICBSZW5kZXJJbWFnZTo6c3R5bGVXaWxsQ2hhbmdlKGRpZmYsIG5ld1N0eWxlKTsKLX0KLQog
dm9pZCBSZW5kZXJTVkdJbWFnZTo6c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYs
IGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkKIHsKICAgICBSZW5kZXJJbWFnZTo6c3R5bGVE
aWRDaGFuZ2UoZGlmZiwgb2xkU3R5bGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyU1ZHSW1hZ2UuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR0ltYWdlLmgKaW5k
ZXggMTA1ZjBhYjBlYzBiMDc3N2QyZDY3ZWI2OWZiNDBmYWM5NzM5ODNiMC4uMzhlM2ExMzY0M2Jl
NTE0MTJmNGJjYjdiOWIwNTI0OWE1ZmMxY2NmNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyU1ZHSW1hZ2UuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdJbWFn
ZS5oCkBAIC02NSw3ICs2NSw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHBhaW50KFBh
aW50SW5mbyYsIGludCBwYXJlbnRYLCBpbnQgcGFyZW50WSk7CiAKICAgICB2aXJ0dWFsIHZvaWQg
ZGVzdHJveSgpOwotICAgIHZpcnR1YWwgdm9pZCBzdHlsZVdpbGxDaGFuZ2UoU3R5bGVEaWZmZXJl
bmNlLCBjb25zdCBSZW5kZXJTdHlsZSogbmV3U3R5bGUpOwogICAgIHZpcnR1YWwgdm9pZCBzdHls
ZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSk7
CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUZyb21FbGVtZW50KCk7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR0lubGluZS5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJTVkdJbmxpbmUuY3BwCmluZGV4IGJjNmJjMTJhMmEzOGE1ZDUwZGU5MmJmNWY4ODE2NTUy
NTQ2NjcxNmIuLjkzZTZhMDY3ZmIyODZhYmVkYmQ1YTk2Yjc0MzRhMjAyMTY4YjJmZDkgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR0lubGluZS5jcHAKKysrIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyU1ZHSW5saW5lLmNwcApAQCAtOTksMTMgKzk5LDYgQEAgdm9pZCBS
ZW5kZXJTVkdJbmxpbmU6OmRlc3Ryb3koKQogICAgIFJlbmRlcklubGluZTo6ZGVzdHJveSgpOwog
fQogCi12b2lkIFJlbmRlclNWR0lubGluZTo6c3R5bGVXaWxsQ2hhbmdlKFN0eWxlRGlmZmVyZW5j
ZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogbmV3U3R5bGUpCi17Ci0gICAgaWYgKGRpZmYgPT0g
U3R5bGVEaWZmZXJlbmNlTGF5b3V0KQotICAgICAgICBzZXROZWVkc0JvdW5kYXJpZXNVcGRhdGUo
KTsKLSAgICBSZW5kZXJJbmxpbmU6OnN0eWxlV2lsbENoYW5nZShkaWZmLCBuZXdTdHlsZSk7Ci19
Ci0KIHZvaWQgUmVuZGVyU1ZHSW5saW5lOjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2Ug
ZGlmZiwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKQogewogICAgIFJlbmRlcklubGluZTo6
c3R5bGVEaWRDaGFuZ2UoZGlmZiwgb2xkU3R5bGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyU1ZHSW5saW5lLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdJbmxp
bmUuaAppbmRleCBmYjM4ZjFiYmM5MTQxZTcwZjNlZjBjMWVjNjJhZDAwMWUxZjZjMWE1Li41NmQ5
MTFmMGRlZTYzZjM4OWJjNThjNmRiNDgyYTRiMjE5MjUwYWRmIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJTVkdJbmxpbmUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJTVkdJbmxpbmUuaApAQCAtNTYsNyArNTYsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgSW5s
aW5lRmxvd0JveCogY3JlYXRlSW5saW5lRmxvd0JveCgpOwogCiAgICAgdmlydHVhbCB2b2lkIGRl
c3Ryb3koKTsKLSAgICB2aXJ0dWFsIHZvaWQgc3R5bGVXaWxsQ2hhbmdlKFN0eWxlRGlmZmVyZW5j
ZSwgY29uc3QgUmVuZGVyU3R5bGUqIG5ld1N0eWxlKTsKICAgICB2aXJ0dWFsIHZvaWQgc3R5bGVE
aWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpOwog
ICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVGcm9tRWxlbWVudCgpOwogfTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR01vZGVsT2JqZWN0LmNwcCBiL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNWR01vZGVsT2JqZWN0LmNwcAppbmRleCAyODc2MGEwNGY3YjRlMzA3MzFiNjYy
YzZiY2E4ZmEyMWQyOWYyODAzLi41YTE5NzQ5NjYwZDZlMDA5OWJlOWUwZDZlMjFkZGQ4MDI5MTRi
ZGZjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdNb2RlbE9iamVjdC5j
cHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuY3BwCkBAIC04
NywxMyArODcsNiBAQCB2b2lkIFJlbmRlclNWR01vZGVsT2JqZWN0OjpkZXN0cm95KCkKICAgICBS
ZW5kZXJPYmplY3Q6OmRlc3Ryb3koKTsKIH0KIAotdm9pZCBSZW5kZXJTVkdNb2RlbE9iamVjdDo6
c3R5bGVXaWxsQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSog
bmV3U3R5bGUpCi17Ci0gICAgaWYgKGRpZmYgPT0gU3R5bGVEaWZmZXJlbmNlTGF5b3V0KQotICAg
ICAgICBzZXROZWVkc0JvdW5kYXJpZXNVcGRhdGUoKTsKLSAgICBSZW5kZXJPYmplY3Q6OnN0eWxl
V2lsbENoYW5nZShkaWZmLCBuZXdTdHlsZSk7Ci19Ci0KIHZvaWQgUmVuZGVyU1ZHTW9kZWxPYmpl
Y3Q6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHls
ZSogb2xkU3R5bGUpCiB7CiAgICAgUmVuZGVyT2JqZWN0OjpzdHlsZURpZENoYW5nZShkaWZmLCBv
bGRTdHlsZSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdNb2RlbE9i
amVjdC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuaAppbmRleCA4
NzcxN2MyMzUxZDI4MTZkNjM1ZWM0MzkxNmJmYmIyNGE1M2IyZWVjLi4zNWM0ZGMzMDRiOWJmMjZl
MDU4NzU5ZDEyMDM4MzgxZjNkNWIxMTdiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJTVkdNb2RlbE9iamVjdC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR01v
ZGVsT2JqZWN0LmgKQEAgLTYxLDcgKzYxLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBk
ZXN0cm95KCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgbWFwTG9jYWxUb0NvbnRhaW5lcihSZW5kZXJC
b3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgYm9vbCB1c2VUcmFuc2Zvcm1zLCBib29s
IGZpeGVkLCBUcmFuc2Zvcm1TdGF0ZSYpIGNvbnN0OwotICAgIHZpcnR1YWwgdm9pZCBzdHlsZVdp
bGxDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSogbmV3U3R5bGUpOwog
ICAgIHZpcnR1YWwgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJl
bmRlclN0eWxlKiBvbGRTdHlsZSk7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUZyb21FbGVtZW50
KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jvb3QuY3BwIGIv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUm9vdC5jcHAKaW5kZXggMjQyODQ2OTExODQzNTE4
ODFiN2QzMWFjNWI4ODgxY2U0N2UyNzkxNC4uNTk5NTY2ODhlNTdkMDgwNDFiMjkxYzc3OTg1YmFj
MGI2YzExNjExZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUm9vdC5j
cHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUm9vdC5jcHAKQEAgLTQ4LDcgKzQ4
LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogUmVuZGVyU1ZHUm9vdDo6UmVuZGVyU1ZHUm9vdChT
VkdTdHlsZWRFbGVtZW50KiBub2RlKQogICAgIDogUmVuZGVyQm94KG5vZGUpCiAgICAgLCBtX2lz
TGF5b3V0U2l6ZUNoYW5nZWQoZmFsc2UpCi0gICAgLCBtX25lZWRzQm91bmRhcmllc09yVHJhbnNm
b3JtVXBkYXRlKHRydWUpCiB7CiAgICAgc2V0UmVwbGFjZWQodHJ1ZSk7CiB9CkBAIC0xMjUsMTMg
KzEyNCw2IEBAIHZvaWQgUmVuZGVyU1ZHUm9vdDo6bGF5b3V0KCkKICAgICBTVkdSZW5kZXJTdXBw
b3J0OjpsYXlvdXRDaGlsZHJlbih0aGlzLCBuZWVkc0xheW91dCk7CiAgICAgbV9pc0xheW91dFNp
emVDaGFuZ2VkID0gZmFsc2U7CiAKLSAgICAvLyBBdCB0aGlzIHBvaW50IExheW91dFJlcGFpbnRl
ciBhbHJlYWR5IGdyYWJiZWQgdGhlIG9sZCBib3VuZHMsCi0gICAgLy8gcmVjYWxjdWxhdGUgdGhl
bSBub3cgc28gcmVwYWludEFmdGVyTGF5b3V0KCkgdXNlcyB0aGUgbmV3IGJvdW5kcy4KLSAgICBp
ZiAobV9uZWVkc0JvdW5kYXJpZXNPclRyYW5zZm9ybVVwZGF0ZSkgewotICAgICAgICB1cGRhdGVD
YWNoZWRCb3VuZGFyaWVzKCk7Ci0gICAgICAgIG1fbmVlZHNCb3VuZGFyaWVzT3JUcmFuc2Zvcm1V
cGRhdGUgPSBmYWxzZTsKLSAgICB9Ci0KICAgICByZXBhaW50ZXIucmVwYWludEFmdGVyTGF5b3V0
KCk7CiAKICAgICB2aWV3KCktPmVuYWJsZUxheW91dFN0YXRlKCk7CkBAIC0yMDQsMTMgKzE5Niw2
IEBAIHZvaWQgUmVuZGVyU1ZHUm9vdDo6ZGVzdHJveSgpCiAgICAgUmVuZGVyQm94OjpkZXN0cm95
KCk7CiB9CiAKLXZvaWQgUmVuZGVyU1ZHUm9vdDo6c3R5bGVXaWxsQ2hhbmdlKFN0eWxlRGlmZmVy
ZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogbmV3U3R5bGUpCi17Ci0gICAgaWYgKGRpZmYg
PT0gU3R5bGVEaWZmZXJlbmNlTGF5b3V0KQotICAgICAgICBzZXROZWVkc0JvdW5kYXJpZXNVcGRh
dGUoKTsKLSAgICBSZW5kZXJCb3g6OnN0eWxlV2lsbENoYW5nZShkaWZmLCBuZXdTdHlsZSk7Ci19
Ci0KIHZvaWQgUmVuZGVyU1ZHUm9vdDo6c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRp
ZmYsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkKIHsKICAgICBSZW5kZXJCb3g6OnN0eWxl
RGlkQ2hhbmdlKGRpZmYsIG9sZFN0eWxlKTsKQEAgLTI4Miw2ICsyNjcsMjggQEAgY29uc3QgQWZm
aW5lVHJhbnNmb3JtJiBSZW5kZXJTVkdSb290Ojpsb2NhbFRvUGFyZW50VHJhbnNmb3JtKCkgY29u
c3QKICAgICByZXR1cm4gbV9sb2NhbFRvUGFyZW50VHJhbnNmb3JtOwogfQogCitGbG9hdFJlY3Qg
UmVuZGVyU1ZHUm9vdDo6b2JqZWN0Qm91bmRpbmdCb3goKSBjb25zdAoreworICAgIHJldHVybiBT
VkdSZW5kZXJTdXBwb3J0Ojpjb21wdXRlQ29udGFpbmVyQm91bmRpbmdCb3godGhpcywgU1ZHUmVu
ZGVyU3VwcG9ydDo6T2JqZWN0Qm91bmRpbmdCb3gpOworfQorCitGbG9hdFJlY3QgUmVuZGVyU1ZH
Um9vdDo6c3Ryb2tlQm91bmRpbmdCb3goKSBjb25zdAoreworICAgIHJldHVybiBTVkdSZW5kZXJT
dXBwb3J0Ojpjb21wdXRlQ29udGFpbmVyQm91bmRpbmdCb3godGhpcywgU1ZHUmVuZGVyU3VwcG9y
dDo6U3Ryb2tlQm91bmRpbmdCb3gpOworfQorCitGbG9hdFJlY3QgUmVuZGVyU1ZHUm9vdDo6cmVw
YWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSBjb25zdAoreworICAgIEZsb2F0UmVjdCByZXBh
aW50UmVjdCA9IFNWR1JlbmRlclN1cHBvcnQ6OmNvbXB1dGVDb250YWluZXJCb3VuZGluZ0JveCh0
aGlzLCBTVkdSZW5kZXJTdXBwb3J0OjpSZXBhaW50Qm91bmRpbmdCb3gpOworCisgICAgY29uc3Qg
U1ZHUmVuZGVyU3R5bGUqIHN2Z1N0eWxlID0gc3R5bGUoKS0+c3ZnU3R5bGUoKTsKKyAgICBpZiAo
Y29uc3QgU2hhZG93RGF0YSogc2hhZG93ID0gc3ZnU3R5bGUtPnNoYWRvdygpKQorICAgICAgICBz
aGFkb3ctPmFkanVzdFJlY3RGb3JTaGFkb3cocmVwYWludFJlY3QpOworCisgICAgcmVwYWludFJl
Y3QuaW5mbGF0ZShib3JkZXJBbmRQYWRkaW5nV2lkdGgoKSk7CisgICAgcmV0dXJuIHJlcGFpbnRS
ZWN0OworfQorCiBJbnRSZWN0IFJlbmRlclNWR1Jvb3Q6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JS
ZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyKQogewogICAgIHJl
dHVybiBTVkdSZW5kZXJTdXBwb3J0OjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludCh0aGlz
LCByZXBhaW50Q29udGFpbmVyKTsKQEAgLTMxMywyMiArMzIwLDYgQEAgdm9pZCBSZW5kZXJTVkdS
b290OjptYXBMb2NhbFRvQ29udGFpbmVyKFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29u
dGFpbmVyLAogICAgIFJlbmRlckJveDo6bWFwTG9jYWxUb0NvbnRhaW5lcihyZXBhaW50Q29udGFp
bmVyLCBmaXhlZCwgdXNlVHJhbnNmb3JtcywgdHJhbnNmb3JtU3RhdGUpOwogfQogCi12b2lkIFJl
bmRlclNWR1Jvb3Q6OnVwZGF0ZUNhY2hlZEJvdW5kYXJpZXMoKQotewotICAgIG1fb2JqZWN0Qm91
bmRpbmdCb3ggPSBGbG9hdFJlY3QoKTsKLSAgICBtX3N0cm9rZUJvdW5kaW5nQm94ID0gRmxvYXRS
ZWN0KCk7Ci0gICAgbV9yZXBhaW50Qm91bmRpbmdCb3ggPSBGbG9hdFJlY3QoKTsKLQotICAgIFNW
R1JlbmRlclN1cHBvcnQ6OmNvbXB1dGVDb250YWluZXJCb3VuZGluZ0JveGVzKHRoaXMsIG1fb2Jq
ZWN0Qm91bmRpbmdCb3gsIG1fc3Ryb2tlQm91bmRpbmdCb3gsIG1fcmVwYWludEJvdW5kaW5nQm94
KTsKLSAgICBTVkdSZW5kZXJTdXBwb3J0OjppbnRlcnNlY3RSZXBhaW50UmVjdFdpdGhSZXNvdXJj
ZXModGhpcywgbV9yZXBhaW50Qm91bmRpbmdCb3gpOwotCi0gICAgY29uc3QgU1ZHUmVuZGVyU3R5
bGUqIHN2Z1N0eWxlID0gc3R5bGUoKS0+c3ZnU3R5bGUoKTsKLSAgICBpZiAoY29uc3QgU2hhZG93
RGF0YSogc2hhZG93ID0gc3ZnU3R5bGUtPnNoYWRvdygpKQotICAgICAgICBzaGFkb3ctPmFkanVz
dFJlY3RGb3JTaGFkb3cobV9yZXBhaW50Qm91bmRpbmdCb3gpOwotCi0gICAgbV9yZXBhaW50Qm91
bmRpbmdCb3guaW5mbGF0ZShib3JkZXJBbmRQYWRkaW5nV2lkdGgoKSk7Ci19Ci0KIGJvb2wgUmVu
ZGVyU1ZHUm9vdDo6bm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhp
dFRlc3RSZXN1bHQmIHJlc3VsdCwgaW50IF94LCBpbnQgX3ksIGludCBfdHgsIGludCBfdHksIEhp
dFRlc3RBY3Rpb24gaGl0VGVzdEFjdGlvbikKIHsKICAgICBJbnRQb2ludCBwb2ludEluQ29udGFp
bmVyKF94LCBfeSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSb290
LmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSb290LmgKaW5kZXggNjNhN2IzZmE2MGNj
NTUwNzdhZmUzZGE1YjY1OTJkZTgzMTNjNmNlMi4uYjkwMTEzYzU1NzQxZWQ5OTBiZjY1MjRlNjVm
NmQxNThiMzJkZWY2MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUm9v
dC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jvb3QuaApAQCAtNDEsOCArNDEs
NiBAQCBwdWJsaWM6CiAgICAgUmVuZGVyT2JqZWN0Q2hpbGRMaXN0KiBjaGlsZHJlbigpIHsgcmV0
dXJuICZtX2NoaWxkcmVuOyB9CiAKICAgICBib29sIGlzTGF5b3V0U2l6ZUNoYW5nZWQoKSBjb25z
dCB7IHJldHVybiBtX2lzTGF5b3V0U2l6ZUNoYW5nZWQ7IH0KLSAgICB2aXJ0dWFsIHZvaWQgc2V0
TmVlZHNCb3VuZGFyaWVzVXBkYXRlKCkgeyBtX25lZWRzQm91bmRhcmllc09yVHJhbnNmb3JtVXBk
YXRlID0gdHJ1ZTsgfQotICAgIHZpcnR1YWwgdm9pZCBzZXROZWVkc1RyYW5zZm9ybVVwZGF0ZSgp
IHsgbV9uZWVkc0JvdW5kYXJpZXNPclRyYW5zZm9ybVVwZGF0ZSA9IHRydWU7IH0KIAogcHJpdmF0
ZToKICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdENoaWxkTGlzdCogdmlydHVhbENoaWxkcmVuKCkg
eyByZXR1cm4gY2hpbGRyZW4oKTsgfQpAQCAtNjAsNyArNTgsNiBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgdm9pZCBwYWludChQYWludEluZm8mLCBpbnQgcGFyZW50WCwgaW50IHBhcmVudFkpOwog
CiAgICAgdmlydHVhbCB2b2lkIGRlc3Ryb3koKTsKLSAgICB2aXJ0dWFsIHZvaWQgc3R5bGVXaWxs
Q2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUqIG5ld1N0eWxlKTsKICAg
ICB2aXJ0dWFsIHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5k
ZXJTdHlsZSogb2xkU3R5bGUpOwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVGcm9tRWxlbWVudCgp
OwogCkBAIC02OSw5ICs2Niw5IEBAIHByaXZhdGU6CiAgICAgYm9vbCBmaWxsQ29udGFpbnMoY29u
c3QgRmxvYXRQb2ludCYpIGNvbnN0OwogICAgIGJvb2wgc3Ryb2tlQ29udGFpbnMoY29uc3QgRmxv
YXRQb2ludCYpIGNvbnN0OwogCi0gICAgdmlydHVhbCBGbG9hdFJlY3Qgb2JqZWN0Qm91bmRpbmdC
b3goKSBjb25zdCB7IHJldHVybiBtX29iamVjdEJvdW5kaW5nQm94OyB9Ci0gICAgdmlydHVhbCBG
bG9hdFJlY3Qgc3Ryb2tlQm91bmRpbmdCb3goKSBjb25zdCB7IHJldHVybiBtX3N0cm9rZUJvdW5k
aW5nQm94OyB9Ci0gICAgdmlydHVhbCBGbG9hdFJlY3QgcmVwYWludFJlY3RJbkxvY2FsQ29vcmRp
bmF0ZXMoKSBjb25zdCB7IHJldHVybiBtX3JlcGFpbnRCb3VuZGluZ0JveDsgfQorICAgIHZpcnR1
YWwgRmxvYXRSZWN0IG9iamVjdEJvdW5kaW5nQm94KCkgY29uc3Q7CisgICAgdmlydHVhbCBGbG9h
dFJlY3Qgc3Ryb2tlQm91bmRpbmdCb3goKSBjb25zdDsKKyAgICB2aXJ0dWFsIEZsb2F0UmVjdCBy
ZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpIGNvbnN0OwogCiAgICAgdmlydHVhbCBib29s
IG5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGludCB4
LCBpbnQgeSwgaW50IHR4LCBpbnQgdHksIEhpdFRlc3RBY3Rpb24pOwogCkBAIC04Myw3ICs4MCw2
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjYWxjVmlld3BvcnQoKTsKIAogICAgIGJvb2wgc2VsZldp
bGxQYWludCgpOwotICAgIHZvaWQgdXBkYXRlQ2FjaGVkQm91bmRhcmllcygpOwogCiAgICAgSW50
U2l6ZSBwYXJlbnRPcmlnaW5Ub0JvcmRlckJveCgpIGNvbnN0OwogICAgIEludFNpemUgYm9yZGVy
T3JpZ2luVG9Db250ZW50Qm94KCkgY29uc3Q7CkBAIC05MiwxMiArODgsOCBAQCBwcml2YXRlOgog
CiAgICAgUmVuZGVyT2JqZWN0Q2hpbGRMaXN0IG1fY2hpbGRyZW47CiAgICAgRmxvYXRTaXplIG1f
dmlld3BvcnRTaXplOwotICAgIEZsb2F0UmVjdCBtX29iamVjdEJvdW5kaW5nQm94OwotICAgIEZs
b2F0UmVjdCBtX3N0cm9rZUJvdW5kaW5nQm94OwotICAgIEZsb2F0UmVjdCBtX3JlcGFpbnRCb3Vu
ZGluZ0JveDsKICAgICBtdXRhYmxlIEFmZmluZVRyYW5zZm9ybSBtX2xvY2FsVG9QYXJlbnRUcmFu
c2Zvcm07CiAgICAgYm9vbCBtX2lzTGF5b3V0U2l6ZUNoYW5nZWQgOiAxOwotICAgIGJvb2wgbV9u
ZWVkc0JvdW5kYXJpZXNPclRyYW5zZm9ybVVwZGF0ZSA6IDE7CiB9OwogCiBpbmxpbmUgUmVuZGVy
U1ZHUm9vdCogdG9SZW5kZXJTVkdSb290KFJlbmRlck9iamVjdCogb2JqZWN0KQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHVGV4dC5jcHAgYi9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTVkdUZXh0LmNwcAppbmRleCA4MGI4YTkxZjEzZmM3YTU5YTM1Y2I2ZjNhMTNlNTg0
YTE2ODc3NGE4Li40YjcwNjQzZTAzMWQ3NmQ0ZDNkM2Q5N2M4ZmNiNzViMjM3ODkyMzI3IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdUZXh0LmNwcAorKysgYi9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJTVkdUZXh0LmNwcApAQCAtNzUsMTIgKzc1LDEwIEBAIHZvaWQgUmVu
ZGVyU1ZHVGV4dDo6bGF5b3V0KCkKICAgICBBU1NFUlQobmVlZHNMYXlvdXQoKSk7CiAgICAgTGF5
b3V0UmVwYWludGVyIHJlcGFpbnRlcigqdGhpcywgbV9ldmVySGFkTGF5b3V0ICYmIGNoZWNrRm9y
UmVwYWludER1cmluZ0xheW91dCgpKTsKIAotICAgIGJvb2wgdXBkYXRlQ2FjaGVkQm91bmRhcmll
c0luUGFyZW50cyA9IGZhbHNlOwogICAgIGlmIChtX25lZWRzVHJhbnNmb3JtVXBkYXRlKSB7CiAg
ICAgICAgIFNWR1RleHRFbGVtZW50KiB0ZXh0ID0gc3RhdGljX2Nhc3Q8U1ZHVGV4dEVsZW1lbnQq
Pihub2RlKCkpOwogICAgICAgICBtX2xvY2FsVHJhbnNmb3JtID0gdGV4dC0+YW5pbWF0ZWRMb2Nh
bFRyYW5zZm9ybSgpOwogICAgICAgICBtX25lZWRzVHJhbnNmb3JtVXBkYXRlID0gZmFsc2U7Ci0g
ICAgICAgIHVwZGF0ZUNhY2hlZEJvdW5kYXJpZXNJblBhcmVudHMgPSB0cnVlOwogICAgIH0KIAog
ICAgIC8vIFJlZHVjZWQgdmVyc2lvbiBvZiBSZW5kZXJCbG9jazo6bGF5b3V0QmxvY2soKSwgd2hp
Y2ggb25seSB0YWtlcyBjYXJlIG9mIFNWRyB0ZXh0LgpAQCAtOTcsMjIgKzk1LDEzIEBAIHZvaWQg
UmVuZGVyU1ZHVGV4dDo6bGF5b3V0KCkKICAgICBpZiAoIWZpcnN0Q2hpbGQoKSkKICAgICAgICAg
c2V0Q2hpbGRyZW5JbmxpbmUodHJ1ZSk7CiAKLSAgICAvLyBGSVhNRTogV2UgbmVlZCB0byBmaW5k
IGEgd2F5IHRvIG9ubHkgbGF5b3V0IHRoZSBjaGlsZCBib3hlcywgaWYgbmVlZGVkLgotICAgIEZs
b2F0UmVjdCBvbGRCb3VuZGFyaWVzID0gb2JqZWN0Qm91bmRpbmdCb3goKTsKICAgICBBU1NFUlQo
Y2hpbGRyZW5JbmxpbmUoKSk7CiAgICAgZm9yY2VMYXlvdXRJbmxpbmVDaGlsZHJlbigpOwogCi0g
ICAgaWYgKCF1cGRhdGVDYWNoZWRCb3VuZGFyaWVzSW5QYXJlbnRzKQotICAgICAgICB1cGRhdGVD
YWNoZWRCb3VuZGFyaWVzSW5QYXJlbnRzID0gb2xkQm91bmRhcmllcyAhPSBvYmplY3RCb3VuZGlu
Z0JveCgpOwotCiAgICAgLy8gSW52YWxpZGF0ZSBhbGwgcmVzb3VyY2VzIG9mIHRoaXMgY2xpZW50
IGlmIG91ciBsYXlvdXQgY2hhbmdlZC4KICAgICBpZiAobV9ldmVySGFkTGF5b3V0ICYmIHNlbGZO
ZWVkc0xheW91dCgpKQogICAgICAgICBTVkdSZXNvdXJjZXNDYWNoZTo6Y2xpZW50TGF5b3V0Q2hh
bmdlZCh0aGlzKTsKIAotICAgIC8vIElmIG91ciBib3VuZHMgY2hhbmdlZCwgbm90aWZ5IHRoZSBw
YXJlbnRzLgotICAgIGlmICh1cGRhdGVDYWNoZWRCb3VuZGFyaWVzSW5QYXJlbnRzKQotICAgICAg
ICBSZW5kZXJTVkdCbG9jazo6c2V0TmVlZHNCb3VuZGFyaWVzVXBkYXRlKCk7Ci0KICAgICByZXBh
aW50ZXIucmVwYWludEFmdGVyTGF5b3V0KCk7CiAgICAgc2V0TmVlZHNMYXlvdXQoZmFsc2UpOwog
fQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNv
bnRhaW5lci5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29u
dGFpbmVyLmNwcAppbmRleCBjN2QyMDI5YmY5Y2VhZDgzNTI0NTA1MzU2MjA1MzVkNjI3ZWY2OTFh
Li45NGI5ZWVhM2I4Mzc2Y2U3NzM0ZjZhZjkzZTUzNjNkMTMyMThiM2I5IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmNwcAorKysg
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmNwcApA
QCAtMzUsNyArMzUsNyBAQCBSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyOjpSZW5kZXJT
VkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyKFNWR1N0eWxlZFRyYW5zZgogewogfQogCi1ib29sIFJl
bmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXI6OmNhbGN1bGF0ZUxvY2FsVHJhbnNmb3JtKCkK
K3ZvaWQgUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lcjo6Y2FsY3VsYXRlTG9jYWxUcmFu
c2Zvcm0oKQogewogICAgIFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50KiBlbGVtZW50ID0g
c3RhdGljX2Nhc3Q8U1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQqPihub2RlKCkpOwogCkBA
IC00NiwxOCArNDYsMTcgQEAgYm9vbCBSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyOjpj
YWxjdWxhdGVMb2NhbFRyYW5zZm9ybSgpCiAgICAgfQogCiAgICAgaWYgKCFlbGVtZW50LT5oYXNU
YWdOYW1lKFNWR05hbWVzOjpnVGFnKSB8fCAhc3RhdGljX2Nhc3Q8U1ZHR0VsZW1lbnQqPihlbGVt
ZW50KS0+aXNTaGFkb3dUcmVlQ29udGFpbmVyRWxlbWVudCgpKQotICAgICAgICByZXR1cm4gbmVl
ZHNVcGRhdGU7CisgICAgICAgIHJldHVybjsKIAogICAgIEZsb2F0U2l6ZSB0cmFuc2xhdGlvbiA9
IHN0YXRpY19jYXN0PFNWR1NoYWRvd1RyZWVDb250YWluZXJFbGVtZW50Kj4oZWxlbWVudCktPmNv
bnRhaW5lclRyYW5zbGF0aW9uKCk7CiAgICAgaWYgKHRyYW5zbGF0aW9uLndpZHRoKCkgPT0gMCAm
JiB0cmFuc2xhdGlvbi5oZWlnaHQoKSA9PSAwKQotICAgICAgICByZXR1cm4gbmVlZHNVcGRhdGU7
CisgICAgICAgIHJldHVybjsKIAogICAgIC8vIEZJWE1FOiBDb3VsZCBvcHRpbWl6ZSB0aGlzIGNh
c2UgZm9yIHVzZSB0byBhdm9pZCByZWZldGNoaW5nIHRoZSBhbmltYXRlZExvY2FsVHJhbnNmb3Jt
KCkgaGVyZSwgaWYgb25seSB0aGUgY29udGFpbmVyVHJhbnNsYXRpb24oKSBjaGFuZ2VkLgogICAg
IGlmICghbmVlZHNVcGRhdGUpCiAgICAgICAgIG1fbG9jYWxUcmFuc2Zvcm0gPSBlbGVtZW50LT5h
bmltYXRlZExvY2FsVHJhbnNmb3JtKCk7CiAKICAgICBtX2xvY2FsVHJhbnNmb3JtLnRyYW5zbGF0
ZSh0cmFuc2xhdGlvbi53aWR0aCgpLCB0cmFuc2xhdGlvbi5oZWlnaHQoKSk7Ci0gICAgcmV0dXJu
IHRydWU7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Ry
YW5zZm9ybWFibGVDb250YWluZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1RyYW5z
Zm9ybWFibGVDb250YWluZXIuaAppbmRleCBiNjNiOTFjNWU5Y2U5NWM5NDEyZjM4Y2ZmNGM1ZDMx
NWFlNTIzOTQ2Li5lNmRlMDU0OTkxYzU1YmZjZDc2MWU0YWQxYmIyNTlhMzJlNDZiOWNlIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVy
LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5l
ci5oCkBAIC0zNSw3ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVh
bCB2b2lkIHNldE5lZWRzVHJhbnNmb3JtVXBkYXRlKCkgeyBtX25lZWRzVHJhbnNmb3JtVXBkYXRl
ID0gdHJ1ZTsgfQogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgdmlydHVhbCBib29sIGNhbGN1bGF0
ZUxvY2FsVHJhbnNmb3JtKCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCBjYWxjdWxhdGVMb2NhbFRy
YW5zZm9ybSgpOwogICAgICAgICB2aXJ0dWFsIEFmZmluZVRyYW5zZm9ybSBsb2NhbFRyYW5zZm9y
bSgpIGNvbnN0IHsgcmV0dXJuIG1fbG9jYWxUcmFuc2Zvcm07IH0KIAogICAgICAgICBib29sIG1f
bmVlZHNUcmFuc2Zvcm1VcGRhdGUgOiAxOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
U1ZHVmlld3BvcnRDb250YWluZXIuY3BwCmluZGV4IGNjZjY3ZmE5Mzk1MzA5MDQ2YjZkNWU2Zjcy
YWFlZTA4ODViYjhiZWQuLmYzMTRiZGUwN2MwY2ZkYzUzMzUwYThjZmQ0YTI0Y2FhZjc0NjZiZWEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVy
LmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5j
cHAKQEAgLTQ4LDE1ICs0OCwxMCBAQCB2b2lkIFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyOjpj
YWxjVmlld3BvcnQoKQogICAgICBTVkdFbGVtZW50KiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZH
RWxlbWVudCo+KG5vZGUoKSk7CiAgICAgIGlmIChlbGVtZW50LT5oYXNUYWdOYW1lKFNWR05hbWVz
OjpzdmdUYWcpKSB7CiAgICAgICAgICBTVkdTVkdFbGVtZW50KiBzdmcgPSBzdGF0aWNfY2FzdDxT
VkdTVkdFbGVtZW50Kj4oZWxlbWVudCk7Ci0KLSAgICAgICAgIEZsb2F0UmVjdCBvbGRWaWV3cG9y
dCA9IG1fdmlld3BvcnQ7CiAgICAgICAgICBtX3ZpZXdwb3J0ID0gRmxvYXRSZWN0KHN2Zy0+eCgp
LnZhbHVlKHN2ZykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBzdmctPnkoKS52
YWx1ZShzdmcpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgc3ZnLT53aWR0aCgp
LnZhbHVlKHN2ZykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBzdmctPmhlaWdo
dCgpLnZhbHVlKHN2ZykpOwotCi0gICAgICAgIGlmIChvbGRWaWV3cG9ydCAhPSBtX3ZpZXdwb3J0
KQotICAgICAgICAgICAgc2V0TmVlZHNCb3VuZGFyaWVzVXBkYXRlKCk7CiAgICAgfQogfQogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZW5kZXJTdXBwb3J0LmNwcCBiL1dlYkNv
cmUvcmVuZGVyaW5nL1NWR1JlbmRlclN1cHBvcnQuY3BwCmluZGV4IDY0NGZmNzBkMmYwODdkYWMw
YmM4Y2QwMmNhZTAwNTE0M2VjNGUzZGYuLmZjOTljOTE1N2Q1NTlmZWIxYWYzNTVkM2YzY2EzOGYy
YzY0MzMyMzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1JlbmRlclN1cHBvcnQu
Y3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1JlbmRlclN1cHBvcnQuY3BwCkBAIC0xNjEs
MzEgKzE2MSwyOSBAQCB2b2lkIFNWR1JlbmRlclN1cHBvcnQ6OmZpbmlzaFJlbmRlclNWR0NvbnRl
bnQoUmVuZGVyT2JqZWN0KiBvYmplY3QsIFBhaW50SW5mbyYgcAogICAgICAgICBwYWludEluZm8u
Y29udGV4dC0+ZW5kVHJhbnNwYXJlbmN5TGF5ZXIoKTsKIH0KIAotdm9pZCBTVkdSZW5kZXJTdXBw
b3J0Ojpjb21wdXRlQ29udGFpbmVyQm91bmRpbmdCb3hlcyhjb25zdCBSZW5kZXJPYmplY3QqIGNv
bnRhaW5lciwgRmxvYXRSZWN0JiBvYmplY3RCb3VuZGluZ0JveCwgRmxvYXRSZWN0JiBzdHJva2VC
b3VuZGluZ0JveCwgRmxvYXRSZWN0JiByZXBhaW50Qm91bmRpbmdCb3gpCitGbG9hdFJlY3QgU1ZH
UmVuZGVyU3VwcG9ydDo6Y29tcHV0ZUNvbnRhaW5lckJvdW5kaW5nQm94KGNvbnN0IFJlbmRlck9i
amVjdCogY29udGFpbmVyLCBDb250YWluZXJCb3VuZGluZ0JveE1vZGUgbW9kZSkKIHsKKyAgICBG
bG9hdFJlY3QgYm91bmRpbmdCb3g7CisKICAgICBmb3IgKFJlbmRlck9iamVjdCogY3VycmVudCA9
IGNvbnRhaW5lci0+Zmlyc3RDaGlsZCgpOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+bmV4
dFNpYmxpbmcoKSkgewotICAgICAgICBpZiAoY3VycmVudC0+aXNTVkdIaWRkZW5Db250YWluZXIo
KSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIGNvbnN0IEFmZmluZVRyYW5zZm9y
bSYgdHJhbnNmb3JtID0gY3VycmVudC0+bG9jYWxUb1BhcmVudFRyYW5zZm9ybSgpOwotICAgICAg
ICBpZiAodHJhbnNmb3JtLmlzSWRlbnRpdHkoKSkgewotICAgICAgICAgICAgb2JqZWN0Qm91bmRp
bmdCb3gudW5pdGUoY3VycmVudC0+b2JqZWN0Qm91bmRpbmdCb3goKSk7Ci0gICAgICAgICAgICBz
dHJva2VCb3VuZGluZ0JveC51bml0ZShjdXJyZW50LT5zdHJva2VCb3VuZGluZ0JveCgpKTsKLSAg
ICAgICAgICAgIHJlcGFpbnRCb3VuZGluZ0JveC51bml0ZShjdXJyZW50LT5yZXBhaW50UmVjdElu
TG9jYWxDb29yZGluYXRlcygpKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIG9iamVj
dEJvdW5kaW5nQm94LnVuaXRlKHRyYW5zZm9ybS5tYXBSZWN0KGN1cnJlbnQtPm9iamVjdEJvdW5k
aW5nQm94KCkpKTsKLSAgICAgICAgICAgIHN0cm9rZUJvdW5kaW5nQm94LnVuaXRlKHRyYW5zZm9y
bS5tYXBSZWN0KGN1cnJlbnQtPnN0cm9rZUJvdW5kaW5nQm94KCkpKTsKLSAgICAgICAgICAgIHJl
cGFpbnRCb3VuZGluZ0JveC51bml0ZSh0cmFuc2Zvcm0ubWFwUmVjdChjdXJyZW50LT5yZXBhaW50
UmVjdEluTG9jYWxDb29yZGluYXRlcygpKSk7CisgICAgICAgIEZsb2F0UmVjdCBjaGlsZEJvdW5k
aW5nQm94OworCisgICAgICAgIHN3aXRjaCAobW9kZSkgeworICAgICAgICBjYXNlIE9iamVjdEJv
dW5kaW5nQm94OgorICAgICAgICAgICAgY2hpbGRCb3VuZGluZ0JveCA9IGN1cnJlbnQtPm9iamVj
dEJvdW5kaW5nQm94KCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBTdHJva2VC
b3VuZGluZ0JveDoKKyAgICAgICAgICAgIGNoaWxkQm91bmRpbmdCb3ggPSBjdXJyZW50LT5zdHJv
a2VCb3VuZGluZ0JveCgpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUmVwYWlu
dEJvdW5kaW5nQm94OgorICAgICAgICAgICAgY2hpbGRCb3VuZGluZ0JveCA9IGN1cnJlbnQtPnJl
cGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCk7CisgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgfQotICAgIH0KLX0KIAotYm9vbCBTVkdSZW5kZXJTdXBwb3J0OjpwYWludEluZm9JbnRlcnNl
Y3RzUmVwYWludFJlY3QoY29uc3QgRmxvYXRSZWN0JiBsb2NhbFJlcGFpbnRSZWN0LCBjb25zdCBB
ZmZpbmVUcmFuc2Zvcm0mIGxvY2FsVHJhbnNmb3JtLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5m
bykKLXsKLSAgICBpZiAobG9jYWxUcmFuc2Zvcm0uaXNJZGVudGl0eSgpKQotICAgICAgICByZXR1
cm4gbG9jYWxSZXBhaW50UmVjdC5pbnRlcnNlY3RzKHBhaW50SW5mby5yZWN0KTsKKyAgICAgICAg
Ym91bmRpbmdCb3gudW5pdGUoY3VycmVudC0+bG9jYWxUb1BhcmVudFRyYW5zZm9ybSgpLm1hcFJl
Y3QoY2hpbGRCb3VuZGluZ0JveCkpOworICAgIH0KIAotICAgIHJldHVybiBsb2NhbFRyYW5zZm9y
bS5tYXBSZWN0KGxvY2FsUmVwYWludFJlY3QpLmludGVyc2VjdHMocGFpbnRJbmZvLnJlY3QpOwor
ICAgIHJldHVybiBib3VuZGluZ0JveDsKIH0KIAogY29uc3QgUmVuZGVyU1ZHUm9vdCogU1ZHUmVu
ZGVyU3VwcG9ydDo6ZmluZFRyZWVSb290T2JqZWN0KGNvbnN0IFJlbmRlck9iamVjdCogc3RhcnQp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZW5kZXJTdXBwb3J0LmggYi9XZWJD
b3JlL3JlbmRlcmluZy9TVkdSZW5kZXJTdXBwb3J0LmgKaW5kZXggOTI0MmE5MmNhYjgzZWMzNWJj
NTY4ZGZmZGVjODY4NzFhNWJjN2Y4OC4uMmRlMWU5OTFiNjkwZTFlZGQ3YzZhMGFiMDAyZmI1M2Vk
MWQ4NzExNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVuZGVyU3VwcG9ydC5o
CisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1JlbmRlclN1cHBvcnQuaApAQCAtMjgsMTIgKzI4
LDExIEBACiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJQYWludEluZm8uaCIKIAotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZs
b2F0UG9pbnQ7CiBjbGFzcyBGbG9hdFJlY3Q7CitjbGFzcyBJbWFnZUJ1ZmZlcjsKIGNsYXNzIFJl
bmRlckJveE1vZGVsT2JqZWN0OwogY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVyU3R5
bGU7CkBAIC00MSw3ICs0MCw3IEBAIGNsYXNzIFJlbmRlclNWR1Jvb3Q7CiBjbGFzcyBUcmFuc2Zv
cm1TdGF0ZTsKIAogLy8gU1ZHUmVuZGVyZXJTdXBwb3J0IGlzIGEgaGVscGVyIGNsYXNzIHNoYXJp
bmcgY29kZSBiZXR3ZWVuIGFsbCBTVkcgcmVuZGVyZXJzLgotY2xhc3MgU1ZHUmVuZGVyU3VwcG9y
dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdSZW5kZXJTdXBwb3J0IHsKIHB1Ymxp
YzoKICAgICAvLyBVc2VkIGJ5IGFsbCBTVkcgcmVuZGVyZXJzIHdobyBhcHBseSBjbGlwL2ZpbHRl
ci9ldGMuIHJlc291cmNlcyB0byB0aGUgcmVuZGVyZXIgY29udGVudAogICAgIHN0YXRpYyBib29s
IHByZXBhcmVUb1JlbmRlclNWR0NvbnRlbnQoUmVuZGVyT2JqZWN0KiwgUGFpbnRJbmZvJik7CkBA
IC01OSwxMSArNTgsMTUgQEAgcHVibGljOgogICAgIC8vIERldGVybWluZXMgd2hldGhlciB0aGUg
cGFzc2VkIHBvaW50IGxpZXMgaW4gYSBjbGlwcGluZyBhcmVhCiAgICAgc3RhdGljIGJvb2wgcG9p
bnRJbkNsaXBwaW5nQXJlYShSZW5kZXJPYmplY3QqLCBjb25zdCBGbG9hdFBvaW50Jik7CiAKLSAg
ICAvLyBUcmF2ZXJzZXMgYWxsIGNoaWxkcmVuIG9mIGdpdmVuIGNvbnRhaW5lciBhbmQgcmV0dXJu
cyB0aGUgdW5pb24gb2JqZWN0L3N0cm9rZS9yZXBhaW50Qm91bmRpbmdCb3guCi0gICAgc3RhdGlj
IHZvaWQgY29tcHV0ZUNvbnRhaW5lckJvdW5kaW5nQm94ZXMoY29uc3QgUmVuZGVyT2JqZWN0KiBj
b250YWluZXIsIEZsb2F0UmVjdCYgb2JqZWN0Qm91bmRpbmdCb3gsIEZsb2F0UmVjdCYgc3Ryb2tl
Qm91bmRpbmdCb3gsIEZsb2F0UmVjdCYgcmVwYWludEJvdW5kaW5nQm94KTsKKyAgICBlbnVtIENv
bnRhaW5lckJvdW5kaW5nQm94TW9kZSB7CisgICAgICAgIE9iamVjdEJvdW5kaW5nQm94LAorICAg
ICAgICBTdHJva2VCb3VuZGluZ0JveCwKKyAgICAgICAgUmVwYWludEJvdW5kaW5nQm94CisgICAg
fTsKIAotICAgIC8vIERldGVybWluZXMgd2hldGVyIHRoZSByZW5kZXJlciBuZWVkcyB0byBiZSBw
YWludGVkLgotICAgIHN0YXRpYyBib29sIHBhaW50SW5mb0ludGVyc2VjdHNSZXBhaW50UmVjdChj
b25zdCBGbG9hdFJlY3QmIGxvY2FsUmVwYWludFJlY3QsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYg
bG9jYWxUcmFuc2Zvcm0sIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvKTsKKyAgICAvLyBVc2Vk
IHRvIHNoYXJlIHRoZSAid2FsayBhbGwgdGhlIGNoaWxkcmVuIiBsb2dpYyBiZXR3ZWVuIG9iamVj
dEJvdW5kaW5nQm94CisgICAgLy8gYW5kIHJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzIGlu
IFJlbmRlclNWR1Jvb3QgYW5kIFJlbmRlclNWR0NvbnRhaW5lcgorICAgIHN0YXRpYyBGbG9hdFJl
Y3QgY29tcHV0ZUNvbnRhaW5lckJvdW5kaW5nQm94KGNvbnN0IFJlbmRlck9iamVjdCogY29udGFp
bmVyLCBDb250YWluZXJCb3VuZGluZ0JveE1vZGUpOwogCiAgICAgLy8gSW1wb3J0YW50IGZ1bmN0
aW9ucyB1c2VkIGJ5IG5lYXJseSBhbGwgU1ZHIHJlbmRlcmVycyBjZW50cmFsaXppbmcgY29vcmRp
bmF0ZSB0cmFuc2Zvcm1hdGlvbnMgLyByZXBhaW50IHJlY3QgY2FsY3VsYXRpb25zCiAgICAgc3Rh
dGljIEludFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoUmVuZGVyT2JqZWN0Kiwg
UmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpOwpAQCAtNzYsNiArNzksMTEg
QEAgcHVibGljOgogICAgIC8vIEZJWE1FOiBUaGVzZSBtZXRob2RzIGRvIG5vdCBiZWxvbmcgaGVy
ZS4KICAgICBzdGF0aWMgY29uc3QgUmVuZGVyT2JqZWN0KiBmaW5kVGV4dFJvb3RPYmplY3QoY29u
c3QgUmVuZGVyT2JqZWN0KiBzdGFydCk7CiAgICAgc3RhdGljIGNvbnN0IFJlbmRlclNWR1Jvb3Qq
IGZpbmRUcmVlUm9vdE9iamVjdChjb25zdCBSZW5kZXJPYmplY3QqIHN0YXJ0KTsKKworcHJpdmF0
ZToKKyAgICAvLyBUaGlzIGNsYXNzIGlzIG5vdCBjb25zdHJ1Y3RhYmxlLgorICAgIFNWR1JlbmRl
clN1cHBvcnQoKTsKKyAgICB+U1ZHUmVuZGVyU3VwcG9ydCgpOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVy
U3R5bGUuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuY3BwCmlu
ZGV4IDdkMWFkM2JiYjNmOTc3NWQ2MWU5MTg1ZjlmMjE4YzkzNDcwNzQxNGYuLjUxZDJmMjA0YTA5
MWM1YjY2ZTRkODk2OTc5Y2NhYWU5ZTUxZDU0MTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlLmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TVkdSZW5kZXJTdHlsZS5jcHAKQEAgLTE2MiwxMCArMTYyLDYgQEAgU3R5bGVEaWZmZXJlbmNl
IFNWR1JlbmRlclN0eWxlOjpkaWZmKGNvbnN0IFNWR1JlbmRlclN0eWxlKiBvdGhlcikgY29uc3QK
ICAgICAgICAgfHwgc3ZnX2luaGVyaXRlZF9mbGFncy5fam9pblN0eWxlICE9IG90aGVyLT5zdmdf
aW5oZXJpdGVkX2ZsYWdzLl9qb2luU3R5bGUpCiAgICAgICAgIHJldHVybiBTdHlsZURpZmZlcmVu
Y2VMYXlvdXQ7CiAKLSAgICAvLyBTaGFkb3cgY2hhbmdlcyByZXF1aXJlIHJlbGF5b3V0cywgYXMg
dGhleSBhZmZlY3QgdGhlIHJlcGFpbnQgcmVjdHMuCi0gICAgaWYgKHNoYWRvd1NWRyAhPSBvdGhl
ci0+c2hhZG93U1ZHKQotICAgICAgICByZXR1cm4gU3R5bGVEaWZmZXJlbmNlTGF5b3V0OwotCiAg
ICAgLy8gU29tZSBzdHJva2UgcHJvcGVydGllcywgcmVxdWlyZXMgcmVsYXlvdXRzLCBhcyB0aGUg
Y2FjaGVkIHN0cm9rZSBib3VuZGFyaWVzIG5lZWQgdG8gYmUgcmVjYWxjdWxhdGVkLgogICAgIGlm
IChzdHJva2UgIT0gb3RoZXItPnN0cm9rZSkgewogICAgICAgICBpZiAoc3Ryb2tlLT53aWR0aCAh
PSBvdGhlci0+c3Ryb2tlLT53aWR0aApAQCAtMTgyLDYgKzE3OCwxMCBAQCBTdHlsZURpZmZlcmVu
Y2UgU1ZHUmVuZGVyU3R5bGU6OmRpZmYoY29uc3QgU1ZHUmVuZGVyU3R5bGUqIG90aGVyKSBjb25z
dAogCiAgICAgLy8gTk9URTogQWxsIGNvbXBhcmlzaW9ucyBiZWxvdyBtYXkgb25seSByZXR1cm4g
U3R5bGVEaWZmZXJlbmNlUmVwYWludAogCisgICAgLy8gU2hhZG93IGNoYW5nZXMgbmVlZCB0byBj
YXVzZSByZXBhaW50cy4KKyAgICBpZiAoc2hhZG93U1ZHICE9IG90aGVyLT5zaGFkb3dTVkcpCisg
ICAgICAgIHJldHVybiBTdHlsZURpZmZlcmVuY2VSZXBhaW50OworCiAgICAgLy8gUGFpbnRpbmcg
cmVsYXRlZCBwcm9wZXJ0aWVzIG9ubHkgbmVlZCByZXBhaW50cy4gCiAgICAgaWYgKG1pc2NOb3RF
cXVhbCkgewogICAgICAgICBpZiAobWlzYy0+Zmxvb2RDb2xvciAhPSBvdGhlci0+bWlzYy0+Zmxv
b2RDb2xvcgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>