<?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>149849</bug_id>
          
          <creation_ts>2015-10-06 10:29:47 -0700</creation_ts>
          <short_desc>REGRESSION(r190619): borke the binding tests on iOS at least (Requested by youenn on #webkit).</short_desc>
          <delta_ts>2015-10-06 10:37:18 -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>
          
          <blocked>149838</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>darin</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1131016</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-06 10:29:47 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/190619 broke the build:
borke the binding tests on iOS at least (Requested by youenn 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>1131018</commentid>
    <comment_count>1</comment_count>
      <attachid>262521</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-06 10:30:23 -0700</bug_when>
    <thetext>Created attachment 262521
ROLLOUT of r190619

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>1131020</commentid>
    <comment_count>2</comment_count>
      <attachid>262521</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-06 10:37:15 -0700</bug_when>
    <thetext>Comment on attachment 262521
ROLLOUT of r190619

Clearing flags on attachment: 262521

Committed r190626: &lt;http://trac.webkit.org/changeset/190626&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131021</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-06 10:37:18 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262521</attachid>
            <date>2015-10-06 10:30:23 -0700</date>
            <delta_ts>2015-10-06 10:37:15 -0700</delta_ts>
            <desc>ROLLOUT of r190619</desc>
            <filename>bug-149849-20151006102952.patch</filename>
            <type>text/plain</type>
            <size>40003</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwNjIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzMwODQyMjJiNGFlNGNh
MzI3NGM0Yjc3ZTlkNmNiY2RjOTI2N2ZjZS4uMTAxNjk2ZGZlZjAxMzEyYmM2ZWI5ZGQ0ZTU5NGY5
MjA4ZWM5NDRmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE1LTEwLTA2ICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMTkwNjE5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQ5ODQ5CisKKyAgICAgICAgYm9ya2UgdGhlIGJpbmRpbmcgdGVzdHMg
b24gaU9TIGF0IGxlYXN0IChSZXF1ZXN0ZWQgYnkgeW91ZW5uCisgICAgICAgIG9uICN3ZWJraXQp
LgorCisgICAgICAgIFJldmVydGVkIGNoYW5nZXNldDoKKworICAgICAgICAiQmluZGluZyBnZW5l
cmF0b3IgWFhDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24gc2hvdWxkIHRha2UKKyAgICAgICAg
cmVmZXJlbmNlcyBhcyBwYXJhbWV0ZXJzIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5ODM4CisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcv
Y2hhbmdlc2V0LzE5MDYxOQorCiAyMDE1LTEwLTA1ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNp
ZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFNsaWRlciBrbm9icyBzaG91bGQgc2NhbGUgd2hlbiBy
ZW5kZXJpbmcgd2hpbGUgem9vbWVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDk4ODM0ZGZlZjg1OWU0OTQ5MWRhZWJjNWM5
MTM2Zjg4MDlhY2JhMjkuLjIzMjk1YWEzYzI0YTZiYWViNWE2YTFkZjdhNTNhODVmMDZjNGNiMTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ckpTLnBtCkBAIC00NjA3LDE0ICs0NjA3LDE0IEBAIHN1YiBHZW5lcmF0ZUNvbnN0cnVjdG9yRGVj
bGFyYXRpb24KICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJjbGFzcyAke2NvbnN0cnVjdG9yQ2xh
c3NOYW1lfSA6IHB1YmxpYyAiIC4gJHBhcmVudENsYXNzTmFtZSAuICIge1xuIik7CiAgICAgcHVz
aChAJG91dHB1dEFycmF5LCAicHJpdmF0ZTpcbiIpOwogICAgIHB1c2goQCRvdXRwdXRBcnJheSwg
IiAgICAke2NvbnN0cnVjdG9yQ2xhc3NOYW1lfShKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFs
T2JqZWN0Kik7XG4iKTsKLSAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihKU0M6OlZNJiwgSlNET01HbG9iYWxPYmplY3QmKTtcblxuIik7CisgICAgcHVzaChA
JG91dHB1dEFycmF5LCAiICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYsIEpTRE9NR2xv
YmFsT2JqZWN0Kik7XG5cbiIpOwogCiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAicHVibGljOlxu
Iik7CiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIHR5cGVkZWYgIiAuICRwYXJlbnRDbGFz
c05hbWUgLiAiIEJhc2U7XG4iKTsKICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgc3RhdGlj
ICRjb25zdHJ1Y3RvckNsYXNzTmFtZSogY3JlYXRlKEpTQzo6Vk0mIHZtLCBKU0M6OlN0cnVjdHVy
ZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KVxuIik7CiAgICAg
cHVzaChAJG91dHB1dEFycmF5LCAiICAgIHtcbiIpOwogICAgIHB1c2goQCRvdXRwdXRBcnJheSwg
IiAgICAgICAgJGNvbnN0cnVjdG9yQ2xhc3NOYW1lKiBwdHIgPSBuZXcgKE5vdE51bGwsIEpTQzo6
YWxsb2NhdGVDZWxsPCRjb25zdHJ1Y3RvckNsYXNzTmFtZT4odm0uaGVhcCkpICRjb25zdHJ1Y3Rv
ckNsYXNzTmFtZShzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCk7XG4iKTsKLSAgICBwdXNoKEAkb3V0
cHV0QXJyYXksICIgICAgICAgIHB0ci0+ZmluaXNoQ3JlYXRpb24odm0sICpnbG9iYWxPYmplY3Qp
O1xuIik7CisgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgICAgICBwdHItPmZpbmlzaENyZWF0
aW9uKHZtLCBnbG9iYWxPYmplY3QpO1xuIik7CiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAg
ICAgICByZXR1cm4gcHRyO1xuIik7CiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIH1cblxu
Iik7CiAKQEAgLTQ2NTQsNyArNDY1NCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgSlMke2ludGVy
ZmFjZU5hbWV9TmFtZWRDb25zdHJ1Y3RvciogY3JlYXRlKEpTQzo6Vk0mIHZtLCBKU0M6OlN0cnVj
dHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogICAgIHsK
ICAgICAgICAgSlMke2ludGVyZmFjZU5hbWV9TmFtZWRDb25zdHJ1Y3RvciogY29uc3RydWN0b3Ig
PSBuZXcgKE5vdE51bGwsIEpTQzo6YWxsb2NhdGVDZWxsPEpTJHtpbnRlcmZhY2VOYW1lfU5hbWVk
Q29uc3RydWN0b3I+KHZtLmhlYXApKSBKUyR7aW50ZXJmYWNlTmFtZX1OYW1lZENvbnN0cnVjdG9y
KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KTsKLSAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENy
ZWF0aW9uKHZtLCAqZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENy
ZWF0aW9uKHZtLCBnbG9iYWxPYmplY3QpOwogICAgICAgICByZXR1cm4gY29uc3RydWN0b3I7CiAg
ICAgfQogCkBAIC00NjY5LDcgKzQ2NjksNyBAQCBwcml2YXRlOgogICAgIEpTJHtpbnRlcmZhY2VO
YW1lfU5hbWVkQ29uc3RydWN0b3IoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCop
OwogICAgIHN0YXRpYyBKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29uc3RydWN0
SlMke2ludGVyZmFjZU5hbWV9KEpTQzo6RXhlY1N0YXRlKik7CiAgICAgc3RhdGljIEpTQzo6Q29u
c3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKEpTQzo6SlNDZWxsKiwgSlNDOjpDb25zdHJ1Y3RE
YXRhJik7Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJiwgSlNET01HbG9iYWxPYmpl
Y3QmKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mLCBKU0RPTUdsb2JhbE9iamVj
dCopOwogfTsKIAogRU5ECkBAIC00OTc2LDExICs0OTc2LDExIEBAIHN1YiBHZW5lcmF0ZUNvbnN0
cnVjdG9ySGVscGVyTWV0aG9kcwogICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIntcbiIpOwogICAg
IHB1c2goQCRvdXRwdXRBcnJheSwgIn1cblxuIik7CiAKLSAgICBwdXNoKEAkb3V0cHV0QXJyYXks
ICJ2b2lkICR7Y29uc3RydWN0b3JDbGFzc05hbWV9OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpT
RE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpXG4iKTsKKyAgICBwdXNoKEAkb3V0cHV0QXJy
YXksICJ2b2lkICR7Y29uc3RydWN0b3JDbGFzc05hbWV9OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0s
IEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpXG4iKTsKICAgICBwdXNoKEAkb3V0cHV0
QXJyYXksICJ7XG4iKTsKIAogICAgIGlmICgkZ2VuZXJhdGluZ05hbWVkQ29uc3RydWN0b3IpIHsK
LSAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKCZn
bG9iYWxPYmplY3QpO1xuIik7CisgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBCYXNl
OjpmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpO1xuIik7CiAgICAgfSBlbHNlIHsKICAgICAg
ICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTtcbiIp
OwogICAgIH0KQEAgLTQ5OTAsMTEgKzQ5OTAsMTEgQEAgc3ViIEdlbmVyYXRlQ29uc3RydWN0b3JI
ZWxwZXJNZXRob2RzCiAgICAgIyBvZiB3aGV0aGVyIHRoZSBpbnRlcmZhY2Ugd2FzIGRlY2xhcmVk
IHdpdGggdGhlIFtOb0ludGVyZmFjZU9iamVjdF0gZXh0ZW5kZWQgYXR0cmlidXRlLgogICAgICMg
aHR0cHM6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jaW50ZXJmYWNlLXByb3RvdHlwZS1vYmpl
Y3QKICAgICBpZiAoSXNET01HbG9iYWxPYmplY3QoJGludGVyZmFjZSkpIHsKLSAgICAgICAgcHVz
aChAJG91dHB1dEFycmF5LCAiICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJv
dG90eXBlLCBnbG9iYWxPYmplY3QucHJvdG90eXBlKCksIERvbnREZWxldGUgfCBSZWFkT25seSB8
IERvbnRFbnVtKTtcbiIpOworICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgcHV0RGly
ZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGdsb2JhbE9iamVjdC0+cHJvdG90
eXBlKCksIERvbnREZWxldGUgfCBSZWFkT25seSB8IERvbnRFbnVtKTtcbiIpOwogICAgIH0gZWxz
aWYgKCRpbnRlcmZhY2UtPmlzQ2FsbGJhY2spIHsKICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5
LCAiICAgIFVOVVNFRF9QQVJBTShnbG9iYWxPYmplY3QpO1xuIik7CiAgICAgfSBlbHNlIHsKLSAg
ICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5wcm90b3R5cGUsICR7Y2xhc3NOYW1lfTo6Z2V0UHJvdG90eXBlKHZtLCAmZ2xvYmFsT2Jq
ZWN0KSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9udEVudW0pO1xuIik7CisgICAgICAgcHVz
aChAJG91dHB1dEFycmF5LCAiICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJv
dG90eXBlLCAke2NsYXNzTmFtZX06OmdldFByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwgRG9u
dERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9udEVudW0pO1xuIik7CiAgICAgfQogCiAgICAgcHVzaChA
JG91dHB1dEFycmF5LCAiICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwg
anNOb250cml2aWFsU3RyaW5nKCZ2bSwgU3RyaW5nKEFTQ0lJTGl0ZXJhbChcIiR2aXNpYmxlSW50
ZXJmYWNlTmFtZVwiKSkpLCBSZWFkT25seSB8IERvbnRFbnVtKTtcbiIpOwpAQCAtNTAwOSw3ICs1
MDA5LDcgQEAgc3ViIEdlbmVyYXRlQ29uc3RydWN0b3JIZWxwZXJNZXRob2RzCiAKICAgICBpZiAo
JGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQnVpbHRpbkNvbnN0cnVjdG9yIn0p
IHsKICAgICAgICAgbXkgJGluaXRpYWxpemVGdW5jdGlvbk5hbWUgPSBHZXRKU0J1aWx0aW5GdW5j
dGlvbk5hbWUoJHtjbGFzc05hbWV9LCAiaW5pdGlhbGl6ZSIgLiAke2ludGVyZmFjZU5hbWV9KTsK
LSAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIHNldEluaXRpYWxpemVGdW5jdGlvbih2
bSwgKkpTQzo6SlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCAke2luaXRpYWxp
emVGdW5jdGlvbk5hbWV9KHZtKSwgJmdsb2JhbE9iamVjdCkpO1xuIik7CisgICAgICAgIHB1c2go
QCRvdXRwdXRBcnJheSwgIiAgICBzZXRJbml0aWFsaXplRnVuY3Rpb24odm0sICpKU0M6OkpTRnVu
Y3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5jdGlvbih2bSwgJHtpbml0aWFsaXplRnVuY3Rpb25OYW1l
fSh2bSksIGdsb2JhbE9iamVjdCkpO1xuIik7CiAgICAgfQogCiAgICAgcHVzaChAJG91dHB1dEFy
cmF5LCAifVxuXG4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKaW5kZXggODE2
NTUxM2U5YzE0NjI3YzdkYzI0MWQyYmM3YjhmZWIwZDc0NjJjYy4uYTE2ODA4ODhjOWNmNjk0NWZm
MmMyZDc1OTNmMmZkYjE3MjBmNTEzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVjdC5j
cHAKQEAgLTY5LDE0ICs2OSwxNCBAQCBwcml2YXRlOgogY2xhc3MgSlNUZXN0QWN0aXZlRE9NT2Jq
ZWN0Q29uc3RydWN0b3IgOiBwdWJsaWMgRE9NQ29uc3RydWN0b3JPYmplY3QgewogcHJpdmF0ZToK
ICAgICBKU1Rlc3RBY3RpdmVET01PYmplY3RDb25zdHJ1Y3RvcihKU0M6OlN0cnVjdHVyZSosIEpT
RE9NR2xvYmFsT2JqZWN0Kik7Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJiwgSlNE
T01HbG9iYWxPYmplY3QmKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mLCBKU0RP
TUdsb2JhbE9iamVjdCopOwogCiBwdWJsaWM6CiAgICAgdHlwZWRlZiBET01Db25zdHJ1Y3Rvck9i
amVjdCBCYXNlOwogICAgIHN0YXRpYyBKU1Rlc3RBY3RpdmVET01PYmplY3RDb25zdHJ1Y3Rvciog
Y3JlYXRlKEpTQzo6Vk0mIHZtLCBKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0KQogICAgIHsKICAgICAgICAgSlNUZXN0QWN0aXZlRE9NT2Jq
ZWN0Q29uc3RydWN0b3IqIHB0ciA9IG5ldyAoTm90TnVsbCwgSlNDOjphbGxvY2F0ZUNlbGw8SlNU
ZXN0QWN0aXZlRE9NT2JqZWN0Q29uc3RydWN0b3I+KHZtLmhlYXApKSBKU1Rlc3RBY3RpdmVET01P
YmplY3RDb25zdHJ1Y3RvcihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCk7Ci0gICAgICAgIHB0ci0+
ZmluaXNoQ3JlYXRpb24odm0sICpnbG9iYWxPYmplY3QpOworICAgICAgICBwdHItPmZpbmlzaENy
ZWF0aW9uKHZtLCBnbG9iYWxPYmplY3QpOwogICAgICAgICByZXR1cm4gcHRyOwogICAgIH0KIApA
QCAtMTExLDcgKzExMSw3IEBAIEpTVGVzdEFjdGl2ZURPTU9iamVjdENvbnN0cnVjdG9yOjpKU1Rl
c3RBY3RpdmVET01PYmplY3RDb25zdHJ1Y3RvcihTdHJ1Y3R1cmUqIHN0CiB7CiB9CiAKLXZvaWQg
SlNUZXN0QWN0aXZlRE9NT2JqZWN0Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwg
SlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKK3ZvaWQgSlNUZXN0QWN0aXZlRE9NT2Jq
ZWN0Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCkKIHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAgQVNT
RVJUKGluaGVyaXRzKGluZm8oKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFjay5jcHAKaW5kZXggODgwZDIxNzBh
MjQ3Mzc3NzA1ZDI5YTYxZjM4NTU5ODE3ZWMxM2EyOC4uN2I3NTcxY2JlYTVmZjM5YTYzYWI2NzMw
YmQ5ZGQyNDZmNzg0ZmRkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2suY3BwCkBAIC02MiwxNCArNjIsMTQg
QEAgSlNUZXN0Q2FsbGJhY2s6On5KU1Rlc3RDYWxsYmFjaygpCiBjbGFzcyBKU1Rlc3RDYWxsYmFj
a0NvbnN0cnVjdG9yIDogcHVibGljIERPTUNvbnN0cnVjdG9yT2JqZWN0IHsKIHByaXZhdGU6CiAg
ICAgSlNUZXN0Q2FsbGJhY2tDb25zdHJ1Y3RvcihKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFs
T2JqZWN0Kik7Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJiwgSlNET01HbG9iYWxP
YmplY3QmKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mLCBKU0RPTUdsb2JhbE9i
amVjdCopOwogCiBwdWJsaWM6CiAgICAgdHlwZWRlZiBET01Db25zdHJ1Y3Rvck9iamVjdCBCYXNl
OwogICAgIHN0YXRpYyBKU1Rlc3RDYWxsYmFja0NvbnN0cnVjdG9yKiBjcmVhdGUoSlNDOjpWTSYg
dm0sIEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QpCiAgICAgewogICAgICAgICBKU1Rlc3RDYWxsYmFja0NvbnN0cnVjdG9yKiBwdHIgPSBu
ZXcgKE5vdE51bGwsIEpTQzo6YWxsb2NhdGVDZWxsPEpTVGVzdENhbGxiYWNrQ29uc3RydWN0b3I+
KHZtLmhlYXApKSBKU1Rlc3RDYWxsYmFja0NvbnN0cnVjdG9yKHN0cnVjdHVyZSwgZ2xvYmFsT2Jq
ZWN0KTsKLSAgICAgICAgcHRyLT5maW5pc2hDcmVhdGlvbih2bSwgKmdsb2JhbE9iamVjdCk7Cisg
ICAgICAgIHB0ci0+ZmluaXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCk7CiAgICAgICAgIHJl
dHVybiBwdHI7CiAgICAgfQogCkBAIC05OSw3ICs5OSw3IEBAIEpTVGVzdENhbGxiYWNrQ29uc3Ry
dWN0b3I6OkpTVGVzdENhbGxiYWNrQ29uc3RydWN0b3IoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpT
RE9NCiB7CiB9CiAKLXZvaWQgSlNUZXN0Q2FsbGJhY2tDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRp
b24oVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQordm9pZCBKU1Rlc3RD
YWxsYmFja0NvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTRE9NR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QpCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAg
IEFTU0VSVChpbmhlcml0cyhpbmZvKCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVy
ZmFjZU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QuY3BwCmluZGV4IGZk
NWJkOGU5NWE1MWJjYjJhYmEwODIyZjQ3ZDJjZThjNzIyZjgwZDcuLjNjMWU4ODM5NjBlODAyZjkz
MjI2NDY5YTIyZWM2ZjExN2EwMWI1MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFj
ZU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0LmNwcApAQCAtNjAs
MTQgKzYwLDE0IEBAIHByaXZhdGU6CiBjbGFzcyBKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhO
b0ludGVyZmFjZU9iamVjdENvbnN0cnVjdG9yIDogcHVibGljIERPTUNvbnN0cnVjdG9yT2JqZWN0
IHsKIHByaXZhdGU6CiAgICAgSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VP
YmplY3RDb25zdHJ1Y3RvcihKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0Kik7Ci0g
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJiwgSlNET01HbG9iYWxPYmplY3QmKTsKKyAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mLCBKU0RPTUdsb2JhbE9iamVjdCopOwogCiBw
dWJsaWM6CiAgICAgdHlwZWRlZiBET01Db25zdHJ1Y3Rvck9iamVjdCBCYXNlOwogICAgIHN0YXRp
YyBKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdENvbnN0cnVjdG9y
KiBjcmVhdGUoSlNDOjpWTSYgdm0sIEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgewogICAgICAgICBKU1Rlc3RDdXN0b21Db25z
dHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdENvbnN0cnVjdG9yKiBwdHIgPSBuZXcgKE5vdE51
bGwsIEpTQzo6YWxsb2NhdGVDZWxsPEpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJm
YWNlT2JqZWN0Q29uc3RydWN0b3I+KHZtLmhlYXApKSBKU1Rlc3RDdXN0b21Db25zdHJ1Y3Rvcldp
dGhOb0ludGVyZmFjZU9iamVjdENvbnN0cnVjdG9yKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KTsK
LSAgICAgICAgcHRyLT5maW5pc2hDcmVhdGlvbih2bSwgKmdsb2JhbE9iamVjdCk7CisgICAgICAg
IHB0ci0+ZmluaXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCk7CiAgICAgICAgIHJldHVybiBw
dHI7CiAgICAgfQogCkBAIC04Niw3ICs4Niw3IEBAIEpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0
aE5vSW50ZXJmYWNlT2JqZWN0Q29uc3RydWN0b3I6OkpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yCiB7
CiB9CiAKLXZvaWQgSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3RD
b25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xv
YmFsT2JqZWN0KQordm9pZCBKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9i
amVjdENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QpCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgIEFT
U0VSVChpbmhlcml0cyhpbmZvKCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21OYW1lZEdldHRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIu
Y3BwCmluZGV4IDhjMjU3MjI0NjMzY2M2MmZjOTM4ZDNjNTg0YTNiMzkxMTU2MDM4OWIuLjZkMjUz
MzgxOGI3NjQxNTAzZmY4ZTY5YjRmMDg5NDllMzc2Y2IwMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21OYW1lZEdldHRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1
c3RvbU5hbWVkR2V0dGVyLmNwcApAQCAtNjcsMTQgKzY3LDE0IEBAIHByaXZhdGU6CiBjbGFzcyBK
U1Rlc3RDdXN0b21OYW1lZEdldHRlckNvbnN0cnVjdG9yIDogcHVibGljIERPTUNvbnN0cnVjdG9y
T2JqZWN0IHsKIHByaXZhdGU6CiAgICAgSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJDb25zdHJ1Y3Rv
cihKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0Kik7Ci0gICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihKU0M6OlZNJiwgSlNET01HbG9iYWxPYmplY3QmKTsKKyAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKEpTQzo6Vk0mLCBKU0RPTUdsb2JhbE9iamVjdCopOwogCiBwdWJsaWM6CiAgICAgdHlw
ZWRlZiBET01Db25zdHJ1Y3Rvck9iamVjdCBCYXNlOwogICAgIHN0YXRpYyBKU1Rlc3RDdXN0b21O
YW1lZEdldHRlckNvbnN0cnVjdG9yKiBjcmVhdGUoSlNDOjpWTSYgdm0sIEpTQzo6U3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgewogICAg
ICAgICBKU1Rlc3RDdXN0b21OYW1lZEdldHRlckNvbnN0cnVjdG9yKiBwdHIgPSBuZXcgKE5vdE51
bGwsIEpTQzo6YWxsb2NhdGVDZWxsPEpTVGVzdEN1c3RvbU5hbWVkR2V0dGVyQ29uc3RydWN0b3I+
KHZtLmhlYXApKSBKU1Rlc3RDdXN0b21OYW1lZEdldHRlckNvbnN0cnVjdG9yKHN0cnVjdHVyZSwg
Z2xvYmFsT2JqZWN0KTsKLSAgICAgICAgcHRyLT5maW5pc2hDcmVhdGlvbih2bSwgKmdsb2JhbE9i
amVjdCk7CisgICAgICAgIHB0ci0+ZmluaXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCk7CiAg
ICAgICAgIHJldHVybiBwdHI7CiAgICAgfQogCkBAIC0xMDYsNyArMTA2LDcgQEAgSlNUZXN0Q3Vz
dG9tTmFtZWRHZXR0ZXJDb25zdHJ1Y3Rvcjo6SlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJDb25zdHJ1
Y3RvcihTdHJ1Y3R1cmUKIHsKIH0KIAotdm9pZCBKU1Rlc3RDdXN0b21OYW1lZEdldHRlckNvbnN0
cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxP
YmplY3QpCit2b2lkIEpTVGVzdEN1c3RvbU5hbWVkR2V0dGVyQ29uc3RydWN0b3I6OmZpbmlzaENy
ZWF0aW9uKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKICAgICBC
YXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKGluZm8oKSkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEV2ZW50Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCmluZGV4IGJjYTkyMjVmZDI1ZDc1OTM5
MjA1MTBmNWZhM2E1M2ExMGU1NjM5Y2IuLmY2YTNjNjFiNzc1Y2MzMjQyNzk2MWU4Yjc5MzJiOTVl
NmY0NjM4NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAKQEAgLTY2LDE0
ICs2NiwxNCBAQCBwcml2YXRlOgogY2xhc3MgSlNUZXN0RXZlbnRDb25zdHJ1Y3RvckNvbnN0cnVj
dG9yIDogcHVibGljIERPTUNvbnN0cnVjdG9yT2JqZWN0IHsKIHByaXZhdGU6CiAgICAgSlNUZXN0
RXZlbnRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yKEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxP
YmplY3QqKTsKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mLCBKU0RPTUdsb2JhbE9i
amVjdCYpOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYsIEpTRE9NR2xvYmFsT2Jq
ZWN0Kik7CiAKIHB1YmxpYzoKICAgICB0eXBlZGVmIERPTUNvbnN0cnVjdG9yT2JqZWN0IEJhc2U7
CiAgICAgc3RhdGljIEpTVGVzdEV2ZW50Q29uc3RydWN0b3JDb25zdHJ1Y3RvciogY3JlYXRlKEpT
Qzo6Vk0mIHZtLCBKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0KQogICAgIHsKICAgICAgICAgSlNUZXN0RXZlbnRDb25zdHJ1Y3RvckNvbnN0
cnVjdG9yKiBwdHIgPSBuZXcgKE5vdE51bGwsIEpTQzo6YWxsb2NhdGVDZWxsPEpTVGVzdEV2ZW50
Q29uc3RydWN0b3JDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIEpTVGVzdEV2ZW50Q29uc3RydWN0b3JD
b25zdHJ1Y3RvcihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCk7Ci0gICAgICAgIHB0ci0+ZmluaXNo
Q3JlYXRpb24odm0sICpnbG9iYWxPYmplY3QpOworICAgICAgICBwdHItPmZpbmlzaENyZWF0aW9u
KHZtLCBnbG9iYWxPYmplY3QpOwogICAgICAgICByZXR1cm4gcHRyOwogICAgIH0KIApAQCAtMTM1
LDcgKzEzNSw3IEBAIEpTVGVzdEV2ZW50Q29uc3RydWN0b3JDb25zdHJ1Y3Rvcjo6SlNUZXN0RXZl
bnRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yKFN0cnVjdHVyZSoKIHsKIH0KIAotdm9pZCBKU1Rlc3RF
dmVudENvbnN0cnVjdG9yQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNET01H
bG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKK3ZvaWQgSlNUZXN0RXZlbnRDb25zdHJ1Y3RvckNv
bnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QpCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgIEFTU0VSVChp
bmhlcml0cyhpbmZvKCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuY3BwCmluZGV4IDNiNDkwNzNh
Nzc3ODdjY2ZiNDhiMzg0NDI0MDg3ZjU0MDdmZjhkOTUuLjgzYjMwY2Q0MGJkODJmOGY5YTljOTRk
YTUzMGFiNGYzMmJhMTRhMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmNwcApAQCAtNzYsMTQg
Kzc2LDE0IEBAIHByaXZhdGU6CiBjbGFzcyBKU1Rlc3RFdmVudFRhcmdldENvbnN0cnVjdG9yIDog
cHVibGljIERPTUNvbnN0cnVjdG9yT2JqZWN0IHsKIHByaXZhdGU6CiAgICAgSlNUZXN0RXZlbnRU
YXJnZXRDb25zdHJ1Y3RvcihKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0Kik7Ci0g
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJiwgSlNET01HbG9iYWxPYmplY3QmKTsKKyAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mLCBKU0RPTUdsb2JhbE9iamVjdCopOwogCiBw
dWJsaWM6CiAgICAgdHlwZWRlZiBET01Db25zdHJ1Y3Rvck9iamVjdCBCYXNlOwogICAgIHN0YXRp
YyBKU1Rlc3RFdmVudFRhcmdldENvbnN0cnVjdG9yKiBjcmVhdGUoSlNDOjpWTSYgdm0sIEpTQzo6
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAg
ICAgewogICAgICAgICBKU1Rlc3RFdmVudFRhcmdldENvbnN0cnVjdG9yKiBwdHIgPSBuZXcgKE5v
dE51bGwsIEpTQzo6YWxsb2NhdGVDZWxsPEpTVGVzdEV2ZW50VGFyZ2V0Q29uc3RydWN0b3I+KHZt
LmhlYXApKSBKU1Rlc3RFdmVudFRhcmdldENvbnN0cnVjdG9yKHN0cnVjdHVyZSwgZ2xvYmFsT2Jq
ZWN0KTsKLSAgICAgICAgcHRyLT5maW5pc2hDcmVhdGlvbih2bSwgKmdsb2JhbE9iamVjdCk7Cisg
ICAgICAgIHB0ci0+ZmluaXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCk7CiAgICAgICAgIHJl
dHVybiBwdHI7CiAgICAgfQogCkBAIC0xMTUsNyArMTE1LDcgQEAgSlNUZXN0RXZlbnRUYXJnZXRD
b25zdHJ1Y3Rvcjo6SlNUZXN0RXZlbnRUYXJnZXRDb25zdHJ1Y3RvcihTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwKIHsKIH0KIAotdm9pZCBKU1Rlc3RFdmVudFRhcmdldENvbnN0cnVjdG9yOjpmaW5pc2hD
cmVhdGlvbihWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCit2b2lkIEpT
VGVzdEV2ZW50VGFyZ2V0Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNET01H
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2
bSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKGluZm8oKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcApp
bmRleCAxYWM2NDM5MzhiNWZhODgyMGNlMjFkNWM5OGFhN2I0NWYyYjlmNDE5Li40NGI2NzExYmU5
MWFiNzg5ZWEyMTlhZDk1NjA1MjQ5YTBlOTRmMDU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcApA
QCAtNjMsMTQgKzYzLDE0IEBAIHByaXZhdGU6CiBjbGFzcyBKU1Rlc3RFeGNlcHRpb25Db25zdHJ1
Y3RvciA6IHB1YmxpYyBET01Db25zdHJ1Y3Rvck9iamVjdCB7CiBwcml2YXRlOgogICAgIEpTVGVz
dEV4Y2VwdGlvbkNvbnN0cnVjdG9yKEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3Qq
KTsKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mLCBKU0RPTUdsb2JhbE9iamVjdCYp
OworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYsIEpTRE9NR2xvYmFsT2JqZWN0Kik7
CiAKIHB1YmxpYzoKICAgICB0eXBlZGVmIERPTUNvbnN0cnVjdG9yT2JqZWN0IEJhc2U7CiAgICAg
c3RhdGljIEpTVGVzdEV4Y2VwdGlvbkNvbnN0cnVjdG9yKiBjcmVhdGUoSlNDOjpWTSYgdm0sIEpT
Qzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qp
CiAgICAgewogICAgICAgICBKU1Rlc3RFeGNlcHRpb25Db25zdHJ1Y3RvciogcHRyID0gbmV3IChO
b3ROdWxsLCBKU0M6OmFsbG9jYXRlQ2VsbDxKU1Rlc3RFeGNlcHRpb25Db25zdHJ1Y3Rvcj4odm0u
aGVhcCkpIEpTVGVzdEV4Y2VwdGlvbkNvbnN0cnVjdG9yKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0
KTsKLSAgICAgICAgcHRyLT5maW5pc2hDcmVhdGlvbih2bSwgKmdsb2JhbE9iamVjdCk7CisgICAg
ICAgIHB0ci0+ZmluaXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCk7CiAgICAgICAgIHJldHVy
biBwdHI7CiAgICAgfQogCkBAIC0xMDIsNyArMTAyLDcgQEAgSlNUZXN0RXhjZXB0aW9uQ29uc3Ry
dWN0b3I6OkpTVGVzdEV4Y2VwdGlvbkNvbnN0cnVjdG9yKFN0cnVjdHVyZSogc3RydWN0dXJlLCBK
U0QKIHsKIH0KIAotdm9pZCBKU1Rlc3RFeGNlcHRpb25Db25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRp
b24oVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQordm9pZCBKU1Rlc3RF
eGNlcHRpb25Db25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0RPTUdsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0KQogewogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKICAg
ICBBU1NFUlQoaW5oZXJpdHMoaW5mbygpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1Jl
YWNoYWJsZS5jcHAKaW5kZXggZDQ0Y2U3MTA1ZjA1MDJmZTBlMTAzZDkxNDhkYmQ3NjJjMmM1NTVm
MC4uOTE3YjM4ZDc2MDBhZDM5ODU4YTFlYWUxYTAxNThmYjI4NDFhNzZkMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNS
ZWFjaGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmNwcApAQCAtNjAsMTQgKzYwLDE0IEBAIHByaXZh
dGU6CiBjbGFzcyBKU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlQ29uc3RydWN0b3IgOiBwdWJsaWMg
RE9NQ29uc3RydWN0b3JPYmplY3QgewogcHJpdmF0ZToKICAgICBKU1Rlc3RHZW5lcmF0ZUlzUmVh
Y2hhYmxlQ29uc3RydWN0b3IoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCopOwot
ICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYsIEpTRE9NR2xvYmFsT2JqZWN0Jik7Cisg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJiwgSlNET01HbG9iYWxPYmplY3QqKTsKIAog
cHVibGljOgogICAgIHR5cGVkZWYgRE9NQ29uc3RydWN0b3JPYmplY3QgQmFzZTsKICAgICBzdGF0
aWMgSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZUNvbnN0cnVjdG9yKiBjcmVhdGUoSlNDOjpWTSYg
dm0sIEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QpCiAgICAgewogICAgICAgICBKU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlQ29uc3RydWN0
b3IqIHB0ciA9IG5ldyAoTm90TnVsbCwgSlNDOjphbGxvY2F0ZUNlbGw8SlNUZXN0R2VuZXJhdGVJ
c1JlYWNoYWJsZUNvbnN0cnVjdG9yPih2bS5oZWFwKSkgSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJs
ZUNvbnN0cnVjdG9yKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KTsKLSAgICAgICAgcHRyLT5maW5p
c2hDcmVhdGlvbih2bSwgKmdsb2JhbE9iamVjdCk7CisgICAgICAgIHB0ci0+ZmluaXNoQ3JlYXRp
b24odm0sIGdsb2JhbE9iamVjdCk7CiAgICAgICAgIHJldHVybiBwdHI7CiAgICAgfQogCkBAIC04
NSw3ICs4NSw3IEBAIEpTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGVDb25zdHJ1Y3Rvcjo6SlNUZXN0
R2VuZXJhdGVJc1JlYWNoYWJsZUNvbnN0cnVjdG9yKFN0cnVjCiB7CiB9CiAKLXZvaWQgSlNUZXN0
R2VuZXJhdGVJc1JlYWNoYWJsZUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpT
RE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCit2b2lkIEpTVGVzdEdlbmVyYXRlSXNSZWFj
aGFibGVDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0KQogewogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKICAgICBB
U1NFUlQoaW5oZXJpdHMoaW5mbygpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCmluZGV4IDdkYzc4
MjZkOWY3OWEyYzQ3ZjdjNTc4ZDdjYzYwYTk3NjRiOWIwMzAuLjQ5OGM3M2ZjNzk0YWNiNWY0NjBl
OTg0M2EyZTY4MDAxNjNhYTY0MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCkBAIC0xNDYsMTQg
KzE0NiwxNCBAQCBwcml2YXRlOgogY2xhc3MgSlNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3IgOiBw
dWJsaWMgRE9NQ29uc3RydWN0b3JPYmplY3QgewogcHJpdmF0ZToKICAgICBKU1Rlc3RJbnRlcmZh
Y2VDb25zdHJ1Y3RvcihKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0Kik7Ci0gICAg
dm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJiwgSlNET01HbG9iYWxPYmplY3QmKTsKKyAgICB2
b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mLCBKU0RPTUdsb2JhbE9iamVjdCopOwogCiBwdWJs
aWM6CiAgICAgdHlwZWRlZiBET01Db25zdHJ1Y3Rvck9iamVjdCBCYXNlOwogICAgIHN0YXRpYyBK
U1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvciogY3JlYXRlKEpTQzo6Vk0mIHZtLCBKU0M6OlN0cnVj
dHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogICAgIHsK
ICAgICAgICAgSlNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3IqIHB0ciA9IG5ldyAoTm90TnVsbCwg
SlNDOjphbGxvY2F0ZUNlbGw8SlNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3I+KHZtLmhlYXApKSBK
U1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvcihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCk7Ci0gICAg
ICAgIHB0ci0+ZmluaXNoQ3JlYXRpb24odm0sICpnbG9iYWxPYmplY3QpOworICAgICAgICBwdHIt
PmZpbmlzaENyZWF0aW9uKHZtLCBnbG9iYWxPYmplY3QpOwogICAgICAgICByZXR1cm4gcHRyOwog
ICAgIH0KIApAQCAtMjk0LDcgKzI5NCw3IEBAIEpTVGVzdEludGVyZmFjZUNvbnN0cnVjdG9yOjpK
U1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNECiB7CiB9
CiAKLXZvaWQgSlNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2
bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKK3ZvaWQgSlNUZXN0SW50ZXJmYWNl
Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCkKIHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAgQVNTRVJU
KGluaGVyaXRzKGluZm8oKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3Rv
ci5jcHAKaW5kZXggNGQzNmI4ZjNhYzMxODZkYTFmN2NjNmYxOTMyMTYwZThmNTQyNWRkMC4uMWI3
YWYyZGFjMWY4MmQ3YTk2NGQyZmY2NDAwMjlkZTUyNzc0OThlNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEpTQnVpbHRpbkNvbnN0cnVj
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0SlNCdWlsdGluQ29uc3RydWN0b3IuY3BwCkBAIC02MSwxNCArNjEsMTQgQEAgcHJpdmF0ZToK
IGNsYXNzIEpTVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yQ29uc3RydWN0b3IgOiBwdWJsaWMgRE9N
Q29uc3RydWN0b3JKU0J1aWx0aW5PYmplY3QgewogcHJpdmF0ZToKICAgICBKU1Rlc3RKU0J1aWx0
aW5Db25zdHJ1Y3RvckNvbnN0cnVjdG9yKEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmpl
Y3QqKTsKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mLCBKU0RPTUdsb2JhbE9iamVj
dCYpOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYsIEpTRE9NR2xvYmFsT2JqZWN0
Kik7CiAKIHB1YmxpYzoKICAgICB0eXBlZGVmIERPTUNvbnN0cnVjdG9ySlNCdWlsdGluT2JqZWN0
IEJhc2U7CiAgICAgc3RhdGljIEpTVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yQ29uc3RydWN0b3Iq
IGNyZWF0ZShKU0M6OlZNJiB2bSwgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAgICB7CiAgICAgICAgIEpTVGVzdEpTQnVpbHRpbkNv
bnN0cnVjdG9yQ29uc3RydWN0b3IqIHB0ciA9IG5ldyAoTm90TnVsbCwgSlNDOjphbGxvY2F0ZUNl
bGw8SlNUZXN0SlNCdWlsdGluQ29uc3RydWN0b3JDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIEpTVGVz
dEpTQnVpbHRpbkNvbnN0cnVjdG9yQ29uc3RydWN0b3Ioc3RydWN0dXJlLCBnbG9iYWxPYmplY3Qp
OwotICAgICAgICBwdHItPmZpbmlzaENyZWF0aW9uKHZtLCAqZ2xvYmFsT2JqZWN0KTsKKyAgICAg
ICAgcHRyLT5maW5pc2hDcmVhdGlvbih2bSwgZ2xvYmFsT2JqZWN0KTsKICAgICAgICAgcmV0dXJu
IHB0cjsKICAgICB9CiAKQEAgLTk1LDcgKzk1LDcgQEAgSlNUZXN0SlNCdWlsdGluQ29uc3RydWN0
b3JDb25zdHJ1Y3Rvcjo6SlNUZXN0SlNCdWlsdGluQ29uc3RydWN0b3JDb25zdHJ1Y3RvcihTdHIK
IHsKIH0KIAotdm9pZCBKU1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3RvckNvbnN0cnVjdG9yOjpmaW5p
c2hDcmVhdGlvbihWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCit2b2lk
IEpTVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZN
JiB2bSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKICAgICBCYXNlOjpmaW5p
c2hDcmVhdGlvbih2bSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKGluZm8oKSkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCmluZGV4IDI3ZTUxMWExMGIzMDFh
YzY2ZmQ3N2I0YzE5ZGIzYzEyYTQzZDY5Y2UuLmJkZmYxNzYxZGE5ZmVlNDQ1MmE5MWJiNzRjY2Zk
YmYzNDliMjZjYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
ci5jcHAKQEAgLTY3LDE0ICs2NywxNCBAQCBwcml2YXRlOgogY2xhc3MgSlNUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yIDogcHVibGljIERPTUNvbnN0cnVjdG9yT2JqZWN0IHsK
IHByaXZhdGU6CiAgICAgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yKEpT
Qzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QqKTsKLSAgICB2b2lkIGZpbmlzaENyZWF0
aW9uKEpTQzo6Vk0mLCBKU0RPTUdsb2JhbE9iamVjdCYpOworICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oSlNDOjpWTSYsIEpTRE9NR2xvYmFsT2JqZWN0Kik7CiAKIHB1YmxpYzoKICAgICB0eXBlZGVm
IERPTUNvbnN0cnVjdG9yT2JqZWN0IEJhc2U7CiAgICAgc3RhdGljIEpTVGVzdE1lZGlhUXVlcnlM
aXN0TGlzdGVuZXJDb25zdHJ1Y3RvciogY3JlYXRlKEpTQzo6Vk0mIHZtLCBKU0M6OlN0cnVjdHVy
ZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogICAgIHsKICAg
ICAgICAgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yKiBwdHIgPSBuZXcg
KE5vdE51bGwsIEpTQzo6YWxsb2NhdGVDZWxsPEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJD
b25zdHJ1Y3Rvcj4odm0uaGVhcCkpIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1
Y3RvcihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCk7Ci0gICAgICAgIHB0ci0+ZmluaXNoQ3JlYXRp
b24odm0sICpnbG9iYWxPYmplY3QpOworICAgICAgICBwdHItPmZpbmlzaENyZWF0aW9uKHZtLCBn
bG9iYWxPYmplY3QpOwogICAgICAgICByZXR1cm4gcHRyOwogICAgIH0KIApAQCAtOTIsNyArOTIs
NyBAQCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3I6OkpTVGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3RvcgogewogfQogCi12b2lkIEpTVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0RPTUds
b2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQordm9pZCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCkKIHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAgQVNT
RVJUKGluaGVyaXRzKGluZm8oKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuY3Bw
CmluZGV4IDYwOWY3ODUxYmM1MWI1N2ZkMGZlNzBlZTE0ZTM0MzUwZGVlZmY4OGEuLmIxY2NlYmU0
YWViNTQzNWU3M2I5YjIxYWU5MTMzYTc3NGY2NjU3ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRD
b25zdHJ1Y3Rvci5jcHAKQEAgLTYzLDE0ICs2MywxNCBAQCBwcml2YXRlOgogY2xhc3MgSlNUZXN0
TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yIDogcHVibGljIERPTUNvbnN0cnVjdG9yT2JqZWN0
IHsKIHByaXZhdGU6CiAgICAgSlNUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yKEpTQzo6
U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QqKTsKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KEpTQzo6Vk0mLCBKU0RPTUdsb2JhbE9iamVjdCYpOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
SlNDOjpWTSYsIEpTRE9NR2xvYmFsT2JqZWN0Kik7CiAKIHB1YmxpYzoKICAgICB0eXBlZGVmIERP
TUNvbnN0cnVjdG9yT2JqZWN0IEJhc2U7CiAgICAgc3RhdGljIEpTVGVzdE5hbWVkQ29uc3RydWN0
b3JDb25zdHJ1Y3RvciogY3JlYXRlKEpTQzo6Vk0mIHZtLCBKU0M6OlN0cnVjdHVyZSogc3RydWN0
dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogICAgIHsKICAgICAgICAgSlNU
ZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yKiBwdHIgPSBuZXcgKE5vdE51bGwsIEpTQzo6
YWxsb2NhdGVDZWxsPEpTVGVzdE5hbWVkQ29uc3RydWN0b3JDb25zdHJ1Y3Rvcj4odm0uaGVhcCkp
IEpTVGVzdE5hbWVkQ29uc3RydWN0b3JDb25zdHJ1Y3RvcihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVj
dCk7Ci0gICAgICAgIHB0ci0+ZmluaXNoQ3JlYXRpb24odm0sICpnbG9iYWxPYmplY3QpOworICAg
ICAgICBwdHItPmZpbmlzaENyZWF0aW9uKHZtLCBnbG9iYWxPYmplY3QpOwogICAgICAgICByZXR1
cm4gcHRyOwogICAgIH0KIApAQCAtODgsNyArODgsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEpT
VGVzdE5hbWVkQ29uc3RydWN0b3JOYW1lZENvbnN0cnVjdG9yKiBjcmVhdGUoSlNDOjpWTSYgdm0s
IEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QpCiAgICAgewogICAgICAgICBKU1Rlc3ROYW1lZENvbnN0cnVjdG9yTmFtZWRDb25zdHJ1Y3Rv
ciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIEpTQzo6YWxsb2NhdGVDZWxsPEpTVGVzdE5h
bWVkQ29uc3RydWN0b3JOYW1lZENvbnN0cnVjdG9yPih2bS5oZWFwKSkgSlNUZXN0TmFtZWRDb25z
dHJ1Y3Rvck5hbWVkQ29uc3RydWN0b3Ioc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpOwotICAgICAg
ICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sICpnbG9iYWxPYmplY3QpOworICAgICAg
ICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCk7CiAgICAgICAg
IHJldHVybiBjb25zdHJ1Y3RvcjsKICAgICB9CiAKQEAgLTEwMyw3ICsxMDMsNyBAQCBwcml2YXRl
OgogICAgIEpTVGVzdE5hbWVkQ29uc3RydWN0b3JOYW1lZENvbnN0cnVjdG9yKEpTQzo6U3RydWN0
dXJlKiwgSlNET01HbG9iYWxPYmplY3QqKTsKICAgICBzdGF0aWMgSlNDOjpFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGNvbnN0cnVjdEpTVGVzdE5hbWVkQ29uc3RydWN0b3IoSlNDOjpFeGVj
U3RhdGUqKTsKICAgICBzdGF0aWMgSlNDOjpDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEo
SlNDOjpKU0NlbGwqLCBKU0M6OkNvbnN0cnVjdERhdGEmKTsKLSAgICB2b2lkIGZpbmlzaENyZWF0
aW9uKEpTQzo6Vk0mLCBKU0RPTUdsb2JhbE9iamVjdCYpOworICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oSlNDOjpWTSYsIEpTRE9NR2xvYmFsT2JqZWN0Kik7CiB9OwogCiBjb25zdCBDbGFzc0luZm8g
SlNUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJUZXN0TmFtZWRD
b25zdHJ1Y3RvckNvbnN0cnVjdG9yIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9U
QUJMRShKU1Rlc3ROYW1lZENvbnN0cnVjdG9yQ29uc3RydWN0b3IpIH07CkBAIC0xMTMsNyArMTEz
LDcgQEAgSlNUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yOjpKU1Rlc3ROYW1lZENvbnN0
cnVjdG9yQ29uc3RydWN0b3IoU3RydWN0dXJlKgogewogfQogCi12b2lkIEpTVGVzdE5hbWVkQ29u
c3RydWN0b3JDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0RPTUdsb2JhbE9i
amVjdCYgZ2xvYmFsT2JqZWN0KQordm9pZCBKU1Rlc3ROYW1lZENvbnN0cnVjdG9yQ29uc3RydWN0
b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCkKIHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAgQVNTRVJUKGluaGVyaXRz
KGluZm8oKSkpOwpAQCAtMTUyLDkgKzE1Miw5IEBAIEpTVGVzdE5hbWVkQ29uc3RydWN0b3JOYW1l
ZENvbnN0cnVjdG9yOjpKU1Rlc3ROYW1lZENvbnN0cnVjdG9yTmFtZWRDb25zdHJ1Y3RvcihTCiB7
CiB9CiAKLXZvaWQgSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvck5hbWVkQ29uc3RydWN0b3I6OmZpbmlz
aENyZWF0aW9uKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKK3ZvaWQg
SlNUZXN0TmFtZWRDb25zdHJ1Y3Rvck5hbWVkQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZN
JiB2bSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICBCYXNlOjpmaW5p
c2hDcmVhdGlvbigmZ2xvYmFsT2JqZWN0KTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9i
YWxPYmplY3QpOwogICAgIEFTU0VSVChpbmhlcml0cyhpbmZvKCkpKTsKICAgICBwdXREaXJlY3Qo
dm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6
Z2V0UHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBE
b250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05v
bnRyaXZpYWxTdHJpbmcoJnZtLCBTdHJpbmcoQVNDSUlMaXRlcmFsKCJBdWRpbyIpKSksIFJlYWRP
bmx5IHwgRG9udEVudW0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwCmluZGV4IDRkNjc2ZDlkY2ZhNTg2NTA1NTNhNGM3
MGQzNDdhM2MyYmRlY2UwNGYuLjBlOTBhZDA5NTA1ZWRiOWYyNDFjYWFiNzc3NzU5ZTlmYTRlMTU1
YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0Tm9kZS5jcHAKQEAgLTY2LDE0ICs2NiwxNCBAQCBwcml2YXRlOgogY2xhc3MgSlNU
ZXN0Tm9kZUNvbnN0cnVjdG9yIDogcHVibGljIERPTUNvbnN0cnVjdG9yT2JqZWN0IHsKIHByaXZh
dGU6CiAgICAgSlNUZXN0Tm9kZUNvbnN0cnVjdG9yKEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9i
YWxPYmplY3QqKTsKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mLCBKU0RPTUdsb2Jh
bE9iamVjdCYpOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYsIEpTRE9NR2xvYmFs
T2JqZWN0Kik7CiAKIHB1YmxpYzoKICAgICB0eXBlZGVmIERPTUNvbnN0cnVjdG9yT2JqZWN0IEJh
c2U7CiAgICAgc3RhdGljIEpTVGVzdE5vZGVDb25zdHJ1Y3RvciogY3JlYXRlKEpTQzo6Vk0mIHZt
LCBKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0KQogICAgIHsKICAgICAgICAgSlNUZXN0Tm9kZUNvbnN0cnVjdG9yKiBwdHIgPSBuZXcgKE5v
dE51bGwsIEpTQzo6YWxsb2NhdGVDZWxsPEpTVGVzdE5vZGVDb25zdHJ1Y3Rvcj4odm0uaGVhcCkp
IEpTVGVzdE5vZGVDb25zdHJ1Y3RvcihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCk7Ci0gICAgICAg
IHB0ci0+ZmluaXNoQ3JlYXRpb24odm0sICpnbG9iYWxPYmplY3QpOworICAgICAgICBwdHItPmZp
bmlzaENyZWF0aW9uKHZtLCBnbG9iYWxPYmplY3QpOwogICAgICAgICByZXR1cm4gcHRyOwogICAg
IH0KIApAQCAtMTAxLDcgKzEwMSw3IEBAIEpTVGVzdE5vZGVDb25zdHJ1Y3Rvcjo6SlNUZXN0Tm9k
ZUNvbnN0cnVjdG9yKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iCiB7CiB9CiAK
LXZvaWQgSlNUZXN0Tm9kZUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTRE9N
R2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCit2b2lkIEpTVGVzdE5vZGVDb25zdHJ1Y3Rvcjo6
ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQog
ewogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKICAgICBBU1NFUlQoaW5oZXJpdHMoaW5m
bygpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0Tm9uZGV0ZXJtaW5pc3RpYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9uZGV0ZXJtaW5pc3RpYy5jcHAKaW5kZXggODMzYWEzOTJh
ZDk4YWZkYmFmODQ2YmZjZDBmMmMyOTBmOWU5ODg2OC4uYThjYTRlMTc5YjYyNDNiYmQ4NWEyNGMx
NmIzZGQwNDNjMzI3ZWU4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5vbmRldGVybWluaXN0aWMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb25kZXRlcm1pbmlzdGljLmNwcApA
QCAtODMsMTQgKzgzLDE0IEBAIHByaXZhdGU6CiBjbGFzcyBKU1Rlc3ROb25kZXRlcm1pbmlzdGlj
Q29uc3RydWN0b3IgOiBwdWJsaWMgRE9NQ29uc3RydWN0b3JPYmplY3QgewogcHJpdmF0ZToKICAg
ICBKU1Rlc3ROb25kZXRlcm1pbmlzdGljQ29uc3RydWN0b3IoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RP
TUdsb2JhbE9iamVjdCopOwotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYsIEpTRE9N
R2xvYmFsT2JqZWN0Jik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJiwgSlNET01H
bG9iYWxPYmplY3QqKTsKIAogcHVibGljOgogICAgIHR5cGVkZWYgRE9NQ29uc3RydWN0b3JPYmpl
Y3QgQmFzZTsKICAgICBzdGF0aWMgSlNUZXN0Tm9uZGV0ZXJtaW5pc3RpY0NvbnN0cnVjdG9yKiBj
cmVhdGUoSlNDOjpWTSYgdm0sIEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgewogICAgICAgICBKU1Rlc3ROb25kZXRlcm1pbmlz
dGljQ29uc3RydWN0b3IqIHB0ciA9IG5ldyAoTm90TnVsbCwgSlNDOjphbGxvY2F0ZUNlbGw8SlNU
ZXN0Tm9uZGV0ZXJtaW5pc3RpY0NvbnN0cnVjdG9yPih2bS5oZWFwKSkgSlNUZXN0Tm9uZGV0ZXJt
aW5pc3RpY0NvbnN0cnVjdG9yKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KTsKLSAgICAgICAgcHRy
LT5maW5pc2hDcmVhdGlvbih2bSwgKmdsb2JhbE9iamVjdCk7CisgICAgICAgIHB0ci0+ZmluaXNo
Q3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCk7CiAgICAgICAgIHJldHVybiBwdHI7CiAgICAgfQog
CkBAIC0xMDgsNyArMTA4LDcgQEAgSlNUZXN0Tm9uZGV0ZXJtaW5pc3RpY0NvbnN0cnVjdG9yOjpK
U1Rlc3ROb25kZXRlcm1pbmlzdGljQ29uc3RydWN0b3IoU3RydWN0dXJlKgogewogfQogCi12b2lk
IEpTVGVzdE5vbmRldGVybWluaXN0aWNDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZt
LCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQordm9pZCBKU1Rlc3ROb25kZXRlcm1p
bmlzdGljQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNET01HbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCkKIHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAg
QVNTRVJUKGluaGVyaXRzKGluZm8oKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAppbmRleCA2YmUwY2IyZWM0MmZjNTBk
MDIzMWJiZmE3MDhlZWQzMmE3MTVjMzI4Li4xMjhhMzNmNjQ1MGVmZTc0OGMyNzlkYzZiYjIwZjQz
NTI2MWY0MThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0T2JqLmNwcApAQCAtMzQ4LDE0ICszNDgsMTQgQEAgcHJpdmF0ZToKIGNs
YXNzIEpTVGVzdE9iakNvbnN0cnVjdG9yIDogcHVibGljIERPTUNvbnN0cnVjdG9yT2JqZWN0IHsK
IHByaXZhdGU6CiAgICAgSlNUZXN0T2JqQ29uc3RydWN0b3IoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RP
TUdsb2JhbE9iamVjdCopOwotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYsIEpTRE9N
R2xvYmFsT2JqZWN0Jik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJiwgSlNET01H
bG9iYWxPYmplY3QqKTsKIAogcHVibGljOgogICAgIHR5cGVkZWYgRE9NQ29uc3RydWN0b3JPYmpl
Y3QgQmFzZTsKICAgICBzdGF0aWMgSlNUZXN0T2JqQ29uc3RydWN0b3IqIGNyZWF0ZShKU0M6OlZN
JiB2bSwgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCkKICAgICB7CiAgICAgICAgIEpTVGVzdE9iakNvbnN0cnVjdG9yKiBwdHIgPSBuZXcg
KE5vdE51bGwsIEpTQzo6YWxsb2NhdGVDZWxsPEpTVGVzdE9iakNvbnN0cnVjdG9yPih2bS5oZWFw
KSkgSlNUZXN0T2JqQ29uc3RydWN0b3Ioc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpOwotICAgICAg
ICBwdHItPmZpbmlzaENyZWF0aW9uKHZtLCAqZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgcHRyLT5m
aW5pc2hDcmVhdGlvbih2bSwgZ2xvYmFsT2JqZWN0KTsKICAgICAgICAgcmV0dXJuIHB0cjsKICAg
ICB9CiAKQEAgLTQ5MCw3ICs0OTAsNyBAQCBKU1Rlc3RPYmpDb25zdHJ1Y3Rvcjo6SlNUZXN0T2Jq
Q29uc3RydWN0b3IoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZQogewogfQog
Ci12b2lkIEpTVGVzdE9iakNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTRE9N
R2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCit2b2lkIEpTVGVzdE9iakNvbnN0cnVjdG9yOjpm
aW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7
CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgIEFTU0VSVChpbmhlcml0cyhpbmZv
KCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcAppbmRl
eCBhMGE3NjhlNjkyYjNiNjE1MDVmOGI4MTVjNGJjOTUwYTIyZmM2ZjhjLi4wNzM0ZjhkMDk4NDBh
OGFhMGQ5MDIxMWUzZTc5YTZmYzEzMmVjN2M5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnMuY3BwCkBAIC02MywxNCArNjMsMTQgQEAgcHJpdmF0ZToKIGNsYXNz
IEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNDb25zdHJ1Y3RvciA6IHB1YmxpYyBET01Db25z
dHJ1Y3Rvck9iamVjdCB7CiBwcml2YXRlOgogICAgIEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3Rv
cnNDb25zdHJ1Y3RvcihKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0Kik7Ci0gICAg
dm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJiwgSlNET01HbG9iYWxPYmplY3QmKTsKKyAgICB2
b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mLCBKU0RPTUdsb2JhbE9iamVjdCopOwogCiBwdWJs
aWM6CiAgICAgdHlwZWRlZiBET01Db25zdHJ1Y3Rvck9iamVjdCBCYXNlOwogICAgIHN0YXRpYyBK
U1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzQ29uc3RydWN0b3IqIGNyZWF0ZShKU0M6OlZNJiB2
bSwgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCkKICAgICB7CiAgICAgICAgIEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNDb25zdHJ1
Y3RvciogcHRyID0gbmV3IChOb3ROdWxsLCBKU0M6OmFsbG9jYXRlQ2VsbDxKU1Rlc3RPdmVybG9h
ZGVkQ29uc3RydWN0b3JzQ29uc3RydWN0b3I+KHZtLmhlYXApKSBKU1Rlc3RPdmVybG9hZGVkQ29u
c3RydWN0b3JzQ29uc3RydWN0b3Ioc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpOwotICAgICAgICBw
dHItPmZpbmlzaENyZWF0aW9uKHZtLCAqZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgcHRyLT5maW5p
c2hDcmVhdGlvbih2bSwgZ2xvYmFsT2JqZWN0KTsKICAgICAgICAgcmV0dXJuIHB0cjsKICAgICB9
CiAKQEAgLTE3Myw3ICsxNzMsNyBAQCBKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzQ29uc3Ry
dWN0b3I6OkpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNDb25zdHJ1Y3RvcgogewogfQogCi12
b2lkIEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRp
b24oVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQordm9pZCBKU1Rlc3RP
dmVybG9hZGVkQ29uc3RydWN0b3JzQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwg
SlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKICAgICBCYXNlOjpmaW5pc2hDcmVh
dGlvbih2bSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKGluZm8oKSkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJyaWRlQnVpbHRp
bnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92
ZXJyaWRlQnVpbHRpbnMuY3BwCmluZGV4IDlhYTVhODdhY2U0Mjc0ZjYxYTc1Y2QyNGRhNjgzMTU0
ODg3Y2RmOGIuLmRmMWM5NjU5M2IzMzFmZTE4MjAxZTA1YTBmN2U2YTRiZDY4NDQ2MGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVy
cmlkZUJ1aWx0aW5zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0T3ZlcnJpZGVCdWlsdGlucy5jcHAKQEAgLTY5LDE0ICs2OSwxNCBAQCBwcml2
YXRlOgogY2xhc3MgSlNUZXN0T3ZlcnJpZGVCdWlsdGluc0NvbnN0cnVjdG9yIDogcHVibGljIERP
TUNvbnN0cnVjdG9yT2JqZWN0IHsKIHByaXZhdGU6CiAgICAgSlNUZXN0T3ZlcnJpZGVCdWlsdGlu
c0NvbnN0cnVjdG9yKEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QqKTsKLSAgICB2
b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mLCBKU0RPTUdsb2JhbE9iamVjdCYpOworICAgIHZv
aWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYsIEpTRE9NR2xvYmFsT2JqZWN0Kik7CiAKIHB1Ymxp
YzoKICAgICB0eXBlZGVmIERPTUNvbnN0cnVjdG9yT2JqZWN0IEJhc2U7CiAgICAgc3RhdGljIEpT
VGVzdE92ZXJyaWRlQnVpbHRpbnNDb25zdHJ1Y3RvciogY3JlYXRlKEpTQzo6Vk0mIHZtLCBKU0M6
OlN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQog
ICAgIHsKICAgICAgICAgSlNUZXN0T3ZlcnJpZGVCdWlsdGluc0NvbnN0cnVjdG9yKiBwdHIgPSBu
ZXcgKE5vdE51bGwsIEpTQzo6YWxsb2NhdGVDZWxsPEpTVGVzdE92ZXJyaWRlQnVpbHRpbnNDb25z
dHJ1Y3Rvcj4odm0uaGVhcCkpIEpTVGVzdE92ZXJyaWRlQnVpbHRpbnNDb25zdHJ1Y3RvcihzdHJ1
Y3R1cmUsIGdsb2JhbE9iamVjdCk7Ci0gICAgICAgIHB0ci0+ZmluaXNoQ3JlYXRpb24odm0sICpn
bG9iYWxPYmplY3QpOworICAgICAgICBwdHItPmZpbmlzaENyZWF0aW9uKHZtLCBnbG9iYWxPYmpl
Y3QpOwogICAgICAgICByZXR1cm4gcHRyOwogICAgIH0KIApAQCAtMTA4LDcgKzEwOCw3IEBAIEpT
VGVzdE92ZXJyaWRlQnVpbHRpbnNDb25zdHJ1Y3Rvcjo6SlNUZXN0T3ZlcnJpZGVCdWlsdGluc0Nv
bnN0cnVjdG9yKFN0cnVjdHVyZSoKIHsKIH0KIAotdm9pZCBKU1Rlc3RPdmVycmlkZUJ1aWx0aW5z
Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGds
b2JhbE9iamVjdCkKK3ZvaWQgSlNUZXN0T3ZlcnJpZGVCdWlsdGluc0NvbnN0cnVjdG9yOjpmaW5p
c2hDcmVhdGlvbihWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7CiAg
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgIEFTU0VSVChpbmhlcml0cyhpbmZvKCkp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVy
ZmFjZS5jcHAKaW5kZXggNDY4MTJmZmE5NzBjMDM1MzhkNzUyNzExMDVkOTlhNjU4MGI3ZWUyZS4u
YmFkZWEwY2EzNjdhZDEzYTgwYzlkN2IzMDA2NzIzOGVmZjRlNDNlYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKQEAgLTc0
LDE0ICs3NCwxNCBAQCBwcml2YXRlOgogY2xhc3MgSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlQ29uc3RydWN0b3IgOiBwdWJsaWMgRE9NQ29uc3RydWN0b3JPYmplY3QgewogcHJp
dmF0ZToKICAgICBKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VDb25zdHJ1Y3Rv
cihKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0Kik7Ci0gICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihKU0M6OlZNJiwgSlNET01HbG9iYWxPYmplY3QmKTsKKyAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKEpTQzo6Vk0mLCBKU0RPTUdsb2JhbE9iamVjdCopOwogCiBwdWJsaWM6CiAgICAgdHlw
ZWRlZiBET01Db25zdHJ1Y3Rvck9iamVjdCBCYXNlOwogICAgIHN0YXRpYyBKU1Rlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2VDb25zdHJ1Y3RvciogY3JlYXRlKEpTQzo6Vk0mIHZtLCBK
U0M6OlN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
KQogICAgIHsKICAgICAgICAgSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQ29u
c3RydWN0b3IqIHB0ciA9IG5ldyAoTm90TnVsbCwgSlNDOjphbGxvY2F0ZUNlbGw8SlNUZXN0U2Vy
aWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQ29uc3RydWN0b3I+KHZtLmhlYXApKSBKU1Rlc3RT
ZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VDb25zdHJ1Y3RvcihzdHJ1Y3R1cmUsIGdsb2Jh
bE9iamVjdCk7Ci0gICAgICAgIHB0ci0+ZmluaXNoQ3JlYXRpb24odm0sICpnbG9iYWxPYmplY3Qp
OworICAgICAgICBwdHItPmZpbmlzaENyZWF0aW9uKHZtLCBnbG9iYWxPYmplY3QpOwogICAgICAg
ICByZXR1cm4gcHRyOwogICAgIH0KIApAQCAtOTksNyArOTksNyBAQCBKU1Rlc3RTZXJpYWxpemVk
U2NyaXB0VmFsdWVJbnRlcmZhY2VDb25zdHJ1Y3Rvcjo6SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZh
bHVlSW50ZQogewogfQogCi12b2lkIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFj
ZUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBn
bG9iYWxPYmplY3QpCit2b2lkIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUNv
bnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QpCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgIEFTU0VSVChp
bmhlcml0cyhpbmZvKCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwCmluZGV4IGU2YjJmYzBiYWZmNDE4
NzdmYTg2YTM0Mjg2ZGM4MzZlYjcyMzVmMjQuLmM5ZWFlNDdlYzM4NTlkMjk0ODZjNzUxMDA2MzFi
MTM2ZTc0ZjMwODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcApAQCAtMTAwLDE0ICsxMDAsMTQgQEAg
cHJpdmF0ZToKIGNsYXNzIEpTVGVzdFR5cGVkZWZzQ29uc3RydWN0b3IgOiBwdWJsaWMgRE9NQ29u
c3RydWN0b3JPYmplY3QgewogcHJpdmF0ZToKICAgICBKU1Rlc3RUeXBlZGVmc0NvbnN0cnVjdG9y
KEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QqKTsKLSAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKEpTQzo6Vk0mLCBKU0RPTUdsb2JhbE9iamVjdCYpOworICAgIHZvaWQgZmluaXNoQ3Jl
YXRpb24oSlNDOjpWTSYsIEpTRE9NR2xvYmFsT2JqZWN0Kik7CiAKIHB1YmxpYzoKICAgICB0eXBl
ZGVmIERPTUNvbnN0cnVjdG9yT2JqZWN0IEJhc2U7CiAgICAgc3RhdGljIEpTVGVzdFR5cGVkZWZz
Q29uc3RydWN0b3IqIGNyZWF0ZShKU0M6OlZNJiB2bSwgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAgICB7CiAgICAgICAgIEpTVGVz
dFR5cGVkZWZzQ29uc3RydWN0b3IqIHB0ciA9IG5ldyAoTm90TnVsbCwgSlNDOjphbGxvY2F0ZUNl
bGw8SlNUZXN0VHlwZWRlZnNDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIEpTVGVzdFR5cGVkZWZzQ29u
c3RydWN0b3Ioc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpOwotICAgICAgICBwdHItPmZpbmlzaENy
ZWF0aW9uKHZtLCAqZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgcHRyLT5maW5pc2hDcmVhdGlvbih2
bSwgZ2xvYmFsT2JqZWN0KTsKICAgICAgICAgcmV0dXJuIHB0cjsKICAgICB9CiAKQEAgLTE2NCw3
ICsxNjQsNyBAQCBKU1Rlc3RUeXBlZGVmc0NvbnN0cnVjdG9yOjpKU1Rlc3RUeXBlZGVmc0NvbnN0
cnVjdG9yKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTQogewogfQogCi12b2lkIEpTVGVzdFR5
cGVkZWZzQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNET01HbG9iYWxPYmpl
Y3QmIGdsb2JhbE9iamVjdCkKK3ZvaWQgSlNUZXN0VHlwZWRlZnNDb25zdHJ1Y3Rvcjo6ZmluaXNo
Q3JlYXRpb24oVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewogICAg
IEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKICAgICBBU1NFUlQoaW5oZXJpdHMoaW5mbygpKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNh
dHRyaWJ1dGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
YXR0cmlidXRlLmNwcAppbmRleCBmMmM1NzMxZWZlYzZjODNiOTYwMzY5NWEzNTEyZTQ2MTQ4NGYx
YjdlLi44OWM2ZDFhNTQ2NzgzOWY1YmUyNWE0ZDdmNzk5NzZiMWE2YmE4NTE1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNhdHRyaWJ1dGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU2F0dHJpYnV0
ZS5jcHAKQEAgLTYzLDE0ICs2MywxNCBAQCBwcml2YXRlOgogY2xhc3MgSlNhdHRyaWJ1dGVDb25z
dHJ1Y3RvciA6IHB1YmxpYyBET01Db25zdHJ1Y3Rvck9iamVjdCB7CiBwcml2YXRlOgogICAgIEpT
YXR0cmlidXRlQ29uc3RydWN0b3IoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCop
OwotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYsIEpTRE9NR2xvYmFsT2JqZWN0Jik7
CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJiwgSlNET01HbG9iYWxPYmplY3QqKTsK
IAogcHVibGljOgogICAgIHR5cGVkZWYgRE9NQ29uc3RydWN0b3JPYmplY3QgQmFzZTsKICAgICBz
dGF0aWMgSlNhdHRyaWJ1dGVDb25zdHJ1Y3RvciogY3JlYXRlKEpTQzo6Vk0mIHZtLCBKU0M6OlN0
cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogICAg
IHsKICAgICAgICAgSlNhdHRyaWJ1dGVDb25zdHJ1Y3RvciogcHRyID0gbmV3IChOb3ROdWxsLCBK
U0M6OmFsbG9jYXRlQ2VsbDxKU2F0dHJpYnV0ZUNvbnN0cnVjdG9yPih2bS5oZWFwKSkgSlNhdHRy
aWJ1dGVDb25zdHJ1Y3RvcihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCk7Ci0gICAgICAgIHB0ci0+
ZmluaXNoQ3JlYXRpb24odm0sICpnbG9iYWxPYmplY3QpOworICAgICAgICBwdHItPmZpbmlzaENy
ZWF0aW9uKHZtLCBnbG9iYWxPYmplY3QpOwogICAgICAgICByZXR1cm4gcHRyOwogICAgIH0KIApA
QCAtODgsNyArODgsNyBAQCBKU2F0dHJpYnV0ZUNvbnN0cnVjdG9yOjpKU2F0dHJpYnV0ZUNvbnN0
cnVjdG9yKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbAogewogfQogCi12b2lkIEpT
YXR0cmlidXRlQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNET01HbG9iYWxP
YmplY3QmIGdsb2JhbE9iamVjdCkKK3ZvaWQgSlNhdHRyaWJ1dGVDb25zdHJ1Y3Rvcjo6ZmluaXNo
Q3JlYXRpb24oVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewogICAg
IEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKICAgICBBU1NFUlQoaW5oZXJpdHMoaW5mbygpKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNy
ZWFkb25seS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNy
ZWFkb25seS5jcHAKaW5kZXggZjQ0OGY1NTMyNzkyODE1NWNhMGQ2ZGFjNGJmY2M5NDEzZThjMzI5
ZS4uNjczZDNjZjljYjZmZWIxMjVhODliYTBjMWU5ODJjZjY1MWFhMWY1MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU3JlYWRvbmx5LmNw
cApAQCAtNjAsMTQgKzYwLDE0IEBAIHByaXZhdGU6CiBjbGFzcyBKU3JlYWRvbmx5Q29uc3RydWN0
b3IgOiBwdWJsaWMgRE9NQ29uc3RydWN0b3JPYmplY3QgewogcHJpdmF0ZToKICAgICBKU3JlYWRv
bmx5Q29uc3RydWN0b3IoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCopOwotICAg
IHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYsIEpTRE9NR2xvYmFsT2JqZWN0Jik7CisgICAg
dm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJiwgSlNET01HbG9iYWxPYmplY3QqKTsKIAogcHVi
bGljOgogICAgIHR5cGVkZWYgRE9NQ29uc3RydWN0b3JPYmplY3QgQmFzZTsKICAgICBzdGF0aWMg
SlNyZWFkb25seUNvbnN0cnVjdG9yKiBjcmVhdGUoSlNDOjpWTSYgdm0sIEpTQzo6U3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgewogICAg
ICAgICBKU3JlYWRvbmx5Q29uc3RydWN0b3IqIHB0ciA9IG5ldyAoTm90TnVsbCwgSlNDOjphbGxv
Y2F0ZUNlbGw8SlNyZWFkb25seUNvbnN0cnVjdG9yPih2bS5oZWFwKSkgSlNyZWFkb25seUNvbnN0
cnVjdG9yKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KTsKLSAgICAgICAgcHRyLT5maW5pc2hDcmVh
dGlvbih2bSwgKmdsb2JhbE9iamVjdCk7CisgICAgICAgIHB0ci0+ZmluaXNoQ3JlYXRpb24odm0s
IGdsb2JhbE9iamVjdCk7CiAgICAgICAgIHJldHVybiBwdHI7CiAgICAgfQogCkBAIC04NSw3ICs4
NSw3IEBAIEpTcmVhZG9ubHlDb25zdHJ1Y3Rvcjo6SlNyZWFkb25seUNvbnN0cnVjdG9yKFN0cnVj
dHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iCiB7CiB9CiAKLXZvaWQgSlNyZWFkb25seUNv
bnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9i
YWxPYmplY3QpCit2b2lkIEpTcmVhZG9ubHlDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0m
IHZtLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewogICAgIEJhc2U6OmZpbmlz
aENyZWF0aW9uKHZtKTsKICAgICBBU1NFUlQoaW5oZXJpdHMoaW5mbygpKSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>