<?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>66510</bug_id>
          
          <creation_ts>2011-08-18 16:22:23 -0700</creation_ts>
          <short_desc>[chromium] editing/selection/regional-indicators.html timing out on Linux</short_desc>
          <delta_ts>2011-09-02 03:53:18 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tony Chang">tony</reporter>
          <assigned_to name="Kenichi Ishibashi">bashi</assigned_to>
          <cc>bashi</cc>
    
    <cc>reed</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>453477</commentid>
    <comment_count>0</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-08-18 16:22:23 -0700</bug_when>
    <thetext>http://test-results.appspot.com/dashboards/flakiness_dashboard.html#showExpectations=true&amp;tests=editing%2Fselection%2Fregional-indicators.html

It looks like we&apos;re hitting an assert in skia, but the bot says it&apos;s a timeout.  I&apos;m going to mark it as timeout to make the bot happy.

webkit/support/webkit_support.cc:75: Failure
Failed
[15812:15812:10549516918781:FATAL:SkUtils.cpp(324)] third_party/skia/src/core/SkUtils.cpp:324: failed assertion &quot;!(((c) &amp; 0xFC00) == 0xDC00)&quot;

Backtrace:
	base::debug::StackTrace::StackTrace() [0x8c92ca]
	logging::LogMessage::~LogMessage() [0x85c326]
	SkDebugf_FileLine() [0x9629a3]
	SkUTF16_NextUnichar() [0x956d71]
	SkPaint::textToGlyphs() [0x921156]
	WebCore::GlyphPage::fill() [0x1077564]
	WebCore::fill() [0x100480d]
	WebCore::GlyphPageTreeNode::initializePage() [0x1004f91]
	WebCore::GlyphPageTreeNode::getChild() [0x1005578]
	WebCore::GlyphPageTreeNode::getRootChild() [0xffba37]
	WebCore::Font::glyphDataAndPageForCharacter() [0xff96d2]
	WebCore::Font::glyphDataForCharacter() [0xff9508]
	WebCore::ComplexTextController::nextScriptRun() [0x10d8b06]
	WebCore::ComplexTextController::widthOfFullRun() [0x10d8c17]
	WebCore::Font::floatWidthForComplexText() [0x102a326]
	WebCore::Font::width() [0xfea074]
	WebCore::textWidth() [0x16fd93d]
	WebCore::RenderBlock::LineBreaker::nextLineBreak() [0x16ff93b]
	WebCore::RenderBlock::layoutRunsAndFloatsInRange() [0x16f9dbd]
	WebCore::RenderBlock::layoutRunsAndFloats() [0x16f9aa2]
	WebCore::RenderBlock::layoutInlineChildren() [0x16fb7d9]
	WebCore::RenderBlock::layoutBlock() [0x16be479]
	WebCore::RenderBlock::layout() [0x16bdd52]
	WebCore::RenderBlock::layoutBlockChild() [0x16c18e4]
	WebCore::RenderBlock::layoutBlockChildren() [0x16c150a]
	WebCore::RenderBlock::layoutBlock() [0x16be497]
	WebCore::RenderBlock::layout() [0x16bdd52]
	WebCore::RenderBlock::layoutBlockChild() [0x16c18e4]
	WebCore::RenderBlock::layoutBlockChildren() [0x16c150a]
	WebCore::RenderBlock::layoutBlock() [0x16be497]
	WebCore::RenderBlock::layout() [0x16bdd52]
	WebCore::RenderBlock::layoutBlockChild() [0x16c18e4]
	WebCore::RenderBlock::layoutBlockChildren() [0x16c150a]
	WebCore::RenderBlock::layoutBlock() [0x16be497]
	WebCore::RenderBlock::layout() [0x16bdd52]
	WebCore::RenderView::layout() [0x17e4ced]
	WebCore::FrameView::layout() [0x1451ab9]
	WebCore::Document::updateLayout() [0xdd8e6d]
	WebCore::Document::updateLayoutIgnorePendingStylesheets() [0xdd8f4e]
	WebCore::VisiblePosition::canonicalPosition() [0x12be15f]
	WebCore::VisiblePosition::init() [0x12bc4d7]
	WebCore::VisiblePosition::VisiblePosition() [0x12bc49d]
	WebCore::VisibleSelection::setBaseAndExtentToDeepEquivalents() [0x12c0660]
	WebCore::VisibleSelection::validate() [0x12c197d]
	WebCore::VisibleSelection::VisibleSelection() [0x12bfa5f]
	WebCore::DOMSelection::addRange() [0x141561a]
	WebCore::DOMSelectionInternal::addRangeCallback() [0x7a1bd2]
	v8::internal::HandleApiCallHelper&lt;&gt;() [0xa0901a]
	v8::internal::Builtin_Impl_HandleApiCall() [0xa03c57]
	v8::internal::Builtin_HandleApiCall() [0xa03c28]
	0x155c22d3e14e</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453664</commentid>
    <comment_count>1</comment_count>
      <attachid>104466</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-08-18 23:23:02 -0700</bug_when>
    <thetext>Created attachment 104466
Patch V0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453665</commentid>
    <comment_count>2</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-08-18 23:24:35 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=104466) [details]
&gt; Patch V0

With this patch, editing/selection/regional-indicators.html still caused assertion failure on chromium part (on harfbuzz):

DumpRenderTree: third_party/harfbuzz/src/harfbuzz-shaper.cpp:433: void HB_HeuristicSetGlyphAttributes(HB_ShaperItem*): Assertion `length &lt;= item-&gt;num_glyphs&apos; failed.

http://codereview.chromium.org/165165 introduced this assertion.  IMHO, this assertion might be wrong.  I&apos;ll create a bug entry for this on http://crbug.com</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461004</commentid>
    <comment_count>3</comment_count>
      <attachid>106080</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-09-01 19:04:51 -0700</bug_when>
    <thetext>Created attachment 106080
Patch V1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461005</commentid>
    <comment_count>4</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-09-01 19:07:36 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Created an attachment (id=106080) [details]
&gt; Patch V1

Fix for Chromium part was landed.  This patch will make some regional indicators related test pass (or not being timeout).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461109</commentid>
    <comment_count>5</comment_count>
      <attachid>106080</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-09-02 02:47:34 -0700</bug_when>
    <thetext>Comment on attachment 106080
Patch V1

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

&gt; LayoutTests/ChangeLog:11
&gt; +        [chromium] editing/selection/regional-indicators.html timing out on Linux
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=66510
&gt; +
&gt; +        ComplexTextControllerLinux is now surrogate pairs aware, therefore;
&gt; +        - editing/selection/regional-indicators.html should pass.
&gt; +        - editing/deleting/regional-indicators.html should not timeout.
&gt; +        - fast/text/regional-indicator-symbols.html should pass.
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).

The typical ChangeLog entry format is:

&lt;summary&gt;
&lt;Bug URL&gt;

Reviewed by ...

&lt;Detail ....&gt;

&gt; Source/WebCore/ChangeLog:10
&gt; +        [chromium] editing/selection/regional-indicators.html timing out on Linux
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=66510
&gt; +
&gt; +        Uses SurrogatePairAwareTextIerator in ComplexTextControllerLinux to handle surrogate pairs correctly.
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        No new tests. editing/selection/regional-indicators.html should pass with this patch.

ditto.

&gt; Source/WebCore/platform/graphics/chromium/ComplexTextControllerLinux.cpp:239
&gt; +static UChar32 surrogatePairAwareCharacter(const UChar* characters, unsigned lastCharacterIndex)

Probably the name should be
  surrogatePairAwareFirstCharacter()
?

&apos;lastCharacterIndex&apos; might be confusing.  &apos;length&apos; or &apos;charactersLength&apos; is enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461116</commentid>
    <comment_count>6</comment_count>
      <attachid>106110</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-09-02 03:11:26 -0700</bug_when>
    <thetext>Created attachment 106110
Patch V2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461117</commentid>
    <comment_count>7</comment_count>
      <attachid>106080</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-09-02 03:12:56 -0700</bug_when>
    <thetext>Comment on attachment 106080
Patch V1

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

Hi Kent-san,

Thank you for review! Addressed your comments.

&gt;&gt; LayoutTests/ChangeLog:11
&gt;&gt; +        Reviewed by NOBODY (OOPS!).
&gt; 
&gt; The typical ChangeLog entry format is:
&gt; 
&gt; &lt;summary&gt;
&gt; &lt;Bug URL&gt;
&gt; 
&gt; Reviewed by ...
&gt; 
&gt; &lt;Detail ....&gt;

Done.

&gt;&gt; Source/WebCore/ChangeLog:10
&gt;&gt; +        No new tests. editing/selection/regional-indicators.html should pass with this patch.
&gt; 
&gt; ditto.

Done.

&gt;&gt; Source/WebCore/platform/graphics/chromium/ComplexTextControllerLinux.cpp:239
&gt;&gt; +static UChar32 surrogatePairAwareCharacter(const UChar* characters, unsigned lastCharacterIndex)
&gt; 
&gt; Probably the name should be
&gt;   surrogatePairAwareFirstCharacter()
&gt; ?
&gt; 
&gt; &apos;lastCharacterIndex&apos; might be confusing.  &apos;length&apos; or &apos;charactersLength&apos; is enough.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461119</commentid>
    <comment_count>8</comment_count>
      <attachid>106110</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-09-02 03:15:05 -0700</bug_when>
    <thetext>Comment on attachment 106110
Patch V2

Looks ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461123</commentid>
    <comment_count>9</comment_count>
      <attachid>106110</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-09-02 03:17:29 -0700</bug_when>
    <thetext>Comment on attachment 106110
Patch V2

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461142</commentid>
    <comment_count>10</comment_count>
      <attachid>106110</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-02 03:53:13 -0700</bug_when>
    <thetext>Comment on attachment 106110
Patch V2

Clearing flags on attachment: 106110

Committed r94403: &lt;http://trac.webkit.org/changeset/94403&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461143</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-02 03:53:18 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104466</attachid>
            <date>2011-08-18 23:23:02 -0700</date>
            <delta_ts>2011-09-01 19:04:45 -0700</delta_ts>
            <desc>Patch V0</desc>
            <filename>bug-66510-20110819152301.patch</filename>
            <type>text/plain</type>
            <size>4827</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTMzNzEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxOGM4YmZhN2Q1MTk4NjA1
OWMxYmJiYTZjY2ExMzE3ZDYwYjIzZGUzLi4wMmQ0Y2Y1ZGUwMWYxNWZjNjNiZGIzODVjOGI1MTEy
NmVmYTM0ZjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDgtMTggIEtlbmlj
aGkgSXNoaWJhc2hpICA8YmFzaGlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0g
ZWRpdGluZy9zZWxlY3Rpb24vcmVnaW9uYWwtaW5kaWNhdG9ycy5odG1sIHRpbWluZyBvdXQgb24g
TGludXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2
NTEwCisKKyAgICAgICAgVXNlcyBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SWVyYXRvciBpbiBDb21w
bGV4VGV4dENvbnRyb2xsZXJMaW51eCB0byBoYW5kbGUgc3Vycm9nYXRlIHBhaXJzIGNvcnJlY3Rs
eS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBu
ZXcgdGVzdHMuIGVkaXRpbmcvc2VsZWN0aW9uL3JlZ2lvbmFsLWluZGljYXRvcnMuaHRtbCBzaG91
bGQgcGFzcyB3aXRoIHRoaXMgcGF0Y2ggKFdlIGFsc28gbmVlZCB0byBmaXggY2hyb21pdW0gcGFy
dCBzbyBpdCBkb2Vzbid0IHBhc3MgeWV0KS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0NvbXBsZXhUZXh0Q29udHJvbGxlckxpbnV4LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNvbXBsZXhUZXh0Q29udHJvbGxlcjo6bmV4dFNjcmlwdFJ1bik6IFVzZWQgU3Vycm9nYXRl
UGFpckF3YXJlVGV4dEl0ZXJhdG9yIHRvIHNwbGl0IHJ1bi4KKyAgICAgICAgKFdlYkNvcmU6OnN1
cnJvZ2F0ZVBhaXJBd2FyZUNoYXJhY3Rlcik6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q29t
cGxleFRleHRDb250cm9sbGVyOjpzZXR1cEZvbnRGb3JTY3JpcHRSdW4pOiBVc2VkIHN1cnJvZ2F0
ZVBhaXJBd2FyZUNoYXJhY3RlcigpIHRvIGdldCBhcHByb3ByaWF0ZSBGb250RGF0YS4KKwogMjAx
MS0wOC0xOCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBwb3Np
dGlvbkZvclBvaW50IHJldHVybnMgd3JvbmcgVmlzaWJsZVBvc2l0aW9uIGF0IGJpZGkgYm91bmRh
cmllcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vQ29tcGxleFRleHRDb250cm9sbGVyTGludXguY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29tcGxleFRleHRDb250cm9sbGVyTGludXguY3BwCmluZGV4
IDI2NjMxMDZmZGQ3Njg5MmQ2OGNjOTUwMGFiOWI0ZjNjNzM0OTUzOTMuLmY0MGEzN2E5MjQ4OWZi
YjYxYzI3NThlZWI4ZGM5ZDQwYzk1Y2Y4MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0NvbXBsZXhUZXh0Q29udHJvbGxlckxpbnV4LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Db21wbGV4VGV4
dENvbnRyb2xsZXJMaW51eC5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKIAogI2luY2x1ZGUgIkZsb2F0
UmVjdC5oIgogI2luY2x1ZGUgIkZvbnQuaCIKKyNpbmNsdWRlICJTdXJyb2dhdGVQYWlyQXdhcmVU
ZXh0SXRlcmF0b3IuaCIKICNpbmNsdWRlICJUZXh0UnVuLmgiCiAKIGV4dGVybiAiQyIgewpAQCAt
MTc3LDE1ICsxNzgsMjEgQEAgYm9vbCBDb21wbGV4VGV4dENvbnRyb2xsZXI6Om5leHRTY3JpcHRS
dW4oKQogICAgIC8vIGluIHRoZSBoYXJmYnV6eiBkYXRhIHN0cnVjdHVyZXMgdG8gZS5nLiBwaWNr
IHRoZSBjb3JyZWN0IHNjcmlwdCdzIHNoYXBlci4KICAgICAvLyBTbyB3ZSBhbGxvdyB0aGF0IHRv
IHJ1biBmaXJzdCwgdGhlbiBkbyBhIHNlY29uZCBwYXNzIG92ZXIgdGhlIHJhbmdlIGl0CiAgICAg
Ly8gZm91bmQgYW5kIHRha2UgdGhlIGxhcmdlc3Qgc3VicmVnaW9uIHRoYXQgc3RheXMgd2l0aGlu
IGEgc2luZ2xlIGZvbnQuCi0gICAgbV9jdXJyZW50Rm9udERhdGEgPSBtX2ZvbnQtPmdseXBoRGF0
YUZvckNoYXJhY3RlcihtX2l0ZW0uc3RyaW5nW21faXRlbS5pdGVtLnBvc10sIGZhbHNlKS5mb250
RGF0YTsKLSAgICB1bnNpZ25lZCBlbmRPZlJ1bjsKLSAgICBmb3IgKGVuZE9mUnVuID0gMTsgZW5k
T2ZSdW4gPCBtX2l0ZW0uaXRlbS5sZW5ndGg7ICsrZW5kT2ZSdW4pIHsKLSAgICAgICAgY29uc3Qg
U2ltcGxlRm9udERhdGEqIG5leHRGb250RGF0YSA9IG1fZm9udC0+Z2x5cGhEYXRhRm9yQ2hhcmFj
dGVyKG1faXRlbS5zdHJpbmdbbV9pdGVtLml0ZW0ucG9zICsgZW5kT2ZSdW5dLCBmYWxzZSkuZm9u
dERhdGE7CisgICAgU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yIGl0ZXJhdG9yKHN0YXRp
Y19jYXN0PGNvbnN0IFVDaGFyKj4oJm1faXRlbS5zdHJpbmdbbV9pdGVtLml0ZW0ucG9zXSksIDAs
IHN0YXRpY19jYXN0PGludD4obV9pdGVtLml0ZW0ubGVuZ3RoKSwgc3RhdGljX2Nhc3Q8aW50Piht
X2l0ZW0uaXRlbS5sZW5ndGgpKTsKKyAgICBVQ2hhcjMyIGNoYXJhY3RlcjsKKyAgICB1bnNpZ25l
ZCBjbHVzdGVyTGVuZ3RoID0gMDsKKyAgICBpZiAoIWl0ZXJhdG9yLmNvbnN1bWUoY2hhcmFjdGVy
LCBjbHVzdGVyTGVuZ3RoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIG1fY3VycmVudEZv
bnREYXRhID0gbV9mb250LT5nbHlwaERhdGFGb3JDaGFyYWN0ZXIoY2hhcmFjdGVyLCBmYWxzZSku
Zm9udERhdGE7CisgICAgaXRlcmF0b3IuYWR2YW5jZShjbHVzdGVyTGVuZ3RoKTsKKyAgICB3aGls
ZSAoaXRlcmF0b3IuY29uc3VtZShjaGFyYWN0ZXIsIGNsdXN0ZXJMZW5ndGgpKSB7CisgICAgICAg
IGNvbnN0IFNpbXBsZUZvbnREYXRhKiBuZXh0Rm9udERhdGEgPSBtX2ZvbnQtPmdseXBoRGF0YUZv
ckNoYXJhY3RlcihjaGFyYWN0ZXIsIGZhbHNlKS5mb250RGF0YTsKICAgICAgICAgaWYgKG5leHRG
b250RGF0YSAhPSBtX2N1cnJlbnRGb250RGF0YSkKICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBpdGVyYXRvci5hZHZhbmNlKGNsdXN0ZXJMZW5ndGgpOwogICAgIH0KLSAgICBtX2l0ZW0uaXRl
bS5sZW5ndGggPSBlbmRPZlJ1bjsKLSAgICBtX2luZGV4T2ZOZXh0U2NyaXB0UnVuID0gbV9pdGVt
Lml0ZW0ucG9zICsgZW5kT2ZSdW47CisgICAgbV9pdGVtLml0ZW0ubGVuZ3RoID0gaXRlcmF0b3Iu
Y3VycmVudENoYXJhY3RlcigpOworICAgIG1faW5kZXhPZk5leHRTY3JpcHRSdW4gPSBtX2l0ZW0u
aXRlbS5wb3MgKyBpdGVyYXRvci5jdXJyZW50Q2hhcmFjdGVyKCk7CiAKICAgICBzZXR1cEZvbnRG
b3JTY3JpcHRSdW4oKTsKICAgICBzaGFwZUdseXBocygpOwpAQCAtMjI5LDYgKzIzNiwxNiBAQCBz
dGF0aWMgdm9pZCBzZXR1cEZvbnRGZWF0dXJlcyhjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBz
ZXR0aW5ncywgSEJfRmFjZVJlY18qCiAgICAgfQogfQogCitzdGF0aWMgVUNoYXIzMiBzdXJyb2dh
dGVQYWlyQXdhcmVDaGFyYWN0ZXIoY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxh
c3RDaGFyYWN0ZXJJbmRleCkKK3sKKyAgICBpZiAoVTE2X0lTX1NVUlJPR0FURShjaGFyYWN0ZXJz
WzBdKSkgeworICAgICAgICBpZiAoIVUxNl9JU19TVVJST0dBVEVfTEVBRChjaGFyYWN0ZXJzWzBd
KSB8fCBsYXN0Q2hhcmFjdGVySW5kZXggPCAyIHx8ICFVMTZfSVNfVFJBSUwoY2hhcmFjdGVyc1sx
XSkpCisgICAgICAgICAgICByZXR1cm4gJyAnOworICAgICAgICByZXR1cm4gVTE2X0dFVF9TVVBQ
TEVNRU5UQVJZKGNoYXJhY3RlcnNbMF0sIGNoYXJhY3RlcnNbMV0pOworICAgIH0KKyAgICByZXR1
cm4gY2hhcmFjdGVyc1swXTsKK30KKwogdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OnNldHVw
Rm9udEZvclNjcmlwdFJ1bigpCiB7CiAgICAgRm9udERhdGFWYXJpYW50IGZvbnREYXRhVmFyaWFu
dCA9IEF1dG9WYXJpYW50OwpAQCAtMjQzLDcgKzI2MCw4IEBAIHZvaWQgQ29tcGxleFRleHRDb250
cm9sbGVyOjpzZXR1cEZvbnRGb3JTY3JpcHRSdW4oKQogICAgICAgICBtX2l0ZW0uaXRlbS5wb3Mg
PSAwOwogICAgICAgICBmb250RGF0YVZhcmlhbnQgPSBTbWFsbENhcHNWYXJpYW50OwogICAgIH0K
LSAgICBjb25zdCBGb250RGF0YSogZm9udERhdGEgPSBtX2ZvbnQtPmdseXBoRGF0YUZvckNoYXJh
Y3RlcihtX2l0ZW0uc3RyaW5nW21faXRlbS5pdGVtLnBvc10sIGZhbHNlLCBmb250RGF0YVZhcmlh
bnQpLmZvbnREYXRhOworICAgIFVDaGFyMzIgY3VycmVudCA9IHN1cnJvZ2F0ZVBhaXJBd2FyZUNo
YXJhY3RlcihzdGF0aWNfY2FzdDxjb25zdCBVQ2hhcio+KCZtX2l0ZW0uc3RyaW5nW21faXRlbS5p
dGVtLnBvc10pLCBtX2l0ZW0uaXRlbS5sZW5ndGggLSBtX2l0ZW0uaXRlbS5wb3MpOworICAgIGNv
bnN0IEZvbnREYXRhKiBmb250RGF0YSA9IG1fZm9udC0+Z2x5cGhEYXRhRm9yQ2hhcmFjdGVyKGN1
cnJlbnQsIGZhbHNlLCBmb250RGF0YVZhcmlhbnQpLmZvbnREYXRhOwogICAgIGNvbnN0IEZvbnRQ
bGF0Zm9ybURhdGEmIHBsYXRmb3JtRGF0YSA9IGZvbnREYXRhLT5mb250RGF0YUZvckNoYXJhY3Rl
cignICcpLT5wbGF0Zm9ybURhdGEoKTsKICAgICBtX2l0ZW0uZmFjZSA9IHBsYXRmb3JtRGF0YS5o
YXJmYnV6ekZhY2UoKS0+ZmFjZSgpOwogICAgIC8vIFdlIG9ubHkgbmVlZCB0byBzZXR1cCBmb250
IGZlYXR1cmVzIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHJ1bi4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106080</attachid>
            <date>2011-09-01 19:04:51 -0700</date>
            <delta_ts>2011-09-02 03:12:56 -0700</delta_ts>
            <desc>Patch V1</desc>
            <filename>bug-66510-20110902110449.patch</filename>
            <type>text/plain</type>
            <size>7571</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQzNjcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4ZGQ5ZjM2Zjk0NTcxYTdlOTQ1ZTE5
N2Y0NjZiNzNiYjM3ZjA5MTVhLi5jZjg1NjY0MGNmOWRjYzEyMDBlYmNlOWYyNzZlZDY4MzJhZDVm
OGM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDktMDEgIEtlbmljaGkgSXNoaWJhc2hp
ICA8YmFzaGlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gZWRpdGluZy9zZWxl
Y3Rpb24vcmVnaW9uYWwtaW5kaWNhdG9ycy5odG1sIHRpbWluZyBvdXQgb24gTGludXgKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTEwCisKKyAgICAg
ICAgQ29tcGxleFRleHRDb250cm9sbGVyTGludXggaXMgbm93IHN1cnJvZ2F0ZSBwYWlycyBhd2Fy
ZSwgdGhlcmVmb3JlOworICAgICAgICAtIGVkaXRpbmcvc2VsZWN0aW9uL3JlZ2lvbmFsLWluZGlj
YXRvcnMuaHRtbCBzaG91bGQgcGFzcy4KKyAgICAgICAgLSBlZGl0aW5nL2RlbGV0aW5nL3JlZ2lv
bmFsLWluZGljYXRvcnMuaHRtbCBzaG91bGQgbm90IHRpbWVvdXQuCisgICAgICAgIC0gZmFzdC90
ZXh0L3JlZ2lvbmFsLWluZGljYXRvci1zeW1ib2xzLmh0bWwgc2hvdWxkIHBhc3MuCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6CisKIDIwMTEtMDktMDEgIFJ5b3N1a2UgTml3YSAg
PHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2ZXJ0IHI5NDM1NSBiZWNhdXNlIGl0IGNh
dXNlZCBidW5jaCBvZiBidWlsZHMgdG8gYnJlYWsuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggMDVhN2NlMjgwZGFkMGU1
YTY2MTk1YThmNDBhYWEzZmYwNDNlNjYwMy4uNzQxZmFiMDcyZjUxMGM3YzFmOTRjOTkyZmE5ZjEx
ZTI3YWZjMWFlZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVz
dF9leHBlY3RhdGlvbnMudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rl
c3RfZXhwZWN0YXRpb25zLnR4dApAQCAtMzQ4NCw4ICszNDg0LDYgQEAgQlVHV0s2NTIxOSBXSU4g
OiB3ZWJhdWRpby9hdWRpb25vZGUuaHRtbCA9IFBBU1MgQ1JBU0gKIAogQlVHV0s2NTM2NiA6IGZh
c3QvanMvcGFyc2VJbnQuaHRtbCA9IFRFWFQKIAotQlVHQ1I5MTA2MSBMSU5VWCBERUJVRyA6IGZh
c3QvdGV4dC9yZWdpb25hbC1pbmRpY2F0b3Itc3ltb2Jscy5odG1sID0gVElNRU9VVAotCiBCVUdX
SzY1NDUzIE1BQyA6IGZhc3QvY3NzL291dGxpbmUtYXV0by1lbXB0eS1yZWN0cy5odG1sID0gSU1B
R0UKIAogQlVHV0s2NTQ2MiBWSVNUQSA6IGh0dHAvdGVzdHMvY2FjaGUvaGlzdG9yeS1vbmx5LWNh
Y2hlZC1zdWJyZXNvdXJjZS1sb2Fkcy1tYXgtYWdlLWh0dHBzLmh0bWwgPSBQQVNTIFRJTUVPVVQK
QEAgLTM2MDAsOCArMzU5OCw3IEBAIEJVR1dLNjM3OTYgTUFDIFdJTiA6IGNzczMvZm9udC1mZWF0
dXJlLXNldHRpbmdzLXJlbmRlcmluZy5odG1sID0gTUlTU0lORyBGQUlMCiAKIC8vIE5ldyB0ZXN0
IGluIHI5MzA2OAogQlVHV0s2NjI2OCBXSU4gTUFDIDogZWRpdGluZy9kZWxldGluZy9yZWdpb25h
bC1pbmRpY2F0b3JzLmh0bWwgPSBURVhUCi1CVUdXSzY2MjY4IExJTlVYIFJFTEVBU0UgOiBlZGl0
aW5nL2RlbGV0aW5nL3JlZ2lvbmFsLWluZGljYXRvcnMuaHRtbCA9IFRFWFQKLUJVR1dLNjYyNjgg
TElOVVggREVCVUcgOiBlZGl0aW5nL2RlbGV0aW5nL3JlZ2lvbmFsLWluZGljYXRvcnMuaHRtbCA9
IFRJTUVPVVQKK0JVR1dLNjYyNjggTElOVVggOiBlZGl0aW5nL2RlbGV0aW5nL3JlZ2lvbmFsLWlu
ZGljYXRvcnMuaHRtbCA9IFRFWFQKIAogQlVHV0s2NjMxMCBERUJVRyA6IG1lZGlhL3ZpZGVvLXNv
dXJjZS1lcnJvci5odG1sID0gUEFTUyBURVhUCiBCVUdXSzY2MzEwIDogbWVkaWEvbWVkaWEtYmxv
Y2tlZC1ieS1iZWZvcmVsb2FkLmh0bWwgPSBQQVNTIFRFWFQKQEAgLTM2MTgsOCArMzYxNSw2IEBA
IEJVR1dLNjY0MTkgOiBodHRwL3Rlc3RzL21pc2MvYXV0aGVudGljYXRpb24tcmVkaXJlY3QtMS9h
dXRoZW50aWNhdGlvbi1zZW50LXRvLXJlCiBCVUdXSzY2NDE5IDogaHR0cC90ZXN0cy9taXNjL2F1
dGhlbnRpY2F0aW9uLXJlZGlyZWN0LTIvYXV0aGVudGljYXRpb24tc2VudC10by1yZWRpcmVjdC1z
YW1lLW9yaWdpbi5odG1sID0gVEVYVAogQlVHV0s2NjQxOSA6IGh0dHAvdGVzdHMvbWlzYy9hdXRo
ZW50aWNhdGlvbi1yZWRpcmVjdC0zL2F1dGhlbnRpY2F0aW9uLXNlbnQtdG8tcmVkaXJlY3Qtc2Ft
ZS1vcmlnaW4td2l0aC1sb2NhdGlvbi1jcmVkZW50aWFscy5odG1sID0gVEVYVAogCi1CVUdXSzY2
NTEwIExJTlVYIERFQlVHIDogZWRpdGluZy9zZWxlY3Rpb24vcmVnaW9uYWwtaW5kaWNhdG9ycy5o
dG1sID0gVElNRU9VVAotCiBCVUdXSzY3MTIxIERFQlVHIFNMT1cgOiBlZGl0aW5nL3NlbGVjdGlv
bi9tb3ZlLWJ5LXdvcmQtdmlzdWFsbHktbXVsdGktc3BhY2UuaHRtbCA9IFBBU1MKIAogQlVHV0s2
NjU2OSBXSU4gTElOVVggOiBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstaWZy
YW1lLWxvYWQtYW5kLWRlbGV0ZS5odG1sID0gVEVYVCBUSU1FT1VUIFBBU1MKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCBkNDFkZTM4MjUyZmUyZGQ1Mzk4MTQwMWI3ZjkwYmRjZmRhM2YxNDdkLi4wNzU0NWUxYmUxNzg4
MGM0NWY4NWIzNmVkOTIwZmY3M2VjNzU0N2ZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTEtMDktMDEgIEtlbmljaGkgSXNoaWJhc2hpICA8YmFzaGlAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFtjaHJvbWl1bV0gZWRpdGluZy9zZWxlY3Rpb24vcmVnaW9uYWwtaW5kaWNhdG9ycy5o
dG1sIHRpbWluZyBvdXQgb24gTGludXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTY2NTEwCisKKyAgICAgICAgVXNlcyBTdXJyb2dhdGVQYWlyQXdhcmVU
ZXh0SWVyYXRvciBpbiBDb21wbGV4VGV4dENvbnRyb2xsZXJMaW51eCB0byBoYW5kbGUgc3Vycm9n
YXRlIHBhaXJzIGNvcnJlY3RseS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIGVkaXRpbmcvc2VsZWN0aW9uL3JlZ2lvbmFsLWlu
ZGljYXRvcnMuaHRtbCBzaG91bGQgcGFzcyB3aXRoIHRoaXMgcGF0Y2guCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Db21wbGV4VGV4dENvbnRyb2xsZXJMaW51eC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDb21wbGV4VGV4dENvbnRyb2xsZXI6Om5leHRTY3JpcHRSdW4p
OiBVc2VkIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvciB0byBzcGxpdCBydW4uCisgICAg
ICAgIChXZWJDb3JlOjpzdXJyb2dhdGVQYWlyQXdhcmVDaGFyYWN0ZXIpOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkNvbXBsZXhUZXh0Q29udHJvbGxlcjo6c2V0dXBGb250Rm9yU2NyaXB0UnVu
KTogVXNlZCBzdXJyb2dhdGVQYWlyQXdhcmVDaGFyYWN0ZXIoKSB0byBnZXQgYXBwcm9wcmlhdGUg
Rm9udERhdGEuCisKIDIwMTEtMDktMDEgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgUmV2ZXJ0IHI5NDM1NSBiZWNhdXNlIGl0IGNhdXNlZCBidW5jaCBvZiBidWls
ZHMgdG8gYnJlYWsuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9Db21wbGV4VGV4dENvbnRyb2xsZXJMaW51eC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Db21wbGV4VGV4dENvbnRyb2xsZXJMaW51eC5j
cHAKaW5kZXggMjY2MzEwNmZkZDc2ODkyZDY4Y2M5NTAwYWI5YjRmM2M3MzQ5NTM5My4uZjQwYTM3
YTkyNDg5ZmJiNjFjMjc1OGVlYjhkYzlkNDBjOTVjZjgyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29tcGxleFRleHRDb250cm9sbGVyTGlu
dXguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0Nv
bXBsZXhUZXh0Q29udHJvbGxlckxpbnV4LmNwcApAQCAtMzMsNiArMzMsNyBAQAogCiAjaW5jbHVk
ZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiRm9udC5oIgorI2luY2x1ZGUgIlN1cnJvZ2F0ZVBh
aXJBd2FyZVRleHRJdGVyYXRvci5oIgogI2luY2x1ZGUgIlRleHRSdW4uaCIKIAogZXh0ZXJuICJD
IiB7CkBAIC0xNzcsMTUgKzE3OCwyMSBAQCBib29sIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6bmV4
dFNjcmlwdFJ1bigpCiAgICAgLy8gaW4gdGhlIGhhcmZidXp6IGRhdGEgc3RydWN0dXJlcyB0byBl
LmcuIHBpY2sgdGhlIGNvcnJlY3Qgc2NyaXB0J3Mgc2hhcGVyLgogICAgIC8vIFNvIHdlIGFsbG93
IHRoYXQgdG8gcnVuIGZpcnN0LCB0aGVuIGRvIGEgc2Vjb25kIHBhc3Mgb3ZlciB0aGUgcmFuZ2Ug
aXQKICAgICAvLyBmb3VuZCBhbmQgdGFrZSB0aGUgbGFyZ2VzdCBzdWJyZWdpb24gdGhhdCBzdGF5
cyB3aXRoaW4gYSBzaW5nbGUgZm9udC4KLSAgICBtX2N1cnJlbnRGb250RGF0YSA9IG1fZm9udC0+
Z2x5cGhEYXRhRm9yQ2hhcmFjdGVyKG1faXRlbS5zdHJpbmdbbV9pdGVtLml0ZW0ucG9zXSwgZmFs
c2UpLmZvbnREYXRhOwotICAgIHVuc2lnbmVkIGVuZE9mUnVuOwotICAgIGZvciAoZW5kT2ZSdW4g
PSAxOyBlbmRPZlJ1biA8IG1faXRlbS5pdGVtLmxlbmd0aDsgKytlbmRPZlJ1bikgewotICAgICAg
ICBjb25zdCBTaW1wbGVGb250RGF0YSogbmV4dEZvbnREYXRhID0gbV9mb250LT5nbHlwaERhdGFG
b3JDaGFyYWN0ZXIobV9pdGVtLnN0cmluZ1ttX2l0ZW0uaXRlbS5wb3MgKyBlbmRPZlJ1bl0sIGZh
bHNlKS5mb250RGF0YTsKKyAgICBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IgaXRlcmF0
b3Ioc3RhdGljX2Nhc3Q8Y29uc3QgVUNoYXIqPigmbV9pdGVtLnN0cmluZ1ttX2l0ZW0uaXRlbS5w
b3NdKSwgMCwgc3RhdGljX2Nhc3Q8aW50PihtX2l0ZW0uaXRlbS5sZW5ndGgpLCBzdGF0aWNfY2Fz
dDxpbnQ+KG1faXRlbS5pdGVtLmxlbmd0aCkpOworICAgIFVDaGFyMzIgY2hhcmFjdGVyOworICAg
IHVuc2lnbmVkIGNsdXN0ZXJMZW5ndGggPSAwOworICAgIGlmICghaXRlcmF0b3IuY29uc3VtZShj
aGFyYWN0ZXIsIGNsdXN0ZXJMZW5ndGgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgbV9j
dXJyZW50Rm9udERhdGEgPSBtX2ZvbnQtPmdseXBoRGF0YUZvckNoYXJhY3RlcihjaGFyYWN0ZXIs
IGZhbHNlKS5mb250RGF0YTsKKyAgICBpdGVyYXRvci5hZHZhbmNlKGNsdXN0ZXJMZW5ndGgpOwor
ICAgIHdoaWxlIChpdGVyYXRvci5jb25zdW1lKGNoYXJhY3RlciwgY2x1c3Rlckxlbmd0aCkpIHsK
KyAgICAgICAgY29uc3QgU2ltcGxlRm9udERhdGEqIG5leHRGb250RGF0YSA9IG1fZm9udC0+Z2x5
cGhEYXRhRm9yQ2hhcmFjdGVyKGNoYXJhY3RlciwgZmFsc2UpLmZvbnREYXRhOwogICAgICAgICBp
ZiAobmV4dEZvbnREYXRhICE9IG1fY3VycmVudEZvbnREYXRhKQogICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIGl0ZXJhdG9yLmFkdmFuY2UoY2x1c3Rlckxlbmd0aCk7CiAgICAgfQotICAgIG1f
aXRlbS5pdGVtLmxlbmd0aCA9IGVuZE9mUnVuOwotICAgIG1faW5kZXhPZk5leHRTY3JpcHRSdW4g
PSBtX2l0ZW0uaXRlbS5wb3MgKyBlbmRPZlJ1bjsKKyAgICBtX2l0ZW0uaXRlbS5sZW5ndGggPSBp
dGVyYXRvci5jdXJyZW50Q2hhcmFjdGVyKCk7CisgICAgbV9pbmRleE9mTmV4dFNjcmlwdFJ1biA9
IG1faXRlbS5pdGVtLnBvcyArIGl0ZXJhdG9yLmN1cnJlbnRDaGFyYWN0ZXIoKTsKIAogICAgIHNl
dHVwRm9udEZvclNjcmlwdFJ1bigpOwogICAgIHNoYXBlR2x5cGhzKCk7CkBAIC0yMjksNiArMjM2
LDE2IEBAIHN0YXRpYyB2b2lkIHNldHVwRm9udEZlYXR1cmVzKGNvbnN0IEZvbnRGZWF0dXJlU2V0
dGluZ3MqIHNldHRpbmdzLCBIQl9GYWNlUmVjXyoKICAgICB9CiB9CiAKK3N0YXRpYyBVQ2hhcjMy
IHN1cnJvZ2F0ZVBhaXJBd2FyZUNoYXJhY3Rlcihjb25zdCBVQ2hhciogY2hhcmFjdGVycywgdW5z
aWduZWQgbGFzdENoYXJhY3RlckluZGV4KQoreworICAgIGlmIChVMTZfSVNfU1VSUk9HQVRFKGNo
YXJhY3RlcnNbMF0pKSB7CisgICAgICAgIGlmICghVTE2X0lTX1NVUlJPR0FURV9MRUFEKGNoYXJh
Y3RlcnNbMF0pIHx8IGxhc3RDaGFyYWN0ZXJJbmRleCA8IDIgfHwgIVUxNl9JU19UUkFJTChjaGFy
YWN0ZXJzWzFdKSkKKyAgICAgICAgICAgIHJldHVybiAnICc7CisgICAgICAgIHJldHVybiBVMTZf
R0VUX1NVUFBMRU1FTlRBUlkoY2hhcmFjdGVyc1swXSwgY2hhcmFjdGVyc1sxXSk7CisgICAgfQor
ICAgIHJldHVybiBjaGFyYWN0ZXJzWzBdOworfQorCiB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxl
cjo6c2V0dXBGb250Rm9yU2NyaXB0UnVuKCkKIHsKICAgICBGb250RGF0YVZhcmlhbnQgZm9udERh
dGFWYXJpYW50ID0gQXV0b1ZhcmlhbnQ7CkBAIC0yNDMsNyArMjYwLDggQEAgdm9pZCBDb21wbGV4
VGV4dENvbnRyb2xsZXI6OnNldHVwRm9udEZvclNjcmlwdFJ1bigpCiAgICAgICAgIG1faXRlbS5p
dGVtLnBvcyA9IDA7CiAgICAgICAgIGZvbnREYXRhVmFyaWFudCA9IFNtYWxsQ2Fwc1ZhcmlhbnQ7
CiAgICAgfQotICAgIGNvbnN0IEZvbnREYXRhKiBmb250RGF0YSA9IG1fZm9udC0+Z2x5cGhEYXRh
Rm9yQ2hhcmFjdGVyKG1faXRlbS5zdHJpbmdbbV9pdGVtLml0ZW0ucG9zXSwgZmFsc2UsIGZvbnRE
YXRhVmFyaWFudCkuZm9udERhdGE7CisgICAgVUNoYXIzMiBjdXJyZW50ID0gc3Vycm9nYXRlUGFp
ckF3YXJlQ2hhcmFjdGVyKHN0YXRpY19jYXN0PGNvbnN0IFVDaGFyKj4oJm1faXRlbS5zdHJpbmdb
bV9pdGVtLml0ZW0ucG9zXSksIG1faXRlbS5pdGVtLmxlbmd0aCAtIG1faXRlbS5pdGVtLnBvcyk7
CisgICAgY29uc3QgRm9udERhdGEqIGZvbnREYXRhID0gbV9mb250LT5nbHlwaERhdGFGb3JDaGFy
YWN0ZXIoY3VycmVudCwgZmFsc2UsIGZvbnREYXRhVmFyaWFudCkuZm9udERhdGE7CiAgICAgY29u
c3QgRm9udFBsYXRmb3JtRGF0YSYgcGxhdGZvcm1EYXRhID0gZm9udERhdGEtPmZvbnREYXRhRm9y
Q2hhcmFjdGVyKCcgJyktPnBsYXRmb3JtRGF0YSgpOwogICAgIG1faXRlbS5mYWNlID0gcGxhdGZv
cm1EYXRhLmhhcmZidXp6RmFjZSgpLT5mYWNlKCk7CiAgICAgLy8gV2Ugb25seSBuZWVkIHRvIHNl
dHVwIGZvbnQgZmVhdHVyZXMgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgcnVuLgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106110</attachid>
            <date>2011-09-02 03:11:26 -0700</date>
            <delta_ts>2011-09-02 03:53:13 -0700</delta_ts>
            <desc>Patch V2</desc>
            <filename>bug-66510-20110902191125.patch</filename>
            <type>text/plain</type>
            <size>7567</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQzNjcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4ZGQ5ZjM2Zjk0NTcxYTdlOTQ1ZTE5
N2Y0NjZiNzNiYjM3ZjA5MTVhLi5lODljZjI5YzBhNDNiNmY2NmM1MzRiZTc0ZDcwODA4MDczNDA5
OGFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDktMDIgIEtlbmljaGkgSXNoaWJhc2hp
ICA8YmFzaGlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gZWRpdGluZy9zZWxl
Y3Rpb24vcmVnaW9uYWwtaW5kaWNhdG9ycy5odG1sIHRpbWluZyBvdXQgb24gTGludXgKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTEwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29tcGxleFRleHRDb250
cm9sbGVyTGludXggaXMgbm93IHN1cnJvZ2F0ZSBwYWlycyBhd2FyZSwgdGhlcmVmb3JlOworICAg
ICAgICAtIGVkaXRpbmcvc2VsZWN0aW9uL3JlZ2lvbmFsLWluZGljYXRvcnMuaHRtbCBzaG91bGQg
cGFzcy4KKyAgICAgICAgLSBlZGl0aW5nL2RlbGV0aW5nL3JlZ2lvbmFsLWluZGljYXRvcnMuaHRt
bCBzaG91bGQgbm90IHRpbWVvdXQuCisgICAgICAgIC0gZmFzdC90ZXh0L3JlZ2lvbmFsLWluZGlj
YXRvci1zeW1ib2xzLmh0bWwgc2hvdWxkIHBhc3MuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6CisKIDIwMTEtMDktMDEgIFJ5b3N1a2UgTml3YSAg
PHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2ZXJ0IHI5NDM1NSBiZWNhdXNlIGl0IGNh
dXNlZCBidW5jaCBvZiBidWlsZHMgdG8gYnJlYWsuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggMDVhN2NlMjgwZGFkMGU1
YTY2MTk1YThmNDBhYWEzZmYwNDNlNjYwMy4uNzQxZmFiMDcyZjUxMGM3YzFmOTRjOTkyZmE5ZjEx
ZTI3YWZjMWFlZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVz
dF9leHBlY3RhdGlvbnMudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rl
c3RfZXhwZWN0YXRpb25zLnR4dApAQCAtMzQ4NCw4ICszNDg0LDYgQEAgQlVHV0s2NTIxOSBXSU4g
OiB3ZWJhdWRpby9hdWRpb25vZGUuaHRtbCA9IFBBU1MgQ1JBU0gKIAogQlVHV0s2NTM2NiA6IGZh
c3QvanMvcGFyc2VJbnQuaHRtbCA9IFRFWFQKIAotQlVHQ1I5MTA2MSBMSU5VWCBERUJVRyA6IGZh
c3QvdGV4dC9yZWdpb25hbC1pbmRpY2F0b3Itc3ltb2Jscy5odG1sID0gVElNRU9VVAotCiBCVUdX
SzY1NDUzIE1BQyA6IGZhc3QvY3NzL291dGxpbmUtYXV0by1lbXB0eS1yZWN0cy5odG1sID0gSU1B
R0UKIAogQlVHV0s2NTQ2MiBWSVNUQSA6IGh0dHAvdGVzdHMvY2FjaGUvaGlzdG9yeS1vbmx5LWNh
Y2hlZC1zdWJyZXNvdXJjZS1sb2Fkcy1tYXgtYWdlLWh0dHBzLmh0bWwgPSBQQVNTIFRJTUVPVVQK
QEAgLTM2MDAsOCArMzU5OCw3IEBAIEJVR1dLNjM3OTYgTUFDIFdJTiA6IGNzczMvZm9udC1mZWF0
dXJlLXNldHRpbmdzLXJlbmRlcmluZy5odG1sID0gTUlTU0lORyBGQUlMCiAKIC8vIE5ldyB0ZXN0
IGluIHI5MzA2OAogQlVHV0s2NjI2OCBXSU4gTUFDIDogZWRpdGluZy9kZWxldGluZy9yZWdpb25h
bC1pbmRpY2F0b3JzLmh0bWwgPSBURVhUCi1CVUdXSzY2MjY4IExJTlVYIFJFTEVBU0UgOiBlZGl0
aW5nL2RlbGV0aW5nL3JlZ2lvbmFsLWluZGljYXRvcnMuaHRtbCA9IFRFWFQKLUJVR1dLNjYyNjgg
TElOVVggREVCVUcgOiBlZGl0aW5nL2RlbGV0aW5nL3JlZ2lvbmFsLWluZGljYXRvcnMuaHRtbCA9
IFRJTUVPVVQKK0JVR1dLNjYyNjggTElOVVggOiBlZGl0aW5nL2RlbGV0aW5nL3JlZ2lvbmFsLWlu
ZGljYXRvcnMuaHRtbCA9IFRFWFQKIAogQlVHV0s2NjMxMCBERUJVRyA6IG1lZGlhL3ZpZGVvLXNv
dXJjZS1lcnJvci5odG1sID0gUEFTUyBURVhUCiBCVUdXSzY2MzEwIDogbWVkaWEvbWVkaWEtYmxv
Y2tlZC1ieS1iZWZvcmVsb2FkLmh0bWwgPSBQQVNTIFRFWFQKQEAgLTM2MTgsOCArMzYxNSw2IEBA
IEJVR1dLNjY0MTkgOiBodHRwL3Rlc3RzL21pc2MvYXV0aGVudGljYXRpb24tcmVkaXJlY3QtMS9h
dXRoZW50aWNhdGlvbi1zZW50LXRvLXJlCiBCVUdXSzY2NDE5IDogaHR0cC90ZXN0cy9taXNjL2F1
dGhlbnRpY2F0aW9uLXJlZGlyZWN0LTIvYXV0aGVudGljYXRpb24tc2VudC10by1yZWRpcmVjdC1z
YW1lLW9yaWdpbi5odG1sID0gVEVYVAogQlVHV0s2NjQxOSA6IGh0dHAvdGVzdHMvbWlzYy9hdXRo
ZW50aWNhdGlvbi1yZWRpcmVjdC0zL2F1dGhlbnRpY2F0aW9uLXNlbnQtdG8tcmVkaXJlY3Qtc2Ft
ZS1vcmlnaW4td2l0aC1sb2NhdGlvbi1jcmVkZW50aWFscy5odG1sID0gVEVYVAogCi1CVUdXSzY2
NTEwIExJTlVYIERFQlVHIDogZWRpdGluZy9zZWxlY3Rpb24vcmVnaW9uYWwtaW5kaWNhdG9ycy5o
dG1sID0gVElNRU9VVAotCiBCVUdXSzY3MTIxIERFQlVHIFNMT1cgOiBlZGl0aW5nL3NlbGVjdGlv
bi9tb3ZlLWJ5LXdvcmQtdmlzdWFsbHktbXVsdGktc3BhY2UuaHRtbCA9IFBBU1MKIAogQlVHV0s2
NjU2OSBXSU4gTElOVVggOiBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstaWZy
YW1lLWxvYWQtYW5kLWRlbGV0ZS5odG1sID0gVEVYVCBUSU1FT1VUIFBBU1MKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCBkNDFkZTM4MjUyZmUyZGQ1Mzk4MTQwMWI3ZjkwYmRjZmRhM2YxNDdkLi4xOTBiNzZkMDJiOGZl
NGZlMjg0MWJmODZiNzNhMjY4N2ExODQ2OTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTEtMDktMDIgIEtlbmljaGkgSXNoaWJhc2hpICA8YmFzaGlAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFtjaHJvbWl1bV0gZWRpdGluZy9zZWxlY3Rpb24vcmVnaW9uYWwtaW5kaWNhdG9ycy5o
dG1sIHRpbWluZyBvdXQgb24gTGludXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTY2NTEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVXNlcyBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SWVyYXRvciBpbiBDb21w
bGV4VGV4dENvbnRyb2xsZXJMaW51eCB0byBoYW5kbGUgc3Vycm9nYXRlIHBhaXJzIGNvcnJlY3Rs
eS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIGVkaXRpbmcvc2VsZWN0aW9uL3JlZ2lvbmFsLWlu
ZGljYXRvcnMuaHRtbCBzaG91bGQgcGFzcyB3aXRoIHRoaXMgcGF0Y2guCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Db21wbGV4VGV4dENvbnRyb2xsZXJMaW51eC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDb21wbGV4VGV4dENvbnRyb2xsZXI6Om5leHRTY3JpcHRSdW4p
OiBVc2VkIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvciB0byBzcGxpdCBydW4uCisgICAg
ICAgIChXZWJDb3JlOjpzdXJyb2dhdGVQYWlyQXdhcmVGaXJzdENoYXJhY3Rlcik6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjpzZXR1cEZvbnRGb3JTY3Jp
cHRSdW4pOiBVc2VkIHN1cnJvZ2F0ZVBhaXJBd2FyZUZpcnN0Q2hhcmFjdGVyKCkgdG8gZ2V0IGFw
cHJvcHJpYXRlIEZvbnREYXRhLgorCiAyMDExLTA5LTAxICBSeW9zdWtlIE5pd2EgIDxybml3YUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFJldmVydCByOTQzNTUgYmVjYXVzZSBpdCBjYXVzZWQgYnVu
Y2ggb2YgYnVpbGRzIHRvIGJyZWFrLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29tcGxleFRleHRDb250cm9sbGVyTGludXguY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29tcGxleFRleHRDb250cm9s
bGVyTGludXguY3BwCmluZGV4IDI2NjMxMDZmZGQ3Njg5MmQ2OGNjOTUwMGFiOWI0ZjNjNzM0OTUz
OTMuLjQ0ZTZmMzQyYjljZmE1YjRmYTJkZGVlY2E3NTFmYjE4NzZmYWI5N2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0NvbXBsZXhUZXh0Q29u
dHJvbGxlckxpbnV4LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9Db21wbGV4VGV4dENvbnRyb2xsZXJMaW51eC5jcHAKQEAgLTMzLDYgKzMzLDcgQEAK
IAogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkZvbnQuaCIKKyNpbmNsdWRlICJT
dXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuaCIKICNpbmNsdWRlICJUZXh0UnVuLmgiCiAK
IGV4dGVybiAiQyIgewpAQCAtMTc3LDE1ICsxNzgsMjEgQEAgYm9vbCBDb21wbGV4VGV4dENvbnRy
b2xsZXI6Om5leHRTY3JpcHRSdW4oKQogICAgIC8vIGluIHRoZSBoYXJmYnV6eiBkYXRhIHN0cnVj
dHVyZXMgdG8gZS5nLiBwaWNrIHRoZSBjb3JyZWN0IHNjcmlwdCdzIHNoYXBlci4KICAgICAvLyBT
byB3ZSBhbGxvdyB0aGF0IHRvIHJ1biBmaXJzdCwgdGhlbiBkbyBhIHNlY29uZCBwYXNzIG92ZXIg
dGhlIHJhbmdlIGl0CiAgICAgLy8gZm91bmQgYW5kIHRha2UgdGhlIGxhcmdlc3Qgc3VicmVnaW9u
IHRoYXQgc3RheXMgd2l0aGluIGEgc2luZ2xlIGZvbnQuCi0gICAgbV9jdXJyZW50Rm9udERhdGEg
PSBtX2ZvbnQtPmdseXBoRGF0YUZvckNoYXJhY3RlcihtX2l0ZW0uc3RyaW5nW21faXRlbS5pdGVt
LnBvc10sIGZhbHNlKS5mb250RGF0YTsKLSAgICB1bnNpZ25lZCBlbmRPZlJ1bjsKLSAgICBmb3Ig
KGVuZE9mUnVuID0gMTsgZW5kT2ZSdW4gPCBtX2l0ZW0uaXRlbS5sZW5ndGg7ICsrZW5kT2ZSdW4p
IHsKLSAgICAgICAgY29uc3QgU2ltcGxlRm9udERhdGEqIG5leHRGb250RGF0YSA9IG1fZm9udC0+
Z2x5cGhEYXRhRm9yQ2hhcmFjdGVyKG1faXRlbS5zdHJpbmdbbV9pdGVtLml0ZW0ucG9zICsgZW5k
T2ZSdW5dLCBmYWxzZSkuZm9udERhdGE7CisgICAgU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJh
dG9yIGl0ZXJhdG9yKHN0YXRpY19jYXN0PGNvbnN0IFVDaGFyKj4oJm1faXRlbS5zdHJpbmdbbV9p
dGVtLml0ZW0ucG9zXSksIDAsIHN0YXRpY19jYXN0PGludD4obV9pdGVtLml0ZW0ubGVuZ3RoKSwg
c3RhdGljX2Nhc3Q8aW50PihtX2l0ZW0uaXRlbS5sZW5ndGgpKTsKKyAgICBVQ2hhcjMyIGNoYXJh
Y3RlcjsKKyAgICB1bnNpZ25lZCBjbHVzdGVyTGVuZ3RoID0gMDsKKyAgICBpZiAoIWl0ZXJhdG9y
LmNvbnN1bWUoY2hhcmFjdGVyLCBjbHVzdGVyTGVuZ3RoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIG1fY3VycmVudEZvbnREYXRhID0gbV9mb250LT5nbHlwaERhdGFGb3JDaGFyYWN0ZXIo
Y2hhcmFjdGVyLCBmYWxzZSkuZm9udERhdGE7CisgICAgaXRlcmF0b3IuYWR2YW5jZShjbHVzdGVy
TGVuZ3RoKTsKKyAgICB3aGlsZSAoaXRlcmF0b3IuY29uc3VtZShjaGFyYWN0ZXIsIGNsdXN0ZXJM
ZW5ndGgpKSB7CisgICAgICAgIGNvbnN0IFNpbXBsZUZvbnREYXRhKiBuZXh0Rm9udERhdGEgPSBt
X2ZvbnQtPmdseXBoRGF0YUZvckNoYXJhY3RlcihjaGFyYWN0ZXIsIGZhbHNlKS5mb250RGF0YTsK
ICAgICAgICAgaWYgKG5leHRGb250RGF0YSAhPSBtX2N1cnJlbnRGb250RGF0YSkKICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBpdGVyYXRvci5hZHZhbmNlKGNsdXN0ZXJMZW5ndGgpOwogICAg
IH0KLSAgICBtX2l0ZW0uaXRlbS5sZW5ndGggPSBlbmRPZlJ1bjsKLSAgICBtX2luZGV4T2ZOZXh0
U2NyaXB0UnVuID0gbV9pdGVtLml0ZW0ucG9zICsgZW5kT2ZSdW47CisgICAgbV9pdGVtLml0ZW0u
bGVuZ3RoID0gaXRlcmF0b3IuY3VycmVudENoYXJhY3RlcigpOworICAgIG1faW5kZXhPZk5leHRT
Y3JpcHRSdW4gPSBtX2l0ZW0uaXRlbS5wb3MgKyBpdGVyYXRvci5jdXJyZW50Q2hhcmFjdGVyKCk7
CiAKICAgICBzZXR1cEZvbnRGb3JTY3JpcHRSdW4oKTsKICAgICBzaGFwZUdseXBocygpOwpAQCAt
MjI5LDYgKzIzNiwxNiBAQCBzdGF0aWMgdm9pZCBzZXR1cEZvbnRGZWF0dXJlcyhjb25zdCBGb250
RmVhdHVyZVNldHRpbmdzKiBzZXR0aW5ncywgSEJfRmFjZVJlY18qCiAgICAgfQogfQogCitzdGF0
aWMgVUNoYXIzMiBzdXJyb2dhdGVQYWlyQXdhcmVGaXJzdENoYXJhY3Rlcihjb25zdCBVQ2hhciog
Y2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQoreworICAgIGlmIChVMTZfSVNfU1VSUk9HQVRF
KGNoYXJhY3RlcnNbMF0pKSB7CisgICAgICAgIGlmICghVTE2X0lTX1NVUlJPR0FURV9MRUFEKGNo
YXJhY3RlcnNbMF0pIHx8IGxlbmd0aCA8IDIgfHwgIVUxNl9JU19UUkFJTChjaGFyYWN0ZXJzWzFd
KSkKKyAgICAgICAgICAgIHJldHVybiAnICc7CisgICAgICAgIHJldHVybiBVMTZfR0VUX1NVUFBM
RU1FTlRBUlkoY2hhcmFjdGVyc1swXSwgY2hhcmFjdGVyc1sxXSk7CisgICAgfQorICAgIHJldHVy
biBjaGFyYWN0ZXJzWzBdOworfQorCiB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6c2V0dXBG
b250Rm9yU2NyaXB0UnVuKCkKIHsKICAgICBGb250RGF0YVZhcmlhbnQgZm9udERhdGFWYXJpYW50
ID0gQXV0b1ZhcmlhbnQ7CkBAIC0yNDMsNyArMjYwLDggQEAgdm9pZCBDb21wbGV4VGV4dENvbnRy
b2xsZXI6OnNldHVwRm9udEZvclNjcmlwdFJ1bigpCiAgICAgICAgIG1faXRlbS5pdGVtLnBvcyA9
IDA7CiAgICAgICAgIGZvbnREYXRhVmFyaWFudCA9IFNtYWxsQ2Fwc1ZhcmlhbnQ7CiAgICAgfQot
ICAgIGNvbnN0IEZvbnREYXRhKiBmb250RGF0YSA9IG1fZm9udC0+Z2x5cGhEYXRhRm9yQ2hhcmFj
dGVyKG1faXRlbS5zdHJpbmdbbV9pdGVtLml0ZW0ucG9zXSwgZmFsc2UsIGZvbnREYXRhVmFyaWFu
dCkuZm9udERhdGE7CisgICAgVUNoYXIzMiBjdXJyZW50ID0gc3Vycm9nYXRlUGFpckF3YXJlRmly
c3RDaGFyYWN0ZXIoc3RhdGljX2Nhc3Q8Y29uc3QgVUNoYXIqPigmbV9pdGVtLnN0cmluZ1ttX2l0
ZW0uaXRlbS5wb3NdKSwgbV9pdGVtLml0ZW0ubGVuZ3RoIC0gbV9pdGVtLml0ZW0ucG9zKTsKKyAg
ICBjb25zdCBGb250RGF0YSogZm9udERhdGEgPSBtX2ZvbnQtPmdseXBoRGF0YUZvckNoYXJhY3Rl
cihjdXJyZW50LCBmYWxzZSwgZm9udERhdGFWYXJpYW50KS5mb250RGF0YTsKICAgICBjb25zdCBG
b250UGxhdGZvcm1EYXRhJiBwbGF0Zm9ybURhdGEgPSBmb250RGF0YS0+Zm9udERhdGFGb3JDaGFy
YWN0ZXIoJyAnKS0+cGxhdGZvcm1EYXRhKCk7CiAgICAgbV9pdGVtLmZhY2UgPSBwbGF0Zm9ybURh
dGEuaGFyZmJ1enpGYWNlKCktPmZhY2UoKTsKICAgICAvLyBXZSBvbmx5IG5lZWQgdG8gc2V0dXAg
Zm9udCBmZWF0dXJlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBydW4uCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>