<?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>191600</bug_id>
          
          <creation_ts>2018-11-13 14:30:47 -0800</creation_ts>
          <short_desc>TypeProfileLog::processLogEntries should stash away any pending exceptions and re-apply them to the VM</short_desc>
          <delta_ts>2018-11-13 20:57:43 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1478146</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-11-13 14:30:47 -0800</bug_when>
    <thetext>processLogEntries will call into calculatedClassName, which will clear any pending exceptions (it assumes that they&apos;re stack overflow exceptions). However, this code may be called when an exception is already pending on the VM. To get around this, processLogEntires should stash away and re-apply any pending exceptions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478156</commentid>
    <comment_count>1</comment_count>
      <attachid>354706</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-11-13 15:08:13 -0800</bug_when>
    <thetext>Created attachment 354706
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478159</commentid>
    <comment_count>2</comment_count>
      <attachid>354706</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-11-13 15:14:28 -0800</bug_when>
    <thetext>Comment on attachment 354706
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=354706&amp;action=review

r=me with fixes.

&gt; Source/JavaScriptCore/runtime/TypeProfilerLog.cpp:63
&gt; +    // thrown, so we don&apos;t calcualtedDisplayName to clear that exception that

/don&apos;t/don&apos;t want/

&gt; Source/JavaScriptCore/runtime/VM.h:901
&gt; +            : m_savedException(vm.m_exception)
&gt; +            , m_savedLastException(vm.m_lastException)

This should be:
            : m_savedException(vm.m_exception, nullptr)
            , m_savedLastException(vm.m_lastException, nullptr)

Otherwise, you would not be &quot;deferring&quot; the exception.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478179</commentid>
    <comment_count>3</comment_count>
      <attachid>354715</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-11-13 15:47:38 -0800</bug_when>
    <thetext>Created attachment 354715
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478204</commentid>
    <comment_count>4</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-11-13 16:27:49 -0800</bug_when>
    <thetext>&lt;rdar://problem/45517293&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478315</commentid>
    <comment_count>5</comment_count>
      <attachid>354715</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-13 20:57:41 -0800</bug_when>
    <thetext>Comment on attachment 354715
patch for landing

Clearing flags on attachment: 354715

Committed r238162: &lt;https://trac.webkit.org/changeset/238162&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478316</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-13 20:57:43 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354706</attachid>
            <date>2018-11-13 15:08:13 -0800</date>
            <delta_ts>2018-11-13 15:47:38 -0800</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>11565</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzgxNDkpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE1IEBACisyMDE4LTExLTEzICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFR5cGVQcm9maWxlTG9nOjpwcm9jZXNzTG9nRW50cmllcyBzaG91bGQg
c3Rhc2ggYXdheSBhbnkgcGVuZGluZyBleGNlcHRpb25zIGFuZCByZS1hcHBseSB0aGVtIHRvIHRo
ZSBWTQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkx
NjAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBz
dHJlc3MvdHlwZS1wcm9maWxlci1sb2ctc2hvdWxkLWRlZmVyLXBlbmRpbmctZXhjZXB0aW9ucy5q
czogQWRkZWQuCisgICAgICAgIChmb28pOgorICAgICAgICAodGVzdCk6CisgICAgICAgIChiYXIp
OgorCiAyMDE4LTExLTEzICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAg
ICBBZGQgT09NIGRldGVjdGlvbiB0byBTdHJpbmdQcm90b3R5cGUncyBzdWJzdGl0dXRlQmFja3Jl
ZmVyZW5jZXMoKS4KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3R5cGUtcHJvZmlsZXItbG9nLXNob3Vs
ZC1kZWZlci1wZW5kaW5nLWV4Y2VwdGlvbnMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJl
c3MvdHlwZS1wcm9maWxlci1sb2ctc2hvdWxkLWRlZmVyLXBlbmRpbmctZXhjZXB0aW9ucy5qcwko
bm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy90eXBlLXByb2ZpbGVyLWxvZy1zaG91bGQt
ZGVmZXItcGVuZGluZy1leGNlcHRpb25zLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjYg
QEAKKy8vQCBydW5EZWZhdWx0KCItLXRocmVzaG9sZEZvck9wdGltaXplQWZ0ZXJXYXJtVXA9MCIs
ICItLXVzZVR5cGVQcm9maWxlcj10cnVlIikKKworZnVuY3Rpb24gZm9vKCkgeworICAgIHRyeSB7
CisgICAgICAgIHRocm93IDQyOworICAgIH0gY2F0Y2goZSkgeworICAgICAgICBpZiAoZSAhPT0g
NDIpCisgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCEiKQorICAgIH0KK30KKworZnVu
Y3Rpb24gdGVzdChfYSkgeworICAgIGlmIChfYSA9PT0gMCkgeworICAgICAgICBmb28oKTsKKyAg
ICB9IAorfQorCitmdW5jdGlvbiBiYXIoKSB7CisgICAgdGVzdChJbnRsLk51bWJlckZvcm1hdCgp
KTsKKyAgICB0ZXN0KEludGwuTnVtYmVyRm9ybWF0KCkpOworICAgIHRlc3QoMCk7Cit9CisKK2Zv
ciAobGV0IGk9MDsgaTwyMDA7IGkrKykgeworICAgIGJhcigpCit9CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzODE0MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzOSBAQAorMjAxOC0xMS0xMyAgU2Fh
bSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KKworICAgICAgICBUeXBlUHJvZmlsZUxvZzo6
cHJvY2Vzc0xvZ0VudHJpZXMgc2hvdWxkIHN0YXNoIGF3YXkgYW55IHBlbmRpbmcgZXhjZXB0aW9u
cyBhbmQgcmUtYXBwbHkgdGhlbSB0byB0aGUgVk0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTYwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIHByb2Nlc3NMb2dFbnRyaWVzIHdpbGwgY2FsbCBpbnRvIGNh
bGN1bGF0ZWRDbGFzc05hbWUsIHdoaWNoIHdpbGwgY2xlYXIKKyAgICAgICAgYW55IGV4Y2VwdGlv
bnMgaXQgZW5jb3VudGVycyAoaXQgYXNzdW1lcyB0aGF0IHRoZXkncmUgc3RhY2sgb3ZlcmZsb3cg
ZXhjZXB0aW9ucykuCisgICAgICAgIEhvd2V2ZXIsIHRoaXMgY29kZSBtYXkgYmUgY2FsbGVkIHdo
ZW4gYW4gZXhjZXB0aW9uIGlzIGFscmVhZHkgcGVuZGluZyBvbiB0aGUgCisgICAgICAgIFZNIChl
LmcsIHdoZW4gd2UgdGhyb3cgYW4gZXhjZXB0aW9uIGluIHRoZSBERkcsIHdlIGNvbXBpbGUgYW4g
T1NSIGV4aXQKKyAgICAgICAgb2ZmcmFtcCwgd2hpY2ggbWF5IGNvbXBpbGUgYSBiYXNlbGluZSBj
b2RlYmxvY2ssIHdoaWNoIHdpbGwgcHJvY2VzcworICAgICAgICB0aGUgdHlwZSBwcm9maWxlciBs
b2cpLiBUbyBnZXQgYXJvdW5kIHRoaXMsIHByb2Nlc3NMb2dFbnRpcmVzIHNob3VsZCBzdGFzaAor
ICAgICAgICBhd2F5IGFuZCByZS1hcHBseSBhbnkgcGVuZGluZyBleGNlcHRpb25zLgorCisgICAg
ICAgICogZGZnL0RGR0RyaXZlci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Y29tcGlsZUltcGwp
OgorICAgICAgICAqIGRmZy9ERkdPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHA6CisgICAgICAgIChJbnNwZWN0b3I6Oklu
c3BlY3RvclJ1bnRpbWVBZ2VudDo6Z2V0UnVudGltZVR5cGVzRm9yVmFyaWFibGVzQXRPZmZzZXRz
KToKKyAgICAgICAgKiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpkb01haW5UaHJl
YWRQcmVwYXJhdGlvbkJlZm9yZUNvbXBpbGUpOgorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25z
LmNwcDoKKyAgICAgICAgKiBydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHA6CisgICAgICAgIChK
U0M6OlNMT1dfUEFUSF9ERUNMKToKKyAgICAgICAgKiBydW50aW1lL1R5cGVQcm9maWxlckxvZy5j
cHA6CisgICAgICAgIChKU0M6OlR5cGVQcm9maWxlckxvZzo6cHJvY2Vzc0xvZ0VudHJpZXMpOgor
ICAgICAgICAqIHJ1bnRpbWUvVHlwZVByb2ZpbGVyTG9nLmg6CisgICAgICAgICogcnVudGltZS9W
TS5jcHA6CisgICAgICAgIChKU0M6OlZNOjpkdW1wVHlwZVByb2ZpbGVyRGF0YSk6CisgICAgICAg
ICogcnVudGltZS9WTS5oOgorICAgICAgICAoSlNDOjpWTTo6RGVmZXJFeGNlcHRpb25TY29wZTo6
RGVmZXJFeGNlcHRpb25TY29wZSk6CisgICAgICAgICogdG9vbHMvSlNEb2xsYXJWTS5jcHA6Cisg
ICAgICAgIChKU0M6OmZ1bmN0aW9uRmluZFR5cGVGb3JFeHByZXNzaW9uKToKKyAgICAgICAgKEpT
Qzo6ZnVuY3Rpb25SZXR1cm5UeXBlRm9yKToKKwogMjAxOC0xMS0xMiAgTWFyayBMYW0gIDxtYXJr
LmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIE9PTSBkZXRlY3Rpb24gdG8gU3RyaW5nUHJv
dG90eXBlJ3Mgc3Vic3RpdHV0ZUJhY2tyZWZlcmVuY2VzKCkuCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0RyaXZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdEcml2ZXIuY3BwCShyZXZpc2lvbiAyMzgxNDMpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0RyaXZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk3LDcgKzk3
LDcgQEAgc3RhdGljIENvbXBpbGF0aW9uUmVzdWx0IGNvbXBpbGVJbXBsKAogICAgIHZtLmdldENU
SVN0dWIobGlua1BvbHltb3JwaGljQ2FsbFRodW5rR2VuZXJhdG9yKTsKICAgICAKICAgICBpZiAo
dm0udHlwZVByb2ZpbGVyKCkpCi0gICAgICAgIHZtLnR5cGVQcm9maWxlckxvZygpLT5wcm9jZXNz
TG9nRW50cmllcygiUHJlcGFyaW5nIGZvciBERkcgY29tcGlsYXRpb24uIl9zKTsKKyAgICAgICAg
dm0udHlwZVByb2ZpbGVyTG9nKCktPnByb2Nlc3NMb2dFbnRyaWVzKHZtLCAiUHJlcGFyaW5nIGZv
ciBERkcgY29tcGlsYXRpb24uIl9zKTsKICAgICAKICAgICBSZWY8UGxhbj4gcGxhbiA9IGFkb3B0
UmVmKAogICAgICAgICAqbmV3IFBsYW4oY29kZUJsb2NrLCBwcm9maWxlZERGR0NvZGVCbG9jaywg
bW9kZSwgb3NyRW50cnlCeXRlY29kZUluZGV4LCBtdXN0SGFuZGxlVmFsdWVzKSk7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDIz
ODE0MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTI3MDUsNyArMjcwNSw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVy
YXRpb25Qcm9jZXNzVHlwZVAKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIE5hdGl2ZUNh
bGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKIAotICAgIHZtLnR5cGVQcm9maWxlckxv
ZygpLT5wcm9jZXNzTG9nRW50cmllcygiTG9nIEZ1bGwsIGNhbGxlZCBmcm9tIGluc2lkZSBERkcu
Il9zKTsKKyAgICB2bS50eXBlUHJvZmlsZXJMb2coKS0+cHJvY2Vzc0xvZ0VudHJpZXModm0sICJM
b2cgRnVsbCwgY2FsbGVkIGZyb20gaW5zaWRlIERGRy4iX3MpOwogfQogCiBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblJlc29sdmVTY29wZUZvckhvaXN0aW5nRnVuY0RlY2xJ
bkV2YWwoRXhlY1N0YXRlKiBleGVjLCBKU1Njb3BlKiBzY29wZSwgVW5pcXVlZFN0cmluZ0ltcGwq
IGltcGwpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNw
ZWN0b3JSdW50aW1lQWdlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAJKHJldmlzaW9uIDIz
ODE0MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
clJ1bnRpbWVBZ2VudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3Myw3ICsyNzMsNyBAQCB2b2lk
IEluc3BlY3RvclJ1bnRpbWVBZ2VudDo6Z2V0UnVudGltZVR5CiAgICAgfQogCiAgICAgTW9ub3Rv
bmljVGltZSBzdGFydCA9IE1vbm90b25pY1RpbWU6Om5vdygpOwotICAgIG1fdm0udHlwZVByb2Zp
bGVyTG9nKCktPnByb2Nlc3NMb2dFbnRyaWVzKCJVc2VyIFF1ZXJ5Il9zKTsKKyAgICBtX3ZtLnR5
cGVQcm9maWxlckxvZygpLT5wcm9jZXNzTG9nRW50cmllcyhtX3ZtLCAiVXNlciBRdWVyeSJfcyk7
CiAKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxvY2F0aW9ucy5sZW5ndGgoKTsgaSsrKSB7
CiAgICAgICAgIFJlZlB0cjxKU09OOjpWYWx1ZT4gdmFsdWUgPSBsb2NhdGlvbnMuZ2V0KGkpOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAkocmV2aXNpb24gMjM4MTQzKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NDgsNyAr
OTQ4LDcgQEAgdm9pZCBKSVQ6OmRvTWFpblRocmVhZFByZXBhcmF0aW9uQmVmb3JlQwogewogICAg
IC8vIFRoaXMgZW5zdXJlcyB0aGF0IHdlIGhhdmUgdGhlIG1vc3QgdXAgdG8gZGF0ZSB0eXBlIGlu
Zm9ybWF0aW9uIHdoZW4gcGVyZm9ybWluZyB0eXBlY2hlY2sgb3B0aW1pemF0aW9ucyBmb3Igb3Bf
cHJvZmlsZV90eXBlLgogICAgIGlmIChtX3ZtLT50eXBlUHJvZmlsZXIoKSkKLSAgICAgICAgbV92
bS0+dHlwZVByb2ZpbGVyTG9nKCktPnByb2Nlc3NMb2dFbnRyaWVzKCJQcmVwYXJpbmcgZm9yIEpJ
VCBjb21waWxhdGlvbi4iX3MpOworICAgICAgICBtX3ZtLT50eXBlUHJvZmlsZXJMb2coKS0+cHJv
Y2Vzc0xvZ0VudHJpZXMoKm1fdm0sICJQcmVwYXJpbmcgZm9yIEpJVCBjb21waWxhdGlvbi4iX3Mp
OwogfQogCiB1bnNpZ25lZCBKSVQ6OmZyYW1lUmVnaXN0ZXJDb3VudEZvcihDb2RlQmxvY2sqIGNv
ZGVCbG9jaykKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25z
LmNwcAkocmV2aXNpb24gMjM4MTQzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGVyYXRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjg3Miw3ICsyODcyLDcgQEAgdm9pZCBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvblByb2Nlc3NUeXBlUAogewogICAgIFZNJiB2bSA9IGV4ZWMt
PnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwotICAg
IHZtLnR5cGVQcm9maWxlckxvZygpLT5wcm9jZXNzTG9nRW50cmllcygiTG9nIEZ1bGwsIGNhbGxl
ZCBmcm9tIGluc2lkZSBiYXNlbGluZSBKSVQiX3MpOworICAgIHZtLnR5cGVQcm9maWxlckxvZygp
LT5wcm9jZXNzTG9nRW50cmllcyh2bSwgIkxvZyBGdWxsLCBjYWxsZWQgZnJvbSBpbnNpZGUgYmFz
ZWxpbmUgSklUIl9zKTsKIH0KIAogdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblByb2Nlc3NT
aGFkb3dDaGlja2VuTG9nKEV4ZWNTdGF0ZSogZXhlYykKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAkocmV2aXNpb24gMjM4MTQz
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtOTY0LDcgKzk2NCw3IEBAIFNMT1dfUEFUSF9ERUNMKHNsb3dfcGF0
aF90b19pbmRleF9zdHJpbmcKIFNMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9wcm9maWxlX3R5cGVf
Y2xlYXJfbG9nKQogewogICAgIEJFR0lOKCk7Ci0gICAgdm0udHlwZVByb2ZpbGVyTG9nKCktPnBy
b2Nlc3NMb2dFbnRyaWVzKCJMTEludCBsb2cgZnVsbC4iX3MpOworICAgIHZtLnR5cGVQcm9maWxl
ckxvZygpLT5wcm9jZXNzTG9nRW50cmllcyh2bSwgIkxMSW50IGxvZyBmdWxsLiJfcyk7CiAgICAg
RU5EKCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9m
aWxlckxvZy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
VHlwZVByb2ZpbGVyTG9nLmNwcAkocmV2aXNpb24gMjM4MTQzKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvVHlwZVByb2ZpbGVyTG9nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTUs
OCArNTUsMTUgQEAgVHlwZVByb2ZpbGVyTG9nOjp+VHlwZVByb2ZpbGVyTG9nKCkKICAgICBkZWxl
dGVbXSBtX2xvZ1N0YXJ0UHRyOwogfQogCi12b2lkIFR5cGVQcm9maWxlckxvZzo6cHJvY2Vzc0xv
Z0VudHJpZXMoY29uc3QgU3RyaW5nJiByZWFzb24pCit2b2lkIFR5cGVQcm9maWxlckxvZzo6cHJv
Y2Vzc0xvZ0VudHJpZXMoVk0mIHZtLCBjb25zdCBTdHJpbmcmIHJlYXNvbikKIHsKKyAgICAvLyBX
ZSBuZWVkIHRvIGRvIHRoaXMgYmVjYXVzZSB0aGlzIGNvZGUgd2lsbCBjYWxsIGludG8gY2FsY3Vs
YXRlZERpc3BsYXlOYW1lLgorICAgIC8vIGNhbGN1bGF0ZWREaXNwbGF5TmFtZSB3aWxsIGNsZWFy
IGFueSBleGNlcHRpb24gaXQgc2VlcyAoYmVjYXVzZSBpdCB0aGlua3MKKyAgICAvLyBpdCdzIGEg
c3RhY2sgb3ZlcmZsb3cpLiBXZSBtYXkgYmUgY2FsbGVkIHdoZW4gYW4gZXhjZXB0aW9uIHdhcyBh
bHJlYWR5CisgICAgLy8gdGhyb3duLCBzbyB3ZSBkb24ndCBjYWxjdWFsdGVkRGlzcGxheU5hbWUg
dG8gY2xlYXIgdGhhdCBleGNlcHRpb24gdGhhdAorICAgIC8vIHdhcyB0aHJvd24gYmVmb3JlIHdl
IGV2ZW4gZ290IGhlcmUuCisgICAgVk06OkRlZmVyRXhjZXB0aW9uU2NvcGUgZGVmZXJFeGNlcHRp
b25TY29wZSh2bSk7CisKICAgICBNb25vdG9uaWNUaW1lIGJlZm9yZSB7IH07CiAgICAgaWYgKFR5
cGVQcm9maWxlckxvZ0ludGVybmFsOjp2ZXJib3NlKSB7CiAgICAgICAgIGRhdGFMb2coIlByb2Nl
c3MgY2FsbGVyOiciLCByZWFzb24sICInIik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9UeXBlUHJvZmlsZXJMb2cuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9UeXBlUHJvZmlsZXJMb2cuaAkocmV2aXNpb24gMjM4MTQzKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVByb2ZpbGVyTG9nLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTU2LDcgKzU2LDcgQEAgcHVibGljOgogICAgIFR5cGVQcm9maWxlckxvZyhWTSYpOwog
ICAgIH5UeXBlUHJvZmlsZXJMb2coKTsKIAotICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgcHJv
Y2Vzc0xvZ0VudHJpZXMoY29uc3QgU3RyaW5nJik7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9p
ZCBwcm9jZXNzTG9nRW50cmllcyhWTSYsIGNvbnN0IFN0cmluZyYpOwogICAgIExvZ0VudHJ5KiBs
b2dFbmRQdHIoKSBjb25zdCB7IHJldHVybiBtX2xvZ0VuZFB0cjsgfQogCiAgICAgdm9pZCB2aXNp
dChTbG90VmlzaXRvciYpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAko
cmV2aXNpb24gMjM4MTQzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMTE2LDcgKzExMTYsNyBAQCB2b2lkIFZNOjpkdW1wVHlwZVBy
b2ZpbGVyRGF0YSgpCiAgICAgaWYgKCF0eXBlUHJvZmlsZXIoKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgdHlwZVByb2ZpbGVyTG9nKCktPnByb2Nlc3NMb2dFbnRyaWVzKCJWTSBEdW1wIFR5cGVz
Il9zKTsKKyAgICB0eXBlUHJvZmlsZXJMb2coKS0+cHJvY2Vzc0xvZ0VudHJpZXMoKnRoaXMsICJW
TSBEdW1wIFR5cGVzIl9zKTsKICAgICB0eXBlUHJvZmlsZXIoKS0+ZHVtcFR5cGVQcm9maWxlckRh
dGEoKnRoaXMpOwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgJKHJldmlz
aW9uIDIzODE0MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgJKHdvcmtp
bmcgY29weSkKQEAgLTYzLDYgKzYzLDcgQEAKICNpbmNsdWRlIDx3dGYvR2lnYWNhZ2UuaD4KICNp
bmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CisjaW5jbHVk
ZSA8d3RmL1NldEZvclNjb3BlLmg+CiAjaW5jbHVkZSA8d3RmL1N0YWNrQm91bmRzLmg+CiAjaW5j
bHVkZSA8d3RmL1N0YWNrUG9pbnRlci5oPgogI2luY2x1ZGUgPHd0Zi9TdG9wd2F0Y2guaD4KQEAg
LTg5Myw2ICs4OTQsMTkgQEAgcHVibGljOgogICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgc2V0
UnVuTG9vcChDRlJ1bkxvb3BSZWYpOwogI2VuZGlmIC8vIFVTRShDRikKIAorICAgIGNsYXNzIERl
ZmVyRXhjZXB0aW9uU2NvcGUgeworICAgIHB1YmxpYzoKKyAgICAgICAgRGVmZXJFeGNlcHRpb25T
Y29wZShWTSYgdm0pCisgICAgICAgICAgICA6IG1fc2F2ZWRFeGNlcHRpb24odm0ubV9leGNlcHRp
b24pCisgICAgICAgICAgICAsIG1fc2F2ZWRMYXN0RXhjZXB0aW9uKHZtLm1fbGFzdEV4Y2VwdGlv
bikKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICBwcml2YXRlOgorICAgICAgICBTZXRGb3JT
Y29wZTxFeGNlcHRpb24qPiBtX3NhdmVkRXhjZXB0aW9uOworICAgICAgICBTZXRGb3JTY29wZTxF
eGNlcHRpb24qPiBtX3NhdmVkTGFzdEV4Y2VwdGlvbjsKKyAgICB9OworCiBwcml2YXRlOgogICAg
IGZyaWVuZCBjbGFzcyBMTEludE9mZnNldHNFeHRyYWN0b3I7CiAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS90b29scy9KU0RvbGxhclZNLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvdG9vbHMvSlNEb2xsYXJWTS5jcHAJKHJldmlzaW9uIDIzODE0MykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KU0RvbGxhclZNLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTk0Niw3ICsxOTQ2LDcgQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
ZnVuYwogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgUkVMRUFTRV9BU1NFUlQodm0u
dHlwZVByb2ZpbGVyKCkpOwotICAgIHZtLnR5cGVQcm9maWxlckxvZygpLT5wcm9jZXNzTG9nRW50
cmllcygianNjIFRlc3RpbmcgQVBJOiBmdW5jdGlvbkZpbmRUeXBlRm9yRXhwcmVzc2lvbiJfcyk7
CisgICAgdm0udHlwZVByb2ZpbGVyTG9nKCktPnByb2Nlc3NMb2dFbnRyaWVzKHZtLCAianNjIFRl
c3RpbmcgQVBJOiBmdW5jdGlvbkZpbmRUeXBlRm9yRXhwcmVzc2lvbiJfcyk7CiAKICAgICBKU1Zh
bHVlIGZ1bmN0aW9uVmFsdWUgPSBleGVjLT5hcmd1bWVudCgwKTsKICAgICBSRUxFQVNFX0FTU0VS
VChmdW5jdGlvblZhbHVlLmlzRnVuY3Rpb24odm0pKTsKQEAgLTE5NjUsNyArMTk2NSw3IEBAIHN0
YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmMKIHsKICAgICBWTSYgdm0gPSBl
eGVjLT52bSgpOwogICAgIFJFTEVBU0VfQVNTRVJUKHZtLnR5cGVQcm9maWxlcigpKTsKLSAgICB2
bS50eXBlUHJvZmlsZXJMb2coKS0+cHJvY2Vzc0xvZ0VudHJpZXMoImpzYyBUZXN0aW5nIEFQSTog
ZnVuY3Rpb25SZXR1cm5UeXBlRm9yIl9zKTsKKyAgICB2bS50eXBlUHJvZmlsZXJMb2coKS0+cHJv
Y2Vzc0xvZ0VudHJpZXModm0sICJqc2MgVGVzdGluZyBBUEk6IGZ1bmN0aW9uUmV0dXJuVHlwZUZv
ciJfcyk7CiAKICAgICBKU1ZhbHVlIGZ1bmN0aW9uVmFsdWUgPSBleGVjLT5hcmd1bWVudCgwKTsK
ICAgICBSRUxFQVNFX0FTU0VSVChmdW5jdGlvblZhbHVlLmlzRnVuY3Rpb24odm0pKTsK
</data>
<flag name="review"
          id="371877"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354715</attachid>
            <date>2018-11-13 15:47:38 -0800</date>
            <delta_ts>2018-11-13 20:57:41 -0800</delta_ts>
            <desc>patch for landing</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>11576</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzgxNDkpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE1IEBACisyMDE4LTExLTEzICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFR5cGVQcm9maWxlTG9nOjpwcm9jZXNzTG9nRW50cmllcyBzaG91bGQg
c3Rhc2ggYXdheSBhbnkgcGVuZGluZyBleGNlcHRpb25zIGFuZCByZS1hcHBseSB0aGVtIHRvIHRo
ZSBWTQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkx
NjAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWFyayBMYW0uCisKKyAgICAgICAgKiBzdHJlc3Mv
dHlwZS1wcm9maWxlci1sb2ctc2hvdWxkLWRlZmVyLXBlbmRpbmctZXhjZXB0aW9ucy5qczogQWRk
ZWQuCisgICAgICAgIChmb28pOgorICAgICAgICAodGVzdCk6CisgICAgICAgIChiYXIpOgorCiAy
MDE4LTExLTEzICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQg
T09NIGRldGVjdGlvbiB0byBTdHJpbmdQcm90b3R5cGUncyBzdWJzdGl0dXRlQmFja3JlZmVyZW5j
ZXMoKS4KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3R5cGUtcHJvZmlsZXItbG9nLXNob3VsZC1kZWZl
ci1wZW5kaW5nLWV4Y2VwdGlvbnMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvdHlw
ZS1wcm9maWxlci1sb2ctc2hvdWxkLWRlZmVyLXBlbmRpbmctZXhjZXB0aW9ucy5qcwkobm9uZXhp
c3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy90eXBlLXByb2ZpbGVyLWxvZy1zaG91bGQtZGVmZXIt
cGVuZGluZy1leGNlcHRpb25zLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjYgQEAKKy8v
QCBydW5EZWZhdWx0KCItLXRocmVzaG9sZEZvck9wdGltaXplQWZ0ZXJXYXJtVXA9MCIsICItLXVz
ZVR5cGVQcm9maWxlcj10cnVlIikKKworZnVuY3Rpb24gZm9vKCkgeworICAgIHRyeSB7CisgICAg
ICAgIHRocm93IDQyOworICAgIH0gY2F0Y2goZSkgeworICAgICAgICBpZiAoZSAhPT0gNDIpCisg
ICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCEiKQorICAgIH0KK30KKworZnVuY3Rpb24g
dGVzdChfYSkgeworICAgIGlmIChfYSA9PT0gMCkgeworICAgICAgICBmb28oKTsKKyAgICB9IAor
fQorCitmdW5jdGlvbiBiYXIoKSB7CisgICAgdGVzdChJbnRsLk51bWJlckZvcm1hdCgpKTsKKyAg
ICB0ZXN0KEludGwuTnVtYmVyRm9ybWF0KCkpOworICAgIHRlc3QoMCk7Cit9CisKK2ZvciAobGV0
IGk9MDsgaTwyMDA7IGkrKykgeworICAgIGJhcigpCit9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFu
Z2VMb2cJKHJldmlzaW9uIDIzODE0MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzOSBAQAorMjAxOC0xMS0xMyAgU2FhbSBCYXJh
dGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KKworICAgICAgICBUeXBlUHJvZmlsZUxvZzo6cHJvY2Vz
c0xvZ0VudHJpZXMgc2hvdWxkIHN0YXNoIGF3YXkgYW55IHBlbmRpbmcgZXhjZXB0aW9ucyBhbmQg
cmUtYXBwbHkgdGhlbSB0byB0aGUgVk0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE5MTYwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE1hcmsgTGFtLgor
CisgICAgICAgIHByb2Nlc3NMb2dFbnRyaWVzIHdpbGwgY2FsbCBpbnRvIGNhbGN1bGF0ZWRDbGFz
c05hbWUsIHdoaWNoIHdpbGwgY2xlYXIKKyAgICAgICAgYW55IGV4Y2VwdGlvbnMgaXQgZW5jb3Vu
dGVycyAoaXQgYXNzdW1lcyB0aGF0IHRoZXkncmUgc3RhY2sgb3ZlcmZsb3cgZXhjZXB0aW9ucyku
CisgICAgICAgIEhvd2V2ZXIsIHRoaXMgY29kZSBtYXkgYmUgY2FsbGVkIHdoZW4gYW4gZXhjZXB0
aW9uIGlzIGFscmVhZHkgcGVuZGluZyBvbiB0aGUgCisgICAgICAgIFZNIChlLmcsIHdoZW4gd2Ug
dGhyb3cgYW4gZXhjZXB0aW9uIGluIHRoZSBERkcsIHdlIGNvbXBpbGUgYW4gT1NSIGV4aXQKKyAg
ICAgICAgb2ZmcmFtcCwgd2hpY2ggbWF5IGNvbXBpbGUgYSBiYXNlbGluZSBjb2RlYmxvY2ssIHdo
aWNoIHdpbGwgcHJvY2VzcworICAgICAgICB0aGUgdHlwZSBwcm9maWxlciBsb2cpLiBUbyBnZXQg
YXJvdW5kIHRoaXMsIHByb2Nlc3NMb2dFbnRpcmVzIHNob3VsZCBzdGFzaAorICAgICAgICBhd2F5
IGFuZCByZS1hcHBseSBhbnkgcGVuZGluZyBleGNlcHRpb25zLgorCisgICAgICAgICogZGZnL0RG
R0RyaXZlci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Y29tcGlsZUltcGwpOgorICAgICAgICAq
IGRmZy9ERkdPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvclJ1bnRpbWVBZ2VudC5jcHA6CisgICAgICAgIChJbnNwZWN0b3I6Okluc3BlY3RvclJ1bnRp
bWVBZ2VudDo6Z2V0UnVudGltZVR5cGVzRm9yVmFyaWFibGVzQXRPZmZzZXRzKToKKyAgICAgICAg
KiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpkb01haW5UaHJlYWRQcmVwYXJhdGlv
bkJlZm9yZUNvbXBpbGUpOgorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmNwcDoKKyAgICAg
ICAgKiBydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHA6CisgICAgICAgIChKU0M6OlNMT1dfUEFU
SF9ERUNMKToKKyAgICAgICAgKiBydW50aW1lL1R5cGVQcm9maWxlckxvZy5jcHA6CisgICAgICAg
IChKU0M6OlR5cGVQcm9maWxlckxvZzo6cHJvY2Vzc0xvZ0VudHJpZXMpOgorICAgICAgICAqIHJ1
bnRpbWUvVHlwZVByb2ZpbGVyTG9nLmg6CisgICAgICAgICogcnVudGltZS9WTS5jcHA6CisgICAg
ICAgIChKU0M6OlZNOjpkdW1wVHlwZVByb2ZpbGVyRGF0YSk6CisgICAgICAgICogcnVudGltZS9W
TS5oOgorICAgICAgICAoSlNDOjpWTTo6RGVmZXJFeGNlcHRpb25TY29wZTo6RGVmZXJFeGNlcHRp
b25TY29wZSk6CisgICAgICAgICogdG9vbHMvSlNEb2xsYXJWTS5jcHA6CisgICAgICAgIChKU0M6
OmZ1bmN0aW9uRmluZFR5cGVGb3JFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6ZnVuY3Rpb25S
ZXR1cm5UeXBlRm9yKToKKwogMjAxOC0xMS0xMiAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5j
b20+CiAKICAgICAgICAgQWRkIE9PTSBkZXRlY3Rpb24gdG8gU3RyaW5nUHJvdG90eXBlJ3Mgc3Vi
c3RpdHV0ZUJhY2tyZWZlcmVuY2VzKCkuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0RyaXZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdEcml2ZXIuY3BwCShyZXZpc2lvbiAyMzgxNDMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0RyaXZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk3LDcgKzk3LDcgQEAgc3RhdGlj
IENvbXBpbGF0aW9uUmVzdWx0IGNvbXBpbGVJbXBsKAogICAgIHZtLmdldENUSVN0dWIobGlua1Bv
bHltb3JwaGljQ2FsbFRodW5rR2VuZXJhdG9yKTsKICAgICAKICAgICBpZiAodm0udHlwZVByb2Zp
bGVyKCkpCi0gICAgICAgIHZtLnR5cGVQcm9maWxlckxvZygpLT5wcm9jZXNzTG9nRW50cmllcygi
UHJlcGFyaW5nIGZvciBERkcgY29tcGlsYXRpb24uIl9zKTsKKyAgICAgICAgdm0udHlwZVByb2Zp
bGVyTG9nKCktPnByb2Nlc3NMb2dFbnRyaWVzKHZtLCAiUHJlcGFyaW5nIGZvciBERkcgY29tcGls
YXRpb24uIl9zKTsKICAgICAKICAgICBSZWY8UGxhbj4gcGxhbiA9IGFkb3B0UmVmKAogICAgICAg
ICAqbmV3IFBsYW4oY29kZUJsb2NrLCBwcm9maWxlZERGR0NvZGVCbG9jaywgbW9kZSwgb3NyRW50
cnlCeXRlY29kZUluZGV4LCBtdXN0SGFuZGxlVmFsdWVzKSk7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDIzODE0MykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI3MDUsNyArMjcwNSw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25Qcm9jZXNz
VHlwZVAKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNl
ciB0cmFjZXIoJnZtLCBleGVjKTsKIAotICAgIHZtLnR5cGVQcm9maWxlckxvZygpLT5wcm9jZXNz
TG9nRW50cmllcygiTG9nIEZ1bGwsIGNhbGxlZCBmcm9tIGluc2lkZSBERkcuIl9zKTsKKyAgICB2
bS50eXBlUHJvZmlsZXJMb2coKS0+cHJvY2Vzc0xvZ0VudHJpZXModm0sICJMb2cgRnVsbCwgY2Fs
bGVkIGZyb20gaW5zaWRlIERGRy4iX3MpOwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvblJlc29sdmVTY29wZUZvckhvaXN0aW5nRnVuY0RlY2xJbkV2YWwoRXhlY1N0
YXRlKiBleGVjLCBKU1Njb3BlKiBzY29wZSwgVW5pcXVlZFN0cmluZ0ltcGwqIGltcGwpCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JSdW50aW1l
QWdlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAJKHJldmlzaW9uIDIzODE0MykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2Vu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3Myw3ICsyNzMsNyBAQCB2b2lkIEluc3BlY3RvclJ1
bnRpbWVBZ2VudDo6Z2V0UnVudGltZVR5CiAgICAgfQogCiAgICAgTW9ub3RvbmljVGltZSBzdGFy
dCA9IE1vbm90b25pY1RpbWU6Om5vdygpOwotICAgIG1fdm0udHlwZVByb2ZpbGVyTG9nKCktPnBy
b2Nlc3NMb2dFbnRyaWVzKCJVc2VyIFF1ZXJ5Il9zKTsKKyAgICBtX3ZtLnR5cGVQcm9maWxlckxv
ZygpLT5wcm9jZXNzTG9nRW50cmllcyhtX3ZtLCAiVXNlciBRdWVyeSJfcyk7CiAKICAgICBmb3Ig
KHNpemVfdCBpID0gMDsgaSA8IGxvY2F0aW9ucy5sZW5ndGgoKTsgaSsrKSB7CiAgICAgICAgIFJl
ZlB0cjxKU09OOjpWYWx1ZT4gdmFsdWUgPSBsb2NhdGlvbnMuZ2V0KGkpOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklULmNwcAkocmV2aXNpb24gMjM4MTQzKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NDgsNyArOTQ4LDcgQEAgdm9p
ZCBKSVQ6OmRvTWFpblRocmVhZFByZXBhcmF0aW9uQmVmb3JlQwogewogICAgIC8vIFRoaXMgZW5z
dXJlcyB0aGF0IHdlIGhhdmUgdGhlIG1vc3QgdXAgdG8gZGF0ZSB0eXBlIGluZm9ybWF0aW9uIHdo
ZW4gcGVyZm9ybWluZyB0eXBlY2hlY2sgb3B0aW1pemF0aW9ucyBmb3Igb3BfcHJvZmlsZV90eXBl
LgogICAgIGlmIChtX3ZtLT50eXBlUHJvZmlsZXIoKSkKLSAgICAgICAgbV92bS0+dHlwZVByb2Zp
bGVyTG9nKCktPnByb2Nlc3NMb2dFbnRyaWVzKCJQcmVwYXJpbmcgZm9yIEpJVCBjb21waWxhdGlv
bi4iX3MpOworICAgICAgICBtX3ZtLT50eXBlUHJvZmlsZXJMb2coKS0+cHJvY2Vzc0xvZ0VudHJp
ZXMoKm1fdm0sICJQcmVwYXJpbmcgZm9yIEpJVCBjb21waWxhdGlvbi4iX3MpOwogfQogCiB1bnNp
Z25lZCBKSVQ6OmZyYW1lUmVnaXN0ZXJDb3VudEZvcihDb2RlQmxvY2sqIGNvZGVCbG9jaykKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAkocmV2aXNp
b24gMjM4MTQzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjg3Miw3ICsyODcyLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvblByb2Nlc3NUeXBlUAogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAg
TmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwotICAgIHZtLnR5cGVQcm9m
aWxlckxvZygpLT5wcm9jZXNzTG9nRW50cmllcygiTG9nIEZ1bGwsIGNhbGxlZCBmcm9tIGluc2lk
ZSBiYXNlbGluZSBKSVQiX3MpOworICAgIHZtLnR5cGVQcm9maWxlckxvZygpLT5wcm9jZXNzTG9n
RW50cmllcyh2bSwgIkxvZyBGdWxsLCBjYWxsZWQgZnJvbSBpbnNpZGUgYmFzZWxpbmUgSklUIl9z
KTsKIH0KIAogdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblByb2Nlc3NTaGFkb3dDaGlja2Vu
TG9nKEV4ZWNTdGF0ZSogZXhlYykKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0NvbW1vblNsb3dQYXRocy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAkocmV2aXNpb24gMjM4MTQzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtOTY0LDcgKzk2NCw3IEBAIFNMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF90b19pbmRleF9z
dHJpbmcKIFNMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9wcm9maWxlX3R5cGVfY2xlYXJfbG9nKQog
ewogICAgIEJFR0lOKCk7Ci0gICAgdm0udHlwZVByb2ZpbGVyTG9nKCktPnByb2Nlc3NMb2dFbnRy
aWVzKCJMTEludCBsb2cgZnVsbC4iX3MpOworICAgIHZtLnR5cGVQcm9maWxlckxvZygpLT5wcm9j
ZXNzTG9nRW50cmllcyh2bSwgIkxMSW50IGxvZyBmdWxsLiJfcyk7CiAgICAgRU5EKCk7CiB9CiAK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlckxvZy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVByb2ZpbGVy
TG9nLmNwcAkocmV2aXNpb24gMjM4MTQzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvVHlwZVByb2ZpbGVyTG9nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTUsOCArNTUsMTUgQEAg
VHlwZVByb2ZpbGVyTG9nOjp+VHlwZVByb2ZpbGVyTG9nKCkKICAgICBkZWxldGVbXSBtX2xvZ1N0
YXJ0UHRyOwogfQogCi12b2lkIFR5cGVQcm9maWxlckxvZzo6cHJvY2Vzc0xvZ0VudHJpZXMoY29u
c3QgU3RyaW5nJiByZWFzb24pCit2b2lkIFR5cGVQcm9maWxlckxvZzo6cHJvY2Vzc0xvZ0VudHJp
ZXMoVk0mIHZtLCBjb25zdCBTdHJpbmcmIHJlYXNvbikKIHsKKyAgICAvLyBXZSBuZWVkIHRvIGRv
IHRoaXMgYmVjYXVzZSB0aGlzIGNvZGUgd2lsbCBjYWxsIGludG8gY2FsY3VsYXRlZERpc3BsYXlO
YW1lLgorICAgIC8vIGNhbGN1bGF0ZWREaXNwbGF5TmFtZSB3aWxsIGNsZWFyIGFueSBleGNlcHRp
b24gaXQgc2VlcyAoYmVjYXVzZSBpdCB0aGlua3MKKyAgICAvLyBpdCdzIGEgc3RhY2sgb3ZlcmZs
b3cpLiBXZSBtYXkgYmUgY2FsbGVkIHdoZW4gYW4gZXhjZXB0aW9uIHdhcyBhbHJlYWR5CisgICAg
Ly8gdGhyb3duLCBzbyB3ZSBkb24ndCB3YW50IGNhbGN1YWx0ZWREaXNwbGF5TmFtZSB0byBjbGVh
ciB0aGF0IGV4Y2VwdGlvbiB0aGF0CisgICAgLy8gd2FzIHRocm93biBiZWZvcmUgd2UgZXZlbiBn
b3QgaGVyZS4KKyAgICBWTTo6RGVmZXJFeGNlcHRpb25TY29wZSBkZWZlckV4Y2VwdGlvblNjb3Bl
KHZtKTsKKwogICAgIE1vbm90b25pY1RpbWUgYmVmb3JlIHsgfTsKICAgICBpZiAoVHlwZVByb2Zp
bGVyTG9nSW50ZXJuYWw6OnZlcmJvc2UpIHsKICAgICAgICAgZGF0YUxvZygiUHJvY2VzcyBjYWxs
ZXI6JyIsIHJlYXNvbiwgIiciKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1R5cGVQcm9maWxlckxvZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1R5cGVQcm9maWxlckxvZy5oCShyZXZpc2lvbiAyMzgxNDMpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9UeXBlUHJvZmlsZXJMb2cuaAkod29ya2luZyBjb3B5KQpAQCAt
NTYsNyArNTYsNyBAQCBwdWJsaWM6CiAgICAgVHlwZVByb2ZpbGVyTG9nKFZNJik7CiAgICAgflR5
cGVQcm9maWxlckxvZygpOwogCi0gICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBwcm9jZXNzTG9n
RW50cmllcyhjb25zdCBTdHJpbmcmKTsKKyAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIHByb2Nl
c3NMb2dFbnRyaWVzKFZNJiwgY29uc3QgU3RyaW5nJik7CiAgICAgTG9nRW50cnkqIGxvZ0VuZFB0
cigpIGNvbnN0IHsgcmV0dXJuIG1fbG9nRW5kUHRyOyB9CiAKICAgICB2b2lkIHZpc2l0KFNsb3RW
aXNpdG9yJik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCShyZXZpc2lv
biAyMzgxNDMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTExMTYsNyArMTExNiw3IEBAIHZvaWQgVk06OmR1bXBUeXBlUHJvZmlsZXJE
YXRhKCkKICAgICBpZiAoIXR5cGVQcm9maWxlcigpKQogICAgICAgICByZXR1cm47CiAKLSAgICB0
eXBlUHJvZmlsZXJMb2coKS0+cHJvY2Vzc0xvZ0VudHJpZXMoIlZNIER1bXAgVHlwZXMiX3MpOwor
ICAgIHR5cGVQcm9maWxlckxvZygpLT5wcm9jZXNzTG9nRW50cmllcygqdGhpcywgIlZNIER1bXAg
VHlwZXMiX3MpOwogICAgIHR5cGVQcm9maWxlcigpLT5kdW1wVHlwZVByb2ZpbGVyRGF0YSgqdGhp
cyk7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAkocmV2aXNpb24gMjM4
MTQzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAkod29ya2luZyBjb3B5
KQpAQCAtNjMsNiArNjMsNyBAQAogI2luY2x1ZGUgPHd0Zi9HaWdhY2FnZS5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KKyNpbmNsdWRlIDx3dGYv
U2V0Rm9yU2NvcGUuaD4KICNpbmNsdWRlIDx3dGYvU3RhY2tCb3VuZHMuaD4KICNpbmNsdWRlIDx3
dGYvU3RhY2tQb2ludGVyLmg+CiAjaW5jbHVkZSA8d3RmL1N0b3B3YXRjaC5oPgpAQCAtODkzLDYg
Kzg5NCwxOSBAQCBwdWJsaWM6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBzZXRSdW5Mb29w
KENGUnVuTG9vcFJlZik7CiAjZW5kaWYgLy8gVVNFKENGKQogCisgICAgY2xhc3MgRGVmZXJFeGNl
cHRpb25TY29wZSB7CisgICAgcHVibGljOgorICAgICAgICBEZWZlckV4Y2VwdGlvblNjb3BlKFZN
JiB2bSkKKyAgICAgICAgICAgIDogbV9zYXZlZEV4Y2VwdGlvbih2bS5tX2V4Y2VwdGlvbiwgbnVs
bHB0cikKKyAgICAgICAgICAgICwgbV9zYXZlZExhc3RFeGNlcHRpb24odm0ubV9sYXN0RXhjZXB0
aW9uLCBudWxscHRyKQorICAgICAgICB7CisgICAgICAgIH0KKworICAgIHByaXZhdGU6CisgICAg
ICAgIFNldEZvclNjb3BlPEV4Y2VwdGlvbio+IG1fc2F2ZWRFeGNlcHRpb247CisgICAgICAgIFNl
dEZvclNjb3BlPEV4Y2VwdGlvbio+IG1fc2F2ZWRMYXN0RXhjZXB0aW9uOworICAgIH07CisKIHBy
aXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIExMSW50T2Zmc2V0c0V4dHJhY3RvcjsKIApJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0pTRG9sbGFyVk0uY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KU0RvbGxhclZNLmNwcAkocmV2aXNpb24gMjM4
MTQzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0pTRG9sbGFyVk0uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xOTQ2LDcgKzE5NDYsNyBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBmdW5jCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBSRUxFQVNF
X0FTU0VSVCh2bS50eXBlUHJvZmlsZXIoKSk7Ci0gICAgdm0udHlwZVByb2ZpbGVyTG9nKCktPnBy
b2Nlc3NMb2dFbnRyaWVzKCJqc2MgVGVzdGluZyBBUEk6IGZ1bmN0aW9uRmluZFR5cGVGb3JFeHBy
ZXNzaW9uIl9zKTsKKyAgICB2bS50eXBlUHJvZmlsZXJMb2coKS0+cHJvY2Vzc0xvZ0VudHJpZXMo
dm0sICJqc2MgVGVzdGluZyBBUEk6IGZ1bmN0aW9uRmluZFR5cGVGb3JFeHByZXNzaW9uIl9zKTsK
IAogICAgIEpTVmFsdWUgZnVuY3Rpb25WYWx1ZSA9IGV4ZWMtPmFyZ3VtZW50KDApOwogICAgIFJF
TEVBU0VfQVNTRVJUKGZ1bmN0aW9uVmFsdWUuaXNGdW5jdGlvbih2bSkpOwpAQCAtMTk2NSw3ICsx
OTY1LDcgQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuYwogewogICAg
IFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgUkVMRUFTRV9BU1NFUlQodm0udHlwZVByb2ZpbGVy
KCkpOwotICAgIHZtLnR5cGVQcm9maWxlckxvZygpLT5wcm9jZXNzTG9nRW50cmllcygianNjIFRl
c3RpbmcgQVBJOiBmdW5jdGlvblJldHVyblR5cGVGb3IiX3MpOworICAgIHZtLnR5cGVQcm9maWxl
ckxvZygpLT5wcm9jZXNzTG9nRW50cmllcyh2bSwgImpzYyBUZXN0aW5nIEFQSTogZnVuY3Rpb25S
ZXR1cm5UeXBlRm9yIl9zKTsKIAogICAgIEpTVmFsdWUgZnVuY3Rpb25WYWx1ZSA9IGV4ZWMtPmFy
Z3VtZW50KDApOwogICAgIFJFTEVBU0VfQVNTRVJUKGZ1bmN0aW9uVmFsdWUuaXNGdW5jdGlvbih2
bSkpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>