<?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>173383</bug_id>
          
          <creation_ts>2017-06-14 13:49:28 -0700</creation_ts>
          <short_desc>REGRESSION(r218263): &quot;These revisions caused multiple API test to Time out on macOS&quot; (Requested by mlewis13 on #webkit).</short_desc>
          <delta_ts>2017-06-14 17:22:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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>
          <dependson>173390</dependson>
          <blocked>173357</blocked>
    
    <blocked>173358</blocked>
    
    <blocked>173362</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cgarcia</cc>
    
    <cc>jlewis3</cc>
    
    <cc>ryanhaddad</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1319319</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-14 13:49:28 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/218263 broke the build:
&quot;These revisions caused multiple API test to Time out on macOS&quot; (Requested by mlewis13 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>1319323</commentid>
    <comment_count>1</comment_count>
      <attachid>312919</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-14 13:49:38 -0700</bug_when>
    <thetext>Created attachment 312919
ROLLOUT of r218263

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>1319338</commentid>
    <comment_count>2</comment_count>
      <attachid>312919</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-14 15:19:54 -0700</bug_when>
    <thetext>Comment on attachment 312919
ROLLOUT of r218263

Clearing flags on attachment: 312919

Committed r218294: &lt;http://trac.webkit.org/changeset/218294&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319339</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-14 15:19:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312919</attachid>
            <date>2017-06-14 13:49:38 -0700</date>
            <delta_ts>2017-06-14 15:19:54 -0700</delta_ts>
            <desc>ROLLOUT of r218263</desc>
            <filename>bug-173383-20170614164938.patch</filename>
            <type>text/plain</type>
            <size>48596</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4MjkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMGQ1OWUwMzMyZTZkMmI1
ODkwYWE2MTZmMGRkZWE1ZjA2OTc5NWU1MC4uOWUzMzU5OGQ1OTFmZDcxNGZiMTFjZDFiZjlmOGM1
YzE0Y2Y5Y2UwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE3LTA2LTE0ICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMjE4MjYzLCByMjE4MjY1LCBhbmQgcjIxODI2Ni4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzM4MworCisgICAgICAgICJU
aGVzZSByZXZpc2lvbnMgY2F1c2VkIG11bHRpcGxlIEFQSSB0ZXN0IHRvIFRpbWUgb3V0IG9uCisg
ICAgICAgIG1hY09TIiAoUmVxdWVzdGVkIGJ5IG1sZXdpczEzIG9uICN3ZWJraXQpLgorCisgICAg
ICAgIFJldmVydGVkIGNoYW5nZXNldHM6CisKKyAgICAgICAgIkFkZCBBUEk6OkluamVjdGVkQnVu
ZGxlOjpDbGllbnQiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzMzNTcKKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjE4
MjYzCisKKyAgICAgICAgIltHVEtdIFVzZSBBUEk6OkluamVjdGVkQnVuZGxlOjpDbGllbnQgaW4g
V2ViS2l0V2ViRXh0ZW5zaW9uIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTczMzU4CisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdl
c2V0LzIxODI2NQorCisgICAgICAgICJBZGQgQVBJOjpJbmplY3RlZEJ1bmRsZTo6UmVzb3VyY2VM
b2FkQ2xpZW50IgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTczMzYyCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzIxODI2
NgorCiAyMDE3LTA2LTE0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgQWRkIFNQSSBmb3IgaW1tZWRpYXRlIGluamVjdGlvbiBvZiB1c2VyIHNj
cmlwdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCA0ODZkM2IxNmI5MjRjZWZmZjhiYTg4MTRmZmU0OTc3Y2Q0NTAxMTVkLi5hMjY4
MjdmNDkxZTU2ZmFjNDAzNzY3YzA2NTQyNjYwZTU3NTM2YmUyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMjE4LDggKzEyMTgs
NiBAQAogCQk3QTgyMUY0RTFFMkY2N0E4MDA2MDQ1NzcgLyogTGVnYWN5Q3VzdG9tUHJvdG9jb2xN
YW5hZ2VyQ2xpZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gN0E4MjFGNEQxRTJGNjc5RTAwNjA0NTc3IC8qIExlZ2FjeUN1c3RvbVByb3RvY29sTWFu
YWdlckNsaWVudC5tbSAqLzsgfTsKIAkJN0E4MjFGNTAxRTJGN0E3NTAwNjA0NTc3IC8qIEFQSUN1
c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gN0E4MjFGNEYxRTJGN0E1QzAwNjA0NTc3IC8qIEFQSUN1c3RvbVBy
b3RvY29sTWFuYWdlckNsaWVudC5oICovOyB9OwogCQk3QThBOUQ1ODFFRjExOUIwMDA5ODAxQUUg
LyogQVBJSW5qZWN0ZWRCdW5kbGVDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDdBOEE5RDU3MUVGMTE5QUEwMDk4MDFBRSAvKiBBUElJbmplY3Rl
ZEJ1bmRsZUNsaWVudC5oICovOyB9OwotCQk3QThBOUQ1QTFFRjEzMDI5MDA5ODAxQUUgLyogQVBJ
SW5qZWN0ZWRCdW5kbGVCdW5kbGVDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDdBOEE5RDU5MUVGMTMwMjAwMDk4MDFBRSAvKiBBUElJbmplY3Rl
ZEJ1bmRsZUJ1bmRsZUNsaWVudC5oICovOyB9OwotCQk3QThBOUQ1QzFFRjE0NTk4MDA5ODAxQUUg
LyogQVBJSW5qZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QThBOUQ1QjFFRjE0NThFMDA5ODAx
QUUgLyogQVBJSW5qZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmggKi87IH07CiAJ
CTdBQUQxNzVGMUVBNkFGOTkwMDNCMDg5NCAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmVDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDdBQUQxNzVFMUVBNkFGMzcwMDNCMDg5NCAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmVDb2NvYS5tbSAqLzsgfTsKIAkJN0FCNkVBNDUxRUVBQUUzODAwMDM3QjJCIC8qIEFQSUljb25E
YXRhYmFzZUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gN0FCNkVBNDQxRUVBQUUyMzAwMDM3QjJCIC8qIEFQSUljb25EYXRhYmFzZUNsaWVudC5o
ICovOyB9OwogCQk3QUI2RUE0NzFFRUFCNkI4MDAwMzdCMkIgLyogQVBJR2VvbG9jYXRpb25Qcm92
aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FC
NkVBNDYxRUVBQjZCMDAwMDM3QjJCIC8qIEFQSUdlb2xvY2F0aW9uUHJvdmlkZXIuaCAqLzsgfTsK
QEAgLTM1MDksOCArMzUwNyw2IEBACiAJCTdBODIxRjREMUUyRjY3OUUwMDYwNDU3NyAvKiBMZWdh
Y3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBODIxRjRGMUUyRjdBNUMwMDYwNDU3NyAvKiBB
UElDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQVBJQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTdBOEE5RDU3MUVGMTE5QUEwMDk4MDFBRSAvKiBBUElJbmplY3RlZEJ1
bmRsZUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBUElJbmplY3Rl
ZEJ1bmRsZUNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk3QThBOUQ1OTFF
RjEzMDIwMDA5ODAxQUUgLyogQVBJSW5qZWN0ZWRCdW5kbGVCdW5kbGVDbGllbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJSW5qZWN0ZWRCdW5kbGVCdW5kbGVDbGllbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJN0E4QTlENUIxRUYxNDU4RTAwOTgwMUFF
IC8qIEFQSUluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBBUElJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRD
bGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0E5Q0Q4QzAxQzc3OTg0OTAw
RDlGNkM3IC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QTlDRDhDMTFDNzc5ODQ5MDBEOUY2
QzcgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk3QTlDRDhDMjFDNzc5QUQ2MDBEOUY2QzcgLyogV2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5tZXNzYWdlcy5pbjsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTcyNTksMTAgKzcyNTUsOCBAQAogCQkJCTFGMDE4MTY4MTg1
OERDMTUwMEY5Mjg4NCAvKiBDb2NvYSAqLywKIAkJCQlCQzk4OUQ0NTE2MTgxNjkxMDAwRDQ2RDMg
LyogbWFjICovLAogCQkJCTM3NzUxMjMwMURGMERFRTIwMDhBMzUxQyAvKiBBUElJbmplY3RlZEJ1
bmRsZUVkaXRvckNsaWVudC5oICovLAotCQkJCTdBOEE5RDU5MUVGMTMwMjAwMDk4MDFBRSAvKiBB
UElJbmplY3RlZEJ1bmRsZUJ1bmRsZUNsaWVudC5oICovLAogCQkJCTA3NkU4ODRGMUExM0NCQzYw
MDVFOTBGQyAvKiBBUElJbmplY3RlZEJ1bmRsZVBhZ2VDb250ZXh0TWVudUNsaWVudC5oICovLAog
CQkJCTdBM0FDRTFBMUVFRUY3OEMwMEE4NjRBNCAvKiBBUElJbmplY3RlZEJ1bmRsZVBhZ2VMb2Fk
ZXJDbGllbnQuaCAqLywKLQkJCQk3QThBOUQ1QjFFRjE0NThFMDA5ODAxQUUgLyogQVBJSW5qZWN0
ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmggKi8sCiAJCQkpOwogCQkJcGF0aCA9IEFQ
STsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC04NzIyLDcgKzg3MTYsNiBAQAogCQkJ
CTFDQThCOTQ2MTI3Qzg4MkEwMDU3NkMyQiAvKiBXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxQzg5MUQ2NjE5QjEyNEZGMDBCQTc5REQgLyogV2ViSW5zcGVj
dG9yVUkuaCBpbiBIZWFkZXJzICovLAogCQkJCTFDQkJFNEExMTlCNjZDNTMwMDZCN0Q4MSAvKiBX
ZWJJbnNwZWN0b3JVSU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKLQkJCQk3QThBOUQ1QzFFRjE0
NTk4MDA5ODAxQUUgLyogQVBJSW5qZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBNTVCQTgyQjFCQTM4RTYxMDA3Q0QzM0QgLyogV2ViSW5zcGVj
dG9yVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkyREE5NDRBMDE4ODRFNEYwMDBFRDg2
REIgLyogV2ViSU9TRXZlbnRGYWN0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTg1RTQ3MjFF
MzAzRjM3MDA5MTQ1OTkgLyogV2ViS2l0LmFwaW5vdGVzIGluIEhlYWRlcnMgKi8sCkBAIC04ODY0
LDcgKzg4NTcsNiBAQAogCQkJCTUxRUZDMUNGMTUyNEU2MjUwMEM5QTkzOCAvKiBXS0J1bmRsZURP
TVdpbmRvd0V4dGVuc2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0NCQjgxMjExQUEwRjk3MDAw
NkIxOTQyIC8qIFdLQnVuZGxlRmlsZUhhbmRsZVJlZi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNE
MjVGMTcxMUQ2QkRFMTAwMTY5QjBFIC8qIFdLQnVuZGxlRnJhbWUuaCBpbiBIZWFkZXJzICovLAot
CQkJCTdBOEE5RDVBMUVGMTMwMjkwMDk4MDFBRSAvKiBBUElJbmplY3RlZEJ1bmRsZUJ1bmRsZUNs
aWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNGMDQ5RTYxMUZFMjBGNjAwRjg2QTU4IC8qIFdL
QnVuZGxlRnJhbWVQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzQ5ODYyRjEyNEQxOEMx
MDBEODM0RTEgLyogV0tCdW5kbGVIaXRUZXN0UmVzdWx0LmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzIwNEVGMjExQzgzRUM4MDA4RjMzNzUgLyogV0tCdW5kbGVJbml0aWFsaXplLmggaW4gSGVhZGVy
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL0FQSUluamVjdGVkQnVuZGxlQnVuZGxlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9BUElJbmplY3RlZEJ1bmRsZUJ1bmRsZUNsaWVu
dC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYmMxYzZkY2NhNmJmNDc4OGZiYzYw
OWM5ZGU0NzE3OGU0Y2Q3N2JlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0FQ
SUluamVjdGVkQnVuZGxlQnVuZGxlQ2xpZW50LmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IElnYWxpYSBTLkwuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNw
cmFnbWEgb25jZQotCi0jaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLQotbmFtZXNwYWNlIFdlYktp
dCB7Ci1jbGFzcyBJbmplY3RlZEJ1bmRsZTsKLWNsYXNzIFdlYlBhZ2U7Ci1jbGFzcyBXZWJQYWdl
R3JvdXBQcm94eTsKLX0KLQotbmFtZXNwYWNlIEFQSSB7Ci1jbGFzcyBPYmplY3Q7Ci0KLW5hbWVz
cGFjZSBJbmplY3RlZEJ1bmRsZSB7Ci0KLWNsYXNzIENsaWVudCB7Ci1wdWJsaWM6Ci0gICAgdmly
dHVhbCB+Q2xpZW50KCkgPSBkZWZhdWx0OwotCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZVBh
Z2UoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZSYsIFdlYktpdDo6V2ViUGFnZSYpIHsgfQotICAgIHZp
cnR1YWwgdm9pZCB3aWxsRGVzdHJveVBhZ2UoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZSYsIFdlYktp
dDo6V2ViUGFnZSYpIHsgfQotICAgIHZpcnR1YWwgdm9pZCBkaWRJbml0aWFsaXplUGFnZUdyb3Vw
KFdlYktpdDo6SW5qZWN0ZWRCdW5kbGUmLCBXZWJLaXQ6OldlYlBhZ2VHcm91cFByb3h5JikgeyB9
Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKFdlYktpdDo6SW5qZWN0ZWRCdW5k
bGUmLCBjb25zdCBXVEY6OlN0cmluZyYsIEFQSTo6T2JqZWN0KikgeyB9Ci0gICAgdmlydHVhbCB2
b2lkIGRpZFJlY2VpdmVNZXNzYWdlVG9QYWdlKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGUmLCBXZWJL
aXQ6OldlYlBhZ2UmLCBjb25zdCBXVEY6OlN0cmluZyYsIEFQSTo6T2JqZWN0KikgeyB9Ci19Owot
Ci19IC8vIG5hbWVzcGFjZSBJbmplY3RlZEJ1bmRsZQotCi19IC8vIG5hbWVzcGFjZSBBUEkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0FQ
SUluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5oIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQVBJSW5qZWN0ZWRCdW5kbGVQYWdlUmVzb3Vy
Y2VMb2FkQ2xpZW50LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYyNDZmNWM4YWE3
YTY4MzkxMTg5NTI4NDQ5M2Y5YTQyMjIzOGZkODcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvQVBJSW5qZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmgKKysrIC9k
ZXYvbnVsbApAQCAtMSw1OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IElnYWxp
YSBTLkwuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLWNs
YXNzIFdlYkZyYW1lOwotY2xhc3MgV2ViUGFnZTsKLX0KLQotbmFtZXNwYWNlIFdlYkNvcmUgewot
Y2xhc3MgUmVzb3VyY2VFcnJvcjsKLWNsYXNzIFJlc291cmNlUmVxdWVzdDsKLWNsYXNzIFJlc291
cmNlUmVzcG9uc2U7Ci19Ci0KLW5hbWVzcGFjZSBBUEkgewotCi1uYW1lc3BhY2UgSW5qZWN0ZWRC
dW5kbGUgewotCi1jbGFzcyBSZXNvdXJjZUxvYWRDbGllbnQgewotcHVibGljOgotICAgIHZpcnR1
YWwgflJlc291cmNlTG9hZENsaWVudCgpID0gZGVmYXVsdDsKLQotICAgIHZpcnR1YWwgdm9pZCBk
aWRJbml0aWF0ZUxvYWRGb3JSZXNvdXJjZShXZWJLaXQ6OldlYlBhZ2UmLCBXZWJLaXQ6OldlYkZy
YW1lJiwgdWludDY0X3QgLyppZGVudGlmaWVyKi8sIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVx
dWVzdCYsIGJvb2wgLypwYWdlSXNQcm92aXNpb25hbGx5TG9hZGluZyovKSB7IH0KLSAgICB2aXJ0
dWFsIHZvaWQgd2lsbFNlbmRSZXF1ZXN0Rm9yRnJhbWUoV2ViS2l0OjpXZWJQYWdlJiwgV2ViS2l0
OjpXZWJGcmFtZSYsIHVpbnQ2NF90IC8qaWRlbnRpZmllciovLCBXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3QmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJikgeyB9Ci0gICAgdmlydHVh
bCB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZUZvclJlc291cmNlKFdlYktpdDo6V2ViUGFnZSYsIFdl
YktpdDo6V2ViRnJhbWUmLCB1aW50NjRfdCAvKmlkZW50aWZpZXIqLywgY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VSZXNwb25zZSYpIHsgfQotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlQ29udGVu
dExlbmd0aEZvclJlc291cmNlKFdlYktpdDo6V2ViUGFnZSYsIFdlYktpdDo6V2ViRnJhbWUmLCB1
aW50NjRfdCAvKmlkZW50aWZpZXIqLywgdWludDY0X3QgY29udGVudExlbmd0aCkgeyB9Ci0gICAg
dmlydHVhbCB2b2lkIGRpZEZpbmlzaExvYWRGb3JSZXNvdXJjZShXZWJLaXQ6OldlYlBhZ2UmLCBX
ZWJLaXQ6OldlYkZyYW1lJiwgdWludDY0X3QgLyppZGVudGlmaWVyKi8pIHsgfQotICAgIHZpcnR1
YWwgdm9pZCBkaWRGYWlsTG9hZEZvclJlc291cmNlKFdlYktpdDo6V2ViUGFnZSYsIFdlYktpdDo6
V2ViRnJhbWUmLCB1aW50NjRfdCAvKmlkZW50aWZpZXIqLywgY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VFcnJvciYpIHsgfQotICAgIHZpcnR1YWwgYm9vbCBzaG91bGRDYWNoZVJlc3BvbnNlKFdlYktp
dDo6V2ViUGFnZSYsIFdlYktpdDo6V2ViRnJhbWUmLCB1aW50NjRfdCAvKmlkZW50aWZpZXIqLykg
eyByZXR1cm4gdHJ1ZTsgfQotICAgIHZpcnR1YWwgYm9vbCBzaG91bGRVc2VDcmVkZW50aWFsU3Rv
cmFnZShXZWJLaXQ6OldlYlBhZ2UmLCBXZWJLaXQ6OldlYkZyYW1lJiwgdWludDY0X3QgLyppZGVu
dGlmaWVyKi8pIHsgcmV0dXJuIHRydWU7IH0KLX07Ci0KLX0gLy8gbmFtZXNwYWNlIEluamVjdGVk
QnVuZGxlCi0KLX0gLy8gbmFtZXNwYWNlIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlLmNwcAppbmRleCA5
NmI3M2QyYWFmZGVkZjJjYTQxMmQ1MTZhODJmMzljZTViNzY5NWJhLi5kM2ZmMjVmZTAyYjZkODM2
MzU5NzY5NGFiN2Y4M2IzODU2MjBlYWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlLmNwcApAQCAtMjks
NyArMjksNiBAQAogI2luY2x1ZGUgIkFQSUFycmF5LmgiCiAjaW5jbHVkZSAiQVBJRGF0YS5oIgog
I2luY2x1ZGUgIkluamVjdGVkQnVuZGxlLmgiCi0jaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVDbGll
bnQuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkLmgiCiAjaW5jbHVkZSAi
V0tBUElDYXN0LmgiCiAjaW5jbHVkZSAiV0tCdW5kbGVBUElDYXN0LmgiCkBAIC01MCw3ICs0OSw3
IEBAIFdLVHlwZUlEIFdLQnVuZGxlR2V0VHlwZUlEKCkKIAogdm9pZCBXS0J1bmRsZVNldENsaWVu
dChXS0J1bmRsZVJlZiBidW5kbGVSZWYsIFdLQnVuZGxlQ2xpZW50QmFzZSAqd2tDbGllbnQpCiB7
Ci0gICAgdG9JbXBsKGJ1bmRsZVJlZiktPnNldENsaWVudChzdGQ6Om1ha2VfdW5pcXVlPEluamVj
dGVkQnVuZGxlQ2xpZW50Pih3a0NsaWVudCkpOworICAgIHRvSW1wbChidW5kbGVSZWYpLT5pbml0
aWFsaXplQ2xpZW50KHdrQ2xpZW50KTsKIH0KIAogdm9pZCBXS0J1bmRsZVBvc3RNZXNzYWdlKFdL
QnVuZGxlUmVmIGJ1bmRsZVJlZiwgV0tTdHJpbmdSZWYgbWVzc2FnZU5hbWVSZWYsIFdLVHlwZVJl
ZiBtZXNzYWdlQm9keVJlZikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcAppbmRleCA1ZGYz
ZGZjM2U2ZTIwYjRmMzliMWRmNTk4NDQ0NWFmNjE4ZDRjMGJmLi4zNjkwMGNkM2ZmY2Y2ZGMyZGVl
YzJhOTNhOTVlN2RiMzYyYzhlZGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCkBA
IC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9yQ2xpZW50
LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVQYWdlRm9ybUNsaWVudC5oIgogI2luY2x1ZGUg
IkluamVjdGVkQnVuZGxlUGFnZUxvYWRlckNsaWVudC5oIgotI2luY2x1ZGUgIkluamVjdGVkQnVu
ZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlUGFn
ZVVJQ2xpZW50LmgiCiAjaW5jbHVkZSAiUGFnZUJhbm5lci5oIgogI2luY2x1ZGUgIldLQVBJQ2Fz
dC5oIgpAQCAtMTAxLDcgKzEwMCw3IEBAIHZvaWQgV0tCdW5kbGVQYWdlU2V0UGFnZUxvYWRlckNs
aWVudChXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZiwgV0tCdW5kbGVQYWdlTG9hZGVyCiAKIHZvaWQg
V0tCdW5kbGVQYWdlU2V0UmVzb3VyY2VMb2FkQ2xpZW50KFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVm
LCBXS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnRCYXNlKiB3a0NsaWVudCkKIHsKLSAgICB0
b0ltcGwocGFnZVJlZiktPnNldEluamVjdGVkQnVuZGxlUmVzb3VyY2VMb2FkQ2xpZW50KHN0ZDo6
bWFrZV91bmlxdWU8SW5qZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50Pih3a0NsaWVu
dCkpOworICAgIHRvSW1wbChwYWdlUmVmKS0+aW5pdGlhbGl6ZUluamVjdGVkQnVuZGxlUmVzb3Vy
Y2VMb2FkQ2xpZW50KHdrQ2xpZW50KTsKIH0KIAogdm9pZCBXS0J1bmRsZVBhZ2VTZXRQb2xpY3lD
bGllbnQoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYsIFdLQnVuZGxlUGFnZVBvbGljeUNsaWVudEJh
c2UqIHdrQ2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvZ3RrL1dlYktpdFdlYkV4dGVuc2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9ndGsvV2ViS2l0V2ViRXh0ZW5zaW9uLmNw
cAppbmRleCA2MGQ4NDFhZjk1MDQ5NzE4N2IxMDAyNGI4YjVmY2VjZWY4NjY1MGNhLi4xZWU4MTFj
Y2YzYTYyMGEwMGEzNzY2MTgwMTIwYWJiZjcyNTgwNzdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9ndGsvV2ViS2l0V2ViRXh0ZW5zaW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9n
dGsvV2ViS2l0V2ViRXh0ZW5zaW9uLmNwcApAQCAtMjEsOCArMjEsOSBAQAogI2luY2x1ZGUgIldl
YktpdFdlYkV4dGVuc2lvbi5oIgogCiAjaW5jbHVkZSAiQVBJRGljdGlvbmFyeS5oIgotI2luY2x1
ZGUgIkFQSUluamVjdGVkQnVuZGxlQnVuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiQVBJU3RyaW5n
LmgiCisjaW5jbHVkZSAiV0tCdW5kbGVBUElDYXN0LmgiCisjaW5jbHVkZSAiV0tCdW5kbGVQYWdl
LmgiCiAjaW5jbHVkZSAiV2ViS2l0UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdFdlYkV4dGVu
c2lvblByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRXZWJQYWdlUHJpdmF0ZS5oIgpAQCAtMTQ0
LDUxICsxNDUsNjcgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl9leHRlbnNpb25fY2xhc3NfaW5p
dChXZWJLaXRXZWJFeHRlbnNpb25DbGFzcyoga2xhc3MpCiAgICAgICAgIFdFQktJVF9UWVBFX1dF
Ql9QQUdFKTsKIH0KIAotY2xhc3MgV2ViRXh0ZW5zaW9uSW5qZWN0ZWRCdW5kbGVDbGllbnQgZmlu
YWwgOiBwdWJsaWMgQVBJOjpJbmplY3RlZEJ1bmRsZTo6Q2xpZW50IHsKLXB1YmxpYzoKLSAgICBl
eHBsaWNpdCBXZWJFeHRlbnNpb25JbmplY3RlZEJ1bmRsZUNsaWVudChXZWJLaXRXZWJFeHRlbnNp
b24qIGV4dGVuc2lvbikKLSAgICAgICAgOiBtX2V4dGVuc2lvbihleHRlbnNpb24pCi0gICAgewot
ICAgIH0KLQotcHJpdmF0ZToKLSAgICB2b2lkIGRpZENyZWF0ZVBhZ2UoSW5qZWN0ZWRCdW5kbGUm
LCBXZWJQYWdlJiBwYWdlKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgR1JlZlB0cjxXZWJLaXRX
ZWJQYWdlPiB3ZWJQYWdlID0gYWRvcHRHUmVmKHdlYmtpdFdlYlBhZ2VDcmVhdGUoJnBhZ2UpKTsK
LSAgICAgICAgbV9leHRlbnNpb24tPnByaXYtPnBhZ2VzLmFkZCgmcGFnZSwgd2ViUGFnZSk7Ci0g
ICAgICAgIGdfc2lnbmFsX2VtaXQobV9leHRlbnNpb24sIHNpZ25hbHNbUEFHRV9DUkVBVEVEXSwg
MCwgd2ViUGFnZS5nZXQoKSk7Ci0gICAgfQotCi0gICAgdm9pZCB3aWxsRGVzdHJveVBhZ2UoSW5q
ZWN0ZWRCdW5kbGUmLCBXZWJQYWdlJiBwYWdlKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgbV9l
eHRlbnNpb24tPnByaXYtPnBhZ2VzLnJlbW92ZSgmcGFnZSk7Ci0gICAgfQotCi0gICAgdm9pZCBk
aWRSZWNlaXZlTWVzc2FnZShJbmplY3RlZEJ1bmRsZSYsIGNvbnN0IFN0cmluZyYgbWVzc2FnZU5h
bWUsIEFQSTo6T2JqZWN0KiBtZXNzYWdlQm9keSkgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIEFT
U0VSVChtZXNzYWdlQm9keS0+dHlwZSgpID09IEFQSTo6T2JqZWN0OjpUeXBlOjpEaWN0aW9uYXJ5
KTsKLSAgICAgICAgQVBJOjpEaWN0aW9uYXJ5JiBtZXNzYWdlID0gKnN0YXRpY19jYXN0PEFQSTo6
RGljdGlvbmFyeSo+KG1lc3NhZ2VCb2R5KTsKLSAgICAgICAgaWYgKG1lc3NhZ2VOYW1lID09IFN0
cmluZzo6ZnJvbVVURjgoIlByZWZldGNoRE5TIikpIHsKLSAgICAgICAgICAgIEFQSTo6U3RyaW5n
KiBob3N0bmFtZSA9IHN0YXRpY19jYXN0PEFQSTo6U3RyaW5nKj4obWVzc2FnZS5nZXQoU3RyaW5n
Ojpmcm9tVVRGOCgiSG9zdG5hbWUiKSkpOwotICAgICAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xl
dG9uKCkucHJlZmV0Y2hETlMoaG9zdG5hbWUtPnN0cmluZygpKTsKLSAgICAgICAgfSBlbHNlCi0g
ICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICB9Ci0KLSAgICB2b2lkIGRpZFJl
Y2VpdmVNZXNzYWdlVG9QYWdlKEluamVjdGVkQnVuZGxlJiwgV2ViUGFnZSYgcGFnZSwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlTmFtZSwgQVBJOjpPYmplY3QqIG1lc3NhZ2VCb2R5KSBvdmVycmlkZQot
ICAgIHsKLSAgICAgICAgQVNTRVJUKG1lc3NhZ2VCb2R5LT50eXBlKCkgPT0gQVBJOjpPYmplY3Q6
OlR5cGU6OkRpY3Rpb25hcnkpOwotICAgICAgICBpZiAoYXV0byogd2ViUGFnZSA9IG1fZXh0ZW5z
aW9uLT5wcml2LT5wYWdlcy5nZXQoJnBhZ2UpKQotICAgICAgICAgICAgd2Via2l0V2ViUGFnZURp
ZFJlY2VpdmVNZXNzYWdlKHdlYlBhZ2UsIG1lc3NhZ2VOYW1lLCAqc3RhdGljX2Nhc3Q8QVBJOjpE
aWN0aW9uYXJ5Kj4obWVzc2FnZUJvZHkpKTsKLSAgICB9Ci0KLSAgICBXZWJLaXRXZWJFeHRlbnNp
b24qIG1fZXh0ZW5zaW9uOwotfTsKK3N0YXRpYyB2b2lkIHdlYmtpdFdlYkV4dGVuc2lvblBhZ2VD
cmVhdGVkKFdlYktpdFdlYkV4dGVuc2lvbiogZXh0ZW5zaW9uLCBXZWJQYWdlKiBwYWdlKQorewor
ICAgIEdSZWZQdHI8V2ViS2l0V2ViUGFnZT4gd2ViUGFnZSA9IGFkb3B0R1JlZih3ZWJraXRXZWJQ
YWdlQ3JlYXRlKHBhZ2UpKTsKKyAgICBleHRlbnNpb24tPnByaXYtPnBhZ2VzLmFkZChwYWdlLCB3
ZWJQYWdlKTsKKyAgICBnX3NpZ25hbF9lbWl0KGV4dGVuc2lvbiwgc2lnbmFsc1tQQUdFX0NSRUFU
RURdLCAwLCB3ZWJQYWdlLmdldCgpKTsKK30KKworc3RhdGljIHZvaWQgd2Via2l0V2ViRXh0ZW5z
aW9uUGFnZURlc3Ryb3koV2ViS2l0V2ViRXh0ZW5zaW9uKiBleHRlbnNpb24sIFdlYlBhZ2UqIHBh
Z2UpCit7CisgICAgZXh0ZW5zaW9uLT5wcml2LT5wYWdlcy5yZW1vdmUocGFnZSk7Cit9CisKK3N0
YXRpYyB2b2lkIHdlYmtpdFdlYkV4dGVuc2lvbkRpZFJlY2VpdmVNZXNzYWdlKFdlYktpdFdlYkV4
dGVuc2lvbiosIGNvbnN0IFN0cmluZyYgbWVzc2FnZU5hbWUsIEFQSTo6RGljdGlvbmFyeSYgbWVz
c2FnZSkKK3sKKyAgICBpZiAobWVzc2FnZU5hbWUgPT0gU3RyaW5nOjpmcm9tVVRGOCgiUHJlZmV0
Y2hETlMiKSkgeworICAgICAgICBBUEk6OlN0cmluZyogaG9zdG5hbWUgPSBzdGF0aWNfY2FzdDxB
UEk6OlN0cmluZyo+KG1lc3NhZ2UuZ2V0KFN0cmluZzo6ZnJvbVVURjgoIkhvc3RuYW1lIikpKTsK
KyAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucHJlZmV0Y2hETlMoaG9zdG5hbWUtPnN0
cmluZygpKTsKKyAgICB9IGVsc2UKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisK
K3N0YXRpYyB2b2lkIGRpZENyZWF0ZVBhZ2UoV0tCdW5kbGVSZWYsIFdLQnVuZGxlUGFnZVJlZiBw
YWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQoreworICAgIHdlYmtpdFdlYkV4dGVuc2lvblBh
Z2VDcmVhdGVkKFdFQktJVF9XRUJfRVhURU5TSU9OKGNsaWVudEluZm8pLCB0b0ltcGwocGFnZSkp
OworfQorCitzdGF0aWMgdm9pZCB3aWxsRGVzdHJveVBhZ2UoV0tCdW5kbGVSZWYsIFdLQnVuZGxl
UGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQoreworICAgIHdlYmtpdFdlYkV4
dGVuc2lvblBhZ2VEZXN0cm95KFdFQktJVF9XRUJfRVhURU5TSU9OKGNsaWVudEluZm8pLCB0b0lt
cGwocGFnZSkpOworfQorCitzdGF0aWMgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShXS0J1bmRsZVJl
ZiwgV0tTdHJpbmdSZWYgbmFtZSwgV0tUeXBlUmVmIG1lc3NhZ2VCb2R5LCBjb25zdCB2b2lkKiBj
bGllbnRJbmZvKQoreworICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tE
aWN0aW9uYXJ5R2V0VHlwZUlEKCkpOworICAgIHdlYmtpdFdlYkV4dGVuc2lvbkRpZFJlY2VpdmVN
ZXNzYWdlKFdFQktJVF9XRUJfRVhURU5TSU9OKGNsaWVudEluZm8pLCB0b0ltcGwobmFtZSktPnN0
cmluZygpLCAqdG9JbXBsKHN0YXRpY19jYXN0PFdLRGljdGlvbmFyeVJlZj4obWVzc2FnZUJvZHkp
KSk7Cit9CisKK3N0YXRpYyB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlVG9QYWdlKFdLQnVuZGxlUmVm
LCBXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbmFtZSwgV0tUeXBlUmVmIG1lc3Nh
Z2VCb2R5LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQoreworICAgIEFTU0VSVChXS0dldFR5cGVJ
RChtZXNzYWdlQm9keSkgPT0gV0tEaWN0aW9uYXJ5R2V0VHlwZUlEKCkpOworICAgIGlmIChXZWJL
aXRXZWJQYWdlKiB3ZWJQYWdlID0gV0VCS0lUX1dFQl9FWFRFTlNJT04oY2xpZW50SW5mbyktPnBy
aXYtPnBhZ2VzLmdldCh0b0ltcGwocGFnZSkpKQorICAgICAgICB3ZWJraXRXZWJQYWdlRGlkUmVj
ZWl2ZU1lc3NhZ2Uod2ViUGFnZSwgdG9JbXBsKG5hbWUpLT5zdHJpbmcoKSwgKnRvSW1wbChzdGF0
aWNfY2FzdDxXS0RpY3Rpb25hcnlSZWY+KG1lc3NhZ2VCb2R5KSkpOworfQogCiBXZWJLaXRXZWJF
eHRlbnNpb24qIHdlYmtpdFdlYkV4dGVuc2lvbkNyZWF0ZShJbmplY3RlZEJ1bmRsZSogYnVuZGxl
KQogewogICAgIFdlYktpdFdlYkV4dGVuc2lvbiogZXh0ZW5zaW9uID0gV0VCS0lUX1dFQl9FWFRF
TlNJT04oZ19vYmplY3RfbmV3KFdFQktJVF9UWVBFX1dFQl9FWFRFTlNJT04sIE5VTEwpKTsKLSAg
ICBidW5kbGUtPnNldENsaWVudChzdGQ6Om1ha2VfdW5pcXVlPFdlYkV4dGVuc2lvbkluamVjdGVk
QnVuZGxlQ2xpZW50PihleHRlbnNpb24pKTsKKworICAgIFdLQnVuZGxlQ2xpZW50VjEgd2tCdW5k
bGVDbGllbnQgPSB7CisgICAgICAgIHsKKyAgICAgICAgICAgIDEsIC8vIHZlcnNpb24KKyAgICAg
ICAgICAgIGV4dGVuc2lvbiwgLy8gY2xpZW50SW5mbworICAgICAgICB9LAorICAgICAgICBkaWRD
cmVhdGVQYWdlLAorICAgICAgICB3aWxsRGVzdHJveVBhZ2UsCisgICAgICAgIDAsIC8vIGRpZElu
aXRpYWxpemVQYWdlR3JvdXAKKyAgICAgICAgZGlkUmVjZWl2ZU1lc3NhZ2UsCisgICAgICAgIGRp
ZFJlY2VpdmVNZXNzYWdlVG9QYWdlCisgICAgfTsKKyAgICBXS0J1bmRsZVNldENsaWVudCh0b0FQ
SShidW5kbGUpLCAmd2tCdW5kbGVDbGllbnQuYmFzZSk7CisKICAgICByZXR1cm4gZXh0ZW5zaW9u
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbi5tbQppbmRleCBl
ZjdjOWI1MWM1ZjM0N2ZlYjlmZmNjZTg4YTgzNWE1OTkwMzY3YTBlLi44NGNiNTE3OTJjYWVhYTM2
OWMxY2FlNGM3ZmQxMTg0NjY2ODRhZTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlBy
b2Nlc3NQbHVnSW4ubW0KQEAgLTgwLDcgKzgwLDcgQEAgc3RhdGljIHZvaWQgc2V0VXBCdW5kbGVD
bGllbnQoV0tXZWJQcm9jZXNzUGx1Z0luQ29udHJvbGxlciAqcGx1Z0luQ29udHJvbGxlciwgSW4K
ICAgICBidW5kbGVDbGllbnQuZGlkQ3JlYXRlUGFnZSA9IGRpZENyZWF0ZVBhZ2U7CiAgICAgYnVu
ZGxlQ2xpZW50LndpbGxEZXN0cm95UGFnZSA9IHdpbGxEZXN0cm95UGFnZTsKIAotICAgIFdLQnVu
ZGxlU2V0Q2xpZW50KHRvQVBJKCZidW5kbGUpLCAmYnVuZGxlQ2xpZW50LmJhc2UpOworICAgIGJ1
bmRsZS5pbml0aWFsaXplQ2xpZW50KCZidW5kbGVDbGllbnQuYmFzZSk7CiB9CiAKIC0gKHZvaWQp
X3NldFByaW5jaXBhbENsYXNzSW5zdGFuY2U6KGlkIDxXS1dlYlByb2Nlc3NQbHVnSW4+KXByaW5j
aXBhbENsYXNzSW5zdGFuY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENv
bnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tCmluZGV4
IGY4OTljYTkxMWNlOWIyNDMwMTBlMzBlMmRmZmZkZmVmOWMyMzBkMDEuLjg2MDk5NjcwMDg5YTFi
Zjc0ZDFkNmZkZjkyMmZkYjg5ZTRhNGE0ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2Vy
Q29udGV4dENvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJv
bGxlci5tbQpAQCAtMzMzLDcgKzMzMyw3IEBAIHN0YXRpYyB2b2lkIHNldFVwUmVzb3VyY2VMb2Fk
Q2xpZW50KFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlciAqCiAgICAg
Y2xpZW50LmRpZEZpbmlzaExvYWRGb3JSZXNvdXJjZSA9IGRpZEZpbmlzaExvYWRGb3JSZXNvdXJj
ZTsKICAgICBjbGllbnQuZGlkRmFpbExvYWRGb3JSZXNvdXJjZSA9IGRpZEZhaWxMb2FkRm9yUmVz
b3VyY2U7CiAKLSAgICBXS0J1bmRsZVBhZ2VTZXRSZXNvdXJjZUxvYWRDbGllbnQodG9BUEkoJnBh
Z2UpLCAmY2xpZW50LmJhc2UpOworICAgIHBhZ2UuaW5pdGlhbGl6ZUluamVjdGVkQnVuZGxlUmVz
b3VyY2VMb2FkQ2xpZW50KCZjbGllbnQuYmFzZSk7CiB9CiAKIC0gKGlkIDxXS1dlYlByb2Nlc3NQ
bHVnSW5Mb2FkRGVsZWdhdGU+KWxvYWREZWxlZ2F0ZQpAQCAtMzUwLDcgKzM1MCw3IEBAIHN0YXRp
YyB2b2lkIHNldFVwUmVzb3VyY2VMb2FkQ2xpZW50KFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJD
b250ZXh0Q29udHJvbGxlciAqCiAgICAgICAgIHNldFVwUmVzb3VyY2VMb2FkQ2xpZW50KHNlbGYs
ICpfcGFnZSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgV0tCdW5kbGVQYWdlU2V0UGFnZUxvYWRl
ckNsaWVudCh0b0FQSShfcGFnZS5nZXQoKSksIG51bGxwdHIpOwotICAgICAgICBXS0J1bmRsZVBh
Z2VTZXRSZXNvdXJjZUxvYWRDbGllbnQodG9BUEkoX3BhZ2UuZ2V0KCkpLCBudWxscHRyKTsKKyAg
ICAgICAgX3BhZ2UtPmluaXRpYWxpemVJbmplY3RlZEJ1bmRsZVJlc291cmNlTG9hZENsaWVudChu
dWxscHRyKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKaW5kZXggODk5NTYzNTQz
ZmQ4YTVhOGNmMGJlYTViZjg3MjkzYWRlNDdlNjNkOC4uMzkxNjA0Y2U5N2I4OWM0OThkZGU1ODcw
ZjQ0OWRjMmM3YzAyODAwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKQEAgLTMyLDYgKzMyLDgg
QEAKICNpbmNsdWRlICJOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaCIKICNp
bmNsdWRlICJTZXNzaW9uVHJhY2tlci5oIgogI2luY2x1ZGUgIlVzZXJEYXRhLmgiCisjaW5jbHVk
ZSAiV0tBUElDYXN0LmgiCisjaW5jbHVkZSAiV0tCdW5kbGVBUElDYXN0LmgiCiAjaW5jbHVkZSAi
V2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzLmgiCiAjaW5jbHVkZSAiV2ViQ29va2llTWFuYWdlci5o
IgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgpAQCAtMTA3LDEyICsxMDksOSBA
QCBJbmplY3RlZEJ1bmRsZTo6fkluamVjdGVkQnVuZGxlKCkKIHsKIH0KIAotdm9pZCBJbmplY3Rl
ZEJ1bmRsZTo6c2V0Q2xpZW50KHN0ZDo6dW5pcXVlX3B0cjxBUEk6OkluamVjdGVkQnVuZGxlOjpD
bGllbnQ+JiYgY2xpZW50KQordm9pZCBJbmplY3RlZEJ1bmRsZTo6aW5pdGlhbGl6ZUNsaWVudChj
b25zdCBXS0J1bmRsZUNsaWVudEJhc2UqIGNsaWVudCkKIHsKLSAgICBpZiAoIWNsaWVudCkKLSAg
ICAgICAgbV9jbGllbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPEFQSTo6SW5qZWN0ZWRCdW5kbGU6OkNs
aWVudD4oKTsKLSAgICBlbHNlCi0gICAgICAgIG1fY2xpZW50ID0gV1RGTW92ZShjbGllbnQpOwor
ICAgIG1fY2xpZW50LmluaXRpYWxpemUoY2xpZW50KTsKIH0KIAogdm9pZCBJbmplY3RlZEJ1bmRs
ZTo6cG9zdE1lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlTmFtZSwgQVBJOjpPYmplY3QqIG1l
c3NhZ2VCb2R5KQpAQCAtNTA4LDI3ICs1MDcsMjcgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6cmVw
b3J0RXhjZXB0aW9uKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU1ZhbHVlUmVmIGV4Y2VwdGlvbikK
IAogdm9pZCBJbmplY3RlZEJ1bmRsZTo6ZGlkQ3JlYXRlUGFnZShXZWJQYWdlKiBwYWdlKQogewot
ICAgIG1fY2xpZW50LT5kaWRDcmVhdGVQYWdlKCp0aGlzLCAqcGFnZSk7CisgICAgbV9jbGllbnQu
ZGlkQ3JlYXRlUGFnZSh0aGlzLCBwYWdlKTsKIH0KIAogdm9pZCBJbmplY3RlZEJ1bmRsZTo6d2ls
bERlc3Ryb3lQYWdlKFdlYlBhZ2UqIHBhZ2UpCiB7Ci0gICAgbV9jbGllbnQtPndpbGxEZXN0cm95
UGFnZSgqdGhpcywgKnBhZ2UpOworICAgIG1fY2xpZW50LndpbGxEZXN0cm95UGFnZSh0aGlzLCBw
YWdlKTsKIH0KIAogdm9pZCBJbmplY3RlZEJ1bmRsZTo6ZGlkSW5pdGlhbGl6ZVBhZ2VHcm91cChX
ZWJQYWdlR3JvdXBQcm94eSogcGFnZUdyb3VwKQogewotICAgIG1fY2xpZW50LT5kaWRJbml0aWFs
aXplUGFnZUdyb3VwKCp0aGlzLCAqcGFnZUdyb3VwKTsKKyAgICBtX2NsaWVudC5kaWRJbml0aWFs
aXplUGFnZUdyb3VwKHRoaXMsIHBhZ2VHcm91cCk7CiB9CiAKIHZvaWQgSW5qZWN0ZWRCdW5kbGU6
OmRpZFJlY2VpdmVNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVzc2FnZU5hbWUsIEFQSTo6T2JqZWN0
KiBtZXNzYWdlQm9keSkKIHsKLSAgICBtX2NsaWVudC0+ZGlkUmVjZWl2ZU1lc3NhZ2UoKnRoaXMs
IG1lc3NhZ2VOYW1lLCBtZXNzYWdlQm9keSk7CisgICAgbV9jbGllbnQuZGlkUmVjZWl2ZU1lc3Nh
Z2UodGhpcywgbWVzc2FnZU5hbWUsIG1lc3NhZ2VCb2R5KTsKIH0KIAogdm9pZCBJbmplY3RlZEJ1
bmRsZTo6ZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2UoV2ViUGFnZSogcGFnZSwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlTmFtZSwgQVBJOjpPYmplY3QqIG1lc3NhZ2VCb2R5KQogewotICAgIG1fY2xpZW50
LT5kaWRSZWNlaXZlTWVzc2FnZVRvUGFnZSgqdGhpcywgKnBhZ2UsIG1lc3NhZ2VOYW1lLCBtZXNz
YWdlQm9keSk7CisgICAgbV9jbGllbnQuZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2UodGhpcywgcGFn
ZSwgbWVzc2FnZU5hbWUsIG1lc3NhZ2VCb2R5KTsKIH0KIAogdm9pZCBJbmplY3RlZEJ1bmRsZTo6
c2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbihXZWJQYWdlR3JvdXBQcm94eSogcGFnZUdyb3VwLCBj
b25zdCBTdHJpbmcmIGxvY2F0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCmluZGV4IGU4ZmY2YTRhOWVm
NWQwZmIxM2QyNjhjZTI4ZDg2NjE1YTIxYzIxZDYuLjc3NDUwNTk1NGExZTYxNTUzNmUxODkzZWJk
NmEwMTkzNzdmZTg5OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgKQEAgLTI1LDEwICsyNSwxMCBAQAog
CiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkFQSUluamVjdGVkQnVuZGxlQnVuZGxlQ2xpZW50
LmgiCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCisjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVDbGll
bnQuaCIKICNpbmNsdWRlICJTYW5kYm94RXh0ZW5zaW9uLmgiCi0jaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdC5oPgorI2luY2x1ZGUgIldLQnVuZGxlLmgiCiAjaW5jbHVkZSA8V2Vi
Q29yZS9Vc2VyQ29udGVudFR5cGVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyU2NyaXB0VHlw
ZXMuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC04NCw3ICs4NCw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNldEJ1bmRsZVBhcmFtZXRlcnMoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJik7
CiAKICAgICAvLyBBUEkKLSAgICB2b2lkIHNldENsaWVudChzdGQ6OnVuaXF1ZV9wdHI8QVBJOjpJ
bmplY3RlZEJ1bmRsZTo6Q2xpZW50PiYmKTsKKyAgICB2b2lkIGluaXRpYWxpemVDbGllbnQoY29u
c3QgV0tCdW5kbGVDbGllbnRCYXNlKik7CiAgICAgdm9pZCBwb3N0TWVzc2FnZShjb25zdCBTdHJp
bmcmLCBBUEk6Ok9iamVjdCopOwogICAgIHZvaWQgcG9zdFN5bmNocm9ub3VzTWVzc2FnZShjb25z
dCBTdHJpbmcmLCBBUEk6Ok9iamVjdCosIFJlZlB0cjxBUEk6Ok9iamVjdD4mIHJldHVybkRhdGEp
OwogCkBAIC0xNjEsNyArMTYxLDcgQEAgcHJpdmF0ZToKIAogICAgIFJlZlB0cjxTYW5kYm94RXh0
ZW5zaW9uPiBtX3NhbmRib3hFeHRlbnNpb247CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8QVBJOjpJ
bmplY3RlZEJ1bmRsZTo6Q2xpZW50PiBtX2NsaWVudDsKKyAgICBJbmplY3RlZEJ1bmRsZUNsaWVu
dCBtX2NsaWVudDsKIAogI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBXS19BUElfRU5BQkxFRAogICAg
IFJldGFpblB0cjxXS1dlYlByb2Nlc3NCdW5kbGVQYXJhbWV0ZXJzPiBtX2J1bmRsZVBhcmFtZXRl
cnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0luamVjdGVkQnVuZGxlQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVDbGllbnQuY3BwCmluZGV4IDlhNzdjNTM5YmM5ZTBi
YjQyOGNkZDMwNjFjODU5YTk3YWFhMzEyM2QuLjE1ZGYxNmMyZTQ1YzRkYzJhNGJkNTMzOTdlZDcx
MTc1MjJiMWU1MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVDbGllbnQuY3BwCkBAIC0zMyw0
OSArMzMsNDQgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLUluamVjdGVkQnVuZGxlQ2xpZW50
OjpJbmplY3RlZEJ1bmRsZUNsaWVudChjb25zdCBXS0J1bmRsZUNsaWVudEJhc2UqIGNsaWVudCkK
LXsKLSAgICBpbml0aWFsaXplKGNsaWVudCk7Ci19Ci0KLXZvaWQgSW5qZWN0ZWRCdW5kbGVDbGll
bnQ6OmRpZENyZWF0ZVBhZ2UoSW5qZWN0ZWRCdW5kbGUmIGJ1bmRsZSwgV2ViUGFnZSYgcGFnZSkK
K3ZvaWQgSW5qZWN0ZWRCdW5kbGVDbGllbnQ6OmRpZENyZWF0ZVBhZ2UoSW5qZWN0ZWRCdW5kbGUq
IGJ1bmRsZSwgV2ViUGFnZSogcGFnZSkKIHsKICAgICBpZiAoIW1fY2xpZW50LmRpZENyZWF0ZVBh
Z2UpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fY2xpZW50LmRpZENyZWF0ZVBhZ2UodG9BUEko
JmJ1bmRsZSksIHRvQVBJKCZwYWdlKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICBt
X2NsaWVudC5kaWRDcmVhdGVQYWdlKHRvQVBJKGJ1bmRsZSksIHRvQVBJKHBhZ2UpLCBtX2NsaWVu
dC5iYXNlLmNsaWVudEluZm8pOwogfQogCi12b2lkIEluamVjdGVkQnVuZGxlQ2xpZW50Ojp3aWxs
RGVzdHJveVBhZ2UoSW5qZWN0ZWRCdW5kbGUmIGJ1bmRsZSwgV2ViUGFnZSYgcGFnZSkKK3ZvaWQg
SW5qZWN0ZWRCdW5kbGVDbGllbnQ6OndpbGxEZXN0cm95UGFnZShJbmplY3RlZEJ1bmRsZSogYnVu
ZGxlLCBXZWJQYWdlKiBwYWdlKQogewogICAgIGlmICghbV9jbGllbnQud2lsbERlc3Ryb3lQYWdl
KQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NsaWVudC53aWxsRGVzdHJveVBhZ2UodG9BUEko
JmJ1bmRsZSksIHRvQVBJKCZwYWdlKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICBt
X2NsaWVudC53aWxsRGVzdHJveVBhZ2UodG9BUEkoYnVuZGxlKSwgdG9BUEkocGFnZSksIG1fY2xp
ZW50LmJhc2UuY2xpZW50SW5mbyk7CiB9CiAKLXZvaWQgSW5qZWN0ZWRCdW5kbGVDbGllbnQ6OmRp
ZEluaXRpYWxpemVQYWdlR3JvdXAoSW5qZWN0ZWRCdW5kbGUmIGJ1bmRsZSwgV2ViUGFnZUdyb3Vw
UHJveHkmIHBhZ2VHcm91cCkKK3ZvaWQgSW5qZWN0ZWRCdW5kbGVDbGllbnQ6OmRpZEluaXRpYWxp
emVQYWdlR3JvdXAoSW5qZWN0ZWRCdW5kbGUqIGJ1bmRsZSwgV2ViUGFnZUdyb3VwUHJveHkqIHBh
Z2VHcm91cCkKIHsKICAgICBpZiAoIW1fY2xpZW50LmRpZEluaXRpYWxpemVQYWdlR3JvdXApCiAg
ICAgICAgIHJldHVybjsKIAotICAgIG1fY2xpZW50LmRpZEluaXRpYWxpemVQYWdlR3JvdXAodG9B
UEkoJmJ1bmRsZSksIHRvQVBJKCZwYWdlR3JvdXApLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8p
OworICAgIG1fY2xpZW50LmRpZEluaXRpYWxpemVQYWdlR3JvdXAodG9BUEkoYnVuZGxlKSwgdG9B
UEkocGFnZUdyb3VwKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKIH0KIAotdm9pZCBJbmpl
Y3RlZEJ1bmRsZUNsaWVudDo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSW5qZWN0ZWRCdW5kbGUmIGJ1bmRs
ZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlTmFtZSwgQVBJOjpPYmplY3QqIG1lc3NhZ2VCb2R5KQor
dm9pZCBJbmplY3RlZEJ1bmRsZUNsaWVudDo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSW5qZWN0ZWRCdW5k
bGUqIGJ1bmRsZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlTmFtZSwgQVBJOjpPYmplY3QqIG1lc3Nh
Z2VCb2R5KQogewogICAgIGlmICghbV9jbGllbnQuZGlkUmVjZWl2ZU1lc3NhZ2UpCiAgICAgICAg
IHJldHVybjsKIAotICAgIG1fY2xpZW50LmRpZFJlY2VpdmVNZXNzYWdlKHRvQVBJKCZidW5kbGUp
LCB0b0FQSShtZXNzYWdlTmFtZS5pbXBsKCkpLCB0b0FQSShtZXNzYWdlQm9keSksIG1fY2xpZW50
LmJhc2UuY2xpZW50SW5mbyk7CisgICAgbV9jbGllbnQuZGlkUmVjZWl2ZU1lc3NhZ2UodG9BUEko
YnVuZGxlKSwgdG9BUEkobWVzc2FnZU5hbWUuaW1wbCgpKSwgdG9BUEkobWVzc2FnZUJvZHkpLCBt
X2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogfQogCi12b2lkIEluamVjdGVkQnVuZGxlQ2xpZW50
OjpkaWRSZWNlaXZlTWVzc2FnZVRvUGFnZShJbmplY3RlZEJ1bmRsZSYgYnVuZGxlLCBXZWJQYWdl
JiBwYWdlLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2VOYW1lLCBBUEk6Ok9iamVjdCogbWVzc2FnZUJv
ZHkpCit2b2lkIEluamVjdGVkQnVuZGxlQ2xpZW50OjpkaWRSZWNlaXZlTWVzc2FnZVRvUGFnZShJ
bmplY3RlZEJ1bmRsZSogYnVuZGxlLCBXZWJQYWdlKiBwYWdlLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2VOYW1lLCBBUEk6Ok9iamVjdCogbWVzc2FnZUJvZHkpCiB7CiAgICAgaWYgKCFtX2NsaWVudC5k
aWRSZWNlaXZlTWVzc2FnZVRvUGFnZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jbGllbnQu
ZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2UodG9BUEkoJmJ1bmRsZSksIHRvQVBJKCZwYWdlKSwgdG9B
UEkobWVzc2FnZU5hbWUuaW1wbCgpKSwgdG9BUEkobWVzc2FnZUJvZHkpLCBtX2NsaWVudC5iYXNl
LmNsaWVudEluZm8pOworICAgIG1fY2xpZW50LmRpZFJlY2VpdmVNZXNzYWdlVG9QYWdlKHRvQVBJ
KGJ1bmRsZSksIHRvQVBJKHBhZ2UpLCB0b0FQSShtZXNzYWdlTmFtZS5pbXBsKCkpLCB0b0FQSSht
ZXNzYWdlQm9keSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUNsaWVudC5oCmluZGV4IGJkZjgzZDU4Nzk0
ZGUzMzNlNDFhMzIyZmQxNTk2YTU5N2Y1NzIxOWIuLmE3YmU2NzliMDM2YjVlYzNlNGVmZjBjMGEy
ZDc1ZTMyNWNmNjQwMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlQ2xpZW50LmgKQEAgLTI3LDcg
KzI3LDYgQEAKICNkZWZpbmUgSW5qZWN0ZWRCdW5kbGVDbGllbnRfaAogCiAjaW5jbHVkZSAiQVBJ
Q2xpZW50LmgiCi0jaW5jbHVkZSAiQVBJSW5qZWN0ZWRCdW5kbGVCdW5kbGVDbGllbnQuaCIKICNp
bmNsdWRlICJXS0J1bmRsZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKQEAgLTQ1LDE3
ICs0NCwxNiBAQCBjbGFzcyBJbmplY3RlZEJ1bmRsZTsKIGNsYXNzIFdlYlBhZ2U7CiBjbGFzcyBX
ZWJQYWdlR3JvdXBQcm94eTsKIAotY2xhc3MgSW5qZWN0ZWRCdW5kbGVDbGllbnQgOiBwdWJsaWMg
QVBJOjpJbmplY3RlZEJ1bmRsZTo6Q2xpZW50LCBwdWJsaWMgQVBJOjpDbGllbnQ8V0tCdW5kbGVD
bGllbnRCYXNlPiB7CitjbGFzcyBJbmplY3RlZEJ1bmRsZUNsaWVudCA6IHB1YmxpYyBBUEk6OkNs
aWVudDxXS0J1bmRsZUNsaWVudEJhc2U+IHsKIHB1YmxpYzoKLSAgICBleHBsaWNpdCBJbmplY3Rl
ZEJ1bmRsZUNsaWVudChjb25zdCBXS0J1bmRsZUNsaWVudEJhc2UqKTsKLQotICAgIHZvaWQgZGlk
Q3JlYXRlUGFnZShJbmplY3RlZEJ1bmRsZSYsIFdlYlBhZ2UmKSBvdmVycmlkZTsKLSAgICB2b2lk
IHdpbGxEZXN0cm95UGFnZShJbmplY3RlZEJ1bmRsZSYsIFdlYlBhZ2UmKSBvdmVycmlkZTsKLSAg
ICB2b2lkIGRpZEluaXRpYWxpemVQYWdlR3JvdXAoSW5qZWN0ZWRCdW5kbGUmLCBXZWJQYWdlR3Jv
dXBQcm94eSYpIG92ZXJyaWRlOwotICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSW5qZWN0ZWRC
dW5kbGUmLCBjb25zdCBXVEY6OlN0cmluZyYsIEFQSTo6T2JqZWN0Kikgb3ZlcnJpZGU7Ci0gICAg
dm9pZCBkaWRSZWNlaXZlTWVzc2FnZVRvUGFnZShJbmplY3RlZEJ1bmRsZSYsIFdlYlBhZ2UmLCBj
b25zdCBXVEY6OlN0cmluZyYsIEFQSTo6T2JqZWN0Kikgb3ZlcnJpZGU7CisgICAgdm9pZCBkaWRD
cmVhdGVQYWdlKEluamVjdGVkQnVuZGxlKiwgV2ViUGFnZSopOworICAgIHZvaWQgd2lsbERlc3Ry
b3lQYWdlKEluamVjdGVkQnVuZGxlKiwgV2ViUGFnZSopOworICAgIHZvaWQgZGlkSW5pdGlhbGl6
ZVBhZ2VHcm91cChJbmplY3RlZEJ1bmRsZSosIFdlYlBhZ2VHcm91cFByb3h5Kik7CisgICAgdm9p
ZCBkaWRSZWNlaXZlTWVzc2FnZShJbmplY3RlZEJ1bmRsZSosIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZU5hbWUsIEFQSTo6T2JqZWN0KiBtZXNzYWdlQm9keSk7CisgICAgdm9pZCBkaWRSZWNlaXZlTWVz
c2FnZVRvUGFnZShJbmplY3RlZEJ1bmRsZSosIFdlYlBhZ2UqLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2VOYW1lLCBBUEk6Ok9iamVjdCogbWVzc2FnZUJvZHkpOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CiAKKwogI2VuZGlmIC8vIEluamVjdGVkQnVuZGxlQ2xpZW50X2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQ
YWdlUmVzb3VyY2VMb2FkQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmNwcAppbmRl
eCBlMDg3NDY0NTE3ZWU4Yjk3YWYwNzg1NWY5MWFiYTUzNjk0YjFmMjkzLi4xMzJlMjZkYzg3ZjNl
MmI0ZGE2NTgzMWZmM2EzZTc4OTU2YzFjN2I0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENs
aWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuY3BwCkBAIC0zNSwyNSArMzUsMjAg
QEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1Jbmpl
Y3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQ6OkluamVjdGVkQnVuZGxlUGFnZVJlc291
cmNlTG9hZENsaWVudChjb25zdCBXS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnRCYXNlKiBj
bGllbnQpCi17Ci0gICAgaW5pdGlhbGl6ZShjbGllbnQpOwotfQotCi12b2lkIEluamVjdGVkQnVu
ZGxlUGFnZVJlc291cmNlTG9hZENsaWVudDo6ZGlkSW5pdGlhdGVMb2FkRm9yUmVzb3VyY2UoV2Vi
UGFnZSYgcGFnZSwgV2ViRnJhbWUmIGZyYW1lLCB1aW50NjRfdCBpZGVudGlmaWVyLCBjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGJvb2wgcGFnZUlzUHJvdmlzaW9uYWxseUxvYWRpbmcp
Cit2b2lkIEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudDo6ZGlkSW5pdGlhdGVM
b2FkRm9yUmVzb3VyY2UoV2ViUGFnZSogcGFnZSwgV2ViRnJhbWUqIGZyYW1lLCB1aW50NjRfdCBp
ZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGJvb2wg
cGFnZUlzUHJvdmlzaW9uYWxseUxvYWRpbmcpCiB7CiAgICAgaWYgKCFtX2NsaWVudC5kaWRJbml0
aWF0ZUxvYWRGb3JSZXNvdXJjZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jbGllbnQuZGlk
SW5pdGlhdGVMb2FkRm9yUmVzb3VyY2UodG9BUEkoJnBhZ2UpLCB0b0FQSSgmZnJhbWUpLCBpZGVu
dGlmaWVyLCB0b0FQSShyZXF1ZXN0KSwgcGFnZUlzUHJvdmlzaW9uYWxseUxvYWRpbmcsIG1fY2xp
ZW50LmJhc2UuY2xpZW50SW5mbyk7CisgICAgbV9jbGllbnQuZGlkSW5pdGlhdGVMb2FkRm9yUmVz
b3VyY2UodG9BUEkocGFnZSksIHRvQVBJKGZyYW1lKSwgaWRlbnRpZmllciwgdG9BUEkocmVxdWVz
dCksIHBhZ2VJc1Byb3Zpc2lvbmFsbHlMb2FkaW5nLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8p
OwogfQogCi12b2lkIEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudDo6d2lsbFNl
bmRSZXF1ZXN0Rm9yRnJhbWUoV2ViUGFnZSYgcGFnZSwgV2ViRnJhbWUmIGZyYW1lLCB1aW50NjRf
dCBpZGVudGlmaWVyLCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmIHJlZGlyZWN0UmVzcG9uc2UpCit2b2lkIEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNl
TG9hZENsaWVudDo6d2lsbFNlbmRSZXF1ZXN0Rm9yRnJhbWUoV2ViUGFnZSogcGFnZSwgV2ViRnJh
bWUqIGZyYW1lLCB1aW50NjRfdCBpZGVudGlmaWVyLCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qs
IGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9uc2UpCiB7CiAgICAgaWYgKCFt
X2NsaWVudC53aWxsU2VuZFJlcXVlc3RGb3JGcmFtZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
UmVmUHRyPEFQSTo6VVJMUmVxdWVzdD4gcmV0dXJuZWRSZXF1ZXN0ID0gYWRvcHRSZWYodG9JbXBs
KG1fY2xpZW50LndpbGxTZW5kUmVxdWVzdEZvckZyYW1lKHRvQVBJKCZwYWdlKSwgdG9BUEkoJmZy
YW1lKSwgaWRlbnRpZmllciwgdG9BUEkocmVxdWVzdCksIHRvQVBJKHJlZGlyZWN0UmVzcG9uc2Up
LCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pKSk7CisgICAgUmVmUHRyPEFQSTo6VVJMUmVxdWVz
dD4gcmV0dXJuZWRSZXF1ZXN0ID0gYWRvcHRSZWYodG9JbXBsKG1fY2xpZW50LndpbGxTZW5kUmVx
dWVzdEZvckZyYW1lKHRvQVBJKHBhZ2UpLCB0b0FQSShmcmFtZSksIGlkZW50aWZpZXIsIHRvQVBJ
KHJlcXVlc3QpLCB0b0FQSShyZWRpcmVjdFJlc3BvbnNlKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJ
bmZvKSkpOwogICAgIGlmIChyZXR1cm5lZFJlcXVlc3QpIHsKICAgICAgICAgLy8gSWYgdGhlIGNs
aWVudCByZXR1cm5lZCBhbiBIVFRQIGJvZHksIHdlIHdhbnQgdG8gdXNlIHRoYXQgaHR0cCBib2R5
LiBUaGlzIGlzIG5lZWRlZCB0byBmaXggPHJkYXI6Ly9wcm9ibGVtLzIzNzYzNTg0PgogICAgICAg
ICBhdXRvJiByZXR1cm5lZFJlc291cmNlUmVxdWVzdCA9IHJldHVybmVkUmVxdWVzdC0+cmVzb3Vy
Y2VSZXF1ZXN0KCk7CkBAIC02NSw1MiArNjAsNTIgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2VS
ZXNvdXJjZUxvYWRDbGllbnQ6OndpbGxTZW5kUmVxdWVzdEZvckZyYW1lKFdlYlBhZ2UmIHBhZ2UK
ICAgICAgICAgcmVxdWVzdCA9IHsgfTsKIH0KIAotdm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2VSZXNv
dXJjZUxvYWRDbGllbnQ6OmRpZFJlY2VpdmVSZXNwb25zZUZvclJlc291cmNlKFdlYlBhZ2UmIHBh
Z2UsIFdlYkZyYW1lJiBmcmFtZSwgdWludDY0X3QgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYgcmVzcG9uc2UpCit2b2lkIEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENs
aWVudDo6ZGlkUmVjZWl2ZVJlc3BvbnNlRm9yUmVzb3VyY2UoV2ViUGFnZSogcGFnZSwgV2ViRnJh
bWUqIGZyYW1lLCB1aW50NjRfdCBpZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
c3BvbnNlJiByZXNwb25zZSkKIHsKICAgICBpZiAoIW1fY2xpZW50LmRpZFJlY2VpdmVSZXNwb25z
ZUZvclJlc291cmNlKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NsaWVudC5kaWRSZWNlaXZl
UmVzcG9uc2VGb3JSZXNvdXJjZSh0b0FQSSgmcGFnZSksIHRvQVBJKCZmcmFtZSksIGlkZW50aWZp
ZXIsIHRvQVBJKHJlc3BvbnNlKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICBtX2Ns
aWVudC5kaWRSZWNlaXZlUmVzcG9uc2VGb3JSZXNvdXJjZSh0b0FQSShwYWdlKSwgdG9BUEkoZnJh
bWUpLCBpZGVudGlmaWVyLCB0b0FQSShyZXNwb25zZSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5m
byk7CiB9CiAKLXZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50OjpkaWRS
ZWNlaXZlQ29udGVudExlbmd0aEZvclJlc291cmNlKFdlYlBhZ2UmIHBhZ2UsIFdlYkZyYW1lJiBm
cmFtZSwgdWludDY0X3QgaWRlbnRpZmllciwgdWludDY0X3QgY29udGVudExlbmd0aCkKK3ZvaWQg
SW5qZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50OjpkaWRSZWNlaXZlQ29udGVudExl
bmd0aEZvclJlc291cmNlKFdlYlBhZ2UqIHBhZ2UsIFdlYkZyYW1lKiBmcmFtZSwgdWludDY0X3Qg
aWRlbnRpZmllciwgdWludDY0X3QgY29udGVudExlbmd0aCkKIHsKICAgICBpZiAoIW1fY2xpZW50
LmRpZFJlY2VpdmVDb250ZW50TGVuZ3RoRm9yUmVzb3VyY2UpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIG1fY2xpZW50LmRpZFJlY2VpdmVDb250ZW50TGVuZ3RoRm9yUmVzb3VyY2UodG9BUEkoJnBh
Z2UpLCB0b0FQSSgmZnJhbWUpLCBpZGVudGlmaWVyLCBjb250ZW50TGVuZ3RoLCBtX2NsaWVudC5i
YXNlLmNsaWVudEluZm8pOworICAgIG1fY2xpZW50LmRpZFJlY2VpdmVDb250ZW50TGVuZ3RoRm9y
UmVzb3VyY2UodG9BUEkocGFnZSksIHRvQVBJKGZyYW1lKSwgaWRlbnRpZmllciwgY29udGVudExl
bmd0aCwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKIH0KIAotdm9pZCBJbmplY3RlZEJ1bmRs
ZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQ6OmRpZEZpbmlzaExvYWRGb3JSZXNvdXJjZShXZWJQYWdl
JiBwYWdlLCBXZWJGcmFtZSYgZnJhbWUsIHVpbnQ2NF90IGlkZW50aWZpZXIpCit2b2lkIEluamVj
dGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudDo6ZGlkRmluaXNoTG9hZEZvclJlc291cmNl
KFdlYlBhZ2UqIHBhZ2UsIFdlYkZyYW1lKiBmcmFtZSwgdWludDY0X3QgaWRlbnRpZmllcikKIHsK
ICAgICBpZiAoIW1fY2xpZW50LmRpZEZpbmlzaExvYWRGb3JSZXNvdXJjZSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgbV9jbGllbnQuZGlkRmluaXNoTG9hZEZvclJlc291cmNlKHRvQVBJKCZwYWdl
KSwgdG9BUEkoJmZyYW1lKSwgaWRlbnRpZmllciwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsK
KyAgICBtX2NsaWVudC5kaWRGaW5pc2hMb2FkRm9yUmVzb3VyY2UodG9BUEkocGFnZSksIHRvQVBJ
KGZyYW1lKSwgaWRlbnRpZmllciwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKIH0KIAotdm9p
ZCBJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQ6OmRpZEZhaWxMb2FkRm9yUmVz
b3VyY2UoV2ViUGFnZSYgcGFnZSwgV2ViRnJhbWUmIGZyYW1lLCB1aW50NjRfdCBpZGVudGlmaWVy
LCBjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikKK3ZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdlUmVz
b3VyY2VMb2FkQ2xpZW50OjpkaWRGYWlsTG9hZEZvclJlc291cmNlKFdlYlBhZ2UqIHBhZ2UsIFdl
YkZyYW1lKiBmcmFtZSwgdWludDY0X3QgaWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VFcnJvciYgZXJyb3IpCiB7CiAgICAgaWYgKCFtX2NsaWVudC5kaWRGYWlsTG9hZEZvclJlc291
cmNlKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NsaWVudC5kaWRGYWlsTG9hZEZvclJlc291
cmNlKHRvQVBJKCZwYWdlKSwgdG9BUEkoJmZyYW1lKSwgaWRlbnRpZmllciwgdG9BUEkoZXJyb3Ip
LCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworICAgIG1fY2xpZW50LmRpZEZhaWxMb2FkRm9y
UmVzb3VyY2UodG9BUEkocGFnZSksIHRvQVBJKGZyYW1lKSwgaWRlbnRpZmllciwgdG9BUEkoZXJy
b3IpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogfQogCi1ib29sIEluamVjdGVkQnVuZGxl
UGFnZVJlc291cmNlTG9hZENsaWVudDo6c2hvdWxkQ2FjaGVSZXNwb25zZShXZWJQYWdlJiBwYWdl
LCBXZWJGcmFtZSYgZnJhbWUsIHVpbnQ2NF90IGlkZW50aWZpZXIpCitib29sIEluamVjdGVkQnVu
ZGxlUGFnZVJlc291cmNlTG9hZENsaWVudDo6c2hvdWxkQ2FjaGVSZXNwb25zZShXZWJQYWdlKiBw
YWdlLCBXZWJGcmFtZSogZnJhbWUsIHVpbnQ2NF90IGlkZW50aWZpZXIpCiB7CiAgICAgaWYgKCFt
X2NsaWVudC5zaG91bGRDYWNoZVJlc3BvbnNlKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAg
IHJldHVybiBtX2NsaWVudC5zaG91bGRDYWNoZVJlc3BvbnNlKHRvQVBJKCZwYWdlKSwgdG9BUEko
JmZyYW1lKSwgaWRlbnRpZmllciwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICByZXR1
cm4gbV9jbGllbnQuc2hvdWxkQ2FjaGVSZXNwb25zZSh0b0FQSShwYWdlKSwgdG9BUEkoZnJhbWUp
LCBpZGVudGlmaWVyLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogfQogCi1ib29sIEluamVj
dGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudDo6c2hvdWxkVXNlQ3JlZGVudGlhbFN0b3Jh
Z2UoV2ViUGFnZSYgcGFnZSwgV2ViRnJhbWUmIGZyYW1lLCB1aW50NjRfdCBpZGVudGlmaWVyKQor
Ym9vbCBJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQ6OnNob3VsZFVzZUNyZWRl
bnRpYWxTdG9yYWdlKFdlYlBhZ2UqIHBhZ2UsIFdlYkZyYW1lKiBmcmFtZSwgdWludDY0X3QgaWRl
bnRpZmllcikKIHsKICAgICBpZiAoIW1fY2xpZW50LnNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdl
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIHJldHVybiBtX2NsaWVudC5zaG91bGRVc2VD
cmVkZW50aWFsU3RvcmFnZSh0b0FQSSgmcGFnZSksIHRvQVBJKCZmcmFtZSksIGlkZW50aWZpZXIs
IG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CisgICAgcmV0dXJuIG1fY2xpZW50LnNob3VsZFVz
ZUNyZWRlbnRpYWxTdG9yYWdlKHRvQVBJKHBhZ2UpLCB0b0FQSShmcmFtZSksIGlkZW50aWZpZXIs
IG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9Jbmpl
Y3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50
LmgKaW5kZXggM2FlZjNkY2NlYTM5NjUwY2Q2MWY4NGVmZjI4MWFkMGQyNDdhNmFlNy4uNjg0Yzg3
Yjc4NWNiOGU1YTMzMzMzNWM4M2ZkMmZjODE0YmM4MGI2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJj
ZUxvYWRDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5oCkBAIC0yNyw4ICsyNyw5
IEBACiAjZGVmaW5lIEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudF9oCiAKICNp
bmNsdWRlICJBUElDbGllbnQuaCIKLSNpbmNsdWRlICJBUElJbmplY3RlZEJ1bmRsZVBhZ2VSZXNv
dXJjZUxvYWRDbGllbnQuaCIKKyNpbmNsdWRlICJTYW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlwZS5o
IgogI2luY2x1ZGUgIldLQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5oIgorI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFjZSBBUEkgewogdGVtcGxhdGU8PiBzdHJ1Y3QgQ2xp
ZW50VHJhaXRzPFdLQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudEJhc2U+IHsKQEAgLTQ3LDE4
ICs0OCwxNiBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFdlYlBhZ2U7CiBjbGFzcyBXZWJG
cmFtZTsKIAotY2xhc3MgSW5qZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50IDogcHVi
bGljIEFQSTo6SW5qZWN0ZWRCdW5kbGU6OlJlc291cmNlTG9hZENsaWVudCwgcHVibGljIEFQSTo6
Q2xpZW50PFdLQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudEJhc2U+IHsKK2NsYXNzIEluamVj
dGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudCA6IHB1YmxpYyBBUEk6OkNsaWVudDxXS0J1
bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnRCYXNlPiB7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQg
SW5qZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50KGNvbnN0IFdLQnVuZGxlUGFnZVJl
c291cmNlTG9hZENsaWVudEJhc2UqKTsKLQotICAgIHZvaWQgZGlkSW5pdGlhdGVMb2FkRm9yUmVz
b3VyY2UoV2ViUGFnZSYsIFdlYkZyYW1lJiwgdWludDY0X3QgaWRlbnRpZmllciwgY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgYm9vbCAvKnBhZ2VJc1Byb3Zpc2lvbmFsbHlMb2FkaW5n
Ki8pIG92ZXJyaWRlOwotICAgIHZvaWQgd2lsbFNlbmRSZXF1ZXN0Rm9yRnJhbWUoV2ViUGFnZSYs
IFdlYkZyYW1lJiwgdWludDY0X3QgaWRlbnRpZmllciwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpIG92ZXJyaWRlOwotICAgIHZvaWQg
ZGlkUmVjZWl2ZVJlc3BvbnNlRm9yUmVzb3VyY2UoV2ViUGFnZSYsIFdlYkZyYW1lJiwgdWludDY0
X3QgaWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpIG92ZXJyaWRl
OwotICAgIHZvaWQgZGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGhGb3JSZXNvdXJjZShXZWJQYWdlJiwg
V2ViRnJhbWUmLCB1aW50NjRfdCBpZGVudGlmaWVyLCB1aW50NjRfdCBjb250ZW50TGVuZ3RoKSBv
dmVycmlkZTsKLSAgICB2b2lkIGRpZEZpbmlzaExvYWRGb3JSZXNvdXJjZShXZWJQYWdlJiwgV2Vi
RnJhbWUmLCB1aW50NjRfdCBpZGVudGlmaWVyKSBvdmVycmlkZTsKLSAgICB2b2lkIGRpZEZhaWxM
b2FkRm9yUmVzb3VyY2UoV2ViUGFnZSYsIFdlYkZyYW1lJiwgdWludDY0X3QgaWRlbnRpZmllciwg
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpIG92ZXJyaWRlOwotICAgIGJvb2wgc2hvdWxk
Q2FjaGVSZXNwb25zZShXZWJQYWdlJiwgV2ViRnJhbWUmLCB1aW50NjRfdCBpZGVudGlmaWVyKSBv
dmVycmlkZTsKLSAgICBib29sIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlKFdlYlBhZ2UmLCBX
ZWJGcmFtZSYsIHVpbnQ2NF90IGlkZW50aWZpZXIpIG92ZXJyaWRlOworICAgIHZvaWQgZGlkSW5p
dGlhdGVMb2FkRm9yUmVzb3VyY2UoV2ViUGFnZSosIFdlYkZyYW1lKiwgdWludDY0X3QgaWRlbnRp
ZmllciwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgYm9vbCBwYWdlSXNQcm92aXNp
b25hbGx5TG9hZGluZyk7CisgICAgdm9pZCB3aWxsU2VuZFJlcXVlc3RGb3JGcmFtZShXZWJQYWdl
KiwgV2ViRnJhbWUqLCB1aW50NjRfdCBpZGVudGlmaWVyLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7CisgICAgdm9pZCBkaWRSZWNl
aXZlUmVzcG9uc2VGb3JSZXNvdXJjZShXZWJQYWdlKiwgV2ViRnJhbWUqLCB1aW50NjRfdCBpZGVu
dGlmaWVyLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7CisgICAgdm9pZCBkaWRS
ZWNlaXZlQ29udGVudExlbmd0aEZvclJlc291cmNlKFdlYlBhZ2UqLCBXZWJGcmFtZSosIHVpbnQ2
NF90IGlkZW50aWZpZXIsIHVpbnQ2NF90IGNvbnRlbnRMZW5ndGgpOworICAgIHZvaWQgZGlkRmlu
aXNoTG9hZEZvclJlc291cmNlKFdlYlBhZ2UqLCBXZWJGcmFtZSosIHVpbnQ2NF90IGlkZW50aWZp
ZXIpOworICAgIHZvaWQgZGlkRmFpbExvYWRGb3JSZXNvdXJjZShXZWJQYWdlKiwgV2ViRnJhbWUq
LCB1aW50NjRfdCBpZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7Cisg
ICAgYm9vbCBzaG91bGRDYWNoZVJlc3BvbnNlKFdlYlBhZ2UqLCBXZWJGcmFtZSosIHVpbnQ2NF90
IGlkZW50aWZpZXIpOworICAgIGJvb2wgc2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UoV2ViUGFn
ZSosIFdlYkZyYW1lKiwgdWludDY0X3QgaWRlbnRpZmllcik7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKaW5kZXggMjgyZWRlODJk
ZTBlYjQ4OTg0OTNjN2ExMTBjMzZjMmFiNWRhMTE1My4uNmRmMjYzMTc0YzMxY2QxMzAxOWFhMmI0
OWNkNWI1OTUxZmM4MDFjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKQEAg
LTE2NSw3ICsxNjUsNyBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojphc3NpZ25JZGVudGlm
aWVyVG9Jbml0aWFsUmVxdWVzdCh1bnNpZ25lZCBsb25nIGlkZW50aQogICAgIGlmIChGcmFtZUxv
YWRlciogZnJhbWVMb2FkZXIgPSBsb2FkZXItPmZyYW1lTG9hZGVyKCkpCiAgICAgICAgIHBhZ2VJ
c1Byb3Zpc2lvbmFsbHlMb2FkaW5nID0gZnJhbWVMb2FkZXItPnByb3Zpc2lvbmFsRG9jdW1lbnRM
b2FkZXIoKSA9PSBsb2FkZXI7CiAKLSAgICB3ZWJQYWdlLT5pbmplY3RlZEJ1bmRsZVJlc291cmNl
TG9hZENsaWVudCgpLmRpZEluaXRpYXRlTG9hZEZvclJlc291cmNlKCp3ZWJQYWdlLCAqbV9mcmFt
ZSwgaWRlbnRpZmllciwgcmVxdWVzdCwgcGFnZUlzUHJvdmlzaW9uYWxseUxvYWRpbmcpOworICAg
IHdlYlBhZ2UtPmluamVjdGVkQnVuZGxlUmVzb3VyY2VMb2FkQ2xpZW50KCkuZGlkSW5pdGlhdGVM
b2FkRm9yUmVzb3VyY2Uod2ViUGFnZSwgbV9mcmFtZSwgaWRlbnRpZmllciwgcmVxdWVzdCwgcGFn
ZUlzUHJvdmlzaW9uYWxseUxvYWRpbmcpOwogICAgIHdlYlBhZ2UtPmFkZFJlc291cmNlUmVxdWVz
dChpZGVudGlmaWVyLCByZXF1ZXN0KTsKIH0KIApAQCAtMTc1LDcgKzE3NSw3IEBAIHZvaWQgV2Vi
RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoV2lsbFNlbmRSZXF1ZXN0KERvY3VtZW50TG9hZGVy
KiwgdW5zaWduZWQgbG9uCiAgICAgaWYgKCF3ZWJQYWdlKQogICAgICAgICByZXR1cm47CiAKLSAg
ICB3ZWJQYWdlLT5pbmplY3RlZEJ1bmRsZVJlc291cmNlTG9hZENsaWVudCgpLndpbGxTZW5kUmVx
dWVzdEZvckZyYW1lKCp3ZWJQYWdlLCAqbV9mcmFtZSwgaWRlbnRpZmllciwgcmVxdWVzdCwgcmVk
aXJlY3RSZXNwb25zZSk7CisgICAgd2ViUGFnZS0+aW5qZWN0ZWRCdW5kbGVSZXNvdXJjZUxvYWRD
bGllbnQoKS53aWxsU2VuZFJlcXVlc3RGb3JGcmFtZSh3ZWJQYWdlLCBtX2ZyYW1lLCBpZGVudGlm
aWVyLCByZXF1ZXN0LCByZWRpcmVjdFJlc3BvbnNlKTsKIH0KIAogYm9vbCBXZWJGcmFtZUxvYWRl
ckNsaWVudDo6c2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UoRG9jdW1lbnRMb2FkZXIqLCB1bnNp
Z25lZCBsb25nIGlkZW50aWZpZXIpCkBAIC0xODQsNyArMTg0LDcgQEAgYm9vbCBXZWJGcmFtZUxv
YWRlckNsaWVudDo6c2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UoRG9jdW1lbnRMb2FkZXIqLCB1
bnNpZ25lZAogICAgIGlmICghd2ViUGFnZSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBy
ZXR1cm4gd2ViUGFnZS0+aW5qZWN0ZWRCdW5kbGVSZXNvdXJjZUxvYWRDbGllbnQoKS5zaG91bGRV
c2VDcmVkZW50aWFsU3RvcmFnZSgqd2ViUGFnZSwgKm1fZnJhbWUsIGlkZW50aWZpZXIpOworICAg
IHJldHVybiB3ZWJQYWdlLT5pbmplY3RlZEJ1bmRsZVJlc291cmNlTG9hZENsaWVudCgpLnNob3Vs
ZFVzZUNyZWRlbnRpYWxTdG9yYWdlKHdlYlBhZ2UsIG1fZnJhbWUsIGlkZW50aWZpZXIpOwogfQog
CiB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZFJlY2VpdmVBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZShEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcsIGNvbnN0IEF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlJiBjaGFsbGVuZ2UpCkBAIC0yMTQsNyArMjE0LDcgQEAgdm9pZCBX
ZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRSZWNlaXZlUmVzcG9uc2UoRG9jdW1lbnRM
b2FkZXIqLCB1bnNpZ25lZAogICAgIGlmICghd2ViUGFnZSkKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgd2ViUGFnZS0+aW5qZWN0ZWRCdW5kbGVSZXNvdXJjZUxvYWRDbGllbnQoKS5kaWRSZWNlaXZl
UmVzcG9uc2VGb3JSZXNvdXJjZSgqd2ViUGFnZSwgKm1fZnJhbWUsIGlkZW50aWZpZXIsIHJlc3Bv
bnNlKTsKKyAgICB3ZWJQYWdlLT5pbmplY3RlZEJ1bmRsZVJlc291cmNlTG9hZENsaWVudCgpLmRp
ZFJlY2VpdmVSZXNwb25zZUZvclJlc291cmNlKHdlYlBhZ2UsIG1fZnJhbWUsIGlkZW50aWZpZXIs
IHJlc3BvbnNlKTsKIH0KIAogdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRS
ZWNlaXZlQ29udGVudExlbmd0aChEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRp
ZmllciwgaW50IGRhdGFMZW5ndGgpCkBAIC0yMjMsNyArMjIzLDcgQEAgdm9pZCBXZWJGcmFtZUxv
YWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRSZWNlaXZlQ29udGVudExlbmd0aChEb2N1bWVudExvYWRl
ciosIHVuc2kKICAgICBpZiAoIXdlYlBhZ2UpCiAgICAgICAgIHJldHVybjsKIAotICAgIHdlYlBh
Z2UtPmluamVjdGVkQnVuZGxlUmVzb3VyY2VMb2FkQ2xpZW50KCkuZGlkUmVjZWl2ZUNvbnRlbnRM
ZW5ndGhGb3JSZXNvdXJjZSgqd2ViUGFnZSwgKm1fZnJhbWUsIGlkZW50aWZpZXIsIGRhdGFMZW5n
dGgpOworICAgIHdlYlBhZ2UtPmluamVjdGVkQnVuZGxlUmVzb3VyY2VMb2FkQ2xpZW50KCkuZGlk
UmVjZWl2ZUNvbnRlbnRMZW5ndGhGb3JSZXNvdXJjZSh3ZWJQYWdlLCBtX2ZyYW1lLCBpZGVudGlm
aWVyLCBkYXRhTGVuZ3RoKTsKIH0KIAogI2lmIEVOQUJMRShEQVRBX0RFVEVDVElPTikKQEAgLTI0
Miw3ICsyNDIsNyBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZEZpbmlz
aExvYWRpbmcoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsbwogICAgIGlmICghd2ViUGFnZSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgd2ViUGFnZS0+aW5qZWN0ZWRCdW5kbGVSZXNvdXJjZUxv
YWRDbGllbnQoKS5kaWRGaW5pc2hMb2FkRm9yUmVzb3VyY2UoKndlYlBhZ2UsICptX2ZyYW1lLCBp
ZGVudGlmaWVyKTsKKyAgICB3ZWJQYWdlLT5pbmplY3RlZEJ1bmRsZVJlc291cmNlTG9hZENsaWVu
dCgpLmRpZEZpbmlzaExvYWRGb3JSZXNvdXJjZSh3ZWJQYWdlLCBtX2ZyYW1lLCBpZGVudGlmaWVy
KTsKICAgICB3ZWJQYWdlLT5yZW1vdmVSZXNvdXJjZVJlcXVlc3QoaWRlbnRpZmllcik7CiB9CiAK
QEAgLTI1Miw3ICsyNTIsNyBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERp
ZEZhaWxMb2FkaW5nKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZwogICAgIGlmICghd2Vi
UGFnZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgd2ViUGFnZS0+aW5qZWN0ZWRCdW5kbGVSZXNv
dXJjZUxvYWRDbGllbnQoKS5kaWRGYWlsTG9hZEZvclJlc291cmNlKCp3ZWJQYWdlLCAqbV9mcmFt
ZSwgaWRlbnRpZmllciwgZXJyb3IpOworICAgIHdlYlBhZ2UtPmluamVjdGVkQnVuZGxlUmVzb3Vy
Y2VMb2FkQ2xpZW50KCkuZGlkRmFpbExvYWRGb3JSZXNvdXJjZSh3ZWJQYWdlLCBtX2ZyYW1lLCBp
ZGVudGlmaWVyLCBlcnJvcik7CiAgICAgd2ViUGFnZS0+cmVtb3ZlUmVzb3VyY2VSZXF1ZXN0KGlk
ZW50aWZpZXIpOwogfQogCkBAIC0xNzAxLDcgKzE3MDEsNyBAQCBOU0NhY2hlZFVSTFJlc3BvbnNl
ICpXZWJGcmFtZUxvYWRlckNsaWVudDo6d2lsbENhY2hlUmVzcG9uc2UoRG9jdW1lbnRMb2FkZXIq
LCB1bgogICAgIGlmICghd2ViUGFnZSkKICAgICAgICAgcmV0dXJuIHJlc3BvbnNlOwogCi0gICAg
cmV0dXJuIHdlYlBhZ2UtPmluamVjdGVkQnVuZGxlUmVzb3VyY2VMb2FkQ2xpZW50KCkuc2hvdWxk
Q2FjaGVSZXNwb25zZSgqd2ViUGFnZSwgKm1fZnJhbWUsIGlkZW50aWZpZXIpID8gcmVzcG9uc2Ug
OiBuaWw7CisgICAgcmV0dXJuIHdlYlBhZ2UtPmluamVjdGVkQnVuZGxlUmVzb3VyY2VMb2FkQ2xp
ZW50KCkuc2hvdWxkQ2FjaGVSZXNwb25zZSh3ZWJQYWdlLCBtX2ZyYW1lLCBpZGVudGlmaWVyKSA/
IHJlc3BvbnNlIDogbmlsOwogfQogCiBOU0RpY3Rpb25hcnkgKldlYkZyYW1lTG9hZGVyQ2xpZW50
OjpkYXRhRGV0ZWN0aW9uQ29udGV4dCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggODc0ZmI0ODU4YTk4ZTViOGIwZjhmMWE0Y2VlZDBmNjk2
OWI2NWI4My4uNGU0NDM3Y2I5NjZiODcxNmI3ZGRjYTlhNDViNTRmNWEwMTlmY2E5ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMzQxLDcg
KzM0MSw2IEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBXZWJQYWdlQ3JlYXRp
b25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKICAgICAsIG1fZWRpdG9yQ2xpZW50IHsgc3RkOjpt
YWtlX3VuaXF1ZTxBUEk6OkluamVjdGVkQnVuZGxlOjpFZGl0b3JDbGllbnQ+KCkgfQogICAgICwg
bV9mb3JtQ2xpZW50KHN0ZDo6bWFrZV91bmlxdWU8QVBJOjpJbmplY3RlZEJ1bmRsZTo6Rm9ybUNs
aWVudD4oKSkKICAgICAsIG1fbG9hZGVyQ2xpZW50KHN0ZDo6bWFrZV91bmlxdWU8QVBJOjpJbmpl
Y3RlZEJ1bmRsZTo6UGFnZUxvYWRlckNsaWVudD4oKSkKLSAgICAsIG1fcmVzb3VyY2VMb2FkQ2xp
ZW50KHN0ZDo6bWFrZV91bmlxdWU8QVBJOjpJbmplY3RlZEJ1bmRsZTo6UmVzb3VyY2VMb2FkQ2xp
ZW50PigpKQogICAgICwgbV91aUNsaWVudChzdGQ6Om1ha2VfdW5pcXVlPEFQSTo6SW5qZWN0ZWRC
dW5kbGU6OlBhZ2VVSUNsaWVudD4oKSkKICAgICAsIG1fZmluZENvbnRyb2xsZXIobWFrZVVuaXF1
ZVJlZjxGaW5kQ29udHJvbGxlcj4odGhpcykpCiAgICAgLCBtX3VzZXJDb250ZW50Q29udHJvbGxl
cihXZWJVc2VyQ29udGVudENvbnRyb2xsZXI6OmdldE9yQ3JlYXRlKHBhcmFtZXRlcnMudXNlckNv
bnRlbnRDb250cm9sbGVySUQpKQpAQCAtNzQ5LDEyICs3NDgsOSBAQCB2b2lkIFdlYlBhZ2U6Omlu
aXRpYWxpemVJbmplY3RlZEJ1bmRsZVBvbGljeUNsaWVudChXS0J1bmRsZVBhZ2VQb2xpY3lDbGll
bnRCYXNlKgogICAgIG1fcG9saWN5Q2xpZW50LmluaXRpYWxpemUoY2xpZW50KTsKIH0KIAotdm9p
ZCBXZWJQYWdlOjpzZXRJbmplY3RlZEJ1bmRsZVJlc291cmNlTG9hZENsaWVudChzdGQ6OnVuaXF1
ZV9wdHI8QVBJOjpJbmplY3RlZEJ1bmRsZTo6UmVzb3VyY2VMb2FkQ2xpZW50PiYmIGNsaWVudCkK
K3ZvaWQgV2ViUGFnZTo6aW5pdGlhbGl6ZUluamVjdGVkQnVuZGxlUmVzb3VyY2VMb2FkQ2xpZW50
KFdLQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudEJhc2UqIGNsaWVudCkKIHsKLSAgICBpZiAo
IW1fcmVzb3VyY2VMb2FkQ2xpZW50KQotICAgICAgICBtX3Jlc291cmNlTG9hZENsaWVudCA9IHN0
ZDo6bWFrZV91bmlxdWU8QVBJOjpJbmplY3RlZEJ1bmRsZTo6UmVzb3VyY2VMb2FkQ2xpZW50Pigp
OwotICAgIGVsc2UKLSAgICAgICAgbV9yZXNvdXJjZUxvYWRDbGllbnQgPSBXVEZNb3ZlKGNsaWVu
dCk7CisgICAgbV9yZXNvdXJjZUxvYWRDbGllbnQuaW5pdGlhbGl6ZShjbGllbnQpOwogfQogCiB2
b2lkIFdlYlBhZ2U6OnNldEluamVjdGVkQnVuZGxlVUlDbGllbnQoc3RkOjp1bmlxdWVfcHRyPEFQ
STo6SW5qZWN0ZWRCdW5kbGU6OlBhZ2VVSUNsaWVudD4mJiB1aUNsaWVudCkKQEAgLTExNTUsNyAr
MTE1MSw3IEBAIHZvaWQgV2ViUGFnZTo6Y2xvc2UoKQogICAgIG1fZm9ybUNsaWVudCA9IHN0ZDo6
bWFrZV91bmlxdWU8QVBJOjpJbmplY3RlZEJ1bmRsZTo6Rm9ybUNsaWVudD4oKTsKICAgICBtX2xv
YWRlckNsaWVudCA9IHN0ZDo6bWFrZV91bmlxdWU8QVBJOjpJbmplY3RlZEJ1bmRsZTo6UGFnZUxv
YWRlckNsaWVudD4oKTsKICAgICBtX3BvbGljeUNsaWVudC5pbml0aWFsaXplKDApOwotICAgIG1f
cmVzb3VyY2VMb2FkQ2xpZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxBUEk6OkluamVjdGVkQnVuZGxl
OjpSZXNvdXJjZUxvYWRDbGllbnQ+KCk7CisgICAgbV9yZXNvdXJjZUxvYWRDbGllbnQuaW5pdGlh
bGl6ZSgwKTsKICAgICBtX3VpQ2xpZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxBUEk6OkluamVjdGVk
QnVuZGxlOjpQYWdlVUlDbGllbnQ+KCk7CiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAg
IG1fZnVsbFNjcmVlbkNsaWVudC5pbml0aWFsaXplKDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggYTVmZWNiYzc4NTE3MTllNTdhMjg5NjYyYzlm
MWQxZWMyYTNhNzM3Yi4uYzEwNGZmMjNlMzJjYmVmOTlmOGNlNmNkNzRhNjAwODdiMGIxNmE1MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0yOSwx
MyArMjksMTMgQEAKICNpbmNsdWRlICJBUElJbmplY3RlZEJ1bmRsZUZvcm1DbGllbnQuaCIKICNp
bmNsdWRlICJBUElJbmplY3RlZEJ1bmRsZVBhZ2VDb250ZXh0TWVudUNsaWVudC5oIgogI2luY2x1
ZGUgIkFQSUluamVjdGVkQnVuZGxlUGFnZUxvYWRlckNsaWVudC5oIgotI2luY2x1ZGUgIkFQSUlu
amVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5oIgogI2luY2x1ZGUgIkFQSUluamVj
dGVkQnVuZGxlUGFnZVVJQ2xpZW50LmgiCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCiAjaW5jbHVk
ZSAiRWRpdGluZ1JhbmdlLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVQYWdlQ29udGV4dE1l
bnVDbGllbnQuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50
LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVQYWdlUG9saWN5Q2xpZW50LmgiCisjaW5jbHVk
ZSAiSW5qZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmgiCiAjaW5jbHVkZSAiTGF5
ZXJUcmVlQ29udGV4dC5oIgogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUg
Ik1lc3NhZ2VTZW5kZXIuaCIKQEAgLTMzMiw3ICszMzIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
ZXRJbmplY3RlZEJ1bmRsZUZvcm1DbGllbnQoc3RkOjp1bmlxdWVfcHRyPEFQSTo6SW5qZWN0ZWRC
dW5kbGU6OkZvcm1DbGllbnQ+JiYpOwogICAgIHZvaWQgc2V0SW5qZWN0ZWRCdW5kbGVQYWdlTG9h
ZGVyQ2xpZW50KHN0ZDo6dW5pcXVlX3B0cjxBUEk6OkluamVjdGVkQnVuZGxlOjpQYWdlTG9hZGVy
Q2xpZW50PiYmKTsKICAgICB2b2lkIGluaXRpYWxpemVJbmplY3RlZEJ1bmRsZVBvbGljeUNsaWVu
dChXS0J1bmRsZVBhZ2VQb2xpY3lDbGllbnRCYXNlKik7Ci0gICAgdm9pZCBzZXRJbmplY3RlZEJ1
bmRsZVJlc291cmNlTG9hZENsaWVudChzdGQ6OnVuaXF1ZV9wdHI8QVBJOjpJbmplY3RlZEJ1bmRs
ZTo6UmVzb3VyY2VMb2FkQ2xpZW50PiYmKTsKKyAgICB2b2lkIGluaXRpYWxpemVJbmplY3RlZEJ1
bmRsZVJlc291cmNlTG9hZENsaWVudChXS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnRCYXNl
Kik7CiAgICAgdm9pZCBzZXRJbmplY3RlZEJ1bmRsZVVJQ2xpZW50KHN0ZDo6dW5pcXVlX3B0cjxB
UEk6OkluamVjdGVkQnVuZGxlOjpQYWdlVUlDbGllbnQ+JiYpOwogI2lmIEVOQUJMRShGVUxMU0NS
RUVOX0FQSSkKICAgICB2b2lkIGluaXRpYWxpemVJbmplY3RlZEJ1bmRsZUZ1bGxTY3JlZW5DbGll
bnQoV0tCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudEJhc2UqKTsKQEAgLTM0NSw3ICszNDUsNyBA
QCBwdWJsaWM6CiAgICAgQVBJOjpJbmplY3RlZEJ1bmRsZTo6Rm9ybUNsaWVudCYgaW5qZWN0ZWRC
dW5kbGVGb3JtQ2xpZW50KCkgeyByZXR1cm4gKm1fZm9ybUNsaWVudC5nZXQoKTsgfQogICAgIEFQ
STo6SW5qZWN0ZWRCdW5kbGU6OlBhZ2VMb2FkZXJDbGllbnQmIGluamVjdGVkQnVuZGxlTG9hZGVy
Q2xpZW50KCkgeyByZXR1cm4gKm1fbG9hZGVyQ2xpZW50OyB9CiAgICAgSW5qZWN0ZWRCdW5kbGVQ
YWdlUG9saWN5Q2xpZW50JiBpbmplY3RlZEJ1bmRsZVBvbGljeUNsaWVudCgpIHsgcmV0dXJuIG1f
cG9saWN5Q2xpZW50OyB9Ci0gICAgQVBJOjpJbmplY3RlZEJ1bmRsZTo6UmVzb3VyY2VMb2FkQ2xp
ZW50JiBpbmplY3RlZEJ1bmRsZVJlc291cmNlTG9hZENsaWVudCgpIHsgcmV0dXJuICptX3Jlc291
cmNlTG9hZENsaWVudDsgfQorICAgIEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVu
dCYgaW5qZWN0ZWRCdW5kbGVSZXNvdXJjZUxvYWRDbGllbnQoKSB7IHJldHVybiBtX3Jlc291cmNl
TG9hZENsaWVudDsgfQogICAgIEFQSTo6SW5qZWN0ZWRCdW5kbGU6OlBhZ2VVSUNsaWVudCYgaW5q
ZWN0ZWRCdW5kbGVVSUNsaWVudCgpIHsgcmV0dXJuICptX3VpQ2xpZW50LmdldCgpOyB9CiAjaWYg
RU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIEluamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5D
bGllbnQmIGluamVjdGVkQnVuZGxlRnVsbFNjcmVlbkNsaWVudCgpIHsgcmV0dXJuIG1fZnVsbFNj
cmVlbkNsaWVudDsgfQpAQCAtMTM4NCw3ICsxMzg0LDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8QVBJOjpJbmplY3RlZEJ1bmRsZTo6Rm9ybUNsaWVudD4gbV9mb3JtQ2xpZW50Owog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxBUEk6OkluamVjdGVkQnVuZGxlOjpQYWdlTG9hZGVyQ2xpZW50
PiBtX2xvYWRlckNsaWVudDsKICAgICBJbmplY3RlZEJ1bmRsZVBhZ2VQb2xpY3lDbGllbnQgbV9w
b2xpY3lDbGllbnQ7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPEFQSTo6SW5qZWN0ZWRCdW5kbGU6OlJl
c291cmNlTG9hZENsaWVudD4gbV9yZXNvdXJjZUxvYWRDbGllbnQ7CisgICAgSW5qZWN0ZWRCdW5k
bGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50IG1fcmVzb3VyY2VMb2FkQ2xpZW50OwogICAgIHN0ZDo6
dW5pcXVlX3B0cjxBUEk6OkluamVjdGVkQnVuZGxlOjpQYWdlVUlDbGllbnQ+IG1fdWlDbGllbnQ7
CiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIEluamVjdGVkQnVuZGxlUGFnZUZ1bGxT
Y3JlZW5DbGllbnQgbV9mdWxsU2NyZWVuQ2xpZW50Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>