<?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>69267</bug_id>
          
          <creation_ts>2011-10-03 10:17:09 -0700</creation_ts>
          <short_desc>Assertion failure (m_nestedIsolateCount &gt;= 1) in BidiResolver::exitIsolate()</short_desc>
          <delta_ts>2011-11-30 14:33:27 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</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>data:text/html,%3Cbr%3E%3Cspan%20style=%22unicode-bidi:%20-webkit-isolate;%22%3E%3C/span%3E</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>69275</dependson>
          <blocked>73310</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>eric</cc>
    
    <cc>rniwa</cc>
    
    <cc>zmo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>477055</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2011-10-03 10:17:09 -0700</bug_when>
    <thetext>To reproduce, navigate to the URL.

Results:


ASSERTION FAILED: m_nestedIsolateCount &gt;= 1
Source/WebCore/platform/text/BidiResolver.h(203) : void WebCore::BidiResolver&lt;WebCore::InlineIterator, WebCore::BidiRun&gt;::exitIsolate()
1   WebCore::BidiResolver&lt;WebCore::InlineIterator, WebCore::BidiRun&gt;::exitIsolate()
2   _ZN7WebCoreL28notifyObserverWillExitObjectINS_12BidiResolverINS_14InlineIteratorENS_7BidiRunEEEEEvPT_PNS_12RenderObjectE
3   _ZN7WebCoreL14bidiNextSharedINS_12BidiResolverINS_14InlineIteratorENS_7BidiRunEEEEEPNS_12RenderObjectES6_S6_PT_NS_19EmptyInlineBehaviorEPb
4   _ZN7WebCoreL28bidiNextSkippingEmptyInlinesINS_12BidiResolverINS_14InlineIteratorENS_7BidiRunEEEEEPNS_12RenderObjectES6_S6_PT_
5   WebCore::InlineIterator::increment(WebCore::BidiResolver&lt;WebCore::InlineIterator, WebCore::BidiRun&gt;*)
6   WebCore::BidiResolver&lt;WebCore::InlineIterator, WebCore::BidiRun&gt;::increment()
7   WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace(WebCore::BidiResolver&lt;WebCore::InlineIterator, WebCore::BidiRun&gt;&amp;, WebCore::LineInfo&amp;, WebCore::RenderBlock::FloatingObject*, WebCore::LineWidth&amp;)
8   WebCore::RenderBlock::LineBreaker::nextLineBreak(WebCore::BidiResolver&lt;WebCore::InlineIterator, WebCore::BidiRun&gt;&amp;, WebCore::LineInfo&amp;, std::pair&lt;WebCore::RenderText*, WebCore::LazyLineBreakIterator&gt;&amp;, WebCore::RenderBlock::FloatingObject*, unsigned int)
9   WebCore::RenderBlock::layoutRunsAndFloatsInRange(WebCore::LineLayoutState&amp;, WebCore::BidiResolver&lt;WebCore::InlineIterator, WebCore::BidiRun&gt;&amp;, WebCore::InlineIterator const&amp;, WebCore::BidiStatus const&amp;, unsigned int)
10  WebCore::RenderBlock::layoutRunsAndFloats(WebCore::LineLayoutState&amp;, bool)
11  WebCore::RenderBlock::layoutInlineChildren(bool, int&amp;, int&amp;)
12  WebCore::RenderBlock::layoutBlock(bool, int, WebCore::RenderBlock::BlockLayoutPass)
13  WebCore::RenderBlock::layout()
14  WebCore::RenderBlock::layoutBlockChild(WebCore::RenderBox*, WebCore::RenderBlock::MarginInfo&amp;, int&amp;, int&amp;)
15  WebCore::RenderBlock::layoutBlockChildren(bool, int&amp;)
16  WebCore::RenderBlock::layoutBlock(bool, int, WebCore::RenderBlock::BlockLayoutPass)
17  WebCore::RenderBlock::layout()
18  WebCore::RenderBlock::layoutBlockChild(WebCore::RenderBox*, WebCore::RenderBlock::MarginInfo&amp;, int&amp;, int&amp;)
19  WebCore::RenderBlock::layoutBlockChildren(bool, int&amp;)
20  WebCore::RenderBlock::layoutBlock(bool, int, WebCore::RenderBlock::BlockLayoutPass)
21  WebCore::RenderBlock::layout()
22  WebCore::RenderView::layout()
23  WebCore::FrameView::layout(bool)
24  WebCore::Document::implicitClose()
25  WebCore::FrameLoader::checkCallImplicitClose()
26  WebCore::FrameLoader::checkCompleted()
27  WebCore::FrameLoader::finishedParsing()
28  WebCore::Document::finishedParsing()
29  WebCore::HTMLTreeBuilder::finished()
30  WebCore::HTMLDocumentParser::end()
31  WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510001</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-28 11:23:16 -0800</bug_when>
    <thetext>Dupe of bug 69275?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510025</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-28 11:42:59 -0800</bug_when>
    <thetext>This is probably a dupe of the bug 73116. I don&apos;t hit the assertion anymore.

http://trac.webkit.org/changeset/101180</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510027</commentid>
    <comment_count>3</comment_count>
    <who name="">mitz</who>
    <bug_when>2011-11-28 11:45:12 -0800</bug_when>
    <thetext>I can reproduce this in r101263.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511099</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-29 14:03:00 -0800</bug_when>
    <thetext>*** Bug 73250 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511139</commentid>
    <comment_count>5</comment_count>
      <attachid>117053</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-29 15:04:31 -0800</bug_when>
    <thetext>Created attachment 117053
work in progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511146</commentid>
    <comment_count>6</comment_count>
      <attachid>117056</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-11-29 15:17:29 -0800</bug_when>
    <thetext>Created attachment 117056
Duplicated Text Test Case

This patch also fixes one case where text runs are duplicated when using isolate. There are still other duplication vectors, and this test case will crash without this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511259</commentid>
    <comment_count>7</comment_count>
      <attachid>117084</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-29 17:57:01 -0800</bug_when>
    <thetext>Created attachment 117084
fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511261</commentid>
    <comment_count>8</comment_count>
      <attachid>117085</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-29 17:59:29 -0800</bug_when>
    <thetext>Created attachment 117085
fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511262</commentid>
    <comment_count>9</comment_count>
      <attachid>117086</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-29 18:01:34 -0800</bug_when>
    <thetext>Created attachment 117086
Fixed bidi-isolate-hang-with-neutral-expected.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511953</commentid>
    <comment_count>10</comment_count>
      <attachid>117086</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-30 11:34:25 -0800</bug_when>
    <thetext>Comment on attachment 117086
Fixed bidi-isolate-hang-with-neutral-expected.html

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

&gt; Source/WebCore/platform/text/BidiResolver.h:180
&gt; +    // FIXME: Rename setPosition to reflect the fact it doesn&apos;t update m_nestedIsolateCount

Didn&apos;t you do this?

&gt; Source/WebCore/platform/text/BidiResolver.h:186
&gt; +    void setPosition(const Iterator&amp; position, unsigned nestedIsolatedCount)
&gt; +    {
&gt; +        m_current = position;
&gt; +        m_nestedIsolateCount = nestedIsolatedCount;
&gt; +    }

Should we be keeping this value on some Position object instead?  It seems like we&apos;ll have trouble keeping these in sync.  Why do we need the nestedIsolateCount again?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511956</commentid>
    <comment_count>11</comment_count>
      <attachid>117086</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-30 11:36:51 -0800</bug_when>
    <thetext>Comment on attachment 117086
Fixed bidi-isolate-hang-with-neutral-expected.html

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

&gt;&gt; Source/WebCore/platform/text/BidiResolver.h:180
&gt;&gt; +    // FIXME: Rename setPosition to reflect the fact it doesn&apos;t update m_nestedIsolateCount
&gt; 
&gt; Didn&apos;t you do this?

Oops, I just forgot to remove it.

&gt;&gt; Source/WebCore/platform/text/BidiResolver.h:186

&gt; 
&gt; Should we be keeping this value on some Position object instead?  It seems like we&apos;ll have trouble keeping these in sync.  Why do we need the nestedIsolateCount again?

We need it to detect whether we&apos;re inside an isolated content or not. Walking the render tree in each one of those places is much more expensive.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512136</commentid>
    <comment_count>12</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-30 14:32:27 -0800</bug_when>
    <thetext>Thanks for the review! Great to fix this assertion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512137</commentid>
    <comment_count>13</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-30 14:33:27 -0800</bug_when>
    <thetext>Committed r101556: &lt;http://trac.webkit.org/changeset/101556&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117053</attachid>
            <date>2011-11-29 15:04:31 -0800</date>
            <delta_ts>2011-11-29 17:56:55 -0800</delta_ts>
            <desc>work in progress</desc>
            <filename>wip69267</filename>
            <type>text/plain</type>
            <size>5965</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NDb250ZXh0LmNwcAkocmV2aXNpb24gMTAxNDA2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAwLDcg
KzQwMCw3IEBACiAKICAgICBCaWRpUmVzb2x2ZXI8VGV4dFJ1bkl0ZXJhdG9yLCBCaWRpQ2hhcmFj
dGVyUnVuPiBiaWRpUmVzb2x2ZXI7CiAgICAgYmlkaVJlc29sdmVyLnNldFN0YXR1cyhCaWRpU3Rh
dHVzKHJ1bi5kaXJlY3Rpb24oKSwgcnVuLmRpcmVjdGlvbmFsT3ZlcnJpZGUoKSkpOwotICAgIGJp
ZGlSZXNvbHZlci5zZXRQb3NpdGlvbihUZXh0UnVuSXRlcmF0b3IoJnJ1biwgMCkpOworICAgIGJp
ZGlSZXNvbHZlci5zZXRQb3NpdGlvbklnbm9yaW5nTmVzdGVkSXNvbGF0ZXMoVGV4dFJ1bkl0ZXJh
dG9yKCZydW4sIDApKTsKIAogICAgIC8vIEZJWE1FOiBUaGlzIG93bmVyc2hpcCBzaG91bGQgYmUg
cmV2ZXJzZWQuIFdlIHNob3VsZCBwYXNzIEJpZGlSdW5MaXN0CiAgICAgLy8gdG8gQmlkaVJlc29s
dmVyIGluIGNyZWF0ZUJpZGlSdW5zRm9yTGluZS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvQmlkaVJlc29sdmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaAkocmV2aXNpb24gMTAxNDA2KQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTc3
LDcgKzE3NywxMyBAQAogI2VuZGlmCiAKICAgICBjb25zdCBJdGVyYXRvciYgcG9zaXRpb24oKSBj
b25zdCB7IHJldHVybiBtX2N1cnJlbnQ7IH0KLSAgICB2b2lkIHNldFBvc2l0aW9uKGNvbnN0IEl0
ZXJhdG9yJiBwb3NpdGlvbikgeyBtX2N1cnJlbnQgPSBwb3NpdGlvbjsgfQorICAgIC8vIEZJWE1F
OiBSZW5hbWUgc2V0UG9zaXRpb24gdG8gcmVmbGVjdCB0aGUgZmFjdCBpdCBkb2Vzbid0IHVwZGF0
ZSBtX25lc3RlZElzb2xhdGVDb3VudAorICAgIHZvaWQgc2V0UG9zaXRpb25JZ25vcmluZ05lc3Rl
ZElzb2xhdGVzKGNvbnN0IEl0ZXJhdG9yJiBwb3NpdGlvbikgeyBtX2N1cnJlbnQgPSBwb3NpdGlv
bjsgfQorICAgIHZvaWQgc2V0UG9zaXRpb24oY29uc3QgSXRlcmF0b3ImIHBvc2l0aW9uLCB1bnNp
Z25lZCBuZXN0ZWRJc29sYXRlZENvdW50KQorICAgIHsKKyAgICAgICAgbV9jdXJyZW50ID0gcG9z
aXRpb247CisgICAgICAgIG1fbmVzdGVkSXNvbGF0ZUNvdW50ID0gbmVzdGVkSXNvbGF0ZWRDb3Vu
dDsKKyAgICB9CiAKICAgICB2b2lkIGluY3JlbWVudCgpIHsgbV9jdXJyZW50LmluY3JlbWVudCgp
OyB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlv
dXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
a0xpbmVMYXlvdXQuY3BwCShyZXZpc2lvbiAxMDE0MDYpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTY2LDcg
Kzk2Niw3IEBACiAgICAgICAgIFJlbmRlck9iamVjdCogc3RhcnRPYmogPSBiaWRpRmlyc3RTa2lw
cGluZ0VtcHR5SW5saW5lcyhpc29sYXRlZFNwYW4sICZpc29sYXRlZFJlc29sdmVyKTsKICAgICAg
ICAgaWYgKCFzdGFydE9iaikKICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBpc29sYXRl
ZFJlc29sdmVyLnNldFBvc2l0aW9uKElubGluZUl0ZXJhdG9yKGlzb2xhdGVkU3Bhbiwgc3RhcnRP
YmosIDApKTsKKyAgICAgICAgaXNvbGF0ZWRSZXNvbHZlci5zZXRQb3NpdGlvbklnbm9yaW5nTmVz
dGVkSXNvbGF0ZXMoSW5saW5lSXRlcmF0b3IoaXNvbGF0ZWRTcGFuLCBzdGFydE9iaiwgMCkpOwog
CiAgICAgICAgIC8vIEZJWE1FOiBpc29sYXRlZEVuZCBzaG91bGQgcHJvYmFibHkgZXF1YWwgZW5k
IG9yIHRoZSBsYXN0IGNoYXIgaW4gaXNvbGF0ZWRTcGFuLgogICAgICAgICBJbmxpbmVJdGVyYXRv
ciBpc29sYXRlZEVuZCA9IGVuZE9mTGluZTsKQEAgLTEyMTYsNyArMTIxNiw3IEBACiAKICAgICAg
ICAgbGF5b3V0U3RhdGUubGluZUluZm8oKS5zZXRFbXB0eSh0cnVlKTsKIAotICAgICAgICBJbmxp
bmVJdGVyYXRvciBvbGRFbmQgPSBlbmQ7CisgICAgICAgIGNvbnN0IElubGluZUl0ZXJhdG9yIG9s
ZEVuZCA9IGVuZDsKICAgICAgICAgYm9vbCBpc05ld1VCQVBhcmFncmFwaCA9IGxheW91dFN0YXRl
LmxpbmVJbmZvKCkucHJldmlvdXNMaW5lQnJva2VDbGVhbmx5KCk7CiAgICAgICAgIEZsb2F0aW5n
T2JqZWN0KiBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lID0gKG1fZmxvYXRpbmdPYmplY3RzICYm
ICFtX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCkuaXNFbXB0eSgpKSA/IG1fZmxvYXRpbmdPYmplY3Rz
LT5zZXQoKS5sYXN0KCkgOiAwOwogICAgICAgICBlbmQgPSBsaW5lQnJlYWtlci5uZXh0TGluZUJy
ZWFrKHJlc29sdmVyLCBsYXlvdXRTdGF0ZS5saW5lSW5mbygpLCBsaW5lQnJlYWtJdGVyYXRvcklu
Zm8sIGxhc3RGbG9hdEZyb21QcmV2aW91c0xpbmUsIGNvbnNlY3V0aXZlSHlwaGVuYXRlZExpbmVz
KTsKQEAgLTEyODQsNyArMTI4NCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlu
ZUJveC0+ZGVsZXRlTGluZShyZW5kZXJBcmVuYSgpKTsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICByZW1vdmVGbG9hdGluZ09iamVjdHNCZWxvdyhsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5l
LCBvbGRMb2dpY2FsSGVpZ2h0KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRMb2dp
Y2FsSGVpZ2h0KG9sZExvZ2ljYWxIZWlnaHQgKyBhZGp1c3RtZW50KTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICByZXNvbHZlci5zZXRQb3NpdGlvbihvbGRFbmQpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJlc29sdmVyLnNldFBvc2l0aW9uSWdub3JpbmdOZXN0ZWRJc29sYXRl
cyhvbGRFbmQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZCA9IG9sZEVuZDsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICAg
ICAgIH0KQEAgLTEzMjQsNyArMTMyNCw3IEBACiAgICAgICAgIH0KIAogICAgICAgICBsaW5lTWlk
cG9pbnRTdGF0ZS5yZXNldCgpOwotICAgICAgICByZXNvbHZlci5zZXRQb3NpdGlvbihlbmQpOwor
ICAgICAgICByZXNvbHZlci5zZXRQb3NpdGlvbihlbmQsIG51bWJlck9mSXNvbGF0ZUFuY2VzdG9y
cyhlbmQpKTsKICAgICB9CiB9CiAKQEAgLTE2MzksNyArMTYzOSw4IEBACiAKICAgICBpZiAobGFz
dCkgewogICAgICAgICBzZXRMb2dpY2FsSGVpZ2h0KGxhc3QtPmxpbmVCb3R0b21XaXRoTGVhZGlu
ZygpKTsKLSAgICAgICAgcmVzb2x2ZXIuc2V0UG9zaXRpb24oSW5saW5lSXRlcmF0b3IodGhpcywg
bGFzdC0+bGluZUJyZWFrT2JqKCksIGxhc3QtPmxpbmVCcmVha1BvcygpKSk7CisgICAgICAgIElu
bGluZUl0ZXJhdG9yIGl0ZXIgPSBJbmxpbmVJdGVyYXRvcih0aGlzLCBsYXN0LT5saW5lQnJlYWtP
YmooKSwgbGFzdC0+bGluZUJyZWFrUG9zKCkpOworICAgICAgICByZXNvbHZlci5zZXRQb3NpdGlv
bihpdGVyLCBudW1iZXJPZklzb2xhdGVBbmNlc3RvcnMoaXRlcikpOwogICAgICAgICByZXNvbHZl
ci5zZXRTdGF0dXMobGFzdC0+bGluZUJyZWFrQmlkaVN0YXR1cygpKTsKICAgICB9IGVsc2Ugewog
ICAgICAgICBUZXh0RGlyZWN0aW9uIGRpcmVjdGlvbiA9IHN0eWxlKCktPmRpcmVjdGlvbigpOwpA
QCAtMTY0OCw3ICsxNjQ5LDggQEAKICAgICAgICAgICAgIGRldGVybWluZVBhcmFncmFwaERpcmVj
dGlvbihkaXJlY3Rpb24sIElubGluZUl0ZXJhdG9yKHRoaXMsIGJpZGlGaXJzdEluY2x1ZGluZ0Vt
cHR5SW5saW5lcyh0aGlzKSwgMCkpOwogICAgICAgICB9CiAgICAgICAgIHJlc29sdmVyLnNldFN0
YXR1cyhCaWRpU3RhdHVzKGRpcmVjdGlvbiwgc3R5bGUoKS0+dW5pY29kZUJpZGkoKSA9PSBPdmVy
cmlkZSkpOwotICAgICAgICByZXNvbHZlci5zZXRQb3NpdGlvbihJbmxpbmVJdGVyYXRvcih0aGlz
LCBiaWRpRmlyc3RTa2lwcGluZ0VtcHR5SW5saW5lcyh0aGlzLCAmcmVzb2x2ZXIpLCAwKSk7Cisg
ICAgICAgIElubGluZUl0ZXJhdG9yIGl0ZXIgPSBJbmxpbmVJdGVyYXRvcih0aGlzLCBiaWRpRmly
c3RTa2lwcGluZ0VtcHR5SW5saW5lcyh0aGlzLCAmcmVzb2x2ZXIpLCAwKTsKKyAgICAgICAgcmVz
b2x2ZXIuc2V0UG9zaXRpb24oaXRlciwgbnVtYmVyT2ZJc29sYXRlQW5jZXN0b3JzKGl0ZXIpKTsK
ICAgICB9CiAgICAgcmV0dXJuIGN1cnI7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvSW5saW5lSXRlcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvSW5saW5lSXRlcmF0b3IuaAkocmV2aXNpb24gMTAxNDA2KQorKysgU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0lubGluZUl0ZXJhdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTQwNiwxMSArNDA2
LDEzIEBACiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbnVtYmVy
T2ZJc29sYXRlQW5jZXN0b3JzKFJlbmRlck9iamVjdCogb2JqZWN0LCBSZW5kZXJPYmplY3QqIHJv
b3QpCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIG51bWJlck9mSXNvbGF0ZUFuY2VzdG9ycyhjb25z
dCBJbmxpbmVJdGVyYXRvciYgaXRlcikKIHsKLSAgICBBU1NFUlQob2JqZWN0KTsKKyAgICBSZW5k
ZXJPYmplY3QqIG9iamVjdCA9IGl0ZXIub2JqZWN0KCk7CisgICAgaWYgKCFvYmplY3QpCisgICAg
ICAgIHJldHVybiAwOwogICAgIHVuc2lnbmVkIGNvdW50ID0gMDsKLSAgICB3aGlsZSAob2JqZWN0
ICYmIG9iamVjdCAhPSByb290KSB7CisgICAgd2hpbGUgKG9iamVjdCAmJiBvYmplY3QgIT0gaXRl
ci5yb290KCkpIHsKICAgICAgICAgaWYgKGlzSXNvbGF0ZWRJbmxpbmUob2JqZWN0KSkKICAgICAg
ICAgICAgIGNvdW50Kys7CiAgICAgICAgIG9iamVjdCA9IG9iamVjdC0+cGFyZW50KCk7CkBAIC00
ODIsNyArNDg0LDcgQEAKICAgICAgICAgLy8gS2VlcCB0cmFjayBvZiB3aGVuIHdlIGVudGVyL2xl
YXZlICJ1bmljb2RlLWJpZGk6IGlzb2xhdGUiIGlubGluZXMuCiAgICAgICAgIC8vIEluaXRpYWxp
emUgb3VyIHN0YXRlIGRlcGVuZGluZyBvbiBpZiB3ZSdyZSBzdGFydGluZyBpbiB0aGUgbWlkZGxl
IG9mIHN1Y2ggYW4gaW5saW5lLgogICAgICAgICAvLyBGSVhNRTogQ291bGQgdGhpcyBpbml0aWFs
aXplIGZyb20gdGhpcy0+aW5Jc29sYXRlKCkgaW5zdGVhZCBvZiB3YWxraW5nIHVwIHRoZSByZW5k
ZXIgdHJlZT8KLSAgICAgICAgSXNvbGF0ZVRyYWNrZXIgaXNvbGF0ZVRyYWNrZXIobnVtYmVyT2ZJ
c29sYXRlQW5jZXN0b3JzKG1fc29yLm1fb2JqLCBtX3Nvci5yb290KCkpKTsKKyAgICAgICAgSXNv
bGF0ZVRyYWNrZXIgaXNvbGF0ZVRyYWNrZXIobnVtYmVyT2ZJc29sYXRlQW5jZXN0b3JzKG1fc29y
KSk7CiAgICAgICAgIGludCBzdGFydCA9IG1fc29yLm1fcG9zOwogICAgICAgICBSZW5kZXJPYmpl
Y3QqIG9iaiA9IG1fc29yLm1fb2JqOwogICAgICAgICB3aGlsZSAob2JqICYmIG9iaiAhPSBtX2Vv
ci5tX29iaiAmJiBvYmogIT0gZW5kT2ZMaW5lLm1fb2JqKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>117056</attachid>
            <date>2011-11-29 15:17:29 -0800</date>
            <delta_ts>2011-11-29 15:17:29 -0800</delta_ts>
            <desc>Duplicated Text Test Case</desc>
            <filename>temp2.html</filename>
            <type>text/html</type>
            <size>286</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">77u/PCFET0NUWVBFIEhUTUw+CjxodG1sPjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50
LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDtjaGFyc2V0PXV0Zi04Ij4KPHN0eWxlPgogIC5pc29s
YXRlIHsKICAgIHVuaWNvZGUtYmlkaTogLXdlYmtpdC1pc29sYXRlOwogICAgdW5pY29kZS1iaWRp
OiBpc29sYXRlOwogIH0KPC9zdHlsZT4KPC9oZWFkPjxib2R5PgogICAgICA8ZGl2IGRpcj0icnRs
Ij48YnI+PHNwYW4gY2xhc3M9Imlzb2xhdGUiPmEhPC9zcGFuPjwvZGl2Pgo8L2JvZHk+PC9odG1s
Pg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117084</attachid>
            <date>2011-11-29 17:57:01 -0800</date>
            <delta_ts>2011-11-29 17:59:25 -0800</delta_ts>
            <desc>fixes the bug</desc>
            <filename>bug-69267-20111129175700.patch</filename>
            <type>text/plain</type>
            <size>11643</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMTQzOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDExLTExLTI5ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEFzc2VydGlvbiBmYWlsdXJlICht
X25lc3RlZElzb2xhdGVDb3VudCA+PSAxKSBpbiBCaWRpUmVzb2x2ZXI6OmV4aXRJc29sYXRlKCkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjY3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGZhaWx1
cmUgd2FzIGNhdXNlZCBieSBvdXIgdXBkYXRpbmcgYmlkaSByZXNvbHZlcidzIGN1cnJlbnQgcG9z
aXRpb24gaW4gbGF5b3V0UnVuc0FuZEZsb2F0c0luUmFuZ2UKKyAgICAgICAgd2l0aG91dCB1cGRh
dGluZyB0aGUgbnVtYmVyIG9mIG5lc3RlZCBpc29sYXRlZCBhbmNlc3RvcnMuIEZpeGVkIHRoZSBi
dWcgYnkgY29tcHV0aW5nIHRoZSBudW1iZXIgb2YKKyAgICAgICAgaXNvbGF0ZWQgYW5jZXN0b3Jz
IHdoZW4gc2V0dGluZyBhIG5ldyBwb3NpdGlvbiB0byB0aGUgYmlkaSByZXNvbHZlci4KKworICAg
ICAgICBBbHNvIHJlbmFtZWQgdGhlIGV4aXN0aW5nIEJpZGlSZXNvbHZlcjo6c2V0UG9zaXRpb24g
dG8gc2V0UG9zaXRpb25JZ25vcmluZ05lc3RlZElzb2xhdGVzIGJlY2F1c2UgdGhpcworICAgICAg
ICB2ZXJzaW9uIGNhbiBiZSB1c2VkIG9ubHkgd2hlbiB3ZSBkb24ndCBoYXZlIHRvIHVwZGF0ZSB0
aGUgbnVtYmVyIG9mIG5lc3RlZCBpc29sYXRlcy4KKworICAgICAgICBUZXN0czogZmFzdC90ZXh0
L2JpZGktaXNvbGF0ZS1oYW5nLXdpdGgtbmV1dHJhbC1leHBlY3RlZC5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L3RleHQvYmlkaS1pc29sYXRlLWhhbmctd2l0aC1uZXV0cmFsLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3QvdGV4dC9iaWRpLWlzb2xhdGUtbmV4dGxpbmVicmVhay1mYWlsdXJlLmh0
bWwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdCaWRpVGV4dCk6CisgICAgICAg
ICogcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkJpZGlS
ZXNvbHZlcjo6c2V0UG9zaXRpb25JZ25vcmluZ05lc3RlZElzb2xhdGVzKToKKyAgICAgICAgKFdl
YkNvcmU6OkJpZGlSZXNvbHZlcjo6c2V0UG9zaXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9J
bmxpbmVJdGVyYXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6bnVtYmVyT2ZJc29sYXRlQW5jZXN0
b3JzKTogVGFrZXMgSW5saW5lSXRlcmF0b3IgaW5zdGVhZCBvZiBvYmplY3QgYW5kIHJvb3QuCisg
ICAgICAgIChXZWJDb3JlOjpJbmxpbmVCaWRpUmVzb2x2ZXI6OmFwcGVuZFJ1bik6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojpjb25zdHJ1Y3RCaWRpUnVucyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bGF5
b3V0UnVuc0FuZEZsb2F0c0luUmFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6
OmRldGVybWluZVN0YXJ0UG9zaXRpb24pOgorCiAyMDExLTExLTI5ICBFcmlrIEFydmlkc3NvbiAg
PGFydkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViSURMOiBBZGQgc3VwcG9ydCBmb3Igc3Rh
dGljIGZvciBKU0MgYW5kIFY4CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0NvbnRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAJKHJldmlzaW9uIDEwMTQzMikKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQwMCw3ICs0MDAsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0Jp
ZGlUZXh0KGNvbnN0CiAKICAgICBCaWRpUmVzb2x2ZXI8VGV4dFJ1bkl0ZXJhdG9yLCBCaWRpQ2hh
cmFjdGVyUnVuPiBiaWRpUmVzb2x2ZXI7CiAgICAgYmlkaVJlc29sdmVyLnNldFN0YXR1cyhCaWRp
U3RhdHVzKHJ1bi5kaXJlY3Rpb24oKSwgcnVuLmRpcmVjdGlvbmFsT3ZlcnJpZGUoKSkpOwotICAg
IGJpZGlSZXNvbHZlci5zZXRQb3NpdGlvbihUZXh0UnVuSXRlcmF0b3IoJnJ1biwgMCkpOworICAg
IGJpZGlSZXNvbHZlci5zZXRQb3NpdGlvbklnbm9yaW5nTmVzdGVkSXNvbGF0ZXMoVGV4dFJ1bkl0
ZXJhdG9yKCZydW4sIDApKTsKIAogICAgIC8vIEZJWE1FOiBUaGlzIG93bmVyc2hpcCBzaG91bGQg
YmUgcmV2ZXJzZWQuIFdlIHNob3VsZCBwYXNzIEJpZGlSdW5MaXN0CiAgICAgLy8gdG8gQmlkaVJl
c29sdmVyIGluIGNyZWF0ZUJpZGlSdW5zRm9yTGluZS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaAkocmV2aXNpb24gMTAxNDMyKQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaAkod29ya2luZyBjb3B5KQpAQCAt
MTc3LDcgKzE3NywxMyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIGNvbnN0IEl0ZXJhdG9yJiBw
b3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY3VycmVudDsgfQotICAgIHZvaWQgc2V0UG9zaXRp
b24oY29uc3QgSXRlcmF0b3ImIHBvc2l0aW9uKSB7IG1fY3VycmVudCA9IHBvc2l0aW9uOyB9Cisg
ICAgLy8gRklYTUU6IFJlbmFtZSBzZXRQb3NpdGlvbiB0byByZWZsZWN0IHRoZSBmYWN0IGl0IGRv
ZXNuJ3QgdXBkYXRlIG1fbmVzdGVkSXNvbGF0ZUNvdW50CisgICAgdm9pZCBzZXRQb3NpdGlvbkln
bm9yaW5nTmVzdGVkSXNvbGF0ZXMoY29uc3QgSXRlcmF0b3ImIHBvc2l0aW9uKSB7IG1fY3VycmVu
dCA9IHBvc2l0aW9uOyB9CisgICAgdm9pZCBzZXRQb3NpdGlvbihjb25zdCBJdGVyYXRvciYgcG9z
aXRpb24sIHVuc2lnbmVkIG5lc3RlZElzb2xhdGVkQ291bnQpCisgICAgeworICAgICAgICBtX2N1
cnJlbnQgPSBwb3NpdGlvbjsKKyAgICAgICAgbV9uZXN0ZWRJc29sYXRlQ291bnQgPSBuZXN0ZWRJ
c29sYXRlZENvdW50OworICAgIH0KIAogICAgIHZvaWQgaW5jcmVtZW50KCkgeyBtX2N1cnJlbnQu
aW5jcmVtZW50KCk7IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUl0
ZXJhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUl0
ZXJhdG9yLmgJKHJldmlzaW9uIDEwMTQzMikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9J
bmxpbmVJdGVyYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC00MDYsMTEgKzQwNiwxMyBAQCBzdGF0
aWMgaW5saW5lIFJlbmRlck9iamVjdCogY29udGFpbmluZ0lzCiAgICAgcmV0dXJuIDA7CiB9CiAK
LXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbnVtYmVyT2ZJc29sYXRlQW5jZXN0b3JzKFJlbmRlck9i
amVjdCogb2JqZWN0LCBSZW5kZXJPYmplY3QqIHJvb3QpCitzdGF0aWMgaW5saW5lIHVuc2lnbmVk
IG51bWJlck9mSXNvbGF0ZUFuY2VzdG9ycyhjb25zdCBJbmxpbmVJdGVyYXRvciYgaXRlcikKIHsK
LSAgICBBU1NFUlQob2JqZWN0KTsKKyAgICBSZW5kZXJPYmplY3QqIG9iamVjdCA9IGl0ZXIub2Jq
ZWN0KCk7CisgICAgaWYgKCFvYmplY3QpCisgICAgICAgIHJldHVybiAwOwogICAgIHVuc2lnbmVk
IGNvdW50ID0gMDsKLSAgICB3aGlsZSAob2JqZWN0ICYmIG9iamVjdCAhPSByb290KSB7CisgICAg
d2hpbGUgKG9iamVjdCAmJiBvYmplY3QgIT0gaXRlci5yb290KCkpIHsKICAgICAgICAgaWYgKGlz
SXNvbGF0ZWRJbmxpbmUob2JqZWN0KSkKICAgICAgICAgICAgIGNvdW50Kys7CiAgICAgICAgIG9i
amVjdCA9IG9iamVjdC0+cGFyZW50KCk7CkBAIC00ODIsNyArNDg0LDcgQEAgaW5saW5lIHZvaWQg
SW5saW5lQmlkaVJlc29sdmVyOjphcHBlbmRSdQogICAgICAgICAvLyBLZWVwIHRyYWNrIG9mIHdo
ZW4gd2UgZW50ZXIvbGVhdmUgInVuaWNvZGUtYmlkaTogaXNvbGF0ZSIgaW5saW5lcy4KICAgICAg
ICAgLy8gSW5pdGlhbGl6ZSBvdXIgc3RhdGUgZGVwZW5kaW5nIG9uIGlmIHdlJ3JlIHN0YXJ0aW5n
IGluIHRoZSBtaWRkbGUgb2Ygc3VjaCBhbiBpbmxpbmUuCiAgICAgICAgIC8vIEZJWE1FOiBDb3Vs
ZCB0aGlzIGluaXRpYWxpemUgZnJvbSB0aGlzLT5pbklzb2xhdGUoKSBpbnN0ZWFkIG9mIHdhbGtp
bmcgdXAgdGhlIHJlbmRlciB0cmVlPwotICAgICAgICBJc29sYXRlVHJhY2tlciBpc29sYXRlVHJh
Y2tlcihudW1iZXJPZklzb2xhdGVBbmNlc3RvcnMobV9zb3IubV9vYmosIG1fc29yLnJvb3QoKSkp
OworICAgICAgICBJc29sYXRlVHJhY2tlciBpc29sYXRlVHJhY2tlcihudW1iZXJPZklzb2xhdGVB
bmNlc3RvcnMobV9zb3IpKTsKICAgICAgICAgaW50IHN0YXJ0ID0gbV9zb3IubV9wb3M7CiAgICAg
ICAgIFJlbmRlck9iamVjdCogb2JqID0gbV9zb3IubV9vYmo7CiAgICAgICAgIHdoaWxlIChvYmog
JiYgb2JqICE9IG1fZW9yLm1fb2JqICYmIG9iaiAhPSBlbmRPZkxpbmUubV9vYmopIHsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQu
Y3BwCShyZXZpc2lvbiAxMDE0MzIpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2tMaW5lTGF5b3V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTY2LDcgKzk2Niw3IEBAIHN0
YXRpYyBpbmxpbmUgdm9pZCBjb25zdHJ1Y3RCaWRpUnVucyhJbmwKICAgICAgICAgUmVuZGVyT2Jq
ZWN0KiBzdGFydE9iaiA9IGJpZGlGaXJzdFNraXBwaW5nRW1wdHlJbmxpbmVzKGlzb2xhdGVkU3Bh
biwgJmlzb2xhdGVkUmVzb2x2ZXIpOwogICAgICAgICBpZiAoIXN0YXJ0T2JqKQogICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgIGlzb2xhdGVkUmVzb2x2ZXIuc2V0UG9zaXRpb24oSW5saW5l
SXRlcmF0b3IoaXNvbGF0ZWRTcGFuLCBzdGFydE9iaiwgMCkpOworICAgICAgICBpc29sYXRlZFJl
c29sdmVyLnNldFBvc2l0aW9uSWdub3JpbmdOZXN0ZWRJc29sYXRlcyhJbmxpbmVJdGVyYXRvcihp
c29sYXRlZFNwYW4sIHN0YXJ0T2JqLCAwKSk7CiAKICAgICAgICAgLy8gRklYTUU6IGlzb2xhdGVk
RW5kIHNob3VsZCBwcm9iYWJseSBlcXVhbCBlbmQgb3IgdGhlIGxhc3QgY2hhciBpbiBpc29sYXRl
ZFNwYW4uCiAgICAgICAgIElubGluZUl0ZXJhdG9yIGlzb2xhdGVkRW5kID0gZW5kT2ZMaW5lOwpA
QCAtMTIxNiw3ICsxMjE2LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0UnVuc0FuZEZsb2F0
c0luUgogCiAgICAgICAgIGxheW91dFN0YXRlLmxpbmVJbmZvKCkuc2V0RW1wdHkodHJ1ZSk7CiAK
LSAgICAgICAgSW5saW5lSXRlcmF0b3Igb2xkRW5kID0gZW5kOworICAgICAgICBjb25zdCBJbmxp
bmVJdGVyYXRvciBvbGRFbmQgPSBlbmQ7CiAgICAgICAgIGJvb2wgaXNOZXdVQkFQYXJhZ3JhcGgg
PSBsYXlvdXRTdGF0ZS5saW5lSW5mbygpLnByZXZpb3VzTGluZUJyb2tlQ2xlYW5seSgpOwogICAg
ICAgICBGbG9hdGluZ09iamVjdCogbGFzdEZsb2F0RnJvbVByZXZpb3VzTGluZSA9IChtX2Zsb2F0
aW5nT2JqZWN0cyAmJiAhbV9mbG9hdGluZ09iamVjdHMtPnNldCgpLmlzRW1wdHkoKSkgPyBtX2Zs
b2F0aW5nT2JqZWN0cy0+c2V0KCkubGFzdCgpIDogMDsKICAgICAgICAgZW5kID0gbGluZUJyZWFr
ZXIubmV4dExpbmVCcmVhayhyZXNvbHZlciwgbGF5b3V0U3RhdGUubGluZUluZm8oKSwgbGluZUJy
ZWFrSXRlcmF0b3JJbmZvLCBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lLCBjb25zZWN1dGl2ZUh5
cGhlbmF0ZWRMaW5lcyk7CkBAIC0xMjg0LDcgKzEyODQsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjps
YXlvdXRSdW5zQW5kRmxvYXRzSW5SCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZUJv
eC0+ZGVsZXRlTGluZShyZW5kZXJBcmVuYSgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICByZW1vdmVGbG9hdGluZ09iamVjdHNCZWxvdyhsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lLCBv
bGRMb2dpY2FsSGVpZ2h0KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRMb2dpY2Fs
SGVpZ2h0KG9sZExvZ2ljYWxIZWlnaHQgKyBhZGp1c3RtZW50KTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZXNvbHZlci5zZXRQb3NpdGlvbihvbGRFbmQpOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJlc29sdmVyLnNldFBvc2l0aW9uSWdub3JpbmdOZXN0ZWRJc29sYXRlcyhv
bGRFbmQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZCA9IG9sZEVuZDsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICAgICAg
IH0KQEAgLTEzMjQsNyArMTMyNCw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dFJ1bnNBbmRG
bG9hdHNJblIKICAgICAgICAgfQogCiAgICAgICAgIGxpbmVNaWRwb2ludFN0YXRlLnJlc2V0KCk7
Ci0gICAgICAgIHJlc29sdmVyLnNldFBvc2l0aW9uKGVuZCk7CisgICAgICAgIHJlc29sdmVyLnNl
dFBvc2l0aW9uKGVuZCwgbnVtYmVyT2ZJc29sYXRlQW5jZXN0b3JzKGVuZCkpOwogICAgIH0KIH0K
IApAQCAtMTYzOSw3ICsxNjM5LDggQEAgUm9vdElubGluZUJveCogUmVuZGVyQmxvY2s6OmRldGVy
bWluZVN0YQogCiAgICAgaWYgKGxhc3QpIHsKICAgICAgICAgc2V0TG9naWNhbEhlaWdodChsYXN0
LT5saW5lQm90dG9tV2l0aExlYWRpbmcoKSk7Ci0gICAgICAgIHJlc29sdmVyLnNldFBvc2l0aW9u
KElubGluZUl0ZXJhdG9yKHRoaXMsIGxhc3QtPmxpbmVCcmVha09iaigpLCBsYXN0LT5saW5lQnJl
YWtQb3MoKSkpOworICAgICAgICBJbmxpbmVJdGVyYXRvciBpdGVyID0gSW5saW5lSXRlcmF0b3Io
dGhpcywgbGFzdC0+bGluZUJyZWFrT2JqKCksIGxhc3QtPmxpbmVCcmVha1BvcygpKTsKKyAgICAg
ICAgcmVzb2x2ZXIuc2V0UG9zaXRpb24oaXRlciwgbnVtYmVyT2ZJc29sYXRlQW5jZXN0b3JzKGl0
ZXIpKTsKICAgICAgICAgcmVzb2x2ZXIuc2V0U3RhdHVzKGxhc3QtPmxpbmVCcmVha0JpZGlTdGF0
dXMoKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgVGV4dERpcmVjdGlvbiBkaXJlY3Rpb24gPSBz
dHlsZSgpLT5kaXJlY3Rpb24oKTsKQEAgLTE2NDgsNyArMTY0OSw4IEBAIFJvb3RJbmxpbmVCb3gq
IFJlbmRlckJsb2NrOjpkZXRlcm1pbmVTdGEKICAgICAgICAgICAgIGRldGVybWluZVBhcmFncmFw
aERpcmVjdGlvbihkaXJlY3Rpb24sIElubGluZUl0ZXJhdG9yKHRoaXMsIGJpZGlGaXJzdEluY2x1
ZGluZ0VtcHR5SW5saW5lcyh0aGlzKSwgMCkpOwogICAgICAgICB9CiAgICAgICAgIHJlc29sdmVy
LnNldFN0YXR1cyhCaWRpU3RhdHVzKGRpcmVjdGlvbiwgc3R5bGUoKS0+dW5pY29kZUJpZGkoKSA9
PSBPdmVycmlkZSkpOwotICAgICAgICByZXNvbHZlci5zZXRQb3NpdGlvbihJbmxpbmVJdGVyYXRv
cih0aGlzLCBiaWRpRmlyc3RTa2lwcGluZ0VtcHR5SW5saW5lcyh0aGlzLCAmcmVzb2x2ZXIpLCAw
KSk7CisgICAgICAgIElubGluZUl0ZXJhdG9yIGl0ZXIgPSBJbmxpbmVJdGVyYXRvcih0aGlzLCBi
aWRpRmlyc3RTa2lwcGluZ0VtcHR5SW5saW5lcyh0aGlzLCAmcmVzb2x2ZXIpLCAwKTsKKyAgICAg
ICAgcmVzb2x2ZXIuc2V0UG9zaXRpb24oaXRlciwgbnVtYmVyT2ZJc29sYXRlQW5jZXN0b3JzKGl0
ZXIpKTsKICAgICB9CiAgICAgcmV0dXJuIGN1cnI7CiB9CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMDE0
MzkpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwy
MSBAQAorMjAxMS0xMS0yOSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAg
ICAgICBBc3NlcnRpb24gZmFpbHVyZSAobV9uZXN0ZWRJc29sYXRlQ291bnQgPj0gMSkgaW4gQmlk
aVJlc29sdmVyOjpleGl0SXNvbGF0ZSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02OTI2NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBhIHJlZ3Jlc3Npb24gdGVzdCBmb3IgdGhlIGFzc2VydGlvbiBm
YWlsdXJlLiBBbHNvIGFkZCBhIHJlZ3Jlc3Npb24gdGVzdCBmb3IgYSBoYW5nCisgICAgICAgIGZv
dW5kIGJ5IExldmkgV2VpbnRyYXViIGFuZCBKZXJlbXkgTW9za292aWNoLgorCisgICAgICAgIFRo
aXMgcGF0Y2ggYWxzbyBmaXhlcyB0aGUgYXNzZXJ0aW9uIGZhaWx1cmUgaW4gZmFzdC9ibG9jay9j
aGlsZC1ub3QtcmVtb3ZlZC1mcm9tLXBhcmVudC1saW5lYm94ZXMtY3Jhc2guaHRtbAorICAgICAg
ICBpbnRyb2R1Y2VkIGJ5IHIxMDEyNjguCisKKyAgICAgICAgKiBmYXN0L3RleHQvYmlkaS1pc29s
YXRlLWhhbmctd2l0aC1uZXV0cmFsLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvdGV4dC9iaWRpLWlzb2xhdGUtaGFuZy13aXRoLW5ldXRyYWwuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC90ZXh0L2JpZGktaXNvbGF0ZS1uZXh0bGluZWJyZWFrLWZhaWx1cmUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvYmlkaS1pc29sYXRlLW5leHRsaW5l
YnJlYWstZmFpbHVyZS5odG1sOiBBZGRlZC4KKwogMjAxMS0xMS0yOSAgU2ltb24gRnJhc2VyICA8
c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgTWFjIHJlc3VsdHMgYWZ0
ZXIgcjEwMTM0Mi4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvdGV4dC9iaWRpLWlzb2xhdGUtaGFu
Zy13aXRoLW5ldXRyYWwtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L3RleHQvYmlkaS1pc29sYXRlLWhhbmctd2l0aC1uZXV0cmFsLWV4cGVjdGVkLmh0bWwJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3RleHQvYmlkaS1pc29sYXRlLWhhbmctd2l0
aC1uZXV0cmFsLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOCBAQAor77u/
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0cyBoYXZpbmcgZXhj
bGFtYXRpb24gbWFyayBpbnNpZGUgYW4gaXNvbGF0ZWQgcnVuIGZvbGxvd2luZyBhIGxpbmUgYnJl
YWsuCitXZWJLaXQgc2hvdWxkIG5vdCBmYWxsIGludG8gYW4gaW5maW5pdGUgbG9vcCBvciBoaXQg
YW4gYXNzZXJ0aW9uLjwvcD4KKzxkaXYgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0Ij48YnI+PHNw
YW4gZGlyPSJydGwiPmEhPC9zcGFuPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L2JpZGktaXNvbGF0ZS1oYW5nLXdpdGgtbmV1dHJhbC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvdGV4dC9iaWRpLWlzb2xhdGUtaGFuZy13aXRo
LW5ldXRyYWwuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvdGV4dC9iaWRp
LWlzb2xhdGUtaGFuZy13aXRoLW5ldXRyYWwuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw4
IEBACivvu788IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8cD5UaGlzIHRlc3RzIGhh
dmluZyBleGNsYW1hdGlvbiBtYXJrIGluc2lkZSBhbiBpc29sYXRlZCBydW4gZm9sbG93aW5nIGEg
bGluZSBicmVhay4KK1dlYktpdCBzaG91bGQgbm90IGZhbGwgaW50byBhbiBpbmZpbml0ZSBsb29w
IG9yIGhpdCBhbiBhc3NlcnRpb24uPC9wPgorPGRpdiBkaXI9InJ0bCI+PGJyPjxzcGFuIHN0eWxl
PSJ1bmljb2RlLWJpZGk6IC13ZWJraXQtaXNvbGF0ZTsgdW5pY29kZS1iaWRpOiBpc29sYXRlOyI+
YSE8L3NwYW4+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L3RleHQvYmlkaS1pc29sYXRlLW5leHRsaW5lYnJlYWstZmFpbHVyZS1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2JpZGktaXNvbGF0ZS1uZXh0bGluZWJy
ZWFrLWZhaWx1cmUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L2JpZGktaXNvbGF0ZS1uZXh0bGluZWJyZWFrLWZhaWx1cmUtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIgQEAKK1RoaXMgdGVzdHMgaGF2aW5nIGFuIGlubGluZSBl
bGVtZW50IHdpdGggLXdlYmtpdC1pc29sYXRlIGltbWVkaWF0ZWx5IGZvbGxvd2luZyBCUi4gV2Vi
S2l0IHNob3VsZCBub3QgaGl0IGFuIGFzc2VydGlvbi4gCisKSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QvdGV4dC9iaWRpLWlzb2xhdGUtbmV4dGxpbmVicmVhay1mYWlsdXJlLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2JpZGktaXNvbGF0ZS1uZXh0bGluZWJyZWFrLWZh
aWx1cmUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvdGV4dC9iaWRpLWlz
b2xhdGUtbmV4dGxpbmVicmVhay1mYWlsdXJlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MTAgQEAKKzwhRE9DVFlQRSBodG1sPgorVGhpcyB0ZXN0cyBoYXZpbmcgYW4gaW5saW5lIGVsZW1l
bnQgd2l0aCAtd2Via2l0LWlzb2xhdGUgaW1tZWRpYXRlbHkgZm9sbG93aW5nIEJSLgorV2ViS2l0
IHNob3VsZCBub3QgaGl0IGFuIGFzc2VydGlvbi4KKzxicj48c3BhbiBzdHlsZT0idW5pY29kZS1i
aWRpOi13ZWJraXQtaXNvbGF0ZTsiPjwvc3Bhbj4KKzxzY3JpcHQ+CisKK2lmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OworCis8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117085</attachid>
            <date>2011-11-29 17:59:29 -0800</date>
            <delta_ts>2011-11-29 18:01:30 -0800</delta_ts>
            <desc>fixes the bug</desc>
            <filename>bug-69267-20111129175928.patch</filename>
            <type>text/plain</type>
            <size>11637</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMTQzOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDExLTExLTI5ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEFzc2VydGlvbiBmYWlsdXJlICht
X25lc3RlZElzb2xhdGVDb3VudCA+PSAxKSBpbiBCaWRpUmVzb2x2ZXI6OmV4aXRJc29sYXRlKCkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjY3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGZhaWx1
cmUgd2FzIGNhdXNlZCBieSBvdXIgdXBkYXRpbmcgYmlkaSByZXNvbHZlcidzIGN1cnJlbnQgcG9z
aXRpb24gaW4gbGF5b3V0UnVuc0FuZEZsb2F0c0luUmFuZ2UKKyAgICAgICAgd2l0aG91dCB1cGRh
dGluZyB0aGUgbnVtYmVyIG9mIG5lc3RlZCBpc29sYXRlZCBhbmNlc3RvcnMuIEZpeGVkIHRoZSBi
dWcgYnkgY29tcHV0aW5nIHRoZSBudW1iZXIgb2YKKyAgICAgICAgaXNvbGF0ZWQgYW5jZXN0b3Jz
IHdoZW4gc2V0dGluZyBhIG5ldyBwb3NpdGlvbiB0byB0aGUgYmlkaSByZXNvbHZlci4KKworICAg
ICAgICBBbHNvIHJlbmFtZWQgdGhlIGV4aXN0aW5nIEJpZGlSZXNvbHZlcjo6c2V0UG9zaXRpb24g
dG8gc2V0UG9zaXRpb25JZ25vcmluZ05lc3RlZElzb2xhdGVzIGJlY2F1c2UgdGhpcworICAgICAg
ICB2ZXJzaW9uIGNhbiBiZSB1c2VkIG9ubHkgd2hlbiB3ZSBkb24ndCBoYXZlIHRvIHVwZGF0ZSB0
aGUgbnVtYmVyIG9mIG5lc3RlZCBpc29sYXRlcy4KKworICAgICAgICBUZXN0czogZmFzdC90ZXh0
L2JpZGktaXNvbGF0ZS1oYW5nLXdpdGgtbmV1dHJhbC1leHBlY3RlZC5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L3RleHQvYmlkaS1pc29sYXRlLWhhbmctd2l0aC1uZXV0cmFsLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3QvdGV4dC9iaWRpLWlzb2xhdGUtbmV4dGxpbmVicmVhay1mYWlsdXJlLmh0
bWwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdCaWRpVGV4dCk6CisgICAgICAg
ICogcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkJpZGlS
ZXNvbHZlcjo6c2V0UG9zaXRpb25JZ25vcmluZ05lc3RlZElzb2xhdGVzKToKKyAgICAgICAgKFdl
YkNvcmU6OkJpZGlSZXNvbHZlcjo6c2V0UG9zaXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9J
bmxpbmVJdGVyYXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6bnVtYmVyT2ZJc29sYXRlQW5jZXN0
b3JzKTogVGFrZXMgSW5saW5lSXRlcmF0b3IgaW5zdGVhZCBvZiBvYmplY3QgYW5kIHJvb3QuCisg
ICAgICAgIChXZWJDb3JlOjpJbmxpbmVCaWRpUmVzb2x2ZXI6OmFwcGVuZFJ1bik6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojpjb25zdHJ1Y3RCaWRpUnVucyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bGF5
b3V0UnVuc0FuZEZsb2F0c0luUmFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6
OmRldGVybWluZVN0YXJ0UG9zaXRpb24pOgorCiAyMDExLTExLTI5ICBFcmlrIEFydmlkc3NvbiAg
PGFydkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViSURMOiBBZGQgc3VwcG9ydCBmb3Igc3Rh
dGljIGZvciBKU0MgYW5kIFY4CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0NvbnRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAJKHJldmlzaW9uIDEwMTQzMikKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQwMCw3ICs0MDAsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0Jp
ZGlUZXh0KGNvbnN0CiAKICAgICBCaWRpUmVzb2x2ZXI8VGV4dFJ1bkl0ZXJhdG9yLCBCaWRpQ2hh
cmFjdGVyUnVuPiBiaWRpUmVzb2x2ZXI7CiAgICAgYmlkaVJlc29sdmVyLnNldFN0YXR1cyhCaWRp
U3RhdHVzKHJ1bi5kaXJlY3Rpb24oKSwgcnVuLmRpcmVjdGlvbmFsT3ZlcnJpZGUoKSkpOwotICAg
IGJpZGlSZXNvbHZlci5zZXRQb3NpdGlvbihUZXh0UnVuSXRlcmF0b3IoJnJ1biwgMCkpOworICAg
IGJpZGlSZXNvbHZlci5zZXRQb3NpdGlvbklnbm9yaW5nTmVzdGVkSXNvbGF0ZXMoVGV4dFJ1bkl0
ZXJhdG9yKCZydW4sIDApKTsKIAogICAgIC8vIEZJWE1FOiBUaGlzIG93bmVyc2hpcCBzaG91bGQg
YmUgcmV2ZXJzZWQuIFdlIHNob3VsZCBwYXNzIEJpZGlSdW5MaXN0CiAgICAgLy8gdG8gQmlkaVJl
c29sdmVyIGluIGNyZWF0ZUJpZGlSdW5zRm9yTGluZS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaAkocmV2aXNpb24gMTAxNDMyKQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaAkod29ya2luZyBjb3B5KQpAQCAt
MTc3LDcgKzE3NywxMyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIGNvbnN0IEl0ZXJhdG9yJiBw
b3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY3VycmVudDsgfQotICAgIHZvaWQgc2V0UG9zaXRp
b24oY29uc3QgSXRlcmF0b3ImIHBvc2l0aW9uKSB7IG1fY3VycmVudCA9IHBvc2l0aW9uOyB9Cisg
ICAgLy8gRklYTUU6IFJlbmFtZSBzZXRQb3NpdGlvbiB0byByZWZsZWN0IHRoZSBmYWN0IGl0IGRv
ZXNuJ3QgdXBkYXRlIG1fbmVzdGVkSXNvbGF0ZUNvdW50CisgICAgdm9pZCBzZXRQb3NpdGlvbkln
bm9yaW5nTmVzdGVkSXNvbGF0ZXMoY29uc3QgSXRlcmF0b3ImIHBvc2l0aW9uKSB7IG1fY3VycmVu
dCA9IHBvc2l0aW9uOyB9CisgICAgdm9pZCBzZXRQb3NpdGlvbihjb25zdCBJdGVyYXRvciYgcG9z
aXRpb24sIHVuc2lnbmVkIG5lc3RlZElzb2xhdGVkQ291bnQpCisgICAgeworICAgICAgICBtX2N1
cnJlbnQgPSBwb3NpdGlvbjsKKyAgICAgICAgbV9uZXN0ZWRJc29sYXRlQ291bnQgPSBuZXN0ZWRJ
c29sYXRlZENvdW50OworICAgIH0KIAogICAgIHZvaWQgaW5jcmVtZW50KCkgeyBtX2N1cnJlbnQu
aW5jcmVtZW50KCk7IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUl0
ZXJhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUl0
ZXJhdG9yLmgJKHJldmlzaW9uIDEwMTQzMikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9J
bmxpbmVJdGVyYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC00MDYsMTEgKzQwNiwxMyBAQCBzdGF0
aWMgaW5saW5lIFJlbmRlck9iamVjdCogY29udGFpbmluZ0lzCiAgICAgcmV0dXJuIDA7CiB9CiAK
LXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbnVtYmVyT2ZJc29sYXRlQW5jZXN0b3JzKFJlbmRlck9i
amVjdCogb2JqZWN0LCBSZW5kZXJPYmplY3QqIHJvb3QpCitzdGF0aWMgaW5saW5lIHVuc2lnbmVk
IG51bWJlck9mSXNvbGF0ZUFuY2VzdG9ycyhjb25zdCBJbmxpbmVJdGVyYXRvciYgaXRlcikKIHsK
LSAgICBBU1NFUlQob2JqZWN0KTsKKyAgICBSZW5kZXJPYmplY3QqIG9iamVjdCA9IGl0ZXIub2Jq
ZWN0KCk7CisgICAgaWYgKCFvYmplY3QpCisgICAgICAgIHJldHVybiAwOwogICAgIHVuc2lnbmVk
IGNvdW50ID0gMDsKLSAgICB3aGlsZSAob2JqZWN0ICYmIG9iamVjdCAhPSByb290KSB7CisgICAg
d2hpbGUgKG9iamVjdCAmJiBvYmplY3QgIT0gaXRlci5yb290KCkpIHsKICAgICAgICAgaWYgKGlz
SXNvbGF0ZWRJbmxpbmUob2JqZWN0KSkKICAgICAgICAgICAgIGNvdW50Kys7CiAgICAgICAgIG9i
amVjdCA9IG9iamVjdC0+cGFyZW50KCk7CkBAIC00ODIsNyArNDg0LDcgQEAgaW5saW5lIHZvaWQg
SW5saW5lQmlkaVJlc29sdmVyOjphcHBlbmRSdQogICAgICAgICAvLyBLZWVwIHRyYWNrIG9mIHdo
ZW4gd2UgZW50ZXIvbGVhdmUgInVuaWNvZGUtYmlkaTogaXNvbGF0ZSIgaW5saW5lcy4KICAgICAg
ICAgLy8gSW5pdGlhbGl6ZSBvdXIgc3RhdGUgZGVwZW5kaW5nIG9uIGlmIHdlJ3JlIHN0YXJ0aW5n
IGluIHRoZSBtaWRkbGUgb2Ygc3VjaCBhbiBpbmxpbmUuCiAgICAgICAgIC8vIEZJWE1FOiBDb3Vs
ZCB0aGlzIGluaXRpYWxpemUgZnJvbSB0aGlzLT5pbklzb2xhdGUoKSBpbnN0ZWFkIG9mIHdhbGtp
bmcgdXAgdGhlIHJlbmRlciB0cmVlPwotICAgICAgICBJc29sYXRlVHJhY2tlciBpc29sYXRlVHJh
Y2tlcihudW1iZXJPZklzb2xhdGVBbmNlc3RvcnMobV9zb3IubV9vYmosIG1fc29yLnJvb3QoKSkp
OworICAgICAgICBJc29sYXRlVHJhY2tlciBpc29sYXRlVHJhY2tlcihudW1iZXJPZklzb2xhdGVB
bmNlc3RvcnMobV9zb3IpKTsKICAgICAgICAgaW50IHN0YXJ0ID0gbV9zb3IubV9wb3M7CiAgICAg
ICAgIFJlbmRlck9iamVjdCogb2JqID0gbV9zb3IubV9vYmo7CiAgICAgICAgIHdoaWxlIChvYmog
JiYgb2JqICE9IG1fZW9yLm1fb2JqICYmIG9iaiAhPSBlbmRPZkxpbmUubV9vYmopIHsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQu
Y3BwCShyZXZpc2lvbiAxMDE0MzIpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2tMaW5lTGF5b3V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTY2LDcgKzk2Niw3IEBAIHN0
YXRpYyBpbmxpbmUgdm9pZCBjb25zdHJ1Y3RCaWRpUnVucyhJbmwKICAgICAgICAgUmVuZGVyT2Jq
ZWN0KiBzdGFydE9iaiA9IGJpZGlGaXJzdFNraXBwaW5nRW1wdHlJbmxpbmVzKGlzb2xhdGVkU3Bh
biwgJmlzb2xhdGVkUmVzb2x2ZXIpOwogICAgICAgICBpZiAoIXN0YXJ0T2JqKQogICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgIGlzb2xhdGVkUmVzb2x2ZXIuc2V0UG9zaXRpb24oSW5saW5l
SXRlcmF0b3IoaXNvbGF0ZWRTcGFuLCBzdGFydE9iaiwgMCkpOworICAgICAgICBpc29sYXRlZFJl
c29sdmVyLnNldFBvc2l0aW9uSWdub3JpbmdOZXN0ZWRJc29sYXRlcyhJbmxpbmVJdGVyYXRvcihp
c29sYXRlZFNwYW4sIHN0YXJ0T2JqLCAwKSk7CiAKICAgICAgICAgLy8gRklYTUU6IGlzb2xhdGVk
RW5kIHNob3VsZCBwcm9iYWJseSBlcXVhbCBlbmQgb3IgdGhlIGxhc3QgY2hhciBpbiBpc29sYXRl
ZFNwYW4uCiAgICAgICAgIElubGluZUl0ZXJhdG9yIGlzb2xhdGVkRW5kID0gZW5kT2ZMaW5lOwpA
QCAtMTIxNiw3ICsxMjE2LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0UnVuc0FuZEZsb2F0
c0luUgogCiAgICAgICAgIGxheW91dFN0YXRlLmxpbmVJbmZvKCkuc2V0RW1wdHkodHJ1ZSk7CiAK
LSAgICAgICAgSW5saW5lSXRlcmF0b3Igb2xkRW5kID0gZW5kOworICAgICAgICBjb25zdCBJbmxp
bmVJdGVyYXRvciBvbGRFbmQgPSBlbmQ7CiAgICAgICAgIGJvb2wgaXNOZXdVQkFQYXJhZ3JhcGgg
PSBsYXlvdXRTdGF0ZS5saW5lSW5mbygpLnByZXZpb3VzTGluZUJyb2tlQ2xlYW5seSgpOwogICAg
ICAgICBGbG9hdGluZ09iamVjdCogbGFzdEZsb2F0RnJvbVByZXZpb3VzTGluZSA9IChtX2Zsb2F0
aW5nT2JqZWN0cyAmJiAhbV9mbG9hdGluZ09iamVjdHMtPnNldCgpLmlzRW1wdHkoKSkgPyBtX2Zs
b2F0aW5nT2JqZWN0cy0+c2V0KCkubGFzdCgpIDogMDsKICAgICAgICAgZW5kID0gbGluZUJyZWFr
ZXIubmV4dExpbmVCcmVhayhyZXNvbHZlciwgbGF5b3V0U3RhdGUubGluZUluZm8oKSwgbGluZUJy
ZWFrSXRlcmF0b3JJbmZvLCBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lLCBjb25zZWN1dGl2ZUh5
cGhlbmF0ZWRMaW5lcyk7CkBAIC0xMjg0LDcgKzEyODQsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjps
YXlvdXRSdW5zQW5kRmxvYXRzSW5SCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZUJv
eC0+ZGVsZXRlTGluZShyZW5kZXJBcmVuYSgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICByZW1vdmVGbG9hdGluZ09iamVjdHNCZWxvdyhsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lLCBv
bGRMb2dpY2FsSGVpZ2h0KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRMb2dpY2Fs
SGVpZ2h0KG9sZExvZ2ljYWxIZWlnaHQgKyBhZGp1c3RtZW50KTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZXNvbHZlci5zZXRQb3NpdGlvbihvbGRFbmQpOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJlc29sdmVyLnNldFBvc2l0aW9uSWdub3JpbmdOZXN0ZWRJc29sYXRlcyhv
bGRFbmQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZCA9IG9sZEVuZDsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICAgICAg
IH0KQEAgLTEzMjQsNyArMTMyNCw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dFJ1bnNBbmRG
bG9hdHNJblIKICAgICAgICAgfQogCiAgICAgICAgIGxpbmVNaWRwb2ludFN0YXRlLnJlc2V0KCk7
Ci0gICAgICAgIHJlc29sdmVyLnNldFBvc2l0aW9uKGVuZCk7CisgICAgICAgIHJlc29sdmVyLnNl
dFBvc2l0aW9uKGVuZCwgbnVtYmVyT2ZJc29sYXRlQW5jZXN0b3JzKGVuZCkpOwogICAgIH0KIH0K
IApAQCAtMTYzOSw3ICsxNjM5LDggQEAgUm9vdElubGluZUJveCogUmVuZGVyQmxvY2s6OmRldGVy
bWluZVN0YQogCiAgICAgaWYgKGxhc3QpIHsKICAgICAgICAgc2V0TG9naWNhbEhlaWdodChsYXN0
LT5saW5lQm90dG9tV2l0aExlYWRpbmcoKSk7Ci0gICAgICAgIHJlc29sdmVyLnNldFBvc2l0aW9u
KElubGluZUl0ZXJhdG9yKHRoaXMsIGxhc3QtPmxpbmVCcmVha09iaigpLCBsYXN0LT5saW5lQnJl
YWtQb3MoKSkpOworICAgICAgICBJbmxpbmVJdGVyYXRvciBpdGVyID0gSW5saW5lSXRlcmF0b3Io
dGhpcywgbGFzdC0+bGluZUJyZWFrT2JqKCksIGxhc3QtPmxpbmVCcmVha1BvcygpKTsKKyAgICAg
ICAgcmVzb2x2ZXIuc2V0UG9zaXRpb24oaXRlciwgbnVtYmVyT2ZJc29sYXRlQW5jZXN0b3JzKGl0
ZXIpKTsKICAgICAgICAgcmVzb2x2ZXIuc2V0U3RhdHVzKGxhc3QtPmxpbmVCcmVha0JpZGlTdGF0
dXMoKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgVGV4dERpcmVjdGlvbiBkaXJlY3Rpb24gPSBz
dHlsZSgpLT5kaXJlY3Rpb24oKTsKQEAgLTE2NDgsNyArMTY0OSw4IEBAIFJvb3RJbmxpbmVCb3gq
IFJlbmRlckJsb2NrOjpkZXRlcm1pbmVTdGEKICAgICAgICAgICAgIGRldGVybWluZVBhcmFncmFw
aERpcmVjdGlvbihkaXJlY3Rpb24sIElubGluZUl0ZXJhdG9yKHRoaXMsIGJpZGlGaXJzdEluY2x1
ZGluZ0VtcHR5SW5saW5lcyh0aGlzKSwgMCkpOwogICAgICAgICB9CiAgICAgICAgIHJlc29sdmVy
LnNldFN0YXR1cyhCaWRpU3RhdHVzKGRpcmVjdGlvbiwgc3R5bGUoKS0+dW5pY29kZUJpZGkoKSA9
PSBPdmVycmlkZSkpOwotICAgICAgICByZXNvbHZlci5zZXRQb3NpdGlvbihJbmxpbmVJdGVyYXRv
cih0aGlzLCBiaWRpRmlyc3RTa2lwcGluZ0VtcHR5SW5saW5lcyh0aGlzLCAmcmVzb2x2ZXIpLCAw
KSk7CisgICAgICAgIElubGluZUl0ZXJhdG9yIGl0ZXIgPSBJbmxpbmVJdGVyYXRvcih0aGlzLCBi
aWRpRmlyc3RTa2lwcGluZ0VtcHR5SW5saW5lcyh0aGlzLCAmcmVzb2x2ZXIpLCAwKTsKKyAgICAg
ICAgcmVzb2x2ZXIuc2V0UG9zaXRpb24oaXRlciwgbnVtYmVyT2ZJc29sYXRlQW5jZXN0b3JzKGl0
ZXIpKTsKICAgICB9CiAgICAgcmV0dXJuIGN1cnI7CiB9CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMDE0
MzkpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwy
MSBAQAorMjAxMS0xMS0yOSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAg
ICAgICBBc3NlcnRpb24gZmFpbHVyZSAobV9uZXN0ZWRJc29sYXRlQ291bnQgPj0gMSkgaW4gQmlk
aVJlc29sdmVyOjpleGl0SXNvbGF0ZSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02OTI2NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBhIHJlZ3Jlc3Npb24gdGVzdCBmb3IgdGhlIGFzc2VydGlvbiBm
YWlsdXJlLiBBbHNvIGFkZCBhIHJlZ3Jlc3Npb24gdGVzdCBmb3IgYSBoYW5nCisgICAgICAgIGZv
dW5kIGJ5IExldmkgV2VpbnRyYXViIGFuZCBKZXJlbXkgTW9za292aWNoLgorCisgICAgICAgIFRo
aXMgcGF0Y2ggYWxzbyBmaXhlcyB0aGUgYXNzZXJ0aW9uIGZhaWx1cmUgaW4gZmFzdC9ibG9jay9j
aGlsZC1ub3QtcmVtb3ZlZC1mcm9tLXBhcmVudC1saW5lYm94ZXMtY3Jhc2guaHRtbAorICAgICAg
ICBpbnRyb2R1Y2VkIGJ5IHIxMDEyNjguCisKKyAgICAgICAgKiBmYXN0L3RleHQvYmlkaS1pc29s
YXRlLWhhbmctd2l0aC1uZXV0cmFsLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvdGV4dC9iaWRpLWlzb2xhdGUtaGFuZy13aXRoLW5ldXRyYWwuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC90ZXh0L2JpZGktaXNvbGF0ZS1uZXh0bGluZWJyZWFrLWZhaWx1cmUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvYmlkaS1pc29sYXRlLW5leHRsaW5l
YnJlYWstZmFpbHVyZS5odG1sOiBBZGRlZC4KKwogMjAxMS0xMS0yOSAgU2ltb24gRnJhc2VyICA8
c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgTWFjIHJlc3VsdHMgYWZ0
ZXIgcjEwMTM0Mi4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvdGV4dC9iaWRpLWlzb2xhdGUtaGFu
Zy13aXRoLW5ldXRyYWwtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L3RleHQvYmlkaS1pc29sYXRlLWhhbmctd2l0aC1uZXV0cmFsLWV4cGVjdGVkLmh0bWwJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3RleHQvYmlkaS1pc29sYXRlLWhhbmctd2l0
aC1uZXV0cmFsLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0cyBoYXZpbmcgZXhjbGFt
YXRpb24gbWFyayBpbnNpZGUgYW4gaXNvbGF0ZWQgcnVuIGZvbGxvd2luZyBhIGxpbmUgYnJlYWsu
CitXZWJLaXQgc2hvdWxkIG5vdCBmYWxsIGludG8gYW4gaW5maW5pdGUgbG9vcCBvciBoaXQgYW4g
YXNzZXJ0aW9uLjwvcD4KKzxkaXYgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0Ij48YnI+PHNwYW4g
ZGlyPSJydGwiPmEhPC9zcGFuPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L2JpZGktaXNvbGF0ZS1oYW5nLXdpdGgtbmV1dHJhbC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvdGV4dC9iaWRpLWlzb2xhdGUtaGFuZy13aXRoLW5l
dXRyYWwuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvdGV4dC9iaWRpLWlz
b2xhdGUtaGFuZy13aXRoLW5ldXRyYWwuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw4IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8cD5UaGlzIHRlc3RzIGhhdmluZyBl
eGNsYW1hdGlvbiBtYXJrIGluc2lkZSBhbiBpc29sYXRlZCBydW4gZm9sbG93aW5nIGEgbGluZSBi
cmVhay4KK1dlYktpdCBzaG91bGQgbm90IGZhbGwgaW50byBhbiBpbmZpbml0ZSBsb29wIG9yIGhp
dCBhbiBhc3NlcnRpb24uPC9wPgorPGRpdiBkaXI9InJ0bCI+PGJyPjxzcGFuIHN0eWxlPSJ1bmlj
b2RlLWJpZGk6IC13ZWJraXQtaXNvbGF0ZTsgdW5pY29kZS1iaWRpOiBpc29sYXRlOyI+YSE8L3Nw
YW4+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3RleHQv
YmlkaS1pc29sYXRlLW5leHRsaW5lYnJlYWstZmFpbHVyZS1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2JpZGktaXNvbGF0ZS1uZXh0bGluZWJyZWFrLWZh
aWx1cmUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC90ZXh0
L2JpZGktaXNvbGF0ZS1uZXh0bGluZWJyZWFrLWZhaWx1cmUtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDIgQEAKK1RoaXMgdGVzdHMgaGF2aW5nIGFuIGlubGluZSBlbGVtZW50
IHdpdGggLXdlYmtpdC1pc29sYXRlIGltbWVkaWF0ZWx5IGZvbGxvd2luZyBCUi4gV2ViS2l0IHNo
b3VsZCBub3QgaGl0IGFuIGFzc2VydGlvbi4gCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvdGV4
dC9iaWRpLWlzb2xhdGUtbmV4dGxpbmVicmVhay1mYWlsdXJlLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L2JpZGktaXNvbGF0ZS1uZXh0bGluZWJyZWFrLWZhaWx1cmUu
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvdGV4dC9iaWRpLWlzb2xhdGUt
bmV4dGxpbmVicmVhay1mYWlsdXJlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTAgQEAK
KzwhRE9DVFlQRSBodG1sPgorVGhpcyB0ZXN0cyBoYXZpbmcgYW4gaW5saW5lIGVsZW1lbnQgd2l0
aCAtd2Via2l0LWlzb2xhdGUgaW1tZWRpYXRlbHkgZm9sbG93aW5nIEJSLgorV2ViS2l0IHNob3Vs
ZCBub3QgaGl0IGFuIGFzc2VydGlvbi4KKzxicj48c3BhbiBzdHlsZT0idW5pY29kZS1iaWRpOi13
ZWJraXQtaXNvbGF0ZTsiPjwvc3Bhbj4KKzxzY3JpcHQ+CisKK2lmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCis8
L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117086</attachid>
            <date>2011-11-29 18:01:34 -0800</date>
            <delta_ts>2011-11-30 13:28:49 -0800</delta_ts>
            <desc>Fixed bidi-isolate-hang-with-neutral-expected.html</desc>
            <filename>bug-69267-20111129180133.patch</filename>
            <type>text/plain</type>
            <size>11627</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMTQzOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDExLTExLTI5ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEFzc2VydGlvbiBmYWlsdXJlICht
X25lc3RlZElzb2xhdGVDb3VudCA+PSAxKSBpbiBCaWRpUmVzb2x2ZXI6OmV4aXRJc29sYXRlKCkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjY3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGZhaWx1
cmUgd2FzIGNhdXNlZCBieSBvdXIgdXBkYXRpbmcgYmlkaSByZXNvbHZlcidzIGN1cnJlbnQgcG9z
aXRpb24gaW4gbGF5b3V0UnVuc0FuZEZsb2F0c0luUmFuZ2UKKyAgICAgICAgd2l0aG91dCB1cGRh
dGluZyB0aGUgbnVtYmVyIG9mIG5lc3RlZCBpc29sYXRlZCBhbmNlc3RvcnMuIEZpeGVkIHRoZSBi
dWcgYnkgY29tcHV0aW5nIHRoZSBudW1iZXIgb2YKKyAgICAgICAgaXNvbGF0ZWQgYW5jZXN0b3Jz
IHdoZW4gc2V0dGluZyBhIG5ldyBwb3NpdGlvbiB0byB0aGUgYmlkaSByZXNvbHZlci4KKworICAg
ICAgICBBbHNvIHJlbmFtZWQgdGhlIGV4aXN0aW5nIEJpZGlSZXNvbHZlcjo6c2V0UG9zaXRpb24g
dG8gc2V0UG9zaXRpb25JZ25vcmluZ05lc3RlZElzb2xhdGVzIGJlY2F1c2UgdGhpcworICAgICAg
ICB2ZXJzaW9uIGNhbiBiZSB1c2VkIG9ubHkgd2hlbiB3ZSBkb24ndCBoYXZlIHRvIHVwZGF0ZSB0
aGUgbnVtYmVyIG9mIG5lc3RlZCBpc29sYXRlcy4KKworICAgICAgICBUZXN0czogZmFzdC90ZXh0
L2JpZGktaXNvbGF0ZS1oYW5nLXdpdGgtbmV1dHJhbC1leHBlY3RlZC5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L3RleHQvYmlkaS1pc29sYXRlLWhhbmctd2l0aC1uZXV0cmFsLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3QvdGV4dC9iaWRpLWlzb2xhdGUtbmV4dGxpbmVicmVhay1mYWlsdXJlLmh0
bWwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdCaWRpVGV4dCk6CisgICAgICAg
ICogcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkJpZGlS
ZXNvbHZlcjo6c2V0UG9zaXRpb25JZ25vcmluZ05lc3RlZElzb2xhdGVzKToKKyAgICAgICAgKFdl
YkNvcmU6OkJpZGlSZXNvbHZlcjo6c2V0UG9zaXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9J
bmxpbmVJdGVyYXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6bnVtYmVyT2ZJc29sYXRlQW5jZXN0
b3JzKTogVGFrZXMgSW5saW5lSXRlcmF0b3IgaW5zdGVhZCBvZiBvYmplY3QgYW5kIHJvb3QuCisg
ICAgICAgIChXZWJDb3JlOjpJbmxpbmVCaWRpUmVzb2x2ZXI6OmFwcGVuZFJ1bik6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojpjb25zdHJ1Y3RCaWRpUnVucyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bGF5
b3V0UnVuc0FuZEZsb2F0c0luUmFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6
OmRldGVybWluZVN0YXJ0UG9zaXRpb24pOgorCiAyMDExLTExLTI5ICBFcmlrIEFydmlkc3NvbiAg
PGFydkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViSURMOiBBZGQgc3VwcG9ydCBmb3Igc3Rh
dGljIGZvciBKU0MgYW5kIFY4CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0NvbnRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAJKHJldmlzaW9uIDEwMTQzMikKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQwMCw3ICs0MDAsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0Jp
ZGlUZXh0KGNvbnN0CiAKICAgICBCaWRpUmVzb2x2ZXI8VGV4dFJ1bkl0ZXJhdG9yLCBCaWRpQ2hh
cmFjdGVyUnVuPiBiaWRpUmVzb2x2ZXI7CiAgICAgYmlkaVJlc29sdmVyLnNldFN0YXR1cyhCaWRp
U3RhdHVzKHJ1bi5kaXJlY3Rpb24oKSwgcnVuLmRpcmVjdGlvbmFsT3ZlcnJpZGUoKSkpOwotICAg
IGJpZGlSZXNvbHZlci5zZXRQb3NpdGlvbihUZXh0UnVuSXRlcmF0b3IoJnJ1biwgMCkpOworICAg
IGJpZGlSZXNvbHZlci5zZXRQb3NpdGlvbklnbm9yaW5nTmVzdGVkSXNvbGF0ZXMoVGV4dFJ1bkl0
ZXJhdG9yKCZydW4sIDApKTsKIAogICAgIC8vIEZJWE1FOiBUaGlzIG93bmVyc2hpcCBzaG91bGQg
YmUgcmV2ZXJzZWQuIFdlIHNob3VsZCBwYXNzIEJpZGlSdW5MaXN0CiAgICAgLy8gdG8gQmlkaVJl
c29sdmVyIGluIGNyZWF0ZUJpZGlSdW5zRm9yTGluZS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaAkocmV2aXNpb24gMTAxNDMyKQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaAkod29ya2luZyBjb3B5KQpAQCAt
MTc3LDcgKzE3NywxMyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIGNvbnN0IEl0ZXJhdG9yJiBw
b3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY3VycmVudDsgfQotICAgIHZvaWQgc2V0UG9zaXRp
b24oY29uc3QgSXRlcmF0b3ImIHBvc2l0aW9uKSB7IG1fY3VycmVudCA9IHBvc2l0aW9uOyB9Cisg
ICAgLy8gRklYTUU6IFJlbmFtZSBzZXRQb3NpdGlvbiB0byByZWZsZWN0IHRoZSBmYWN0IGl0IGRv
ZXNuJ3QgdXBkYXRlIG1fbmVzdGVkSXNvbGF0ZUNvdW50CisgICAgdm9pZCBzZXRQb3NpdGlvbkln
bm9yaW5nTmVzdGVkSXNvbGF0ZXMoY29uc3QgSXRlcmF0b3ImIHBvc2l0aW9uKSB7IG1fY3VycmVu
dCA9IHBvc2l0aW9uOyB9CisgICAgdm9pZCBzZXRQb3NpdGlvbihjb25zdCBJdGVyYXRvciYgcG9z
aXRpb24sIHVuc2lnbmVkIG5lc3RlZElzb2xhdGVkQ291bnQpCisgICAgeworICAgICAgICBtX2N1
cnJlbnQgPSBwb3NpdGlvbjsKKyAgICAgICAgbV9uZXN0ZWRJc29sYXRlQ291bnQgPSBuZXN0ZWRJ
c29sYXRlZENvdW50OworICAgIH0KIAogICAgIHZvaWQgaW5jcmVtZW50KCkgeyBtX2N1cnJlbnQu
aW5jcmVtZW50KCk7IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUl0
ZXJhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUl0
ZXJhdG9yLmgJKHJldmlzaW9uIDEwMTQzMikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9J
bmxpbmVJdGVyYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC00MDYsMTEgKzQwNiwxMyBAQCBzdGF0
aWMgaW5saW5lIFJlbmRlck9iamVjdCogY29udGFpbmluZ0lzCiAgICAgcmV0dXJuIDA7CiB9CiAK
LXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbnVtYmVyT2ZJc29sYXRlQW5jZXN0b3JzKFJlbmRlck9i
amVjdCogb2JqZWN0LCBSZW5kZXJPYmplY3QqIHJvb3QpCitzdGF0aWMgaW5saW5lIHVuc2lnbmVk
IG51bWJlck9mSXNvbGF0ZUFuY2VzdG9ycyhjb25zdCBJbmxpbmVJdGVyYXRvciYgaXRlcikKIHsK
LSAgICBBU1NFUlQob2JqZWN0KTsKKyAgICBSZW5kZXJPYmplY3QqIG9iamVjdCA9IGl0ZXIub2Jq
ZWN0KCk7CisgICAgaWYgKCFvYmplY3QpCisgICAgICAgIHJldHVybiAwOwogICAgIHVuc2lnbmVk
IGNvdW50ID0gMDsKLSAgICB3aGlsZSAob2JqZWN0ICYmIG9iamVjdCAhPSByb290KSB7CisgICAg
d2hpbGUgKG9iamVjdCAmJiBvYmplY3QgIT0gaXRlci5yb290KCkpIHsKICAgICAgICAgaWYgKGlz
SXNvbGF0ZWRJbmxpbmUob2JqZWN0KSkKICAgICAgICAgICAgIGNvdW50Kys7CiAgICAgICAgIG9i
amVjdCA9IG9iamVjdC0+cGFyZW50KCk7CkBAIC00ODIsNyArNDg0LDcgQEAgaW5saW5lIHZvaWQg
SW5saW5lQmlkaVJlc29sdmVyOjphcHBlbmRSdQogICAgICAgICAvLyBLZWVwIHRyYWNrIG9mIHdo
ZW4gd2UgZW50ZXIvbGVhdmUgInVuaWNvZGUtYmlkaTogaXNvbGF0ZSIgaW5saW5lcy4KICAgICAg
ICAgLy8gSW5pdGlhbGl6ZSBvdXIgc3RhdGUgZGVwZW5kaW5nIG9uIGlmIHdlJ3JlIHN0YXJ0aW5n
IGluIHRoZSBtaWRkbGUgb2Ygc3VjaCBhbiBpbmxpbmUuCiAgICAgICAgIC8vIEZJWE1FOiBDb3Vs
ZCB0aGlzIGluaXRpYWxpemUgZnJvbSB0aGlzLT5pbklzb2xhdGUoKSBpbnN0ZWFkIG9mIHdhbGtp
bmcgdXAgdGhlIHJlbmRlciB0cmVlPwotICAgICAgICBJc29sYXRlVHJhY2tlciBpc29sYXRlVHJh
Y2tlcihudW1iZXJPZklzb2xhdGVBbmNlc3RvcnMobV9zb3IubV9vYmosIG1fc29yLnJvb3QoKSkp
OworICAgICAgICBJc29sYXRlVHJhY2tlciBpc29sYXRlVHJhY2tlcihudW1iZXJPZklzb2xhdGVB
bmNlc3RvcnMobV9zb3IpKTsKICAgICAgICAgaW50IHN0YXJ0ID0gbV9zb3IubV9wb3M7CiAgICAg
ICAgIFJlbmRlck9iamVjdCogb2JqID0gbV9zb3IubV9vYmo7CiAgICAgICAgIHdoaWxlIChvYmog
JiYgb2JqICE9IG1fZW9yLm1fb2JqICYmIG9iaiAhPSBlbmRPZkxpbmUubV9vYmopIHsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQu
Y3BwCShyZXZpc2lvbiAxMDE0MzIpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2tMaW5lTGF5b3V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTY2LDcgKzk2Niw3IEBAIHN0
YXRpYyBpbmxpbmUgdm9pZCBjb25zdHJ1Y3RCaWRpUnVucyhJbmwKICAgICAgICAgUmVuZGVyT2Jq
ZWN0KiBzdGFydE9iaiA9IGJpZGlGaXJzdFNraXBwaW5nRW1wdHlJbmxpbmVzKGlzb2xhdGVkU3Bh
biwgJmlzb2xhdGVkUmVzb2x2ZXIpOwogICAgICAgICBpZiAoIXN0YXJ0T2JqKQogICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgIGlzb2xhdGVkUmVzb2x2ZXIuc2V0UG9zaXRpb24oSW5saW5l
SXRlcmF0b3IoaXNvbGF0ZWRTcGFuLCBzdGFydE9iaiwgMCkpOworICAgICAgICBpc29sYXRlZFJl
c29sdmVyLnNldFBvc2l0aW9uSWdub3JpbmdOZXN0ZWRJc29sYXRlcyhJbmxpbmVJdGVyYXRvcihp
c29sYXRlZFNwYW4sIHN0YXJ0T2JqLCAwKSk7CiAKICAgICAgICAgLy8gRklYTUU6IGlzb2xhdGVk
RW5kIHNob3VsZCBwcm9iYWJseSBlcXVhbCBlbmQgb3IgdGhlIGxhc3QgY2hhciBpbiBpc29sYXRl
ZFNwYW4uCiAgICAgICAgIElubGluZUl0ZXJhdG9yIGlzb2xhdGVkRW5kID0gZW5kT2ZMaW5lOwpA
QCAtMTIxNiw3ICsxMjE2LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0UnVuc0FuZEZsb2F0
c0luUgogCiAgICAgICAgIGxheW91dFN0YXRlLmxpbmVJbmZvKCkuc2V0RW1wdHkodHJ1ZSk7CiAK
LSAgICAgICAgSW5saW5lSXRlcmF0b3Igb2xkRW5kID0gZW5kOworICAgICAgICBjb25zdCBJbmxp
bmVJdGVyYXRvciBvbGRFbmQgPSBlbmQ7CiAgICAgICAgIGJvb2wgaXNOZXdVQkFQYXJhZ3JhcGgg
PSBsYXlvdXRTdGF0ZS5saW5lSW5mbygpLnByZXZpb3VzTGluZUJyb2tlQ2xlYW5seSgpOwogICAg
ICAgICBGbG9hdGluZ09iamVjdCogbGFzdEZsb2F0RnJvbVByZXZpb3VzTGluZSA9IChtX2Zsb2F0
aW5nT2JqZWN0cyAmJiAhbV9mbG9hdGluZ09iamVjdHMtPnNldCgpLmlzRW1wdHkoKSkgPyBtX2Zs
b2F0aW5nT2JqZWN0cy0+c2V0KCkubGFzdCgpIDogMDsKICAgICAgICAgZW5kID0gbGluZUJyZWFr
ZXIubmV4dExpbmVCcmVhayhyZXNvbHZlciwgbGF5b3V0U3RhdGUubGluZUluZm8oKSwgbGluZUJy
ZWFrSXRlcmF0b3JJbmZvLCBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lLCBjb25zZWN1dGl2ZUh5
cGhlbmF0ZWRMaW5lcyk7CkBAIC0xMjg0LDcgKzEyODQsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjps
YXlvdXRSdW5zQW5kRmxvYXRzSW5SCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZUJv
eC0+ZGVsZXRlTGluZShyZW5kZXJBcmVuYSgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICByZW1vdmVGbG9hdGluZ09iamVjdHNCZWxvdyhsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lLCBv
bGRMb2dpY2FsSGVpZ2h0KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRMb2dpY2Fs
SGVpZ2h0KG9sZExvZ2ljYWxIZWlnaHQgKyBhZGp1c3RtZW50KTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZXNvbHZlci5zZXRQb3NpdGlvbihvbGRFbmQpOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJlc29sdmVyLnNldFBvc2l0aW9uSWdub3JpbmdOZXN0ZWRJc29sYXRlcyhv
bGRFbmQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZCA9IG9sZEVuZDsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICAgICAg
IH0KQEAgLTEzMjQsNyArMTMyNCw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dFJ1bnNBbmRG
bG9hdHNJblIKICAgICAgICAgfQogCiAgICAgICAgIGxpbmVNaWRwb2ludFN0YXRlLnJlc2V0KCk7
Ci0gICAgICAgIHJlc29sdmVyLnNldFBvc2l0aW9uKGVuZCk7CisgICAgICAgIHJlc29sdmVyLnNl
dFBvc2l0aW9uKGVuZCwgbnVtYmVyT2ZJc29sYXRlQW5jZXN0b3JzKGVuZCkpOwogICAgIH0KIH0K
IApAQCAtMTYzOSw3ICsxNjM5LDggQEAgUm9vdElubGluZUJveCogUmVuZGVyQmxvY2s6OmRldGVy
bWluZVN0YQogCiAgICAgaWYgKGxhc3QpIHsKICAgICAgICAgc2V0TG9naWNhbEhlaWdodChsYXN0
LT5saW5lQm90dG9tV2l0aExlYWRpbmcoKSk7Ci0gICAgICAgIHJlc29sdmVyLnNldFBvc2l0aW9u
KElubGluZUl0ZXJhdG9yKHRoaXMsIGxhc3QtPmxpbmVCcmVha09iaigpLCBsYXN0LT5saW5lQnJl
YWtQb3MoKSkpOworICAgICAgICBJbmxpbmVJdGVyYXRvciBpdGVyID0gSW5saW5lSXRlcmF0b3Io
dGhpcywgbGFzdC0+bGluZUJyZWFrT2JqKCksIGxhc3QtPmxpbmVCcmVha1BvcygpKTsKKyAgICAg
ICAgcmVzb2x2ZXIuc2V0UG9zaXRpb24oaXRlciwgbnVtYmVyT2ZJc29sYXRlQW5jZXN0b3JzKGl0
ZXIpKTsKICAgICAgICAgcmVzb2x2ZXIuc2V0U3RhdHVzKGxhc3QtPmxpbmVCcmVha0JpZGlTdGF0
dXMoKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgVGV4dERpcmVjdGlvbiBkaXJlY3Rpb24gPSBz
dHlsZSgpLT5kaXJlY3Rpb24oKTsKQEAgLTE2NDgsNyArMTY0OSw4IEBAIFJvb3RJbmxpbmVCb3gq
IFJlbmRlckJsb2NrOjpkZXRlcm1pbmVTdGEKICAgICAgICAgICAgIGRldGVybWluZVBhcmFncmFw
aERpcmVjdGlvbihkaXJlY3Rpb24sIElubGluZUl0ZXJhdG9yKHRoaXMsIGJpZGlGaXJzdEluY2x1
ZGluZ0VtcHR5SW5saW5lcyh0aGlzKSwgMCkpOwogICAgICAgICB9CiAgICAgICAgIHJlc29sdmVy
LnNldFN0YXR1cyhCaWRpU3RhdHVzKGRpcmVjdGlvbiwgc3R5bGUoKS0+dW5pY29kZUJpZGkoKSA9
PSBPdmVycmlkZSkpOwotICAgICAgICByZXNvbHZlci5zZXRQb3NpdGlvbihJbmxpbmVJdGVyYXRv
cih0aGlzLCBiaWRpRmlyc3RTa2lwcGluZ0VtcHR5SW5saW5lcyh0aGlzLCAmcmVzb2x2ZXIpLCAw
KSk7CisgICAgICAgIElubGluZUl0ZXJhdG9yIGl0ZXIgPSBJbmxpbmVJdGVyYXRvcih0aGlzLCBi
aWRpRmlyc3RTa2lwcGluZ0VtcHR5SW5saW5lcyh0aGlzLCAmcmVzb2x2ZXIpLCAwKTsKKyAgICAg
ICAgcmVzb2x2ZXIuc2V0UG9zaXRpb24oaXRlciwgbnVtYmVyT2ZJc29sYXRlQW5jZXN0b3JzKGl0
ZXIpKTsKICAgICB9CiAgICAgcmV0dXJuIGN1cnI7CiB9CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMDE0
MzkpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwy
MSBAQAorMjAxMS0xMS0yOSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAg
ICAgICBBc3NlcnRpb24gZmFpbHVyZSAobV9uZXN0ZWRJc29sYXRlQ291bnQgPj0gMSkgaW4gQmlk
aVJlc29sdmVyOjpleGl0SXNvbGF0ZSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02OTI2NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBhIHJlZ3Jlc3Npb24gdGVzdCBmb3IgdGhlIGFzc2VydGlvbiBm
YWlsdXJlLiBBbHNvIGFkZCBhIHJlZ3Jlc3Npb24gdGVzdCBmb3IgYSBoYW5nCisgICAgICAgIGZv
dW5kIGJ5IExldmkgV2VpbnRyYXViIGFuZCBKZXJlbXkgTW9za292aWNoLgorCisgICAgICAgIFRo
aXMgcGF0Y2ggYWxzbyBmaXhlcyB0aGUgYXNzZXJ0aW9uIGZhaWx1cmUgaW4gZmFzdC9ibG9jay9j
aGlsZC1ub3QtcmVtb3ZlZC1mcm9tLXBhcmVudC1saW5lYm94ZXMtY3Jhc2guaHRtbAorICAgICAg
ICBpbnRyb2R1Y2VkIGJ5IHIxMDEyNjguCisKKyAgICAgICAgKiBmYXN0L3RleHQvYmlkaS1pc29s
YXRlLWhhbmctd2l0aC1uZXV0cmFsLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvdGV4dC9iaWRpLWlzb2xhdGUtaGFuZy13aXRoLW5ldXRyYWwuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC90ZXh0L2JpZGktaXNvbGF0ZS1uZXh0bGluZWJyZWFrLWZhaWx1cmUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvYmlkaS1pc29sYXRlLW5leHRsaW5l
YnJlYWstZmFpbHVyZS5odG1sOiBBZGRlZC4KKwogMjAxMS0xMS0yOSAgU2ltb24gRnJhc2VyICA8
c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgTWFjIHJlc3VsdHMgYWZ0
ZXIgcjEwMTM0Mi4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvdGV4dC9iaWRpLWlzb2xhdGUtaGFu
Zy13aXRoLW5ldXRyYWwtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L3RleHQvYmlkaS1pc29sYXRlLWhhbmctd2l0aC1uZXV0cmFsLWV4cGVjdGVkLmh0bWwJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3RleHQvYmlkaS1pc29sYXRlLWhhbmctd2l0
aC1uZXV0cmFsLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0cyBoYXZpbmcgZXhjbGFt
YXRpb24gbWFyayBpbnNpZGUgYW4gaXNvbGF0ZWQgcnVuIGZvbGxvd2luZyBhIGxpbmUgYnJlYWsu
CitXZWJLaXQgc2hvdWxkIG5vdCBmYWxsIGludG8gYW4gaW5maW5pdGUgbG9vcCBvciBoaXQgYW4g
YXNzZXJ0aW9uLjwvcD4KKzxkaXYgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0Ij48YnI+PHNwYW4+
IWE8L3NwYW4+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L3RleHQvYmlkaS1pc29sYXRlLWhhbmctd2l0aC1uZXV0cmFsLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L2JpZGktaXNvbGF0ZS1oYW5nLXdpdGgtbmV1dHJhbC5odG1s
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2JpZGktaXNvbGF0ZS1oYW5n
LXdpdGgtbmV1dHJhbC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDggQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdHMgaGF2aW5nIGV4Y2xhbWF0aW9u
IG1hcmsgaW5zaWRlIGFuIGlzb2xhdGVkIHJ1biBmb2xsb3dpbmcgYSBsaW5lIGJyZWFrLgorV2Vi
S2l0IHNob3VsZCBub3QgZmFsbCBpbnRvIGFuIGluZmluaXRlIGxvb3Agb3IgaGl0IGFuIGFzc2Vy
dGlvbi48L3A+Cis8ZGl2IGRpcj0icnRsIj48YnI+PHNwYW4gc3R5bGU9InVuaWNvZGUtYmlkaTog
LXdlYmtpdC1pc29sYXRlOyB1bmljb2RlLWJpZGk6IGlzb2xhdGU7Ij5hITwvc3Bhbj48L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvdGV4dC9iaWRpLWlzb2xh
dGUtbmV4dGxpbmVicmVhay1mYWlsdXJlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L3RleHQvYmlkaS1pc29sYXRlLW5leHRsaW5lYnJlYWstZmFpbHVyZS1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3RleHQvYmlkaS1pc29s
YXRlLW5leHRsaW5lYnJlYWstZmFpbHVyZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMiBAQAorVGhpcyB0ZXN0cyBoYXZpbmcgYW4gaW5saW5lIGVsZW1lbnQgd2l0aCAtd2Vi
a2l0LWlzb2xhdGUgaW1tZWRpYXRlbHkgZm9sbG93aW5nIEJSLiBXZWJLaXQgc2hvdWxkIG5vdCBo
aXQgYW4gYXNzZXJ0aW9uLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2JpZGktaXNv
bGF0ZS1uZXh0bGluZWJyZWFrLWZhaWx1cmUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L3RleHQvYmlkaS1pc29sYXRlLW5leHRsaW5lYnJlYWstZmFpbHVyZS5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2JpZGktaXNvbGF0ZS1uZXh0bGluZWJy
ZWFrLWZhaWx1cmUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBF
IGh0bWw+CitUaGlzIHRlc3RzIGhhdmluZyBhbiBpbmxpbmUgZWxlbWVudCB3aXRoIC13ZWJraXQt
aXNvbGF0ZSBpbW1lZGlhdGVseSBmb2xsb3dpbmcgQlIuCitXZWJLaXQgc2hvdWxkIG5vdCBoaXQg
YW4gYXNzZXJ0aW9uLgorPGJyPjxzcGFuIHN0eWxlPSJ1bmljb2RlLWJpZGk6LXdlYmtpdC1pc29s
YXRlOyI+PC9zcGFuPgorPHNjcmlwdD4KKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKKzwvc2NyaXB0Pgo=
</data>
<flag name="review"
          id="116406"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>