<?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>133955</bug_id>
          
          <creation_ts>2014-06-16 15:01:20 -0700</creation_ts>
          <short_desc>css jit should not save callee saved registers</short_desc>
          <delta_ts>2014-06-27 13:39:01 -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>CSS</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>benjamin</cc>
    
    <cc>bunhere</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1015973</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2014-06-16 15:01:20 -0700</bug_when>
    <thetext>We do a lot of pushing and popping that we don&apos;t need to, especially on armv7 and x86_64.  This could minimize it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1015977</commentid>
    <comment_count>1</comment_count>
      <attachid>233185</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2014-06-16 15:05:41 -0700</bug_when>
    <thetext>Created attachment 233185
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016209</commentid>
    <comment_count>2</comment_count>
      <attachid>233185</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2014-06-17 12:41:29 -0700</bug_when>
    <thetext>Comment on attachment 233185
Patch

We need a way to specify whether we want to save the values in the argument registers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1019003</commentid>
    <comment_count>3</comment_count>
      <attachid>233994</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2014-06-27 10:43:40 -0700</bug_when>
    <thetext>Created attachment 233994
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1019034</commentid>
    <comment_count>4</comment_count>
      <attachid>234001</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2014-06-27 11:41:55 -0700</bug_when>
    <thetext>Created attachment 234001
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1019061</commentid>
    <comment_count>5</comment_count>
      <attachid>234001</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-06-27 12:56:36 -0700</bug_when>
    <thetext>Comment on attachment 234001
Patch

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

r=me

&gt; Source/WebCore/cssjit/SelectorCompiler.cpp:1442
&gt;      // FIXME: We should look into doing something smart in MacroAssembler instead.
&gt;      Assembler::Address flagAddress(childStyle, RenderStyle::noninheritedFlagsMemoryOffset() + RenderStyle::NonInheritedFlags::flagsMemoryOffset());
&gt;  #if CPU(ARM_THUMB2)
&gt; -    m_assembler.or32(Assembler::TrustedImm32(newFlag &amp; 0xffffffff), flagAddress);
&gt; -    Assembler::Address flagHighBits = flagAddress.withOffset(4);
&gt; -    m_assembler.or32(Assembler::TrustedImm32(newFlag &gt;&gt; 32), flagHighBits);
&gt; +    int32_t flagLowBits = newFlag &amp; 0xffffffff;
&gt; +    int32_t flagHighBits = newFlag &gt;&gt; 32;
&gt; +    if (flagLowBits)
&gt; +        m_assembler.or32(Assembler::TrustedImm32(flagLowBits), flagAddress);
&gt; +    if (flagHighBits) {
&gt; +        Assembler::Address flagHighAddress = flagAddress.withOffset(4);
&gt; +        m_assembler.or32(Assembler::TrustedImm32(flagHighBits), flagHighAddress);
&gt; +    }

A good optimization, but probably better as a separate patch, since the topic is not related to register saving.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1019070</commentid>
    <comment_count>6</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2014-06-27 13:39:01 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/170548</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>233185</attachid>
            <date>2014-06-16 15:05:41 -0700</date>
            <delta_ts>2014-06-27 10:43:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133955-20140616150517.patch</filename>
            <type>text/plain</type>
            <size>5932</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3MDAyOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDE0LTA2LTE2ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUHJldmVudCB1
bm5lY2Vzc2FyeSByZWdpc3RlciBzYXZpbmcgaW4gY3NzIGppdC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMzk1NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogY3Nzaml0L0Z1bmN0aW9uQ2FsbC5oOgor
ICAgICAgICAoV2ViQ29yZTo6RnVuY3Rpb25DYWxsOjpwcmVwYXJlQW5kQ2FsbCk6CisgICAgICAg
IChXZWJDb3JlOjpGdW5jdGlvbkNhbGw6OmNsZWFudXBQb3N0Q2FsbCk6CisgICAgICAgIChXZWJD
b3JlOjpGdW5jdGlvbkNhbGw6OnNhdmVBbGxvY2F0ZWRSZWdpc3RlcnMpOiBSZW5hbWVkIHRvIHNh
dmVBbGxvY2F0ZWRDYWxsZXJTYXZlZFJlZ2lzdGVycy4KKyAgICAgICAgKFdlYkNvcmU6OkZ1bmN0
aW9uQ2FsbDo6cmVzdG9yZUFsbG9jYXRlZFJlZ2lzdGVycyk6IFJlbmFtZWQgdG8gcmVzdG9yZUFs
bG9jYXRlZENhbGxlclNhdmVkUmVnaXN0ZXJzLgorICAgICAgICAoV2ViQ29yZTo6RnVuY3Rpb25D
YWxsOjpzYXZlQWxsb2NhdGVkQ2FsbGVyU2F2ZWRSZWdpc3RlcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6RnVuY3Rpb25DYWxsOjpyZXN0b3JlQWxsb2NhdGVkQ2FsbGVyU2F2ZWRSZWdpc3RlcnMpOgor
ICAgICAgICBDaGVjayBpZiBhIHJlZ2lzdGVyIGlzIGEgbm9uLWFyZ3VtZW50IGNhbGxlci1zYXZl
ZCByZWdpc3RlciBiZWZvcmUgcHVzaGluZy4KKyAgICAgICAgKiBjc3NqaXQvUmVnaXN0ZXJBbGxv
Y2F0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlZ2lzdGVyQWxsb2NhdG9yOjppc1ZhbGlkUmVn
aXN0ZXIpOgorICAgICAgICBDb3JyZWN0ZWQgYWxsb2NhdGFibGUgcmVnaXN0ZXIgcmFuZ2VzLgor
ICAgICAgICAoV2ViQ29yZTo6UmVnaXN0ZXJBbGxvY2F0b3I6OmlzQ2FsbGVyU2F2ZWRSZWdpc3Rl
cik6IEFkZGVkLgorCiAyMDE0LTA2LTE2ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBs
ZS5jb20+CiAKICAgICAgICAgQVg6IFNhZmFyaSBjcmFzaGVkIG9uY2UgaW4gV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eU9iamVjdDo6YXJpYUlzSGlkZGVuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3Nq
aXQvRnVuY3Rpb25DYWxsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3Nzaml0L0Z1
bmN0aW9uQ2FsbC5oCShyZXZpc2lvbiAxNjk5NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3NqaXQv
RnVuY3Rpb25DYWxsLmgJKHdvcmtpbmcgY29weSkKQEAgLTExMyw3ICsxMTMsNyBAQCBwcml2YXRl
OgogICAgICAgICBBU1NFUlQobV9mdW5jdGlvbkFkZHJlc3MuZXhlY3V0YWJsZUFkZHJlc3MoKSk7
CiAgICAgICAgIEFTU0VSVCghbV9maXJzdEFyZ3VtZW50IHx8IChtX2ZpcnN0QXJndW1lbnQgJiYg
IW1fc2Vjb25kQXJndW1lbnQpIHx8IChtX2ZpcnN0QXJndW1lbnQgJiYgbV9zZWNvbmRBcmd1bWVu
dCkpOwogCi0gICAgICAgIHNhdmVBbGxvY2F0ZWRSZWdpc3RlcnMoKTsKKyAgICAgICAgc2F2ZUFs
bG9jYXRlZENhbGxlclNhdmVkUmVnaXN0ZXJzKCk7CiAgICAgICAgIG1fc3RhY2tBbGxvY2F0b3Iu
YWxpZ25TdGFja1ByZUZ1bmN0aW9uQ2FsbCgpOwogCiAgICAgICAgIGlmIChtX2FyZ3VtZW50Q291
bnQgPT0gMikgewpAQCAtMTU1LDIwICsxNTUsMjcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNsZWFu
dXBQb3N0Q2FsbCgpCiAgICAgewogICAgICAgICBtX3N0YWNrQWxsb2NhdG9yLnVuYWxpZ25TdGFj
a1Bvc3RGdW5jdGlvbkNhbGwoKTsKLSAgICAgICAgcmVzdG9yZUFsbG9jYXRlZFJlZ2lzdGVycygp
OworICAgICAgICByZXN0b3JlQWxsb2NhdGVkQ2FsbGVyU2F2ZWRSZWdpc3RlcnMoKTsKICAgICB9
CiAKLSAgICB2b2lkIHNhdmVBbGxvY2F0ZWRSZWdpc3RlcnMoKQorICAgIHZvaWQgc2F2ZUFsbG9j
YXRlZENhbGxlclNhdmVkUmVnaXN0ZXJzKCkKICAgICB7CiAgICAgICAgIEFTU0VSVChtX3NhdmVk
UmVnaXN0ZXJTdGFja1JlZmVyZW5jZXMuaXNFbXB0eSgpKTsKKyAgICAgICAgQVNTRVJUKG1fc2F2
ZWRSZWdpc3RlcnMuaXNFbXB0eSgpKTsKICAgICAgICAgY29uc3QgVmVjdG9yPEpTQzo6TWFjcm9B
c3NlbWJsZXI6OlJlZ2lzdGVySUQsIHJlZ2lzdGVyQ291bnQ+JiBhbGxvY2F0ZWRSZWdpc3RlcnMg
PSBtX3JlZ2lzdGVyQWxsb2NhdG9yLmFsbG9jYXRlZFJlZ2lzdGVycygpOwotICAgICAgICBWZWN0
b3I8U3RhY2tBbGxvY2F0b3I6OlN0YWNrUmVmZXJlbmNlPiBzdGFja1JlZmVyZW5jZXMgPSBtX3N0
YWNrQWxsb2NhdG9yLnB1c2goYWxsb2NhdGVkUmVnaXN0ZXJzKTsKKyAgICAgICAgZm9yIChhdXRv
IHJlZ2lzdGVySUQgOiBhbGxvY2F0ZWRSZWdpc3RlcnMpIHsKKyAgICAgICAgICAgIGlmIChpc0Nh
bGxlclNhdmVkUmVnaXN0ZXIocmVnaXN0ZXJJRCkKKyAgICAgICAgICAgICAgICAmJiAobV9hcmd1
bWVudENvdW50IDwgMSB8fCByZWdpc3RlcklEICE9IEpTQzo6R1BSSW5mbzo6YXJndW1lbnRHUFIw
KQorICAgICAgICAgICAgICAgICYmIChtX2FyZ3VtZW50Q291bnQgPCAyIHx8IHJlZ2lzdGVySUQg
IT0gSlNDOjpHUFJJbmZvOjphcmd1bWVudEdQUjEpKQorICAgICAgICAgICAgICAgIG1fc2F2ZWRS
ZWdpc3RlcnMuYXBwZW5kKHJlZ2lzdGVySUQpOworICAgICAgICB9CisgICAgICAgIFZlY3RvcjxT
dGFja0FsbG9jYXRvcjo6U3RhY2tSZWZlcmVuY2U+IHN0YWNrUmVmZXJlbmNlcyA9IG1fc3RhY2tB
bGxvY2F0b3IucHVzaChtX3NhdmVkUmVnaXN0ZXJzKTsKICAgICAgICAgbV9zYXZlZFJlZ2lzdGVy
U3RhY2tSZWZlcmVuY2VzLmFwcGVuZFZlY3RvcihzdGFja1JlZmVyZW5jZXMpOwogICAgIH0KIAot
ICAgIHZvaWQgcmVzdG9yZUFsbG9jYXRlZFJlZ2lzdGVycygpCisgICAgdm9pZCByZXN0b3JlQWxs
b2NhdGVkQ2FsbGVyU2F2ZWRSZWdpc3RlcnMoKQogICAgIHsKLSAgICAgICAgbV9zdGFja0FsbG9j
YXRvci5wb3AobV9zYXZlZFJlZ2lzdGVyU3RhY2tSZWZlcmVuY2VzLCBtX3JlZ2lzdGVyQWxsb2Nh
dG9yLmFsbG9jYXRlZFJlZ2lzdGVycygpKTsKKyAgICAgICAgbV9zdGFja0FsbG9jYXRvci5wb3Ao
bV9zYXZlZFJlZ2lzdGVyU3RhY2tSZWZlcmVuY2VzLCBtX3NhdmVkUmVnaXN0ZXJzKTsKICAgICAg
ICAgbV9zYXZlZFJlZ2lzdGVyU3RhY2tSZWZlcmVuY2VzLmNsZWFyKCk7CiAgICAgfQogCkBAIC0x
NzYsOCArMTgzLDkgQEAgcHJpdmF0ZToKICAgICBSZWdpc3RlckFsbG9jYXRvciYgbV9yZWdpc3Rl
ckFsbG9jYXRvcjsKICAgICBTdGFja0FsbG9jYXRvciYgbV9zdGFja0FsbG9jYXRvcjsKICAgICBW
ZWN0b3I8c3RkOjpwYWlyPEpTQzo6TWFjcm9Bc3NlbWJsZXI6OkNhbGwsIEpTQzo6RnVuY3Rpb25Q
dHI+PiYgbV9jYWxsUmVnaXN0cnk7Ci0KLSAgICBWZWN0b3I8U3RhY2tBbGxvY2F0b3I6OlN0YWNr
UmVmZXJlbmNlPiBtX3NhdmVkUmVnaXN0ZXJTdGFja1JlZmVyZW5jZXM7CisgICAgCisgICAgVmVj
dG9yPEpTQzo6TWFjcm9Bc3NlbWJsZXI6OlJlZ2lzdGVySUQsIHJlZ2lzdGVyQ291bnQ+IG1fc2F2
ZWRSZWdpc3RlcnM7CisgICAgVmVjdG9yPFN0YWNrQWxsb2NhdG9yOjpTdGFja1JlZmVyZW5jZSwg
cmVnaXN0ZXJDb3VudD4gbV9zYXZlZFJlZ2lzdGVyU3RhY2tSZWZlcmVuY2VzOwogCiAgICAgSlND
OjpGdW5jdGlvblB0ciBtX2Z1bmN0aW9uQWRkcmVzczsKICAgICB1bnNpZ25lZCBtX2FyZ3VtZW50
Q291bnQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3NqaXQvUmVnaXN0ZXJBbGxvY2F0b3IuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3NqaXQvUmVnaXN0ZXJBbGxvY2F0b3IuaAko
cmV2aXNpb24gMTY5OTU5KQorKysgU291cmNlL1dlYkNvcmUvY3Nzaml0L1JlZ2lzdGVyQWxsb2Nh
dG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTE3MSwxNSArMTcxLDI5IEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgYm9vbCBpc1ZhbGlkUmVnaXN0ZXIoSlNDOjpNYWNyb0Fzc2VtYmxlcjo6UmVnaXN0ZXJJ
RCByZWdpc3RlcklEKQogICAgIHsKICNpZiBDUFUoQVJNNjQpCi0gICAgICAgIHJldHVybiByZWdp
c3RlcklEID49IEpTQzo6QVJNNjRSZWdpc3RlcnM6OngwICYmIHJlZ2lzdGVySUQgPD0gSlNDOjpB
Uk02NFJlZ2lzdGVyczo6eDE1OworICAgICAgICByZXR1cm4gcmVnaXN0ZXJJRCA+PSBKU0M6OkFS
TTY0UmVnaXN0ZXJzOjp4MCAmJiByZWdpc3RlcklEIDw9IEpTQzo6QVJNNjRSZWdpc3RlcnM6Ongx
NCB8fCByZWdpc3RlcklEID09IEpTQzo6QVJNNjRSZWdpc3RlcnM6OngxOTsKICNlbGlmIENQVShB
Uk1fVEhVTUIyKQogICAgICAgICByZXR1cm4gcmVnaXN0ZXJJRCA+PSBKU0M6OkFSTVJlZ2lzdGVy
czo6cjAgJiYgcmVnaXN0ZXJJRCA8PSBKU0M6OkFSTVJlZ2lzdGVyczo6cjcgJiYgcmVnaXN0ZXJJ
RCAhPSBKU0M6OkFSTVJlZ2lzdGVyczo6cjY7CiAjZWxpZiBDUFUoWDg2XzY0KQotICAgICAgICBy
ZXR1cm4gcmVnaXN0ZXJJRCA+PSBKU0M6Olg4NlJlZ2lzdGVyczo6ZWF4ICYmIHJlZ2lzdGVySUQg
PD0gSlNDOjpYODZSZWdpc3RlcnM6OnIxNDsKKyAgICAgICAgcmV0dXJuIChyZWdpc3RlcklEID49
IEpTQzo6WDg2UmVnaXN0ZXJzOjplYXggJiYgcmVnaXN0ZXJJRCA8PSBKU0M6Olg4NlJlZ2lzdGVy
czo6ZWR4KSB8fCAocmVnaXN0ZXJJRCA+PSBKU0M6Olg4NlJlZ2lzdGVyczo6ZXNpICYmIHJlZ2lz
dGVySUQgPD0gSlNDOjpYODZSZWdpc3RlcnM6OnIxNSk7CiAjZWxzZQogI2Vycm9yIFJlZ2lzdGVy
QWxsb2NhdG9yIGRvZXMgbm90IGRlZmluZSB0aGUgdmFsaWQgcmVnaXN0ZXIgcmFuZ2UgZm9yIHRo
ZSBjdXJyZW50IGFyY2hpdGVjdHVyZS4KICNlbmRpZgogICAgIH0KKyAgICAKKyAgICBzdGF0aWMg
Ym9vbCBpc0NhbGxlclNhdmVkUmVnaXN0ZXIoSlNDOjpNYWNyb0Fzc2VtYmxlcjo6UmVnaXN0ZXJJ
RCByZWdpc3RlcklEKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGlzVmFsaWRSZWdpc3RlcihyZWdp
c3RlcklEKSk7CisjaWYgQ1BVKEFSTTY0KQorICAgICAgICByZXR1cm4gcmVnaXN0ZXJJRCA+PSBK
U0M6OkFSTTY0UmVnaXN0ZXJzOjp4MCAmJiByZWdpc3RlcklEIDw9IEpTQzo6QVJNNjRSZWdpc3Rl
cnM6OngxNDsKKyNlbGlmIENQVShBUk1fVEhVTUIyKQorICAgICAgICByZXR1cm4gcmVnaXN0ZXJJ
RCA+PSBKU0M6OkFSTVJlZ2lzdGVyczo6cjAgJiYgcmVnaXN0ZXJJRCA8PSBKU0M6OkFSTVJlZ2lz
dGVyczo6cjM7CisjZWxpZiBDUFUoWDg2XzY0KQorICAgICAgICByZXR1cm4gKHJlZ2lzdGVySUQg
Pj0gSlNDOjpYODZSZWdpc3RlcnM6OmVheCAmJiByZWdpc3RlcklEIDw9IEpTQzo6WDg2UmVnaXN0
ZXJzOjplZHgpIHJlZ2lzdGVySUQgPT0gSlNDOjpYODZSZWdpc3RlcnM6OmVzaSB8fCByZWdpc3Rl
cklEID09IEpTQzo6WDg2UmVnaXN0ZXJzOjplZGk7CisjZWxzZQorI2Vycm9yIFJlZ2lzdGVyQWxs
b2NhdG9yIGRvZXMgbm90IGRlZmluZSB0aGUgdmFsaWQgY2FsbGVyIHNhdmVkIHJlZ2lzdGVyIHJh
bmdlIGZvciB0aGUgY3VycmVudCBhcmNoaXRlY3R1cmUuCisjZW5kaWYKKyAgICB9CiAKIHByaXZh
dGU6CiAgICAgRGVxdWU8SlNDOjpNYWNyb0Fzc2VtYmxlcjo6UmVnaXN0ZXJJRD4gbV9yZWdpc3Rl
cnM7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>233994</attachid>
            <date>2014-06-27 10:43:40 -0700</date>
            <delta_ts>2014-06-27 11:41:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133955-20140627104320.patch</filename>
            <type>text/plain</type>
            <size>7354</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3MDUzMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE0LTA2LTI3ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUHJldmVudCB1
bm5lY2Vzc2FyeSByZWdpc3RlciBzYXZpbmcgaW4gY3NzIGppdC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMzk1NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogY3Nzaml0L0Z1bmN0aW9uQ2FsbC5oOgor
ICAgICAgICAoV2ViQ29yZTo6RnVuY3Rpb25DYWxsOjpwcmVwYXJlQW5kQ2FsbCk6CisgICAgICAg
IChXZWJDb3JlOjpGdW5jdGlvbkNhbGw6OmNsZWFudXBQb3N0Q2FsbCk6CisgICAgICAgIChXZWJD
b3JlOjpGdW5jdGlvbkNhbGw6OnNhdmVBbGxvY2F0ZWRDYWxsZXJTYXZlZFJlZ2lzdGVycyk6Cisg
ICAgICAgIChXZWJDb3JlOjpGdW5jdGlvbkNhbGw6OnJlc3RvcmVBbGxvY2F0ZWRDYWxsZXJTYXZl
ZFJlZ2lzdGVycyk6CisgICAgICAgIChXZWJDb3JlOjpGdW5jdGlvbkNhbGw6OnNhdmVBbGxvY2F0
ZWRSZWdpc3RlcnMpOiBSZW5hbWVkIHRvIHNhdmVBbGxvY2F0ZWRDYWxsZXJTYXZlZFJlZ2lzdGVy
cy4KKyAgICAgICAgKFdlYkNvcmU6OkZ1bmN0aW9uQ2FsbDo6cmVzdG9yZUFsbG9jYXRlZFJlZ2lz
dGVycyk6IFJlbmFtZWQgdG8gcmVzdG9yZUFsbG9jYXRlZENhbGxlclNhdmVkUmVnaXN0ZXJzLgor
ICAgICAgICBPbmx5IHB1c2ggY2FsbGVyIHNhdmVkIHJlZ2lzdGVycyBiZWZvcmUgZnVuY3Rpb24g
Y2FsbHMuCisgICAgICAgICogY3Nzaml0L1JlZ2lzdGVyQWxsb2NhdG9yLmg6CisgICAgICAgIChX
ZWJDb3JlOjpSZWdpc3RlckFsbG9jYXRvcjo6aXNWYWxpZFJlZ2lzdGVyKToKKyAgICAgICAgQ29y
cmVjdGVkIHJlZ2lzdGVyIHJhbmdlcy4KKyAgICAgICAgKFdlYkNvcmU6OlJlZ2lzdGVyQWxsb2Nh
dG9yOjppc0NhbGxlclNhdmVkUmVnaXN0ZXIpOiBBZGRlZC4KKyAgICAgICAgKiBjc3NqaXQvU2Vs
ZWN0b3JDb21waWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNvbXBpbGVyOjpT
ZWxlY3RvckNvZGVHZW5lcmF0b3I6OmFkZEZsYWdzVG9FbGVtZW50U3R5bGVGcm9tQ29udGV4dCk6
CisgICAgICAgIE9ubHkgZG8gb3Igb3BlcmF0aW9ucyBpZiBpdCB3b3VsZCBjaGFuZ2UgdmFsdWVz
LgorICAgICAgICBPZnRlbiB3ZSdyZSBvbmx5IHNldHRpbmcgb25lIGZsYWcsIHNvIGhhbGYgdGhl
IG9wZXJhdGlvbnMgYXJlIG5vdCBuZWNlc3NhcnkuCisKIDIwMTQtMDYtMjcgIEplcmVteSBKb25l
cyAgPGplcmVteWpAYXBwbGUuY29tPgogCiAgICAgICAgIHJlbW92ZUNvZGVkRnJhbWVzIHNob3Vs
ZCBtb2RpZnkgcmVmIHRvIFRyYWNrQnVmZmVyIG5vIGEgY29weS4KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2Nzc2ppdC9GdW5jdGlvbkNhbGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9j
c3NqaXQvRnVuY3Rpb25DYWxsLmgJKHJldmlzaW9uIDE3MDQ5OSkKKysrIFNvdXJjZS9XZWJDb3Jl
L2Nzc2ppdC9GdW5jdGlvbkNhbGwuaAkod29ya2luZyBjb3B5KQpAQCAtMTEzLDcgKzExMyw3IEBA
IHByaXZhdGU6CiAgICAgICAgIEFTU0VSVChtX2Z1bmN0aW9uQWRkcmVzcy5leGVjdXRhYmxlQWRk
cmVzcygpKTsKICAgICAgICAgQVNTRVJUKCFtX2ZpcnN0QXJndW1lbnQgfHwgKG1fZmlyc3RBcmd1
bWVudCAmJiAhbV9zZWNvbmRBcmd1bWVudCkgfHwgKG1fZmlyc3RBcmd1bWVudCAmJiBtX3NlY29u
ZEFyZ3VtZW50KSk7CiAKLSAgICAgICAgc2F2ZUFsbG9jYXRlZFJlZ2lzdGVycygpOworICAgICAg
ICBzYXZlQWxsb2NhdGVkQ2FsbGVyU2F2ZWRSZWdpc3RlcnMoKTsKICAgICAgICAgbV9zdGFja0Fs
bG9jYXRvci5hbGlnblN0YWNrUHJlRnVuY3Rpb25DYWxsKCk7CiAKICAgICAgICAgaWYgKG1fYXJn
dW1lbnRDb3VudCA9PSAyKSB7CkBAIC0xNTUsMjAgKzE1NSwyNSBAQCBwcml2YXRlOgogICAgIHZv
aWQgY2xlYW51cFBvc3RDYWxsKCkKICAgICB7CiAgICAgICAgIG1fc3RhY2tBbGxvY2F0b3IudW5h
bGlnblN0YWNrUG9zdEZ1bmN0aW9uQ2FsbCgpOwotICAgICAgICByZXN0b3JlQWxsb2NhdGVkUmVn
aXN0ZXJzKCk7CisgICAgICAgIHJlc3RvcmVBbGxvY2F0ZWRDYWxsZXJTYXZlZFJlZ2lzdGVycygp
OwogICAgIH0KIAotICAgIHZvaWQgc2F2ZUFsbG9jYXRlZFJlZ2lzdGVycygpCisgICAgdm9pZCBz
YXZlQWxsb2NhdGVkQ2FsbGVyU2F2ZWRSZWdpc3RlcnMoKQogICAgIHsKICAgICAgICAgQVNTRVJU
KG1fc2F2ZWRSZWdpc3RlclN0YWNrUmVmZXJlbmNlcy5pc0VtcHR5KCkpOworICAgICAgICBBU1NF
UlQobV9zYXZlZFJlZ2lzdGVycy5pc0VtcHR5KCkpOwogICAgICAgICBjb25zdCBWZWN0b3I8SlND
OjpNYWNyb0Fzc2VtYmxlcjo6UmVnaXN0ZXJJRCwgcmVnaXN0ZXJDb3VudD4mIGFsbG9jYXRlZFJl
Z2lzdGVycyA9IG1fcmVnaXN0ZXJBbGxvY2F0b3IuYWxsb2NhdGVkUmVnaXN0ZXJzKCk7Ci0gICAg
ICAgIFZlY3RvcjxTdGFja0FsbG9jYXRvcjo6U3RhY2tSZWZlcmVuY2U+IHN0YWNrUmVmZXJlbmNl
cyA9IG1fc3RhY2tBbGxvY2F0b3IucHVzaChhbGxvY2F0ZWRSZWdpc3RlcnMpOworICAgICAgICBm
b3IgKGF1dG8gcmVnaXN0ZXJJRCA6IGFsbG9jYXRlZFJlZ2lzdGVycykgeworICAgICAgICAgICAg
aWYgKFJlZ2lzdGVyQWxsb2NhdG9yOjppc0NhbGxlclNhdmVkUmVnaXN0ZXIocmVnaXN0ZXJJRCkp
CisgICAgICAgICAgICAgICAgbV9zYXZlZFJlZ2lzdGVycy5hcHBlbmQocmVnaXN0ZXJJRCk7Cisg
ICAgICAgIH0KKyAgICAgICAgVmVjdG9yPFN0YWNrQWxsb2NhdG9yOjpTdGFja1JlZmVyZW5jZT4g
c3RhY2tSZWZlcmVuY2VzID0gbV9zdGFja0FsbG9jYXRvci5wdXNoKG1fc2F2ZWRSZWdpc3RlcnMp
OwogICAgICAgICBtX3NhdmVkUmVnaXN0ZXJTdGFja1JlZmVyZW5jZXMuYXBwZW5kVmVjdG9yKHN0
YWNrUmVmZXJlbmNlcyk7CiAgICAgfQogCi0gICAgdm9pZCByZXN0b3JlQWxsb2NhdGVkUmVnaXN0
ZXJzKCkKKyAgICB2b2lkIHJlc3RvcmVBbGxvY2F0ZWRDYWxsZXJTYXZlZFJlZ2lzdGVycygpCiAg
ICAgewotICAgICAgICBtX3N0YWNrQWxsb2NhdG9yLnBvcChtX3NhdmVkUmVnaXN0ZXJTdGFja1Jl
ZmVyZW5jZXMsIG1fcmVnaXN0ZXJBbGxvY2F0b3IuYWxsb2NhdGVkUmVnaXN0ZXJzKCkpOworICAg
ICAgICBtX3N0YWNrQWxsb2NhdG9yLnBvcChtX3NhdmVkUmVnaXN0ZXJTdGFja1JlZmVyZW5jZXMs
IG1fc2F2ZWRSZWdpc3RlcnMpOwogICAgICAgICBtX3NhdmVkUmVnaXN0ZXJTdGFja1JlZmVyZW5j
ZXMuY2xlYXIoKTsKICAgICB9CiAKQEAgLTE3Nyw4ICsxODIsOSBAQCBwcml2YXRlOgogICAgIFN0
YWNrQWxsb2NhdG9yJiBtX3N0YWNrQWxsb2NhdG9yOwogICAgIFZlY3RvcjxzdGQ6OnBhaXI8SlND
OjpNYWNyb0Fzc2VtYmxlcjo6Q2FsbCwgSlNDOjpGdW5jdGlvblB0cj4+JiBtX2NhbGxSZWdpc3Ry
eTsKIAotICAgIFZlY3RvcjxTdGFja0FsbG9jYXRvcjo6U3RhY2tSZWZlcmVuY2U+IG1fc2F2ZWRS
ZWdpc3RlclN0YWNrUmVmZXJlbmNlczsKLQorICAgIFZlY3RvcjxKU0M6Ok1hY3JvQXNzZW1ibGVy
OjpSZWdpc3RlcklELCByZWdpc3RlckNvdW50PiBtX3NhdmVkUmVnaXN0ZXJzOworICAgIFZlY3Rv
cjxTdGFja0FsbG9jYXRvcjo6U3RhY2tSZWZlcmVuY2UsIHJlZ2lzdGVyQ291bnQ+IG1fc2F2ZWRS
ZWdpc3RlclN0YWNrUmVmZXJlbmNlczsKKyAgICAKICAgICBKU0M6OkZ1bmN0aW9uUHRyIG1fZnVu
Y3Rpb25BZGRyZXNzOwogICAgIHVuc2lnbmVkIG1fYXJndW1lbnRDb3VudDsKICAgICBKU0M6Ok1h
Y3JvQXNzZW1ibGVyOjpSZWdpc3RlcklEIG1fZmlyc3RBcmd1bWVudDsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2Nzc2ppdC9SZWdpc3RlckFsbG9jYXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2Nzc2ppdC9SZWdpc3RlckFsbG9jYXRvci5oCShyZXZpc2lvbiAxNzA0OTkpCisrKyBT
b3VyY2UvV2ViQ29yZS9jc3NqaXQvUmVnaXN0ZXJBbGxvY2F0b3IuaAkod29ya2luZyBjb3B5KQpA
QCAtMTcyLDE1ICsxNzIsMzIgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGlzVmFsaWRSZWdp
c3RlcihKU0M6Ok1hY3JvQXNzZW1ibGVyOjpSZWdpc3RlcklEIHJlZ2lzdGVySUQpCiAgICAgewog
I2lmIENQVShBUk02NCkKLSAgICAgICAgcmV0dXJuIHJlZ2lzdGVySUQgPj0gSlNDOjpBUk02NFJl
Z2lzdGVyczo6eDAgJiYgcmVnaXN0ZXJJRCA8PSBKU0M6OkFSTTY0UmVnaXN0ZXJzOjp4MTU7Cisg
ICAgICAgIHJldHVybiByZWdpc3RlcklEID49IEpTQzo6QVJNNjRSZWdpc3RlcnM6OngwICYmIHJl
Z2lzdGVySUQgPD0gSlNDOjpBUk02NFJlZ2lzdGVyczo6eDE0CisgICAgICAgICAgICB8fCByZWdp
c3RlcklEID09IEpTQzo6QVJNNjRSZWdpc3RlcnM6OngxOTsKICNlbGlmIENQVShBUk1fVEhVTUIy
KQogICAgICAgICByZXR1cm4gcmVnaXN0ZXJJRCA+PSBKU0M6OkFSTVJlZ2lzdGVyczo6cjAgJiYg
cmVnaXN0ZXJJRCA8PSBKU0M6OkFSTVJlZ2lzdGVyczo6cjcgJiYgcmVnaXN0ZXJJRCAhPSBKU0M6
OkFSTVJlZ2lzdGVyczo6cjY7CiAjZWxpZiBDUFUoWDg2XzY0KQotICAgICAgICByZXR1cm4gcmVn
aXN0ZXJJRCA+PSBKU0M6Olg4NlJlZ2lzdGVyczo6ZWF4ICYmIHJlZ2lzdGVySUQgPD0gSlNDOjpY
ODZSZWdpc3RlcnM6OnIxNDsKKyAgICAgICAgcmV0dXJuIHJlZ2lzdGVySUQgPj0gSlNDOjpYODZS
ZWdpc3RlcnM6OmVheCAmJiByZWdpc3RlcklEIDw9IEpTQzo6WDg2UmVnaXN0ZXJzOjplZHgKKyAg
ICAgICAgICAgIHx8IHJlZ2lzdGVySUQgPj0gSlNDOjpYODZSZWdpc3RlcnM6OmVzaSAmJiByZWdp
c3RlcklEIDw9IEpTQzo6WDg2UmVnaXN0ZXJzOjpyMTU7CiAjZWxzZQogI2Vycm9yIFJlZ2lzdGVy
QWxsb2NhdG9yIGRvZXMgbm90IGRlZmluZSB0aGUgdmFsaWQgcmVnaXN0ZXIgcmFuZ2UgZm9yIHRo
ZSBjdXJyZW50IGFyY2hpdGVjdHVyZS4KICNlbmRpZgogICAgIH0KKyAgICAKKyAgICBzdGF0aWMg
Ym9vbCBpc0NhbGxlclNhdmVkUmVnaXN0ZXIoSlNDOjpNYWNyb0Fzc2VtYmxlcjo6UmVnaXN0ZXJJ
RCByZWdpc3RlcklEKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGlzVmFsaWRSZWdpc3RlcihyZWdp
c3RlcklEKSk7CisjaWYgQ1BVKEFSTTY0KQorICAgICAgICByZXR1cm4gcmVnaXN0ZXJJRCA+PSBK
U0M6OkFSTTY0UmVnaXN0ZXJzOjp4MCAmJiByZWdpc3RlcklEIDw9IEpTQzo6QVJNNjRSZWdpc3Rl
cnM6OngxNDsKKyNlbGlmIENQVShBUk1fVEhVTUIyKQorICAgICAgICByZXR1cm4gcmVnaXN0ZXJJ
RCA+PSBKU0M6OkFSTVJlZ2lzdGVyczo6cjAgJiYgcmVnaXN0ZXJJRCA8PSBKU0M6OkFSTVJlZ2lz
dGVyczo6cjM7CisjZWxpZiBDUFUoWDg2XzY0KQorICAgICAgICByZXR1cm4gcmVnaXN0ZXJJRCA+
PSBKU0M6Olg4NlJlZ2lzdGVyczo6ZWF4ICYmIHJlZ2lzdGVySUQgPD0gSlNDOjpYODZSZWdpc3Rl
cnM6OmVkeAorICAgICAgICAgICAgfHwgcmVnaXN0ZXJJRCA+PSBKU0M6Olg4NlJlZ2lzdGVyczo6
ZXNpICYmIHJlZ2lzdGVySUQgPD0gSlNDOjpYODZSZWdpc3RlcnM6OnIxMTsKKyNlbHNlCisjZXJy
b3IgUmVnaXN0ZXJBbGxvY2F0b3IgZG9lcyBub3QgZGVmaW5lIHRoZSB2YWxpZCBjYWxsZXIgc2F2
ZWQgcmVnaXN0ZXIgcmFuZ2UgZm9yIHRoZSBjdXJyZW50IGFyY2hpdGVjdHVyZS4KKyNlbmRpZgor
ICAgIH0KIAogcHJpdmF0ZToKICAgICBEZXF1ZTxKU0M6Ok1hY3JvQXNzZW1ibGVyOjpSZWdpc3Rl
cklEPiBtX3JlZ2lzdGVyczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNv
bXBpbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JD
b21waWxlci5jcHAJKHJldmlzaW9uIDE3MDQ5OSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzc2ppdC9T
ZWxlY3RvckNvbXBpbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQzMiw5ICsxNDMyLDE0IEBA
IHZvaWQgU2VsZWN0b3JDb2RlR2VuZXJhdG9yOjphZGRGbGFnc1RvRWwKICAgICAvLyBGSVhNRTog
V2Ugc2hvdWxkIGxvb2sgaW50byBkb2luZyBzb21ldGhpbmcgc21hcnQgaW4gTWFjcm9Bc3NlbWJs
ZXIgaW5zdGVhZC4KICAgICBBc3NlbWJsZXI6OkFkZHJlc3MgZmxhZ0FkZHJlc3MoY2hpbGRTdHls
ZSwgUmVuZGVyU3R5bGU6Om5vbmluaGVyaXRlZEZsYWdzTWVtb3J5T2Zmc2V0KCkgKyBSZW5kZXJT
dHlsZTo6Tm9uSW5oZXJpdGVkRmxhZ3M6OmZsYWdzTWVtb3J5T2Zmc2V0KCkpOwogI2lmIENQVShB
Uk1fVEhVTUIyKQotICAgIG1fYXNzZW1ibGVyLm9yMzIoQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIo
bmV3RmxhZyAmIDB4ZmZmZmZmZmYpLCBmbGFnQWRkcmVzcyk7Ci0gICAgQXNzZW1ibGVyOjpBZGRy
ZXNzIGZsYWdIaWdoQml0cyA9IGZsYWdBZGRyZXNzLndpdGhPZmZzZXQoNCk7Ci0gICAgbV9hc3Nl
bWJsZXIub3IzMihBc3NlbWJsZXI6OlRydXN0ZWRJbW0zMihuZXdGbGFnID4+IDMyKSwgZmxhZ0hp
Z2hCaXRzKTsKKyAgICBpbnQzMl90IGZsYWdMb3dCaXRzID0gbmV3RmxhZyAmIDB4ZmZmZmZmZmY7
CisgICAgaW50MzJfdCBmbGFnSGlnaEJpdHMgPSBuZXdGbGFnID4+IDMyOworICAgIGlmIChmbGFn
TG93Qml0cykKKyAgICAgICAgbV9hc3NlbWJsZXIub3IzMihBc3NlbWJsZXI6OlRydXN0ZWRJbW0z
MihmbGFnTG93Qml0cyksIGZsYWdBZGRyZXNzKTsKKyAgICBpZiAoZmxhZ0hpZ2hCaXRzKSB7Cisg
ICAgICAgIEFzc2VtYmxlcjo6QWRkcmVzcyBmbGFnSGlnaEFkZHJlc3MgPSBmbGFnQWRkcmVzcy53
aXRoT2Zmc2V0KDQpOworICAgICAgICBtX2Fzc2VtYmxlci5vcjMyKEFzc2VtYmxlcjo6VHJ1c3Rl
ZEltbTMyKGZsYWdIaWdoQml0cyksIGZsYWdIaWdoQWRkcmVzcyk7CisgICAgfQogI2VsaWYgQ1BV
KFg4Nl82NCkgfHwgQ1BVKEFSTTY0KQogICAgIExvY2FsUmVnaXN0ZXIgZmxhZ3MobV9yZWdpc3Rl
ckFsbG9jYXRvcik7CiAgICAgbV9hc3NlbWJsZXIubG9hZDY0KGZsYWdBZGRyZXNzLCBmbGFncyk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>234001</attachid>
            <date>2014-06-27 11:41:55 -0700</date>
            <delta_ts>2014-06-27 12:56:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133955-20140627114135.patch</filename>
            <type>text/plain</type>
            <size>7364</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3MDUzMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE0LTA2LTI3ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUHJldmVudCB1
bm5lY2Vzc2FyeSByZWdpc3RlciBzYXZpbmcgaW4gY3NzIGppdC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMzk1NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogY3Nzaml0L0Z1bmN0aW9uQ2FsbC5oOgor
ICAgICAgICAoV2ViQ29yZTo6RnVuY3Rpb25DYWxsOjpwcmVwYXJlQW5kQ2FsbCk6CisgICAgICAg
IChXZWJDb3JlOjpGdW5jdGlvbkNhbGw6OmNsZWFudXBQb3N0Q2FsbCk6CisgICAgICAgIChXZWJD
b3JlOjpGdW5jdGlvbkNhbGw6OnNhdmVBbGxvY2F0ZWRDYWxsZXJTYXZlZFJlZ2lzdGVycyk6Cisg
ICAgICAgIChXZWJDb3JlOjpGdW5jdGlvbkNhbGw6OnJlc3RvcmVBbGxvY2F0ZWRDYWxsZXJTYXZl
ZFJlZ2lzdGVycyk6CisgICAgICAgIChXZWJDb3JlOjpGdW5jdGlvbkNhbGw6OnNhdmVBbGxvY2F0
ZWRSZWdpc3RlcnMpOiBSZW5hbWVkIHRvIHNhdmVBbGxvY2F0ZWRDYWxsZXJTYXZlZFJlZ2lzdGVy
cy4KKyAgICAgICAgKFdlYkNvcmU6OkZ1bmN0aW9uQ2FsbDo6cmVzdG9yZUFsbG9jYXRlZFJlZ2lz
dGVycyk6IFJlbmFtZWQgdG8gcmVzdG9yZUFsbG9jYXRlZENhbGxlclNhdmVkUmVnaXN0ZXJzLgor
ICAgICAgICBPbmx5IHB1c2ggY2FsbGVyIHNhdmVkIHJlZ2lzdGVycyBiZWZvcmUgZnVuY3Rpb24g
Y2FsbHMuCisgICAgICAgICogY3Nzaml0L1JlZ2lzdGVyQWxsb2NhdG9yLmg6CisgICAgICAgIChX
ZWJDb3JlOjpSZWdpc3RlckFsbG9jYXRvcjo6aXNWYWxpZFJlZ2lzdGVyKToKKyAgICAgICAgQ29y
cmVjdGVkIHJlZ2lzdGVyIHJhbmdlcy4KKyAgICAgICAgKFdlYkNvcmU6OlJlZ2lzdGVyQWxsb2Nh
dG9yOjppc0NhbGxlclNhdmVkUmVnaXN0ZXIpOiBBZGRlZC4KKyAgICAgICAgKiBjc3NqaXQvU2Vs
ZWN0b3JDb21waWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNvbXBpbGVyOjpT
ZWxlY3RvckNvZGVHZW5lcmF0b3I6OmFkZEZsYWdzVG9FbGVtZW50U3R5bGVGcm9tQ29udGV4dCk6
CisgICAgICAgIE9ubHkgZG8gb3Igb3BlcmF0aW9ucyBpZiBpdCB3b3VsZCBjaGFuZ2UgdmFsdWVz
LgorICAgICAgICBPZnRlbiB3ZSdyZSBvbmx5IHNldHRpbmcgb25lIGZsYWcsIHNvIGhhbGYgdGhl
IG9wZXJhdGlvbnMgYXJlIG5vdCBuZWNlc3NhcnkuCisKIDIwMTQtMDYtMjcgIEplcmVteSBKb25l
cyAgPGplcmVteWpAYXBwbGUuY29tPgogCiAgICAgICAgIHJlbW92ZUNvZGVkRnJhbWVzIHNob3Vs
ZCBtb2RpZnkgcmVmIHRvIFRyYWNrQnVmZmVyIG5vIGEgY29weS4KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2Nzc2ppdC9GdW5jdGlvbkNhbGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9j
c3NqaXQvRnVuY3Rpb25DYWxsLmgJKHJldmlzaW9uIDE3MDQ5OSkKKysrIFNvdXJjZS9XZWJDb3Jl
L2Nzc2ppdC9GdW5jdGlvbkNhbGwuaAkod29ya2luZyBjb3B5KQpAQCAtMTEzLDcgKzExMyw3IEBA
IHByaXZhdGU6CiAgICAgICAgIEFTU0VSVChtX2Z1bmN0aW9uQWRkcmVzcy5leGVjdXRhYmxlQWRk
cmVzcygpKTsKICAgICAgICAgQVNTRVJUKCFtX2ZpcnN0QXJndW1lbnQgfHwgKG1fZmlyc3RBcmd1
bWVudCAmJiAhbV9zZWNvbmRBcmd1bWVudCkgfHwgKG1fZmlyc3RBcmd1bWVudCAmJiBtX3NlY29u
ZEFyZ3VtZW50KSk7CiAKLSAgICAgICAgc2F2ZUFsbG9jYXRlZFJlZ2lzdGVycygpOworICAgICAg
ICBzYXZlQWxsb2NhdGVkQ2FsbGVyU2F2ZWRSZWdpc3RlcnMoKTsKICAgICAgICAgbV9zdGFja0Fs
bG9jYXRvci5hbGlnblN0YWNrUHJlRnVuY3Rpb25DYWxsKCk7CiAKICAgICAgICAgaWYgKG1fYXJn
dW1lbnRDb3VudCA9PSAyKSB7CkBAIC0xNTUsMjAgKzE1NSwyNSBAQCBwcml2YXRlOgogICAgIHZv
aWQgY2xlYW51cFBvc3RDYWxsKCkKICAgICB7CiAgICAgICAgIG1fc3RhY2tBbGxvY2F0b3IudW5h
bGlnblN0YWNrUG9zdEZ1bmN0aW9uQ2FsbCgpOwotICAgICAgICByZXN0b3JlQWxsb2NhdGVkUmVn
aXN0ZXJzKCk7CisgICAgICAgIHJlc3RvcmVBbGxvY2F0ZWRDYWxsZXJTYXZlZFJlZ2lzdGVycygp
OwogICAgIH0KIAotICAgIHZvaWQgc2F2ZUFsbG9jYXRlZFJlZ2lzdGVycygpCisgICAgdm9pZCBz
YXZlQWxsb2NhdGVkQ2FsbGVyU2F2ZWRSZWdpc3RlcnMoKQogICAgIHsKICAgICAgICAgQVNTRVJU
KG1fc2F2ZWRSZWdpc3RlclN0YWNrUmVmZXJlbmNlcy5pc0VtcHR5KCkpOworICAgICAgICBBU1NF
UlQobV9zYXZlZFJlZ2lzdGVycy5pc0VtcHR5KCkpOwogICAgICAgICBjb25zdCBWZWN0b3I8SlND
OjpNYWNyb0Fzc2VtYmxlcjo6UmVnaXN0ZXJJRCwgcmVnaXN0ZXJDb3VudD4mIGFsbG9jYXRlZFJl
Z2lzdGVycyA9IG1fcmVnaXN0ZXJBbGxvY2F0b3IuYWxsb2NhdGVkUmVnaXN0ZXJzKCk7Ci0gICAg
ICAgIFZlY3RvcjxTdGFja0FsbG9jYXRvcjo6U3RhY2tSZWZlcmVuY2U+IHN0YWNrUmVmZXJlbmNl
cyA9IG1fc3RhY2tBbGxvY2F0b3IucHVzaChhbGxvY2F0ZWRSZWdpc3RlcnMpOworICAgICAgICBm
b3IgKGF1dG8gcmVnaXN0ZXJJRCA6IGFsbG9jYXRlZFJlZ2lzdGVycykgeworICAgICAgICAgICAg
aWYgKFJlZ2lzdGVyQWxsb2NhdG9yOjppc0NhbGxlclNhdmVkUmVnaXN0ZXIocmVnaXN0ZXJJRCkp
CisgICAgICAgICAgICAgICAgbV9zYXZlZFJlZ2lzdGVycy5hcHBlbmQocmVnaXN0ZXJJRCk7Cisg
ICAgICAgIH0KKyAgICAgICAgVmVjdG9yPFN0YWNrQWxsb2NhdG9yOjpTdGFja1JlZmVyZW5jZT4g
c3RhY2tSZWZlcmVuY2VzID0gbV9zdGFja0FsbG9jYXRvci5wdXNoKG1fc2F2ZWRSZWdpc3RlcnMp
OwogICAgICAgICBtX3NhdmVkUmVnaXN0ZXJTdGFja1JlZmVyZW5jZXMuYXBwZW5kVmVjdG9yKHN0
YWNrUmVmZXJlbmNlcyk7CiAgICAgfQogCi0gICAgdm9pZCByZXN0b3JlQWxsb2NhdGVkUmVnaXN0
ZXJzKCkKKyAgICB2b2lkIHJlc3RvcmVBbGxvY2F0ZWRDYWxsZXJTYXZlZFJlZ2lzdGVycygpCiAg
ICAgewotICAgICAgICBtX3N0YWNrQWxsb2NhdG9yLnBvcChtX3NhdmVkUmVnaXN0ZXJTdGFja1Jl
ZmVyZW5jZXMsIG1fcmVnaXN0ZXJBbGxvY2F0b3IuYWxsb2NhdGVkUmVnaXN0ZXJzKCkpOworICAg
ICAgICBtX3N0YWNrQWxsb2NhdG9yLnBvcChtX3NhdmVkUmVnaXN0ZXJTdGFja1JlZmVyZW5jZXMs
IG1fc2F2ZWRSZWdpc3RlcnMpOwogICAgICAgICBtX3NhdmVkUmVnaXN0ZXJTdGFja1JlZmVyZW5j
ZXMuY2xlYXIoKTsKICAgICB9CiAKQEAgLTE3Nyw4ICsxODIsOSBAQCBwcml2YXRlOgogICAgIFN0
YWNrQWxsb2NhdG9yJiBtX3N0YWNrQWxsb2NhdG9yOwogICAgIFZlY3RvcjxzdGQ6OnBhaXI8SlND
OjpNYWNyb0Fzc2VtYmxlcjo6Q2FsbCwgSlNDOjpGdW5jdGlvblB0cj4+JiBtX2NhbGxSZWdpc3Ry
eTsKIAotICAgIFZlY3RvcjxTdGFja0FsbG9jYXRvcjo6U3RhY2tSZWZlcmVuY2U+IG1fc2F2ZWRS
ZWdpc3RlclN0YWNrUmVmZXJlbmNlczsKLQorICAgIFZlY3RvcjxKU0M6Ok1hY3JvQXNzZW1ibGVy
OjpSZWdpc3RlcklELCByZWdpc3RlckNvdW50PiBtX3NhdmVkUmVnaXN0ZXJzOworICAgIFZlY3Rv
cjxTdGFja0FsbG9jYXRvcjo6U3RhY2tSZWZlcmVuY2UsIHJlZ2lzdGVyQ291bnQ+IG1fc2F2ZWRS
ZWdpc3RlclN0YWNrUmVmZXJlbmNlczsKKyAgICAKICAgICBKU0M6OkZ1bmN0aW9uUHRyIG1fZnVu
Y3Rpb25BZGRyZXNzOwogICAgIHVuc2lnbmVkIG1fYXJndW1lbnRDb3VudDsKICAgICBKU0M6Ok1h
Y3JvQXNzZW1ibGVyOjpSZWdpc3RlcklEIG1fZmlyc3RBcmd1bWVudDsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2Nzc2ppdC9SZWdpc3RlckFsbG9jYXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2Nzc2ppdC9SZWdpc3RlckFsbG9jYXRvci5oCShyZXZpc2lvbiAxNzA0OTkpCisrKyBT
b3VyY2UvV2ViQ29yZS9jc3NqaXQvUmVnaXN0ZXJBbGxvY2F0b3IuaAkod29ya2luZyBjb3B5KQpA
QCAtMTcyLDE1ICsxNzIsMzIgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGlzVmFsaWRSZWdp
c3RlcihKU0M6Ok1hY3JvQXNzZW1ibGVyOjpSZWdpc3RlcklEIHJlZ2lzdGVySUQpCiAgICAgewog
I2lmIENQVShBUk02NCkKLSAgICAgICAgcmV0dXJuIHJlZ2lzdGVySUQgPj0gSlNDOjpBUk02NFJl
Z2lzdGVyczo6eDAgJiYgcmVnaXN0ZXJJRCA8PSBKU0M6OkFSTTY0UmVnaXN0ZXJzOjp4MTU7Cisg
ICAgICAgIHJldHVybiAocmVnaXN0ZXJJRCA+PSBKU0M6OkFSTTY0UmVnaXN0ZXJzOjp4MCAmJiBy
ZWdpc3RlcklEIDw9IEpTQzo6QVJNNjRSZWdpc3RlcnM6OngxNCkKKyAgICAgICAgICAgIHx8IHJl
Z2lzdGVySUQgPT0gSlNDOjpBUk02NFJlZ2lzdGVyczo6eDE5OwogI2VsaWYgQ1BVKEFSTV9USFVN
QjIpCiAgICAgICAgIHJldHVybiByZWdpc3RlcklEID49IEpTQzo6QVJNUmVnaXN0ZXJzOjpyMCAm
JiByZWdpc3RlcklEIDw9IEpTQzo6QVJNUmVnaXN0ZXJzOjpyNyAmJiByZWdpc3RlcklEICE9IEpT
Qzo6QVJNUmVnaXN0ZXJzOjpyNjsKICNlbGlmIENQVShYODZfNjQpCi0gICAgICAgIHJldHVybiBy
ZWdpc3RlcklEID49IEpTQzo6WDg2UmVnaXN0ZXJzOjplYXggJiYgcmVnaXN0ZXJJRCA8PSBKU0M6
Olg4NlJlZ2lzdGVyczo6cjE0OworICAgICAgICByZXR1cm4gKHJlZ2lzdGVySUQgPj0gSlNDOjpY
ODZSZWdpc3RlcnM6OmVheCAmJiByZWdpc3RlcklEIDw9IEpTQzo6WDg2UmVnaXN0ZXJzOjplZHgp
CisgICAgICAgICAgICB8fCAocmVnaXN0ZXJJRCA+PSBKU0M6Olg4NlJlZ2lzdGVyczo6ZXNpICYm
IHJlZ2lzdGVySUQgPD0gSlNDOjpYODZSZWdpc3RlcnM6OnIxNSk7CiAjZWxzZQogI2Vycm9yIFJl
Z2lzdGVyQWxsb2NhdG9yIGRvZXMgbm90IGRlZmluZSB0aGUgdmFsaWQgcmVnaXN0ZXIgcmFuZ2Ug
Zm9yIHRoZSBjdXJyZW50IGFyY2hpdGVjdHVyZS4KICNlbmRpZgogICAgIH0KKyAgICAKKyAgICBz
dGF0aWMgYm9vbCBpc0NhbGxlclNhdmVkUmVnaXN0ZXIoSlNDOjpNYWNyb0Fzc2VtYmxlcjo6UmVn
aXN0ZXJJRCByZWdpc3RlcklEKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGlzVmFsaWRSZWdpc3Rl
cihyZWdpc3RlcklEKSk7CisjaWYgQ1BVKEFSTTY0KQorICAgICAgICByZXR1cm4gcmVnaXN0ZXJJ
RCA+PSBKU0M6OkFSTTY0UmVnaXN0ZXJzOjp4MCAmJiByZWdpc3RlcklEIDw9IEpTQzo6QVJNNjRS
ZWdpc3RlcnM6OngxNDsKKyNlbGlmIENQVShBUk1fVEhVTUIyKQorICAgICAgICByZXR1cm4gcmVn
aXN0ZXJJRCA+PSBKU0M6OkFSTVJlZ2lzdGVyczo6cjAgJiYgcmVnaXN0ZXJJRCA8PSBKU0M6OkFS
TVJlZ2lzdGVyczo6cjM7CisjZWxpZiBDUFUoWDg2XzY0KQorICAgICAgICByZXR1cm4gKHJlZ2lz
dGVySUQgPj0gSlNDOjpYODZSZWdpc3RlcnM6OmVheCAmJiByZWdpc3RlcklEIDw9IEpTQzo6WDg2
UmVnaXN0ZXJzOjplZHgpCisgICAgICAgICAgICB8fCAocmVnaXN0ZXJJRCA+PSBKU0M6Olg4NlJl
Z2lzdGVyczo6ZXNpICYmIHJlZ2lzdGVySUQgPD0gSlNDOjpYODZSZWdpc3RlcnM6OnIxMSk7Cisj
ZWxzZQorI2Vycm9yIFJlZ2lzdGVyQWxsb2NhdG9yIGRvZXMgbm90IGRlZmluZSB0aGUgdmFsaWQg
Y2FsbGVyIHNhdmVkIHJlZ2lzdGVyIHJhbmdlIGZvciB0aGUgY3VycmVudCBhcmNoaXRlY3R1cmUu
CisjZW5kaWYKKyAgICB9CiAKIHByaXZhdGU6CiAgICAgRGVxdWU8SlNDOjpNYWNyb0Fzc2VtYmxl
cjo6UmVnaXN0ZXJJRD4gbV9yZWdpc3RlcnM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3NqaXQv
U2VsZWN0b3JDb21waWxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3Nzaml0
L1NlbGVjdG9yQ29tcGlsZXIuY3BwCShyZXZpc2lvbiAxNzA0OTkpCisrKyBTb3VyY2UvV2ViQ29y
ZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0MzIsOSAr
MTQzMiwxNCBAQCB2b2lkIFNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6YWRkRmxhZ3NUb0VsCiAgICAg
Ly8gRklYTUU6IFdlIHNob3VsZCBsb29rIGludG8gZG9pbmcgc29tZXRoaW5nIHNtYXJ0IGluIE1h
Y3JvQXNzZW1ibGVyIGluc3RlYWQuCiAgICAgQXNzZW1ibGVyOjpBZGRyZXNzIGZsYWdBZGRyZXNz
KGNoaWxkU3R5bGUsIFJlbmRlclN0eWxlOjpub25pbmhlcml0ZWRGbGFnc01lbW9yeU9mZnNldCgp
ICsgUmVuZGVyU3R5bGU6Ok5vbkluaGVyaXRlZEZsYWdzOjpmbGFnc01lbW9yeU9mZnNldCgpKTsK
ICNpZiBDUFUoQVJNX1RIVU1CMikKLSAgICBtX2Fzc2VtYmxlci5vcjMyKEFzc2VtYmxlcjo6VHJ1
c3RlZEltbTMyKG5ld0ZsYWcgJiAweGZmZmZmZmZmKSwgZmxhZ0FkZHJlc3MpOwotICAgIEFzc2Vt
Ymxlcjo6QWRkcmVzcyBmbGFnSGlnaEJpdHMgPSBmbGFnQWRkcmVzcy53aXRoT2Zmc2V0KDQpOwot
ICAgIG1fYXNzZW1ibGVyLm9yMzIoQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIobmV3RmxhZyA+PiAz
MiksIGZsYWdIaWdoQml0cyk7CisgICAgaW50MzJfdCBmbGFnTG93Qml0cyA9IG5ld0ZsYWcgJiAw
eGZmZmZmZmZmOworICAgIGludDMyX3QgZmxhZ0hpZ2hCaXRzID0gbmV3RmxhZyA+PiAzMjsKKyAg
ICBpZiAoZmxhZ0xvd0JpdHMpCisgICAgICAgIG1fYXNzZW1ibGVyLm9yMzIoQXNzZW1ibGVyOjpU
cnVzdGVkSW1tMzIoZmxhZ0xvd0JpdHMpLCBmbGFnQWRkcmVzcyk7CisgICAgaWYgKGZsYWdIaWdo
Qml0cykgeworICAgICAgICBBc3NlbWJsZXI6OkFkZHJlc3MgZmxhZ0hpZ2hBZGRyZXNzID0gZmxh
Z0FkZHJlc3Mud2l0aE9mZnNldCg0KTsKKyAgICAgICAgbV9hc3NlbWJsZXIub3IzMihBc3NlbWJs
ZXI6OlRydXN0ZWRJbW0zMihmbGFnSGlnaEJpdHMpLCBmbGFnSGlnaEFkZHJlc3MpOworICAgIH0K
ICNlbGlmIENQVShYODZfNjQpIHx8IENQVShBUk02NCkKICAgICBMb2NhbFJlZ2lzdGVyIGZsYWdz
KG1fcmVnaXN0ZXJBbGxvY2F0b3IpOwogICAgIG1fYXNzZW1ibGVyLmxvYWQ2NChmbGFnQWRkcmVz
cywgZmxhZ3MpOwo=
</data>
<flag name="review"
          id="258533"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>