<?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>165853</bug_id>
          
          <creation_ts>2016-12-14 09:21:24 -0800</creation_ts>
          <short_desc>REGRESSION(r209795): rolled out the wrong revision (Requested by pizlo on #webkit).</short_desc>
          <delta_ts>2016-12-14 09:25:57 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>165741</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>barraclough</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1259757</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-14 09:21:24 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/209795 broke the build:
rolled out the wrong revision (Requested by pizlo on #webkit).

This is an automatic bug report generated by webkitbot. 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 fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259758</commentid>
    <comment_count>1</comment_count>
      <attachid>297094</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-14 09:21:44 -0800</bug_when>
    <thetext>Created attachment 297094
ROLLOUT of r209795

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

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259759</commentid>
    <comment_count>2</comment_count>
      <attachid>297094</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-12-14 09:22:41 -0800</bug_when>
    <thetext>Comment on attachment 297094
ROLLOUT of r209795

I just landed the proper fix for the memory regression in https://trac.webkit.org/changeset/209807</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259763</commentid>
    <comment_count>3</comment_count>
      <attachid>297094</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-14 09:25:54 -0800</bug_when>
    <thetext>Comment on attachment 297094
ROLLOUT of r209795

Clearing flags on attachment: 297094

Committed r209808: &lt;http://trac.webkit.org/changeset/209808&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259764</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-14 09:25:57 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297094</attachid>
            <date>2016-12-14 09:21:44 -0800</date>
            <delta_ts>2016-12-14 09:25:54 -0800</delta_ts>
            <desc>ROLLOUT of r209795</desc>
            <filename>bug-165853-20161214122053.patch</filename>
            <type>text/plain</type>
            <size>55280</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5ODA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
NDIzNzczZWJmOWU0N2U2ODQ2YWU4NmUzZDg5ZTAwYWNjZDNlODlhLi4xNDc0MjY0YTE5NmUxMjQw
NjA4N2M3MGUzMzVlN2I0Y2NkMjY4YTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxNi0xMi0xNCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIwOTc5NS4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTg1MworCisgICAg
ICAgIHJvbGxlZCBvdXQgdGhlIHdyb25nIHJldmlzaW9uIChSZXF1ZXN0ZWQgYnkgcGl6bG8gb24g
I3dlYmtpdCkuCisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hhbmdlc2V0OgorCisgICAgICAgICJNYXJr
ZWRCbG9jazo6bWFya3NDb252ZXlMaXZlbmVzc0R1cmluZ01hcmtpbmcgc2hvdWxkIHRha2UKKyAg
ICAgICAgaW50byBhY2NvdW50IGNvbGxlY3Rpb24gc2NvcGUiCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjU3NDEKKyAgICAgICAgaHR0cDovL3RyYWMu
d2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjA5Nzk1CisKIDIwMTYtMTItMTQgIEZpbGlwIFBpemxvICA8
ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBkaXNhYmxlIGNvbmN1cnJl
bnQgR0Mgb24gQVJNIHdoaWxlIHdlIGludmVzdGlnYXRlIGEgbWVtb3J5IHVzZSByZWdyZXNzaW9u
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxv
ZwppbmRleCBmMmVjODQyOWZkMmYzZDVlNGY0MTI5MTVhMWU2MmVjYWI3NjJhYmIxLi4zNzA3NzA4
ZWEyNTUyOGI1MDBjZDU2ZWFjYWMwMDVjYWNjMDBlYjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisy
MDE2LTEyLTE0ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAg
ICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjA5Nzk1LgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1ODUzCisKKyAgICAgICAgcm9sbGVkIG91
dCB0aGUgd3JvbmcgcmV2aXNpb24gKFJlcXVlc3RlZCBieSBwaXpsbyBvbiAjd2Via2l0KS4KKwor
ICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAgICAgICAgIk1hcmtlZEJsb2NrOjptYXJr
c0NvbnZleUxpdmVuZXNzRHVyaW5nTWFya2luZyBzaG91bGQgdGFrZQorICAgICAgICBpbnRvIGFj
Y291bnQgY29sbGVjdGlvbiBzY29wZSIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE2NTc0MQorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2No
YW5nZXNldC8yMDk3OTUKKwogMjAxNi0xMi0xNCAgRW5yaXF1ZSBPY2HDsWEgR29uesOhbGV6ICA8
ZW9jYW5oYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjIwNzg3OS0yMDc4OTEp
OiBbR1N0cmVhbWVyXSBJbnRyb2R1Y2VkIG1hbnkgbGF5b3V0IHRlc3QgZmFpbHVyZXMgYW5kIGNy
YXNoZXMsIGJvdHMgZXhpdGluZyBlYXJseQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0
CmluZGV4IDdmYzU3MTdhMGEzNWZlZmU0OGVkOGY2YmMyOGFlNDNmZGJhNjU1ZGIuLmM3MzI5OGFh
OTUxYzljN2M4MWJhZDJmZGYwNjFhMzFlMTEyYmQyOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01h
a2VMaXN0cy50eHQKQEAgLTQ2NCw2ICs0NjQsNyBAQCBzZXQoSmF2YVNjcmlwdENvcmVfU09VUkNF
UwogICAgIGZ0bC9GVExWYWx1ZVJhbmdlLmNwcAogCiAgICAgaGVhcC9BbGxvY2F0b3JBdHRyaWJ1
dGVzLmNwcAorICAgIGhlYXAvQ2VsbENvbnRhaW5lci5jcHAKICAgICBoZWFwL0NvZGVCbG9ja1Nl
dC5jcHAKICAgICBoZWFwL0NvbGxlY3Rpb25TY29wZS5jcHAKICAgICBoZWFwL0NvbnNlcnZhdGl2
ZVJvb3RzLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBhZWFjZjYwNmI0ZjE3
MDRlZjNmNGExMWY1ODViNDA4MDAwMGVlZDA5Li4wYzI0NDNhZDE0MmYwMzdhZWM3N2NlYTk1MWE0
NjNjMjVhZTA2MTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzUyLDYgKzc1
Miw3IEBACiAJCTBGREIyQ0VBMTc0ODk2QzcwMDdCM0MxQiAvKiBDb25jdXJyZW50SlNMb2NrLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkRCMkNFOTE3
NDg5NkM3MDA3QjNDMUIgLyogQ29uY3VycmVudEpTTG9jay5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGRERCRkI1MTY2NkVFRDgwMEM1NUZFRiAv
KiBERkdWYXJpYWJsZUFjY2Vzc0RhdGFEdW1wLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRERCRkIyMTY2NkVFRDUwMEM1NUZFRiAvKiBERkdWYXJp
YWJsZUFjY2Vzc0RhdGFEdW1wLmNwcCAqLzsgfTsKIAkJMEZEREJGQjYxNjY2RUVEQTAwQzU1RkVG
IC8qIERGR1ZhcmlhYmxlQWNjZXNzRGF0YUR1bXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRERCRkIzMTY2NkVFRDUwMEM1NUZFRiAvKiBERkdWYXJp
YWJsZUFjY2Vzc0RhdGFEdW1wLmggKi87IH07CisJCTBGREU4N0Y5MURGRDBDNzYwMDY0QzM5MCAv
KiBDZWxsQ29udGFpbmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGREU4N0Y4MURGRDBDNkQwMDY0QzM5MCAvKiBDZWxsQ29udGFpbmVyLmNwcCAq
LzsgfTsKIAkJMEZERTg3RkMxREZFNkU1MTAwNjRDMzkwIC8qIFNwYWNlVGltZVNjaGVkdWxlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZERTg3RkIx
REZFNkU1MDAwNjRDMzkwIC8qIFNwYWNlVGltZVNjaGVkdWxlci5oICovOyB9OwogCQkwRkRFODdG
RDFERkU2RTU0MDA2NEMzOTAgLyogU3BhY2VUaW1lU2NoZWR1bGVyLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGREU4N0ZBMURGRTZFNTAwMDY0QzM5
MCAvKiBTcGFjZVRpbWVTY2hlZHVsZXIuY3BwICovOyB9OwogCQkwRkRGNjdEMjFEOUM2RDI3MDAx
Qjk4MjUgLyogQjNLaW5kLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkRGNjdEMTFEOUM2MDg2MDAxQjk4MjUgLyogQjNLaW5kLmggKi87IH07CkBAIC0z
MTgxLDYgKzMxODIsNyBAQAogCQkwRkRCMkNFOTE3NDg5NkM3MDA3QjNDMUIgLyogQ29uY3VycmVu
dEpTTG9jay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb25jdXJyZW50SlNM
b2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRERCRkIyMTY2NkVFRDUwMEM1
NUZFRiAvKiBERkdWYXJpYWJsZUFjY2Vzc0RhdGFEdW1wLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IERGR1ZhcmlhYmxlQWNjZXNzRGF0YUR1bXAuY3BwOyBwYXRoID0g
ZGZnL0RGR1ZhcmlhYmxlQWNjZXNzRGF0YUR1bXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkwRkREQkZCMzE2NjZFRUQ1MDBDNTVGRUYgLyogREZHVmFyaWFibGVBY2Nlc3NEYXRh
RHVtcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdWYXJpYWJsZUFjY2Vz
c0RhdGFEdW1wLmg7IHBhdGggPSBkZmcvREZHVmFyaWFibGVBY2Nlc3NEYXRhRHVtcC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkRFODdGODFERkQwQzZEMDA2NEMzOTAgLyogQ2Vs
bENvbnRhaW5lci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDZWxs
Q29udGFpbmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZERTg3RkExREZF
NkU1MDAwNjRDMzkwIC8qIFNwYWNlVGltZVNjaGVkdWxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBTcGFjZVRpbWVTY2hlZHVsZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkwRkRFODdGQjFERkU2RTUwMDA2NEMzOTAgLyogU3BhY2VUaW1lU2No
ZWR1bGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwYWNlVGltZVNjaGVk
dWxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkRGNjdEMDFEOUM2MDg2MDAx
Qjk4MjUgLyogQjNLaW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9
IEIzS2luZC5jcHA7IHBhdGggPSBiMy9CM0tpbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtNTYzNSw2ICs1NjM3LDcgQEAKIAkJCQkwRkE3NjIwQTFEQjk1OUY2MDBCN0EyRkQg
LyogQWxsb2NhdGluZ1Njb3BlLmggKi8sCiAJCQkJMEY5NjMwMzUxRDQxOTJDMzAwNTYwOUQ5IC8q
IEFsbG9jYXRvckF0dHJpYnV0ZXMuY3BwICovLAogCQkJCTBGOTYzMDM2MUQ0MTkyQzMwMDU2MDlE
OSAvKiBBbGxvY2F0b3JBdHRyaWJ1dGVzLmggKi8sCisJCQkJMEZERTg3RjgxREZEMEM2RDAwNjRD
MzkwIC8qIENlbGxDb250YWluZXIuY3BwICovLAogCQkJCTBGMDcwQTQyMUQ1NDNBODkwMDZFNzIz
MiAvKiBDZWxsQ29udGFpbmVyLmggKi8sCiAJCQkJMEYwNzBBNDMxRDU0M0E4OTAwNkU3MjMyIC8q
IENlbGxDb250YWluZXJJbmxpbmVzLmggKi8sCiAJCQkJMEYxQzNERDkxQkJDRTA5RTAwRTUyM0U0
IC8qIENlbGxTdGF0ZS5oICovLApAQCAtMTAyNTQsNiArMTAyNTcsNyBAQAogCQkJCTBGQjEwNThC
MTY3NTQ4MzEwMEY4QUI2RSAvKiBQcm9maWxlck9TUkV4aXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMEZCMTA1OEQxNjc1NDgzNzAwRjhBQjZFIC8qIFByb2ZpbGVyT1NSRXhpdFNpdGUuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMEY2MTgzMkIxQzQ1QkYwNzAwNzI0NTBCIC8qIEFpckN1c3RvbS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkRFODdGOTFERkQwQzc2MDA2NEMzOTAgLyogQ2VsbENv
bnRhaW5lci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjEzOTEyQjE2NzcxQzNBMDA5Q0NCMDcg
LyogUHJvZmlsZXJQcm9maWxlZEJ5dGVjb2Rlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkQz
RTQwRDFCNjE4QjY2MDBDODBFMUUgLyogUHJvcGVydHlDb25kaXRpb24uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJRTM1Q0ExNTMxREJDM0E1QzAwRjgzNTE2IC8qIERPTUpJVEhlYXBSYW5nZS5jcHAg
aW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0Nl
bGxDb250YWluZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvQ2VsbENvbnRhaW5l
ci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYmFjY2RlOTgzY2RhN2RiMWI0M2I5MTJiNjc2NGM1YzNjNzM5ODA3
ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0NlbGxDb250
YWluZXIuY3BwCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNlbGxDb250
YWluZXIuaCIKKworI2luY2x1ZGUgIk1hcmtlZEJsb2NrSW5saW5lcy5oIgorCituYW1lc3BhY2Ug
SlNDIHsKKworYm9vbCBDZWxsQ29udGFpbmVyOjppc05ld2x5QWxsb2NhdGVkKEhlYXBDZWxsKiBj
ZWxsKSBjb25zdAoreworICAgIGlmIChpc0xhcmdlQWxsb2NhdGlvbigpKQorICAgICAgICByZXR1
cm4gbGFyZ2VBbGxvY2F0aW9uKCkuaXNOZXdseUFsbG9jYXRlZCgpOworICAgIE1hcmtlZEJsb2Nr
OjpIYW5kbGUmIGhhbmRsZSA9IG1hcmtlZEJsb2NrKCkuaGFuZGxlKCk7CisgICAgcmV0dXJuICFo
YW5kbGUuaXNOZXdseUFsbG9jYXRlZFN0YWxlKCkKKyAgICAgICAgJiYgaGFuZGxlLmlzTmV3bHlB
bGxvY2F0ZWQoY2VsbCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIEpTQworCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9DZWxsQ29udGFpbmVyLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaGVhcC9DZWxsQ29udGFpbmVyLmgKaW5kZXggYmFlMTdhY2E0NmIzNjhkZDY3M2Qw
ODIxYmYyYWJhNmYxZTU5M2VhZS4uZTRmMmZmMjg3MmY4YWM5N2ZlOTc1NDUzMWY2MGJiNzJmMTgx
YmE5YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvQ2VsbENvbnRhaW5l
ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0NlbGxDb250YWluZXIuaApAQCAt
ODQsNiArODQsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc01hcmtlZChIZWFwQ2VsbCopIGNvbnN0
OwogICAgIGJvb2wgaXNNYXJrZWQoSGVhcFZlcnNpb24gbWFya2luZ1ZlcnNpb24sIEhlYXBDZWxs
KikgY29uc3Q7CiAgICAgCisgICAgYm9vbCBpc05ld2x5QWxsb2NhdGVkKEhlYXBDZWxsKikgY29u
c3Q7CisgICAgCiAgICAgdm9pZCBub3RlTWFya2VkKCk7CiAgICAgdm9pZCBhc3NlcnRWYWxpZENl
bGwoVk0mLCBIZWFwQ2VsbCopIGNvbnN0OwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2hlYXAvTWFya2VkQWxsb2NhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9oZWFwL01hcmtlZEFsbG9jYXRvci5jcHAKaW5kZXggYzU5NGQ5YTFjZjk1ZWY1MjE5Y2QzYWRj
M2Q2NmE4OTU0YmM1MTk3NS4uMTY0OWVjOTc1NTUzZmJmN2I1NTU3MTkzM2UyM2I4MWJjMjAzNmFj
MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkQWxsb2NhdG9y
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRBbGxvY2F0b3IuY3Bw
CkBAIC0yNzAsNiArMjcwLDcgQEAgdm9pZCBNYXJrZWRBbGxvY2F0b3I6OmFkZEJsb2NrKE1hcmtl
ZEJsb2NrOjpIYW5kbGUqIGJsb2NrKQogICAgICAgICBtX2Jsb2Nrcy5hcHBlbmQoYmxvY2spOwog
ICAgICAgICBpZiAobV9ibG9ja3MuY2FwYWNpdHkoKSAhPSBvbGRDYXBhY2l0eSkgewogICAgICAg
ICAgICAgZm9yRWFjaEJpdFZlY3RvcigKKyAgICAgICAgICAgICAgICBOb0xvY2tpbmdOZWNlc3Nh
cnksCiAgICAgICAgICAgICAgICAgWyZdIChGYXN0Qml0VmVjdG9yJiB2ZWN0b3IpIHsKICAgICAg
ICAgICAgICAgICAgICAgQVNTRVJUX1VOVVNFRCh2ZWN0b3IsIHZlY3Rvci5udW1CaXRzKCkgPT0g
b2xkQ2FwYWNpdHkpOwogICAgICAgICAgICAgICAgIH0pOwpAQCAtMjc4LDYgKzI3OSw3IEBAIHZv
aWQgTWFya2VkQWxsb2NhdG9yOjphZGRCbG9jayhNYXJrZWRCbG9jazo6SGFuZGxlKiBibG9jaykK
ICAgICAgICAgICAgIAogICAgICAgICAgICAgTG9ja0hvbGRlciBsb2NrZXIobV9iaXR2ZWN0b3JM
b2NrKTsKICAgICAgICAgICAgIGZvckVhY2hCaXRWZWN0b3IoCisgICAgICAgICAgICAgICAgbG9j
a2VyLAogICAgICAgICAgICAgICAgIFsmXSAoRmFzdEJpdFZlY3RvciYgdmVjdG9yKSB7CiAgICAg
ICAgICAgICAgICAgICAgIHZlY3Rvci5yZXNpemUobV9ibG9ja3MuY2FwYWNpdHkoKSk7CiAgICAg
ICAgICAgICAgICAgfSk7CkBAIC0yODksNiArMjkxLDcgQEAgdm9pZCBNYXJrZWRBbGxvY2F0b3I6
OmFkZEJsb2NrKE1hcmtlZEJsb2NrOjpIYW5kbGUqIGJsb2NrKQogICAgIH0KICAgICAKICAgICBm
b3JFYWNoQml0VmVjdG9yKAorICAgICAgICBOb0xvY2tpbmdOZWNlc3NhcnksCiAgICAgICAgIFsm
XSAoRmFzdEJpdFZlY3RvciYgdmVjdG9yKSB7CiAgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKHZl
Y3RvciwgIXZlY3RvcltpbmRleF0pOwogICAgICAgICB9KTsKQEAgLTMwOSw2ICszMTIsNyBAQCB2
b2lkIE1hcmtlZEFsbG9jYXRvcjo6cmVtb3ZlQmxvY2soTWFya2VkQmxvY2s6OkhhbmRsZSogYmxv
Y2spCiAgICAgbV9mcmVlQmxvY2tJbmRpY2VzLmFwcGVuZChibG9jay0+aW5kZXgoKSk7CiAgICAg
CiAgICAgZm9yRWFjaEJpdFZlY3RvcigKKyAgICAgICAgaG9sZExvY2sobV9iaXR2ZWN0b3JMb2Nr
KSwKICAgICAgICAgWyZdIChGYXN0Qml0VmVjdG9yJiB2ZWN0b3IpIHsKICAgICAgICAgICAgIHZl
Y3RvcltibG9jay0+aW5kZXgoKV0gPSBmYWxzZTsKICAgICAgICAgfSk7CkBAIC00NjcsMTIgKzQ3
MSwxNCBAQCB2b2lkIE1hcmtlZEFsbG9jYXRvcjo6ZHVtcEJpdHMoUHJpbnRTdHJlYW0mIG91dCkK
IHsKICAgICB1bnNpZ25lZCBtYXhOYW1lTGVuZ3RoID0gMDsKICAgICBmb3JFYWNoQml0VmVjdG9y
V2l0aE5hbWUoCisgICAgICAgIE5vTG9ja2luZ05lY2Vzc2FyeSwKICAgICAgICAgWyZdIChGYXN0
Qml0VmVjdG9yJiwgY29uc3QgY2hhciogbmFtZSkgewogICAgICAgICAgICAgdW5zaWduZWQgbGVu
Z3RoID0gc3RybGVuKG5hbWUpOwogICAgICAgICAgICAgbWF4TmFtZUxlbmd0aCA9IHN0ZDo6bWF4
KG1heE5hbWVMZW5ndGgsIGxlbmd0aCk7CiAgICAgICAgIH0pOwogICAgIAogICAgIGZvckVhY2hC
aXRWZWN0b3JXaXRoTmFtZSgKKyAgICAgICAgTm9Mb2NraW5nTmVjZXNzYXJ5LAogICAgICAgICBb
Jl0gKEZhc3RCaXRWZWN0b3ImIHZlY3RvciwgY29uc3QgY2hhciogbmFtZSkgewogICAgICAgICAg
ICAgb3V0LnByaW50KCIgICAgIiwgbmFtZSwgIjogIik7CiAgICAgICAgICAgICBmb3IgKHVuc2ln
bmVkIGkgPSBtYXhOYW1lTGVuZ3RoIC0gc3RybGVuKG5hbWUpOyBpLS07KQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkQWxsb2NhdG9yLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRBbGxvY2F0b3IuaAppbmRleCA5YjZlYWJhNjM1OTQzYzYx
Zjk4ZjRjN2ViNmUxNWM3ZTIyYWQ1NGVlLi45NmJmNjU2NTljNDk0NTdkYzQ4Mzk5YzI2ZTEyYmRk
ZDM0NGFmMGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRB
bGxvY2F0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRBbGxvY2F0
b3IuaApAQCAtMTgyLDcgKzE4Miw3IEBAIHB1YmxpYzoKICN1bmRlZiBNQVJLRURfQUxMT0NBVE9S
X0JJVF9BQ0NFU1NPUlMKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmM+Ci0gICAgdm9pZCBm
b3JFYWNoQml0VmVjdG9yKGNvbnN0IEZ1bmMmIGZ1bmMpCisgICAgdm9pZCBmb3JFYWNoQml0VmVj
dG9yKGNvbnN0IEFic3RyYWN0TG9ja2VyJiwgY29uc3QgRnVuYyYgZnVuYykKICAgICB7CiAjZGVm
aW5lIE1BUktFRF9BTExPQ0FUT1JfQklUX0NBTExCQUNLKGxvd2VyQml0TmFtZSwgY2FwaXRhbEJp
dE5hbWUpIFwKICAgICAgICAgZnVuYyhtXyAjIyBsb3dlckJpdE5hbWUpOwpAQCAtMTkxLDcgKzE5
MSw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAgCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuYz4K
LSAgICB2b2lkIGZvckVhY2hCaXRWZWN0b3JXaXRoTmFtZShjb25zdCBGdW5jJiBmdW5jKQorICAg
IHZvaWQgZm9yRWFjaEJpdFZlY3RvcldpdGhOYW1lKGNvbnN0IEFic3RyYWN0TG9ja2VyJiwgY29u
c3QgRnVuYyYgZnVuYykKICAgICB7CiAjZGVmaW5lIE1BUktFRF9BTExPQ0FUT1JfQklUX0NBTExC
QUNLKGxvd2VyQml0TmFtZSwgY2FwaXRhbEJpdE5hbWUpIFwKICAgICAgICAgZnVuYyhtXyAjIyBs
b3dlckJpdE5hbWUsICNjYXBpdGFsQml0TmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaGVhcC9NYXJrZWRCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVh
cC9NYXJrZWRCbG9jay5jcHAKaW5kZXggMTZkNTE5YjIwMDFjNWJiM2E3ZDY2NzAxMDgzZTcxOGJk
YTUxN2U1Yy4uODdiNzYzZjFkNzQyMzFkMjk0ZmRjYTk1MzU2ZDUwYTgyYTBkNTViNSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkQmxvY2suY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZEJsb2NrLmNwcApAQCAtNDQsNyArNDQsNyBA
QCBNYXJrZWRCbG9jazo6SGFuZGxlKiBNYXJrZWRCbG9jazo6dHJ5Q3JlYXRlKEhlYXAmIGhlYXAp
CiAgICAgaWYgKGNvbXB1dGVCYWxhbmNlKSB7CiAgICAgICAgIGJhbGFuY2UrKzsKICAgICAgICAg
aWYgKCEoYmFsYW5jZSAlIDEwKSkKLSAgICAgICAgICAgIGRhdGFMb2codG9DU3RyaW5nKCJNYXJr
ZWRCbG9jayBCYWxhbmNlOiAiLCBiYWxhbmNlLCAiXG4iKSk7CisgICAgICAgICAgICBkYXRhTG9n
KCJNYXJrZWRCbG9jayBCYWxhbmNlOiAiLCBiYWxhbmNlLCAiXG4iKTsKICAgICB9CiAgICAgdm9p
ZCogYmxvY2tTcGFjZSA9IHRyeUZhc3RBbGlnbmVkTWFsbG9jKGJsb2NrU2l6ZSwgYmxvY2tTaXpl
KTsKICAgICBpZiAoIWJsb2NrU3BhY2UpCkBAIC03MSw3ICs3MSw3IEBAIE1hcmtlZEJsb2NrOjpI
YW5kbGU6On5IYW5kbGUoKQogICAgIGlmIChjb21wdXRlQmFsYW5jZSkgewogICAgICAgICBiYWxh
bmNlLS07CiAgICAgICAgIGlmICghKGJhbGFuY2UgJSAxMCkpCi0gICAgICAgICAgICBkYXRhTG9n
KHRvQ1N0cmluZygiTWFya2VkQmxvY2sgQmFsYW5jZTogIiwgYmFsYW5jZSwgIlxuIikpOworICAg
ICAgICAgICAgZGF0YUxvZygiTWFya2VkQmxvY2sgQmFsYW5jZTogIiwgYmFsYW5jZSwgIlxuIik7
CiAgICAgfQogICAgIHJlbW92ZUZyb21BbGxvY2F0b3IoKTsKICAgICBtX2Jsb2NrLT5+TWFya2Vk
QmxvY2soKTsKQEAgLTg1LDcgKzg1LDcgQEAgTWFya2VkQmxvY2s6Ok1hcmtlZEJsb2NrKFZNJiB2
bSwgSGFuZGxlJiBoYW5kbGUpCiAgICAgLCBtX3ZtKCZ2bSkKIHsKICAgICBpZiAoZmFsc2UpCi0g
ICAgICAgIGRhdGFMb2codG9DU3RyaW5nKFJhd1BvaW50ZXIodGhpcyksICI6IEFsbG9jYXRlZC5c
biIpKTsKKyAgICAgICAgZGF0YUxvZyhSYXdQb2ludGVyKHRoaXMpLCAiOiBBbGxvY2F0ZWQuXG4i
KTsKIH0KIAogdGVtcGxhdGU8TWFya2VkQmxvY2s6OkhhbmRsZTo6RW1wdHlNb2RlIGVtcHR5TW9k
ZSwgTWFya2VkQmxvY2s6OkhhbmRsZTo6U3dlZXBNb2RlIHN3ZWVwTW9kZSwgTWFya2VkQmxvY2s6
OkhhbmRsZTo6U3dlZXBEZXN0cnVjdGlvbk1vZGUgZGVzdHJ1Y3Rpb25Nb2RlLCBNYXJrZWRCbG9j
azo6SGFuZGxlOjpTY3JpYmJsZU1vZGUgc2NyaWJibGVNb2RlLCBNYXJrZWRCbG9jazo6SGFuZGxl
OjpOZXdseUFsbG9jYXRlZE1vZGUgbmV3bHlBbGxvY2F0ZWRNb2RlLCBNYXJrZWRCbG9jazo6SGFu
ZGxlOjpNYXJrc01vZGUgbWFya3NNb2RlPgpAQCAtOTgsNyArOTgsNyBAQCBGcmVlTGlzdCBNYXJr
ZWRCbG9jazo6SGFuZGxlOjpzcGVjaWFsaXplZFN3ZWVwKCkKICAgICBNYXJrZWRCbG9jayYgYmxv
Y2sgPSB0aGlzLT5ibG9jaygpOwogICAgIAogICAgIGlmIChmYWxzZSkKLSAgICAgICAgZGF0YUxv
Zyh0b0NTdHJpbmcoUmF3UG9pbnRlcih0aGlzKSwgIi8iLCBSYXdQb2ludGVyKCZibG9jayksICI6
IE1hcmtlZEJsb2NrOjpIYW5kbGU6OnNwZWNpYWxpemVkU3dlZXAhXG4iKSk7CisgICAgICAgIGRh
dGFMb2coUmF3UG9pbnRlcih0aGlzKSwgIi8iLCBSYXdQb2ludGVyKCZibG9jayksICI6IE1hcmtl
ZEJsb2NrOjpIYW5kbGU6OnNwZWNpYWxpemVkU3dlZXAhXG4iKTsKICAgICAKICAgICBpZiAoT3B0
aW9uczo6dXNlQnVtcEFsbG9jYXRvcigpCiAgICAgICAgICYmIGVtcHR5TW9kZSA9PSBJc0VtcHR5
CkBAIC0xMDYsMTEgKzEwNiwxNCBAQCBGcmVlTGlzdCBNYXJrZWRCbG9jazo6SGFuZGxlOjpzcGVj
aWFsaXplZFN3ZWVwKCkKICAgICAgICAgCiAgICAgICAgIC8vIFRoaXMgaXMgYW4gaW5jcmVkaWJs
eSBwb3dlcmZ1bCBhc3NlcnRpb24gdGhhdCBjaGVja3MgdGhlIHNhbml0eSBvZiBvdXIgYmxvY2sg
Yml0cy4KICAgICAgICAgaWYgKG1hcmtzTW9kZSA9PSBNYXJrc05vdFN0YWxlICYmICFibG9jay5t
X21hcmtzLmlzRW1wdHkoKSkgewotICAgICAgICAgICAgZGF0YUxvZyh0b0NTdHJpbmcoIkJsb2Nr
ICIsIFJhd1BvaW50ZXIoJmJsb2NrKSwgIjogbWFya3Mgbm90IGVtcHR5IVxuIikpOwotICAgICAg
ICAgICAgZGF0YUxvZyh0b0NTdHJpbmcoIkJsb2NrIGxvY2sgaXMgaGVsZDogIiwgYmxvY2subV9s
b2NrLmlzSGVsZCgpLCAiXG4iKSk7Ci0gICAgICAgICAgICBkYXRhTG9nKHRvQ1N0cmluZygiTWFy
a2luZyB2ZXJzaW9uIG9mIGJsb2NrOiAiLCBibG9jay5tX21hcmtpbmdWZXJzaW9uLCAiXG4iKSk7
Ci0gICAgICAgICAgICBkYXRhTG9nKHRvQ1N0cmluZygiTWFya2luZyB2ZXJzaW9uIG9mIGhlYXA6
ICIsIHNwYWNlKCktPm1hcmtpbmdWZXJzaW9uKCksICJcbiIpKTsKLSAgICAgICAgICAgIFJFTEVB
U0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICBXVEY6OmRhdGFGaWxlKCkuYXRv
bWljYWxseSgKKyAgICAgICAgICAgICAgICBbJl0gKFByaW50U3RyZWFtJiBvdXQpIHsKKyAgICAg
ICAgICAgICAgICAgICAgb3V0LnByaW50KCJCbG9jayAiLCBSYXdQb2ludGVyKCZibG9jayksICI6
IG1hcmtzIG5vdCBlbXB0eSFcbiIpOworICAgICAgICAgICAgICAgICAgICBvdXQucHJpbnQoIkJs
b2NrIGxvY2sgaXMgaGVsZDogIiwgYmxvY2subV9sb2NrLmlzSGVsZCgpLCAiXG4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgb3V0LnByaW50KCJNYXJraW5nIHZlcnNpb24gb2YgYmxvY2s6ICIsIGJs
b2NrLm1fbWFya2luZ1ZlcnNpb24sICJcbiIpOworICAgICAgICAgICAgICAgICAgICBvdXQucHJp
bnQoIk1hcmtpbmcgdmVyc2lvbiBvZiBoZWFwOiAiLCBzcGFjZSgpLT5tYXJraW5nVmVyc2lvbigp
LCAiXG4iKTsKKyAgICAgICAgICAgICAgICAgICAgVU5SRUFDSEFCTEVfRk9SX1BMQVRGT1JNKCk7
CisgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIGNoYXIq
IHN0YXJ0T2ZMYXN0Q2VsbCA9IHN0YXRpY19jYXN0PGNoYXIqPihjZWxsQWxpZ24oYmxvY2suYXRv
bXMoKSArIG1fZW5kQXRvbSAtIDEpKTsKQEAgLTEyNyw3ICsxMzAsNyBAQCBGcmVlTGlzdCBNYXJr
ZWRCbG9jazo6SGFuZGxlOjpzcGVjaWFsaXplZFN3ZWVwKCkKICAgICAgICAgICAgIGJsb2NrLm1f
bG9jay51bmxvY2soKTsKICAgICAgICAgRnJlZUxpc3QgcmVzdWx0ID0gRnJlZUxpc3Q6OmJ1bXAo
cGF5bG9hZEVuZCwgcGF5bG9hZEVuZCAtIHBheWxvYWRCZWdpbik7CiAgICAgICAgIGlmIChmYWxz
ZSkKLSAgICAgICAgICAgIGRhdGFMb2codG9DU3RyaW5nKCJRdWlja2x5IHN3ZXB0IGJsb2NrICIs
IFJhd1BvaW50ZXIodGhpcyksICIgd2l0aCBjZWxsIHNpemUgIiwgY2VsbFNpemUoKSwgIiBhbmQg
YXR0cmlidXRlcyAiLCBtX2F0dHJpYnV0ZXMsICI6ICIsIHJlc3VsdCwgIlxuIikpOworICAgICAg
ICAgICAgZGF0YUxvZygiUXVpY2tseSBzd2VwdCBibG9jayAiLCBSYXdQb2ludGVyKHRoaXMpLCAi
IHdpdGggY2VsbCBzaXplICIsIGNlbGxTaXplKCksICIgYW5kIGF0dHJpYnV0ZXMgIiwgbV9hdHRy
aWJ1dGVzLCAiOiAiLCByZXN1bHQsICJcbiIpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAg
IH0KIApAQCAtMTg2LDcgKzE4OSw3IEBAIEZyZWVMaXN0IE1hcmtlZEJsb2NrOjpIYW5kbGU6OnNw
ZWNpYWxpemVkU3dlZXAoKQogICAgIGVsc2UgaWYgKGlzRW1wdHkpCiAgICAgICAgIG1fYWxsb2Nh
dG9yLT5zZXRJc0VtcHR5KE5vTG9ja2luZ05lY2Vzc2FyeSwgdGhpcywgdHJ1ZSk7CiAgICAgaWYg
KGZhbHNlKQotICAgICAgICBkYXRhTG9nKHRvQ1N0cmluZygiU2xvd2x5IHN3ZXB0IGJsb2NrICIs
IFJhd1BvaW50ZXIoJmJsb2NrKSwgIiB3aXRoIGNlbGwgc2l6ZSAiLCBjZWxsU2l6ZSgpLCAiIGFu
ZCBhdHRyaWJ1dGVzICIsIG1fYXR0cmlidXRlcywgIjogIiwgcmVzdWx0LCAiXG4iKSk7CisgICAg
ICAgIGRhdGFMb2coIlNsb3dseSBzd2VwdCBibG9jayAiLCBSYXdQb2ludGVyKCZibG9jayksICIg
d2l0aCBjZWxsIHNpemUgIiwgY2VsbFNpemUoKSwgIiBhbmQgYXR0cmlidXRlcyAiLCBtX2F0dHJp
YnV0ZXMsICI6ICIsIHJlc3VsdCwgIlxuIik7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAt
MjYyLDcgKzI2NSw3IEBAIEZyZWVMaXN0IE1hcmtlZEJsb2NrOjpIYW5kbGU6OnN3ZWVwSGVscGVy
U2VsZWN0TWFya3NNb2RlKCkKICAgICBIZWFwVmVyc2lvbiBtYXJraW5nVmVyc2lvbiA9IHNwYWNl
KCktPm1hcmtpbmdWZXJzaW9uKCk7CiAgICAgYm9vbCBtYXJrc0FyZVVzZWZ1bCA9ICFibG9jaygp
LmFyZU1hcmtzU3RhbGUobWFya2luZ1ZlcnNpb24pOwogICAgIAotICAgIGlmIChzcGFjZSgpLT5p
c01hcmtpbmcoKSAmJiBoZWFwKCktPmNvbGxlY3Rpb25TY29wZSgpID09IENvbGxlY3Rpb25TY29w
ZTo6RnVsbCkKKyAgICBpZiAoc3BhY2UoKS0+aXNNYXJraW5nKCkpCiAgICAgICAgIG1hcmtzQXJl
VXNlZnVsIHw9IGJsb2NrKCkubWFya3NDb252ZXlMaXZlbmVzc0R1cmluZ01hcmtpbmcobWFya2lu
Z1ZlcnNpb24pOwogICAgIAogICAgIGlmICghbWFya3NBcmVVc2VmdWwpCkBAIC0yODcsMTIgKzI5
MCwxMiBAQCB2b2lkIE1hcmtlZEJsb2NrOjpIYW5kbGU6OnN0b3BBbGxvY2F0aW5nKGNvbnN0IEZy
ZWVMaXN0JiBmcmVlTGlzdCkKICAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKGJsb2NrKCkubV9s
b2NrKTsKICAgICAKICAgICBpZiAoZmFsc2UpCi0gICAgICAgIGRhdGFMb2codG9DU3RyaW5nKFJh
d1BvaW50ZXIodGhpcyksICI6IE1hcmtlZEJsb2NrOjpIYW5kbGU6OnN0b3BBbGxvY2F0aW5nIVxu
IikpOworICAgICAgICBkYXRhTG9nKFJhd1BvaW50ZXIodGhpcyksICI6IE1hcmtlZEJsb2NrOjpI
YW5kbGU6OnN0b3BBbGxvY2F0aW5nIVxuIik7CiAgICAgQVNTRVJUKCFhbGxvY2F0b3IoKS0+aXNB
bGxvY2F0ZWQoTm9Mb2NraW5nTmVjZXNzYXJ5LCB0aGlzKSk7CiAKICAgICBpZiAoIWlzRnJlZUxp
c3RlZCgpKSB7CiAgICAgICAgIGlmIChmYWxzZSkKLSAgICAgICAgICAgIGRhdGFMb2codG9DU3Ry
aW5nKCJUaGVyZSBhaW4ndCBubyBuZXdseSBhbGxvY2F0ZWQuXG4iKSk7CisgICAgICAgICAgICBk
YXRhTG9nKCJUaGVyZSBhaW4ndCBubyBuZXdseSBhbGxvY2F0ZWQuXG4iKTsKICAgICAgICAgLy8g
VGhpcyBtZWFucyB0aGF0IHdlIGVpdGhlciBkaWRuJ3QgdXNlIHRoaXMgYmxvY2sgYXQgYWxsIGZv
ciBhbGxvY2F0aW9uIHNpbmNlIGxhc3QgR0MsCiAgICAgICAgIC8vIG9yIHNvbWVvbmUgaGFkIGFs
cmVhZHkgZG9uZSBzdG9wQWxsb2NhdGluZygpIGJlZm9yZS4KICAgICAgICAgQVNTRVJUKGZyZWVM
aXN0LmFsbG9jYXRpb25XaWxsRmFpbCgpKTsKQEAgLTMwMCw3ICszMDMsNyBAQCB2b2lkIE1hcmtl
ZEJsb2NrOjpIYW5kbGU6OnN0b3BBbGxvY2F0aW5nKGNvbnN0IEZyZWVMaXN0JiBmcmVlTGlzdCkK
ICAgICB9CiAgICAgCiAgICAgaWYgKGZhbHNlKQotICAgICAgICBkYXRhTG9nKHRvQ1N0cmluZygi
RnJlZSBsaXN0OiAiLCBmcmVlTGlzdCwgIlxuIikpOworICAgICAgICBkYXRhTG9nKCJGcmVlIGxp
c3Q6ICIsIGZyZWVMaXN0LCAiXG4iKTsKICAgICAKICAgICAvLyBSb2xsIGJhY2sgdG8gYSBjb2hl
cmVudCBzdGF0ZSBmb3IgSGVhcCBpbnRyb3NwZWN0aW9uLiBDZWxscyBuZXdseQogICAgIC8vIGFs
bG9jYXRlZCBmcm9tIG91ciBmcmVlIGxpc3QgYXJlIG5vdCBjdXJyZW50bHkgbWFya2VkLCBzbyB3
ZSBuZWVkIGFub3RoZXIKQEAgLTMxOSw3ICszMjIsNyBAQCB2b2lkIE1hcmtlZEJsb2NrOjpIYW5k
bGU6OnN0b3BBbGxvY2F0aW5nKGNvbnN0IEZyZWVMaXN0JiBmcmVlTGlzdCkKICAgICAgICAgZnJl
ZUxpc3QsCiAgICAgICAgIFsmXSAoSGVhcENlbGwqIGNlbGwpIHsKICAgICAgICAgICAgIGlmIChm
YWxzZSkKLSAgICAgICAgICAgICAgICBkYXRhTG9nKHRvQ1N0cmluZygiRnJlZSBjZWxsOiAiLCBS
YXdQb2ludGVyKGNlbGwpLCAiXG4iKSk7CisgICAgICAgICAgICAgICAgZGF0YUxvZygiRnJlZSBj
ZWxsOiAiLCBSYXdQb2ludGVyKGNlbGwpLCAiXG4iKTsKICAgICAgICAgICAgIGlmIChtX2F0dHJp
YnV0ZXMuZGVzdHJ1Y3Rpb24gPT0gTmVlZHNEZXN0cnVjdGlvbikKICAgICAgICAgICAgICAgICBj
ZWxsLT56YXAoKTsKICAgICAgICAgICAgIGNsZWFyTmV3bHlBbGxvY2F0ZWQoY2VsbCk7CkBAIC0z
NDYsMTMgKzM0OSwxMyBAQCBGcmVlTGlzdCBNYXJrZWRCbG9jazo6SGFuZGxlOjpyZXN1bWVBbGxv
Y2F0aW5nKCkKICAgICAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhibG9jaygpLm1fbG9jayk7
CiAgICAgICAgIAogICAgICAgICBpZiAoZmFsc2UpCi0gICAgICAgICAgICBkYXRhTG9nKHRvQ1N0
cmluZyhSYXdQb2ludGVyKHRoaXMpLCAiOiBNYXJrZWRCbG9jazo6SGFuZGxlOjpyZXN1bWVBbGxv
Y2F0aW5nIVxuIikpOworICAgICAgICAgICAgZGF0YUxvZyhSYXdQb2ludGVyKHRoaXMpLCAiOiBN
YXJrZWRCbG9jazo6SGFuZGxlOjpyZXN1bWVBbGxvY2F0aW5nIVxuIik7CiAgICAgICAgIEFTU0VS
VCghYWxsb2NhdG9yKCktPmlzQWxsb2NhdGVkKE5vTG9ja2luZ05lY2Vzc2FyeSwgdGhpcykpOwog
ICAgICAgICBBU1NFUlQoIWlzRnJlZUxpc3RlZCgpKTsKICAgICAgICAgCiAgICAgICAgIGlmICgh
aGFzQW55TmV3bHlBbGxvY2F0ZWQoKSkgewogICAgICAgICAgICAgaWYgKGZhbHNlKQotICAgICAg
ICAgICAgICAgIGRhdGFMb2codG9DU3RyaW5nKCJUaGVyZSBhaW4ndCBubyBuZXdseSBhbGxvY2F0
ZWQuXG4iKSk7CisgICAgICAgICAgICAgICAgZGF0YUxvZygiVGhlcmUgYWluJ3Qgbm8gbmV3bHkg
YWxsb2NhdGVkLlxuIik7CiAgICAgICAgICAgICAvLyBUaGlzIG1lYW5zIHdlIGhhZCBhbHJlYWR5
IGV4aGF1c3RlZCB0aGUgYmxvY2sgd2hlbiB3ZSBzdG9wcGVkIGFsbG9jYXRpb24uCiAgICAgICAg
ICAgICByZXR1cm4gRnJlZUxpc3QoKTsKICAgICAgICAgfQpAQCAtNDAxLDcgKzQwNCw3IEBAIHZv
aWQgTWFya2VkQmxvY2s6OmFib3V0VG9NYXJrU2xvdyhIZWFwVmVyc2lvbiBtYXJraW5nVmVyc2lv
bikKICAgICBpZiAoaGFuZGxlKCkuYWxsb2NhdG9yKCktPmlzQWxsb2NhdGVkKGhvbGRMb2NrKGFs
bG9jYXRvci0+Yml0dmVjdG9yTG9jaygpKSwgJmhhbmRsZSgpKQogICAgICAgICB8fCAhbWFya3ND
b252ZXlMaXZlbmVzc0R1cmluZ01hcmtpbmcobWFya2luZ1ZlcnNpb24pKSB7CiAgICAgICAgIGlm
IChmYWxzZSkKLSAgICAgICAgICAgIGRhdGFMb2codG9DU3RyaW5nKFJhd1BvaW50ZXIodGhpcyks
ICI6IENsZWFyaW5nIG1hcmtzIHdpdGhvdXQgZG9pbmcgYW55dGhpbmcgZWxzZS5cbiIpKTsKKyAg
ICAgICAgICAgIGRhdGFMb2coUmF3UG9pbnRlcih0aGlzKSwgIjogQ2xlYXJpbmcgbWFya3Mgd2l0
aG91dCBkb2luZyBhbnl0aGluZyBlbHNlLlxuIik7CiAgICAgICAgIC8vIFdlIGFscmVhZHkga25v
dyB0aGF0IHRoZSBibG9jayBpcyBmdWxsIGFuZCBpcyBhbHJlYWR5IHJlY29nbml6ZWQgYXMgc3Vj
aCwgb3IgdGhhdCB0aGUKICAgICAgICAgLy8gYmxvY2sgZGlkIG5vdCBzdXJ2aXZlIHRoZSBwcmV2
aW91cyBHQy4gU28sIHdlIGNhbiBjbGVhciBtYXJrIGJpdHMgdGhlIG9sZCBmYXNoaW9uZWQKICAg
ICAgICAgLy8gd2F5LiBOb3RlIHRoYXQgaXQncyBwb3NzaWJsZSBmb3Igc3VjaCBhIGJsb2NrIHRv
IGhhdmUgbmV3bHlBbGxvY2F0ZWQgd2l0aCBhbiB1cC10by0KQEAgLTQxMSw3ICs0MTQsNyBAQCB2
b2lkIE1hcmtlZEJsb2NrOjphYm91dFRvTWFya1Nsb3coSGVhcFZlcnNpb24gbWFya2luZ1ZlcnNp
b24pCiAgICAgICAgIG1fbWFya3MuY2xlYXJBbGwoKTsKICAgICB9IGVsc2UgewogICAgICAgICBp
ZiAoZmFsc2UpCi0gICAgICAgICAgICBkYXRhTG9nKHRvQ1N0cmluZyhSYXdQb2ludGVyKHRoaXMp
LCAiOiBEb2luZyB0aGluZ3MuXG4iKSk7CisgICAgICAgICAgICBkYXRhTG9nKFJhd1BvaW50ZXIo
dGhpcyksICI6IERvaW5nIHRoaW5ncy5cbiIpOwogICAgICAgICBIZWFwVmVyc2lvbiBuZXdseUFs
bG9jYXRlZFZlcnNpb24gPSBzcGFjZSgpLT5uZXdseUFsbG9jYXRlZFZlcnNpb24oKTsKICAgICAg
ICAgaWYgKGhhbmRsZSgpLm1fbmV3bHlBbGxvY2F0ZWRWZXJzaW9uID09IG5ld2x5QWxsb2NhdGVk
VmVyc2lvbikgewogICAgICAgICAgICAgLy8gTWVyZ2UgdGhlIGNvbnRlbnRzIG9mIG1hcmtlZCBp
bnRvIG5ld2x5QWxsb2NhdGVkLiBJZiB3ZSBnZXQgdGhlIGZ1bGwgc2V0IG9mIGJpdHMKQEAgLTQ3
Nyw3ICs0ODAsNyBAQCB2b2lkIE1hcmtlZEJsb2NrOjpIYW5kbGU6OmRpZENvbnN1bWVGcmVlTGlz
dCgpCiB7CiAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhibG9jaygpLm1fbG9jayk7CiAgICAg
aWYgKGZhbHNlKQotICAgICAgICBkYXRhTG9nKHRvQ1N0cmluZyhSYXdQb2ludGVyKHRoaXMpLCAi
OiBNYXJrZWRCbG9jazo6SGFuZGxlOjpkaWRDb25zdW1lRnJlZUxpc3QhXG4iKSk7CisgICAgICAg
IGRhdGFMb2coUmF3UG9pbnRlcih0aGlzKSwgIjogTWFya2VkQmxvY2s6OkhhbmRsZTo6ZGlkQ29u
c3VtZUZyZWVMaXN0IVxuIik7CiAgICAgQVNTRVJUKGlzRnJlZUxpc3RlZCgpKTsKICAgICBtX2lz
RnJlZUxpc3RlZCA9IGZhbHNlOwogICAgIGFsbG9jYXRvcigpLT5zZXRJc0FsbG9jYXRlZChOb0xv
Y2tpbmdOZWNlc3NhcnksIHRoaXMsIHRydWUpOwpAQCAtNTczLDYgKzU3NiwxNiBAQCB2b2lkIE1h
cmtlZEJsb2NrOjphc3NlcnRWYWxpZENlbGwoVk0mIHZtLCBIZWFwQ2VsbCogY2VsbCkgY29uc3QK
IH0KICNlbmRpZgogCit2b2lkIE1hcmtlZEJsb2NrOjpIYW5kbGU6OmR1bXBTdGF0ZShQcmludFN0
cmVhbSYgb3V0KQoreworICAgIENvbW1hUHJpbnRlciBjb21tYTsKKyAgICBhbGxvY2F0b3IoKS0+
Zm9yRWFjaEJpdFZlY3RvcldpdGhOYW1lKAorICAgICAgICBob2xkTG9jayhhbGxvY2F0b3IoKS0+
Yml0dmVjdG9yTG9jaygpKSwKKyAgICAgICAgWyZdIChGYXN0Qml0VmVjdG9yJiBiaXR2ZWN0b3Is
IGNvbnN0IGNoYXIqIG5hbWUpIHsKKyAgICAgICAgICAgIG91dC5wcmludChjb21tYSwgbmFtZSwg
IjoiLCBiaXR2ZWN0b3JbaW5kZXgoKV0gPyAiWUVTIiA6ICJubyIpOworICAgICAgICB9KTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgSlNDCiAKIG5hbWVzcGFjZSBXVEYgewpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkQmxvY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL01hcmtlZEJsb2NrLmgKaW5kZXggMzE1ZmRmYmY1NDY5OTNlYjNmN2M0NzFjNGM0
NDY5OTgzYzFhZjkxNi4uODVjNjUzOTMzYjQwZTJmYWVhZjNkZTBmYjg2ZDdlMGRmOTMwYzk1NiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkQmxvY2suaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRCbG9jay5oCkBAIC0xODcsNiArMTg3
LDggQEAgcHVibGljOgogICAgICAgICB2b2lkIGRpZEFkZFRvQWxsb2NhdG9yKE1hcmtlZEFsbG9j
YXRvciosIHNpemVfdCBpbmRleCk7CiAgICAgICAgIHZvaWQgZGlkUmVtb3ZlRnJvbUFsbG9jYXRv
cigpOwogICAgICAgICAKKyAgICAgICAgdm9pZCBkdW1wU3RhdGUoUHJpbnRTdHJlYW0mKTsKKyAg
ICAgICAgCiAgICAgcHJpdmF0ZToKICAgICAgICAgSGFuZGxlKEhlYXAmLCB2b2lkKik7CiAgICAg
ICAgIApAQCAtMjk4LDYgKzMwMCw5IEBAIHB1YmxpYzoKICAgICAKICAgICB2b2lkIHJlc2V0TWFy
a3MoKTsKICAgICAKKyAgICBib29sIGlzTWFya2VkUmF3KGNvbnN0IHZvaWQqIHApOworICAgIEhl
YXBWZXJzaW9uIG1hcmtpbmdWZXJzaW9uKCkgY29uc3QgeyByZXR1cm4gbV9tYXJraW5nVmVyc2lv
bjsgfQorICAgIAogcHJpdmF0ZToKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGF0b21BbGlnbm1l
bnRNYXNrID0gYXRvbVNpemUgLSAxOwogCkBAIC01MTgsOSArNTIzLDE0IEBAIGlubGluZSB2b2lk
IE1hcmtlZEJsb2NrOjpIYW5kbGU6OmFzc2VydE1hcmtzTm90U3RhbGUoKQogICAgIGJsb2NrKCku
YXNzZXJ0TWFya3NOb3RTdGFsZSgpOwogfQogCitpbmxpbmUgYm9vbCBNYXJrZWRCbG9jazo6aXNN
YXJrZWRSYXcoY29uc3Qgdm9pZCogcCkKK3sKKyAgICByZXR1cm4gbV9tYXJrcy5nZXQoYXRvbU51
bWJlcihwKSk7Cit9CisKIGlubGluZSBib29sIE1hcmtlZEJsb2NrOjppc01hcmtlZChIZWFwVmVy
c2lvbiBtYXJraW5nVmVyc2lvbiwgY29uc3Qgdm9pZCogcCkKIHsKLSAgICByZXR1cm4gYXJlTWFy
a3NTdGFsZShtYXJraW5nVmVyc2lvbikgPyBmYWxzZSA6IG1fbWFya3MuZ2V0KGF0b21OdW1iZXIo
cCkpOworICAgIHJldHVybiBhcmVNYXJrc1N0YWxlKG1hcmtpbmdWZXJzaW9uKSA/IGZhbHNlIDog
aXNNYXJrZWRSYXcocCk7CiB9CiAKIGlubGluZSBib29sIE1hcmtlZEJsb2NrOjppc01hcmtlZENv
bmN1cnJlbnRseShIZWFwVmVyc2lvbiBtYXJraW5nVmVyc2lvbiwgY29uc3Qgdm9pZCogcCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZEJsb2NrSW5saW5lcy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkQmxvY2tJbmxpbmVzLmgKaW5kZXgg
NzQxNWMxYzZkM2RmMzJjNzZiZDU0NjA4NDk3Mzk1ZWZkMGU1ZDM5Zi4uMzU4MTU3OWE1MWYyNzU0
ZjcwYWMwMDQ5YTIwNWZlY2Y5NGY1OTQwMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvTWFya2VkQmxvY2tJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2hlYXAvTWFya2VkQmxvY2tJbmxpbmVzLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJN
YXJrZWRBbGxvY2F0b3IuaCIKICNpbmNsdWRlICJNYXJrZWRCbG9jay5oIgogI2luY2x1ZGUgIk1h
cmtlZFNwYWNlLmgiCisjaW5jbHVkZSAiVk0uaCIKIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTUx
LDYgKzUyLDggQEAgaW5saW5lIGJvb2wgTWFya2VkQmxvY2s6Om1hcmtzQ29udmV5TGl2ZW5lc3NE
dXJpbmdNYXJraW5nKEhlYXBWZXJzaW9uIG1hcmtpbmdWZXIKICAgICAvLyBiYWNrIiBzdGF0ZSBv
bmx5IG1ha2VzIHNlbnNlIHdoZW4gd2UncmUgaW4gYSBjb25jdXJyZW50IGNvbGxlY3Rpb24gYW5k
IGhhdmUgdG8gYmUKICAgICAvLyBjb25zZXJ2YXRpdmUuCiAgICAgQVNTRVJUKHNwYWNlKCktPmlz
TWFya2luZygpKTsKKyAgICBpZiAoaGVhcCgpLT5jb2xsZWN0aW9uU2NvcGUoKSAhPSBDb2xsZWN0
aW9uU2NvcGU6OkZ1bGwpCisgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4gbV9tYXJr
aW5nVmVyc2lvbiA9PSBNYXJrZWRTcGFjZTo6bnVsbFZlcnNpb24KICAgICAgICAgfHwgTWFya2Vk
U3BhY2U6Om5leHRWZXJzaW9uKG1fbWFya2luZ1ZlcnNpb24pID09IG1hcmtpbmdWZXJzaW9uOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvU2xvdFZpc2l0b3IuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvU2xvdFZpc2l0b3IuY3BwCmluZGV4IDhkNDM3
N2ZkMTM3Y2Q5ODM1M2Y2NDc4ZDRiMmQ5NzRlMmE5NDM0NzMuLjkzZjdmNTE3ODA5MWNhNDdkNWMy
NDk1Y2YwYTMwZDMwMWViZjg1NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9o
ZWFwL1Nsb3RWaXNpdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TbG90
VmlzaXRvci5jcHAKQEAgLTEzNSwxNyArMTM1LDc0IEBAIHZvaWQgU2xvdFZpc2l0b3I6OmFwcGVu
ZEpTQ2VsbE9yQXV4aWxpYXJ5KEhlYXBDZWxsKiBoZWFwQ2VsbCkKICAgICAKICAgICBBU1NFUlQo
IW1faXNDaGVja2luZ0ZvckRlZmF1bHRNYXJrVmlvbGF0aW9uKTsKICAgICAKKyAgICBhdXRvIHZh
bGlkYXRlQ2VsbCA9IFsmXSAoSlNDZWxsKiBqc0NlbGwpIHsKKyAgICAgICAgU3RydWN0dXJlSUQg
c3RydWN0dXJlSUQgPSBqc0NlbGwtPnN0cnVjdHVyZUlEKCk7CisgICAgICAgIAorICAgICAgICBh
dXRvIGRpZSA9IFsmXSAoY29uc3QgY2hhciogdGV4dCkgeworICAgICAgICAgICAgV1RGOjpkYXRh
RmlsZSgpLmF0b21pY2FsbHkoCisgICAgICAgICAgICAgICAgWyZdIChQcmludFN0cmVhbSYgb3V0
KSB7CisgICAgICAgICAgICAgICAgICAgIG91dC5wcmludCh0ZXh0KTsKKyAgICAgICAgICAgICAg
ICAgICAgb3V0LnByaW50KCJHQyB0eXBlOiAiLCBoZWFwKCktPmNvbGxlY3Rpb25TY29wZSgpLCAi
XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgb3V0LnByaW50KCJPYmplY3QgYXQ6ICIsIFJhd1Bv
aW50ZXIoanNDZWxsKSwgIlxuIik7CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICAgICAgICAgICAg
ICAgICAgb3V0LnByaW50KCJTdHJ1Y3R1cmUgSUQ6ICIsIHN0cnVjdHVyZUlELCAiICgweCIsIGZv
cm1hdCgiJXgiLCBzdHJ1Y3R1cmVJRCksICIpXG4iKTsKKyAgICAgICAgICAgICAgICAgICAgb3V0
LnByaW50KCJTdHJ1Y3R1cmUgSUQgdGFibGUgc2l6ZTogIiwgaGVhcCgpLT5zdHJ1Y3R1cmVJRFRh
YmxlKCkuc2l6ZSgpLCAiXG4iKTsKKyNlbHNlCisgICAgICAgICAgICAgICAgICAgIG91dC5wcmlu
dCgiU3RydWN0dXJlOiAiLCBSYXdQb2ludGVyKHN0cnVjdHVyZUlEKSwgIlxuIik7CisjZW5kaWYK
KyAgICAgICAgICAgICAgICAgICAgb3V0LnByaW50KCJPYmplY3QgY29udGVudHM6Iik7CisgICAg
ICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCAyOyArK2kpCisgICAgICAg
ICAgICAgICAgICAgICAgICBvdXQucHJpbnQoIiAiLCBmb3JtYXQoIjB4JTAxNmxseCIsIGJpdHdp
c2VfY2FzdDx1aW50NjRfdCo+KGpzQ2VsbClbaV0pKTsKKyAgICAgICAgICAgICAgICAgICAgb3V0
LnByaW50KCJcbiIpOworICAgICAgICAgICAgICAgICAgICBDZWxsQ29udGFpbmVyIGNvbnRhaW5l
ciA9IGpzQ2VsbC0+Y2VsbENvbnRhaW5lcigpOworICAgICAgICAgICAgICAgICAgICBvdXQucHJp
bnQoIklzIG1hcmtlZDogIiwgY29udGFpbmVyLmlzTWFya2VkKGpzQ2VsbCksICJcbiIpOworICAg
ICAgICAgICAgICAgICAgICBvdXQucHJpbnQoIklzIG5ld2x5IGFsbG9jYXRlZDogIiwgY29udGFp
bmVyLmlzTmV3bHlBbGxvY2F0ZWQoanNDZWxsKSwgIlxuIik7CisgICAgICAgICAgICAgICAgICAg
IGlmIChjb250YWluZXIuaXNNYXJrZWRCbG9jaygpKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICBNYXJrZWRCbG9jayYgYmxvY2sgPSBjb250YWluZXIubWFya2VkQmxvY2soKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIG91dC5wcmludCgiQmxvY2s6ICIsIFJhd1BvaW50ZXIoJmJsb2NrKSwg
IlxuIik7CisgICAgICAgICAgICAgICAgICAgICAgICBibG9jay5oYW5kbGUoKS5kdW1wU3RhdGUo
b3V0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG91dC5wcmludCgiXG4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIG91dC5wcmludCgiSXMgbWFya2VkIHJhdzogIiwgYmxvY2suaXNNYXJr
ZWRSYXcoanNDZWxsKSwgIlxuIik7CisgICAgICAgICAgICAgICAgICAgICAgICBvdXQucHJpbnQo
Ik1hcmtpbmcgdmVyc2lvbjogIiwgYmxvY2subWFya2luZ1ZlcnNpb24oKSwgIlxuIik7CisgICAg
ICAgICAgICAgICAgICAgICAgICBvdXQucHJpbnQoIkhlYXAgbWFya2luZyB2ZXJzaW9uOiAiLCBo
ZWFwKCktPm9iamVjdFNwYWNlKCkubWFya2luZ1ZlcnNpb24oKSwgIlxuIik7CisgICAgICAgICAg
ICAgICAgICAgICAgICBvdXQucHJpbnQoIklzIG5ld2x5IGFsbG9jYXRlZCByYXc6ICIsIGJsb2Nr
LmhhbmRsZSgpLmlzTmV3bHlBbGxvY2F0ZWQoanNDZWxsKSwgIlxuIik7CisgICAgICAgICAgICAg
ICAgICAgICAgICBvdXQucHJpbnQoIk5ld2x5IGFsbG9jYXRlZCB2ZXJzaW9uOiAiLCBibG9jay5o
YW5kbGUoKS5uZXdseUFsbG9jYXRlZFZlcnNpb24oKSwgIlxuIik7CisgICAgICAgICAgICAgICAg
ICAgICAgICBvdXQucHJpbnQoIkhlYXAgbmV3bHkgYWxsb2NhdGVkIHZlcnNpb246ICIsIGhlYXAo
KS0+b2JqZWN0U3BhY2UoKS5uZXdseUFsbG9jYXRlZFZlcnNpb24oKSwgIlxuIik7CisgICAgICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgVU5SRUFDSEFCTEVfRk9SX1BMQVRG
T1JNKCk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgIH07CisgICAgICAgIAorICAgICAg
ICAvLyBJdCdzIG5vdCBPSyBmb3IgdGhlIHN0cnVjdHVyZSB0byBiZSBudWxsIGF0IGFueSBHQyBz
Y2FuIHBvaW50LiBXZSBtdXN0IG5vdCBHQyB3aGlsZQorICAgICAgICAvLyBhbiBvYmplY3QgaXMg
bm90IGZ1bGx5IGluaXRpYWxpemVkLgorICAgICAgICBpZiAoIXN0cnVjdHVyZUlEKQorICAgICAg
ICAgICAgZGllKCJHQyBzY2FuIGZvdW5kIGNvcnJ1cHQgb2JqZWN0OiBzdHJ1Y3R1cmVJRCBpcyB6
ZXJvIVxuIik7CisgICAgICAgIAorICAgICAgICAvLyBJdCdzIG5vdCBPSyBmb3IgdGhlIHN0cnVj
dHVyZSB0byBiZSBudWtlZCBhdCBhbnkgR0Mgc2NhbiBwb2ludC4KKyAgICAgICAgaWYgKGlzTnVr
ZWQoc3RydWN0dXJlSUQpKQorICAgICAgICAgICAgZGllKCJHQyBzY2FuIGZvdW5kIG9iamVjdCBp
biBiYWQgc3RhdGU6IHN0cnVjdHVyZUlEIGlzIG51a2VkIVxuIik7CisgICAgICAgIAorI2lmIFVT
RShKU1ZBTFVFNjQpCisgICAgICAgIC8vIFRoaXMgZGV0ZWN0cyB0aGUgd29yc3Qgb2YgdGhlIGJh
ZG5lc3MuCisgICAgICAgIGlmIChzdHJ1Y3R1cmVJRCA+PSBoZWFwKCktPnN0cnVjdHVyZUlEVGFi
bGUoKS5zaXplKCkpCisgICAgICAgICAgICBkaWUoIkdDIHNjYW4gZm91bmQgY29ycnVwdCBvYmpl
Y3Q6IHN0cnVjdHVyZUlEIGlzIG91dCBvZiBib3VuZHMhXG4iKTsKKyNlbmRpZgorICAgIH07Cisg
ICAgCisgICAgLy8gSW4gZGVidWcgbW9kZSwgd2UgdmFsaWRhdGUgYmVmb3JlIG1hcmtpbmcgc2lu
Y2UgdGhpcyBtYWtlcyBpdCBjbGVhcmVyIHdoYXQgdGhlIHByb2JsZW0KKyAgICAvLyB3YXMuIEl0
J3MgYWxzbyBzbG93ZXIsIHNvIHdlIGRvbid0IGRvIGl0IG5vcm1hbGx5LgorICAgIGlmICghQVNT
RVJUX0RJU0FCTEVEICYmIGhlYXBDZWxsLT5jZWxsS2luZCgpID09IEhlYXBDZWxsOjpKU0NlbGwp
CisgICAgICAgIHZhbGlkYXRlQ2VsbChzdGF0aWNfY2FzdDxKU0NlbGwqPihoZWFwQ2VsbCkpOwor
ICAgIAogICAgIGlmIChIZWFwOjp0ZXN0QW5kU2V0TWFya2VkKG1fbWFya2luZ1ZlcnNpb24sIGhl
YXBDZWxsKSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIHN3aXRjaCAoaGVhcENlbGwtPmNl
bGxLaW5kKCkpIHsKICAgICBjYXNlIEhlYXBDZWxsOjpKU0NlbGw6IHsKKyAgICAgICAgLy8gV2Ug
aGF2ZSBhbXBsZSBidWRnZXQgdG8gcGVyZm9ybSB2YWxpZGF0aW9uIGhlcmUuCisgICAgCiAgICAg
ICAgIEpTQ2VsbCoganNDZWxsID0gc3RhdGljX2Nhc3Q8SlNDZWxsKj4oaGVhcENlbGwpOwotICAg
ICAgICAKLSAgICAgICAgaWYgKCFqc0NlbGwtPnN0cnVjdHVyZSgpKSB7Ci0gICAgICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQorICAg
ICAgICB2YWxpZGF0ZUNlbGwoanNDZWxsKTsKICAgICAgICAgCiAgICAgICAgIGpzQ2VsbC0+c2V0
Q2VsbFN0YXRlKENlbGxTdGF0ZTo6R3JleSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L09wdGlvbnMuaAppbmRleCBjMTExZWYxMmM0NDNhYThjOTE5Y2Y5NzhkMWY4YTE4MjNmMDZiODUw
Li5kNjg0NDliMjgwODMzMWM3M2NhNGU1ZmUxNmMxMDIxYTk1MDFjY2NlIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCkBAIC0xODQsNyArMTg0LDcgQEAgdHlwZWRlZiBj
b25zdCBjaGFyKiBvcHRpb25TdHJpbmc7CiAgICAgdihib29sLCB2ZXJib3NlU2FuaXRpemVTdGFj
aywgZmFsc2UsIE5vcm1hbCwgbnVsbHB0cikgXAogICAgIHYoYm9vbCwgdXNlR2VuZXJhdGlvbmFs
R0MsIHRydWUsIE5vcm1hbCwgbnVsbHB0cikgXAogICAgIHYoYm9vbCwgdXNlQ29uY3VycmVudEJh
cnJpZXJzLCB0cnVlLCBOb3JtYWwsIG51bGxwdHIpIFwKLSAgICB2KGJvb2wsIHVzZUNvbmN1cnJl
bnRHQywgZmFsc2UsIE5vcm1hbCwgbnVsbHB0cikgXAorICAgIHYoYm9vbCwgdXNlQ29uY3VycmVu
dEdDLCB0cnVlLCBOb3JtYWwsIG51bGxwdHIpIFwKICAgICB2KGJvb2wsIGNvbGxlY3RDb250aW51
b3VzbHksIGZhbHNlLCBOb3JtYWwsIG51bGxwdHIpIFwKICAgICB2KGRvdWJsZSwgY29sbGVjdENv
bnRpbnVvdXNseVBlcmlvZE1TLCAxLCBOb3JtYWwsIG51bGxwdHIpIFwKICAgICB2KGJvb2wsIGZv
cmNlRmVuY2VkQmFycmllciwgZmFsc2UsIE5vcm1hbCwgbnVsbHB0cikgXApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSURUYWJsZS5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSURUYWJsZS5oCmluZGV4IDc2MjE1YjZm
MjMzYTQ0YTgxZTQ1ODY3ODY2MmFmM2IwZTc0ZTNmZjQuLmEyYzU4ZGY2MGFjNDUyNDk2NmI4MmE2
YzczMzA5ZWQyNTZjOGIxNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cnVjdHVyZUlEVGFibGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmVJRFRhYmxlLmgKQEAgLTkwLDYgKzkwLDggQEAgcHVibGljOgogICAgIFN0cnVj
dHVyZUlEIGFsbG9jYXRlSUQoU3RydWN0dXJlKik7CiAKICAgICB2b2lkIGZsdXNoT2xkVGFibGVz
KCk7CisgICAgCisgICAgc2l6ZV90IHNpemUoKSBjb25zdCB7IHJldHVybiBtX3NpemU7IH0KIAog
cHJpdmF0ZToKICAgICB2b2lkIHJlc2l6ZShzaXplX3QgbmV3Q2FwYWNpdHkpOwpAQCAtMTIxLDcg
KzEyMyw5IEBAIHByaXZhdGU6CiBpbmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmVJRFRhYmxlOjpn
ZXQoU3RydWN0dXJlSUQgc3RydWN0dXJlSUQpCiB7CiAjaWYgVVNFKEpTVkFMVUU2NCkKLSAgICBB
U1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihzdHJ1Y3R1cmVJRCAmJiBzdHJ1Y3R1cmVJ
RCA8IG1fY2FwYWNpdHkpOworICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKHN0
cnVjdHVyZUlEKTsKKyAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighaXNOdWtl
ZChzdHJ1Y3R1cmVJRCkpOworICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKHN0
cnVjdHVyZUlEIDwgbV9jYXBhY2l0eSk7CiAgICAgcmV0dXJuIHRhYmxlKClbc3RydWN0dXJlSURd
LnN0cnVjdHVyZTsKICNlbHNlCiAgICAgcmV0dXJuIHN0cnVjdHVyZUlEOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XVEYvV1RG
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZmVmZjViNzYzY2E4ZTBmMzZkMmFmZGJm
N2E1MWU5ZDdhMTgzOWE2OC4uZDllMjU5NmU1OGFlZjU3M2M3MzhjYWM4YTc0NTVkYTU1NzUzMjI1
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zMCw2ICsz
MCw4IEBACiAJCTBGNDNEOEYyMURCNUFEREMwMDEwOEZCNiAvKiBBdXRvbWF0aWNUaHJlYWQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNDNEOEYwMURC
NUFEREMwMDEwOEZCNiAvKiBBdXRvbWF0aWNUaHJlYWQuaCAqLzsgfTsKIAkJMEY0NTcwNDMxQkU1
QjU4RjAwNjJBNjI5IC8qIERvbWluYXRvcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGNDU3MDQyMUJFNUI1OEYwMDYyQTYyOSAvKiBEb21pbmF0b3Jz
LmggKi87IH07CiAJCTBGNDU3MDQ1MUJFODM0NDEwMDYyQTYyOSAvKiBCdWJibGVTb3J0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQ1NzA0NDFCRTgz
NDQxMDA2MkE2MjkgLyogQnViYmxlU29ydC5oICovOyB9OworCQkwRjYwRjMyRjFERkNCRDFCMDA0
MTZENkMgLyogTG9ja2VkUHJpbnRTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2MEYzMkQxREZDQkQxQjAwNDE2RDZDIC8qIExvY2tlZFBy
aW50U3RyZWFtLmNwcCAqLzsgfTsKKwkJMEY2MEYzMzAxREZDQkQxQjAwNDE2RDZDIC8qIExvY2tl
ZFByaW50U3RyZWFtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRjYwRjMyRTFERkNCRDFCMDA0MTZENkMgLyogTG9ja2VkUHJpbnRTdHJlYW0uaCAqLzsg
fTsKIAkJMEY2NkIyOEExREM5N0JBQjAwNEExRDNGIC8qIENsb2NrVHlwZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjY2QjI4MDFEQzk3QkFCMDA0
QTFEM0YgLyogQ2xvY2tUeXBlLmNwcCAqLzsgfTsKIAkJMEY2NkIyOEIxREM5N0JBQjAwNEExRDNG
IC8qIENsb2NrVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEY2NkIyODExREM5N0JBQjAwNEExRDNGIC8qIENsb2NrVHlwZS5oICovOyB9OwogCQkw
RjY2QjI4QzFEQzk3QkFCMDA0QTFEM0YgLyogTW9ub3RvbmljVGltZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjY2QjI4MjFEQzk3QkFCMDA0QTFE
M0YgLyogTW9ub3RvbmljVGltZS5jcHAgKi87IH07CkBAIC02Myw2ICs2NSw3IEBACiAJCTBGREI2
OThFMUI3QzY0M0EwMDBDMTA3OCAvKiBDb25kaXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGREI2OThEMUI3QzY0M0EwMDBDMTA3OCAvKiBDb25k
aXRpb24uaCAqLzsgfTsKIAkJMEZEREJGQTcxNjY2REZBMzAwQzU1RkVGIC8qIFN0cmluZ1ByaW50
U3RyZWFtLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGRERCRkE1MTY2NkRGQTMwMEM1NUZFRiAvKiBTdHJpbmdQcmludFN0cmVhbS5jcHAgKi87IH07
CiAJCTBGRERCRkE4MTY2NkRGQTMwMEM1NUZFRiAvKiBTdHJpbmdQcmludFN0cmVhbS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEREJGQTYxNjY2REZB
MzAwQzU1RkVGIC8qIFN0cmluZ1ByaW50U3RyZWFtLmggKi87IH07CisJCTBGREU4N0Y3MURGRDA3
Q0MwMDY0QzM5MCAvKiBSZWN1cnNpdmVMb2NrQWRhcHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZERTg3RjYxREZEMDdDQzAwNjRDMzkwIC8qIFJl
Y3Vyc2l2ZUxvY2tBZGFwdGVyLmggKi87IH07CiAJCTBGRTE2NDZBMUI2RkZDOTYwMDQwMEU3QyAv
KiBMb2NrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGRTE2NDY4MUI2RkZDOTYwMDQwMEU3QyAvKiBMb2NrLmNwcCAqLzsgfTsKIAkJMEZFMTY0NkIx
QjZGRkM5NjAwNDAwRTdDIC8qIExvY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGRTE2NDY5MUI2RkZDOTYwMDQwMEU3QyAvKiBMb2NrLmggKi87IH07
CiAJCTBGRTQ0NzlDMUI3QUFBMDMwMDk0OThFQiAvKiBXb3JkTG9jay5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkU0NDc5QTFCN0FBQTAzMDA5NDk4
RUIgLyogV29yZExvY2suY3BwICovOyB9OwpAQCAtMzg4LDYgKzM5MSw4IEBACiAJCTBGNDNEOEYw
MURCNUFEREMwMDEwOEZCNiAvKiBBdXRvbWF0aWNUaHJlYWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQXV0b21hdGljVGhyZWFkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTBGNDU3MDQyMUJFNUI1OEYwMDYyQTYyOSAvKiBEb21pbmF0b3JzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERvbWluYXRvcnMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMEY0NTcwNDQxQkU4MzQ0MTAwNjJBNjI5IC8qIEJ1YmJsZVNvcnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQnViYmxlU29ydC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRjYwRjMyRDFERkNCRDFCMDA0MTZENkMgLyogTG9ja2VkUHJpbnRT
dHJlYW0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTG9ja2VkUHJp
bnRTdHJlYW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjYwRjMyRTFERkNC
RDFCMDA0MTZENkMgLyogTG9ja2VkUHJpbnRTdHJlYW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTG9ja2VkUHJpbnRTdHJlYW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMEY2NkIyODAxREM5N0JBQjAwNEExRDNGIC8qIENsb2NrVHlwZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDbG9ja1R5cGUuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkwRjY2QjI4MTFEQzk3QkFCMDA0QTFEM0YgLyogQ2xvY2tUeXBlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENsb2NrVHlwZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwRjY2QjI4MjFEQzk3QkFCMDA0QTFEM0YgLyogTW9ub3Rvbmlj
VGltZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNb25vdG9uaWNU
aW1lLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQyMSw2ICs0MjYsNyBAQAog
CQkwRkRCNjk4RDFCN0M2NDNBMDAwQzEwNzggLyogQ29uZGl0aW9uLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENvbmRpdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkwRkREQkZBNTE2NjZERkEzMDBDNTVGRUYgLyogU3RyaW5nUHJpbnRTdHJlYW0uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RyaW5nUHJpbnRTdHJlYW0uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkREQkZBNjE2NjZERkEzMDBDNTVGRUYg
LyogU3RyaW5nUHJpbnRTdHJlYW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
U3RyaW5nUHJpbnRTdHJlYW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZERTg3
RjYxREZEMDdDQzAwNjRDMzkwIC8qIFJlY3Vyc2l2ZUxvY2tBZGFwdGVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlY3Vyc2l2ZUxvY2tBZGFwdGVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTBGRTE2NDY4MUI2RkZDOTYwMDQwMEU3QyAvKiBMb2NrLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExvY2suY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwRkUxNjQ2OTFCNkZGQzk2MDA0MDBFN0MgLyogTG9jay5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTBGRTQ0NzlBMUI3QUFBMDMwMDk0OThFQiAvKiBXb3JkTG9jay5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXb3JkTG9jay5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04NTgsNyArODY0LDYgQEAKIAkJQTg3NkRCRDYxNTE4MTZF
NTAwREFEQjk1IC8qIHd0ZiAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCi0JCQkJQUQ3QzQzNEExREQyQTRBNzAwMjY4ODhCIC8qIEV4cGVjdGVkLmggKi8sCiAJCQkJ
MkNERUQwRjAxODExNUMzRjAwNERCQTcwIC8qIGNmICovLAogCQkJCUU0QTBBRDNCMUE5NjI1MTkw
MDUzNkRGNiAvKiBjb2NvYSAqLywKIAkJCQlBOEE0NzI4MTE1MUE4MjVBMDA0MTIzRkYgLyogZHRv
YSAqLywKQEAgLTkyNiw2ICs5MzEsNyBAQAogCQkJCUE4QTQ3Mjk3MTUxQTgyNUEwMDQxMjNGRiAv
KiBkdG9hLmNwcCAqLywKIAkJCQlBOEE0NzI5ODE1MUE4MjVBMDA0MTIzRkYgLyogZHRvYS5oICov
LAogCQkJCTFBRUE4OEUxMUQ2QkJDRjQwMEU1QUQ2NCAvKiBFbnVtVHJhaXRzLmggKi8sCisJCQkJ
QUQ3QzQzNEExREQyQTRBNzAwMjY4ODhCIC8qIEV4cGVjdGVkLmggKi8sCiAJCQkJQThBNDcyOUYx
NTFBODI1QTAwNDEyM0ZGIC8qIEV4cG9ydE1hY3Jvcy5oICovLAogCQkJCTBGN0M1RkI1MUQ4ODVD
RjIwMDQ0RjVFMiAvKiBGYXN0Qml0VmVjdG9yLmNwcCAqLywKIAkJCQkwRkQ4MUFDNDE1NEZCMjJF
MDA5ODNFNzIgLyogRmFzdEJpdFZlY3Rvci5oICovLApAQCAtOTY2LDYgKzk3Miw4IEBACiAJCQkJ
MEZFMTY0NjgxQjZGRkM5NjAwNDAwRTdDIC8qIExvY2suY3BwICovLAogCQkJCTBGRTE2NDY5MUI2
RkZDOTYwMDQwMEU3QyAvKiBMb2NrLmggKi8sCiAJCQkJMEYwRkNEREQxREQxNjdGOTAwQ0NBQjUz
IC8qIExvY2tBbGdvcml0aG0uaCAqLywKKwkJCQkwRjYwRjMyRDFERkNCRDFCMDA0MTZENkMgLyog
TG9ja2VkUHJpbnRTdHJlYW0uY3BwICovLAorCQkJCTBGNjBGMzJFMURGQ0JEMUIwMDQxNkQ2QyAv
KiBMb2NrZWRQcmludFN0cmVhbS5oICovLAogCQkJCUE4QTQ3MkMzMTUxQTgyNUEwMDQxMjNGRiAv
KiBMb2NrZXIuaCAqLywKIAkJCQk1MTNFMTcwQTFDRDdENUJGMDBFMzY1MEIgLyogTG9nZ2luZ0Fj
Y3VtdWxhdG9yLmggKi8sCiAJCQkJQThBNDcyQzYxNTFBODI1QTAwNDEyM0ZGIC8qIE1haW5UaHJl
YWQuY3BwICovLApAQCAtMTAyNSw2ICsxMDMzLDcgQEAKIAkJCQlBOEE0NzJGRDE1MUE4MjVCMDA0
MTIzRkYgLyogUmFuZG9tTnVtYmVyU2VlZC5oICovLAogCQkJCTBGNzI1Q0FCMUM1MDQ2MTYwMEFE
OTQzQSAvKiBSYW5nZVNldC5oICovLAogCQkJCTBGODcxMDU5MTY2NDNGMTkwMDkwQjBBRCAvKiBS
YXdQb2ludGVyLmggKi8sCisJCQkJMEZERTg3RjYxREZEMDdDQzAwNjRDMzkwIC8qIFJlY3Vyc2l2
ZUxvY2tBZGFwdGVyLmggKi8sCiAJCQkJQThBNDcyRkUxNTFBODI1QjAwNDEyM0ZGIC8qIFJlZEJs
YWNrVHJlZS5oICovLAogCQkJCTI2Mjk5QjZEMTdBOUU1QjgwMEFERUJFNSAvKiBSZWYuaCAqLywK
IAkJCQlBOEE0NzJGRjE1MUE4MjVCMDA0MTIzRkYgLyogUmVmQ291bnRlZC5oICovLApAQCAtMTM4
Niw2ICsxMzk1LDcgQEAKIAkJCQk3Q0REN0ZGQTE4NkQyQTU0MDA3NDMzQ0QgLyogSXRlcmF0b3JS
YW5nZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY0M0Q4RjIxREI1QUREQzAwMTA4RkI2IC8qIEF1
dG9tYXRpY1RocmVhZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNBQzkxQTgxODk0MkZDNDAwMjQ0
OTM5IC8qIExDaGFyLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjYwRjMzMDFERkNCRDFCMDA0MTZE
NkMgLyogTG9ja2VkUHJpbnRTdHJlYW0uaCBpbiBIZWFkZXJzICovLAogCQkJCTUzOUVCMDYzMUQ1
NTI4NDIwMEM4MkVGNyAvKiBMRUJEZWNvZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzBEQTA4
NTE3OTlGMDREMDA1MjlBOUIgLyogTGlzdER1bXAuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNjZC
MjkzMURDOTdCQUIwMDRBMUQzRiAvKiBXYWxsVGltZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0xNDU5
LDYgKzE0NjksNyBAQAogCQkJCTBGRUIzRENGMUJCNUQ2ODQwMDlEN0FBRCAvKiBTaGFyZWRUYXNr
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQyMzE1MUE4MjVCMDA0MTIzRkYgLyogU2ltcGxl
U3RhdHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDI0MTUxQTgyNUIwMDQxMjNGRiAvKiBT
aW5nbHlMaW5rZWRMaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkRFODdGNzFERkQwN0NDMDA2
NEMzOTAgLyogUmVjdXJzaXZlTG9ja0FkYXB0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3NDg3
NDUzMTdBMEJEQUUwMEZBMDRDQiAvKiBTaXhDaGFyYWN0ZXJIYXNoLmggaW4gSGVhZGVycyAqLywK
IAkJCQk3OUVDNzA2MTFDOTlGOUJDMDAzQTNBRTIgLyogU21hbGxQdHJTZXQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE4QTQ3NDI2MTUxQTgyNUIwMDQxMjNGRiAvKiBTcGVjdHJ1bS5oIGluIEhlYWRl
cnMgKi8sCkBAIC0xNjU0LDYgKzE2NjUsNyBAQAogCQkJCUE4QTQ3M0IwMTUxQTgyNUIwMDQxMjNG
RiAvKiBkb3VibGUtY29udmVyc2lvbi5jYyBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3M0JBMTUx
QTgyNUIwMDQxMjNGRiAvKiBkdG9hLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3M0IzMTUx
QTgyNUIwMDQxMjNGRiAvKiBmYXN0LWR0b2EuY2MgaW4gU291cmNlcyAqLywKKwkJCQkwRjYwRjMy
RjFERkNCRDFCMDA0MTZENkMgLyogTG9ja2VkUHJpbnRTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQThBNDczQzMxNTFBODI1QjAwNDEyM0ZGIC8qIEZhc3RNYWxsb2MuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMEY5RDMzNjAxNjVEQkE3MzAwNUFEMzg3IC8qIEZpbGVQcmludFN0cmVhbS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNCNTE1MUE4MjVCMDA0MTIzRkYgLyogZml4ZWQt
ZHRvYS5jYyBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ01ha2VM
aXN0cy50eHQgYi9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAppbmRleCBjMDUxM2YxYmNj
NzM4NzU1Zjg5YTZlM2NiODFkNmRmYTYwOGI4NTc2Li5lMzRkMzdmOTM2ZWNmM2I4MjcxMDIzMDAx
NzE3ZDk4ZDdjMzczZjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4
dAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dApAQCAtNTcsNiArNTcsNyBAQCBz
ZXQoV1RGX0hFQURFUlMKICAgICBMaXN0SGFzaFNldC5oCiAgICAgTG9jay5oCiAgICAgTG9ja0Fs
Z29yaXRobS5oCisgICAgTG9ja2VkUHJpbnRTdHJlYW0uaAogICAgIExvY2tlci5oCiAgICAgTUQ1
LmgKICAgICBNYWluVGhyZWFkLmgKQEAgLTkyLDYgKzkzLDcgQEAgc2V0KFdURl9IRUFERVJTCiAg
ICAgUmFuZG9tTnVtYmVyU2VlZC5oCiAgICAgUmFuZ2VTZXQuaAogICAgIFJhd1BvaW50ZXIuaAor
ICAgIFJlY3Vyc2l2ZUxvY2tBZGFwdGVyLmgKICAgICBSZWRCbGFja1RyZWUuaAogICAgIFJlZi5o
CiAgICAgUmVmQ291bnRlZC5oCkBAIC0xOTgsNiArMjAwLDcgQEAgc2V0KFdURl9TT1VSQ0VTCiAg
ICAgR3JlZ29yaWFuRGF0ZVRpbWUuY3BwCiAgICAgSGFzaFRhYmxlLmNwcAogICAgIExvY2suY3Bw
CisgICAgTG9ja2VkUHJpbnRTdHJlYW0uY3BwCiAgICAgTUQ1LmNwcAogICAgIE1haW5UaHJlYWQu
Y3BwCiAgICAgTWVkaWFUaW1lLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvRGF0YUxv
Zy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9EYXRhTG9nLmNwcAppbmRleCBiMjkzZjc4ODhlNjIzYWU1
ZDY5ZWMzOWU3MDAwZTkyMTA0ZDMyYjgzLi43ZjQzYzgxMGYxYzY1MzQ4ZWE5Zjc5MmQ2MGRkODgw
MGExODFkNTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9EYXRhTG9nLmNwcAorKysgYi9T
b3VyY2UvV1RGL3d0Zi9EYXRhTG9nLmNwcApAQCAtMjgsNyArMjgsMTAgQEAKICNpbmNsdWRlIDxz
dGRhcmcuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvRmlsZVByaW50U3Ry
ZWFtLmg+CisjaW5jbHVkZSA8d3RmL0xvY2tlZFByaW50U3RyZWFtLmg+CiAjaW5jbHVkZSA8d3Rm
L1RocmVhZGluZy5oPgorI2luY2x1ZGUgPG11dGV4PgorI2luY2x1ZGUgPHRocmVhZD4KIAogI2lm
IE9TKFVOSVgpIHx8IE9TKERBUldJTikKICNpbmNsdWRlIDx1bmlzdGQuaD4KQEAgLTQ3LDE2ICs1
MCwxNCBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotI2lmIFVTRShQVEhSRUFEUykKLXN0YXRpYyBw
dGhyZWFkX29uY2VfdCBpbml0aWFsaXplTG9nRmlsZU9uY2VLZXkgPSBQVEhSRUFEX09OQ0VfSU5J
VDsKLSNlbmRpZgotCi1zdGF0aWMgRmlsZVByaW50U3RyZWFtKiBmaWxlOworc3RhdGljIFByaW50
U3RyZWFtKiBzX2ZpbGU7CiAKLXN0YXRpYyB1aW50NjRfdCBmaWxlRGF0YVsoc2l6ZW9mKEZpbGVQ
cmludFN0cmVhbSkgKyA3KSAvIDhdOworc3RhdGljIHVpbnQ2NF90IHNfZmlsZURhdGFbKHNpemVv
ZihGaWxlUHJpbnRTdHJlYW0pICsgNykgLyA4XTsKIAogc3RhdGljIHZvaWQgaW5pdGlhbGl6ZUxv
Z0ZpbGVPbmNlKCkKIHsKKyAgICBGaWxlUHJpbnRTdHJlYW0qIGZpbGUgPSBudWxscHRyOworICAg
IAogI2lmIERBVEFfTE9HX1RPX0ZJTEUKICAgICBjb25zdCBsb25nIG1heFBhdGhMZW5ndGggPSAx
MDI0OwogCkBAIC0xMTcsMjkgKzExOCwzOCBAQCBzdGF0aWMgdm9pZCBpbml0aWFsaXplTG9nRmls
ZU9uY2UoKQogICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCJXYXJuaW5nOiBDb3VsZCBub3Qgb3Bl
biBEYXRhTG9nIGZpbGUgJXMgZm9yIHdyaXRpbmcuXG4iLCBhY3R1YWxGaWxlbmFtZSk7CiAgICAg
fQogI2VuZGlmIC8vIERBVEFfTE9HX1RPX0ZJTEUKKyAgICAKKyAgICBib29sIHdyYXBXaXRoTG9j
a2VkID0gdHJ1ZTsKKyAgICAKICAgICBpZiAoIWZpbGUpIHsKICAgICAgICAgLy8gVXNlIHBsYWNl
bWVudCBuZXc7IHRoaXMgbWFrZXMgaXQgZWFzaWVyIHRvIHVzZSBkYXRhTG9nKCkgdG8gZGVidWcK
ICAgICAgICAgLy8gZmFzdE1hbGxvYy4KLSAgICAgICAgZmlsZSA9IG5ldyAoZmlsZURhdGEpIEZp
bGVQcmludFN0cmVhbShzdGRlcnIsIEZpbGVQcmludFN0cmVhbTo6Qm9ycm93KTsKKyAgICAgICAg
ZmlsZSA9IG5ldyAoc19maWxlRGF0YSkgRmlsZVByaW50U3RyZWFtKHN0ZGVyciwgRmlsZVByaW50
U3RyZWFtOjpCb3Jyb3cpOworICAgICAgICB3cmFwV2l0aExvY2tlZCA9IGZhbHNlOwogICAgIH0K
ICAgICAKICAgICBzZXR2YnVmKGZpbGUtPmZpbGUoKSwgMCwgX0lPTkJGLCAwKTsgLy8gUHJlZmVy
IHVuYnVmZmVyZWQgb3V0cHV0LCBzbyB0aGF0IHdlIGdldCBhIGZ1bGwgbG9nIHVwb24gY3Jhc2gg
b3IgZGVhZGxvY2suCisgICAgCisgICAgaWYgKHdyYXBXaXRoTG9ja2VkKQorICAgICAgICBzX2Zp
bGUgPSBuZXcgTG9ja2VkUHJpbnRTdHJlYW0oc3RkOjp1bmlxdWVfcHRyPEZpbGVQcmludFN0cmVh
bT4oZmlsZSkpOworICAgIGVsc2UKKyAgICAgICAgc19maWxlID0gZmlsZTsKIH0KIAogc3RhdGlj
IHZvaWQgaW5pdGlhbGl6ZUxvZ0ZpbGUoKQogewotI2lmIFVTRShQVEhSRUFEUykKLSAgICBwdGhy
ZWFkX29uY2UoJmluaXRpYWxpemVMb2dGaWxlT25jZUtleSwgaW5pdGlhbGl6ZUxvZ0ZpbGVPbmNl
KTsKLSNlbHNlCi0gICAgaWYgKCFmaWxlKQotICAgICAgICBpbml0aWFsaXplTG9nRmlsZU9uY2Uo
KTsKLSNlbmRpZgorICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBvbmNlOworICAgIHN0ZDo6Y2Fs
bF9vbmNlKAorICAgICAgICBvbmNlLAorICAgICAgICBbXSB7CisgICAgICAgICAgICBpbml0aWFs
aXplTG9nRmlsZU9uY2UoKTsKKyAgICAgICAgfSk7CiB9CiAKLUZpbGVQcmludFN0cmVhbSYgZGF0
YUZpbGUoKQorUHJpbnRTdHJlYW0mIGRhdGFGaWxlKCkKIHsKICAgICBpbml0aWFsaXplTG9nRmls
ZSgpOwotICAgIHJldHVybiAqZmlsZTsKKyAgICByZXR1cm4gKnNfZmlsZTsKIH0KIAogdm9pZCBk
YXRhTG9nRlYoY29uc3QgY2hhciogZm9ybWF0LCB2YV9saXN0IGFyZ0xpc3QpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL3d0Zi9EYXRhTG9nLmggYi9Tb3VyY2UvV1RGL3d0Zi9EYXRhTG9nLmgKaW5k
ZXggYzJlZjU3NjU1MTQ0Mzg3NzJjOWYyNzEzMzgyMWJjMDhhMmZmN2Y1MS4uMTNmOTEzYmQ1YmFl
NjAyOTFkZDUzOGY3ZmE1ODM4OGM4OGVmYmM5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
RGF0YUxvZy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0RhdGFMb2cuaApAQCAtMjgsMTIgKzI4LDEy
IEBACiAKICNpbmNsdWRlIDxzdGRhcmcuaD4KICNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUg
PHd0Zi9GaWxlUHJpbnRTdHJlYW0uaD4KKyNpbmNsdWRlIDx3dGYvUHJpbnRTdHJlYW0uaD4KICNp
bmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCi1XVEZfRVhQ
T1JUX1BSSVZBVEUgRmlsZVByaW50U3RyZWFtJiBkYXRhRmlsZSgpOworV1RGX0VYUE9SVF9QUklW
QVRFIFByaW50U3RyZWFtJiBkYXRhRmlsZSgpOwogCiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBk
YXRhTG9nRlYoY29uc3QgY2hhciogZm9ybWF0LCB2YV9saXN0KSBXVEZfQVRUUklCVVRFX1BSSU5U
RigxLCAwKTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIGRhdGFMb2dGKGNvbnN0IGNoYXIqIGZv
cm1hdCwgLi4uKSBXVEZfQVRUUklCVVRFX1BSSU5URigxLCAyKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL0xvY2tlZFByaW50U3RyZWFtLmNwcCBiL1NvdXJjZS9XVEYvd3RmL0xvY2tlZFBy
aW50U3RyZWFtLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYjY5ZDMxOGVjNTc3ZjU3Njg1MzNkOTc5NTM4OGMz
MDMyZDc4MGI2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dURi93dGYvTG9ja2VkUHJpbnRT
dHJlYW0uY3BwCkBAIC0wLDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkxvY2tlZFBy
aW50U3RyZWFtLmgiCisKK25hbWVzcGFjZSBXVEYgeworCitMb2NrZWRQcmludFN0cmVhbTo6TG9j
a2VkUHJpbnRTdHJlYW0oc3RkOjp1bmlxdWVfcHRyPFByaW50U3RyZWFtPiB0YXJnZXQpCisgICAg
OiBtX3RhcmdldChXVEZNb3ZlKHRhcmdldCkpCit7Cit9CisKK0xvY2tlZFByaW50U3RyZWFtOjp+
TG9ja2VkUHJpbnRTdHJlYW0oKQoreworfQorCit2b2lkIExvY2tlZFByaW50U3RyZWFtOjp2cHJp
bnRmKGNvbnN0IGNoYXIqIGZvcm1hdCwgdmFfbGlzdCBhcmdzKQoreworICAgIGF1dG8gbG9ja2Vy
ID0gaG9sZExvY2sobV9sb2NrKTsKKyAgICBtX3RhcmdldC0+dnByaW50Zihmb3JtYXQsIGFyZ3Mp
OworfQorCit2b2lkIExvY2tlZFByaW50U3RyZWFtOjpmbHVzaCgpCit7CisgICAgYXV0byBsb2Nr
ZXIgPSBob2xkTG9jayhtX2xvY2spOworICAgIG1fdGFyZ2V0LT5mbHVzaCgpOworfQorCitQcmlu
dFN0cmVhbSYgTG9ja2VkUHJpbnRTdHJlYW06OmJlZ2luKCkKK3sKKyAgICBtX2xvY2subG9jaygp
OworICAgIHJldHVybiAqbV90YXJnZXQ7Cit9CisKK3ZvaWQgTG9ja2VkUHJpbnRTdHJlYW06OmVu
ZCgpCit7CisgICAgbV9sb2NrLnVubG9jaygpOworfQorCit9IC8vIG5hbWVzcGFjZSBXVEYKKwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTG9ja2VkUHJpbnRTdHJlYW0uaCBiL1NvdXJjZS9X
VEYvd3RmL0xvY2tlZFByaW50U3RyZWFtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmViOTBhYWU4MDhlN2YyYjlm
NDRkNDJlNTZlM2E5NDM1NzQ2OWM1NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L0xvY2tlZFByaW50U3RyZWFtLmgKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0
Zi9QcmludFN0cmVhbS5oPgorI2luY2x1ZGUgPHd0Zi9SZWN1cnNpdmVMb2NrQWRhcHRlci5oPgor
I2luY2x1ZGUgPHd0Zi9Xb3JkTG9jay5oPgorCituYW1lc3BhY2UgV1RGIHsKKworLy8gTWFrZXMg
ZXZlcnkgY2FsbCB0byBwcmludCgpIGF0b21pYy4KK2NsYXNzIExvY2tlZFByaW50U3RyZWFtIDog
cHVibGljIFByaW50U3RyZWFtIHsKK3B1YmxpYzoKKyAgICBMb2NrZWRQcmludFN0cmVhbShzdGQ6
OnVuaXF1ZV9wdHI8UHJpbnRTdHJlYW0+IHRhcmdldCk7CisgICAgdmlydHVhbCB+TG9ja2VkUHJp
bnRTdHJlYW0oKTsKKyAgICAKKyAgICB2b2lkIHZwcmludGYoY29uc3QgY2hhciogZm9ybWF0LCB2
YV9saXN0KSBvdmVycmlkZSBXVEZfQVRUUklCVVRFX1BSSU5URigyLCAwKTsKKyAgICB2b2lkIGZs
dXNoKCkgb3ZlcnJpZGU7CisKK3Byb3RlY3RlZDoKKyAgICBQcmludFN0cmVhbSYgYmVnaW4oKSBv
dmVycmlkZTsKKyAgICB2b2lkIGVuZCgpIG92ZXJyaWRlOworCitwcml2YXRlOgorICAgIC8vIFRo
aXMgbmVlZHMgdG8gYmUgYSByZWN1cnNpdmUgbG9jayBiZWNhdXNlIGEgcHJpbnRJbnRlcm5hbCBv
ciBkdW1wIG1ldGhvZCBjb3VsZCBhc3NlcnQsCisgICAgLy8gYW5kIHRoYXQgYXNzZXJ0IG1pZ2h0
IHdhbnQgdG8gbG9nLiBCZXR0ZXIgdG8gbGV0IGl0LiBUaGlzIG5lZWRzIHRvIGJlIGEgV29yZExv
Y2sgc28gdGhhdAorICAgIC8vIExvY2tlZFByaW50U3RyZWFtIChpLmUuIGNhdGFMb2cpIGNhbiBi
ZSB1c2VkIHRvIGRlYnVnIFBhcmtpbmdMb3QgYW5kIExvY2suCisgICAgUmVjdXJzaXZlTG9ja0Fk
YXB0ZXI8V29yZExvY2s+IG1fbG9jazsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJpbnRTdHJlYW0+
IG1fdGFyZ2V0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCisKK3VzaW5nIFdURjo6TG9ja2Vk
UHJpbnRTdHJlYW07CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1ByaW50U3RyZWFtLmNw
cCBiL1NvdXJjZS9XVEYvd3RmL1ByaW50U3RyZWFtLmNwcAppbmRleCAzMzY0NDA3N2RlZmQxMjk3
OWNlZDYwMWI5OTUyNmNhOTMyNzk5Mzg1Li45N2ZhZjMwMzE4OWFjYTk5ZTk4ZWU2YzMxYzY4MGMz
NjNjZWU4MTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QcmludFN0cmVhbS5jcHAKKysr
IGIvU291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uY3BwCkBAIC00NCwxMCArNDQsMzkgQEAgdm9p
ZCBQcmludFN0cmVhbTo6cHJpbnRmKGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKQogICAgIHZhX2Vu
ZChhcmdMaXN0KTsKIH0KIAordm9pZCBQcmludFN0cmVhbTo6cHJpbnRmVmFyaWFibGVGb3JtYXQo
Y29uc3QgY2hhciogZm9ybWF0LCAuLi4pCit7CisjaWYgQ09NUElMRVIoQ0xBTkcpCisjcHJhZ21h
IGNsYW5nIGRpYWdub3N0aWMgcHVzaAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQg
Ii1XZm9ybWF0LW5vbmxpdGVyYWwiCisjZWxpZiBDT01QSUxFUihHQ0MpCisjcHJhZ21hIEdDQyBk
aWFnbm9zdGljIHB1c2gKKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdzdWdnZXN0
LWF0dHJpYnV0ZT1mb3JtYXQiCisjZW5kaWYKKyAgICB2YV9saXN0IGFyZ0xpc3Q7CisgICAgdmFf
c3RhcnQoYXJnTGlzdCwgZm9ybWF0KTsKKyAgICB2cHJpbnRmKGZvcm1hdCwgYXJnTGlzdCk7Cisg
ICAgdmFfZW5kKGFyZ0xpc3QpOworI2lmIENPTVBJTEVSKENMQU5HKQorI3ByYWdtYSBjbGFuZyBk
aWFnbm9zdGljIHBvcAorI2VsaWYgQ09NUElMRVIoR0NDKQorI3ByYWdtYSBHQ0MgZGlhZ25vc3Rp
YyBwb3AKKyNlbmRpZgorfQorCiB2b2lkIFByaW50U3RyZWFtOjpmbHVzaCgpCiB7CiB9CiAKK1By
aW50U3RyZWFtJiBQcmludFN0cmVhbTo6YmVnaW4oKQoreworICAgIHJldHVybiAqdGhpczsKK30K
Kwordm9pZCBQcmludFN0cmVhbTo6ZW5kKCkKK3sKK30KKwogdm9pZCBwcmludEludGVybmFsKFBy
aW50U3RyZWFtJiBvdXQsIGNvbnN0IGNoYXIqIHN0cmluZykKIHsKICAgICBvdXQucHJpbnRmKCIl
cyIsIHN0cmluZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QcmludFN0cmVhbS5oIGIv
U291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uaAppbmRleCBlNjVmZWY3NGI5YjhhNjJkYzllZTdh
YjkwNGY5YjQ5MWUzYjZhNjM4Li42YTgwNjBiMWQ1N2YyNzk5MjdlMGE0NmMyNWUwYThkMGFlNDE0
ODNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QcmludFN0cmVhbS5oCisrKyBiL1NvdXJj
ZS9XVEYvd3RmL1ByaW50U3RyZWFtLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxzdGRh
cmcuaD4KICNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9SYXdQb2lu
dGVyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRy
YXMuaD4KQEAgLTUwLDMzICs1MSw0NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+UHJpbnRTdHJl
YW0oKTsKIAogICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHByaW50Zihjb25zdCBjaGFyKiBm
b3JtYXQsIC4uLikgV1RGX0FUVFJJQlVURV9QUklOVEYoMiwgMyk7CisgICAgV1RGX0VYUE9SVF9Q
UklWQVRFIHZvaWQgcHJpbnRmVmFyaWFibGVGb3JtYXQoY29uc3QgY2hhciogZm9ybWF0LCAuLi4p
OwogICAgIHZpcnR1YWwgdm9pZCB2cHJpbnRmKGNvbnN0IGNoYXIqIGZvcm1hdCwgdmFfbGlzdCkg
V1RGX0FUVFJJQlVURV9QUklOVEYoMiwgMCkgPSAwOwogCiAgICAgLy8gVHlwaWNhbGx5IGEgbm8t
b3AgZm9yIG1hbnkgc3ViY2xhc3NlcyBvZiBQcmludFN0cmVhbSwgdGhpcyBpcyBhIGhpbnQgdGhh
dAogICAgIC8vIHRoZSBpbXBsZW1lbnRhdGlvbiBzaG91bGQgZmx1c2ggaXRzIGJ1ZmZlcnMgaWYg
aXQgaGFkIG5vdCBkb25lIHNvIGFscmVhZHkuCiAgICAgdmlydHVhbCB2b2lkIGZsdXNoKCk7CiAg
ICAgCi0gICAgdm9pZCBwcmludCgpIHsgfQotCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KLSAg
ICB2b2lkIHByaW50KGNvbnN0IFQmIHZhbHVlKQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmM+
CisgICAgdm9pZCBhdG9taWNhbGx5KGNvbnN0IEZ1bmMmIGZ1bmMpCiAgICAgewotICAgICAgICBw
cmludEludGVybmFsKCp0aGlzLCB2YWx1ZSk7CisgICAgICAgIGZ1bmMoYmVnaW4oKSk7CisgICAg
ICAgIGVuZCgpOwogICAgIH0KLQotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lLi4u
IFR5cGVzPgotICAgIHZvaWQgcHJpbnQoY29uc3QgVCYgdmFsdWUsIGNvbnN0IFR5cGVzJi4uLiBy
ZW1haW5pbmdWYWx1ZXMpCisgICAgCisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gVHlwZXM+Cisg
ICAgdm9pZCBwcmludChjb25zdCBUeXBlcyYuLi4gdmFsdWVzKQogICAgIHsKLSAgICAgICAgcHJp
bnRJbnRlcm5hbCgqdGhpcywgdmFsdWUpOwotICAgICAgICBwcmludChyZW1haW5pbmdWYWx1ZXMu
Li4pOworICAgICAgICBhdG9taWNhbGx5KAorICAgICAgICAgICAgWyZdIChQcmludFN0cmVhbSYg
b3V0KSB7CisgICAgICAgICAgICAgICAgb3V0LnByaW50SW1wbCh2YWx1ZXMuLi4pOworICAgICAg
ICAgICAgfSk7CiAgICAgfQogICAgIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIFR5cGVzPgog
ICAgIHZvaWQgcHJpbnRsbihjb25zdCBUeXBlcyYuLi4gdmFsdWVzKQogICAgIHsKLSAgICAgICAg
cHJpbnQodmFsdWVzLi4uKTsKLSAgICAgICAgcHJpbnQoIlxuIik7CisgICAgICAgIHByaW50KHZh
bHVlcy4uLiwgIlxuIik7CiAgICAgfQorCitwcm90ZWN0ZWQ6CisgICAgdm9pZCBwcmludEltcGwo
KSB7IH0KKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lLi4uIFR5cGVzPgorICAg
IHZvaWQgcHJpbnRJbXBsKGNvbnN0IFQmIHZhbHVlLCBjb25zdCBUeXBlcyYuLi4gcmVtYWluaW5n
VmFsdWVzKQorICAgIHsKKyAgICAgICAgcHJpbnRJbnRlcm5hbCgqdGhpcywgdmFsdWUpOworICAg
ICAgICBwcmludEltcGwocmVtYWluaW5nVmFsdWVzLi4uKTsKKyAgICB9CisgICAgCisgICAgdmly
dHVhbCBQcmludFN0cmVhbSYgYmVnaW4oKTsKKyAgICB2aXJ0dWFsIHZvaWQgZW5kKCk7CiB9Owog
CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiwgY29u
c3QgY2hhciopOwpAQCAtMjY2LDExICsyODEsNjYgQEAgVmFsdWVJZ25vcmluZ0NvbnRleHQ8VCwg
VT4gaWdub3JpbmdDb250ZXh0KGNvbnN0IFUmIHZhbHVlKQogICAgIHJldHVybiBWYWx1ZUlnbm9y
aW5nQ29udGV4dDxULCBVPih2YWx1ZSk7CiB9CiAKK3RlbXBsYXRlPHVuc2lnbmVkIGluZGV4LCB0
eXBlbmFtZS4uLiBUeXBlcz4KK3N0cnVjdCBGb3JtYXRJbXBsVW5wYWNrZXIgeworICAgIHRlbXBs
YXRlPHR5cGVuYW1lLi4uIEFyZ3M+CisgICAgc3RhdGljIHZvaWQgdW5wYWNrKFByaW50U3RyZWFt
JiBvdXQsIGNvbnN0IHN0ZDo6dHVwbGU8VHlwZXMuLi4+JiB0dXBsZSwgY29uc3QgQXJncyYuLi4g
dmFsdWVzKTsKK307CisgICAgCit0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBUeXBlcz4KK3N0cnVjdCBG
b3JtYXRJbXBsVW5wYWNrZXI8MCwgVHlwZXMuLi4+IHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4u
LiBBcmdzPgorICAgIHN0YXRpYyB2b2lkIHVucGFjayhQcmludFN0cmVhbSYgb3V0LCBjb25zdCBz
dGQ6OnR1cGxlPFR5cGVzLi4uPiYgdHVwbGUsIGNvbnN0IEFyZ3MmLi4uIHZhbHVlcykKKyAgICB7
CisgICAgICAgIG91dC5wcmludGZWYXJpYWJsZUZvcm1hdChzdGQ6OmdldDwwPih0dXBsZSksIHZh
bHVlcy4uLik7CisgICAgfQorfTsKKyAgICAKK3RlbXBsYXRlPHVuc2lnbmVkIGluZGV4LCB0eXBl
bmFtZS4uLiBUeXBlcz4KK3RlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3M+Cit2b2lkIEZvcm1hdElt
cGxVbnBhY2tlcjxpbmRleCwgVHlwZXMuLi4+Ojp1bnBhY2soUHJpbnRTdHJlYW0mIG91dCwgY29u
c3Qgc3RkOjp0dXBsZTxUeXBlcy4uLj4mIHR1cGxlLCBjb25zdCBBcmdzJi4uLiB2YWx1ZXMpCit7
CisgICAgRm9ybWF0SW1wbFVucGFja2VyPGluZGV4IC0gMSwgVHlwZXMuLi4+Ojp1bnBhY2sob3V0
LCB0dXBsZSwgc3RkOjpnZXQ8aW5kZXg+KHR1cGxlKSwgdmFsdWVzLi4uKTsKK30KKwordGVtcGxh
dGU8dHlwZW5hbWUuLi4gVHlwZXM+CitjbGFzcyBGb3JtYXRJbXBsIHsKK3B1YmxpYzoKKyAgICBG
b3JtYXRJbXBsKFR5cGVzLi4uIHZhbHVlcykKKyAgICAgICAgOiBtX3ZhbHVlcyh2YWx1ZXMuLi4p
CisgICAgeworICAgIH0KKyAgICAKKyAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29u
c3QKKyAgICB7CisgICAgICAgIEZvcm1hdEltcGxVbnBhY2tlcjxzaXplb2YuLi4oVHlwZXMpIC0g
MSwgVHlwZXMuLi4+Ojp1bnBhY2sob3V0LCBtX3ZhbHVlcyk7CisgICAgfQorCitwcml2YXRlOgor
ICAgIHN0ZDo6dHVwbGU8VHlwZXMuLi4+IG1fdmFsdWVzOworfTsKKwordGVtcGxhdGU8dHlwZW5h
bWUuLi4gVHlwZXM+CitGb3JtYXRJbXBsPFR5cGVzLi4uPiBmb3JtYXQoVHlwZXMuLi4gdmFsdWVz
KQoreworICAgIHJldHVybiBGb3JtYXRJbXBsPFR5cGVzLi4uPih2YWx1ZXMuLi4pOworfQorCit0
ZW1wbGF0ZTx0eXBlbmFtZSBUPgordm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQs
IGNvbnN0IHN0ZDo6b3B0aW9uYWw8VD4mIHZhbHVlKQoreworICAgIGlmICh2YWx1ZSkKKyAgICAg
ICAgb3V0LnByaW50KCp2YWx1ZSk7CisgICAgZWxzZQorICAgICAgICBvdXQucHJpbnQoIjxudWxs
b3B0PiIpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAogdXNpbmcgV1RGOjpDaGFyYWN0ZXJE
dW1wOwogdXNpbmcgV1RGOjpQb2ludGVyRHVtcDsKIHVzaW5nIFdURjo6UHJpbnRTdHJlYW07Cit1
c2luZyBXVEY6OmZvcm1hdDsKIHVzaW5nIFdURjo6aWdub3JpbmdDb250ZXh0OwogdXNpbmcgV1RG
OjppbkNvbnRleHQ7CiB1c2luZyBXVEY6OnBvaW50ZXJEdW1wOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvUmVjdXJzaXZlTG9ja0FkYXB0ZXIuaCBiL1NvdXJjZS9XVEYvd3RmL1JlY3Vyc2l2
ZUxvY2tBZGFwdGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTdhMjQzYjkwYmNhYzAwYjJkN2VlY2RmMjdlMDQy
NWZjNTJkNjdhNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL1JlY3Vyc2l2ZUxv
Y2tBZGFwdGVyLmgKQEAgLTAsMCArMSw5MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBB
cHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvVGhyZWFk
aW5nLmg+CisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTx0eXBlbmFtZSBMb2NrVHlwZT4K
K2NsYXNzIFJlY3Vyc2l2ZUxvY2tBZGFwdGVyIHsKK3B1YmxpYzoKKyAgICBSZWN1cnNpdmVMb2Nr
QWRhcHRlcigpCisgICAgeworICAgIH0KKyAgICAKKyAgICB2b2lkIGxvY2soKQorICAgIHsKKyAg
ICAgICAgVGhyZWFkSWRlbnRpZmllciBtZSA9IGN1cnJlbnRUaHJlYWQoKTsKKyAgICAgICAgaWYg
KG1lID09IG1fb3duZXIpIHsKKyAgICAgICAgICAgIG1fcmVjdXJzaW9uQ291bnQrKzsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgbV9sb2NrLmxvY2so
KTsKKyAgICAgICAgQVNTRVJUKCFtX293bmVyKTsKKyAgICAgICAgQVNTRVJUKCFtX3JlY3Vyc2lv
bkNvdW50KTsKKyAgICAgICAgbV9vd25lciA9IG1lOworICAgICAgICBtX3JlY3Vyc2lvbkNvdW50
ID0gMTsKKyAgICB9CisgICAgCisgICAgdm9pZCB1bmxvY2soKQorICAgIHsKKyAgICAgICAgaWYg
KC0tbV9yZWN1cnNpb25Db3VudCkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgbV9vd25l
ciA9IDA7CisgICAgICAgIG1fbG9jay51bmxvY2soKTsKKyAgICB9CisgICAgCisgICAgYm9vbCB0
cnlMb2NrKCkKKyAgICB7CisgICAgICAgIFRocmVhZElkZW50aWZpZXIgbWUgPSBjdXJyZW50VGhy
ZWFkKCk7CisgICAgICAgIGlmIChtZSA9PSBtX293bmVyKSB7CisgICAgICAgICAgICBtX3JlY3Vy
c2lvbkNvdW50Kys7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgICAg
ICAKKyAgICAgICAgaWYgKCFtX2xvY2sudHJ5TG9jaygpKQorICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICAKKyAgICAgICAgQVNTRVJUKCFtX293bmVyKTsKKyAgICAgICAgQVNTRVJU
KCFtX3JlY3Vyc2lvbkNvdW50KTsKKyAgICAgICAgbV9vd25lciA9IG1lOworICAgICAgICBtX3Jl
Y3Vyc2lvbkNvdW50ID0gMTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIAorICAg
IGJvb2wgaXNMb2NrZWQoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fbG9jay5pc0xv
Y2tlZCgpOworICAgIH0KKyAgICAKK3ByaXZhdGU6CisgICAgVGhyZWFkSWRlbnRpZmllciBtX293
bmVyIHsgMCB9OworICAgIHVuc2lnbmVkIG1fcmVjdXJzaW9uQ291bnQgeyAwIH07CisgICAgTG9j
a1R5cGUgbV9sb2NrOworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCisKKwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvV29yZExvY2suY3BwIGIvU291cmNlL1dURi93dGYvV29yZExvY2suY3Bw
CmluZGV4IDk4NWY0NTZkNDM3NDYyNTVlZGZkNDdlZWNmOWZiODlkMGVhOTg5NTcuLjQ2MTcwYWQy
YzZmYmI1N2JlZWZmYzc1YWZlZWQ5YzEzN2Y2Y2QxODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL1dvcmRMb2NrLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Xb3JkTG9jay5jcHAKQEAgLTI2
LDggKzI2LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXb3JkTG9jay5oIgog
Ci0jaW5jbHVkZSAiRGF0YUxvZy5oIgotI2luY2x1ZGUgIlN0cmluZ1ByaW50U3RyZWFtLmgiCiAj
aW5jbHVkZSAiVGhyZWFkU3BlY2lmaWMuaCIKICNpbmNsdWRlICJUaHJlYWRpbmdQcmltaXRpdmVz
LmgiCiAjaW5jbHVkZSA8Y29uZGl0aW9uX3ZhcmlhYmxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvV29yZExvY2suaCBiL1NvdXJjZS9XVEYvd3RmL1dvcmRMb2NrLmgKaW5kZXggNTlmZTM4
ZjQ3OTkxNjEzNDk4MzNlNjA2NGU3YTZiMTM5Y2FkMmE2My4uNTIxOTFlZTAxZDk0N2ZlM2M0ZjA4
ZTM1NWZkYWE4YWQ1NzI3YTczYyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvV29yZExvY2su
aAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Xb3JkTG9jay5oCkBAIC00Miw2ICs0MiwxMCBAQCBuYW1l
c3BhY2UgV1RGIHsKIC8vIExvY2sgaW5zdGVhZC4gV29yZExvY2sgc2l0cyBsb3dlciBpbiB0aGUg
c3RhY2sgYW5kIGlzIHVzZWQgdG8gaW1wbGVtZW50IExvY2ssIHNvIExvY2sgaXMgdGhlIG1haW4K
IC8vIGNsaWVudCBvZiBXb3JkTG9jay4KIAorLy8gTk9URTogVGhpcyBpcyBhbHNvIGEgZ3JlYXQg
bG9jayB0byB1c2UgaWYgeW91IGFyZSB2ZXJ5IGxvdyBpbiB0aGUgc3RhY2suIEZvciBleGFtcGxl
LAorLy8gUHJpbnRTdHJlYW0gdXNlcyB0aGlzIHNvIHRoYXQgUGFya2luZ0xvdCBhbmQgTG9jayBj
YW4gdXNlIFByaW50U3RyZWFtLiBUaGlzIG1lYW5zIHRoYXQgaWYgeW91CisvLyB0cnkgdG8gdXNl
IGRhdGFMb2cgdG8gZGVidWcgdGhpcyBjb2RlLCB5b3Ugd2lsbCBoYXZlIGEgYmFkIHRpbWUuCisK
IHN0cnVjdCBXb3JkTG9ja0Jhc2UgewogICAgIHZvaWQgbG9jaygpCiAgICAgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>