<?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>71110</bug_id>
          
          <creation_ts>2011-10-28 04:40:38 -0700</creation_ts>
          <short_desc>Add per-script font preferences support in overridePreference</short_desc>
          <delta_ts>2011-11-02 09:41:10 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Matt Falkenhagen">falken</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bashi</cc>
    
    <cc>jshin</cc>
    
    <cc>tkent</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>492377</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Falkenhagen">falken</who>
    <bug_when>2011-10-28 04:40:38 -0700</bug_when>
    <thetext>Add per-script font preferences support in overridePreference.  

The motivation is that a layout test for per-script fonts is difficult, since each platform sets its own default per-script fonts and these don&apos;t affect DumpRenderTree, anyway.  If overridePreference supports per-script fonts settings, the layout test can do something like:

    // Set standard font for USCRIPT_ARABIC to Ahem.
    overridePreference(&quot;WebKitStandardFontMap&quot;, [ &quot;2&quot;, &quot;Ahem&quot; ]);

So a layout test like the one proposed in bug 67019 is simpler, since we don&apos;t have to be concerned with the default per-script fonts on each platform; we can just test that Ahem font is used, which is recommended for pixel tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492380</commentid>
    <comment_count>1</comment_count>
      <attachid>112849</attachid>
    <who name="Matt Falkenhagen">falken</who>
    <bug_when>2011-10-28 04:54:26 -0700</bug_when>
    <thetext>Created attachment 112849
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492381</commentid>
    <comment_count>2</comment_count>
    <who name="Matt Falkenhagen">falken</who>
    <bug_when>2011-10-28 05:00:57 -0700</bug_when>
    <thetext>Hi Tony,

Can you review this patch please?  It should enable a layout test for per-script font selection, which I&apos;ll upload in a subsequent patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492525</commentid>
    <comment_count>3</comment_count>
      <attachid>112849</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-10-28 10:50:04 -0700</bug_when>
    <thetext>Comment on attachment 112849
Patch

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

&gt; Tools/ChangeLog:9
&gt; +        // Set standard font for USCRIPT_ARABIC to Ahem.
&gt; +        overridePreference(&quot;WebKitStandardFontMap&quot;, [ &quot;2&quot;, &quot;Ahem&quot; ]);

I assume 2 is USCRIPT_ARABIC?  It would be nice if we could pass in strings (e.g., &quot;arabic&quot;) instead of magic numbers.  For example, what if a port doesn&apos;t use ICU (it looks like wince and brewmp don&apos;t use icu)?

&gt; Tools/DumpRenderTree/chromium/WebPreferences.h:52
&gt; +    // Map of UScriptCode to font such as USCRIPT_ARABIC
&gt; +    // to &quot;My Arabic Font&quot;.
&gt; +    WebKit::WebString standardFontMap[USCRIPT_CODE_LIMIT];

Can we use a HashMap instead of a statically allocated array?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493794</commentid>
    <comment_count>4</comment_count>
      <attachid>113141</attachid>
    <who name="Matt Falkenhagen">falken</who>
    <bug_when>2011-11-01 01:14:47 -0700</bug_when>
    <thetext>Created attachment 113141
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493795</commentid>
    <comment_count>5</comment_count>
    <who name="Matt Falkenhagen">falken</who>
    <bug_when>2011-11-01 01:20:30 -0700</bug_when>
    <thetext>(In reply to comment #3)

Thanks for the review.

&gt; (From update of attachment 112849 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=112849&amp;action=review
&gt; 
&gt; &gt; Tools/ChangeLog:9
&gt; &gt; +        // Set standard font for USCRIPT_ARABIC to Ahem.
&gt; &gt; +        overridePreference(&quot;WebKitStandardFontMap&quot;, [ &quot;2&quot;, &quot;Ahem&quot; ]);
&gt; 
&gt; I assume 2 is USCRIPT_ARABIC?  It would be nice if we could pass in strings (e.g., &quot;arabic&quot;) instead of magic numbers.  For example, what if a port doesn&apos;t use ICU (it looks like wince and brewmp don&apos;t use icu)?

I&apos;ve changed it to be a four-letter script name like &quot;Arab&quot;, &quot;Hans&quot;.  So, the other ports will need a mapping of these script names to script code since they can&apos;t use ICU directly.  Regardless of the port, WebKit settings uses UScriptCode from ICU for per-script fonts, so I think this makes sense for overridePreference. 

&gt; 
&gt; &gt; Tools/DumpRenderTree/chromium/WebPreferences.h:52
&gt; &gt; +    // Map of UScriptCode to font such as USCRIPT_ARABIC
&gt; &gt; +    // to &quot;My Arabic Font&quot;.
&gt; &gt; +    WebKit::WebString standardFontMap[USCRIPT_CODE_LIMIT];
&gt; 
&gt; Can we use a HashMap instead of a statically allocated array?

I&apos;ve changed it to a HashMap.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493968</commentid>
    <comment_count>6</comment_count>
      <attachid>113141</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-11-01 10:02:14 -0700</bug_when>
    <thetext>Comment on attachment 113141
Patch

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

&gt; Tools/DumpRenderTree/chromium/LayoutTestController.h:527
&gt; +    Vector&lt;WebKit::WebString&gt; cppVariantToWebStringArray(const CppVariant&amp; value);

Nit: Remove |value| from the declaration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494472</commentid>
    <comment_count>7</comment_count>
      <attachid>113283</attachid>
    <who name="Matt Falkenhagen">falken</who>
    <bug_when>2011-11-02 00:32:19 -0700</bug_when>
    <thetext>Created attachment 113283
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494473</commentid>
    <comment_count>8</comment_count>
    <who name="Matt Falkenhagen">falken</who>
    <bug_when>2011-11-02 00:33:42 -0700</bug_when>
    <thetext>(In reply to comment #6)

Thanks!

&gt; (From update of attachment 113141 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=113141&amp;action=review
&gt; 
&gt; &gt; Tools/DumpRenderTree/chromium/LayoutTestController.h:527
&gt; &gt; +    Vector&lt;WebKit::WebString&gt; cppVariantToWebStringArray(const CppVariant&amp; value);
&gt; 
&gt; Nit: Remove |value| from the declaration.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494669</commentid>
    <comment_count>9</comment_count>
      <attachid>113283</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-02 09:41:05 -0700</bug_when>
    <thetext>Comment on attachment 113283
patch for landing

Clearing flags on attachment: 113283

Committed r99070: &lt;http://trac.webkit.org/changeset/99070&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494670</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-02 09:41:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112849</attachid>
            <date>2011-10-28 04:54:26 -0700</date>
            <delta_ts>2011-11-01 01:14:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71110-20111028205425.patch</filename>
            <type>text/plain</type>
            <size>6888</size>
            <attacher name="Matt Falkenhagen">falken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg1MzIKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzYTY5OTFlZjA4M2I0YjBjZDM0YTVlNDMwZTZhNTNlYWE2
NGE5ZDg2Li41ZDhkNWNmNmI3YjU4OTUxMzRiNWMzNWZmYTgzOTllYzkwZWQwYzQ1IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAg
QEAKKzIwMTEtMTAtMjggIE1hdHQgRmFsa2VuaGFnZW4gIDxmYWxrZW5AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFtjaHJvbWl1bV0gQWRkIHBlci1zY3JpcHQgZm9udCBwcmVmZXJlbmNlcyBzdXBw
b3J0IGluIG92ZXJyaWRlUHJlZmVyZW5jZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzExMTAKKworICAgICAgICBUaGlzIGFsbG93cyBhIGxheW91dCB0
ZXN0IHRvIGRvIHNvbWV0aGluZyBsaWtlOgorCisgICAgICAgIC8vIFNldCBzdGFuZGFyZCBmb250
IGZvciBVU0NSSVBUX0FSQUJJQyB0byBBaGVtLgorICAgICAgICBvdmVycmlkZVByZWZlcmVuY2Uo
IldlYktpdFN0YW5kYXJkRm9udE1hcCIsIFsgIjIiLCAiQWhlbSIgXSk7CisKKyAgICAgICAgVGhp
cyBzaG91bGQgbWFrZSB3cml0aW5nIGEgbGF5b3V0IHRlc3QgZm9yIHBlci1zY3JpcHQgZm9udHMg
ZWFzaWVyLgorCisgICAgICAgIFRoaXMgY2hhbmdlIG9ubHkgYWZmZWN0cyB0aGUgQ2hyb21pdW0g
RHVtcFJlbmRlclRyZWUsIGJ1dCB0aGUgb3RoZXIKKyAgICAgICAgcGxhdGZvcm1zIHNob3VsZCBw
cm9iYWJseSBhbHNvIGhhdmUgYSBzaW1pbGFyIGNoYW5nZSBldmVudHVhbGx5LgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOiBhZGQKKyAgICAgICAgIldlYktpdFN0
YW5kYXJkRm9udE1hcCIga2V5IGZvciBvdmVycmlkZVByZWZlcmVuY2UKKyAgICAgICAgKExheW91
dFRlc3RDb250cm9sbGVyOjpjcHBWYXJpYW50VG9XZWJTdHJpbmdBcnJheSk6CisgICAgICAgIChM
YXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0Rm9udE1hcCk6CisgICAgICAgIChMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6b3ZlcnJpZGVQcmVmZXJlbmNlKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjph
cHBseVRvKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJQcmVmZXJlbmNl
cy5oOiBhZGQgc3RhbmRhcmRGb250TWFwIG1lbWJlcgorCiAyMDExLTEwLTI2ICBTYW0gV2Vpbmln
ICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIGluaXRpYWwgc2V0dGluZyB0byBXS0Jy
b3dzaW5nQ29udGV4dEdyb3VwCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKaW5kZXggYmM4Y2EyYzJmZGMwMWY3MjY0M2Q0
MzlmZTFjNGU0YTM1Yjk2Y2ZkMS4uM2Y3MDEwM2NiODk5NDEzZjAyYzE5Mzc1ZmM1NDZmNDBhNGM4
M2ZkNiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVz
dENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91
dFRlc3RDb250cm9sbGVyLmNwcApAQCAtMTM3Miw2ICsxMzcyLDM4IEBAIFdlYlN0cmluZyBMYXlv
dXRUZXN0Q29udHJvbGxlcjo6Y3BwVmFyaWFudFRvV2ViU3RyaW5nKGNvbnN0IENwcFZhcmlhbnQm
IHZhbHVlKQogICAgIHJldHVybiBXZWJTdHJpbmc6OmZyb21VVEY4KHZhbHVlLnRvU3RyaW5nKCkp
OwogfQogCitWZWN0b3I8V2ViU3RyaW5nPiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6Y3BwVmFyaWFu
dFRvV2ViU3RyaW5nQXJyYXkoY29uc3QgQ3BwVmFyaWFudCYgdmFsdWUpCit7CisgICAgaWYgKCF2
YWx1ZS5pc09iamVjdCgpKSB7CisgICAgICAgIGxvZ0Vycm9yVG9Db25zb2xlKCJJbnZhbGlkIHZh
bHVlIGZvciBwcmVmZXJlbmNlLiBFeHBlY3RlZCBvYmplY3QgdmFsdWUuIik7CisgICAgICAgIHJl
dHVybiBWZWN0b3I8V2ViU3RyaW5nPigpOworICAgIH0KKyAgICBWZWN0b3I8V2ViU3RyaW5nPiBy
ZXN1bHRWZWN0b3I7CisgICAgVmVjdG9yPHN0cmluZz4gc3RyaW5nVmVjdG9yID0gdmFsdWUudG9T
dHJpbmdWZWN0b3IoKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHN0cmluZ1ZlY3Rvci5z
aXplKCk7ICsraSkKKyAgICAgICAgcmVzdWx0VmVjdG9yLmFwcGVuZChXZWJTdHJpbmc6OmZyb21V
VEY4KHN0cmluZ1ZlY3RvcltpXS5jX3N0cigpKSk7CisgICAgcmV0dXJuIHJlc3VsdFZlY3RvcjsK
K30KKwordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0Rm9udE1hcChXZWJTdHJpbmcgbWFw
W10sIHNpemVfdCBtYXBMZW5ndGgsIGNvbnN0IFZlY3RvcjxXZWJTdHJpbmc+JiBkaWN0KQorewor
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbWFwTGVuZ3RoOyArK2kpCisgICAgICAgIG1hcFtp
XS5yZXNldCgpOworICAgIHNpemVfdCBpID0gMDsKKyAgICB3aGlsZSAoaSArIDEgPCBkaWN0LnNp
emUoKSkgeworICAgICAgICBjb25zdCBXZWJTdHJpbmcmIHNjcmlwdCA9IGRpY3RbaSsrXTsKKyAg
ICAgICAgY29uc3QgV2ViU3RyaW5nJiBmb250ID0gZGljdFtpKytdOworICAgICAgICBDcHBWYXJp
YW50IHNjcmlwdENwcFZhcmlhbnQ7CisgICAgICAgIHNjcmlwdENwcFZhcmlhbnQuc2V0KHNjcmlw
dC51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgaW50MzJfdCBjb2RlID0gY3BwVmFyaWFudFRvSW50
MzIoc2NyaXB0Q3BwVmFyaWFudCk7CisgICAgICAgIHNjcmlwdENwcFZhcmlhbnQuZnJlZURhdGEo
KTsKKyAgICAgICAgLy8gY3BwVmFyaWFudFRvSW50MzIgcmV0dXJucyAwICh3aGljaCBpcyBVU0NS
SVBUX0NPTU1PTikgb24gZmFpbHVyZSwKKyAgICAgICAgLy8gYW5kIHdlIGRvbid0IG5lZWQgdG8g
c3VwcG9ydCBVU0NSSVBUX0NPTU1PTiBwZXItc2NyaXB0IGZvbnQgYW55d2F5LgorICAgICAgICBp
ZiAoY29kZSA+IFVTQ1JJUFRfQ09NTU9OICYmIHN0YXRpY19jYXN0PHNpemVfdD4oY29kZSkgPCBt
YXBMZW5ndGgpCisgICAgICAgICAgICBtYXBbY29kZV0gPSBmb250OworICAgIH0KK30KKwogdm9p
ZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6b3ZlcnJpZGVQcmVmZXJlbmNlKGNvbnN0IENwcEFyZ3Vt
ZW50TGlzdCYgYXJndW1lbnRzLCBDcHBWYXJpYW50KiByZXN1bHQpCiB7CiAgICAgcmVzdWx0LT5z
ZXROdWxsKCk7CkBAIC0xMzkzLDYgKzE0MjUsOCBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVy
OjpvdmVycmlkZVByZWZlcmVuY2UoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmd1bWVudHMsCiAg
ICAgICAgIHByZWZzLT5jdXJzaXZlRm9udEZhbWlseSA9IGNwcFZhcmlhbnRUb1dlYlN0cmluZyh2
YWx1ZSk7CiAgICAgZWxzZSBpZiAoa2V5ID09ICJXZWJLaXRGYW50YXN5Rm9udCIpCiAgICAgICAg
IHByZWZzLT5mYW50YXN5Rm9udEZhbWlseSA9IGNwcFZhcmlhbnRUb1dlYlN0cmluZyh2YWx1ZSk7
CisgICAgZWxzZSBpZiAoa2V5ID09ICJXZWJLaXRTdGFuZGFyZEZvbnRNYXAiKQorICAgICAgICBz
ZXRGb250TWFwKHByZWZzLT5zdGFuZGFyZEZvbnRNYXAsIFVTQ1JJUFRfQ09ERV9MSU1JVCwgY3Bw
VmFyaWFudFRvV2ViU3RyaW5nQXJyYXkodmFsdWUpKTsKICAgICBlbHNlIGlmIChrZXkgPT0gIldl
YktpdERlZmF1bHRGb250U2l6ZSIpCiAgICAgICAgIHByZWZzLT5kZWZhdWx0Rm9udFNpemUgPSBj
cHBWYXJpYW50VG9JbnQzMih2YWx1ZSk7CiAgICAgZWxzZSBpZiAoa2V5ID09ICJXZWJLaXREZWZh
dWx0Rml4ZWRGb250U2l6ZSIpCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaAppbmRleCAwMWI2ZWNjNTViYmU3MWExY2I4MGMwOGI2
ZmU3YjQxNWU0NWEwNWY3Li4wYWQ5MmMzOTc4MzVkMDQwMzZiOTI1Mzg0MWUxMTkwNjhlZjFiMWVl
IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29u
dHJvbGxlci5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RD
b250cm9sbGVyLmgKQEAgLTUxNyw2ICs1MTcsMTQgQEAgcHJpdmF0ZToKICAgICBib29sIGNwcFZh
cmlhbnRUb0Jvb2woY29uc3QgQ3BwVmFyaWFudCYpOwogICAgIGludDMyX3QgY3BwVmFyaWFudFRv
SW50MzIoY29uc3QgQ3BwVmFyaWFudCYpOwogICAgIFdlYktpdDo6V2ViU3RyaW5nIGNwcFZhcmlh
bnRUb1dlYlN0cmluZyhjb25zdCBDcHBWYXJpYW50Jik7CisgICAgVmVjdG9yPFdlYktpdDo6V2Vi
U3RyaW5nPiBjcHBWYXJpYW50VG9XZWJTdHJpbmdBcnJheShjb25zdCBDcHBWYXJpYW50JiB2YWx1
ZSk7CisKKyAgICAvLyBTZXRzIGEgbWFwcGluZyBvZiBVU2NyaXB0Q29kZSB0byBmb250IHN1Y2gg
YXMgc3RhbmRhcmRGb250TWFwIGluCisgICAgLy8gV2ViUHJlZmVyZW5jZXMuIGRpY3QgaXMgYSBj
b2xsYXBzZWQgdmVjdG9yIG9mIHBhaXJzIG9mIHNjcmlwdCBjb2RlcworICAgIC8vIGFuZCBmb250
cyBzdWNoIGFzOgorICAgIC8vIHsgIjIiICwgIk15IEFyYWJpYyBGb250IiwgIjE0IiwgIk15IEdy
ZWVrIEZvbnQiIH0KKyAgICAvLyBOb3RlIHRoYXQgMiBpcyBVU0NSSVBUX0FSQUJJQyBhbmQgMTQg
aXMgVVNDUklQVF9HUkVFSy4KKyAgICB2b2lkIHNldEZvbnRNYXAoV2ViS2l0OjpXZWJTdHJpbmcg
bWFwW10sIHNpemVfdCBtYXBMZW5ndGgsIGNvbnN0IFZlY3RvcjxXZWJLaXQ6OldlYlN0cmluZz4m
IGRpY3QpOwogCiAgICAgdm9pZCBsb2dFcnJvclRvQ29uc29sZShjb25zdCBzdGQ6OnN0cmluZyYp
OwogICAgIHZvaWQgY29tcGxldGVOb3RpZnlEb25lKGJvb2wgaXNUaW1lb3V0KTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmNwcCBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmNwcAppbmRleCBiM2Uz
ZDhiYTUzNWExNjc1MjA3ZDQ4NTZmNzFlYjIzOGY1Y2I3MTEwLi5jY2Q5MTBhYmU5MWUzMmU5NjE2
YjhmMmM2MGE3MjllYjY4MzE5NGRmIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9XZWJQcmVmZXJlbmNlcy5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vV2ViUHJlZmVyZW5jZXMuY3BwCkBAIC0xMjcsNiArMTI3LDEyIEBAIHZvaWQgV2ViUHJl
ZmVyZW5jZXM6OmFwcGx5VG8oV2ViVmlldyogd2ViVmlldykKICAgICBzZXR0aW5ncy0+c2V0Rml4
ZWRGb250RmFtaWx5KGZpeGVkRm9udEZhbWlseSk7CiAgICAgc2V0dGluZ3MtPnNldFNhbnNTZXJp
ZkZvbnRGYW1pbHkoc2Fuc1NlcmlmRm9udEZhbWlseSk7CiAKKyAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IFVTQ1JJUFRfQ09ERV9MSU1JVDsgKytpKSB7CisgICAgICAgIGNvbnN0IFdlYktpdDo6
V2ViU3RyaW5nJiBmb250ID0gc3RhbmRhcmRGb250TWFwW2ldOworICAgICAgICBpZiAoIWZvbnQu
aXNOdWxsKCkgJiYgIWZvbnQuaXNFbXB0eSgpKQorICAgICAgICAgICAgc2V0dGluZ3MtPnNldFN0
YW5kYXJkRm9udEZhbWlseShmb250LCBzdGF0aWNfY2FzdDxVU2NyaXB0Q29kZT4oaSkpOworICAg
IH0KKwogICAgIHNldHRpbmdzLT5zZXREZWZhdWx0Rm9udFNpemUoZGVmYXVsdEZvbnRTaXplKTsK
ICAgICBzZXR0aW5ncy0+c2V0RGVmYXVsdEZpeGVkRm9udFNpemUoZGVmYXVsdEZpeGVkRm9udFNp
emUpOwogICAgIHNldHRpbmdzLT5zZXRNaW5pbXVtRm9udFNpemUobWluaW11bUZvbnRTaXplKTsK
QEAgLTE4Nyw0ICsxOTMsMyBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjphcHBseVRvKFdlYlZpZXcq
IHdlYlZpZXcpCiAgICAgc2V0dGluZ3MtPnNldEZ1bGxTY3JlZW5FbmFibGVkKHRydWUpOwogICAg
IHNldHRpbmdzLT5zZXRWYWxpZGF0aW9uTWVzc2FnZVRpbWVyTWFnbmlmaWNhdGlvbigtMSk7CiB9
Ci0KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVu
Y2VzLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJQcmVmZXJlbmNlcy5oCmlu
ZGV4IGI3MDFkYzA1NzNkYWEzZjQ0NTE4NzgxNTk1ZGZkMGJjMzYzNGYxMTAuLmM3NGE0YjYzMjlk
MzNmMjQ3ZjgyNTU0MTFmY2U1NzM5OTg2MzNjNGQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuaApAQCAtNDcsNiArNDcsMTAgQEAgc3RydWN0IFdl
YlByZWZlcmVuY2VzIHsKICAgICBXZWJLaXQ6OldlYlN0cmluZyBmaXhlZEZvbnRGYW1pbHk7CiAg
ICAgV2ViS2l0OjpXZWJTdHJpbmcgc2Fuc1NlcmlmRm9udEZhbWlseTsKIAorICAgIC8vIE1hcCBv
ZiBVU2NyaXB0Q29kZSB0byBmb250IHN1Y2ggYXMgVVNDUklQVF9BUkFCSUMKKyAgICAvLyB0byAi
TXkgQXJhYmljIEZvbnQiLgorICAgIFdlYktpdDo6V2ViU3RyaW5nIHN0YW5kYXJkRm9udE1hcFtV
U0NSSVBUX0NPREVfTElNSVRdOworCiAgICAgaW50IGRlZmF1bHRGb250U2l6ZTsKICAgICBpbnQg
ZGVmYXVsdEZpeGVkRm9udFNpemU7CiAgICAgaW50IG1pbmltdW1Gb250U2l6ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113141</attachid>
            <date>2011-11-01 01:14:47 -0700</date>
            <delta_ts>2011-11-02 00:32:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71110-20111101171446.patch</filename>
            <type>text/plain</type>
            <size>10891</size>
            <attacher name="Matt Falkenhagen">falken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg5MzUKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBmMTg5NmU0NDM1NTMyY2E0MjgzMTJjYTAyZTk5YjY4Mzdm
MDcwNDkzLi5kY2QyMzBmZWJmOTFjODJlZjRmODMzNTk1NDA2NmY3NjM1N2ZkYjk4IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEg
QEAKKzIwMTEtMTEtMDEgIE1hdHQgRmFsa2VuaGFnZW4gIDxmYWxrZW5AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFtjaHJvbWl1bV0gQWRkIHBlci1zY3JpcHQgZm9udCBwcmVmZXJlbmNlcyBzdXBw
b3J0IGluIG92ZXJyaWRlUHJlZmVyZW5jZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzExMTAKKworICAgICAgICBUaGlzIGFsbG93cyBhIGxheW91dCB0
ZXN0IHRvIGRvIHNvbWV0aGluZyBsaWtlOgorCisgICAgICAgIC8vIFNldCBzdGFuZGFyZCBmb250
IGZvciBBcmFiaWMgdG8gQWhlbS4KKyAgICAgICAgb3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRT
dGFuZGFyZEZvbnRNYXAiLCBbICJBcmFiIiwgIkFoZW0iIF0pOworCisgICAgICAgIFRoaXMgc2hv
dWxkIG1ha2Ugd3JpdGluZyBhIGxheW91dCB0ZXN0IGZvciBwZXItc2NyaXB0IGZvbnRzIGVhc2ll
ci4KKworICAgICAgICBUaGlzIGNoYW5nZSBvbmx5IGFmZmVjdHMgdGhlIENocm9taXVtIER1bXBS
ZW5kZXJUcmVlLCBidXQgdGhlIG90aGVyCisgICAgICAgIHBsYXRmb3JtcyBzaG91bGQgcHJvYmFi
bHkgYWxzbyBoYXZlIGEgc2ltaWxhciBjaGFuZ2UgZXZlbnR1YWxseS4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcDogYWRkIHBlci1zY3JpcHQKKyAgICAgICAgZm9u
dCBwcmVmZXJlbmNlcyB0byBvdmVycmlkZVByZWZlcmVuY2UKKyAgICAgICAgKExheW91dFRlc3RD
b250cm9sbGVyOjpjcHBWYXJpYW50VG9XZWJTdHJpbmdBcnJheSk6CisgICAgICAgIChzZXRGb250
TWFwKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpvdmVycmlkZVByZWZlcmVuY2Up
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVy
Lmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuY3Bw
OgorICAgICAgICAoc2V0U3RhbmRhcmRGb250RmFtaWx5V3JhcHBlcik6CisgICAgICAgIChzZXRG
aXhlZEZvbnRGYW1pbHlXcmFwcGVyKToKKyAgICAgICAgKHNldFNlcmlmRm9udEZhbWlseVdyYXBw
ZXIpOgorICAgICAgICAoc2V0U2Fuc1NlcmlmRm9udEZhbWlseVdyYXBwZXIpOgorICAgICAgICAo
c2V0Q3Vyc2l2ZUZvbnRGYW1pbHlXcmFwcGVyKToKKyAgICAgICAgKHNldEZhbnRhc3lGb250RmFt
aWx5V3JhcHBlcik6CisgICAgICAgIChhcHBseUZvbnRNYXApOgorICAgICAgICAoV2ViUHJlZmVy
ZW5jZXM6OmFwcGx5VG8pOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlBy
ZWZlcmVuY2VzLmg6IGFkZCBwZXItc2NyaXB0IGZvbnQKKyAgICAgICAgcHJlZmVyZW5jZSBtZW1i
ZXJzCisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6VVNjcmlwdENvZGVIYXNoVHJhaXRzOjplbXB0
eVZhbHVlKToKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpVU2NyaXB0Q29kZUhhc2hUcmFpdHM6
OmNvbnN0cnVjdERlbGV0ZWRWYWx1ZSk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6VVNjcmlw
dENvZGVIYXNoVHJhaXRzOjppc0RlbGV0ZWRWYWx1ZSk6CisKIDIwMTEtMTAtMzEgIEFkYW0gUm9i
ZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgTGVha3MgVmlld2VyIGxlc3Mg
c3RyaWN0IHdoZW4gcGFyc2luZyBsZWFrcy1yZWxhdGVkIG91dHB1dCBmcm9tIE5SV1QvT1JXVApk
aWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRy
b2xsZXIuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRy
b2xsZXIuY3BwCmluZGV4IDQzY2YwZDE0NzU1NjYwNWU3YzE3NzBmMmU1ZmNiMGYyOTZlZjQzOTYu
LjA1ODE2NTE2Y2FhNTEwZDUyOGE3OWQ5ZTI5ZWEyYTYxMjk2ZTA1ZjQgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAorKysg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAK
QEAgLTEzODYsNiArMTM4NiwzNiBAQCBXZWJTdHJpbmcgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmNw
cFZhcmlhbnRUb1dlYlN0cmluZyhjb25zdCBDcHBWYXJpYW50JiB2YWx1ZSkKICAgICByZXR1cm4g
V2ViU3RyaW5nOjpmcm9tVVRGOCh2YWx1ZS50b1N0cmluZygpKTsKIH0KIAorVmVjdG9yPFdlYlN0
cmluZz4gTGF5b3V0VGVzdENvbnRyb2xsZXI6OmNwcFZhcmlhbnRUb1dlYlN0cmluZ0FycmF5KGNv
bnN0IENwcFZhcmlhbnQmIHZhbHVlKQoreworICAgIGlmICghdmFsdWUuaXNPYmplY3QoKSkgewor
ICAgICAgICBsb2dFcnJvclRvQ29uc29sZSgiSW52YWxpZCB2YWx1ZSBmb3IgcHJlZmVyZW5jZS4g
RXhwZWN0ZWQgb2JqZWN0IHZhbHVlLiIpOworICAgICAgICByZXR1cm4gVmVjdG9yPFdlYlN0cmlu
Zz4oKTsKKyAgICB9CisgICAgVmVjdG9yPFdlYlN0cmluZz4gcmVzdWx0VmVjdG9yOworICAgIFZl
Y3RvcjxzdHJpbmc+IHN0cmluZ1ZlY3RvciA9IHZhbHVlLnRvU3RyaW5nVmVjdG9yKCk7CisgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBzdHJpbmdWZWN0b3Iuc2l6ZSgpOyArK2kpCisgICAgICAg
IHJlc3VsdFZlY3Rvci5hcHBlbmQoV2ViU3RyaW5nOjpmcm9tVVRGOChzdHJpbmdWZWN0b3JbaV0u
Y19zdHIoKSkpOworICAgIHJldHVybiByZXN1bHRWZWN0b3I7Cit9CisKKy8vIFNldHMgbWFwIGJh
c2VkIG9uIHNjcmlwdEZvbnRQYWlycywgYSBjb2xsYXBzZWQgdmVjdG9yIG9mIHBhaXJzIG9mIElT
TyAxNTkyNAorLy8gZm91ci1sZXR0ZXIgc2NyaXB0IGNvZGUgYW5kIGZvbnQgc3VjaCBhczoKKy8v
IHsgIkFyYWIiLCAiTXkgQXJhYmljIEZvbnQiLCAiR3JlayIsICJNeSBHcmVlayBGb250IiB9Citz
dGF0aWMgdm9pZCBzZXRGb250TWFwKFdlYlByZWZlcmVuY2VzOjpTY3JpcHRGb250RmFtaWx5TWFw
JiBtYXAsIGNvbnN0IFZlY3RvcjxXZWJTdHJpbmc+JiBzY3JpcHRGb250UGFpcnMpCit7CisgICAg
bWFwLmNsZWFyKCk7CisgICAgc2l6ZV90IGkgPSAwOworICAgIHdoaWxlIChpICsgMSA8IHNjcmlw
dEZvbnRQYWlycy5zaXplKCkpIHsKKyAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBzY3JpcHQgPSBz
Y3JpcHRGb250UGFpcnNbaSsrXTsKKyAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBmb250ID0gc2Ny
aXB0Rm9udFBhaXJzW2krK107CisKKyAgICAgICAgaW50MzJfdCBjb2RlID0gdV9nZXRQcm9wZXJ0
eVZhbHVlRW51bShVQ0hBUl9TQ1JJUFQsIHNjcmlwdC51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAg
aWYgKGNvZGUgPj0gMCAmJiBjb2RlIDwgVVNDUklQVF9DT0RFX0xJTUlUKQorICAgICAgICAgICAg
bWFwLnNldChzdGF0aWNfY2FzdDxpbnQ+KGNvZGUpLCBmb250KTsKKyAgICB9Cit9CisKIHZvaWQg
TGF5b3V0VGVzdENvbnRyb2xsZXI6Om92ZXJyaWRlUHJlZmVyZW5jZShjb25zdCBDcHBBcmd1bWVu
dExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudCogcmVzdWx0KQogewogICAgIHJlc3VsdC0+c2V0
TnVsbCgpOwpAQCAtMTQwNyw2ICsxNDM3LDE4IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6
Om92ZXJyaWRlUHJlZmVyZW5jZShjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywKICAg
ICAgICAgcHJlZnMtPmN1cnNpdmVGb250RmFtaWx5ID0gY3BwVmFyaWFudFRvV2ViU3RyaW5nKHZh
bHVlKTsKICAgICBlbHNlIGlmIChrZXkgPT0gIldlYktpdEZhbnRhc3lGb250IikKICAgICAgICAg
cHJlZnMtPmZhbnRhc3lGb250RmFtaWx5ID0gY3BwVmFyaWFudFRvV2ViU3RyaW5nKHZhbHVlKTsK
KyAgICBlbHNlIGlmIChrZXkgPT0gIldlYktpdFN0YW5kYXJkRm9udE1hcCIpCisgICAgICAgIHNl
dEZvbnRNYXAocHJlZnMtPnN0YW5kYXJkRm9udE1hcCwgY3BwVmFyaWFudFRvV2ViU3RyaW5nQXJy
YXkodmFsdWUpKTsKKyAgICBlbHNlIGlmIChrZXkgPT0gIldlYktpdEZpeGVkRm9udE1hcCIpCisg
ICAgICAgIHNldEZvbnRNYXAocHJlZnMtPmZpeGVkRm9udE1hcCwgY3BwVmFyaWFudFRvV2ViU3Ry
aW5nQXJyYXkodmFsdWUpKTsKKyAgICBlbHNlIGlmIChrZXkgPT0gIldlYktpdFNlcmlmRm9udE1h
cCIpCisgICAgICAgIHNldEZvbnRNYXAocHJlZnMtPnNlcmlmRm9udE1hcCwgY3BwVmFyaWFudFRv
V2ViU3RyaW5nQXJyYXkodmFsdWUpKTsKKyAgICBlbHNlIGlmIChrZXkgPT0gIldlYktpdFNhbnNT
ZXJpZkZvbnRNYXAiKQorICAgICAgICBzZXRGb250TWFwKHByZWZzLT5zYW5zU2VyaWZGb250TWFw
LCBjcHBWYXJpYW50VG9XZWJTdHJpbmdBcnJheSh2YWx1ZSkpOworICAgIGVsc2UgaWYgKGtleSA9
PSAiV2ViS2l0Q3Vyc2l2ZUZvbnRNYXAiKQorICAgICAgICBzZXRGb250TWFwKHByZWZzLT5jdXJz
aXZlRm9udE1hcCwgY3BwVmFyaWFudFRvV2ViU3RyaW5nQXJyYXkodmFsdWUpKTsKKyAgICBlbHNl
IGlmIChrZXkgPT0gIldlYktpdEZhbnRhc3lGb250TWFwIikKKyAgICAgICAgc2V0Rm9udE1hcChw
cmVmcy0+ZmFudGFzeUZvbnRNYXAsIGNwcFZhcmlhbnRUb1dlYlN0cmluZ0FycmF5KHZhbHVlKSk7
CiAgICAgZWxzZSBpZiAoa2V5ID09ICJXZWJLaXREZWZhdWx0Rm9udFNpemUiKQogICAgICAgICBw
cmVmcy0+ZGVmYXVsdEZvbnRTaXplID0gY3BwVmFyaWFudFRvSW50MzIodmFsdWUpOwogICAgIGVs
c2UgaWYgKGtleSA9PSAiV2ViS2l0RGVmYXVsdEZpeGVkRm9udFNpemUiKQpkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaCBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmgKaW5kZXgg
ZDNkNGYxMjJiYWIyM2Q4OTE1OWI4ODQ0OGU0Yzk5NGY5NzA1MDg3OS4uMzY3ZmQ1YzYwMjRhYzlj
YWRlYzVhNTE1NWUyODM2NmY4OWU1ZjUwYSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaAorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCkBAIC01MjQsNiArNTI0LDcgQEAg
cHJpdmF0ZToKICAgICBib29sIGNwcFZhcmlhbnRUb0Jvb2woY29uc3QgQ3BwVmFyaWFudCYpOwog
ICAgIGludDMyX3QgY3BwVmFyaWFudFRvSW50MzIoY29uc3QgQ3BwVmFyaWFudCYpOwogICAgIFdl
YktpdDo6V2ViU3RyaW5nIGNwcFZhcmlhbnRUb1dlYlN0cmluZyhjb25zdCBDcHBWYXJpYW50Jik7
CisgICAgVmVjdG9yPFdlYktpdDo6V2ViU3RyaW5nPiBjcHBWYXJpYW50VG9XZWJTdHJpbmdBcnJh
eShjb25zdCBDcHBWYXJpYW50JiB2YWx1ZSk7CiAKICAgICB2b2lkIGxvZ0Vycm9yVG9Db25zb2xl
KGNvbnN0IHN0ZDo6c3RyaW5nJik7CiAgICAgdm9pZCBjb21wbGV0ZU5vdGlmeURvbmUoYm9vbCBp
c1RpbWVvdXQpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2Vi
UHJlZmVyZW5jZXMuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJlZmVy
ZW5jZXMuY3BwCmluZGV4IGIzZTNkOGJhNTM1YTE2NzUyMDdkNDg1NmY3MWViMjM4ZjVjYjcxMTAu
LmI3YmMwNjM1OTU4N2Q3MTdhYmU2Njc1OTk0YzM2NDJhMTA0NDEwOGQgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmNwcAorKysgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJQcmVmZXJlbmNlcy5jcHAKQEAgLTExNywxNSAr
MTE3LDYzIEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6OnJlc2V0KCkKICAgICBoaXhpZTc2V2ViU29j
a2V0UHJvdG9jb2xFbmFibGVkID0gdHJ1ZTsKIH0KIAorc3RhdGljIHZvaWQgc2V0U3RhbmRhcmRG
b250RmFtaWx5V3JhcHBlcihXZWJTZXR0aW5ncyogc2V0dGluZ3MsIGNvbnN0IFdlYktpdDo6V2Vi
U3RyaW5nJiBmb250LCBVU2NyaXB0Q29kZSBzY3JpcHQpCit7CisgICAgc2V0dGluZ3MtPnNldFN0
YW5kYXJkRm9udEZhbWlseShmb250LCBzY3JpcHQpOworfQorCitzdGF0aWMgdm9pZCBzZXRGaXhl
ZEZvbnRGYW1pbHlXcmFwcGVyKFdlYlNldHRpbmdzKiBzZXR0aW5ncywgY29uc3QgV2ViS2l0OjpX
ZWJTdHJpbmcmIGZvbnQsIFVTY3JpcHRDb2RlIHNjcmlwdCkKK3sKKyAgICBzZXR0aW5ncy0+c2V0
Rml4ZWRGb250RmFtaWx5KGZvbnQsIHNjcmlwdCk7Cit9CisKK3N0YXRpYyB2b2lkIHNldFNlcmlm
Rm9udEZhbWlseVdyYXBwZXIoV2ViU2V0dGluZ3MqIHNldHRpbmdzLCBjb25zdCBXZWJLaXQ6Oldl
YlN0cmluZyYgZm9udCwgVVNjcmlwdENvZGUgc2NyaXB0KQoreworICAgIHNldHRpbmdzLT5zZXRT
ZXJpZkZvbnRGYW1pbHkoZm9udCwgc2NyaXB0KTsKK30KKworc3RhdGljIHZvaWQgc2V0U2Fuc1Nl
cmlmRm9udEZhbWlseVdyYXBwZXIoV2ViU2V0dGluZ3MqIHNldHRpbmdzLCBjb25zdCBXZWJLaXQ6
OldlYlN0cmluZyYgZm9udCwgVVNjcmlwdENvZGUgc2NyaXB0KQoreworICAgIHNldHRpbmdzLT5z
ZXRTYW5zU2VyaWZGb250RmFtaWx5KGZvbnQsIHNjcmlwdCk7Cit9CisKK3N0YXRpYyB2b2lkIHNl
dEN1cnNpdmVGb250RmFtaWx5V3JhcHBlcihXZWJTZXR0aW5ncyogc2V0dGluZ3MsIGNvbnN0IFdl
YktpdDo6V2ViU3RyaW5nJiBmb250LCBVU2NyaXB0Q29kZSBzY3JpcHQpCit7CisgICAgc2V0dGlu
Z3MtPnNldEN1cnNpdmVGb250RmFtaWx5KGZvbnQsIHNjcmlwdCk7Cit9CisKK3N0YXRpYyB2b2lk
IHNldEZhbnRhc3lGb250RmFtaWx5V3JhcHBlcihXZWJTZXR0aW5ncyogc2V0dGluZ3MsIGNvbnN0
IFdlYktpdDo6V2ViU3RyaW5nJiBmb250LCBVU2NyaXB0Q29kZSBzY3JpcHQpCit7CisgICAgc2V0
dGluZ3MtPnNldEZhbnRhc3lGb250RmFtaWx5KGZvbnQsIHNjcmlwdCk7Cit9CisKK3R5cGVkZWYg
dm9pZCAoKlNldEZvbnRGYW1pbHlXcmFwcGVyKShXZWJTZXR0aW5ncyosIGNvbnN0IFdlYlN0cmlu
ZyYsIFVTY3JpcHRDb2RlKTsKKworc3RhdGljIHZvaWQgYXBwbHlGb250TWFwKFdlYlNldHRpbmdz
KiBzZXR0aW5ncywgY29uc3QgV2ViUHJlZmVyZW5jZXM6OlNjcmlwdEZvbnRGYW1pbHlNYXAmIG1h
cCwgU2V0Rm9udEZhbWlseVdyYXBwZXIgc2V0dGVyKQoreworICAgIGZvciAoV2ViUHJlZmVyZW5j
ZXM6OlNjcmlwdEZvbnRGYW1pbHlNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ZXIgPSBtYXAuYmVnaW4o
KTsgaXRlciAhPSBtYXAuZW5kKCk7ICsraXRlcikgeworICAgICAgICBjb25zdCBXZWJTdHJpbmcm
IGZvbnQgPSBpdGVyLT5zZWNvbmQ7CisgICAgICAgIGlmICghZm9udC5pc051bGwoKSAmJiAhZm9u
dC5pc0VtcHR5KCkpCisgICAgICAgICAgICAoKnNldHRlcikoc2V0dGluZ3MsIGZvbnQsIHN0YXRp
Y19jYXN0PFVTY3JpcHRDb2RlPihpdGVyLT5maXJzdCkpOworICAgIH0KK30KKwogdm9pZCBXZWJQ
cmVmZXJlbmNlczo6YXBwbHlUbyhXZWJWaWV3KiB3ZWJWaWV3KQogewogICAgIFdlYlNldHRpbmdz
KiBzZXR0aW5ncyA9IHdlYlZpZXctPnNldHRpbmdzKCk7Ci0gICAgc2V0dGluZ3MtPnNldEN1cnNp
dmVGb250RmFtaWx5KGN1cnNpdmVGb250RmFtaWx5KTsKLSAgICBzZXR0aW5ncy0+c2V0RmFudGFz
eUZvbnRGYW1pbHkoZmFudGFzeUZvbnRGYW1pbHkpOwotICAgIHNldHRpbmdzLT5zZXRTZXJpZkZv
bnRGYW1pbHkoc2VyaWZGb250RmFtaWx5KTsKICAgICBzZXR0aW5ncy0+c2V0U3RhbmRhcmRGb250
RmFtaWx5KHN0YW5kYXJkRm9udEZhbWlseSk7CiAgICAgc2V0dGluZ3MtPnNldEZpeGVkRm9udEZh
bWlseShmaXhlZEZvbnRGYW1pbHkpOworICAgIHNldHRpbmdzLT5zZXRTZXJpZkZvbnRGYW1pbHko
c2VyaWZGb250RmFtaWx5KTsKICAgICBzZXR0aW5ncy0+c2V0U2Fuc1NlcmlmRm9udEZhbWlseShz
YW5zU2VyaWZGb250RmFtaWx5KTsKKyAgICBzZXR0aW5ncy0+c2V0Q3Vyc2l2ZUZvbnRGYW1pbHko
Y3Vyc2l2ZUZvbnRGYW1pbHkpOworICAgIHNldHRpbmdzLT5zZXRGYW50YXN5Rm9udEZhbWlseShm
YW50YXN5Rm9udEZhbWlseSk7CisKKyAgICBhcHBseUZvbnRNYXAoc2V0dGluZ3MsIHN0YW5kYXJk
Rm9udE1hcCwgc2V0U3RhbmRhcmRGb250RmFtaWx5V3JhcHBlcik7CisgICAgYXBwbHlGb250TWFw
KHNldHRpbmdzLCBmaXhlZEZvbnRNYXAsIHNldEZpeGVkRm9udEZhbWlseVdyYXBwZXIpOworICAg
IGFwcGx5Rm9udE1hcChzZXR0aW5ncywgc2VyaWZGb250TWFwLCBzZXRTZXJpZkZvbnRGYW1pbHlX
cmFwcGVyKTsKKyAgICBhcHBseUZvbnRNYXAoc2V0dGluZ3MsIHNhbnNTZXJpZkZvbnRNYXAsIHNl
dFNhbnNTZXJpZkZvbnRGYW1pbHlXcmFwcGVyKTsKKyAgICBhcHBseUZvbnRNYXAoc2V0dGluZ3Ms
IGN1cnNpdmVGb250TWFwLCBzZXRDdXJzaXZlRm9udEZhbWlseVdyYXBwZXIpOworICAgIGFwcGx5
Rm9udE1hcChzZXR0aW5ncywgZmFudGFzeUZvbnRNYXAsIHNldEZhbnRhc3lGb250RmFtaWx5V3Jh
cHBlcik7CiAKICAgICBzZXR0aW5ncy0+c2V0RGVmYXVsdEZvbnRTaXplKGRlZmF1bHRGb250U2l6
ZSk7CiAgICAgc2V0dGluZ3MtPnNldERlZmF1bHRGaXhlZEZvbnRTaXplKGRlZmF1bHRGaXhlZEZv
bnRTaXplKTsKQEAgLTE4Nyw0ICsyMzUsMyBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjphcHBseVRv
KFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgc2V0dGluZ3MtPnNldEZ1bGxTY3JlZW5FbmFibGVkKHRy
dWUpOwogICAgIHNldHRpbmdzLT5zZXRWYWxpZGF0aW9uTWVzc2FnZVRpbWVyTWFnbmlmaWNhdGlv
bigtMSk7CiB9Ci0KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dl
YlByZWZlcmVuY2VzLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJQcmVmZXJl
bmNlcy5oCmluZGV4IGI3MDFkYzA1NzNkYWEzZjQ0NTE4NzgxNTk1ZGZkMGJjMzYzNGYxMTAuLjUx
OGY0NWE5YzZhNDY0YjBhZWFkOTFmNmYwMTBiOTcyOTMxNTI3MzMgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmgKKysrIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuaApAQCAtMzQsMTggKzM0LDM4IEBA
CiAjaW5jbHVkZSAiV2ViU2V0dGluZ3MuaCIKICNpbmNsdWRlICJXZWJTdHJpbmcuaCIKICNpbmNs
dWRlICJXZWJVUkwuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIGNsYXNzIFdlYlZpZXc7CiB9CiAKIHN0cnVjdCBXZWJQcmVmZXJlbmNlcyB7Ci0gICAg
V2ViS2l0OjpXZWJTdHJpbmcgY3Vyc2l2ZUZvbnRGYW1pbHk7Ci0gICAgV2ViS2l0OjpXZWJTdHJp
bmcgZmFudGFzeUZvbnRGYW1pbHk7Ci0gICAgV2ViS2l0OjpXZWJTdHJpbmcgc2VyaWZGb250RmFt
aWx5OwogICAgIFdlYktpdDo6V2ViU3RyaW5nIHN0YW5kYXJkRm9udEZhbWlseTsKICAgICBXZWJL
aXQ6OldlYlN0cmluZyBmaXhlZEZvbnRGYW1pbHk7CisgICAgV2ViS2l0OjpXZWJTdHJpbmcgc2Vy
aWZGb250RmFtaWx5OwogICAgIFdlYktpdDo6V2ViU3RyaW5nIHNhbnNTZXJpZkZvbnRGYW1pbHk7
CisgICAgV2ViS2l0OjpXZWJTdHJpbmcgY3Vyc2l2ZUZvbnRGYW1pbHk7CisgICAgV2ViS2l0OjpX
ZWJTdHJpbmcgZmFudGFzeUZvbnRGYW1pbHk7CisKKyAgICAvLyBVU2NyaXB0Q29kZSB1c2VzIC0x
IGFuZCAwIGZvciBVU2NyaXB0SW52YWxpZENvZGUgYW5kIFVTY3JpcHRDb21tb24uCisgICAgLy8g
V2UgbmVlZCB0byB1c2UgLTIgYW5kIC0zIGZvciBlbXB0eSB2YWx1ZSBhbmQgZGVsZXRlZCB2YWx1
ZS4KKyAgICAvLyAoU2VlIFdlYkNvcmU6OlNjcmlwdEZvbnRGYW1pbHlNYXApCisgICAgc3RydWN0
IFVTY3JpcHRDb2RlSGFzaFRyYWl0cyA6IFdURjo6R2VuZXJpY0hhc2hUcmFpdHM8aW50PiB7Cisg
ICAgICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSBmYWxzZTsKKyAgICAg
ICAgc3RhdGljIGludCBlbXB0eVZhbHVlKCkgeyByZXR1cm4gLTI7IH0KKyAgICAgICAgc3RhdGlj
IHZvaWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKGludCYgc2xvdCkgeyBzbG90ID0gLTM7IH0KKyAg
ICAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoaW50IHZhbHVlKSB7IHJldHVybiB2YWx1
ZSA9PSAtMzsgfQorICAgIH07CisKKyAgICAvLyBNYXAgb2YgVVNjcmlwdENvZGUgdG8gZm9udCBz
dWNoIGFzIFVTQ1JJUFRfQVJBQklDIHRvICJNeSBBcmFiaWMgRm9udCIuCisgICAgdHlwZWRlZiBI
YXNoTWFwPGludCwgV2ViS2l0OjpXZWJTdHJpbmcsIERlZmF1bHRIYXNoPGludD46Okhhc2gsIFVT
Y3JpcHRDb2RlSGFzaFRyYWl0cz4gU2NyaXB0Rm9udEZhbWlseU1hcDsKKyAgICBTY3JpcHRGb250
RmFtaWx5TWFwIHN0YW5kYXJkRm9udE1hcDsKKyAgICBTY3JpcHRGb250RmFtaWx5TWFwIGZpeGVk
Rm9udE1hcDsKKyAgICBTY3JpcHRGb250RmFtaWx5TWFwIHNlcmlmRm9udE1hcDsKKyAgICBTY3Jp
cHRGb250RmFtaWx5TWFwIHNhbnNTZXJpZkZvbnRNYXA7CisgICAgU2NyaXB0Rm9udEZhbWlseU1h
cCBjdXJzaXZlRm9udE1hcDsKKyAgICBTY3JpcHRGb250RmFtaWx5TWFwIGZhbnRhc3lGb250TWFw
OwogCiAgICAgaW50IGRlZmF1bHRGb250U2l6ZTsKICAgICBpbnQgZGVmYXVsdEZpeGVkRm9udFNp
emU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113283</attachid>
            <date>2011-11-02 00:32:19 -0700</date>
            <delta_ts>2011-11-02 09:41:05 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>bug-71110-20111102163218.patch</filename>
            <type>text/plain</type>
            <size>10887</size>
            <attacher name="Matt Falkenhagen">falken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkwMDMKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhZjQzMGU0MDMzNzI0ZGRlMDI1YTM0NzJkYWVkMjk4OGVi
ZWI3OThkLi5iMzRiNGY2MDJhN2I5NDU5NTczMTdjZmJjZDAyYzhhNTM5OTVmNDllIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEg
QEAKKzIwMTEtMTEtMDIgIE1hdHQgRmFsa2VuaGFnZW4gIDxmYWxrZW5AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFtjaHJvbWl1bV0gQWRkIHBlci1zY3JpcHQgZm9udCBwcmVmZXJlbmNlcyBzdXBw
b3J0IGluIG92ZXJyaWRlUHJlZmVyZW5jZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzExMTAKKworICAgICAgICBUaGlzIGFsbG93cyBhIGxheW91dCB0
ZXN0IHRvIGRvIHNvbWV0aGluZyBsaWtlOgorCisgICAgICAgIC8vIFNldCBzdGFuZGFyZCBmb250
IGZvciBBcmFiaWMgdG8gQWhlbS4KKyAgICAgICAgb3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRT
dGFuZGFyZEZvbnRNYXAiLCBbICJBcmFiIiwgIkFoZW0iIF0pOworCisgICAgICAgIFRoaXMgc2hv
dWxkIG1ha2Ugd3JpdGluZyBhIGxheW91dCB0ZXN0IGZvciBwZXItc2NyaXB0IGZvbnRzIGVhc2ll
ci4KKworICAgICAgICBUaGlzIGNoYW5nZSBvbmx5IGFmZmVjdHMgdGhlIENocm9taXVtIER1bXBS
ZW5kZXJUcmVlLCBidXQgdGhlIG90aGVyCisgICAgICAgIHBsYXRmb3JtcyBzaG91bGQgcHJvYmFi
bHkgYWxzbyBoYXZlIGEgc2ltaWxhciBjaGFuZ2UgZXZlbnR1YWxseS4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcDogYWRkIHBlci1zY3JpcHQKKyAgICAgICAgZm9u
dCBwcmVmZXJlbmNlcyB0byBvdmVycmlkZVByZWZlcmVuY2UKKyAgICAgICAgKExheW91dFRlc3RD
b250cm9sbGVyOjpjcHBWYXJpYW50VG9XZWJTdHJpbmdBcnJheSk6CisgICAgICAgIChzZXRGb250
TWFwKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpvdmVycmlkZVByZWZlcmVuY2Up
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVy
Lmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuY3Bw
OgorICAgICAgICAoc2V0U3RhbmRhcmRGb250RmFtaWx5V3JhcHBlcik6CisgICAgICAgIChzZXRG
aXhlZEZvbnRGYW1pbHlXcmFwcGVyKToKKyAgICAgICAgKHNldFNlcmlmRm9udEZhbWlseVdyYXBw
ZXIpOgorICAgICAgICAoc2V0U2Fuc1NlcmlmRm9udEZhbWlseVdyYXBwZXIpOgorICAgICAgICAo
c2V0Q3Vyc2l2ZUZvbnRGYW1pbHlXcmFwcGVyKToKKyAgICAgICAgKHNldEZhbnRhc3lGb250RmFt
aWx5V3JhcHBlcik6CisgICAgICAgIChhcHBseUZvbnRNYXApOgorICAgICAgICAoV2ViUHJlZmVy
ZW5jZXM6OmFwcGx5VG8pOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlBy
ZWZlcmVuY2VzLmg6IGFkZCBwZXItc2NyaXB0IGZvbnQKKyAgICAgICAgcHJlZmVyZW5jZSBtZW1i
ZXJzCisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6VVNjcmlwdENvZGVIYXNoVHJhaXRzOjplbXB0
eVZhbHVlKToKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpVU2NyaXB0Q29kZUhhc2hUcmFpdHM6
OmNvbnN0cnVjdERlbGV0ZWRWYWx1ZSk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6VVNjcmlw
dENvZGVIYXNoVHJhaXRzOjppc0RlbGV0ZWRWYWx1ZSk6CisKIDIwMTEtMTEtMDEgIEVsbGlvdCBQ
b2dlciAgPGVwb2dlckBnb29nbGUuY29tPgogCiAgICAgICAgIGNocm9taXVtLWdwdSBwb3J0IHNo
b3VsZCBkZWZhdWx0IHRvIGNocm9taXVtLWdwdS1tYWMsIG5vdCBjaHJvbWl1bS1ncHUtY2ctbWFj
CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29u
dHJvbGxlci5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29u
dHJvbGxlci5jcHAKaW5kZXggNDNjZjBkMTQ3NTU2NjA1ZTdjMTc3MGYyZTVmY2IwZjI5NmVmNDM5
Ni4uMDU4MTY1MTZjYWE1MTBkNTI4YTc5ZDllMjllYTJhNjEyOTZlMDVmNCAxMDA2NDQKLS0tIGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNw
cApAQCAtMTM4Niw2ICsxMzg2LDM2IEBAIFdlYlN0cmluZyBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
Y3BwVmFyaWFudFRvV2ViU3RyaW5nKGNvbnN0IENwcFZhcmlhbnQmIHZhbHVlKQogICAgIHJldHVy
biBXZWJTdHJpbmc6OmZyb21VVEY4KHZhbHVlLnRvU3RyaW5nKCkpOwogfQogCitWZWN0b3I8V2Vi
U3RyaW5nPiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6Y3BwVmFyaWFudFRvV2ViU3RyaW5nQXJyYXko
Y29uc3QgQ3BwVmFyaWFudCYgdmFsdWUpCit7CisgICAgaWYgKCF2YWx1ZS5pc09iamVjdCgpKSB7
CisgICAgICAgIGxvZ0Vycm9yVG9Db25zb2xlKCJJbnZhbGlkIHZhbHVlIGZvciBwcmVmZXJlbmNl
LiBFeHBlY3RlZCBvYmplY3QgdmFsdWUuIik7CisgICAgICAgIHJldHVybiBWZWN0b3I8V2ViU3Ry
aW5nPigpOworICAgIH0KKyAgICBWZWN0b3I8V2ViU3RyaW5nPiByZXN1bHRWZWN0b3I7CisgICAg
VmVjdG9yPHN0cmluZz4gc3RyaW5nVmVjdG9yID0gdmFsdWUudG9TdHJpbmdWZWN0b3IoKTsKKyAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHN0cmluZ1ZlY3Rvci5zaXplKCk7ICsraSkKKyAgICAg
ICAgcmVzdWx0VmVjdG9yLmFwcGVuZChXZWJTdHJpbmc6OmZyb21VVEY4KHN0cmluZ1ZlY3Rvcltp
XS5jX3N0cigpKSk7CisgICAgcmV0dXJuIHJlc3VsdFZlY3RvcjsKK30KKworLy8gU2V0cyBtYXAg
YmFzZWQgb24gc2NyaXB0Rm9udFBhaXJzLCBhIGNvbGxhcHNlZCB2ZWN0b3Igb2YgcGFpcnMgb2Yg
SVNPIDE1OTI0CisvLyBmb3VyLWxldHRlciBzY3JpcHQgY29kZSBhbmQgZm9udCBzdWNoIGFzOgor
Ly8geyAiQXJhYiIsICJNeSBBcmFiaWMgRm9udCIsICJHcmVrIiwgIk15IEdyZWVrIEZvbnQiIH0K
K3N0YXRpYyB2b2lkIHNldEZvbnRNYXAoV2ViUHJlZmVyZW5jZXM6OlNjcmlwdEZvbnRGYW1pbHlN
YXAmIG1hcCwgY29uc3QgVmVjdG9yPFdlYlN0cmluZz4mIHNjcmlwdEZvbnRQYWlycykKK3sKKyAg
ICBtYXAuY2xlYXIoKTsKKyAgICBzaXplX3QgaSA9IDA7CisgICAgd2hpbGUgKGkgKyAxIDwgc2Ny
aXB0Rm9udFBhaXJzLnNpemUoKSkgeworICAgICAgICBjb25zdCBXZWJTdHJpbmcmIHNjcmlwdCA9
IHNjcmlwdEZvbnRQYWlyc1tpKytdOworICAgICAgICBjb25zdCBXZWJTdHJpbmcmIGZvbnQgPSBz
Y3JpcHRGb250UGFpcnNbaSsrXTsKKworICAgICAgICBpbnQzMl90IGNvZGUgPSB1X2dldFByb3Bl
cnR5VmFsdWVFbnVtKFVDSEFSX1NDUklQVCwgc2NyaXB0LnV0ZjgoKS5kYXRhKCkpOworICAgICAg
ICBpZiAoY29kZSA+PSAwICYmIGNvZGUgPCBVU0NSSVBUX0NPREVfTElNSVQpCisgICAgICAgICAg
ICBtYXAuc2V0KHN0YXRpY19jYXN0PGludD4oY29kZSksIGZvbnQpOworICAgIH0KK30KKwogdm9p
ZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6b3ZlcnJpZGVQcmVmZXJlbmNlKGNvbnN0IENwcEFyZ3Vt
ZW50TGlzdCYgYXJndW1lbnRzLCBDcHBWYXJpYW50KiByZXN1bHQpCiB7CiAgICAgcmVzdWx0LT5z
ZXROdWxsKCk7CkBAIC0xNDA3LDYgKzE0MzcsMTggQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxl
cjo6b3ZlcnJpZGVQcmVmZXJlbmNlKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYgYXJndW1lbnRzLAog
ICAgICAgICBwcmVmcy0+Y3Vyc2l2ZUZvbnRGYW1pbHkgPSBjcHBWYXJpYW50VG9XZWJTdHJpbmco
dmFsdWUpOwogICAgIGVsc2UgaWYgKGtleSA9PSAiV2ViS2l0RmFudGFzeUZvbnQiKQogICAgICAg
ICBwcmVmcy0+ZmFudGFzeUZvbnRGYW1pbHkgPSBjcHBWYXJpYW50VG9XZWJTdHJpbmcodmFsdWUp
OworICAgIGVsc2UgaWYgKGtleSA9PSAiV2ViS2l0U3RhbmRhcmRGb250TWFwIikKKyAgICAgICAg
c2V0Rm9udE1hcChwcmVmcy0+c3RhbmRhcmRGb250TWFwLCBjcHBWYXJpYW50VG9XZWJTdHJpbmdB
cnJheSh2YWx1ZSkpOworICAgIGVsc2UgaWYgKGtleSA9PSAiV2ViS2l0Rml4ZWRGb250TWFwIikK
KyAgICAgICAgc2V0Rm9udE1hcChwcmVmcy0+Zml4ZWRGb250TWFwLCBjcHBWYXJpYW50VG9XZWJT
dHJpbmdBcnJheSh2YWx1ZSkpOworICAgIGVsc2UgaWYgKGtleSA9PSAiV2ViS2l0U2VyaWZGb250
TWFwIikKKyAgICAgICAgc2V0Rm9udE1hcChwcmVmcy0+c2VyaWZGb250TWFwLCBjcHBWYXJpYW50
VG9XZWJTdHJpbmdBcnJheSh2YWx1ZSkpOworICAgIGVsc2UgaWYgKGtleSA9PSAiV2ViS2l0U2Fu
c1NlcmlmRm9udE1hcCIpCisgICAgICAgIHNldEZvbnRNYXAocHJlZnMtPnNhbnNTZXJpZkZvbnRN
YXAsIGNwcFZhcmlhbnRUb1dlYlN0cmluZ0FycmF5KHZhbHVlKSk7CisgICAgZWxzZSBpZiAoa2V5
ID09ICJXZWJLaXRDdXJzaXZlRm9udE1hcCIpCisgICAgICAgIHNldEZvbnRNYXAocHJlZnMtPmN1
cnNpdmVGb250TWFwLCBjcHBWYXJpYW50VG9XZWJTdHJpbmdBcnJheSh2YWx1ZSkpOworICAgIGVs
c2UgaWYgKGtleSA9PSAiV2ViS2l0RmFudGFzeUZvbnRNYXAiKQorICAgICAgICBzZXRGb250TWFw
KHByZWZzLT5mYW50YXN5Rm9udE1hcCwgY3BwVmFyaWFudFRvV2ViU3RyaW5nQXJyYXkodmFsdWUp
KTsKICAgICBlbHNlIGlmIChrZXkgPT0gIldlYktpdERlZmF1bHRGb250U2l6ZSIpCiAgICAgICAg
IHByZWZzLT5kZWZhdWx0Rm9udFNpemUgPSBjcHBWYXJpYW50VG9JbnQzMih2YWx1ZSk7CiAgICAg
ZWxzZSBpZiAoa2V5ID09ICJXZWJLaXREZWZhdWx0Rml4ZWRGb250U2l6ZSIpCmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaAppbmRl
eCBkM2Q0ZjEyMmJhYjIzZDg5MTU5Yjg4NDQ4ZTRjOTk0Zjk3MDUwODc5Li5lN2JmYTZiYWVkOWQ4
ZWVlNGRkMjVjZDZiNDQ0OTI4YjNiYjI5OTFmIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCisrKyBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmgKQEAgLTUyNCw2ICs1MjQsNyBA
QCBwcml2YXRlOgogICAgIGJvb2wgY3BwVmFyaWFudFRvQm9vbChjb25zdCBDcHBWYXJpYW50Jik7
CiAgICAgaW50MzJfdCBjcHBWYXJpYW50VG9JbnQzMihjb25zdCBDcHBWYXJpYW50Jik7CiAgICAg
V2ViS2l0OjpXZWJTdHJpbmcgY3BwVmFyaWFudFRvV2ViU3RyaW5nKGNvbnN0IENwcFZhcmlhbnQm
KTsKKyAgICBWZWN0b3I8V2ViS2l0OjpXZWJTdHJpbmc+IGNwcFZhcmlhbnRUb1dlYlN0cmluZ0Fy
cmF5KGNvbnN0IENwcFZhcmlhbnQmKTsKIAogICAgIHZvaWQgbG9nRXJyb3JUb0NvbnNvbGUoY29u
c3Qgc3RkOjpzdHJpbmcmKTsKICAgICB2b2lkIGNvbXBsZXRlTm90aWZ5RG9uZShib29sIGlzVGlt
ZW91dCk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJQcmVm
ZXJlbmNlcy5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJQcmVmZXJlbmNl
cy5jcHAKaW5kZXggYjNlM2Q4YmE1MzVhMTY3NTIwN2Q0ODU2ZjcxZWIyMzhmNWNiNzExMC4uYjdi
YzA2MzU5NTg3ZDcxN2FiZTY2NzU5OTRjMzY0MmExMDQ0MTA4ZCAxMDA2NDQKLS0tIGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuY3BwCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmNwcApAQCAtMTE3LDE1ICsxMTcs
NjMgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6cmVzZXQoKQogICAgIGhpeGllNzZXZWJTb2NrZXRQ
cm90b2NvbEVuYWJsZWQgPSB0cnVlOwogfQogCitzdGF0aWMgdm9pZCBzZXRTdGFuZGFyZEZvbnRG
YW1pbHlXcmFwcGVyKFdlYlNldHRpbmdzKiBzZXR0aW5ncywgY29uc3QgV2ViS2l0OjpXZWJTdHJp
bmcmIGZvbnQsIFVTY3JpcHRDb2RlIHNjcmlwdCkKK3sKKyAgICBzZXR0aW5ncy0+c2V0U3RhbmRh
cmRGb250RmFtaWx5KGZvbnQsIHNjcmlwdCk7Cit9CisKK3N0YXRpYyB2b2lkIHNldEZpeGVkRm9u
dEZhbWlseVdyYXBwZXIoV2ViU2V0dGluZ3MqIHNldHRpbmdzLCBjb25zdCBXZWJLaXQ6OldlYlN0
cmluZyYgZm9udCwgVVNjcmlwdENvZGUgc2NyaXB0KQoreworICAgIHNldHRpbmdzLT5zZXRGaXhl
ZEZvbnRGYW1pbHkoZm9udCwgc2NyaXB0KTsKK30KKworc3RhdGljIHZvaWQgc2V0U2VyaWZGb250
RmFtaWx5V3JhcHBlcihXZWJTZXR0aW5ncyogc2V0dGluZ3MsIGNvbnN0IFdlYktpdDo6V2ViU3Ry
aW5nJiBmb250LCBVU2NyaXB0Q29kZSBzY3JpcHQpCit7CisgICAgc2V0dGluZ3MtPnNldFNlcmlm
Rm9udEZhbWlseShmb250LCBzY3JpcHQpOworfQorCitzdGF0aWMgdm9pZCBzZXRTYW5zU2VyaWZG
b250RmFtaWx5V3JhcHBlcihXZWJTZXR0aW5ncyogc2V0dGluZ3MsIGNvbnN0IFdlYktpdDo6V2Vi
U3RyaW5nJiBmb250LCBVU2NyaXB0Q29kZSBzY3JpcHQpCit7CisgICAgc2V0dGluZ3MtPnNldFNh
bnNTZXJpZkZvbnRGYW1pbHkoZm9udCwgc2NyaXB0KTsKK30KKworc3RhdGljIHZvaWQgc2V0Q3Vy
c2l2ZUZvbnRGYW1pbHlXcmFwcGVyKFdlYlNldHRpbmdzKiBzZXR0aW5ncywgY29uc3QgV2ViS2l0
OjpXZWJTdHJpbmcmIGZvbnQsIFVTY3JpcHRDb2RlIHNjcmlwdCkKK3sKKyAgICBzZXR0aW5ncy0+
c2V0Q3Vyc2l2ZUZvbnRGYW1pbHkoZm9udCwgc2NyaXB0KTsKK30KKworc3RhdGljIHZvaWQgc2V0
RmFudGFzeUZvbnRGYW1pbHlXcmFwcGVyKFdlYlNldHRpbmdzKiBzZXR0aW5ncywgY29uc3QgV2Vi
S2l0OjpXZWJTdHJpbmcmIGZvbnQsIFVTY3JpcHRDb2RlIHNjcmlwdCkKK3sKKyAgICBzZXR0aW5n
cy0+c2V0RmFudGFzeUZvbnRGYW1pbHkoZm9udCwgc2NyaXB0KTsKK30KKwordHlwZWRlZiB2b2lk
ICgqU2V0Rm9udEZhbWlseVdyYXBwZXIpKFdlYlNldHRpbmdzKiwgY29uc3QgV2ViU3RyaW5nJiwg
VVNjcmlwdENvZGUpOworCitzdGF0aWMgdm9pZCBhcHBseUZvbnRNYXAoV2ViU2V0dGluZ3MqIHNl
dHRpbmdzLCBjb25zdCBXZWJQcmVmZXJlbmNlczo6U2NyaXB0Rm9udEZhbWlseU1hcCYgbWFwLCBT
ZXRGb250RmFtaWx5V3JhcHBlciBzZXR0ZXIpCit7CisgICAgZm9yIChXZWJQcmVmZXJlbmNlczo6
U2NyaXB0Rm9udEZhbWlseU1hcDo6Y29uc3RfaXRlcmF0b3IgaXRlciA9IG1hcC5iZWdpbigpOyBp
dGVyICE9IG1hcC5lbmQoKTsgKytpdGVyKSB7CisgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZm9u
dCA9IGl0ZXItPnNlY29uZDsKKyAgICAgICAgaWYgKCFmb250LmlzTnVsbCgpICYmICFmb250Lmlz
RW1wdHkoKSkKKyAgICAgICAgICAgICgqc2V0dGVyKShzZXR0aW5ncywgZm9udCwgc3RhdGljX2Nh
c3Q8VVNjcmlwdENvZGU+KGl0ZXItPmZpcnN0KSk7CisgICAgfQorfQorCiB2b2lkIFdlYlByZWZl
cmVuY2VzOjphcHBseVRvKFdlYlZpZXcqIHdlYlZpZXcpCiB7CiAgICAgV2ViU2V0dGluZ3MqIHNl
dHRpbmdzID0gd2ViVmlldy0+c2V0dGluZ3MoKTsKLSAgICBzZXR0aW5ncy0+c2V0Q3Vyc2l2ZUZv
bnRGYW1pbHkoY3Vyc2l2ZUZvbnRGYW1pbHkpOwotICAgIHNldHRpbmdzLT5zZXRGYW50YXN5Rm9u
dEZhbWlseShmYW50YXN5Rm9udEZhbWlseSk7Ci0gICAgc2V0dGluZ3MtPnNldFNlcmlmRm9udEZh
bWlseShzZXJpZkZvbnRGYW1pbHkpOwogICAgIHNldHRpbmdzLT5zZXRTdGFuZGFyZEZvbnRGYW1p
bHkoc3RhbmRhcmRGb250RmFtaWx5KTsKICAgICBzZXR0aW5ncy0+c2V0Rml4ZWRGb250RmFtaWx5
KGZpeGVkRm9udEZhbWlseSk7CisgICAgc2V0dGluZ3MtPnNldFNlcmlmRm9udEZhbWlseShzZXJp
ZkZvbnRGYW1pbHkpOwogICAgIHNldHRpbmdzLT5zZXRTYW5zU2VyaWZGb250RmFtaWx5KHNhbnNT
ZXJpZkZvbnRGYW1pbHkpOworICAgIHNldHRpbmdzLT5zZXRDdXJzaXZlRm9udEZhbWlseShjdXJz
aXZlRm9udEZhbWlseSk7CisgICAgc2V0dGluZ3MtPnNldEZhbnRhc3lGb250RmFtaWx5KGZhbnRh
c3lGb250RmFtaWx5KTsKKworICAgIGFwcGx5Rm9udE1hcChzZXR0aW5ncywgc3RhbmRhcmRGb250
TWFwLCBzZXRTdGFuZGFyZEZvbnRGYW1pbHlXcmFwcGVyKTsKKyAgICBhcHBseUZvbnRNYXAoc2V0
dGluZ3MsIGZpeGVkRm9udE1hcCwgc2V0Rml4ZWRGb250RmFtaWx5V3JhcHBlcik7CisgICAgYXBw
bHlGb250TWFwKHNldHRpbmdzLCBzZXJpZkZvbnRNYXAsIHNldFNlcmlmRm9udEZhbWlseVdyYXBw
ZXIpOworICAgIGFwcGx5Rm9udE1hcChzZXR0aW5ncywgc2Fuc1NlcmlmRm9udE1hcCwgc2V0U2Fu
c1NlcmlmRm9udEZhbWlseVdyYXBwZXIpOworICAgIGFwcGx5Rm9udE1hcChzZXR0aW5ncywgY3Vy
c2l2ZUZvbnRNYXAsIHNldEN1cnNpdmVGb250RmFtaWx5V3JhcHBlcik7CisgICAgYXBwbHlGb250
TWFwKHNldHRpbmdzLCBmYW50YXN5Rm9udE1hcCwgc2V0RmFudGFzeUZvbnRGYW1pbHlXcmFwcGVy
KTsKIAogICAgIHNldHRpbmdzLT5zZXREZWZhdWx0Rm9udFNpemUoZGVmYXVsdEZvbnRTaXplKTsK
ICAgICBzZXR0aW5ncy0+c2V0RGVmYXVsdEZpeGVkRm9udFNpemUoZGVmYXVsdEZpeGVkRm9udFNp
emUpOwpAQCAtMTg3LDQgKzIzNSwzIEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6OmFwcGx5VG8oV2Vi
Vmlldyogd2ViVmlldykKICAgICBzZXR0aW5ncy0+c2V0RnVsbFNjcmVlbkVuYWJsZWQodHJ1ZSk7
CiAgICAgc2V0dGluZ3MtPnNldFZhbGlkYXRpb25NZXNzYWdlVGltZXJNYWduaWZpY2F0aW9uKC0x
KTsKIH0KLQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJl
ZmVyZW5jZXMuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2Vz
LmgKaW5kZXggYjcwMWRjMDU3M2RhYTNmNDQ1MTg3ODE1OTVkZmQwYmMzNjM0ZjExMC4uNTE4ZjQ1
YTljNmE0NjRiMGFlYWQ5MWY2ZjAxMGI5NzI5MzE1MjczMyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuaAorKysgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9XZWJQcmVmZXJlbmNlcy5oCkBAIC0zNCwxOCArMzQsMzggQEAKICNp
bmNsdWRlICJXZWJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIldlYlN0cmluZy5oIgogI2luY2x1ZGUg
IldlYlVSTC5oIgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogY2xhc3MgV2ViVmlldzsKIH0KIAogc3RydWN0IFdlYlByZWZlcmVuY2VzIHsKLSAgICBXZWJL
aXQ6OldlYlN0cmluZyBjdXJzaXZlRm9udEZhbWlseTsKLSAgICBXZWJLaXQ6OldlYlN0cmluZyBm
YW50YXN5Rm9udEZhbWlseTsKLSAgICBXZWJLaXQ6OldlYlN0cmluZyBzZXJpZkZvbnRGYW1pbHk7
CiAgICAgV2ViS2l0OjpXZWJTdHJpbmcgc3RhbmRhcmRGb250RmFtaWx5OwogICAgIFdlYktpdDo6
V2ViU3RyaW5nIGZpeGVkRm9udEZhbWlseTsKKyAgICBXZWJLaXQ6OldlYlN0cmluZyBzZXJpZkZv
bnRGYW1pbHk7CiAgICAgV2ViS2l0OjpXZWJTdHJpbmcgc2Fuc1NlcmlmRm9udEZhbWlseTsKKyAg
ICBXZWJLaXQ6OldlYlN0cmluZyBjdXJzaXZlRm9udEZhbWlseTsKKyAgICBXZWJLaXQ6OldlYlN0
cmluZyBmYW50YXN5Rm9udEZhbWlseTsKKworICAgIC8vIFVTY3JpcHRDb2RlIHVzZXMgLTEgYW5k
IDAgZm9yIFVTY3JpcHRJbnZhbGlkQ29kZSBhbmQgVVNjcmlwdENvbW1vbi4KKyAgICAvLyBXZSBu
ZWVkIHRvIHVzZSAtMiBhbmQgLTMgZm9yIGVtcHR5IHZhbHVlIGFuZCBkZWxldGVkIHZhbHVlLgor
ICAgIC8vIChTZWUgV2ViQ29yZTo6U2NyaXB0Rm9udEZhbWlseU1hcCkKKyAgICBzdHJ1Y3QgVVNj
cmlwdENvZGVIYXNoVHJhaXRzIDogV1RGOjpHZW5lcmljSGFzaFRyYWl0czxpbnQ+IHsKKyAgICAg
ICAgc3RhdGljIGNvbnN0IGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IGZhbHNlOworICAgICAgICBz
dGF0aWMgaW50IGVtcHR5VmFsdWUoKSB7IHJldHVybiAtMjsgfQorICAgICAgICBzdGF0aWMgdm9p
ZCBjb25zdHJ1Y3REZWxldGVkVmFsdWUoaW50JiBzbG90KSB7IHNsb3QgPSAtMzsgfQorICAgICAg
ICBzdGF0aWMgYm9vbCBpc0RlbGV0ZWRWYWx1ZShpbnQgdmFsdWUpIHsgcmV0dXJuIHZhbHVlID09
IC0zOyB9CisgICAgfTsKKworICAgIC8vIE1hcCBvZiBVU2NyaXB0Q29kZSB0byBmb250IHN1Y2gg
YXMgVVNDUklQVF9BUkFCSUMgdG8gIk15IEFyYWJpYyBGb250Ii4KKyAgICB0eXBlZGVmIEhhc2hN
YXA8aW50LCBXZWJLaXQ6OldlYlN0cmluZywgRGVmYXVsdEhhc2g8aW50Pjo6SGFzaCwgVVNjcmlw
dENvZGVIYXNoVHJhaXRzPiBTY3JpcHRGb250RmFtaWx5TWFwOworICAgIFNjcmlwdEZvbnRGYW1p
bHlNYXAgc3RhbmRhcmRGb250TWFwOworICAgIFNjcmlwdEZvbnRGYW1pbHlNYXAgZml4ZWRGb250
TWFwOworICAgIFNjcmlwdEZvbnRGYW1pbHlNYXAgc2VyaWZGb250TWFwOworICAgIFNjcmlwdEZv
bnRGYW1pbHlNYXAgc2Fuc1NlcmlmRm9udE1hcDsKKyAgICBTY3JpcHRGb250RmFtaWx5TWFwIGN1
cnNpdmVGb250TWFwOworICAgIFNjcmlwdEZvbnRGYW1pbHlNYXAgZmFudGFzeUZvbnRNYXA7CiAK
ICAgICBpbnQgZGVmYXVsdEZvbnRTaXplOwogICAgIGludCBkZWZhdWx0Rml4ZWRGb250U2l6ZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>