<?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>118946</bug_id>
          
          <creation_ts>2013-07-20 16:47:18 -0700</creation_ts>
          <short_desc>fourthTier: It should be possible for a DFG::Node to claim to exit to one CodeOrigin, but then claim that it belongs to a different CodeOrigin for all other purposes</short_desc>
          <delta_ts>2013-07-21 16:41:15 -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>All</rep_platform>
          <op_sys>All</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>118749</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>910499</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-07-20 16:47:18 -0700</bug_when>
    <thetext>Currently a DFG::Node exits and contributes profiling to the same CodeOrigin.  Not only should we allow these origins to be different, but we want a node to have a set of CodeOrigins to which it supplies profiling.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>910527</commentid>
    <comment_count>1</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-07-21 11:38:37 -0700</bug_when>
    <thetext>I don&apos;t think we actually need there to be a set bigger than one for the profiling code origins.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>910528</commentid>
    <comment_count>2</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-07-21 11:41:34 -0700</bug_when>
    <thetext>Interestingly, the profiling code origin should also be the code origin we use for doing things like finding the global object.

The exit target code origin is the only true special case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>910539</commentid>
    <comment_count>3</comment_count>
      <attachid>207212</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-07-21 12:30:37 -0700</bug_when>
    <thetext>Created attachment 207212
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>910557</commentid>
    <comment_count>4</comment_count>
      <attachid>207212</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-07-21 16:16:01 -0700</bug_when>
    <thetext>Comment on attachment 207212
the patch

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

r=me

&gt; Source/JavaScriptCore/dfg/DFGNode.h:1388
&gt; +    // Code origin for profiling.
&gt; +    CodeOrigin codeOriginForExitTarget;

The JIT does this:

 1712        m_codeOriginForExitTarget = m_currentNode-&gt;codeOriginForExitTarget;
 1713        m_codeOriginForExitProfiling = m_currentNode-&gt;codeOrigin;

So, I don&apos;t think this comment that says codeOriginForExitTarget is used for profiling is correct.

&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2875
&gt; +    CodeOrigin m_codeOriginForExitProfile;

Can you pick either &quot;ForExitProfile&quot; or &quot;ForExitProfiling&quot;, and use it everywhere?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>910559</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-07-21 16:25:20 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 207212 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=207212&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGNode.h:1388
&gt; &gt; +    // Code origin for profiling.
&gt; &gt; +    CodeOrigin codeOriginForExitTarget;
&gt; 
&gt; The JIT does this:
&gt; 
&gt;  1712        m_codeOriginForExitTarget = m_currentNode-&gt;codeOriginForExitTarget;
&gt;  1713        m_codeOriginForExitProfiling = m_currentNode-&gt;codeOrigin;
&gt; 
&gt; So, I don&apos;t think this comment that says codeOriginForExitTarget is used for profiling is correct.

Oops, I will fix.  It should say &quot;// Code origin for where the node exits to&quot;.

&gt; 
&gt; &gt; Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2875
&gt; &gt; +    CodeOrigin m_codeOriginForExitProfile;
&gt; 
&gt; Can you pick either &quot;ForExitProfile&quot; or &quot;ForExitProfiling&quot;, and use it everywhere?

Yeah, ForExitProfile it is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>910561</commentid>
    <comment_count>6</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-07-21 16:41:15 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/152954</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>207212</attachid>
            <date>2013-07-21 12:30:37 -0700</date>
            <delta_ts>2013-07-21 16:16:00 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>15057</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTUyOTQ5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDY0IEBA
CisyMDEzLTA3LTIxICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
Zm91cnRoVGllcjogSXQgc2hvdWxkIGJlIHBvc3NpYmxlIGZvciBhIERGRzo6Tm9kZSB0byBjbGFp
bSB0byBleGl0IHRvIG9uZSBDb2RlT3JpZ2luLCBidXQgdGhlbiBjbGFpbSB0aGF0IGl0IGNvbnRy
aWJ1dGVkIHByb2ZpbGluZyBvbiBiZWhhbGYgb2Ygc29tZSBvdGhlciBDb2RlT3JpZ2luCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTg5NDYKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFdlIHdh
bnQgdG8gZGVjb3VwbGUgdGhlIGV4aXQgdGFyZ2V0IGNvZGUgb3JpZ2luIG9mIGEgbm9kZSBmcm9t
IHRoZSBjb2RlIG9yaWdpbgorICAgICAgICBmb3IgYWxsIG90aGVyIHB1cnBvc2VzLiBUaGUgcHVy
cG9zZXMgb2YgY29kZSBvcmlnaW5zIGFyZToKKyAgICAgICAgCisgICAgICAgIC0gV2hlcmUgdGhl
IG5vZGUgd2lsbCBleGl0LCBpZiBpdCBleGl0cy4gVGhlIGV4aXQgdGFyZ2V0IHNob3VsZCBiZSBj
b25zaXN0ZW50IHdpdGgKKyAgICAgICAgICB0aGUgc3Vycm91bmRpbmcgbm9kZXMsIGluIHRoYXQg
aWYgeW91IGp1c3QgbG9va2VkIGF0IHRoZSBjb2RlIG9yaWdpbnMgb2Ygbm9kZXMgaW4KKyAgICAg
ICAgICB0aGUgZ3JhcGgsIHRoZXkgd291bGQgYmUgY29uc2lzdGVudCB3aXRoIHRoZSBjb2RlIG9y
aWdpbnMgaW4gYnl0ZWNvZGUuIFRoaXMgaXMKKyAgICAgICAgICBuZWNlc3NhcnkgZm9yIGxpdmUt
YXQtYnl0ZWNvZGUgYW5hbHlzZXMgdG8gd29yaywgYW5kIHRvIHByZXNlcnZlIHRoZSBvcmlnaW5h
bAorICAgICAgICAgIGJ5dGVjb2RlIHNlbWFudGljcyB3aGVuIGV4aXRpbmcuCisgICAgICAgIAor
ICAgICAgICAtIFdoYXQga2luZCBvZiBjb2RlIHRoZSBub2RlIGNhbWUgZnJvbSwgZm9yIHNlbWFu
dGljcyB0aGluZ2llcy4gRm9yIGV4YW1wbGUsIHdlCisgICAgICAgICAgbWlnaHQgdXNlIHRoZSBj
b2RlIG9yaWdpbiB0byBmaW5kIHRoZSBub2RlJ3MgZ2xvYmFsIG9iamVjdCBmb3IgZG9pbmcgYW4g
b3JpZ2luYWwKKyAgICAgICAgICBhcnJheSBjaGVjay4gT3Igd2UgbWlnaHQgdXNlIGl0IHRvIGRl
dGVybWluZSBpZiB0aGUgY29kZSBpcyBpbiBzdHJpY3QgbW9kZS4gT3IKKyAgICAgICAgICBvdGhl
ciBzaW1pbGFyIHRoaW5ncy4gV2hlbiB3ZSB1c2UgdGhlIGNvZGUgb3JpZ2luIGluIHRoaXMgd2F5
LCB3ZSdyZSBiYXNpY2FsbHkKKyAgICAgICAgICB1c2luZyBpdCBhcyBhIHdheSBvZiBkZXNjcmli
aW5nIHRoZSBub2RlJ3MgbWV0YS1kYXRhIHdpdGhvdXQgcHV0dGluZyBpdCBpbnRvIHRoZQorICAg
ICAgICAgIG5vZGUgZGlyZWN0bHksIHRvIHNhdmUgc3BhY2UuIEluIHRoZSBhYnN1cmQgZXh0cmVt
ZSB5b3UgY291bGQgaW1hZ2luZSBub2RlcyBub3QKKyAgICAgICAgICBldmVuIGhhdmluZyBOb2Rl
VHlwZXMgb3IgTm9kZUZsYWdzLCBhbmQganVzdCB1c2luZyB0aGUgQ29kZU9yaWdpbiB0byBkZXRl
cm1pbmUKKyAgICAgICAgICB3aGF0IGJ5dGVjb2RlIHRoZSBub2RlIG9yaWdpbmF0ZWQgZnJvbS4g
V2Ugd29uJ3QgZG8gdGhhdCwgYnV0IHlvdSBjYW4gdGhpbmsgb2YKKyAgICAgICAgICB0aGlzIHVz
ZSBvZiBjb2RlIG9yaWdpbnMgYXMganVzdCBhIHdheSBvZiBjb21wcmVzc2luZyBtZXRhLWRhdGEu
CisgICAgICAgIAorICAgICAgICAtIFdoYXQgY29kZSBvcmlnaW4gd2Ugc2hvdWxkIHN1cHBseSBw
cm9maWxpbmcgdG8sIGlmIHdlIGV4aXQuIFRoaXMgaXMgY2xvc2VseQorICAgICAgICAgIHJlbGF0
ZWQgdG8gdGhlIHNlbWFudGljcyB0aGluZ2llcywgaW4gdGhhdCB0aGUgZXhpdCBwcm9maWxpbmcg
aXMgYSBwZXJzaXN0ZW50CisgICAgICAgICAga2luZCBvZiBzZW1hbnRpYyBtZXRhLWRhdGEgdGhh
dCBzdXJ2aXZlcyBiZXR3ZWVuIHJlY29tcGlsZXMsIGFuZCB0aGUgb25seSB3YXkgdG8KKyAgICAg
ICAgICBkbyB0aGF0IGlzIHRvIGFzY3JpYmUgaXQgdG8gdGhlIG9yaWdpbmFsIGJ5dGVjb2RlIHZp
YSB0aGUgY29kZSBvcmlnaW4uCisgICAgICAgIAorICAgICAgICBJZiB3ZSBob2lzdCBhIG5vZGUs
IHdlIG5lZWQgdG8gY2hhbmdlIHRoZSBleGl0IHRhcmdldCBjb2RlIG9yaWdpbiwgYnV0IHdlIG11
c3Qgbm90CisgICAgICAgIGNoYW5nZSB0aGUgY29kZSBvcmlnaW4gZm9yIG90aGVyIHB1cnBvc2Vz
LiBUaGUgYmVzdCB3YXkgdG8gZG8gdGhpcyBpcyB0byBkZWNvdXBsZQorICAgICAgICB0aGUgdHdv
IGtpbmRzIG9mIGNvZGUgb3JpZ2luLgorICAgICAgICAKKyAgICAgICAgT1NSIGV4aXQgZGF0YSBz
dHJ1Y3R1cmVzIGFscmVhZHkgZG8gdGhpcywgYmVjYXVzZSB0aGV5IG1heSBlZGl0IHRoZSBleGl0
IHRhcmdldAorICAgICAgICBjb2RlIG9yaWdpbiB3aGlsZSBrZWVwaW5nIHRoZSBjb2RlIG9yaWdp
biBmb3IgcHJvZmlsaW5nIGludGFjdC4gVGhpcyBoYXBwZW5zIGZvcgorICAgICAgICBmb3J3YXJk
IGV4aXRzLiBTbywgd2UganVzdCBuZWVkIHRvIHRocmVhZCBzZXBhcmF0aW9uIGFsbCB0aGUgd2F5
IGJhY2sgdG8gREZHOjpOb2RlLgorICAgICAgICBUaGF0J3Mgd2hhdCB0aGlzIHBhdGNoIGRvZXMu
CisKKyAgICAgICAgKiBkZmcvREZHTm9kZS5oOgorICAgICAgICAoSlNDOjpERkc6Ok5vZGU6Ok5v
ZGUpOgorICAgICAgICAoTm9kZSk6CisgICAgICAgICogZGZnL0RGR09TUkV4aXQuY3BwOgorICAg
ICAgICAoSlNDOjpERkc6Ok9TUkV4aXQ6Ok9TUkV4aXQpOgorICAgICAgICAqIGRmZy9ERkdPU1JF
eGl0QmFzZS5oOgorICAgICAgICAoSlNDOjpERkc6Ok9TUkV4aXRCYXNlOjpPU1JFeGl0QmFzZSk6
CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUN1cnJlbnRCbG9jayk6CisgICAgICAgIChKU0M6OkRG
Rzo6U3BlY3VsYXRpdmVKSVQ6OmNoZWNrQXJndW1lbnRUeXBlcyk6CisgICAgICAgICogZGZnL0RG
R1NwZWN1bGF0aXZlSklULmg6CisgICAgICAgIChTcGVjdWxhdGl2ZUpJVCk6CisgICAgICAgICog
ZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRGR1Rv
TExWTTo6Y29tcGlsZU5vZGUpOgorICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjph
cHBlbmRPU1JFeGl0KToKKyAgICAgICAgKExvd2VyREZHVG9MTFZNKToKKyAgICAgICAgKiBmdGwv
RlRMT1NSRXhpdC5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6T1NSRXhpdDo6T1NSRXhpdCk6Cisg
ICAgICAgICogZnRsL0ZUTE9TUkV4aXQuaDoKKyAgICAgICAgKE9TUkV4aXQpOgorCiAyMDEzLTA3
LTE5ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgZm91cnRoVGll
cjogU3RyaW5nT2JqZWN0VXNlIHVzZXMgc3RydWN0dXJlcywgYW5kIENTRSBzaG91bGQga25vdyB0
aGF0CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAkocmV2aXNpb24gMTUyOTQ5
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTE2Miw2ICsxNjIsNyBAQCBzdHJ1Y3QgTm9kZSB7CiAgICAgCiAgICAgTm9kZShOb2RlVHlw
ZSBvcCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBjb25zdCBBZGphY2VuY3lMaXN0JiBjaGlsZHJl
bikKICAgICAgICAgOiBjb2RlT3JpZ2luKGNvZGVPcmlnaW4pCisgICAgICAgICwgY29kZU9yaWdp
bkZvckV4aXRUYXJnZXQoY29kZU9yaWdpbikKICAgICAgICAgLCBjaGlsZHJlbihjaGlsZHJlbikK
ICAgICAgICAgLCBtX3ZpcnR1YWxSZWdpc3RlcihJbnZhbGlkVmlydHVhbFJlZ2lzdGVyKQogICAg
ICAgICAsIG1fcmVmQ291bnQoMSkKQEAgLTE3NCw2ICsxNzUsNyBAQCBzdHJ1Y3QgTm9kZSB7CiAg
ICAgLy8gQ29uc3RydWN0IGEgbm9kZSB3aXRoIHVwIHRvIDMgY2hpbGRyZW4sIG5vIGltbWVkaWF0
ZSB2YWx1ZS4KICAgICBOb2RlKE5vZGVUeXBlIG9wLCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIEVk
Z2UgY2hpbGQxID0gRWRnZSgpLCBFZGdlIGNoaWxkMiA9IEVkZ2UoKSwgRWRnZSBjaGlsZDMgPSBF
ZGdlKCkpCiAgICAgICAgIDogY29kZU9yaWdpbihjb2RlT3JpZ2luKQorICAgICAgICAsIGNvZGVP
cmlnaW5Gb3JFeGl0VGFyZ2V0KGNvZGVPcmlnaW4pCiAgICAgICAgICwgY2hpbGRyZW4oQWRqYWNl
bmN5TGlzdDo6Rml4ZWQsIGNoaWxkMSwgY2hpbGQyLCBjaGlsZDMpCiAgICAgICAgICwgbV92aXJ0
dWFsUmVnaXN0ZXIoSW52YWxpZFZpcnR1YWxSZWdpc3RlcikKICAgICAgICAgLCBtX3JlZkNvdW50
KDEpCkBAIC0xODcsNiArMTg5LDcgQEAgc3RydWN0IE5vZGUgewogICAgIC8vIENvbnN0cnVjdCBh
IG5vZGUgd2l0aCB1cCB0byAzIGNoaWxkcmVuIGFuZCBhbiBpbW1lZGlhdGUgdmFsdWUuCiAgICAg
Tm9kZShOb2RlVHlwZSBvcCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBPcEluZm8gaW1tLCBFZGdl
IGNoaWxkMSA9IEVkZ2UoKSwgRWRnZSBjaGlsZDIgPSBFZGdlKCksIEVkZ2UgY2hpbGQzID0gRWRn
ZSgpKQogICAgICAgICA6IGNvZGVPcmlnaW4oY29kZU9yaWdpbikKKyAgICAgICAgLCBjb2RlT3Jp
Z2luRm9yRXhpdFRhcmdldChjb2RlT3JpZ2luKQogICAgICAgICAsIGNoaWxkcmVuKEFkamFjZW5j
eUxpc3Q6OkZpeGVkLCBjaGlsZDEsIGNoaWxkMiwgY2hpbGQzKQogICAgICAgICAsIG1fdmlydHVh
bFJlZ2lzdGVyKEludmFsaWRWaXJ0dWFsUmVnaXN0ZXIpCiAgICAgICAgICwgbV9yZWZDb3VudCgx
KQpAQCAtMjAxLDYgKzIwNCw3IEBAIHN0cnVjdCBOb2RlIHsKICAgICAvLyBDb25zdHJ1Y3QgYSBu
b2RlIHdpdGggdXAgdG8gMyBjaGlsZHJlbiBhbmQgdHdvIGltbWVkaWF0ZSB2YWx1ZXMuCiAgICAg
Tm9kZShOb2RlVHlwZSBvcCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBPcEluZm8gaW1tMSwgT3BJ
bmZvIGltbTIsIEVkZ2UgY2hpbGQxID0gRWRnZSgpLCBFZGdlIGNoaWxkMiA9IEVkZ2UoKSwgRWRn
ZSBjaGlsZDMgPSBFZGdlKCkpCiAgICAgICAgIDogY29kZU9yaWdpbihjb2RlT3JpZ2luKQorICAg
ICAgICAsIGNvZGVPcmlnaW5Gb3JFeGl0VGFyZ2V0KGNvZGVPcmlnaW4pCiAgICAgICAgICwgY2hp
bGRyZW4oQWRqYWNlbmN5TGlzdDo6Rml4ZWQsIGNoaWxkMSwgY2hpbGQyLCBjaGlsZDMpCiAgICAg
ICAgICwgbV92aXJ0dWFsUmVnaXN0ZXIoSW52YWxpZFZpcnR1YWxSZWdpc3RlcikKICAgICAgICAg
LCBtX3JlZkNvdW50KDEpCkBAIC0yMTYsNiArMjIwLDcgQEAgc3RydWN0IE5vZGUgewogICAgIC8v
IENvbnN0cnVjdCBhIG5vZGUgd2l0aCBhIHZhcmlhYmxlIG51bWJlciBvZiBjaGlsZHJlbiBhbmQg
dHdvIGltbWVkaWF0ZSB2YWx1ZXMuCiAgICAgTm9kZShWYXJBcmdUYWcsIE5vZGVUeXBlIG9wLCBD
b2RlT3JpZ2luIGNvZGVPcmlnaW4sIE9wSW5mbyBpbW0xLCBPcEluZm8gaW1tMiwgdW5zaWduZWQg
Zmlyc3RDaGlsZCwgdW5zaWduZWQgbnVtQ2hpbGRyZW4pCiAgICAgICAgIDogY29kZU9yaWdpbihj
b2RlT3JpZ2luKQorICAgICAgICAsIGNvZGVPcmlnaW5Gb3JFeGl0VGFyZ2V0KGNvZGVPcmlnaW4p
CiAgICAgICAgICwgY2hpbGRyZW4oQWRqYWNlbmN5TGlzdDo6VmFyaWFibGUsIGZpcnN0Q2hpbGQs
IG51bUNoaWxkcmVuKQogICAgICAgICAsIG1fdmlydHVhbFJlZ2lzdGVyKEludmFsaWRWaXJ0dWFs
UmVnaXN0ZXIpCiAgICAgICAgICwgbV9yZWZDb3VudCgxKQpAQCAtMTM3Niw4ICsxMzgxLDExIEBA
IHN0cnVjdCBOb2RlIHsKICAgICAKICAgICAvLyBOQi4gVGhpcyBjbGFzcyBtdXN0IGhhdmUgYSB0
cml2aWFsIGRlc3RydWN0b3IuCiAgICAgCi0gICAgLy8gVXNlZCB0byBsb29rIHVwIGV4Y2VwdGlv
biBoYW5kbGluZyBpbmZvcm1hdGlvbiAoY3VycmVudGx5IGltcGxlbWVudGVkIGFzIGEgYnl0ZWNv
ZGUgaW5kZXgpLgorICAgIC8vIFVzZWQgZm9yIGRldGVybWluaW5nIHdoYXQgYnl0ZWNvZGUgdGhp
cyBjYW1lIGZyb20uIFRoaXMgaXMgaW1wb3J0YW50IGZvcgorICAgIC8vIGRlYnVnZ2luZywgZXhj
ZXB0aW9ucywgYW5kIGV2ZW4gYmFzaWMgZXhlY3V0aW9uIHNlbWFudGljcy4KICAgICBDb2RlT3Jp
Z2luIGNvZGVPcmlnaW47CisgICAgLy8gQ29kZSBvcmlnaW4gZm9yIHByb2ZpbGluZy4KKyAgICBD
b2RlT3JpZ2luIGNvZGVPcmlnaW5Gb3JFeGl0VGFyZ2V0OwogICAgIC8vIFJlZmVyZW5jZXMgdG8g
dXAgdG8gMyBjaGlsZHJlbiwgb3IgbGlua3MgdG8gYSB2YXJpYWJsZSBsZW5ndGggc2V0IG9mIGNo
aWxkcmVuLgogICAgIEFkamFjZW5jeUxpc3QgY2hpbGRyZW47CiAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0LmNwcAkocmV2aXNpb24gMTUyOTQ5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEzIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzYsNyAr
MzYsNyBAQAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewogCiBPU1JFeGl0OjpPU1JF
eGl0KEV4aXRLaW5kIGtpbmQsIEpTVmFsdWVTb3VyY2UganNWYWx1ZVNvdXJjZSwgTWV0aG9kT2ZH
ZXR0aW5nQVZhbHVlUHJvZmlsZSB2YWx1ZVByb2ZpbGUsIFNwZWN1bGF0aXZlSklUKiBqaXQsIHVu
c2lnbmVkIHN0cmVhbUluZGV4LCB1bnNpZ25lZCByZWNvdmVyeUluZGV4KQotICAgIDogT1NSRXhp
dEJhc2Uoa2luZCwgaml0LT5tX2NvZGVPcmlnaW5Gb3JPU1IpCisgICAgOiBPU1JFeGl0QmFzZShr
aW5kLCBqaXQtPm1fY29kZU9yaWdpbkZvckV4aXRUYXJnZXQsIGppdC0+bV9jb2RlT3JpZ2luRm9y
RXhpdFByb2ZpbGluZykKICAgICAsIG1fanNWYWx1ZVNvdXJjZShqc1ZhbHVlU291cmNlKQogICAg
ICwgbV92YWx1ZVByb2ZpbGUodmFsdWVQcm9maWxlKQogICAgICwgbV9wYXRjaGFibGVDb2RlT2Zm
c2V0KDApCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRCYXNlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRCYXNl
LmNwcAkocmV2aXNpb24gMTUyOTQ5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdP
U1JFeGl0QmFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUzLDcgKzUzLDcgQEAgYm9vbCBPU1JF
eGl0QmFzZTo6ZG9TZWFyY2hGb3JGb3J3YXJkQ29udgogICAgICAgICAmJiAhY3VycmVudE5vZGUt
PmNvbnRhaW5zTW92SGludCgpKSB7CiAgICAgICAgIE5vZGUqIHNldExvY2FsID0gYmxvY2stPmF0
KG5vZGVJbmRleCAtIDEpOwogICAgICAgICBBU1NFUlRfVU5VU0VEKHNldExvY2FsLCBzZXRMb2Nh
bC0+Y29udGFpbnNNb3ZIaW50KCkpOwotICAgICAgICBBU1NFUlRfVU5VU0VEKHNldExvY2FsLCBz
ZXRMb2NhbC0+Y29kZU9yaWdpbiA9PSBjdXJyZW50Tm9kZS0+Y29kZU9yaWdpbik7CisgICAgICAg
IEFTU0VSVF9VTlVTRUQoc2V0TG9jYWwsIHNldExvY2FsLT5jb2RlT3JpZ2luRm9yRXhpdFRhcmdl
dCA9PSBjdXJyZW50Tm9kZS0+Y29kZU9yaWdpbkZvckV4aXRUYXJnZXQpOwogICAgIH0KICAgICAK
ICAgICAvLyBGaW5kIHRoZSBmaXJzdCBub2RlIGZvciB0aGUgbmV4dCBieXRlY29kZSBpbnN0cnVj
dGlvbi4gQWxzbyB0cmFjayB0aGUgbGFzdCBtb3YgaGludApAQCAtNzIsMTIgKzcyLDEyIEBAIGJv
b2wgT1NSRXhpdEJhc2U6OmRvU2VhcmNoRm9yRm9yd2FyZENvbnYKICAgICAgICAgbm9kZSA9IGJs
b2NrLT5hdChpbmRleEluQmxvY2spOwogICAgICAgICBpZiAobm9kZS0+Y29udGFpbnNNb3ZIaW50
KCkgJiYgbm9kZS0+Y2hpbGQxKCkgPT0gY3VycmVudE5vZGUpCiAgICAgICAgICAgICBsYXN0TW92
SGludCA9IG5vZGU7Ci0gICAgICAgIGlmIChub2RlLT5jb2RlT3JpZ2luICE9IGN1cnJlbnROb2Rl
LT5jb2RlT3JpZ2luKQorICAgICAgICBpZiAobm9kZS0+Y29kZU9yaWdpbkZvckV4aXRUYXJnZXQg
IT0gY3VycmVudE5vZGUtPmNvZGVPcmlnaW5Gb3JFeGl0VGFyZ2V0KQogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIGluZGV4SW5CbG9jaysrOwogICAgIH0KICAgICAKLSAgICBBU1NFUlQobm9k
ZS0+Y29kZU9yaWdpbiAhPSBjdXJyZW50Tm9kZS0+Y29kZU9yaWdpbik7CisgICAgQVNTRVJUKG5v
ZGUtPmNvZGVPcmlnaW5Gb3JFeGl0VGFyZ2V0ICE9IGN1cnJlbnROb2RlLT5jb2RlT3JpZ2luRm9y
RXhpdFRhcmdldCk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHT1NSRXhpdEJhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR09TUkV4aXRCYXNlLmgJKHJldmlzaW9uIDE1Mjk0OSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdEJhc2UuaAkod29ya2luZyBjb3B5KQpAQCAt
NDIsMTEgKzQyLDExIEBAIHN0cnVjdCBOb2RlOwogLy8gYW5kIHRoZSBGVEwuCiAKIHN0cnVjdCBP
U1JFeGl0QmFzZSB7Ci0gICAgT1NSRXhpdEJhc2UoRXhpdEtpbmQga2luZCwgQ29kZU9yaWdpbiBv
cmlnaW4pCisgICAgT1NSRXhpdEJhc2UoRXhpdEtpbmQga2luZCwgQ29kZU9yaWdpbiBvcmlnaW4s
IENvZGVPcmlnaW4gb3JpZ2luRm9yUHJvZmlsZSkKICAgICAgICAgOiBtX2tpbmQoa2luZCkKICAg
ICAgICAgLCBtX2NvdW50KDApCiAgICAgICAgICwgbV9jb2RlT3JpZ2luKG9yaWdpbikKLSAgICAg
ICAgLCBtX2NvZGVPcmlnaW5Gb3JFeGl0UHJvZmlsZShvcmlnaW4pCisgICAgICAgICwgbV9jb2Rl
T3JpZ2luRm9yRXhpdFByb2ZpbGUob3JpZ2luRm9yUHJvZmlsZSkKICAgICB7CiAgICAgfQogICAg
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5jcHAJKHJldmlzaW9uIDE1Mjk0OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjg5LDcgKzE2ODksOCBAQCB2
b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlQ3VycmVudEJsb2NrCiAgICAgfQogICAgIAogICAg
IG1fbGFzdFNldE9wZXJhbmQgPSBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpOwotICAg
IG1fY29kZU9yaWdpbkZvck9TUiA9IENvZGVPcmlnaW4oKTsKKyAgICBtX2NvZGVPcmlnaW5Gb3JF
eGl0VGFyZ2V0ID0gQ29kZU9yaWdpbigpOworICAgIG1fY29kZU9yaWdpbkZvckV4aXRQcm9maWxp
bmcgPSBDb2RlT3JpZ2luKCk7CiAgICAgCiAjaWYgREZHX0VOQUJMRShERUJVR19WRVJCT1NFKQog
ICAgIGRhdGFMb2dGKCJcbiIpOwpAQCAtMTcwOCw3ICsxNzA5LDggQEAgdm9pZCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZUN1cnJlbnRCbG9jawogICAgICAgICBtX2NhbkV4aXQgPSBtX2N1cnJlbnRO
b2RlLT5jYW5FeGl0KCk7CiAgICAgICAgIGJvb2wgc2hvdWxkRXhlY3V0ZUVmZmVjdHMgPSBtX2lu
dGVycHJldGVyLnN0YXJ0RXhlY3V0aW5nKG1fY3VycmVudE5vZGUpOwogICAgICAgICBtX2ppdC5z
ZXRGb3JOb2RlKG1fY3VycmVudE5vZGUpOwotICAgICAgICBtX2NvZGVPcmlnaW5Gb3JPU1IgPSBt
X2N1cnJlbnROb2RlLT5jb2RlT3JpZ2luOworICAgICAgICBtX2NvZGVPcmlnaW5Gb3JFeGl0VGFy
Z2V0ID0gbV9jdXJyZW50Tm9kZS0+Y29kZU9yaWdpbkZvckV4aXRUYXJnZXQ7CisgICAgICAgIG1f
Y29kZU9yaWdpbkZvckV4aXRQcm9maWxpbmcgPSBtX2N1cnJlbnROb2RlLT5jb2RlT3JpZ2luOwog
ICAgICAgICBpZiAoIW1fY3VycmVudE5vZGUtPnNob3VsZEdlbmVyYXRlKCkpIHsKICNpZiBERkdf
RU5BQkxFKERFQlVHX1ZFUkJPU0UpCiAgICAgICAgICAgICBkYXRhTG9nRigiU3BlY3VsYXRpdmVK
SVQgc2tpcHBpbmcgTm9kZSBAJWQgKGJjIyV1KSBhdCBKSVQgb2Zmc2V0IDB4JXggICAgICIsIG1f
Y3VycmVudE5vZGUtPmluZGV4KCksIG1fY3VycmVudE5vZGUtPmNvZGVPcmlnaW4uYnl0ZWNvZGVJ
bmRleCwgbV9qaXQuZGVidWdPZmZzZXQoKSk7CkBAIC0xODI1LDcgKzE4MjcsOCBAQCB2b2lkIFNw
ZWN1bGF0aXZlSklUOjpjaGVja0FyZ3VtZW50VHlwZXMoCiAgICAgQVNTRVJUKCFtX2N1cnJlbnRO
b2RlKTsKICAgICBtX2lzQ2hlY2tpbmdBcmd1bWVudFR5cGVzID0gdHJ1ZTsKICAgICBtX3NwZWN1
bGF0aW9uRGlyZWN0aW9uID0gQmFja3dhcmRTcGVjdWxhdGlvbjsKLSAgICBtX2NvZGVPcmlnaW5G
b3JPU1IgPSBDb2RlT3JpZ2luKDApOworICAgIG1fY29kZU9yaWdpbkZvckV4aXRUYXJnZXQgPSBD
b2RlT3JpZ2luKDApOworICAgIG1fY29kZU9yaWdpbkZvckV4aXRQcm9maWxpbmcgPSBDb2RlT3Jp
Z2luKDApOwogCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2FyZ3VtZW50cy5zaXplKCk7
ICsraSkKICAgICAgICAgbV9hcmd1bWVudHNbaV0gPSBWYWx1ZVNvdXJjZShWYWx1ZUluSlNTdGFj
ayk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5oCShyZXZpc2lvbiAxNTI5NDkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmgJKHdvcmtpbmcgY29weSkKQEAgLTIxNzMsNyArMjE3Myw4IEBAIHB1Ymxp
YzoKICAgICBWZWN0b3I8VmFsdWVTb3VyY2UsIDA+IG1fYXJndW1lbnRzOwogICAgIFZlY3RvcjxW
YWx1ZVNvdXJjZSwgMD4gbV92YXJpYWJsZXM7CiAgICAgaW50IG1fbGFzdFNldE9wZXJhbmQ7Ci0g
ICAgQ29kZU9yaWdpbiBtX2NvZGVPcmlnaW5Gb3JPU1I7CisgICAgQ29kZU9yaWdpbiBtX2NvZGVP
cmlnaW5Gb3JFeGl0VGFyZ2V0OworICAgIENvZGVPcmlnaW4gbV9jb2RlT3JpZ2luRm9yRXhpdFBy
b2ZpbGluZzsKICAgICAKICAgICBJblBsYWNlQWJzdHJhY3RTdGF0ZSBtX3N0YXRlOwogICAgIEFi
c3RyYWN0SW50ZXJwcmV0ZXI8SW5QbGFjZUFic3RyYWN0U3RhdGU+IG1faW50ZXJwcmV0ZXI7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNw
cAkocmV2aXNpb24gMTUyOTQ5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dl
ckRGR1RvTExWTS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxNiw3ICsyMTYsOCBAQCBwcml2YXRl
OgogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBtX25vZGUgPSBtX2hpZ2hCbG9jay0+YXQo
bm9kZUluZGV4KTsKLSAgICAgICAgbV9jb2RlT3JpZ2luID0gbV9ub2RlLT5jb2RlT3JpZ2luOwor
ICAgICAgICBtX2NvZGVPcmlnaW5Gb3JFeGl0UHJvZmlsZSA9IG1fbm9kZS0+Y29kZU9yaWdpbjsK
KyAgICAgICAgbV9jb2RlT3JpZ2luRm9yRXhpdFRhcmdldCA9IG1fbm9kZS0+Y29kZU9yaWdpbkZv
ckV4aXRUYXJnZXQ7CiAgICAgICAgIAogICAgICAgICBpZiAodmVyYm9zZUNvbXBpbGF0aW9uRW5h
YmxlZCgpKQogICAgICAgICAgICAgZGF0YUxvZygiTG93ZXJpbmcgIiwgbV9ub2RlLCAiXG4iKTsK
QEAgLTI0ODEsOCArMjQ4Miw4IEBAIHByaXZhdGU6CiAgICAgICAgIAogICAgICAgICBtX2Z0bFN0
YXRlLmppdENvZGUtPm9zckV4aXQuYXBwZW5kKE9TUkV4aXQoCiAgICAgICAgICAgICBraW5kLCBs
b3dWYWx1ZS5mb3JtYXQoKSwgbV9ncmFwaC5tZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxlRm9y
KGhpZ2hWYWx1ZSksCi0gICAgICAgICAgICBtX2NvZGVPcmlnaW4sIG1fbGFzdFNldE9wZXJhbmQs
IG1fdmFsdWVTb3VyY2VzLm51bWJlck9mQXJndW1lbnRzKCksCi0gICAgICAgICAgICBtX3ZhbHVl
U291cmNlcy5udW1iZXJPZkxvY2FscygpKSk7CisgICAgICAgICAgICBtX2NvZGVPcmlnaW5Gb3JF
eGl0VGFyZ2V0LCBtX2NvZGVPcmlnaW5Gb3JFeGl0UHJvZmlsZSwgbV9sYXN0U2V0T3BlcmFuZCwK
KyAgICAgICAgICAgIG1fdmFsdWVTb3VyY2VzLm51bWJlck9mQXJndW1lbnRzKCksIG1fdmFsdWVT
b3VyY2VzLm51bWJlck9mTG9jYWxzKCkpKTsKICAgICAgICAgbV9mdGxTdGF0ZS5vc3JFeGl0LmFw
cGVuZChPU1JFeGl0Q29tcGlsYXRpb25JbmZvKCkpOwogICAgICAgICAKICAgICAgICAgT1NSRXhp
dCYgZXhpdCA9IG1fZnRsU3RhdGUuaml0Q29kZS0+b3NyRXhpdC5sYXN0KCk7CkBAIC0yODcwLDcg
KzI4NzEsOCBAQCBwcml2YXRlOgogICAgIEJhc2ljQmxvY2sqIG1fbmV4dEhpZ2hCbG9jazsKICAg
ICBMQmFzaWNCbG9jayBtX25leHRMb3dCbG9jazsKICAgICAKLSAgICBDb2RlT3JpZ2luIG1fY29k
ZU9yaWdpbjsKKyAgICBDb2RlT3JpZ2luIG1fY29kZU9yaWdpbkZvckV4aXRUYXJnZXQ7CisgICAg
Q29kZU9yaWdpbiBtX2NvZGVPcmlnaW5Gb3JFeGl0UHJvZmlsZTsKICAgICB1bnNpZ25lZCBtX25v
ZGVJbmRleDsKICAgICBOb2RlKiBtX25vZGU7CiAgICAgU3BlY3VsYXRpb25EaXJlY3Rpb24gbV9k
aXJlY3Rpb247CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4aXQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT1NSRXhpdC5jcHAJ
KHJldmlzaW9uIDE1Mjk0OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT1NSRXhp
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzLDggKzQzLDkgQEAgdXNpbmcgbmFtZXNwYWNlIERG
RzsKIE9TUkV4aXQ6Ok9TUkV4aXQoCiAgICAgRXhpdEtpbmQgZXhpdEtpbmQsIFZhbHVlRm9ybWF0
IHByb2ZpbGVWYWx1ZUZvcm1hdCwKICAgICBNZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxlIHZh
bHVlUHJvZmlsZSwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLAotICAgIGludCBsYXN0U2V0T3BlcmFu
ZCwgdW5zaWduZWQgbnVtYmVyT2ZBcmd1bWVudHMsIHVuc2lnbmVkIG51bWJlck9mTG9jYWxzKQot
ICAgIDogT1NSRXhpdEJhc2UoZXhpdEtpbmQsIGNvZGVPcmlnaW4pCisgICAgQ29kZU9yaWdpbiBv
cmlnaW5Gb3JQcm9maWxlLCBpbnQgbGFzdFNldE9wZXJhbmQsIHVuc2lnbmVkIG51bWJlck9mQXJn
dW1lbnRzLAorICAgIHVuc2lnbmVkIG51bWJlck9mTG9jYWxzKQorICAgIDogT1NSRXhpdEJhc2Uo
ZXhpdEtpbmQsIGNvZGVPcmlnaW4sIG9yaWdpbkZvclByb2ZpbGUpCiAgICAgLCBtX3Byb2ZpbGVW
YWx1ZUZvcm1hdChwcm9maWxlVmFsdWVGb3JtYXQpCiAgICAgLCBtX3ZhbHVlUHJvZmlsZSh2YWx1
ZVByb2ZpbGUpCiAgICAgLCBtX3BhdGNoYWJsZUNvZGVPZmZzZXQoMCkKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMT1NSRXhpdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMT1NSRXhpdC5oCShyZXZpc2lvbiAxNTI5NDkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4aXQuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ0LDgg
KzE0NCw4IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKIHN0cnVjdCBPU1JFeGl0
IDogcHVibGljIERGRzo6T1NSRXhpdEJhc2UgewogICAgIE9TUkV4aXQoCiAgICAgICAgIEV4aXRL
aW5kLCBWYWx1ZUZvcm1hdCBwcm9maWxlVmFsdWVGb3JtYXQsIE1ldGhvZE9mR2V0dGluZ0FWYWx1
ZVByb2ZpbGUsCi0gICAgICAgIENvZGVPcmlnaW4sIGludCBsYXN0U2V0T3BlcmFuZCwgdW5zaWdu
ZWQgbnVtYmVyT2ZBcmd1bWVudHMsCi0gICAgICAgIHVuc2lnbmVkIG51bWJlck9mTG9jYWxzKTsK
KyAgICAgICAgQ29kZU9yaWdpbiwgQ29kZU9yaWdpbiBvcmlnaW5Gb3JQcm9maWxlLCBpbnQgbGFz
dFNldE9wZXJhbmQsCisgICAgICAgIHVuc2lnbmVkIG51bWJlck9mQXJndW1lbnRzLCB1bnNpZ25l
ZCBudW1iZXJPZkxvY2Fscyk7CiAgICAgCiAgICAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIG1fY29k
ZTsKICAgICAK
</data>
<flag name="review"
          id="228975"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>