<?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>121920</bug_id>
          
          <creation_ts>2013-09-25 13:06:34 -0700</creation_ts>
          <short_desc>op_to_this shouldn&apos;t use value profiling</short_desc>
          <delta_ts>2013-10-02 11:27:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</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>121074</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>933169</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-09-25 13:06:34 -0700</bug_when>
    <thetext>Currently it&apos;s the only opcode that uses m_singletonValue, which is unnecessary. Our current plan is to remove m_singletonValue so that GenGC can have a simpler story for handling CodeBlocks/FunctionExecutables during nursery collections.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933195</commentid>
    <comment_count>1</comment_count>
      <attachid>212624</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-09-25 14:10:36 -0700</bug_when>
    <thetext>Created attachment 212624
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933287</commentid>
    <comment_count>2</comment_count>
      <attachid>212624</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-09-25 17:55:01 -0700</bug_when>
    <thetext>Comment on attachment 212624
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933569</commentid>
    <comment_count>3</comment_count>
      <attachid>212624</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-26 10:15:37 -0700</bug_when>
    <thetext>Comment on attachment 212624
Patch

Clearing flags on attachment: 212624

Committed r156468: &lt;http://trac.webkit.org/changeset/156468&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933570</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-26 10:15:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935326</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-01 20:14:06 -0700</bug_when>
    <thetext>This caused a 5-9% regression on V8Spider/deltablue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935413</commentid>
    <comment_count>6</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-10-02 09:26:25 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; This caused a 5-9% regression on V8Spider/deltablue.

According to whom? I ran benchmarks before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935459</commentid>
    <comment_count>7</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-02 11:27:16 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; This caused a 5-9% regression on V8Spider/deltablue.
&gt; 
&gt; According to whom? I ran benchmarks before landing.

According to my Mac Pro.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212624</attachid>
            <date>2013-09-25 14:10:36 -0700</date>
            <delta_ts>2013-09-26 10:15:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121920-20130925141037.patch</filename>
            <type>text/plain</type>
            <size>23391</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU2NDIxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUyIEBA
CisyMDEzLTA5LTI1ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgb3BfdG9fdGhpcyBzaG91bGRuJ3QgdXNlIHZhbHVlIHByb2ZpbGluZworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIxOTIwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3VycmVudGx5IGl0J3Mg
dGhlIG9ubHkgb3Bjb2RlIHRoYXQgdXNlcyBtX3NpbmdsZXRvblZhbHVlLCB3aGljaCBpcyB1bm5l
Y2Vzc2FyeS4gT3VyIGN1cnJlbnQgcGxhbiBpcyAKKyAgICAgICAgdG8gcmVtb3ZlIG1fc2luZ2xl
dG9uVmFsdWUgc28gdGhhdCBHZW5HQyBjYW4gaGF2ZSBhIHNpbXBsZXIgc3RvcnkgZm9yIGhhbmRs
aW5nIENvZGVCbG9ja3MvRnVuY3Rpb25FeGVjdXRhYmxlcyAKKyAgICAgICAgZHVyaW5nIG51cnNl
cnkgY29sbGVjdGlvbnMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRzIGFuIGlubGluZSBjYWNo
ZSBmb3IgdGhlIFN0cnVjdHVyZSBvZiB0b190aGlzIHNvIGl0IG5vIGxvbmdlciBkZXBlbmRzIG9u
IHRoZSBWYWx1ZVByb2ZpbGUncworICAgICAgICBtX3NpbmdsZXRvblZhbHVlLiBTaW5jZSBub2Jv
ZHkgdXNlcyBtX3NpbmdsZXRvblZhbHVlIG5vdywgdGhpcyBwYXRjaCBhbHNvIHJlbW92ZXMgbV9z
aW5nbGV0b25WYWx1ZSBmcm9tCisgICAgICAgIFZhbHVlUHJvZmlsZS4KKworICAgICAgICAqIGJ5
dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6Q29kZUJsb2Nr
KToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpmaW5hbGl6ZVVuY29uZGl0aW9uYWxseSk6Cisg
ICAgICAgIChKU0M6OkNvZGVCbG9jazo6c3Ryb25nbHlWaXNpdFN0cm9uZ1JlZmVyZW5jZXMpOgor
ICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OnVwZGF0ZUFsbFByZWRpY3Rpb25zQW5kQ291bnRMaXZl
bmVzcyk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6dXBkYXRlQWxsVmFsdWVQcm9maWxlUHJl
ZGljdGlvbnMpOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OnVwZGF0ZUFsbFByZWRpY3Rpb25z
KToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpzaG91bGRPcHRpbWl6ZU5vdyk6CisgICAgICAg
ICogYnl0ZWNvZGUvQ29kZUJsb2NrLmg6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6dXBkYXRl
QWxsVmFsdWVQcm9maWxlUHJlZGljdGlvbnMpOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OnVw
ZGF0ZUFsbFByZWRpY3Rpb25zKToKKyAgICAgICAgKiBieXRlY29kZS9MYXp5T3BlcmFuZFZhbHVl
UHJvZmlsZS5jcHA6CisgICAgICAgIChKU0M6OkNvbXByZXNzZWRMYXp5T3BlcmFuZFZhbHVlUHJv
ZmlsZUhvbGRlcjo6Y29tcHV0ZVVwZGF0ZWRQcmVkaWN0aW9ucyk6CisgICAgICAgICogYnl0ZWNv
ZGUvTGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUuaDoKKyAgICAgICAgKiBieXRlY29kZS9WYWx1ZVBy
b2ZpbGUuaDoKKyAgICAgICAgKEpTQzo6VmFsdWVQcm9maWxlQmFzZTo6VmFsdWVQcm9maWxlQmFz
ZSk6CisgICAgICAgIChKU0M6OlZhbHVlUHJvZmlsZUJhc2U6OmJyaWVmRGVzY3JpcHRpb24pOgor
ICAgICAgICAoSlNDOjpWYWx1ZVByb2ZpbGVCYXNlOjpkdW1wKToKKyAgICAgICAgKEpTQzo6VmFs
dWVQcm9maWxlQmFzZTo6Y29tcHV0ZVVwZGF0ZWRQcmVkaWN0aW9uKToKKyAgICAgICAgKiBieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdl
bmVyYXRvcjo6Qnl0ZWNvZGVHZW5lcmF0b3IpOgorICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBh
cnNlci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sp
OgorICAgICAgICAqIGppdC9KSVRPcGNvZGVzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0
X29wX3RvX3RoaXMpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRTbG93X29wX3RvX3RoaXMpOgor
ICAgICAgICAqIGppdC9KSVRPcGNvZGVzMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVt
aXRfb3BfdG9fdGhpcyk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdFNsb3dfb3BfdG9fdGhpcyk6
CisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbToKKyAgICAgICAg
KiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOgorICAgICAgICAqIHJ1bnRpbWUvQ29t
bW9uU2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKEpTQzo6U0xPV19QQVRIX0RFQ0wpOgorCiAyMDEz
LTA5LTI1ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBGZWF0
dXJlRGVmaW5lLnhjY29uZmlnIGNsZWFudXAgKFRoZXkgc2hvdWxkIGFsbCBiZSBpZGVudGljYWwp
LgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJ
KHJldmlzaW9uIDE1NjQwOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2Rl
QmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzM0LDcgKzE3MzQsNiBAQCBDb2RlQmxvY2s6
OkNvZGVCbG9jayhTY3JpcHRFeGVjdXRhYmxlKiBvCiAgICAgICAgICAgICBpbnN0cnVjdGlvbnNb
aSArIG9wTGVuZ3RoIC0gMl0gPSAmbV9hcnJheVByb2ZpbGVzW2FycmF5UHJvZmlsZUluZGV4XTsK
ICAgICAgICAgICAgIC8vIGZhbGx0aHJvdWdoCiAgICAgICAgIH0KLSAgICAgICAgY2FzZSBvcF90
b190aGlzOgogICAgICAgICBjYXNlIG9wX2dldF9ieV9pZDoKICAgICAgICAgY2FzZSBvcF9jYWxs
X3ZhcmFyZ3M6IHsKICAgICAgICAgICAgIFZhbHVlUHJvZmlsZSogcHJvZmlsZSA9ICZtX3ZhbHVl
UHJvZmlsZXNbcGNbaSArIG9wTGVuZ3RoIC0gMV0udS5vcGVyYW5kXTsKQEAgLTIyMzgsNiArMjIz
NywxMyBAQCB2b2lkIENvZGVCbG9jazo6ZmluYWxpemVVbmNvbmRpdGlvbmFsbHkoCiAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIG9wX2dldF9hcnJheV9sZW5ndGg6CiAg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIG9wX3RvX3RoaXM6CisgICAg
ICAgICAgICAgICAgaWYgKCFjdXJJbnN0cnVjdGlvblsyXS51LnN0cnVjdHVyZSB8fCBIZWFwOjpp
c01hcmtlZChjdXJJbnN0cnVjdGlvblsyXS51LnN0cnVjdHVyZS5nZXQoKSkpCisgICAgICAgICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGlmIChPcHRpb25zOjp2ZXJib3NlT1NS
KCkpCisgICAgICAgICAgICAgICAgICAgIGRhdGFMb2dGKCJDbGVhcmluZyBMTEludCB0b190aGlz
IHdpdGggc3RydWN0dXJlICVwLlxuIiwgY3VySW5zdHJ1Y3Rpb25bMl0udS5zdHJ1Y3R1cmUuZ2V0
KCkpOworICAgICAgICAgICAgICAgIGN1ckluc3RydWN0aW9uWzJdLnUuc3RydWN0dXJlLmNsZWFy
KCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIG9wX2dldF9jYWxs
ZWU6CiAgICAgICAgICAgICAgICAgaWYgKCFjdXJJbnN0cnVjdGlvblsyXS51LmpzQ2VsbCB8fCBI
ZWFwOjppc01hcmtlZChjdXJJbnN0cnVjdGlvblsyXS51LmpzQ2VsbC5nZXQoKSkpCiAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjQxOCw3ICsyNDI0LDcgQEAgdm9pZCBDb2RlQmxvY2s6
OnN0cm9uZ2x5VmlzaXRTdHJvbmdSZWZlcgogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBt
X29iamVjdEFsbG9jYXRpb25Qcm9maWxlcy5zaXplKCk7ICsraSkKICAgICAgICAgbV9vYmplY3RB
bGxvY2F0aW9uUHJvZmlsZXNbaV0udmlzaXRBZ2dyZWdhdGUodmlzaXRvcik7CiAKLSAgICB1cGRh
dGVBbGxQcmVkaWN0aW9ucyhDb2xsZWN0aW9uKTsKKyAgICB1cGRhdGVBbGxQcmVkaWN0aW9ucygp
OwogfQogCiB2b2lkIENvZGVCbG9jazo6c3Ryb25nbHlWaXNpdFdlYWtSZWZlcmVuY2VzKFNsb3RW
aXNpdG9yJiB2aXNpdG9yKQpAQCAtMzA5Myw4ICszMDk5LDcgQEAgQXJyYXlQcm9maWxlKiBDb2Rl
QmxvY2s6OmdldE9yQWRkQXJyYXlQcgogICAgIHJldHVybiBhZGRBcnJheVByb2ZpbGUoYnl0ZWNv
ZGVPZmZzZXQpOwogfQogCi12b2lkIENvZGVCbG9jazo6dXBkYXRlQWxsUHJlZGljdGlvbnNBbmRD
b3VudExpdmVuZXNzKAotICAgIEhlYXBPcGVyYXRpb24gb3BlcmF0aW9uLCB1bnNpZ25lZCYgbnVt
YmVyT2ZMaXZlTm9uQXJndW1lbnRWYWx1ZVByb2ZpbGVzLCB1bnNpZ25lZCYgbnVtYmVyT2ZTYW1w
bGVzSW5Qcm9maWxlcykKK3ZvaWQgQ29kZUJsb2NrOjp1cGRhdGVBbGxQcmVkaWN0aW9uc0FuZENv
dW50TGl2ZW5lc3ModW5zaWduZWQmIG51bWJlck9mTGl2ZU5vbkFyZ3VtZW50VmFsdWVQcm9maWxl
cywgdW5zaWduZWQmIG51bWJlck9mU2FtcGxlc0luUHJvZmlsZXMpCiB7CiAgICAgQ29uY3VycmVu
dEpJVExvY2tlciBsb2NrZXIobV9sb2NrKTsKICAgICAKQEAgLTMxMDcsMjMgKzMxMTIsMjMgQEAg
dm9pZCBDb2RlQmxvY2s6OnVwZGF0ZUFsbFByZWRpY3Rpb25zQW5kQwogICAgICAgICAgICAgbnVt
U2FtcGxlcyA9IFZhbHVlUHJvZmlsZTo6bnVtYmVyT2ZCdWNrZXRzOyAvLyBXZSBkb24ndCB3YW50
IHByb2ZpbGVzIHRoYXQgYXJlIGV4dHJlbWVseSBob3QgdG8gYmUgZ2l2ZW4gbW9yZSB3ZWlnaHQu
CiAgICAgICAgIG51bWJlck9mU2FtcGxlc0luUHJvZmlsZXMgKz0gbnVtU2FtcGxlczsKICAgICAg
ICAgaWYgKHByb2ZpbGUtPm1fYnl0ZWNvZGVPZmZzZXQgPCAwKSB7Ci0gICAgICAgICAgICBwcm9m
aWxlLT5jb21wdXRlVXBkYXRlZFByZWRpY3Rpb24obG9ja2VyLCBvcGVyYXRpb24pOworICAgICAg
ICAgICAgcHJvZmlsZS0+Y29tcHV0ZVVwZGF0ZWRQcmVkaWN0aW9uKGxvY2tlcik7CiAgICAgICAg
ICAgICBjb250aW51ZTsKICAgICAgICAgfQogICAgICAgICBpZiAocHJvZmlsZS0+bnVtYmVyT2ZT
YW1wbGVzKCkgfHwgcHJvZmlsZS0+bV9wcmVkaWN0aW9uICE9IFNwZWNOb25lKQogICAgICAgICAg
ICAgbnVtYmVyT2ZMaXZlTm9uQXJndW1lbnRWYWx1ZVByb2ZpbGVzKys7Ci0gICAgICAgIHByb2Zp
bGUtPmNvbXB1dGVVcGRhdGVkUHJlZGljdGlvbihsb2NrZXIsIG9wZXJhdGlvbik7CisgICAgICAg
IHByb2ZpbGUtPmNvbXB1dGVVcGRhdGVkUHJlZGljdGlvbihsb2NrZXIpOwogICAgIH0KICAgICAK
ICNpZiBFTkFCTEUoREZHX0pJVCkKLSAgICBtX2xhenlPcGVyYW5kVmFsdWVQcm9maWxlcy5jb21w
dXRlVXBkYXRlZFByZWRpY3Rpb25zKGxvY2tlciwgb3BlcmF0aW9uKTsKKyAgICBtX2xhenlPcGVy
YW5kVmFsdWVQcm9maWxlcy5jb21wdXRlVXBkYXRlZFByZWRpY3Rpb25zKGxvY2tlcik7CiAjZW5k
aWYKIH0KIAotdm9pZCBDb2RlQmxvY2s6OnVwZGF0ZUFsbFZhbHVlUHJvZmlsZVByZWRpY3Rpb25z
KEhlYXBPcGVyYXRpb24gb3BlcmF0aW9uKQordm9pZCBDb2RlQmxvY2s6OnVwZGF0ZUFsbFZhbHVl
UHJvZmlsZVByZWRpY3Rpb25zKCkKIHsKICAgICB1bnNpZ25lZCBpZ25vcmVkVmFsdWUxLCBpZ25v
cmVkVmFsdWUyOwotICAgIHVwZGF0ZUFsbFByZWRpY3Rpb25zQW5kQ291bnRMaXZlbmVzcyhvcGVy
YXRpb24sIGlnbm9yZWRWYWx1ZTEsIGlnbm9yZWRWYWx1ZTIpOworICAgIHVwZGF0ZUFsbFByZWRp
Y3Rpb25zQW5kQ291bnRMaXZlbmVzcyhpZ25vcmVkVmFsdWUxLCBpZ25vcmVkVmFsdWUyKTsKIH0K
IAogdm9pZCBDb2RlQmxvY2s6OnVwZGF0ZUFsbEFycmF5UHJlZGljdGlvbnMoKQpAQCAtMzEzOCw5
ICszMTQzLDkgQEAgdm9pZCBDb2RlQmxvY2s6OnVwZGF0ZUFsbEFycmF5UHJlZGljdGlvbgogICAg
ICAgICBtX2FycmF5QWxsb2NhdGlvblByb2ZpbGVzW2ldLnVwZGF0ZUluZGV4aW5nVHlwZSgpOwog
fQogCi12b2lkIENvZGVCbG9jazo6dXBkYXRlQWxsUHJlZGljdGlvbnMoSGVhcE9wZXJhdGlvbiBv
cGVyYXRpb24pCit2b2lkIENvZGVCbG9jazo6dXBkYXRlQWxsUHJlZGljdGlvbnMoKQogewotICAg
IHVwZGF0ZUFsbFZhbHVlUHJvZmlsZVByZWRpY3Rpb25zKG9wZXJhdGlvbik7CisgICAgdXBkYXRl
QWxsVmFsdWVQcm9maWxlUHJlZGljdGlvbnMoKTsKICAgICB1cGRhdGVBbGxBcnJheVByZWRpY3Rp
b25zKCk7CiB9CiAKQEAgLTMxNjAsNyArMzE2NSw3IEBAIGJvb2wgQ29kZUJsb2NrOjpzaG91bGRP
cHRpbWl6ZU5vdygpCiAgICAgCiAgICAgdW5zaWduZWQgbnVtYmVyT2ZMaXZlTm9uQXJndW1lbnRW
YWx1ZVByb2ZpbGVzOwogICAgIHVuc2lnbmVkIG51bWJlck9mU2FtcGxlc0luUHJvZmlsZXM7Ci0g
ICAgdXBkYXRlQWxsUHJlZGljdGlvbnNBbmRDb3VudExpdmVuZXNzKE5vT3BlcmF0aW9uLCBudW1i
ZXJPZkxpdmVOb25Bcmd1bWVudFZhbHVlUHJvZmlsZXMsIG51bWJlck9mU2FtcGxlc0luUHJvZmls
ZXMpOworICAgIHVwZGF0ZUFsbFByZWRpY3Rpb25zQW5kQ291bnRMaXZlbmVzcyhudW1iZXJPZkxp
dmVOb25Bcmd1bWVudFZhbHVlUHJvZmlsZXMsIG51bWJlck9mU2FtcGxlc0luUHJvZmlsZXMpOwog
CiAgICAgaWYgKE9wdGlvbnM6OnZlcmJvc2VPU1IoKSkgewogICAgICAgICBkYXRhTG9nRigKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgJKHJldmlzaW9u
IDE1NjQwOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAko
d29ya2luZyBjb3B5KQpAQCAtODcwLDE0ICs4NzAsMTQgQEAgcHVibGljOgogCiAjaWYgRU5BQkxF
KFZBTFVFX1BST0ZJTEVSKQogICAgIGJvb2wgc2hvdWxkT3B0aW1pemVOb3coKTsKLSAgICB2b2lk
IHVwZGF0ZUFsbFZhbHVlUHJvZmlsZVByZWRpY3Rpb25zKEhlYXBPcGVyYXRpb24gPSBOb09wZXJh
dGlvbik7CisgICAgdm9pZCB1cGRhdGVBbGxWYWx1ZVByb2ZpbGVQcmVkaWN0aW9ucygpOwogICAg
IHZvaWQgdXBkYXRlQWxsQXJyYXlQcmVkaWN0aW9ucygpOwotICAgIHZvaWQgdXBkYXRlQWxsUHJl
ZGljdGlvbnMoSGVhcE9wZXJhdGlvbiA9IE5vT3BlcmF0aW9uKTsKKyAgICB2b2lkIHVwZGF0ZUFs
bFByZWRpY3Rpb25zKCk7CiAjZWxzZQogICAgIGJvb2wgdXBkYXRlQWxsUHJlZGljdGlvbnNBbmRD
aGVja0lmU2hvdWxkT3B0aW1pemVOb3coKSB7IHJldHVybiBmYWxzZTsgfQotICAgIHZvaWQgdXBk
YXRlQWxsVmFsdWVQcm9maWxlUHJlZGljdGlvbnMoSGVhcE9wZXJhdGlvbiA9IE5vT3BlcmF0aW9u
KSB7IH0KKyAgICB2b2lkIHVwZGF0ZUFsbFZhbHVlUHJvZmlsZVByZWRpY3Rpb25zKCkgeyB9CiAg
ICAgdm9pZCB1cGRhdGVBbGxBcnJheVByZWRpY3Rpb25zKCkgeyB9Ci0gICAgdm9pZCB1cGRhdGVB
bGxQcmVkaWN0aW9ucyhIZWFwT3BlcmF0aW9uID0gTm9PcGVyYXRpb24pIHsgfQorICAgIHZvaWQg
dXBkYXRlQWxsUHJlZGljdGlvbnMoKSB7IH0KICNlbmRpZgogCiAjaWYgRU5BQkxFKEpJVCkKQEAg
LTk0MSw3ICs5NDEsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAgICAgICAgIAogI2lmIEVOQUJMRShW
QUxVRV9QUk9GSUxFUikKLSAgICB2b2lkIHVwZGF0ZUFsbFByZWRpY3Rpb25zQW5kQ291bnRMaXZl
bmVzcyhIZWFwT3BlcmF0aW9uLCB1bnNpZ25lZCYgbnVtYmVyT2ZMaXZlTm9uQXJndW1lbnRWYWx1
ZVByb2ZpbGVzLCB1bnNpZ25lZCYgbnVtYmVyT2ZTYW1wbGVzSW5Qcm9maWxlcyk7CisgICAgdm9p
ZCB1cGRhdGVBbGxQcmVkaWN0aW9uc0FuZENvdW50TGl2ZW5lc3ModW5zaWduZWQmIG51bWJlck9m
TGl2ZU5vbkFyZ3VtZW50VmFsdWVQcm9maWxlcywgdW5zaWduZWQmIG51bWJlck9mU2FtcGxlc0lu
UHJvZmlsZXMpOwogI2VuZGlmCiAKICAgICB2b2lkIHNldENvbnN0YW50UmVnaXN0ZXJzKGNvbnN0
IFZlY3RvcjxXcml0ZUJhcnJpZXI8VW5rbm93bj4gPiYgY29uc3RhbnRzKQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0xhenlPcGVyYW5kVmFsdWVQcm9maWxlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTGF6eU9wZXJhbmRWYWx1
ZVByb2ZpbGUuY3BwCShyZXZpc2lvbiAxNTY0MDkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvTGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
NSwxMyArMzUsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiBDb21wcmVzc2VkTGF6eU9wZXJhbmRWYWx1
ZVByb2ZpbGVIb2xkZXI6OkNvbXByZXNzZWRMYXp5T3BlcmFuZFZhbHVlUHJvZmlsZUhvbGRlcigp
IHsgfQogQ29tcHJlc3NlZExhenlPcGVyYW5kVmFsdWVQcm9maWxlSG9sZGVyOjp+Q29tcHJlc3Nl
ZExhenlPcGVyYW5kVmFsdWVQcm9maWxlSG9sZGVyKCkgeyB9CiAKLXZvaWQgQ29tcHJlc3NlZExh
enlPcGVyYW5kVmFsdWVQcm9maWxlSG9sZGVyOjpjb21wdXRlVXBkYXRlZFByZWRpY3Rpb25zKGNv
bnN0IENvbmN1cnJlbnRKSVRMb2NrZXImIGxvY2tlciwgSGVhcE9wZXJhdGlvbiBvcGVyYXRpb24p
Cit2b2lkIENvbXByZXNzZWRMYXp5T3BlcmFuZFZhbHVlUHJvZmlsZUhvbGRlcjo6Y29tcHV0ZVVw
ZGF0ZWRQcmVkaWN0aW9ucyhjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiBsb2NrZXIpCiB7CiAg
ICAgaWYgKCFtX2RhdGEpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgbV9kYXRhLT5zaXplKCk7ICsraSkKLSAgICAgICAgbV9kYXRhLT5hdChpKS5j
b21wdXRlVXBkYXRlZFByZWRpY3Rpb24obG9ja2VyLCBvcGVyYXRpb24pOworICAgICAgICBtX2Rh
dGEtPmF0KGkpLmNvbXB1dGVVcGRhdGVkUHJlZGljdGlvbihsb2NrZXIpOwogfQogCiBMYXp5T3Bl
cmFuZFZhbHVlUHJvZmlsZSogQ29tcHJlc3NlZExhenlPcGVyYW5kVmFsdWVQcm9maWxlSG9sZGVy
OjphZGQoCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTGF6eU9wZXJhbmRW
YWx1ZVByb2ZpbGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvTGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUuaAkocmV2aXNpb24gMTU2NDA5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0xhenlPcGVyYW5kVmFsdWVQcm9maWxlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTE1Nyw3ICsxNTcsNyBAQCBwdWJsaWM6CiAgICAgQ29tcHJlc3NlZExhenlP
cGVyYW5kVmFsdWVQcm9maWxlSG9sZGVyKCk7CiAgICAgfkNvbXByZXNzZWRMYXp5T3BlcmFuZFZh
bHVlUHJvZmlsZUhvbGRlcigpOwogICAgIAotICAgIHZvaWQgY29tcHV0ZVVwZGF0ZWRQcmVkaWN0
aW9ucyhjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgSGVhcE9wZXJhdGlvbik7CisgICAgdm9p
ZCBjb21wdXRlVXBkYXRlZFByZWRpY3Rpb25zKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImKTsK
ICAgICAKICAgICBMYXp5T3BlcmFuZFZhbHVlUHJvZmlsZSogYWRkKAogICAgICAgICBjb25zdCBD
b25jdXJyZW50SklUTG9ja2VyJiwgY29uc3QgTGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGVLZXkmIGtl
eSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVmFsdWVQcm9maWxlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ZhbHVlUHJvZmls
ZS5oCShyZXZpc2lvbiAxNTY0MDkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
VmFsdWVQcm9maWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTU1LDcgKzU1LDYgQEAgc3RydWN0IFZh
bHVlUHJvZmlsZUJhc2UgewogICAgICAgICA6IG1fYnl0ZWNvZGVPZmZzZXQoLTEpCiAgICAgICAg
ICwgbV9wcmVkaWN0aW9uKFNwZWNOb25lKQogICAgICAgICAsIG1fbnVtYmVyT2ZTYW1wbGVzSW5Q
cmVkaWN0aW9uKDApCi0gICAgICAgICwgbV9zaW5nbGV0b25WYWx1ZUlzVG9wKGZhbHNlKQogICAg
IHsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHRvdGFsTnVtYmVyT2ZCdWNrZXRz
OyArK2kpCiAgICAgICAgICAgICBtX2J1Y2tldHNbaV0gPSBKU1ZhbHVlOjplbmNvZGUoSlNWYWx1
ZSgpKTsKQEAgLTY1LDcgKzY0LDYgQEAgc3RydWN0IFZhbHVlUHJvZmlsZUJhc2UgewogICAgICAg
ICA6IG1fYnl0ZWNvZGVPZmZzZXQoYnl0ZWNvZGVPZmZzZXQpCiAgICAgICAgICwgbV9wcmVkaWN0
aW9uKFNwZWNOb25lKQogICAgICAgICAsIG1fbnVtYmVyT2ZTYW1wbGVzSW5QcmVkaWN0aW9uKDAp
Ci0gICAgICAgICwgbV9zaW5nbGV0b25WYWx1ZUlzVG9wKGZhbHNlKQogICAgIHsKICAgICAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHRvdGFsTnVtYmVyT2ZCdWNrZXRzOyArK2kpCiAgICAg
ICAgICAgICBtX2J1Y2tldHNbaV0gPSBKU1ZhbHVlOjplbmNvZGUoSlNWYWx1ZSgpKTsKQEAgLTEx
NywyMyArMTE1LDEzIEBAIHN0cnVjdCBWYWx1ZVByb2ZpbGVCYXNlIHsKICAgICAgICAgY29tcHV0
ZVVwZGF0ZWRQcmVkaWN0aW9uKGxvY2tlcik7CiAgICAgICAgIAogICAgICAgICBTdHJpbmdQcmlu
dFN0cmVhbSBvdXQ7Ci0gICAgICAgIAotICAgICAgICBpZiAobV9zaW5nbGV0b25WYWx1ZUlzVG9w
KQotICAgICAgICAgICAgb3V0LnByaW50KCJwcmVkaWN0aW5nICIsIFNwZWN1bGF0aW9uRHVtcCht
X3ByZWRpY3Rpb24pKTsKLSAgICAgICAgZWxzZSBpZiAobV9zaW5nbGV0b25WYWx1ZSkKLSAgICAg
ICAgICAgIG91dC5wcmludCgicHJlZGljdGluZyAiLCBtX3NpbmdsZXRvblZhbHVlKTsKLSAgICAg
ICAgCisgICAgICAgIG91dC5wcmludCgicHJlZGljdGluZyAiLCBTcGVjdWxhdGlvbkR1bXAobV9w
cmVkaWN0aW9uKSk7CiAgICAgICAgIHJldHVybiBvdXQudG9DU3RyaW5nKCk7CiAgICAgfQogICAg
IAogICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KQogICAgIHsKICAgICAgICAgb3V0LnBy
aW50KCJzYW1wbGVzID0gIiwgdG90YWxOdW1iZXJPZlNhbXBsZXMoKSwgIiBwcmVkaWN0aW9uID0g
IiwgU3BlY3VsYXRpb25EdW1wKG1fcHJlZGljdGlvbikpOwotICAgICAgICBvdXQucHJpbnRmKCIs
IHZhbHVlID0gIik7Ci0gICAgICAgIGlmIChtX3NpbmdsZXRvblZhbHVlSXNUb3ApCi0gICAgICAg
ICAgICBvdXQucHJpbnRmKCJUT1AiKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgb3V0LnBy
aW50KG1fc2luZ2xldG9uVmFsdWUpOwogICAgICAgICBib29sIGZpcnN0ID0gdHJ1ZTsKICAgICAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHRvdGFsTnVtYmVyT2ZCdWNrZXRzOyArK2kpIHsK
ICAgICAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUobV9idWNrZXRzW2ld
KTsKQEAgLTE1MCw3ICsxMzgsNyBAQCBzdHJ1Y3QgVmFsdWVQcm9maWxlQmFzZSB7CiAgICAgCiAg
ICAgLy8gVXBkYXRlcyB0aGUgcHJlZGljdGlvbiBhbmQgcmV0dXJucyB0aGUgbmV3IG9uZS4gTmV2
ZXIgY2FsbCB0aGlzIGZyb20gYW55IHRocmVhZAogICAgIC8vIHRoYXQgaXNuJ3QgZXhlY3V0aW5n
IHRoZSBjb2RlLgotICAgIFNwZWN1bGF0ZWRUeXBlIGNvbXB1dGVVcGRhdGVkUHJlZGljdGlvbihj
b25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgSGVhcE9wZXJhdGlvbiBvcGVyYXRpb24gPSBOb09w
ZXJhdGlvbikKKyAgICBTcGVjdWxhdGVkVHlwZSBjb21wdXRlVXBkYXRlZFByZWRpY3Rpb24oY29u
c3QgQ29uY3VycmVudEpJVExvY2tlciYpCiAgICAgewogICAgICAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwOyBpIDwgdG90YWxOdW1iZXJPZkJ1Y2tldHM7ICsraSkgewogICAgICAgICAgICAgSlNWYWx1
ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShtX2J1Y2tldHNbaV0pOwpAQCAtMTYwLDIzICsxNDgs
OSBAQCBzdHJ1Y3QgVmFsdWVQcm9maWxlQmFzZSB7CiAgICAgICAgICAgICBtX251bWJlck9mU2Ft
cGxlc0luUHJlZGljdGlvbisrOwogICAgICAgICAgICAgbWVyZ2VTcGVjdWxhdGlvbihtX3ByZWRp
Y3Rpb24sIHNwZWN1bGF0aW9uRnJvbVZhbHVlKHZhbHVlKSk7CiAgICAgICAgICAgICAKLSAgICAg
ICAgICAgIGlmICghbV9zaW5nbGV0b25WYWx1ZUlzVG9wICYmICEhdmFsdWUpIHsKLSAgICAgICAg
ICAgICAgICBpZiAoIW1fc2luZ2xldG9uVmFsdWUpCi0gICAgICAgICAgICAgICAgICAgIG1fc2lu
Z2xldG9uVmFsdWUgPSB2YWx1ZTsKLSAgICAgICAgICAgICAgICBlbHNlIGlmIChtX3NpbmdsZXRv
blZhbHVlICE9IHZhbHVlKQotICAgICAgICAgICAgICAgICAgICBtX3NpbmdsZXRvblZhbHVlSXNU
b3AgPSB0cnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCiAgICAgICAgICAgICBtX2J1
Y2tldHNbaV0gPSBKU1ZhbHVlOjplbmNvZGUoSlNWYWx1ZSgpKTsKICAgICAgICAgfQogICAgICAg
ICAKLSAgICAgICAgaWYgKG9wZXJhdGlvbiA9PSBDb2xsZWN0aW9uCi0gICAgICAgICAgICAmJiAh
bV9zaW5nbGV0b25WYWx1ZUlzVG9wCi0gICAgICAgICAgICAmJiAhIW1fc2luZ2xldG9uVmFsdWUK
LSAgICAgICAgICAgICYmIG1fc2luZ2xldG9uVmFsdWUuaXNDZWxsKCkKLSAgICAgICAgICAgICYm
ICFIZWFwOjppc01hcmtlZChtX3NpbmdsZXRvblZhbHVlLmFzQ2VsbCgpKSkKLSAgICAgICAgICAg
IG1fc2luZ2xldG9uVmFsdWVJc1RvcCA9IHRydWU7Ci0gICAgICAgICAgICAKICAgICAgICAgcmV0
dXJuIG1fcHJlZGljdGlvbjsKICAgICB9CiAgICAgCkBAIC0xODUsOSArMTU5LDYgQEAgc3RydWN0
IFZhbHVlUHJvZmlsZUJhc2UgewogICAgIFNwZWN1bGF0ZWRUeXBlIG1fcHJlZGljdGlvbjsKICAg
ICB1bnNpZ25lZCBtX251bWJlck9mU2FtcGxlc0luUHJlZGljdGlvbjsKICAgICAKLSAgICBib29s
IG1fc2luZ2xldG9uVmFsdWVJc1RvcDsKLSAgICBKU1ZhbHVlIG1fc2luZ2xldG9uVmFsdWU7Ci0K
ICAgICBFbmNvZGVkSlNWYWx1ZSBtX2J1Y2tldHNbdG90YWxOdW1iZXJPZkJ1Y2tldHNdOwogfTsK
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVy
YXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9CeXRlY29kZUdlbmVyYXRvci5jcHAJKHJldmlzaW9uIDE1NjQwOSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zNjYsOSArMzY2LDkgQEAgQnl0ZWNvZGVHZW5lcmF0b3I6OkJ5dGVjb2RlR2VuZXJh
dG9yKFZNJgogICAgIGlmIChpc0NvbnN0cnVjdG9yKCkpIHsKICAgICAgICAgZW1pdENyZWF0ZVRo
aXMoJm1fdGhpc1JlZ2lzdGVyKTsKICAgICB9IGVsc2UgaWYgKGZ1bmN0aW9uQm9keS0+dXNlc1Ro
aXMoKSB8fCBjb2RlQmxvY2stPnVzZXNFdmFsKCkgfHwgbV9zaG91bGRFbWl0RGVidWdIb29rcykg
ewotICAgICAgICBVbmxpbmtlZFZhbHVlUHJvZmlsZSBwcm9maWxlID0gZW1pdFByb2ZpbGVkT3Bj
b2RlKG9wX3RvX3RoaXMpOworICAgICAgICBlbWl0T3Bjb2RlKG9wX3RvX3RoaXMpOwogICAgICAg
ICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoa2lsbCgmbV90aGlzUmVnaXN0ZXIpKTsKLSAgICAgICAg
aW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHByb2ZpbGUpOworICAgICAgICBpbnN0cnVjdGlvbnMoKS5h
cHBlbmQoMCk7CiAgICAgfQogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0J5dGVDb2RlUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkocmV2aXNpb24gMTU2NDA5KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTE5MDUsMjUgKzE5MDUsMTYgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNp
Z25lZAogICAgICAgICBjYXNlIG9wX3RvX3RoaXM6IHsKICAgICAgICAgICAgIE5vZGUqIG9wMSA9
IGdldFRoaXMoKTsKICAgICAgICAgICAgIGlmIChvcDEtPm9wKCkgIT0gVG9UaGlzKSB7Ci0gICAg
ICAgICAgICAgICAgQ29uY3VycmVudEpJVExvY2tlciBsb2NrZXIobV9pbmxpbmVTdGFja1RvcC0+
bV9wcm9maWxlZEJsb2NrLT5tX2xvY2spOwotICAgICAgICAgICAgICAgIFZhbHVlUHJvZmlsZSog
cHJvZmlsZSA9Ci0gICAgICAgICAgICAgICAgICAgIG1faW5saW5lU3RhY2tUb3AtPm1fcHJvZmls
ZWRCbG9jay0+dmFsdWVQcm9maWxlRm9yQnl0ZWNvZGVPZmZzZXQobV9jdXJyZW50SW5kZXgpOwot
ICAgICAgICAgICAgICAgIHByb2ZpbGUtPmNvbXB1dGVVcGRhdGVkUHJlZGljdGlvbihsb2NrZXIp
OwotI2lmIERGR19FTkFCTEUoREVCVUdfVkVSQk9TRSkKLSAgICAgICAgICAgICAgICBkYXRhTG9n
RigiW2JjIyV1XTogcHJvZmlsZSAlcDogIiwgbV9jdXJyZW50SW5kZXgsIHByb2ZpbGUpOwotICAg
ICAgICAgICAgICAgIHByb2ZpbGUtPmR1bXAoV1RGOjpkYXRhRmlsZSgpKTsKLSAgICAgICAgICAg
ICAgICBkYXRhTG9nRigiXG4iKTsKLSNlbmRpZgotICAgICAgICAgICAgICAgIGlmIChwcm9maWxl
LT5tX3NpbmdsZXRvblZhbHVlSXNUb3AKLSAgICAgICAgICAgICAgICAgICAgfHwgIXByb2ZpbGUt
Pm1fc2luZ2xldG9uVmFsdWUKLSAgICAgICAgICAgICAgICAgICAgfHwgIXByb2ZpbGUtPm1fc2lu
Z2xldG9uVmFsdWUuaXNDZWxsKCkKLSAgICAgICAgICAgICAgICAgICAgfHwgcHJvZmlsZS0+bV9z
aW5nbGV0b25WYWx1ZS5hc0NlbGwoKS0+Y2xhc3NJbmZvKCkgIT0gU3RydWN0dXJlOjppbmZvKCkK
LSAgICAgICAgICAgICAgICAgICAgfHwgc3RhdGljX2Nhc3Q8U3RydWN0dXJlKj4ocHJvZmlsZS0+
bV9zaW5nbGV0b25WYWx1ZS5hc0NlbGwoKSktPmNsYXNzSW5mbygpLT5tZXRob2RUYWJsZS50b1Ro
aXMgIT0gSlNPYmplY3Q6OmluZm8oKS0+bWV0aG9kVGFibGUudG9UaGlzKQorICAgICAgICAgICAg
ICAgIFN0cnVjdHVyZSogY2FjaGVkU3RydWN0dXJlID0gY3VycmVudEluc3RydWN0aW9uWzJdLnUu
c3RydWN0dXJlLmdldCgpOworICAgICAgICAgICAgICAgIGlmICghY2FjaGVkU3RydWN0dXJlCisg
ICAgICAgICAgICAgICAgICAgIHx8IGNhY2hlZFN0cnVjdHVyZS0+Y2xhc3NJbmZvKCktPm1ldGhv
ZFRhYmxlLnRvVGhpcyAhPSBKU09iamVjdDo6aW5mbygpLT5tZXRob2RUYWJsZS50b1RoaXMKKyAg
ICAgICAgICAgICAgICAgICAgfHwgbV9pbmxpbmVTdGFja1RvcC0+bV9wcm9maWxlZEJsb2NrLT5j
b3VsZFRha2VTbG93Q2FzZShtX2N1cnJlbnRJbmRleCkKKyAgICAgICAgICAgICAgICAgICAgfHwg
bV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRl
eCwgQmFkQ2FjaGUpKSB7CiAgICAgICAgICAgICAgICAgICAgIHNldFRoaXMoYWRkVG9HcmFwaChU
b1RoaXMsIG9wMSkpOwotICAgICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIH0g
ZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoCiAgICAgICAgICAgICAgICAg
ICAgICAgICBDaGVja1N0cnVjdHVyZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIE9wSW5mbyht
X2dyYXBoLmFkZFN0cnVjdHVyZVNldChqc0Nhc3Q8U3RydWN0dXJlKj4ocHJvZmlsZS0+bV9zaW5n
bGV0b25WYWx1ZS5hc0NlbGwoKSkpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIE9wSW5mbyht
X2dyYXBoLmFkZFN0cnVjdHVyZVNldChjYWNoZWRTdHJ1Y3R1cmUpKSwKICAgICAgICAgICAgICAg
ICAgICAgICAgIG9wMSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzMzJfNjQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcAkocmV2aXNp
b24gMTU2NDA5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzMzJfNjQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTgwLDE3ICsxMTgwLDE2IEBAIHZvaWQgSklUOjplbWl0
U2xvd19vcF9jcmVhdGVfdGhpcyhJbnN0cnUKIAogdm9pZCBKSVQ6OmVtaXRfb3BfdG9fdGhpcyhJ
bnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogeworICAgIFdyaXRlQmFycmllckJhc2U8
U3RydWN0dXJlPiogY2FjaGVkU3RydWN0dXJlID0gJmN1cnJlbnRJbnN0cnVjdGlvblsyXS51LnN0
cnVjdHVyZTsKICAgICBpbnQgdGhpc1JlZ2lzdGVyID0gY3VycmVudEluc3RydWN0aW9uWzFdLnUu
b3BlcmFuZDsKIAogICAgIGVtaXRMb2FkKHRoaXNSZWdpc3RlciwgcmVnVDMsIHJlZ1QyKTsKIAog
ICAgIGFkZFNsb3dDYXNlKGJyYW5jaDMyKE5vdEVxdWFsLCByZWdUMywgVHJ1c3RlZEltbTMyKEpT
VmFsdWU6OkNlbGxUYWcpKSk7CiAgICAgbG9hZFB0cihBZGRyZXNzKHJlZ1QyLCBKU0NlbGw6OnN0
cnVjdHVyZU9mZnNldCgpKSwgcmVnVDApOwotICAgIGlmIChzaG91bGRFbWl0UHJvZmlsaW5nKCkp
IHsKLSAgICAgICAgbW92ZShyZWdUMywgcmVnVDEpOwotICAgICAgICBlbWl0VmFsdWVQcm9maWxp
bmdTaXRlKHJlZ1Q0KTsKLSAgICB9CiAgICAgYWRkU2xvd0Nhc2UoYnJhbmNoOChOb3RFcXVhbCwg
QWRkcmVzcyhyZWdUMCwgU3RydWN0dXJlOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksIFRydXN0ZWRJ
bW0zMihGaW5hbE9iamVjdFR5cGUpKSk7CisgICAgbG9hZFB0cihjYWNoZWRTdHJ1Y3R1cmUsIHJl
Z1QyKTsKKyAgICBhZGRTbG93Q2FzZShicmFuY2hQdHIoTm90RXF1YWwsIHJlZ1QwLCByZWdUMikp
OwogfQogCiB2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfdG9fdGhpcyhJbnN0cnVjdGlvbiogY3VycmVu
dEluc3RydWN0aW9uLCBWZWN0b3I8U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9yJiBpdGVyKQpAQCAt
MTE5OCw2ICsxMTk3LDcgQEAgdm9pZCBKSVQ6OmVtaXRTbG93X29wX3RvX3RoaXMoSW5zdHJ1Y3Rp
bwogICAgIGludCBkc3QgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kOwogICAgIGxp
bmtTbG93Q2FzZShpdGVyKTsKICAgICBsaW5rU2xvd0Nhc2UoaXRlcik7CisgICAgbGlua1Nsb3dD
YXNlKGl0ZXIpOwogICAgIEpJVFNsb3dQYXRoQ2FsbCBzbG93UGF0aENhbGwodGhpcywgY3VycmVu
dEluc3RydWN0aW9uLCBzbG93X3BhdGhfdG9fdGhpcyk7CiAgICAgc2xvd1BhdGhDYWxsLmNhbGwo
KTsKICAgICBlbWl0TG9hZChkc3QsIHJlZ1QxLCByZWdUMCk7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHJldmlzaW9uIDE1NjQwOSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg2NSwx
NCArODY1LDE1IEBAIHZvaWQgSklUOjplbWl0X29wX2luaXRfbGF6eV9yZWcoSW5zdHJ1Y3QKIAog
dm9pZCBKSVQ6OmVtaXRfb3BfdG9fdGhpcyhJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9u
KQogeworICAgIFdyaXRlQmFycmllckJhc2U8U3RydWN0dXJlPiogY2FjaGVkU3RydWN0dXJlID0g
JmN1cnJlbnRJbnN0cnVjdGlvblsyXS51LnN0cnVjdHVyZTsKICAgICBlbWl0R2V0VmlydHVhbFJl
Z2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQsIHJlZ1QxKTsKIAogICAgIGVt
aXRKdW1wU2xvd0Nhc2VJZk5vdEpTQ2VsbChyZWdUMSk7CiAgICAgbG9hZFB0cihBZGRyZXNzKHJl
Z1QxLCBKU0NlbGw6OnN0cnVjdHVyZU9mZnNldCgpKSwgcmVnVDApOwotICAgIGlmIChzaG91bGRF
bWl0UHJvZmlsaW5nKCkpCi0gICAgICAgIGVtaXRWYWx1ZVByb2ZpbGluZ1NpdGUocmVnVDQpOwog
CiAgICAgYWRkU2xvd0Nhc2UoYnJhbmNoOChOb3RFcXVhbCwgQWRkcmVzcyhyZWdUMCwgU3RydWN0
dXJlOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksIFRydXN0ZWRJbW0zMihGaW5hbE9iamVjdFR5cGUp
KSk7CisgICAgbG9hZFB0cihjYWNoZWRTdHJ1Y3R1cmUsIHJlZ1QyKTsKKyAgICBhZGRTbG93Q2Fz
ZShicmFuY2hQdHIoTm90RXF1YWwsIHJlZ1QwLCByZWdUMikpOwogfQogCiB2b2lkIEpJVDo6ZW1p
dF9vcF9nZXRfY2FsbGVlKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCkBAIC05NDUs
NiArOTQ2LDcgQEAgdm9pZCBKSVQ6OmVtaXRTbG93X29wX3RvX3RoaXMoSW5zdHJ1Y3Rpbwogewog
ICAgIGxpbmtTbG93Q2FzZShpdGVyKTsKICAgICBsaW5rU2xvd0Nhc2UoaXRlcik7CisgICAgbGlu
a1Nsb3dDYXNlKGl0ZXIpOwogCiAgICAgSklUU2xvd1BhdGhDYWxsIHNsb3dQYXRoQ2FsbCh0aGlz
LCBjdXJyZW50SW5zdHJ1Y3Rpb24sIHNsb3dfcGF0aF90b190aGlzKTsKICAgICBzbG93UGF0aENh
bGwuY2FsbCgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIzMl82NC5hc20KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20JKHJldmlzaW9uIDE1NjQwOSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCSh3
b3JraW5nIGNvcHkpCkBAIC00MzEsNyArNDMxLDggQEAgX2xsaW50X29wX3RvX3RoaXM6CiAgICAg
bG9hZGkgUGF5bG9hZE9mZnNldFtjZnIsIHQwLCA4XSwgdDAKICAgICBsb2FkcCBKU0NlbGw6Om1f
c3RydWN0dXJlW3QwXSwgdDAKICAgICBiYm5lcSBTdHJ1Y3R1cmU6Om1fdHlwZUluZm8gKyBUeXBl
SW5mbzo6bV90eXBlW3QwXSwgRmluYWxPYmplY3RUeXBlLCAub3BUb1RoaXNTbG93Ci0gICAgdmFs
dWVQcm9maWxlKENlbGxUYWcsIHQwLCA4LCB0MSkKKyAgICBsb2FkcEZyb21JbnN0cnVjdGlvbigy
LCB0MikKKyAgICBicG5lcSB0MCwgdDIsIC5vcFRvVGhpc1Nsb3cKICAgICBkaXNwYXRjaCgzKQog
CiAub3BUb1RoaXNTbG93OgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc20KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20JKHJldmlzaW9uIDE1NjQwOSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMTEsNyArMzExLDggQEAgX2xsaW50X29wX3RvX3RoaXM6CiAgICAgYnRx
bnogdDAsIHRhZ01hc2ssIC5vcFRvVGhpc1Nsb3cKICAgICBsb2FkcCBKU0NlbGw6Om1fc3RydWN0
dXJlW3QwXSwgdDAKICAgICBiYm5lcSBTdHJ1Y3R1cmU6Om1fdHlwZUluZm8gKyBUeXBlSW5mbzo6
bV90eXBlW3QwXSwgRmluYWxPYmplY3RUeXBlLCAub3BUb1RoaXNTbG93Ci0gICAgdmFsdWVQcm9m
aWxlKHQwLCAyLCB0MSkKKyAgICBsb2FkcEZyb21JbnN0cnVjdGlvbigyLCB0MikKKyAgICBicG5l
cSB0MCwgdDIsIC5vcFRvVGhpc1Nsb3cKICAgICBkaXNwYXRjaCgzKQogCiAub3BUb1RoaXNTbG93
OgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93
UGF0aHMuY3BwCShyZXZpc2lvbiAxNTY0MDkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Db21tb25TbG93UGF0aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzAsMTAgKzIzMCwx
MCBAQCBTTE9XX1BBVEhfREVDTChzbG93X3BhdGhfdG9fdGhpcykKIHsKICAgICBCRUdJTigpOwog
ICAgIEpTVmFsdWUgdjEgPSBPUCgxKS5qc1ZhbHVlKCk7Ci0jaWYgRU5BQkxFKFZBTFVFX1BST0ZJ
TEVSKQotICAgIHBjW09QQ09ERV9MRU5HVEgob3BfdG9fdGhpcykgLSAxXS51LnByb2ZpbGUtPm1f
YnVja2V0c1swXSA9Ci0gICAgICAgIEpTVmFsdWU6OmVuY29kZSh2MS5zdHJ1Y3R1cmVPclVuZGVm
aW5lZCgpKTsKLSNlbmRpZgorICAgIGlmICh2MS5pc0NlbGwoKSkKKyAgICAgICAgcGNbMl0udS5z
dHJ1Y3R1cmUuc2V0KGV4ZWMtPnZtKCksIGV4ZWMtPmNvZGVCbG9jaygpLT5vd25lckV4ZWN1dGFi
bGUoKSwgdjEuYXNDZWxsKCktPnN0cnVjdHVyZSgpKTsKKyAgICBlbHNlCisgICAgICAgIHBjWzJd
LnUuc3RydWN0dXJlLmNsZWFyKCk7CiAgICAgUkVUVVJOKHYxLnRvVGhpcyhleGVjLCBleGVjLT5j
b2RlQmxvY2soKS0+aXNTdHJpY3RNb2RlKCkgPyBTdHJpY3RNb2RlIDogTm90U3RyaWN0TW9kZSkp
OwogfQogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNTY0MjEpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMy0wOS0yNSAgTWFyayBIYWhu
ZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgorCisgICAgICAgIG9wX3RvX3RoaXMgc2hv
dWxkbid0IHVzZSB2YWx1ZSBwcm9maWxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEyMTkyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFVwZGF0ZWQgYSBjb3VwbGUgdGVzdHMgdGhhdCB3YWl0ZWQgZm9y
IHR3byBERkcgY29tcGlsZXMsIGJ1dCB3aXRoIHRoaXMgcGF0Y2ggd2UgCisgICAgICAgIGRvbid0
IGRvIHR3byBjb21waWxlcyBhbnkgbW9yZSwgc28gd2UgZG9uJ3Qgd2FudCB0byB3YWl0IGZvcmV2
ZXIuCisKKyAgICAgICAgKiBqcy9zY3JpcHQtdGVzdHMvZGZnLWNvbnZlcnQtdGhpcy1wb2x5bW9y
cGhpYy1vYmplY3QtdGhlbi1leGl0LW9uLW90aGVyLmpzOgorICAgICAgICAqIGpzL3NjcmlwdC10
ZXN0cy9kZmctY29udmVydC10aGlzLXBvbHltb3JwaGljLW9iamVjdC10aGVuLWV4aXQtb24tc3Ry
aW5nLmpzOgorCiAyMDEzLTA5LTI1ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkIEdUSyBnYXJkZW5pbmcuIE1vdmluZyBXSzEtc3BlY2lm
aWMgZmFpbHVyZSBleHBlY3RhdGlvbnMgaW50byB0aGUgV0sxLXNwZWNpZmljIFRlc3RFeHBlY3Rh
dGlvbnMuCkluZGV4OiBMYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvZGZnLWNvbnZlcnQtdGhp
cy1wb2x5bW9ycGhpYy1vYmplY3QtdGhlbi1leGl0LW9uLW90aGVyLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9kZmctY29udmVydC10aGlzLXBvbHltb3JwaGlj
LW9iamVjdC10aGVuLWV4aXQtb24tb3RoZXIuanMJKHJldmlzaW9uIDE1NjQwOSkKKysrIExheW91
dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9kZmctY29udmVydC10aGlzLXBvbHltb3JwaGljLW9iamVj
dC10aGVuLWV4aXQtb24tb3RoZXIuanMJKHdvcmtpbmcgY29weSkKQEAgLTExLDcgKzExLDcgQEAg
eCA9IDQyOwogc2lsZW50VGVzdFBhc3MgPSB0cnVlOwogbm9JbmxpbmUoZm9vKTsKIAotZm9yICh2
YXIgaSA9IDA7IGkgPCAxMDAwOyBpID0gZGZnSW5jcmVtZW50KHtmOmZvbywgaTpkZmdJbmNyZW1l
bnQoe2Y6Zm9vLCBpOmkgKyAxLCBuOjEwMH0pLCBuOjUwMCwgY29tcGlsZXM6Mn0pKSB7Citmb3Ig
KHZhciBpID0gMDsgaSA8IDEwMDA7IGkgPSBkZmdJbmNyZW1lbnQoe2Y6Zm9vLCBpOmkgKyAxLCBu
OjUwMH0pKSB7CiAgICAgdmFyIG1lOwogICAgIGlmIChpIDwgMTUwKQogICAgICAgICBtZSA9IHRo
aXM7CkluZGV4OiBMYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvZGZnLWNvbnZlcnQtdGhpcy1w
b2x5bW9ycGhpYy1vYmplY3QtdGhlbi1leGl0LW9uLXN0cmluZy5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvZGZnLWNvbnZlcnQtdGhpcy1wb2x5bW9ycGhpYy1v
YmplY3QtdGhlbi1leGl0LW9uLXN0cmluZy5qcwkocmV2aXNpb24gMTU2NDA5KQorKysgTGF5b3V0
VGVzdHMvanMvc2NyaXB0LXRlc3RzL2RmZy1jb252ZXJ0LXRoaXMtcG9seW1vcnBoaWMtb2JqZWN0
LXRoZW4tZXhpdC1vbi1zdHJpbmcuanMJKHdvcmtpbmcgY29weSkKQEAgLTEzLDcgKzEzLDcgQEAg
U3RyaW5nLnByb3RvdHlwZS54ID0gNDI7CiBzaWxlbnRUZXN0UGFzcyA9IHRydWU7CiBub0lubGlu
ZShmb28pOwogCi1mb3IgKHZhciBpID0gMDsgaSA8IDEwMDA7IGkgPSBkZmdJbmNyZW1lbnQoe2Y6
Zm9vLCBpOmRmZ0luY3JlbWVudCh7Zjpmb28sIGk6aSArIDEsIG46MTAwfSksIG46NTAwLCBjb21w
aWxlczoyfSkpIHsKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDsgaSA9IGRmZ0luY3JlbWVudCh7
Zjpmb28sIGk6aSArIDEsIG46NTAwfSkpIHsKICAgICB2YXIgbWU7CiAgICAgaWYgKGkgPCAxNTAp
CiAgICAgICAgIG1lID0gdGhpczsK
</data>

          </attachment>
      

    </bug>

</bugzilla>