<?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>41737</bug_id>
          
          <creation_ts>2010-07-06 22:30:58 -0700</creation_ts>
          <short_desc>[Chromium][Win] Crashes with &lt;keygen&gt; with huge padding.</short_desc>
          <delta_ts>2010-07-15 20:53:51 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows Vista</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="Hajime Morrita">morrita</reporter>
          <assigned_to name="Hajime Morrita">morrita</assigned_to>
          <cc>brettw</cc>
    
    <cc>commit-queue</cc>
    
    <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>247309</commentid>
    <comment_count>0</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-07-06 22:30:58 -0700</bug_when>
    <thetext>Reported at http://code.google.com/p/chromium/issues/detail?id=47050 .
Attached file makes Windows Chromium crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247310</commentid>
    <comment_count>1</comment_count>
      <attachid>60681</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-07-06 22:31:31 -0700</bug_when>
    <thetext>Created attachment 60681
a repro</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247339</commentid>
    <comment_count>2</comment_count>
      <attachid>60690</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-07-06 23:21:13 -0700</bug_when>
    <thetext>Created attachment 60690
patch v0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247419</commentid>
    <comment_count>3</comment_count>
      <attachid>60690</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-07-07 02:42:11 -0700</bug_when>
    <thetext>Comment on attachment 60690
patch v0

The general form of this patch looks good.  I like the test, and I like compositing over inheritance.  I just don&apos;t quite understand enough of how things work in the rendering folder to R+ this patch.  Hopefully this will be an easy review for some of our rendering friends.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250254</commentid>
    <comment_count>4</comment_count>
      <attachid>60690</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2010-07-12 19:51:42 -0700</bug_when>
    <thetext>Comment on attachment 60690
patch v0

WebCore/rendering/RenderThemeChromiumWin.cpp:91
 +          PassOwnPtr&lt;TransparencyWin&gt; fallback = adoptPtr(new TransparencyWin());
Style nit: Use OwnPtr. PassOwnPtr should only be used for (return and input) arguments.

WebCore/rendering/RenderThemeChromiumWin.cpp:89
 +          // Because TransparencyWin doesn&apos;t allocate temporally buffer for NoLayer,
s/temporally/temporary/

WebCore/ChangeLog:9
 +          allocate a temporal buffer to composition.  This change add
s/add/adds a/

WebCore/ChangeLog:10
 +          fallback path to ThemePainter to handle the bufer allocation
s/bufer/buffer/

WebCore/ChangeLog:13
 +          ThemePainter is no lonnger a subclass of TransparencyWin.  It has
s/lonnger/longer/

WebCore/ChangeLog:9
 +          allocate a temporal buffer to composition.  This change add
s/to/for/

WebCore/ChangeLog:19
 +          (WebCore::TransparencyWin::destContext): Added to expose an internal state.
Exposed state for use in the creation of the fallback window.

WebCore/ChangeLog:22
 +          (WebCore::TransparencyWin::transformMode): Added to expose an internal state.
s/Added to expose an internal state./Ditto./


WebCore/ChangeLog:24
 +          (WebCore::ThemePainter): Added a fallabck path.
s/fallabck/fallback/

WebCore/rendering/RenderThemeChromiumWin.cpp:92
 +          fallback-&gt;init(m_helper.destContext(), TransparencyWin::NoLayer, m_helper.transformMode(), m_helper.sourceRect());
ASSERT(fallback-&gt;context());
?


WebCore/rendering/RenderThemeChromiumWin.cpp:88
 +          ASSERT(!m_fallbackHelper);
This assert seems odd since this method doesn&apos;t even touch m_fallbackHelper.

WebCore/rendering/RenderThemeChromiumWin.cpp:90
 +          // it can be used for fallback when buffer allocation failed.
Why is it ok to use NoLayer?

WebCore/platform/graphics/chromium/TransparencyWin.h:148
 +      GraphicsContext* destContext() const { return m_destContext; }
Avoid abbreviations: s/dest/destination/ (for the method name).

WebCore/rendering/RenderThemeChromiumWin.cpp:65
 +          m_helper.init(context, getLayerMode(context, transformMode), transformMode, r);
Why not just do this?

if (!m_helper.context())
    m_helper(context, TransparencyWin::NoLayer, transformMode, r);

Then, get rid of a lot of stuff like helper(), etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251007</commentid>
    <comment_count>5</comment_count>
      <attachid>61477</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-07-14 00:39:00 -0700</bug_when>
    <thetext>Created attachment 61477
patch v1; took feedbacks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251203</commentid>
    <comment_count>6</comment_count>
    <who name="Brett Wilson (Google)">brettw</who>
    <bug_when>2010-07-14 08:32:05 -0700</bug_when>
    <thetext>This Looks Good To Me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251557</commentid>
    <comment_count>7</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-07-14 17:56:08 -0700</bug_when>
    <thetext>&gt; This Looks Good To Me.
Thanks! I&apos;ll land this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251573</commentid>
    <comment_count>8</comment_count>
      <attachid>61595</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-07-14 18:44:26 -0700</bug_when>
    <thetext>Created attachment 61595
patch to land</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251665</commentid>
    <comment_count>9</comment_count>
      <attachid>61595</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-14 21:40:04 -0700</bug_when>
    <thetext>Comment on attachment 61595
patch to land

Rejecting patch 61595 from commit-queue.

Unexpected failure when processing patch!  Please file a bug against webkit-patch.
Failed to run &quot;[&apos;./WebKitTools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-commit-queue.appspot.com&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--build&apos;, &apos;--non-interactive&apos;, &apos;--ignore-builders&apos;, &apos;--build-style=both&apos;, &apos;--quiet&apos;, 61595, &apos;--test&apos;, &apos;--parent-command=commit-queue&apos;, &apos;--no-update&apos;]&quot; exit_code: 1
Last 500 characters of output:
1595&amp;action=edit
Fetching: https://bugs.webkit.org/show_bug.cgi?id=41737&amp;ctype=xml
Processing 1 patch from 1 bug.
Cleaning working directory
Processing patch 61595 from bug 41737.
NOBODY (OOPS!) found in /Users/eseidel/Projects/CommitQueue/LayoutTests/ChangeLog does not appear to be a valid reviewer according to committers.py.
ERROR: /Users/eseidel/Projects/CommitQueue/LayoutTests/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251667</commentid>
    <comment_count>10</comment_count>
      <attachid>61606</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-07-14 21:45:34 -0700</bug_when>
    <thetext>Created attachment 61606
patch to land (retry)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252030</commentid>
    <comment_count>11</comment_count>
      <attachid>61606</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-15 12:08:27 -0700</bug_when>
    <thetext>Comment on attachment 61606
patch to land (retry)

Rejecting patch 61606 from commit-queue.

Failed to run &quot;[&apos;WebKitTools/Scripts/run-webkit-tests&apos;, &apos;--no-launch-safari&apos;, &apos;--exit-after-n-failures=1&apos;, &apos;--ignore-tests&apos;, &apos;compositing&apos;, &apos;--quiet&apos;]&quot; exit_code: 1
Running build-dumprendertree
Compiling Java tests
make: Nothing to be done for `default&apos;.
Running tests from /Users/eseidel/Projects/CommitQueue/LayoutTests
Testing 20689 test cases.
fast/forms/large-parts.html -&gt; failed

Exiting early after 1 failures. 7632 tests run.
162.44s total testing time

7631 test cases (99%) succeeded
1 test case (&lt;1%) had incorrect layout

Full output: http://webkit-commit-queue.appspot.com/results/3409408</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252295</commentid>
    <comment_count>12</comment_count>
      <attachid>61761</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-07-15 20:33:59 -0700</bug_when>
    <thetext>Created attachment 61761
last patch was broken during a patch juggling. fixed and retrying</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252300</commentid>
    <comment_count>13</comment_count>
      <attachid>61761</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-15 20:53:40 -0700</bug_when>
    <thetext>Comment on attachment 61761
last patch was broken during a patch juggling. fixed and retrying

Clearing flags on attachment: 61761

Committed r63511: &lt;http://trac.webkit.org/changeset/63511&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252301</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-15 20:53:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>60681</attachid>
            <date>2010-07-06 22:31:31 -0700</date>
            <delta_ts>2010-07-06 22:31:31 -0700</delta_ts>
            <desc>a repro</desc>
            <filename>large-parts.html</filename>
            <type>text/html</type>
            <size>307</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">PGh0bWw+DQo8aGVhZD4NCiAgPHRpdGxlPlRlc3QgZm9yIEJ1ZyBYWFguIFBBU1MgdW5sZXNzIGNy
YXNoLjwvdGl0bGU+DQo8L2hlYWQ+DQo8c2NyaXB0Pg0KaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikNCiAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7DQo8L3Njcmlw
dD4NCjxib2R5Pg0KPHA+VGVzdCBmb3IgQnVnIFhYWC4gUEFTUyB1bmxlc3MgY3Jhc2guPC9wPg0K
PGtleWdlbiBzdHlsZT0ncGFkZGluZzogMTAwMDA7IGJvcmRlci1yYWRpdXM6IDE7Jz48L2tleWdl
bj4NCjwvYm9keT4NCjwvaHRtbD4NCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60690</attachid>
            <date>2010-07-06 23:21:13 -0700</date>
            <delta_ts>2010-07-14 00:38:54 -0700</delta_ts>
            <desc>patch v0</desc>
            <filename>bug-41737-20100707152112.patch</filename>
            <type>text/plain</type>
            <size>8080</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkNzU4ZGM4M2IzNmFmNmEwOWUxMzhmNmVmNDU2Y2MyNjA5NmUzNmM4Li4yMDM5ZWIy
OTZjODM4ZThjMzQzYWVhNzU1ODgxZDdhMGU1NTAxMzI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMDctMDYgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXVtXaW5d
IENyYXNoZXMgd2l0aCA8a2V5Z2VuPiB3aXRoIGh1Z2UgcGFkZGluZy4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxNzM3CisKKyAgICAgICAgKiBmYXN0
L2Zvcm1zL2xhcmdlLXBhcnRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9m
b3Jtcy9sYXJnZS1wYXJ0cy5odG1sOiBBZGRlZC4KKwogMjAxMC0wNy0wNiAgRXJpYyBTZWlkZWwg
IDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFyZ2UtcGFydHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYXJnZS1wYXJ0cy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOWI3NGJmY2Q4MTg0YzkzNjM4YjAwODY4YjY2Y2M0MDY1ZWJkNmRlNQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFyZ2UtcGFydHMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEgQEAKK1Rlc3QgZm9yIEJ1ZyA0MTczNy4gUEFTUyB1bmxlc3MgY3Jhc2guDQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYXJnZS1wYXJ0cy5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYXJnZS1wYXJ0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI5NDY1NTlm
ZmQ1YjM1YTIzYjAyNTg3MmM1ZDM0NWFlMzk3ODgyOWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2xhcmdlLXBhcnRzLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPGh0
bWw+DQorPGhlYWQ+DQorICA8dGl0bGU+VGVzdCBmb3IgQnVnIDQxNzM3LiBQQVNTIHVubGVzcyBj
cmFzaC48L3RpdGxlPg0KKzwvaGVhZD4NCis8c2NyaXB0Pg0KK2lmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpDQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsNCis8
L3NjcmlwdD4NCis8Ym9keT4NCis8cD5UZXN0IGZvciBCdWcgNDE3MzcuIFBBU1MgdW5sZXNzIGNy
YXNoLjwvcD4NCis8a2V5Z2VuIHN0eWxlPSdwYWRkaW5nOiAxMDAwMDsgYm9yZGVyLXJhZGl1czog
MTsnPjwva2V5Z2VuPg0KKzwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwZjczZjlmY2E3NmE1YTE5OWU3ZmYz
Y2ViNzZlZTBkODk3OTI0ZmRhLi5jOTc0NzgzZGQ1Mjk3Y2Q0M2YzNGY3YzA0Njg3MmNmMGYzMzcy
OGI4IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI4IEBACisyMDEwLTA3LTA2ICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBn
b29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFtDaHJvbWl1bV1bV2luXSBDcmFzaGVzIHdpdGggPGtleWdlbj4gd2l0aCBodWdlIHBhZGRp
bmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTcz
NworCisgICAgICAgIFdoZW4gd2UgdHJ5IHRvIGRyYXcgYSBsYXJnZSByZWdpb24sIFRyYW5zcGFy
ZW5jeVdpbiBjYW4gZmFpbCB0bworICAgICAgICBhbGxvY2F0ZSBhIHRlbXBvcmFsIGJ1ZmZlciB0
byBjb21wb3NpdGlvbi4gIFRoaXMgY2hhbmdlIGFkZAorICAgICAgICBmYWxsYmFjayBwYXRoIHRv
IFRoZW1lUGFpbnRlciB0byBoYW5kbGUgdGhlIGJ1ZmVyIGFsbG9jYXRpb24KKyAgICAgICAgZmFp
bHVyZS4gCisgICAgICAgIAorICAgICAgICBUaGVtZVBhaW50ZXIgaXMgbm8gbG9ubmdlciBhIHN1
YmNsYXNzIG9mIFRyYW5zcGFyZW5jeVdpbi4gIEl0IGhhcworICAgICAgICBhIFRyYW5zcGFyZW5j
eVdpbiBhcyBhIG1lbWJlci4KKworICAgICAgICBUZXN0OiBmYXN0L2Zvcm1zL2xhcmdlLXBhcnRz
Lmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5j
eVdpbi5oOgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNwYXJlbmN5V2luOjpkZXN0Q29udGV4dCk6
IEFkZGVkIHRvIGV4cG9zZSBhbiBpbnRlcm5hbCBzdGF0ZS4KKyAgICAgICAgKFdlYkNvcmU6OlRy
YW5zcGFyZW5jeVdpbjo6ZHJhd1JlY3QpOiBNYWRlIGl0IGNvbnN0LgorICAgICAgICAoV2ViQ29y
ZTo6VHJhbnNwYXJlbmN5V2luOjpzb3VyY2VSZWN0KTogQWRkZWQgdG8gZXhwb3NlIGFuIGludGVy
bmFsIHN0YXRlLgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNwYXJlbmN5V2luOjp0cmFuc2Zvcm1N
b2RlKTogQWRkZWQgdG8gZXhwb3NlIGFuIGludGVybmFsIHN0YXRlLgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJUaGVtZUNocm9taXVtV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRoZW1l
UGFpbnRlcik6IEFkZGVkIGEgZmFsbGFiY2sgcGF0aC4KKwogMjAxMC0wNy0wNiAgRXJpYyBTZWlk
ZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJl
bmN5V2luLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5j
eVdpbi5oCmluZGV4IGI2YmVmOTExMDRjYWI1ODVlZmQ4ZGQ0ZTEwY2UwMTcxZTk5NjY0ODQuLmFm
NmRhYTMxZGE0NGJiZGViNTI5NGM4ZTZhYWIzMjNlNGYwOWFmMWMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lXaW4uaApAQCAtMTQ0
LDYgKzE0NCw5IEBAIHB1YmxpYzoKICAgICAvLyBjb250ZXh0LCBvciBhIHRlbXBvcmFyeSBvbmUu
CiAgICAgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0KCkgY29uc3QgeyByZXR1cm4gbV9kcmF3Q29u
dGV4dDsgfQogCisgICAgLy8gUmV0dXJucyB0aGUgY29udGV4dCB3aGljaCB3YXMgZ2l2ZW4gYnkg
dGhlIGNhbGxlci4KKyAgICBHcmFwaGljc0NvbnRleHQqIGRlc3RDb250ZXh0KCkgY29uc3QgeyBy
ZXR1cm4gbV9kZXN0Q29udGV4dDsgfQorCiAgICAgUGxhdGZvcm1HcmFwaGljc0NvbnRleHQqIHBs
YXRmb3JtQ29udGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1fZHJhd0NvbnRleHQgPyBtX2RyYXdDb250
ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKSA6IDA7IH0KIAogICAgIC8vIFdoZW4gdGhlIG1vZGUgaXMg
VGV4dENvbXBvc2l0ZSwgdGhpcyBzZXRzIHRoZSBjb2xvciB0aGF0IHRoZSB0ZXh0IHdpbGwKQEAg
LTE1Miw3ICsxNTUsMTMgQEAgcHVibGljOgogCiAgICAgLy8gUmV0dXJucyB0aGUgaW5wdXQgYm91
bmRzIHRyYW5zbGF0ZWQgaW50byB0aGUgZGVzdGluYXRpb24gc3BhY2UuIFRoaXMgaXMKICAgICAv
LyBub3QgbmVjZXNzYXJ5IGZvciBLZWVwVHJhbnNmb3JtIHNpbmNlIHRoZSByZWN0YW5nbGUgd2ls
bCBiZSB1bmNoYW5nZWQuCi0gICAgY29uc3QgSW50UmVjdCYgZHJhd1JlY3QoKSB7IHJldHVybiBt
X2RyYXdSZWN0OyB9CisgICAgY29uc3QgSW50UmVjdCYgZHJhd1JlY3QoKSBjb25zdCB7IHJldHVy
biBtX2RyYXdSZWN0OyB9CisKKyAgICAvLyBSZXR1cm5zIHRoZSBwcmUtdHJhbnNmb3JtZWQgYm91
bmQgaW4gc291cmNlIHNwYWNlIHdoaWNoIHdhcyBnaXZlbiBieSB0aGUgY2FsbGVyLgorICAgIGNv
bnN0IEludFJlY3QmIHNvdXJjZVJlY3QoKSBjb25zdCB7IHJldHVybiBtX3NvdXJjZVJlY3Q7IH0K
KworICAgIC8vIFJldHVybnMgdGhlIFRyYW5zZm9ybU1vZGUgd2hpY2ggd2FzIGdpdmVuIGJ5IHRo
ZSBjYWxsZXIuCisgICAgVHJhbnNmb3JtTW9kZSB0cmFuc2Zvcm1Nb2RlKCkgY29uc3QgeyByZXR1
cm4gbV90cmFuc2Zvcm1Nb2RlOyB9CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIFRyYW5zcGFyZW5j
eVdpbl9Ob0xheWVyX1Rlc3Q7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZUNocm9taXVtV2luLmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21p
dW1XaW4uY3BwCmluZGV4IDExNzJmOTY5NWRmMWQ3ZGNhNmFmODY3Y2VkYzRjNDdiNjdlMTAzMmIu
LjM1ZTM4Zjg1M2ZiODAyMjE4MWI0NTlhMDYxOTg5MDkxNDUyMGNjZDggMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1XaW4uY3BwCisrKyBiL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1XaW4uY3BwCkBAIC01NywyMCArNTcsNDIgQEAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIHsKLWNsYXNzIFRoZW1lUGFpbnRlciA6
IHB1YmxpYyBUcmFuc3BhcmVuY3lXaW4geworY2xhc3MgVGhlbWVQYWludGVyIHsKIHB1YmxpYzoK
ICAgICBUaGVtZVBhaW50ZXIoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0
JiByKQogICAgIHsKLSAgICAgICAgVHJhbnNmb3JtTW9kZSB0cmFuc2Zvcm1Nb2RlID0gZ2V0VHJh
bnNmb3JtTW9kZShjb250ZXh0LT5nZXRDVE0oKSk7Ci0gICAgICAgIGluaXQoY29udGV4dCwgZ2V0
TGF5ZXJNb2RlKGNvbnRleHQsIHRyYW5zZm9ybU1vZGUpLCB0cmFuc2Zvcm1Nb2RlLCByKTsKKyAg
ICAgICAgVHJhbnNwYXJlbmN5V2luOjpUcmFuc2Zvcm1Nb2RlIHRyYW5zZm9ybU1vZGUgPSBnZXRU
cmFuc2Zvcm1Nb2RlKGNvbnRleHQtPmdldENUTSgpKTsKKyAgICAgICAgbV9oZWxwZXIuaW5pdChj
b250ZXh0LCBnZXRMYXllck1vZGUoY29udGV4dCwgdHJhbnNmb3JtTW9kZSksIHRyYW5zZm9ybU1v
ZGUsIHIpOwogICAgIH0KIAogICAgIH5UaGVtZVBhaW50ZXIoKQogICAgIHsKLSAgICAgICAgY29t
cG9zaXRlKCk7CisgICAgICAgIGhlbHBlcigpLT5jb21wb3NpdGUoKTsKICAgICB9CiAKKyAgICBH
cmFwaGljc0NvbnRleHQqIGNvbnRleHQoKSB7IHJldHVybiBoZWxwZXIoKS0+Y29udGV4dCgpOyB9
CisgICAgY29uc3QgSW50UmVjdCYgZHJhd1JlY3QoKSB7IHJldHVybiBoZWxwZXIoKS0+ZHJhd1Jl
Y3QoKTsgfQorCiBwcml2YXRlOgorICAgIFRyYW5zcGFyZW5jeVdpbiogaGVscGVyKCkKKyAgICB7
CisgICAgICAgIGlmIChtX2hlbHBlci5jb250ZXh0KCkpCisgICAgICAgICAgICByZXR1cm4gJm1f
aGVscGVyOworICAgICAgICBpZiAoIW1fZmFsbGJhY2tIZWxwZXIpCisgICAgICAgICAgICBtX2Zh
bGxiYWNrSGVscGVyID0gbWFrZUZhbGxiYWNrKCk7CisgICAgICAgIHJldHVybiBtX2ZhbGxiYWNr
SGVscGVyLmdldCgpOworICAgIH0KKworICAgIFBhc3NPd25QdHI8VHJhbnNwYXJlbmN5V2luPiBt
YWtlRmFsbGJhY2soKQorICAgIHsKKyAgICAgICAgQVNTRVJUKCFtX2ZhbGxiYWNrSGVscGVyKTsK
KyAgICAgICAgLy8gQmVjYXVzZSBUcmFuc3BhcmVuY3lXaW4gZG9lc24ndCBhbGxvY2F0ZSB0ZW1w
b3JhbGx5IGJ1ZmZlciBmb3IgTm9MYXllciwKKyAgICAgICAgLy8gaXQgY2FuIGJlIHVzZWQgZm9y
IGZhbGxiYWNrIHdoZW4gYnVmZmVyIGFsbG9jYXRpb24gZmFpbGVkLgorICAgICAgICBQYXNzT3du
UHRyPFRyYW5zcGFyZW5jeVdpbj4gZmFsbGJhY2sgPSBhZG9wdFB0cihuZXcgVHJhbnNwYXJlbmN5
V2luKCkpOworICAgICAgICBmYWxsYmFjay0+aW5pdChtX2hlbHBlci5kZXN0Q29udGV4dCgpLCBU
cmFuc3BhcmVuY3lXaW46Ok5vTGF5ZXIsIG1faGVscGVyLnRyYW5zZm9ybU1vZGUoKSwgbV9oZWxw
ZXIuc291cmNlUmVjdCgpKTsKKyAgICAgICAgcmV0dXJuIGZhbGxiYWNrOworICAgIH0KKwogICAg
IHN0YXRpYyBib29sIGNhbnZhc0hhc011bHRpcGxlTGF5ZXJzKGNvbnN0IFNrQ2FudmFzKiBjYW52
YXMpCiAgICAgewogICAgICAgICBTa0NhbnZhczo6TGF5ZXJJdGVyIGl0ZXIoY29uc3RfY2FzdDxT
a0NhbnZhcyo+KGNhbnZhcyksIGZhbHNlKTsKQEAgLTc4LDI1ICsxMDAsMjggQEAgcHJpdmF0ZToK
ICAgICAgICAgcmV0dXJuICFpdGVyLmRvbmUoKTsgIC8vIFRoZXJlIGlzID4gMSBsYXllciBpZiB0
aGUgdGhlIGl0ZXJhdG9yIGNhbiBzdGlsIGFkdmFuY2UuCiAgICAgfQogCi0gICAgc3RhdGljIExh
eWVyTW9kZSBnZXRMYXllck1vZGUoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBUcmFuc2Zvcm1N
b2RlIHRyYW5zZm9ybU1vZGUpCisgICAgc3RhdGljIFRyYW5zcGFyZW5jeVdpbjo6TGF5ZXJNb2Rl
IGdldExheWVyTW9kZShHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIFRyYW5zcGFyZW5jeVdpbjo6
VHJhbnNmb3JtTW9kZSB0cmFuc2Zvcm1Nb2RlKQogICAgIHsKICAgICAgICAgaWYgKGNvbnRleHQt
PnBsYXRmb3JtQ29udGV4dCgpLT5pc0RyYXdpbmdUb0ltYWdlQnVmZmVyKCkpICAvLyBNaWdodCBo
YXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmQuCi0gICAgICAgICAgICByZXR1cm4gV2hpdGVMYXll
cjsKKyAgICAgICAgICAgIHJldHVybiBUcmFuc3BhcmVuY3lXaW46OldoaXRlTGF5ZXI7CiAgICAg
ICAgIGVsc2UgaWYgKGNhbnZhc0hhc011bHRpcGxlTGF5ZXJzKGNvbnRleHQtPnBsYXRmb3JtQ29u
dGV4dCgpLT5jYW52YXMoKSkpICAvLyBOZWVkcyBhbnRpYWxpYXNpbmcgaGVscC4KLSAgICAgICAg
ICAgIHJldHVybiBPcGFxdWVDb21wb3NpdGVMYXllcjsKKyAgICAgICAgICAgIHJldHVybiBUcmFu
c3BhcmVuY3lXaW46Ok9wYXF1ZUNvbXBvc2l0ZUxheWVyOwogICAgICAgICBlbHNlICAvLyBOb3Ro
aW5nIGludGVyZXN0aW5nLgotICAgICAgICAgICAgcmV0dXJuIHRyYW5zZm9ybU1vZGUgPT0gS2Vl
cFRyYW5zZm9ybSA/IE5vTGF5ZXIgOiBPcGFxdWVDb21wb3NpdGVMYXllcjsKKyAgICAgICAgICAg
IHJldHVybiB0cmFuc2Zvcm1Nb2RlID09IFRyYW5zcGFyZW5jeVdpbjo6S2VlcFRyYW5zZm9ybSA/
IFRyYW5zcGFyZW5jeVdpbjo6Tm9MYXllciA6IFRyYW5zcGFyZW5jeVdpbjo6T3BhcXVlQ29tcG9z
aXRlTGF5ZXI7CiAgICAgfQogCi0gICAgc3RhdGljIFRyYW5zZm9ybU1vZGUgZ2V0VHJhbnNmb3Jt
TW9kZShjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIG1hdHJpeCkKKyAgICBzdGF0aWMgVHJhbnNwYXJl
bmN5V2luOjpUcmFuc2Zvcm1Nb2RlIGdldFRyYW5zZm9ybU1vZGUoY29uc3QgQWZmaW5lVHJhbnNm
b3JtJiBtYXRyaXgpCiAgICAgewogICAgICAgICBpZiAobWF0cml4LmIoKSAhPSAwIHx8IG1hdHJp
eC5jKCkgIT0gMCkgIC8vIFNrZXcuCi0gICAgICAgICAgICByZXR1cm4gVW50cmFuc2Zvcm07Cisg
ICAgICAgICAgICByZXR1cm4gVHJhbnNwYXJlbmN5V2luOjpVbnRyYW5zZm9ybTsKICAgICAgICAg
ZWxzZSBpZiAobWF0cml4LmEoKSAhPSAxLjAgfHwgbWF0cml4LmQoKSAhPSAxLjApICAvLyBTY2Fs
ZS4KLSAgICAgICAgICAgIHJldHVybiBTY2FsZVRyYW5zZm9ybTsKKyAgICAgICAgICAgIHJldHVy
biBUcmFuc3BhcmVuY3lXaW46OlNjYWxlVHJhbnNmb3JtOwogICAgICAgICBlbHNlICAvLyBOb3Ro
aW5nIGludGVyZXN0aW5nLgotICAgICAgICAgICAgcmV0dXJuIEtlZXBUcmFuc2Zvcm07CisgICAg
ICAgICAgICByZXR1cm4gVHJhbnNwYXJlbmN5V2luOjpLZWVwVHJhbnNmb3JtOwogICAgIH0KKwor
ICAgIFRyYW5zcGFyZW5jeVdpbiBtX2hlbHBlcjsKKyAgICBPd25QdHI8VHJhbnNwYXJlbmN5V2lu
PiBtX2ZhbGxiYWNrSGVscGVyOwogfTsKIAogfSAgLy8gbmFtZXNwYWNlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61477</attachid>
            <date>2010-07-14 00:39:00 -0700</date>
            <delta_ts>2010-07-14 18:44:20 -0700</delta_ts>
            <desc>patch v1; took feedbacks</desc>
            <filename>bug-41737-20100714163858.patch</filename>
            <type>text/plain</type>
            <size>6174</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzNzcwMTk4MTc4NDVmZWJhYWNiMGU3NjNmNTY1ZTEyNDQwZGI1ZjE4Li45YmJhNTc0
YjZhZWRiMDViOWJjNWI1NmE3NTY0M2VhZGEyMTVmNmJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMDctMDYgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXVtXaW5d
IENyYXNoZXMgd2l0aCA8a2V5Z2VuPiB3aXRoIGh1Z2UgcGFkZGluZy4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxNzM3CisKKyAgICAgICAgKiBmYXN0
L2Zvcm1zL2xhcmdlLXBhcnRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9m
b3Jtcy9sYXJnZS1wYXJ0cy5odG1sOiBBZGRlZC4KKwogMjAxMC0wNy0xMyAgQnJpYW4gV2VpbnN0
ZWluICA8YndlaW5zdGVpbkBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IFdpbmRvd3MgY2hlY2tv
dXRzIGJ5IHNob3J0ZW5pbmcgcGF0aHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2xhcmdlLXBhcnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFy
Z2UtcGFydHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBiN2JlZmFmNzFhMzRjMzVhMTgwODk0
MDIwOWQ5Y2M2NTAzMjMyZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2xhcmdlLXBhcnRzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitUZXN0IGZvciBCdWcg
NDE3MzcuIFBBU1MgdW5sZXNzIGNyYXNoLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9sYXJnZS1wYXJ0cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYXJnZS1wYXJ0
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmJlZGY1MDhjY2Q3NzI0MjgwMGY4OThhOWQxMDk2ZjNlMjNiZTNm
MDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhcmdlLXBhcnRz
Lmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPGh0bWw+Cis8aGVhZD4KKyAgPHRpdGxlPlRlc3QgZm9y
IEJ1ZyA0MTczNy4gUEFTUyB1bmxlc3MgY3Jhc2guPC90aXRsZT4KKzwvaGVhZD4KKzxzY3JpcHQ+
CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKzwvc2NyaXB0PgorPGJvZHk+Cis8cD5UZXN0IGZvciBCdWcgNDE3
MzcuIFBBU1MgdW5sZXNzIGNyYXNoLjwvcD4KKzxrZXlnZW4gc3R5bGU9J3BhZGRpbmc6IDEwMDAw
OyBib3JkZXItcmFkaXVzOiAxOyc+PC9rZXlnZW4+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGMwY2U3Y2Fl
OTA3M2FkODBlMTBlMzk2ZTI3NGRjNDc1ZDk3MWVmZDIuLmEwNzliZmIwOTI0OWIyMjVhOGU0NTUw
NjY2ZjAwMmU2NDI3MTgwNjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTAtMDctMDYgIE1PUklUQSBIYWpp
bWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXVtXaW5dIENyYXNoZXMgd2l0aCA8a2V5Z2VuPiB3
aXRoIGh1Z2UgcGFkZGluZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQxNzM3CisKKyAgICAgICAgV2hlbiB3ZSB0cnkgdG8gZHJhdyBhIGxhcmdlIHJl
Z2lvbiwgVHJhbnNwYXJlbmN5V2luIGNhbiBmYWlsIHRvCisgICAgICAgIGFsbG9jYXRlIGEgdGVt
cG9yYWwgYnVmZmVyIGZvciBjb21wb3NpdGlvbi4gIFRoaXMgY2hhbmdlIGFkZHMgYQorICAgICAg
ICBmYWxsYmFjayBwYXRoIHRvIFRoZW1lUGFpbnRlciB0byBoYW5kbGUgdGhlIGJ1ZmZlciBhbGxv
Y2F0aW9uCisgICAgICAgIGZhaWx1cmUuCisKKyAgICAgICAgVGhlbWVQYWludGVyIGlzIG5vIGxv
bmdlciBhIHN1YmNsYXNzIG9mIFRyYW5zcGFyZW5jeVdpbi4gIEl0IGhhcworICAgICAgICBhIFRy
YW5zcGFyZW5jeVdpbiBhcyBhIG1lbWJlci4KKworICAgICAgICBUZXN0OiBmYXN0L2Zvcm1zL2xh
cmdlLXBhcnRzLmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVt
V2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRoZW1lUGFpbnRlcik6IEFkZGVkIGEgZmFsbGJh
Y2sgcGF0aC4KKwogMjAxMC0wNy0xMyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVdpbi5jcHAgYi9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtV2luLmNwcAppbmRleCAxMTcyZjk2OTVkZjFkN2Rj
YTZhZjg2N2NlZGM0YzQ3YjY3ZTEwMzJiLi45N2E5MzUyM2I2YWExM2JmODRhMTY3MTg5MDJkZWFm
YmU4MWUxZTcyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9t
aXVtV2luLmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtV2lu
LmNwcApAQCAtNTcsMjAgKzU3LDM2IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVzcGFj
ZSB7Ci1jbGFzcyBUaGVtZVBhaW50ZXIgOiBwdWJsaWMgVHJhbnNwYXJlbmN5V2luIHsKK2NsYXNz
IFRoZW1lUGFpbnRlciB7CiBwdWJsaWM6CiAgICAgVGhlbWVQYWludGVyKEdyYXBoaWNzQ29udGV4
dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgcikKICAgICB7Ci0gICAgICAgIFRyYW5zZm9ybU1v
ZGUgdHJhbnNmb3JtTW9kZSA9IGdldFRyYW5zZm9ybU1vZGUoY29udGV4dC0+Z2V0Q1RNKCkpOwot
ICAgICAgICBpbml0KGNvbnRleHQsIGdldExheWVyTW9kZShjb250ZXh0LCB0cmFuc2Zvcm1Nb2Rl
KSwgdHJhbnNmb3JtTW9kZSwgcik7CisgICAgICAgIFRyYW5zcGFyZW5jeVdpbjo6VHJhbnNmb3Jt
TW9kZSB0cmFuc2Zvcm1Nb2RlID0gZ2V0VHJhbnNmb3JtTW9kZShjb250ZXh0LT5nZXRDVE0oKSk7
CisgICAgICAgIG1faGVscGVyLmluaXQoY29udGV4dCwgZ2V0TGF5ZXJNb2RlKGNvbnRleHQsIHRy
YW5zZm9ybU1vZGUpLCB0cmFuc2Zvcm1Nb2RlLCByKTsKKworICAgICAgICBpZiAoIW1faGVscGVy
LmNvbnRleHQoKSkgeworICAgICAgICAgICAgLy8gVHJhbnNwYXJlbmN5V2luIGRvZXNuJ3QgaGF2
ZSB3ZWxsLWRlZmluZWQgY29weS1jdG9yIG5vciBvcD0oKQorICAgICAgICAgICAgLy8gc28gd2Ug
cmUtaW5pdGlhbGl6ZSBpdCBpbnN0ZWFkIG9mIGFzc2lnbmluZyBhIGZyZXNoIGlzdGFuY2UuCisg
ICAgICAgICAgICAvLyBPbiB0aGUgcmVpbml0aWFsaXphdGlvbiwgd2UgZmFsbGJhY2sgdG8gdXNl
IE5vTGF5ZXIgbW9kZS4KKyAgICAgICAgICAgIC8vIE5vdGUgdGhhdCB0aGUgb3JpZ2luYWwgaW5p
dGlhbGl6YXRpb24gZmFpbHVyZSBjYW4gYmUgY2F1c2VkIGJ5CisgICAgICAgICAgICAvLyBhIGZh
aWx1cmUgb2YgYW4gaW50ZXJuYWwgYnVmZmVyIGFsbG9jYXRpb24gYW5kIE5vTGF5ZXIgbW9kZQor
ICAgICAgICAgICAgLy8gZG9lcyBub3QgaGF2ZSBzdWNoIGJ1ZmZlciBhbGxvY2F0aW9ucy4KKyAg
ICAgICAgICAgIG1faGVscGVyLn5UcmFuc3BhcmVuY3lXaW4oKTsKKyAgICAgICAgICAgIG5ldyAo
Jm1faGVscGVyKSBUcmFuc3BhcmVuY3lXaW4oKTsKKyAgICAgICAgICAgIG1faGVscGVyLmluaXQo
Y29udGV4dCwgVHJhbnNwYXJlbmN5V2luOjpOb0xheWVyLCB0cmFuc2Zvcm1Nb2RlLCByKTsKKyAg
ICAgICAgfQogICAgIH0KIAogICAgIH5UaGVtZVBhaW50ZXIoKQogICAgIHsKLSAgICAgICAgY29t
cG9zaXRlKCk7CisgICAgICAgIG1faGVscGVyLmNvbXBvc2l0ZSgpOwogICAgIH0KIAorICAgIEdy
YXBoaWNzQ29udGV4dCogY29udGV4dCgpIHsgcmV0dXJuIG1faGVscGVyLmNvbnRleHQoKTsgfQor
ICAgIGNvbnN0IEludFJlY3QmIGRyYXdSZWN0KCkgeyByZXR1cm4gbV9oZWxwZXIuZHJhd1JlY3Qo
KTsgfQorCiBwcml2YXRlOgorCiAgICAgc3RhdGljIGJvb2wgY2FudmFzSGFzTXVsdGlwbGVMYXll
cnMoY29uc3QgU2tDYW52YXMqIGNhbnZhcykKICAgICB7CiAgICAgICAgIFNrQ2FudmFzOjpMYXll
ckl0ZXIgaXRlcihjb25zdF9jYXN0PFNrQ2FudmFzKj4oY2FudmFzKSwgZmFsc2UpOwpAQCAtNzgs
MjUgKzk0LDI3IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiAhaXRlci5kb25lKCk7ICAvLyBU
aGVyZSBpcyA+IDEgbGF5ZXIgaWYgdGhlIHRoZSBpdGVyYXRvciBjYW4gc3RpbCBhZHZhbmNlLgog
ICAgIH0KIAotICAgIHN0YXRpYyBMYXllck1vZGUgZ2V0TGF5ZXJNb2RlKEdyYXBoaWNzQ29udGV4
dCogY29udGV4dCwgVHJhbnNmb3JtTW9kZSB0cmFuc2Zvcm1Nb2RlKQorICAgIHN0YXRpYyBUcmFu
c3BhcmVuY3lXaW46OkxheWVyTW9kZSBnZXRMYXllck1vZGUoR3JhcGhpY3NDb250ZXh0KiBjb250
ZXh0LCBUcmFuc3BhcmVuY3lXaW46OlRyYW5zZm9ybU1vZGUgdHJhbnNmb3JtTW9kZSkKICAgICB7
CiAgICAgICAgIGlmIChjb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKS0+aXNEcmF3aW5nVG9JbWFn
ZUJ1ZmZlcigpKSAgLy8gTWlnaHQgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kLgotICAgICAg
ICAgICAgcmV0dXJuIFdoaXRlTGF5ZXI7CisgICAgICAgICAgICByZXR1cm4gVHJhbnNwYXJlbmN5
V2luOjpXaGl0ZUxheWVyOwogICAgICAgICBlbHNlIGlmIChjYW52YXNIYXNNdWx0aXBsZUxheWVy
cyhjb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCkpKSAgLy8gTmVlZHMgYW50aWFs
aWFzaW5nIGhlbHAuCi0gICAgICAgICAgICByZXR1cm4gT3BhcXVlQ29tcG9zaXRlTGF5ZXI7Cisg
ICAgICAgICAgICByZXR1cm4gVHJhbnNwYXJlbmN5V2luOjpPcGFxdWVDb21wb3NpdGVMYXllcjsK
ICAgICAgICAgZWxzZSAgLy8gTm90aGluZyBpbnRlcmVzdGluZy4KLSAgICAgICAgICAgIHJldHVy
biB0cmFuc2Zvcm1Nb2RlID09IEtlZXBUcmFuc2Zvcm0gPyBOb0xheWVyIDogT3BhcXVlQ29tcG9z
aXRlTGF5ZXI7CisgICAgICAgICAgICByZXR1cm4gdHJhbnNmb3JtTW9kZSA9PSBUcmFuc3BhcmVu
Y3lXaW46OktlZXBUcmFuc2Zvcm0gPyBUcmFuc3BhcmVuY3lXaW46Ok5vTGF5ZXIgOiBUcmFuc3Bh
cmVuY3lXaW46Ok9wYXF1ZUNvbXBvc2l0ZUxheWVyOwogICAgIH0KIAotICAgIHN0YXRpYyBUcmFu
c2Zvcm1Nb2RlIGdldFRyYW5zZm9ybU1vZGUoY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBtYXRyaXgp
CisgICAgc3RhdGljIFRyYW5zcGFyZW5jeVdpbjo6VHJhbnNmb3JtTW9kZSBnZXRUcmFuc2Zvcm1N
b2RlKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgbWF0cml4KQogICAgIHsKICAgICAgICAgaWYgKG1h
dHJpeC5iKCkgIT0gMCB8fCBtYXRyaXguYygpICE9IDApICAvLyBTa2V3LgotICAgICAgICAgICAg
cmV0dXJuIFVudHJhbnNmb3JtOworICAgICAgICAgICAgcmV0dXJuIFRyYW5zcGFyZW5jeVdpbjo6
VW50cmFuc2Zvcm07CiAgICAgICAgIGVsc2UgaWYgKG1hdHJpeC5hKCkgIT0gMS4wIHx8IG1hdHJp
eC5kKCkgIT0gMS4wKSAgLy8gU2NhbGUuCi0gICAgICAgICAgICByZXR1cm4gU2NhbGVUcmFuc2Zv
cm07CisgICAgICAgICAgICByZXR1cm4gVHJhbnNwYXJlbmN5V2luOjpTY2FsZVRyYW5zZm9ybTsK
ICAgICAgICAgZWxzZSAgLy8gTm90aGluZyBpbnRlcmVzdGluZy4KLSAgICAgICAgICAgIHJldHVy
biBLZWVwVHJhbnNmb3JtOworICAgICAgICAgICAgcmV0dXJuIFRyYW5zcGFyZW5jeVdpbjo6S2Vl
cFRyYW5zZm9ybTsKICAgICB9CisKKyAgICBUcmFuc3BhcmVuY3lXaW4gbV9oZWxwZXI7CiB9Owog
CiB9ICAvLyBuYW1lc3BhY2UK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61595</attachid>
            <date>2010-07-14 18:44:26 -0700</date>
            <delta_ts>2010-07-14 21:45:29 -0700</delta_ts>
            <desc>patch to land</desc>
            <filename>bug-41737-20100715104424.patch</filename>
            <type>text/plain</type>
            <size>6137</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0OWI3Y2MyZjFmMDVjYzI0Y2M1MTY5NDdiYTIwZDcyYWQzNmYwOTJmLi5kMjIwMTA5
NzFkMDM3NGU4YWQxYTFlZjZiYmQwZjEwMmEzNjVjYTk5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMDctMDYgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXVtXaW5d
IENyYXNoZXMgd2l0aCA8a2V5Z2VuPiB3aXRoIGh1Z2UgcGFkZGluZy4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxNzM3CisKKyAgICAgICAgKiBmYXN0
L2Zvcm1zL2xhcmdlLXBhcnRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9m
b3Jtcy9sYXJnZS1wYXJ0cy5odG1sOiBBZGRlZC4KKwogMjAxMC0wNy0xNCAgRXJpYyBTZWlkZWwg
IDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFyZ2UtcGFydHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYXJnZS1wYXJ0cy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMGI3YmVmYWY3MWEzNGMzNWExODA4OTQwMjA5ZDljYzY1MDMyMzJmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFyZ2UtcGFydHMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEgQEAKK1Rlc3QgZm9yIEJ1ZyA0MTczNy4gUEFTUyB1bmxlc3MgY3Jhc2guCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhcmdlLXBhcnRzLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2xhcmdlLXBhcnRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmVkZjUwOGNj
ZDc3MjQyODAwZjg5OGE5ZDEwOTZmM2UyM2JlM2YwOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvbGFyZ2UtcGFydHMuaHRtbApAQCAtMCwwICsxLDEzIEBACis8aHRt
bD4KKzxoZWFkPgorICA8dGl0bGU+VGVzdCBmb3IgQnVnIDQxNzM3LiBQQVNTIHVubGVzcyBjcmFz
aC48L3RpdGxlPgorPC9oZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworPC9zY3JpcHQ+
Cis8Ym9keT4KKzxwPlRlc3QgZm9yIEJ1ZyA0MTczNy4gUEFTUyB1bmxlc3MgY3Jhc2guPC9wPgor
PGtleWdlbiBzdHlsZT0ncGFkZGluZzogMTAwMDA7IGJvcmRlci1yYWRpdXM6IDE7Jz48L2tleWdl
bj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggMDJjZjdhMmVkNzE5MTQ1YTkxNDgwNDM0YzI2ZDVlMWVhYzlh
NmQwOC4uMGU0N2U2Y2I4OGM3ZDAyNDZiZDM0YTY0YzU5ZTc5YWQ0ZGZjZDFlYSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
MyBAQAorMjAxMC0wNy0wNiAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbQ2hyb21pdW1d
W1dpbl0gQ3Jhc2hlcyB3aXRoIDxrZXlnZW4+IHdpdGggaHVnZSBwYWRkaW5nLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE3MzcKKworICAgICAgICBX
aGVuIHdlIHRyeSB0byBkcmF3IGEgbGFyZ2UgcmVnaW9uLCBUcmFuc3BhcmVuY3lXaW4gY2FuIGZh
aWwgdG8KKyAgICAgICAgYWxsb2NhdGUgYSB0ZW1wb3JhbCBidWZmZXIgZm9yIGNvbXBvc2l0aW9u
LiAgVGhpcyBjaGFuZ2UgYWRkcyBhCisgICAgICAgIGZhbGxiYWNrIHBhdGggdG8gVGhlbWVQYWlu
dGVyIHRvIGhhbmRsZSB0aGUgYnVmZmVyIGFsbG9jYXRpb24KKyAgICAgICAgZmFpbHVyZS4KKwor
ICAgICAgICBUaGVtZVBhaW50ZXIgaXMgbm8gbG9uZ2VyIGEgc3ViY2xhc3Mgb2YgVHJhbnNwYXJl
bmN5V2luLiAgSXQgaGFzCisgICAgICAgIGEgVHJhbnNwYXJlbmN5V2luIGFzIGEgbWVtYmVyLgor
CisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvbGFyZ2UtcGFydHMuaHRtbAorCisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1XaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
VGhlbWVQYWludGVyKTogQWRkZWQgYSBmYWxsYmFjayBwYXRoLgorCiAyMDEwLTA3LTE0ICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBT
ZWlkZWwuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVt
V2luLmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1XaW4uY3BwCmlu
ZGV4IDExNzJmOTY5NWRmMWQ3ZGNhNmFmODY3Y2VkYzRjNDdiNjdlMTAzMmIuLjk3YTkzNTIzYjZh
YTEzYmY4NGExNjcxODkwMmRlYWZiZTgxZTFlNzIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lQ2hyb21pdW1XaW4uY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lQ2hyb21pdW1XaW4uY3BwCkBAIC01NywyMCArNTcsMzYgQEAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogbmFtZXNwYWNlIHsKLWNsYXNzIFRoZW1lUGFpbnRlciA6IHB1YmxpYyBUcmFu
c3BhcmVuY3lXaW4geworY2xhc3MgVGhlbWVQYWludGVyIHsKIHB1YmxpYzoKICAgICBUaGVtZVBh
aW50ZXIoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiByKQogICAgIHsK
LSAgICAgICAgVHJhbnNmb3JtTW9kZSB0cmFuc2Zvcm1Nb2RlID0gZ2V0VHJhbnNmb3JtTW9kZShj
b250ZXh0LT5nZXRDVE0oKSk7Ci0gICAgICAgIGluaXQoY29udGV4dCwgZ2V0TGF5ZXJNb2RlKGNv
bnRleHQsIHRyYW5zZm9ybU1vZGUpLCB0cmFuc2Zvcm1Nb2RlLCByKTsKKyAgICAgICAgVHJhbnNw
YXJlbmN5V2luOjpUcmFuc2Zvcm1Nb2RlIHRyYW5zZm9ybU1vZGUgPSBnZXRUcmFuc2Zvcm1Nb2Rl
KGNvbnRleHQtPmdldENUTSgpKTsKKyAgICAgICAgbV9oZWxwZXIuaW5pdChjb250ZXh0LCBnZXRM
YXllck1vZGUoY29udGV4dCwgdHJhbnNmb3JtTW9kZSksIHRyYW5zZm9ybU1vZGUsIHIpOworCisg
ICAgICAgIGlmICghbV9oZWxwZXIuY29udGV4dCgpKSB7CisgICAgICAgICAgICAvLyBUcmFuc3Bh
cmVuY3lXaW4gZG9lc24ndCBoYXZlIHdlbGwtZGVmaW5lZCBjb3B5LWN0b3Igbm9yIG9wPSgpCisg
ICAgICAgICAgICAvLyBzbyB3ZSByZS1pbml0aWFsaXplIGl0IGluc3RlYWQgb2YgYXNzaWduaW5n
IGEgZnJlc2ggaXN0YW5jZS4KKyAgICAgICAgICAgIC8vIE9uIHRoZSByZWluaXRpYWxpemF0aW9u
LCB3ZSBmYWxsYmFjayB0byB1c2UgTm9MYXllciBtb2RlLgorICAgICAgICAgICAgLy8gTm90ZSB0
aGF0IHRoZSBvcmlnaW5hbCBpbml0aWFsaXphdGlvbiBmYWlsdXJlIGNhbiBiZSBjYXVzZWQgYnkK
KyAgICAgICAgICAgIC8vIGEgZmFpbHVyZSBvZiBhbiBpbnRlcm5hbCBidWZmZXIgYWxsb2NhdGlv
biBhbmQgTm9MYXllciBtb2RlCisgICAgICAgICAgICAvLyBkb2VzIG5vdCBoYXZlIHN1Y2ggYnVm
ZmVyIGFsbG9jYXRpb25zLgorICAgICAgICAgICAgbV9oZWxwZXIuflRyYW5zcGFyZW5jeVdpbigp
OworICAgICAgICAgICAgbmV3ICgmbV9oZWxwZXIpIFRyYW5zcGFyZW5jeVdpbigpOworICAgICAg
ICAgICAgbV9oZWxwZXIuaW5pdChjb250ZXh0LCBUcmFuc3BhcmVuY3lXaW46Ok5vTGF5ZXIsIHRy
YW5zZm9ybU1vZGUsIHIpOworICAgICAgICB9CiAgICAgfQogCiAgICAgflRoZW1lUGFpbnRlcigp
CiAgICAgewotICAgICAgICBjb21wb3NpdGUoKTsKKyAgICAgICAgbV9oZWxwZXIuY29tcG9zaXRl
KCk7CiAgICAgfQogCisgICAgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0KCkgeyByZXR1cm4gbV9o
ZWxwZXIuY29udGV4dCgpOyB9CisgICAgY29uc3QgSW50UmVjdCYgZHJhd1JlY3QoKSB7IHJldHVy
biBtX2hlbHBlci5kcmF3UmVjdCgpOyB9CisKIHByaXZhdGU6CisKICAgICBzdGF0aWMgYm9vbCBj
YW52YXNIYXNNdWx0aXBsZUxheWVycyhjb25zdCBTa0NhbnZhcyogY2FudmFzKQogICAgIHsKICAg
ICAgICAgU2tDYW52YXM6OkxheWVySXRlciBpdGVyKGNvbnN0X2Nhc3Q8U2tDYW52YXMqPihjYW52
YXMpLCBmYWxzZSk7CkBAIC03OCwyNSArOTQsMjcgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJu
ICFpdGVyLmRvbmUoKTsgIC8vIFRoZXJlIGlzID4gMSBsYXllciBpZiB0aGUgdGhlIGl0ZXJhdG9y
IGNhbiBzdGlsIGFkdmFuY2UuCiAgICAgfQogCi0gICAgc3RhdGljIExheWVyTW9kZSBnZXRMYXll
ck1vZGUoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBUcmFuc2Zvcm1Nb2RlIHRyYW5zZm9ybU1v
ZGUpCisgICAgc3RhdGljIFRyYW5zcGFyZW5jeVdpbjo6TGF5ZXJNb2RlIGdldExheWVyTW9kZShH
cmFwaGljc0NvbnRleHQqIGNvbnRleHQsIFRyYW5zcGFyZW5jeVdpbjo6VHJhbnNmb3JtTW9kZSB0
cmFuc2Zvcm1Nb2RlKQogICAgIHsKICAgICAgICAgaWYgKGNvbnRleHQtPnBsYXRmb3JtQ29udGV4
dCgpLT5pc0RyYXdpbmdUb0ltYWdlQnVmZmVyKCkpICAvLyBNaWdodCBoYXZlIHRyYW5zcGFyZW50
IGJhY2tncm91bmQuCi0gICAgICAgICAgICByZXR1cm4gV2hpdGVMYXllcjsKKyAgICAgICAgICAg
IHJldHVybiBUcmFuc3BhcmVuY3lXaW46OldoaXRlTGF5ZXI7CiAgICAgICAgIGVsc2UgaWYgKGNh
bnZhc0hhc011bHRpcGxlTGF5ZXJzKGNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5jYW52YXMo
KSkpICAvLyBOZWVkcyBhbnRpYWxpYXNpbmcgaGVscC4KLSAgICAgICAgICAgIHJldHVybiBPcGFx
dWVDb21wb3NpdGVMYXllcjsKKyAgICAgICAgICAgIHJldHVybiBUcmFuc3BhcmVuY3lXaW46Ok9w
YXF1ZUNvbXBvc2l0ZUxheWVyOwogICAgICAgICBlbHNlICAvLyBOb3RoaW5nIGludGVyZXN0aW5n
LgotICAgICAgICAgICAgcmV0dXJuIHRyYW5zZm9ybU1vZGUgPT0gS2VlcFRyYW5zZm9ybSA/IE5v
TGF5ZXIgOiBPcGFxdWVDb21wb3NpdGVMYXllcjsKKyAgICAgICAgICAgIHJldHVybiB0cmFuc2Zv
cm1Nb2RlID09IFRyYW5zcGFyZW5jeVdpbjo6S2VlcFRyYW5zZm9ybSA/IFRyYW5zcGFyZW5jeVdp
bjo6Tm9MYXllciA6IFRyYW5zcGFyZW5jeVdpbjo6T3BhcXVlQ29tcG9zaXRlTGF5ZXI7CiAgICAg
fQogCi0gICAgc3RhdGljIFRyYW5zZm9ybU1vZGUgZ2V0VHJhbnNmb3JtTW9kZShjb25zdCBBZmZp
bmVUcmFuc2Zvcm0mIG1hdHJpeCkKKyAgICBzdGF0aWMgVHJhbnNwYXJlbmN5V2luOjpUcmFuc2Zv
cm1Nb2RlIGdldFRyYW5zZm9ybU1vZGUoY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBtYXRyaXgpCiAg
ICAgewogICAgICAgICBpZiAobWF0cml4LmIoKSAhPSAwIHx8IG1hdHJpeC5jKCkgIT0gMCkgIC8v
IFNrZXcuCi0gICAgICAgICAgICByZXR1cm4gVW50cmFuc2Zvcm07CisgICAgICAgICAgICByZXR1
cm4gVHJhbnNwYXJlbmN5V2luOjpVbnRyYW5zZm9ybTsKICAgICAgICAgZWxzZSBpZiAobWF0cml4
LmEoKSAhPSAxLjAgfHwgbWF0cml4LmQoKSAhPSAxLjApICAvLyBTY2FsZS4KLSAgICAgICAgICAg
IHJldHVybiBTY2FsZVRyYW5zZm9ybTsKKyAgICAgICAgICAgIHJldHVybiBUcmFuc3BhcmVuY3lX
aW46OlNjYWxlVHJhbnNmb3JtOwogICAgICAgICBlbHNlICAvLyBOb3RoaW5nIGludGVyZXN0aW5n
LgotICAgICAgICAgICAgcmV0dXJuIEtlZXBUcmFuc2Zvcm07CisgICAgICAgICAgICByZXR1cm4g
VHJhbnNwYXJlbmN5V2luOjpLZWVwVHJhbnNmb3JtOwogICAgIH0KKworICAgIFRyYW5zcGFyZW5j
eVdpbiBtX2hlbHBlcjsKIH07CiAKIH0gIC8vIG5hbWVzcGFjZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61606</attachid>
            <date>2010-07-14 21:45:34 -0700</date>
            <delta_ts>2010-07-15 20:33:47 -0700</delta_ts>
            <desc>patch to land (retry)</desc>
            <filename>bug-41737-20100715134532.patch</filename>
            <type>text/plain</type>
            <size>6131</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0OWI3Y2MyZjFmMDVjYzI0Y2M1MTY5NDdiYTIwZDcyYWQzNmYwOTJmLi41YzI5ZjYz
MGE1OTY4Y2ExZDAyZGUxODRlOGQzMDQ5YTlhN2ZhYWRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMDctMDYgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgRGF2aWQgTGV2aW4uCisKKyAgICAgICAgW0Nocm9taXVtXVtXaW5dIENy
YXNoZXMgd2l0aCA8a2V5Z2VuPiB3aXRoIGh1Z2UgcGFkZGluZy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxNzM3CisKKyAgICAgICAgKiBmYXN0L2Zv
cm1zL2xhcmdlLXBhcnRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jt
cy9sYXJnZS1wYXJ0cy5odG1sOiBBZGRlZC4KKwogMjAxMC0wNy0xNCAgRXJpYyBTZWlkZWwgIDxl
cmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFyZ2UtcGFydHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYXJnZS1wYXJ0cy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMGI3YmVmYWY3MWEzNGMzNWExODA4OTQwMjA5ZDljYzY1MDMyMzJmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFyZ2UtcGFydHMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEgQEAKK1Rlc3QgZm9yIEJ1ZyA0MTczNy4gUEFTUyB1bmxlc3MgY3Jhc2guCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhcmdlLXBhcnRzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2xhcmdlLXBhcnRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmVkZjUwOGNjZDc3
MjQyODAwZjg5OGE5ZDEwOTZmM2UyM2JlM2YwOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvbGFyZ2UtcGFydHMuaHRtbApAQCAtMCwwICsxLDEzIEBACis8aHRtbD4K
KzxoZWFkPgorICA8dGl0bGU+VGVzdCBmb3IgQnVnIDQxNzM3LiBQQVNTIHVubGVzcyBjcmFzaC48
L3RpdGxlPgorPC9oZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworPC9zY3JpcHQ+Cis8
Ym9keT4KKzxwPlRlc3QgZm9yIEJ1ZyA0MTczNy4gUEFTUyB1bmxlc3MgY3Jhc2guPC9wPgorPGtl
eWdlbiBzdHlsZT0ncGFkZGluZzogMTAwMDA7IGJvcmRlci1yYWRpdXM6IDE7Jz48L2tleWdlbj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggMDJjZjdhMmVkNzE5MTQ1YTkxNDgwNDM0YzI2ZDVlMWVhYzlhNmQw
OC4uZWYyMGM3YzA2ZjhhZWEzMmNlOTgzNTg1NDI2ZmE1YWE3YWE1MTE1ZSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBA
QAorMjAxMC0wNy0wNiAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBEYXZpZCBMZXZpbi4KKworICAgICAgICBbQ2hyb21pdW1dW1dpbl0g
Q3Jhc2hlcyB3aXRoIDxrZXlnZW4+IHdpdGggaHVnZSBwYWRkaW5nLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE3MzcKKworICAgICAgICBXaGVuIHdl
IHRyeSB0byBkcmF3IGEgbGFyZ2UgcmVnaW9uLCBUcmFuc3BhcmVuY3lXaW4gY2FuIGZhaWwgdG8K
KyAgICAgICAgYWxsb2NhdGUgYSB0ZW1wb3JhbCBidWZmZXIgZm9yIGNvbXBvc2l0aW9uLiAgVGhp
cyBjaGFuZ2UgYWRkcyBhCisgICAgICAgIGZhbGxiYWNrIHBhdGggdG8gVGhlbWVQYWludGVyIHRv
IGhhbmRsZSB0aGUgYnVmZmVyIGFsbG9jYXRpb24KKyAgICAgICAgZmFpbHVyZS4KKworICAgICAg
ICBUaGVtZVBhaW50ZXIgaXMgbm8gbG9uZ2VyIGEgc3ViY2xhc3Mgb2YgVHJhbnNwYXJlbmN5V2lu
LiAgSXQgaGFzCisgICAgICAgIGEgVHJhbnNwYXJlbmN5V2luIGFzIGEgbWVtYmVyLgorCisgICAg
ICAgIFRlc3Q6IGZhc3QvZm9ybXMvbGFyZ2UtcGFydHMuaHRtbAorCisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclRoZW1lQ2hyb21pdW1XaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGhlbWVQ
YWludGVyKTogQWRkZWQgYSBmYWxsYmFjayBwYXRoLgorCiAyMDEwLTA3LTE0ICBBZGFtIEJhcnRo
ICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwu
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtV2luLmNw
cCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1XaW4uY3BwCmluZGV4IDEx
NzJmOTY5NWRmMWQ3ZGNhNmFmODY3Y2VkYzRjNDdiNjdlMTAzMmIuLjk3YTkzNTIzYjZhYTEzYmY4
NGExNjcxODkwMmRlYWZiZTgxZTFlNzIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lQ2hyb21pdW1XaW4uY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lQ2hyb21pdW1XaW4uY3BwCkBAIC01NywyMCArNTcsMzYgQEAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogbmFtZXNwYWNlIHsKLWNsYXNzIFRoZW1lUGFpbnRlciA6IHB1YmxpYyBUcmFuc3BhcmVu
Y3lXaW4geworY2xhc3MgVGhlbWVQYWludGVyIHsKIHB1YmxpYzoKICAgICBUaGVtZVBhaW50ZXIo
R3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiByKQogICAgIHsKLSAgICAg
ICAgVHJhbnNmb3JtTW9kZSB0cmFuc2Zvcm1Nb2RlID0gZ2V0VHJhbnNmb3JtTW9kZShjb250ZXh0
LT5nZXRDVE0oKSk7Ci0gICAgICAgIGluaXQoY29udGV4dCwgZ2V0TGF5ZXJNb2RlKGNvbnRleHQs
IHRyYW5zZm9ybU1vZGUpLCB0cmFuc2Zvcm1Nb2RlLCByKTsKKyAgICAgICAgVHJhbnNwYXJlbmN5
V2luOjpUcmFuc2Zvcm1Nb2RlIHRyYW5zZm9ybU1vZGUgPSBnZXRUcmFuc2Zvcm1Nb2RlKGNvbnRl
eHQtPmdldENUTSgpKTsKKyAgICAgICAgbV9oZWxwZXIuaW5pdChjb250ZXh0LCBnZXRMYXllck1v
ZGUoY29udGV4dCwgdHJhbnNmb3JtTW9kZSksIHRyYW5zZm9ybU1vZGUsIHIpOworCisgICAgICAg
IGlmICghbV9oZWxwZXIuY29udGV4dCgpKSB7CisgICAgICAgICAgICAvLyBUcmFuc3BhcmVuY3lX
aW4gZG9lc24ndCBoYXZlIHdlbGwtZGVmaW5lZCBjb3B5LWN0b3Igbm9yIG9wPSgpCisgICAgICAg
ICAgICAvLyBzbyB3ZSByZS1pbml0aWFsaXplIGl0IGluc3RlYWQgb2YgYXNzaWduaW5nIGEgZnJl
c2ggaXN0YW5jZS4KKyAgICAgICAgICAgIC8vIE9uIHRoZSByZWluaXRpYWxpemF0aW9uLCB3ZSBm
YWxsYmFjayB0byB1c2UgTm9MYXllciBtb2RlLgorICAgICAgICAgICAgLy8gTm90ZSB0aGF0IHRo
ZSBvcmlnaW5hbCBpbml0aWFsaXphdGlvbiBmYWlsdXJlIGNhbiBiZSBjYXVzZWQgYnkKKyAgICAg
ICAgICAgIC8vIGEgZmFpbHVyZSBvZiBhbiBpbnRlcm5hbCBidWZmZXIgYWxsb2NhdGlvbiBhbmQg
Tm9MYXllciBtb2RlCisgICAgICAgICAgICAvLyBkb2VzIG5vdCBoYXZlIHN1Y2ggYnVmZmVyIGFs
bG9jYXRpb25zLgorICAgICAgICAgICAgbV9oZWxwZXIuflRyYW5zcGFyZW5jeVdpbigpOworICAg
ICAgICAgICAgbmV3ICgmbV9oZWxwZXIpIFRyYW5zcGFyZW5jeVdpbigpOworICAgICAgICAgICAg
bV9oZWxwZXIuaW5pdChjb250ZXh0LCBUcmFuc3BhcmVuY3lXaW46Ok5vTGF5ZXIsIHRyYW5zZm9y
bU1vZGUsIHIpOworICAgICAgICB9CiAgICAgfQogCiAgICAgflRoZW1lUGFpbnRlcigpCiAgICAg
ewotICAgICAgICBjb21wb3NpdGUoKTsKKyAgICAgICAgbV9oZWxwZXIuY29tcG9zaXRlKCk7CiAg
ICAgfQogCisgICAgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0KCkgeyByZXR1cm4gbV9oZWxwZXIu
Y29udGV4dCgpOyB9CisgICAgY29uc3QgSW50UmVjdCYgZHJhd1JlY3QoKSB7IHJldHVybiBtX2hl
bHBlci5kcmF3UmVjdCgpOyB9CisKIHByaXZhdGU6CisKICAgICBzdGF0aWMgYm9vbCBjYW52YXNI
YXNNdWx0aXBsZUxheWVycyhjb25zdCBTa0NhbnZhcyogY2FudmFzKQogICAgIHsKICAgICAgICAg
U2tDYW52YXM6OkxheWVySXRlciBpdGVyKGNvbnN0X2Nhc3Q8U2tDYW52YXMqPihjYW52YXMpLCBm
YWxzZSk7CkBAIC03OCwyNSArOTQsMjcgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuICFpdGVy
LmRvbmUoKTsgIC8vIFRoZXJlIGlzID4gMSBsYXllciBpZiB0aGUgdGhlIGl0ZXJhdG9yIGNhbiBz
dGlsIGFkdmFuY2UuCiAgICAgfQogCi0gICAgc3RhdGljIExheWVyTW9kZSBnZXRMYXllck1vZGUo
R3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBUcmFuc2Zvcm1Nb2RlIHRyYW5zZm9ybU1vZGUpCisg
ICAgc3RhdGljIFRyYW5zcGFyZW5jeVdpbjo6TGF5ZXJNb2RlIGdldExheWVyTW9kZShHcmFwaGlj
c0NvbnRleHQqIGNvbnRleHQsIFRyYW5zcGFyZW5jeVdpbjo6VHJhbnNmb3JtTW9kZSB0cmFuc2Zv
cm1Nb2RlKQogICAgIHsKICAgICAgICAgaWYgKGNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5p
c0RyYXdpbmdUb0ltYWdlQnVmZmVyKCkpICAvLyBNaWdodCBoYXZlIHRyYW5zcGFyZW50IGJhY2tn
cm91bmQuCi0gICAgICAgICAgICByZXR1cm4gV2hpdGVMYXllcjsKKyAgICAgICAgICAgIHJldHVy
biBUcmFuc3BhcmVuY3lXaW46OldoaXRlTGF5ZXI7CiAgICAgICAgIGVsc2UgaWYgKGNhbnZhc0hh
c011bHRpcGxlTGF5ZXJzKGNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5jYW52YXMoKSkpICAv
LyBOZWVkcyBhbnRpYWxpYXNpbmcgaGVscC4KLSAgICAgICAgICAgIHJldHVybiBPcGFxdWVDb21w
b3NpdGVMYXllcjsKKyAgICAgICAgICAgIHJldHVybiBUcmFuc3BhcmVuY3lXaW46Ok9wYXF1ZUNv
bXBvc2l0ZUxheWVyOwogICAgICAgICBlbHNlICAvLyBOb3RoaW5nIGludGVyZXN0aW5nLgotICAg
ICAgICAgICAgcmV0dXJuIHRyYW5zZm9ybU1vZGUgPT0gS2VlcFRyYW5zZm9ybSA/IE5vTGF5ZXIg
OiBPcGFxdWVDb21wb3NpdGVMYXllcjsKKyAgICAgICAgICAgIHJldHVybiB0cmFuc2Zvcm1Nb2Rl
ID09IFRyYW5zcGFyZW5jeVdpbjo6S2VlcFRyYW5zZm9ybSA/IFRyYW5zcGFyZW5jeVdpbjo6Tm9M
YXllciA6IFRyYW5zcGFyZW5jeVdpbjo6T3BhcXVlQ29tcG9zaXRlTGF5ZXI7CiAgICAgfQogCi0g
ICAgc3RhdGljIFRyYW5zZm9ybU1vZGUgZ2V0VHJhbnNmb3JtTW9kZShjb25zdCBBZmZpbmVUcmFu
c2Zvcm0mIG1hdHJpeCkKKyAgICBzdGF0aWMgVHJhbnNwYXJlbmN5V2luOjpUcmFuc2Zvcm1Nb2Rl
IGdldFRyYW5zZm9ybU1vZGUoY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBtYXRyaXgpCiAgICAgewog
ICAgICAgICBpZiAobWF0cml4LmIoKSAhPSAwIHx8IG1hdHJpeC5jKCkgIT0gMCkgIC8vIFNrZXcu
Ci0gICAgICAgICAgICByZXR1cm4gVW50cmFuc2Zvcm07CisgICAgICAgICAgICByZXR1cm4gVHJh
bnNwYXJlbmN5V2luOjpVbnRyYW5zZm9ybTsKICAgICAgICAgZWxzZSBpZiAobWF0cml4LmEoKSAh
PSAxLjAgfHwgbWF0cml4LmQoKSAhPSAxLjApICAvLyBTY2FsZS4KLSAgICAgICAgICAgIHJldHVy
biBTY2FsZVRyYW5zZm9ybTsKKyAgICAgICAgICAgIHJldHVybiBUcmFuc3BhcmVuY3lXaW46OlNj
YWxlVHJhbnNmb3JtOwogICAgICAgICBlbHNlICAvLyBOb3RoaW5nIGludGVyZXN0aW5nLgotICAg
ICAgICAgICAgcmV0dXJuIEtlZXBUcmFuc2Zvcm07CisgICAgICAgICAgICByZXR1cm4gVHJhbnNw
YXJlbmN5V2luOjpLZWVwVHJhbnNmb3JtOwogICAgIH0KKworICAgIFRyYW5zcGFyZW5jeVdpbiBt
X2hlbHBlcjsKIH07CiAKIH0gIC8vIG5hbWVzcGFjZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61761</attachid>
            <date>2010-07-15 20:33:59 -0700</date>
            <delta_ts>2010-07-15 20:53:40 -0700</delta_ts>
            <desc>last patch was broken during a patch juggling. fixed and retrying</desc>
            <filename>bug-41737-20100716123354.patch</filename>
            <type>text/plain</type>
            <size>6138</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1ZDZiM2Q3YjQ5Njg5Mzg3ZDc1YTcwYWQ0NzJlYWFmZjY1MDRkMDQ3Li4xNGQzZTM1
YmUyMzkwMDBiOTY5NjkxZWRmYTIzNTQ5ZjY4OTA5ZDYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMDctMDYgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgRGF2aWQgTGV2aW4uCisKKyAgICAgICAgW0Nocm9taXVtXVtXaW5dIENy
YXNoZXMgd2l0aCA8a2V5Z2VuPiB3aXRoIGh1Z2UgcGFkZGluZy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxNzM3CisKKyAgICAgICAgKiBmYXN0L2Zv
cm1zL2xhcmdlLXBhcnRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jt
cy9sYXJnZS1wYXJ0cy5odG1sOiBBZGRlZC4KKwogMjAxMC0wNy0xMyAgWmhlbnlhbyBNbyAgPHpt
b0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5hdGUgQ2hhcGluLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYXJnZS1wYXJ0cy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhcmdlLXBhcnRzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YjRjNjljY2ZmOTQ1MTBlYTljM2U3MmFiNTdjZjFjYTgzZGJjYzI1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYXJnZS1wYXJ0cy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzIEBACitUZXN0IGZvciBCdWcgNDE3MzcuIFBBU1MgdW5sZXNzIGNyYXNoLgorCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFyZ2UtcGFydHMuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFyZ2UtcGFydHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZWRmNTA4
Y2NkNzcyNDI4MDBmODk4YTlkMTA5NmYzZTIzYmUzZjA4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYXJnZS1wYXJ0cy5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzxo
dG1sPgorPGhlYWQ+CisgIDx0aXRsZT5UZXN0IGZvciBCdWcgNDE3MzcuIFBBU1MgdW5sZXNzIGNy
YXNoLjwvdGl0bGU+Cis8L2hlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cis8L3Njcmlw
dD4KKzxib2R5PgorPHA+VGVzdCBmb3IgQnVnIDQxNzM3LiBQQVNTIHVubGVzcyBjcmFzaC48L3A+
Cis8a2V5Z2VuIHN0eWxlPSdwYWRkaW5nOiAxMDAwMDsgYm9yZGVyLXJhZGl1czogMTsnPjwva2V5
Z2VuPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyMDlhNDU0OGEzM2YxM2M0NDUwOTk0MWJmM2I2NDYwZDM0
MmE4MTI3Li42YTkxNmMwMDM5YzQ2OTJkMzVjOTgxNmZhZGU5MGYxZmQxM2YyMjY1IDEwMDY0NAot
LS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIzIEBACisyMDEwLTA3LTA2ICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IERhdmlkIExldmluLgorCisgICAgICAgIFtDaHJvbWl1bV1b
V2luXSBDcmFzaGVzIHdpdGggPGtleWdlbj4gd2l0aCBodWdlIHBhZGRpbmcuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTczNworCisgICAgICAgIFdo
ZW4gd2UgdHJ5IHRvIGRyYXcgYSBsYXJnZSByZWdpb24sIFRyYW5zcGFyZW5jeVdpbiBjYW4gZmFp
bCB0bworICAgICAgICBhbGxvY2F0ZSBhIHRlbXBvcmFsIGJ1ZmZlciBmb3IgY29tcG9zaXRpb24u
ICBUaGlzIGNoYW5nZSBhZGRzIGEKKyAgICAgICAgZmFsbGJhY2sgcGF0aCB0byBUaGVtZVBhaW50
ZXIgdG8gaGFuZGxlIHRoZSBidWZmZXIgYWxsb2NhdGlvbgorICAgICAgICBmYWlsdXJlLgorCisg
ICAgICAgIFRoZW1lUGFpbnRlciBpcyBubyBsb25nZXIgYSBzdWJjbGFzcyBvZiBUcmFuc3BhcmVu
Y3lXaW4uICBJdCBoYXMKKyAgICAgICAgYSBUcmFuc3BhcmVuY3lXaW4gYXMgYSBtZW1iZXIuCisK
KyAgICAgICAgVGVzdDogZmFzdC9mb3Jtcy9sYXJnZS1wYXJ0cy5odG1sCisKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpU
aGVtZVBhaW50ZXIpOiBBZGRlZCBhIGZhbGxiYWNrIHBhdGguCisKIDIwMTAtMDctMTUgIFl1em8g
RnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1
bVdpbi5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtV2luLmNwcApp
bmRleCAxMTcyZjk2OTVkZjFkN2RjYTZhZjg2N2NlZGM0YzQ3YjY3ZTEwMzJiLi45N2E5MzUyM2I2
YWExM2JmODRhMTY3MTg5MDJkZWFmYmU4MWUxZTcyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZUNocm9taXVtV2luLmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUNocm9taXVtV2luLmNwcApAQCAtNTcsMjAgKzU3LDM2IEBACiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIG5hbWVzcGFjZSB7Ci1jbGFzcyBUaGVtZVBhaW50ZXIgOiBwdWJsaWMgVHJh
bnNwYXJlbmN5V2luIHsKK2NsYXNzIFRoZW1lUGFpbnRlciB7CiBwdWJsaWM6CiAgICAgVGhlbWVQ
YWludGVyKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgcikKICAgICB7
Ci0gICAgICAgIFRyYW5zZm9ybU1vZGUgdHJhbnNmb3JtTW9kZSA9IGdldFRyYW5zZm9ybU1vZGUo
Y29udGV4dC0+Z2V0Q1RNKCkpOwotICAgICAgICBpbml0KGNvbnRleHQsIGdldExheWVyTW9kZShj
b250ZXh0LCB0cmFuc2Zvcm1Nb2RlKSwgdHJhbnNmb3JtTW9kZSwgcik7CisgICAgICAgIFRyYW5z
cGFyZW5jeVdpbjo6VHJhbnNmb3JtTW9kZSB0cmFuc2Zvcm1Nb2RlID0gZ2V0VHJhbnNmb3JtTW9k
ZShjb250ZXh0LT5nZXRDVE0oKSk7CisgICAgICAgIG1faGVscGVyLmluaXQoY29udGV4dCwgZ2V0
TGF5ZXJNb2RlKGNvbnRleHQsIHRyYW5zZm9ybU1vZGUpLCB0cmFuc2Zvcm1Nb2RlLCByKTsKKwor
ICAgICAgICBpZiAoIW1faGVscGVyLmNvbnRleHQoKSkgeworICAgICAgICAgICAgLy8gVHJhbnNw
YXJlbmN5V2luIGRvZXNuJ3QgaGF2ZSB3ZWxsLWRlZmluZWQgY29weS1jdG9yIG5vciBvcD0oKQor
ICAgICAgICAgICAgLy8gc28gd2UgcmUtaW5pdGlhbGl6ZSBpdCBpbnN0ZWFkIG9mIGFzc2lnbmlu
ZyBhIGZyZXNoIGlzdGFuY2UuCisgICAgICAgICAgICAvLyBPbiB0aGUgcmVpbml0aWFsaXphdGlv
biwgd2UgZmFsbGJhY2sgdG8gdXNlIE5vTGF5ZXIgbW9kZS4KKyAgICAgICAgICAgIC8vIE5vdGUg
dGhhdCB0aGUgb3JpZ2luYWwgaW5pdGlhbGl6YXRpb24gZmFpbHVyZSBjYW4gYmUgY2F1c2VkIGJ5
CisgICAgICAgICAgICAvLyBhIGZhaWx1cmUgb2YgYW4gaW50ZXJuYWwgYnVmZmVyIGFsbG9jYXRp
b24gYW5kIE5vTGF5ZXIgbW9kZQorICAgICAgICAgICAgLy8gZG9lcyBub3QgaGF2ZSBzdWNoIGJ1
ZmZlciBhbGxvY2F0aW9ucy4KKyAgICAgICAgICAgIG1faGVscGVyLn5UcmFuc3BhcmVuY3lXaW4o
KTsKKyAgICAgICAgICAgIG5ldyAoJm1faGVscGVyKSBUcmFuc3BhcmVuY3lXaW4oKTsKKyAgICAg
ICAgICAgIG1faGVscGVyLmluaXQoY29udGV4dCwgVHJhbnNwYXJlbmN5V2luOjpOb0xheWVyLCB0
cmFuc2Zvcm1Nb2RlLCByKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIH5UaGVtZVBhaW50ZXIo
KQogICAgIHsKLSAgICAgICAgY29tcG9zaXRlKCk7CisgICAgICAgIG1faGVscGVyLmNvbXBvc2l0
ZSgpOwogICAgIH0KIAorICAgIEdyYXBoaWNzQ29udGV4dCogY29udGV4dCgpIHsgcmV0dXJuIG1f
aGVscGVyLmNvbnRleHQoKTsgfQorICAgIGNvbnN0IEludFJlY3QmIGRyYXdSZWN0KCkgeyByZXR1
cm4gbV9oZWxwZXIuZHJhd1JlY3QoKTsgfQorCiBwcml2YXRlOgorCiAgICAgc3RhdGljIGJvb2wg
Y2FudmFzSGFzTXVsdGlwbGVMYXllcnMoY29uc3QgU2tDYW52YXMqIGNhbnZhcykKICAgICB7CiAg
ICAgICAgIFNrQ2FudmFzOjpMYXllckl0ZXIgaXRlcihjb25zdF9jYXN0PFNrQ2FudmFzKj4oY2Fu
dmFzKSwgZmFsc2UpOwpAQCAtNzgsMjUgKzk0LDI3IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVy
biAhaXRlci5kb25lKCk7ICAvLyBUaGVyZSBpcyA+IDEgbGF5ZXIgaWYgdGhlIHRoZSBpdGVyYXRv
ciBjYW4gc3RpbCBhZHZhbmNlLgogICAgIH0KIAotICAgIHN0YXRpYyBMYXllck1vZGUgZ2V0TGF5
ZXJNb2RlKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgVHJhbnNmb3JtTW9kZSB0cmFuc2Zvcm1N
b2RlKQorICAgIHN0YXRpYyBUcmFuc3BhcmVuY3lXaW46OkxheWVyTW9kZSBnZXRMYXllck1vZGUo
R3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBUcmFuc3BhcmVuY3lXaW46OlRyYW5zZm9ybU1vZGUg
dHJhbnNmb3JtTW9kZSkKICAgICB7CiAgICAgICAgIGlmIChjb250ZXh0LT5wbGF0Zm9ybUNvbnRl
eHQoKS0+aXNEcmF3aW5nVG9JbWFnZUJ1ZmZlcigpKSAgLy8gTWlnaHQgaGF2ZSB0cmFuc3BhcmVu
dCBiYWNrZ3JvdW5kLgotICAgICAgICAgICAgcmV0dXJuIFdoaXRlTGF5ZXI7CisgICAgICAgICAg
ICByZXR1cm4gVHJhbnNwYXJlbmN5V2luOjpXaGl0ZUxheWVyOwogICAgICAgICBlbHNlIGlmIChj
YW52YXNIYXNNdWx0aXBsZUxheWVycyhjb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFz
KCkpKSAgLy8gTmVlZHMgYW50aWFsaWFzaW5nIGhlbHAuCi0gICAgICAgICAgICByZXR1cm4gT3Bh
cXVlQ29tcG9zaXRlTGF5ZXI7CisgICAgICAgICAgICByZXR1cm4gVHJhbnNwYXJlbmN5V2luOjpP
cGFxdWVDb21wb3NpdGVMYXllcjsKICAgICAgICAgZWxzZSAgLy8gTm90aGluZyBpbnRlcmVzdGlu
Zy4KLSAgICAgICAgICAgIHJldHVybiB0cmFuc2Zvcm1Nb2RlID09IEtlZXBUcmFuc2Zvcm0gPyBO
b0xheWVyIDogT3BhcXVlQ29tcG9zaXRlTGF5ZXI7CisgICAgICAgICAgICByZXR1cm4gdHJhbnNm
b3JtTW9kZSA9PSBUcmFuc3BhcmVuY3lXaW46OktlZXBUcmFuc2Zvcm0gPyBUcmFuc3BhcmVuY3lX
aW46Ok5vTGF5ZXIgOiBUcmFuc3BhcmVuY3lXaW46Ok9wYXF1ZUNvbXBvc2l0ZUxheWVyOwogICAg
IH0KIAotICAgIHN0YXRpYyBUcmFuc2Zvcm1Nb2RlIGdldFRyYW5zZm9ybU1vZGUoY29uc3QgQWZm
aW5lVHJhbnNmb3JtJiBtYXRyaXgpCisgICAgc3RhdGljIFRyYW5zcGFyZW5jeVdpbjo6VHJhbnNm
b3JtTW9kZSBnZXRUcmFuc2Zvcm1Nb2RlKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgbWF0cml4KQog
ICAgIHsKICAgICAgICAgaWYgKG1hdHJpeC5iKCkgIT0gMCB8fCBtYXRyaXguYygpICE9IDApICAv
LyBTa2V3LgotICAgICAgICAgICAgcmV0dXJuIFVudHJhbnNmb3JtOworICAgICAgICAgICAgcmV0
dXJuIFRyYW5zcGFyZW5jeVdpbjo6VW50cmFuc2Zvcm07CiAgICAgICAgIGVsc2UgaWYgKG1hdHJp
eC5hKCkgIT0gMS4wIHx8IG1hdHJpeC5kKCkgIT0gMS4wKSAgLy8gU2NhbGUuCi0gICAgICAgICAg
ICByZXR1cm4gU2NhbGVUcmFuc2Zvcm07CisgICAgICAgICAgICByZXR1cm4gVHJhbnNwYXJlbmN5
V2luOjpTY2FsZVRyYW5zZm9ybTsKICAgICAgICAgZWxzZSAgLy8gTm90aGluZyBpbnRlcmVzdGlu
Zy4KLSAgICAgICAgICAgIHJldHVybiBLZWVwVHJhbnNmb3JtOworICAgICAgICAgICAgcmV0dXJu
IFRyYW5zcGFyZW5jeVdpbjo6S2VlcFRyYW5zZm9ybTsKICAgICB9CisKKyAgICBUcmFuc3BhcmVu
Y3lXaW4gbV9oZWxwZXI7CiB9OwogCiB9ICAvLyBuYW1lc3BhY2UK
</data>

          </attachment>
      

    </bug>

</bugzilla>