<?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>122627</bug_id>
          
          <creation_ts>2013-10-10 17:42:01 -0700</creation_ts>
          <short_desc>DFG: Add JIT support for  LogicalNot(String/StringIdent)</short_desc>
          <delta_ts>2013-10-11 19:20:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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>0</everconfirmed>
          <reporter name="Nadav Rotem">nrotem</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>938625</commentid>
    <comment_count>0</comment_count>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-10 17:42:01 -0700</bug_when>
    <thetext>DFG: Add JIT support for  LogicalNot(String/StringIdent)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938626</commentid>
    <comment_count>1</comment_count>
      <attachid>213950</attachid>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-10 17:42:22 -0700</bug_when>
    <thetext>Created attachment 213950
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938639</commentid>
    <comment_count>2</comment_count>
      <attachid>213950</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-10 18:46:36 -0700</bug_when>
    <thetext>Comment on attachment 213950
Patch

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

Almost good, just needs a few fixes.

&gt; Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:573
&gt;                  break;
&gt; +            case StringUse:
&gt;              case ObjectOrOtherUse:

I think that the StringUse case should be in the case block above, since the only reason why it would exit is for the type check.  AbstractInterpreter already will setCanExit(true) if it determines that the type check implied by the use kind is necessary.

&gt; Source/JavaScriptCore/dfg/DFGFixupPhase.cpp:296
&gt; +            else if (node-&gt;child1()-&gt;shouldSpeculateString() || node-&gt;child1()-&gt;shouldSpeculateStringIdent())
&gt; +                fixEdge&lt;StringUse&gt;(node-&gt;child1());

shouldSpeculateString() should subsume shouldSpeculateStringIdent(), so you don&apos;t need the second part.

&gt; Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:4170
&gt; +void SpeculativeJIT::compileStringIdentZeroLength(Node* node)

See below about method name.

&gt; Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:1663
&gt; +    case StringUse:
&gt; +        return compileStringIdentZeroLength(node);
&gt; +

I wouldn&apos;t call this method compileStringIdentZeroLength.  It doesn&apos;t have anything to do with StringIdent - you&apos;re not requiring the operand to be an identifier, you&apos;re only requiring it to be a string.  So, a name like compileStringZeroLength would be fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938863</commentid>
    <comment_count>3</comment_count>
      <attachid>214001</attachid>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-11 10:43:27 -0700</bug_when>
    <thetext>Created attachment 214001
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938864</commentid>
    <comment_count>4</comment_count>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-11 10:44:11 -0700</bug_when>
    <thetext>Thanks Filip. I fixed the patch to address your comments. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938867</commentid>
    <comment_count>5</comment_count>
      <attachid>214001</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-11 10:52:38 -0700</bug_when>
    <thetext>Comment on attachment 214001
Patch

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

Can you also add a test?  Best to add one in LayoutTests/js, and use the dfgShouldBe function to drive the test. There should be examples in that directory that do it. This will automatically run the test long enough to tier-up into the DFG.

&gt; Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:4184
&gt; +    m_jit.load32(MacroAssembler::Address(strGPR, JSString::offsetOfLength()), lenGPR);

Why not use compare32() that takes an Address and a TrustedImm32?  It will give you the same functionality with just one instruction on x86 and I think just two on arm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938877</commentid>
    <comment_count>6</comment_count>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-11 11:09:11 -0700</bug_when>
    <thetext>compare32 does not take an address, but I will fold the immediate into the comparison and add a test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938880</commentid>
    <comment_count>7</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-11 11:12:07 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; compare32 does not take an address, but I will fold the immediate into the comparison and add a test case.

Oh, right!  But there is this thing:

    void test32(ResultCondition cond, Address address, TrustedImm32 mask, RegisterID dest)

You&apos;d use TrustedImm32(-1) as the mask.  This will Do The Right Thing on both x86 and arm.  On x86 you&apos;ll get a cmpl $0, (memory). On arm you&apos;ll get a ldr and tst.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938954</commentid>
    <comment_count>8</comment_count>
      <attachid>214019</attachid>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-11 13:25:01 -0700</bug_when>
    <thetext>Created attachment 214019
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938955</commentid>
    <comment_count>9</comment_count>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-11 13:26:08 -0700</bug_when>
    <thetext>Switched to test32 and added a test case. I verified with a debugger that compileStringZeroLength is called.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938957</commentid>
    <comment_count>10</comment_count>
      <attachid>214019</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-11 13:33:15 -0700</bug_when>
    <thetext>Comment on attachment 214019
Patch

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

&gt; LayoutTests/js/script-tests/test_not_string.js:15
&gt; +
&gt; +function foo(text) {
&gt; +  return !!text
&gt; +}
&gt; +
&gt; +var sum = 0;
&gt; +var str = &quot;&quot;
&gt; +for (var i=0; i &lt; 1000000; i++) {
&gt; +  sum += foo(str)
&gt; +
&gt; +  if (sum &lt; 10)
&gt; +    str += &quot;a&quot;
&gt; +}
&gt; +
&gt; +shouldBe(&quot;sum&quot;, &quot;999999&quot;);

- Tests for the DFG are usually called &quot;dfg-&lt;blah&gt;.js&quot;

- We usually use &quot;-&quot; as a word separator in test names.

- This test appears to rely on 1000000 being enough runs to trigger the DFG.  That&apos;s actually probably good enough, but you could make the test more robust by using the dfgShouldBe function:

dfgShouldBe(foo, &quot;foo(\&quot;\&quot;)&quot;, &quot;true&quot;);
dfgShouldBe(foo, &quot;foo(\&quot;blah\&quot;)&quot;, &quot;false&quot;);

You can alternatively do this sort of manually, like:

noInline(foo);
while (!dfgCompiled({f:foo}))
    foo( .... some arguments to warm it up ...);

shouldBe(&quot;foo(...   // your actual tests here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938961</commentid>
    <comment_count>11</comment_count>
      <attachid>214021</attachid>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-11 13:51:53 -0700</bug_when>
    <thetext>Created attachment 214021
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938966</commentid>
    <comment_count>12</comment_count>
      <attachid>214021</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-11 14:05:20 -0700</bug_when>
    <thetext>Comment on attachment 214021
Patch

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

&gt; LayoutTests/js/script-tests/dfg-not-string.js:15
&gt; +
&gt; +function foo(text) {
&gt; +  return !!text
&gt; +}
&gt; +
&gt; +var sum = 0;
&gt; +var str = &quot;&quot;
&gt; +for (var i=0; i &lt; 1000; i++) {
&gt; +  sum += foo(str)
&gt; +
&gt; +  if (sum &lt; 10)
&gt; +    str += &quot;a&quot;
&gt; +}
&gt; +
&gt; +dfgShouldBe(foo, &quot;sum&quot;, &quot;999&quot;);

I think this will deadlock in some cases.  dfgShouldBe()&apos;s second argument should be an expression that results in a call to the function you pass in the first argument.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938971</commentid>
    <comment_count>13</comment_count>
      <attachid>214023</attachid>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-11 14:30:50 -0700</bug_when>
    <thetext>Created attachment 214023
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938972</commentid>
    <comment_count>14</comment_count>
      <attachid>214023</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-11 14:34:03 -0700</bug_when>
    <thetext>Comment on attachment 214023
Patch

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

&gt; LayoutTests/js/script-tests/dfg-not-string.js:17
&gt; +dfgShouldBe(test, &quot;test()&quot;, &quot;9&quot;);

This isn&apos;t guaranteed to run long enough to get foo() to tier up.  It&apos;ll wait for test() to tier up.  Normally, our heuristics will compile foo() before test() because foo() is smaller and is called more frequently, but we shouldn&apos;t be relying on heuristics in the tests.  You can fix this by saying:

dfgShouldBe(foo, &quot;test()&quot;, &quot;9&quot;);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939012</commentid>
    <comment_count>15</comment_count>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-11 17:03:02 -0700</bug_when>
    <thetext>got it. I assumed that if Test is jitted then Foo is also jitter because it is called more frequently.  I will change the test case and resubmit. Thanks for the review :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939013</commentid>
    <comment_count>16</comment_count>
      <attachid>214037</attachid>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-11 17:06:45 -0700</bug_when>
    <thetext>Created attachment 214037
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939033</commentid>
    <comment_count>17</comment_count>
      <attachid>214037</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-11 19:20:14 -0700</bug_when>
    <thetext>Comment on attachment 214037
Patch

Clearing flags on attachment: 214037

Committed r157329: &lt;http://trac.webkit.org/changeset/157329&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939034</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-11 19:20:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213950</attachid>
            <date>2013-10-10 17:42:22 -0700</date>
            <delta_ts>2013-10-11 10:43:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122627-20131010174222.patch</filename>
            <type>text/plain</type>
            <size>5854</size>
            <attacher name="Nadav Rotem">nrotem</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3MjYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
ZjNkODM5NTVlZTczOTMwMGIxZjIzMjEyYmQzNmVkMmEyMWNlNmU5Li42NmYyN2NiOGY5ZWVhNWYy
MTFhZWRkNmZkZDc4NTU1NjQ4YWI5NDI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxMy0xMC0xMCAgTmFkYXYgUm90ZW0gIDxucm90ZW1AYXBwbGUuY29tPgor
CisgICAgICAgIERGRzogQWRkIEpJVCBzdXBwb3J0IGZvciAgTG9naWNhbE5vdChTdHJpbmcvU3Ry
aW5nSWRlbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMjI2MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGRmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpE
Rkc6Ojo6ZXhlY3V0ZUVmZmVjdHMpOgorICAgICAgICAqIGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoK
KyAgICAgICAgKEpTQzo6REZHOjpGaXh1cFBoYXNlOjpmaXh1cE5vZGUpOgorICAgICAgICAqIGRm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGVTdHJpbmdJZGVudFplcm9MZW5ndGgpOgorICAgICAgICAqIGRmZy9ERkdTcGVj
dWxhdGl2ZUpJVC5oOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcDoK
KyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUxvZ2ljYWxOb3QpOgor
ICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUxvZ2ljYWxOb3QpOgorCiAyMDEzLTEwLTA5ICBGaWxp
cCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgRlRMOiBTb2Z0LWxpbmsgTExW
TSBhcyBhIHdvcmthcm91bmQgZm9yIExMVk0ncyBzdGF0aWMgaW5pdGlhbGl6ZXJzIGFuZCBleGl0
LXRpbWUgZGVzdHJ1Y3RvcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAppbmRleCAxNDI0YzRiM2NhNWY1YTBk
ZGQ1YWIxZWVjNTgyMzdmMzliZjBlZTkwLi4yNjNmZDE3MGQ5MDViN2NlMmNjNmUwNjAyMDQ0MTRm
Njc3NmMxMmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3Ry
YWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCkBAIC01NjksNiArNTY5LDcgQEAgYm9vbCBB
YnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHModW5z
aWduZWQgY2xvYmJlckxpbWkKICAgICAgICAgICAgIGNhc2UgTnVtYmVyVXNlOgogICAgICAgICAg
ICAgY2FzZSBVbnR5cGVkVXNlOgogICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
Y2FzZSBTdHJpbmdVc2U6CiAgICAgICAgICAgICBjYXNlIE9iamVjdE9yT3RoZXJVc2U6CiAgICAg
ICAgICAgICAgICAgbm9kZS0+c2V0Q2FuRXhpdCh0cnVlKTsKICAgICAgICAgICAgICAgICBicmVh
azsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCmluZGV4IDU5
MTI4ZDQ2YzFiZTAzMjA4OWJhYTBhOGRkODRlOWFlZTU1NDI1ZGEuLjJkODg1M2Y1ZWEyMDQ4NDIw
MmU5NmRiZmZlNzAxMWM2Mzc2MzQ0YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdGaXh1cFBoYXNlLmNwcApAQCAtMjkyLDYgKzI5Miw4IEBAIHByaXZhdGU6CiAgICAgICAgICAg
ICAgICAgZml4RWRnZTxJbnQzMlVzZT4obm9kZS0+Y2hpbGQxKCkpOwogICAgICAgICAgICAgZWxz
ZSBpZiAobm9kZS0+Y2hpbGQxKCktPnNob3VsZFNwZWN1bGF0ZU51bWJlcigpKQogICAgICAgICAg
ICAgICAgIGZpeEVkZ2U8TnVtYmVyVXNlPihub2RlLT5jaGlsZDEoKSk7CisgICAgICAgICAgICBl
bHNlIGlmIChub2RlLT5jaGlsZDEoKS0+c2hvdWxkU3BlY3VsYXRlU3RyaW5nKCkgfHwgbm9kZS0+
Y2hpbGQxKCktPnNob3VsZFNwZWN1bGF0ZVN0cmluZ0lkZW50KCkpCisgICAgICAgICAgICAgICAg
Zml4RWRnZTxTdHJpbmdVc2U+KG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICB9CiAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggZDI1Y2IyYzUwZDA4MjI2MjYyNzhlYmM0OTEyOWVk
ZjViOWUyZGU1My4uMTAxNWFjY2QyODZkNzgzYmIwMjdkMTE5OWRiOGYwZmNjMGFhODRjZiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKQEAg
LTQxNjcsNiArNDE2NywzMiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlU3RyaW5nSWRl
bnRFcXVhbGl0eShOb2RlKiBub2RlKQogI2VuZGlmCiB9CiAKK3ZvaWQgU3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGVTdHJpbmdJZGVudFplcm9MZW5ndGgoTm9kZSogbm9kZSkKK3sKKyAgICBTcGVjdWxh
dGVDZWxsT3BlcmFuZCBzdHIodGhpcywgbm9kZS0+Y2hpbGQxKCkpOworICAgIEdQUlRlbXBvcmFy
eSBsZW5ndGgodGhpcyk7CisgICAgR1BSVGVtcG9yYXJ5IHplcm8odGhpcyk7CisKKyAgICBHUFJS
ZWcgc3RyR1BSID0gc3RyLmdwcigpOworICAgIEdQUlJlZyBsZW5HUFIgPSBsZW5ndGguZ3ByKCk7
CisgICAgR1BSUmVnIHplcm9HUFIgPSB6ZXJvLmdwcigpOworCisgICAgLy8gTWFrZSBzdXJlIHRo
YXQgdGhpcyBpcyBhIHN0cmluZy4KKyAgICBzcGVjdWxhdGVTdHJpbmcobm9kZS0+Y2hpbGQxKCks
IHN0ckdQUik7CisKKyAgICAvLyBGZXRjaCB0aGUgbGVuZ3RoIGZpZWxkIGZyb20gdGhlIHN0cmlu
ZyBvYmplY3QuCisgICAgbV9qaXQubG9hZDMyKE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHN0ckdQ
UiwgSlNTdHJpbmc6Om9mZnNldE9mTGVuZ3RoKCkpLCBsZW5HUFIpOworICAgIG1faml0Lm1vdmUo
TWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMigwKSwgemVyb0dQUik7CisgICAgbV9qaXQuY29t
cGFyZTMyKE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwgemVyb0dQUiwgbGVuR1BSLCBsZW5HUFIpOwor
CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICBtX2ppdC5vcjMyKFRydXN0ZWRJbW0zMihWYWx1ZUZh
bHNlKSwgbGVuR1BSKTsKKyAgICBqc1ZhbHVlUmVzdWx0KGxlbkdQUiwgbm9kZSwgRGF0YUZvcm1h
dEpTQm9vbGVhbik7CisjZWxzZQorICAgIGJvb2xlYW5SZXN1bHQobGVuR1BSLCBub2RlKTsKKyNl
bmRpZgorfQorCiB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlR2V0SW5kZXhlZFByb3BlcnR5
U3RvcmFnZShOb2RlKiBub2RlKQogewogICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGJhc2UodGhp
cywgbm9kZS0+Y2hpbGQxKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVC5oCmluZGV4IDhiZWZlZmNhZjJmMjI3OGJlNTMzZGFkMGYwMTU0MTQwYTQzNmE5
NzguLjNjMGUzMzM3OGY4YWJmNmMxNmJmY2I3NGExMGQ4MDdlNjg5ZWNhMmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKQEAgLTE5ODEsNiArMTk4
MSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGNvbXBpbGVMb2dpY2FsTm90KE5vZGUqKTsKICAgICB2
b2lkIGNvbXBpbGVTdHJpbmdFcXVhbGl0eShOb2RlKik7CiAgICAgdm9pZCBjb21waWxlU3RyaW5n
SWRlbnRFcXVhbGl0eShOb2RlKik7CisgICAgdm9pZCBjb21waWxlU3RyaW5nSWRlbnRaZXJvTGVu
Z3RoKE5vZGUqKTsKKwogICAgIHZvaWQgZW1pdE9iamVjdE9yT3RoZXJCcmFuY2goRWRnZSB2YWx1
ZSwgQmFzaWNCbG9jayogdGFrZW4sIEJhc2ljQmxvY2sqIG5vdFRha2VuKTsKICAgICB2b2lkIGVt
aXRCcmFuY2goTm9kZSopOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKaW5kZXggODdhMjAwMWY5YTBhYTY2MTk3OTE3
MzJmOGVkNGE1ZjM5NDIyOGEzNy4uOTE5YTc5OTFhMTM0NTBhNzk0YTcyZmI0YzUzYTEyODkyYTlj
MWE3MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVDMyXzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklUMzJfNjQuY3BwCkBAIC0xNjU4LDcgKzE2NTgsOSBAQCB2b2lkIFNwZWN1bGF0aXZlSklU
Ojpjb21waWxlTG9naWNhbE5vdChOb2RlKiBub2RlKQogICAgICAgICBib29sZWFuUmVzdWx0KHJl
c3VsdFBheWxvYWRHUFIsIG5vZGUsIFVzZUNoaWxkcmVuQ2FsbGVkRXhwbGljaXRseSk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9Ci0gICAgICAgIAorICAgIGNhc2UgU3RyaW5nVXNlOgorICAgICAg
ICByZXR1cm4gY29tcGlsZVN0cmluZ0lkZW50WmVyb0xlbmd0aChub2RlKTsKKwogICAgIGRlZmF1
bHQ6CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIGJyZWFr
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VDY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5j
cHAKaW5kZXggNWVlODA2OGIzMmRiZGZjMmM5NGRlZDIxMTM5ODY5MTE1NDI1MTA2ZS4uZjcxNjNj
NmU5MmFjY2M5ZDQ1MzBkOGZhYjlkYjhjNTQyOGQ1Zjg1NyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCkBAIC0yMDQwLDcgKzIwNDAs
OSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlTG9naWNhbE5vdChOb2RlKiBub2RlKQog
ICAgICAgICBqc1ZhbHVlUmVzdWx0KHJlc3VsdEdQUiwgbm9kZSwgRGF0YUZvcm1hdEpTQm9vbGVh
biwgVXNlQ2hpbGRyZW5DYWxsZWRFeHBsaWNpdGx5KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
LSAgICAgICAgCisgICAgY2FzZSBTdHJpbmdVc2U6CisgICAgICAgIHJldHVybiBjb21waWxlU3Ry
aW5nSWRlbnRaZXJvTGVuZ3RoKG5vZGUpOworCiAgICAgZGVmYXVsdDoKICAgICAgICAgUkVMRUFT
RV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgYnJlYWs7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214001</attachid>
            <date>2013-10-11 10:43:27 -0700</date>
            <delta_ts>2013-10-11 13:24:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122627-20131011104326.patch</filename>
            <type>text/plain</type>
            <size>5734</size>
            <attacher name="Nadav Rotem">nrotem</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3Mjg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
MDEwYzA5NWVjZjc1NTMxOGQxYTMxZTE1MGQ1MzFlYmQ4ODE1M2M1Li42MzgxZGQyOGVjZWJiNWQz
NThlNGI1NjE0OTc0MjEzMGQwYWU5NTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxMy0xMC0xMSAgTmFkYXYgUm90ZW0gIDxucm90ZW1AYXBwbGUuY29tPgor
CisgICAgICAgIERGRzogQWRkIEpJVCBzdXBwb3J0IGZvciAgTG9naWNhbE5vdChTdHJpbmcvU3Ry
aW5nSWRlbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMjI2MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGRmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpE
Rkc6Ojo6ZXhlY3V0ZUVmZmVjdHMpOgorICAgICAgICAqIGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoK
KyAgICAgICAgKEpTQzo6REZHOjpGaXh1cFBoYXNlOjpmaXh1cE5vZGUpOgorICAgICAgICAqIGRm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGVTdHJpbmdaZXJvTGVuZ3RoKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRp
dmVKSVQuaDoKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAg
ICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVMb2dpY2FsTm90KToKKyAgICAg
ICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGVMb2dpY2FsTm90KToKKwogMjAxMy0xMC0wOSAgT2xpdmVyIEh1
bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEZ1cnRoZXIgaW1wcm92ZSBBcnJheUl0
ZXJhdG9yIHBlcmZvcm1hbmNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXggMTQyNGM0YjNjYTVmNWEw
ZGRkNWFiMWVlYzU4MjM3ZjM5YmYwZWU5MC4uN2UxYmI1NmY4NzYyMDM2NWZhZWUzYTYzZWNmYTdi
YjlmOTA2YjQ1NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0
cmFjdEludGVycHJldGVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaApAQCAtNTY4LDYgKzU2OCw3IEBAIGJvb2wg
QWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKHVu
c2lnbmVkIGNsb2JiZXJMaW1pCiAgICAgICAgICAgICBjYXNlIEludDMyVXNlOgogICAgICAgICAg
ICAgY2FzZSBOdW1iZXJVc2U6CiAgICAgICAgICAgICBjYXNlIFVudHlwZWRVc2U6CisgICAgICAg
ICAgICBjYXNlIFN0cmluZ1VzZToKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
IGNhc2UgT2JqZWN0T3JPdGhlclVzZToKICAgICAgICAgICAgICAgICBub2RlLT5zZXRDYW5FeGl0
KHRydWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBo
YXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKaW5k
ZXggNTkxMjhkNDZjMWJlMDMyMDg5YmFhMGE4ZGQ4NGU5YWVlNTU0MjVkYS4uMjRhZDIzMGFmYzYx
YTg5MjA1MTYwY2M0MDUwMjI3Y2M2ZTk3ZWY0MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0yOTIsNiArMjkyLDggQEAgcHJpdmF0ZToKICAgICAg
ICAgICAgICAgICBmaXhFZGdlPEludDMyVXNlPihub2RlLT5jaGlsZDEoKSk7CiAgICAgICAgICAg
ICBlbHNlIGlmIChub2RlLT5jaGlsZDEoKS0+c2hvdWxkU3BlY3VsYXRlTnVtYmVyKCkpCiAgICAg
ICAgICAgICAgICAgZml4RWRnZTxOdW1iZXJVc2U+KG5vZGUtPmNoaWxkMSgpKTsKKyAgICAgICAg
ICAgIGVsc2UgaWYgKG5vZGUtPmNoaWxkMSgpLT5zaG91bGRTcGVjdWxhdGVTdHJpbmcoKSkKKyAg
ICAgICAgICAgICAgICBmaXhFZGdlPFN0cmluZ1VzZT4obm9kZS0+Y2hpbGQxKCkpOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAppbmRleCBkMjVjYjJjNTBkMDgyMjYy
NjI3OGViYzQ5MTI5ZWRmNWI5ZTJkZTUzLi5jZGZiYTkwMDJmYTY3MmExOTA2OGE0YTFhZjliMDI1
MzRmMDhjOWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklULmNwcApAQCAtNDE2Nyw2ICs0MTY3LDMyIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGVTdHJpbmdJZGVudEVxdWFsaXR5KE5vZGUqIG5vZGUpCiAjZW5kaWYKIH0KIAordm9pZCBT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVN0cmluZ1plcm9MZW5ndGgoTm9kZSogbm9kZSkKK3sKKyAg
ICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBzdHIodGhpcywgbm9kZS0+Y2hpbGQxKCkpOworICAgIEdQ
UlRlbXBvcmFyeSBsZW5ndGgodGhpcyk7CisgICAgR1BSVGVtcG9yYXJ5IHplcm8odGhpcyk7CisK
KyAgICBHUFJSZWcgc3RyR1BSID0gc3RyLmdwcigpOworICAgIEdQUlJlZyBsZW5HUFIgPSBsZW5n
dGguZ3ByKCk7CisgICAgR1BSUmVnIHplcm9HUFIgPSB6ZXJvLmdwcigpOworCisgICAgLy8gTWFr
ZSBzdXJlIHRoYXQgdGhpcyBpcyBhIHN0cmluZy4KKyAgICBzcGVjdWxhdGVTdHJpbmcobm9kZS0+
Y2hpbGQxKCksIHN0ckdQUik7CisKKyAgICAvLyBGZXRjaCB0aGUgbGVuZ3RoIGZpZWxkIGZyb20g
dGhlIHN0cmluZyBvYmplY3QuCisgICAgbV9qaXQubG9hZDMyKE1hY3JvQXNzZW1ibGVyOjpBZGRy
ZXNzKHN0ckdQUiwgSlNTdHJpbmc6Om9mZnNldE9mTGVuZ3RoKCkpLCBsZW5HUFIpOworICAgIG1f
aml0Lm1vdmUoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMigwKSwgemVyb0dQUik7CisgICAg
bV9qaXQuY29tcGFyZTMyKE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwgemVyb0dQUiwgbGVuR1BSLCBs
ZW5HUFIpOworCisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICBtX2ppdC5vcjMyKFRydXN0ZWRJbW0z
MihWYWx1ZUZhbHNlKSwgbGVuR1BSKTsKKyAgICBqc1ZhbHVlUmVzdWx0KGxlbkdQUiwgbm9kZSwg
RGF0YUZvcm1hdEpTQm9vbGVhbik7CisjZWxzZQorICAgIGJvb2xlYW5SZXN1bHQobGVuR1BSLCBu
b2RlKTsKKyNlbmRpZgorfQorCiB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlR2V0SW5kZXhl
ZFByb3BlcnR5U3RvcmFnZShOb2RlKiBub2RlKQogewogICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5k
IGJhc2UodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5oCmluZGV4IDhiZWZlZmNhZjJmMjI3OGJlNTMzZGFkMGYwMTU0
MTQwYTQzNmE5NzguLjAzNzgwNDgyOTZkNjQ2M2YxNWIzNDA4OGIzNWVjMDk5MWE5ZWQ3NzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKQEAgLTE5
ODEsNiArMTk4MSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGNvbXBpbGVMb2dpY2FsTm90KE5vZGUq
KTsKICAgICB2b2lkIGNvbXBpbGVTdHJpbmdFcXVhbGl0eShOb2RlKik7CiAgICAgdm9pZCBjb21w
aWxlU3RyaW5nSWRlbnRFcXVhbGl0eShOb2RlKik7CisgICAgdm9pZCBjb21waWxlU3RyaW5nWmVy
b0xlbmd0aChOb2RlKik7CisKICAgICB2b2lkIGVtaXRPYmplY3RPck90aGVyQnJhbmNoKEVkZ2Ug
dmFsdWUsIEJhc2ljQmxvY2sqIHRha2VuLCBCYXNpY0Jsb2NrKiBub3RUYWtlbik7CiAgICAgdm9p
ZCBlbWl0QnJhbmNoKE5vZGUqKTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCmluZGV4IGI0OGY4ZDU5MWM4YzU0YjNh
ZDg2MWUzNzg0NTM0NmU4MjQzNjVjODguLjc0ZTZhNzI5NmI2YmJjYjAxZTAzZmM2YTU1Yjg3YTRj
NTkzMmViYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVDMyXzY0LmNwcApAQCAtMTY1OCw3ICsxNjU4LDkgQEAgdm9pZCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZUxvZ2ljYWxOb3QoTm9kZSogbm9kZSkKICAgICAgICAgYm9vbGVhblJlc3Vs
dChyZXN1bHRQYXlsb2FkR1BSLCBub2RlLCBVc2VDaGlsZHJlbkNhbGxlZEV4cGxpY2l0bHkpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQotICAgICAgICAKKyAgICBjYXNlIFN0cmluZ1VzZToKKyAg
ICAgICAgcmV0dXJuIGNvbXBpbGVTdHJpbmdaZXJvTGVuZ3RoKG5vZGUpOworCiAgICAgZGVmYXVs
dDoKICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgYnJlYWs7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
NjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNw
cAppbmRleCA1OTZhOTg0YzM5ZjM4MWFmMDAyMTI2OTYxZmZiNTYyYmYzYmQzZTAyLi5lYTMyM2Y3
MWFkZWEyN2UwNjVmNzE4ODRjOGE1YWQ3M2RlOWE3MGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKQEAgLTIwNDAsNyArMjA0MCw5
IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVMb2dpY2FsTm90KE5vZGUqIG5vZGUpCiAg
ICAgICAgIGpzVmFsdWVSZXN1bHQocmVzdWx0R1BSLCBub2RlLCBEYXRhRm9ybWF0SlNCb29sZWFu
LCBVc2VDaGlsZHJlbkNhbGxlZEV4cGxpY2l0bHkpOwogICAgICAgICByZXR1cm47CiAgICAgfQot
ICAgICAgICAKKyAgICBjYXNlIFN0cmluZ1VzZToKKyAgICAgICAgcmV0dXJuIGNvbXBpbGVTdHJp
bmdaZXJvTGVuZ3RoKG5vZGUpOworCiAgICAgZGVmYXVsdDoKICAgICAgICAgUkVMRUFTRV9BU1NF
UlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgYnJlYWs7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214019</attachid>
            <date>2013-10-11 13:25:01 -0700</date>
            <delta_ts>2013-10-11 13:51:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122627-20131011132500.patch</filename>
            <type>text/plain</type>
            <size>6981</size>
            <attacher name="Nadav Rotem">nrotem</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3Mjg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
MDEwYzA5NWVjZjc1NTMxOGQxYTMxZTE1MGQ1MzFlYmQ4ODE1M2M1Li42MzgxZGQyOGVjZWJiNWQz
NThlNGI1NjE0OTc0MjEzMGQwYWU5NTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxMy0xMC0xMSAgTmFkYXYgUm90ZW0gIDxucm90ZW1AYXBwbGUuY29tPgor
CisgICAgICAgIERGRzogQWRkIEpJVCBzdXBwb3J0IGZvciAgTG9naWNhbE5vdChTdHJpbmcvU3Ry
aW5nSWRlbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMjI2MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGRmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpE
Rkc6Ojo6ZXhlY3V0ZUVmZmVjdHMpOgorICAgICAgICAqIGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoK
KyAgICAgICAgKEpTQzo6REZHOjpGaXh1cFBoYXNlOjpmaXh1cE5vZGUpOgorICAgICAgICAqIGRm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGVTdHJpbmdaZXJvTGVuZ3RoKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRp
dmVKSVQuaDoKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAg
ICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVMb2dpY2FsTm90KToKKyAgICAg
ICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGVMb2dpY2FsTm90KToKKwogMjAxMy0xMC0wOSAgT2xpdmVyIEh1
bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEZ1cnRoZXIgaW1wcm92ZSBBcnJheUl0
ZXJhdG9yIHBlcmZvcm1hbmNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXggMTQyNGM0YjNjYTVmNWEw
ZGRkNWFiMWVlYzU4MjM3ZjM5YmYwZWU5MC4uN2UxYmI1NmY4NzYyMDM2NWZhZWUzYTYzZWNmYTdi
YjlmOTA2YjQ1NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0
cmFjdEludGVycHJldGVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaApAQCAtNTY4LDYgKzU2OCw3IEBAIGJvb2wg
QWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKHVu
c2lnbmVkIGNsb2JiZXJMaW1pCiAgICAgICAgICAgICBjYXNlIEludDMyVXNlOgogICAgICAgICAg
ICAgY2FzZSBOdW1iZXJVc2U6CiAgICAgICAgICAgICBjYXNlIFVudHlwZWRVc2U6CisgICAgICAg
ICAgICBjYXNlIFN0cmluZ1VzZToKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
IGNhc2UgT2JqZWN0T3JPdGhlclVzZToKICAgICAgICAgICAgICAgICBub2RlLT5zZXRDYW5FeGl0
KHRydWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBo
YXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKaW5k
ZXggNTkxMjhkNDZjMWJlMDMyMDg5YmFhMGE4ZGQ4NGU5YWVlNTU0MjVkYS4uMjRhZDIzMGFmYzYx
YTg5MjA1MTYwY2M0MDUwMjI3Y2M2ZTk3ZWY0MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0yOTIsNiArMjkyLDggQEAgcHJpdmF0ZToKICAgICAg
ICAgICAgICAgICBmaXhFZGdlPEludDMyVXNlPihub2RlLT5jaGlsZDEoKSk7CiAgICAgICAgICAg
ICBlbHNlIGlmIChub2RlLT5jaGlsZDEoKS0+c2hvdWxkU3BlY3VsYXRlTnVtYmVyKCkpCiAgICAg
ICAgICAgICAgICAgZml4RWRnZTxOdW1iZXJVc2U+KG5vZGUtPmNoaWxkMSgpKTsKKyAgICAgICAg
ICAgIGVsc2UgaWYgKG5vZGUtPmNoaWxkMSgpLT5zaG91bGRTcGVjdWxhdGVTdHJpbmcoKSkKKyAg
ICAgICAgICAgICAgICBmaXhFZGdlPFN0cmluZ1VzZT4obm9kZS0+Y2hpbGQxKCkpOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAppbmRleCBkMjVjYjJjNTBkMDgyMjYy
NjI3OGViYzQ5MTI5ZWRmNWI5ZTJkZTUzLi41NDc5YjliYmFkMjg4MGQ5ODFmYWExMzI1ZThlZDdi
ZjhiNzFhMDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklULmNwcApAQCAtNDE2Nyw2ICs0MTY3LDI4IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGVTdHJpbmdJZGVudEVxdWFsaXR5KE5vZGUqIG5vZGUpCiAjZW5kaWYKIH0KIAordm9pZCBT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVN0cmluZ1plcm9MZW5ndGgoTm9kZSogbm9kZSkKK3sKKyAg
ICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBzdHIodGhpcywgbm9kZS0+Y2hpbGQxKCkpOworICAgIEdQ
UlJlZyBzdHJHUFIgPSBzdHIuZ3ByKCk7CisKKyAgICAvLyBNYWtlIHN1cmUgdGhhdCB0aGlzIGlz
IGEgc3RyaW5nLgorICAgIHNwZWN1bGF0ZVN0cmluZyhub2RlLT5jaGlsZDEoKSwgc3RyR1BSKTsK
KworICAgIEdQUlRlbXBvcmFyeSBlcSh0aGlzKTsKKyAgICBHUFJSZWcgZXFHUFIgPSBlcS5ncHIo
KTsKKworICAgIC8vIEZldGNoIHRoZSBsZW5ndGggZmllbGQgZnJvbSB0aGUgc3RyaW5nIG9iamVj
dC4KKyAgICBtX2ppdC50ZXN0MzIoTWFjcm9Bc3NlbWJsZXI6Olplcm8sIE1hY3JvQXNzZW1ibGVy
OjpBZGRyZXNzKHN0ckdQUiwgSlNTdHJpbmc6Om9mZnNldE9mTGVuZ3RoKCkpLCBNYWNyb0Fzc2Vt
Ymxlcjo6VHJ1c3RlZEltbTMyKC0xKSwgZXFHUFIpOworCisjaWYgVVNFKEpTVkFMVUU2NCkKKyAg
ICBtX2ppdC5vcjMyKFRydXN0ZWRJbW0zMihWYWx1ZUZhbHNlKSwgZXFHUFIpOworICAgIGpzVmFs
dWVSZXN1bHQoZXFHUFIsIG5vZGUsIERhdGFGb3JtYXRKU0Jvb2xlYW4pOworI2Vsc2UKKyAgICBi
b29sZWFuUmVzdWx0KGVxR1BSLCBub2RlKTsKKyNlbmRpZgorfQorCiB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlR2V0SW5kZXhlZFByb3BlcnR5U3RvcmFnZShOb2RlKiBub2RlKQogewogICAg
IFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGJhc2UodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCmluZGV4IDhiZWZlZmNh
ZjJmMjI3OGJlNTMzZGFkMGYwMTU0MTQwYTQzNmE5NzguLjAzNzgwNDgyOTZkNjQ2M2YxNWIzNDA4
OGIzNWVjMDk5MWE5ZWQ3NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmgKQEAgLTE5ODEsNiArMTk4MSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGNv
bXBpbGVMb2dpY2FsTm90KE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVTdHJpbmdFcXVhbGl0eShO
b2RlKik7CiAgICAgdm9pZCBjb21waWxlU3RyaW5nSWRlbnRFcXVhbGl0eShOb2RlKik7CisgICAg
dm9pZCBjb21waWxlU3RyaW5nWmVyb0xlbmd0aChOb2RlKik7CisKICAgICB2b2lkIGVtaXRPYmpl
Y3RPck90aGVyQnJhbmNoKEVkZ2UgdmFsdWUsIEJhc2ljQmxvY2sqIHRha2VuLCBCYXNpY0Jsb2Nr
KiBub3RUYWtlbik7CiAgICAgdm9pZCBlbWl0QnJhbmNoKE5vZGUqKTsKICAgICAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCmlu
ZGV4IGI0OGY4ZDU5MWM4YzU0YjNhZDg2MWUzNzg0NTM0NmU4MjQzNjVjODguLjc0ZTZhNzI5NmI2
YmJjYjAxZTAzZmM2YTU1Yjg3YTRjNTkzMmViYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApAQCAtMTY1OCw3ICsxNjU4
LDkgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUxvZ2ljYWxOb3QoTm9kZSogbm9kZSkK
ICAgICAgICAgYm9vbGVhblJlc3VsdChyZXN1bHRQYXlsb2FkR1BSLCBub2RlLCBVc2VDaGlsZHJl
bkNhbGxlZEV4cGxpY2l0bHkpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgICAgICAKKyAg
ICBjYXNlIFN0cmluZ1VzZToKKyAgICAgICAgcmV0dXJuIGNvbXBpbGVTdHJpbmdaZXJvTGVuZ3Ro
KG5vZGUpOworCiAgICAgZGVmYXVsdDoKICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNI
RUQoKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAppbmRleCA1OTZhOTg0YzM5ZjM4MWFmMDAyMTI2OTYxZmZi
NTYyYmYzYmQzZTAyLi5lYTMyM2Y3MWFkZWEyN2UwNjVmNzE4ODRjOGE1YWQ3M2RlOWE3MGY0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5j
cHAKQEAgLTIwNDAsNyArMjA0MCw5IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVMb2dp
Y2FsTm90KE5vZGUqIG5vZGUpCiAgICAgICAgIGpzVmFsdWVSZXN1bHQocmVzdWx0R1BSLCBub2Rl
LCBEYXRhRm9ybWF0SlNCb29sZWFuLCBVc2VDaGlsZHJlbkNhbGxlZEV4cGxpY2l0bHkpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQotICAgICAgICAKKyAgICBjYXNlIFN0cmluZ1VzZToKKyAgICAg
ICAgcmV0dXJuIGNvbXBpbGVTdHJpbmdaZXJvTGVuZ3RoKG5vZGUpOworCiAgICAgZGVmYXVsdDoK
ICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgYnJlYWs7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvdGVzdF9ub3Rfc3RyaW5nLmpz
IGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL3Rlc3Rfbm90X3N0cmluZy5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mZjMxZjQ2MTM1ZmEwNjBjYmRlODYzYmZhZDIwZTJjY2JiYWZhNGMxCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL3Rlc3Rfbm90X3N0cmluZy5qcwpA
QCAtMCwwICsxLDE1IEBACisKK2Z1bmN0aW9uIGZvbyh0ZXh0KSB7CisgIHJldHVybiAhIXRleHQK
K30KKwordmFyIHN1bSA9IDA7Cit2YXIgc3RyID0gIiIKK2ZvciAodmFyIGk9MDsgaSA8IDEwMDAw
MDA7IGkrKykgeworICBzdW0gKz0gZm9vKHN0cikKKworICBpZiAoc3VtIDwgMTApCisgICAgc3Ry
ICs9ICJhIgorfQorCitzaG91bGRCZSgic3VtIiwgIjk5OTk5OSIpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvanMvdGVzdF9ub3Rfc3RyaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pz
L3Rlc3Rfbm90X3N0cmluZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTcwNmYwZDI3ZWRlZDk1
M2QxMDljYzFiNTk0NzhhOGI2MWQ1MTc5NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2pzL3Rlc3Rfbm90X3N0cmluZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitQQVNTIHN1
bSBpcyA5OTk5OTkKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy90ZXN0X25vdF9zdHJpbmcuaHRtbCBi
L0xheW91dFRlc3RzL2pzL3Rlc3Rfbm90X3N0cmluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjMmRkOGYx
MzdjMDQ2YjY5NTY2NGI1YjExYWNlNzQwNjFiMzA3NDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9qcy90ZXN0X25vdF9zdHJpbmcuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvdGVzdF9ub3Rfc3RyaW5nLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214021</attachid>
            <date>2013-10-11 13:51:53 -0700</date>
            <delta_ts>2013-10-11 14:30:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122627-20131011135152.patch</filename>
            <type>text/plain</type>
            <size>7017</size>
            <attacher name="Nadav Rotem">nrotem</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3Mjg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
MDEwYzA5NWVjZjc1NTMxOGQxYTMxZTE1MGQ1MzFlYmQ4ODE1M2M1Li42MzgxZGQyOGVjZWJiNWQz
NThlNGI1NjE0OTc0MjEzMGQwYWU5NTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxMy0xMC0xMSAgTmFkYXYgUm90ZW0gIDxucm90ZW1AYXBwbGUuY29tPgor
CisgICAgICAgIERGRzogQWRkIEpJVCBzdXBwb3J0IGZvciAgTG9naWNhbE5vdChTdHJpbmcvU3Ry
aW5nSWRlbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMjI2MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGRmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpE
Rkc6Ojo6ZXhlY3V0ZUVmZmVjdHMpOgorICAgICAgICAqIGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoK
KyAgICAgICAgKEpTQzo6REZHOjpGaXh1cFBoYXNlOjpmaXh1cE5vZGUpOgorICAgICAgICAqIGRm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGVTdHJpbmdaZXJvTGVuZ3RoKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRp
dmVKSVQuaDoKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAg
ICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVMb2dpY2FsTm90KToKKyAgICAg
ICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGVMb2dpY2FsTm90KToKKwogMjAxMy0xMC0wOSAgT2xpdmVyIEh1
bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEZ1cnRoZXIgaW1wcm92ZSBBcnJheUl0
ZXJhdG9yIHBlcmZvcm1hbmNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXggMTQyNGM0YjNjYTVmNWEw
ZGRkNWFiMWVlYzU4MjM3ZjM5YmYwZWU5MC4uN2UxYmI1NmY4NzYyMDM2NWZhZWUzYTYzZWNmYTdi
YjlmOTA2YjQ1NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0
cmFjdEludGVycHJldGVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaApAQCAtNTY4LDYgKzU2OCw3IEBAIGJvb2wg
QWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKHVu
c2lnbmVkIGNsb2JiZXJMaW1pCiAgICAgICAgICAgICBjYXNlIEludDMyVXNlOgogICAgICAgICAg
ICAgY2FzZSBOdW1iZXJVc2U6CiAgICAgICAgICAgICBjYXNlIFVudHlwZWRVc2U6CisgICAgICAg
ICAgICBjYXNlIFN0cmluZ1VzZToKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
IGNhc2UgT2JqZWN0T3JPdGhlclVzZToKICAgICAgICAgICAgICAgICBub2RlLT5zZXRDYW5FeGl0
KHRydWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBo
YXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKaW5k
ZXggNTkxMjhkNDZjMWJlMDMyMDg5YmFhMGE4ZGQ4NGU5YWVlNTU0MjVkYS4uMjRhZDIzMGFmYzYx
YTg5MjA1MTYwY2M0MDUwMjI3Y2M2ZTk3ZWY0MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0yOTIsNiArMjkyLDggQEAgcHJpdmF0ZToKICAgICAg
ICAgICAgICAgICBmaXhFZGdlPEludDMyVXNlPihub2RlLT5jaGlsZDEoKSk7CiAgICAgICAgICAg
ICBlbHNlIGlmIChub2RlLT5jaGlsZDEoKS0+c2hvdWxkU3BlY3VsYXRlTnVtYmVyKCkpCiAgICAg
ICAgICAgICAgICAgZml4RWRnZTxOdW1iZXJVc2U+KG5vZGUtPmNoaWxkMSgpKTsKKyAgICAgICAg
ICAgIGVsc2UgaWYgKG5vZGUtPmNoaWxkMSgpLT5zaG91bGRTcGVjdWxhdGVTdHJpbmcoKSkKKyAg
ICAgICAgICAgICAgICBmaXhFZGdlPFN0cmluZ1VzZT4obm9kZS0+Y2hpbGQxKCkpOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAppbmRleCBkMjVjYjJjNTBkMDgyMjYy
NjI3OGViYzQ5MTI5ZWRmNWI5ZTJkZTUzLi41NDc5YjliYmFkMjg4MGQ5ODFmYWExMzI1ZThlZDdi
ZjhiNzFhMDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklULmNwcApAQCAtNDE2Nyw2ICs0MTY3LDI4IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGVTdHJpbmdJZGVudEVxdWFsaXR5KE5vZGUqIG5vZGUpCiAjZW5kaWYKIH0KIAordm9pZCBT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVN0cmluZ1plcm9MZW5ndGgoTm9kZSogbm9kZSkKK3sKKyAg
ICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBzdHIodGhpcywgbm9kZS0+Y2hpbGQxKCkpOworICAgIEdQ
UlJlZyBzdHJHUFIgPSBzdHIuZ3ByKCk7CisKKyAgICAvLyBNYWtlIHN1cmUgdGhhdCB0aGlzIGlz
IGEgc3RyaW5nLgorICAgIHNwZWN1bGF0ZVN0cmluZyhub2RlLT5jaGlsZDEoKSwgc3RyR1BSKTsK
KworICAgIEdQUlRlbXBvcmFyeSBlcSh0aGlzKTsKKyAgICBHUFJSZWcgZXFHUFIgPSBlcS5ncHIo
KTsKKworICAgIC8vIEZldGNoIHRoZSBsZW5ndGggZmllbGQgZnJvbSB0aGUgc3RyaW5nIG9iamVj
dC4KKyAgICBtX2ppdC50ZXN0MzIoTWFjcm9Bc3NlbWJsZXI6Olplcm8sIE1hY3JvQXNzZW1ibGVy
OjpBZGRyZXNzKHN0ckdQUiwgSlNTdHJpbmc6Om9mZnNldE9mTGVuZ3RoKCkpLCBNYWNyb0Fzc2Vt
Ymxlcjo6VHJ1c3RlZEltbTMyKC0xKSwgZXFHUFIpOworCisjaWYgVVNFKEpTVkFMVUU2NCkKKyAg
ICBtX2ppdC5vcjMyKFRydXN0ZWRJbW0zMihWYWx1ZUZhbHNlKSwgZXFHUFIpOworICAgIGpzVmFs
dWVSZXN1bHQoZXFHUFIsIG5vZGUsIERhdGFGb3JtYXRKU0Jvb2xlYW4pOworI2Vsc2UKKyAgICBi
b29sZWFuUmVzdWx0KGVxR1BSLCBub2RlKTsKKyNlbmRpZgorfQorCiB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlR2V0SW5kZXhlZFByb3BlcnR5U3RvcmFnZShOb2RlKiBub2RlKQogewogICAg
IFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGJhc2UodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCmluZGV4IDhiZWZlZmNh
ZjJmMjI3OGJlNTMzZGFkMGYwMTU0MTQwYTQzNmE5NzguLjAzNzgwNDgyOTZkNjQ2M2YxNWIzNDA4
OGIzNWVjMDk5MWE5ZWQ3NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmgKQEAgLTE5ODEsNiArMTk4MSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGNv
bXBpbGVMb2dpY2FsTm90KE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVTdHJpbmdFcXVhbGl0eShO
b2RlKik7CiAgICAgdm9pZCBjb21waWxlU3RyaW5nSWRlbnRFcXVhbGl0eShOb2RlKik7CisgICAg
dm9pZCBjb21waWxlU3RyaW5nWmVyb0xlbmd0aChOb2RlKik7CisKICAgICB2b2lkIGVtaXRPYmpl
Y3RPck90aGVyQnJhbmNoKEVkZ2UgdmFsdWUsIEJhc2ljQmxvY2sqIHRha2VuLCBCYXNpY0Jsb2Nr
KiBub3RUYWtlbik7CiAgICAgdm9pZCBlbWl0QnJhbmNoKE5vZGUqKTsKICAgICAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCmlu
ZGV4IGI0OGY4ZDU5MWM4YzU0YjNhZDg2MWUzNzg0NTM0NmU4MjQzNjVjODguLjc0ZTZhNzI5NmI2
YmJjYjAxZTAzZmM2YTU1Yjg3YTRjNTkzMmViYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApAQCAtMTY1OCw3ICsxNjU4
LDkgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUxvZ2ljYWxOb3QoTm9kZSogbm9kZSkK
ICAgICAgICAgYm9vbGVhblJlc3VsdChyZXN1bHRQYXlsb2FkR1BSLCBub2RlLCBVc2VDaGlsZHJl
bkNhbGxlZEV4cGxpY2l0bHkpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgICAgICAKKyAg
ICBjYXNlIFN0cmluZ1VzZToKKyAgICAgICAgcmV0dXJuIGNvbXBpbGVTdHJpbmdaZXJvTGVuZ3Ro
KG5vZGUpOworCiAgICAgZGVmYXVsdDoKICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNI
RUQoKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAppbmRleCA1OTZhOTg0YzM5ZjM4MWFmMDAyMTI2OTYxZmZi
NTYyYmYzYmQzZTAyLi5lYTMyM2Y3MWFkZWEyN2UwNjVmNzE4ODRjOGE1YWQ3M2RlOWE3MGY0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5j
cHAKQEAgLTIwNDAsNyArMjA0MCw5IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVMb2dp
Y2FsTm90KE5vZGUqIG5vZGUpCiAgICAgICAgIGpzVmFsdWVSZXN1bHQocmVzdWx0R1BSLCBub2Rl
LCBEYXRhRm9ybWF0SlNCb29sZWFuLCBVc2VDaGlsZHJlbkNhbGxlZEV4cGxpY2l0bHkpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQotICAgICAgICAKKyAgICBjYXNlIFN0cmluZ1VzZToKKyAgICAg
ICAgcmV0dXJuIGNvbXBpbGVTdHJpbmdaZXJvTGVuZ3RoKG5vZGUpOworCiAgICAgZGVmYXVsdDoK
ICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgYnJlYWs7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kZmctbm90LXN0cmluZy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9qcy9kZmctbm90LXN0cmluZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGRl
NTcwODQ3YjFiM2ZmODliOGMwNmJhOTc2MTRjMzJkZTMyNTBlNQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2pzL2RmZy1ub3Qtc3RyaW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUg
QEAKK1BBU1Mgc3VtIGlzIDk5OSBvbiBhbGwgaXRlcmF0aW9ucyBpbmNsdWRpbmcgYWZ0ZXIgREZH
IHRpZXItdXAuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZGZnLW5vdC1zdHJpbmcuaHRtbCBiL0xh
eW91dFRlc3RzL2pzL2RmZy1ub3Qtc3RyaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2FiNzVlNzIwNTdl
ZjkyMTIxMDk3ZDk3ODI1ZjA4MGY2N2IyYmYwYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2pzL2RmZy1ub3Qtc3RyaW5nLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2RmZy1ub3Qtc3RyaW5nLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3NjcmlwdC10
ZXN0cy9kZmctbm90LXN0cmluZy5qcyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9kZmct
bm90LXN0cmluZy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZGI1MTNkNWJhYTBiYTBhMzg5OWU1OGYyNDEwZTdh
ZmM5N2RlNjRkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3Rz
L2RmZy1ub3Qtc3RyaW5nLmpzCkBAIC0wLDAgKzEsMTUgQEAKKworZnVuY3Rpb24gZm9vKHRleHQp
IHsKKyAgcmV0dXJuICEhdGV4dAorfQorCit2YXIgc3VtID0gMDsKK3ZhciBzdHIgPSAiIgorZm9y
ICh2YXIgaT0wOyBpIDwgMTAwMDsgaSsrKSB7CisgIHN1bSArPSBmb28oc3RyKQorCisgIGlmIChz
dW0gPCAxMCkKKyAgICBzdHIgKz0gImEiCit9CisKK2RmZ1Nob3VsZEJlKGZvbywgInN1bSIsICI5
OTkiKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214023</attachid>
            <date>2013-10-11 14:30:50 -0700</date>
            <delta_ts>2013-10-11 17:06:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122627-20131011143050.patch</filename>
            <type>text/plain</type>
            <size>7065</size>
            <attacher name="Nadav Rotem">nrotem</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3Mjg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
MDEwYzA5NWVjZjc1NTMxOGQxYTMxZTE1MGQ1MzFlYmQ4ODE1M2M1Li42MzgxZGQyOGVjZWJiNWQz
NThlNGI1NjE0OTc0MjEzMGQwYWU5NTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxMy0xMC0xMSAgTmFkYXYgUm90ZW0gIDxucm90ZW1AYXBwbGUuY29tPgor
CisgICAgICAgIERGRzogQWRkIEpJVCBzdXBwb3J0IGZvciAgTG9naWNhbE5vdChTdHJpbmcvU3Ry
aW5nSWRlbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMjI2MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGRmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpE
Rkc6Ojo6ZXhlY3V0ZUVmZmVjdHMpOgorICAgICAgICAqIGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoK
KyAgICAgICAgKEpTQzo6REZHOjpGaXh1cFBoYXNlOjpmaXh1cE5vZGUpOgorICAgICAgICAqIGRm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGVTdHJpbmdaZXJvTGVuZ3RoKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRp
dmVKSVQuaDoKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAg
ICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVMb2dpY2FsTm90KToKKyAgICAg
ICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGVMb2dpY2FsTm90KToKKwogMjAxMy0xMC0wOSAgT2xpdmVyIEh1
bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEZ1cnRoZXIgaW1wcm92ZSBBcnJheUl0
ZXJhdG9yIHBlcmZvcm1hbmNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXggMTQyNGM0YjNjYTVmNWEw
ZGRkNWFiMWVlYzU4MjM3ZjM5YmYwZWU5MC4uN2UxYmI1NmY4NzYyMDM2NWZhZWUzYTYzZWNmYTdi
YjlmOTA2YjQ1NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0
cmFjdEludGVycHJldGVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaApAQCAtNTY4LDYgKzU2OCw3IEBAIGJvb2wg
QWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKHVu
c2lnbmVkIGNsb2JiZXJMaW1pCiAgICAgICAgICAgICBjYXNlIEludDMyVXNlOgogICAgICAgICAg
ICAgY2FzZSBOdW1iZXJVc2U6CiAgICAgICAgICAgICBjYXNlIFVudHlwZWRVc2U6CisgICAgICAg
ICAgICBjYXNlIFN0cmluZ1VzZToKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
IGNhc2UgT2JqZWN0T3JPdGhlclVzZToKICAgICAgICAgICAgICAgICBub2RlLT5zZXRDYW5FeGl0
KHRydWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBo
YXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKaW5k
ZXggNTkxMjhkNDZjMWJlMDMyMDg5YmFhMGE4ZGQ4NGU5YWVlNTU0MjVkYS4uMjRhZDIzMGFmYzYx
YTg5MjA1MTYwY2M0MDUwMjI3Y2M2ZTk3ZWY0MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0yOTIsNiArMjkyLDggQEAgcHJpdmF0ZToKICAgICAg
ICAgICAgICAgICBmaXhFZGdlPEludDMyVXNlPihub2RlLT5jaGlsZDEoKSk7CiAgICAgICAgICAg
ICBlbHNlIGlmIChub2RlLT5jaGlsZDEoKS0+c2hvdWxkU3BlY3VsYXRlTnVtYmVyKCkpCiAgICAg
ICAgICAgICAgICAgZml4RWRnZTxOdW1iZXJVc2U+KG5vZGUtPmNoaWxkMSgpKTsKKyAgICAgICAg
ICAgIGVsc2UgaWYgKG5vZGUtPmNoaWxkMSgpLT5zaG91bGRTcGVjdWxhdGVTdHJpbmcoKSkKKyAg
ICAgICAgICAgICAgICBmaXhFZGdlPFN0cmluZ1VzZT4obm9kZS0+Y2hpbGQxKCkpOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAppbmRleCBkMjVjYjJjNTBkMDgyMjYy
NjI3OGViYzQ5MTI5ZWRmNWI5ZTJkZTUzLi41NDc5YjliYmFkMjg4MGQ5ODFmYWExMzI1ZThlZDdi
ZjhiNzFhMDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklULmNwcApAQCAtNDE2Nyw2ICs0MTY3LDI4IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGVTdHJpbmdJZGVudEVxdWFsaXR5KE5vZGUqIG5vZGUpCiAjZW5kaWYKIH0KIAordm9pZCBT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVN0cmluZ1plcm9MZW5ndGgoTm9kZSogbm9kZSkKK3sKKyAg
ICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBzdHIodGhpcywgbm9kZS0+Y2hpbGQxKCkpOworICAgIEdQ
UlJlZyBzdHJHUFIgPSBzdHIuZ3ByKCk7CisKKyAgICAvLyBNYWtlIHN1cmUgdGhhdCB0aGlzIGlz
IGEgc3RyaW5nLgorICAgIHNwZWN1bGF0ZVN0cmluZyhub2RlLT5jaGlsZDEoKSwgc3RyR1BSKTsK
KworICAgIEdQUlRlbXBvcmFyeSBlcSh0aGlzKTsKKyAgICBHUFJSZWcgZXFHUFIgPSBlcS5ncHIo
KTsKKworICAgIC8vIEZldGNoIHRoZSBsZW5ndGggZmllbGQgZnJvbSB0aGUgc3RyaW5nIG9iamVj
dC4KKyAgICBtX2ppdC50ZXN0MzIoTWFjcm9Bc3NlbWJsZXI6Olplcm8sIE1hY3JvQXNzZW1ibGVy
OjpBZGRyZXNzKHN0ckdQUiwgSlNTdHJpbmc6Om9mZnNldE9mTGVuZ3RoKCkpLCBNYWNyb0Fzc2Vt
Ymxlcjo6VHJ1c3RlZEltbTMyKC0xKSwgZXFHUFIpOworCisjaWYgVVNFKEpTVkFMVUU2NCkKKyAg
ICBtX2ppdC5vcjMyKFRydXN0ZWRJbW0zMihWYWx1ZUZhbHNlKSwgZXFHUFIpOworICAgIGpzVmFs
dWVSZXN1bHQoZXFHUFIsIG5vZGUsIERhdGFGb3JtYXRKU0Jvb2xlYW4pOworI2Vsc2UKKyAgICBi
b29sZWFuUmVzdWx0KGVxR1BSLCBub2RlKTsKKyNlbmRpZgorfQorCiB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlR2V0SW5kZXhlZFByb3BlcnR5U3RvcmFnZShOb2RlKiBub2RlKQogewogICAg
IFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGJhc2UodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCmluZGV4IDhiZWZlZmNh
ZjJmMjI3OGJlNTMzZGFkMGYwMTU0MTQwYTQzNmE5NzguLjAzNzgwNDgyOTZkNjQ2M2YxNWIzNDA4
OGIzNWVjMDk5MWE5ZWQ3NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmgKQEAgLTE5ODEsNiArMTk4MSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGNv
bXBpbGVMb2dpY2FsTm90KE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVTdHJpbmdFcXVhbGl0eShO
b2RlKik7CiAgICAgdm9pZCBjb21waWxlU3RyaW5nSWRlbnRFcXVhbGl0eShOb2RlKik7CisgICAg
dm9pZCBjb21waWxlU3RyaW5nWmVyb0xlbmd0aChOb2RlKik7CisKICAgICB2b2lkIGVtaXRPYmpl
Y3RPck90aGVyQnJhbmNoKEVkZ2UgdmFsdWUsIEJhc2ljQmxvY2sqIHRha2VuLCBCYXNpY0Jsb2Nr
KiBub3RUYWtlbik7CiAgICAgdm9pZCBlbWl0QnJhbmNoKE5vZGUqKTsKICAgICAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCmlu
ZGV4IGI0OGY4ZDU5MWM4YzU0YjNhZDg2MWUzNzg0NTM0NmU4MjQzNjVjODguLjc0ZTZhNzI5NmI2
YmJjYjAxZTAzZmM2YTU1Yjg3YTRjNTkzMmViYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApAQCAtMTY1OCw3ICsxNjU4
LDkgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUxvZ2ljYWxOb3QoTm9kZSogbm9kZSkK
ICAgICAgICAgYm9vbGVhblJlc3VsdChyZXN1bHRQYXlsb2FkR1BSLCBub2RlLCBVc2VDaGlsZHJl
bkNhbGxlZEV4cGxpY2l0bHkpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgICAgICAKKyAg
ICBjYXNlIFN0cmluZ1VzZToKKyAgICAgICAgcmV0dXJuIGNvbXBpbGVTdHJpbmdaZXJvTGVuZ3Ro
KG5vZGUpOworCiAgICAgZGVmYXVsdDoKICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNI
RUQoKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAppbmRleCA1OTZhOTg0YzM5ZjM4MWFmMDAyMTI2OTYxZmZi
NTYyYmYzYmQzZTAyLi5lYTMyM2Y3MWFkZWEyN2UwNjVmNzE4ODRjOGE1YWQ3M2RlOWE3MGY0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5j
cHAKQEAgLTIwNDAsNyArMjA0MCw5IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVMb2dp
Y2FsTm90KE5vZGUqIG5vZGUpCiAgICAgICAgIGpzVmFsdWVSZXN1bHQocmVzdWx0R1BSLCBub2Rl
LCBEYXRhRm9ybWF0SlNCb29sZWFuLCBVc2VDaGlsZHJlbkNhbGxlZEV4cGxpY2l0bHkpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQotICAgICAgICAKKyAgICBjYXNlIFN0cmluZ1VzZToKKyAgICAg
ICAgcmV0dXJuIGNvbXBpbGVTdHJpbmdaZXJvTGVuZ3RoKG5vZGUpOworCiAgICAgZGVmYXVsdDoK
ICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgYnJlYWs7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kZmctbm90LXN0cmluZy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9qcy9kZmctbm90LXN0cmluZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDU5
ZDQyMWM0Yjg2NmU5YjBhMTA3Yzk0MDYwYzgyMzE1ZDVlZDlkOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2pzL2RmZy1ub3Qtc3RyaW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUg
QEAKK1BBU1MgdGVzdCgpIGlzIDkgb24gYWxsIGl0ZXJhdGlvbnMgaW5jbHVkaW5nIGFmdGVyIERG
RyB0aWVyLXVwLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RmZy1ub3Qtc3RyaW5nLmh0bWwgYi9M
YXlvdXRUZXN0cy9qcy9kZmctbm90LXN0cmluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNhYjc1ZTcyMDU3
ZWY5MjEyMTA5N2Q5NzgyNWYwODBmNjdiMmJmMGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9qcy9kZmctbm90LXN0cmluZy5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9kZmctbm90LXN0cmluZy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQt
dGVzdHMvZGZnLW5vdC1zdHJpbmcuanMgYi9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvZGZn
LW5vdC1zdHJpbmcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTI4NjI1Zjc0YzM4NDJmM2Q5MjRhOGQwZDEwZDkx
ODE0YjdmOWVlMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0
cy9kZmctbm90LXN0cmluZy5qcwpAQCAtMCwwICsxLDE3IEBACitmdW5jdGlvbiBmb28odGV4dCkg
eworICByZXR1cm4gISF0ZXh0Cit9CisKK2Z1bmN0aW9uIHRlc3QoKSB7CisgIHZhciBzdW0gPSAw
OworICB2YXIgc3RyID0gIiIKKyAgZm9yICh2YXIgaT0wOyBpIDwgMTA7IGkrKykgeworICAgIHN1
bSArPSBmb28oc3RyKQorCisgICAgaWYgKHN1bSA8IDUpCisgICAgICBzdHIgKz0gImEiCisgIH0K
KyAgcmV0dXJuIHN1bQorfQorCitkZmdTaG91bGRCZSh0ZXN0LCAidGVzdCgpIiwgIjkiKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214037</attachid>
            <date>2013-10-11 17:06:45 -0700</date>
            <delta_ts>2013-10-11 19:20:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122627-20131011170644.patch</filename>
            <type>text/plain</type>
            <size>7064</size>
            <attacher name="Nadav Rotem">nrotem</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3Mjg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
MDEwYzA5NWVjZjc1NTMxOGQxYTMxZTE1MGQ1MzFlYmQ4ODE1M2M1Li42MzgxZGQyOGVjZWJiNWQz
NThlNGI1NjE0OTc0MjEzMGQwYWU5NTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxMy0xMC0xMSAgTmFkYXYgUm90ZW0gIDxucm90ZW1AYXBwbGUuY29tPgor
CisgICAgICAgIERGRzogQWRkIEpJVCBzdXBwb3J0IGZvciAgTG9naWNhbE5vdChTdHJpbmcvU3Ry
aW5nSWRlbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMjI2MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGRmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpE
Rkc6Ojo6ZXhlY3V0ZUVmZmVjdHMpOgorICAgICAgICAqIGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoK
KyAgICAgICAgKEpTQzo6REZHOjpGaXh1cFBoYXNlOjpmaXh1cE5vZGUpOgorICAgICAgICAqIGRm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGVTdHJpbmdaZXJvTGVuZ3RoKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRp
dmVKSVQuaDoKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAg
ICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVMb2dpY2FsTm90KToKKyAgICAg
ICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGVMb2dpY2FsTm90KToKKwogMjAxMy0xMC0wOSAgT2xpdmVyIEh1
bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEZ1cnRoZXIgaW1wcm92ZSBBcnJheUl0
ZXJhdG9yIHBlcmZvcm1hbmNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXggMTQyNGM0YjNjYTVmNWEw
ZGRkNWFiMWVlYzU4MjM3ZjM5YmYwZWU5MC4uN2UxYmI1NmY4NzYyMDM2NWZhZWUzYTYzZWNmYTdi
YjlmOTA2YjQ1NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0
cmFjdEludGVycHJldGVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaApAQCAtNTY4LDYgKzU2OCw3IEBAIGJvb2wg
QWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKHVu
c2lnbmVkIGNsb2JiZXJMaW1pCiAgICAgICAgICAgICBjYXNlIEludDMyVXNlOgogICAgICAgICAg
ICAgY2FzZSBOdW1iZXJVc2U6CiAgICAgICAgICAgICBjYXNlIFVudHlwZWRVc2U6CisgICAgICAg
ICAgICBjYXNlIFN0cmluZ1VzZToKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
IGNhc2UgT2JqZWN0T3JPdGhlclVzZToKICAgICAgICAgICAgICAgICBub2RlLT5zZXRDYW5FeGl0
KHRydWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBo
YXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKaW5k
ZXggNTkxMjhkNDZjMWJlMDMyMDg5YmFhMGE4ZGQ4NGU5YWVlNTU0MjVkYS4uMjRhZDIzMGFmYzYx
YTg5MjA1MTYwY2M0MDUwMjI3Y2M2ZTk3ZWY0MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0yOTIsNiArMjkyLDggQEAgcHJpdmF0ZToKICAgICAg
ICAgICAgICAgICBmaXhFZGdlPEludDMyVXNlPihub2RlLT5jaGlsZDEoKSk7CiAgICAgICAgICAg
ICBlbHNlIGlmIChub2RlLT5jaGlsZDEoKS0+c2hvdWxkU3BlY3VsYXRlTnVtYmVyKCkpCiAgICAg
ICAgICAgICAgICAgZml4RWRnZTxOdW1iZXJVc2U+KG5vZGUtPmNoaWxkMSgpKTsKKyAgICAgICAg
ICAgIGVsc2UgaWYgKG5vZGUtPmNoaWxkMSgpLT5zaG91bGRTcGVjdWxhdGVTdHJpbmcoKSkKKyAg
ICAgICAgICAgICAgICBmaXhFZGdlPFN0cmluZ1VzZT4obm9kZS0+Y2hpbGQxKCkpOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAppbmRleCBkMjVjYjJjNTBkMDgyMjYy
NjI3OGViYzQ5MTI5ZWRmNWI5ZTJkZTUzLi41NDc5YjliYmFkMjg4MGQ5ODFmYWExMzI1ZThlZDdi
ZjhiNzFhMDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklULmNwcApAQCAtNDE2Nyw2ICs0MTY3LDI4IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGVTdHJpbmdJZGVudEVxdWFsaXR5KE5vZGUqIG5vZGUpCiAjZW5kaWYKIH0KIAordm9pZCBT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVN0cmluZ1plcm9MZW5ndGgoTm9kZSogbm9kZSkKK3sKKyAg
ICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBzdHIodGhpcywgbm9kZS0+Y2hpbGQxKCkpOworICAgIEdQ
UlJlZyBzdHJHUFIgPSBzdHIuZ3ByKCk7CisKKyAgICAvLyBNYWtlIHN1cmUgdGhhdCB0aGlzIGlz
IGEgc3RyaW5nLgorICAgIHNwZWN1bGF0ZVN0cmluZyhub2RlLT5jaGlsZDEoKSwgc3RyR1BSKTsK
KworICAgIEdQUlRlbXBvcmFyeSBlcSh0aGlzKTsKKyAgICBHUFJSZWcgZXFHUFIgPSBlcS5ncHIo
KTsKKworICAgIC8vIEZldGNoIHRoZSBsZW5ndGggZmllbGQgZnJvbSB0aGUgc3RyaW5nIG9iamVj
dC4KKyAgICBtX2ppdC50ZXN0MzIoTWFjcm9Bc3NlbWJsZXI6Olplcm8sIE1hY3JvQXNzZW1ibGVy
OjpBZGRyZXNzKHN0ckdQUiwgSlNTdHJpbmc6Om9mZnNldE9mTGVuZ3RoKCkpLCBNYWNyb0Fzc2Vt
Ymxlcjo6VHJ1c3RlZEltbTMyKC0xKSwgZXFHUFIpOworCisjaWYgVVNFKEpTVkFMVUU2NCkKKyAg
ICBtX2ppdC5vcjMyKFRydXN0ZWRJbW0zMihWYWx1ZUZhbHNlKSwgZXFHUFIpOworICAgIGpzVmFs
dWVSZXN1bHQoZXFHUFIsIG5vZGUsIERhdGFGb3JtYXRKU0Jvb2xlYW4pOworI2Vsc2UKKyAgICBi
b29sZWFuUmVzdWx0KGVxR1BSLCBub2RlKTsKKyNlbmRpZgorfQorCiB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlR2V0SW5kZXhlZFByb3BlcnR5U3RvcmFnZShOb2RlKiBub2RlKQogewogICAg
IFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGJhc2UodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCmluZGV4IDhiZWZlZmNh
ZjJmMjI3OGJlNTMzZGFkMGYwMTU0MTQwYTQzNmE5NzguLjAzNzgwNDgyOTZkNjQ2M2YxNWIzNDA4
OGIzNWVjMDk5MWE5ZWQ3NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmgKQEAgLTE5ODEsNiArMTk4MSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGNv
bXBpbGVMb2dpY2FsTm90KE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVTdHJpbmdFcXVhbGl0eShO
b2RlKik7CiAgICAgdm9pZCBjb21waWxlU3RyaW5nSWRlbnRFcXVhbGl0eShOb2RlKik7CisgICAg
dm9pZCBjb21waWxlU3RyaW5nWmVyb0xlbmd0aChOb2RlKik7CisKICAgICB2b2lkIGVtaXRPYmpl
Y3RPck90aGVyQnJhbmNoKEVkZ2UgdmFsdWUsIEJhc2ljQmxvY2sqIHRha2VuLCBCYXNpY0Jsb2Nr
KiBub3RUYWtlbik7CiAgICAgdm9pZCBlbWl0QnJhbmNoKE5vZGUqKTsKICAgICAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCmlu
ZGV4IGI0OGY4ZDU5MWM4YzU0YjNhZDg2MWUzNzg0NTM0NmU4MjQzNjVjODguLjc0ZTZhNzI5NmI2
YmJjYjAxZTAzZmM2YTU1Yjg3YTRjNTkzMmViYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApAQCAtMTY1OCw3ICsxNjU4
LDkgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUxvZ2ljYWxOb3QoTm9kZSogbm9kZSkK
ICAgICAgICAgYm9vbGVhblJlc3VsdChyZXN1bHRQYXlsb2FkR1BSLCBub2RlLCBVc2VDaGlsZHJl
bkNhbGxlZEV4cGxpY2l0bHkpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgICAgICAKKyAg
ICBjYXNlIFN0cmluZ1VzZToKKyAgICAgICAgcmV0dXJuIGNvbXBpbGVTdHJpbmdaZXJvTGVuZ3Ro
KG5vZGUpOworCiAgICAgZGVmYXVsdDoKICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNI
RUQoKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAppbmRleCA1OTZhOTg0YzM5ZjM4MWFmMDAyMTI2OTYxZmZi
NTYyYmYzYmQzZTAyLi5lYTMyM2Y3MWFkZWEyN2UwNjVmNzE4ODRjOGE1YWQ3M2RlOWE3MGY0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5j
cHAKQEAgLTIwNDAsNyArMjA0MCw5IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVMb2dp
Y2FsTm90KE5vZGUqIG5vZGUpCiAgICAgICAgIGpzVmFsdWVSZXN1bHQocmVzdWx0R1BSLCBub2Rl
LCBEYXRhRm9ybWF0SlNCb29sZWFuLCBVc2VDaGlsZHJlbkNhbGxlZEV4cGxpY2l0bHkpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQotICAgICAgICAKKyAgICBjYXNlIFN0cmluZ1VzZToKKyAgICAg
ICAgcmV0dXJuIGNvbXBpbGVTdHJpbmdaZXJvTGVuZ3RoKG5vZGUpOworCiAgICAgZGVmYXVsdDoK
ICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgYnJlYWs7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kZmctbm90LXN0cmluZy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9qcy9kZmctbm90LXN0cmluZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDU5
ZDQyMWM0Yjg2NmU5YjBhMTA3Yzk0MDYwYzgyMzE1ZDVlZDlkOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2pzL2RmZy1ub3Qtc3RyaW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUg
QEAKK1BBU1MgdGVzdCgpIGlzIDkgb24gYWxsIGl0ZXJhdGlvbnMgaW5jbHVkaW5nIGFmdGVyIERG
RyB0aWVyLXVwLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RmZy1ub3Qtc3RyaW5nLmh0bWwgYi9M
YXlvdXRUZXN0cy9qcy9kZmctbm90LXN0cmluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNhYjc1ZTcyMDU3
ZWY5MjEyMTA5N2Q5NzgyNWYwODBmNjdiMmJmMGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9qcy9kZmctbm90LXN0cmluZy5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9kZmctbm90LXN0cmluZy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQt
dGVzdHMvZGZnLW5vdC1zdHJpbmcuanMgYi9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvZGZn
LW5vdC1zdHJpbmcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDNhYWM2ZjdhYTI1NDIyMTIwYjUwNzUzZWEzYjZh
Mzg4YWU3OGU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0
cy9kZmctbm90LXN0cmluZy5qcwpAQCAtMCwwICsxLDE3IEBACitmdW5jdGlvbiBmb28odGV4dCkg
eworICByZXR1cm4gISF0ZXh0Cit9CisKK2Z1bmN0aW9uIHRlc3QoKSB7CisgIHZhciBzdW0gPSAw
OworICB2YXIgc3RyID0gIiIKKyAgZm9yICh2YXIgaT0wOyBpIDwgMTA7IGkrKykgeworICAgIHN1
bSArPSBmb28oc3RyKQorCisgICAgaWYgKHN1bSA8IDUpCisgICAgICBzdHIgKz0gImEiCisgIH0K
KyAgcmV0dXJuIHN1bQorfQorCitkZmdTaG91bGRCZShmb28sICJ0ZXN0KCkiLCAiOSIpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>