<?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>158316</bug_id>
          
          <creation_ts>2016-06-02 14:33:56 -0700</creation_ts>
          <short_desc>Clean up how StackVisitor dumps its frames.</short_desc>
          <delta_ts>2016-06-03 09:49: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>JavaScriptCore</component>
          <version>WebKit Local 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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1198692</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-06-02 14:33:56 -0700</bug_when>
    <thetext>Update to dump with a PrintStream.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198751</commentid>
    <comment_count>1</comment_count>
      <attachid>280388</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-06-02 17:14:01 -0700</bug_when>
    <thetext>Created attachment 280388
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198754</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-02 17:15:27 -0700</bug_when>
    <thetext>Attachment 280388 did not pass style-queue:


ERROR: Source/JavaScriptCore/interpreter/StackVisitor.h:91:  The parameter name &quot;indent&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198758</commentid>
    <comment_count>3</comment_count>
      <attachid>280388</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-06-02 17:24:11 -0700</bug_when>
    <thetext>Comment on attachment 280388
proposed patch.

r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198924</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-06-03 07:52:56 -0700</bug_when>
    <thetext>Thanks for the review.  Fixed style issue and landed in r201641: &lt;http://trac.webkit.org/r201641&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198943</commentid>
    <comment_count>5</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-06-03 09:30:00 -0700</bug_when>
    <thetext>This change appears to have broken the CLoop build:
https://build.webkit.org/builders/Apple%20Yosemite%20LLINT%20CLoop%20%28BuildAndTest%29/builds/

/Volumes/Data/slave/yosemite-cloop-debug/build/Source/JavaScriptCore/interpreter/StackVisitor.h:92:43: error: no type named &apos;function&apos; in namespace &apos;std&apos;; did you mean &apos;::Function&apos;?
/Volumes/Data/slave/yosemite-cloop-debug/build/Source/JavaScriptCore/interpreter/StackVisitor.h:92:56: error: expected &apos;)&apos;
/Volumes/Data/slave/yosemite-cloop-debug/build/Source/JavaScriptCore/interpreter/StackVisitor.cpp:349:5: error: no matching member function for call to &apos;dump&apos;
/Volumes/Data/slave/yosemite-cloop-debug/build/Source/JavaScriptCore/interpreter/StackVisitor.cpp:352:27: error: out-of-line definition of &apos;dump&apos; does not match any declaration in &apos;JSC::StackVisitor::Frame&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198944</commentid>
    <comment_count>6</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-06-03 09:30:42 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; This change appears to have broken the CLoop build:
&gt; https://build.webkit.org/builders/
&gt; Apple%20Yosemite%20LLINT%20CLoop%20%28BuildAndTest%29/builds/
&gt; 
&gt; /Volumes/Data/slave/yosemite-cloop-debug/build/Source/JavaScriptCore/
&gt; interpreter/StackVisitor.h:92:43: error: no type named &apos;function&apos; in
&gt; namespace &apos;std&apos;; did you mean &apos;::Function&apos;?
&gt; /Volumes/Data/slave/yosemite-cloop-debug/build/Source/JavaScriptCore/
&gt; interpreter/StackVisitor.h:92:56: error: expected &apos;)&apos;
&gt; /Volumes/Data/slave/yosemite-cloop-debug/build/Source/JavaScriptCore/
&gt; interpreter/StackVisitor.cpp:349:5: error: no matching member function for
&gt; call to &apos;dump&apos;
&gt; /Volumes/Data/slave/yosemite-cloop-debug/build/Source/JavaScriptCore/
&gt; interpreter/StackVisitor.cpp:352:27: error: out-of-line definition of &apos;dump&apos;
&gt; does not match any declaration in &apos;JSC::StackVisitor::Frame&apos;

I will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198955</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-06-03 09:49:19 -0700</bug_when>
    <thetext>CLoop fix landed in r201646: &lt;http://trac.webkit.org/r201646&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280388</attachid>
            <date>2016-06-02 17:14:01 -0700</date>
            <delta_ts>2016-06-02 17:24:11 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-158316.patch</filename>
            <type>text/plain</type>
            <size>19180</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjAxNjE2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ1IEBA
CisyMDE2LTA2LTAyICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBD
bGVhbiB1cCBob3cgU3RhY2tWaXNpdG9yIGR1bXBzIGl0cyBmcmFtZXMuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzMTYKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAxLiBVcGRhdGVkIHRvIGRvIGR1bXBp
bmcgdG8gYSBQcmludFN0cmVhbS4KKyAgICAgICAgMi4gQWRkZWQgc3VwcG9ydCBmb3IgcHJpbnRp
bmcgYSBwcmVmaXggZm9yIGVhY2ggZnJhbWUuCisgICAgICAgICAgIFRoaXMgaXMgY3VycmVudGx5
IHVzZWQgYnkgSlNEb2xsYXJWTVByb3RvdHlwZSB0byBwcmludCBmcmFtZSBudW1iZXJzLgorICAg
ICAgICAzLiBGaXggdGhlIGluY3JlbWVudGluZyBvZiB0aGUgZnJhbWUgaW5kZXggaW4gU3RhY2tW
aXNpdG9yLgorICAgICAgICAgICBJdCB3YXMgaW5pdGlhbGl6ZWQgYnV0IG5ldmVyIGluY3JlbWVu
dGVkIGJlZm9yZSB3aGVuIGl0ZXJhdGluZyB0aGUgZnJhbWVzLgorCisgICAgICAgICogaW50ZXJw
cmV0ZXIvU3RhY2tWaXNpdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6U3RhY2tWaXNpdG9yOjpnb3Rv
TmV4dEZyYW1lKToKKyAgICAgICAgKEpTQzo6U3RhY2tWaXNpdG9yOjpGcmFtZTo6Y29kZVR5cGUp
OgorICAgICAgICAoSlNDOjpTdGFja1Zpc2l0b3I6OkZyYW1lOjpmdW5jdGlvbk5hbWUpOgorICAg
ICAgICAoSlNDOjpTdGFja1Zpc2l0b3I6OkZyYW1lOjpzb3VyY2VVUkwpOgorICAgICAgICAoSlND
OjpTdGFja1Zpc2l0b3I6OkZyYW1lOjp0b1N0cmluZyk6CisgICAgICAgIChKU0M6OlN0YWNrVmlz
aXRvcjo6RnJhbWU6OmNyZWF0ZUFyZ3VtZW50cyk6CisgICAgICAgIChKU0M6OlN0YWNrVmlzaXRv
cjo6RnJhbWU6OmNvbXB1dGVMaW5lQW5kQ29sdW1uKToKKyAgICAgICAgKEpTQzo6U3RhY2tWaXNp
dG9yOjpGcmFtZTo6cmV0cmlldmVFeHByZXNzaW9uSW5mbyk6CisgICAgICAgIChKU0M6OlN0YWNr
VmlzaXRvcjo6RnJhbWU6OnNldFRvRW5kKToKKyAgICAgICAgKEpTQzo6U3RhY2tWaXNpdG9yOjpG
cmFtZTo6ZHVtcCk6CisgICAgICAgIChKU0M6OlN0YWNrVmlzaXRvcjo6SW5kZW50OjpkdW1wKToK
KyAgICAgICAgKEpTQzo6cHJpbnRJbmRlbnRzKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6bG9n
KTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6bG9nRik6IERlbGV0ZWQuCisgICAgICAgIChKU0M6
OlN0YWNrVmlzaXRvcjo6RnJhbWU6OnByaW50KTogRGVsZXRlZC4KKyAgICAgICAgKiBpbnRlcnBy
ZXRlci9TdGFja1Zpc2l0b3IuaDoKKyAgICAgICAgKEpTQzo6U3RhY2tWaXNpdG9yOjpJbmRlbnQ6
OkluZGVudCk6CisgICAgICAgIChKU0M6OlN0YWNrVmlzaXRvcjo6SW5kZW50OjpvcGVyYXRvcisr
KToKKyAgICAgICAgKEpTQzo6U3RhY2tWaXNpdG9yOjpJbmRlbnQ6Om9wZXJhdG9yLS0pOgorICAg
ICAgICAoSlNDOjpTdGFja1Zpc2l0b3I6OkZyYW1lOjppc0pTRnJhbWUpOgorICAgICAgICAoSlND
OjpTdGFja1Zpc2l0b3I6OkZyYW1lOjppc0lubGluZWRGcmFtZSk6CisgICAgICAgIChKU0M6OlN0
YWNrVmlzaXRvcjo6RnJhbWU6OnZtRW50cnlGcmFtZSk6CisgICAgICAgIChKU0M6OlN0YWNrVmlz
aXRvcjo6RnJhbWU6OmNhbGxGcmFtZSk6CisgICAgICAgIChKU0M6OlN0YWNrVmlzaXRvcjo6RnJh
bWU6OkZyYW1lKToKKyAgICAgICAgKEpTQzo6U3RhY2tWaXNpdG9yOjpGcmFtZTo6fkZyYW1lKToK
KyAgICAgICAgKiB0b29scy9KU0RvbGxhclZNUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6
UHJpbnRGcmFtZUZ1bmN0b3I6Om9wZXJhdG9yKCkpOgorCiAyMDE2LTA2LTAyICBGaWxpcCBQaXps
byAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgVXNlICI9IGRlbGV0ZSIgZm9yIExvY2tl
cihpbnQpIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1N0YWNrVmlz
aXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L1N0YWNrVmlzaXRvci5jcHAJKHJldmlzaW9uIDIwMTU5OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnRlcnByZXRlci9TdGFja1Zpc2l0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTUtMjAxNiBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
QEAgLTU3LDYgKzU3LDcgQEAgU3RhY2tWaXNpdG9yOjpTdGFja1Zpc2l0b3IoQ2FsbEZyYW1lKiBz
dAogCiB2b2lkIFN0YWNrVmlzaXRvcjo6Z290b05leHRGcmFtZSgpCiB7CisgICAgbV9mcmFtZS5t
X2luZGV4Kys7CiAjaWYgRU5BQkxFKERGR19KSVQpCiAgICAgaWYgKG1fZnJhbWUuaXNJbmxpbmVk
RnJhbWUoKSkgewogICAgICAgICBJbmxpbmVDYWxsRnJhbWUqIGlubGluZUNhbGxGcmFtZSA9IG1f
ZnJhbWUuaW5saW5lQ2FsbEZyYW1lKCk7CkBAIC0yMDgsNyArMjA5LDcgQEAgU3RhY2tWaXNpdG9y
OjpGcmFtZTo6Q29kZVR5cGUgU3RhY2tWaXNpdAogICAgIHJldHVybiBDb2RlVHlwZTo6R2xvYmFs
OwogfQogCi1TdHJpbmcgU3RhY2tWaXNpdG9yOjpGcmFtZTo6ZnVuY3Rpb25OYW1lKCkKK1N0cmlu
ZyBTdGFja1Zpc2l0b3I6OkZyYW1lOjpmdW5jdGlvbk5hbWUoKSBjb25zdAogewogICAgIFN0cmlu
ZyB0cmFjZUxpbmU7CiAgICAgSlNPYmplY3QqIGNhbGxlZSA9IHRoaXMtPmNhbGxlZSgpOwpAQCAt
MjM0LDcgKzIzNSw3IEBAIFN0cmluZyBTdGFja1Zpc2l0b3I6OkZyYW1lOjpmdW5jdGlvbk5hbWUK
ICAgICByZXR1cm4gdHJhY2VMaW5lLmlzTnVsbCgpID8gZW1wdHlTdHJpbmcoKSA6IHRyYWNlTGlu
ZTsKIH0KIAotU3RyaW5nIFN0YWNrVmlzaXRvcjo6RnJhbWU6OnNvdXJjZVVSTCgpCitTdHJpbmcg
U3RhY2tWaXNpdG9yOjpGcmFtZTo6c291cmNlVVJMKCkgY29uc3QKIHsKICAgICBTdHJpbmcgdHJh
Y2VMaW5lOwogCkBAIC0yNTUsNyArMjU2LDcgQEAgU3RyaW5nIFN0YWNrVmlzaXRvcjo6RnJhbWU6
OnNvdXJjZVVSTCgpCiAgICAgcmV0dXJuIHRyYWNlTGluZS5pc051bGwoKSA/IGVtcHR5U3RyaW5n
KCkgOiB0cmFjZUxpbmU7CiB9CiAKLVN0cmluZyBTdGFja1Zpc2l0b3I6OkZyYW1lOjp0b1N0cmlu
ZygpCitTdHJpbmcgU3RhY2tWaXNpdG9yOjpGcmFtZTo6dG9TdHJpbmcoKSBjb25zdAogewogICAg
IFN0cmluZ0J1aWxkZXIgdHJhY2VCdWlsZDsKICAgICBTdHJpbmcgZnVuY3Rpb25OYW1lID0gdGhp
cy0+ZnVuY3Rpb25OYW1lKCk7CkBAIC0zMDUsNyArMzA2LDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBT
dGFja1Zpc2l0b3I6OkZyYW1lOjpjcgogICAgIHJldHVybiBhcmd1bWVudHM7CiB9CiAKLXZvaWQg
U3RhY2tWaXNpdG9yOjpGcmFtZTo6Y29tcHV0ZUxpbmVBbmRDb2x1bW4odW5zaWduZWQmIGxpbmUs
IHVuc2lnbmVkJiBjb2x1bW4pCit2b2lkIFN0YWNrVmlzaXRvcjo6RnJhbWU6OmNvbXB1dGVMaW5l
QW5kQ29sdW1uKHVuc2lnbmVkJiBsaW5lLCB1bnNpZ25lZCYgY29sdW1uKSBjb25zdAogewogICAg
IENvZGVCbG9jayogY29kZUJsb2NrID0gdGhpcy0+Y29kZUJsb2NrKCk7CiAgICAgaWYgKCFjb2Rl
QmxvY2spIHsKQEAgLTMyOCw3ICszMjksNyBAQCB2b2lkIFN0YWNrVmlzaXRvcjo6RnJhbWU6OmNv
bXB1dGVMaW5lQW5kCiAgICAgICAgIGxpbmUgPSBjb2RlQmxvY2stPm93bmVyU2NyaXB0RXhlY3V0
YWJsZSgpLT5vdmVycmlkZUxpbmVOdW1iZXIoKTsKIH0KIAotdm9pZCBTdGFja1Zpc2l0b3I6OkZy
YW1lOjpyZXRyaWV2ZUV4cHJlc3Npb25JbmZvKGludCYgZGl2b3QsIGludCYgc3RhcnRPZmZzZXQs
IGludCYgZW5kT2Zmc2V0LCB1bnNpZ25lZCYgbGluZSwgdW5zaWduZWQmIGNvbHVtbikKK3ZvaWQg
U3RhY2tWaXNpdG9yOjpGcmFtZTo6cmV0cmlldmVFeHByZXNzaW9uSW5mbyhpbnQmIGRpdm90LCBp
bnQmIHN0YXJ0T2Zmc2V0LCBpbnQmIGVuZE9mZnNldCwgdW5zaWduZWQmIGxpbmUsIHVuc2lnbmVk
JiBjb2x1bW4pIGNvbnN0CiB7CiAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSB0aGlzLT5jb2Rl
QmxvY2soKTsKICAgICBjb2RlQmxvY2stPnVubGlua2VkQ29kZUJsb2NrKCktPmV4cHJlc3Npb25S
YW5nZUZvckJ5dGVjb2RlT2Zmc2V0KGJ5dGVjb2RlT2Zmc2V0KCksIGRpdm90LCBzdGFydE9mZnNl
dCwgZW5kT2Zmc2V0LCBsaW5lLCBjb2x1bW4pOwpAQCAtMzQzLDQ2ICszNDQsMjIgQEAgdm9pZCBT
dGFja1Zpc2l0b3I6OkZyYW1lOjpzZXRUb0VuZCgpCiAjZW5kaWYKIH0KIAotc3RhdGljIHZvaWQg
cHJpbnRJbmRlbnRzKGludCBsZXZlbHMpCit2b2lkIFN0YWNrVmlzaXRvcjo6RnJhbWU6OmR1bXAo
UHJpbnRTdHJlYW0mIG91dCwgSW5kZW50ZXIgaW5kZW50KSBjb25zdAogewotICAgIHdoaWxlIChs
ZXZlbHMtLSkKLSAgICAgICAgZGF0YUxvZ0ZTdHJpbmcoIiAgICIpOworICAgIGR1bXAob3V0LCBp
bmRlbnQsIFtdIChQcmludFN0cmVhbSYpIHsgfSk7CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lLi4u
IFR5cGVzPgotdm9pZCBsb2codW5zaWduZWQgaW5kZW50LCBjb25zdCBUeXBlcyYuLi4gdmFsdWVz
KQotewotICAgIHByaW50SW5kZW50cyhpbmRlbnQpOwotICAgIGRhdGFMb2codmFsdWVzLi4uKTsK
LX0KLQotdGVtcGxhdGU8dHlwZW5hbWUuLi4gVHlwZXM+Ci12b2lkIGxvZ0YodW5zaWduZWQgaW5k
ZW50LCBjb25zdCBjaGFyKiBmb3JtYXQsIGNvbnN0IFR5cGVzJi4uLiB2YWx1ZXMpCi17Ci0gICAg
cHJpbnRJbmRlbnRzKGluZGVudCk7Ci0KLSNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCi0jcHJh
Z21hIEdDQyBkaWFnbm9zdGljIHB1c2gKLSNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAi
LVdmb3JtYXQtbm9ubGl0ZXJhbCIKLSNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdt
aXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUiCi0jZW5kaWYKLQotICAgIGRhdGFMb2dGKGZvcm1hdCwg
dmFsdWVzLi4uKTsKLQotI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKLSNwcmFnbWEgR0NDIGRp
YWdub3N0aWMgcG9wCi0jZW5kaWYKLX0KLQotdm9pZCBTdGFja1Zpc2l0b3I6OkZyYW1lOjpwcmlu
dChpbnQgaW5kZW50KQordm9pZCBTdGFja1Zpc2l0b3I6OkZyYW1lOjpkdW1wKFByaW50U3RyZWFt
JiBvdXQsIEluZGVudGVyIGluZGVudCwgc3RkOjpmdW5jdGlvbjx2b2lkKFByaW50U3RyZWFtJik+
IHByZWZpeCkgY29uc3QKIHsKICAgICBpZiAoIXRoaXMtPmNhbGxGcmFtZSgpKSB7Ci0gICAgICAg
IGxvZyhpbmRlbnQsICJmcmFtZSAweDBcbiIpOworICAgICAgICBvdXQucHJpbnQoaW5kZW50LCAi
ZnJhbWUgMHgwXG4iKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIENvZGVCbG9jayog
Y29kZUJsb2NrID0gdGhpcy0+Y29kZUJsb2NrKCk7Ci0gICAgbG9nRihpbmRlbnQsICJmcmFtZSAl
cCB7XG4iLCB0aGlzLT5jYWxsRnJhbWUoKSk7CisgICAgb3V0LnByaW50KGluZGVudCk7CisgICAg
cHJlZml4KG91dCk7CisgICAgb3V0LnByaW50KCJmcmFtZSAiLCBSYXdQb2ludGVyKHRoaXMtPmNh
bGxGcmFtZSgpKSwgIiB7XG4iKTsKIAogICAgIHsKICAgICAgICAgaW5kZW50Kys7CkBAIC0zOTEs
NDMgKzM2OCw0NiBAQCB2b2lkIFN0YWNrVmlzaXRvcjo6RnJhbWU6OnByaW50KGludCBpbmRlCiAg
ICAgICAgIENhbGxGcmFtZSogY2FsbGVyRnJhbWUgPSB0aGlzLT5jYWxsZXJGcmFtZSgpOwogICAg
ICAgICB2b2lkKiByZXR1cm5QQyA9IGNhbGxGcmFtZS0+aGFzUmV0dXJuUEMoKSA/IGNhbGxGcmFt
ZS0+cmV0dXJuUEMoKS52YWx1ZSgpIDogbnVsbHB0cjsKIAotICAgICAgICBsb2coaW5kZW50LCAi
bmFtZTogIiwgZnVuY3Rpb25OYW1lKCksICJcbiIpOwotICAgICAgICBsb2coaW5kZW50LCAic291
cmNlVVJMOiAiLCBzb3VyY2VVUkwoKSwgIlxuIik7CisgICAgICAgIG91dC5wcmludChpbmRlbnQs
ICJuYW1lOiAiLCBmdW5jdGlvbk5hbWUoKSwgIlxuIik7CisgICAgICAgIG91dC5wcmludChpbmRl
bnQsICJzb3VyY2VVUkw6ICIsIHNvdXJjZVVSTCgpLCAiXG4iKTsKIAogICAgICAgICBib29sIGlz
SW5saW5lZCA9IGZhbHNlOwogI2lmIEVOQUJMRShERkdfSklUKQogICAgICAgICBpc0lubGluZWQg
PSBpc0lubGluZWRGcmFtZSgpOwotICAgICAgICBsb2coaW5kZW50LCAiaXNJbmxpbmVkRnJhbWU6
ICIsIGlzSW5saW5lZEZyYW1lKCksICJcbiIpOworICAgICAgICBvdXQucHJpbnQoaW5kZW50LCAi
aXNJbmxpbmVkRnJhbWU6ICIsIGlzSW5saW5lZEZyYW1lKCksICJcbiIpOwogICAgICAgICBpZiAo
aXNJbmxpbmVkRnJhbWUoKSkKLSAgICAgICAgICAgIGxvZ0YoaW5kZW50LCAiSW5saW5lQ2FsbEZy
YW1lOiAlcFxuIiwgbV9pbmxpbmVDYWxsRnJhbWUpOworICAgICAgICAgICAgb3V0LnByaW50KGlu
ZGVudCwgIklubGluZUNhbGxGcmFtZTogIiwgUmF3UG9pbnRlcihtX2lubGluZUNhbGxGcmFtZSks
ICJcbiIpOwogI2VuZGlmCiAKLSAgICAgICAgbG9nRihpbmRlbnQsICJjYWxsZWU6ICVwXG4iLCBj
YWxsZWUoKSk7Ci0gICAgICAgIGxvZ0YoaW5kZW50LCAicmV0dXJuUEM6ICVwXG4iLCByZXR1cm5Q
Qyk7Ci0gICAgICAgIGxvZ0YoaW5kZW50LCAiY2FsbGVyRnJhbWU6ICVwXG4iLCBjYWxsZXJGcmFt
ZSk7CisgICAgICAgIG91dC5wcmludChpbmRlbnQsICJjYWxsZWU6ICIsIFJhd1BvaW50ZXIoY2Fs
bGVlKCkpLCAiXG4iKTsKKyAgICAgICAgb3V0LnByaW50KGluZGVudCwgInJldHVyblBDOiAiLCBS
YXdQb2ludGVyKHJldHVyblBDKSwgIlxuIik7CisgICAgICAgIG91dC5wcmludChpbmRlbnQsICJj
YWxsZXJGcmFtZTogIiwgUmF3UG9pbnRlcihjYWxsZXJGcmFtZSksICJcbiIpOwogICAgICAgICB1
bnNpZ25lZCBsb2NhdGlvblJhd0JpdHMgPSBjYWxsRnJhbWUtPmNhbGxTaXRlQXNSYXdCaXRzKCk7
Ci0gICAgICAgIGxvZ0YoaW5kZW50LCAicmF3TG9jYXRpb25CaXRzOiAldSAweCV4XG4iLCBsb2Nh
dGlvblJhd0JpdHMsIGxvY2F0aW9uUmF3Qml0cyk7Ci0gICAgICAgIGxvZ0YoaW5kZW50LCAiY29k
ZUJsb2NrOiAlcCAiLCBjb2RlQmxvY2spOworICAgICAgICBvdXQucHJpbnQoaW5kZW50LCAicmF3
TG9jYXRpb25CaXRzOiAiLCBzdGF0aWNfY2FzdDx1aW50cHRyX3Q+KGxvY2F0aW9uUmF3Qml0cyks
CisgICAgICAgICAgICAiICIsIFJhd1BvaW50ZXIocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4obG9j
YXRpb25SYXdCaXRzKSksICJcbiIpOworICAgICAgICBvdXQucHJpbnQoaW5kZW50LCAiY29kZUJs
b2NrOiAiLCBSYXdQb2ludGVyKGNvZGVCbG9jaykpOwogICAgICAgICBpZiAoY29kZUJsb2NrKQot
ICAgICAgICAgICAgZGF0YUxvZygqY29kZUJsb2NrKTsKLSAgICAgICAgZGF0YUxvZygiXG4iKTsK
KyAgICAgICAgICAgIG91dC5wcmludCgqY29kZUJsb2NrKTsKKyAgICAgICAgb3V0LnByaW50KCJc
biIpOwogICAgICAgICBpZiAoY29kZUJsb2NrICYmICFpc0lubGluZWQpIHsKICAgICAgICAgICAg
IGluZGVudCsrOwogCiAgICAgICAgICAgICBpZiAoY2FsbEZyYW1lLT5jYWxsU2l0ZUJpdHNBcmVC
eXRlY29kZU9mZnNldCgpKSB7CiAgICAgICAgICAgICAgICAgdW5zaWduZWQgYnl0ZWNvZGVPZmZz
ZXQgPSBjYWxsRnJhbWUtPmJ5dGVjb2RlT2Zmc2V0KCk7Ci0gICAgICAgICAgICAgICAgbG9nKGlu
ZGVudCwgImJ5dGVjb2RlT2Zmc2V0OiAiLCBieXRlY29kZU9mZnNldCwgIiBvZiAiLCBjb2RlQmxv
Y2stPmluc3RydWN0aW9ucygpLnNpemUoKSwgIlxuIik7CisgICAgICAgICAgICAgICAgb3V0LnBy
aW50KGluZGVudCwgImJ5dGVjb2RlT2Zmc2V0OiAiLCBieXRlY29kZU9mZnNldCwgIiBvZiAiLCBj
b2RlQmxvY2stPmluc3RydWN0aW9ucygpLnNpemUoKSwgIlxuIik7CiAjaWYgRU5BQkxFKERGR19K
SVQpCiAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGxvZyhpbmRlbnQsICJo
YXNDb2RlT3JpZ2luczogIiwgY29kZUJsb2NrLT5oYXNDb2RlT3JpZ2lucygpLCAiXG4iKTsKKyAg
ICAgICAgICAgICAgICBvdXQucHJpbnQoaW5kZW50LCAiaGFzQ29kZU9yaWdpbnM6ICIsIGNvZGVC
bG9jay0+aGFzQ29kZU9yaWdpbnMoKSwgIlxuIik7CiAgICAgICAgICAgICAgICAgaWYgKGNvZGVC
bG9jay0+aGFzQ29kZU9yaWdpbnMoKSkgewogICAgICAgICAgICAgICAgICAgICBDYWxsU2l0ZUlu
ZGV4IGNhbGxTaXRlSW5kZXggPSBjYWxsRnJhbWUtPmNhbGxTaXRlSW5kZXgoKTsKLSAgICAgICAg
ICAgICAgICAgICAgbG9nKGluZGVudCwgImNhbGxTaXRlSW5kZXg6ICIsIGNhbGxTaXRlSW5kZXgu
Yml0cygpLCAiIG9mICIsIGNvZGVCbG9jay0+Y29kZU9yaWdpbnMoKS5zaXplKCksICJcbiIpOwor
ICAgICAgICAgICAgICAgICAgICBvdXQucHJpbnQoaW5kZW50LCAiY2FsbFNpdGVJbmRleDogIiwg
Y2FsbFNpdGVJbmRleC5iaXRzKCksICIgb2YgIiwgY29kZUJsb2NrLT5jb2RlT3JpZ2lucygpLnNp
emUoKSwgIlxuIik7CiAKICAgICAgICAgICAgICAgICAgICAgSklUQ29kZTo6SklUVHlwZSBqaXRU
eXBlID0gY29kZUJsb2NrLT5qaXRUeXBlKCk7CiAgICAgICAgICAgICAgICAgICAgIGlmIChqaXRU
eXBlICE9IEpJVENvZGU6OkZUTEpJVCkgewogICAgICAgICAgICAgICAgICAgICAgICAgSklUQ29k
ZSogaml0Q29kZSA9IGNvZGVCbG9jay0+aml0Q29kZSgpLmdldCgpOwotICAgICAgICAgICAgICAg
ICAgICAgICAgbG9nRihpbmRlbnQsICJqaXRDb2RlOiAlcCBzdGFydCAlcCBlbmQgJXBcbiIsIGpp
dENvZGUsIGppdENvZGUtPnN0YXJ0KCksIGppdENvZGUtPmVuZCgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIG91dC5wcmludChpbmRlbnQsICJqaXRDb2RlOiAiLCBSYXdQb2ludGVyKGppdENv
ZGUpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgc3RhcnQgIiwgUmF3UG9pbnRlcihq
aXRDb2RlLT5zdGFydCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIGVuZCAiLCBS
YXdQb2ludGVyKGppdENvZGUtPmVuZCgpKSwgIlxuIik7CiAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICB9CiAjZW5kaWYKQEAgLTQzNSwxNCArNDE1LDE0IEBAIHZvaWQgU3Rh
Y2tWaXNpdG9yOjpGcmFtZTo6cHJpbnQoaW50IGluZGUKICAgICAgICAgICAgIHVuc2lnbmVkIGxp
bmUgPSAwOwogICAgICAgICAgICAgdW5zaWduZWQgY29sdW1uID0gMDsKICAgICAgICAgICAgIGNv
bXB1dGVMaW5lQW5kQ29sdW1uKGxpbmUsIGNvbHVtbik7Ci0gICAgICAgICAgICBsb2coaW5kZW50
LCAibGluZTogIiwgbGluZSwgIlxuIik7Ci0gICAgICAgICAgICBsb2coaW5kZW50LCAiY29sdW1u
OiAiLCBjb2x1bW4sICJcbiIpOworICAgICAgICAgICAgb3V0LnByaW50KGluZGVudCwgImxpbmU6
ICIsIGxpbmUsICJcbiIpOworICAgICAgICAgICAgb3V0LnByaW50KGluZGVudCwgImNvbHVtbjog
IiwgY29sdW1uLCAiXG4iKTsKIAogICAgICAgICAgICAgaW5kZW50LS07CiAgICAgICAgIH0KICAg
ICAgICAgaW5kZW50LS07CiAgICAgfQotICAgIGxvZyhpbmRlbnQsICJ9XG4iKTsKKyAgICBvdXQu
cHJpbnQoaW5kZW50LCAifVxuIik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1N0YWNrVmlzaXRvci5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9TdGFja1Zpc2l0b3IuaAkocmV2
aXNpb24gMjAxNTk5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1N0YWNr
VmlzaXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjZGVmaW5lIFN0YWNr
VmlzaXRvcl9oCiAKICNpbmNsdWRlICJWTUVudHJ5UmVjb3JkLmgiCisjaW5jbHVkZSA8d3RmL0lu
ZGVudGVyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBK
U0MgewpAQCAtNzQsMjYgKzc1LDI3IEBAIHB1YmxpYzoKICAgICAgICAgYm9vbCBpc0pTRnJhbWUo
KSBjb25zdCB7IHJldHVybiAhIWNvZGVCbG9jaygpOyB9CiAgICAgICAgIGJvb2wgaXNJbmxpbmVk
RnJhbWUoKSBjb25zdCB7IHJldHVybiAhIWlubGluZUNhbGxGcmFtZSgpOyB9CiAKLSAgICAgICAg
SlNfRVhQT1JUX1BSSVZBVEUgU3RyaW5nIGZ1bmN0aW9uTmFtZSgpOwotICAgICAgICBKU19FWFBP
UlRfUFJJVkFURSBTdHJpbmcgc291cmNlVVJMKCk7Ci0gICAgICAgIEpTX0VYUE9SVF9QUklWQVRF
IFN0cmluZyB0b1N0cmluZygpOworICAgICAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJpbmcgZnVu
Y3Rpb25OYW1lKCkgY29uc3Q7CisgICAgICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0cmluZyBzb3Vy
Y2VVUkwoKSBjb25zdDsKKyAgICAgICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RyaW5nIHRvU3RyaW5n
KCkgY29uc3Q7CiAKICAgICAgICAgaW50cHRyX3Qgc291cmNlSUQoKTsKIAogICAgICAgICBDb2Rl
VHlwZSBjb2RlVHlwZSgpIGNvbnN0OwotICAgICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGNv
bXB1dGVMaW5lQW5kQ29sdW1uKHVuc2lnbmVkJiBsaW5lLCB1bnNpZ25lZCYgY29sdW1uKTsKKyAg
ICAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBjb21wdXRlTGluZUFuZENvbHVtbih1bnNpZ25l
ZCYgbGluZSwgdW5zaWduZWQmIGNvbHVtbikgY29uc3Q7CiAKICAgICAgICAgQ2xvbmVkQXJndW1l
bnRzKiBjcmVhdGVBcmd1bWVudHMoKTsKICAgICAgICAgVk1FbnRyeUZyYW1lKiB2bUVudHJ5RnJh
bWUoKSBjb25zdCB7IHJldHVybiBtX1ZNRW50cnlGcmFtZTsgfQogICAgICAgICBDYWxsRnJhbWUq
IGNhbGxGcmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbEZyYW1lOyB9CiAgICAgICAgIAotICAg
ICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIHByaW50KGludCBpbmRlbnRMZXZlbCk7CisgICAg
ICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYsIEluZGVudGVyIGluZGVudCA9IEluZGVudGVyKCkp
IGNvbnN0OworICAgICAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mLCBJbmRlbnRlciwgc3RkOjpm
dW5jdGlvbjx2b2lkKFByaW50U3RyZWFtJik+IHByZWZpeCkgY29uc3Q7CiAKICAgICBwcml2YXRl
OgogICAgICAgICBGcmFtZSgpIHsgfQogICAgICAgICB+RnJhbWUoKSB7IH0KIAotICAgICAgICB2
b2lkIHJldHJpZXZlRXhwcmVzc2lvbkluZm8oaW50JiBkaXZvdCwgaW50JiBzdGFydE9mZnNldCwg
aW50JiBlbmRPZmZzZXQsIHVuc2lnbmVkJiBsaW5lLCB1bnNpZ25lZCYgY29sdW1uKTsKKyAgICAg
ICAgdm9pZCByZXRyaWV2ZUV4cHJlc3Npb25JbmZvKGludCYgZGl2b3QsIGludCYgc3RhcnRPZmZz
ZXQsIGludCYgZW5kT2Zmc2V0LCB1bnNpZ25lZCYgbGluZSwgdW5zaWduZWQmIGNvbHVtbikgY29u
c3Q7CiAgICAgICAgIHZvaWQgc2V0VG9FbmQoKTsKIAogICAgICAgICBzaXplX3QgbV9pbmRleDsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KU0RvbGxhclZNUHJvdG90eXBlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvSlNEb2xsYXJWTVBy
b3RvdHlwZS5jcHAJKHJldmlzaW9uIDIwMTU5OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90
b29scy9KU0RvbGxhclZNUHJvdG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzI2LDkgKzMy
NiwxMSBAQCBwdWJsaWM6CiAgICAgU3RhY2tWaXNpdG9yOjpTdGF0dXMgb3BlcmF0b3IoKShTdGFj
a1Zpc2l0b3ImIHZpc2l0b3IpIGNvbnN0CiAgICAgewogICAgICAgICBtX2N1cnJlbnRGcmFtZSsr
OwotICAgICAgICBpZiAobV9jdXJyZW50RnJhbWUgPiBtX2ZyYW1lc1RvU2tpcCkKLSAgICAgICAg
ICAgIHZpc2l0b3ItPnByaW50KDIpOwotICAgICAgICAKKyAgICAgICAgaWYgKG1fY3VycmVudEZy
YW1lID4gbV9mcmFtZXNUb1NraXApIHsKKyAgICAgICAgICAgIHZpc2l0b3ItPmR1bXAoV1RGOjpk
YXRhRmlsZSgpLCBJbmRlbnRlcigyKSwgWyZdIChQcmludFN0cmVhbSYgb3V0KSB7CisgICAgICAg
ICAgICAgICAgb3V0LnByaW50KCJbIiwgKG1fY3VycmVudEZyYW1lIC0gbV9mcmFtZXNUb1NraXAg
LSAxKSwgIl0gIik7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfQogICAgICAgICBpZiAobV9h
Y3Rpb24gPT0gUHJpbnRPbmUgJiYgbV9jdXJyZW50RnJhbWUgPiBtX2ZyYW1lc1RvU2tpcCkKICAg
ICAgICAgICAgIHJldHVybiBTdGFja1Zpc2l0b3I6OkRvbmU7CiAgICAgICAgIHJldHVybiBTdGFj
a1Zpc2l0b3I6OkNvbnRpbnVlOwpJbmRleDogU291cmNlL1dURi9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dURi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMTYxNykKKysrIFNvdXJjZS9X
VEYvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTYtMDYtMDIg
IE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgorCisgICAgICAgIENsZWFuIHVwIGhvdyBT
dGFja1Zpc2l0b3IgZHVtcHMgaXRzIGZyYW1lcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODMxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGFuIEluZGVudGVyIGNsYXNzIHdoYXQgd29ya3Mg
d2l0aCBkYXRhTG9nLgorCisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogd3RmL0luZGVudGVyLmg6IEFkZGVkLgorICAgICAgICAoV1RGOjpJbmRlbnRl
cjo6SW5kZW50ZXIpOgorICAgICAgICAoV1RGOjpJbmRlbnRlcjo6ZHVtcCk6CisgICAgICAgIChX
VEY6OkluZGVudGVyOjpvcGVyYXRvcisrKToKKyAgICAgICAgKFdURjo6SW5kZW50ZXI6Om9wZXJh
dG9yLS0pOgorCiAyMDE2LTA2LTAyICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJlbGFuZCByMjAxNTMyLiBUaGUgYXNzb2NpYXRl
ZCByZWdyZXNzaW9ucyBoYXZlIGJlZW4gZml4ZWQKSW5kZXg6IFNvdXJjZS9XVEYvV1RGLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi9XVEYueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjAxNTk5KQorKysgU291cmNlL1dURi9XVEYu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMzE5LDYgKzMxOSw3
IEBACiAJCUU0QTBBRDNEMUE5NjI1M0MwMDUzNkRGNiAvKiBXb3JrUXVldWVDb2NvYS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEEwQUQzQzFBOTYy
NTNDMDA1MzZERjYgLyogV29ya1F1ZXVlQ29jb2EuY3BwICovOyB9OwogCQlFQjk1RTFGMDE2MUE3
MjQxMDA4OUEyRjUgLyogQnl0ZU9yZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFQjk1RTFFRjE2MUE3MjQxMDA4OUEyRjUgLyogQnl0ZU9yZGVyLmgg
Ki87IH07CiAJCUZFODIyNTMxMUIyQTFFNUIwMEJBNjhGRCAvKiBOYWtlZFB0ci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU4MjI1MzAxQjJBMUU1QjAw
QkE2OEZEIC8qIE5ha2VkUHRyLmggKi87IH07CisJCUZFODkyNUIwMUQwMERBRUMwMDQ2OTA3RSAv
KiBJbmRlbnRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRkU4OTI1QUYxRDAwREFFQzAwNDY5MDdFIC8qIEluZGVudGVyLmggKi87IH07CiAJCUZFREFD
RDNEMTYzMEY4M0YwMEM2OTYzNCAvKiBTdGFja1N0YXRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFREFDRDNCMTYzMEY4M0YwMEM2OTYzNCAvKiBT
dGFja1N0YXRzLmNwcCAqLzsgfTsKIAkJRkVEQUNEM0UxNjMwRjgzRjAwQzY5NjM0IC8qIFN0YWNr
U3RhdHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZF
REFDRDNDMTYzMEY4M0YwMEM2OTYzNCAvKiBTdGFja1N0YXRzLmggKi87IH07CiAvKiBFbmQgUEJY
QnVpbGRGaWxlIHNlY3Rpb24gKi8KQEAgLTY1MCw2ICs2NTEsNyBAQAogCQlFNEEwQUQzQzFBOTYy
NTNDMDA1MzZERjYgLyogV29ya1F1ZXVlQ29jb2EuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gV29ya1F1ZXVlQ29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFQjk1RTFFRjE2MUE3MjQxMDA4OUEyRjUgLyogQnl0ZU9yZGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJ5dGVPcmRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGRTgyMjUzMDFCMkExRTVCMDBCQTY4RkQgLyogTmFrZWRQdHIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmFrZWRQdHIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJRkU4OTI1QUYxRDAwREFFQzAwNDY5MDdFIC8qIEluZGVudGVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluZGVudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUZFREFDRDNCMTYzMEY4M0YwMEM2OTYzNCAvKiBTdGFja1N0YXRzLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0YWNrU3RhdHMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRURBQ0QzQzE2MzBGODNGMDBDNjk2MzQgLyogU3Rh
Y2tTdGF0cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdGFja1N0YXRzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0
aW9uICovCkBAIC04NTUsNiArODU3LDcgQEAKIAkJCQlBOEE0NzJCOTE1MUE4MjVBMDA0MTIzRkYg
LyogSGFzaFRhYmxlLmggKi8sCiAJCQkJQThBNDcyQkExNTFBODI1QTAwNDEyM0ZGIC8qIEhhc2hU
cmFpdHMuaCAqLywKIAkJCQlBOEE0NzJCQjE1MUE4MjVBMDA0MTIzRkYgLyogSGV4TnVtYmVyLmgg
Ki8sCisJCQkJRkU4OTI1QUYxRDAwREFFQzAwNDY5MDdFIC8qIEluZGVudGVyLmggKi8sCiAJCQkJ
MjY4NEQ0MzUxQzAwMEQ0MDAwODFENjYzIC8qIEluZGV4U3BhcnNlU2V0LmggKi8sCiAJCQkJQThB
NDcyQkMxNTFBODI1QTAwNDEyM0ZGIC8qIElubGluZUFTTS5oICovLAogCQkJCUE3MERBMDgyMTc5
OUYwNEQwMDUyOUE5QiAvKiBJbnNlcnRpb24uaCAqLywKQEAgLTEzNjAsNiArMTM2Myw3IEBACiAJ
CQkJMTQ5RUYxNjMxNkJCRkUwRDAwMEE0MzMxIC8qIFRyaVN0YXRlLmggaW4gSGVhZGVycyAqLywK
IAkJCQk4M0ZCQTkzMjE5REY0NTk3MDBGMzBBREIgLyogVHlwZUNhc3RzLmggaW4gSGVhZGVycyAq
LywKIAkJCQkxQUZERTY0ODE5NTIwMUMzMDBDNDhGRkEgLyogVHlwZUNhc3RzQ0YuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUZFODkyNUIwMUQwMERBRUMwMDQ2OTA3RSAvKiBJbmRlbnRlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQThBNDc0NkQxNTFBODI1QjAwNDEyM0ZGIC8qIFVuaW9uRmluZC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNzBFQ0E2MEYxQjAyNDI2ODAwNDQ5NzM5IC8qIFVuaXF1ZWRTdHJp
bmdJbXBsLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQ2QTE1MUE4MjVCMDA0MTIzRkYgLyog
VVRGOC5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9JbmRlbnRlci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL0luZGVudGVyLmgJKHJldmlzaW9uIDApCisrKyBT
b3VyY2UvV1RGL3d0Zi9JbmRlbnRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIElu
ZGVudGVyX2gKKyNkZWZpbmUgSW5kZW50ZXJfaAorCisjaW5jbHVkZSA8d3RmL0ZpbGVQcmludFN0
cmVhbS5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV1RG
IHsKKworY2xhc3MgSW5kZW50ZXIgeworcHVibGljOgorICAgIEluZGVudGVyKHVuc2lnbmVkIGNv
dW50ID0gMCwgU3RyaW5nIHN0cmluZyA9IEFTQ0lJTGl0ZXJhbCgiICAiKSkKKyAgICAgICAgOiBt
X2NvdW50KGNvdW50KQorICAgICAgICAsIG1fc3RyaW5nKHN0cmluZykKKyAgICB7IH0KKworICAg
IEluZGVudGVyKGNvbnN0IEluZGVudGVyJiBvdGhlcikKKyAgICAgICAgOiBtX2NvdW50KG90aGVy
Lm1fY291bnQpCisgICAgICAgICwgbV9zdHJpbmcob3RoZXIubV9zdHJpbmcpCisgICAgeyB9CisK
KyAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKKyAgICB7CisgICAgICAgIHVu
c2lnbmVkIGxldmVscyA9IG1fY291bnQ7CisgICAgICAgIHdoaWxlIChsZXZlbHMtLSkKKyAgICAg
ICAgICAgIG91dC5wcmludChtX3N0cmluZyk7CisgICAgfQorCisgICAgdW5zaWduZWQgb3BlcmF0
b3IrKygpIHsgcmV0dXJuICsrbV9jb3VudDsgfQorICAgIHVuc2lnbmVkIG9wZXJhdG9yKysoaW50
KSB7IHJldHVybiBtX2NvdW50Kys7IH0KKyAgICB1bnNpZ25lZCBvcGVyYXRvci0tKCkgeyByZXR1
cm4gLS1tX2NvdW50OyB9CisgICAgdW5zaWduZWQgb3BlcmF0b3ItLShpbnQpIHsgcmV0dXJuIG1f
Y291bnQtLTsgfQorCitwcml2YXRlOgorICAgIHVuc2lnbmVkIG1fY291bnQ7CisgICAgU3RyaW5n
IG1fc3RyaW5nOworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCisKK3VzaW5nIFdURjo6SW5kZW50
ZXI7CisKKyNlbmRpZiAvLyBJbmRlbnRlcl9oCg==
</data>
<flag name="review"
          id="304342"
          type_id="1"
          status="+"
          setter="keith_miller"
    />
          </attachment>
      

    </bug>

</bugzilla>