<?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>115961</bug_id>
          
          <creation_ts>2013-05-11 10:41:29 -0700</creation_ts>
          <short_desc>Fix several style warnings in generated bindings</short_desc>
          <delta_ts>2013-05-11 12:07:19 -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>Bindings</component>
          <version>528+ (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>115959</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>alecflett</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>haraken</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jsbell</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>887796</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-05-11 10:41:29 -0700</bug_when>
    <thetext>The generating bindings in Source/WebCore/bindings/scripts/test/ do not always follow the WebKit coding style and the style script is complaining when updating them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887804</commentid>
    <comment_count>1</comment_count>
      <attachid>201464</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-05-11 11:09:52 -0700</bug_when>
    <thetext>Created attachment 201464
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887808</commentid>
    <comment_count>2</comment_count>
      <attachid>201464</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-11 11:18:10 -0700</bug_when>
    <thetext>Comment on attachment 201464
Patch

Rejecting attachment 201464 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;validate-changelog&apos;, &apos;--non-interactive&apos;, 201464, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

/Volumes/Data/EWS/WebKit/Source/WebCore/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://webkit-queues.appspot.com/results/417518</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887809</commentid>
    <comment_count>3</comment_count>
      <attachid>201466</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-05-11 11:24:21 -0700</bug_when>
    <thetext>Created attachment 201466
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887815</commentid>
    <comment_count>4</comment_count>
      <attachid>201466</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-11 12:07:14 -0700</bug_when>
    <thetext>Comment on attachment 201466
Patch for landing

Clearing flags on attachment: 201466

Committed r149935: &lt;http://trac.webkit.org/changeset/149935&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887816</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-11 12:07:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201464</attachid>
            <date>2013-05-11 11:09:52 -0700</date>
            <delta_ts>2013-05-11 11:24:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>115961_bindings_style.patch</filename>
            <type>text/plain</type>
            <size>47796</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyNjQ4OTJkLi4wYjM0MjQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTE2
IEBACisyMDEzLTA1LTExICBDaHJpc3RvcGhlIER1bWV6ICA8Y2guZHVtZXpAc2lzYS5zYW1zdW5n
LmNvbT4KKworICAgICAgICBGaXggc2V2ZXJhbCBzdHlsZSB3YXJuaW5ncyBpbiBnZW5lcmF0ZWQg
YmluZGluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExNTk2MQorCisgICAgICAgIEZpeCBzZXZlcmFsIHN0eWxlIGVycm9ycyBpbiB0aGUgYmluZGlu
Z3MgZ2VuZXJhdGVkIHVuZGVyCisgICAgICAgIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC8KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZS4KKwor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckNQUC5wbToKKyAgICAgICAg
KEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAoV3JpdGVEYXRhKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRl
SGVhZGVyKToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAoV3Jp
dGVEYXRhKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBt
OgorICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9DUFAvV2ViRE9NRmxvYXQ2NEFycmF5LmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RBY3RpdmVET01PYmplY3QuY3BwOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdENhbGxiYWNrLmNwcDoKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RDdXN0b21OYW1lZEdldHRlci5j
cHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0RXZlbnRD
b25zdHJ1Y3Rvci5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJE
T01UZXN0RXZlbnRUYXJnZXQuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9D
UFAvV2ViRE9NVGVzdEV4Y2VwdGlvbi5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0NQUC9XZWJET01UZXN0SW50ZXJmYWNlLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3ROYW1lZENvbnN0cnVjdG9y
LmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3ROb2Rl
LmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RPYmou
Y3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnMuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9D
UFAvV2ViRE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHA6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0VHlwZWRlZnMuY3BwOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0
QWN0aXZlRE9NT2JqZWN0OjpyZWxlYXNlSW1wbElmTm90TnVsbCk6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RDdXN0b21OYW1lZEdldHRlci5oOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0Q3VzdG9tTmFt
ZWRHZXR0ZXI6OnJlbGVhc2VJbXBsSWZOb3ROdWxsKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojp0b0pTKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRD
b25zdHJ1Y3Rvci5oOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6
cmVsZWFzZUltcGxJZk5vdE51bGwpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RFdmVudFRhcmdldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTKToKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkpTVGVzdEV2ZW50VGFyZ2V0OjpyZWxlYXNlSW1wbElmTm90TnVsbCk6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjp0b0pTKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0RXhjZXB0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RFeGNlcHRpb246
OnJlbGVhc2VJbXBsSWZOb3ROdWxsKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0SW50ZXJmYWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkpTVGVzdEludGVyZmFjZTo6cmVsZWFzZUltcGxJZk5vdE51bGwpOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmg6CisgICAgICAgIChXZWJD
b3JlOjpKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjpyZWxlYXNlSW1wbElmTm90TnVsbCk6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0
b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTVGVzdE5hbWVkQ29uc3RydWN0b3I6OnJlbGVhc2VJbXBsSWZOb3ROdWxsKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmou
aDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE9iajo6cmVsZWFzZUltcGxJZk5vdE51bGwpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3Ry
dWN0b3JzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmg6CisgICAgICAg
IChXZWJDb3JlOjpKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzOjpyZWxlYXNlSW1wbElmTm90
TnVsbCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZh
bHVlSW50ZXJmYWNlLmg6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RTZXJpYWxpemVkU2NyaXB0
VmFsdWVJbnRlcmZhY2U6OnJlbGVhc2VJbXBsSWZOb3ROdWxsKToKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
dG9KUyk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZz
Lmg6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RUeXBlZGVmczo6cmVsZWFzZUltcGxJZk5vdE51
bGwpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTUZsb2F0NjRBcnJh
eUludGVybmFsLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvT2JqQy9ET01UZXN0QWN0aXZlRE9NT2JqZWN0SW50ZXJuYWwuaDoKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RD
YWxsYmFja0ludGVybmFsLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0Q3VzdG9tTmFtZWRHZXR0ZXJJbnRlcm5hbC5oOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMv
RE9NVGVzdEV2ZW50Q29uc3RydWN0b3JJbnRlcm5hbC5oOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdEV2ZW50VGFyZ2V0SW50
ZXJuYWwuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9PYmpDL0RPTVRlc3RFeGNlcHRpb25JbnRlcm5hbC5oOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdEludGVyZmFjZUlu
dGVybmFsLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvT2JqQy9ET01UZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckludGVybmFsLmg6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01U
ZXN0TmFtZWRDb25zdHJ1Y3RvckludGVybmFsLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0Tm9kZUludGVybmFsLmg6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9E
T01UZXN0T2JqSW50ZXJuYWwuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzSW50ZXJu
YWwuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9PYmpDL0RPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VJbnRlcm5hbC5oOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMv
RE9NVGVzdFR5cGVkZWZzSW50ZXJuYWwuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorCiAyMDEzLTA1
LTExICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgTWFr
ZSBpdCBhIGJ1aWxkIGVycm9yIHRvIHB1dCBpbnZhbGlkIEMrKyBzeW1ib2wgbmFtZXMgaW4gV2Vi
Q29yZS5leHAuaW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvckNQUC5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckNQUC5wbQppbmRleCBlNjVmYzJhLi4zYzVmOTk0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JDUFAucG0KKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yQ1BQLnBtCkBAIC02MTcs
MTAgKzYxNywxMCBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogCiAgICAgJGltcGxJbmNs
dWRlc3siV2ViRXhjZXB0aW9uSGFuZGxlci5oIn0gPSAxOwogICAgICRpbXBsSW5jbHVkZXN7IiRp
bXBsQ2xhc3NOYW1lLmgifSA9IDE7Ci0gICAgQGltcGxDb250ZW50ID0gKCk7CisgICAgJGltcGxJ
bmNsdWRlc3sid3RmL0dldFB0ci5oIn0gPSAxOworICAgICRpbXBsSW5jbHVkZXN7Ind0Zi9SZWZQ
dHIuaCJ9ID0gMTsKIAotICAgIHB1c2goQGltcGxDb250ZW50LCAiI2luY2x1ZGUgPHd0Zi9HZXRQ
dHIuaD5cbiIpOwotICAgIHB1c2goQGltcGxDb250ZW50LCAiI2luY2x1ZGUgPHd0Zi9SZWZQdHIu
aD5cblxuIik7CisgICAgQGltcGxDb250ZW50ID0gKCk7CiAKICAgICAjIFByaXZhdGUgZGF0YXN0
cnVjdHVyZSwgZW5jYXBzdWxhdGluZyBXZWJDb3JlIHR5cGVzCiAgICAgaWYgKCRiYXNlQ2xhc3Mg
ZXEgIldlYkRPTU9iamVjdCIpIHsKQEAgLTk4MCwxMSArOTgwLDIxIEBAIHN1YiBXcml0ZURhdGEK
ICAgICAjIFVwZGF0ZSBhIC5jcHAgZmlsZSBpZiB0aGUgY29udGVudHMgYXJlIGNoYW5nZWQuCiAg
ICAgJGNvbnRlbnRzID0gam9pbiAiIiwgQGltcGxDb250ZW50SGVhZGVyOwogCi0gICAgZm9yZWFj
aCBteSAkaW5jbHVkZSAoc29ydCBrZXlzKCVpbXBsSW5jbHVkZXMpKSB7CisgICAgbXkgQGluY2x1
ZGVzOworICAgIGZvcmVhY2ggbXkgJGluY2x1ZGUgKGtleXMoJWltcGxJbmNsdWRlcykpIHsKKyAg
ICAgICAgaWYgKCRpbmNsdWRlID1+IC9ed3RmXC8vKSB7CisgICAgICAgICAgICBwdXNoKEBpbmNs
dWRlcywgIjwkaW5jbHVkZT4iKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHB1c2go
QGluY2x1ZGVzLCAiXCIkaW5jbHVkZVwiIik7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBmb3Jl
YWNoIG15ICRpbmNsdWRlIChzb3J0IEBpbmNsdWRlcykgewogICAgICAgICAjICJjbGFzc05hbWUu
aCIgaXMgYWxyZWFkeSBpbmNsdWRlZCByaWdodCBhZnRlciBjb25maWcuaCwgc2lsZW5jZSBjaGVj
ay13ZWJraXQtc3R5bGUKLSAgICAgICAgbmV4dCBpZiAkaW5jbHVkZSBlcSAiJG5hbWUuaCI7Ci0g
ICAgICAgICRjb250ZW50cyAuPSAiI2luY2x1ZGUgXCIkaW5jbHVkZVwiXG4iOworICAgICAgICBu
ZXh0IGlmICRpbmNsdWRlIGVxICJcIiRwcmVmaXgkbmFtZS5oXCIiOworICAgICAgICAkY29udGVu
dHMgLj0gIiNpbmNsdWRlICRpbmNsdWRlXG4iOwogICAgIH0KKyAgICAkY29udGVudHMgLj0gIlxu
IjsKIAogICAgICRjb250ZW50cyAuPSBqb2luICIiLCBAaW1wbENvbnRlbnQ7CiAgICAgJGNvZGVH
ZW5lcmF0b3ItPlVwZGF0ZUZpbGUoJGltcGxGaWxlTmFtZSwgJGNvbnRlbnRzKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXgg
MjRkNWM0Mi4uYWNhOWQ4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTkxOCw3ICs5MTgsMTMgQEAgc3ViIEdlbmVyYXRl
SGVhZGVyCiAgICAgaWYgKCEkaGFzUGFyZW50KSB7CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRl
bnQsICIgICAgJGltcGxUeXBlKiBpbXBsKCkgY29uc3QgeyByZXR1cm4gbV9pbXBsOyB9XG4iKTsK
ICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICB2b2lkIHJlbGVhc2VJbXBsKCkgeyBt
X2ltcGwtPmRlcmVmKCk7IG1faW1wbCA9IDA7IH1cblxuIik7Ci0gICAgICAgIHB1c2goQGhlYWRl
ckNvbnRlbnQsICIgICAgdm9pZCByZWxlYXNlSW1wbElmTm90TnVsbCgpIHsgaWYgKG1faW1wbCkg
eyBtX2ltcGwtPmRlcmVmKCk7IG1faW1wbCA9IDA7IH0gfVxuXG4iKTsKKyAgICAgICAgcHVzaChA
aGVhZGVyQ29udGVudCwgIiAgICB2b2lkIHJlbGVhc2VJbXBsSWZOb3ROdWxsKClcbiIpOworICAg
ICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHtcbiIpOworICAgICAgICBwdXNoKEBoZWFk
ZXJDb250ZW50LCAiICAgICAgICBpZiAobV9pbXBsKSB7XG4iKTsKKyAgICAgICAgcHVzaChAaGVh
ZGVyQ29udGVudCwgIiAgICAgICAgICAgIG1faW1wbC0+ZGVyZWYoKTtcbiIpOworICAgICAgICBw
dXNoKEBoZWFkZXJDb250ZW50LCAiICAgICAgICAgICAgbV9pbXBsID0gMDtcbiIpOworICAgICAg
ICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgICAgICB9XG4iKTsKKyAgICAgICAgcHVzaChAaGVh
ZGVyQ29udGVudCwgIiAgICB9XG5cbiIpOwogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAi
cHJpdmF0ZTpcbiIpOwogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgICRpbXBsVHlw
ZSogbV9pbXBsO1xuIik7CiAgICAgfSBlbHNpZiAoJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57IkpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdCJ9KSB7CkBAIC0yNzEyLDkgKzI3MTgsMTEg
QEAgRU5ECiBFTkQKIAogICAgICAgICBpZiAoJHN2Z1Byb3BlcnR5VHlwZSkgewotICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKEpTVmFsdWUgcmVzdWx0ID0gZ2V0RXhpc3Rp
bmdXcmFwcGVyPCRjbGFzc05hbWUsICRpbXBsVHlwZT4oZXhlYywgaW1wbCkpIHJldHVybiByZXN1
bHQ7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGlmIChKU1ZhbHVl
IHJlc3VsdCA9IGdldEV4aXN0aW5nV3JhcHBlcjwkY2xhc3NOYW1lLCAkaW1wbFR5cGU+KGV4ZWMs
IGltcGwpKVxuIik7CisgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgcmV0
dXJuIHJlc3VsdDtcbiIpOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICIgICAgaWYgKEpTVmFsdWUgcmVzdWx0ID0gZ2V0RXhpc3RpbmdXcmFwcGVyPCRj
bGFzc05hbWU+KGV4ZWMsIGltcGwpKSByZXR1cm4gcmVzdWx0O1xuIik7CisgICAgICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAoSlNWYWx1ZSByZXN1bHQgPSBnZXRFeGlzdGluZ1dy
YXBwZXI8JGNsYXNzTmFtZT4oZXhlYywgaW1wbCkpXG4iKTsKKyAgICAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAiICAgICAgICByZXR1cm4gcmVzdWx0O1xuIik7CiAgICAgICAgIH0KICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsIDw8RU5EKSBpZiAkdnRhYmxlTmFtZUdudTsKIApAQCAtMzc3
Niw2ICszNzg0LDggQEAgc3ViIFdyaXRlRGF0YQogICAgICAgICBwdXNoIEBpbmNsdWRlcywgJGlu
Y2x1ZGU7CiAgICAgfQogICAgIGZvcmVhY2ggbXkgJGluY2x1ZGUgKHNvcnQgQGluY2x1ZGVzKSB7
CisgICAgICAgICMgIkpTQ2xhc3NOYW1lLmgiIGlzIGFscmVhZHkgaW5jbHVkZWQgcmlnaHQgYWZ0
ZXIgY29uZmlnLmguCisgICAgICAgIG5leHQgaWYgJGluY2x1ZGUgZXEgIlwiJHByZWZpeCRuYW1l
LmhcIiI7CiAgICAgICAgICRjb250ZW50cyAuPSAiI2luY2x1ZGUgJGluY2x1ZGVcbiI7CiAgICAg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JPYmpDLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9yT2JqQy5wbQppbmRleCAxNmQ1MmQyLi5iMzQ5MmFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0KQEAgLTEwMTQsOSAr
MTAxNCw5IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgICAgICAgICAgcHVzaChAaW50ZXJuYWxI
ZWFkZXJDb250ZW50LCAibmFtZXNwYWNlIFdlYkNvcmUge1xuIik7CiAgICAgICAgICAgICAkc3Rh
cnRlZE5hbWVzcGFjZSA9IDE7CiAgICAgICAgICAgICBpZiAoJGludGVyZmFjZU5hbWUgZXEgIk5v
ZGUiKSB7Ci0gICAgICAgICAgICAgICAgcHVzaChAaW50ZXJuYWxIZWFkZXJDb250ZW50LCAiICAg
IGNsYXNzIEV2ZW50VGFyZ2V0O1xuICAgIGNsYXNzIE5vZGU7XG4iKTsKKyAgICAgICAgICAgICAg
ICBwdXNoKEBpbnRlcm5hbEhlYWRlckNvbnRlbnQsICJjbGFzcyBFdmVudFRhcmdldDtcbiAgICBj
bGFzcyBOb2RlO1xuIik7CiAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIHB1
c2goQGludGVybmFsSGVhZGVyQ29udGVudCwgIiAgICBjbGFzcyAkaW1wbENsYXNzTmFtZTtcbiIp
OworICAgICAgICAgICAgICAgIHB1c2goQGludGVybmFsSGVhZGVyQ29udGVudCwgImNsYXNzICRp
bXBsQ2xhc3NOYW1lO1xuIik7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBwdXNoKEBpbnRl
cm5hbEhlYWRlckNvbnRlbnQsICJ9XG5cbiIpOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTUZsb2F0NjRBcnJheS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTUZsb2F0
NjRBcnJheS5jcHAKaW5kZXggODkxNmUyNy4uZGQ3NjVkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01GbG9hdDY0QXJyYXkuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NRmxvYXQ2
NEFycmF5LmNwcApAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1ZGUgIldlYkRPTUZsb2F0NjRBcnJh
eS5oIgogCiAjaW5jbHVkZSAiRmxvYXQzMkFycmF5LmgiCisjaW5jbHVkZSAiRmxvYXQ2NEFycmF5
LmgiCiAjaW5jbHVkZSAiSW50MzJBcnJheS5oIgogI2luY2x1ZGUgIldlYkRPTUZsb2F0MzJBcnJh
eS5oIgogI2luY2x1ZGUgIldlYkRPTUludDMyQXJyYXkuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdEFjdGl2ZURPTU9iamVj
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRl
c3RBY3RpdmVET01PYmplY3QuY3BwCmluZGV4IDIzZTJiYjYuLmI5YjkyYzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdEFjdGl2
ZURPTU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0NQUC9XZWJET01UZXN0QWN0aXZlRE9NT2JqZWN0LmNwcApAQCAtMjMsMTIgKzIzLDEzIEBACiAK
ICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiTm9kZS5oIgorI2luY2x1ZGUgIlRlc3RBY3Rp
dmVET01PYmplY3QuaCIKICNpbmNsdWRlICJXZWJET01Ob2RlLmgiCiAjaW5jbHVkZSAiV2ViRE9N
U3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViRXhjZXB0aW9uSGFuZGxlci5oIgotI2luY2x1ZGUgInd0
Zi90ZXh0L0F0b21pY1N0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CiAKIHN0
cnVjdCBXZWJET01UZXN0QWN0aXZlRE9NT2JqZWN0OjpXZWJET01UZXN0QWN0aXZlRE9NT2JqZWN0
UHJpdmF0ZSB7CiAgICAgV2ViRE9NVGVzdEFjdGl2ZURPTU9iamVjdFByaXZhdGUoV2ViQ29yZTo6
VGVzdEFjdGl2ZURPTU9iamVjdCogb2JqZWN0ID0gMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdENhbGxiYWNrLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdENhbGxiYWNr
LmNwcAppbmRleCBhNjZmMTY3Li5mZTM1ZDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RDYWxsYmFjay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0Q2FsbGJhY2su
Y3BwCkBAIC0yOCwxNSArMjgsMTYgQEAKICNpbmNsdWRlICJGbG9hdDMyQXJyYXkuaCIKICNpbmNs
dWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCisjaW5jbHVk
ZSAiVGVzdENhbGxiYWNrLmgiCiAjaW5jbHVkZSAiVGVzdE5vZGUuaCIKICNpbmNsdWRlICJXZWJE
T01ET01TdHJpbmdMaXN0LmgiCiAjaW5jbHVkZSAiV2ViRE9NRmxvYXQzMkFycmF5LmgiCiAjaW5j
bHVkZSAiV2ViRE9NU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViRE9NVGVzdE5vZGUuaCIKICNpbmNs
dWRlICJXZWJFeGNlcHRpb25IYW5kbGVyLmgiCi0jaW5jbHVkZSAid3RmL3RleHQvQXRvbWljU3Ry
aW5nLmgiCiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
KyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KIAogc3RydWN0IFdlYkRPTVRlc3RD
YWxsYmFjazo6V2ViRE9NVGVzdENhbGxiYWNrUHJpdmF0ZSB7CiAgICAgV2ViRE9NVGVzdENhbGxi
YWNrUHJpdmF0ZShXZWJDb3JlOjpUZXN0Q2FsbGJhY2sqIG9iamVjdCA9IDApCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RDdXN0
b21OYW1lZEdldHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
Q1BQL1dlYkRPTVRlc3RDdXN0b21OYW1lZEdldHRlci5jcHAKaW5kZXggMjQ1YzBkMi4uNTNkMjU1
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9X
ZWJET01UZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcApAQCAt
MjIsMTEgKzIyLDEyIEBACiAjaW5jbHVkZSAiV2ViRE9NVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmgi
CiAKICNpbmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAiVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmgi
CiAjaW5jbHVkZSAiV2ViRE9NU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViRXhjZXB0aW9uSGFuZGxl
ci5oIgotI2luY2x1ZGUgInd0Zi90ZXh0L0F0b21pY1N0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9H
ZXRQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQXRv
bWljU3RyaW5nLmg+CiAKIHN0cnVjdCBXZWJET01UZXN0Q3VzdG9tTmFtZWRHZXR0ZXI6OldlYkRP
TVRlc3RDdXN0b21OYW1lZEdldHRlclByaXZhdGUgewogICAgIFdlYkRPTVRlc3RDdXN0b21OYW1l
ZEdldHRlclByaXZhdGUoV2ViQ29yZTo6VGVzdEN1c3RvbU5hbWVkR2V0dGVyKiBvYmplY3QgPSAw
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9X
ZWJET01UZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RFdmVudENvbnN0cnVjdG9yLmNwcAppbmRleCA4MDcz
NjAwLi4yNzgwNmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvQ1BQL1dlYkRPTVRlc3RFdmVudENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RFdmVudENvbnN0cnVjdG9y
LmNwcApAQCAtMjIsMTEgKzIyLDEyIEBACiAjaW5jbHVkZSAiV2ViRE9NVGVzdEV2ZW50Q29uc3Ry
dWN0b3IuaCIKIAogI2luY2x1ZGUgIktVUkwuaCIKKyNpbmNsdWRlICJUZXN0RXZlbnRDb25zdHJ1
Y3Rvci5oIgogI2luY2x1ZGUgIldlYkRPTVN0cmluZy5oIgogI2luY2x1ZGUgIldlYkV4Y2VwdGlv
bkhhbmRsZXIuaCIKLSNpbmNsdWRlICJ3dGYvdGV4dC9BdG9taWNTdHJpbmcuaCIKICNpbmNsdWRl
IDx3dGYvR2V0UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi90
ZXh0L0F0b21pY1N0cmluZy5oPgogCiBzdHJ1Y3QgV2ViRE9NVGVzdEV2ZW50Q29uc3RydWN0b3I6
OldlYkRPTVRlc3RFdmVudENvbnN0cnVjdG9yUHJpdmF0ZSB7CiAgICAgV2ViRE9NVGVzdEV2ZW50
Q29uc3RydWN0b3JQcml2YXRlKFdlYkNvcmU6OlRlc3RFdmVudENvbnN0cnVjdG9yKiBvYmplY3Qg
PSAwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQ
UC9XZWJET01UZXN0RXZlbnRUYXJnZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0NQUC9XZWJET01UZXN0RXZlbnRUYXJnZXQuY3BwCmluZGV4IDNhMmNiNGYuLmYz
ZWFjMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9D
UFAvV2ViRE9NVGVzdEV2ZW50VGFyZ2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RFdmVudFRhcmdldC5jcHAKQEAgLTI0LDE0ICsy
NCwxNSBAQAogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1ZGUg
Ik5vZGUuaCIKKyNpbmNsdWRlICJUZXN0RXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJXZWJET01F
dmVudC5oIgogI2luY2x1ZGUgIldlYkRPTU5vZGUuaCIKICNpbmNsdWRlICJXZWJET01TdHJpbmcu
aCIKICNpbmNsdWRlICJXZWJFeGNlcHRpb25IYW5kbGVyLmgiCiAjaW5jbHVkZSAiV2ViTmF0aXZl
RXZlbnRMaXN0ZW5lci5oIgotI2luY2x1ZGUgInd0Zi90ZXh0L0F0b21pY1N0cmluZy5oIgogI2lu
Y2x1ZGUgPHd0Zi9HZXRQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8
d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CiAKIFdlYkRPTVRlc3RFdmVudFRhcmdldDo6V2ViRE9N
VGVzdEV2ZW50VGFyZ2V0KCkKICAgICA6IFdlYkRPTUV2ZW50VGFyZ2V0KCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdEV4Y2Vw
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRP
TVRlc3RFeGNlcHRpb24uY3BwCmluZGV4IDZlZDU5MjcuLjkyMzViM2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdEV4Y2VwdGlv
bi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJE
T01UZXN0RXhjZXB0aW9uLmNwcApAQCAtMjIsMTEgKzIyLDEyIEBACiAjaW5jbHVkZSAiV2ViRE9N
VGVzdEV4Y2VwdGlvbi5oIgogCiAjaW5jbHVkZSAiS1VSTC5oIgorI2luY2x1ZGUgIlRlc3RFeGNl
cHRpb24uaCIKICNpbmNsdWRlICJXZWJET01TdHJpbmcuaCIKICNpbmNsdWRlICJXZWJFeGNlcHRp
b25IYW5kbGVyLmgiCi0jaW5jbHVkZSAid3RmL3RleHQvQXRvbWljU3RyaW5nLmgiCiAjaW5jbHVk
ZSA8d3RmL0dldFB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYv
dGV4dC9BdG9taWNTdHJpbmcuaD4KIAogc3RydWN0IFdlYkRPTVRlc3RFeGNlcHRpb246OldlYkRP
TVRlc3RFeGNlcHRpb25Qcml2YXRlIHsKICAgICBXZWJET01UZXN0RXhjZXB0aW9uUHJpdmF0ZShX
ZWJDb3JlOjpUZXN0RXhjZXB0aW9uKiBvYmplY3QgPSAwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0SW50ZXJmYWNlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdEludGVy
ZmFjZS5jcHAKaW5kZXggZjM1NjQ2Zi4uN2E4MDVlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0SW50ZXJmYWNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RJbnRl
cmZhY2UuY3BwCkBAIC0yNiwxMyArMjYsMTQgQEAKIAogI2luY2x1ZGUgIktVUkwuaCIKICNpbmNs
dWRlICJOb2RlLmgiCisjaW5jbHVkZSAiVGVzdEludGVyZmFjZS5oIgogI2luY2x1ZGUgIlRlc3RT
dXBwbGVtZW50YWwuaCIKICNpbmNsdWRlICJXZWJET01Ob2RlLmgiCiAjaW5jbHVkZSAiV2ViRE9N
U3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViRXhjZXB0aW9uSGFuZGxlci5oIgotI2luY2x1ZGUgInd0
Zi90ZXh0L0F0b21pY1N0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CiAKIHN0
cnVjdCBXZWJET01UZXN0SW50ZXJmYWNlOjpXZWJET01UZXN0SW50ZXJmYWNlUHJpdmF0ZSB7CiAg
ICAgV2ViRE9NVGVzdEludGVyZmFjZVByaXZhdGUoV2ViQ29yZTo6VGVzdEludGVyZmFjZSogb2Jq
ZWN0ID0gMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9DUFAvV2ViRE9NVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lci5jcHAKaW5kZXggYzJmODNhYy4uMzkyOTExZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9X
ZWJET01UZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAKQEAgLTIyLDYgKzIyLDcgQEAKICNp
bmNsdWRlICJXZWJET01UZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oIgogCiAjaW5jbHVkZSAi
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oIgorI2luY2x1ZGUgIlRlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyLmgiCiAjaW5jbHVkZSAiV2ViRE9NTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oIgogI2lu
Y2x1ZGUgIldlYkV4Y2VwdGlvbkhhbmRsZXIuaCIKICNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRP
TVRlc3ROYW1lZENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9DUFAvV2ViRE9NVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwCmluZGV4IGEwN2Y5YjYu
LmUwYzM2NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9DUFAvV2ViRE9NVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE5hbWVkQ29uc3RydWN0b3IuY3Bw
CkBAIC0yMSw2ICsyMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViRE9N
VGVzdE5hbWVkQ29uc3RydWN0b3IuaCIKIAorI2luY2x1ZGUgIlRlc3ROYW1lZENvbnN0cnVjdG9y
LmgiCiAjaW5jbHVkZSAiV2ViRXhjZXB0aW9uSGFuZGxlci5oIgogI2luY2x1ZGUgPHd0Zi9HZXRQ
dHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3ROb2RlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE5vZGUuY3BwCmluZGV4
IDk2Yjg2M2QuLmNlMTQ0OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE5vZGUuY3BwCkBAIC0yMSw2ICsyMSw3
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViRE9NVGVzdE5vZGUuaCIKIAor
I2luY2x1ZGUgIlRlc3ROb2RlLmgiCiAjaW5jbHVkZSAiV2ViRXhjZXB0aW9uSGFuZGxlci5oIgog
I2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RP
YmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01U
ZXN0T2JqLmNwcAppbmRleCBkMGZkZTUxLi45ZDYzMDgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RPYmouY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9iai5jcHAK
QEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKICNp
bmNsdWRlICJUZXN0RW51bVR5cGUuaCIKICNpbmNsdWRlICJUZXN0Tm9kZS5oIgorI2luY2x1ZGUg
IlRlc3RPYmouaCIKICNpbmNsdWRlICJXZWJET01EaWN0aW9uYXJ5LmgiCiAjaW5jbHVkZSAiV2Vi
RE9NRG9jdW1lbnQuaCIKICNpbmNsdWRlICJXZWJET01Ob2RlLmgiCkBAIC0zOCwxNCArMzksMTMg
QEAKICNpbmNsdWRlICJXZWJET01TdHJpbmcuaCIKICNpbmNsdWRlICJXZWJET01UZXN0RW51bVR5
cGUuaCIKICNpbmNsdWRlICJXZWJET01UZXN0Tm9kZS5oIgotI2luY2x1ZGUgIldlYkRPTVRlc3RP
YmouaCIKICNpbmNsdWRlICJXZWJET01ib29sLmgiCiAjaW5jbHVkZSAiV2ViRXhjZXB0aW9uSGFu
ZGxlci5oIgogI2luY2x1ZGUgIldlYk5hdGl2ZUV2ZW50TGlzdGVuZXIuaCIKICNpbmNsdWRlICJi
b29sLmgiCi0jaW5jbHVkZSAid3RmL3RleHQvQXRvbWljU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3Rm
L0dldFB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9B
dG9taWNTdHJpbmcuaD4KIAogc3RydWN0IFdlYkRPTVRlc3RPYmo6OldlYkRPTVRlc3RPYmpQcml2
YXRlIHsKICAgICBXZWJET01UZXN0T2JqUHJpdmF0ZShXZWJDb3JlOjpUZXN0T2JqKiBvYmplY3Qg
PSAwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQ
UC9XZWJET01UZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3Jz
LmNwcAppbmRleCAyYWNhMjNhLi4xNjZhMmVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3Jz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRP
TVRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcApAQCAtMjEsNiArMjEsNyBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYkRPTVRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3Jz
LmgiCiAKKyNpbmNsdWRlICJUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5oIgogI2luY2x1ZGUg
IldlYkV4Y2VwdGlvbkhhbmRsZXIuaCIKICNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0NQUC9XZWJET01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKaW5kZXggODVkN2YyOC4uNzNhYTUxYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJE
T01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RTZXJpYWxpemVkU2NyaXB0
VmFsdWVJbnRlcmZhY2UuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAKICNpbmNsdWRlICJNZXNzYWdl
UG9ydEFycmF5LmgiCiAjaW5jbHVkZSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCisjaW5jbHVk
ZSAiVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oIgogI2luY2x1ZGUgIldlYkRP
TU1lc3NhZ2VQb3J0QXJyYXkuaCIKICNpbmNsdWRlICJXZWJFeGNlcHRpb25IYW5kbGVyLmgiCiAj
aW5jbHVkZSA8d3RmL0dldFB0ci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0VHlwZWRlZnMuY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0VHlwZWRlZnMuY3BwCmluZGV4
IDhjNDZiOWMuLjc0Zjc3M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdFR5cGVkZWZzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RUeXBlZGVmcy5jcHAKQEAgLTI0
LDEyICsyNCwxMyBAQAogI2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRlICJTVkdQb2ludC5oIgog
I2luY2x1ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgorI2luY2x1ZGUgIlRlc3RUeXBlZGVm
cy5oIgogI2luY2x1ZGUgIldlYkRPTVNWR1BvaW50LmgiCiAjaW5jbHVkZSAiV2ViRE9NU3RyaW5n
LmgiCiAjaW5jbHVkZSAiV2ViRXhjZXB0aW9uSGFuZGxlci5oIgotI2luY2x1ZGUgInd0Zi90ZXh0
L0F0b21pY1N0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KICNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CiAKIHN0cnVjdCBX
ZWJET01UZXN0VHlwZWRlZnM6OldlYkRPTVRlc3RUeXBlZGVmc1ByaXZhdGUgewogICAgIFdlYkRP
TVRlc3RUeXBlZGVmc1ByaXZhdGUoV2ViQ29yZTo6VGVzdFR5cGVkZWZzKiBvYmplY3QgPSAwKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEFjdGl2ZURPTU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcAppbmRleCA4MDg1ODM2Li5hOGQ2ZjJlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
QWN0aXZlRE9NT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcApAQCAtMjQ4LDcgKzI0OCw4IEBAIEpT
Qzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBUZXN0QWN0CiB7CiAgICAgaWYgKCFpbXBsKQogICAgICAgICByZXR1cm4g
anNOdWxsKCk7Ci0gICAgaWYgKEpTVmFsdWUgcmVzdWx0ID0gZ2V0RXhpc3RpbmdXcmFwcGVyPEpT
VGVzdEFjdGl2ZURPTU9iamVjdD4oZXhlYywgaW1wbCkpIHJldHVybiByZXN1bHQ7CisgICAgaWYg
KEpTVmFsdWUgcmVzdWx0ID0gZ2V0RXhpc3RpbmdXcmFwcGVyPEpTVGVzdEFjdGl2ZURPTU9iamVj
dD4oZXhlYywgaW1wbCkpCisgICAgICAgIHJldHVybiByZXN1bHQ7CiAKICNpZiBFTkFCTEUoQklO
RElOR19JTlRFR1JJVFkpCiAgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRl
cnByZXRfY2FzdDx2b2lkKio+KGltcGwpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuaApp
bmRleCAxM2MwZDdjLi4xMWFhZjcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVjdC5oCkBA
IC01NSw3ICs1NSwxMyBAQCBwdWJsaWM6CiAgICAgVGVzdEFjdGl2ZURPTU9iamVjdCogaW1wbCgp
IGNvbnN0IHsgcmV0dXJuIG1faW1wbDsgfQogICAgIHZvaWQgcmVsZWFzZUltcGwoKSB7IG1faW1w
bC0+ZGVyZWYoKTsgbV9pbXBsID0gMDsgfQogCi0gICAgdm9pZCByZWxlYXNlSW1wbElmTm90TnVs
bCgpIHsgaWYgKG1faW1wbCkgeyBtX2ltcGwtPmRlcmVmKCk7IG1faW1wbCA9IDA7IH0gfQorICAg
IHZvaWQgcmVsZWFzZUltcGxJZk5vdE51bGwoKQorICAgIHsKKyAgICAgICAgaWYgKG1faW1wbCkg
eworICAgICAgICAgICAgbV9pbXBsLT5kZXJlZigpOworICAgICAgICAgICAgbV9pbXBsID0gMDsK
KyAgICAgICAgfQorICAgIH0KIAogcHJpdmF0ZToKICAgICBUZXN0QWN0aXZlRE9NT2JqZWN0KiBt
X2ltcGw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcAppbmRleCA5NDJlMWMz
Li4zMGY2YzJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21OYW1lZEdldHRlci5jcHAKQEAgLTIz
Miw3ICsyMzIsOCBAQCBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNE
T01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEN1cwogewogICAgIGlmICghaW1wbCkK
ICAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwotICAgIGlmIChKU1ZhbHVlIHJlc3VsdCA9IGdldEV4
aXN0aW5nV3JhcHBlcjxKU1Rlc3RDdXN0b21OYW1lZEdldHRlcj4oZXhlYywgaW1wbCkpIHJldHVy
biByZXN1bHQ7CisgICAgaWYgKEpTVmFsdWUgcmVzdWx0ID0gZ2V0RXhpc3RpbmdXcmFwcGVyPEpT
VGVzdEN1c3RvbU5hbWVkR2V0dGVyPihleGVjLCBpbXBsKSkKKyAgICAgICAgcmV0dXJuIHJlc3Vs
dDsKIAogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKICAgICB2b2lkKiBhY3R1YWxWVGFi
bGVQb2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5h
bWVkR2V0dGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaAppbmRleCA3MmZhOGJiLi44ZTU1YzkzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tTmFt
ZWRHZXR0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaApAQCAtNTYsNyArNTYsMTMgQEAgcHVibGljOgogICAg
IFRlc3RDdXN0b21OYW1lZEdldHRlciogaW1wbCgpIGNvbnN0IHsgcmV0dXJuIG1faW1wbDsgfQog
ICAgIHZvaWQgcmVsZWFzZUltcGwoKSB7IG1faW1wbC0+ZGVyZWYoKTsgbV9pbXBsID0gMDsgfQog
Ci0gICAgdm9pZCByZWxlYXNlSW1wbElmTm90TnVsbCgpIHsgaWYgKG1faW1wbCkgeyBtX2ltcGwt
PmRlcmVmKCk7IG1faW1wbCA9IDA7IH0gfQorICAgIHZvaWQgcmVsZWFzZUltcGxJZk5vdE51bGwo
KQorICAgIHsKKyAgICAgICAgaWYgKG1faW1wbCkgeworICAgICAgICAgICAgbV9pbXBsLT5kZXJl
ZigpOworICAgICAgICAgICAgbV9pbXBsID0gMDsKKyAgICAgICAgfQorICAgIH0KIAogcHJpdmF0
ZToKICAgICBUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIqIG1faW1wbDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9y
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVu
dENvbnN0cnVjdG9yLmNwcAppbmRleCA2YWEzOTA1Li4wODQ3NzZiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEV2ZW50Q29uc3RydWN0b3IuY3BwCkBAIC0yNDYsNyArMjQ2LDggQEAgSlNDOjpKU1ZhbHVlIHRv
SlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IFRlc3RFdmUKIHsKICAgICBpZiAoIWltcGwpCiAgICAgICAgIHJldHVybiBqc051bGwoKTsKLSAg
ICBpZiAoSlNWYWx1ZSByZXN1bHQgPSBnZXRFeGlzdGluZ1dyYXBwZXI8SlNUZXN0RXZlbnRDb25z
dHJ1Y3Rvcj4oZXhlYywgaW1wbCkpIHJldHVybiByZXN1bHQ7CisgICAgaWYgKEpTVmFsdWUgcmVz
dWx0ID0gZ2V0RXhpc3RpbmdXcmFwcGVyPEpTVGVzdEV2ZW50Q29uc3RydWN0b3I+KGV4ZWMsIGlt
cGwpKQorICAgICAgICByZXR1cm4gcmVzdWx0OwogCiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdS
SVRZKQogICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8
dm9pZCoqPihpbXBsKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuaAppbmRleCAwMTU0
YTc3Li5kYjQyYTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmgKQEAgLTU3LDcg
KzU3LDEzIEBAIHB1YmxpYzoKICAgICBUZXN0RXZlbnRDb25zdHJ1Y3RvciogaW1wbCgpIGNvbnN0
IHsgcmV0dXJuIG1faW1wbDsgfQogICAgIHZvaWQgcmVsZWFzZUltcGwoKSB7IG1faW1wbC0+ZGVy
ZWYoKTsgbV9pbXBsID0gMDsgfQogCi0gICAgdm9pZCByZWxlYXNlSW1wbElmTm90TnVsbCgpIHsg
aWYgKG1faW1wbCkgeyBtX2ltcGwtPmRlcmVmKCk7IG1faW1wbCA9IDA7IH0gfQorICAgIHZvaWQg
cmVsZWFzZUltcGxJZk5vdE51bGwoKQorICAgIHsKKyAgICAgICAgaWYgKG1faW1wbCkgeworICAg
ICAgICAgICAgbV9pbXBsLT5kZXJlZigpOworICAgICAgICAgICAgbV9pbXBsID0gMDsKKyAgICAg
ICAgfQorICAgIH0KIAogcHJpdmF0ZToKICAgICBUZXN0RXZlbnRDb25zdHJ1Y3RvciogbV9pbXBs
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEV2ZW50VGFyZ2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHAKaW5kZXggMDYzYzBkNC4uZDE5NWQ0MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50
VGFyZ2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0RXZlbnRUYXJnZXQuY3BwCkBAIC0zNTUsNyArMzU1LDggQEAgSlNDOjpKU1ZhbHVlIHRv
SlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IFRlc3RFdmUKIHsKICAgICBpZiAoIWltcGwpCiAgICAgICAgIHJldHVybiBqc051bGwoKTsKLSAg
ICBpZiAoSlNWYWx1ZSByZXN1bHQgPSBnZXRFeGlzdGluZ1dyYXBwZXI8SlNUZXN0RXZlbnRUYXJn
ZXQ+KGV4ZWMsIGltcGwpKSByZXR1cm4gcmVzdWx0OworICAgIGlmIChKU1ZhbHVlIHJlc3VsdCA9
IGdldEV4aXN0aW5nV3JhcHBlcjxKU1Rlc3RFdmVudFRhcmdldD4oZXhlYywgaW1wbCkpCisgICAg
ICAgIHJldHVybiByZXN1bHQ7CiAKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCiAgICAg
dm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGlt
cGwpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RFdmVudFRhcmdldC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmgKaW5kZXggZjVkNmQxZC4uZGE4YTg4ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50
VGFyZ2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEV2ZW50VGFyZ2V0LmgKQEAgLTYwLDcgKzYwLDEzIEBAIHB1YmxpYzoKICAgICBUZXN0RXZl
bnRUYXJnZXQqIGltcGwoKSBjb25zdCB7IHJldHVybiBtX2ltcGw7IH0KICAgICB2b2lkIHJlbGVh
c2VJbXBsKCkgeyBtX2ltcGwtPmRlcmVmKCk7IG1faW1wbCA9IDA7IH0KIAotICAgIHZvaWQgcmVs
ZWFzZUltcGxJZk5vdE51bGwoKSB7IGlmIChtX2ltcGwpIHsgbV9pbXBsLT5kZXJlZigpOyBtX2lt
cGwgPSAwOyB9IH0KKyAgICB2b2lkIHJlbGVhc2VJbXBsSWZOb3ROdWxsKCkKKyAgICB7CisgICAg
ICAgIGlmIChtX2ltcGwpIHsKKyAgICAgICAgICAgIG1faW1wbC0+ZGVyZWYoKTsKKyAgICAgICAg
ICAgIG1faW1wbCA9IDA7CisgICAgICAgIH0KKyAgICB9CiAKIHByaXZhdGU6CiAgICAgVGVzdEV2
ZW50VGFyZ2V0KiBtX2ltcGw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwCmluZGV4IGVhZGRjYjguLjg2
YzliZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RFeGNlcHRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwCkBAIC0xODksNyArMTg5LDggQEAgSlNDOjpK
U1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFRlc3RFeGMKIHsKICAgICBpZiAoIWltcGwpCiAgICAgICAgIHJldHVybiBqc051
bGwoKTsKLSAgICBpZiAoSlNWYWx1ZSByZXN1bHQgPSBnZXRFeGlzdGluZ1dyYXBwZXI8SlNUZXN0
RXhjZXB0aW9uPihleGVjLCBpbXBsKSkgcmV0dXJuIHJlc3VsdDsKKyAgICBpZiAoSlNWYWx1ZSBy
ZXN1bHQgPSBnZXRFeGlzdGluZ1dyYXBwZXI8SlNUZXN0RXhjZXB0aW9uPihleGVjLCBpbXBsKSkK
KyAgICAgICAgcmV0dXJuIHJlc3VsdDsKIAogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkK
ICAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQq
Kj4oaW1wbCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5oCmluZGV4IDc0MjQ4ODkuLmY0MGJlYWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNl
cHRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0RXhjZXB0aW9uLmgKQEAgLTU1LDcgKzU1LDEzIEBAIHB1YmxpYzoKICAgICBUZXN0RXhjZXB0
aW9uKiBpbXBsKCkgY29uc3QgeyByZXR1cm4gbV9pbXBsOyB9CiAgICAgdm9pZCByZWxlYXNlSW1w
bCgpIHsgbV9pbXBsLT5kZXJlZigpOyBtX2ltcGwgPSAwOyB9CiAKLSAgICB2b2lkIHJlbGVhc2VJ
bXBsSWZOb3ROdWxsKCkgeyBpZiAobV9pbXBsKSB7IG1faW1wbC0+ZGVyZWYoKTsgbV9pbXBsID0g
MDsgfSB9CisgICAgdm9pZCByZWxlYXNlSW1wbElmTm90TnVsbCgpCisgICAgeworICAgICAgICBp
ZiAobV9pbXBsKSB7CisgICAgICAgICAgICBtX2ltcGwtPmRlcmVmKCk7CisgICAgICAgICAgICBt
X2ltcGwgPSAwOworICAgICAgICB9CisgICAgfQogCiBwcml2YXRlOgogICAgIFRlc3RFeGNlcHRp
b24qIG1faW1wbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAKaW5kZXggMjlmYTVkMC4uNTg5ZDc5OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEludGVyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEludGVyZmFjZS5jcHAKQEAgLTUwMyw3ICs1MDMsOCBAQCBKU0M6OkpTVmFsdWUg
dG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgVGVzdEludAogewogICAgIGlmICghaW1wbCkKICAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwot
ICAgIGlmIChKU1ZhbHVlIHJlc3VsdCA9IGdldEV4aXN0aW5nV3JhcHBlcjxKU1Rlc3RJbnRlcmZh
Y2U+KGV4ZWMsIGltcGwpKSByZXR1cm4gcmVzdWx0OworICAgIGlmIChKU1ZhbHVlIHJlc3VsdCA9
IGdldEV4aXN0aW5nV3JhcHBlcjxKU1Rlc3RJbnRlcmZhY2U+KGV4ZWMsIGltcGwpKQorICAgICAg
ICByZXR1cm4gcmVzdWx0OwogI2lmIENPTVBJTEVSKENMQU5HKQogICAgIC8vIElmIHlvdSBoaXQg
dGhpcyBmYWlsdXJlIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBoYXMgdGhlIEltcGxlbWVudGF0
aW9uTGFja3NWVGFibGUKICAgICAvLyBhdHRyaWJ1dGUuIFlvdSBzaG91bGQgcmVtb3ZlIHRoYXQg
YXR0cmlidXRlLiBJZiB0aGUgY2xhc3MgaGFzIHN1YmNsYXNzZXMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuaApp
bmRleCBmMzZkNDEzLi42YWZiNTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5oCkBAIC03Myw3ICs3Mywx
MyBAQCBwdWJsaWM6CiAgICAgVGVzdEludGVyZmFjZSogaW1wbCgpIGNvbnN0IHsgcmV0dXJuIG1f
aW1wbDsgfQogICAgIHZvaWQgcmVsZWFzZUltcGwoKSB7IG1faW1wbC0+ZGVyZWYoKTsgbV9pbXBs
ID0gMDsgfQogCi0gICAgdm9pZCByZWxlYXNlSW1wbElmTm90TnVsbCgpIHsgaWYgKG1faW1wbCkg
eyBtX2ltcGwtPmRlcmVmKCk7IG1faW1wbCA9IDA7IH0gfQorICAgIHZvaWQgcmVsZWFzZUltcGxJ
Zk5vdE51bGwoKQorICAgIHsKKyAgICAgICAgaWYgKG1faW1wbCkgeworICAgICAgICAgICAgbV9p
bXBsLT5kZXJlZigpOworICAgICAgICAgICAgbV9pbXBsID0gMDsKKyAgICAgICAgfQorICAgIH0K
IAogcHJpdmF0ZToKICAgICBUZXN0SW50ZXJmYWNlKiBtX2ltcGw7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAKaW5kZXggOWI4YWM2NC4uM2MwZDI5ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1l
ZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcApAQCAtMjEwLDcg
KzIxMCw4IEBAIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0RPTUds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0TWVkCiB7CiAgICAgaWYgKCFpbXBsKQogICAg
ICAgICByZXR1cm4ganNOdWxsKCk7Ci0gICAgaWYgKEpTVmFsdWUgcmVzdWx0ID0gZ2V0RXhpc3Rp
bmdXcmFwcGVyPEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+KGV4ZWMsIGltcGwpKSByZXR1
cm4gcmVzdWx0OworICAgIGlmIChKU1ZhbHVlIHJlc3VsdCA9IGdldEV4aXN0aW5nV3JhcHBlcjxK
U1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPihleGVjLCBpbXBsKSkKKyAgICAgICAgcmV0dXJu
IHJlc3VsdDsKIAogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKICAgICB2b2lkKiBhY3R1
YWxWVGFibGVQb2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbCkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1l
ZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgKaW5kZXggNzRjODYwZi4uZDBm
ZGQwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oCkBAIC01
NSw3ICs1NSwxMyBAQCBwdWJsaWM6CiAgICAgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqIGlt
cGwoKSBjb25zdCB7IHJldHVybiBtX2ltcGw7IH0KICAgICB2b2lkIHJlbGVhc2VJbXBsKCkgeyBt
X2ltcGwtPmRlcmVmKCk7IG1faW1wbCA9IDA7IH0KIAotICAgIHZvaWQgcmVsZWFzZUltcGxJZk5v
dE51bGwoKSB7IGlmIChtX2ltcGwpIHsgbV9pbXBsLT5kZXJlZigpOyBtX2ltcGwgPSAwOyB9IH0K
KyAgICB2b2lkIHJlbGVhc2VJbXBsSWZOb3ROdWxsKCkKKyAgICB7CisgICAgICAgIGlmIChtX2lt
cGwpIHsKKyAgICAgICAgICAgIG1faW1wbC0+ZGVyZWYoKTsKKyAgICAgICAgICAgIG1faW1wbCA9
IDA7CisgICAgICAgIH0KKyAgICB9CiAKIHByaXZhdGU6CiAgICAgVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXIqIG1faW1wbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmNwcAppbmRl
eCA4ZDcxZGU2Li4wZmEyNTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuY3Bw
CkBAIC0yMjUsNyArMjI1LDggQEAgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4
ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3ROYW0KIHsKICAgICBpZiAo
IWltcGwpCiAgICAgICAgIHJldHVybiBqc051bGwoKTsKLSAgICBpZiAoSlNWYWx1ZSByZXN1bHQg
PSBnZXRFeGlzdGluZ1dyYXBwZXI8SlNUZXN0TmFtZWRDb25zdHJ1Y3Rvcj4oZXhlYywgaW1wbCkp
IHJldHVybiByZXN1bHQ7CisgICAgaWYgKEpTVmFsdWUgcmVzdWx0ID0gZ2V0RXhpc3RpbmdXcmFw
cGVyPEpTVGVzdE5hbWVkQ29uc3RydWN0b3I+KGV4ZWMsIGltcGwpKQorICAgICAgICByZXR1cm4g
cmVzdWx0OwogCiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQogICAgIHZvaWQqIGFjdHVh
bFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFt
ZWRDb25zdHJ1Y3Rvci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuaAppbmRleCA0NDZkYjI1Li43M2RhMjMxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRD
b25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmgKQEAgLTU1LDcgKzU1LDEzIEBAIHB1YmxpYzoKICAg
ICBUZXN0TmFtZWRDb25zdHJ1Y3RvciogaW1wbCgpIGNvbnN0IHsgcmV0dXJuIG1faW1wbDsgfQog
ICAgIHZvaWQgcmVsZWFzZUltcGwoKSB7IG1faW1wbC0+ZGVyZWYoKTsgbV9pbXBsID0gMDsgfQog
Ci0gICAgdm9pZCByZWxlYXNlSW1wbElmTm90TnVsbCgpIHsgaWYgKG1faW1wbCkgeyBtX2ltcGwt
PmRlcmVmKCk7IG1faW1wbCA9IDA7IH0gfQorICAgIHZvaWQgcmVsZWFzZUltcGxJZk5vdE51bGwo
KQorICAgIHsKKyAgICAgICAgaWYgKG1faW1wbCkgeworICAgICAgICAgICAgbV9pbXBsLT5kZXJl
ZigpOworICAgICAgICAgICAgbV9pbXBsID0gMDsKKyAgICAgICAgfQorICAgIH0KIAogcHJpdmF0
ZToKICAgICBUZXN0TmFtZWRDb25zdHJ1Y3RvciogbV9pbXBsOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAppbmRleCAzYzNi
YjZjLi45ZDVkNjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcApAQCAtMzA5MCw3ICszMDkwLDggQEAgSlNDOjpKU1Zh
bHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIFRlc3RPYmoKIHsKICAgICBpZiAoIWltcGwpCiAgICAgICAgIHJldHVybiBqc051bGwo
KTsKLSAgICBpZiAoSlNWYWx1ZSByZXN1bHQgPSBnZXRFeGlzdGluZ1dyYXBwZXI8SlNUZXN0T2Jq
PihleGVjLCBpbXBsKSkgcmV0dXJuIHJlc3VsdDsKKyAgICBpZiAoSlNWYWx1ZSByZXN1bHQgPSBn
ZXRFeGlzdGluZ1dyYXBwZXI8SlNUZXN0T2JqPihleGVjLCBpbXBsKSkKKyAgICAgICAgcmV0dXJu
IHJlc3VsdDsKIAogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKICAgICB2b2lkKiBhY3R1
YWxWVGFibGVQb2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbCkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9i
ai5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5o
CmluZGV4IDY5MjQ1YWQuLjdmZTUzYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmgKQEAgLTY5LDcgKzY5LDEzIEBAIHB1Ymxp
YzoKICAgICBUZXN0T2JqKiBpbXBsKCkgY29uc3QgeyByZXR1cm4gbV9pbXBsOyB9CiAgICAgdm9p
ZCByZWxlYXNlSW1wbCgpIHsgbV9pbXBsLT5kZXJlZigpOyBtX2ltcGwgPSAwOyB9CiAKLSAgICB2
b2lkIHJlbGVhc2VJbXBsSWZOb3ROdWxsKCkgeyBpZiAobV9pbXBsKSB7IG1faW1wbC0+ZGVyZWYo
KTsgbV9pbXBsID0gMDsgfSB9CisgICAgdm9pZCByZWxlYXNlSW1wbElmTm90TnVsbCgpCisgICAg
eworICAgICAgICBpZiAobV9pbXBsKSB7CisgICAgICAgICAgICBtX2ltcGwtPmRlcmVmKCk7Cisg
ICAgICAgICAgICBtX2ltcGwgPSAwOworICAgICAgICB9CisgICAgfQogCiBwcml2YXRlOgogICAg
IFRlc3RPYmoqIG1faW1wbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0
b3JzLmNwcAppbmRleCAzNDU2YWZkLi45YjU5MjVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92
ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwCkBAIC0yNTMsNyArMjUzLDggQEAgSlNDOjpKU1ZhbHVl
IHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIFRlc3RPdmUKIHsKICAgICBpZiAoIWltcGwpCiAgICAgICAgIHJldHVybiBqc051bGwoKTsK
LSAgICBpZiAoSlNWYWx1ZSByZXN1bHQgPSBnZXRFeGlzdGluZ1dyYXBwZXI8SlNUZXN0T3Zlcmxv
YWRlZENvbnN0cnVjdG9ycz4oZXhlYywgaW1wbCkpIHJldHVybiByZXN1bHQ7CisgICAgaWYgKEpT
VmFsdWUgcmVzdWx0ID0gZ2V0RXhpc3RpbmdXcmFwcGVyPEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1
Y3RvcnM+KGV4ZWMsIGltcGwpKQorICAgICAgICByZXR1cm4gcmVzdWx0OwogCiAjaWYgRU5BQkxF
KEJJTkRJTkdfSU5URUdSSVRZKQogICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJl
aW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5o
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnMuaAppbmRleCBkZmE4MmE0Li5kNmVmMWNjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0
cnVjdG9ycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmgKQEAgLTU1LDcgKzU1LDEzIEBAIHB1YmxpYzoK
ICAgICBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyogaW1wbCgpIGNvbnN0IHsgcmV0dXJuIG1f
aW1wbDsgfQogICAgIHZvaWQgcmVsZWFzZUltcGwoKSB7IG1faW1wbC0+ZGVyZWYoKTsgbV9pbXBs
ID0gMDsgfQogCi0gICAgdm9pZCByZWxlYXNlSW1wbElmTm90TnVsbCgpIHsgaWYgKG1faW1wbCkg
eyBtX2ltcGwtPmRlcmVmKCk7IG1faW1wbCA9IDA7IH0gfQorICAgIHZvaWQgcmVsZWFzZUltcGxJ
Zk5vdE51bGwoKQorICAgIHsKKyAgICAgICAgaWYgKG1faW1wbCkgeworICAgICAgICAgICAgbV9p
bXBsLT5kZXJlZigpOworICAgICAgICAgICAgbV9pbXBsID0gMDsKKyAgICAgICAgfQorICAgIH0K
IAogcHJpdmF0ZToKICAgICBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyogbV9pbXBsOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNw
cAppbmRleCBjZTdmY2ZmLi4zNGI0NGRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcApAQCAtMjg2LDcgKzI4Niw4IEBAIEpT
Qzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBUZXN0U2VyCiB7CiAgICAgaWYgKCFpbXBsKQogICAgICAgICByZXR1cm4g
anNOdWxsKCk7Ci0gICAgaWYgKEpTVmFsdWUgcmVzdWx0ID0gZ2V0RXhpc3RpbmdXcmFwcGVyPEpT
VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZT4oZXhlYywgaW1wbCkpIHJldHVybiBy
ZXN1bHQ7CisgICAgaWYgKEpTVmFsdWUgcmVzdWx0ID0gZ2V0RXhpc3RpbmdXcmFwcGVyPEpTVGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZT4oZXhlYywgaW1wbCkpCisgICAgICAgIHJl
dHVybiByZXN1bHQ7CiAKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCiAgICAgdm9pZCog
YWN0dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2Uu
aAppbmRleCAxZjMzZDE1Li5jMmM2MzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oCkBAIC02Miw3ICs2MiwxMyBAQCBwdWJsaWM6
CiAgICAgVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSogaW1wbCgpIGNvbnN0IHsg
cmV0dXJuIG1faW1wbDsgfQogICAgIHZvaWQgcmVsZWFzZUltcGwoKSB7IG1faW1wbC0+ZGVyZWYo
KTsgbV9pbXBsID0gMDsgfQogCi0gICAgdm9pZCByZWxlYXNlSW1wbElmTm90TnVsbCgpIHsgaWYg
KG1faW1wbCkgeyBtX2ltcGwtPmRlcmVmKCk7IG1faW1wbCA9IDA7IH0gfQorICAgIHZvaWQgcmVs
ZWFzZUltcGxJZk5vdE51bGwoKQorICAgIHsKKyAgICAgICAgaWYgKG1faW1wbCkgeworICAgICAg
ICAgICAgbV9pbXBsLT5kZXJlZigpOworICAgICAgICAgICAgbV9pbXBsID0gMDsKKyAgICAgICAg
fQorICAgIH0KIAogcHJpdmF0ZToKICAgICBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJm
YWNlKiBtX2ltcGw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcAppbmRleCAwNmVlNTU4Li42MGUyNjI0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
VHlwZWRlZnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RUeXBlZGVmcy5jcHAKQEAgLTU5NCw3ICs1OTQsOCBAQCBKU0M6OkpTVmFsdWUgdG9K
UyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
VGVzdFR5cAogewogICAgIGlmICghaW1wbCkKICAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwotICAg
IGlmIChKU1ZhbHVlIHJlc3VsdCA9IGdldEV4aXN0aW5nV3JhcHBlcjxKU1Rlc3RUeXBlZGVmcz4o
ZXhlYywgaW1wbCkpIHJldHVybiByZXN1bHQ7CisgICAgaWYgKEpTVmFsdWUgcmVzdWx0ID0gZ2V0
RXhpc3RpbmdXcmFwcGVyPEpTVGVzdFR5cGVkZWZzPihleGVjLCBpbXBsKSkKKyAgICAgICAgcmV0
dXJuIHJlc3VsdDsKIAogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKICAgICB2b2lkKiBh
Y3R1YWxWVGFibGVQb2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFR5cGVkZWZzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0VHlwZWRlZnMuaAppbmRleCAyODllYzM4Li4yYTUyZTA1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuaApA
QCAtNTYsNyArNTYsMTMgQEAgcHVibGljOgogICAgIFRlc3RUeXBlZGVmcyogaW1wbCgpIGNvbnN0
IHsgcmV0dXJuIG1faW1wbDsgfQogICAgIHZvaWQgcmVsZWFzZUltcGwoKSB7IG1faW1wbC0+ZGVy
ZWYoKTsgbV9pbXBsID0gMDsgfQogCi0gICAgdm9pZCByZWxlYXNlSW1wbElmTm90TnVsbCgpIHsg
aWYgKG1faW1wbCkgeyBtX2ltcGwtPmRlcmVmKCk7IG1faW1wbCA9IDA7IH0gfQorICAgIHZvaWQg
cmVsZWFzZUltcGxJZk5vdE51bGwoKQorICAgIHsKKyAgICAgICAgaWYgKG1faW1wbCkgeworICAg
ICAgICAgICAgbV9pbXBsLT5kZXJlZigpOworICAgICAgICAgICAgbV9pbXBsID0gMDsKKyAgICAg
ICAgfQorICAgIH0KIAogcHJpdmF0ZToKICAgICBUZXN0VHlwZWRlZnMqIG1faW1wbDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTUZsb2F0
NjRBcnJheUludGVybmFsLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
T2JqQy9ET01GbG9hdDY0QXJyYXlJbnRlcm5hbC5oCmluZGV4IDVkYTJlMzYuLjI4NjI4MTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTUZs
b2F0NjRBcnJheUludGVybmFsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L09iakMvRE9NRmxvYXQ2NEFycmF5SW50ZXJuYWwuaApAQCAtMjksNyArMjksNyBAQAog
I2lmIFdFQktJVF9WRVJTSU9OX01BWF9BTExPV0VEID49IFdFQktJVF9WRVJTSU9OX0xBVEVTVAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xhc3MgRmxvYXQ2NEFycmF5OworY2xhc3MgRmxv
YXQ2NEFycmF5OwogfQogCiBXZWJDb3JlOjpGbG9hdDY0QXJyYXkqIGNvcmUoRE9NRmxvYXQ2NEFy
cmF5ICopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L09iakMvRE9NVGVzdEFjdGl2ZURPTU9iamVjdEludGVybmFsLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0QWN0aXZlRE9NT2JqZWN0SW50ZXJuYWwu
aAppbmRleCA2ZDIxZTM4Li5hYjlkYTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0QWN0aXZlRE9NT2JqZWN0SW50ZXJuYWwuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0QWN0
aXZlRE9NT2JqZWN0SW50ZXJuYWwuaApAQCAtMjksNyArMjksNyBAQAogI2lmIFdFQktJVF9WRVJT
SU9OX01BWF9BTExPV0VEID49IFdFQktJVF9WRVJTSU9OX0xBVEVTVAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0gICAgY2xhc3MgVGVzdEFjdGl2ZURPTU9iamVjdDsKK2NsYXNzIFRlc3RBY3RpdmVE
T01PYmplY3Q7CiB9CiAKIFdlYkNvcmU6OlRlc3RBY3RpdmVET01PYmplY3QqIGNvcmUoRE9NVGVz
dEFjdGl2ZURPTU9iamVjdCAqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RDYWxsYmFja0ludGVybmFsLmggYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0Q2FsbGJhY2tJbnRlcm5hbC5o
CmluZGV4IGQ4ZWE5NDAuLmExNTdlOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RDYWxsYmFja0ludGVybmFsLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdENhbGxiYWNrSW50
ZXJuYWwuaApAQCAtMjksNyArMjksNyBAQAogI2lmIFdFQktJVF9WRVJTSU9OX01BWF9BTExPV0VE
ID49IFdFQktJVF9WRVJTSU9OX0xBVEVTVAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xh
c3MgVGVzdENhbGxiYWNrOworY2xhc3MgVGVzdENhbGxiYWNrOwogfQogCiBXZWJDb3JlOjpUZXN0
Q2FsbGJhY2sqIGNvcmUoRE9NVGVzdENhbGxiYWNrICopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdEN1c3RvbU5hbWVkR2V0dGVy
SW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RP
TVRlc3RDdXN0b21OYW1lZEdldHRlckludGVybmFsLmgKaW5kZXggZTliOTk5Ni4uMzYxMDY1NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9N
VGVzdEN1c3RvbU5hbWVkR2V0dGVySW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0Q3VzdG9tTmFtZWRHZXR0ZXJJbnRlcm5hbC5o
CkBAIC0yOSw3ICsyOSw3IEBACiAjaWYgV0VCS0lUX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gV0VC
S0lUX1ZFUlNJT05fTEFURVNUCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICBjbGFzcyBUZXN0
Q3VzdG9tTmFtZWRHZXR0ZXI7CitjbGFzcyBUZXN0Q3VzdG9tTmFtZWRHZXR0ZXI7CiB9CiAKIFdl
YkNvcmU6OlRlc3RDdXN0b21OYW1lZEdldHRlciogY29yZShET01UZXN0Q3VzdG9tTmFtZWRHZXR0
ZXIgKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
T2JqQy9ET01UZXN0RXZlbnRDb25zdHJ1Y3RvckludGVybmFsLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0RXZlbnRDb25zdHJ1Y3RvckludGVybmFs
LmgKaW5kZXggMmFhYzhmZi4uODA5OGY5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdEV2ZW50Q29uc3RydWN0b3JJbnRlcm5hbC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RF
dmVudENvbnN0cnVjdG9ySW50ZXJuYWwuaApAQCAtMjksNyArMjksNyBAQAogI2lmIFdFQktJVF9W
RVJTSU9OX01BWF9BTExPV0VEID49IFdFQktJVF9WRVJTSU9OX0xBVEVTVAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7Ci0gICAgY2xhc3MgVGVzdEV2ZW50Q29uc3RydWN0b3I7CitjbGFzcyBUZXN0RXZl
bnRDb25zdHJ1Y3RvcjsKIH0KIAogV2ViQ29yZTo6VGVzdEV2ZW50Q29uc3RydWN0b3IqIGNvcmUo
RE9NVGVzdEV2ZW50Q29uc3RydWN0b3IgKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0RXZlbnRUYXJnZXRJbnRlcm5hbC5oIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdEV2ZW50VGFy
Z2V0SW50ZXJuYWwuaAppbmRleCBkNGY2NThkLi5jYjAzNDk5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0RXZlbnRUYXJnZXRJbnRl
cm5hbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RP
TVRlc3RFdmVudFRhcmdldEludGVybmFsLmgKQEAgLTI5LDcgKzI5LDcgQEAKICNpZiBXRUJLSVRf
VkVSU0lPTl9NQVhfQUxMT1dFRCA+PSBXRUJLSVRfVkVSU0lPTl9MQVRFU1QKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewotICAgIGNsYXNzIFRlc3RFdmVudFRhcmdldDsKK2NsYXNzIFRlc3RFdmVudFRh
cmdldDsKIH0KIAogV2ViQ29yZTo6VGVzdEV2ZW50VGFyZ2V0KiBjb3JlKERPTVRlc3RFdmVudFRh
cmdldCAqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9PYmpDL0RPTVRlc3RFeGNlcHRpb25JbnRlcm5hbC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdEV4Y2VwdGlvbkludGVybmFsLmgKaW5kZXggNTRm
MzhiYy4uZTM3MWJjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L09iakMvRE9NVGVzdEV4Y2VwdGlvbkludGVybmFsLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdEV4Y2VwdGlvbkludGVybmFsLmgK
QEAgLTI5LDcgKzI5LDcgQEAKICNpZiBXRUJLSVRfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSBXRUJL
SVRfVkVSU0lPTl9MQVRFU1QKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIGNsYXNzIFRlc3RF
eGNlcHRpb247CitjbGFzcyBUZXN0RXhjZXB0aW9uOwogfQogCiBXZWJDb3JlOjpUZXN0RXhjZXB0
aW9uKiBjb3JlKERPTVRlc3RFeGNlcHRpb24gKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0SW50ZXJmYWNlSW50ZXJuYWwuaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RJbnRlcmZh
Y2VJbnRlcm5hbC5oCmluZGV4IGZlZjYwYTMuLjkyODZhNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RJbnRlcmZhY2VJbnRlcm5h
bC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRl
c3RJbnRlcmZhY2VJbnRlcm5hbC5oCkBAIC0yOSw3ICsyOSw3IEBACiAjaWYgV0VCS0lUX1ZFUlNJ
T05fTUFYX0FMTE9XRUQgPj0gV0VCS0lUX1ZFUlNJT05fTEFURVNUCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKLSAgICBjbGFzcyBUZXN0SW50ZXJmYWNlOworY2xhc3MgVGVzdEludGVyZmFjZTsKIH0K
IAogV2ViQ29yZTo6VGVzdEludGVyZmFjZSogY29yZShET01UZXN0SW50ZXJmYWNlICopOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVz
dE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJJbnRlcm5hbC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJJbnRlcm5h
bC5oCmluZGV4IGIxNDIxYTMuLjMwN2FjODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVySW50
ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9E
T01UZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckludGVybmFsLmgKQEAgLTI5LDcgKzI5LDcgQEAK
ICNpZiBXRUJLSVRfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSBXRUJLSVRfVkVSU0lPTl9MQVRFU1QK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIGNsYXNzIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyOworY2xhc3MgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI7CiB9CiAKIFdlYkNvcmU6OlRl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKiBjb3JlKERPTVRlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyICopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L09iakMvRE9NVGVzdE5hbWVkQ29uc3RydWN0b3JJbnRlcm5hbC5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE5hbWVkQ29uc3RydWN0b3JJbnRlcm5h
bC5oCmluZGV4IDViNDkwNGIuLjY5ODQ5Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3ROYW1lZENvbnN0cnVjdG9ySW50ZXJuYWwu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0
TmFtZWRDb25zdHJ1Y3RvckludGVybmFsLmgKQEAgLTI5LDcgKzI5LDcgQEAKICNpZiBXRUJLSVRf
VkVSU0lPTl9NQVhfQUxMT1dFRCA+PSBXRUJLSVRfVkVSU0lPTl9MQVRFU1QKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewotICAgIGNsYXNzIFRlc3ROYW1lZENvbnN0cnVjdG9yOworY2xhc3MgVGVzdE5h
bWVkQ29uc3RydWN0b3I7CiB9CiAKIFdlYkNvcmU6OlRlc3ROYW1lZENvbnN0cnVjdG9yKiBjb3Jl
KERPTVRlc3ROYW1lZENvbnN0cnVjdG9yICopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE5vZGVJbnRlcm5hbC5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE5vZGVJbnRlcm5hbC5o
CmluZGV4IGZlZjI3NTcuLjNiYzk2NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3ROb2RlSW50ZXJuYWwuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0Tm9kZUludGVybmFsLmgK
QEAgLTI5LDcgKzI5LDcgQEAKICNpZiBXRUJLSVRfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSBXRUJL
SVRfVkVSU0lPTl9MQVRFU1QKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIGNsYXNzIFRlc3RO
b2RlOworY2xhc3MgVGVzdE5vZGU7CiB9CiAKIFdlYkNvcmU6OlRlc3ROb2RlKiBjb3JlKERPTVRl
c3ROb2RlICopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L09iakMvRE9NVGVzdE9iakludGVybmFsLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqSW50ZXJuYWwuaAppbmRleCBjMjRlYTg0Li4wYjQz
MDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2Jq
Qy9ET01UZXN0T2JqSW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqSW50ZXJuYWwuaApAQCAtMjksNyArMjksNyBAQAogI2lm
IFdFQktJVF9WRVJTSU9OX01BWF9BTExPV0VEID49IFdFQktJVF9WRVJTSU9OX0xBVEVTVAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xhc3MgVGVzdE9iajsKK2NsYXNzIFRlc3RPYmo7CiB9
CiAKIFdlYkNvcmU6OlRlc3RPYmoqIGNvcmUoRE9NVGVzdE9iaiAqKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPdmVybG9hZGVk
Q29uc3RydWN0b3JzSW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9PYmpDL0RPTVRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzSW50ZXJuYWwuaAppbmRleCA4
ZmVjYzgxLi45ZWU2YzAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvT2JqQy9ET01UZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc0ludGVybmFsLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnNJbnRlcm5hbC5oCkBAIC0yOSw3ICsyOSw3IEBACiAjaWYgV0VCS0lU
X1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gV0VCS0lUX1ZFUlNJT05fTEFURVNUCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKLSAgICBjbGFzcyBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yczsKK2NsYXNz
IFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzOwogfQogCiBXZWJDb3JlOjpUZXN0T3ZlcmxvYWRl
ZENvbnN0cnVjdG9ycyogY29yZShET01UZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyAqKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRl
c3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VJbnRlcm5hbC5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZUludGVybmFsLmgKaW5kZXggMzljNDBjNS4uMzAyYThhYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUludGVybmFsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVy
ZmFjZUludGVybmFsLmgKQEAgLTI5LDcgKzI5LDcgQEAKICNpZiBXRUJLSVRfVkVSU0lPTl9NQVhf
QUxMT1dFRCA+PSBXRUJLSVRfVkVSU0lPTl9MQVRFU1QKIAogbmFtZXNwYWNlIFdlYkNvcmUgewot
ICAgIGNsYXNzIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U7CitjbGFzcyBUZXN0
U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOwogfQogCiBXZWJDb3JlOjpUZXN0U2VyaWFs
aXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlKiBjb3JlKERPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFs
dWVJbnRlcmZhY2UgKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvT2JqQy9ET01UZXN0VHlwZWRlZnNJbnRlcm5hbC5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdFR5cGVkZWZzSW50ZXJuYWwuaAppbmRl
eCBlZGE4YmMzLi5kMzk0YTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0VHlwZWRlZnNJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RUeXBlZGVmc0ludGVybmFs
LmgKQEAgLTI5LDcgKzI5LDcgQEAKICNpZiBXRUJLSVRfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSBX
RUJLSVRfVkVSU0lPTl9MQVRFU1QKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIGNsYXNzIFRl
c3RUeXBlZGVmczsKK2NsYXNzIFRlc3RUeXBlZGVmczsKIH0KIAogV2ViQ29yZTo6VGVzdFR5cGVk
ZWZzKiBjb3JlKERPTVRlc3RUeXBlZGVmcyAqKTsK
</data>
<flag name="review"
          id="222788"
          type_id="1"
          status="+"
          setter="haraken"
    />
    <flag name="commit-queue"
          id="222789"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201466</attachid>
            <date>2013-05-11 11:24:21 -0700</date>
            <delta_ts>2013-05-11 12:07:14 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>115961_bindings_style.patch</filename>
            <type>text/plain</type>
            <size>47833</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyNjQ4OTJkLi41OGI1Y2NkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTE4
IEBACisyMDEzLTA1LTExICBDaHJpc3RvcGhlIER1bWV6ICA8Y2guZHVtZXpAc2lzYS5zYW1zdW5n
LmNvbT4KKworICAgICAgICBGaXggc2V2ZXJhbCBzdHlsZSB3YXJuaW5ncyBpbiBnZW5lcmF0ZWQg
YmluZGluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExNTk2MQorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbnRhcm8gSGFyYS4KKworICAgICAgICBG
aXggc2V2ZXJhbCBzdHlsZSBlcnJvcnMgaW4gdGhlIGJpbmRpbmdzIGdlbmVyYXRlZCB1bmRlcgor
ICAgICAgICBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JDUFAucG06CisgICAgICAgIChHZW5lcmF0ZUltcGxlbWVudGF0
aW9uKToKKyAgICAgICAgKFdyaXRlRGF0YSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZW5lcmF0ZUhlYWRlcik6CisgICAgICAgIChH
ZW5lcmF0ZUltcGxlbWVudGF0aW9uKToKKyAgICAgICAgKFdyaXRlRGF0YSk6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbToKKyAgICAgICAgKEdlbmVyYXRl
SGVhZGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTUZsb2F0
NjRBcnJheS5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01U
ZXN0QWN0aXZlRE9NT2JqZWN0LmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
Q1BQL1dlYkRPTVRlc3RDYWxsYmFjay5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0NQUC9XZWJET01UZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdEV2ZW50VGFyZ2V0LmNw
cDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RFeGNlcHRp
b24uY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdElu
dGVyZmFjZS5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01U
ZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0NQUC9XZWJET01UZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0Tm9kZS5jcHA6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0T2JqLmNwcDoKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNw
cDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9DUFAvV2ViRE9NVGVzdFR5cGVkZWZzLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVE
T01PYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdEFjdGl2ZURPTU9iamVjdDo6cmVs
ZWFzZUltcGxJZk5vdE51bGwpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RDdXN0b21OYW1lZEdldHRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdEN1c3RvbU5hbWVkR2V0dGVyOjpyZWxlYXNlSW1w
bElmTm90TnVsbCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2
ZW50Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkpTVGVzdEV2ZW50Q29uc3RydWN0b3I6OnJlbGVhc2VJbXBsSWZOb3ROdWxs
KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0Lmg6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RF
dmVudFRhcmdldDo6cmVsZWFzZUltcGxJZk5vdE51bGwpOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9K
Uyk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5o
OgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0RXhjZXB0aW9uOjpyZWxlYXNlSW1wbElmTm90TnVs
bCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmg6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RJbnRl
cmZhY2U6OnJlbGVhc2VJbXBsSWZOb3ROdWxsKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjp0b0pTKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lci5oOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lcjo6cmVsZWFzZUltcGxJZk5vdE51bGwpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RO
YW1lZENvbnN0cnVjdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3ROYW1lZENvbnN0cnVj
dG9yOjpyZWxlYXNlSW1wbElmTm90TnVsbCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE9iai5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmg6CisgICAgICAgIChXZWJDb3Jl
OjpKU1Rlc3RPYmo6OnJlbGVhc2VJbXBsSWZOb3ROdWxsKToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp0b0pTKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5oOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0T3Zl
cmxvYWRlZENvbnN0cnVjdG9yczo6cmVsZWFzZUltcGxJZk5vdE51bGwpOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZh
Y2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjpyZWxl
YXNlSW1wbElmTm90TnVsbCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFR5cGVkZWZzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5oOgorICAgICAgICAoV2ViQ29y
ZTo6SlNUZXN0VHlwZWRlZnM6OnJlbGVhc2VJbXBsSWZOb3ROdWxsKToKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01GbG9hdDY0QXJyYXlJbnRlcm5hbC5oOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVz
dEFjdGl2ZURPTU9iamVjdEludGVybmFsLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0Q2FsbGJhY2tJbnRlcm5hbC5oOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMv
RE9NVGVzdEN1c3RvbU5hbWVkR2V0dGVySW50ZXJuYWwuaDoKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RFdmVudENvbnN0cnVj
dG9ySW50ZXJuYWwuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RFdmVudFRhcmdldEludGVybmFsLmg6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0RXhj
ZXB0aW9uSW50ZXJuYWwuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RJbnRlcmZhY2VJbnRlcm5hbC5oOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE1l
ZGlhUXVlcnlMaXN0TGlzdGVuZXJJbnRlcm5hbC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE5hbWVkQ29uc3RydWN0b3JJ
bnRlcm5hbC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L09iakMvRE9NVGVzdE5vZGVJbnRlcm5hbC5oOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iakludGVybmFsLmg6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2Jq
Qy9ET01UZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc0ludGVybmFsLmg6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0U2VyaWFs
aXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlSW50ZXJuYWwuaDoKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RUeXBlZGVmc0ludGVy
bmFsLmg6CisgICAgICAgIChXZWJDb3JlKToKKwogMjAxMy0wNS0xMSAgQW5kZXJzIENhcmxzc29u
ICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgaXQgYSBidWlsZCBlcnJvciB0
byBwdXQgaW52YWxpZCBDKysgc3ltYm9sIG5hbWVzIGluIFdlYkNvcmUuZXhwLmluCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JDUFAucG0g
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JDUFAucG0KaW5k
ZXggZTY1ZmMyYS4uM2M1Zjk5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yQ1BQLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckNQUC5wbQpAQCAtNjE3LDEwICs2MTcsMTAgQEAgc3ViIEdl
bmVyYXRlSW1wbGVtZW50YXRpb24KIAogICAgICRpbXBsSW5jbHVkZXN7IldlYkV4Y2VwdGlvbkhh
bmRsZXIuaCJ9ID0gMTsKICAgICAkaW1wbEluY2x1ZGVzeyIkaW1wbENsYXNzTmFtZS5oIn0gPSAx
OwotICAgIEBpbXBsQ29udGVudCA9ICgpOworICAgICRpbXBsSW5jbHVkZXN7Ind0Zi9HZXRQdHIu
aCJ9ID0gMTsKKyAgICAkaW1wbEluY2x1ZGVzeyJ3dGYvUmVmUHRyLmgifSA9IDE7CiAKLSAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+XG4iKTsKLSAgICBwdXNo
KEBpbXBsQ29udGVudCwgIiNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+XG5cbiIpOworICAgIEBpbXBs
Q29udGVudCA9ICgpOwogCiAgICAgIyBQcml2YXRlIGRhdGFzdHJ1Y3R1cmUsIGVuY2Fwc3VsYXRp
bmcgV2ViQ29yZSB0eXBlcwogICAgIGlmICgkYmFzZUNsYXNzIGVxICJXZWJET01PYmplY3QiKSB7
CkBAIC05ODAsMTEgKzk4MCwyMSBAQCBzdWIgV3JpdGVEYXRhCiAgICAgIyBVcGRhdGUgYSAuY3Bw
IGZpbGUgaWYgdGhlIGNvbnRlbnRzIGFyZSBjaGFuZ2VkLgogICAgICRjb250ZW50cyA9IGpvaW4g
IiIsIEBpbXBsQ29udGVudEhlYWRlcjsKIAotICAgIGZvcmVhY2ggbXkgJGluY2x1ZGUgKHNvcnQg
a2V5cyglaW1wbEluY2x1ZGVzKSkgeworICAgIG15IEBpbmNsdWRlczsKKyAgICBmb3JlYWNoIG15
ICRpbmNsdWRlIChrZXlzKCVpbXBsSW5jbHVkZXMpKSB7CisgICAgICAgIGlmICgkaW5jbHVkZSA9
fiAvXnd0ZlwvLykgeworICAgICAgICAgICAgcHVzaChAaW5jbHVkZXMsICI8JGluY2x1ZGU+Iik7
CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBwdXNoKEBpbmNsdWRlcywgIlwiJGluY2x1
ZGVcIiIpOworICAgICAgICB9CisgICAgfQorCisgICAgZm9yZWFjaCBteSAkaW5jbHVkZSAoc29y
dCBAaW5jbHVkZXMpIHsKICAgICAgICAgIyAiY2xhc3NOYW1lLmgiIGlzIGFscmVhZHkgaW5jbHVk
ZWQgcmlnaHQgYWZ0ZXIgY29uZmlnLmgsIHNpbGVuY2UgY2hlY2std2Via2l0LXN0eWxlCi0gICAg
ICAgIG5leHQgaWYgJGluY2x1ZGUgZXEgIiRuYW1lLmgiOwotICAgICAgICAkY29udGVudHMgLj0g
IiNpbmNsdWRlIFwiJGluY2x1ZGVcIlxuIjsKKyAgICAgICAgbmV4dCBpZiAkaW5jbHVkZSBlcSAi
XCIkcHJlZml4JG5hbWUuaFwiIjsKKyAgICAgICAgJGNvbnRlbnRzIC49ICIjaW5jbHVkZSAkaW5j
bHVkZVxuIjsKICAgICB9CisgICAgJGNvbnRlbnRzIC49ICJcbiI7CiAKICAgICAkY29udGVudHMg
Lj0gam9pbiAiIiwgQGltcGxDb250ZW50OwogICAgICRjb2RlR2VuZXJhdG9yLT5VcGRhdGVGaWxl
KCRpbXBsRmlsZU5hbWUsICRjb250ZW50cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDI0ZDVjNDIuLmFjYTlkOGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtCkBAIC05MTgsNyArOTE4LDEzIEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgIGlmICghJGhh
c1BhcmVudCkgewogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgICRpbXBsVHlwZSog
aW1wbCgpIGNvbnN0IHsgcmV0dXJuIG1faW1wbDsgfVxuIik7CiAgICAgICAgIHB1c2goQGhlYWRl
ckNvbnRlbnQsICIgICAgdm9pZCByZWxlYXNlSW1wbCgpIHsgbV9pbXBsLT5kZXJlZigpOyBtX2lt
cGwgPSAwOyB9XG5cbiIpOwotICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHZvaWQg
cmVsZWFzZUltcGxJZk5vdE51bGwoKSB7IGlmIChtX2ltcGwpIHsgbV9pbXBsLT5kZXJlZigpOyBt
X2ltcGwgPSAwOyB9IH1cblxuIik7CisgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAg
dm9pZCByZWxlYXNlSW1wbElmTm90TnVsbCgpXG4iKTsKKyAgICAgICAgcHVzaChAaGVhZGVyQ29u
dGVudCwgIiAgICB7XG4iKTsKKyAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICAgICAg
aWYgKG1faW1wbCkge1xuIik7CisgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgICAg
ICAgICBtX2ltcGwtPmRlcmVmKCk7XG4iKTsKKyAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwg
IiAgICAgICAgICAgIG1faW1wbCA9IDA7XG4iKTsKKyAgICAgICAgcHVzaChAaGVhZGVyQ29udGVu
dCwgIiAgICAgICAgfVxuIik7CisgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgfVxu
XG4iKTsKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgInByaXZhdGU6XG4iKTsKICAgICAg
ICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICAkaW1wbFR5cGUqIG1faW1wbDtcbiIpOwogICAg
IH0gZWxzaWYgKCRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0dlbmVyYXRlVG9O
YXRpdmVPYmplY3QifSkgewpAQCAtMjcxMiw5ICsyNzE4LDExIEBAIEVORAogRU5ECiAKICAgICAg
ICAgaWYgKCRzdmdQcm9wZXJ0eVR5cGUpIHsKLSAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50
LCAiICAgIGlmIChKU1ZhbHVlIHJlc3VsdCA9IGdldEV4aXN0aW5nV3JhcHBlcjwkY2xhc3NOYW1l
LCAkaW1wbFR5cGU+KGV4ZWMsIGltcGwpKSByZXR1cm4gcmVzdWx0O1xuIik7CisgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAoSlNWYWx1ZSByZXN1bHQgPSBnZXRFeGlzdGlu
Z1dyYXBwZXI8JGNsYXNzTmFtZSwgJGltcGxUeXBlPihleGVjLCBpbXBsKSlcbiIpOworICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHJldHVybiByZXN1bHQ7XG4iKTsKICAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGlmIChK
U1ZhbHVlIHJlc3VsdCA9IGdldEV4aXN0aW5nV3JhcHBlcjwkY2xhc3NOYW1lPihleGVjLCBpbXBs
KSkgcmV0dXJuIHJlc3VsdDtcbiIpOworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIg
ICAgaWYgKEpTVmFsdWUgcmVzdWx0ID0gZ2V0RXhpc3RpbmdXcmFwcGVyPCRjbGFzc05hbWU+KGV4
ZWMsIGltcGwpKVxuIik7CisgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAg
cmV0dXJuIHJlc3VsdDtcbiIpOwogICAgICAgICB9CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50
LCA8PEVORCkgaWYgJHZ0YWJsZU5hbWVHbnU7CiAKQEAgLTM3NzYsNiArMzc4NCw4IEBAIHN1YiBX
cml0ZURhdGEKICAgICAgICAgcHVzaCBAaW5jbHVkZXMsICRpbmNsdWRlOwogICAgIH0KICAgICBm
b3JlYWNoIG15ICRpbmNsdWRlIChzb3J0IEBpbmNsdWRlcykgeworICAgICAgICAjICJKU0NsYXNz
TmFtZS5oIiBpcyBhbHJlYWR5IGluY2x1ZGVkIHJpZ2h0IGFmdGVyIGNvbmZpZy5oLgorICAgICAg
ICBuZXh0IGlmICRpbmNsdWRlIGVxICJcIiRwcmVmaXgkbmFtZS5oXCIiOwogICAgICAgICAkY29u
dGVudHMgLj0gIiNpbmNsdWRlICRpbmNsdWRlXG4iOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbSBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0KaW5kZXggMTZk
NTJkMi4uYjM0OTJhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9yT2JqQy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtCkBAIC0xMDE0LDkgKzEwMTQsOSBAQCBzdWIgR2VuZXJh
dGVIZWFkZXIKICAgICAgICAgICAgIHB1c2goQGludGVybmFsSGVhZGVyQ29udGVudCwgIm5hbWVz
cGFjZSBXZWJDb3JlIHtcbiIpOwogICAgICAgICAgICAgJHN0YXJ0ZWROYW1lc3BhY2UgPSAxOwog
ICAgICAgICAgICAgaWYgKCRpbnRlcmZhY2VOYW1lIGVxICJOb2RlIikgewotICAgICAgICAgICAg
ICAgIHB1c2goQGludGVybmFsSGVhZGVyQ29udGVudCwgIiAgICBjbGFzcyBFdmVudFRhcmdldDtc
biAgICBjbGFzcyBOb2RlO1xuIik7CisgICAgICAgICAgICAgICAgcHVzaChAaW50ZXJuYWxIZWFk
ZXJDb250ZW50LCAiY2xhc3MgRXZlbnRUYXJnZXQ7XG4gICAgY2xhc3MgTm9kZTtcbiIpOwogICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBwdXNoKEBpbnRlcm5hbEhlYWRlckNv
bnRlbnQsICIgICAgY2xhc3MgJGltcGxDbGFzc05hbWU7XG4iKTsKKyAgICAgICAgICAgICAgICBw
dXNoKEBpbnRlcm5hbEhlYWRlckNvbnRlbnQsICJjbGFzcyAkaW1wbENsYXNzTmFtZTtcbiIpOwog
ICAgICAgICAgICAgfQogICAgICAgICAgICAgcHVzaChAaW50ZXJuYWxIZWFkZXJDb250ZW50LCAi
fVxuXG4iKTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0NQUC9XZWJET01GbG9hdDY0QXJyYXkuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01GbG9hdDY0QXJyYXkuY3BwCmluZGV4IDg5
MTZlMjcuLmRkNzY1ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9DUFAvV2ViRE9NRmxvYXQ2NEFycmF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTUZsb2F0NjRBcnJheS5jcHAKQEAgLTIyLDYg
KzIyLDcgQEAKICNpbmNsdWRlICJXZWJET01GbG9hdDY0QXJyYXkuaCIKIAogI2luY2x1ZGUgIkZs
b2F0MzJBcnJheS5oIgorI2luY2x1ZGUgIkZsb2F0NjRBcnJheS5oIgogI2luY2x1ZGUgIkludDMy
QXJyYXkuaCIKICNpbmNsdWRlICJXZWJET01GbG9hdDMyQXJyYXkuaCIKICNpbmNsdWRlICJXZWJE
T01JbnQzMkFycmF5LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RBY3RpdmVET01PYmplY3QuY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0QWN0aXZlRE9NT2JqZWN0LmNw
cAppbmRleCAyM2UyYmI2Li5iOWI5MmM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RBY3RpdmVET01PYmplY3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdEFjdGl2
ZURPTU9iamVjdC5jcHAKQEAgLTIzLDEyICsyMywxMyBAQAogCiAjaW5jbHVkZSAiS1VSTC5oIgog
I2luY2x1ZGUgIk5vZGUuaCIKKyNpbmNsdWRlICJUZXN0QWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5j
bHVkZSAiV2ViRE9NTm9kZS5oIgogI2luY2x1ZGUgIldlYkRPTVN0cmluZy5oIgogI2luY2x1ZGUg
IldlYkV4Y2VwdGlvbkhhbmRsZXIuaCIKLSNpbmNsdWRlICJ3dGYvdGV4dC9BdG9taWNTdHJpbmcu
aCIKICNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCiBzdHJ1Y3QgV2ViRE9NVGVzdEFjdGl2
ZURPTU9iamVjdDo6V2ViRE9NVGVzdEFjdGl2ZURPTU9iamVjdFByaXZhdGUgewogICAgIFdlYkRP
TVRlc3RBY3RpdmVET01PYmplY3RQcml2YXRlKFdlYkNvcmU6OlRlc3RBY3RpdmVET01PYmplY3Qq
IG9iamVjdCA9IDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvQ1BQL1dlYkRPTVRlc3RDYWxsYmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RDYWxsYmFjay5jcHAKaW5kZXggYTY2ZjE2Ny4u
ZmUzNWQyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0NQUC9XZWJET01UZXN0Q2FsbGJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdENhbGxiYWNrLmNwcApAQCAtMjgsMTUgKzI4LDE2
IEBACiAjaW5jbHVkZSAiRmxvYXQzMkFycmF5LmgiCiAjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1
ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgorI2luY2x1ZGUgIlRlc3RDYWxsYmFjay5oIgog
I2luY2x1ZGUgIlRlc3ROb2RlLmgiCiAjaW5jbHVkZSAiV2ViRE9NRE9NU3RyaW5nTGlzdC5oIgog
I2luY2x1ZGUgIldlYkRPTUZsb2F0MzJBcnJheS5oIgogI2luY2x1ZGUgIldlYkRPTVN0cmluZy5o
IgogI2luY2x1ZGUgIldlYkRPTVRlc3ROb2RlLmgiCiAjaW5jbHVkZSAiV2ViRXhjZXB0aW9uSGFu
ZGxlci5oIgotI2luY2x1ZGUgInd0Zi90ZXh0L0F0b21pY1N0cmluZy5oIgogI2luY2x1ZGUgPHd0
Zi9HZXRQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL3RleHQv
QXRvbWljU3RyaW5nLmg+CiAKIHN0cnVjdCBXZWJET01UZXN0Q2FsbGJhY2s6OldlYkRPTVRlc3RD
YWxsYmFja1ByaXZhdGUgewogICAgIFdlYkRPTVRlc3RDYWxsYmFja1ByaXZhdGUoV2ViQ29yZTo6
VGVzdENhbGxiYWNrKiBvYmplY3QgPSAwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0Q3VzdG9t
TmFtZWRHZXR0ZXIuY3BwCmluZGV4IDI0NWMwZDIuLjUzZDI1NWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdEN1c3RvbU5hbWVk
R2V0dGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQ
L1dlYkRPTVRlc3RDdXN0b21OYW1lZEdldHRlci5jcHAKQEAgLTIyLDExICsyMiwxMiBAQAogI2lu
Y2x1ZGUgIldlYkRPTVRlc3RDdXN0b21OYW1lZEdldHRlci5oIgogCiAjaW5jbHVkZSAiS1VSTC5o
IgorI2luY2x1ZGUgIlRlc3RDdXN0b21OYW1lZEdldHRlci5oIgogI2luY2x1ZGUgIldlYkRPTVN0
cmluZy5oIgogI2luY2x1ZGUgIldlYkV4Y2VwdGlvbkhhbmRsZXIuaCIKLSNpbmNsdWRlICJ3dGYv
dGV4dC9BdG9taWNTdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCiBzdHJ1
Y3QgV2ViRE9NVGVzdEN1c3RvbU5hbWVkR2V0dGVyOjpXZWJET01UZXN0Q3VzdG9tTmFtZWRHZXR0
ZXJQcml2YXRlIHsKICAgICBXZWJET01UZXN0Q3VzdG9tTmFtZWRHZXR0ZXJQcml2YXRlKFdlYkNv
cmU6OlRlc3RDdXN0b21OYW1lZEdldHRlciogb2JqZWN0ID0gMCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdEV2ZW50Q29uc3Ry
dWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJE
T01UZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAKaW5kZXggODA3MzYwMC4uMjc4MDZmMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0
RXZlbnRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0NQUC9XZWJET01UZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAKQEAgLTIyLDExICsyMiwx
MiBAQAogI2luY2x1ZGUgIldlYkRPTVRlc3RFdmVudENvbnN0cnVjdG9yLmgiCiAKICNpbmNsdWRl
ICJLVVJMLmgiCisjaW5jbHVkZSAiVGVzdEV2ZW50Q29uc3RydWN0b3IuaCIKICNpbmNsdWRlICJX
ZWJET01TdHJpbmcuaCIKICNpbmNsdWRlICJXZWJFeGNlcHRpb25IYW5kbGVyLmgiCi0jaW5jbHVk
ZSAid3RmL3RleHQvQXRvbWljU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4K
IAogc3RydWN0IFdlYkRPTVRlc3RFdmVudENvbnN0cnVjdG9yOjpXZWJET01UZXN0RXZlbnRDb25z
dHJ1Y3RvclByaXZhdGUgewogICAgIFdlYkRPTVRlc3RFdmVudENvbnN0cnVjdG9yUHJpdmF0ZShX
ZWJDb3JlOjpUZXN0RXZlbnRDb25zdHJ1Y3Rvciogb2JqZWN0ID0gMCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdEV2ZW50VGFy
Z2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9N
VGVzdEV2ZW50VGFyZ2V0LmNwcAppbmRleCAzYTJjYjRmLi5mM2VhYzBiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RFdmVudFRh
cmdldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9X
ZWJET01UZXN0RXZlbnRUYXJnZXQuY3BwCkBAIC0yNCwxNCArMjQsMTUgQEAKICNpbmNsdWRlICJF
dmVudC5oIgogI2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRlICJOb2RlLmgiCisjaW5jbHVkZSAi
VGVzdEV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiV2ViRE9NRXZlbnQuaCIKICNpbmNsdWRlICJX
ZWJET01Ob2RlLmgiCiAjaW5jbHVkZSAiV2ViRE9NU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViRXhj
ZXB0aW9uSGFuZGxlci5oIgogI2luY2x1ZGUgIldlYk5hdGl2ZUV2ZW50TGlzdGVuZXIuaCIKLSNp
bmNsdWRlICJ3dGYvdGV4dC9BdG9taWNTdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmlu
Zy5oPgogCiBXZWJET01UZXN0RXZlbnRUYXJnZXQ6OldlYkRPTVRlc3RFdmVudFRhcmdldCgpCiAg
ICAgOiBXZWJET01FdmVudFRhcmdldCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RFeGNlcHRpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0RXhjZXB0aW9uLmNwcApp
bmRleCA2ZWQ1OTI3Li45MjM1YjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RFeGNlcHRpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdEV4Y2VwdGlvbi5jcHAK
QEAgLTIyLDExICsyMiwxMiBAQAogI2luY2x1ZGUgIldlYkRPTVRlc3RFeGNlcHRpb24uaCIKIAog
I2luY2x1ZGUgIktVUkwuaCIKKyNpbmNsdWRlICJUZXN0RXhjZXB0aW9uLmgiCiAjaW5jbHVkZSAi
V2ViRE9NU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViRXhjZXB0aW9uSGFuZGxlci5oIgotI2luY2x1
ZGUgInd0Zi90ZXh0L0F0b21pY1N0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KICNp
bmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+
CiAKIHN0cnVjdCBXZWJET01UZXN0RXhjZXB0aW9uOjpXZWJET01UZXN0RXhjZXB0aW9uUHJpdmF0
ZSB7CiAgICAgV2ViRE9NVGVzdEV4Y2VwdGlvblByaXZhdGUoV2ViQ29yZTo6VGVzdEV4Y2VwdGlv
biogb2JqZWN0ID0gMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9DUFAvV2ViRE9NVGVzdEludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RJbnRlcmZhY2UuY3BwCmluZGV4IGYzNTY0
NmYuLjdhODA1ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9DUFAvV2ViRE9NVGVzdEludGVyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0SW50ZXJmYWNlLmNwcApAQCAtMjYsMTMg
KzI2LDE0IEBACiAKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiTm9kZS5oIgorI2luY2x1
ZGUgIlRlc3RJbnRlcmZhY2UuaCIKICNpbmNsdWRlICJUZXN0U3VwcGxlbWVudGFsLmgiCiAjaW5j
bHVkZSAiV2ViRE9NTm9kZS5oIgogI2luY2x1ZGUgIldlYkRPTVN0cmluZy5oIgogI2luY2x1ZGUg
IldlYkV4Y2VwdGlvbkhhbmRsZXIuaCIKLSNpbmNsdWRlICJ3dGYvdGV4dC9BdG9taWNTdHJpbmcu
aCIKICNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCiBzdHJ1Y3QgV2ViRE9NVGVzdEludGVy
ZmFjZTo6V2ViRE9NVGVzdEludGVyZmFjZVByaXZhdGUgewogICAgIFdlYkRPTVRlc3RJbnRlcmZh
Y2VQcml2YXRlKFdlYkNvcmU6OlRlc3RJbnRlcmZhY2UqIG9iamVjdCA9IDApCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9DUFAvV2ViRE9NVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCmluZGV4IGMyZjgz
YWMuLjM5MjkxMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9DUFAvV2ViRE9NVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE1lZGlhUXVlcnlM
aXN0TGlzdGVuZXIuY3BwCkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSAiV2ViRE9NVGVzdE1l
ZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCIKIAogI2luY2x1ZGUgIk1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXIuaCIKKyNpbmNsdWRlICJUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oIgogI2luY2x1ZGUg
IldlYkRPTU1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCIKICNpbmNsdWRlICJXZWJFeGNlcHRpb25I
YW5kbGVyLmgiCiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0TmFtZWRDb25zdHJ1Y3Rv
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRl
c3ROYW1lZENvbnN0cnVjdG9yLmNwcAppbmRleCBhMDdmOWI2Li5lMGMzNjViIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3ROYW1l
ZENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvQ1BQL1dlYkRPTVRlc3ROYW1lZENvbnN0cnVjdG9yLmNwcApAQCAtMjEsNiArMjEsNyBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYkRPTVRlc3ROYW1lZENvbnN0cnVjdG9y
LmgiCiAKKyNpbmNsdWRlICJUZXN0TmFtZWRDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIldlYkV4
Y2VwdGlvbkhhbmRsZXIuaCIKICNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0NQUC9XZWJET01UZXN0Tm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3ROb2RlLmNwcAppbmRleCA5NmI4NjNkLi5jZTE0NDlhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRP
TVRlc3ROb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
Q1BQL1dlYkRPTVRlc3ROb2RlLmNwcApAQCAtMjEsNiArMjEsNyBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIldlYkRPTVRlc3ROb2RlLmgiCiAKKyNpbmNsdWRlICJUZXN0Tm9kZS5o
IgogI2luY2x1ZGUgIldlYkV4Y2VwdGlvbkhhbmRsZXIuaCIKICNpbmNsdWRlIDx3dGYvR2V0UHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9iai5jcHAKaW5kZXggZDBm
ZGU1MS4uOWQ2MzA4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0NQUC9XZWJET01UZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RPYmouY3BwCkBAIC0zMCw2ICszMCw3IEBACiAj
aW5jbHVkZSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCiAjaW5jbHVkZSAiVGVzdEVudW1UeXBl
LmgiCiAjaW5jbHVkZSAiVGVzdE5vZGUuaCIKKyNpbmNsdWRlICJUZXN0T2JqLmgiCiAjaW5jbHVk
ZSAiV2ViRE9NRGljdGlvbmFyeS5oIgogI2luY2x1ZGUgIldlYkRPTURvY3VtZW50LmgiCiAjaW5j
bHVkZSAiV2ViRE9NTm9kZS5oIgpAQCAtMzgsMTQgKzM5LDEzIEBACiAjaW5jbHVkZSAiV2ViRE9N
U3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViRE9NVGVzdEVudW1UeXBlLmgiCiAjaW5jbHVkZSAiV2Vi
RE9NVGVzdE5vZGUuaCIKLSNpbmNsdWRlICJXZWJET01UZXN0T2JqLmgiCiAjaW5jbHVkZSAiV2Vi
RE9NYm9vbC5oIgogI2luY2x1ZGUgIldlYkV4Y2VwdGlvbkhhbmRsZXIuaCIKICNpbmNsdWRlICJX
ZWJOYXRpdmVFdmVudExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiYm9vbC5oIgotI2luY2x1ZGUgInd0
Zi90ZXh0L0F0b21pY1N0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CiAKIHN0
cnVjdCBXZWJET01UZXN0T2JqOjpXZWJET01UZXN0T2JqUHJpdmF0ZSB7CiAgICAgV2ViRE9NVGVz
dE9ialByaXZhdGUoV2ViQ29yZTo6VGVzdE9iaiogb2JqZWN0ID0gMCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0NQUC9XZWJET01UZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAKaW5kZXggMmFjYTIzYS4u
MTY2YTJlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0NQUC9XZWJET01UZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0T3ZlcmxvYWRlZENvbnN0
cnVjdG9ycy5jcHAKQEAgLTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJXZWJET01UZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5oIgogCisjaW5jbHVkZSAiVGVz
dE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuaCIKICNpbmNsdWRlICJXZWJFeGNlcHRpb25IYW5kbGVy
LmgiCiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9N
VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJ
bnRlcmZhY2UuY3BwCmluZGV4IDg1ZDdmMjguLjczYWE1MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0NQUC9XZWJET01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcApA
QCAtMjYsNiArMjYsNyBAQAogCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnRBcnJheS5oIgogI2luY2x1
ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgorI2luY2x1ZGUgIlRlc3RTZXJpYWxpemVkU2Ny
aXB0VmFsdWVJbnRlcmZhY2UuaCIKICNpbmNsdWRlICJXZWJET01NZXNzYWdlUG9ydEFycmF5Lmgi
CiAjaW5jbHVkZSAiV2ViRXhjZXB0aW9uSGFuZGxlci5oIgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIu
aD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAv
V2ViRE9NVGVzdFR5cGVkZWZzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9DUFAvV2ViRE9NVGVzdFR5cGVkZWZzLmNwcAppbmRleCA4YzQ2YjljLi43NGY3NzNjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRP
TVRlc3RUeXBlZGVmcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0NQUC9XZWJET01UZXN0VHlwZWRlZnMuY3BwCkBAIC0yNCwxMiArMjQsMTMgQEAKICNpbmNs
dWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiU1ZHUG9pbnQuaCIKICNpbmNsdWRlICJTZXJpYWxpemVk
U2NyaXB0VmFsdWUuaCIKKyNpbmNsdWRlICJUZXN0VHlwZWRlZnMuaCIKICNpbmNsdWRlICJXZWJE
T01TVkdQb2ludC5oIgogI2luY2x1ZGUgIldlYkRPTVN0cmluZy5oIgogI2luY2x1ZGUgIldlYkV4
Y2VwdGlvbkhhbmRsZXIuaCIKLSNpbmNsdWRlICJ3dGYvdGV4dC9BdG9taWNTdHJpbmcuaCIKICNp
bmNsdWRlIDx3dGYvR2V0UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUg
PHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCiBzdHJ1Y3QgV2ViRE9NVGVzdFR5cGVkZWZzOjpX
ZWJET01UZXN0VHlwZWRlZnNQcml2YXRlIHsKICAgICBXZWJET01UZXN0VHlwZWRlZnNQcml2YXRl
KFdlYkNvcmU6OlRlc3RUeXBlZGVmcyogb2JqZWN0ID0gMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURP
TU9iamVjdC5jcHAKaW5kZXggODA4NTgzNi4uYThkNmYyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVjdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2
ZURPTU9iamVjdC5jcHAKQEAgLTI0OCw3ICsyNDgsOCBAQCBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6
OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEFj
dAogewogICAgIGlmICghaW1wbCkKICAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwotICAgIGlmIChK
U1ZhbHVlIHJlc3VsdCA9IGdldEV4aXN0aW5nV3JhcHBlcjxKU1Rlc3RBY3RpdmVET01PYmplY3Q+
KGV4ZWMsIGltcGwpKSByZXR1cm4gcmVzdWx0OworICAgIGlmIChKU1ZhbHVlIHJlc3VsdCA9IGdl
dEV4aXN0aW5nV3JhcHBlcjxKU1Rlc3RBY3RpdmVET01PYmplY3Q+KGV4ZWMsIGltcGwpKQorICAg
ICAgICByZXR1cm4gcmVzdWx0OwogCiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQogICAg
IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihp
bXBsKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmgKaW5kZXggMTNjMGQ3Yy4uMTFhYWY3
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEFjdGl2ZURPTU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuaApAQCAtNTUsNyArNTUsMTMgQEAgcHVi
bGljOgogICAgIFRlc3RBY3RpdmVET01PYmplY3QqIGltcGwoKSBjb25zdCB7IHJldHVybiBtX2lt
cGw7IH0KICAgICB2b2lkIHJlbGVhc2VJbXBsKCkgeyBtX2ltcGwtPmRlcmVmKCk7IG1faW1wbCA9
IDA7IH0KIAotICAgIHZvaWQgcmVsZWFzZUltcGxJZk5vdE51bGwoKSB7IGlmIChtX2ltcGwpIHsg
bV9pbXBsLT5kZXJlZigpOyBtX2ltcGwgPSAwOyB9IH0KKyAgICB2b2lkIHJlbGVhc2VJbXBsSWZO
b3ROdWxsKCkKKyAgICB7CisgICAgICAgIGlmIChtX2ltcGwpIHsKKyAgICAgICAgICAgIG1faW1w
bC0+ZGVyZWYoKTsKKyAgICAgICAgICAgIG1faW1wbCA9IDA7CisgICAgICAgIH0KKyAgICB9CiAK
IHByaXZhdGU6CiAgICAgVGVzdEFjdGl2ZURPTU9iamVjdCogbV9pbXBsOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5hbWVk
R2V0dGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RDdXN0b21OYW1lZEdldHRlci5jcHAKaW5kZXggOTQyZTFjMy4uMzBmNmMyZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5h
bWVkR2V0dGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwCkBAIC0yMzIsNyArMjMyLDggQEAgSlNDOjpK
U1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFRlc3RDdXMKIHsKICAgICBpZiAoIWltcGwpCiAgICAgICAgIHJldHVybiBqc051
bGwoKTsKLSAgICBpZiAoSlNWYWx1ZSByZXN1bHQgPSBnZXRFeGlzdGluZ1dyYXBwZXI8SlNUZXN0
Q3VzdG9tTmFtZWRHZXR0ZXI+KGV4ZWMsIGltcGwpKSByZXR1cm4gcmVzdWx0OworICAgIGlmIChK
U1ZhbHVlIHJlc3VsdCA9IGdldEV4aXN0aW5nV3JhcHBlcjxKU1Rlc3RDdXN0b21OYW1lZEdldHRl
cj4oZXhlYywgaW1wbCkpCisgICAgICAgIHJldHVybiByZXN1bHQ7CiAKICNpZiBFTkFCTEUoQklO
RElOR19JTlRFR1JJVFkpCiAgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRl
cnByZXRfY2FzdDx2b2lkKio+KGltcGwpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21OYW1lZEdldHRlci5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVy
LmgKaW5kZXggNzJmYThiYi4uOGU1NWM5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5hbWVkR2V0
dGVyLmgKQEAgLTU2LDcgKzU2LDEzIEBAIHB1YmxpYzoKICAgICBUZXN0Q3VzdG9tTmFtZWRHZXR0
ZXIqIGltcGwoKSBjb25zdCB7IHJldHVybiBtX2ltcGw7IH0KICAgICB2b2lkIHJlbGVhc2VJbXBs
KCkgeyBtX2ltcGwtPmRlcmVmKCk7IG1faW1wbCA9IDA7IH0KIAotICAgIHZvaWQgcmVsZWFzZUlt
cGxJZk5vdE51bGwoKSB7IGlmIChtX2ltcGwpIHsgbV9pbXBsLT5kZXJlZigpOyBtX2ltcGwgPSAw
OyB9IH0KKyAgICB2b2lkIHJlbGVhc2VJbXBsSWZOb3ROdWxsKCkKKyAgICB7CisgICAgICAgIGlm
IChtX2ltcGwpIHsKKyAgICAgICAgICAgIG1faW1wbC0+ZGVyZWYoKTsKKyAgICAgICAgICAgIG1f
aW1wbCA9IDA7CisgICAgICAgIH0KKyAgICB9CiAKIHByaXZhdGU6CiAgICAgVGVzdEN1c3RvbU5h
bWVkR2V0dGVyKiBtX2ltcGw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAKaW5k
ZXggNmFhMzkwNS4uMDg0Nzc2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNw
cApAQCAtMjQ2LDcgKzI0Niw4IEBAIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBl
eGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0RXZlCiB7CiAgICAgaWYg
KCFpbXBsKQogICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0gICAgaWYgKEpTVmFsdWUgcmVzdWx0
ID0gZ2V0RXhpc3RpbmdXcmFwcGVyPEpTVGVzdEV2ZW50Q29uc3RydWN0b3I+KGV4ZWMsIGltcGwp
KSByZXR1cm4gcmVzdWx0OworICAgIGlmIChKU1ZhbHVlIHJlc3VsdCA9IGdldEV4aXN0aW5nV3Jh
cHBlcjxKU1Rlc3RFdmVudENvbnN0cnVjdG9yPihleGVjLCBpbXBsKSkKKyAgICAgICAgcmV0dXJu
IHJlc3VsdDsKIAogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKICAgICB2b2lkKiBhY3R1
YWxWVGFibGVQb2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbCkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2
ZW50Q29uc3RydWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmgKaW5kZXggMDE1NGE3Ny4uZGI0MmE5ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50
Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5oCkBAIC01Nyw3ICs1NywxMyBAQCBwdWJsaWM6CiAg
ICAgVGVzdEV2ZW50Q29uc3RydWN0b3IqIGltcGwoKSBjb25zdCB7IHJldHVybiBtX2ltcGw7IH0K
ICAgICB2b2lkIHJlbGVhc2VJbXBsKCkgeyBtX2ltcGwtPmRlcmVmKCk7IG1faW1wbCA9IDA7IH0K
IAotICAgIHZvaWQgcmVsZWFzZUltcGxJZk5vdE51bGwoKSB7IGlmIChtX2ltcGwpIHsgbV9pbXBs
LT5kZXJlZigpOyBtX2ltcGwgPSAwOyB9IH0KKyAgICB2b2lkIHJlbGVhc2VJbXBsSWZOb3ROdWxs
KCkKKyAgICB7CisgICAgICAgIGlmIChtX2ltcGwpIHsKKyAgICAgICAgICAgIG1faW1wbC0+ZGVy
ZWYoKTsKKyAgICAgICAgICAgIG1faW1wbCA9IDA7CisgICAgICAgIH0KKyAgICB9CiAKIHByaXZh
dGU6CiAgICAgVGVzdEV2ZW50Q29uc3RydWN0b3IqIG1faW1wbDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJn
ZXQuY3BwCmluZGV4IDA2M2MwZDQuLmQxOTVkNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmNw
cApAQCAtMzU1LDcgKzM1NSw4IEBAIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBl
eGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0RXZlCiB7CiAgICAgaWYg
KCFpbXBsKQogICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0gICAgaWYgKEpTVmFsdWUgcmVzdWx0
ID0gZ2V0RXhpc3RpbmdXcmFwcGVyPEpTVGVzdEV2ZW50VGFyZ2V0PihleGVjLCBpbXBsKSkgcmV0
dXJuIHJlc3VsdDsKKyAgICBpZiAoSlNWYWx1ZSByZXN1bHQgPSBnZXRFeGlzdGluZ1dyYXBwZXI8
SlNUZXN0RXZlbnRUYXJnZXQ+KGV4ZWMsIGltcGwpKQorICAgICAgICByZXR1cm4gcmVzdWx0Owog
CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQogICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBv
aW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRh
cmdldC5oCmluZGV4IGY1ZDZkMWQuLmRhOGE4OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5oCkBA
IC02MCw3ICs2MCwxMyBAQCBwdWJsaWM6CiAgICAgVGVzdEV2ZW50VGFyZ2V0KiBpbXBsKCkgY29u
c3QgeyByZXR1cm4gbV9pbXBsOyB9CiAgICAgdm9pZCByZWxlYXNlSW1wbCgpIHsgbV9pbXBsLT5k
ZXJlZigpOyBtX2ltcGwgPSAwOyB9CiAKLSAgICB2b2lkIHJlbGVhc2VJbXBsSWZOb3ROdWxsKCkg
eyBpZiAobV9pbXBsKSB7IG1faW1wbC0+ZGVyZWYoKTsgbV9pbXBsID0gMDsgfSB9CisgICAgdm9p
ZCByZWxlYXNlSW1wbElmTm90TnVsbCgpCisgICAgeworICAgICAgICBpZiAobV9pbXBsKSB7Cisg
ICAgICAgICAgICBtX2ltcGwtPmRlcmVmKCk7CisgICAgICAgICAgICBtX2ltcGwgPSAwOworICAg
ICAgICB9CisgICAgfQogCiBwcml2YXRlOgogICAgIFRlc3RFdmVudFRhcmdldCogbV9pbXBsOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEV4Y2VwdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0RXhjZXB0aW9uLmNwcAppbmRleCBlYWRkY2I4Li44NmM5YmYwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhj
ZXB0aW9uLmNwcApAQCAtMTg5LDcgKzE4OSw4IEBAIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhl
Y1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0RXhjCiB7
CiAgICAgaWYgKCFpbXBsKQogICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0gICAgaWYgKEpTVmFs
dWUgcmVzdWx0ID0gZ2V0RXhpc3RpbmdXcmFwcGVyPEpTVGVzdEV4Y2VwdGlvbj4oZXhlYywgaW1w
bCkpIHJldHVybiByZXN1bHQ7CisgICAgaWYgKEpTVmFsdWUgcmVzdWx0ID0gZ2V0RXhpc3RpbmdX
cmFwcGVyPEpTVGVzdEV4Y2VwdGlvbj4oZXhlYywgaW1wbCkpCisgICAgICAgIHJldHVybiByZXN1
bHQ7CiAKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCiAgICAgdm9pZCogYWN0dWFsVlRh
YmxlUG9pbnRlciA9ICoocmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRp
b24uaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNl
cHRpb24uaAppbmRleCA3NDI0ODg5Li5mNDBiZWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5oCkBAIC01
NSw3ICs1NSwxMyBAQCBwdWJsaWM6CiAgICAgVGVzdEV4Y2VwdGlvbiogaW1wbCgpIGNvbnN0IHsg
cmV0dXJuIG1faW1wbDsgfQogICAgIHZvaWQgcmVsZWFzZUltcGwoKSB7IG1faW1wbC0+ZGVyZWYo
KTsgbV9pbXBsID0gMDsgfQogCi0gICAgdm9pZCByZWxlYXNlSW1wbElmTm90TnVsbCgpIHsgaWYg
KG1faW1wbCkgeyBtX2ltcGwtPmRlcmVmKCk7IG1faW1wbCA9IDA7IH0gfQorICAgIHZvaWQgcmVs
ZWFzZUltcGxJZk5vdE51bGwoKQorICAgIHsKKyAgICAgICAgaWYgKG1faW1wbCkgeworICAgICAg
ICAgICAgbV9pbXBsLT5kZXJlZigpOworICAgICAgICAgICAgbV9pbXBsID0gMDsKKyAgICAgICAg
fQorICAgIH0KIAogcHJpdmF0ZToKICAgICBUZXN0RXhjZXB0aW9uKiBtX2ltcGw7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJm
YWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJ
bnRlcmZhY2UuY3BwCmluZGV4IDI5ZmE1ZDAuLjU4OWQ3OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2Uu
Y3BwCkBAIC01MDMsNyArNTAzLDggQEAgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUq
IGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RJbnQKIHsKICAgICBp
ZiAoIWltcGwpCiAgICAgICAgIHJldHVybiBqc051bGwoKTsKLSAgICBpZiAoSlNWYWx1ZSByZXN1
bHQgPSBnZXRFeGlzdGluZ1dyYXBwZXI8SlNUZXN0SW50ZXJmYWNlPihleGVjLCBpbXBsKSkgcmV0
dXJuIHJlc3VsdDsKKyAgICBpZiAoSlNWYWx1ZSByZXN1bHQgPSBnZXRFeGlzdGluZ1dyYXBwZXI8
SlNUZXN0SW50ZXJmYWNlPihleGVjLCBpbXBsKSkKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKICNp
ZiBDT01QSUxFUihDTEFORykKICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgZmFpbHVyZSB0aGUgaW50
ZXJmYWNlIGRlZmluaXRpb24gaGFzIHRoZSBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiAgICAg
Ly8gYXR0cmlidXRlLiBZb3Ugc2hvdWxkIHJlbW92ZSB0aGF0IGF0dHJpYnV0ZS4gSWYgdGhlIGNs
YXNzIGhhcyBzdWJjbGFzc2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmgKaW5kZXggZjM2ZDQxMy4uNmFmYjU1
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEludGVyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RJbnRlcmZhY2UuaApAQCAtNzMsNyArNzMsMTMgQEAgcHVibGljOgogICAgIFRl
c3RJbnRlcmZhY2UqIGltcGwoKSBjb25zdCB7IHJldHVybiBtX2ltcGw7IH0KICAgICB2b2lkIHJl
bGVhc2VJbXBsKCkgeyBtX2ltcGwtPmRlcmVmKCk7IG1faW1wbCA9IDA7IH0KIAotICAgIHZvaWQg
cmVsZWFzZUltcGxJZk5vdE51bGwoKSB7IGlmIChtX2ltcGwpIHsgbV9pbXBsLT5kZXJlZigpOyBt
X2ltcGwgPSAwOyB9IH0KKyAgICB2b2lkIHJlbGVhc2VJbXBsSWZOb3ROdWxsKCkKKyAgICB7Cisg
ICAgICAgIGlmIChtX2ltcGwpIHsKKyAgICAgICAgICAgIG1faW1wbC0+ZGVyZWYoKTsKKyAgICAg
ICAgICAgIG1faW1wbCA9IDA7CisgICAgICAgIH0KKyAgICB9CiAKIHByaXZhdGU6CiAgICAgVGVz
dEludGVyZmFjZSogbV9pbXBsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlz
dGVuZXIuY3BwCmluZGV4IDliOGFjNjQuLjNjMGQyOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAKQEAgLTIxMCw3ICsyMTAsOCBAQCBKU0M6OkpTVmFs
dWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgVGVzdE1lZAogewogICAgIGlmICghaW1wbCkKICAgICAgICAgcmV0dXJuIGpzTnVsbCgp
OwotICAgIGlmIChKU1ZhbHVlIHJlc3VsdCA9IGdldEV4aXN0aW5nV3JhcHBlcjxKU1Rlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyPihleGVjLCBpbXBsKSkgcmV0dXJuIHJlc3VsdDsKKyAgICBpZiAo
SlNWYWx1ZSByZXN1bHQgPSBnZXRFeGlzdGluZ1dyYXBwZXI8SlNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lcj4oZXhlYywgaW1wbCkpCisgICAgICAgIHJldHVybiByZXN1bHQ7CiAKICNpZiBFTkFC
TEUoQklORElOR19JTlRFR1JJVFkpCiAgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoo
cmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lci5oCmluZGV4IDc0Yzg2MGYuLmQwZmRkMDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaApAQCAtNTUsNyArNTUsMTMgQEAgcHVibGlj
OgogICAgIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKiBpbXBsKCkgY29uc3QgeyByZXR1cm4g
bV9pbXBsOyB9CiAgICAgdm9pZCByZWxlYXNlSW1wbCgpIHsgbV9pbXBsLT5kZXJlZigpOyBtX2lt
cGwgPSAwOyB9CiAKLSAgICB2b2lkIHJlbGVhc2VJbXBsSWZOb3ROdWxsKCkgeyBpZiAobV9pbXBs
KSB7IG1faW1wbC0+ZGVyZWYoKTsgbV9pbXBsID0gMDsgfSB9CisgICAgdm9pZCByZWxlYXNlSW1w
bElmTm90TnVsbCgpCisgICAgeworICAgICAgICBpZiAobV9pbXBsKSB7CisgICAgICAgICAgICBt
X2ltcGwtPmRlcmVmKCk7CisgICAgICAgICAgICBtX2ltcGwgPSAwOworICAgICAgICB9CisgICAg
fQogCiBwcml2YXRlOgogICAgIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKiBtX2ltcGw7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TmFtZWRDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAKaW5kZXggOGQ3MWRlNi4uMGZhMjU1ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE5hbWVkQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmNwcApAQCAtMjI1LDcgKzIyNSw4IEBA
IEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBUZXN0TmFtCiB7CiAgICAgaWYgKCFpbXBsKQogICAgICAgICByZXR1
cm4ganNOdWxsKCk7Ci0gICAgaWYgKEpTVmFsdWUgcmVzdWx0ID0gZ2V0RXhpc3RpbmdXcmFwcGVy
PEpTVGVzdE5hbWVkQ29uc3RydWN0b3I+KGV4ZWMsIGltcGwpKSByZXR1cm4gcmVzdWx0OworICAg
IGlmIChKU1ZhbHVlIHJlc3VsdCA9IGdldEV4aXN0aW5nV3JhcHBlcjxKU1Rlc3ROYW1lZENvbnN0
cnVjdG9yPihleGVjLCBpbXBsKSkKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKIAogI2lmIEVOQUJM
RShCSU5ESU5HX0lOVEVHUklUWSkKICAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihy
ZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVj
dG9yLmgKaW5kZXggNDQ2ZGIyNS4uNzNkYTIzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1
Y3Rvci5oCkBAIC01NSw3ICs1NSwxMyBAQCBwdWJsaWM6CiAgICAgVGVzdE5hbWVkQ29uc3RydWN0
b3IqIGltcGwoKSBjb25zdCB7IHJldHVybiBtX2ltcGw7IH0KICAgICB2b2lkIHJlbGVhc2VJbXBs
KCkgeyBtX2ltcGwtPmRlcmVmKCk7IG1faW1wbCA9IDA7IH0KIAotICAgIHZvaWQgcmVsZWFzZUlt
cGxJZk5vdE51bGwoKSB7IGlmIChtX2ltcGwpIHsgbV9pbXBsLT5kZXJlZigpOyBtX2ltcGwgPSAw
OyB9IH0KKyAgICB2b2lkIHJlbGVhc2VJbXBsSWZOb3ROdWxsKCkKKyAgICB7CisgICAgICAgIGlm
IChtX2ltcGwpIHsKKyAgICAgICAgICAgIG1faW1wbC0+ZGVyZWYoKTsKKyAgICAgICAgICAgIG1f
aW1wbCA9IDA7CisgICAgICAgIH0KKyAgICB9CiAKIHByaXZhdGU6CiAgICAgVGVzdE5hbWVkQ29u
c3RydWN0b3IqIG1faW1wbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKaW5kZXggM2MzYmI2Yy4uOWQ1ZDY5MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9i
ai5jcHAKQEAgLTMwOTAsNyArMzA5MCw4IEBAIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0
YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0T2JqCiB7CiAg
ICAgaWYgKCFpbXBsKQogICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0gICAgaWYgKEpTVmFsdWUg
cmVzdWx0ID0gZ2V0RXhpc3RpbmdXcmFwcGVyPEpTVGVzdE9iaj4oZXhlYywgaW1wbCkpIHJldHVy
biByZXN1bHQ7CisgICAgaWYgKEpTVmFsdWUgcmVzdWx0ID0gZ2V0RXhpc3RpbmdXcmFwcGVyPEpT
VGVzdE9iaj4oZXhlYywgaW1wbCkpCisgICAgICAgIHJldHVybiByZXN1bHQ7CiAKICNpZiBFTkFC
TEUoQklORElOR19JTlRFR1JJVFkpCiAgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoo
cmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaAppbmRleCA2OTI0NWFkLi43ZmU1
M2IzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0T2JqLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE9iai5oCkBAIC02OSw3ICs2OSwxMyBAQCBwdWJsaWM6CiAgICAgVGVzdE9iaiogaW1w
bCgpIGNvbnN0IHsgcmV0dXJuIG1faW1wbDsgfQogICAgIHZvaWQgcmVsZWFzZUltcGwoKSB7IG1f
aW1wbC0+ZGVyZWYoKTsgbV9pbXBsID0gMDsgfQogCi0gICAgdm9pZCByZWxlYXNlSW1wbElmTm90
TnVsbCgpIHsgaWYgKG1faW1wbCkgeyBtX2ltcGwtPmRlcmVmKCk7IG1faW1wbCA9IDA7IH0gfQor
ICAgIHZvaWQgcmVsZWFzZUltcGxJZk5vdE51bGwoKQorICAgIHsKKyAgICAgICAgaWYgKG1faW1w
bCkgeworICAgICAgICAgICAgbV9pbXBsLT5kZXJlZigpOworICAgICAgICAgICAgbV9pbXBsID0g
MDsKKyAgICAgICAgfQorICAgIH0KIAogcHJpdmF0ZToKICAgICBUZXN0T2JqKiBtX2ltcGw7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAKaW5kZXggMzQ1NmFm
ZC4uOWI1OTI1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3Jz
LmNwcApAQCAtMjUzLDcgKzI1Myw4IEBAIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRl
KiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0T3ZlCiB7CiAgICAg
aWYgKCFpbXBsKQogICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0gICAgaWYgKEpTVmFsdWUgcmVz
dWx0ID0gZ2V0RXhpc3RpbmdXcmFwcGVyPEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+KGV4
ZWMsIGltcGwpKSByZXR1cm4gcmVzdWx0OworICAgIGlmIChKU1ZhbHVlIHJlc3VsdCA9IGdldEV4
aXN0aW5nV3JhcHBlcjxKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPihleGVjLCBpbXBsKSkK
KyAgICAgICAgcmV0dXJuIHJlc3VsdDsKIAogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkK
ICAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQq
Kj4oaW1wbCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuaCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmgKaW5k
ZXggZGZhODJhNC4uZDZlZjFjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0
cnVjdG9ycy5oCkBAIC01NSw3ICs1NSwxMyBAQCBwdWJsaWM6CiAgICAgVGVzdE92ZXJsb2FkZWRD
b25zdHJ1Y3RvcnMqIGltcGwoKSBjb25zdCB7IHJldHVybiBtX2ltcGw7IH0KICAgICB2b2lkIHJl
bGVhc2VJbXBsKCkgeyBtX2ltcGwtPmRlcmVmKCk7IG1faW1wbCA9IDA7IH0KIAotICAgIHZvaWQg
cmVsZWFzZUltcGxJZk5vdE51bGwoKSB7IGlmIChtX2ltcGwpIHsgbV9pbXBsLT5kZXJlZigpOyBt
X2ltcGwgPSAwOyB9IH0KKyAgICB2b2lkIHJlbGVhc2VJbXBsSWZOb3ROdWxsKCkKKyAgICB7Cisg
ICAgICAgIGlmIChtX2ltcGwpIHsKKyAgICAgICAgICAgIG1faW1wbC0+ZGVyZWYoKTsKKyAgICAg
ICAgICAgIG1faW1wbCA9IDA7CisgICAgICAgIH0KKyAgICB9CiAKIHByaXZhdGU6CiAgICAgVGVz
dE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMqIG1faW1wbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJ
bnRlcmZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKaW5kZXggY2U3ZmNmZi4uMzRi
NDRkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZS5jcHAKQEAgLTI4Niw3ICsyODYsOCBAQCBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6
OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdFNl
cgogewogICAgIGlmICghaW1wbCkKICAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwotICAgIGlmIChK
U1ZhbHVlIHJlc3VsdCA9IGdldEV4aXN0aW5nV3JhcHBlcjxKU1Rlc3RTZXJpYWxpemVkU2NyaXB0
VmFsdWVJbnRlcmZhY2U+KGV4ZWMsIGltcGwpKSByZXR1cm4gcmVzdWx0OworICAgIGlmIChKU1Zh
bHVlIHJlc3VsdCA9IGdldEV4aXN0aW5nV3JhcHBlcjxKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFs
dWVJbnRlcmZhY2U+KGV4ZWMsIGltcGwpKQorICAgICAgICByZXR1cm4gcmVzdWx0OwogCiAjaWYg
RU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQogICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIg
PSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZh
bHVlSW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmgKaW5kZXggMWYzM2QxNS4uYzJj
NjMxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJ
bnRlcmZhY2UuaApAQCAtNjIsNyArNjIsMTMgQEAgcHVibGljOgogICAgIFRlc3RTZXJpYWxpemVk
U2NyaXB0VmFsdWVJbnRlcmZhY2UqIGltcGwoKSBjb25zdCB7IHJldHVybiBtX2ltcGw7IH0KICAg
ICB2b2lkIHJlbGVhc2VJbXBsKCkgeyBtX2ltcGwtPmRlcmVmKCk7IG1faW1wbCA9IDA7IH0KIAot
ICAgIHZvaWQgcmVsZWFzZUltcGxJZk5vdE51bGwoKSB7IGlmIChtX2ltcGwpIHsgbV9pbXBsLT5k
ZXJlZigpOyBtX2ltcGwgPSAwOyB9IH0KKyAgICB2b2lkIHJlbGVhc2VJbXBsSWZOb3ROdWxsKCkK
KyAgICB7CisgICAgICAgIGlmIChtX2ltcGwpIHsKKyAgICAgICAgICAgIG1faW1wbC0+ZGVyZWYo
KTsKKyAgICAgICAgICAgIG1faW1wbCA9IDA7CisgICAgICAgIH0KKyAgICB9CiAKIHByaXZhdGU6
CiAgICAgVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSogbV9pbXBsOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVk
ZWZzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RU
eXBlZGVmcy5jcHAKaW5kZXggMDZlZTU1OC4uNjBlMjYyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3Bw
CkBAIC01OTQsNyArNTk0LDggQEAgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4
ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RUeXAKIHsKICAgICBpZiAo
IWltcGwpCiAgICAgICAgIHJldHVybiBqc051bGwoKTsKLSAgICBpZiAoSlNWYWx1ZSByZXN1bHQg
PSBnZXRFeGlzdGluZ1dyYXBwZXI8SlNUZXN0VHlwZWRlZnM+KGV4ZWMsIGltcGwpKSByZXR1cm4g
cmVzdWx0OworICAgIGlmIChKU1ZhbHVlIHJlc3VsdCA9IGdldEV4aXN0aW5nV3JhcHBlcjxKU1Rl
c3RUeXBlZGVmcz4oZXhlYywgaW1wbCkpCisgICAgICAgIHJldHVybiByZXN1bHQ7CiAKICNpZiBF
TkFCTEUoQklORElOR19JTlRFR1JJVFkpCiAgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9
ICoocmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmgKaW5kZXgg
Mjg5ZWMzOC4uMmE1MmUwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmgKQEAgLTU2LDcgKzU2LDEzIEBAIHB1
YmxpYzoKICAgICBUZXN0VHlwZWRlZnMqIGltcGwoKSBjb25zdCB7IHJldHVybiBtX2ltcGw7IH0K
ICAgICB2b2lkIHJlbGVhc2VJbXBsKCkgeyBtX2ltcGwtPmRlcmVmKCk7IG1faW1wbCA9IDA7IH0K
IAotICAgIHZvaWQgcmVsZWFzZUltcGxJZk5vdE51bGwoKSB7IGlmIChtX2ltcGwpIHsgbV9pbXBs
LT5kZXJlZigpOyBtX2ltcGwgPSAwOyB9IH0KKyAgICB2b2lkIHJlbGVhc2VJbXBsSWZOb3ROdWxs
KCkKKyAgICB7CisgICAgICAgIGlmIChtX2ltcGwpIHsKKyAgICAgICAgICAgIG1faW1wbC0+ZGVy
ZWYoKTsKKyAgICAgICAgICAgIG1faW1wbCA9IDA7CisgICAgICAgIH0KKyAgICB9CiAKIHByaXZh
dGU6CiAgICAgVGVzdFR5cGVkZWZzKiBtX2ltcGw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01GbG9hdDY0QXJyYXlJbnRlcm5hbC5oIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NRmxvYXQ2NEFycmF5
SW50ZXJuYWwuaAppbmRleCA1ZGEyZTM2Li4yODYyODE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01GbG9hdDY0QXJyYXlJbnRlcm5hbC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTUZsb2F0
NjRBcnJheUludGVybmFsLmgKQEAgLTI5LDcgKzI5LDcgQEAKICNpZiBXRUJLSVRfVkVSU0lPTl9N
QVhfQUxMT1dFRCA+PSBXRUJLSVRfVkVSU0lPTl9MQVRFU1QKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewotICAgIGNsYXNzIEZsb2F0NjRBcnJheTsKK2NsYXNzIEZsb2F0NjRBcnJheTsKIH0KIAogV2Vi
Q29yZTo6RmxvYXQ2NEFycmF5KiBjb3JlKERPTUZsb2F0NjRBcnJheSAqKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RBY3RpdmVE
T01PYmplY3RJbnRlcm5hbC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L09iakMvRE9NVGVzdEFjdGl2ZURPTU9iamVjdEludGVybmFsLmgKaW5kZXggNmQyMWUzOC4uYWI5
ZGE0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09i
akMvRE9NVGVzdEFjdGl2ZURPTU9iamVjdEludGVybmFsLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdEFjdGl2ZURPTU9iamVjdEludGVybmFs
LmgKQEAgLTI5LDcgKzI5LDcgQEAKICNpZiBXRUJLSVRfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSBX
RUJLSVRfVkVSU0lPTl9MQVRFU1QKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIGNsYXNzIFRl
c3RBY3RpdmVET01PYmplY3Q7CitjbGFzcyBUZXN0QWN0aXZlRE9NT2JqZWN0OwogfQogCiBXZWJD
b3JlOjpUZXN0QWN0aXZlRE9NT2JqZWN0KiBjb3JlKERPTVRlc3RBY3RpdmVET01PYmplY3QgKik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9E
T01UZXN0Q2FsbGJhY2tJbnRlcm5hbC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L09iakMvRE9NVGVzdENhbGxiYWNrSW50ZXJuYWwuaAppbmRleCBkOGVhOTQwLi5hMTU3
ZThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2Jq
Qy9ET01UZXN0Q2FsbGJhY2tJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RDYWxsYmFja0ludGVybmFsLmgKQEAgLTI5LDcgKzI5
LDcgQEAKICNpZiBXRUJLSVRfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSBXRUJLSVRfVkVSU0lPTl9M
QVRFU1QKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIGNsYXNzIFRlc3RDYWxsYmFjazsKK2Ns
YXNzIFRlc3RDYWxsYmFjazsKIH0KIAogV2ViQ29yZTo6VGVzdENhbGxiYWNrKiBjb3JlKERPTVRl
c3RDYWxsYmFjayAqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9PYmpDL0RPTVRlc3RDdXN0b21OYW1lZEdldHRlckludGVybmFsLmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0Q3VzdG9tTmFtZWRHZXR0
ZXJJbnRlcm5hbC5oCmluZGV4IGU5Yjk5OTYuLjM2MTA2NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RDdXN0b21OYW1lZEdldHRl
ckludGVybmFsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09i
akMvRE9NVGVzdEN1c3RvbU5hbWVkR2V0dGVySW50ZXJuYWwuaApAQCAtMjksNyArMjksNyBAQAog
I2lmIFdFQktJVF9WRVJTSU9OX01BWF9BTExPV0VEID49IFdFQktJVF9WRVJTSU9OX0xBVEVTVAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xhc3MgVGVzdEN1c3RvbU5hbWVkR2V0dGVyOwor
Y2xhc3MgVGVzdEN1c3RvbU5hbWVkR2V0dGVyOwogfQogCiBXZWJDb3JlOjpUZXN0Q3VzdG9tTmFt
ZWRHZXR0ZXIqIGNvcmUoRE9NVGVzdEN1c3RvbU5hbWVkR2V0dGVyICopOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdEV2ZW50Q29u
c3RydWN0b3JJbnRlcm5hbC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L09iakMvRE9NVGVzdEV2ZW50Q29uc3RydWN0b3JJbnRlcm5hbC5oCmluZGV4IDJhYWM4ZmYuLjgw
OThmOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9P
YmpDL0RPTVRlc3RFdmVudENvbnN0cnVjdG9ySW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0RXZlbnRDb25zdHJ1Y3RvckludGVy
bmFsLmgKQEAgLTI5LDcgKzI5LDcgQEAKICNpZiBXRUJLSVRfVkVSU0lPTl9NQVhfQUxMT1dFRCA+
PSBXRUJLSVRfVkVSU0lPTl9MQVRFU1QKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIGNsYXNz
IFRlc3RFdmVudENvbnN0cnVjdG9yOworY2xhc3MgVGVzdEV2ZW50Q29uc3RydWN0b3I7CiB9CiAK
IFdlYkNvcmU6OlRlc3RFdmVudENvbnN0cnVjdG9yKiBjb3JlKERPTVRlc3RFdmVudENvbnN0cnVj
dG9yICopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L09iakMvRE9NVGVzdEV2ZW50VGFyZ2V0SW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RFdmVudFRhcmdldEludGVybmFsLmgKaW5kZXgg
ZDRmNjU4ZC4uY2IwMzQ5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L09iakMvRE9NVGVzdEV2ZW50VGFyZ2V0SW50ZXJuYWwuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0RXZlbnRUYXJnZXRJbnRl
cm5hbC5oCkBAIC0yOSw3ICsyOSw3IEBACiAjaWYgV0VCS0lUX1ZFUlNJT05fTUFYX0FMTE9XRUQg
Pj0gV0VCS0lUX1ZFUlNJT05fTEFURVNUCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICBjbGFz
cyBUZXN0RXZlbnRUYXJnZXQ7CitjbGFzcyBUZXN0RXZlbnRUYXJnZXQ7CiB9CiAKIFdlYkNvcmU6
OlRlc3RFdmVudFRhcmdldCogY29yZShET01UZXN0RXZlbnRUYXJnZXQgKik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0RXhjZXB0
aW9uSW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpD
L0RPTVRlc3RFeGNlcHRpb25JbnRlcm5hbC5oCmluZGV4IDU0ZjM4YmMuLmUzNzFiY2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RF
eGNlcHRpb25JbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9PYmpDL0RPTVRlc3RFeGNlcHRpb25JbnRlcm5hbC5oCkBAIC0yOSw3ICsyOSw3IEBACiAj
aWYgV0VCS0lUX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gV0VCS0lUX1ZFUlNJT05fTEFURVNUCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICBjbGFzcyBUZXN0RXhjZXB0aW9uOworY2xhc3MgVGVz
dEV4Y2VwdGlvbjsKIH0KIAogV2ViQ29yZTo6VGVzdEV4Y2VwdGlvbiogY29yZShET01UZXN0RXhj
ZXB0aW9uICopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L09iakMvRE9NVGVzdEludGVyZmFjZUludGVybmFsLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0SW50ZXJmYWNlSW50ZXJuYWwuaAppbmRleCBm
ZWY2MGEzLi45Mjg2YTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvT2JqQy9ET01UZXN0SW50ZXJmYWNlSW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0SW50ZXJmYWNlSW50ZXJuYWwu
aApAQCAtMjksNyArMjksNyBAQAogI2lmIFdFQktJVF9WRVJTSU9OX01BWF9BTExPV0VEID49IFdF
QktJVF9WRVJTSU9OX0xBVEVTVAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xhc3MgVGVz
dEludGVyZmFjZTsKK2NsYXNzIFRlc3RJbnRlcmZhY2U7CiB9CiAKIFdlYkNvcmU6OlRlc3RJbnRl
cmZhY2UqIGNvcmUoRE9NVGVzdEludGVyZmFjZSAqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVySW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpD
L0RPTVRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVySW50ZXJuYWwuaAppbmRleCBiMTQyMWEzLi4z
MDdhYzg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
T2JqQy9ET01UZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckludGVybmFsLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXJJbnRlcm5hbC5oCkBAIC0yOSw3ICsyOSw3IEBACiAjaWYgV0VCS0lUX1ZFUlNJT05f
TUFYX0FMTE9XRUQgPj0gV0VCS0lUX1ZFUlNJT05fTEFURVNUCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKLSAgICBjbGFzcyBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjsKK2NsYXNzIFRlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyOwogfQogCiBXZWJDb3JlOjpUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lciogY29yZShET01UZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciAqKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3ROYW1lZENv
bnN0cnVjdG9ySW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9PYmpDL0RPTVRlc3ROYW1lZENvbnN0cnVjdG9ySW50ZXJuYWwuaAppbmRleCA1YjQ5MDRiLi42
OTg0OWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
T2JqQy9ET01UZXN0TmFtZWRDb25zdHJ1Y3RvckludGVybmFsLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE5hbWVkQ29uc3RydWN0b3JJbnRl
cm5hbC5oCkBAIC0yOSw3ICsyOSw3IEBACiAjaWYgV0VCS0lUX1ZFUlNJT05fTUFYX0FMTE9XRUQg
Pj0gV0VCS0lUX1ZFUlNJT05fTEFURVNUCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICBjbGFz
cyBUZXN0TmFtZWRDb25zdHJ1Y3RvcjsKK2NsYXNzIFRlc3ROYW1lZENvbnN0cnVjdG9yOwogfQog
CiBXZWJDb3JlOjpUZXN0TmFtZWRDb25zdHJ1Y3RvciogY29yZShET01UZXN0TmFtZWRDb25zdHJ1
Y3RvciAqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9PYmpDL0RPTVRlc3ROb2RlSW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9PYmpDL0RPTVRlc3ROb2RlSW50ZXJuYWwuaAppbmRleCBmZWYyNzU3Li4zYmM5
NjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2Jq
Qy9ET01UZXN0Tm9kZUludGVybmFsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L09iakMvRE9NVGVzdE5vZGVJbnRlcm5hbC5oCkBAIC0yOSw3ICsyOSw3IEBACiAj
aWYgV0VCS0lUX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gV0VCS0lUX1ZFUlNJT05fTEFURVNUCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICBjbGFzcyBUZXN0Tm9kZTsKK2NsYXNzIFRlc3ROb2Rl
OwogfQogCiBXZWJDb3JlOjpUZXN0Tm9kZSogY29yZShET01UZXN0Tm9kZSAqKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmpJ
bnRlcm5hbC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9N
VGVzdE9iakludGVybmFsLmgKaW5kZXggYzI0ZWE4NC4uMGI0MzA3YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iakludGVybmFs
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVz
dE9iakludGVybmFsLmgKQEAgLTI5LDcgKzI5LDcgQEAKICNpZiBXRUJLSVRfVkVSU0lPTl9NQVhf
QUxMT1dFRCA+PSBXRUJLSVRfVkVSU0lPTl9MQVRFU1QKIAogbmFtZXNwYWNlIFdlYkNvcmUgewot
ICAgIGNsYXNzIFRlc3RPYmo7CitjbGFzcyBUZXN0T2JqOwogfQogCiBXZWJDb3JlOjpUZXN0T2Jq
KiBjb3JlKERPTVRlc3RPYmogKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc0ludGVybmFs
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T3Zl
cmxvYWRlZENvbnN0cnVjdG9yc0ludGVybmFsLmgKaW5kZXggOGZlY2M4MS4uOWVlNmMwMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVz
dE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzSW50
ZXJuYWwuaApAQCAtMjksNyArMjksNyBAQAogI2lmIFdFQktJVF9WRVJTSU9OX01BWF9BTExPV0VE
ID49IFdFQktJVF9WRVJTSU9OX0xBVEVTVAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xh
c3MgVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM7CitjbGFzcyBUZXN0T3ZlcmxvYWRlZENvbnN0
cnVjdG9yczsKIH0KIAogV2ViQ29yZTo6VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMqIGNvcmUo
RE9NVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMgKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0U2VyaWFsaXplZFNjcmlwdFZh
bHVlSW50ZXJmYWNlSW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9PYmpDL0RPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VJbnRlcm5hbC5o
CmluZGV4IDM5YzQwYzUuLjMwMmE4YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZh
Y2VJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9P
YmpDL0RPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VJbnRlcm5hbC5oCkBAIC0y
OSw3ICsyOSw3IEBACiAjaWYgV0VCS0lUX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gV0VCS0lUX1ZF
UlNJT05fTEFURVNUCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICBjbGFzcyBUZXN0U2VyaWFs
aXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOworY2xhc3MgVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZTsKIH0KIAogV2ViQ29yZTo6VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVy
ZmFjZSogY29yZShET01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlICopOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVz
dFR5cGVkZWZzSW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9PYmpDL0RPTVRlc3RUeXBlZGVmc0ludGVybmFsLmgKaW5kZXggZWRhOGJjMy4uZDM5NGExMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9N
VGVzdFR5cGVkZWZzSW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvT2JqQy9ET01UZXN0VHlwZWRlZnNJbnRlcm5hbC5oCkBAIC0yOSw3ICsyOSw3IEBA
CiAjaWYgV0VCS0lUX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gV0VCS0lUX1ZFUlNJT05fTEFURVNU
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICBjbGFzcyBUZXN0VHlwZWRlZnM7CitjbGFzcyBU
ZXN0VHlwZWRlZnM7CiB9CiAKIFdlYkNvcmU6OlRlc3RUeXBlZGVmcyogY29yZShET01UZXN0VHlw
ZWRlZnMgKik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>