<?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>76684</bug_id>
          
          <creation_ts>2012-01-19 20:46:37 -0800</creation_ts>
          <short_desc>Respects font fallback list while webfonts are loading</short_desc>
          <delta_ts>2012-04-03 02:08:24 -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>Text</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>http://crbug.com/104233</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>82725</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenichi Ishibashi">bashi</reporter>
          <assigned_to name="Kenichi Ishibashi">bashi</assigned_to>
          <cc>ap</cc>
    
    <cc>bashi</cc>
    
    <cc>bdakin</cc>
    
    <cc>darin</cc>
    
    <cc>komoroske</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mitz</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>539264</commentid>
    <comment_count>0</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-01-19 20:46:37 -0800</bug_when>
    <thetext>During webfonts are loading, WebKit uses the last resort fonts for layout. I think we should respect generic font family names (if they exists) for the font fallback mechanism, not just using the last resort fonts. This way, we can provide a workaround to detect webfonts are fully loaded. See http://crbug.com/104233 for more details.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539267</commentid>
    <comment_count>1</comment_count>
      <attachid>123250</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-01-19 20:55:51 -0800</bug_when>
    <thetext>Created attachment 123250
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539610</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-01-20 10:34:21 -0800</bug_when>
    <thetext>This last resort font &lt;http://unicode.org/policies/lastresortfont_eula.html&gt;? I haven&apos;t seen that happen on any Web sites.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540324</commentid>
    <comment_count>3</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-01-22 16:18:26 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; This last resort font &lt;http://unicode.org/policies/lastresortfont_eula.html&gt;? I haven&apos;t seen that happen on any Web sites.

No. I use that term to describe the fonts which are returned by getNonRetainedLastResortFallbackFont(). These fonts are differ among ports. For example, mac port returns &quot;Times&quot; or &quot;Lucida Grande&quot;. Sorry for using misleading term.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540326</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-01-22 16:22:50 -0800</bug_when>
    <thetext>I&apos;m not sure whether we should display the text at all while font is loading.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540329</commentid>
    <comment_count>5</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-01-22 16:27:43 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; I&apos;m not sure whether we should display the text at all while font is loading.

This patch don&apos;t display the text during font loading (IMHO, the text should be displayed, though). It tries to find fonts based on generic font family names (if they exist on &quot;font-family&quot;) for layout.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540817</commentid>
    <comment_count>6</comment_count>
      <attachid>123250</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-01-23 14:02:02 -0800</bug_when>
    <thetext>Comment on attachment 123250
Patch

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

&gt; Source/WebCore/css/CSSFontFaceSource.cpp:40
&gt;  

These extra dependencies are really sad. Also, there is fontDataForGenericFamily in CSSFontSelector.cpp. 
So my feeling is that  getGenericFallbackFontData should be a part of  CSSFontSelector, not CSSFontFaceSource, something like CSSFontSelector::getGetFallbackFontData() ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540927</commentid>
    <comment_count>7</comment_count>
      <attachid>123645</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-01-23 16:05:23 -0800</bug_when>
    <thetext>Created attachment 123645
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540929</commentid>
    <comment_count>8</comment_count>
      <attachid>123250</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-01-23 16:06:30 -0800</bug_when>
    <thetext>Comment on attachment 123250
Patch

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

Thank you for review!

&gt;&gt; Source/WebCore/css/CSSFontFaceSource.cpp:40
&gt;&gt;  
&gt; 
&gt; These extra dependencies are really sad. Also, there is fontDataForGenericFamily in CSSFontSelector.cpp. 
&gt; So my feeling is that  getGenericFallbackFontData should be a part of  CSSFontSelector, not CSSFontFaceSource, something like CSSFontSelector::getGetFallbackFontData() ?

I agree. Removed these dependencies and moved the function to CSSFontSelector as CSSFontSelector::getGenericFallbackFontData().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541760</commentid>
    <comment_count>9</comment_count>
      <attachid>123645</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-01-24 15:17:34 -0800</bug_when>
    <thetext>Comment on attachment 123645
Patch

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

&gt; Source/WebCore/css/CSSFontSelector.cpp:623
&gt; +{

CSSFontSelector.cpp already has fontDataForGenericFamily() which looks almost same as this method. What is the difference between these two?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541823</commentid>
    <comment_count>10</comment_count>
      <attachid>123836</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-01-24 16:23:23 -0800</bug_when>
    <thetext>Created attachment 123836
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541830</commentid>
    <comment_count>11</comment_count>
      <attachid>123645</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-01-24 16:29:59 -0800</bug_when>
    <thetext>Comment on attachment 123645
Patch

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

&gt;&gt; Source/WebCore/css/CSSFontSelector.cpp:623
&gt;&gt; +{
&gt; 
&gt; CSSFontSelector.cpp already has fontDataForGenericFamily() which looks almost same as this method. What is the difference between these two?

The only difference is fontDataForGenericFamily() uses the given font family name to select an appropriate font data, while this method selects a font data based on FontDescription&apos;s generic family. Revised the patch to use fontDataForGenericFamily() in this method to share the logic.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542461</commentid>
    <comment_count>12</comment_count>
    <who name="">mitz</who>
    <bug_when>2012-01-25 11:06:35 -0800</bug_when>
    <thetext>Why go with a generic family? Wouldn’t it be better to just use the rest of the fallback list (which may include a generic family, and terminates in the “last resort” font)? I imagine this could be done by having the temporary font we supply be one that has no coverage, so everything falls back through the rest of the list. I guess the vertical metrics would still need to come from somewhere, possibly the next item on the list. This would have the advantage that in the case the font eventually fails to load, and the fallback is used, the layout wouldn’t change at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542830</commentid>
    <comment_count>13</comment_count>
      <attachid>124051</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-01-25 18:17:24 -0800</bug_when>
    <thetext>Created attachment 124051
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542833</commentid>
    <comment_count>14</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-01-25 18:18:52 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; Why go with a generic family? Wouldn’t it be better to just use the rest of the fallback list (which may include a generic family, and terminates in the “last resort” font)? I imagine this could be done by having the temporary font we supply be one that has no coverage, so everything falls back through the rest of the list. I guess the vertical metrics would still need to come from somewhere, possibly the next item on the list. This would have the advantage that in the case the font eventually fails to load, and the fallback is used, the layout wouldn’t change at all.

The solution is what I was looking for. I couldn&apos;t figure out how I can use the rest of the fallback list. Thank you so much for your suggestion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545502</commentid>
    <comment_count>15</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-01-30 15:41:05 -0800</bug_when>
    <thetext>Hi mitz,

Could you please take another look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547852</commentid>
    <comment_count>16</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-02-02 06:55:07 -0800</bug_when>
    <thetext>I&apos;d appreciate if someone could review the patch. I pinged not only on the bugzilla but also by sending an email. What else can I do?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568417</commentid>
    <comment_count>17</comment_count>
      <attachid>129650</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-03-01 00:09:59 -0800</bug_when>
    <thetext>Created attachment 129650
Rebased to ToT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568422</commentid>
    <comment_count>18</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-03-01 00:12:54 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; Created an attachment (id=129650) [details]
&gt; Rebased to ToT

Hi mitz,

Could you please take a look? We want to fix the issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569723</commentid>
    <comment_count>19</comment_count>
    <who name="">komoroske</who>
    <bug_when>2012-03-02 10:02:14 -0800</bug_when>
    <thetext>This issue is one that affects the Google Docs suite of apps and they&apos;re very keen to get fixed.  Any help would be appreciated!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578780</commentid>
    <comment_count>20</comment_count>
      <attachid>129650</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-03-14 14:30:56 -0700</bug_when>
    <thetext>Comment on attachment 129650
Rebased to ToT

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

&gt; Source/WebCore/ChangeLog:6
&gt; +        For layout, use the rest of the fallback list during webfonts are loading.

during -&gt; while

&gt; Source/WebCore/ChangeLog:7
&gt; +        This is done by returning the temporary font that has no coverage.

Can you explain this a bit? What&apos;s a &quot;coverage&quot;?

&gt; Source/WebCore/css/CSSSegmentedFontFace.cpp:119
&gt; +            // If the faceFontData is loading, add a range which has no coverage
&gt; +            // so that using the rest of fallback list for layout.
&gt; +            if (faceFontData-&gt;isLoading())
&gt; +                newFontData-&gt;appendRange(FontDataRange(0, 0, faceFontData));
&gt;              else {
&gt; -                for (unsigned j = 0; j &lt; numRanges; ++j)
&gt; -                    newFontData-&gt;appendRange(FontDataRange(ranges[j].from(), ranges[j].to(), faceFontData));
&gt; +                const Vector&lt;CSSFontFace::UnicodeRange&gt;&amp; ranges = m_fontFaces[i]-&gt;ranges();
&gt; +                unsigned numRanges = ranges.size();
&gt; +                if (!numRanges)
&gt; +                    newFontData-&gt;appendRange(FontDataRange(0, 0x7FFFFFFF, faceFontData));
&gt; +                else {
&gt; +                    for (unsigned j = 0; j &lt; numRanges; ++j)
&gt; +                        newFontData-&gt;appendRange(FontDataRange(ranges[j].from(), ranges[j].to(), faceFontData));
&gt; +                }

can this be made into a static helper with a good descriptive name? You may not need a comment then.

&gt; LayoutTests/fast/text/fallback-font-while-loading.html:21
&gt; +    style.innerText = &apos;@font-face { font-family: Ahem; src: url(../../resources/Ahem.ttf?&apos; + Date.now() + &apos;); }&apos;;

Is this really the best way to ensure that we have not cached a file? Don&apos;t we have some tools in loader-related tests?

&gt; LayoutTests/fast/text/fallback-font-while-loading.html:22
&gt; +    document.getElementsByTagName(&apos;head&apos;)[0].appendChild(style);

document.head is simpler.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578890</commentid>
    <comment_count>21</comment_count>
      <attachid>131947</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-03-14 16:07:18 -0700</bug_when>
    <thetext>Created attachment 131947
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578896</commentid>
    <comment_count>22</comment_count>
      <attachid>129650</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-03-14 16:11:17 -0700</bug_when>
    <thetext>Comment on attachment 129650
Rebased to ToT

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

Thank you so much for review.

&gt;&gt; Source/WebCore/ChangeLog:6
&gt;&gt; +        For layout, use the rest of the fallback list during webfonts are loading.
&gt; 
&gt; during -&gt; while

Done. (I&apos;ve just noticed I should have also fixed the title. Will fix next patch)

&gt;&gt; Source/WebCore/ChangeLog:7
&gt;&gt; +        This is done by returning the temporary font that has no coverage.
&gt; 
&gt; Can you explain this a bit? What&apos;s a &quot;coverage&quot;?

Done.

&gt;&gt; Source/WebCore/css/CSSSegmentedFontFace.cpp:119
&gt;&gt; +                }
&gt; 
&gt; can this be made into a static helper with a good descriptive name? You may not need a comment then.

Done.

&gt;&gt; LayoutTests/fast/text/fallback-font-while-loading.html:21
&gt;&gt; +    style.innerText = &apos;@font-face { font-family: Ahem; src: url(../../resources/Ahem.ttf?&apos; + Date.now() + &apos;); }&apos;;
&gt; 
&gt; Is this really the best way to ensure that we have not cached a file? Don&apos;t we have some tools in loader-related tests?

We don&apos;t have webfont loader-related tests. I revised the test to use cgi.

&gt;&gt; LayoutTests/fast/text/fallback-font-while-loading.html:22
&gt;&gt; +    document.getElementsByTagName(&apos;head&apos;)[0].appendChild(style);
&gt; 
&gt; document.head is simpler.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583791</commentid>
    <comment_count>23</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-03-20 21:41:28 -0700</bug_when>
    <thetext>Hi Dimitri,

Could you please take another look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589476</commentid>
    <comment_count>24</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-03-27 17:14:48 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; Hi Dimitri,
&gt; 
&gt; Could you please take another look?

Ping Dimitri?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>590057</commentid>
    <comment_count>25</comment_count>
      <attachid>131947</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-03-28 09:48:12 -0700</bug_when>
    <thetext>Comment on attachment 131947
Patch

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

ok. In the future, please don&apos;t wait a week if you don&apos;t get a response from a reviewer. In this particular case, you have my email, and heck, you even have my IM. We all get a ton of mail -- it&apos;s likely that some will fall through cracks. Be persistent :)

&gt; Source/WebCore/css/CSSSegmentedFontFace.cpp:93
&gt; +    if (!numRanges)
&gt; +        newFontData-&gt;appendRange(FontDataRange(0, 0x7FFFFFFF, faceFontData));

Can do early return here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>590635</commentid>
    <comment_count>26</comment_count>
      <attachid>134453</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-03-28 17:12:04 -0700</bug_when>
    <thetext>Created attachment 134453
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>590638</commentid>
    <comment_count>27</comment_count>
      <attachid>131947</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-03-28 17:12:43 -0700</bug_when>
    <thetext>Comment on attachment 131947
Patch

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

I see. Thank you for review!

&gt;&gt; Source/WebCore/css/CSSSegmentedFontFace.cpp:93
&gt;&gt; +        newFontData-&gt;appendRange(FontDataRange(0, 0x7FFFFFFF, faceFontData));
&gt; 
&gt; Can do early return here.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>590717</commentid>
    <comment_count>28</comment_count>
      <attachid>134453</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-28 18:41:19 -0700</bug_when>
    <thetext>Comment on attachment 134453
Patch for landing

Clearing flags on attachment: 134453

Committed r112489: &lt;http://trac.webkit.org/changeset/112489&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>590718</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-28 18:41:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591364</commentid>
    <comment_count>30</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-03-29 11:28:16 -0700</bug_when>
    <thetext>(In reply to comment #29)
&gt; All reviewed patches have been landed.  Closing bug.

Did the layout test not get landed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591365</commentid>
    <comment_count>31</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-03-29 11:29:58 -0700</bug_when>
    <thetext>(In reply to comment #30)
&gt; (In reply to comment #29)
&gt; &gt; All reviewed patches have been landed.  Closing bug.
&gt; 
&gt; Did the layout test not get landed?

Also, Ahem.ttf is already in LayoutTests/resources/Ahem.ttf, so we don&apos;t need to check in another copy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591399</commentid>
    <comment_count>32</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-03-29 11:52:29 -0700</bug_when>
    <thetext>FYI: It looks like the layout tests got dropped in your final patch. Please commit them when you get a chance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591769</commentid>
    <comment_count>33</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-03-29 17:54:56 -0700</bug_when>
    <thetext>Thank you for the notice guys! I&apos;ll create a patch to add the test.

&gt; Also, Ahem.ttf is already in LayoutTests/resources/Ahem.ttf, so we don&apos;t need to check in another copy.

The test will be served via local http server so I think we can&apos;t use LayoutTests/resources/Ahem.ttf from the test. No?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591803</commentid>
    <comment_count>34</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-03-29 18:47:51 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591804</commentid>
    <comment_count>35</comment_count>
      <attachid>134710</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-03-29 18:47:57 -0700</bug_when>
    <thetext>Created attachment 134710
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591806</commentid>
    <comment_count>36</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-03-29 18:49:17 -0700</bug_when>
    <thetext>(In reply to comment #35)
&gt; Created an attachment (id=134710) [details]
&gt; Patch

I&apos;d like to wait Tony&apos;s comment for adding Ahem.ttf.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591915</commentid>
    <comment_count>37</comment_count>
      <attachid>134710</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-03-30 00:06:06 -0700</bug_when>
    <thetext>Comment on attachment 134710
Patch

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

getahem.cgi needs a better name - nothing in it tells the reader that it&apos;s going to do it slowly.

I&apos;d suggest following an existing pattern for a slow loading test (find LayoutTests/http/tests/ -name *slow* | grep -v svn), and using a language that one of those tests already uses, not python.

r- because there is no need to add another copy of Ahem.

&gt; LayoutTests/ChangeLog:3
&gt; +        Respects font fallback list while webfonts are loading

This is grammatically incorrect. Did you mean to say something like &quot;Fallback fonts should be used while a web font is being loaded&quot;?

&gt; LayoutTests/http/tests/webfont/fallback-font-while-loading.html:15
&gt; +    layoutTestController.overridePreference(&apos;WebKitSerifFont&apos;, &apos;Arial&apos;);

Is this needed because you know that this string has different width when using Arial and when using Ahem, but aren&apos;t sure about default serif font? That&apos;s worth explaining in a comment.

&gt; LayoutTests/http/tests/webfont/fallback-font-while-loading.html:37
&gt; +addTextWithWebfont();

Why does this element need to be added dynamically?

&gt; LayoutTests/http/tests/webfont/getahem.cgi:7
&gt; +font_data = open(&quot;../resources/Ahem.ttf&quot;).read()

This loads a local file already. You can avoid adding Ahem.ttf by using a relative path to an existing one (&quot;../../../resources/Ahem.ttf&quot; if I counted the dots correctly).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591963</commentid>
    <comment_count>38</comment_count>
      <attachid>134748</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-03-30 01:54:43 -0700</bug_when>
    <thetext>Created attachment 134748
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591972</commentid>
    <comment_count>39</comment_count>
      <attachid>134751</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-03-30 02:23:09 -0700</bug_when>
    <thetext>Created attachment 134751
Use perl instead of python</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591973</commentid>
    <comment_count>40</comment_count>
      <attachid>134710</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-03-30 02:24:20 -0700</bug_when>
    <thetext>Comment on attachment 134710
Patch

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

Thank you for review!

&gt;&gt; LayoutTests/ChangeLog:3
&gt;&gt; +        Respects font fallback list while webfonts are loading
&gt; 
&gt; This is grammatically incorrect. Did you mean to say something like &quot;Fallback fonts should be used while a web font is being loaded&quot;?

Thanks. Fixed.

&gt;&gt; LayoutTests/http/tests/webfont/fallback-font-while-loading.html:15
&gt;&gt; +    layoutTestController.overridePreference(&apos;WebKitSerifFont&apos;, &apos;Arial&apos;);
&gt; 
&gt; Is this needed because you know that this string has different width when using Arial and when using Ahem, but aren&apos;t sure about default serif font? That&apos;s worth explaining in a comment.

Done.

&gt;&gt; LayoutTests/http/tests/webfont/fallback-font-while-loading.html:37
&gt;&gt; +addTextWithWebfont();
&gt; 
&gt; Why does this element need to be added dynamically?

I just used the way that the original repro used, but there is no need to do it. Revised to use tags.

&gt;&gt; LayoutTests/http/tests/webfont/getahem.cgi:7
&gt;&gt; +font_data = open(&quot;../resources/Ahem.ttf&quot;).read()
&gt; 
&gt; This loads a local file already. You can avoid adding Ahem.ttf by using a relative path to an existing one (&quot;../../../resources/Ahem.ttf&quot; if I counted the dots correctly).

You are right. Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592269</commentid>
    <comment_count>41</comment_count>
      <attachid>134751</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-03-30 10:37:20 -0700</bug_when>
    <thetext>Comment on attachment 134751
Use perl instead of python

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

&gt; LayoutTests/http/tests/webfont/fallback-font-while-loading.html:23
&gt; +    // Set Arial as serif to make sure that the string has different width when using Ahem and when using serif.
&gt; +    layoutTestController.overridePreference(&apos;WebKitSerifFont&apos;, &apos;Arial&apos;);

Nit: could you just use arial directly as the font-family instead of serif?

&gt; LayoutTests/http/tests/webfont/fallback-font-while-loading.html:37
&gt; +//addTextWithWebfont();

Please delete</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593104</commentid>
    <comment_count>42</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-04-01 17:25:39 -0700</bug_when>
    <thetext>Thank you for review. r112489 was rolled out so I&apos;ll revise the patch with original change later.

(In reply to comment #41)
&gt; (From update of attachment 134751 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=134751&amp;action=review
&gt; 
&gt; &gt; LayoutTests/http/tests/webfont/fallback-font-while-loading.html:23
&gt; &gt; +    // Set Arial as serif to make sure that the string has different width when using Ahem and when using serif.
&gt; &gt; +    layoutTestController.overridePreference(&apos;WebKitSerifFont&apos;, &apos;Arial&apos;);
&gt; 
&gt; Nit: could you just use arial directly as the font-family instead of serif?
&gt; 
&gt; &gt; LayoutTests/http/tests/webfont/fallback-font-while-loading.html:37
&gt; &gt; +//addTextWithWebfont();
&gt; 
&gt; Please delete</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594256</commentid>
    <comment_count>43</comment_count>
      <attachid>135284</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-04-03 00:30:11 -0700</bug_when>
    <thetext>Created attachment 135284
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594305</commentid>
    <comment_count>44</comment_count>
      <attachid>135284</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-03 02:08:17 -0700</bug_when>
    <thetext>Comment on attachment 135284
Patch for landing

Clearing flags on attachment: 135284

Committed r112999: &lt;http://trac.webkit.org/changeset/112999&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594306</commentid>
    <comment_count>45</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-03 02:08:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123250</attachid>
            <date>2012-01-19 20:55:51 -0800</date>
            <delta_ts>2012-01-23 16:06:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76684-20120120135550.patch</filename>
            <type>text/plain</type>
            <size>7359</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NDU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDdjOTE0NjIxZmI2OTE3
Yzg3NDhmYTYzZDc3Y2VkNjExYzg2MTcwMi4uMGFmYjk4OGE1ZjJjZTZkMDcwNWU4OTkwYjIxZjVh
N2ZmYWFlMzA3MCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAxLTE5ICBLZW5p
Y2hpIElzaGliYXNoaSAgPGJhc2hpQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXNwZWN0cyBn
ZW5lcmljIGZvbnQgZmFtaWx5IG5hbWVzIGR1cmluZyB3ZWJmb250cyBhcmUgbG9hZGluZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2ODQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUcnkgdG8gZ2V0IGFu
IGFwcHJvcHJpYXRlIFNpbXBsZUZvbnREYXRhIGJhc2VkIG9uIGZvbnREZXNjcmlwdGlvbi5nZW5l
cmljRmFtaWx5KCkuIElmIGl0IGZhaWxzLCB1c2UgdGhlIGxhc3QgcmVzb3J0IGZvbnRzLgorCisg
ICAgICAgIFRlc3Q6IGZhc3QvdGV4dC9mYWxsYmFjay1nZW5lcmljLWZvbnQtd2hpbGUtbG9hZGlu
Zy5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Z2V0R2VuZXJpY0ZhbGxiYWNrRm9udERhdGEpOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OkNTU0ZvbnRGYWNlU291cmNlOjpnZXRGb250RGF0YSk6IENhbGxzIGdldEdlbmVyaWNG
YWxsYmFja0ZvbnREYXRhIGZpcnN0LiBJZiBpdCBmYWlscywgY2FsbHMgZ2VOb25SZXRhaW5lZExh
c3RSZXNvcnRGYWxsYmFja0ZvbnQoKS4KKwogMjAxMi0wMS0xOSAgR3JlZyBCaWxsb2NrICA8Z2Jp
bGxvY2tAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbQ292ZXJpdHldIEZpeCB1bmluaXRpYWxpemVk
IGNvbnN0cnVjdG9yIGRlZmVjdHMgaW4gLi4uL2h0bWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NGb250RmFjZVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dEZhY2VTb3VyY2UuY3BwCmluZGV4IGUzNjczNWFmYjZiMTczNDcxNzA4NjdlNzQ4NDE3ZDdlM2Q2
NzJlNGIuLjYyMDJkOTExMTJiZmY3NTE2MjMxOTY1NTU4ZjY0NjY1Yzc2Y2VlMjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNvdXJjZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcApAQCAtMzMsNyArMzMsOSBAQAogI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRm9udENhY2hlLmgiCiAjaW5jbHVkZSAiRm9u
dERlc2NyaXB0aW9uLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJHbHlwaFBhZ2VU
cmVlTm9kZS5oIgorI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU2ltcGxlRm9udERh
dGEuaCIKIAogI2lmIEVOQUJMRShTVkdfRk9OVFMpCkBAIC05NSw2ICs5Nyw0NSBAQCB2b2lkIENT
U0ZvbnRGYWNlU291cmNlOjpmb250TG9hZGVkKENhY2hlZEZvbnQqKQogICAgICAgICBtX2ZhY2Ut
PmZvbnRMb2FkZWQodGhpcyk7CiB9CiAKK3N0YXRpYyBTaW1wbGVGb250RGF0YSogZ2V0R2VuZXJp
Y0ZhbGxiYWNrRm9udERhdGEoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBGb250RGVzY3JpcHRp
b24mIGZvbnREZXNjcmlwdGlvbikKK3sKKyAgICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC0+
ZnJhbWUoKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgY29uc3QgU2V0dGluZ3MqIHNldHRpbmdz
ID0gZG9jdW1lbnQtPmZyYW1lKCktPnNldHRpbmdzKCk7CisgICAgaWYgKCFzZXR0aW5ncykKKyAg
ICAgICAgcmV0dXJuIDA7CisKKyAgICBBdG9taWNTdHJpbmcgZmFtaWx5OworICAgIHN3aXRjaCAo
Zm9udERlc2NyaXB0aW9uLmdlbmVyaWNGYW1pbHkoKSkgeworICAgIGNhc2UgRm9udERlc2NyaXB0
aW9uOjpOb0ZhbWlseToKKyAgICBjYXNlIEZvbnREZXNjcmlwdGlvbjo6U3RhbmRhcmRGYW1pbHk6
CisgICAgICAgIGZhbWlseSA9IHNldHRpbmdzLT5zdGFuZGFyZEZvbnRGYW1pbHkoZm9udERlc2Ny
aXB0aW9uLnNjcmlwdCgpKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBGb250RGVzY3JpcHRp
b246OlNlcmlmRmFtaWx5OgorICAgICAgICBmYW1pbHkgPSBzZXR0aW5ncy0+c2VyaWZGb250RmFt
aWx5KGZvbnREZXNjcmlwdGlvbi5zY3JpcHQoKSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
Rm9udERlc2NyaXB0aW9uOjpTYW5zU2VyaWZGYW1pbHk6CisgICAgICAgIGZhbWlseSA9IHNldHRp
bmdzLT5zYW5zU2VyaWZGb250RmFtaWx5KGZvbnREZXNjcmlwdGlvbi5zY3JpcHQoKSk7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgRm9udERlc2NyaXB0aW9uOjpNb25vc3BhY2VGYW1pbHk6Cisg
ICAgICAgIGZhbWlseSA9IHNldHRpbmdzLT5maXhlZEZvbnRGYW1pbHkoZm9udERlc2NyaXB0aW9u
LnNjcmlwdCgpKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBGb250RGVzY3JpcHRpb246OkN1
cnNpdmVGYW1pbHk6CisgICAgICAgIGZhbWlseSA9IHNldHRpbmdzLT5jdXJzaXZlRm9udEZhbWls
eShmb250RGVzY3JpcHRpb24uc2NyaXB0KCkpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEZv
bnREZXNjcmlwdGlvbjo6RmFudGFzeUZhbWlseToKKyAgICAgICAgZmFtaWx5ID0gc2V0dGluZ3Mt
PmZhbnRhc3lGb250RmFtaWx5KGZvbnREZXNjcmlwdGlvbi5zY3JpcHQoKSk7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgRm9udERlc2NyaXB0aW9uOjpQaWN0b2dyYXBoRmFtaWx5OgorICAgICAg
ICBmYW1pbHkgPSBzZXR0aW5ncy0+cGljdG9ncmFwaEZvbnRGYW1pbHkoZm9udERlc2NyaXB0aW9u
LnNjcmlwdCgpKTsKKyAgICBkZWZhdWx0OgorICAgICAgICBicmVhazsKKyAgICB9CisgICAgaWYg
KCFmYW1pbHkuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gZm9udENhY2hlKCktPmdldENhY2hl
ZEZvbnREYXRhKGZvbnREZXNjcmlwdGlvbiwgZmFtaWx5LCBGb250Q2FjaGU6OkRvTm90UmV0YWlu
KTsKKyAgICByZXR1cm4gMDsKK30KKwogU2ltcGxlRm9udERhdGEqIENTU0ZvbnRGYWNlU291cmNl
OjpnZXRGb250RGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9v
bCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY0l0YWxpYywgQ1NTRm9udFNlbGVjdG9yKiBm
b250U2VsZWN0b3IpCiB7CiAgICAgLy8gSWYgdGhlIGZvbnQgaGFzbid0IGxvYWRlZCBvciBhbiBl
cnJvciBvY2N1cnJlZCwgdGhlbiB3ZSd2ZSBnb3Qgbm90aGluZy4KQEAgLTE4Myw3ICsyMjQsOSBA
QCBTaW1wbGVGb250RGF0YSogQ1NTRm9udEZhY2VTb3VyY2U6OmdldEZvbnREYXRhKGNvbnN0IEZv
bnREZXNjcmlwdGlvbiYgZm9udERlc2NyaQogCiAgICAgICAgIC8vIFRoaXMgdGVtcG9yYXJ5IGZv
bnQgaXMgbm90IHJldGFpbmVkIGFuZCBzaG91bGQgbm90IGJlIHJldHVybmVkLgogICAgICAgICBG
b250Q2FjaGVQdXJnZVByZXZlbnRlciBmb250Q2FjaGVQdXJnZVByZXZlbnRlcjsKLSAgICAgICAg
U2ltcGxlRm9udERhdGEqIHRlbXBvcmFyeUZvbnQgPSBmb250Q2FjaGUoKS0+Z2V0Tm9uUmV0YWlu
ZWRMYXN0UmVzb3J0RmFsbGJhY2tGb250KGZvbnREZXNjcmlwdGlvbik7CisgICAgICAgIFNpbXBs
ZUZvbnREYXRhKiB0ZW1wb3JhcnlGb250ID0gZ2V0R2VuZXJpY0ZhbGxiYWNrRm9udERhdGEoZm9u
dFNlbGVjdG9yLT5kb2N1bWVudCgpLCBmb250RGVzY3JpcHRpb24pOworICAgICAgICBpZiAoIXRl
bXBvcmFyeUZvbnQpCisgICAgICAgICAgICB0ZW1wb3JhcnlGb250ID0gZm9udENhY2hlKCktPmdl
dE5vblJldGFpbmVkTGFzdFJlc29ydEZhbGxiYWNrRm9udChmb250RGVzY3JpcHRpb24pOwogICAg
ICAgICBmb250RGF0YSA9IGFkb3B0UHRyKG5ldyBTaW1wbGVGb250RGF0YSh0ZW1wb3JhcnlGb250
LT5wbGF0Zm9ybURhdGEoKSwgdHJ1ZSwgdHJ1ZSkpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDRiNzU4ZGNl
YjgyODRhNTQwZWVkMmY3NDczNGFkZDc0Y2JhZWE2MjcuLjRmYzI3ZjhmYmRiOTE0NTE4ZTdhYjY1
ODdiYTE1OGEyNTg2OTU2ZmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wMS0xOSAgS2Vu
aWNoaSBJc2hpYmFzaGkgIDxiYXNoaUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVzcGVjdHMg
Z2VuZXJpYyBmb250IGZhbWlseSBuYW1lcyBkdXJpbmcgd2ViZm9udHMgYXJlIGxvYWRpbmcKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2Njg0CisKKyAg
ICAgICAgQWRkIGEgdGVzdCB0aGF0IGNoZWNrcyBnZW5lcmljIGZvbnQgZmFtaWx5IG5hbWVzIGFy
ZSB1c2VzIGZvciBmb250CisgICAgICAgIGZhbGxiYWNrIG1lY2hhbmlzbSBkdXJpbmcgd2ViZm9u
dHMgYXJlIGxvYWRpbmcuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBmYXN0L3RleHQvZmFsbGJhY2stZ2VuZXJpYy1mb250LXdoaWxlLWxvYWRpbmct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvZmFsbGJhY2stZ2VuZXJp
Yy1mb250LXdoaWxlLWxvYWRpbmcuaHRtbDogQWRkZWQuCisKIDIwMTItMDEtMTkgIEFkYW0gQmFy
dGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgQ2hyb21pdW0tc3BlY2lmaWMg
aW1hZ2UgYmFzZWxpbmVzIGZvcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Zh
bGxiYWNrLWdlbmVyaWMtZm9udC13aGlsZS1sb2FkaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC9mYWxsYmFjay1nZW5lcmljLWZvbnQtd2hpbGUtbG9hZGluZy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODFjMWMzOTYyM2M2NGU3ZjNjMGE0ZWQwNGQ0YjZhODM3Njk1MTQw
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mYWxsYmFjay1nZW5l
cmljLWZvbnQtd2hpbGUtbG9hZGluZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgZ2VuZXJpYyBmb250IGZhbWlseSBuYW1lcywgaWYgdGhleSBleGlz
dHMsIGFyZSB1c2VkIGZvciBmb250IGZhbGxiYWNrIG1lY2hhbmlzbSB3aGVuIHdlYmZvbnRzIGFy
ZSBsb2FkaW5nLgorCitUYXJnZXQ6CitBIHRleHQgdG8gYmUgbWVhc3VyZWQuCitSZWZlcmVuY2U6
CitBIHRleHQgdG8gYmUgbWVhc3VyZWQuCitQQVNTOiBUaGUgd2lkdGggb2YgdGFyZ2V0IHRleHQg
YW5kIHJlZmVyZW5jZSB0ZXh0IGlzIHRoZSBzYW1lLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L2ZhbGxiYWNrLWdlbmVyaWMtZm9udC13aGlsZS1sb2FkaW5nLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvZmFsbGJhY2stZ2VuZXJpYy1mb250LXdoaWxlLWxvYWRpbmcuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wNWFmY2NhMWViY2Q5OGQyNTJjMzc2ZGQ5YzRmOTQ4OTk1OGFmMzY2Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZhbGxiYWNrLWdlbmVyaWMt
Zm9udC13aGlsZS1sb2FkaW5nLmh0bWwKQEAgLTAsMCArMSw0MCBAQAorPHA+CitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgZ2VuZXJpYyBmb250IGZhbWlseSBuYW1lcywgaWYgdGhleSBleGlzdHMsIGFy
ZSB1c2VkIGZvciBmb250IGZhbGxiYWNrIG1lY2hhbmlzbSB3aGVuIHdlYmZvbnRzIGFyZSBsb2Fk
aW5nLgorPC9wPgorCitUYXJnZXQ6Cis8ZGl2IGlkPSJ0YXJnZXRIb2xkZXIiPgorPC9kaXY+CitS
ZWZlcmVuY2U6Cis8ZGl2PgorPHNwYW4gaWQ9InJlZmVyZW5jZSIgc3R5bGU9ImZvbnQtZmFtaWx5
OiBzZXJpZjsiPkEgdGV4dCB0byBiZSBtZWFzdXJlZC48L3NwYW4+Cis8L2Rpdj4KKzxkaXYgaWQ9
InJlc3VsdCI+PC9kaXY+CisKKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCdXZWJL
aXRTZXJpZkZvbnQnLCAnQXJpYWwnKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7Cit9CisKK2Z1bmN0aW9uIGFkZFRleHRXaXRoV2ViZm9udCgpIHsKKyAgICB2YXIgc3R5
bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpOworICAgIHN0eWxlLmlubmVyVGV4
dCA9ICdAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6IEFoZW07IHNyYzogdXJsKC4uLy4uL3Jlc291
cmNlcy9BaGVtLnR0Zj8nICsgRGF0ZS5ub3coKSArICcpOyB9JzsKKyAgICBkb2N1bWVudC5nZXRF
bGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxkKHN0eWxlKTsKKyAgICB2YXIg
dGFyZ2V0SG9sZGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RhcmdldEhvbGRlcicpOwor
ICAgIHRhcmdldEhvbGRlci5pbm5lckhUTUwgPSAnPHNwYW4gaWQ9InRhcmdldCIgc3R5bGU9ImZv
bnQtZmFtaWx5OiBBaGVtLCBzZXJpZjsiPkEgdGV4dCB0byBiZSBtZWFzdXJlZC48L3NwYW4+JzsK
K30KKworZnVuY3Rpb24gY2hlY2tTaXplKCkgeworICAgIHZhciB0YXJnZXRXaWR0aCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQnKS5vZmZzZXRXaWR0aDsKKyAgICB2YXIgcmVmZXJl
bmNlV2lkdGggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVmZXJlbmNlJykub2Zmc2V0V2lk
dGg7CisgICAgdmFyIHJlc3VsdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKTsK
KyAgICBpZiAodGFyZ2V0V2lkdGggPT0gcmVmZXJlbmNlV2lkdGgpCisgICAgICAgIHJlc3VsdC5p
bm5lclRleHQgPSAnUEFTUzogVGhlIHdpZHRoIG9mIHRhcmdldCB0ZXh0IGFuZCByZWZlcmVuY2Ug
dGV4dCBpcyB0aGUgc2FtZS4nOworICAgIGVsc2UKKyAgICAgICAgcmVzdWx0LmlubmVyVGV4dCA9
ICdGQUlMOiBUaGUgd2lkdGggb2YgdGFyZ2V0IHRleHQgYW5kIHJlZmVyZW5jZSB0ZXh0IGlzIGRp
ZmZlcmVudCc7Cit9CisKK2FkZFRleHRXaXRoV2ViZm9udCgpOworY2hlY2tTaXplKCk7Cis8L3Nj
cmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123645</attachid>
            <date>2012-01-23 16:05:23 -0800</date>
            <delta_ts>2012-01-24 16:29:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76684-20120124090521.patch</filename>
            <type>text/plain</type>
            <size>8025</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NjQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzg5ZTUyNWUyNWI3YzIz
ODQ2ODU5M2M3MjM4MmU2YTg5N2M2MmY0OC4uNDRhNjk0YWIxMWFiZWM5NzZiMzJhYzBhODA2NzQz
MGZhYTI4MDg2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTAxLTIzICBLZW5p
Y2hpIElzaGliYXNoaSAgPGJhc2hpQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXNwZWN0cyBn
ZW5lcmljIGZvbnQgZmFtaWx5IG5hbWVzIGR1cmluZyB3ZWJmb250cyBhcmUgbG9hZGluZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2ODQKKworICAg
ICAgICBUcnkgdG8gZ2V0IGFuIGFwcHJvcHJpYXRlIFNpbXBsZUZvbnREYXRhIGJhc2VkIG9uIGZv
bnREZXNjcmlwdGlvbi5nZW5lcmljRmFtaWx5KCkuIElmIGl0IGZhaWxzLCB1c2UgdGhlIGxhc3Qg
cmVzb3J0IGZvbnRzLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRlc3Q6IGZhc3QvdGV4dC9mYWxsYmFjay1nZW5lcmljLWZvbnQtd2hpbGUtbG9hZGlu
Zy5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTRm9udEZhY2VTb3VyY2U6OmdldEZvbnREYXRhKTogQ2FsbHMgZ2V0R2VuZXJp
Y0ZhbGxiYWNrRm9udERhdGEgZmlyc3QuIElmIGl0IGZhaWxzLCBjYWxscyBnZU5vblJldGFpbmVk
TGFzdFJlc29ydEZhbGxiYWNrRm9udCgpLgorICAgICAgICAqIGNzcy9DU1NGb250U2VsZWN0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFNlbGVjdG9yOjpnZXRHZW5lcmljRmFsbGJh
Y2tGb250RGF0YSk6IEFkZGVkLgorICAgICAgICAqIGNzcy9DU1NGb250U2VsZWN0b3IuaDoKKwog
MjAxMi0wMS0yMyAgQW5kcmVhcyBLbGluZyAgPGF3ZXNvbWVrbGluZ0BhcHBsZS5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCBidWlsZGZpeCBmb3IgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykg
Zm9sbG93aW5nIHIxMDU2NDIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dEZhY2VTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNw
cAppbmRleCBlMzY3MzVhZmI2YjE3MzQ3MTcwODY3ZTc0ODQxN2Q3ZTNkNjcyZTRiLi44MTkwNDc0
NWViNzA0ZGRmODdmMGFkMzAwZTQ0NTI3NzU1OTBjM2Q3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGb250RmFjZVNvdXJjZS5jcHAKQEAgLTE4Myw3ICsxODMsOSBAQCBTaW1wbGVGb250RGF0YSog
Q1NTRm9udEZhY2VTb3VyY2U6OmdldEZvbnREYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9u
dERlc2NyaQogCiAgICAgICAgIC8vIFRoaXMgdGVtcG9yYXJ5IGZvbnQgaXMgbm90IHJldGFpbmVk
IGFuZCBzaG91bGQgbm90IGJlIHJldHVybmVkLgogICAgICAgICBGb250Q2FjaGVQdXJnZVByZXZl
bnRlciBmb250Q2FjaGVQdXJnZVByZXZlbnRlcjsKLSAgICAgICAgU2ltcGxlRm9udERhdGEqIHRl
bXBvcmFyeUZvbnQgPSBmb250Q2FjaGUoKS0+Z2V0Tm9uUmV0YWluZWRMYXN0UmVzb3J0RmFsbGJh
Y2tGb250KGZvbnREZXNjcmlwdGlvbik7CisgICAgICAgIFNpbXBsZUZvbnREYXRhKiB0ZW1wb3Jh
cnlGb250ID0gZm9udFNlbGVjdG9yLT5nZXRHZW5lcmljRmFsbGJhY2tGb250RGF0YShmb250RGVz
Y3JpcHRpb24pOworICAgICAgICBpZiAoIXRlbXBvcmFyeUZvbnQpCisgICAgICAgICAgICB0ZW1w
b3JhcnlGb250ID0gZm9udENhY2hlKCktPmdldE5vblJldGFpbmVkTGFzdFJlc29ydEZhbGxiYWNr
Rm9udChmb250RGVzY3JpcHRpb24pOwogICAgICAgICBmb250RGF0YSA9IGFkb3B0UHRyKG5ldyBT
aW1wbGVGb250RGF0YSh0ZW1wb3JhcnlGb250LT5wbGF0Zm9ybURhdGEoKSwgdHJ1ZSwgdHJ1ZSkp
OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rv
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcAppbmRleCBhZGE2
MTJjZmY4NTQ0N2Y3MDMzNWFmMTFlNWVkMjBlYjJiMGNjNzVmLi44MjhiODFmYWIyZGEyODMwNTA3
ODAwODRmNTIyNTk1YzFiMTdiY2E2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udFNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9y
LmNwcApAQCAtNjE5LDQgKzYxOSw0MyBAQCB2b2lkIENTU0ZvbnRTZWxlY3Rvcjo6YmVnaW5Mb2Fk
VGltZXJGaXJlZChUaW1lcjxXZWJDb3JlOjpDU1NGb250U2VsZWN0b3I+KikKICAgICBjYWNoZWRS
ZXNvdXJjZUxvYWRlci0+bG9hZERvbmUoKTsKIH0KIAorU2ltcGxlRm9udERhdGEqIENTU0ZvbnRT
ZWxlY3Rvcjo6Z2V0R2VuZXJpY0ZhbGxiYWNrRm9udERhdGEoY29uc3QgRm9udERlc2NyaXB0aW9u
JiBmb250RGVzY3JpcHRpb24pCit7CisgICAgaWYgKCFtX2RvY3VtZW50IHx8ICFtX2RvY3VtZW50
LT5mcmFtZSgpKQorICAgICAgICByZXR1cm4gMDsKKyAgICBjb25zdCBTZXR0aW5ncyogc2V0dGlu
Z3MgPSBtX2RvY3VtZW50LT5mcmFtZSgpLT5zZXR0aW5ncygpOworICAgIGlmICghc2V0dGluZ3Mp
CisgICAgICAgIHJldHVybiAwOworCisgICAgQXRvbWljU3RyaW5nIGZhbWlseTsKKyAgICBzd2l0
Y2ggKGZvbnREZXNjcmlwdGlvbi5nZW5lcmljRmFtaWx5KCkpIHsKKyAgICBjYXNlIEZvbnREZXNj
cmlwdGlvbjo6Tm9GYW1pbHk6CisgICAgY2FzZSBGb250RGVzY3JpcHRpb246OlN0YW5kYXJkRmFt
aWx5OgorICAgICAgICBmYW1pbHkgPSBzZXR0aW5ncy0+c3RhbmRhcmRGb250RmFtaWx5KGZvbnRE
ZXNjcmlwdGlvbi5zY3JpcHQoKSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgRm9udERlc2Ny
aXB0aW9uOjpTZXJpZkZhbWlseToKKyAgICAgICAgZmFtaWx5ID0gc2V0dGluZ3MtPnNlcmlmRm9u
dEZhbWlseShmb250RGVzY3JpcHRpb24uc2NyaXB0KCkpOworICAgICAgICBicmVhazsKKyAgICBj
YXNlIEZvbnREZXNjcmlwdGlvbjo6U2Fuc1NlcmlmRmFtaWx5OgorICAgICAgICBmYW1pbHkgPSBz
ZXR0aW5ncy0+c2Fuc1NlcmlmRm9udEZhbWlseShmb250RGVzY3JpcHRpb24uc2NyaXB0KCkpOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIEZvbnREZXNjcmlwdGlvbjo6TW9ub3NwYWNlRmFtaWx5
OgorICAgICAgICBmYW1pbHkgPSBzZXR0aW5ncy0+Zml4ZWRGb250RmFtaWx5KGZvbnREZXNjcmlw
dGlvbi5zY3JpcHQoKSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgRm9udERlc2NyaXB0aW9u
OjpDdXJzaXZlRmFtaWx5OgorICAgICAgICBmYW1pbHkgPSBzZXR0aW5ncy0+Y3Vyc2l2ZUZvbnRG
YW1pbHkoZm9udERlc2NyaXB0aW9uLnNjcmlwdCgpKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBGb250RGVzY3JpcHRpb246OkZhbnRhc3lGYW1pbHk6CisgICAgICAgIGZhbWlseSA9IHNldHRp
bmdzLT5mYW50YXN5Rm9udEZhbWlseShmb250RGVzY3JpcHRpb24uc2NyaXB0KCkpOworICAgICAg
ICBicmVhazsKKyAgICBjYXNlIEZvbnREZXNjcmlwdGlvbjo6UGljdG9ncmFwaEZhbWlseToKKyAg
ICAgICAgZmFtaWx5ID0gc2V0dGluZ3MtPnBpY3RvZ3JhcGhGb250RmFtaWx5KGZvbnREZXNjcmlw
dGlvbi5zY3JpcHQoKSk7CisgICAgZGVmYXVsdDoKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAg
IGlmICghZmFtaWx5LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIGZvbnRDYWNoZSgpLT5nZXRD
YWNoZWRGb250RGF0YShmb250RGVzY3JpcHRpb24sIGZhbWlseSwgRm9udENhY2hlOjpEb05vdFJl
dGFpbik7CisgICAgcmV0dXJuIDA7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250U2VsZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0
b3IuaAppbmRleCAzZTk5MmNjNzQyYjE1MWIwOTliMjQ0MWY0MjUyN2M0YWViOTdmMGMwLi41MTQ4
NGFmZTY4NTZkOWJmMzMxNjU5NWI0Yjg4MTI1ODYxNWI1OWUzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRTZWxlY3Rvci5oCkBAIC00Myw2ICs0Myw3IEBAIGNsYXNzIENTU1NlZ21lbnRlZEZvbnRG
YWNlOwogY2xhc3MgQ2FjaGVkRm9udDsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgRm9udERlc2Ny
aXB0aW9uOworY2xhc3MgU2ltcGxlRm9udERhdGE7CiAKIGNsYXNzIENTU0ZvbnRTZWxlY3RvciA6
IHB1YmxpYyBGb250U2VsZWN0b3IgewogcHVibGljOgpAQCAtNjksNiArNzAsNyBAQCBwdWJsaWM6
CiAgICAgRG9jdW1lbnQqIGRvY3VtZW50KCkgY29uc3QgeyByZXR1cm4gbV9kb2N1bWVudDsgfQog
CiAgICAgdm9pZCBiZWdpbkxvYWRpbmdGb250U29vbihDYWNoZWRGb250Kik7CisgICAgU2ltcGxl
Rm9udERhdGEqIGdldEdlbmVyaWNGYWxsYmFja0ZvbnREYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlv
biYpOwogCiBwcml2YXRlOgogICAgIENTU0ZvbnRTZWxlY3RvcihEb2N1bWVudCopOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDVlOGZiNjg4MTY4NjM4ZGIzYWYyMzJmZGVlNGJhZmQxMTY4OTBkOTcuLjY3Y2RlMjZjOGI1NGQz
ODQxMjBmMDZiODMwN2NmOWZlNjlmMTVhYWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0w
MS0yMyAgS2VuaWNoaSBJc2hpYmFzaGkgIDxiYXNoaUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmVzcGVjdHMgZ2VuZXJpYyBmb250IGZhbWlseSBuYW1lcyBkdXJpbmcgd2ViZm9udHMgYXJlIGxv
YWRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2
Njg0CisKKyAgICAgICAgQWRkIGEgdGVzdCB0aGF0IGNoZWNrcyBnZW5lcmljIGZvbnQgZmFtaWx5
IG5hbWVzIGFyZSB1c2VzIGZvciBmb250CisgICAgICAgIGZhbGxiYWNrIG1lY2hhbmlzbSBkdXJp
bmcgd2ViZm9udHMgYXJlIGxvYWRpbmcuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBmYXN0L3RleHQvZmFsbGJhY2stZ2VuZXJpYy1mb250LXdoaWxl
LWxvYWRpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvZmFsbGJh
Y2stZ2VuZXJpYy1mb250LXdoaWxlLWxvYWRpbmcuaHRtbDogQWRkZWQuCisKIDIwMTItMDEtMjMg
IEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBVcGRhdGUgdGhlIGJh
c2VsaW5lcyBmb3IgYSBudW1iZXIgb2YgdGVzdHMgdGhhdCB1c2UgZ3JhZGllbnRzLiAgVGhlIG5l
dwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZhbGxiYWNrLWdlbmVyaWMtZm9u
dC13aGlsZS1sb2FkaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mYWxs
YmFjay1nZW5lcmljLWZvbnQtd2hpbGUtbG9hZGluZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODFjMWMzOTYyM2M2NGU3ZjNjMGE0ZWQwNGQ0YjZhODM3Njk1MTQwNwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mYWxsYmFjay1nZW5lcmljLWZvbnQtd2hpbGUtbG9h
ZGluZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Z2VuZXJpYyBmb250IGZhbWlseSBuYW1lcywgaWYgdGhleSBleGlzdHMsIGFyZSB1c2VkIGZvciBm
b250IGZhbGxiYWNrIG1lY2hhbmlzbSB3aGVuIHdlYmZvbnRzIGFyZSBsb2FkaW5nLgorCitUYXJn
ZXQ6CitBIHRleHQgdG8gYmUgbWVhc3VyZWQuCitSZWZlcmVuY2U6CitBIHRleHQgdG8gYmUgbWVh
c3VyZWQuCitQQVNTOiBUaGUgd2lkdGggb2YgdGFyZ2V0IHRleHQgYW5kIHJlZmVyZW5jZSB0ZXh0
IGlzIHRoZSBzYW1lLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZhbGxiYWNr
LWdlbmVyaWMtZm9udC13aGlsZS1sb2FkaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQv
ZmFsbGJhY2stZ2VuZXJpYy1mb250LXdoaWxlLWxvYWRpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNWFm
Y2NhMWViY2Q5OGQyNTJjMzc2ZGQ5YzRmOTQ4OTk1OGFmMzY2Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZhbGxiYWNrLWdlbmVyaWMtZm9udC13aGlsZS1sb2FkaW5n
Lmh0bWwKQEAgLTAsMCArMSw0MCBAQAorPHA+CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgZ2VuZXJp
YyBmb250IGZhbWlseSBuYW1lcywgaWYgdGhleSBleGlzdHMsIGFyZSB1c2VkIGZvciBmb250IGZh
bGxiYWNrIG1lY2hhbmlzbSB3aGVuIHdlYmZvbnRzIGFyZSBsb2FkaW5nLgorPC9wPgorCitUYXJn
ZXQ6Cis8ZGl2IGlkPSJ0YXJnZXRIb2xkZXIiPgorPC9kaXY+CitSZWZlcmVuY2U6Cis8ZGl2Pgor
PHNwYW4gaWQ9InJlZmVyZW5jZSIgc3R5bGU9ImZvbnQtZmFtaWx5OiBzZXJpZjsiPkEgdGV4dCB0
byBiZSBtZWFzdXJlZC48L3NwYW4+Cis8L2Rpdj4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+CisK
KzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCdXZWJLaXRTZXJpZkZvbnQnLCAnQXJp
YWwnKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cit9CisKK2Z1bmN0
aW9uIGFkZFRleHRXaXRoV2ViZm9udCgpIHsKKyAgICB2YXIgc3R5bGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdzdHlsZScpOworICAgIHN0eWxlLmlubmVyVGV4dCA9ICdAZm9udC1mYWNlIHsg
Zm9udC1mYW1pbHk6IEFoZW07IHNyYzogdXJsKC4uLy4uL3Jlc291cmNlcy9BaGVtLnR0Zj8nICsg
RGF0ZS5ub3coKSArICcpOyB9JzsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgn
aGVhZCcpWzBdLmFwcGVuZENoaWxkKHN0eWxlKTsKKyAgICB2YXIgdGFyZ2V0SG9sZGVyID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RhcmdldEhvbGRlcicpOworICAgIHRhcmdldEhvbGRlci5p
bm5lckhUTUwgPSAnPHNwYW4gaWQ9InRhcmdldCIgc3R5bGU9ImZvbnQtZmFtaWx5OiBBaGVtLCBz
ZXJpZjsiPkEgdGV4dCB0byBiZSBtZWFzdXJlZC48L3NwYW4+JzsKK30KKworZnVuY3Rpb24gY2hl
Y2tTaXplKCkgeworICAgIHZhciB0YXJnZXRXaWR0aCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCd0YXJnZXQnKS5vZmZzZXRXaWR0aDsKKyAgICB2YXIgcmVmZXJlbmNlV2lkdGggPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgncmVmZXJlbmNlJykub2Zmc2V0V2lkdGg7CisgICAgdmFyIHJlc3Vs
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKTsKKyAgICBpZiAodGFyZ2V0V2lk
dGggPT0gcmVmZXJlbmNlV2lkdGgpCisgICAgICAgIHJlc3VsdC5pbm5lclRleHQgPSAnUEFTUzog
VGhlIHdpZHRoIG9mIHRhcmdldCB0ZXh0IGFuZCByZWZlcmVuY2UgdGV4dCBpcyB0aGUgc2FtZS4n
OworICAgIGVsc2UKKyAgICAgICAgcmVzdWx0LmlubmVyVGV4dCA9ICdGQUlMOiBUaGUgd2lkdGgg
b2YgdGFyZ2V0IHRleHQgYW5kIHJlZmVyZW5jZSB0ZXh0IGlzIGRpZmZlcmVudCc7Cit9CisKK2Fk
ZFRleHRXaXRoV2ViZm9udCgpOworY2hlY2tTaXplKCk7Cis8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123836</attachid>
            <date>2012-01-24 16:23:23 -0800</date>
            <delta_ts>2012-01-25 18:17:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76684-20120125092321.patch</filename>
            <type>text/plain</type>
            <size>8167</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1ODIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODQ3NjZjYzllNmExMzY5
NGRkNGRhNjllYTdmOWI1MTAzN2YxZTgzZi4uMTg1MWUzZDk5NDc2ZTA1OWM4YTJhODI5N2FkN2Iy
NzA3YzQ4MGNmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTAxLTI0ICBLZW5p
Y2hpIElzaGliYXNoaSAgPGJhc2hpQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXNwZWN0cyBn
ZW5lcmljIGZvbnQgZmFtaWx5IG5hbWVzIGR1cmluZyB3ZWJmb250cyBhcmUgbG9hZGluZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2ODQKKworICAg
ICAgICBUcnkgdG8gZ2V0IGFuIGFwcHJvcHJpYXRlIFNpbXBsZUZvbnREYXRhIGJhc2VkIG9uIGZv
bnREZXNjcmlwdGlvbi5nZW5lcmljRmFtaWx5KCkuIElmIGl0IGZhaWxzLCB1c2UgdGhlIGxhc3Qg
cmVzb3J0IGZvbnRzLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRlc3Q6IGZhc3QvdGV4dC9mYWxsYmFjay1nZW5lcmljLWZvbnQtd2hpbGUtbG9hZGlu
Zy5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTRm9udEZhY2VTb3VyY2U6OmdldEZvbnREYXRhKTogQ2FsbHMgZ2V0R2VuZXJp
Y0ZhbGxiYWNrRm9udERhdGEgZmlyc3QuIElmIGl0IGZhaWxzLCBjYWxscyBnZU5vblJldGFpbmVk
TGFzdFJlc29ydEZhbGxiYWNrRm9udCgpLgorICAgICAgICAqIGNzcy9DU1NGb250U2VsZWN0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFNlbGVjdG9yOjpnZXRHZW5lcmljRmFsbGJh
Y2tGb250RGF0YSk6IEFkZGVkLgorICAgICAgICAqIGNzcy9DU1NGb250U2VsZWN0b3IuaDoKKwog
MjAxMi0wMS0yNCAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJF
R1JFU1NJT04ocjEwMzI0NSk6IGNhbid0IHNjcm9sbCBsZWZ0L3VwIHVzaW5nIHNjcm9sbGJhciBj
b250cm9scyBvZiBvdmVyZmxvd2luZyBlbGVtZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
RmFjZVNvdXJjZS5jcHAKaW5kZXggZTM2NzM1YWZiNmIxNzM0NzE3MDg2N2U3NDg0MTdkN2UzZDY3
MmU0Yi4uODE5MDQ3NDVlYjcwNGRkZjg3ZjBhZDMwMGU0NDUyNzc1NTkwYzNkNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwCkBAIC0xODMsNyArMTgzLDkgQEAgU2lt
cGxlRm9udERhdGEqIENTU0ZvbnRGYWNlU291cmNlOjpnZXRGb250RGF0YShjb25zdCBGb250RGVz
Y3JpcHRpb24mIGZvbnREZXNjcmkKIAogICAgICAgICAvLyBUaGlzIHRlbXBvcmFyeSBmb250IGlz
IG5vdCByZXRhaW5lZCBhbmQgc2hvdWxkIG5vdCBiZSByZXR1cm5lZC4KICAgICAgICAgRm9udENh
Y2hlUHVyZ2VQcmV2ZW50ZXIgZm9udENhY2hlUHVyZ2VQcmV2ZW50ZXI7Ci0gICAgICAgIFNpbXBs
ZUZvbnREYXRhKiB0ZW1wb3JhcnlGb250ID0gZm9udENhY2hlKCktPmdldE5vblJldGFpbmVkTGFz
dFJlc29ydEZhbGxiYWNrRm9udChmb250RGVzY3JpcHRpb24pOworICAgICAgICBTaW1wbGVGb250
RGF0YSogdGVtcG9yYXJ5Rm9udCA9IGZvbnRTZWxlY3Rvci0+Z2V0R2VuZXJpY0ZhbGxiYWNrRm9u
dERhdGEoZm9udERlc2NyaXB0aW9uKTsKKyAgICAgICAgaWYgKCF0ZW1wb3JhcnlGb250KQorICAg
ICAgICAgICAgdGVtcG9yYXJ5Rm9udCA9IGZvbnRDYWNoZSgpLT5nZXROb25SZXRhaW5lZExhc3RS
ZXNvcnRGYWxsYmFja0ZvbnQoZm9udERlc2NyaXB0aW9uKTsKICAgICAgICAgZm9udERhdGEgPSBh
ZG9wdFB0cihuZXcgU2ltcGxlRm9udERhdGEodGVtcG9yYXJ5Rm9udC0+cGxhdGZvcm1EYXRhKCks
IHRydWUsIHRydWUpKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGb250U2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5j
cHAKaW5kZXggYWRhNjEyY2ZmODU0NDdmNzAzMzVhZjExZTVlZDIwZWIyYjBjYzc1Zi4uY2U4NGE4
MDc4MjI0ODYxMjBlYTE3MTlhNTE0YTIwNWM4YjQyYjRlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRTZWxlY3Rvci5jcHAKQEAgLTM4MSw3ICszODEsNyBAQCB2b2lkIENTU0ZvbnRTZWxlY3Rv
cjo6Zm9udENhY2hlSW52YWxpZGF0ZWQoKQogICAgIGRpc3BhdGNoSW52YWxpZGF0aW9uQ2FsbGJh
Y2tzKCk7CiB9CiAKLXN0YXRpYyBGb250RGF0YSogZm9udERhdGFGb3JHZW5lcmljRmFtaWx5KERv
Y3VtZW50KiBkb2N1bWVudCwgY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24s
IGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5TmFtZSkKK3N0YXRpYyBTaW1wbGVGb250RGF0YSog
Zm9udERhdGFGb3JHZW5lcmljRmFtaWx5KERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgRm9udERl
c2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5TmFt
ZSkKIHsKICAgICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC0+ZnJhbWUoKSkKICAgICAgICAg
cmV0dXJuIDA7CkBAIC02MTksNCArNjE5LDI4IEBAIHZvaWQgQ1NTRm9udFNlbGVjdG9yOjpiZWdp
bkxvYWRUaW1lckZpcmVkKFRpbWVyPFdlYkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcj4qKQogICAgIGNh
Y2hlZFJlc291cmNlTG9hZGVyLT5sb2FkRG9uZSgpOwogfQogCitTaW1wbGVGb250RGF0YSogQ1NT
Rm9udFNlbGVjdG9yOjpnZXRHZW5lcmljRmFsbGJhY2tGb250RGF0YShjb25zdCBGb250RGVzY3Jp
cHRpb24mIGZvbnREZXNjcmlwdGlvbikKK3sKKyAgICBzd2l0Y2ggKGZvbnREZXNjcmlwdGlvbi5n
ZW5lcmljRmFtaWx5KCkpIHsKKyAgICBjYXNlIEZvbnREZXNjcmlwdGlvbjo6Tm9GYW1pbHk6Cisg
ICAgY2FzZSBGb250RGVzY3JpcHRpb246OlN0YW5kYXJkRmFtaWx5OgorICAgICAgICByZXR1cm4g
Zm9udERhdGFGb3JHZW5lcmljRmFtaWx5KG1fZG9jdW1lbnQsIGZvbnREZXNjcmlwdGlvbiwgc3Rh
bmRhcmRGYW1pbHkpOworICAgIGNhc2UgRm9udERlc2NyaXB0aW9uOjpTZXJpZkZhbWlseToKKyAg
ICAgICAgcmV0dXJuIGZvbnREYXRhRm9yR2VuZXJpY0ZhbWlseShtX2RvY3VtZW50LCBmb250RGVz
Y3JpcHRpb24sIHNlcmlmRmFtaWx5KTsKKyAgICBjYXNlIEZvbnREZXNjcmlwdGlvbjo6U2Fuc1Nl
cmlmRmFtaWx5OgorICAgICAgICByZXR1cm4gZm9udERhdGFGb3JHZW5lcmljRmFtaWx5KG1fZG9j
dW1lbnQsIGZvbnREZXNjcmlwdGlvbiwgc2Fuc1NlcmlmRmFtaWx5KTsKKyAgICBjYXNlIEZvbnRE
ZXNjcmlwdGlvbjo6TW9ub3NwYWNlRmFtaWx5OgorICAgICAgICByZXR1cm4gZm9udERhdGFGb3JH
ZW5lcmljRmFtaWx5KG1fZG9jdW1lbnQsIGZvbnREZXNjcmlwdGlvbiwgbW9ub3NwYWNlRmFtaWx5
KTsKKyAgICBjYXNlIEZvbnREZXNjcmlwdGlvbjo6Q3Vyc2l2ZUZhbWlseToKKyAgICAgICAgcmV0
dXJuIGZvbnREYXRhRm9yR2VuZXJpY0ZhbWlseShtX2RvY3VtZW50LCBmb250RGVzY3JpcHRpb24s
IGN1cnNpdmVGYW1pbHkpOworICAgIGNhc2UgRm9udERlc2NyaXB0aW9uOjpGYW50YXN5RmFtaWx5
OgorICAgICAgICByZXR1cm4gZm9udERhdGFGb3JHZW5lcmljRmFtaWx5KG1fZG9jdW1lbnQsIGZv
bnREZXNjcmlwdGlvbiwgZmFudGFzeUZhbWlseSk7CisgICAgY2FzZSBGb250RGVzY3JpcHRpb246
OlBpY3RvZ3JhcGhGYW1pbHk6CisgICAgICAgIHJldHVybiBmb250RGF0YUZvckdlbmVyaWNGYW1p
bHkobV9kb2N1bWVudCwgZm9udERlc2NyaXB0aW9uLCBwaWN0b2dyYXBoRmFtaWx5KTsKKyAgICBk
ZWZhdWx0OgorICAgICAgICBicmVhazsKKyAgICB9CisgICAgcmV0dXJuIDA7Cit9CisKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuaAppbmRleCAzZTk5MmNjNzQyYjE1MWIwOTliMjQ0
MWY0MjUyN2M0YWViOTdmMGMwLi41MTQ4NGFmZTY4NTZkOWJmMzMxNjU5NWI0Yjg4MTI1ODYxNWI1
OWUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5oCkBAIC00Myw2ICs0Myw3IEBA
IGNsYXNzIENTU1NlZ21lbnRlZEZvbnRGYWNlOwogY2xhc3MgQ2FjaGVkRm9udDsKIGNsYXNzIERv
Y3VtZW50OwogY2xhc3MgRm9udERlc2NyaXB0aW9uOworY2xhc3MgU2ltcGxlRm9udERhdGE7CiAK
IGNsYXNzIENTU0ZvbnRTZWxlY3RvciA6IHB1YmxpYyBGb250U2VsZWN0b3IgewogcHVibGljOgpA
QCAtNjksNiArNzAsNyBAQCBwdWJsaWM6CiAgICAgRG9jdW1lbnQqIGRvY3VtZW50KCkgY29uc3Qg
eyByZXR1cm4gbV9kb2N1bWVudDsgfQogCiAgICAgdm9pZCBiZWdpbkxvYWRpbmdGb250U29vbihD
YWNoZWRGb250Kik7CisgICAgU2ltcGxlRm9udERhdGEqIGdldEdlbmVyaWNGYWxsYmFja0ZvbnRE
YXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYpOwogCiBwcml2YXRlOgogICAgIENTU0ZvbnRTZWxl
Y3RvcihEb2N1bWVudCopOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDc4MzUzODRlMGM0YmZiOGQ0OWM3ZmY5OGM2NDljY2Yy
MDA3NTMyZWEuLmEyYTg0MTk2ZjJjNjZlYTY0YzI4MWZlNmU3ODRhNDA2YWNiYzdhMDQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNiBAQAorMjAxMi0wMS0yNCAgS2VuaWNoaSBJc2hpYmFzaGkgIDxiYXNoaUBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVzcGVjdHMgZ2VuZXJpYyBmb250IGZhbWlseSBuYW1l
cyBkdXJpbmcgd2ViZm9udHMgYXJlIGxvYWRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTc2Njg0CisKKyAgICAgICAgQWRkIGEgdGVzdCB0aGF0IGNo
ZWNrcyBnZW5lcmljIGZvbnQgZmFtaWx5IG5hbWVzIGFyZSB1c2VzIGZvciBmb250CisgICAgICAg
IGZhbGxiYWNrIG1lY2hhbmlzbSBkdXJpbmcgd2ViZm9udHMgYXJlIGxvYWRpbmcuCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3RleHQvZmFs
bGJhY2stZ2VuZXJpYy1mb250LXdoaWxlLWxvYWRpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L3RleHQvZmFsbGJhY2stZ2VuZXJpYy1mb250LXdoaWxlLWxvYWRpbmcuaHRt
bDogQWRkZWQuCisKIDIwMTItMDEtMjQgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4K
IAogICAgICAgICBVcGRhdGUgdGFibGUgaW1hZ2UgYmFzZWxpbmVzIGFmdGVyIGh0dHA6Ly90cmFj
LndlYmtpdC5vcmcvY2hhbmdlc2V0LzEwNTc3NS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC9mYWxsYmFjay1nZW5lcmljLWZvbnQtd2hpbGUtbG9hZGluZy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZmFsbGJhY2stZ2VuZXJpYy1mb250LXdoaWxlLWxvYWRp
bmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxYzFjMzk2MjNjNjRlN2YzYzBhNGVkMDRkNGI2
YTgzNzY5NTE0MDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZmFs
bGJhY2stZ2VuZXJpYy1mb250LXdoaWxlLWxvYWRpbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGdlbmVyaWMgZm9udCBmYW1pbHkgbmFtZXMsIGlm
IHRoZXkgZXhpc3RzLCBhcmUgdXNlZCBmb3IgZm9udCBmYWxsYmFjayBtZWNoYW5pc20gd2hlbiB3
ZWJmb250cyBhcmUgbG9hZGluZy4KKworVGFyZ2V0OgorQSB0ZXh0IHRvIGJlIG1lYXN1cmVkLgor
UmVmZXJlbmNlOgorQSB0ZXh0IHRvIGJlIG1lYXN1cmVkLgorUEFTUzogVGhlIHdpZHRoIG9mIHRh
cmdldCB0ZXh0IGFuZCByZWZlcmVuY2UgdGV4dCBpcyB0aGUgc2FtZS4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC9mYWxsYmFjay1nZW5lcmljLWZvbnQtd2hpbGUtbG9hZGluZy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZhbGxiYWNrLWdlbmVyaWMtZm9udC13aGlsZS1s
b2FkaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDVhZmNjYTFlYmNkOThkMjUyYzM3NmRkOWM0Zjk0ODk5
NThhZjM2NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mYWxsYmFj
ay1nZW5lcmljLWZvbnQtd2hpbGUtbG9hZGluZy5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzxwPgor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGdlbmVyaWMgZm9udCBmYW1pbHkgbmFtZXMsIGlmIHRoZXkg
ZXhpc3RzLCBhcmUgdXNlZCBmb3IgZm9udCBmYWxsYmFjayBtZWNoYW5pc20gd2hlbiB3ZWJmb250
cyBhcmUgbG9hZGluZy4KKzwvcD4KKworVGFyZ2V0OgorPGRpdiBpZD0idGFyZ2V0SG9sZGVyIj4K
KzwvZGl2PgorUmVmZXJlbmNlOgorPGRpdj4KKzxzcGFuIGlkPSJyZWZlcmVuY2UiIHN0eWxlPSJm
b250LWZhbWlseTogc2VyaWY7Ij5BIHRleHQgdG8gYmUgbWVhc3VyZWQuPC9zcGFuPgorPC9kaXY+
Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVy
ZW5jZSgnV2ViS2l0U2VyaWZGb250JywgJ0FyaWFsJyk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworfQorCitmdW5jdGlvbiBhZGRUZXh0V2l0aFdlYmZvbnQoKSB7Cisg
ICAgdmFyIHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTsKKyAgICBzdHls
ZS5pbm5lclRleHQgPSAnQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiBBaGVtOyBzcmM6IHVybCgu
Li8uLi9yZXNvdXJjZXMvQWhlbS50dGY/JyArIERhdGUubm93KCkgKyAnKTsgfSc7CisgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChzdHlsZSk7
CisgICAgdmFyIHRhcmdldEhvbGRlciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXRI
b2xkZXInKTsKKyAgICB0YXJnZXRIb2xkZXIuaW5uZXJIVE1MID0gJzxzcGFuIGlkPSJ0YXJnZXQi
IHN0eWxlPSJmb250LWZhbWlseTogQWhlbSwgc2VyaWY7Ij5BIHRleHQgdG8gYmUgbWVhc3VyZWQu
PC9zcGFuPic7Cit9CisKK2Z1bmN0aW9uIGNoZWNrU2l6ZSgpIHsKKyAgICB2YXIgdGFyZ2V0V2lk
dGggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0Jykub2Zmc2V0V2lkdGg7CisgICAg
dmFyIHJlZmVyZW5jZVdpZHRoID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlZmVyZW5jZScp
Lm9mZnNldFdpZHRoOworICAgIHZhciByZXN1bHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
cmVzdWx0Jyk7CisgICAgaWYgKHRhcmdldFdpZHRoID09IHJlZmVyZW5jZVdpZHRoKQorICAgICAg
ICByZXN1bHQuaW5uZXJUZXh0ID0gJ1BBU1M6IFRoZSB3aWR0aCBvZiB0YXJnZXQgdGV4dCBhbmQg
cmVmZXJlbmNlIHRleHQgaXMgdGhlIHNhbWUuJzsKKyAgICBlbHNlCisgICAgICAgIHJlc3VsdC5p
bm5lclRleHQgPSAnRkFJTDogVGhlIHdpZHRoIG9mIHRhcmdldCB0ZXh0IGFuZCByZWZlcmVuY2Ug
dGV4dCBpcyBkaWZmZXJlbnQnOworfQorCithZGRUZXh0V2l0aFdlYmZvbnQoKTsKK2NoZWNrU2l6
ZSgpOworPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124051</attachid>
            <date>2012-01-25 18:17:24 -0800</date>
            <delta_ts>2012-03-01 00:09:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76684-20120126111723.patch</filename>
            <type>text/plain</type>
            <size>6050</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1OTMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjY4NzY2MjA3YjBkODlj
NmJjNzcwNDc3OGExN2ZhYzU2NTJmMTE4NS4uZDYwMTVlNGE2YjNmYjM3NjA1ZDJjOTA4ZDMxOGZl
MWM0YzhkMzg5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAxLTI1ICBLZW5p
Y2hpIElzaGliYXNoaSAgPGJhc2hpQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXNwZWN0cyBm
b250IGZhbGxiYWNrIGxpc3QgZHVyaW5nIHdlYmZvbnRzIGFyZSBsb2FkaW5nCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY4NAorCisgICAgICAgIEZv
ciBsYXlvdXQsIHVzZSB0aGUgcmVzdCBvZiB0aGUgZmFsbGJhY2sgbGlzdCBkdXJpbmcgd2ViZm9u
dHMgYXJlIGxvYWRpbmcuCisgICAgICAgIFRoaXMgaXMgZG9uZSBieSByZXR1cm5pbmcgdGhlIHRl
bXBvcmFyeSBmb250IHRoYXQgaGFzIG5vIGNvdmVyYWdlLgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvdGV4dC9mYWxsYmFjay1mb250
LXdoaWxlLWxvYWRpbmcuaHRtbAorCisgICAgICAgICogY3NzL0NTU1NlZ21lbnRlZEZvbnRGYWNl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1NlZ21lbnRlZEZvbnRGYWNlOjpnZXRGb250RGF0
YSk6IElmIHRoZSBmb250IGlzIGxvYWRpbmcsIHJldHVybnMgU2VnbWVudGVkRm9udERhdGEgd2hp
Y2ggaGFzIG5vIGNvdmVyYWdlLgorCiAyMDEyLTAxLTI1ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgTm9kZS5jcHAgc2hvdWxkbid0IGR1cGxpY2F0ZSBRdWFsaWZp
ZWROYW1lIHBhcnNpbmcgbG9naWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NT
ZWdtZW50ZWRGb250RmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VnbWVudGVkRm9u
dEZhY2UuY3BwCmluZGV4IGY0NjJjMjRjNGQ2NTc1NjViMzZlMDMyOWVmNWFlNDdkOGMzY2Y2ODAu
LjZjMjdlNGJhNWNlOTBjYjVlYzI4OTI2NmEwZGQ1MWUxYzRkNjQwMjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWdtZW50ZWRGb250RmFjZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1NlZ21lbnRlZEZvbnRGYWNlLmNwcApAQCAtMTA0LDEzICsxMDQsMTkgQEAg
Rm9udERhdGEqIENTU1NlZ21lbnRlZEZvbnRGYWNlOjpnZXRGb250RGF0YShjb25zdCBGb250RGVz
Y3JpcHRpb24mIGZvbnREZXNjcmlwdGkKICAgICAgICAgYm9vbCBzeW50aGV0aWNJdGFsaWMgPSAh
KHRyYWl0c01hc2sgJiBGb250U3R5bGVJdGFsaWNNYXNrKSAmJiAoZGVzaXJlZFRyYWl0c01hc2sg
JiBGb250U3R5bGVJdGFsaWNNYXNrKTsKICAgICAgICAgaWYgKGNvbnN0IFNpbXBsZUZvbnREYXRh
KiBmYWNlRm9udERhdGEgPSBtX2ZvbnRGYWNlc1tpXS0+Z2V0Rm9udERhdGEoZm9udERlc2NyaXB0
aW9uLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNJdGFsaWMpKSB7CiAgICAgICAgICAgICBBU1NF
UlQoIWZhY2VGb250RGF0YS0+aXNTZWdtZW50ZWQoKSk7Ci0gICAgICAgICAgICBjb25zdCBWZWN0
b3I8Q1NTRm9udEZhY2U6OlVuaWNvZGVSYW5nZT4mIHJhbmdlcyA9IG1fZm9udEZhY2VzW2ldLT5y
YW5nZXMoKTsKLSAgICAgICAgICAgIHVuc2lnbmVkIG51bVJhbmdlcyA9IHJhbmdlcy5zaXplKCk7
Ci0gICAgICAgICAgICBpZiAoIW51bVJhbmdlcykKLSAgICAgICAgICAgICAgICBuZXdGb250RGF0
YS0+YXBwZW5kUmFuZ2UoRm9udERhdGFSYW5nZSgwLCAweDdGRkZGRkZGLCBmYWNlRm9udERhdGEp
KTsKKyAgICAgICAgICAgIC8vIElmIHRoZSBmYWNlRm9udERhdGEgaXMgbG9hZGluZywgYWRkIGEg
cmFuZ2Ugd2hpY2ggaGFzIG5vIGNvdmVyYWdlCisgICAgICAgICAgICAvLyBzbyB0aGF0IHVzaW5n
IHRoZSByZXN0IG9mIGZhbGxiYWNrIGxpc3QgZm9yIGxheW91dC4KKyAgICAgICAgICAgIGlmIChm
YWNlRm9udERhdGEtPmlzTG9hZGluZygpKQorICAgICAgICAgICAgICAgIG5ld0ZvbnREYXRhLT5h
cHBlbmRSYW5nZShGb250RGF0YVJhbmdlKDAsIDAsIGZhY2VGb250RGF0YSkpOwogICAgICAgICAg
ICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBqID0gMDsgaiA8IG51bVJh
bmdlczsgKytqKQotICAgICAgICAgICAgICAgICAgICBuZXdGb250RGF0YS0+YXBwZW5kUmFuZ2Uo
Rm9udERhdGFSYW5nZShyYW5nZXNbal0uZnJvbSgpLCByYW5nZXNbal0udG8oKSwgZmFjZUZvbnRE
YXRhKSk7CisgICAgICAgICAgICAgICAgY29uc3QgVmVjdG9yPENTU0ZvbnRGYWNlOjpVbmljb2Rl
UmFuZ2U+JiByYW5nZXMgPSBtX2ZvbnRGYWNlc1tpXS0+cmFuZ2VzKCk7CisgICAgICAgICAgICAg
ICAgdW5zaWduZWQgbnVtUmFuZ2VzID0gcmFuZ2VzLnNpemUoKTsKKyAgICAgICAgICAgICAgICBp
ZiAoIW51bVJhbmdlcykKKyAgICAgICAgICAgICAgICAgICAgbmV3Rm9udERhdGEtPmFwcGVuZFJh
bmdlKEZvbnREYXRhUmFuZ2UoMCwgMHg3RkZGRkZGRiwgZmFjZUZvbnREYXRhKSk7CisgICAgICAg
ICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaiA9IDA7
IGogPCBudW1SYW5nZXM7ICsraikKKyAgICAgICAgICAgICAgICAgICAgICAgIG5ld0ZvbnREYXRh
LT5hcHBlbmRSYW5nZShGb250RGF0YVJhbmdlKHJhbmdlc1tqXS5mcm9tKCksIHJhbmdlc1tqXS50
bygpLCBmYWNlRm9udERhdGEpKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNWMyYmMwMTM0NjA5NjkwYTY5MjkxOTg2MmRiNTY0YjFj
NGRlMGU0YS4uZmM4ODdlZGE0MWJmMmZkMTEyNGQ3ZDFiMjRiNjNhYzRmM2UxMzc1ZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2IEBACisyMDEyLTAxLTI1ICBLZW5pY2hpIElzaGliYXNoaSAgPGJhc2hpQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBSZXNwZWN0cyBmb250IGZhbGxiYWNrIGxpc3QgZHVyaW5n
IHdlYmZvbnRzIGFyZSBsb2FkaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03NjY4NAorCisgICAgICAgIEFkZCBhIHRlc3QgdGhhdCBjaGVja3MgZmFs
bGJhY2sgZm9udHMgYXJlIHVzZWQgZm9yIGxheW91dCB3aGlsZQorICAgICAgICB3ZWJmb250cyBh
cmUgbG9hZGluZy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGZhc3QvdGV4dC9mYWxsYmFjay1mb250LXdoaWxlLWxvYWRpbmctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvZmFsbGJhY2stZm9udC13aGlsZS1sb2FkaW5n
Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTAxLTI1ICBOb2VsIEdvcmRvbiAgPG5vZWwuZ29yZG9uQGdt
YWlsLmNvbT4KIAogICAgICAgICBbQ2hyb21pdW1dIExheW91dCBUZXN0IGZhc3QvY2FudmFzL3dl
YmdsL2ludmFsaWQtcGFzc2VkLXBhcmFtcy5odG1sIGlzIGZhaWxpbmcKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC9mYWxsYmFjay1mb250LXdoaWxlLWxvYWRpbmctZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZhbGxiYWNrLWZvbnQtd2hpbGUtbG9hZGluZy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTY5YWEwM2IzMjIzMGVlMWJmMTA3ZWEyZDNmODY0NzEz
ZmNkOWFjZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mYWxsYmFj
ay1mb250LXdoaWxlLWxvYWRpbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IHRoZSBmYWxsYmFjayBmb250IGlzIHVzZWQgZm9yIGxheW91dCB3aGls
ZSBhIHdlYmZvbnQgaXMgbG9hZGluZy4KKworVGFyZ2V0OgorQSB0ZXh0IHRvIGJlIG1lYXN1cmVk
LgorUmVmZXJlbmNlOgorQSB0ZXh0IHRvIGJlIG1lYXN1cmVkLgorUEFTUzogVGhlIHdpZHRoIG9m
IHRhcmdldCB0ZXh0IGFuZCByZWZlcmVuY2UgdGV4dCBpcyB0aGUgc2FtZS4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mYWxsYmFjay1mb250LXdoaWxlLWxvYWRpbmcuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mYWxsYmFjay1mb250LXdoaWxlLWxvYWRpbmcuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NzgwZDQ3MGJmOTg2YmVhYWM2MThmYzRiZmE5NGJmYzU2ODQ4NjczCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZhbGxiYWNrLWZvbnQtd2hpbGUt
bG9hZGluZy5odG1sCkBAIC0wLDAgKzEsMzkgQEAKKzxwPgorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IHRoZSBmYWxsYmFjayBmb250IGlzIHVzZWQgZm9yIGxheW91dCB3aGlsZSBhIHdlYmZvbnQgaXMg
bG9hZGluZy4KKzwvcD4KK1RhcmdldDoKKzxkaXYgaWQ9InRhcmdldEhvbGRlciI+Cis8L2Rpdj4K
K1JlZmVyZW5jZToKKzxkaXY+Cis8c3BhbiBpZD0icmVmZXJlbmNlIiBzdHlsZT0iZm9udC1mYW1p
bHk6IHNlcmlmOyI+QSB0ZXh0IHRvIGJlIG1lYXN1cmVkLjwvc3Bhbj4KKzwvZGl2PgorPGRpdiBp
ZD0icmVzdWx0Ij48L2Rpdj4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoJ1dl
YktpdFNlcmlmRm9udCcsICdBcmlhbCcpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKK30KKworZnVuY3Rpb24gYWRkVGV4dFdpdGhXZWJmb250KCkgeworICAgIHZhciBz
dHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CisgICAgc3R5bGUuaW5uZXJU
ZXh0ID0gJ0Bmb250LWZhY2UgeyBmb250LWZhbWlseTogQWhlbTsgc3JjOiB1cmwoLi4vLi4vcmVz
b3VyY2VzL0FoZW0udHRmPycgKyBEYXRlLm5vdygpICsgJyk7IH0nOworICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQoc3R5bGUpOworICAgIHZh
ciB0YXJnZXRIb2xkZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0SG9sZGVyJyk7
CisgICAgdGFyZ2V0SG9sZGVyLmlubmVySFRNTCA9ICc8c3BhbiBpZD0idGFyZ2V0IiBzdHlsZT0i
Zm9udC1mYW1pbHk6IEFoZW0sIHNlcmlmOyI+QSB0ZXh0IHRvIGJlIG1lYXN1cmVkLjwvc3Bhbj4n
OworfQorCitmdW5jdGlvbiBjaGVja1NpemUoKSB7CisgICAgdmFyIHRhcmdldFdpZHRoID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RhcmdldCcpLm9mZnNldFdpZHRoOworICAgIHZhciByZWZl
cmVuY2VXaWR0aCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZWZlcmVuY2UnKS5vZmZzZXRX
aWR0aDsKKyAgICB2YXIgcmVzdWx0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcp
OworICAgIGlmICh0YXJnZXRXaWR0aCA9PSByZWZlcmVuY2VXaWR0aCkKKyAgICAgICAgcmVzdWx0
LmlubmVyVGV4dCA9ICdQQVNTOiBUaGUgd2lkdGggb2YgdGFyZ2V0IHRleHQgYW5kIHJlZmVyZW5j
ZSB0ZXh0IGlzIHRoZSBzYW1lLic7CisgICAgZWxzZQorICAgICAgICByZXN1bHQuaW5uZXJUZXh0
ID0gJ0ZBSUw6IFRoZSB3aWR0aCBvZiB0YXJnZXQgdGV4dCBhbmQgcmVmZXJlbmNlIHRleHQgaXMg
ZGlmZmVyZW50JzsKK30KKworYWRkVGV4dFdpdGhXZWJmb250KCk7CitjaGVja1NpemUoKTsKKzwv
c2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129650</attachid>
            <date>2012-03-01 00:09:59 -0800</date>
            <delta_ts>2012-03-14 16:11:17 -0700</delta_ts>
            <desc>Rebased to ToT</desc>
            <filename>bug-76684-20120301170957.patch</filename>
            <type>text/plain</type>
            <size>6014</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5MzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmJjMWIzZmZmMjZjZTY2
ZjM1YTA0YzgyNThiZThlMzZjMWQyYWM3OS4uYTg2MGVhZDMzMjk3NWQxODNmZTU4ODBkNjA3OTI2
NjhjNzkyZGVhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAyLTI5ICBLZW5p
Y2hpIElzaGliYXNoaSAgPGJhc2hpQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXNwZWN0cyBm
b250IGZhbGxiYWNrIGxpc3QgZHVyaW5nIHdlYmZvbnRzIGFyZSBsb2FkaW5nCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY4NAorCisgICAgICAgIEZv
ciBsYXlvdXQsIHVzZSB0aGUgcmVzdCBvZiB0aGUgZmFsbGJhY2sgbGlzdCBkdXJpbmcgd2ViZm9u
dHMgYXJlIGxvYWRpbmcuCisgICAgICAgIFRoaXMgaXMgZG9uZSBieSByZXR1cm5pbmcgdGhlIHRl
bXBvcmFyeSBmb250IHRoYXQgaGFzIG5vIGNvdmVyYWdlLgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvdGV4dC9mYWxsYmFjay1mb250
LXdoaWxlLWxvYWRpbmcuaHRtbAorCisgICAgICAgICogY3NzL0NTU1NlZ21lbnRlZEZvbnRGYWNl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1NlZ21lbnRlZEZvbnRGYWNlOjpnZXRGb250RGF0
YSk6IElmIHRoZSBmb250IGlzIGxvYWRpbmcsIHJldHVybnMgU2VnbWVudGVkRm9udERhdGEgd2hp
Y2ggaGFzIG5vIGNvdmVyYWdlLgorCiAyMDEyLTAyLTI5ICBKYXNvbiBMaXUgIDxqYXNvbi5saXVA
dG9yY2htb2JpbGUuY29tLmNuPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XU1ha2UgYWJvdXQ6Y2Fj
aGUgZmVhdHVyZSBhdmFpbGFibGUgaW4gcmVsZWFzZSB2ZXJzaW9uLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1NlZ21lbnRlZEZvbnRGYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NTZWdtZW50ZWRGb250RmFjZS5jcHAKaW5kZXggZjQ2MmMyNGM0ZDY1NzU2NWIzNmUw
MzI5ZWY1YWU0N2Q4YzNjZjY4MC4uNmMyN2U0YmE1Y2U5MGNiNWVjMjg5MjY2YTBkZDUxZTFjNGQ2
NDAyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlZ21lbnRlZEZvbnRGYWNl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VnbWVudGVkRm9udEZhY2UuY3BwCkBA
IC0xMDQsMTMgKzEwNCwxOSBAQCBGb250RGF0YSogQ1NTU2VnbWVudGVkRm9udEZhY2U6OmdldEZv
bnREYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aQogICAgICAgICBib29s
IHN5bnRoZXRpY0l0YWxpYyA9ICEodHJhaXRzTWFzayAmIEZvbnRTdHlsZUl0YWxpY01hc2spICYm
IChkZXNpcmVkVHJhaXRzTWFzayAmIEZvbnRTdHlsZUl0YWxpY01hc2spOwogICAgICAgICBpZiAo
Y29uc3QgU2ltcGxlRm9udERhdGEqIGZhY2VGb250RGF0YSA9IG1fZm9udEZhY2VzW2ldLT5nZXRG
b250RGF0YShmb250RGVzY3JpcHRpb24sIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY0l0YWxpYykp
IHsKICAgICAgICAgICAgIEFTU0VSVCghZmFjZUZvbnREYXRhLT5pc1NlZ21lbnRlZCgpKTsKLSAg
ICAgICAgICAgIGNvbnN0IFZlY3RvcjxDU1NGb250RmFjZTo6VW5pY29kZVJhbmdlPiYgcmFuZ2Vz
ID0gbV9mb250RmFjZXNbaV0tPnJhbmdlcygpOwotICAgICAgICAgICAgdW5zaWduZWQgbnVtUmFu
Z2VzID0gcmFuZ2VzLnNpemUoKTsKLSAgICAgICAgICAgIGlmICghbnVtUmFuZ2VzKQotICAgICAg
ICAgICAgICAgIG5ld0ZvbnREYXRhLT5hcHBlbmRSYW5nZShGb250RGF0YVJhbmdlKDAsIDB4N0ZG
RkZGRkYsIGZhY2VGb250RGF0YSkpOworICAgICAgICAgICAgLy8gSWYgdGhlIGZhY2VGb250RGF0
YSBpcyBsb2FkaW5nLCBhZGQgYSByYW5nZSB3aGljaCBoYXMgbm8gY292ZXJhZ2UKKyAgICAgICAg
ICAgIC8vIHNvIHRoYXQgdXNpbmcgdGhlIHJlc3Qgb2YgZmFsbGJhY2sgbGlzdCBmb3IgbGF5b3V0
LgorICAgICAgICAgICAgaWYgKGZhY2VGb250RGF0YS0+aXNMb2FkaW5nKCkpCisgICAgICAgICAg
ICAgICAgbmV3Rm9udERhdGEtPmFwcGVuZFJhbmdlKEZvbnREYXRhUmFuZ2UoMCwgMCwgZmFjZUZv
bnREYXRhKSk7CiAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICBmb3IgKHVuc2ln
bmVkIGogPSAwOyBqIDwgbnVtUmFuZ2VzOyArK2opCi0gICAgICAgICAgICAgICAgICAgIG5ld0Zv
bnREYXRhLT5hcHBlbmRSYW5nZShGb250RGF0YVJhbmdlKHJhbmdlc1tqXS5mcm9tKCksIHJhbmdl
c1tqXS50bygpLCBmYWNlRm9udERhdGEpKTsKKyAgICAgICAgICAgICAgICBjb25zdCBWZWN0b3I8
Q1NTRm9udEZhY2U6OlVuaWNvZGVSYW5nZT4mIHJhbmdlcyA9IG1fZm9udEZhY2VzW2ldLT5yYW5n
ZXMoKTsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBudW1SYW5nZXMgPSByYW5nZXMuc2l6ZSgp
OworICAgICAgICAgICAgICAgIGlmICghbnVtUmFuZ2VzKQorICAgICAgICAgICAgICAgICAgICBu
ZXdGb250RGF0YS0+YXBwZW5kUmFuZ2UoRm9udERhdGFSYW5nZSgwLCAweDdGRkZGRkZGLCBmYWNl
Rm9udERhdGEpKTsKKyAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAg
Zm9yICh1bnNpZ25lZCBqID0gMDsgaiA8IG51bVJhbmdlczsgKytqKQorICAgICAgICAgICAgICAg
ICAgICAgICAgbmV3Rm9udERhdGEtPmFwcGVuZFJhbmdlKEZvbnREYXRhUmFuZ2UocmFuZ2VzW2pd
LmZyb20oKSwgcmFuZ2VzW2pdLnRvKCksIGZhY2VGb250RGF0YSkpOworICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2YWJiMjg1OWE5MmMy
Y2FiNzMyZTExYzMwMjljMzFjNjI2M2NiZmE0Li41MjZlMTcwYjliODE3YjUxYzYzYTQzNWJmOTI0
M2Y2NmU5Y2ZkOTE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDItMjkgIEtlbmljaGkg
SXNoaWJhc2hpICA8YmFzaGlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlc3BlY3RzIGZvbnQg
ZmFsbGJhY2sgbGlzdCBkdXJpbmcgd2ViZm9udHMgYXJlIGxvYWRpbmcKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2Njg0CisKKyAgICAgICAgQWRkIGEg
dGVzdCB0aGF0IGNoZWNrcyBmYWxsYmFjayBmb250cyBhcmUgdXNlZCBmb3IgbGF5b3V0IHdoaWxl
CisgICAgICAgIHdlYmZvbnRzIGFyZSBsb2FkaW5nLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC90ZXh0L2ZhbGxiYWNrLWZvbnQtd2hpbGUt
bG9hZGluZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9mYWxsYmFj
ay1mb250LXdoaWxlLWxvYWRpbmcuaHRtbDogQWRkZWQuCisKIDIwMTItMDItMjkgIEtlbnRhcm8g
SGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGdhcmRl
bmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mYWxsYmFjay1mb250LXdo
aWxlLWxvYWRpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZhbGxiYWNr
LWZvbnQtd2hpbGUtbG9hZGluZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTY5YWEwM2IzMjIz
MGVlMWJmMTA3ZWEyZDNmODY0NzEzZmNkOWFjZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC9mYWxsYmFjay1mb250LXdoaWxlLWxvYWRpbmctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBmYWxsYmFjayBmb250IGlz
IHVzZWQgZm9yIGxheW91dCB3aGlsZSBhIHdlYmZvbnQgaXMgbG9hZGluZy4KKworVGFyZ2V0Ogor
QSB0ZXh0IHRvIGJlIG1lYXN1cmVkLgorUmVmZXJlbmNlOgorQSB0ZXh0IHRvIGJlIG1lYXN1cmVk
LgorUEFTUzogVGhlIHdpZHRoIG9mIHRhcmdldCB0ZXh0IGFuZCByZWZlcmVuY2UgdGV4dCBpcyB0
aGUgc2FtZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mYWxsYmFjay1mb250
LXdoaWxlLWxvYWRpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mYWxsYmFjay1mb250
LXdoaWxlLWxvYWRpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NzgwZDQ3MGJmOTg2YmVhYWM2MThmYzRi
ZmE5NGJmYzU2ODQ4NjczCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
L2ZhbGxiYWNrLWZvbnQtd2hpbGUtbG9hZGluZy5odG1sCkBAIC0wLDAgKzEsMzkgQEAKKzxwPgor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBmYWxsYmFjayBmb250IGlzIHVzZWQgZm9yIGxheW91
dCB3aGlsZSBhIHdlYmZvbnQgaXMgbG9hZGluZy4KKzwvcD4KK1RhcmdldDoKKzxkaXYgaWQ9InRh
cmdldEhvbGRlciI+Cis8L2Rpdj4KK1JlZmVyZW5jZToKKzxkaXY+Cis8c3BhbiBpZD0icmVmZXJl
bmNlIiBzdHlsZT0iZm9udC1mYW1pbHk6IHNlcmlmOyI+QSB0ZXh0IHRvIGJlIG1lYXN1cmVkLjwv
c3Bhbj4KKzwvZGl2PgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKworPHNjcmlwdD4KK2lmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5v
dmVycmlkZVByZWZlcmVuY2UoJ1dlYktpdFNlcmlmRm9udCcsICdBcmlhbCcpOworICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKK30KKworZnVuY3Rpb24gYWRkVGV4dFdpdGhX
ZWJmb250KCkgeworICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxl
Jyk7CisgICAgc3R5bGUuaW5uZXJUZXh0ID0gJ0Bmb250LWZhY2UgeyBmb250LWZhbWlseTogQWhl
bTsgc3JjOiB1cmwoLi4vLi4vcmVzb3VyY2VzL0FoZW0udHRmPycgKyBEYXRlLm5vdygpICsgJyk7
IH0nOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5k
Q2hpbGQoc3R5bGUpOworICAgIHZhciB0YXJnZXRIb2xkZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgndGFyZ2V0SG9sZGVyJyk7CisgICAgdGFyZ2V0SG9sZGVyLmlubmVySFRNTCA9ICc8c3Bh
biBpZD0idGFyZ2V0IiBzdHlsZT0iZm9udC1mYW1pbHk6IEFoZW0sIHNlcmlmOyI+QSB0ZXh0IHRv
IGJlIG1lYXN1cmVkLjwvc3Bhbj4nOworfQorCitmdW5jdGlvbiBjaGVja1NpemUoKSB7CisgICAg
dmFyIHRhcmdldFdpZHRoID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RhcmdldCcpLm9mZnNl
dFdpZHRoOworICAgIHZhciByZWZlcmVuY2VXaWR0aCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdyZWZlcmVuY2UnKS5vZmZzZXRXaWR0aDsKKyAgICB2YXIgcmVzdWx0ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpOworICAgIGlmICh0YXJnZXRXaWR0aCA9PSByZWZlcmVuY2VX
aWR0aCkKKyAgICAgICAgcmVzdWx0LmlubmVyVGV4dCA9ICdQQVNTOiBUaGUgd2lkdGggb2YgdGFy
Z2V0IHRleHQgYW5kIHJlZmVyZW5jZSB0ZXh0IGlzIHRoZSBzYW1lLic7CisgICAgZWxzZQorICAg
ICAgICByZXN1bHQuaW5uZXJUZXh0ID0gJ0ZBSUw6IFRoZSB3aWR0aCBvZiB0YXJnZXQgdGV4dCBh
bmQgcmVmZXJlbmNlIHRleHQgaXMgZGlmZmVyZW50JzsKK30KKworYWRkVGV4dFdpdGhXZWJmb250
KCk7CitjaGVja1NpemUoKTsKKzwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131947</attachid>
            <date>2012-03-14 16:07:18 -0700</date>
            <delta_ts>2012-03-28 17:12:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76684-20120314160717.patch</filename>
            <type>text/plain</type>
            <size>10836</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmRlMDI5MzBhYTcxYzVk
YTQxMjJlOTY5Mzc1M2NmODczZTkzOTBmNi4uODkxNmEyYTkxMzUwZjhmMTU4ODM4YThmOTBlM2Fh
ODA5ODAwZWUzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAzLTE0ICBLZW5p
Y2hpIElzaGliYXNoaSAgPGJhc2hpQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXNwZWN0cyBm
b250IGZhbGxiYWNrIGxpc3QgZHVyaW5nIHdlYmZvbnRzIGFyZSBsb2FkaW5nCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY4NAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZvciBsYXlvdXQsIHVzZSB0aGUg
cmVzdCBvZiB0aGUgZmFsbGJhY2sgbGlzdCB3aGlsZSB3ZWJmb250cyBhcmUgbG9hZGluZy4KKyAg
ICAgICAgSWYgdGhlIHdlYmZvbnQgaXMgbG9hZGluZywgaXQgd2lsbCBiZSBnaXZlbiBhbiBpbnZh
bGlkIFVuaWNvZGUgUmFuZ2Ugc28gdGhhdAorICAgICAgICBmb250IHNlbGVjdGlvbiBtZWNoYW5z
aW0gZG9lc24ndCB1c2UgdGhlIHdlYmZvbnQgZm9yIGxheW91dC4KKworICAgICAgICBUZXN0OiBo
dHRwL3Rlc3RzL3dlYmZvbnQvZmFsbGJhY2stZm9udC13aGlsZS1sb2FkaW5nLmh0bWwKKworICAg
ICAgICAqIGNzcy9DU1NTZWdtZW50ZWRGb250RmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjph
cHBlbmRGb250RGF0YVdpdGhJbnZhbGlkVW5pY29kZVJhbmdlSWZMb2FkaW5nKTogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1NlZ21lbnRlZEZvbnRGYWNl
OjpnZXRGb250RGF0YSk6CisKIDIwMTItMDMtMTMgIEFkcmllbm5lIFdhbGtlciAgPGVubmVAZ29v
Z2xlLmNvbT4KIAogICAgICAgICBbY2hyb21pdW1dIE1hcmsgcm9vdCBsYXllciBzY3JvbGxiYXJz
IGFzIGFsd2F5cyBvcGFxdWUgdG8gZGlzYWJsZSBibGVuZGluZwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1NlZ21lbnRlZEZvbnRGYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTZWdtZW50ZWRGb250RmFjZS5jcHAKaW5kZXggZjQ2MmMyNGM0ZDY1NzU2NWIzNmUwMzI5
ZWY1YWU0N2Q4YzNjZjY4MC4uMGZiZGExYWQ1YWM3MjVlNWNlYzJmYjQ2NWY0MGFlNmYzZDFiZjM5
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlZ21lbnRlZEZvbnRGYWNlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VnbWVudGVkRm9udEZhY2UuY3BwCkBAIC04
MSw2ICs4MSwyMiBAQCB2b2lkIENTU1NlZ21lbnRlZEZvbnRGYWNlOjphcHBlbmRGb250RmFjZShQ
YXNzUmVmUHRyPENTU0ZvbnRGYWNlPiBmb250RmFjZSkKICAgICBtX2ZvbnRGYWNlcy5hcHBlbmQo
Zm9udEZhY2UpOwogfQogCitzdGF0aWMgdm9pZCBhcHBlbmRGb250RGF0YVdpdGhJbnZhbGlkVW5p
Y29kZVJhbmdlSWZMb2FkaW5nKFNlZ21lbnRlZEZvbnREYXRhKiBuZXdGb250RGF0YSwgY29uc3Qg
U2ltcGxlRm9udERhdGEqIGZhY2VGb250RGF0YSwgY29uc3QgVmVjdG9yPENTU0ZvbnRGYWNlOjpV
bmljb2RlUmFuZ2U+JiByYW5nZXMpCit7CisgICAgaWYgKGZhY2VGb250RGF0YS0+aXNMb2FkaW5n
KCkpIHsKKyAgICAgICAgbmV3Rm9udERhdGEtPmFwcGVuZFJhbmdlKEZvbnREYXRhUmFuZ2UoMCwg
MCwgZmFjZUZvbnREYXRhKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICB1bnNpZ25l
ZCBudW1SYW5nZXMgPSByYW5nZXMuc2l6ZSgpOworICAgIGlmICghbnVtUmFuZ2VzKQorICAgICAg
ICBuZXdGb250RGF0YS0+YXBwZW5kUmFuZ2UoRm9udERhdGFSYW5nZSgwLCAweDdGRkZGRkZGLCBm
YWNlRm9udERhdGEpKTsKKyAgICBlbHNlIHsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBqID0gMDsg
aiA8IG51bVJhbmdlczsgKytqKQorICAgICAgICAgICAgbmV3Rm9udERhdGEtPmFwcGVuZFJhbmdl
KEZvbnREYXRhUmFuZ2UocmFuZ2VzW2pdLmZyb20oKSwgcmFuZ2VzW2pdLnRvKCksIGZhY2VGb250
RGF0YSkpOworICAgIH0KK30KKwogRm9udERhdGEqIENTU1NlZ21lbnRlZEZvbnRGYWNlOjpnZXRG
b250RGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbikKIHsKICAgICBp
ZiAoIWlzVmFsaWQoKSkKQEAgLTEwNCwxNCArMTIwLDcgQEAgRm9udERhdGEqIENTU1NlZ21lbnRl
ZEZvbnRGYWNlOjpnZXRGb250RGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlw
dGkKICAgICAgICAgYm9vbCBzeW50aGV0aWNJdGFsaWMgPSAhKHRyYWl0c01hc2sgJiBGb250U3R5
bGVJdGFsaWNNYXNrKSAmJiAoZGVzaXJlZFRyYWl0c01hc2sgJiBGb250U3R5bGVJdGFsaWNNYXNr
KTsKICAgICAgICAgaWYgKGNvbnN0IFNpbXBsZUZvbnREYXRhKiBmYWNlRm9udERhdGEgPSBtX2Zv
bnRGYWNlc1tpXS0+Z2V0Rm9udERhdGEoZm9udERlc2NyaXB0aW9uLCBzeW50aGV0aWNCb2xkLCBz
eW50aGV0aWNJdGFsaWMpKSB7CiAgICAgICAgICAgICBBU1NFUlQoIWZhY2VGb250RGF0YS0+aXNT
ZWdtZW50ZWQoKSk7Ci0gICAgICAgICAgICBjb25zdCBWZWN0b3I8Q1NTRm9udEZhY2U6OlVuaWNv
ZGVSYW5nZT4mIHJhbmdlcyA9IG1fZm9udEZhY2VzW2ldLT5yYW5nZXMoKTsKLSAgICAgICAgICAg
IHVuc2lnbmVkIG51bVJhbmdlcyA9IHJhbmdlcy5zaXplKCk7Ci0gICAgICAgICAgICBpZiAoIW51
bVJhbmdlcykKLSAgICAgICAgICAgICAgICBuZXdGb250RGF0YS0+YXBwZW5kUmFuZ2UoRm9udERh
dGFSYW5nZSgwLCAweDdGRkZGRkZGLCBmYWNlRm9udERhdGEpKTsKLSAgICAgICAgICAgIGVsc2Ug
ewotICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaiA9IDA7IGogPCBudW1SYW5nZXM7ICsr
aikKLSAgICAgICAgICAgICAgICAgICAgbmV3Rm9udERhdGEtPmFwcGVuZFJhbmdlKEZvbnREYXRh
UmFuZ2UocmFuZ2VzW2pdLmZyb20oKSwgcmFuZ2VzW2pdLnRvKCksIGZhY2VGb250RGF0YSkpOwot
ICAgICAgICAgICAgfQorICAgICAgICAgICAgYXBwZW5kRm9udERhdGFXaXRoSW52YWxpZFVuaWNv
ZGVSYW5nZUlmTG9hZGluZyhuZXdGb250RGF0YS5nZXQoKSwgZmFjZUZvbnREYXRhLCBtX2ZvbnRG
YWNlc1tpXS0+cmFuZ2VzKCkpOwogICAgICAgICB9CiAgICAgfQogICAgIGlmIChuZXdGb250RGF0
YS0+bnVtUmFuZ2VzKCkpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5YzFiOWQ1ZjRhYjgxZjAyMzE2YzU0YzMwODk2YWYy
YTQwZWQxYWQwLi41NzFkYWY3MzlhMmUwZWVlMjNmOTk2ZGIzZDU3ZTIyZTdmZWFhMWU4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMDMtMTQgIEtlbmljaGkgSXNoaWJhc2hpICA8YmFzaGlA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlc3BlY3RzIGZvbnQgZmFsbGJhY2sgbGlzdCBkdXJp
bmcgd2ViZm9udHMgYXJlIGxvYWRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTc2Njg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIGEgdGVzdCB0aGF0IGNoZWNrcyBmYWxsYmFjayBmb250cyBhcmUg
dXNlZCBmb3IgbGF5b3V0IHdoaWxlCisgICAgICAgIHdlYmZvbnRzIGFyZSBsb2FkaW5nLgorCisg
ICAgICAgICogaHR0cC90ZXN0cy93ZWJmb250L2ZhbGxiYWNrLWZvbnQtd2hpbGUtbG9hZGluZy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2ViZm9udC9mYWxsYmFj
ay1mb250LXdoaWxlLWxvYWRpbmcuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93
ZWJmb250L2dldGFoZW0uY2dpOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYmZvbnQv
cmVzb3VyY2VzL0FoZW0udHRmOiBBZGRlZC4KKwogMjAxMi0wMy0xMyAgQWRhbSBCYXJ0aCAgPGFi
YXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIEZvciBzb21lIHJlYXNvbiBjaHJvbWl1bS13aW4g
YW5kIGNocm9taXVtLWxpbnV4IGhhdmUgYSBkaWZmZXJlbnQgbnVtYmVyCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmZvbnQvZmFsbGJhY2stZm9udC13aGlsZS1sb2FkaW5n
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViZm9udC9mYWxsYmFjay1m
b250LXdoaWxlLWxvYWRpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2OWFhMDNiMzIyMzBl
ZTFiZjEwN2VhMmQzZjg2NDcxM2ZjZDlhY2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYmZvbnQvZmFsbGJhY2stZm9udC13aGlsZS1sb2FkaW5nLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgZmFsbGJhY2sg
Zm9udCBpcyB1c2VkIGZvciBsYXlvdXQgd2hpbGUgYSB3ZWJmb250IGlzIGxvYWRpbmcuCisKK1Rh
cmdldDoKK0EgdGV4dCB0byBiZSBtZWFzdXJlZC4KK1JlZmVyZW5jZToKK0EgdGV4dCB0byBiZSBt
ZWFzdXJlZC4KK1BBU1M6IFRoZSB3aWR0aCBvZiB0YXJnZXQgdGV4dCBhbmQgcmVmZXJlbmNlIHRl
eHQgaXMgdGhlIHNhbWUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmZv
bnQvZmFsbGJhY2stZm9udC13aGlsZS1sb2FkaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYmZvbnQvZmFsbGJhY2stZm9udC13aGlsZS1sb2FkaW5nLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MGJlMDc1NzhiZTVlMDUyZTc1MWI1OTAzOWNiNGJiZmU5NzQ3ODU5OAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViZm9udC9mYWxsYmFjay1mb250LXdoaWxlLWxv
YWRpbmcuaHRtbApAQCAtMCwwICsxLDM5IEBACis8cD4KK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0
aGUgZmFsbGJhY2sgZm9udCBpcyB1c2VkIGZvciBsYXlvdXQgd2hpbGUgYSB3ZWJmb250IGlzIGxv
YWRpbmcuCis8L3A+CitUYXJnZXQ6Cis8ZGl2IGlkPSJ0YXJnZXRIb2xkZXIiPgorPC9kaXY+CitS
ZWZlcmVuY2U6Cis8ZGl2PgorPHNwYW4gaWQ9InJlZmVyZW5jZSIgc3R5bGU9ImZvbnQtZmFtaWx5
OiBzZXJpZjsiPkEgdGV4dCB0byBiZSBtZWFzdXJlZC48L3NwYW4+Cis8L2Rpdj4KKzxkaXYgaWQ9
InJlc3VsdCI+PC9kaXY+CisKKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCdXZWJL
aXRTZXJpZkZvbnQnLCAnQXJpYWwnKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7Cit9CisKK2Z1bmN0aW9uIGFkZFRleHRXaXRoV2ViZm9udCgpIHsKKyAgICB2YXIgc3R5
bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpOworICAgIHN0eWxlLmlubmVyVGV4
dCA9ICdAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6IHdlYmZvbnQ7IHNyYzogdXJsKGdldGFoZW0u
Y2dpKTsgfSc7CisgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7CisgICAgdmFy
IHRhcmdldEhvbGRlciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXRIb2xkZXInKTsK
KyAgICB0YXJnZXRIb2xkZXIuaW5uZXJIVE1MID0gJzxzcGFuIGlkPSJ0YXJnZXQiIHN0eWxlPSJm
b250LWZhbWlseTogd2ViZm9udCwgc2VyaWY7Ij5BIHRleHQgdG8gYmUgbWVhc3VyZWQuPC9zcGFu
Pic7Cit9CisKK2Z1bmN0aW9uIGNoZWNrU2l6ZSgpIHsKKyAgICB2YXIgdGFyZ2V0V2lkdGggPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0Jykub2Zmc2V0V2lkdGg7CisgICAgdmFyIHJl
ZmVyZW5jZVdpZHRoID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlZmVyZW5jZScpLm9mZnNl
dFdpZHRoOworICAgIHZhciByZXN1bHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0
Jyk7CisgICAgaWYgKHRhcmdldFdpZHRoID09IHJlZmVyZW5jZVdpZHRoKQorICAgICAgICByZXN1
bHQuaW5uZXJUZXh0ID0gJ1BBU1M6IFRoZSB3aWR0aCBvZiB0YXJnZXQgdGV4dCBhbmQgcmVmZXJl
bmNlIHRleHQgaXMgdGhlIHNhbWUuJzsKKyAgICBlbHNlCisgICAgICAgIHJlc3VsdC5pbm5lclRl
eHQgPSAnRkFJTDogVGhlIHdpZHRoIG9mIHRhcmdldCB0ZXh0IGFuZCByZWZlcmVuY2UgdGV4dCBp
cyBkaWZmZXJlbnQ6ICcgKyB0YXJnZXRXaWR0aCArICcgIT0gJyArIHJlZmVyZW5jZVdpZHRoOwor
fQorCithZGRUZXh0V2l0aFdlYmZvbnQoKTsKK2NoZWNrU2l6ZSgpOworPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmZvbnQvZ2V0YWhlbS5jZ2kgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYmZvbnQvZ2V0YWhlbS5jZ2kKbmV3IGZpbGUgbW9kZSAxMDA3
NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmJmMmI5
ODNiZTUyMDRiZTk0NjAwMDNkMzFkNTRhNTI3YzMwZWQxYwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViZm9udC9nZXRhaGVtLmNnaQpAQCAtMCwwICsxLDEyIEBA
CisjIS91c3IvYmluL2VudiBweXRob24KKyMgU2VydmUgQWhlbS50dGYgYWZ0ZXIgMSBzZWNvbmRz
LgorCitpbXBvcnQgc3lzCitpbXBvcnQgdGltZQorCitmb250X2RhdGEgPSBvcGVuKCJyZXNvdXJj
ZXMvQWhlbS50dGYiKS5yZWFkKCkKKworc3lzLnN0ZG91dC53cml0ZSgiQ29udGVudC1UeXBlOiBh
cHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cbiIpCitzeXMuc3Rkb3V0LndyaXRlKCJDYWNoZS1Db250
cm9sOiBuby1jYWNoZSwgbm8tc3RvcmVcblxuIikKK3RpbWUuc2xlZXAoMSkKK3N5cy5zdGRvdXQu
d3JpdGUoZm9udF9kYXRhKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJm
b250L3Jlc291cmNlcy9BaGVtLnR0ZiBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViZm9udC9y
ZXNvdXJjZXMvQWhlbS50dGYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWM4MWNiMDMxNjVhYjgzMWEzNmFiYjU5MTQ1
ZmY3YTJmNTY3NWZiOQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTI0ODAKemNtZUhOWkZtJmI2
QEtTcVhGcWA/ViNKOF9Xe1ooMzI3O0Mlck5+RjVORCt9QnFOVTB2SklNeUt5SyM0OGYmeFdyCnop
a2dVIVQ4JkM2QjclWTwzUihuODVmSzRWc2l0VFZtbyE+VVpCJlkyZUdwalJKM0EyKytkcUIkVkxQ
K1c/M3tiPAp6eT1UdDc9YmR9Yz96flV7XyVSYjJgZCg3anIoZVVeUUxfTUwwSlcxVnFNX09AeVlm
Yz50e1Q4ZFJFM2hZSTBhc3kKej9ASEZeUk1rd2F5bDdRd0h4MEFeMT51TXAzaCFEcHJhU0FfXlh3
bT8hdEstWkRJZWgzR1pJWlRKUj5sal9MfjUkCnp4aDdyXzVfTSs9ZnVkNkMrTX1Ve1Q2YCspRThX
OyQjNm5TWE0lTyNtMEtOTTF7KmxedkdCcz1HPjVWYCFgPldqYAp6ZU9FOW5AMDNmY3VJQDdFQWlQ
PXxIQ1BxRGBVLWo3YytUPlJmWG8xYE8lcDY/UF5GZCFgKU1MR2ZadFlvZW9JVG8Kejl8dFlYTDNy
I3dVIztpdXdLaW9nVG9sJTteYXlqWlNMSiMxUSM1TCFhfiQlUjJ8Uyh5RzE0bVY+KypBbDE0QUo4
Cnpza1JSU1RMcU5kQSp8RGM8KkJlZDwyKz9PbHdMWmdHWTFYXnpURnMqazh9M2FOODJrLWNXU3R7
czZ7WVRwTTJnfgp6YDA4NHRhNTJkcTlhcDx9IVg/e05nVSlyeWZTYXFBVCFWYUUtdmo3YCZnZzwx
PFJUOXpwKHs+Q0tHKlZZSTI4cHIKejRjJjElZGYrPHtDYDF0N01OZ2M4QkFrZ3tfI1YhfSszMWFQ
UD5lcTRpeFR3MXhpfUJzTX1QYlAxOF9iRDspZlc3CnpBN0w7cTtKUCp4ISFSN0J4RFhAb1Z+b1Rf
Nz1AbztHJW0mJVQhT0s8NnlzMmFAd2Z+VmE1Kk84M1M1YndWaUpDYQp6dDhnX1kpODchdlFHcVpf
Ukg2eklSQVVPUktARm1hQSZ5I0hpdipITHAkXnhmOXUxZ14+djAzN2FiS0IlcEw0bD0KejZGMUB9
YH5vLVFFJkxMPDs4eHMqeEE3fTk7KGdxWEpKNXolX3leaUM4Kn1ndS1vQFkwaks1PHBldlF7SzR8
bjEmCnp7MDRYOUpeVHFEOzhvbSVDWnJqcWAqMSh6PDdLPnBLVnVpKHorZG9ORVdxI1pBckBqTVRK
Wm97QEstQSRkJDAodgp6Vj5rQlZLYGgyWVNjMFdeNz57NVhtZzctOCN4XlZQSTlCMmJKYyg2VWpp
Pk41ZXZkVkgyNVlnN0pFdS1HZlVgQSgKelFTOGhwJXNAc2RRT2NBQ1d1RSRpeD1ucGN5R3dnU1Rk
IT50SWlqbTU1SXNhdDZwNmxLcGVRWDI3OFY4N3BiX2o2CnolbktGLWRqIXU4anRvdT9uISl7Tll+
UUQ1R1BFbGcofWxEKiZhJF9LX1REKG8tYnRkSD1xYGsxQEJBOz4lTUc2VAp6Z310ejQ1MUNCbj9N
eTNvKmMmc2BHN35jdzA3dSQrNG5BXyQ7biQ5SS1KNUNJMWhsTWdTPVh8cjw/KXVLRWVyTk8Kenla
NW5sWWtFZ3xtejx+Y19Wa0FJTCtRciF0IzV0eVgzdzBEWX19OE1iQEdzNG1nak5EKGN8UmYjZGIj
RiNOJUdaCnpRUjNoTU0qMHMjTG5DbzhtK2B6Q25+OTAxaD59QCYwYjdaVEltRjIjJmlAdS1wYjZX
dDRLRVN9X2MzLTRHVV5oSwp6dy1iPnxpT0khYD01amxsODtIO3FSeiY5JHNtfkt4UGdyclMhYldU
Jj95OEMxRGE3cUhNRDlGZHgwZExZKmk4fD0KejYxI3NTZFohWTwqQXUlcDVKYDczKCRnJmpLYTF5
eHMjVX43NzgmYl5sQz43elVNRjVSKTdTU0xsdzw/JHB5V1RJCnpMPyl1bEJlaVFaIThPYmNvU1Ij
aWRxIWJ5O2RKJUdCWGc3a00rMkhUKyVsYWo0a3l5aWwofFEtUUs4bSR4RW17Rgp6Q2hwWTlVbDdp
YElHQXZyMldLc0MpJmdnTGFRNFA7STRAdzwhVHErUkBNTFN4KzNNc1YqPyUkclhMQXNTYF4wcyUK
eiNtUE9Mb1pRS35vIT9eND9AO0dBX31BPFktKjY3JXtOe0s1MlhnKWNiODt7ejJYa15UQ2tKektG
ZWVCNUgjciF7CnpDJiskK1dDI3JBK3h7IzA/KDtnbmJEaFdjbUBEeyhZQ0dTVXpsI0hrc15sbT1s
LXxsZld1ITdlMmBkUkByWlFXWgp6dVBqczZDfGlfZnJCJklkOTkwOHFmIWEmJHVhPklnKVg4ZDBv
dSlSYlAzalZMd1lveyZzaXhJLV5eb1MjXjBsNT8KektXJklNTXdfSGYoSGdXe18jUyhhd289PW0/
YSs0OShAJTY9Jihub290UGojaD1AYSNecDNyQ052LVNEPEdKVER7CnpNUV8keV4/bXdMU0hNLV4+
Z0RTMURzXyE+Tz9KZ3goX0Q/TkNmNT96WVMkKiRQRkxGMT9tQT82akNgWX4oYSN1Uwp6ajQ+dHxR
O1lgVjdVTTJzaytJVSlWQypuPDgqUm9YWnJ6PmQ3VmN2QUFvblF1TTBjZS08LVc7MSpTKX5+c0Ml
dEAKenQ5eklHOXJ1MEBKZUB0PUohZzNhQEg0X1EtYyM8V15+fl94O2tuUUF1OyojZFgzd2poN1NE
JkMhKE59YW80M2UmCnpvX0NtY3RvSkghanJWJSpaUWlAUmlAaV5KSCtvPDg/KHgzd3tuVGdweTg0
Mj96UGBifShZYEJ2NSNNI2JufDw/cQp6M3c8a20+d1ZqT1p9e0h6OXFfQ0U5RGZnZ1p+czk1TmRF
K1gqcWB2dl53MExzX2I+Q1dAbyhgcmAmPDN7ezZfPFUKekt0WjVhcG5zcT1GZks0VDVEUUVUR3pP
WGlPOUhDe24qdXVuPXxGcW5QJHk1UHs3eVlQXjx5QDBuc1YkTntRe1A9CnpoWFJrJVFCdSlhU3pf
eG8yeFlZYD51bDMoJVAhPEFkdS1YRGUhcU9XdG03NXNrUyF+RyVlfkUoUmsrb2NZKnxCJgp6K0hB
YEArcWA0VEY4SXxCRX11ZEQkRkBGKV4xcDAzbXYlbjA8dmkkYCVEcWpJVHM+dWhYNG8+dnFBI3so
anp4ZGUKem1OXiFFdHUxcGJgZmdrMVNvQnN+PTItTWtaOC0tWG07NGA3K1JzSTJtJmNhI3NMdi1P
Q1R7VXExaTF3ZnZKNFZECnpFNjVIb0VxO3J6RyRzVCE1JFhpYkQ4R35CNVkqWHF5KUE3NmR6b1l4
cSp5ODw/YDl+PWIoUzR6QlN6TU9BZzhDNgp6cikqek9ZdF9+cnJMNzJrc0haa1dTejN2KVVtdUht
YkYzYExaYi0xNXluQlopPHlIQHE/MXBPZ0cwNj1RV2JgQnsKelJyMjA3RUxFfmMhcz1tQ3BSKEZq
djBQelVsM2EpK2J5NlJ2MT9rSUZ0RFBLVyh5fSsheEAoeUJxLVN5ejwhbUYhCno5ZzRGZyVPbUpU
Z3NyM3BAP09YOG5WcXJXV0V6IUdVJmVNKCtMMUZ7TzslSHF4Xmx+VUo+X2cpSXElMihFYW9ncQp6
OCZSXkFPdE8mVm19Rzx8U2dvYiFTKzdnelgkaEAkd0M9Y21lTEs3TVYpOXI7TUlAOTZSaXc7QlFp
S3d3TkpVSXgKek1uJkA0SStsNzF2IVRNUU9eS29saGdRXzNPYzlFT01YKXk1VGh2RllEPFVFcGlQ
d3V6dmNpbXxgaC1wRURrPkI0CnpzQVopKmxyKEZxVmBqMHFFTk5FTylyaVY/TFpyLU9zeWJGQkQm
a1NIWHNjN3pAdDg8WE97VUNmdlJJNXcjS1V6Sgp6Vz59T0A3MzFVS3Vvd31GQnd9VkYrbW50QkZE
bnllcD1lenFSREVWcmxxY2YjTiFIcG5pLSQoYz1zMl5ndHxwWTIKenp+TTtLQ0ItRXxzXnhpe3Uw
dihGbVBPfCZfPHd5MHpJYk43e0RnSHBMMjduMCRsU29wO3NoY1hIM3o5dyQhX15GCnord3Q0UGJv
XzY1anlHQnlONkIhIWpVMld7YUAxeSM9X1l4TWNhcjBGa0hyXlROY1AoemktIyFyaG13Nkx4cmJS
Kwp6Kjs9eVZwMGdObStuQXJkaCNoI3o7eTNPal5ZSnh1QXw9bzliJktoXm8xRHIkV0sqV2VYX1BG
LUh1NUZrdz5YcF4KemthX25KX1RpdHtrQmBhbktac0FQeEpoPjdJJiRTNkNhPiomaXw0cjZWbWR4
Z00mMmZ9QDBPRW13fUF8fV48PlI4CnprIWcxP3hwd28mdWJnQUNGUEQ7d19iT1IqJnlxPjZEIU0t
QXZlQmN9az5qPH0zckV3c1gwaF5mcHBlZ35lR1UhSApCY0BoOHMKCmxpdGVyYWwgMApIY21WP2Qw
MDAwMQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134453</attachid>
            <date>2012-03-28 17:12:04 -0700</date>
            <delta_ts>2012-03-29 18:47:39 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-76684-20120329091202.patch</filename>
            <type>text/plain</type>
            <size>4223</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyNDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzI1MTMyYWQ4ZWQwM2E2
NjNkZGI0MjVlNzE4NjI3NGJhMzUzNzQxZS4uNmM0ZWI5OGFkMjk0OWNkZDQ3OGJhNDcyZjg0MGYx
ZjUzMTE2MzJhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAzLTI4ICBLZW5p
Y2hpIElzaGliYXNoaSAgPGJhc2hpQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXNwZWN0cyBm
b250IGZhbGxiYWNrIGxpc3QgZHVyaW5nIHdlYmZvbnRzIGFyZSBsb2FkaW5nCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY4NAorCisgICAgICAgIFJl
dmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KKworICAgICAgICBGb3IgbGF5b3V0LCB1c2UgdGhl
IHJlc3Qgb2YgdGhlIGZhbGxiYWNrIGxpc3Qgd2hpbGUgd2ViZm9udHMgYXJlIGxvYWRpbmcuCisg
ICAgICAgIElmIHRoZSB3ZWJmb250IGlzIGxvYWRpbmcsIGl0IHdpbGwgYmUgZ2l2ZW4gYW4gaW52
YWxpZCBVbmljb2RlIFJhbmdlIHNvIHRoYXQKKyAgICAgICAgZm9udCBzZWxlY3Rpb24gbWVjaGFu
c2ltIGRvZXNuJ3QgdXNlIHRoZSB3ZWJmb250IGZvciBsYXlvdXQuCisKKyAgICAgICAgVGVzdDog
aHR0cC90ZXN0cy93ZWJmb250L2ZhbGxiYWNrLWZvbnQtd2hpbGUtbG9hZGluZy5odG1sCisKKyAg
ICAgICAgKiBjc3MvQ1NTU2VnbWVudGVkRm9udEZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
YXBwZW5kRm9udERhdGFXaXRoSW52YWxpZFVuaWNvZGVSYW5nZUlmTG9hZGluZyk6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWdtZW50ZWRGb250RmFj
ZTo6Z2V0Rm9udERhdGEpOgorCiAyMDEyLTAzLTI4ICBFbnJpY2EgQ2FzdWNjaSAgPGVucmljYUBh
cHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTjogZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGFU
cmFuc2Zlci1zZXREYXRhLWdldERhdGEuaHRtbCBmYWlscyBvbiBNYWMgcGxhdGZvcm1zLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlZ21lbnRlZEZvbnRGYWNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWdtZW50ZWRGb250RmFjZS5jcHAKaW5kZXggZjQ2MmMyNGM0
ZDY1NzU2NWIzNmUwMzI5ZWY1YWU0N2Q4YzNjZjY4MC4uZTNkOWI3NzAxMzBhMDM1MTBlMDk0NmJk
NzVmNTRjMzljOTk3MjAyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlZ21l
bnRlZEZvbnRGYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VnbWVudGVkRm9u
dEZhY2UuY3BwCkBAIC04MSw2ICs4MSwyMyBAQCB2b2lkIENTU1NlZ21lbnRlZEZvbnRGYWNlOjph
cHBlbmRGb250RmFjZShQYXNzUmVmUHRyPENTU0ZvbnRGYWNlPiBmb250RmFjZSkKICAgICBtX2Zv
bnRGYWNlcy5hcHBlbmQoZm9udEZhY2UpOwogfQogCitzdGF0aWMgdm9pZCBhcHBlbmRGb250RGF0
YVdpdGhJbnZhbGlkVW5pY29kZVJhbmdlSWZMb2FkaW5nKFNlZ21lbnRlZEZvbnREYXRhKiBuZXdG
b250RGF0YSwgY29uc3QgU2ltcGxlRm9udERhdGEqIGZhY2VGb250RGF0YSwgY29uc3QgVmVjdG9y
PENTU0ZvbnRGYWNlOjpVbmljb2RlUmFuZ2U+JiByYW5nZXMpCit7CisgICAgaWYgKGZhY2VGb250
RGF0YS0+aXNMb2FkaW5nKCkpIHsKKyAgICAgICAgbmV3Rm9udERhdGEtPmFwcGVuZFJhbmdlKEZv
bnREYXRhUmFuZ2UoMCwgMCwgZmFjZUZvbnREYXRhKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICB1bnNpZ25lZCBudW1SYW5nZXMgPSByYW5nZXMuc2l6ZSgpOworICAgIGlmICghbnVt
UmFuZ2VzKSB7CisgICAgICAgIG5ld0ZvbnREYXRhLT5hcHBlbmRSYW5nZShGb250RGF0YVJhbmdl
KDAsIDB4N0ZGRkZGRkYsIGZhY2VGb250RGF0YSkpOworICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgZm9yICh1bnNpZ25lZCBqID0gMDsgaiA8IG51bVJhbmdlczsgKytqKQorICAgICAgICBu
ZXdGb250RGF0YS0+YXBwZW5kUmFuZ2UoRm9udERhdGFSYW5nZShyYW5nZXNbal0uZnJvbSgpLCBy
YW5nZXNbal0udG8oKSwgZmFjZUZvbnREYXRhKSk7Cit9CisKIEZvbnREYXRhKiBDU1NTZWdtZW50
ZWRGb250RmFjZTo6Z2V0Rm9udERhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3Jp
cHRpb24pCiB7CiAgICAgaWYgKCFpc1ZhbGlkKCkpCkBAIC0xMDQsMTQgKzEyMSw3IEBAIEZvbnRE
YXRhKiBDU1NTZWdtZW50ZWRGb250RmFjZTo6Z2V0Rm9udERhdGEoY29uc3QgRm9udERlc2NyaXB0
aW9uJiBmb250RGVzY3JpcHRpCiAgICAgICAgIGJvb2wgc3ludGhldGljSXRhbGljID0gISh0cmFp
dHNNYXNrICYgRm9udFN0eWxlSXRhbGljTWFzaykgJiYgKGRlc2lyZWRUcmFpdHNNYXNrICYgRm9u
dFN0eWxlSXRhbGljTWFzayk7CiAgICAgICAgIGlmIChjb25zdCBTaW1wbGVGb250RGF0YSogZmFj
ZUZvbnREYXRhID0gbV9mb250RmFjZXNbaV0tPmdldEZvbnREYXRhKGZvbnREZXNjcmlwdGlvbiwg
c3ludGhldGljQm9sZCwgc3ludGhldGljSXRhbGljKSkgewogICAgICAgICAgICAgQVNTRVJUKCFm
YWNlRm9udERhdGEtPmlzU2VnbWVudGVkKCkpOwotICAgICAgICAgICAgY29uc3QgVmVjdG9yPENT
U0ZvbnRGYWNlOjpVbmljb2RlUmFuZ2U+JiByYW5nZXMgPSBtX2ZvbnRGYWNlc1tpXS0+cmFuZ2Vz
KCk7Ci0gICAgICAgICAgICB1bnNpZ25lZCBudW1SYW5nZXMgPSByYW5nZXMuc2l6ZSgpOwotICAg
ICAgICAgICAgaWYgKCFudW1SYW5nZXMpCi0gICAgICAgICAgICAgICAgbmV3Rm9udERhdGEtPmFw
cGVuZFJhbmdlKEZvbnREYXRhUmFuZ2UoMCwgMHg3RkZGRkZGRiwgZmFjZUZvbnREYXRhKSk7Ci0g
ICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGogPSAwOyBq
IDwgbnVtUmFuZ2VzOyArK2opCi0gICAgICAgICAgICAgICAgICAgIG5ld0ZvbnREYXRhLT5hcHBl
bmRSYW5nZShGb250RGF0YVJhbmdlKHJhbmdlc1tqXS5mcm9tKCksIHJhbmdlc1tqXS50bygpLCBm
YWNlRm9udERhdGEpKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGFwcGVuZEZvbnREYXRh
V2l0aEludmFsaWRVbmljb2RlUmFuZ2VJZkxvYWRpbmcobmV3Rm9udERhdGEuZ2V0KCksIGZhY2VG
b250RGF0YSwgbV9mb250RmFjZXNbaV0tPnJhbmdlcygpKTsKICAgICAgICAgfQogICAgIH0KICAg
ICBpZiAobmV3Rm9udERhdGEtPm51bVJhbmdlcygpKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGY3YmI3ZjQyNzM4MjYx
MTE0M2Q1NGI5YTUyMTdhZjdmOWE2ZTJmMS4uZTIwMmI2MjhjYWE4ODAxMDIzYTdmNTc3MTQ4NmFk
OWJjZTdlOTBhNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAzLTI4ICBLZW5pY2hpIElz
aGliYXNoaSAgPGJhc2hpQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXNwZWN0cyBmb250IGZh
bGxiYWNrIGxpc3QgZHVyaW5nIHdlYmZvbnRzIGFyZSBsb2FkaW5nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY4NAorCisgICAgICAgIFJldmlld2Vk
IGJ5IERpbWl0cmkgR2xhemtvdi4KKworICAgICAgICBBZGQgYSB0ZXN0IHRoYXQgY2hlY2tzIGZh
bGxiYWNrIGZvbnRzIGFyZSB1c2VkIGZvciBsYXlvdXQgd2hpbGUKKyAgICAgICAgd2ViZm9udHMg
YXJlIGxvYWRpbmcuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYmZvbnQvZmFsbGJhY2stZm9u
dC13aGlsZS1sb2FkaW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy93ZWJmb250L2ZhbGxiYWNrLWZvbnQtd2hpbGUtbG9hZGluZy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3dlYmZvbnQvZ2V0YWhlbS5jZ2k6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvd2ViZm9udC9yZXNvdXJjZXMvQWhlbS50dGY6IEFkZGVkLgorCiAyMDEyLTAzLTI4
ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIExpb24gdHdl
YWtzLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134710</attachid>
            <date>2012-03-29 18:47:57 -0700</date>
            <delta_ts>2012-03-30 02:24:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76684-20120330104755.patch</filename>
            <type>text/plain</type>
            <size>7447</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyNjA4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOWY2MjQyNjJjMzQ2ZGZmY2YzMjAw
NmU5Yzc5ODU3OTFhNzRlMzVlMy4uNDNjYjQ5OTk4NDk4YzMzNjc2ZDNmZmUzZGZiNWUzNTczMDM1
MzVjMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTAzLTI5ICBLZW5pY2hpIElzaGliYXNo
aSAgPGJhc2hpQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXNwZWN0cyBmb250IGZhbGxiYWNr
IGxpc3Qgd2hpbGUgd2ViZm9udHMgYXJlIGxvYWRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2Njg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRoZSB0ZXN0IHdoaWNoIHNob3VsZCBoYXZlIGJl
ZW4gc3VibWl0dGVkIHdpdGggcjExMjQ4OS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3Vy
Y2VzL0FoZW0udHRmOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYmZvbnQvZmFsbGJh
Y2stZm9udC13aGlsZS1sb2FkaW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy93ZWJmb250L2ZhbGxiYWNrLWZvbnQtd2hpbGUtbG9hZGluZy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYmZvbnQvZ2V0YWhlbS5jZ2k6IEFkZGVkLgorCiAyMDEy
LTAzLTI5ICBFbnJpY2EgQ2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+CiAKICAgICAgICAgU2tp
cHBpbmcgYSBmYWlsaW5nIHRlc3Qgb24gTGlvbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VzL0FoZW0udHRmIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZXMvQWhlbS50dGYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWM4MWNiMDMxNjVhYjgzMWEzNmFiYjU5MTQ1ZmY3
YTJmNTY3NWZiOQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTI0ODAKemNtZUhOWkZtJmI2QEtT
cVhGcWA/ViNKOF9Xe1ooMzI3O0Mlck5+RjVORCt9QnFOVTB2SklNeUt5SyM0OGYmeFdyCnopa2dV
IVQ4JkM2QjclWTwzUihuODVmSzRWc2l0VFZtbyE+VVpCJlkyZUdwalJKM0EyKytkcUIkVkxQK1c/
M3tiPAp6eT1UdDc9YmR9Yz96flV7XyVSYjJgZCg3anIoZVVeUUxfTUwwSlcxVnFNX09AeVlmYz50
e1Q4ZFJFM2hZSTBhc3kKej9ASEZeUk1rd2F5bDdRd0h4MEFeMT51TXAzaCFEcHJhU0FfXlh3bT8h
dEstWkRJZWgzR1pJWlRKUj5sal9MfjUkCnp4aDdyXzVfTSs9ZnVkNkMrTX1Ve1Q2YCspRThXOyQj
Nm5TWE0lTyNtMEtOTTF7KmxedkdCcz1HPjVWYCFgPldqYAp6ZU9FOW5AMDNmY3VJQDdFQWlQPXxI
Q1BxRGBVLWo3YytUPlJmWG8xYE8lcDY/UF5GZCFgKU1MR2ZadFlvZW9JVG8Kejl8dFlYTDNyI3dV
IztpdXdLaW9nVG9sJTteYXlqWlNMSiMxUSM1TCFhfiQlUjJ8Uyh5RzE0bVY+KypBbDE0QUo4Cnpz
a1JSU1RMcU5kQSp8RGM8KkJlZDwyKz9PbHdMWmdHWTFYXnpURnMqazh9M2FOODJrLWNXU3R7czZ7
WVRwTTJnfgp6YDA4NHRhNTJkcTlhcDx9IVg/e05nVSlyeWZTYXFBVCFWYUUtdmo3YCZnZzwxPFJU
OXpwKHs+Q0tHKlZZSTI4cHIKejRjJjElZGYrPHtDYDF0N01OZ2M4QkFrZ3tfI1YhfSszMWFQUD5l
cTRpeFR3MXhpfUJzTX1QYlAxOF9iRDspZlc3CnpBN0w7cTtKUCp4ISFSN0J4RFhAb1Z+b1RfNz1A
bztHJW0mJVQhT0s8NnlzMmFAd2Z+VmE1Kk84M1M1YndWaUpDYQp6dDhnX1kpODchdlFHcVpfUkg2
eklSQVVPUktARm1hQSZ5I0hpdipITHAkXnhmOXUxZ14+djAzN2FiS0IlcEw0bD0KejZGMUB9YH5v
LVFFJkxMPDs4eHMqeEE3fTk7KGdxWEpKNXolX3leaUM4Kn1ndS1vQFkwaks1PHBldlF7SzR8bjEm
Cnp7MDRYOUpeVHFEOzhvbSVDWnJqcWAqMSh6PDdLPnBLVnVpKHorZG9ORVdxI1pBckBqTVRKWm97
QEstQSRkJDAodgp6Vj5rQlZLYGgyWVNjMFdeNz57NVhtZzctOCN4XlZQSTlCMmJKYyg2VWppPk41
ZXZkVkgyNVlnN0pFdS1HZlVgQSgKelFTOGhwJXNAc2RRT2NBQ1d1RSRpeD1ucGN5R3dnU1RkIT50
SWlqbTU1SXNhdDZwNmxLcGVRWDI3OFY4N3BiX2o2CnolbktGLWRqIXU4anRvdT9uISl7Tll+UUQ1
R1BFbGcofWxEKiZhJF9LX1REKG8tYnRkSD1xYGsxQEJBOz4lTUc2VAp6Z310ejQ1MUNCbj9NeTNv
KmMmc2BHN35jdzA3dSQrNG5BXyQ7biQ5SS1KNUNJMWhsTWdTPVh8cjw/KXVLRWVyTk8KenlaNW5s
WWtFZ3xtejx+Y19Wa0FJTCtRciF0IzV0eVgzdzBEWX19OE1iQEdzNG1nak5EKGN8UmYjZGIjRiNO
JUdaCnpRUjNoTU0qMHMjTG5DbzhtK2B6Q25+OTAxaD59QCYwYjdaVEltRjIjJmlAdS1wYjZXdDRL
RVN9X2MzLTRHVV5oSwp6dy1iPnxpT0khYD01amxsODtIO3FSeiY5JHNtfkt4UGdyclMhYldUJj95
OEMxRGE3cUhNRDlGZHgwZExZKmk4fD0KejYxI3NTZFohWTwqQXUlcDVKYDczKCRnJmpLYTF5eHMj
VX43NzgmYl5sQz43elVNRjVSKTdTU0xsdzw/JHB5V1RJCnpMPyl1bEJlaVFaIThPYmNvU1IjaWRx
IWJ5O2RKJUdCWGc3a00rMkhUKyVsYWo0a3l5aWwofFEtUUs4bSR4RW17Rgp6Q2hwWTlVbDdpYElH
QXZyMldLc0MpJmdnTGFRNFA7STRAdzwhVHErUkBNTFN4KzNNc1YqPyUkclhMQXNTYF4wcyUKeiNt
UE9Mb1pRS35vIT9eND9AO0dBX31BPFktKjY3JXtOe0s1MlhnKWNiODt7ejJYa15UQ2tKektGZWVC
NUgjciF7CnpDJiskK1dDI3JBK3h7IzA/KDtnbmJEaFdjbUBEeyhZQ0dTVXpsI0hrc15sbT1sLXxs
Zld1ITdlMmBkUkByWlFXWgp6dVBqczZDfGlfZnJCJklkOTkwOHFmIWEmJHVhPklnKVg4ZDBvdSlS
YlAzalZMd1lveyZzaXhJLV5eb1MjXjBsNT8KektXJklNTXdfSGYoSGdXe18jUyhhd289PW0/YSs0
OShAJTY9Jihub290UGojaD1AYSNecDNyQ052LVNEPEdKVER7CnpNUV8keV4/bXdMU0hNLV4+Z0RT
MURzXyE+Tz9KZ3goX0Q/TkNmNT96WVMkKiRQRkxGMT9tQT82akNgWX4oYSN1Uwp6ajQ+dHxRO1lg
VjdVTTJzaytJVSlWQypuPDgqUm9YWnJ6PmQ3VmN2QUFvblF1TTBjZS08LVc7MSpTKX5+c0MldEAK
enQ5eklHOXJ1MEBKZUB0PUohZzNhQEg0X1EtYyM8V15+fl94O2tuUUF1OyojZFgzd2poN1NEJkMh
KE59YW80M2UmCnpvX0NtY3RvSkghanJWJSpaUWlAUmlAaV5KSCtvPDg/KHgzd3tuVGdweTg0Mj96
UGBifShZYEJ2NSNNI2JufDw/cQp6M3c8a20+d1ZqT1p9e0h6OXFfQ0U5RGZnZ1p+czk1TmRFK1gq
cWB2dl53MExzX2I+Q1dAbyhgcmAmPDN7ezZfPFUKekt0WjVhcG5zcT1GZks0VDVEUUVUR3pPWGlP
OUhDe24qdXVuPXxGcW5QJHk1UHs3eVlQXjx5QDBuc1YkTntRe1A9CnpoWFJrJVFCdSlhU3pfeG8y
eFlZYD51bDMoJVAhPEFkdS1YRGUhcU9XdG03NXNrUyF+RyVlfkUoUmsrb2NZKnxCJgp6K0hBYEAr
cWA0VEY4SXxCRX11ZEQkRkBGKV4xcDAzbXYlbjA8dmkkYCVEcWpJVHM+dWhYNG8+dnFBI3soanp4
ZGUKem1OXiFFdHUxcGJgZmdrMVNvQnN+PTItTWtaOC0tWG07NGA3K1JzSTJtJmNhI3NMdi1PQ1R7
VXExaTF3ZnZKNFZECnpFNjVIb0VxO3J6RyRzVCE1JFhpYkQ4R35CNVkqWHF5KUE3NmR6b1l4cSp5
ODw/YDl+PWIoUzR6QlN6TU9BZzhDNgp6cikqek9ZdF9+cnJMNzJrc0haa1dTejN2KVVtdUhtYkYz
YExaYi0xNXluQlopPHlIQHE/MXBPZ0cwNj1RV2JgQnsKelJyMjA3RUxFfmMhcz1tQ3BSKEZqdjBQ
elVsM2EpK2J5NlJ2MT9rSUZ0RFBLVyh5fSsheEAoeUJxLVN5ejwhbUYhCno5ZzRGZyVPbUpUZ3Ny
M3BAP09YOG5WcXJXV0V6IUdVJmVNKCtMMUZ7TzslSHF4Xmx+VUo+X2cpSXElMihFYW9ncQp6OCZS
XkFPdE8mVm19Rzx8U2dvYiFTKzdnelgkaEAkd0M9Y21lTEs3TVYpOXI7TUlAOTZSaXc7QlFpS3d3
TkpVSXgKek1uJkA0SStsNzF2IVRNUU9eS29saGdRXzNPYzlFT01YKXk1VGh2RllEPFVFcGlQd3V6
dmNpbXxgaC1wRURrPkI0CnpzQVopKmxyKEZxVmBqMHFFTk5FTylyaVY/TFpyLU9zeWJGQkQma1NI
WHNjN3pAdDg8WE97VUNmdlJJNXcjS1V6Sgp6Vz59T0A3MzFVS3Vvd31GQnd9VkYrbW50QkZEbnll
cD1lenFSREVWcmxxY2YjTiFIcG5pLSQoYz1zMl5ndHxwWTIKenp+TTtLQ0ItRXxzXnhpe3UwdihG
bVBPfCZfPHd5MHpJYk43e0RnSHBMMjduMCRsU29wO3NoY1hIM3o5dyQhX15GCnord3Q0UGJvXzY1
anlHQnlONkIhIWpVMld7YUAxeSM9X1l4TWNhcjBGa0hyXlROY1AoemktIyFyaG13Nkx4cmJSKwp6
Kjs9eVZwMGdObStuQXJkaCNoI3o7eTNPal5ZSnh1QXw9bzliJktoXm8xRHIkV0sqV2VYX1BGLUh1
NUZrdz5YcF4KemthX25KX1RpdHtrQmBhbktac0FQeEpoPjdJJiRTNkNhPiomaXw0cjZWbWR4Z00m
MmZ9QDBPRW13fUF8fV48PlI4CnprIWcxP3hwd28mdWJnQUNGUEQ7d19iT1IqJnlxPjZEIU0tQXZl
QmN9az5qPH0zckV3c1gwaF5mcHBlZ35lR1UhSApCY0BoOHMKCmxpdGVyYWwgMApIY21WP2QwMDAw
MQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViZm9udC9mYWxsYmFjay1m
b250LXdoaWxlLWxvYWRpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJmb250L2ZhbGxiYWNrLWZvbnQtd2hpbGUtbG9hZGluZy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOTY5YWEwM2IzMjIzMGVlMWJmMTA3ZWEyZDNmODY0NzEzZmNkOWFjZAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViZm9udC9mYWxsYmFjay1mb250LXdoaWxl
LWxvYWRpbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IHRoZSBmYWxsYmFjayBmb250IGlzIHVzZWQgZm9yIGxheW91dCB3aGlsZSBhIHdlYmZvbnQg
aXMgbG9hZGluZy4KKworVGFyZ2V0OgorQSB0ZXh0IHRvIGJlIG1lYXN1cmVkLgorUmVmZXJlbmNl
OgorQSB0ZXh0IHRvIGJlIG1lYXN1cmVkLgorUEFTUzogVGhlIHdpZHRoIG9mIHRhcmdldCB0ZXh0
IGFuZCByZWZlcmVuY2UgdGV4dCBpcyB0aGUgc2FtZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2ViZm9udC9mYWxsYmFjay1mb250LXdoaWxlLWxvYWRpbmcuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViZm9udC9mYWxsYmFjay1mb250LXdoaWxlLWxvYWRpbmcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wYmUwNzU3OGJlNWUwNTJlNzUxYjU5MDM5Y2I0YmJmZTk3NDc4NTk4
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJmb250L2ZhbGxi
YWNrLWZvbnQtd2hpbGUtbG9hZGluZy5odG1sCkBAIC0wLDAgKzEsMzkgQEAKKzxwPgorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IHRoZSBmYWxsYmFjayBmb250IGlzIHVzZWQgZm9yIGxheW91dCB3aGls
ZSBhIHdlYmZvbnQgaXMgbG9hZGluZy4KKzwvcD4KK1RhcmdldDoKKzxkaXYgaWQ9InRhcmdldEhv
bGRlciI+Cis8L2Rpdj4KK1JlZmVyZW5jZToKKzxkaXY+Cis8c3BhbiBpZD0icmVmZXJlbmNlIiBz
dHlsZT0iZm9udC1mYW1pbHk6IHNlcmlmOyI+QSB0ZXh0IHRvIGJlIG1lYXN1cmVkLjwvc3Bhbj4K
KzwvZGl2PgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlk
ZVByZWZlcmVuY2UoJ1dlYktpdFNlcmlmRm9udCcsICdBcmlhbCcpOworICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmR1bXBBc1RleHQoKTsKK30KKworZnVuY3Rpb24gYWRkVGV4dFdpdGhXZWJmb250
KCkgeworICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7Cisg
ICAgc3R5bGUuaW5uZXJUZXh0ID0gJ0Bmb250LWZhY2UgeyBmb250LWZhbWlseTogd2ViZm9udDsg
c3JjOiB1cmwoZ2V0YWhlbS5jZ2kpOyB9JzsKKyAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxk
KHN0eWxlKTsKKyAgICB2YXIgdGFyZ2V0SG9sZGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3RhcmdldEhvbGRlcicpOworICAgIHRhcmdldEhvbGRlci5pbm5lckhUTUwgPSAnPHNwYW4gaWQ9
InRhcmdldCIgc3R5bGU9ImZvbnQtZmFtaWx5OiB3ZWJmb250LCBzZXJpZjsiPkEgdGV4dCB0byBi
ZSBtZWFzdXJlZC48L3NwYW4+JzsKK30KKworZnVuY3Rpb24gY2hlY2tTaXplKCkgeworICAgIHZh
ciB0YXJnZXRXaWR0aCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQnKS5vZmZzZXRX
aWR0aDsKKyAgICB2YXIgcmVmZXJlbmNlV2lkdGggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
cmVmZXJlbmNlJykub2Zmc2V0V2lkdGg7CisgICAgdmFyIHJlc3VsdCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdyZXN1bHQnKTsKKyAgICBpZiAodGFyZ2V0V2lkdGggPT0gcmVmZXJlbmNlV2lk
dGgpCisgICAgICAgIHJlc3VsdC5pbm5lclRleHQgPSAnUEFTUzogVGhlIHdpZHRoIG9mIHRhcmdl
dCB0ZXh0IGFuZCByZWZlcmVuY2UgdGV4dCBpcyB0aGUgc2FtZS4nOworICAgIGVsc2UKKyAgICAg
ICAgcmVzdWx0LmlubmVyVGV4dCA9ICdGQUlMOiBUaGUgd2lkdGggb2YgdGFyZ2V0IHRleHQgYW5k
IHJlZmVyZW5jZSB0ZXh0IGlzIGRpZmZlcmVudDogJyArIHRhcmdldFdpZHRoICsgJyAhPSAnICsg
cmVmZXJlbmNlV2lkdGg7Cit9CisKK2FkZFRleHRXaXRoV2ViZm9udCgpOworY2hlY2tTaXplKCk7
Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViZm9udC9n
ZXRhaGVtLmNnaSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViZm9udC9nZXRhaGVtLmNnaQpu
ZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jMTEyMjRlYzk5NDY0ZGIyOWUzYTFhYTVhYWMyODk3MzNlODVjMmQ2Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJmb250L2dldGFoZW0uY2dp
CkBAIC0wLDAgKzEsMTIgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorIyBTZXJ2ZSBBaGVtLnR0
ZiBhZnRlciAxIHNlY29uZHMuCisKK2ltcG9ydCBzeXMKK2ltcG9ydCB0aW1lCisKK2ZvbnRfZGF0
YSA9IG9wZW4oIi4uL3Jlc291cmNlcy9BaGVtLnR0ZiIpLnJlYWQoKQorCitzeXMuc3Rkb3V0Lndy
aXRlKCJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVxuIikKK3N5cy5zdGRv
dXQud3JpdGUoIkNhY2hlLUNvbnRyb2w6IG5vLWNhY2hlLCBuby1zdG9yZVxuXG4iKQordGltZS5z
bGVlcCgxKQorc3lzLnN0ZG91dC53cml0ZShmb250X2RhdGEpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134748</attachid>
            <date>2012-03-30 01:54:43 -0700</date>
            <delta_ts>2012-03-30 02:23:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76684-20120330175442.patch</filename>
            <type>text/plain</type>
            <size>3710</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyNjA4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOWY2MjQyNjJjMzQ2ZGZmY2YzMjAw
NmU5Yzc5ODU3OTFhNzRlMzVlMy4uMWQ0NDdjMDQ5MjQ4Njg2Y2RmNzM5YWNmNWIzODgzNTNmYjhj
OTkyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTAzLTMwICBLZW5pY2hpIElzaGliYXNo
aSAgPGJhc2hpQGNocm9taXVtLm9yZz4KKworICAgICAgICBGYWxsYmFjayBmb250cyBzaG91bGQg
YmUgdXNlZCB3aGlsZSBhIHdlYiBmb250IGlzIGJlaW5nIGxvYWRlZAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2ODQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGhlIHRlc3Qgd2hpY2ggc2hvdWxk
IGhhdmUgYmVlbiBzdWJtaXR0ZWQgd2l0aCByMTEyNDg5LgorCisgICAgICAgICogaHR0cC90ZXN0
cy93ZWJmb250L2ZhbGxiYWNrLWZvbnQtd2hpbGUtbG9hZGluZy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvd2ViZm9udC9mYWxsYmFjay1mb250LXdoaWxlLWxvYWRp
bmcuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJmb250L2dldGFoZW0uY2dp
OiBBZGRlZC4KKwogMjAxMi0wMy0yOSAgRW5yaWNhIENhc3VjY2kgIDxlbnJpY2FAYXBwbGUuY29t
PgogCiAgICAgICAgIFNraXBwaW5nIGEgZmFpbGluZyB0ZXN0IG9uIExpb24uCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmZvbnQvZmFsbGJhY2stZm9udC13aGlsZS1sb2Fk
aW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViZm9udC9mYWxsYmFj
ay1mb250LXdoaWxlLWxvYWRpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2OWFhMDNiMzIy
MzBlZTFiZjEwN2VhMmQzZjg2NDcxM2ZjZDlhY2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYmZvbnQvZmFsbGJhY2stZm9udC13aGlsZS1sb2FkaW5nLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgZmFsbGJh
Y2sgZm9udCBpcyB1c2VkIGZvciBsYXlvdXQgd2hpbGUgYSB3ZWJmb250IGlzIGxvYWRpbmcuCisK
K1RhcmdldDoKK0EgdGV4dCB0byBiZSBtZWFzdXJlZC4KK1JlZmVyZW5jZToKK0EgdGV4dCB0byBi
ZSBtZWFzdXJlZC4KK1BBU1M6IFRoZSB3aWR0aCBvZiB0YXJnZXQgdGV4dCBhbmQgcmVmZXJlbmNl
IHRleHQgaXMgdGhlIHNhbWUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YmZvbnQvZmFsbGJhY2stZm9udC13aGlsZS1sb2FkaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYmZvbnQvZmFsbGJhY2stZm9udC13aGlsZS1sb2FkaW5nLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZTdkZjQwM2I1NWI0NDY1NmYzNWNhZDI2YTM1YjFjZjkxOGY0NzBiMQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViZm9udC9mYWxsYmFjay1mb250LXdoaWxl
LWxvYWRpbmcuaHRtbApAQCAtMCwwICsxLDM5IEBACis8c3R5bGU+CitAZm9udC1mYWNlIHsKKyAg
ICBmb250LWZhbWlseTogd2ViZm9udDsKKyAgICBzcmM6IHVybChzbG93LWFoZW0tbG9hZGluZy5j
Z2kpOworfQorPC9zdHlsZT4KKzxwPgorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBmYWxsYmFj
ayBmb250IGlzIHVzZWQgZm9yIGxheW91dCB3aGlsZSBhIHdlYmZvbnQgaXMgbG9hZGluZy4KKzwv
cD4KK1RhcmdldDoKKzxkaXY+Cis8c3BhbiBpZD0idGFyZ2V0IiBzdHlsZT0iZm9udC1mYW1pbHk6
IHdlYmZvbnQsIHNlcmlmOyI+QSB0ZXh0IHRvIGJlIG1lYXN1cmVkLjwvc3Bhbj4KKzwvZGl2Pgor
UmVmZXJlbmNlOgorPGRpdj4KKzxzcGFuIGlkPSJyZWZlcmVuY2UiIHN0eWxlPSJmb250LWZhbWls
eTogc2VyaWY7Ij5BIHRleHQgdG8gYmUgbWVhc3VyZWQuPC9zcGFuPgorPC9kaXY+Cis8ZGl2IGlk
PSJyZXN1bHQiPjwvZGl2PgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikgeworICAgIC8vIFNldCBBcmlhbCBhcyBzZXJpZiB0byBtYWtlIHN1cmUgdGhhdCB0aGUg
c3RyaW5nIGhhcyBkaWZmZXJlbnQgd2lkdGggd2hlbiB1c2luZyBBaGVtIGFuZCB3aGVuIHVzaW5n
IHNlcmlmLgorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgnV2Vi
S2l0U2VyaWZGb250JywgJ0FyaWFsJyk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworfQorCitmdW5jdGlvbiBjaGVja1NpemUoKSB7CisgICAgdmFyIHRhcmdldFdpZHRo
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RhcmdldCcpLm9mZnNldFdpZHRoOworICAgIHZh
ciByZWZlcmVuY2VXaWR0aCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZWZlcmVuY2UnKS5v
ZmZzZXRXaWR0aDsKKyAgICB2YXIgcmVzdWx0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jl
c3VsdCcpOworICAgIGlmICh0YXJnZXRXaWR0aCA9PSByZWZlcmVuY2VXaWR0aCkKKyAgICAgICAg
cmVzdWx0LmlubmVyVGV4dCA9ICdQQVNTOiBUaGUgd2lkdGggb2YgdGFyZ2V0IHRleHQgYW5kIHJl
ZmVyZW5jZSB0ZXh0IGlzIHRoZSBzYW1lLic7CisgICAgZWxzZQorICAgICAgICByZXN1bHQuaW5u
ZXJUZXh0ID0gJ0ZBSUw6IFRoZSB3aWR0aCBvZiB0YXJnZXQgdGV4dCBhbmQgcmVmZXJlbmNlIHRl
eHQgaXMgZGlmZmVyZW50OiAnICsgdGFyZ2V0V2lkdGggKyAnICE9ICcgKyByZWZlcmVuY2VXaWR0
aDsKK30KKworLy9hZGRUZXh0V2l0aFdlYmZvbnQoKTsKK2NoZWNrU2l6ZSgpOworPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmZvbnQvc2xvdy1haGVtLWxv
YWRpbmcuY2dpIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJmb250L3Nsb3ctYWhlbS1sb2Fk
aW5nLmNnaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMmYxODZlNTcwM2IzNzY0YjFkNjhlYWM0NDU1YWJlNmViMDIy
Y2VkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJmb250L3Ns
b3ctYWhlbS1sb2FkaW5nLmNnaQpAQCAtMCwwICsxLDEyIEBACisjIS91c3IvYmluL2VudiBweXRo
b24KKyMgU2VydmUgQWhlbS50dGYgYWZ0ZXIgMSBzZWNvbmRzLgorCitpbXBvcnQgc3lzCitpbXBv
cnQgdGltZQorCitmb250X2RhdGEgPSBvcGVuKCIuLi8uLi8uLi9yZXNvdXJjZXMvQWhlbS50dGYi
KS5yZWFkKCkKKworc3lzLnN0ZG91dC53cml0ZSgiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9v
Y3RldC1zdHJlYW1cbiIpCitzeXMuc3Rkb3V0LndyaXRlKCJDYWNoZS1Db250cm9sOiBuby1jYWNo
ZSwgbm8tc3RvcmVcblxuIikKK3RpbWUuc2xlZXAoMSkKK3N5cy5zdGRvdXQud3JpdGUoZm9udF9k
YXRhKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134751</attachid>
            <date>2012-03-30 02:23:09 -0700</date>
            <delta_ts>2012-04-03 00:30:03 -0700</delta_ts>
            <desc>Use perl instead of python</desc>
            <filename>bug-76684-20120330182308.patch</filename>
            <type>text/plain</type>
            <size>3616</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyNjA4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOWY2MjQyNjJjMzQ2ZGZmY2YzMjAw
NmU5Yzc5ODU3OTFhNzRlMzVlMy4uMWQ0NDdjMDQ5MjQ4Njg2Y2RmNzM5YWNmNWIzODgzNTNmYjhj
OTkyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTAzLTMwICBLZW5pY2hpIElzaGliYXNo
aSAgPGJhc2hpQGNocm9taXVtLm9yZz4KKworICAgICAgICBGYWxsYmFjayBmb250cyBzaG91bGQg
YmUgdXNlZCB3aGlsZSBhIHdlYiBmb250IGlzIGJlaW5nIGxvYWRlZAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2ODQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGhlIHRlc3Qgd2hpY2ggc2hvdWxk
IGhhdmUgYmVlbiBzdWJtaXR0ZWQgd2l0aCByMTEyNDg5LgorCisgICAgICAgICogaHR0cC90ZXN0
cy93ZWJmb250L2ZhbGxiYWNrLWZvbnQtd2hpbGUtbG9hZGluZy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvd2ViZm9udC9mYWxsYmFjay1mb250LXdoaWxlLWxvYWRp
bmcuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJmb250L2dldGFoZW0uY2dp
OiBBZGRlZC4KKwogMjAxMi0wMy0yOSAgRW5yaWNhIENhc3VjY2kgIDxlbnJpY2FAYXBwbGUuY29t
PgogCiAgICAgICAgIFNraXBwaW5nIGEgZmFpbGluZyB0ZXN0IG9uIExpb24uCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmZvbnQvZmFsbGJhY2stZm9udC13aGlsZS1sb2Fk
aW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViZm9udC9mYWxsYmFj
ay1mb250LXdoaWxlLWxvYWRpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2OWFhMDNiMzIy
MzBlZTFiZjEwN2VhMmQzZjg2NDcxM2ZjZDlhY2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYmZvbnQvZmFsbGJhY2stZm9udC13aGlsZS1sb2FkaW5nLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgZmFsbGJh
Y2sgZm9udCBpcyB1c2VkIGZvciBsYXlvdXQgd2hpbGUgYSB3ZWJmb250IGlzIGxvYWRpbmcuCisK
K1RhcmdldDoKK0EgdGV4dCB0byBiZSBtZWFzdXJlZC4KK1JlZmVyZW5jZToKK0EgdGV4dCB0byBi
ZSBtZWFzdXJlZC4KK1BBU1M6IFRoZSB3aWR0aCBvZiB0YXJnZXQgdGV4dCBhbmQgcmVmZXJlbmNl
IHRleHQgaXMgdGhlIHNhbWUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YmZvbnQvZmFsbGJhY2stZm9udC13aGlsZS1sb2FkaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYmZvbnQvZmFsbGJhY2stZm9udC13aGlsZS1sb2FkaW5nLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZTdkZjQwM2I1NWI0NDY1NmYzNWNhZDI2YTM1YjFjZjkxOGY0NzBiMQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViZm9udC9mYWxsYmFjay1mb250LXdoaWxl
LWxvYWRpbmcuaHRtbApAQCAtMCwwICsxLDM5IEBACis8c3R5bGU+CitAZm9udC1mYWNlIHsKKyAg
ICBmb250LWZhbWlseTogd2ViZm9udDsKKyAgICBzcmM6IHVybChzbG93LWFoZW0tbG9hZGluZy5j
Z2kpOworfQorPC9zdHlsZT4KKzxwPgorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBmYWxsYmFj
ayBmb250IGlzIHVzZWQgZm9yIGxheW91dCB3aGlsZSBhIHdlYmZvbnQgaXMgbG9hZGluZy4KKzwv
cD4KK1RhcmdldDoKKzxkaXY+Cis8c3BhbiBpZD0idGFyZ2V0IiBzdHlsZT0iZm9udC1mYW1pbHk6
IHdlYmZvbnQsIHNlcmlmOyI+QSB0ZXh0IHRvIGJlIG1lYXN1cmVkLjwvc3Bhbj4KKzwvZGl2Pgor
UmVmZXJlbmNlOgorPGRpdj4KKzxzcGFuIGlkPSJyZWZlcmVuY2UiIHN0eWxlPSJmb250LWZhbWls
eTogc2VyaWY7Ij5BIHRleHQgdG8gYmUgbWVhc3VyZWQuPC9zcGFuPgorPC9kaXY+Cis8ZGl2IGlk
PSJyZXN1bHQiPjwvZGl2PgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikgeworICAgIC8vIFNldCBBcmlhbCBhcyBzZXJpZiB0byBtYWtlIHN1cmUgdGhhdCB0aGUg
c3RyaW5nIGhhcyBkaWZmZXJlbnQgd2lkdGggd2hlbiB1c2luZyBBaGVtIGFuZCB3aGVuIHVzaW5n
IHNlcmlmLgorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgnV2Vi
S2l0U2VyaWZGb250JywgJ0FyaWFsJyk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworfQorCitmdW5jdGlvbiBjaGVja1NpemUoKSB7CisgICAgdmFyIHRhcmdldFdpZHRo
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RhcmdldCcpLm9mZnNldFdpZHRoOworICAgIHZh
ciByZWZlcmVuY2VXaWR0aCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZWZlcmVuY2UnKS5v
ZmZzZXRXaWR0aDsKKyAgICB2YXIgcmVzdWx0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jl
c3VsdCcpOworICAgIGlmICh0YXJnZXRXaWR0aCA9PSByZWZlcmVuY2VXaWR0aCkKKyAgICAgICAg
cmVzdWx0LmlubmVyVGV4dCA9ICdQQVNTOiBUaGUgd2lkdGggb2YgdGFyZ2V0IHRleHQgYW5kIHJl
ZmVyZW5jZSB0ZXh0IGlzIHRoZSBzYW1lLic7CisgICAgZWxzZQorICAgICAgICByZXN1bHQuaW5u
ZXJUZXh0ID0gJ0ZBSUw6IFRoZSB3aWR0aCBvZiB0YXJnZXQgdGV4dCBhbmQgcmVmZXJlbmNlIHRl
eHQgaXMgZGlmZmVyZW50OiAnICsgdGFyZ2V0V2lkdGggKyAnICE9ICcgKyByZWZlcmVuY2VXaWR0
aDsKK30KKworLy9hZGRUZXh0V2l0aFdlYmZvbnQoKTsKK2NoZWNrU2l6ZSgpOworPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmZvbnQvc2xvdy1haGVtLWxv
YWRpbmcuY2dpIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJmb250L3Nsb3ctYWhlbS1sb2Fk
aW5nLmNnaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42MzFkYzY1ODk4ZGUxOTk0YTk2Mzc0YmM1Mzk3ZDcyZThmMGMz
MTc5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJmb250L3Ns
b3ctYWhlbS1sb2FkaW5nLmNnaQpAQCAtMCwwICsxLDggQEAKKyMhL3Vzci9iaW4vcGVybCAtdwor
CitwcmludCAiQ29udGVudC10eXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cbiI7Citwcmlu
dCAiQ2FjaGUtY29udHJvbDogbm8tY2FjaGUsIG5vLXN0b3JlXG5cbiI7CitzbGVlcCgxKTsKK29w
ZW4gRkgsICI8Li4vLi4vLi4vcmVzb3VyY2VzL0FoZW0udHRmIiBvciBkaWU7Cit3aGlsZSAoPEZI
PikgeyBwcmludDsgfQorY2xvc2UgRkg7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135284</attachid>
            <date>2012-04-03 00:30:11 -0700</date>
            <delta_ts>2012-04-03 02:08:17 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-76684-20120403163009.patch</filename>
            <type>text/plain</type>
            <size>3450</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyOTg5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTBmZjllYzczNGQ1MmE2YzQzMWEz
YTg2YTMzOTkxNmY2OTNmODA5My4uM2Y3ZDNiNjkwNjkxYzdlYWVjNWRiOTY5ZjA4YmJhODBlY2E2
ZTBmYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA0LTAzICBLZW5pY2hpIElzaGliYXNo
aSAgPGJhc2hpQGNocm9taXVtLm9yZz4KKworICAgICAgICBGYWxsYmFjayBmb250cyBzaG91bGQg
YmUgdXNlZCB3aGlsZSBhIHdlYiBmb250IGlzIGJlaW5nIGxvYWRlZAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2ODQKKworICAgICAgICBSZXZpZXdl
ZCBieSBPamFuIFZhZmFpLgorCisgICAgICAgIEFkZCB0aGUgdGVzdCB3aGljaCBzaG91bGQgaGF2
ZSBiZWVuIHN1Ym1pdHRlZCB3aXRoIHIxMTI0ODkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3dl
YmZvbnQvZmFsbGJhY2stZm9udC13aGlsZS1sb2FkaW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93ZWJmb250L2ZhbGxiYWNrLWZvbnQtd2hpbGUtbG9hZGluZy5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYmZvbnQvc2xvdy1haGVtLWxvYWRp
bmcuY2dpOiBBZGRlZC4KKwogMjAxMi0wNC0wMyAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hA
YXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBzZWFyY2ggZmllbGQgb24gR29vZ2xlLmNvbSBkb2Vz
IG5vdCBoYXZlIHRoZSBBWFNlYXJjaEZpZWxkIHN1YnJvbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2ViZm9udC9mYWxsYmFjay1mb250LXdoaWxlLWxvYWRpbmctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJmb250L2ZhbGxiYWNrLWZvbnQtd2hp
bGUtbG9hZGluZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTY5YWEwM2IzMjIzMGVlMWJmMTA3
ZWEyZDNmODY0NzEzZmNkOWFjZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2ViZm9udC9mYWxsYmFjay1mb250LXdoaWxlLWxvYWRpbmctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBmYWxsYmFjayBmb250IGlz
IHVzZWQgZm9yIGxheW91dCB3aGlsZSBhIHdlYmZvbnQgaXMgbG9hZGluZy4KKworVGFyZ2V0Ogor
QSB0ZXh0IHRvIGJlIG1lYXN1cmVkLgorUmVmZXJlbmNlOgorQSB0ZXh0IHRvIGJlIG1lYXN1cmVk
LgorUEFTUzogVGhlIHdpZHRoIG9mIHRhcmdldCB0ZXh0IGFuZCByZWZlcmVuY2UgdGV4dCBpcyB0
aGUgc2FtZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViZm9udC9mYWxs
YmFjay1mb250LXdoaWxlLWxvYWRpbmcuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
Zm9udC9mYWxsYmFjay1mb250LXdoaWxlLWxvYWRpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43Zjk2YWZj
OThkMTYzODVmM2UzMDI3YzlhYjFhNDE5YTdlYTVkYTNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJmb250L2ZhbGxiYWNrLWZvbnQtd2hpbGUtbG9hZGluZy5o
dG1sCkBAIC0wLDAgKzEsMzYgQEAKKzxzdHlsZT4KK0Bmb250LWZhY2UgeworICAgIGZvbnQtZmFt
aWx5OiB3ZWJmb250OworICAgIHNyYzogdXJsKHNsb3ctYWhlbS1sb2FkaW5nLmNnaSk7Cit9Cis8
L3N0eWxlPgorPHA+CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIGZhbGxiYWNrIGZvbnQgaXMg
dXNlZCBmb3IgbGF5b3V0IHdoaWxlIGEgd2ViZm9udCBpcyBsb2FkaW5nLgorPC9wPgorVGFyZ2V0
OgorPGRpdj4KKzxzcGFuIGlkPSJ0YXJnZXQiIHN0eWxlPSJmb250LWZhbWlseTogd2ViZm9udCwg
QXJpYWw7Ij5BIHRleHQgdG8gYmUgbWVhc3VyZWQuPC9zcGFuPgorPC9kaXY+CitSZWZlcmVuY2U6
Cis8ZGl2PgorPHNwYW4gaWQ9InJlZmVyZW5jZSIgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbDsi
PkEgdGV4dCB0byBiZSBtZWFzdXJlZC48L3NwYW4+Cis8L2Rpdj4KKzxkaXYgaWQ9InJlc3VsdCI+
PC9kaXY+CisKKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Cisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworfQorCitmdW5jdGlvbiBjaGVj
a1NpemUoKSB7CisgICAgdmFyIHRhcmdldFdpZHRoID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3RhcmdldCcpLm9mZnNldFdpZHRoOworICAgIHZhciByZWZlcmVuY2VXaWR0aCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdyZWZlcmVuY2UnKS5vZmZzZXRXaWR0aDsKKyAgICB2YXIgcmVzdWx0
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpOworICAgIGlmICh0YXJnZXRXaWR0
aCA9PSByZWZlcmVuY2VXaWR0aCkKKyAgICAgICAgcmVzdWx0LmlubmVyVGV4dCA9ICdQQVNTOiBU
aGUgd2lkdGggb2YgdGFyZ2V0IHRleHQgYW5kIHJlZmVyZW5jZSB0ZXh0IGlzIHRoZSBzYW1lLic7
CisgICAgZWxzZQorICAgICAgICByZXN1bHQuaW5uZXJUZXh0ID0gJ0ZBSUw6IFRoZSB3aWR0aCBv
ZiB0YXJnZXQgdGV4dCBhbmQgcmVmZXJlbmNlIHRleHQgaXMgZGlmZmVyZW50OiAnICsgdGFyZ2V0
V2lkdGggKyAnICE9ICcgKyByZWZlcmVuY2VXaWR0aDsKK30KKworY2hlY2tTaXplKCk7Cis8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViZm9udC9zbG93LWFo
ZW0tbG9hZGluZy5jZ2kgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmZvbnQvc2xvdy1haGVt
LWxvYWRpbmcuY2dpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzMWRjNjU4OThkZTE5OTRhOTYzNzRiYzUzOTdkNzJl
OGYwYzMxNzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmZv
bnQvc2xvdy1haGVtLWxvYWRpbmcuY2dpCkBAIC0wLDAgKzEsOCBAQAorIyEvdXNyL2Jpbi9wZXJs
IC13CisKK3ByaW50ICJDb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVxuIjsK
K3ByaW50ICJDYWNoZS1jb250cm9sOiBuby1jYWNoZSwgbm8tc3RvcmVcblxuIjsKK3NsZWVwKDEp
Oworb3BlbiBGSCwgIjwuLi8uLi8uLi9yZXNvdXJjZXMvQWhlbS50dGYiIG9yIGRpZTsKK3doaWxl
ICg8Rkg+KSB7IHByaW50OyB9CitjbG9zZSBGSDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>