<?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>56251</bug_id>
          
          <creation_ts>2011-03-12 07:50:25 -0800</creation_ts>
          <short_desc>REGRESSION(r80919): all windows bots failed to compile this change (Requested by loislo on #webkit).</short_desc>
          <delta_ts>2011-03-12 16:32:25 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</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>
          
          <blocked>56214</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>barraclough</cc>
    
    <cc>eric</cc>
    
    <cc>loislo</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>366580</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-12 07:50:25 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/80919 broke the build:
all windows bots failed to compile this change (Requested by loislo 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>366581</commentid>
    <comment_count>1</comment_count>
      <attachid>85594</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-12 07:50:48 -0800</bug_when>
    <thetext>Created attachment 85594
ROLLOUT of r80919

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>366582</commentid>
    <comment_count>2</comment_count>
      <attachid>85594</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2011-03-12 07:54:30 -0800</bug_when>
    <thetext>Comment on attachment 85594
ROLLOUT of r80919

Clearing flags on attachment: 85594

Committed r80938: &lt;http://trac.webkit.org/changeset/80938&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366583</commentid>
    <comment_count>3</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2011-03-12 07:54:39 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366605</commentid>
    <comment_count>4</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-03-12 11:32:35 -0800</bug_when>
    <thetext>80919 was landed by the commit queue how can it break the build.  The whole point of the commit queue is that you can set cq+ and it will be safe.  That&apos;s the only reason I use it.  If it can&apos;t be trusted to ensure only non-breaking patches are landed it should be disabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366610</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-03-12 11:53:04 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; 80919 was landed by the commit queue how can it break the build.  The whole point of the commit queue is that you can set cq+ and it will be safe.  That&apos;s the only reason I use it.  If it can&apos;t be trusted to ensure only non-breaking patches are landed it should be disabled.

It says right here &lt;https://bugs.webkit.org/show_bug.cgi?id=56214#c12&gt; that the patch will break the win build.  The commit-queue just does what human contributors do: it builds and tests the patch on one platform (in this case Apple Mac).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366621</commentid>
    <comment_count>6</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-03-12 15:42:05 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; 80919 was landed by the commit queue how can it break the build.  The whole point of the commit queue is that you can set cq+ and it will be safe.  That&apos;s the only reason I use it.  If it can&apos;t be trusted to ensure only non-breaking patches are landed it should be disabled.
&gt; 
&gt; It says right here &lt;https://bugs.webkit.org/show_bug.cgi?id=56214#c12&gt; that the patch will break the win build.  The commit-queue just does what human contributors do: it builds and tests the patch on one platform (in this case Apple Mac).

The commit queue lands at a random point in the future, if it&apos;s not checking all platforms, or ensuring that all platforms successfully built then anyone using it saying &quot;i don&apos;t care if this breaks other builds at some point in the future when i may not be around&quot;.  My _only_ reason for being okay with the commit queue was the (apparently mistaken) belief that it would not break the build.  Given that it is willing to land breaking changes all it does is delay the failure until some time when the person most able to fix the failure is possibly no longer available.

The commit queue has removed the need for a committer to land and watch the patch and placed that work onto whoever updates on the broken platform first, rather than whoever landed the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366622</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-03-12 16:32:25 -0800</bug_when>
    <thetext>If you&apos;re interested in continuing this discussion, I&apos;d recommend emailing webkit-dev on the subject.  Before doing that, you might wish to review the previous webkit-dev threads on this topic as it has been discussed before and I&apos;m not aware of any facts that have changed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85594</attachid>
            <date>2011-03-12 07:50:48 -0800</date>
            <delta_ts>2011-03-12 07:54:30 -0800</delta_ts>
            <desc>ROLLOUT of r80919</desc>
            <filename>bug-56251-20110312154914.patch</filename>
            <type>text/plain</type>
            <size>43446</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODA5MzcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDMw
NDMxODViM2M4YTBiNDY4NjU1MTU5ZjZmZDQxYmVjMjVjNDQ5ZDcuLmM5NDJmYWI3Yjg3ZjViODYx
MGM0ZGNiY2EzOThkZWQyYTRjMzc2MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDcxIEBACisyMDExLTAzLTEyICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdt
YWlsLmNvbT4KKworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByODA5MTkuCisgICAg
ICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzgwOTE5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NjI1MQorCisgICAgICAgIGFsbCB3
aW5kb3dzIGJvdHMgZmFpbGVkIHRvIGNvbXBpbGUgdGhpcyBjaGFuZ2UgKFJlcXVlc3RlZCBieQor
ICAgICAgICBsb2lzbG8gb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJ5dGVjb2RlL1N0cnVjdHVyZVN0
dWJJbmZvLmNwcDoKKyAgICAgICAgKiBpbnRlcnByZXRlci9SZWdpc3Rlci5oOgorICAgICAgICAo
SlNDOjpSZWdpc3Rlcjo6d2l0aEludCk6CisgICAgICAgIChKU0M6OlJlZ2lzdGVyOjp3aXRoQ2Fs
bGVlKToKKyAgICAgICAgKEpTQzo6UmVnaXN0ZXI6Om9wZXJhdG9yPSk6CisgICAgICAgIChKU0M6
OlJlZ2lzdGVyOjppKToKKyAgICAgICAgKEpTQzo6UmVnaXN0ZXI6OmFjdGl2YXRpb24pOgorICAg
ICAgICAoSlNDOjpSZWdpc3Rlcjo6ZnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpSZWdpc3Rlcjo6
cHJvcGVydHlOYW1lSXRlcmF0b3IpOgorICAgICAgICAoSlNDOjpSZWdpc3Rlcjo6c2NvcGVDaGFp
bik6CisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAqIGppdC9KSVRDYWxsLmNwcDoKKyAg
ICAgICAgKEpTQzo6SklUOjpjb21waWxlT3BDYWxsSW5pdGlhbGl6ZUNhbGxGcmFtZSk6CisgICAg
ICAgIChKU0M6OkpJVDo6Y29tcGlsZU9wQ2FsbFZhcmFyZ3MpOgorICAgICAgICAoSlNDOjpKSVQ6
OmNvbXBpbGVPcENhbGwpOgorICAgICAgICAqIGppdC9KSVRDYWxsMzJfNjQuY3BwOgorICAgICAg
ICAoSlNDOjpKSVQ6OmNvbXBpbGVPcENhbGxJbml0aWFsaXplQ2FsbEZyYW1lKToKKyAgICAgICAg
KEpTQzo6SklUOjpjb21waWxlT3BDYWxsVmFyYXJncyk6CisgICAgICAgIChKU0M6OkpJVDo6Y29t
cGlsZU9wQ2FsbCk6CisgICAgICAgIChKU0M6OkpJVDo6Y29tcGlsZU9wQ2FsbFNsb3dDYXNlKToK
KyAgICAgICAgKiBqaXQvSklUSW5saW5lTWV0aG9kcy5oOgorICAgICAgICAoSlNDOjpKSVQ6OmVt
aXRQdXRUb0NhbGxGcmFtZUhlYWRlcik6CisgICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgor
ICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlQ1RJTmF0aXZlQ2FsbCk6CisgICAgICAg
IChKU0M6OkpJVDo6ZW1pdF9vcF9nZXRfcG5hbWVzKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0
X29wX25leHRfcG5hbWUpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfbG9hZF92YXJhcmdz
KToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0U2xvd19vcF9sb2FkX3ZhcmFyZ3MpOgorICAgICAg
ICAqIGppdC9KSVRPcGNvZGVzMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVD
b21waWxlQ1RJTmF0aXZlQ2FsbCk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9nZXRfcG5h
bWVzKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX25leHRfcG5hbWUpOgorICAgICAgICAq
IGppdC9KU0ludGVyZmFjZUpJVC5oOgorICAgICAgICAoSlNDOjpKU0ludGVyZmFjZUpJVDo6cGF5
bG9hZEZvcik6CisgICAgICAgICogaml0L1NwZWNpYWxpemVkVGh1bmtKSVQuaDoKKyAgICAgICAg
KEpTQzo6U3BlY2lhbGl6ZWRUaHVua0pJVDo6cmV0dXJuSlNWYWx1ZSk6CisgICAgICAgIChKU0M6
OlNwZWNpYWxpemVkVGh1bmtKSVQ6OnJldHVybkRvdWJsZSk6CisgICAgICAgIChKU0M6OlNwZWNp
YWxpemVkVGh1bmtKSVQ6OnJldHVybkludDMyKToKKyAgICAgICAgKEpTQzo6U3BlY2lhbGl6ZWRU
aHVua0pJVDo6cmV0dXJuSlNDZWxsKToKKyAgICAgICAgKiBydW50aW1lL0FyZ0xpc3QuY3BwOgor
ICAgICAgICAqIHJ1bnRpbWUvRGF0ZUNvbnZlcnNpb24uY3BwOgorICAgICAgICAqIHJ1bnRpbWUv
R0NBY3Rpdml0eUNhbGxiYWNrQ0YuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSWRlbnRpZmllci5j
cHA6CisgICAgICAgICogcnVudGltZS9KU0FjdGl2YXRpb24uaDoKKyAgICAgICAgKEpTQzo6YXNB
Y3RpdmF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0pTTG9jay5jcHA6CisgICAgICAgICogcnVu
dGltZS9KU051bWJlckNlbGwuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoKKyAg
ICAgICAgKiBydW50aW1lL0pTUHJvcGVydHlOYW1lSXRlcmF0b3IuaDoKKyAgICAgICAgKiBydW50
aW1lL0pTVmFsdWUuaDoKKyAgICAgICAgKiBydW50aW1lL0pTWm9tYmllLmNwcDoKKyAgICAgICAg
KiBydW50aW1lL01hcmtlZEJsb2NrLmNwcDoKKyAgICAgICAgKiBydW50aW1lL01hcmtlZFNwYWNl
LmNwcDoKKyAgICAgICAgKiBydW50aW1lL1Byb3BlcnR5TmFtZUFycmF5LmNwcDoKKyAgICAgICAg
KiBydW50aW1lL1Njb3BlQ2hhaW4uaDoKKyAgICAgICAgKEpTQzo6RXhlY1N0YXRlOjpnbG9iYWxU
aGlzVmFsdWUpOgorICAgICAgICAqIHd0Zi9EYXRlTWF0aC5jcHA6CisKIDIwMTEtMDMtMTEgIE9s
aXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBHYXZp
biBCYXJyYWNsb3VnaC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOWY4ZDQ5YTY5
ODVjZmQ5YTM1ZTNmNTEyMjU0YzM1NzZjNTMxYmM2Ny4uMzdkMWM1NzA0OWMyNDYyZWI5NzM0ODY2
MTQ4ZjE5ZWQ0YmRiM2ZiZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI1NDQs
NyArMjU0NCw2IEBACiAJCQl9OwogCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0OUMyNzcx
MDg5MDJBRkUwMDhBOUVGQyAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2pl
Y3QgIkphdmFTY3JpcHRDb3JlIiAqLzsKIAkJCWNvbXBhdGliaWxpdHlWZXJzaW9uID0gIlhjb2Rl
IDMuMSI7Ci0JCQlkZXZlbG9wbWVudFJlZ2lvbiA9IEVuZ2xpc2g7CiAJCQloYXNTY2FubmVkRm9y
RW5jb2RpbmdzID0gMTsKIAkJCWtub3duUmVnaW9ucyA9ICgKIAkJCQlFbmdsaXNoLApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5jcHAK
aW5kZXggNWRmNDg0MTRhYWM3Yjg2ZDFkNzhlMzkxMmQ3MmY3OTYyMjc3OWY3NS4uNWVjMmEzZjk4
YTQ1OGQxNmEyZjI5YTY5N2ZkNGI2Y2U0M2QwNDVkOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uY3BwCkBAIC0yNiw3ICsyNiw2
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU3RydWN0dXJlU3R1YkluZm8uaCIK
IAotI2luY2x1ZGUgIkpTT2JqZWN0LmgiCiAjaW5jbHVkZSAiU2NvcGVDaGFpbi5oIgogCiBuYW1l
c3BhY2UgSlNDIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9SZWdpc3Rlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVy
LmgKaW5kZXggNTdkMjA3Y2M4NzhjNjcxOTQ5ZTNlMDQ3ZGNmMTYzZDQ5ZjFlYmJmOC4uMzk0NDY0
MjY4MDYzNjk0NTg0OTEwYWUyN2NiNjZjYjA4MWQ0ZGFmYyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgKQEAgLTU0LDkgKzU0LDExIEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgICAgICBSZWdpc3Rlcihjb25zdCBKU1ZhbHVlJik7CiAgICAgICAgIFJlZ2lz
dGVyJiBvcGVyYXRvcj0oY29uc3QgSlNWYWx1ZSYpOwogICAgICAgICBKU1ZhbHVlIGpzVmFsdWUo
KSBjb25zdDsKLQorICAgICAgICAKKyAgICAgICAgUmVnaXN0ZXImIG9wZXJhdG9yPShKU0FjdGl2
YXRpb24qKTsKICAgICAgICAgUmVnaXN0ZXImIG9wZXJhdG9yPShDYWxsRnJhbWUqKTsKICAgICAg
ICAgUmVnaXN0ZXImIG9wZXJhdG9yPShDb2RlQmxvY2sqKTsKKyAgICAgICAgUmVnaXN0ZXImIG9w
ZXJhdG9yPShKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yKik7CiAgICAgICAgIFJlZ2lzdGVyJiBvcGVy
YXRvcj0oU2NvcGVDaGFpbk5vZGUqKTsKICAgICAgICAgUmVnaXN0ZXImIG9wZXJhdG9yPShJbnN0
cnVjdGlvbiopOwogCkBAIC03MSwxNyArNzMsMjkgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAg
ICAgc3RhdGljIFJlZ2lzdGVyIHdpdGhJbnQoaW50MzJfdCBpKQogICAgICAgICB7Ci0gICAgICAg
ICAgICBSZWdpc3RlciByID0ganNOdW1iZXIoaSk7CisgICAgICAgICAgICBSZWdpc3RlciByOwor
ICAgICAgICAgICAgci51LmkgPSBpOwogICAgICAgICAgICAgcmV0dXJuIHI7CiAgICAgICAgIH0K
IAotICAgICAgICBzdGF0aWMgaW5saW5lIFJlZ2lzdGVyIHdpdGhDYWxsZWUoSlNPYmplY3QqIGNh
bGxlZSk7CisgICAgICAgIHN0YXRpYyBSZWdpc3RlciB3aXRoQ2FsbGVlKEpTT2JqZWN0KiBjYWxs
ZWUpCisgICAgICAgIHsKKyAgICAgICAgICAgIFJlZ2lzdGVyIHI7CisgICAgICAgICAgICByLnUu
ZnVuY3Rpb24gPSBjYWxsZWU7CisgICAgICAgICAgICByZXR1cm4gcjsKKyAgICAgICAgfQogCiAg
ICAgcHJpdmF0ZToKICAgICAgICAgdW5pb24geworICAgICAgICAgICAgaW50MzJfdCBpOwogICAg
ICAgICAgICAgRW5jb2RlZEpTVmFsdWUgdmFsdWU7CisKKyAgICAgICAgICAgIEpTQWN0aXZhdGlv
biogYWN0aXZhdGlvbjsKICAgICAgICAgICAgIENhbGxGcmFtZSogY2FsbEZyYW1lOwogICAgICAg
ICAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2s7CisgICAgICAgICAgICBKU09iamVjdCogZnVuY3Rp
b247CisgICAgICAgICAgICBKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yKiBwcm9wZXJ0eU5hbWVJdGVy
YXRvcjsKKyAgICAgICAgICAgIFNjb3BlQ2hhaW5Ob2RlKiBzY29wZUNoYWluOwogICAgICAgICAg
ICAgSW5zdHJ1Y3Rpb24qIHZQQzsKICAgICAgICAgfSB1OwogICAgIH07CkBAIC0xMTcsNiArMTMx
LDEyIEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgLy8gSW50ZXJwcmV0ZXIgZnVuY3Rpb25zCiAK
KyAgICBBTFdBWVNfSU5MSU5FIFJlZ2lzdGVyJiBSZWdpc3Rlcjo6b3BlcmF0b3I9KEpTQWN0aXZh
dGlvbiogYWN0aXZhdGlvbikKKyAgICB7CisgICAgICAgIHUuYWN0aXZhdGlvbiA9IGFjdGl2YXRp
b247CisgICAgICAgIHJldHVybiAqdGhpczsKKyAgICB9CisKICAgICBBTFdBWVNfSU5MSU5FIFJl
Z2lzdGVyJiBSZWdpc3Rlcjo6b3BlcmF0b3I9KENhbGxGcmFtZSogY2FsbEZyYW1lKQogICAgIHsK
ICAgICAgICAgdS5jYWxsRnJhbWUgPSBjYWxsRnJhbWU7CkBAIC0xMzUsMTEgKzE1NSwyOCBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgcmV0dXJuICp0aGlzOwogICAgIH0KIAotICAgIEFMV0FZ
U19JTkxJTkUgaW50MzJfdCBSZWdpc3Rlcjo6aSgpIGNvbnN0CisgICAgQUxXQVlTX0lOTElORSBS
ZWdpc3RlciYgUmVnaXN0ZXI6Om9wZXJhdG9yPShTY29wZUNoYWluTm9kZSogc2NvcGVDaGFpbikK
KyAgICB7CisgICAgICAgIHUuc2NvcGVDaGFpbiA9IHNjb3BlQ2hhaW47CisgICAgICAgIHJldHVy
biAqdGhpczsKKyAgICB9CisKKyAgICBBTFdBWVNfSU5MSU5FIFJlZ2lzdGVyJiBSZWdpc3Rlcjo6
b3BlcmF0b3I9KEpTUHJvcGVydHlOYW1lSXRlcmF0b3IqIHByb3BlcnR5TmFtZUl0ZXJhdG9yKQog
ICAgIHsKLSAgICAgICAgcmV0dXJuIGpzVmFsdWUoKS5hc0ludDMyKCk7CisgICAgICAgIHUucHJv
cGVydHlOYW1lSXRlcmF0b3IgPSBwcm9wZXJ0eU5hbWVJdGVyYXRvcjsKKyAgICAgICAgcmV0dXJu
ICp0aGlzOwogICAgIH0KIAorICAgIEFMV0FZU19JTkxJTkUgaW50MzJfdCBSZWdpc3Rlcjo6aSgp
IGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gdS5pOworICAgIH0KKyAgICAKKyAgICBBTFdB
WVNfSU5MSU5FIEpTQWN0aXZhdGlvbiogUmVnaXN0ZXI6OmFjdGl2YXRpb24oKSBjb25zdAorICAg
IHsKKyAgICAgICAgcmV0dXJuIHUuYWN0aXZhdGlvbjsKKyAgICB9CisgICAgCiAgICAgQUxXQVlT
X0lOTElORSBDYWxsRnJhbWUqIFJlZ2lzdGVyOjpjYWxsRnJhbWUoKSBjb25zdAogICAgIHsKICAg
ICAgICAgcmV0dXJuIHUuY2FsbEZyYW1lOwpAQCAtMTQ5LDcgKzE4NiwyMiBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICB7CiAgICAgICAgIHJldHVybiB1LmNvZGVCbG9jazsKICAgICB9Ci0KKyAgICAK
KyAgICBBTFdBWVNfSU5MSU5FIEpTT2JqZWN0KiBSZWdpc3Rlcjo6ZnVuY3Rpb24oKSBjb25zdAor
ICAgIHsKKyAgICAgICAgcmV0dXJuIHUuZnVuY3Rpb247CisgICAgfQorICAgIAorICAgIEFMV0FZ
U19JTkxJTkUgSlNQcm9wZXJ0eU5hbWVJdGVyYXRvciogUmVnaXN0ZXI6OnByb3BlcnR5TmFtZUl0
ZXJhdG9yKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiB1LnByb3BlcnR5TmFtZUl0ZXJh
dG9yOworICAgIH0KKyAgICAKKyAgICBBTFdBWVNfSU5MSU5FIFNjb3BlQ2hhaW5Ob2RlKiBSZWdp
c3Rlcjo6c2NvcGVDaGFpbigpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gdS5zY29wZUNo
YWluOworICAgIH0KKyAgICAKICAgICBBTFdBWVNfSU5MSU5FIEluc3RydWN0aW9uKiBSZWdpc3Rl
cjo6dlBDKCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiB1LnZQQzsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVC5oCmluZGV4IGFlNjBjY2IyZDBhZjRhMGUzYmU0NjRmMTVjMDkzZWE3OTI5ZTJhYWYu
LmJlMDY1ZDA3MjM0NDRkYjlhNWZlZjY0YTEyOTdkZTM5MmJmMDczOWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVQuaApAQCAtODUzLDggKzg1Myw2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2
b2lkIGVtaXRJbml0UmVnaXN0ZXIodW5zaWduZWQgZHN0KTsKIAogICAgICAgICB2b2lkIGVtaXRQ
dXRUb0NhbGxGcmFtZUhlYWRlcihSZWdpc3RlcklEIGZyb20sIFJlZ2lzdGVyRmlsZTo6Q2FsbEZy
YW1lSGVhZGVyRW50cnkgZW50cnkpOwotICAgICAgICB2b2lkIGVtaXRQdXRDZWxsVG9DYWxsRnJh
bWVIZWFkZXIoUmVnaXN0ZXJJRCBmcm9tLCBSZWdpc3RlckZpbGU6OkNhbGxGcmFtZUhlYWRlckVu
dHJ5KTsKLSAgICAgICAgdm9pZCBlbWl0UHV0SW50VG9DYWxsRnJhbWVIZWFkZXIoUmVnaXN0ZXJJ
RCBmcm9tLCBSZWdpc3RlckZpbGU6OkNhbGxGcmFtZUhlYWRlckVudHJ5KTsKICAgICAgICAgdm9p
ZCBlbWl0UHV0SW1tZWRpYXRlVG9DYWxsRnJhbWVIZWFkZXIodm9pZCogdmFsdWUsIFJlZ2lzdGVy
RmlsZTo6Q2FsbEZyYW1lSGVhZGVyRW50cnkgZW50cnkpOwogICAgICAgICB2b2lkIGVtaXRHZXRG
cm9tQ2FsbEZyYW1lSGVhZGVyUHRyKFJlZ2lzdGVyRmlsZTo6Q2FsbEZyYW1lSGVhZGVyRW50cnkg
ZW50cnksIFJlZ2lzdGVySUQgdG8sIFJlZ2lzdGVySUQgZnJvbSA9IGNhbGxGcmFtZVJlZ2lzdGVy
KTsKICAgICAgICAgdm9pZCBlbWl0R2V0RnJvbUNhbGxGcmFtZUhlYWRlcjMyKFJlZ2lzdGVyRmls
ZTo6Q2FsbEZyYW1lSGVhZGVyRW50cnkgZW50cnksIFJlZ2lzdGVySUQgdG8sIFJlZ2lzdGVySUQg
ZnJvbSA9IGNhbGxGcmFtZVJlZ2lzdGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUQ2FsbC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENhbGwu
Y3BwCmluZGV4IDllYzRjYmNiNzZiMWIzYmZmZTQ3ODRjN2IzYzAyMjMwMDFjMmUxNGEuLjUyNGU1
NzZiN2Y2OTljMDI5NWM2YjFhNWJiNjY4MDhjODE5YWRiNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRDYWxsLmNwcApAQCAtNDgsMTEgKzQ4LDEwIEBAIG5hbWVzcGFjZSBKU0MgewogCiB2
b2lkIEpJVDo6Y29tcGlsZU9wQ2FsbEluaXRpYWxpemVDYWxsRnJhbWUoKQogewotICAgIC8vIHJl
Z1QwIGhvbGRzIGNhbGxlZSwgcmVnVDEgaG9sZHMgYXJnQ291bnQKLSAgICBsb2FkUHRyKEFkZHJl
c3MocmVnVDAsIE9CSkVDVF9PRkZTRVRPRihKU0Z1bmN0aW9uLCBtX3Njb3BlQ2hhaW4pKSwgcmVn
VDMpOyAvLyBzY29wZUNoYWluCi0gICAgZW1pdFB1dEludFRvQ2FsbEZyYW1lSGVhZGVyKHJlZ1Qx
LCBSZWdpc3RlckZpbGU6OkFyZ3VtZW50Q291bnQpOwotICAgIGVtaXRQdXRDZWxsVG9DYWxsRnJh
bWVIZWFkZXIocmVnVDAsIFJlZ2lzdGVyRmlsZTo6Q2FsbGVlKTsKLSAgICBlbWl0UHV0Q2VsbFRv
Q2FsbEZyYW1lSGVhZGVyKHJlZ1QzLCBSZWdpc3RlckZpbGU6OlNjb3BlQ2hhaW4pOworICAgIHN0
b3JlMzIocmVnVDEsIEFkZHJlc3MoY2FsbEZyYW1lUmVnaXN0ZXIsIFJlZ2lzdGVyRmlsZTo6QXJn
dW1lbnRDb3VudCAqIHN0YXRpY19jYXN0PGludD4oc2l6ZW9mKFJlZ2lzdGVyKSkpKTsKKyAgICBs
b2FkUHRyKEFkZHJlc3MocmVnVDAsIE9CSkVDVF9PRkZTRVRPRihKU0Z1bmN0aW9uLCBtX3Njb3Bl
Q2hhaW4pKSwgcmVnVDMpOyAvLyBuZXdTY29wZUNoYWluCisgICAgc3RvcmVQdHIocmVnVDAsIEFk
ZHJlc3MoY2FsbEZyYW1lUmVnaXN0ZXIsIFJlZ2lzdGVyRmlsZTo6Q2FsbGVlICogc3RhdGljX2Nh
c3Q8aW50PihzaXplb2YoUmVnaXN0ZXIpKSkpOworICAgIHN0b3JlUHRyKHJlZ1QzLCBBZGRyZXNz
KGNhbGxGcmFtZVJlZ2lzdGVyLCBSZWdpc3RlckZpbGU6OlNjb3BlQ2hhaW4gKiBzdGF0aWNfY2Fz
dDxpbnQ+KHNpemVvZihSZWdpc3RlcikpKSk7CiB9CiAKIHZvaWQgSklUOjplbWl0X29wX2NhbGxf
cHV0X3Jlc3VsdChJbnN0cnVjdGlvbiogaW5zdHJ1Y3Rpb24pCkBAIC02OCw3ICs2Nyw2IEBAIHZv
aWQgSklUOjpjb21waWxlT3BDYWxsVmFyYXJncyhJbnN0cnVjdGlvbiogaW5zdHJ1Y3Rpb24pCiAg
ICAgaW50IHJlZ2lzdGVyT2Zmc2V0ID0gaW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kOwogCiAgICAg
ZW1pdEdldFZpcnR1YWxSZWdpc3RlcihhcmdDb3VudFJlZ2lzdGVyLCByZWdUMSk7Ci0gICAgZW1p
dEZhc3RBcml0aEltbVRvSW50KHJlZ1QxKTsKICAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGNh
bGxlZSwgcmVnVDApOwogICAgIGFkZFB0cihJbW0zMihyZWdpc3Rlck9mZnNldCksIHJlZ1QxLCBy
ZWdUMik7CiAKQEAgLTIwMSw5ICsxOTksOCBAQCB2b2lkIEpJVDo6Y29tcGlsZU9wQ2FsbChPcGNv
ZGVJRCBvcGNvZGVJRCwgSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uLCB1bnNpZ25lZCBjYQogICAg
IC8vIE5vdGUgdGhhdCB0aGlzIG9taXRzIHRvIHNldCB1cCBSZWdpc3RlckZpbGU6OkNvZGVCbG9j
aywgd2hpY2ggaXMgc2V0IGluIHRoZSBjYWxsZWUKIAogICAgIGxvYWRQdHIoQWRkcmVzcyhyZWdU
MCwgT0JKRUNUX09GRlNFVE9GKEpTRnVuY3Rpb24sIG1fc2NvcGVDaGFpbikpLCByZWdUMSk7IC8v
IG5ld1Njb3BlQ2hhaW4KLSAgICAKLSAgICBzdG9yZTMyKEltbTMyKEludDMyVGFnKSwgaW50VGFn
Rm9yKHJlZ2lzdGVyT2Zmc2V0ICsgUmVnaXN0ZXJGaWxlOjpBcmd1bWVudENvdW50KSk7Ci0gICAg
c3RvcmUzMihJbW0zMihhcmdDb3VudCksIGludFBheWxvYWRGb3IocmVnaXN0ZXJPZmZzZXQgKyBS
ZWdpc3RlckZpbGU6OkFyZ3VtZW50Q291bnQpKTsKKworICAgIHN0b3JlMzIoSW1tMzIoYXJnQ291
bnQpLCBBZGRyZXNzKGNhbGxGcmFtZVJlZ2lzdGVyLCAocmVnaXN0ZXJPZmZzZXQgKyBSZWdpc3Rl
ckZpbGU6OkFyZ3VtZW50Q291bnQpICogc3RhdGljX2Nhc3Q8aW50PihzaXplb2YoUmVnaXN0ZXIp
KSkpOwogICAgIHN0b3JlUHRyKGNhbGxGcmFtZVJlZ2lzdGVyLCBBZGRyZXNzKGNhbGxGcmFtZVJl
Z2lzdGVyLCAocmVnaXN0ZXJPZmZzZXQgKyBSZWdpc3RlckZpbGU6OkNhbGxlckZyYW1lKSAqIHN0
YXRpY19jYXN0PGludD4oc2l6ZW9mKFJlZ2lzdGVyKSkpKTsKICAgICBzdG9yZVB0cihyZWdUMCwg
QWRkcmVzcyhjYWxsRnJhbWVSZWdpc3RlciwgKHJlZ2lzdGVyT2Zmc2V0ICsgUmVnaXN0ZXJGaWxl
OjpDYWxsZWUpICogc3RhdGljX2Nhc3Q8aW50PihzaXplb2YoUmVnaXN0ZXIpKSkpOwogICAgIHN0
b3JlUHRyKHJlZ1QxLCBBZGRyZXNzKGNhbGxGcmFtZVJlZ2lzdGVyLCAocmVnaXN0ZXJPZmZzZXQg
KyBSZWdpc3RlckZpbGU6OlNjb3BlQ2hhaW4pICogc3RhdGljX2Nhc3Q8aW50PihzaXplb2YoUmVn
aXN0ZXIpKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxs
MzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxsMzJfNjQuY3BwCmlu
ZGV4IDUxYjA3ZWU4ZGZmZDUyMmFjYWM4NzkwM2NjZDkyNDMwNGM3MDY0ZjEuLmFjMjMxYTlhNTJh
ZTBlZmQzNjU3YTVlZDNlZTVhZjA1M2ExNGQ3OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUQ2FsbDMyXzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVENhbGwzMl82NC5jcHAKQEAgLTQ5LDEwICs0OSwxMCBAQCBuYW1lc3BhY2UgSlNDIHsK
IHZvaWQgSklUOjpjb21waWxlT3BDYWxsSW5pdGlhbGl6ZUNhbGxGcmFtZSgpCiB7CiAgICAgLy8g
cmVnVDAgaG9sZHMgY2FsbGVlLCByZWdUMSBob2xkcyBhcmdDb3VudAorICAgIHN0b3JlMzIocmVn
VDEsIEFkZHJlc3MoY2FsbEZyYW1lUmVnaXN0ZXIsIFJlZ2lzdGVyRmlsZTo6QXJndW1lbnRDb3Vu
dCAqIHN0YXRpY19jYXN0PGludD4oc2l6ZW9mKFJlZ2lzdGVyKSkpKTsKICAgICBsb2FkUHRyKEFk
ZHJlc3MocmVnVDAsIE9CSkVDVF9PRkZTRVRPRihKU0Z1bmN0aW9uLCBtX3Njb3BlQ2hhaW4pKSwg
cmVnVDMpOyAvLyBzY29wZUNoYWluCi0gICAgZW1pdFB1dEludFRvQ2FsbEZyYW1lSGVhZGVyKHJl
Z1QxLCBSZWdpc3RlckZpbGU6OkFyZ3VtZW50Q291bnQpOwotICAgIGVtaXRQdXRDZWxsVG9DYWxs
RnJhbWVIZWFkZXIocmVnVDAsIFJlZ2lzdGVyRmlsZTo6Q2FsbGVlKTsKLSAgICBlbWl0UHV0Q2Vs
bFRvQ2FsbEZyYW1lSGVhZGVyKHJlZ1QzLCBSZWdpc3RlckZpbGU6OlNjb3BlQ2hhaW4pOworICAg
IHN0b3JlUHRyKHJlZ1QwLCBBZGRyZXNzKGNhbGxGcmFtZVJlZ2lzdGVyLCBSZWdpc3RlckZpbGU6
OkNhbGxlZSAqIHN0YXRpY19jYXN0PGludD4oc2l6ZW9mKFJlZ2lzdGVyKSkpKTsgLy8gY2FsbGVl
CisgICAgc3RvcmVQdHIocmVnVDMsIEFkZHJlc3MoY2FsbEZyYW1lUmVnaXN0ZXIsIFJlZ2lzdGVy
RmlsZTo6U2NvcGVDaGFpbiAqIHN0YXRpY19jYXN0PGludD4oc2l6ZW9mKFJlZ2lzdGVyKSkpKTsg
Ly8gc2NvcGVDaGFpbgogfQogCiB2b2lkIEpJVDo6ZW1pdF9vcF9jYWxsX3B1dF9yZXN1bHQoSW5z
dHJ1Y3Rpb24qIGluc3RydWN0aW9uKQpAQCAtNzcsOCArNzcsNyBAQCB2b2lkIEpJVDo6Y29tcGls
ZU9wQ2FsbFZhcmFyZ3MoSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uKQogICAgIC8vIFNwZWN1bGF0
aXZlbHkgcm9sbCB0aGUgY2FsbGZyYW1lLCBhc3N1bWluZyBhcmdDb3VudCB3aWxsIG1hdGNoIHRo
ZSBhcml0eS4KICAgICBtdWwzMihJbW0zMihzaXplb2YoUmVnaXN0ZXIpKSwgcmVnVDMsIHJlZ1Qz
KTsKICAgICBhZGRQdHIoY2FsbEZyYW1lUmVnaXN0ZXIsIHJlZ1QzKTsKLSAgICBzdG9yZTMyKElt
bTMyKEpTVmFsdWU6OkNlbGxUYWcpLCB0YWdGb3IoUmVnaXN0ZXJGaWxlOjpDYWxsZXJGcmFtZSwg
cmVnVDMpKTsKLSAgICBzdG9yZVB0cihjYWxsRnJhbWVSZWdpc3RlciwgcGF5bG9hZEZvcihSZWdp
c3RlckZpbGU6OkNhbGxlckZyYW1lLCByZWdUMykpOworICAgIHN0b3JlUHRyKGNhbGxGcmFtZVJl
Z2lzdGVyLCBBZGRyZXNzKHJlZ1QzLCBSZWdpc3RlckZpbGU6OkNhbGxlckZyYW1lICogc3RhdGlj
X2Nhc3Q8aW50PihzaXplb2YoUmVnaXN0ZXIpKSkpOwogICAgIG1vdmUocmVnVDMsIGNhbGxGcmFt
ZVJlZ2lzdGVyKTsKIAogICAgIG1vdmUocmVnVDIsIHJlZ1QxKTsgLy8gYXJnQ291bnQKQEAgLTIw
OSw4ICsyMDgsNyBAQCB2b2lkIEpJVDo6Y29tcGlsZU9wQ2FsbChPcGNvZGVJRCBvcGNvZGVJRCwg
SW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uLCB1bnNpZ25lZCkKICAgICBhZGRTbG93Q2FzZShicmFu
Y2hQdHIoTm90RXF1YWwsIEFkZHJlc3MocmVnVDApLCBJbW1QdHIobV9nbG9iYWxEYXRhLT5qc0Z1
bmN0aW9uVlB0cikpKTsKIAogICAgIC8vIFNwZWN1bGF0aXZlbHkgcm9sbCB0aGUgY2FsbGZyYW1l
LCBhc3N1bWluZyBhcmdDb3VudCB3aWxsIG1hdGNoIHRoZSBhcml0eS4KLSAgICBzdG9yZTMyKElt
bTMyKEpTVmFsdWU6OkNlbGxUYWcpLCB0YWdGb3IoUmVnaXN0ZXJGaWxlOjpDYWxsZXJGcmFtZSAr
IHJlZ2lzdGVyT2Zmc2V0LCBjYWxsRnJhbWVSZWdpc3RlcikpOwotICAgIHN0b3JlUHRyKGNhbGxG
cmFtZVJlZ2lzdGVyLCBwYXlsb2FkRm9yKFJlZ2lzdGVyRmlsZTo6Q2FsbGVyRnJhbWUgKyByZWdp
c3Rlck9mZnNldCwgY2FsbEZyYW1lUmVnaXN0ZXIpKTsKKyAgICBzdG9yZVB0cihjYWxsRnJhbWVS
ZWdpc3RlciwgQWRkcmVzcyhjYWxsRnJhbWVSZWdpc3RlciwgKFJlZ2lzdGVyRmlsZTo6Q2FsbGVy
RnJhbWUgKyByZWdpc3Rlck9mZnNldCkgKiBzdGF0aWNfY2FzdDxpbnQ+KHNpemVvZihSZWdpc3Rl
cikpKSk7CiAgICAgYWRkUHRyKEltbTMyKHJlZ2lzdGVyT2Zmc2V0ICogc3RhdGljX2Nhc3Q8aW50
PihzaXplb2YoUmVnaXN0ZXIpKSksIGNhbGxGcmFtZVJlZ2lzdGVyKTsKICAgICBtb3ZlKEltbTMy
KGFyZ0NvdW50KSwgcmVnVDEpOwogCkBAIC0yODIsMTIgKzI4MCwxMCBAQCB2b2lkIEpJVDo6Y29t
cGlsZU9wQ2FsbChPcGNvZGVJRCBvcGNvZGVJRCwgSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uLCB1
bnNpZ25lZCBjYQogICAgIC8vIE5vdGUgdGhhdCB0aGlzIG9taXRzIHRvIHNldCB1cCBSZWdpc3Rl
ckZpbGU6OkNvZGVCbG9jaywgd2hpY2ggaXMgc2V0IGluIHRoZSBjYWxsZWUKICAgICBsb2FkUHRy
KEFkZHJlc3MocmVnVDAsIE9CSkVDVF9PRkZTRVRPRihKU0Z1bmN0aW9uLCBtX3Njb3BlQ2hhaW4p
KSwgcmVnVDIpOwogCi0gICAgc3RvcmUzMihJbW0zMihKU1ZhbHVlOjpJbnQzMlRhZyksIHRhZ0Zv
cihyZWdpc3Rlck9mZnNldCArIFJlZ2lzdGVyRmlsZTo6QXJndW1lbnRDb3VudCkpOwotICAgIHN0
b3JlMzIoSW1tMzIoYXJnQ291bnQpLCBwYXlsb2FkRm9yKHJlZ2lzdGVyT2Zmc2V0ICsgUmVnaXN0
ZXJGaWxlOjpBcmd1bWVudENvdW50KSk7Ci0gICAgc3RvcmVQdHIoY2FsbEZyYW1lUmVnaXN0ZXIs
IHBheWxvYWRGb3IoUmVnaXN0ZXJGaWxlOjpDYWxsZXJGcmFtZSArIHJlZ2lzdGVyT2Zmc2V0LCBj
YWxsRnJhbWVSZWdpc3RlcikpOworICAgIHN0b3JlMzIoSW1tMzIoYXJnQ291bnQpLCBBZGRyZXNz
KGNhbGxGcmFtZVJlZ2lzdGVyLCAocmVnaXN0ZXJPZmZzZXQgKyBSZWdpc3RlckZpbGU6OkFyZ3Vt
ZW50Q291bnQpICogc3RhdGljX2Nhc3Q8aW50PihzaXplb2YoUmVnaXN0ZXIpKSkpOworICAgIHN0
b3JlUHRyKGNhbGxGcmFtZVJlZ2lzdGVyLCBBZGRyZXNzKGNhbGxGcmFtZVJlZ2lzdGVyLCAocmVn
aXN0ZXJPZmZzZXQgKyBSZWdpc3RlckZpbGU6OkNhbGxlckZyYW1lKSAqIHN0YXRpY19jYXN0PGlu
dD4oc2l6ZW9mKFJlZ2lzdGVyKSkpKTsKICAgICBlbWl0U3RvcmUocmVnaXN0ZXJPZmZzZXQgKyBS
ZWdpc3RlckZpbGU6OkNhbGxlZSwgcmVnVDEsIHJlZ1QwKTsKLSAgICBzdG9yZTMyKEltbTMyKEpT
VmFsdWU6OkNlbGxUYWcpLCB0YWdGb3IocmVnaXN0ZXJPZmZzZXQgKyBSZWdpc3RlckZpbGU6OlNj
b3BlQ2hhaW4pKTsKLSAgICBzdG9yZTMyKHJlZ1QyLCBwYXlsb2FkRm9yKHJlZ2lzdGVyT2Zmc2V0
ICsgUmVnaXN0ZXJGaWxlOjpTY29wZUNoYWluKSk7CisgICAgc3RvcmVQdHIocmVnVDIsIEFkZHJl
c3MoY2FsbEZyYW1lUmVnaXN0ZXIsIChyZWdpc3Rlck9mZnNldCArIFJlZ2lzdGVyRmlsZTo6U2Nv
cGVDaGFpbikgKiBzdGF0aWNfY2FzdDxpbnQ+KHNpemVvZihSZWdpc3RlcikpKSk7CiAgICAgYWRk
UHRyKEltbTMyKHJlZ2lzdGVyT2Zmc2V0ICogc2l6ZW9mKFJlZ2lzdGVyKSksIGNhbGxGcmFtZVJl
Z2lzdGVyKTsKIAogICAgIC8vIENhbGwgdG8gdGhlIGNhbGxlZQpAQCAtMzEzLDggKzMwOSw3IEBA
IHZvaWQgSklUOjpjb21waWxlT3BDYWxsU2xvd0Nhc2UoSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9u
LCBWZWN0b3I8U2xvd0Nhc2VFbnRyeT46CiAgICAgSnVtcCBjYWxsTGlua0ZhaWxOb3RKU0Z1bmN0
aW9uID0gYnJhbmNoUHRyKE5vdEVxdWFsLCBBZGRyZXNzKHJlZ1QwKSwgSW1tUHRyKG1fZ2xvYmFs
RGF0YS0+anNGdW5jdGlvblZQdHIpKTsKIAogICAgIC8vIFNwZWN1bGF0aXZlbHkgcm9sbCB0aGUg
Y2FsbGZyYW1lLCBhc3N1bWluZyBhcmdDb3VudCB3aWxsIG1hdGNoIHRoZSBhcml0eS4KLSAgICBz
dG9yZTMyKEltbTMyKEpTVmFsdWU6OkNlbGxUYWcpLCB0YWdGb3IoUmVnaXN0ZXJGaWxlOjpDYWxs
ZXJGcmFtZSArIHJlZ2lzdGVyT2Zmc2V0LCBjYWxsRnJhbWVSZWdpc3RlcikpOwotICAgIHN0b3Jl
UHRyKGNhbGxGcmFtZVJlZ2lzdGVyLCBwYXlsb2FkRm9yKFJlZ2lzdGVyRmlsZTo6Q2FsbGVyRnJh
bWUgKyByZWdpc3Rlck9mZnNldCwgY2FsbEZyYW1lUmVnaXN0ZXIpKTsKKyAgICBzdG9yZVB0cihj
YWxsRnJhbWVSZWdpc3RlciwgQWRkcmVzcyhjYWxsRnJhbWVSZWdpc3RlciwgKFJlZ2lzdGVyRmls
ZTo6Q2FsbGVyRnJhbWUgKyByZWdpc3Rlck9mZnNldCkgKiBzdGF0aWNfY2FzdDxpbnQ+KHNpemVv
ZihSZWdpc3RlcikpKSk7CiAgICAgYWRkUHRyKEltbTMyKHJlZ2lzdGVyT2Zmc2V0ICogc3RhdGlj
X2Nhc3Q8aW50PihzaXplb2YoUmVnaXN0ZXIpKSksIGNhbGxGcmFtZVJlZ2lzdGVyKTsKICAgICBt
b3ZlKEltbTMyKGFyZ0NvdW50KSwgcmVnVDEpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVElubGluZU1ldGhvZHMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUSW5saW5lTWV0aG9kcy5oCmluZGV4IDcxMzc0NjBmYzM2NzdlMWFkNmE3NTRlODJhN2Jm
MjkzMjc2ZDJjZmUuLjIwY2ZlNGMwZTFmYjBiNjhmNTBhOWJmNjVkM2Y0NmRhMWI2MzA3OTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lTWV0aG9kcy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lTWV0aG9kcy5oCkBAIC01Miwy
MSArNTIsNyBAQCBBTFdBWVNfSU5MSU5FIEpTVmFsdWUgSklUOjpnZXRDb25zdGFudE9wZXJhbmQo
dW5zaWduZWQgc3JjKQogCiBBTFdBWVNfSU5MSU5FIHZvaWQgSklUOjplbWl0UHV0VG9DYWxsRnJh
bWVIZWFkZXIoUmVnaXN0ZXJJRCBmcm9tLCBSZWdpc3RlckZpbGU6OkNhbGxGcmFtZUhlYWRlckVu
dHJ5IGVudHJ5KQogewotICAgIHN0b3JlUHRyKGZyb20sIHBheWxvYWRGb3IoZW50cnksIGNhbGxG
cmFtZVJlZ2lzdGVyKSk7Ci19Ci0KLUFMV0FZU19JTkxJTkUgdm9pZCBKSVQ6OmVtaXRQdXRDZWxs
VG9DYWxsRnJhbWVIZWFkZXIoUmVnaXN0ZXJJRCBmcm9tLCBSZWdpc3RlckZpbGU6OkNhbGxGcmFt
ZUhlYWRlckVudHJ5IGVudHJ5KQotewotI2lmIFVTRShKU1ZBTFVFMzJfNjQpCi0gICAgc3RvcmUz
MihJbW0zMihKU1ZhbHVlOjpDZWxsVGFnKSwgdGFnRm9yKGVudHJ5LCBjYWxsRnJhbWVSZWdpc3Rl
cikpOwotI2VuZGlmCi0gICAgc3RvcmVQdHIoZnJvbSwgcGF5bG9hZEZvcihlbnRyeSwgY2FsbEZy
YW1lUmVnaXN0ZXIpKTsKLX0KLQotQUxXQVlTX0lOTElORSB2b2lkIEpJVDo6ZW1pdFB1dEludFRv
Q2FsbEZyYW1lSGVhZGVyKFJlZ2lzdGVySUQgZnJvbSwgUmVnaXN0ZXJGaWxlOjpDYWxsRnJhbWVI
ZWFkZXJFbnRyeSBlbnRyeSkKLXsKLSAgICBzdG9yZTMyKEltbTMyKEludDMyVGFnKSwgaW50VGFn
Rm9yKGVudHJ5LCBjYWxsRnJhbWVSZWdpc3RlcikpOwotICAgIHN0b3JlMzIoZnJvbSwgaW50UGF5
bG9hZEZvcihlbnRyeSwgY2FsbEZyYW1lUmVnaXN0ZXIpKTsKKyAgICBzdG9yZVB0cihmcm9tLCBB
ZGRyZXNzKGNhbGxGcmFtZVJlZ2lzdGVyLCBlbnRyeSAqIHNpemVvZihSZWdpc3RlcikpKTsKIH0K
IAogQUxXQVlTX0lOTElORSB2b2lkIEpJVDo6ZW1pdFB1dEltbWVkaWF0ZVRvQ2FsbEZyYW1lSGVh
ZGVyKHZvaWQqIHZhbHVlLCBSZWdpc3RlckZpbGU6OkNhbGxGcmFtZUhlYWRlckVudHJ5IGVudHJ5
KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKaW5kZXggM2ViNzFhY2Nj
OGU5Yzg3ZmNhZGM2MGUwMWM4MzI2Zjk3MTRkZWFkZi4uZjdlZmI1OWJjNWM1M2Y1NTA4MjVkMTY5
YjhiNzhhYjMxYmFhOWQ1OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRPcGNvZGVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMu
Y3BwCkBAIC0xOTksNyArMTk5LDcgQEAgSklUOjpMYWJlbCBKSVQ6OnByaXZhdGVDb21waWxlQ1RJ
TmF0aXZlQ2FsbChKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEsIGJvb2wgaXNDb24KICAgICAvLyBn
ZXQgdG8gaXRzIGdsb2JhbCBkYXRhLgogICAgIGVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVhZGVyUHRy
KFJlZ2lzdGVyRmlsZTo6Q2FsbGVyRnJhbWUsIHJlZ1QwKTsKICAgICBlbWl0R2V0RnJvbUNhbGxG
cmFtZUhlYWRlclB0cihSZWdpc3RlckZpbGU6OlNjb3BlQ2hhaW4sIHJlZ1QxLCByZWdUMCk7Ci0g
ICAgZW1pdFB1dENlbGxUb0NhbGxGcmFtZUhlYWRlcihyZWdUMSwgUmVnaXN0ZXJGaWxlOjpTY29w
ZUNoYWluKTsKKyAgICBlbWl0UHV0VG9DYWxsRnJhbWVIZWFkZXIocmVnVDEsIFJlZ2lzdGVyRmls
ZTo6U2NvcGVDaGFpbik7CiAKICAgICBwZWVrKHJlZ1QxKTsKICAgICBlbWl0UHV0VG9DYWxsRnJh
bWVIZWFkZXIocmVnVDEsIFJlZ2lzdGVyRmlsZTo6UmV0dXJuUEMpOwpAQCAtMjIyLDcgKzIyMiw3
IEBAIEpJVDo6TGFiZWwgSklUOjpwcml2YXRlQ29tcGlsZUNUSU5hdGl2ZUNhbGwoSlNHbG9iYWxE
YXRhKiBnbG9iYWxEYXRhLCBib29sIGlzQ29uCiAgICAgLy8gZ2V0IHRvIGl0cyBnbG9iYWwgZGF0
YS4KICAgICBlbWl0R2V0RnJvbUNhbGxGcmFtZUhlYWRlclB0cihSZWdpc3RlckZpbGU6OkNhbGxl
ckZyYW1lLCByZWdUMik7CiAgICAgZW1pdEdldEZyb21DYWxsRnJhbWVIZWFkZXJQdHIoUmVnaXN0
ZXJGaWxlOjpTY29wZUNoYWluLCByZWdUMSwgcmVnVDIpOwotICAgIGVtaXRQdXRDZWxsVG9DYWxs
RnJhbWVIZWFkZXIocmVnVDEsIFJlZ2lzdGVyRmlsZTo6U2NvcGVDaGFpbik7CisgICAgZW1pdFB1
dFRvQ2FsbEZyYW1lSGVhZGVyKHJlZ1QxLCBSZWdpc3RlckZpbGU6OlNjb3BlQ2hhaW4pOwogCiAg
ICAgcHJlc2VydmVSZXR1cm5BZGRyZXNzQWZ0ZXJDYWxsKHJlZ1QzKTsgLy8gQ2FsbGVlIHByZXNl
cnZlZAogICAgIGVtaXRQdXRUb0NhbGxGcmFtZUhlYWRlcihyZWdUMywgUmVnaXN0ZXJGaWxlOjpS
ZXR1cm5QQyk7CkBAIC0yNDMsNyArMjQzLDcgQEAgSklUOjpMYWJlbCBKSVQ6OnByaXZhdGVDb21w
aWxlQ1RJTmF0aXZlQ2FsbChKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEsIGJvb2wgaXNDb24KICAg
ICAvLyBnZXQgdG8gaXRzIGdsb2JhbCBkYXRhLgogICAgIGVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVh
ZGVyUHRyKFJlZ2lzdGVyRmlsZTo6Q2FsbGVyRnJhbWUsIHJlZ1QwKTsKICAgICBlbWl0R2V0RnJv
bUNhbGxGcmFtZUhlYWRlclB0cihSZWdpc3RlckZpbGU6OlNjb3BlQ2hhaW4sIHJlZ1QxLCByZWdU
MCk7Ci0gICAgZW1pdFB1dENlbGxUb0NhbGxGcmFtZUhlYWRlcihyZWdUMSwgUmVnaXN0ZXJGaWxl
OjpTY29wZUNoYWluKTsKKyAgICBlbWl0UHV0VG9DYWxsRnJhbWVIZWFkZXIocmVnVDEsIFJlZ2lz
dGVyRmlsZTo6U2NvcGVDaGFpbik7CiAKICAgICBwcmVzZXJ2ZVJldHVybkFkZHJlc3NBZnRlckNh
bGwocmVnVDMpOyAvLyBDYWxsZWUgcHJlc2VydmVkCiAgICAgZW1pdFB1dFRvQ2FsbEZyYW1lSGVh
ZGVyKHJlZ1QzLCBSZWdpc3RlckZpbGU6OlJldHVyblBDKTsKQEAgLTkwMiw5ICs5MDIsOCBAQCB2
b2lkIEpJVDo6ZW1pdF9vcF9nZXRfcG5hbWVzKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rp
b24pCiAgICAgZ2V0UG5hbWVzU3R1YkNhbGwuYWRkQXJndW1lbnQocmVnVDApOwogICAgIGdldFBu
YW1lc1N0dWJDYWxsLmNhbGwoZHN0KTsKICAgICBsb2FkMzIoQWRkcmVzcyhyZWdUMCwgT0JKRUNU
X09GRlNFVE9GKEpTUHJvcGVydHlOYW1lSXRlcmF0b3IsIG1fanNTdHJpbmdzU2l6ZSkpLCByZWdU
Myk7Ci0gICAgc3RvcmVQdHIodGFnVHlwZU51bWJlclJlZ2lzdGVyLCBwYXlsb2FkRm9yKGkpKTsK
LSAgICBzdG9yZTMyKEltbTMyKEludDMyVGFnKSwgaW50VGFnRm9yKHNpemUpKTsKLSAgICBzdG9y
ZTMyKHJlZ1QzLCBpbnRQYXlsb2FkRm9yKHNpemUpKTsKKyAgICBzdG9yZTMyKEltbTMyKDApLCBh
ZGRyZXNzRm9yKGkpKTsKKyAgICBzdG9yZTMyKHJlZ1QzLCBhZGRyZXNzRm9yKHNpemUpKTsKICAg
ICBKdW1wIGVuZCA9IGp1bXAoKTsKIAogICAgIGlzTm90T2JqZWN0LmxpbmsodGhpcyk7CkBAIC05
MzIsOCArOTMxLDggQEAgdm9pZCBKSVQ6OmVtaXRfb3BfbmV4dF9wbmFtZShJbnN0cnVjdGlvbiog
Y3VycmVudEluc3RydWN0aW9uKQogICAgIEp1bXBMaXN0IGNhbGxIYXNQcm9wZXJ0eTsKIAogICAg
IExhYmVsIGJlZ2luKHRoaXMpOwotICAgIGxvYWQzMihpbnRQYXlsb2FkRm9yKGkpLCByZWdUMCk7
Ci0gICAgSnVtcCBlbmQgPSBicmFuY2gzMihFcXVhbCwgcmVnVDAsIGludFBheWxvYWRGb3Ioc2l6
ZSkpOworICAgIGxvYWQzMihhZGRyZXNzRm9yKGkpLCByZWdUMCk7CisgICAgSnVtcCBlbmQgPSBi
cmFuY2gzMihFcXVhbCwgcmVnVDAsIGFkZHJlc3NGb3Ioc2l6ZSkpOwogCiAgICAgLy8gR3JhYiBr
ZXkgQCBpCiAgICAgbG9hZFB0cihhZGRyZXNzRm9yKGl0KSwgcmVnVDEpOwpAQCAtOTQ1LDcgKzk0
NCw3IEBAIHZvaWQgSklUOjplbWl0X29wX25leHRfcG5hbWUoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJ
bnN0cnVjdGlvbikKIAogICAgIC8vIEluY3JlbWVudCBpCiAgICAgYWRkMzIoSW1tMzIoMSksIHJl
Z1QwKTsKLSAgICBzdG9yZTMyKHJlZ1QwLCBpbnRQYXlsb2FkRm9yKGkpKTsKKyAgICBzdG9yZTMy
KHJlZ1QwLCBhZGRyZXNzRm9yKGkpKTsKIAogICAgIC8vIFZlcmlmeSB0aGF0IGkgaXMgdmFsaWQ6
CiAgICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihiYXNlLCByZWdUMCk7CkBAIC0xNjkwLDggKzE2
ODksNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9sb2FkX3ZhcmFyZ3MoSW5zdHJ1Y3Rpb24qIGN1cnJl
bnRJbnN0cnVjdGlvbikKICNlbmRpZgogICAgIC8vIExvYWQgYXJnIGNvdW50IGludG8gcmVnVDAK
ICAgICBlbWl0R2V0RnJvbUNhbGxGcmFtZUhlYWRlcjMyKFJlZ2lzdGVyRmlsZTo6QXJndW1lbnRD
b3VudCwgcmVnVDApOwotICAgIHN0b3JlMzIoSW1tMzIoSW50MzJUYWcpLCBpbnRUYWdGb3IoYXJn
Q291bnREc3QpKTsKLSAgICBzdG9yZTMyKHJlZ1QwLCBpbnRQYXlsb2FkRm9yKGFyZ0NvdW50RHN0
KSk7CisgICAgc3RvcmVQdHIocmVnVDAsIGFkZHJlc3NGb3IoYXJnQ291bnREc3QpKTsKICAgICBK
dW1wIGVuZEJyYW5jaCA9IGJyYW5jaDMyKEVxdWFsLCByZWdUMCwgSW1tMzIoMSkpOwogCiAgICAg
bXVsMzIoSW1tMzIoc2l6ZW9mKFJlZ2lzdGVyKSksIHJlZ1QwLCByZWdUMyk7CkBAIC0xNzI5LDkg
KzE3MjcsOCBAQCB2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfbG9hZF92YXJhcmdzKEluc3RydWN0aW9u
KiBjdXJyZW50SW5zdHJ1Y3Rpb24sIFZlY3RvcjxTbG93QwogICAgIEpJVFN0dWJDYWxsIHN0dWJD
YWxsKHRoaXMsIGN0aV9vcF9sb2FkX3ZhcmFyZ3MpOwogICAgIHN0dWJDYWxsLmFkZEFyZ3VtZW50
KEltbTMyKGFyZ3NPZmZzZXQpKTsKICAgICBzdHViQ2FsbC5jYWxsKCk7Ci0gICAgCi0gICAgc3Rv
cmUzMihJbW0zMihJbnQzMlRhZyksIGludFRhZ0ZvcihhcmdDb3VudERzdCkpOwotICAgIHN0b3Jl
MzIocmV0dXJuVmFsdWVSZWdpc3RlciwgaW50UGF5bG9hZEZvcihhcmdDb3VudERzdCkpOworICAg
IC8vIFN0b3JlcyBhIG5ha2VkIGludDMyIGluIHRoZSByZWdpc3RlciBmaWxlLgorICAgIHN0b3Jl
MzIocmV0dXJuVmFsdWVSZWdpc3RlciwgQWRkcmVzcyhjYWxsRnJhbWVSZWdpc3RlciwgYXJnQ291
bnREc3QgKiBzaXplb2YoUmVnaXN0ZXIpKSk7CiB9CiAKIHZvaWQgSklUOjplbWl0X29wX25ld19m
dW5jKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAKaW5kZXggYTMyMjdlNTZiNWE2ZmIwM2FmOTcz
MDk2YzdjOGU5MzU0ZTY2ODk2OS4uN2QzNjk3ZTIyM2Q0NTE4ZWIyNmY5NjFmYTIyYTQ5ZmJlZTIz
YzY3MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzMzJf
NjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNw
cApAQCAtMjA1LDcgKzIwNSw3IEBAIEpJVDo6TGFiZWwgSklUOjpwcml2YXRlQ29tcGlsZUNUSU5h
dGl2ZUNhbGwoSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBib29sIGlzQ29uCiAgICAgLy8gZ2V0
IHRvIGl0cyBnbG9iYWwgZGF0YS4KICAgICBlbWl0R2V0RnJvbUNhbGxGcmFtZUhlYWRlclB0cihS
ZWdpc3RlckZpbGU6OkNhbGxlckZyYW1lLCByZWdUMCk7CiAgICAgZW1pdEdldEZyb21DYWxsRnJh
bWVIZWFkZXJQdHIoUmVnaXN0ZXJGaWxlOjpTY29wZUNoYWluLCByZWdUMSwgcmVnVDApOwotICAg
IGVtaXRQdXRDZWxsVG9DYWxsRnJhbWVIZWFkZXIocmVnVDEsIFJlZ2lzdGVyRmlsZTo6U2NvcGVD
aGFpbik7CisgICAgZW1pdFB1dFRvQ2FsbEZyYW1lSGVhZGVyKHJlZ1QxLCBSZWdpc3RlckZpbGU6
OlNjb3BlQ2hhaW4pOwogCiAgICAgcGVlayhyZWdUMSk7CiAgICAgZW1pdFB1dFRvQ2FsbEZyYW1l
SGVhZGVyKHJlZ1QxLCBSZWdpc3RlckZpbGU6OlJldHVyblBDKTsKQEAgLTIyOSw3ICsyMjksNyBA
QCBKSVQ6OkxhYmVsIEpJVDo6cHJpdmF0ZUNvbXBpbGVDVElOYXRpdmVDYWxsKEpTR2xvYmFsRGF0
YSogZ2xvYmFsRGF0YSwgYm9vbCBpc0NvbgogICAgIC8vIGdldCB0byBpdHMgZ2xvYmFsIGRhdGEu
CiAgICAgZW1pdEdldEZyb21DYWxsRnJhbWVIZWFkZXJQdHIoUmVnaXN0ZXJGaWxlOjpDYWxsZXJG
cmFtZSwgcmVnVDIpOwogICAgIGVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKFJlZ2lzdGVy
RmlsZTo6U2NvcGVDaGFpbiwgcmVnVDEsIHJlZ1QyKTsKLSAgICBlbWl0UHV0Q2VsbFRvQ2FsbEZy
YW1lSGVhZGVyKHJlZ1QxLCBSZWdpc3RlckZpbGU6OlNjb3BlQ2hhaW4pOworICAgIGVtaXRQdXRU
b0NhbGxGcmFtZUhlYWRlcihyZWdUMSwgUmVnaXN0ZXJGaWxlOjpTY29wZUNoYWluKTsKIAogICAg
IHByZXNlcnZlUmV0dXJuQWRkcmVzc0FmdGVyQ2FsbChyZWdUMyk7IC8vIENhbGxlZSBwcmVzZXJ2
ZWQKICAgICBlbWl0UHV0VG9DYWxsRnJhbWVIZWFkZXIocmVnVDMsIFJlZ2lzdGVyRmlsZTo6UmV0
dXJuUEMpOwpAQCAtMjUxLDcgKzI1MSw3IEBAIEpJVDo6TGFiZWwgSklUOjpwcml2YXRlQ29tcGls
ZUNUSU5hdGl2ZUNhbGwoSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBib29sIGlzQ29uCiAgICAg
Ly8gZ2V0IHRvIGl0cyBnbG9iYWwgZGF0YS4KICAgICBlbWl0R2V0RnJvbUNhbGxGcmFtZUhlYWRl
clB0cihSZWdpc3RlckZpbGU6OkNhbGxlckZyYW1lLCByZWdUMCk7CiAgICAgZW1pdEdldEZyb21D
YWxsRnJhbWVIZWFkZXJQdHIoUmVnaXN0ZXJGaWxlOjpTY29wZUNoYWluLCByZWdUMSwgcmVnVDAp
OwotICAgIGVtaXRQdXRDZWxsVG9DYWxsRnJhbWVIZWFkZXIocmVnVDEsIFJlZ2lzdGVyRmlsZTo6
U2NvcGVDaGFpbik7CisgICAgZW1pdFB1dFRvQ2FsbEZyYW1lSGVhZGVyKHJlZ1QxLCBSZWdpc3Rl
ckZpbGU6OlNjb3BlQ2hhaW4pOwogCiAgICAgcHJlc2VydmVSZXR1cm5BZGRyZXNzQWZ0ZXJDYWxs
KHJlZ1QzKTsgLy8gQ2FsbGVlIHByZXNlcnZlZAogICAgIGVtaXRQdXRUb0NhbGxGcmFtZUhlYWRl
cihyZWdUMywgUmVnaXN0ZXJGaWxlOjpSZXR1cm5QQyk7CkBAIC0zMjEsNyArMzIxLDcgQEAgSklU
OjpDb2RlUHRyIEpJVDo6cHJpdmF0ZUNvbXBpbGVDVElOYXRpdmVDYWxsKFBhc3NSZWZQdHI8RXhl
Y3V0YWJsZVBvb2w+IGV4ZWN1dGEKICAgICAvLyBnZXQgdG8gaXRzIGdsb2JhbCBkYXRhLgogICAg
IGVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKFJlZ2lzdGVyRmlsZTo6Q2FsbGVyRnJhbWUs
IHJlZ1QwKTsKICAgICBlbWl0R2V0RnJvbUNhbGxGcmFtZUhlYWRlclB0cihSZWdpc3RlckZpbGU6
OlNjb3BlQ2hhaW4sIHJlZ1QxLCByZWdUMCk7Ci0gICAgZW1pdFB1dENlbGxUb0NhbGxGcmFtZUhl
YWRlcihyZWdUMSwgUmVnaXN0ZXJGaWxlOjpTY29wZUNoYWluKTsKKyAgICBlbWl0UHV0VG9DYWxs
RnJhbWVIZWFkZXIocmVnVDEsIFJlZ2lzdGVyRmlsZTo6U2NvcGVDaGFpbik7CiAKICAgICBwZWVr
KHJlZ1QxKTsKICAgICBlbWl0UHV0VG9DYWxsRnJhbWVIZWFkZXIocmVnVDEsIFJlZ2lzdGVyRmls
ZTo6UmV0dXJuUEMpOwpAQCAtMzQ0LDcgKzM0NCw3IEBAIEpJVDo6Q29kZVB0ciBKSVQ6OnByaXZh
dGVDb21waWxlQ1RJTmF0aXZlQ2FsbChQYXNzUmVmUHRyPEV4ZWN1dGFibGVQb29sPiBleGVjdXRh
CiAgICAgLy8gZ2V0IHRvIGl0cyBnbG9iYWwgZGF0YS4KICAgICBlbWl0R2V0RnJvbUNhbGxGcmFt
ZUhlYWRlclB0cihSZWdpc3RlckZpbGU6OkNhbGxlckZyYW1lLCByZWdUMik7CiAgICAgZW1pdEdl
dEZyb21DYWxsRnJhbWVIZWFkZXJQdHIoUmVnaXN0ZXJGaWxlOjpTY29wZUNoYWluLCByZWdUMSwg
cmVnVDIpOwotICAgIGVtaXRQdXRDZWxsVG9DYWxsRnJhbWVIZWFkZXIocmVnVDEsIFJlZ2lzdGVy
RmlsZTo6U2NvcGVDaGFpbik7CisgICAgZW1pdFB1dFRvQ2FsbEZyYW1lSGVhZGVyKHJlZ1QxLCBS
ZWdpc3RlckZpbGU6OlNjb3BlQ2hhaW4pOwogCiAgICAgcHJlc2VydmVSZXR1cm5BZGRyZXNzQWZ0
ZXJDYWxsKHJlZ1QzKTsgLy8gQ2FsbGVlIHByZXNlcnZlZAogICAgIGVtaXRQdXRUb0NhbGxGcmFt
ZUhlYWRlcihyZWdUMywgUmVnaXN0ZXJGaWxlOjpSZXR1cm5QQyk7CkBAIC0zNjcsNyArMzY3LDcg
QEAgSklUOjpDb2RlUHRyIEpJVDo6cHJpdmF0ZUNvbXBpbGVDVElOYXRpdmVDYWxsKFBhc3NSZWZQ
dHI8RXhlY3V0YWJsZVBvb2w+IGV4ZWN1dGEKICAgICAvLyBnZXQgdG8gaXRzIGdsb2JhbCBkYXRh
LgogICAgIGVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKFJlZ2lzdGVyRmlsZTo6Q2FsbGVy
RnJhbWUsIHJlZ1QwKTsKICAgICBlbWl0R2V0RnJvbUNhbGxGcmFtZUhlYWRlclB0cihSZWdpc3Rl
ckZpbGU6OlNjb3BlQ2hhaW4sIHJlZ1QxLCByZWdUMCk7Ci0gICAgZW1pdFB1dENlbGxUb0NhbGxG
cmFtZUhlYWRlcihyZWdUMSwgUmVnaXN0ZXJGaWxlOjpTY29wZUNoYWluKTsKKyAgICBlbWl0UHV0
VG9DYWxsRnJhbWVIZWFkZXIocmVnVDEsIFJlZ2lzdGVyRmlsZTo6U2NvcGVDaGFpbik7CiAKICAg
ICBwcmVzZXJ2ZVJldHVybkFkZHJlc3NBZnRlckNhbGwocmVnVDMpOyAvLyBDYWxsZWUgcHJlc2Vy
dmVkCiAgICAgZW1pdFB1dFRvQ2FsbEZyYW1lSGVhZGVyKHJlZ1QzLCBSZWdpc3RlckZpbGU6OlJl
dHVyblBDKTsKQEAgLTEyNzYsMTAgKzEyNzYsOCBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9nZXRfcG5h
bWVzKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgZ2V0UG5hbWVzU3R1YkNh
bGwuYWRkQXJndW1lbnQocmVnVDApOwogICAgIGdldFBuYW1lc1N0dWJDYWxsLmNhbGwoZHN0KTsK
ICAgICBsb2FkMzIoQWRkcmVzcyhyZWdUMCwgT0JKRUNUX09GRlNFVE9GKEpTUHJvcGVydHlOYW1l
SXRlcmF0b3IsIG1fanNTdHJpbmdzU2l6ZSkpLCByZWdUMyk7Ci0gICAgc3RvcmUzMihJbW0zMihJ
bnQzMlRhZyksIGludFRhZ0ZvcihpKSk7Ci0gICAgc3RvcmUzMihJbW0zMigwKSwgaW50UGF5bG9h
ZEZvcihpKSk7Ci0gICAgc3RvcmUzMihJbW0zMihJbnQzMlRhZyksIGludFRhZ0ZvcihzaXplKSk7
Ci0gICAgc3RvcmUzMihyZWdUMywgcGF5bG9hZEZvcihzaXplKSk7CisgICAgc3RvcmUzMihJbW0z
MigwKSwgYWRkcmVzc0ZvcihpKSk7CisgICAgc3RvcmUzMihyZWdUMywgYWRkcmVzc0ZvcihzaXpl
KSk7CiAgICAgSnVtcCBlbmQgPSBqdW1wKCk7CiAKICAgICBpc05vdE9iamVjdC5saW5rKHRoaXMp
OwpAQCAtMTMwNSwxMSArMTMwMywxMSBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9uZXh0X3BuYW1lKElu
c3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgSnVtcExpc3QgY2FsbEhhc1Byb3Bl
cnR5OwogCiAgICAgTGFiZWwgYmVnaW4odGhpcyk7Ci0gICAgbG9hZDMyKGludFBheWxvYWRGb3Io
aSksIHJlZ1QwKTsKLSAgICBKdW1wIGVuZCA9IGJyYW5jaDMyKEVxdWFsLCByZWdUMCwgaW50UGF5
bG9hZEZvcihzaXplKSk7CisgICAgbG9hZDMyKGFkZHJlc3NGb3IoaSksIHJlZ1QwKTsKKyAgICBK
dW1wIGVuZCA9IGJyYW5jaDMyKEVxdWFsLCByZWdUMCwgYWRkcmVzc0ZvcihzaXplKSk7CiAKICAg
ICAvLyBHcmFiIGtleSBAIGkKLSAgICBsb2FkUHRyKHBheWxvYWRGb3IoaXQpLCByZWdUMSk7Cisg
ICAgbG9hZFB0cihhZGRyZXNzRm9yKGl0KSwgcmVnVDEpOwogICAgIGxvYWRQdHIoQWRkcmVzcyhy
ZWdUMSwgT0JKRUNUX09GRlNFVE9GKEpTUHJvcGVydHlOYW1lSXRlcmF0b3IsIG1fanNTdHJpbmdz
KSksIHJlZ1QyKTsKICAgICBsb2FkMzIoQmFzZUluZGV4KHJlZ1QyLCByZWdUMCwgVGltZXNFaWdo
dCksIHJlZ1QyKTsKICAgICBzdG9yZTMyKEltbTMyKEpTVmFsdWU6OkNlbGxUYWcpLCB0YWdGb3Io
ZHN0KSk7CkBAIC0xMzE3LDEwICsxMzE1LDEwIEBAIHZvaWQgSklUOjplbWl0X29wX25leHRfcG5h
bWUoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKIAogICAgIC8vIEluY3JlbWVudCBp
CiAgICAgYWRkMzIoSW1tMzIoMSksIHJlZ1QwKTsKLSAgICBzdG9yZTMyKHJlZ1QwLCBpbnRQYXls
b2FkRm9yKGkpKTsKKyAgICBzdG9yZTMyKHJlZ1QwLCBhZGRyZXNzRm9yKGkpKTsKIAogICAgIC8v
IFZlcmlmeSB0aGF0IGkgaXMgdmFsaWQ6Ci0gICAgbG9hZFB0cihwYXlsb2FkRm9yKGJhc2UpLCBy
ZWdUMCk7CisgICAgbG9hZFB0cihhZGRyZXNzRm9yKGJhc2UpLCByZWdUMCk7CiAKICAgICAvLyBU
ZXN0IGJhc2UncyBzdHJ1Y3R1cmUKICAgICBsb2FkUHRyKEFkZHJlc3MocmVnVDAsIE9CSkVDVF9P
RkZTRVRPRihKU0NlbGwsIG1fc3RydWN0dXJlKSksIHJlZ1QyKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSlNJbnRlcmZhY2VKSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSlNJbnRlcmZhY2VKSVQuaAppbmRleCA4ODZkMjdjZmUxZTQ5MTI1MTRhYjg1MWEw
MDM0YjBiMzFlODMzMmU0Li42NDUzYmFiNWQ4YzA0OGVkOGY2YzM0OTNjYjBmNDE4MWJlMzJmNGIz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pTSW50ZXJmYWNlSklULmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KU0ludGVyZmFjZUpJVC5oCkBAIC0yOSw3
ICsyOSw2IEBACiAjaW5jbHVkZSAiSklUQ29kZS5oIgogI2luY2x1ZGUgIkpJVFN0dWJzLmgiCiAj
aW5jbHVkZSAiSlNJbW1lZGlhdGUuaCIKLSNpbmNsdWRlICJKU1ZhbHVlLmgiCiAjaW5jbHVkZSAi
TWFjcm9Bc3NlbWJsZXIuaCIKICNpbmNsdWRlICJSZWdpc3RlckZpbGUuaCIKICNpbmNsdWRlIDx3
dGYvQWx3YXlzSW5saW5lLmg+CkBAIC0xNTgsMTEgKzE1Nyw2IEBAIG5hbWVzcGFjZSBKU0Mgewog
I2Vycm9yICJKSVQgbm90IHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtLiIKICNlbmRpZgogCi0j
aWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIEludDMy
VGFnID0gSlNWYWx1ZTo6SW50MzJUYWc7Ci0jZWxzZQotICAgICAgICBzdGF0aWMgY29uc3QgdW5z
aWduZWQgSW50MzJUYWcgPSBKU0ltbWVkaWF0ZTo6VGFnVHlwZU51bWJlciA+PiAzMjsKLSNlbmRp
ZgogICAgICAgICBpbmxpbmUgSnVtcCBlbWl0TG9hZEpTQ2VsbCh1bnNpZ25lZCB2aXJ0dWFsUmVn
aXN0ZXJJbmRleCwgUmVnaXN0ZXJJRCBwYXlsb2FkKTsKICAgICAgICAgaW5saW5lIEp1bXAgZW1p
dExvYWRJbnQzMih1bnNpZ25lZCB2aXJ0dWFsUmVnaXN0ZXJJbmRleCwgUmVnaXN0ZXJJRCBkc3Qp
OwogICAgICAgICBpbmxpbmUgSnVtcCBlbWl0TG9hZERvdWJsZSh1bnNpZ25lZCB2aXJ0dWFsUmVn
aXN0ZXJJbmRleCwgRlBSZWdpc3RlcklEIGRzdCwgUmVnaXN0ZXJJRCBzY3JhdGNoKTsKQEAgLTE3
OSw4ICsxNzMsNiBAQCBuYW1lc3BhY2UgSlNDIHsKICNlbmRpZgogCiAgICAgICAgIGlubGluZSBB
ZGRyZXNzIHBheWxvYWRGb3IodW5zaWduZWQgaW5kZXgsIFJlZ2lzdGVySUQgYmFzZSA9IGNhbGxG
cmFtZVJlZ2lzdGVyKTsKLSAgICAgICAgaW5saW5lIEFkZHJlc3MgaW50UGF5bG9hZEZvcih1bnNp
Z25lZCBpbmRleCwgUmVnaXN0ZXJJRCBiYXNlID0gY2FsbEZyYW1lUmVnaXN0ZXIpOwotICAgICAg
ICBpbmxpbmUgQWRkcmVzcyBpbnRUYWdGb3IodW5zaWduZWQgaW5kZXgsIFJlZ2lzdGVySUQgYmFz
ZSA9IGNhbGxGcmFtZVJlZ2lzdGVyKTsKICAgICAgICAgaW5saW5lIEFkZHJlc3MgYWRkcmVzc0Zv
cih1bnNpZ25lZCBpbmRleCwgUmVnaXN0ZXJJRCBiYXNlID0gY2FsbEZyYW1lUmVnaXN0ZXIpOwog
ICAgIH07CiAKQEAgLTIyMiwxNiArMjE0LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJl
dHVybiBBZGRyZXNzKGJhc2UsICh2aXJ0dWFsUmVnaXN0ZXJJbmRleCAqIHNpemVvZihSZWdpc3Rl
cikpICsgT0JKRUNUX09GRlNFVE9GKEpTVmFsdWUsIHUuYXNCaXRzLnBheWxvYWQpKTsKICAgICB9
CiAKLSAgICBpbmxpbmUgSlNJbnRlcmZhY2VKSVQ6OkFkZHJlc3MgSlNJbnRlcmZhY2VKSVQ6Omlu
dFBheWxvYWRGb3IodW5zaWduZWQgdmlydHVhbFJlZ2lzdGVySW5kZXgsIFJlZ2lzdGVySUQgYmFz
ZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBwYXlsb2FkRm9yKHZpcnR1YWxSZWdpc3RlckluZGV4
LCBiYXNlKTsKLSAgICB9Ci0KLSAgICBpbmxpbmUgSlNJbnRlcmZhY2VKSVQ6OkFkZHJlc3MgSlNJ
bnRlcmZhY2VKSVQ6OmludFRhZ0Zvcih1bnNpZ25lZCB2aXJ0dWFsUmVnaXN0ZXJJbmRleCwgUmVn
aXN0ZXJJRCBiYXNlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRhZ0Zvcih2aXJ0dWFsUmVnaXN0
ZXJJbmRleCwgYmFzZSk7Ci0gICAgfQotCiAgICAgaW5saW5lIEpTSW50ZXJmYWNlSklUOjpKdW1w
IEpTSW50ZXJmYWNlSklUOjplbWl0TG9hZERvdWJsZSh1bnNpZ25lZCB2aXJ0dWFsUmVnaXN0ZXJJ
bmRleCwgRlBSZWdpc3RlcklEIGRzdCwgUmVnaXN0ZXJJRCBzY3JhdGNoKQogICAgIHsKICAgICAg
ICAgQVNTRVJUKHN0YXRpY19jYXN0PGludD4odmlydHVhbFJlZ2lzdGVySW5kZXgpIDwgRmlyc3RD
b25zdGFudFJlZ2lzdGVySW5kZXgpOwpAQCAtMjk3LDE3ICsyNzksNiBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICAgICAgQVNTRVJUKHN0YXRpY19jYXN0PGludD4odmlydHVhbFJlZ2lzdGVySW5kZXgp
IDwgRmlyc3RDb25zdGFudFJlZ2lzdGVySW5kZXgpOwogICAgICAgICByZXR1cm4gYWRkcmVzc0Zv
cih2aXJ0dWFsUmVnaXN0ZXJJbmRleCwgYmFzZSk7CiAgICAgfQotCi0gICAgaW5saW5lIEpTSW50
ZXJmYWNlSklUOjpBZGRyZXNzIEpTSW50ZXJmYWNlSklUOjppbnRQYXlsb2FkRm9yKHVuc2lnbmVk
IHZpcnR1YWxSZWdpc3RlckluZGV4LCBSZWdpc3RlcklEIGJhc2UpCi0gICAgewotICAgICAgICBB
U1NFUlQoc3RhdGljX2Nhc3Q8aW50Pih2aXJ0dWFsUmVnaXN0ZXJJbmRleCkgPCBGaXJzdENvbnN0
YW50UmVnaXN0ZXJJbmRleCk7Ci0gICAgICAgIHJldHVybiBBZGRyZXNzKGJhc2UsICh2aXJ0dWFs
UmVnaXN0ZXJJbmRleCAqIHNpemVvZihSZWdpc3RlcikpICsgT0JKRUNUX09GRlNFVE9GKEVuY29k
ZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0cy5wYXlsb2FkKSk7Ci0gICAgfQotICAgIGlubGluZSBK
U0ludGVyZmFjZUpJVDo6QWRkcmVzcyBKU0ludGVyZmFjZUpJVDo6aW50VGFnRm9yKHVuc2lnbmVk
IHZpcnR1YWxSZWdpc3RlckluZGV4LCBSZWdpc3RlcklEIGJhc2UpCi0gICAgewotICAgICAgICBB
U1NFUlQoc3RhdGljX2Nhc3Q8aW50Pih2aXJ0dWFsUmVnaXN0ZXJJbmRleCkgPCBGaXJzdENvbnN0
YW50UmVnaXN0ZXJJbmRleCk7Ci0gICAgICAgIHJldHVybiBBZGRyZXNzKGJhc2UsICh2aXJ0dWFs
UmVnaXN0ZXJJbmRleCAqIHNpemVvZihSZWdpc3RlcikpICsgT0JKRUNUX09GRlNFVE9GKEVuY29k
ZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0cy50YWcpKTsKLSAgICB9CiAjZW5kaWYKIAogICAgIGlu
bGluZSBKU0ludGVyZmFjZUpJVDo6QWRkcmVzcyBKU0ludGVyZmFjZUpJVDo6YWRkcmVzc0Zvcih1
bnNpZ25lZCB2aXJ0dWFsUmVnaXN0ZXJJbmRleCwgUmVnaXN0ZXJJRCBiYXNlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9TcGVjaWFsaXplZFRodW5rSklULmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L1NwZWNpYWxpemVkVGh1bmtKSVQuaAppbmRleCA4YmQ0ZWM0
OWM4YmMyYjcxNTE5Y2M0ODQ3YzlmNGI2ZDIyMTc1MjgxLi41YzU5M2Q5OWQ4NjA0OWMxYmU2OTY2
OWRhNjNmZTRhZDkyZTlhMzAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L1NwZWNpYWxpemVkVGh1bmtKSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1Nw
ZWNpYWxpemVkVGh1bmtKSVQuaApAQCAtODcsNyArODcsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgewogICAgICAgICAgICAgaWYgKHNyYyAhPSByZWdUMCkKICAgICAgICAgICAgICAgICBt
b3ZlKHNyYywgcmVnVDApOwotICAgICAgICAgICAgbG9hZFB0cihwYXlsb2FkRm9yKFJlZ2lzdGVy
RmlsZTo6Q2FsbGVyRnJhbWUsIGNhbGxGcmFtZVJlZ2lzdGVyKSwgY2FsbEZyYW1lUmVnaXN0ZXIp
OworICAgICAgICAgICAgbG9hZFB0cihBZGRyZXNzKGNhbGxGcmFtZVJlZ2lzdGVyLCBSZWdpc3Rl
ckZpbGU6OkNhbGxlckZyYW1lICogKGludClzaXplb2YoUmVnaXN0ZXIpKSwgY2FsbEZyYW1lUmVn
aXN0ZXIpOwogICAgICAgICAgICAgcmV0KCk7CiAgICAgICAgIH0KICAgICAgICAgCkBAIC0xMDEs
NyArMTAxLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBsb2FkUHRyKEFkZHJlc3Mo
c3RhY2tQb2ludGVyUmVnaXN0ZXIsIE9CSkVDVF9PRkZTRVRPRihKU1ZhbHVlLCB1LmFzQml0cy50
YWcpIC0gc2l6ZW9mKGRvdWJsZSkpLCByZWdUMSk7CiAgICAgICAgICAgICBsb2FkUHRyKEFkZHJl
c3Moc3RhY2tQb2ludGVyUmVnaXN0ZXIsIE9CSkVDVF9PRkZTRVRPRihKU1ZhbHVlLCB1LmFzQml0
cy5wYXlsb2FkKSAtIHNpemVvZihkb3VibGUpKSwgcmVnVDApOwogI2VuZGlmCi0gICAgICAgICAg
ICBsb2FkUHRyKHBheWxvYWRGb3IoUmVnaXN0ZXJGaWxlOjpDYWxsZXJGcmFtZSwgY2FsbEZyYW1l
UmVnaXN0ZXIpLCBjYWxsRnJhbWVSZWdpc3Rlcik7CisgICAgICAgICAgICBsb2FkUHRyKEFkZHJl
c3MoY2FsbEZyYW1lUmVnaXN0ZXIsIFJlZ2lzdGVyRmlsZTo6Q2FsbGVyRnJhbWUgKiAoaW50KXNp
emVvZihSZWdpc3RlcikpLCBjYWxsRnJhbWVSZWdpc3Rlcik7CiAgICAgICAgICAgICByZXQoKTsK
ICAgICAgICAgfQogCkBAIC0xMTAsNyArMTEwLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
ICAgICBpZiAoc3JjICE9IHJlZ1QwKQogICAgICAgICAgICAgICAgIG1vdmUoc3JjLCByZWdUMCk7
CiAgICAgICAgICAgICB0YWdSZXR1cm5Bc0ludDMyKCk7Ci0gICAgICAgICAgICBsb2FkUHRyKHBh
eWxvYWRGb3IoUmVnaXN0ZXJGaWxlOjpDYWxsZXJGcmFtZSwgY2FsbEZyYW1lUmVnaXN0ZXIpLCBj
YWxsRnJhbWVSZWdpc3Rlcik7CisgICAgICAgICAgICBsb2FkUHRyKEFkZHJlc3MoY2FsbEZyYW1l
UmVnaXN0ZXIsIFJlZ2lzdGVyRmlsZTo6Q2FsbGVyRnJhbWUgKiAoaW50KXNpemVvZihSZWdpc3Rl
cikpLCBjYWxsRnJhbWVSZWdpc3Rlcik7CiAgICAgICAgICAgICByZXQoKTsKICAgICAgICAgfQog
CkBAIC0xMTksNyArMTE5LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBpZiAoc3Jj
ICE9IHJlZ1QwKQogICAgICAgICAgICAgICAgIG1vdmUoc3JjLCByZWdUMCk7CiAgICAgICAgICAg
ICB0YWdSZXR1cm5Bc0pTQ2VsbCgpOwotICAgICAgICAgICAgbG9hZFB0cihwYXlsb2FkRm9yKFJl
Z2lzdGVyRmlsZTo6Q2FsbGVyRnJhbWUsIGNhbGxGcmFtZVJlZ2lzdGVyKSwgY2FsbEZyYW1lUmVn
aXN0ZXIpOworICAgICAgICAgICAgbG9hZFB0cihBZGRyZXNzKGNhbGxGcmFtZVJlZ2lzdGVyLCBS
ZWdpc3RlckZpbGU6OkNhbGxlckZyYW1lICogKGludClzaXplb2YoUmVnaXN0ZXIpKSwgY2FsbEZy
YW1lUmVnaXN0ZXIpOwogICAgICAgICAgICAgcmV0KCk7CiAgICAgICAgIH0KICAgICAgICAgCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0LmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuY3BwCmluZGV4IGFlM2NhMTFmNTFi
YjJhOTFkOTE5NmY3MjI2MzE1NzQ4NDk0OWEyN2EuLjI1YTg5MTY0MTk2MDhlMjY4NGFiNGM5M2I0
YzA3YWRlM2IyODZhYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0FyZ0xpc3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3Qu
Y3BwCkBAIC0yMyw3ICsyMyw2IEBACiAKICNpbmNsdWRlICJKU1ZhbHVlLmgiCiAjaW5jbHVkZSAi
SlNDZWxsLmgiCi0jaW5jbHVkZSAiSlNPYmplY3QuaCIKICNpbmNsdWRlICJTY29wZUNoYWluLmgi
CiAKIHVzaW5nIHN0ZDo6bWluOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRGF0ZUNvbnZlcnNpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RGF0ZUNvbnZlcnNpb24uY3BwCmluZGV4IDE0MTg4NzZlZDE0OTJjMWRjZTUyYWQ5ZDdhODA5MzZh
NmNhOGJjMWUuLjU5N2YxZTlhMTg1YjNlN2ViMTZkYzU0MDM4NGFlZDNlY2UyOTlkOTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb252ZXJzaW9uLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29udmVyc2lvbi5jcHAKQEAg
LTQ0LDcgKzQ0LDYgQEAKICNpbmNsdWRlICJEYXRlQ29udmVyc2lvbi5oIgogCiAjaW5jbHVkZSAi
Q2FsbEZyYW1lLmgiCi0jaW5jbHVkZSAiSlNPYmplY3QuaCIKICNpbmNsdWRlICJTY29wZUNoYWlu
LmgiCiAjaW5jbHVkZSAiVVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9EYXRlTWF0aC5oPgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNr
Q0YuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNr
Q0YuY3BwCmluZGV4IDJlODc4YmZlM2Q2ZDI0NjRhZWFjZDY2YmIwODI0YmMxZmViYjY5MDguLmE5
NDFjZmE5NDI4ZGI5ZTI1NzhlZjJlZjhiOThlN2NkYzU5Zjc2ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFja0NGLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHAKQEAg
LTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJIZWFwLmgiCiAjaW5jbHVkZSAiSlNHbG9iYWxEYXRh
LmgiCiAjaW5jbHVkZSAiSlNMb2NrLmgiCi0jaW5jbHVkZSAiSlNPYmplY3QuaCIKICNpbmNsdWRl
ICJTY29wZUNoYWluLmgiCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9XVEZUaHJlYWREYXRhLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9JZGVudGlmaWVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lkZW50
aWZpZXIuY3BwCmluZGV4IDUxZGZjYmIwNWI1YTZkOWE4NjdkMGFjNzczODIxMDZhNjIwODFhMTQu
LjM5OTI0MTg0ODg4ZDg1YWYzMzdlMWQ2ZDk4ZjE2ZWZmNzM3ZTEzMzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lkZW50aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0lkZW50aWZpZXIuY3BwCkBAIC0yMiw3ICsyMiw2IEBACiAj
aW5jbHVkZSAiSWRlbnRpZmllci5oIgogCiAjaW5jbHVkZSAiQ2FsbEZyYW1lLmgiCi0jaW5jbHVk
ZSAiSlNPYmplY3QuaCIKICNpbmNsdWRlICJOdW1lcmljU3RyaW5ncy5oIgogI2luY2x1ZGUgIlNj
b3BlQ2hhaW4uaCIKICNpbmNsdWRlIDxuZXc+IC8vIGZvciBwbGFjZW1lbnQgbmV3CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2YXRpb24uaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5oCmluZGV4IGViYzk5ZjFlYzBl
NTUyYTM5ODhkZGUwMTFjMzA4MjFlYjY5Y2ZkMTguLjU2ZTI2NDdkMGU4YmI0MTBjZGE2NTU0YTk2
OTQyZGFhYmViNDY0NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQWN0aXZhdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0
aXZhdGlvbi5oCkBAIC05MSwxMSArOTEsNiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgQVNT
RVJUKGFzT2JqZWN0KHZhbHVlKS0+aW5oZXJpdHMoJkpTQWN0aXZhdGlvbjo6c19pbmZvKSk7CiAg
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxKU0FjdGl2YXRpb24qPihhc09iamVjdCh2YWx1ZSkp
OwogICAgIH0KLSAgICAKLSAgICBBTFdBWVNfSU5MSU5FIEpTQWN0aXZhdGlvbiogUmVnaXN0ZXI6
OmFjdGl2YXRpb24oKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuIGFzQWN0aXZhdGlvbihq
c1ZhbHVlKCkpOwotICAgIH0KIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0xvY2suY3BwCmluZGV4IGZjNTQzZjBlODJmNzJmNzY4YjhjNzU2NDU4
ODViY2MxZjE2M2FjZTAuLjY0ZGNiMDhmZmYyZjJlNWQ2MjU0NmY5NmY5ZDU4YzYzMDgyMTk2ODYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmNwcApAQCAtMjMsNyArMjMs
NiBAQAogCiAjaW5jbHVkZSAiSGVhcC5oIgogI2luY2x1ZGUgIkNhbGxGcmFtZS5oIgotI2luY2x1
ZGUgIkpTT2JqZWN0LmgiCiAjaW5jbHVkZSAiU2NvcGVDaGFpbi5oIgogCiAjaWYgVVNFKFBUSFJF
QURTKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNOdW1iZXJD
ZWxsLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTnVtYmVyQ2VsbC5jcHAK
aW5kZXggNzlmMmQyYTMzZWQ3NmZlZGFmY2UxMjNiZjM3NTY5M2VlM2Y1MjQ3MS4uMzE3MmNjOTM1
NWExZGJkYmI5NGQ3Mzg5NzZiODNiZGVkMjY4MzM0ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNOdW1iZXJDZWxsLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU051bWJlckNlbGwuY3BwCkBAIC0yMiw3ICsyMiw2IEBACiAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJKU051bWJlckNlbGwuaCIKLSNpbmNsdWRlICJKU09i
amVjdC5oIgogI2luY2x1ZGUgIlNjb3BlQ2hhaW4uaCIKIAogLy8gS2VlcCBvdXIgZXhwb3J0ZWQg
c3ltYm9scyBsaXN0cyBoYXBweS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVj
dC5oCmluZGV4IGVlZjM3YjIyYTZlMzM2NWRiY2IxZjNjZThmZGViMzMxZjlmYTg0NmMuLjJiNGRi
NDNiOTQxZDY3NjdlZjk2MGMzMDcxZmQ5ZGI2OWVjNGZlOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNPYmplY3QuaApAQCAtODQwLDIwICs4NDAsNiBAQCBpbmxpbmUgSlNWYWx1
ZSBKU1ZhbHVlOjp0b1N0cmljdFRoaXNPYmplY3QoRXhlY1N0YXRlKiBleGVjKSBjb25zdAogICAg
IHJldHVybiBhc09iamVjdChhc0NlbGwoKSktPnRvU3RyaWN0VGhpc09iamVjdChleGVjKTsKIH0K
IAotQUxXQVlTX0lOTElORSBKU09iamVjdCogUmVnaXN0ZXI6OmZ1bmN0aW9uKCkgY29uc3QKLXsK
LSAgICBpZiAoIWpzVmFsdWUoKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIGFzT2Jq
ZWN0KGpzVmFsdWUoKSk7Ci19Ci0KLUFMV0FZU19JTkxJTkUgUmVnaXN0ZXIgUmVnaXN0ZXI6Ondp
dGhDYWxsZWUoSlNPYmplY3QqIGNhbGxlZSkKLXsKLSAgICBSZWdpc3RlciByOwotICAgIHIgPSBK
U1ZhbHVlKGNhbGxlZSk7Ci0gICAgcmV0dXJuIHI7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIEpTQwog
CiAjZW5kaWYgLy8gSlNPYmplY3RfaApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVJdGVyYXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVJdGVyYXRvci5oCmluZGV4IDkwZjQ0OWVlMjFlOTdlMjc4
MGQ0MTI0OWQzNzM1NTdjOTMyYTgxOTguLmQ1MWNiYThkODM2MjE0NmI2ODhjOTVhZjc1ODRhNTQ4
YmVjYmI1NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJv
cGVydHlOYW1lSXRlcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1Byb3BlcnR5TmFtZUl0ZXJhdG9yLmgKQEAgLTEwNiwxMSArMTA2LDYgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIHJldHVybiBtX2VudW1lcmF0aW9uQ2FjaGUuZ2V0KCk7CiAgICAgfQogCi0g
ICAgQUxXQVlTX0lOTElORSBKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yKiBSZWdpc3Rlcjo6cHJvcGVy
dHlOYW1lSXRlcmF0b3IoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PEpTUHJvcGVydHlOYW1lSXRlcmF0b3IqPihqc1ZhbHVlKCkuYXNDZWxsKCkpOwotICAgIH0KLQog
fSAvLyBuYW1lc3BhY2UgSlNDCiAKICNlbmRpZiAvLyBKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVmFsdWUuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVmFsdWUuaAppbmRleCAwZmQ2YzRjYjQzMWY3
MzcwMDAzN2FmZWQwYzU0OTQ2NThlYWJjYjM5Li43MzhlZGEwZjgxYTFmNDYzNDVkMjIxOTIwYTRj
MzQyM2I1ZDVkYzQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1ZhbHVlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNWYWx1ZS5oCkBA
IC01MiwzMyArNTIsMTEgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBlbnVtIFByZWZlcnJlZFBy
aW1pdGl2ZVR5cGUgeyBOb1ByZWZlcmVuY2UsIFByZWZlck51bWJlciwgUHJlZmVyU3RyaW5nIH07
CiAKLQogI2lmIFVTRShKU1ZBTFVFMzJfNjQpCiAgICAgdHlwZWRlZiBpbnQ2NF90IEVuY29kZWRK
U1ZhbHVlOwogI2Vsc2UKICAgICB0eXBlZGVmIHZvaWQqIEVuY29kZWRKU1ZhbHVlOwogI2VuZGlm
Ci0gICAgCi0gICAgdW5pb24gRW5jb2RlZFZhbHVlRGVzY3JpcHRvciB7Ci0gICAgICAgIEVuY29k
ZWRKU1ZhbHVlIGFzRW5jb2RlZEpTVmFsdWU7Ci0jaWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICAg
ICAgZG91YmxlIGFzRG91YmxlOwotI2VsaWYgVVNFKEpTVkFMVUU2NCkKLSAgICAgICAgSlNDZWxs
KiBwdHI7Ci0jZW5kaWYKLSAgICAgICAgCi0jaWYgQ1BVKEJJR19FTkRJQU4pCi0gICAgICAgIHN0
cnVjdCB7Ci0gICAgICAgICAgICBpbnQzMl90IHRhZzsKLSAgICAgICAgICAgIGludDMyX3QgcGF5
bG9hZDsKLSAgICAgICAgfSBhc0JpdHM7Ci0jZWxzZQotICAgICAgICBzdHJ1Y3QgewotICAgICAg
ICAgICAgaW50MzJfdCBwYXlsb2FkOwotICAgICAgICAgICAgaW50MzJfdCB0YWc7Ci0gICAgICAg
IH0gYXNCaXRzOwotI2VuZGlmCi0gICAgfTsKIAogICAgIGRvdWJsZSBub25JbmxpbmVOYU4oKTsK
IApAQCAtMjYxLDE0ICsyMzksMjggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGVudW0geyBE
ZWxldGVkVmFsdWVUYWcgPSAweGZmZmZmZmY4IH07CiAgICAgICAgIAogICAgICAgICBlbnVtIHsg
TG93ZXN0VGFnID0gIERlbGV0ZWRWYWx1ZVRhZyB9OwotCisgICAgICAgIAogICAgICAgICB1aW50
MzJfdCB0YWcoKSBjb25zdDsKICAgICAgICAgaW50MzJfdCBwYXlsb2FkKCkgY29uc3Q7CiAKLSAg
ICAgICAgRW5jb2RlZFZhbHVlRGVzY3JpcHRvciB1OwotI2VsaWYgVVNFKEpTVkFMVUU2NCkKLSAg
ICAgICAgSlNDZWxsKiBtX3B0cjsKKyAgICAgICAgdW5pb24geworICAgICAgICAgICAgRW5jb2Rl
ZEpTVmFsdWUgYXNFbmNvZGVkSlNWYWx1ZTsKKyAgICAgICAgICAgIGRvdWJsZSBhc0RvdWJsZTsK
KyNpZiBDUFUoQklHX0VORElBTikKKyAgICAgICAgICAgIHN0cnVjdCB7CisgICAgICAgICAgICAg
ICAgaW50MzJfdCB0YWc7CisgICAgICAgICAgICAgICAgaW50MzJfdCBwYXlsb2FkOworICAgICAg
ICAgICAgfSBhc0JpdHM7CisjZWxzZQorICAgICAgICAgICAgc3RydWN0IHsKKyAgICAgICAgICAg
ICAgICBpbnQzMl90IHBheWxvYWQ7CisgICAgICAgICAgICAgICAgaW50MzJfdCB0YWc7CisgICAg
ICAgICAgICB9IGFzQml0czsKICNlbmRpZgorICAgICAgICB9IHU7CisjZWxzZSAvLyBVU0UoSlNW
QUxVRTMyXzY0KQorICAgICAgICBKU0NlbGwqIG1fcHRyOworI2VuZGlmIC8vIFVTRShKU1ZBTFVF
MzJfNjQpCiAgICAgfTsKIAogI2lmIFVTRShKU1ZBTFVFMzJfNjQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1pvbWJpZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1pvbWJpZS5jcHAKaW5kZXggMjNjZjEzNWY5MDgzNWEzN2I2NzEwZTVm
YzAzNmIxY2M5YzRkODRhNC4uODZkY2M3MjZiMjU3MDdhY2U5ZmEwZGU2MDEyNzliZmM5YjRkODk5
NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNab21iaWUuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTWm9tYmllLmNwcApAQCAtMjYs
NyArMjYsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkpTWm9tYmllLmgiCiAj
aW5jbHVkZSAiQ2xhc3NJbmZvLmgiCi0jaW5jbHVkZSAiSlNPYmplY3QuaCIKICNpbmNsdWRlICJT
Y29wZUNoYWluLmgiCiAKICNpZiBFTkFCTEUoSlNDX1pPTUJJRVMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJrZWRCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9NYXJrZWRCbG9jay5jcHAKaW5kZXggY2FlNzAxZmEyY2IxYmNmZTA3
ZmZiNDA5NTdlNDg0ZmM0MWU3YzZjNy4uYjk4NjVmYTEzNDA4ZGQ5NDFhYTZjNmMxYWQ2NDNjMDJi
ZTM4NDE3ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya2Vk
QmxvY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtlZEJsb2Nr
LmNwcApAQCAtMjcsNyArMjcsNiBAQAogI2luY2x1ZGUgIk1hcmtlZEJsb2NrLmgiCiAKICNpbmNs
dWRlICJKU0NlbGwuaCIKLSNpbmNsdWRlICJKU09iamVjdC5oIgogI2luY2x1ZGUgIkpTWm9tYmll
LmgiCiAjaW5jbHVkZSAiU2NvcGVDaGFpbi5oIgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9NYXJrZWRTcGFjZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9NYXJrZWRTcGFjZS5jcHAKaW5kZXggZDlhMWU0MjFiYWI5OTNlOTZiYjhkZDgwODY4
ZWNkOTJkODU2ZTk4MC4uZmRiNjRiOWE2MDJhOWU0NDM0YmQ5YmIxZWUwZDFlNGE0ZDM1OGVkOCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya2VkU3BhY2UuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtlZFNwYWNlLmNwcApAQCAt
MjQsNyArMjQsNiBAQAogI2luY2x1ZGUgIkpTQ2VsbC5oIgogI2luY2x1ZGUgIkpTR2xvYmFsRGF0
YS5oIgogI2luY2x1ZGUgIkpTTG9jay5oIgotI2luY2x1ZGUgIkpTT2JqZWN0LmgiCiAjaW5jbHVk
ZSAiU2NvcGVDaGFpbi5oIgogCiBuYW1lc3BhY2UgSlNDIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5TmFtZUFycmF5LmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5TmFtZUFycmF5LmNwcAppbmRleCA4ZWZiNDA2NWUx
NzM5Y2YwNWQ1ZDkxNjZjNzViZWNkODBkZGUzMGZjLi4zNTFlY2MzZWY5YzQzYzJmOWIxZDI0NGQ2
MzBmNjRmODZjOTQxNTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Qcm9wZXJ0eU5hbWVBcnJheS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUHJvcGVydHlOYW1lQXJyYXkuY3BwCkBAIC0yMSw3ICsyMSw2IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiUHJvcGVydHlOYW1lQXJyYXkuaCIKIAotI2luY2x1ZGUgIkpTT2Jq
ZWN0LmgiCiAjaW5jbHVkZSAiU2NvcGVDaGFpbi5oIgogI2luY2x1ZGUgIlN0cnVjdHVyZS5oIgog
I2luY2x1ZGUgIlN0cnVjdHVyZUNoYWluLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TY29wZUNoYWluLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TY29wZUNoYWluLmgKaW5kZXggMDgyMmY1NGVhMDQ2MmVjNzY2YmYwZmIxZDIwNTM0ZGZlNjIz
ZDQ1OS4uZmJlY2QxMTdlMGU3Y2FjZDM3NzljNjhkMzc1NzU1ODgxZTNhODExMiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFpbi5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4uaApAQCAtMTI4LDE3ICsxMjgsNiBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICB7CiAgICAgICAgIHJldHVybiBzY29wZUNoYWluKCktPmds
b2JhbFRoaXMuZ2V0KCk7CiAgICAgfQotICAgIAotICAgIEFMV0FZU19JTkxJTkUgU2NvcGVDaGFp
bk5vZGUqIFJlZ2lzdGVyOjpzY29wZUNoYWluKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVy
biBzdGF0aWNfY2FzdDxTY29wZUNoYWluTm9kZSo+KGpzVmFsdWUoKS5hc0NlbGwoKSk7Ci0gICAg
fQotICAgIAotICAgIEFMV0FZU19JTkxJTkUgUmVnaXN0ZXImIFJlZ2lzdGVyOjpvcGVyYXRvcj0o
U2NvcGVDaGFpbk5vZGUqIHNjb3BlQ2hhaW4pCi0gICAgewotICAgICAgICAqdGhpcyA9IEpTVmFs
dWUoc2NvcGVDaGFpbik7Ci0gICAgICAgIHJldHVybiAqdGhpczsKLSAgICB9CiAKIH0gLy8gbmFt
ZXNwYWNlIEpTQwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVN
YXRoLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguY3BwCmluZGV4IDcw
YzBjZjQ3ZjVmNzljYmZjMzMxZjdhMTdmYTk3ZTlhN2NiYzY3ZGMuLjRlYWY0ZTE1Nzg5MDQyYmEz
ZDkzN2ZjMDkzNzhkYmQxMzliZmMzMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvRGF0ZU1hdGguY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1h
dGguY3BwCkBAIC03NSw5ICs3NSw2IEBACiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5oIgogI2luY2x1
ZGUgIkFTQ0lJQ1R5cGUuaCIKICNpbmNsdWRlICJDdXJyZW50VGltZS5oIgotI2lmIFVTRShKU0Mp
Ci0jaW5jbHVkZSAiSlNPYmplY3QuaCIKLSNlbmRpZgogI2luY2x1ZGUgIk1hdGhFeHRyYXMuaCIK
ICNpZiBVU0UoSlNDKQogI2luY2x1ZGUgIlNjb3BlQ2hhaW4uaCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzNThj
NjY1NjlmZDYyNmFkNjMxZDI5ZTkzNGViOGNlYjBlYTQwZTZjLi4yMDQxNzJkYjA1Mzk2ODE0ODk0
NWRhMDlkZmRiZTJkNDBkM2RhZmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEt
MDMtMTIgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAg
ICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI4MDkxOS4KKyAgICAgICAgaHR0cDovL3RyYWMu
d2Via2l0Lm9yZy9jaGFuZ2VzZXQvODA5MTkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTU2MjUxCisKKyAgICAgICAgYWxsIHdpbmRvd3MgYm90cyBmYWls
ZWQgdG8gY29tcGlsZSB0aGlzIGNoYW5nZSAoUmVxdWVzdGVkIGJ5CisgICAgICAgIGxvaXNsbyBv
biAjd2Via2l0KS4KKworICAgICAgICAqIGJyaWRnZS9jL2NfY2xhc3MuY3BwOgorICAgICAgICAq
IGJyaWRnZS9jL2NfcnVudGltZS5jcHA6CisgICAgICAgICogYnJpZGdlL2puaS9KYXZhTWV0aG9k
LmNwcDoKKyAgICAgICAgKiBwbHVnaW5zL1BsdWdpblZpZXdOb25lLmNwcDoKKwogMjAxMS0wMy0x
MiAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJl
dmlld2VkIFdpbkNFIGJ1aWxkIGZpeCBmb3IgcjgwOTAwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYnJpZGdlL2MvY19jbGFzcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9jX2Ns
YXNzLmNwcAppbmRleCA0ZjljZGQ5MGYyODRiZWZjY2IzNTQyZTZjYWU5YTQxMTlkNThlNmFmLi5h
ODA4OTQ2NTg5YjI5ZDI5OGVjYWIwOWIyYWUwNDIyOTZiOGE1OTNmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9icmlkZ2UvYy9jX2NsYXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlk
Z2UvYy9jX2NsYXNzLmNwcApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvU2Nv
cGVDaGFpbi5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSWRlbnRpZmllci5oPgogI2luY2x1ZGUgPHJ1
bnRpbWUvSlNMb2NrLmg+Ci0jaW5jbHVkZSA8cnVudGltZS9KU09iamVjdC5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBCaW5k
aW5ncyB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9jX3J1bnRpbWUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2MvY19ydW50aW1lLmNwcAppbmRleCBhODRhY2JiZTM3
OTVkMTQyNzkyZTA2NWVlZGZiYzUwYTEwMDU2ZTA2Li5mOGMwZGJhOGQ2M2M1OTQyOTEyNjAwYWNj
YWNlYmFiNzEyOGQ5ODIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9jX3J1
bnRpbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9jL2NfcnVudGltZS5jcHAKQEAg
LTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlICJucHJ1bnRpbWVfaW1wbC5oIgogI2luY2x1ZGUgPHJ1
bnRpbWUvU2NvcGVDaGFpbi5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+Ci0jaW5jbHVk
ZSA8cnVudGltZS9KU09iamVjdC5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIG5hbWVzcGFjZSBCaW5k
aW5ncyB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL0phdmFNZXRob2Qu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9KYXZhTWV0aG9kLmNwcAppbmRleCA4MWE4
YzE5OTVjYzE3ZDlhODUyNGMyNTMyNTg5OTIyZTFlMGFhN2RlLi5mNTNmMjgxNmEwZTdkNzhhNjhh
NTc0MGM5ZDNmZTcwYzRiMGVmZjRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
am5pL0phdmFNZXRob2QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvSmF2YU1l
dGhvZC5jcHAKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgIkphdmFTdHJpbmcuaCIKIAot
I2luY2x1ZGUgPHJ1bnRpbWUvSlNPYmplY3QuaD4KICNpbmNsdWRlIDxydW50aW1lL1Njb3BlQ2hh
aW4uaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlld05vbmUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGx1Z2lucy9QbHVnaW5WaWV3Tm9uZS5jcHAKaW5kZXggM2JkZWM2ZmU1Yjc4NTUwNTUzZGEx
YzdhY2FiMDczMWM2MDEyYjU0Yy4uMzgzYWM0OTEyMzRjM2M5ZTY2MTJiNTg2ZDJlZjZiYTQ4ZGY1
ZWQ4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3Tm9uZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3Tm9uZS5jcHAKQEAgLTI4
LDcgKzI4LDYgQEAKIAogI2lmIFVTRShKU0MpCiAjaW5jbHVkZSAiQnJpZGdlSlNDLmgiCi0jaW5j
bHVkZSA8cnVudGltZS9KU09iamVjdC5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvU2NvcGVDaGFpbi5o
PgogI2VuZGlmCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>