<?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>78698</bug_id>
          
          <creation_ts>2012-02-15 04:58:51 -0800</creation_ts>
          <short_desc>Simplify CSSParser::parseFont.</short_desc>
          <delta_ts>2012-04-23 07:27:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexis Menard (darktears)">menard</reporter>
          <assigned_to name="Alexis Menard (darktears)">menard</assigned_to>
          <cc>apavlov</cc>
    
    <cc>benjamin</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>hyatt</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>mitz</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>557169</commentid>
    <comment_count>0</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-02-15 04:58:51 -0800</bug_when>
    <thetext>Simplify CSSParser::parseFont.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557172</commentid>
    <comment_count>1</comment_count>
      <attachid>127166</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-02-15 05:01:40 -0800</bug_when>
    <thetext>Created attachment 127166
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557195</commentid>
    <comment_count>2</comment_count>
      <attachid>127169</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-02-15 05:51:22 -0800</bug_when>
    <thetext>Created attachment 127169
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557236</commentid>
    <comment_count>3</comment_count>
      <attachid>127169</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-15 06:56:11 -0800</bug_when>
    <thetext>Comment on attachment 127169
Patch

Attachment 127169 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11515784

New failing tests:
fast/inspector-support/style.html
fast/parser/style-script-head-test.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557319</commentid>
    <comment_count>4</comment_count>
      <attachid>127190</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-02-15 09:29:04 -0800</bug_when>
    <thetext>Created attachment 127190
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557322</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-15 09:30:15 -0800</bug_when>
    <thetext>Attachment 127190 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/update-webkit&apos;]&quot; exit_code: 2

Updating OpenSource
git.webkit.org[0: 17.254.20.231]: errno=Connection refused
fatal: unable to connect a socket (Connection refused)
Died at Tools/Scripts/update-webkit line 162.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599162</commentid>
    <comment_count>6</comment_count>
      <attachid>136429</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-04-10 05:06:03 -0700</bug_when>
    <thetext>Created attachment 136429
Patch

Rebased version</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>606172</commentid>
    <comment_count>7</comment_count>
      <attachid>136429</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-04-19 16:49:00 -0700</bug_when>
    <thetext>Comment on attachment 136429
Patch

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

&gt; Source/WebCore/css/CSSParser.cpp:4314
&gt; +        if (!fontStyleParsed &amp;&amp; parseValue(CSSPropertyFontStyle, important))
&gt; +            fontStyleParsed = true;

I think we should avoid calling to generic parseValue() from parseFont(). We already know what property this is so jumping through the huge switch seems like wasted work.

Perhaps we could refactor this so that both parseValue and this can use the same helper functions.

&gt; Source/WebCore/css/CSSParser.cpp:-4594
&gt; -    if (m_valueList-&gt;size() != 1)
&gt; -        return false;

Only shorthand properties can have list longer than 1, right?  You could assert for that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>606931</commentid>
    <comment_count>8</comment_count>
      <attachid>138169</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-04-20 14:51:25 -0700</bug_when>
    <thetext>Created attachment 138169
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>606934</commentid>
    <comment_count>9</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-04-20 14:53:03 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 136429 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=136429&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/css/CSSParser.cpp:4314
&gt; &gt; +        if (!fontStyleParsed &amp;&amp; parseValue(CSSPropertyFontStyle, important))
&gt; &gt; +            fontStyleParsed = true;
&gt; 
&gt; I think we should avoid calling to generic parseValue() from parseFont(). We already know what property this is so jumping through the huge switch seems like wasted work.

Fixed in the new version.

&gt; 
&gt; Perhaps we could refactor this so that both parseValue and this can use the same helper functions.
&gt; 
&gt; &gt; Source/WebCore/css/CSSParser.cpp:-4594
&gt; &gt; -    if (m_valueList-&gt;size() != 1)
&gt; &gt; -        return false;
&gt; 
&gt; Only shorthand properties can have list longer than 1, right?  You could assert for that.

As discussed we don&apos;t really want to ASSERT in case of an invalid property, we just want to skip it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>607641</commentid>
    <comment_count>10</comment_count>
      <attachid>138169</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-04-23 06:44:00 -0700</bug_when>
    <thetext>Comment on attachment 138169
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>607658</commentid>
    <comment_count>11</comment_count>
      <attachid>138169</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-23 07:27:12 -0700</bug_when>
    <thetext>Comment on attachment 138169
Patch

Clearing flags on attachment: 138169

Committed r114895: &lt;http://trac.webkit.org/changeset/114895&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>607659</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-23 07:27:18 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127166</attachid>
            <date>2012-02-15 05:01:40 -0800</date>
            <delta_ts>2012-02-15 05:51:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78698-20120215100127.patch</filename>
            <type>text/plain</type>
            <size>16493</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3ODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmI1YzhiMDA4NWNlOTgx
NjdmN2U5ZDNkODRjMDYyNTIyNDQ2ZTY2Ni4uZmMzMjY4NDA2ZjA4Njk0MGNmYzk2NDYxZTY1YjU4
M2Q0Yjg0ZTg2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTAyLTE1ICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIFNpbXBs
aWZ5IENTU1BhcnNlcjo6cGFyc2VGb250LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Nzg2OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTaW1wbGlmeSBwYXJzZUZvbnQgYnkgc2hhcmluZyB0aGUgY29kZSB3
ZSBoYXZlIGZvcgorICAgICAgICB0aGUgbG9uZ2hhbmRzIG9mIHRoZSBmb250IHByb3BlcnR5Lgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cyA6IHJlZmFjdG9yaW5nIG9ubHkuCisKKyAgICAgICAgKiBj
c3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlRm9udCk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlRm9udFdlaWdodCk6CisKIDIwMTItMDItMTUgIEhhamlt
ZSBNb3JyaXRhICA8bW9ycml0YUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTihy
MTA3NTE4KTogRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyIGRvZXNuJ3QgcmVtb3ZlIHJlZ2lz
dGVyZWQgRE9NV2luZG93cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCBhYjc2MDUxYmUz
OGQ3MTM3MjdkNjUxNDAyNTRkYzQ5MWRmZTFkNzlkLi4wYTNiZTRjZjM0MDdlNmQxYmVjMDZkNjM2
MDU4YjBiYTAwMjhmN2Q2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtMTEzNCw5ICsx
MTM0LDExIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKGludCBwcm9wSWQsIGJvb2wgaW1w
b3J0YW50KQogICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOwogICAgICAgICBicmVh
azsKIAotICAgIGNhc2UgQ1NTUHJvcGVydHlGb250V2VpZ2h0OiAgLy8gbm9ybWFsIHwgYm9sZCB8
IGJvbGRlciB8IGxpZ2h0ZXIgfCAxMDAgfCAyMDAgfCAzMDAgfCA0MDAgfCA1MDAgfCA2MDAgfCA3
MDAgfCA4MDAgfCA5MDAgfCBpbmhlcml0CisgICAgY2FzZSBDU1NQcm9wZXJ0eUZvbnRXZWlnaHQ6
ICB7IC8vIG5vcm1hbCB8IGJvbGQgfCBib2xkZXIgfCBsaWdodGVyIHwgMTAwIHwgMjAwIHwgMzAw
IHwgNDAwIHwgNTAwIHwgNjAwIHwgNzAwIHwgODAwIHwgOTAwIHwgaW5oZXJpdAorICAgICAgICBp
ZiAobV92YWx1ZUxpc3QtPnNpemUoKSAhPSAxKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgICAgICByZXR1cm4gcGFyc2VGb250V2VpZ2h0KGltcG9ydGFudCk7Ci0KKyAgICB9CiAgICAg
Y2FzZSBDU1NQcm9wZXJ0eUJvcmRlclNwYWNpbmc6IHsKICAgICAgICAgY29uc3QgaW50IHByb3Bl
cnRpZXNbMl0gPSB7IENTU1Byb3BlcnR5V2Via2l0Qm9yZGVySG9yaXpvbnRhbFNwYWNpbmcsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRl
clZlcnRpY2FsU3BhY2luZyB9OwpAQCAtNDEzNSwxMTEgKzQxMzcsNDcgQEAgYm9vbCBDU1NQYXJz
ZXI6OnBhcnNlV3JhcFNoYXBlKGJvb2wgc2hhcGVJbnNpZGUsIGJvb2wgaW1wb3J0YW50KQogLy8g
WyAnZm9udC1zdHlsZScgfHwgJ2ZvbnQtdmFyaWFudCcgfHwgJ2ZvbnQtd2VpZ2h0JyBdPyAnZm9u
dC1zaXplJyBbIC8gJ2xpbmUtaGVpZ2h0JyBdPyAnZm9udC1mYW1pbHknCiBib29sIENTU1BhcnNl
cjo6cGFyc2VGb250KGJvb2wgaW1wb3J0YW50KQogewotICAgIGJvb2wgdmFsaWQgPSB0cnVlOwot
ICAgIGJvb2wgc3R5bGVJbXBsaWNpdCA9IHRydWU7Ci0gICAgYm9vbCB2YXJpYW50SW1wbGljaXQg
PSB0cnVlOwotICAgIGJvb2wgd2VpZ2h0SW1wbGljaXQgPSB0cnVlOwotICAgIGJvb2wgbGluZUhl
aWdodEltcGxpY2l0ID0gdHJ1ZTsKLSAgICBpbnQgdmFsdWVPcmRpbmFsID0gMDsKLQotICAgIENT
U1BhcnNlclZhbHVlICp2YWx1ZSA9IG1fdmFsdWVMaXN0LT5jdXJyZW50KCk7Ci0gICAgUmVmUHRy
PEZvbnRWYWx1ZT4gZm9udCA9IEZvbnRWYWx1ZTo6Y3JlYXRlKCk7Ci0gICAgLy8gT3B0aW9uYWwg
Zm9udC1zdHlsZSwgZm9udC12YXJpYW50IGFuZCBmb250LXdlaWdodC4KLSAgICB3aGlsZSAodmFs
dWUpIHsKLSAgICAgICAgaW50IGlkID0gdmFsdWUtPmlkOwotICAgICAgICBpZiAoaWQgPT0gQ1NT
VmFsdWVJbml0aWFsIHx8IGlkID09IENTU1ZhbHVlSW5oZXJpdCkKKyAgICAvLyBMZXQncyBjaGVj
ayBpZiB0aGVyZSBpcyBhbiBpbmhlcml0IG9yIGluaXRpYWwgc29tZXdoZXJlIGluIHRoZSBzaG9y
dGhhbmQuCisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fdmFsdWVMaXN0LT5zaXplKCk7
ICsraSkgeworICAgICAgICBpZiAobV92YWx1ZUxpc3QtPnZhbHVlQXQoaSktPmlkID09IENTU1Zh
bHVlSW5oZXJpdCB8fCBtX3ZhbHVlTGlzdC0+dmFsdWVBdChpKS0+aWQgPT0gQ1NTVmFsdWVJbml0
aWFsKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBpZiAoaWQpIHsKLSAgICAg
ICAgICAgIGlmIChpZCA9PSBDU1NWYWx1ZU5vcm1hbCkgewotICAgICAgICAgICAgICAgIC8vIEl0
J3MgdGhlIGluaXRpYWwgdmFsdWUgZm9yIGFsbCB0aHJlZSwgc28gbWFyayB0aGUgY29ycmVzcG9u
ZGluZyBsb25naGFuZCBhcyBleHBsaWNpdC4KLSAgICAgICAgICAgICAgICBzd2l0Y2ggKHZhbHVl
T3JkaW5hbCkgewotICAgICAgICAgICAgICAgIGNhc2UgMDoKLSAgICAgICAgICAgICAgICAgICAg
c3R5bGVJbXBsaWNpdCA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgICAgICBjYXNlIDE6Ci0gICAgICAgICAgICAgICAgICAgIHZhcmlhbnRJbXBsaWNpdCA9
IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNl
IDI6Ci0gICAgICAgICAgICAgICAgICAgIHdlaWdodEltcGxpY2l0ID0gZmFsc2U7Ci0gICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0gZWxz
ZSBpZiAoaWQgPT0gQ1NTVmFsdWVJdGFsaWMgfHwgaWQgPT0gQ1NTVmFsdWVPYmxpcXVlKSB7Ci0g
ICAgICAgICAgICAgICAgaWYgKGZvbnQtPnN0eWxlKQotICAgICAgICAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgICAgICAgICAgICAgZm9udC0+c3R5bGUgPSBjc3NWYWx1ZVBvb2woKS0+
Y3JlYXRlSWRlbnRpZmllclZhbHVlKGlkKTsKLSAgICAgICAgICAgICAgICBzdHlsZUltcGxpY2l0
ID0gZmFsc2U7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKGlkID09IENTU1ZhbHVlU21hbGxDYXBz
KSB7Ci0gICAgICAgICAgICAgICAgaWYgKGZvbnQtPnZhcmlhbnQpCi0gICAgICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgICAgICBmb250LT52YXJpYW50ID0gY3NzVmFs
dWVQb29sKCktPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShpZCk7Ci0gICAgICAgICAgICAgICAgdmFy
aWFudEltcGxpY2l0ID0gZmFsc2U7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKGlkID49IENTU1Zh
bHVlQm9sZCAmJiBpZCA8PSBDU1NWYWx1ZUxpZ2h0ZXIpIHsKLSAgICAgICAgICAgICAgICBpZiAo
Zm9udC0+d2VpZ2h0KQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAg
ICAgICAgICAgZm9udC0+d2VpZ2h0ID0gY3NzVmFsdWVQb29sKCktPmNyZWF0ZUlkZW50aWZpZXJW
YWx1ZShpZCk7Ci0gICAgICAgICAgICAgICAgd2VpZ2h0SW1wbGljaXQgPSBmYWxzZTsKLSAgICAg
ICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHZhbGlkID0gZmFsc2U7Ci0gICAgICAgIH0g
ZWxzZSBpZiAoIWZvbnQtPndlaWdodCAmJiB2YWxpZFVuaXQodmFsdWUsIEZJbnRlZ2VyIHwgRk5v
bk5lZywgdHJ1ZSkpIHsKLSAgICAgICAgICAgIGludCB3ZWlnaHQgPSBzdGF0aWNfY2FzdDxpbnQ+
KHZhbHVlLT5mVmFsdWUpOwotICAgICAgICAgICAgaW50IHZhbCA9IDA7Ci0gICAgICAgICAgICBp
ZiAod2VpZ2h0ID09IDEwMCkKLSAgICAgICAgICAgICAgICB2YWwgPSBDU1NWYWx1ZTEwMDsKLSAg
ICAgICAgICAgIGVsc2UgaWYgKHdlaWdodCA9PSAyMDApCi0gICAgICAgICAgICAgICAgdmFsID0g
Q1NTVmFsdWUyMDA7Ci0gICAgICAgICAgICBlbHNlIGlmICh3ZWlnaHQgPT0gMzAwKQotICAgICAg
ICAgICAgICAgIHZhbCA9IENTU1ZhbHVlMzAwOwotICAgICAgICAgICAgZWxzZSBpZiAod2VpZ2h0
ID09IDQwMCkKLSAgICAgICAgICAgICAgICB2YWwgPSBDU1NWYWx1ZTQwMDsKLSAgICAgICAgICAg
IGVsc2UgaWYgKHdlaWdodCA9PSA1MDApCi0gICAgICAgICAgICAgICAgdmFsID0gQ1NTVmFsdWU1
MDA7Ci0gICAgICAgICAgICBlbHNlIGlmICh3ZWlnaHQgPT0gNjAwKQotICAgICAgICAgICAgICAg
IHZhbCA9IENTU1ZhbHVlNjAwOwotICAgICAgICAgICAgZWxzZSBpZiAod2VpZ2h0ID09IDcwMCkK
LSAgICAgICAgICAgICAgICB2YWwgPSBDU1NWYWx1ZTcwMDsKLSAgICAgICAgICAgIGVsc2UgaWYg
KHdlaWdodCA9PSA4MDApCi0gICAgICAgICAgICAgICAgdmFsID0gQ1NTVmFsdWU4MDA7Ci0gICAg
ICAgICAgICBlbHNlIGlmICh3ZWlnaHQgPT0gOTAwKQotICAgICAgICAgICAgICAgIHZhbCA9IENT
U1ZhbHVlOTAwOwotCi0gICAgICAgICAgICBpZiAodmFsKSB7Ci0gICAgICAgICAgICAgICAgZm9u
dC0+d2VpZ2h0ID0gY3NzVmFsdWVQb29sKCktPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2YWwpOwot
ICAgICAgICAgICAgICAgIHdlaWdodEltcGxpY2l0ID0gZmFsc2U7Ci0gICAgICAgICAgICB9IGVs
c2UKLSAgICAgICAgICAgICAgICB2YWxpZCA9IGZhbHNlOwotICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgdmFsaWQgPSBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICBpZiAoIXZhbGlkKQor
ICAgIH0KKyAgICBTaG9ydGhhbmRTY29wZSBzY29wZSh0aGlzLCBDU1NQcm9wZXJ0eUZvbnQpOwor
ICAgIC8vIE9wdGlvbmFsIGZvbnQtc3R5bGUsIGZvbnQtdmFyaWFudCBhbmQgZm9udC13ZWlnaHQu
CisgICAgYm9vbCBmb250U3R5bGVQYXJzZWQgPSBmYWxzZSwgZm9udFZhcmlhbnRQYXJzZWQgPSBm
YWxzZSwgZm9udFdlaWdodFBhcnNlZCA9IGZhbHNlOworICAgIENTU1BhcnNlclZhbHVlKiB2YWx1
ZTsKKyAgICB3aGlsZSAoKHZhbHVlID0gbV92YWx1ZUxpc3QtPmN1cnJlbnQoKSkpIHsKKyAgICAg
ICAgaWYgKCFmb250U3R5bGVQYXJzZWQgJiYgcGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUZvbnRTdHls
ZSwgaW1wb3J0YW50KSkKKyAgICAgICAgICAgIGZvbnRTdHlsZVBhcnNlZCA9IHRydWU7CisgICAg
ICAgIGVsc2UgaWYgKCFmb250VmFyaWFudFBhcnNlZCAmJiAodmFsdWUtPmlkID09IENTU1ZhbHVl
Tm9ybWFsIHx8IHZhbHVlLT5pZCA9PSBDU1NWYWx1ZVNtYWxsQ2FwcykpIHsKKyAgICAgICAgICAg
IC8vIEZvbnQgdmFyaWFudCBpbiB0aGUgc2hvcnRoYW5kIGlzIHBhcnRpY3VsYXIsIGl0IG9ubHkg
YWNjZXB0cyBub3JtYWwgb3Igc21hbGwtY2Fwcy4KKyAgICAgICAgICAgIGFkZFByb3BlcnR5KENT
U1Byb3BlcnR5Rm9udFZhcmlhbnQsIGNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFs
dWUodmFsdWUtPmlkKSwgaW1wb3J0YW50KTsKKyAgICAgICAgICAgIGZvbnRWYXJpYW50UGFyc2Vk
ID0gdHJ1ZTsKKyAgICAgICAgICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7CisgICAgICAgIH0gZWxz
ZSBpZiAoIWZvbnRXZWlnaHRQYXJzZWQgJiYgcGFyc2VGb250V2VpZ2h0KGltcG9ydGFudCkpIHsK
KyAgICAgICAgICAgIGZvbnRXZWlnaHRQYXJzZWQgPSB0cnVlOworICAgICAgICAgICAgbV92YWx1
ZUxpc3QtPm5leHQoKTsKKyAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgdmFsdWUgPSBtX3ZhbHVlTGlzdC0+bmV4dCgpOwotICAgICAgICArK3ZhbHVlT3JkaW5hbDsK
ICAgICB9Ci0gICAgaWYgKCF2YWx1ZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYg
KHZhbHVlLT5pZCA9PSBDU1NWYWx1ZUluaXRpYWwgfHwgdmFsdWUtPmlkID09IENTU1ZhbHVlSW5o
ZXJpdCkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZm9udFN0eWxlUGFyc2VkKQor
ICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRTdHlsZSwgY3NzVmFsdWVQb29sKCkt
PmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZU5vcm1hbCksIGltcG9ydGFudCwgdHJ1ZSk7
CisgICAgaWYgKCFmb250VmFyaWFudFBhcnNlZCkKKyAgICAgICAgYWRkUHJvcGVydHkoQ1NTUHJv
cGVydHlGb250VmFyaWFudCwgY3NzVmFsdWVQb29sKCktPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShD
U1NWYWx1ZU5vcm1hbCksIGltcG9ydGFudCwgdHJ1ZSk7CisgICAgaWYgKCFmb250V2VpZ2h0UGFy
c2VkKQorICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRXZWlnaHQsIGNzc1ZhbHVl
UG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb3JtYWwpLCBpbXBvcnRhbnQs
IHRydWUpOwogCi0gICAgLy8gU2V0IHVuZGVmaW5lZCB2YWx1ZXMgdG8gZGVmYXVsdC4KLSAgICBp
ZiAoIWZvbnQtPnN0eWxlKQotICAgICAgICBmb250LT5zdHlsZSA9IGNzc1ZhbHVlUG9vbCgpLT5j
cmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb3JtYWwpOwotICAgIGlmICghZm9udC0+dmFy
aWFudCkKLSAgICAgICAgZm9udC0+dmFyaWFudCA9IGNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVJZGVu
dGlmaWVyVmFsdWUoQ1NTVmFsdWVOb3JtYWwpOwotICAgIGlmICghZm9udC0+d2VpZ2h0KQotICAg
ICAgICBmb250LT53ZWlnaHQgPSBjc3NWYWx1ZVBvb2woKS0+Y3JlYXRlSWRlbnRpZmllclZhbHVl
KENTU1ZhbHVlTm9ybWFsKTsKKyAgICBpZiAoIXZhbHVlKQorICAgICAgICByZXR1cm4gZmFsc2U7
CiAKICAgICAvLyBOb3cgYSBmb250IHNpemUgX211c3RfIGNvbWUuCiAgICAgLy8gPGFic29sdXRl
LXNpemU+IHwgPHJlbGF0aXZlLXNpemU+IHwgPGxlbmd0aD4gfCA8cGVyY2VudGFnZT4gfCBpbmhl
cml0Ci0gICAgaWYgKHZhbHVlLT5pZCA+PSBDU1NWYWx1ZVh4U21hbGwgJiYgdmFsdWUtPmlkIDw9
IENTU1ZhbHVlTGFyZ2VyKQotICAgICAgICBmb250LT5zaXplID0gY3NzVmFsdWVQb29sKCktPmNy
ZWF0ZUlkZW50aWZpZXJWYWx1ZSh2YWx1ZS0+aWQpOwotICAgIGVsc2UgaWYgKHZhbGlkVW5pdCh2
YWx1ZSwgRkxlbmd0aCB8IEZQZXJjZW50IHwgRk5vbk5lZywgbV9zdHJpY3QpKQotICAgICAgICBm
b250LT5zaXplID0gY3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKHZhbHVlKTsKLSAgICB2YWx1
ZSA9IG1fdmFsdWVMaXN0LT5uZXh0KCk7Ci0gICAgaWYgKCFmb250LT5zaXplIHx8ICF2YWx1ZSkK
KyAgICBpZiAoIXBhcnNlVmFsdWUoQ1NTUHJvcGVydHlGb250U2l6ZSwgaW1wb3J0YW50KSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKHZhbHVlLT5pZCA9PSBDU1NWYWx1ZUluaXRp
YWwgfHwgdmFsdWUtPmlkID09IENTU1ZhbHVlSW5oZXJpdCkKKyAgICB2YWx1ZSA9IG1fdmFsdWVM
aXN0LT5jdXJyZW50KCk7CisgICAgaWYgKCF2YWx1ZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CiAgICAgaWYgKHZhbHVlLT51bml0ID09IENTU1BhcnNlclZhbHVlOjpPcGVyYXRvciAmJiB2YWx1
ZS0+aVZhbHVlID09ICcvJykgewpAQCAtNDI0Nyw0MiArNDE4NSwyMSBAQCBib29sIENTU1BhcnNl
cjo6cGFyc2VGb250KGJvb2wgaW1wb3J0YW50KQogICAgICAgICB2YWx1ZSA9IG1fdmFsdWVMaXN0
LT5uZXh0KCk7CiAgICAgICAgIGlmICghdmFsdWUpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgICAgIGlmICh2YWx1ZS0+aWQgPT0gQ1NTVmFsdWVOb3JtYWwpIHsKLSAgICAgICAgICAg
IC8vIERlZmF1bHQgdmFsdWUsIGp1c3QgbWFyayB0aGUgcHJvcGVydHkgYXMgZXhwbGljaXQuCi0g
ICAgICAgICAgICBsaW5lSGVpZ2h0SW1wbGljaXQgPSBmYWxzZTsKLSAgICAgICAgfSBlbHNlIGlm
ICh2YWxpZFVuaXQodmFsdWUsIEZOdW1iZXIgfCBGTGVuZ3RoIHwgRlBlcmNlbnQgfCBGTm9uTmVn
LCBtX3N0cmljdCkpIHsKLSAgICAgICAgICAgIGZvbnQtPmxpbmVIZWlnaHQgPSBjcmVhdGVQcmlt
aXRpdmVOdW1lcmljVmFsdWUodmFsdWUpOwotICAgICAgICAgICAgbGluZUhlaWdodEltcGxpY2l0
ID0gZmFsc2U7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
ICAgICB2YWx1ZSA9IG1fdmFsdWVMaXN0LT5uZXh0KCk7Ci0gICAgICAgIGlmICghdmFsdWUpCi0g
ICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQogCi0gICAgaWYgKHZhbHVlLT5pZCA9PSBD
U1NWYWx1ZUluaXRpYWwgfHwgdmFsdWUtPmlkID09IENTU1ZhbHVlSW5oZXJpdCkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKCFmb250LT5saW5lSGVpZ2h0KQotICAgICAgICBmb250
LT5saW5lSGVpZ2h0ID0gY3NzVmFsdWVQb29sKCktPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NW
YWx1ZU5vcm1hbCk7CisgICAgICAgIGlmICghcGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUxpbmVIZWln
aHQsIGltcG9ydGFudCkpCisgICAgICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUxpbmVI
ZWlnaHQsIGNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb3Jt
YWwpLCBpbXBvcnRhbnQsIHRydWUpOworICAgIH0gZWxzZQorICAgICAgICBhZGRQcm9wZXJ0eShD
U1NQcm9wZXJ0eUxpbmVIZWlnaHQsIGNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFs
dWUoQ1NTVmFsdWVOb3JtYWwpLCBpbXBvcnRhbnQsIHRydWUpOwogCiAgICAgLy8gRm9udCBmYW1p
bHkgbXVzdCBjb21lIG5vdy4KLSAgICBmb250LT5mYW1pbHkgPSBwYXJzZUZvbnRGYW1pbHkoKTsK
LQotICAgIGlmIChtX3ZhbHVlTGlzdC0+Y3VycmVudCgpIHx8ICFmb250LT5mYW1pbHkpCisgICAg
aWYgKCFwYXJzZVZhbHVlKENTU1Byb3BlcnR5Rm9udEZhbWlseSwgaW1wb3J0YW50KSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCi0gICAgU2hvcnRoYW5kU2NvcGUgc2NvcGUodGhpcywgQ1NTUHJv
cGVydHlGb250KTsKLSAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRGYW1pbHksIGZvbnQt
PmZhbWlseSwgaW1wb3J0YW50KTsKLSAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRTaXpl
LCBmb250LT5zaXplLCBpbXBvcnRhbnQpOwotICAgIGFkZFByb3BlcnR5KENTU1Byb3BlcnR5Rm9u
dFN0eWxlLCBmb250LT5zdHlsZSwgaW1wb3J0YW50LCBzdHlsZUltcGxpY2l0KTsKLSAgICBhZGRQ
cm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRWYXJpYW50LCBmb250LT52YXJpYW50LCBpbXBvcnRhbnQs
IHZhcmlhbnRJbXBsaWNpdCk7Ci0gICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlGb250V2VpZ2h0
LCBmb250LT53ZWlnaHQsIGltcG9ydGFudCwgd2VpZ2h0SW1wbGljaXQpOwotICAgIGFkZFByb3Bl
cnR5KENTU1Byb3BlcnR5TGluZUhlaWdodCwgZm9udC0+bGluZUhlaWdodCwgaW1wb3J0YW50LCBs
aW5lSGVpZ2h0SW1wbGljaXQpOwotCiAgICAgLy8gRklYTUU6IGh0dHA6Ly93d3cudzMub3JnL1RS
LzIwMTEvV0QtY3NzMy1mb250cy0yMDExMDMyNC8jZm9udC1wcm9wIHJlcXVpcmVzIHRoYXQKICAg
ICAvLyAiZm9udC1zdHJldGNoIiwgImZvbnQtc2l6ZS1hZGp1c3QiLCBhbmQgImZvbnQta2Vybmlu
ZyIgYmUgcmVzZXQgdG8gdGhlaXIgaW5pdGlhbCB2YWx1ZXMKICAgICAvLyBidXQgd2UgZG9uJ3Qg
c2VlbSB0byBzdXBwb3J0IHRoZW0gYXQgdGhlIG1vbWVudC4gVGhleSBzaG91bGQgYWxzbyBiZSBh
ZGRlZCBoZXJlIG9uY2UgaW1wbGVtZW50ZWQuCisgICAgaWYgKG1fdmFsdWVMaXN0LT5jdXJyZW50
KCkpCisgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC00Mzk3
LDkgKzQzMTQsNiBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VGb250VmFyaWFudChib29sIGltcG9y
dGFudCkKIAogYm9vbCBDU1NQYXJzZXI6OnBhcnNlRm9udFdlaWdodChib29sIGltcG9ydGFudCkK
IHsKLSAgICBpZiAobV92YWx1ZUxpc3QtPnNpemUoKSAhPSAxKQotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0KICAgICBDU1NQYXJzZXJWYWx1ZSogdmFsdWUgPSBtX3ZhbHVlTGlzdC0+Y3VycmVudCgp
OwogICAgIGlmICgodmFsdWUtPmlkID49IENTU1ZhbHVlTm9ybWFsKSAmJiAodmFsdWUtPmlkIDw9
IENTU1ZhbHVlOTAwKSkgewogICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRXZWln
aHQsIGNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUodmFsdWUtPmlkKSwgaW1w
b3J0YW50KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA0ODc1MTMxYTRiYjc4YTVhYTY4NDdhYjNjZDdlM2E5OWVhZGQ0ZDdl
Li5kZGRlY2JhOGU2ZDljZWY0OTAwNzFjYmI4NjNmZjMzMDc5NzY4MGViIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTItMDItMTUgIEFsZXhpcyBNZW5hcmQgIDxhbGV4aXMubWVuYXJkQG9wZW5i
b3NzYS5vcmc+CisKKyAgICAgICAgU2ltcGxpZnkgQ1NTUGFyc2VyOjpwYXJzZUZvbnQuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODY5OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBsb25naGFuZHMg
Y29tZSBpbiBhIGRpZmZlcmVudCBvcmRlciB0aGFuIGJlZm9yZS4gVGhpcworICAgICAgICBpcyBu
b3QgYSBwcm9ibGVtIGFzIHRoZSBvcmRlciBpcyBub3QgcGFydCBvZiB0aGUgc3BlY2lmaWNhdGlv
bi4KKworICAgICAgICAqIGZhc3QvY3NzL2ZvbnQtc2hvcnRoYW5kLWV4cGVjdGVkLnR4dDoKKwog
MjAxMi0wMi0xNSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
VW5yZXZpZXdlZCwgY2hhbmdlIHRoZSBlbmNvZGluZyBvZiBhIHRlc3QgSFRNTC4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2ZvbnQtc2hvcnRoYW5kLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL2ZvbnQtc2hvcnRoYW5kLWV4cGVjdGVkLnR4dAppbmRleCBlYjJj
NDYxMmNhNTc4ZTM2MGJhNTY2ZDgyZmM4MzMyNzIwOWU3ZmQ2Li44NTU1ZjkzYTZiZTE5NzM5MDJi
YjBjYjFkZTFiYzg3ZGFkN2Y2MTU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9m
b250LXNob3J0aGFuZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZm9u
dC1zaG9ydGhhbmQtZXhwZWN0ZWQudHh0CkBAIC0xLDc1ICsxLDc1IEBACiBUZXN0CiBGb250IGZv
ciAnMTJweCBtb25vc3BhY2UnOgotZm9udC1mYW1pbHk6IG1vbm9zcGFjZSAob3JpZ2luYWwgcHJv
cGVydHkgd2FzIGZvbnQpCi1mb250LXNpemU6IDEycHggKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBm
b250KQogZm9udC1zdHlsZTogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCBhbmQg
cHJvcGVydHkgd2FzIGltcGxpY2l0bHkgc2V0LikKIGZvbnQtdmFyaWFudDogbm9ybWFsIChvcmln
aW5hbCBwcm9wZXJ0eSB3YXMgZm9udCBhbmQgcHJvcGVydHkgd2FzIGltcGxpY2l0bHkgc2V0LikK
IGZvbnQtd2VpZ2h0OiBub3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250IGFuZCBwcm9w
ZXJ0eSB3YXMgaW1wbGljaXRseSBzZXQuKQorZm9udC1zaXplOiAxMnB4IChvcmlnaW5hbCBwcm9w
ZXJ0eSB3YXMgZm9udCkKIGxpbmUtaGVpZ2h0OiBub3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5IHdh
cyBmb250IGFuZCBwcm9wZXJ0eSB3YXMgaW1wbGljaXRseSBzZXQuKQorZm9udC1mYW1pbHk6IG1v
bm9zcGFjZSAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiAKIEZvbnQgZm9yICcxMnB4LzI0
cHggc2VyaWYnOgotZm9udC1mYW1pbHk6IHNlcmlmIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9u
dCkKLWZvbnQtc2l6ZTogMTJweCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiBmb250LXN0
eWxlOiBub3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250IGFuZCBwcm9wZXJ0eSB3YXMg
aW1wbGljaXRseSBzZXQuKQogZm9udC12YXJpYW50OiBub3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5
IHdhcyBmb250IGFuZCBwcm9wZXJ0eSB3YXMgaW1wbGljaXRseSBzZXQuKQogZm9udC13ZWlnaHQ6
IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQgYW5kIHByb3BlcnR5IHdhcyBpbXBs
aWNpdGx5IHNldC4pCitmb250LXNpemU6IDEycHggKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250
KQogbGluZS1oZWlnaHQ6IDI0cHggKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQorZm9udC1m
YW1pbHk6IHNlcmlmIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIAogRm9udCBmb3IgJ25v
cm1hbCAxMnB4IHNlcmlmJzoKLWZvbnQtZmFtaWx5OiBzZXJpZiAob3JpZ2luYWwgcHJvcGVydHkg
d2FzIGZvbnQpCi1mb250LXNpemU6IDEycHggKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQog
Zm9udC1zdHlsZTogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIGZvbnQtdmFy
aWFudDogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCBhbmQgcHJvcGVydHkgd2Fz
IGltcGxpY2l0bHkgc2V0LikKIGZvbnQtd2VpZ2h0OiBub3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5
IHdhcyBmb250IGFuZCBwcm9wZXJ0eSB3YXMgaW1wbGljaXRseSBzZXQuKQorZm9udC1zaXplOiAx
MnB4IChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIGxpbmUtaGVpZ2h0OiBub3JtYWwgKG9y
aWdpbmFsIHByb3BlcnR5IHdhcyBmb250IGFuZCBwcm9wZXJ0eSB3YXMgaW1wbGljaXRseSBzZXQu
KQorZm9udC1mYW1pbHk6IHNlcmlmIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIAogRm9u
dCBmb3IgJ25vcm1hbCBub3JtYWwgMTJweCBzZXJpZic6Ci1mb250LWZhbWlseTogc2VyaWYgKG9y
aWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQotZm9udC1zaXplOiAxMnB4IChvcmlnaW5hbCBwcm9w
ZXJ0eSB3YXMgZm9udCkKIGZvbnQtc3R5bGU6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkgd2Fz
IGZvbnQpCiBmb250LXZhcmlhbnQ6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQp
CiBmb250LXdlaWdodDogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCBhbmQgcHJv
cGVydHkgd2FzIGltcGxpY2l0bHkgc2V0LikKK2ZvbnQtc2l6ZTogMTJweCAob3JpZ2luYWwgcHJv
cGVydHkgd2FzIGZvbnQpCiBsaW5lLWhlaWdodDogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3
YXMgZm9udCBhbmQgcHJvcGVydHkgd2FzIGltcGxpY2l0bHkgc2V0LikKK2ZvbnQtZmFtaWx5OiBz
ZXJpZiAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiAKIEZvbnQgZm9yICdub3JtYWwgbm9y
bWFsIG5vcm1hbCAxMnB4IHNlcmlmJzoKLWZvbnQtZmFtaWx5OiBzZXJpZiAob3JpZ2luYWwgcHJv
cGVydHkgd2FzIGZvbnQpCi1mb250LXNpemU6IDEycHggKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBm
b250KQogZm9udC1zdHlsZTogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIGZv
bnQtdmFyaWFudDogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIGZvbnQtd2Vp
Z2h0OiBub3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQorZm9udC1zaXplOiAxMnB4
IChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIGxpbmUtaGVpZ2h0OiBub3JtYWwgKG9yaWdp
bmFsIHByb3BlcnR5IHdhcyBmb250IGFuZCBwcm9wZXJ0eSB3YXMgaW1wbGljaXRseSBzZXQuKQor
Zm9udC1mYW1pbHk6IHNlcmlmIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIAogRm9udCBm
b3IgJ2l0YWxpYyBzbWFsbC1jYXBzIDEycHgvMjRweCBzZXJpZic6Ci1mb250LWZhbWlseTogc2Vy
aWYgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQotZm9udC1zaXplOiAxMnB4IChvcmlnaW5h
bCBwcm9wZXJ0eSB3YXMgZm9udCkKIGZvbnQtc3R5bGU6IGl0YWxpYyAob3JpZ2luYWwgcHJvcGVy
dHkgd2FzIGZvbnQpCiBmb250LXZhcmlhbnQ6IHNtYWxsLWNhcHMgKG9yaWdpbmFsIHByb3BlcnR5
IHdhcyBmb250KQogZm9udC13ZWlnaHQ6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZv
bnQgYW5kIHByb3BlcnR5IHdhcyBpbXBsaWNpdGx5IHNldC4pCitmb250LXNpemU6IDEycHggKG9y
aWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQogbGluZS1oZWlnaHQ6IDI0cHggKG9yaWdpbmFsIHBy
b3BlcnR5IHdhcyBmb250KQorZm9udC1mYW1pbHk6IHNlcmlmIChvcmlnaW5hbCBwcm9wZXJ0eSB3
YXMgZm9udCkKIAogRm9udCBmb3IgJ2l0YWxpYyBib2xkIDEycHgvMjRweCBzZXJpZic6Ci1mb250
LWZhbWlseTogc2VyaWYgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQotZm9udC1zaXplOiAx
MnB4IChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIGZvbnQtc3R5bGU6IGl0YWxpYyAob3Jp
Z2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCi1mb250LXZhcmlhbnQ6IG5vcm1hbCAob3JpZ2luYWwg
cHJvcGVydHkgd2FzIGZvbnQgYW5kIHByb3BlcnR5IHdhcyBpbXBsaWNpdGx5IHNldC4pCiBmb250
LXdlaWdodDogYm9sZCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCitmb250LXZhcmlhbnQ6
IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQgYW5kIHByb3BlcnR5IHdhcyBpbXBs
aWNpdGx5IHNldC4pCitmb250LXNpemU6IDEycHggKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250
KQogbGluZS1oZWlnaHQ6IDI0cHggKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQorZm9udC1m
YW1pbHk6IHNlcmlmIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIAogRm9udCBmb3IgJ3Nt
YWxsLWNhcHMgYm9sZCAxNHB4LzI4cHggQXJpYWwsIHNhbnMtc2VyaWYnOgotZm9udC1mYW1pbHk6
IEFyaWFsLCBzYW5zLXNlcmlmIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKLWZvbnQtc2l6
ZTogMTRweCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCi1mb250LXN0eWxlOiBub3JtYWwg
KG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250IGFuZCBwcm9wZXJ0eSB3YXMgaW1wbGljaXRseSBz
ZXQuKQogZm9udC12YXJpYW50OiBzbWFsbC1jYXBzIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9u
dCkKIGZvbnQtd2VpZ2h0OiBib2xkIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKK2ZvbnQt
c3R5bGU6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQgYW5kIHByb3BlcnR5IHdh
cyBpbXBsaWNpdGx5IHNldC4pCitmb250LXNpemU6IDE0cHggKG9yaWdpbmFsIHByb3BlcnR5IHdh
cyBmb250KQogbGluZS1oZWlnaHQ6IDI4cHggKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQor
Zm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9u
dCkKIAogRm9udCBmb3IgJ2l0YWxpYyBzbWFsbC1jYXBzIGJvbGQgMTRweC8yOHB4IEFyaWFsLCBz
YW5zLXNlcmlmJzoKLWZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZiAob3JpZ2luYWwgcHJv
cGVydHkgd2FzIGZvbnQpCi1mb250LXNpemU6IDE0cHggKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBm
b250KQogZm9udC1zdHlsZTogaXRhbGljIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIGZv
bnQtdmFyaWFudDogc21hbGwtY2FwcyAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiBmb250
LXdlaWdodDogYm9sZCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCitmb250LXNpemU6IDE0
cHggKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQogbGluZS1oZWlnaHQ6IDI4cHggKG9yaWdp
bmFsIHByb3BlcnR5IHdhcyBmb250KQorZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmIChv
cmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIAogRm9udCBmb3IgJ2l0YWxpYyBzbWFsbC1jYXBz
IGJvbGQgMTJweC8yNHB4JzoKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127169</attachid>
            <date>2012-02-15 05:51:22 -0800</date>
            <delta_ts>2012-02-15 09:28:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78698-20120215105109.patch</filename>
            <type>text/plain</type>
            <size>17702</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3ODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmI1YzhiMDA4NWNlOTgx
NjdmN2U5ZDNkODRjMDYyNTIyNDQ2ZTY2Ni4uNjA4MmJiZmNkZjJjMTM1Y2Y2ZmJlMTIxODlmZTY2
YTY5MjNhZDJjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTAyLTE1ICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIFNpbXBs
aWZ5IENTU1BhcnNlcjo6cGFyc2VGb250LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Nzg2OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTaW1wbGlmeSBwYXJzZUZvbnQgYnkgc2hhcmluZyB0aGUgY29kZSB3
ZSBoYXZlIGZvcgorICAgICAgICB0aGUgbG9uZ2hhbmRzIG9mIHRoZSBmb250IHByb3BlcnR5Lgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cyA6IEV4dGVuZCB0aGUgZXhpc3Rpbmcgb25lIGFuZCBtb2Rp
ZnkgYW4gZXhwZWN0ZWQgZmlsZQorICAgICAgICBhcyBub3cgdGhlIG9yZGVyIG9mIHRoZSBsb25n
aGFuZHMgYWRkZWQgaW4gdGhlIHByb3BlcnR5IGxpc3Qgb2YgdGhlIHN0eWxlCisgICAgICAgIGhh
cyBjaGFuZ2VkLiBJdCdzIHZlcnkgdW5saWtlbHkgdGhhdCBzb21lIGNvZGUgaXMgcmVseWluZyBv
biB0aGlzIG9yZGVyLgorCisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFy
c2VyOjpwYXJzZUZvbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUZvbnRX
ZWlnaHQpOgorCiAyMDEyLTAyLTE1ICBIYWppbWUgTW9ycml0YSAgPG1vcnJpdGFAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjEwNzUxOCk6IERldmljZU9yaWVudGF0aW9uQ29u
dHJvbGxlciBkb2Vzbid0IHJlbW92ZSByZWdpc3RlcmVkIERPTVdpbmRvd3MKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlci5jcHAKaW5kZXggYWI3NjA1MWJlMzhkNzEzNzI3ZDY1MTQwMjU0ZGM0OTFkZmUxZDc5
ZC4uZWNiNjQ3OWM5NGNmNTEzNTY0ZWJhNDVjNzgxMmUzOTUzNzIwYzdmNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlci5jcHAKQEAgLTExMzQsOSArMTEzNCwxMSBAQCBib29sIENTU1BhcnNlcjo6cGFy
c2VWYWx1ZShpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgICAgIHZhbGlkUHJp
bWl0aXZlID0gdHJ1ZTsKICAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIENTU1Byb3BlcnR5Rm9u
dFdlaWdodDogIC8vIG5vcm1hbCB8IGJvbGQgfCBib2xkZXIgfCBsaWdodGVyIHwgMTAwIHwgMjAw
IHwgMzAwIHwgNDAwIHwgNTAwIHwgNjAwIHwgNzAwIHwgODAwIHwgOTAwIHwgaW5oZXJpdAorICAg
IGNhc2UgQ1NTUHJvcGVydHlGb250V2VpZ2h0OiAgeyAvLyBub3JtYWwgfCBib2xkIHwgYm9sZGVy
IHwgbGlnaHRlciB8IDEwMCB8IDIwMCB8IDMwMCB8IDQwMCB8IDUwMCB8IDYwMCB8IDcwMCB8IDgw
MCB8IDkwMCB8IGluaGVyaXQKKyAgICAgICAgaWYgKG1fdmFsdWVMaXN0LT5zaXplKCkgIT0gMSkK
KyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgcmV0dXJuIHBhcnNlRm9udFdlaWdo
dChpbXBvcnRhbnQpOwotCisgICAgfQogICAgIGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJTcGFjaW5n
OiB7CiAgICAgICAgIGNvbnN0IGludCBwcm9wZXJ0aWVzWzJdID0geyBDU1NQcm9wZXJ0eVdlYmtp
dEJvcmRlckhvcml6b250YWxTcGFjaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJWZXJ0aWNhbFNwYWNpbmcgfTsKQEAgLTQxMzUs
MTExICs0MTM3LDQ5IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVdyYXBTaGFwZShib29sIHNoYXBl
SW5zaWRlLCBib29sIGltcG9ydGFudCkKIC8vIFsgJ2ZvbnQtc3R5bGUnIHx8ICdmb250LXZhcmlh
bnQnIHx8ICdmb250LXdlaWdodCcgXT8gJ2ZvbnQtc2l6ZScgWyAvICdsaW5lLWhlaWdodCcgXT8g
J2ZvbnQtZmFtaWx5JwogYm9vbCBDU1NQYXJzZXI6OnBhcnNlRm9udChib29sIGltcG9ydGFudCkK
IHsKLSAgICBib29sIHZhbGlkID0gdHJ1ZTsKLSAgICBib29sIHN0eWxlSW1wbGljaXQgPSB0cnVl
OwotICAgIGJvb2wgdmFyaWFudEltcGxpY2l0ID0gdHJ1ZTsKLSAgICBib29sIHdlaWdodEltcGxp
Y2l0ID0gdHJ1ZTsKLSAgICBib29sIGxpbmVIZWlnaHRJbXBsaWNpdCA9IHRydWU7Ci0gICAgaW50
IHZhbHVlT3JkaW5hbCA9IDA7Ci0KLSAgICBDU1NQYXJzZXJWYWx1ZSAqdmFsdWUgPSBtX3ZhbHVl
TGlzdC0+Y3VycmVudCgpOwotICAgIFJlZlB0cjxGb250VmFsdWU+IGZvbnQgPSBGb250VmFsdWU6
OmNyZWF0ZSgpOwotICAgIC8vIE9wdGlvbmFsIGZvbnQtc3R5bGUsIGZvbnQtdmFyaWFudCBhbmQg
Zm9udC13ZWlnaHQuCi0gICAgd2hpbGUgKHZhbHVlKSB7Ci0gICAgICAgIGludCBpZCA9IHZhbHVl
LT5pZDsKLSAgICAgICAgaWYgKGlkID09IENTU1ZhbHVlSW5pdGlhbCB8fCBpZCA9PSBDU1NWYWx1
ZUluaGVyaXQpCisgICAgLy8gTGV0J3MgY2hlY2sgaWYgdGhlcmUgaXMgYW4gaW5oZXJpdCBvciBp
bml0aWFsIHNvbWV3aGVyZSBpbiB0aGUgc2hvcnRoYW5kLgorICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBtX3ZhbHVlTGlzdC0+c2l6ZSgpOyArK2kpIHsKKyAgICAgICAgaWYgKG1fdmFsdWVM
aXN0LT52YWx1ZUF0KGkpLT5pZCA9PSBDU1NWYWx1ZUluaGVyaXQgfHwgbV92YWx1ZUxpc3QtPnZh
bHVlQXQoaSktPmlkID09IENTU1ZhbHVlSW5pdGlhbCkKICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICAgICAgaWYgKGlkKSB7Ci0gICAgICAgICAgICBpZiAoaWQgPT0gQ1NTVmFsdWVOb3Jt
YWwpIHsKLSAgICAgICAgICAgICAgICAvLyBJdCdzIHRoZSBpbml0aWFsIHZhbHVlIGZvciBhbGwg
dGhyZWUsIHNvIG1hcmsgdGhlIGNvcnJlc3BvbmRpbmcgbG9uZ2hhbmQgYXMgZXhwbGljaXQuCi0g
ICAgICAgICAgICAgICAgc3dpdGNoICh2YWx1ZU9yZGluYWwpIHsKLSAgICAgICAgICAgICAgICBj
YXNlIDA6Ci0gICAgICAgICAgICAgICAgICAgIHN0eWxlSW1wbGljaXQgPSBmYWxzZTsKLSAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSAxOgotICAgICAgICAg
ICAgICAgICAgICB2YXJpYW50SW1wbGljaXQgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSAyOgotICAgICAgICAgICAgICAgICAgICB3ZWln
aHRJbXBsaWNpdCA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKGlkID09IENTU1ZhbHVlSXRhbGljIHx8
IGlkID09IENTU1ZhbHVlT2JsaXF1ZSkgewotICAgICAgICAgICAgICAgIGlmIChmb250LT5zdHls
ZSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgICAgIGZv
bnQtPnN0eWxlID0gY3NzVmFsdWVQb29sKCktPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShpZCk7Ci0g
ICAgICAgICAgICAgICAgc3R5bGVJbXBsaWNpdCA9IGZhbHNlOwotICAgICAgICAgICAgfSBlbHNl
IGlmIChpZCA9PSBDU1NWYWx1ZVNtYWxsQ2FwcykgewotICAgICAgICAgICAgICAgIGlmIChmb250
LT52YXJpYW50KQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAg
ICAgICAgZm9udC0+dmFyaWFudCA9IGNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFs
dWUoaWQpOwotICAgICAgICAgICAgICAgIHZhcmlhbnRJbXBsaWNpdCA9IGZhbHNlOwotICAgICAg
ICAgICAgfSBlbHNlIGlmIChpZCA+PSBDU1NWYWx1ZUJvbGQgJiYgaWQgPD0gQ1NTVmFsdWVMaWdo
dGVyKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGZvbnQtPndlaWdodCkKLSAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgICAgIGZvbnQtPndlaWdodCA9IGNzc1Zh
bHVlUG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUoaWQpOwotICAgICAgICAgICAgICAgIHdl
aWdodEltcGxpY2l0ID0gZmFsc2U7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAg
ICB2YWxpZCA9IGZhbHNlOwotICAgICAgICB9IGVsc2UgaWYgKCFmb250LT53ZWlnaHQgJiYgdmFs
aWRVbml0KHZhbHVlLCBGSW50ZWdlciB8IEZOb25OZWcsIHRydWUpKSB7Ci0gICAgICAgICAgICBp
bnQgd2VpZ2h0ID0gc3RhdGljX2Nhc3Q8aW50Pih2YWx1ZS0+ZlZhbHVlKTsKLSAgICAgICAgICAg
IGludCB2YWwgPSAwOwotICAgICAgICAgICAgaWYgKHdlaWdodCA9PSAxMDApCi0gICAgICAgICAg
ICAgICAgdmFsID0gQ1NTVmFsdWUxMDA7Ci0gICAgICAgICAgICBlbHNlIGlmICh3ZWlnaHQgPT0g
MjAwKQotICAgICAgICAgICAgICAgIHZhbCA9IENTU1ZhbHVlMjAwOwotICAgICAgICAgICAgZWxz
ZSBpZiAod2VpZ2h0ID09IDMwMCkKLSAgICAgICAgICAgICAgICB2YWwgPSBDU1NWYWx1ZTMwMDsK
LSAgICAgICAgICAgIGVsc2UgaWYgKHdlaWdodCA9PSA0MDApCi0gICAgICAgICAgICAgICAgdmFs
ID0gQ1NTVmFsdWU0MDA7Ci0gICAgICAgICAgICBlbHNlIGlmICh3ZWlnaHQgPT0gNTAwKQotICAg
ICAgICAgICAgICAgIHZhbCA9IENTU1ZhbHVlNTAwOwotICAgICAgICAgICAgZWxzZSBpZiAod2Vp
Z2h0ID09IDYwMCkKLSAgICAgICAgICAgICAgICB2YWwgPSBDU1NWYWx1ZTYwMDsKLSAgICAgICAg
ICAgIGVsc2UgaWYgKHdlaWdodCA9PSA3MDApCi0gICAgICAgICAgICAgICAgdmFsID0gQ1NTVmFs
dWU3MDA7Ci0gICAgICAgICAgICBlbHNlIGlmICh3ZWlnaHQgPT0gODAwKQotICAgICAgICAgICAg
ICAgIHZhbCA9IENTU1ZhbHVlODAwOwotICAgICAgICAgICAgZWxzZSBpZiAod2VpZ2h0ID09IDkw
MCkKLSAgICAgICAgICAgICAgICB2YWwgPSBDU1NWYWx1ZTkwMDsKLQotICAgICAgICAgICAgaWYg
KHZhbCkgewotICAgICAgICAgICAgICAgIGZvbnQtPndlaWdodCA9IGNzc1ZhbHVlUG9vbCgpLT5j
cmVhdGVJZGVudGlmaWVyVmFsdWUodmFsKTsKLSAgICAgICAgICAgICAgICB3ZWlnaHRJbXBsaWNp
dCA9IGZhbHNlOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgdmFsaWQgPSBm
YWxzZTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHZhbGlkID0gZmFsc2U7Ci0gICAg
ICAgIH0KLSAgICAgICAgaWYgKCF2YWxpZCkKKyAgICB9CisgICAgU2hvcnRoYW5kU2NvcGUgc2Nv
cGUodGhpcywgQ1NTUHJvcGVydHlGb250KTsKKyAgICAvLyBPcHRpb25hbCBmb250LXN0eWxlLCBm
b250LXZhcmlhbnQgYW5kIGZvbnQtd2VpZ2h0LgorICAgIGJvb2wgZm9udFN0eWxlUGFyc2VkID0g
ZmFsc2U7CisgICAgYm9vbCBmb250VmFyaWFudFBhcnNlZCA9IGZhbHNlOworICAgIGJvb2wgZm9u
dFdlaWdodFBhcnNlZCA9IGZhbHNlOworICAgIENTU1BhcnNlclZhbHVlKiB2YWx1ZTsKKyAgICB3
aGlsZSAoKHZhbHVlID0gbV92YWx1ZUxpc3QtPmN1cnJlbnQoKSkpIHsKKyAgICAgICAgaWYgKCFm
b250U3R5bGVQYXJzZWQgJiYgcGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUZvbnRTdHlsZSwgaW1wb3J0
YW50KSkKKyAgICAgICAgICAgIGZvbnRTdHlsZVBhcnNlZCA9IHRydWU7CisgICAgICAgIGVsc2Ug
aWYgKCFmb250VmFyaWFudFBhcnNlZCAmJiAodmFsdWUtPmlkID09IENTU1ZhbHVlTm9ybWFsIHx8
IHZhbHVlLT5pZCA9PSBDU1NWYWx1ZVNtYWxsQ2FwcykpIHsKKyAgICAgICAgICAgIC8vIEZvbnQg
dmFyaWFudCBpbiB0aGUgc2hvcnRoYW5kIGlzIHBhcnRpY3VsYXIsIGl0IG9ubHkgYWNjZXB0cyBu
b3JtYWwgb3Igc21hbGwtY2Fwcy4KKyAgICAgICAgICAgIGFkZFByb3BlcnR5KENTU1Byb3BlcnR5
Rm9udFZhcmlhbnQsIGNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUodmFsdWUt
PmlkKSwgaW1wb3J0YW50KTsKKyAgICAgICAgICAgIGZvbnRWYXJpYW50UGFyc2VkID0gdHJ1ZTsK
KyAgICAgICAgICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7CisgICAgICAgIH0gZWxzZSBpZiAoIWZv
bnRXZWlnaHRQYXJzZWQgJiYgcGFyc2VGb250V2VpZ2h0KGltcG9ydGFudCkpIHsKKyAgICAgICAg
ICAgIGZvbnRXZWlnaHRQYXJzZWQgPSB0cnVlOworICAgICAgICAgICAgbV92YWx1ZUxpc3QtPm5l
eHQoKTsKKyAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgdmFsdWUg
PSBtX3ZhbHVlTGlzdC0+bmV4dCgpOwotICAgICAgICArK3ZhbHVlT3JkaW5hbDsKICAgICB9Ci0g
ICAgaWYgKCF2YWx1ZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKHZhbHVlLT5p
ZCA9PSBDU1NWYWx1ZUluaXRpYWwgfHwgdmFsdWUtPmlkID09IENTU1ZhbHVlSW5oZXJpdCkKKyAg
ICBpZiAoIXZhbHVlKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAvLyBTZXQgdW5kZWZp
bmVkIHZhbHVlcyB0byBkZWZhdWx0LgotICAgIGlmICghZm9udC0+c3R5bGUpCi0gICAgICAgIGZv
bnQtPnN0eWxlID0gY3NzVmFsdWVQb29sKCktPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1
ZU5vcm1hbCk7Ci0gICAgaWYgKCFmb250LT52YXJpYW50KQotICAgICAgICBmb250LT52YXJpYW50
ID0gY3NzVmFsdWVQb29sKCktPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZU5vcm1hbCk7
Ci0gICAgaWYgKCFmb250LT53ZWlnaHQpCi0gICAgICAgIGZvbnQtPndlaWdodCA9IGNzc1ZhbHVl
UG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb3JtYWwpOworICAgIGlmICgh
Zm9udFN0eWxlUGFyc2VkKQorICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRTdHls
ZSwgY3NzVmFsdWVQb29sKCktPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZU5vcm1hbCks
IGltcG9ydGFudCwgdHJ1ZSk7CisgICAgaWYgKCFmb250VmFyaWFudFBhcnNlZCkKKyAgICAgICAg
YWRkUHJvcGVydHkoQ1NTUHJvcGVydHlGb250VmFyaWFudCwgY3NzVmFsdWVQb29sKCktPmNyZWF0
ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZU5vcm1hbCksIGltcG9ydGFudCwgdHJ1ZSk7CisgICAg
aWYgKCFmb250V2VpZ2h0UGFyc2VkKQorICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZv
bnRXZWlnaHQsIGNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVO
b3JtYWwpLCBpbXBvcnRhbnQsIHRydWUpOwogCiAgICAgLy8gTm93IGEgZm9udCBzaXplIF9tdXN0
XyBjb21lLgogICAgIC8vIDxhYnNvbHV0ZS1zaXplPiB8IDxyZWxhdGl2ZS1zaXplPiB8IDxsZW5n
dGg+IHwgPHBlcmNlbnRhZ2U+IHwgaW5oZXJpdAotICAgIGlmICh2YWx1ZS0+aWQgPj0gQ1NTVmFs
dWVYeFNtYWxsICYmIHZhbHVlLT5pZCA8PSBDU1NWYWx1ZUxhcmdlcikKLSAgICAgICAgZm9udC0+
c2l6ZSA9IGNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUodmFsdWUtPmlkKTsK
LSAgICBlbHNlIGlmICh2YWxpZFVuaXQodmFsdWUsIEZMZW5ndGggfCBGUGVyY2VudCB8IEZOb25O
ZWcsIG1fc3RyaWN0KSkKLSAgICAgICAgZm9udC0+c2l6ZSA9IGNyZWF0ZVByaW1pdGl2ZU51bWVy
aWNWYWx1ZSh2YWx1ZSk7Ci0gICAgdmFsdWUgPSBtX3ZhbHVlTGlzdC0+bmV4dCgpOwotICAgIGlm
ICghZm9udC0+c2l6ZSB8fCAhdmFsdWUpCisgICAgaWYgKCFwYXJzZVZhbHVlKENTU1Byb3BlcnR5
Rm9udFNpemUsIGltcG9ydGFudCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmICh2
YWx1ZS0+aWQgPT0gQ1NTVmFsdWVJbml0aWFsIHx8IHZhbHVlLT5pZCA9PSBDU1NWYWx1ZUluaGVy
aXQpCisgICAgdmFsdWUgPSBtX3ZhbHVlTGlzdC0+Y3VycmVudCgpOworICAgIGlmICghdmFsdWUp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGlmICh2YWx1ZS0+dW5pdCA9PSBDU1NQYXJz
ZXJWYWx1ZTo6T3BlcmF0b3IgJiYgdmFsdWUtPmlWYWx1ZSA9PSAnLycpIHsKQEAgLTQyNDcsNDIg
KzQxODcsMjEgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlRm9udChib29sIGltcG9ydGFudCkKICAg
ICAgICAgdmFsdWUgPSBtX3ZhbHVlTGlzdC0+bmV4dCgpOwogICAgICAgICBpZiAoIXZhbHVlKQog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBpZiAodmFsdWUtPmlkID09IENTU1Zh
bHVlTm9ybWFsKSB7Ci0gICAgICAgICAgICAvLyBEZWZhdWx0IHZhbHVlLCBqdXN0IG1hcmsgdGhl
IHByb3BlcnR5IGFzIGV4cGxpY2l0LgotICAgICAgICAgICAgbGluZUhlaWdodEltcGxpY2l0ID0g
ZmFsc2U7Ci0gICAgICAgIH0gZWxzZSBpZiAodmFsaWRVbml0KHZhbHVlLCBGTnVtYmVyIHwgRkxl
bmd0aCB8IEZQZXJjZW50IHwgRk5vbk5lZywgbV9zdHJpY3QpKSB7Ci0gICAgICAgICAgICBmb250
LT5saW5lSGVpZ2h0ID0gY3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKHZhbHVlKTsKLSAgICAg
ICAgICAgIGxpbmVIZWlnaHRJbXBsaWNpdCA9IGZhbHNlOwotICAgICAgICB9IGVsc2UKLSAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgdmFsdWUgPSBtX3ZhbHVlTGlzdC0+bmV4dCgp
OwotICAgICAgICBpZiAoIXZhbHVlKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0K
LQotICAgIGlmICh2YWx1ZS0+aWQgPT0gQ1NTVmFsdWVJbml0aWFsIHx8IHZhbHVlLT5pZCA9PSBD
U1NWYWx1ZUluaGVyaXQpCi0gICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmICghZm9udC0+
bGluZUhlaWdodCkKLSAgICAgICAgZm9udC0+bGluZUhlaWdodCA9IGNzc1ZhbHVlUG9vbCgpLT5j
cmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb3JtYWwpOworICAgICAgICBpZiAoIXBhcnNl
VmFsdWUoQ1NTUHJvcGVydHlMaW5lSGVpZ2h0LCBpbXBvcnRhbnQpKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIH0gZWxzZQorICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUxp
bmVIZWlnaHQsIGNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVO
b3JtYWwpLCBpbXBvcnRhbnQsIHRydWUpOwogCiAgICAgLy8gRm9udCBmYW1pbHkgbXVzdCBjb21l
IG5vdy4KLSAgICBmb250LT5mYW1pbHkgPSBwYXJzZUZvbnRGYW1pbHkoKTsKLQotICAgIGlmICht
X3ZhbHVlTGlzdC0+Y3VycmVudCgpIHx8ICFmb250LT5mYW1pbHkpCisgICAgaWYgKCFwYXJzZVZh
bHVlKENTU1Byb3BlcnR5Rm9udEZhbWlseSwgaW1wb3J0YW50KSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCi0gICAgU2hvcnRoYW5kU2NvcGUgc2NvcGUodGhpcywgQ1NTUHJvcGVydHlGb250KTsK
LSAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRGYW1pbHksIGZvbnQtPmZhbWlseSwgaW1w
b3J0YW50KTsKLSAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRTaXplLCBmb250LT5zaXpl
LCBpbXBvcnRhbnQpOwotICAgIGFkZFByb3BlcnR5KENTU1Byb3BlcnR5Rm9udFN0eWxlLCBmb250
LT5zdHlsZSwgaW1wb3J0YW50LCBzdHlsZUltcGxpY2l0KTsKLSAgICBhZGRQcm9wZXJ0eShDU1NQ
cm9wZXJ0eUZvbnRWYXJpYW50LCBmb250LT52YXJpYW50LCBpbXBvcnRhbnQsIHZhcmlhbnRJbXBs
aWNpdCk7Ci0gICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlGb250V2VpZ2h0LCBmb250LT53ZWln
aHQsIGltcG9ydGFudCwgd2VpZ2h0SW1wbGljaXQpOwotICAgIGFkZFByb3BlcnR5KENTU1Byb3Bl
cnR5TGluZUhlaWdodCwgZm9udC0+bGluZUhlaWdodCwgaW1wb3J0YW50LCBsaW5lSGVpZ2h0SW1w
bGljaXQpOwotCiAgICAgLy8gRklYTUU6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTEvV0QtY3Nz
My1mb250cy0yMDExMDMyNC8jZm9udC1wcm9wIHJlcXVpcmVzIHRoYXQKICAgICAvLyAiZm9udC1z
dHJldGNoIiwgImZvbnQtc2l6ZS1hZGp1c3QiLCBhbmQgImZvbnQta2VybmluZyIgYmUgcmVzZXQg
dG8gdGhlaXIgaW5pdGlhbCB2YWx1ZXMKICAgICAvLyBidXQgd2UgZG9uJ3Qgc2VlbSB0byBzdXBw
b3J0IHRoZW0gYXQgdGhlIG1vbWVudC4gVGhleSBzaG91bGQgYWxzbyBiZSBhZGRlZCBoZXJlIG9u
Y2UgaW1wbGVtZW50ZWQuCisgICAgaWYgKG1fdmFsdWVMaXN0LT5jdXJyZW50KCkpCisgICAgICAg
cmV0dXJuIGZhbHNlOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC00Mzk3LDkgKzQzMTYsNiBA
QCBib29sIENTU1BhcnNlcjo6cGFyc2VGb250VmFyaWFudChib29sIGltcG9ydGFudCkKIAogYm9v
bCBDU1NQYXJzZXI6OnBhcnNlRm9udFdlaWdodChib29sIGltcG9ydGFudCkKIHsKLSAgICBpZiAo
bV92YWx1ZUxpc3QtPnNpemUoKSAhPSAxKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KICAgICBD
U1NQYXJzZXJWYWx1ZSogdmFsdWUgPSBtX3ZhbHVlTGlzdC0+Y3VycmVudCgpOwogICAgIGlmICgo
dmFsdWUtPmlkID49IENTU1ZhbHVlTm9ybWFsKSAmJiAodmFsdWUtPmlkIDw9IENTU1ZhbHVlOTAw
KSkgewogICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRXZWlnaHQsIGNzc1ZhbHVl
UG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUodmFsdWUtPmlkKSwgaW1wb3J0YW50KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCA0ODc1MTMxYTRiYjc4YTVhYTY4NDdhYjNjZDdlM2E5OWVhZGQ0ZDdlLi5lYjg2Njk1OGJl
YjdiNjFhYzJmZmYwZGY5MzFhOWU0Yzk5ZjZiMDZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIw
MTItMDItMTUgIEFsZXhpcyBNZW5hcmQgIDxhbGV4aXMubWVuYXJkQG9wZW5ib3NzYS5vcmc+CisK
KyAgICAgICAgU2ltcGxpZnkgQ1NTUGFyc2VyOjpwYXJzZUZvbnQuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODY5OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIG5ldyBpbmNvcnJlY3QgdmFsdWVz
IHRvIGltcHJvdmUgdGhlIHRlc3QgY292ZXJhZ2Ugb2YgdGhlIGZvbnQgc2hvcnRoYW5kIHByb3Bl
cnR5LgorCisgICAgICAgIFRoZSBwYXRjaCBjaGFuZ2VkIHRoZSBvcmRlciB0aGUgbG9uZ2hhbmRz
IGFyZSBhZGRlZCB0byB0aGUgbGlzdAorICAgICAgICBvZiBwcm9wZXJ0aWVzIG9mIHRoZSBzdHls
ZSwgaXQncyB2ZXJ5IHVubGlrZWx5IHRoYXQgc29tZSBjb2RlIGlzCisgICAgICAgIHJlbHlpbmcg
b24gdGhpcyBvcmRlci4KKworICAgICAgICAqIGZhc3QvY3NzL2ZvbnQtc2hvcnRoYW5kLWV4cGVj
dGVkLnR4dDoKKwogMjAxMi0wMi0xNSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgY2hhbmdlIHRoZSBlbmNvZGluZyBvZiBhIHRlc3QgSFRN
TC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2ZvbnQtc2hvcnRoYW5kLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2ZvbnQtc2hvcnRoYW5kLWV4cGVjdGVkLnR4
dAppbmRleCBlYjJjNDYxMmNhNTc4ZTM2MGJhNTY2ZDgyZmM4MzMyNzIwOWU3ZmQ2Li43ZjY4NDk1
NWVhODM1M2U4MTE4OWI4OTM5MWI4ZmRhNThmNDAzYTQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy9mb250LXNob3J0aGFuZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvZm9udC1zaG9ydGhhbmQtZXhwZWN0ZWQudHh0CkBAIC0xLDc1ICsxLDc1IEBACiBU
ZXN0CiBGb250IGZvciAnMTJweCBtb25vc3BhY2UnOgotZm9udC1mYW1pbHk6IG1vbm9zcGFjZSAo
b3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCi1mb250LXNpemU6IDEycHggKG9yaWdpbmFsIHBy
b3BlcnR5IHdhcyBmb250KQogZm9udC1zdHlsZTogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3
YXMgZm9udCBhbmQgcHJvcGVydHkgd2FzIGltcGxpY2l0bHkgc2V0LikKIGZvbnQtdmFyaWFudDog
bm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCBhbmQgcHJvcGVydHkgd2FzIGltcGxp
Y2l0bHkgc2V0LikKIGZvbnQtd2VpZ2h0OiBub3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBm
b250IGFuZCBwcm9wZXJ0eSB3YXMgaW1wbGljaXRseSBzZXQuKQorZm9udC1zaXplOiAxMnB4IChv
cmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIGxpbmUtaGVpZ2h0OiBub3JtYWwgKG9yaWdpbmFs
IHByb3BlcnR5IHdhcyBmb250IGFuZCBwcm9wZXJ0eSB3YXMgaW1wbGljaXRseSBzZXQuKQorZm9u
dC1mYW1pbHk6IG1vbm9zcGFjZSAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiAKIEZvbnQg
Zm9yICcxMnB4LzI0cHggc2VyaWYnOgotZm9udC1mYW1pbHk6IHNlcmlmIChvcmlnaW5hbCBwcm9w
ZXJ0eSB3YXMgZm9udCkKLWZvbnQtc2l6ZTogMTJweCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZv
bnQpCiBmb250LXN0eWxlOiBub3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250IGFuZCBw
cm9wZXJ0eSB3YXMgaW1wbGljaXRseSBzZXQuKQogZm9udC12YXJpYW50OiBub3JtYWwgKG9yaWdp
bmFsIHByb3BlcnR5IHdhcyBmb250IGFuZCBwcm9wZXJ0eSB3YXMgaW1wbGljaXRseSBzZXQuKQog
Zm9udC13ZWlnaHQ6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQgYW5kIHByb3Bl
cnR5IHdhcyBpbXBsaWNpdGx5IHNldC4pCitmb250LXNpemU6IDEycHggKG9yaWdpbmFsIHByb3Bl
cnR5IHdhcyBmb250KQogbGluZS1oZWlnaHQ6IDI0cHggKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBm
b250KQorZm9udC1mYW1pbHk6IHNlcmlmIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIAog
Rm9udCBmb3IgJ25vcm1hbCAxMnB4IHNlcmlmJzoKLWZvbnQtZmFtaWx5OiBzZXJpZiAob3JpZ2lu
YWwgcHJvcGVydHkgd2FzIGZvbnQpCi1mb250LXNpemU6IDEycHggKG9yaWdpbmFsIHByb3BlcnR5
IHdhcyBmb250KQogZm9udC1zdHlsZTogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9u
dCkKIGZvbnQtdmFyaWFudDogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCBhbmQg
cHJvcGVydHkgd2FzIGltcGxpY2l0bHkgc2V0LikKIGZvbnQtd2VpZ2h0OiBub3JtYWwgKG9yaWdp
bmFsIHByb3BlcnR5IHdhcyBmb250IGFuZCBwcm9wZXJ0eSB3YXMgaW1wbGljaXRseSBzZXQuKQor
Zm9udC1zaXplOiAxMnB4IChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIGxpbmUtaGVpZ2h0
OiBub3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250IGFuZCBwcm9wZXJ0eSB3YXMgaW1w
bGljaXRseSBzZXQuKQorZm9udC1mYW1pbHk6IHNlcmlmIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMg
Zm9udCkKIAogRm9udCBmb3IgJ25vcm1hbCBub3JtYWwgMTJweCBzZXJpZic6Ci1mb250LWZhbWls
eTogc2VyaWYgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQotZm9udC1zaXplOiAxMnB4IChv
cmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIGZvbnQtc3R5bGU6IG5vcm1hbCAob3JpZ2luYWwg
cHJvcGVydHkgd2FzIGZvbnQpCiBmb250LXZhcmlhbnQ6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVy
dHkgd2FzIGZvbnQpCiBmb250LXdlaWdodDogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMg
Zm9udCBhbmQgcHJvcGVydHkgd2FzIGltcGxpY2l0bHkgc2V0LikKK2ZvbnQtc2l6ZTogMTJweCAo
b3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiBsaW5lLWhlaWdodDogbm9ybWFsIChvcmlnaW5h
bCBwcm9wZXJ0eSB3YXMgZm9udCBhbmQgcHJvcGVydHkgd2FzIGltcGxpY2l0bHkgc2V0LikKK2Zv
bnQtZmFtaWx5OiBzZXJpZiAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiAKIEZvbnQgZm9y
ICdub3JtYWwgbm9ybWFsIG5vcm1hbCAxMnB4IHNlcmlmJzoKLWZvbnQtZmFtaWx5OiBzZXJpZiAo
b3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCi1mb250LXNpemU6IDEycHggKG9yaWdpbmFsIHBy
b3BlcnR5IHdhcyBmb250KQogZm9udC1zdHlsZTogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3
YXMgZm9udCkKIGZvbnQtdmFyaWFudDogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9u
dCkKIGZvbnQtd2VpZ2h0OiBub3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQorZm9u
dC1zaXplOiAxMnB4IChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIGxpbmUtaGVpZ2h0OiBu
b3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250IGFuZCBwcm9wZXJ0eSB3YXMgaW1wbGlj
aXRseSBzZXQuKQorZm9udC1mYW1pbHk6IHNlcmlmIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9u
dCkKIAogRm9udCBmb3IgJ2l0YWxpYyBzbWFsbC1jYXBzIDEycHgvMjRweCBzZXJpZic6Ci1mb250
LWZhbWlseTogc2VyaWYgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQotZm9udC1zaXplOiAx
MnB4IChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIGZvbnQtc3R5bGU6IGl0YWxpYyAob3Jp
Z2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiBmb250LXZhcmlhbnQ6IHNtYWxsLWNhcHMgKG9yaWdp
bmFsIHByb3BlcnR5IHdhcyBmb250KQogZm9udC13ZWlnaHQ6IG5vcm1hbCAob3JpZ2luYWwgcHJv
cGVydHkgd2FzIGZvbnQgYW5kIHByb3BlcnR5IHdhcyBpbXBsaWNpdGx5IHNldC4pCitmb250LXNp
emU6IDEycHggKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQogbGluZS1oZWlnaHQ6IDI0cHgg
KG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQorZm9udC1mYW1pbHk6IHNlcmlmIChvcmlnaW5h
bCBwcm9wZXJ0eSB3YXMgZm9udCkKIAogRm9udCBmb3IgJ2l0YWxpYyBib2xkIDEycHgvMjRweCBz
ZXJpZic6Ci1mb250LWZhbWlseTogc2VyaWYgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQot
Zm9udC1zaXplOiAxMnB4IChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIGZvbnQtc3R5bGU6
IGl0YWxpYyAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCi1mb250LXZhcmlhbnQ6IG5vcm1h
bCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQgYW5kIHByb3BlcnR5IHdhcyBpbXBsaWNpdGx5
IHNldC4pCiBmb250LXdlaWdodDogYm9sZCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCitm
b250LXZhcmlhbnQ6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQgYW5kIHByb3Bl
cnR5IHdhcyBpbXBsaWNpdGx5IHNldC4pCitmb250LXNpemU6IDEycHggKG9yaWdpbmFsIHByb3Bl
cnR5IHdhcyBmb250KQogbGluZS1oZWlnaHQ6IDI0cHggKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBm
b250KQorZm9udC1mYW1pbHk6IHNlcmlmIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIAog
Rm9udCBmb3IgJ3NtYWxsLWNhcHMgYm9sZCAxNHB4LzI4cHggQXJpYWwsIHNhbnMtc2VyaWYnOgot
Zm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9u
dCkKLWZvbnQtc2l6ZTogMTRweCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCi1mb250LXN0
eWxlOiBub3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250IGFuZCBwcm9wZXJ0eSB3YXMg
aW1wbGljaXRseSBzZXQuKQogZm9udC12YXJpYW50OiBzbWFsbC1jYXBzIChvcmlnaW5hbCBwcm9w
ZXJ0eSB3YXMgZm9udCkKIGZvbnQtd2VpZ2h0OiBib2xkIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMg
Zm9udCkKK2ZvbnQtc3R5bGU6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQgYW5k
IHByb3BlcnR5IHdhcyBpbXBsaWNpdGx5IHNldC4pCitmb250LXNpemU6IDE0cHggKG9yaWdpbmFs
IHByb3BlcnR5IHdhcyBmb250KQogbGluZS1oZWlnaHQ6IDI4cHggKG9yaWdpbmFsIHByb3BlcnR5
IHdhcyBmb250KQorZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmIChvcmlnaW5hbCBwcm9w
ZXJ0eSB3YXMgZm9udCkKIAogRm9udCBmb3IgJ2l0YWxpYyBzbWFsbC1jYXBzIGJvbGQgMTRweC8y
OHB4IEFyaWFsLCBzYW5zLXNlcmlmJzoKLWZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZiAo
b3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCi1mb250LXNpemU6IDE0cHggKG9yaWdpbmFsIHBy
b3BlcnR5IHdhcyBmb250KQogZm9udC1zdHlsZTogaXRhbGljIChvcmlnaW5hbCBwcm9wZXJ0eSB3
YXMgZm9udCkKIGZvbnQtdmFyaWFudDogc21hbGwtY2FwcyAob3JpZ2luYWwgcHJvcGVydHkgd2Fz
IGZvbnQpCiBmb250LXdlaWdodDogYm9sZCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCitm
b250LXNpemU6IDE0cHggKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQogbGluZS1oZWlnaHQ6
IDI4cHggKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQorZm9udC1mYW1pbHk6IEFyaWFsLCBz
YW5zLXNlcmlmIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIAogRm9udCBmb3IgJ2l0YWxp
YyBzbWFsbC1jYXBzIGJvbGQgMTJweC8yNHB4JzoKIApAQCAtNzcsNCArNzcsMTAgQEAgRm9udCBm
b3IgJ2l0YWxpYyBzbWFsbC1jYXBzIGJvbGQgMTJweCc6CiAKIEZvbnQgZm9yICdpdGFsaWMgc21h
bGwtY2FwcyBib2xkIC8xMnB4IHNlcmlmJzoKIAorRm9udCBmb3IgJ2l0YWxpYyBzbWFsbC1jYXBz
IHNtYWxsLWNhcHMgMTJweCBzZXJpZic6CisKK0ZvbnQgZm9yICdpdGFsaWMgaXRhbGljIHNtYWxs
LWNhcHMgYm9sZCAxMnB4IHNlcmlmJzoKKworRm9udCBmb3IgJzEycHgvaXRhbGljIHNlcmlmJzoK
KwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9mb250LXNob3J0aGFuZC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZm9udC1zaG9ydGhhbmQuaHRtbAppbmRleCBmYzA4MjNk
NjlkYWI4ODBhMjZlMzE4ZDQyZTFkNGY4YTM5MzI3YTUwLi4wZjNiYjk4ZWI5YWYzZThjNDY2NTA0
YTAzMGFmYjQ4ZTc1OTdkYTk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9mb250
LXNob3J0aGFuZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2ZvbnQtc2hvcnRoYW5k
Lmh0bWwKQEAgLTQxLDYgKzQxLDkgQEAgdGVzdEZvbnRWYWx1ZSgiaXRhbGljIHNtYWxsLWNhcHMg
Ym9sZCAxNHB4LzI4cHggQXJpYWwsIHNhbnMtc2VyaWYiKTsKIHRlc3RGb250VmFsdWUoIml0YWxp
YyBzbWFsbC1jYXBzIGJvbGQgMTJweC8yNHB4Iik7CiB0ZXN0Rm9udFZhbHVlKCJpdGFsaWMgc21h
bGwtY2FwcyBib2xkIDEycHgiKTsKIHRlc3RGb250VmFsdWUoIml0YWxpYyBzbWFsbC1jYXBzIGJv
bGQgLzEycHggc2VyaWYiKTsKK3Rlc3RGb250VmFsdWUoIml0YWxpYyBzbWFsbC1jYXBzIHNtYWxs
LWNhcHMgMTJweCBzZXJpZiIpOwordGVzdEZvbnRWYWx1ZSgiaXRhbGljIGl0YWxpYyBzbWFsbC1j
YXBzIGJvbGQgMTJweCBzZXJpZiIpOwordGVzdEZvbnRWYWx1ZSgiMTJweC9pdGFsaWMgc2VyaWYi
KTsKIDwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127190</attachid>
            <date>2012-02-15 09:29:04 -0800</date>
            <delta_ts>2012-04-10 05:05:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78698-20120215142850.patch</filename>
            <type>text/plain</type>
            <size>19666</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3ODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmI1YzhiMDA4NWNlOTgx
NjdmN2U5ZDNkODRjMDYyNTIyNDQ2ZTY2Ni4uYmFkODQyNTk3ZTYzM2FjMDM0OTQ0NDNmYmMzNzc4
YzVkNzcyNTY1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTAyLTE1ICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIFNpbXBs
aWZ5IENTU1BhcnNlcjo6cGFyc2VGb250LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Nzg2OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTaW1wbGlmeSBwYXJzZUZvbnQgYnkgc2hhcmluZyB0aGUgY29kZSB3
ZSBoYXZlIGZvcgorICAgICAgICB0aGUgbG9uZ2hhbmRzIG9mIHRoZSBmb250IHByb3BlcnR5Lgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cyA6IEV4dGVuZCB0aGUgZXhpc3RpbmcgZm9udCBzaG9ydGhh
bmQgdGVzdCBhbmQgbW9kaWZ5IGV4cGVjdGVkIGZpbGVzCisgICAgICAgIGFzIG5vdyB0aGUgb3Jk
ZXIgb2YgdGhlIGxvbmdoYW5kcyBhZGRlZCBpbiB0aGUgcHJvcGVydHkgbGlzdCBvZiB0aGUgc3R5
bGUKKyAgICAgICAgaGFzIGNoYW5nZWQuIEl0J3MgdmVyeSB1bmxpa2VseSB0aGF0IHNvbWUgY29k
ZSBpcyByZWx5aW5nIG9uIHRoaXMgb3JkZXIgdGhvdWdoLgorCisgICAgICAgICogY3NzL0NTU1Bh
cnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUZvbnQpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUGFyc2VyOjpwYXJzZUZvbnRXZWlnaHQpOiBGaXggYSBidWcgZGlzY292ZXJlZCB3aGlsZSB1
c2luZyBwYXJzZUZvbnRXZWlnaHQgZnJvbQorICAgICAgICB0aGUgcGFyc2VGb250IChjYXNlIGZv
bnQ6IDAvMCwgQXJpYWwsIHNhbnMtc2VyaWY7IGluIGEgbGF5b3V0IHRlc3QpLCB3ZSBzaG91bGQg
cmV0dXJuIHRydWUgb25seSAKKyAgICAgICAgd2hlbiB3ZSBhZGQgc29tZXRoaW5nIGluIHRoZSBw
cm9wZXJ0eSBsaXN0LgorCiAyMDEyLTAyLTE1ICBIYWppbWUgTW9ycml0YSAgPG1vcnJpdGFAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjEwNzUxOCk6IERldmljZU9yaWVudGF0
aW9uQ29udHJvbGxlciBkb2Vzbid0IHJlbW92ZSByZWdpc3RlcmVkIERPTVdpbmRvd3MKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1BhcnNlci5jcHAKaW5kZXggYWI3NjA1MWJlMzhkNzEzNzI3ZDY1MTQwMjU0ZGM0OTFk
ZmUxZDc5ZC4uZmRjZDZjNDE4ZWY3OTA2NDgxYmNjYjkwMmU4MTUxMmZkZjkyYWNjNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTExMzQsOSArMTEzNCwxMSBAQCBib29sIENTU1BhcnNl
cjo6cGFyc2VWYWx1ZShpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgICAgIHZh
bGlkUHJpbWl0aXZlID0gdHJ1ZTsKICAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIENTU1Byb3Bl
cnR5Rm9udFdlaWdodDogIC8vIG5vcm1hbCB8IGJvbGQgfCBib2xkZXIgfCBsaWdodGVyIHwgMTAw
IHwgMjAwIHwgMzAwIHwgNDAwIHwgNTAwIHwgNjAwIHwgNzAwIHwgODAwIHwgOTAwIHwgaW5oZXJp
dAorICAgIGNhc2UgQ1NTUHJvcGVydHlGb250V2VpZ2h0OiAgeyAvLyBub3JtYWwgfCBib2xkIHwg
Ym9sZGVyIHwgbGlnaHRlciB8IDEwMCB8IDIwMCB8IDMwMCB8IDQwMCB8IDUwMCB8IDYwMCB8IDcw
MCB8IDgwMCB8IDkwMCB8IGluaGVyaXQKKyAgICAgICAgaWYgKG1fdmFsdWVMaXN0LT5zaXplKCkg
IT0gMSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgcmV0dXJuIHBhcnNlRm9u
dFdlaWdodChpbXBvcnRhbnQpOwotCisgICAgfQogICAgIGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJT
cGFjaW5nOiB7CiAgICAgICAgIGNvbnN0IGludCBwcm9wZXJ0aWVzWzJdID0geyBDU1NQcm9wZXJ0
eVdlYmtpdEJvcmRlckhvcml6b250YWxTcGFjaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJWZXJ0aWNhbFNwYWNpbmcgfTsKQEAg
LTQxMzUsMTExICs0MTM3LDQ5IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVdyYXBTaGFwZShib29s
IHNoYXBlSW5zaWRlLCBib29sIGltcG9ydGFudCkKIC8vIFsgJ2ZvbnQtc3R5bGUnIHx8ICdmb250
LXZhcmlhbnQnIHx8ICdmb250LXdlaWdodCcgXT8gJ2ZvbnQtc2l6ZScgWyAvICdsaW5lLWhlaWdo
dCcgXT8gJ2ZvbnQtZmFtaWx5JwogYm9vbCBDU1NQYXJzZXI6OnBhcnNlRm9udChib29sIGltcG9y
dGFudCkKIHsKLSAgICBib29sIHZhbGlkID0gdHJ1ZTsKLSAgICBib29sIHN0eWxlSW1wbGljaXQg
PSB0cnVlOwotICAgIGJvb2wgdmFyaWFudEltcGxpY2l0ID0gdHJ1ZTsKLSAgICBib29sIHdlaWdo
dEltcGxpY2l0ID0gdHJ1ZTsKLSAgICBib29sIGxpbmVIZWlnaHRJbXBsaWNpdCA9IHRydWU7Ci0g
ICAgaW50IHZhbHVlT3JkaW5hbCA9IDA7Ci0KLSAgICBDU1NQYXJzZXJWYWx1ZSAqdmFsdWUgPSBt
X3ZhbHVlTGlzdC0+Y3VycmVudCgpOwotICAgIFJlZlB0cjxGb250VmFsdWU+IGZvbnQgPSBGb250
VmFsdWU6OmNyZWF0ZSgpOwotICAgIC8vIE9wdGlvbmFsIGZvbnQtc3R5bGUsIGZvbnQtdmFyaWFu
dCBhbmQgZm9udC13ZWlnaHQuCi0gICAgd2hpbGUgKHZhbHVlKSB7Ci0gICAgICAgIGludCBpZCA9
IHZhbHVlLT5pZDsKLSAgICAgICAgaWYgKGlkID09IENTU1ZhbHVlSW5pdGlhbCB8fCBpZCA9PSBD
U1NWYWx1ZUluaGVyaXQpCisgICAgLy8gTGV0J3MgY2hlY2sgaWYgdGhlcmUgaXMgYW4gaW5oZXJp
dCBvciBpbml0aWFsIHNvbWV3aGVyZSBpbiB0aGUgc2hvcnRoYW5kLgorICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBtX3ZhbHVlTGlzdC0+c2l6ZSgpOyArK2kpIHsKKyAgICAgICAgaWYgKG1f
dmFsdWVMaXN0LT52YWx1ZUF0KGkpLT5pZCA9PSBDU1NWYWx1ZUluaGVyaXQgfHwgbV92YWx1ZUxp
c3QtPnZhbHVlQXQoaSktPmlkID09IENTU1ZhbHVlSW5pdGlhbCkKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgaWYgKGlkKSB7Ci0gICAgICAgICAgICBpZiAoaWQgPT0gQ1NTVmFs
dWVOb3JtYWwpIHsKLSAgICAgICAgICAgICAgICAvLyBJdCdzIHRoZSBpbml0aWFsIHZhbHVlIGZv
ciBhbGwgdGhyZWUsIHNvIG1hcmsgdGhlIGNvcnJlc3BvbmRpbmcgbG9uZ2hhbmQgYXMgZXhwbGlj
aXQuCi0gICAgICAgICAgICAgICAgc3dpdGNoICh2YWx1ZU9yZGluYWwpIHsKLSAgICAgICAgICAg
ICAgICBjYXNlIDA6Ci0gICAgICAgICAgICAgICAgICAgIHN0eWxlSW1wbGljaXQgPSBmYWxzZTsK
LSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSAxOgotICAg
ICAgICAgICAgICAgICAgICB2YXJpYW50SW1wbGljaXQgPSBmYWxzZTsKLSAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSAyOgotICAgICAgICAgICAgICAgICAg
ICB3ZWlnaHRJbXBsaWNpdCA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKGlkID09IENTU1ZhbHVlSXRh
bGljIHx8IGlkID09IENTU1ZhbHVlT2JsaXF1ZSkgewotICAgICAgICAgICAgICAgIGlmIChmb250
LT5zdHlsZSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAg
ICAgIGZvbnQtPnN0eWxlID0gY3NzVmFsdWVQb29sKCktPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShp
ZCk7Ci0gICAgICAgICAgICAgICAgc3R5bGVJbXBsaWNpdCA9IGZhbHNlOwotICAgICAgICAgICAg
fSBlbHNlIGlmIChpZCA9PSBDU1NWYWx1ZVNtYWxsQ2FwcykgewotICAgICAgICAgICAgICAgIGlm
IChmb250LT52YXJpYW50KQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
ICAgICAgICAgICAgZm9udC0+dmFyaWFudCA9IGNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVJZGVudGlm
aWVyVmFsdWUoaWQpOwotICAgICAgICAgICAgICAgIHZhcmlhbnRJbXBsaWNpdCA9IGZhbHNlOwot
ICAgICAgICAgICAgfSBlbHNlIGlmIChpZCA+PSBDU1NWYWx1ZUJvbGQgJiYgaWQgPD0gQ1NTVmFs
dWVMaWdodGVyKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGZvbnQtPndlaWdodCkKLSAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgICAgIGZvbnQtPndlaWdodCA9
IGNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUoaWQpOwotICAgICAgICAgICAg
ICAgIHdlaWdodEltcGxpY2l0ID0gZmFsc2U7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAg
ICAgICAgICB2YWxpZCA9IGZhbHNlOwotICAgICAgICB9IGVsc2UgaWYgKCFmb250LT53ZWlnaHQg
JiYgdmFsaWRVbml0KHZhbHVlLCBGSW50ZWdlciB8IEZOb25OZWcsIHRydWUpKSB7Ci0gICAgICAg
ICAgICBpbnQgd2VpZ2h0ID0gc3RhdGljX2Nhc3Q8aW50Pih2YWx1ZS0+ZlZhbHVlKTsKLSAgICAg
ICAgICAgIGludCB2YWwgPSAwOwotICAgICAgICAgICAgaWYgKHdlaWdodCA9PSAxMDApCi0gICAg
ICAgICAgICAgICAgdmFsID0gQ1NTVmFsdWUxMDA7Ci0gICAgICAgICAgICBlbHNlIGlmICh3ZWln
aHQgPT0gMjAwKQotICAgICAgICAgICAgICAgIHZhbCA9IENTU1ZhbHVlMjAwOwotICAgICAgICAg
ICAgZWxzZSBpZiAod2VpZ2h0ID09IDMwMCkKLSAgICAgICAgICAgICAgICB2YWwgPSBDU1NWYWx1
ZTMwMDsKLSAgICAgICAgICAgIGVsc2UgaWYgKHdlaWdodCA9PSA0MDApCi0gICAgICAgICAgICAg
ICAgdmFsID0gQ1NTVmFsdWU0MDA7Ci0gICAgICAgICAgICBlbHNlIGlmICh3ZWlnaHQgPT0gNTAw
KQotICAgICAgICAgICAgICAgIHZhbCA9IENTU1ZhbHVlNTAwOwotICAgICAgICAgICAgZWxzZSBp
ZiAod2VpZ2h0ID09IDYwMCkKLSAgICAgICAgICAgICAgICB2YWwgPSBDU1NWYWx1ZTYwMDsKLSAg
ICAgICAgICAgIGVsc2UgaWYgKHdlaWdodCA9PSA3MDApCi0gICAgICAgICAgICAgICAgdmFsID0g
Q1NTVmFsdWU3MDA7Ci0gICAgICAgICAgICBlbHNlIGlmICh3ZWlnaHQgPT0gODAwKQotICAgICAg
ICAgICAgICAgIHZhbCA9IENTU1ZhbHVlODAwOwotICAgICAgICAgICAgZWxzZSBpZiAod2VpZ2h0
ID09IDkwMCkKLSAgICAgICAgICAgICAgICB2YWwgPSBDU1NWYWx1ZTkwMDsKLQotICAgICAgICAg
ICAgaWYgKHZhbCkgewotICAgICAgICAgICAgICAgIGZvbnQtPndlaWdodCA9IGNzc1ZhbHVlUG9v
bCgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUodmFsKTsKLSAgICAgICAgICAgICAgICB3ZWlnaHRJ
bXBsaWNpdCA9IGZhbHNlOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgdmFs
aWQgPSBmYWxzZTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHZhbGlkID0gZmFsc2U7
Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKCF2YWxpZCkKKyAgICB9CisgICAgU2hvcnRoYW5kU2Nv
cGUgc2NvcGUodGhpcywgQ1NTUHJvcGVydHlGb250KTsKKyAgICAvLyBPcHRpb25hbCBmb250LXN0
eWxlLCBmb250LXZhcmlhbnQgYW5kIGZvbnQtd2VpZ2h0LgorICAgIGJvb2wgZm9udFN0eWxlUGFy
c2VkID0gZmFsc2U7CisgICAgYm9vbCBmb250VmFyaWFudFBhcnNlZCA9IGZhbHNlOworICAgIGJv
b2wgZm9udFdlaWdodFBhcnNlZCA9IGZhbHNlOworICAgIENTU1BhcnNlclZhbHVlKiB2YWx1ZTsK
KyAgICB3aGlsZSAoKHZhbHVlID0gbV92YWx1ZUxpc3QtPmN1cnJlbnQoKSkpIHsKKyAgICAgICAg
aWYgKCFmb250U3R5bGVQYXJzZWQgJiYgcGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUZvbnRTdHlsZSwg
aW1wb3J0YW50KSkKKyAgICAgICAgICAgIGZvbnRTdHlsZVBhcnNlZCA9IHRydWU7CisgICAgICAg
IGVsc2UgaWYgKCFmb250VmFyaWFudFBhcnNlZCAmJiAodmFsdWUtPmlkID09IENTU1ZhbHVlTm9y
bWFsIHx8IHZhbHVlLT5pZCA9PSBDU1NWYWx1ZVNtYWxsQ2FwcykpIHsKKyAgICAgICAgICAgIC8v
IEZvbnQgdmFyaWFudCBpbiB0aGUgc2hvcnRoYW5kIGlzIHBhcnRpY3VsYXIsIGl0IG9ubHkgYWNj
ZXB0cyBub3JtYWwgb3Igc21hbGwtY2Fwcy4KKyAgICAgICAgICAgIGFkZFByb3BlcnR5KENTU1By
b3BlcnR5Rm9udFZhcmlhbnQsIGNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUo
dmFsdWUtPmlkKSwgaW1wb3J0YW50KTsKKyAgICAgICAgICAgIGZvbnRWYXJpYW50UGFyc2VkID0g
dHJ1ZTsKKyAgICAgICAgICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7CisgICAgICAgIH0gZWxzZSBp
ZiAoIWZvbnRXZWlnaHRQYXJzZWQgJiYgcGFyc2VGb250V2VpZ2h0KGltcG9ydGFudCkpIHsKKyAg
ICAgICAgICAgIGZvbnRXZWlnaHRQYXJzZWQgPSB0cnVlOworICAgICAgICAgICAgbV92YWx1ZUxp
c3QtPm5leHQoKTsKKyAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
dmFsdWUgPSBtX3ZhbHVlTGlzdC0+bmV4dCgpOwotICAgICAgICArK3ZhbHVlT3JkaW5hbDsKICAg
ICB9Ci0gICAgaWYgKCF2YWx1ZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKHZh
bHVlLT5pZCA9PSBDU1NWYWx1ZUluaXRpYWwgfHwgdmFsdWUtPmlkID09IENTU1ZhbHVlSW5oZXJp
dCkKKyAgICBpZiAoIXZhbHVlKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAvLyBTZXQg
dW5kZWZpbmVkIHZhbHVlcyB0byBkZWZhdWx0LgotICAgIGlmICghZm9udC0+c3R5bGUpCi0gICAg
ICAgIGZvbnQtPnN0eWxlID0gY3NzVmFsdWVQb29sKCktPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShD
U1NWYWx1ZU5vcm1hbCk7Ci0gICAgaWYgKCFmb250LT52YXJpYW50KQotICAgICAgICBmb250LT52
YXJpYW50ID0gY3NzVmFsdWVQb29sKCktPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZU5v
cm1hbCk7Ci0gICAgaWYgKCFmb250LT53ZWlnaHQpCi0gICAgICAgIGZvbnQtPndlaWdodCA9IGNz
c1ZhbHVlUG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb3JtYWwpOworICAg
IGlmICghZm9udFN0eWxlUGFyc2VkKQorICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZv
bnRTdHlsZSwgY3NzVmFsdWVQb29sKCktPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZU5v
cm1hbCksIGltcG9ydGFudCwgdHJ1ZSk7CisgICAgaWYgKCFmb250VmFyaWFudFBhcnNlZCkKKyAg
ICAgICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlGb250VmFyaWFudCwgY3NzVmFsdWVQb29sKCkt
PmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZU5vcm1hbCksIGltcG9ydGFudCwgdHJ1ZSk7
CisgICAgaWYgKCFmb250V2VpZ2h0UGFyc2VkKQorICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9w
ZXJ0eUZvbnRXZWlnaHQsIGNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NT
VmFsdWVOb3JtYWwpLCBpbXBvcnRhbnQsIHRydWUpOwogCiAgICAgLy8gTm93IGEgZm9udCBzaXpl
IF9tdXN0XyBjb21lLgogICAgIC8vIDxhYnNvbHV0ZS1zaXplPiB8IDxyZWxhdGl2ZS1zaXplPiB8
IDxsZW5ndGg+IHwgPHBlcmNlbnRhZ2U+IHwgaW5oZXJpdAotICAgIGlmICh2YWx1ZS0+aWQgPj0g
Q1NTVmFsdWVYeFNtYWxsICYmIHZhbHVlLT5pZCA8PSBDU1NWYWx1ZUxhcmdlcikKLSAgICAgICAg
Zm9udC0+c2l6ZSA9IGNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUodmFsdWUt
PmlkKTsKLSAgICBlbHNlIGlmICh2YWxpZFVuaXQodmFsdWUsIEZMZW5ndGggfCBGUGVyY2VudCB8
IEZOb25OZWcsIG1fc3RyaWN0KSkKLSAgICAgICAgZm9udC0+c2l6ZSA9IGNyZWF0ZVByaW1pdGl2
ZU51bWVyaWNWYWx1ZSh2YWx1ZSk7Ci0gICAgdmFsdWUgPSBtX3ZhbHVlTGlzdC0+bmV4dCgpOwot
ICAgIGlmICghZm9udC0+c2l6ZSB8fCAhdmFsdWUpCisgICAgaWYgKCFwYXJzZVZhbHVlKENTU1By
b3BlcnR5Rm9udFNpemUsIGltcG9ydGFudCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAg
IGlmICh2YWx1ZS0+aWQgPT0gQ1NTVmFsdWVJbml0aWFsIHx8IHZhbHVlLT5pZCA9PSBDU1NWYWx1
ZUluaGVyaXQpCisgICAgdmFsdWUgPSBtX3ZhbHVlTGlzdC0+Y3VycmVudCgpOworICAgIGlmICgh
dmFsdWUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGlmICh2YWx1ZS0+dW5pdCA9PSBD
U1NQYXJzZXJWYWx1ZTo6T3BlcmF0b3IgJiYgdmFsdWUtPmlWYWx1ZSA9PSAnLycpIHsKQEAgLTQy
NDcsNDIgKzQxODcsMjEgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlRm9udChib29sIGltcG9ydGFu
dCkKICAgICAgICAgdmFsdWUgPSBtX3ZhbHVlTGlzdC0+bmV4dCgpOwogICAgICAgICBpZiAoIXZh
bHVlKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBpZiAodmFsdWUtPmlkID09
IENTU1ZhbHVlTm9ybWFsKSB7Ci0gICAgICAgICAgICAvLyBEZWZhdWx0IHZhbHVlLCBqdXN0IG1h
cmsgdGhlIHByb3BlcnR5IGFzIGV4cGxpY2l0LgotICAgICAgICAgICAgbGluZUhlaWdodEltcGxp
Y2l0ID0gZmFsc2U7Ci0gICAgICAgIH0gZWxzZSBpZiAodmFsaWRVbml0KHZhbHVlLCBGTnVtYmVy
IHwgRkxlbmd0aCB8IEZQZXJjZW50IHwgRk5vbk5lZywgbV9zdHJpY3QpKSB7Ci0gICAgICAgICAg
ICBmb250LT5saW5lSGVpZ2h0ID0gY3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKHZhbHVlKTsK
LSAgICAgICAgICAgIGxpbmVIZWlnaHRJbXBsaWNpdCA9IGZhbHNlOwotICAgICAgICB9IGVsc2UK
LSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgdmFsdWUgPSBtX3ZhbHVlTGlzdC0+
bmV4dCgpOwotICAgICAgICBpZiAoIXZhbHVlKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgIH0KIAotICAgIGlmICh2YWx1ZS0+aWQgPT0gQ1NTVmFsdWVJbml0aWFsIHx8IHZhbHVlLT5p
ZCA9PSBDU1NWYWx1ZUluaGVyaXQpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICgh
Zm9udC0+bGluZUhlaWdodCkKLSAgICAgICAgZm9udC0+bGluZUhlaWdodCA9IGNzc1ZhbHVlUG9v
bCgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb3JtYWwpOworICAgICAgICBpZiAo
IXBhcnNlVmFsdWUoQ1NTUHJvcGVydHlMaW5lSGVpZ2h0LCBpbXBvcnRhbnQpKQorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIH0gZWxzZQorICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9w
ZXJ0eUxpbmVIZWlnaHQsIGNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NT
VmFsdWVOb3JtYWwpLCBpbXBvcnRhbnQsIHRydWUpOwogCiAgICAgLy8gRm9udCBmYW1pbHkgbXVz
dCBjb21lIG5vdy4KLSAgICBmb250LT5mYW1pbHkgPSBwYXJzZUZvbnRGYW1pbHkoKTsKLQotICAg
IGlmIChtX3ZhbHVlTGlzdC0+Y3VycmVudCgpIHx8ICFmb250LT5mYW1pbHkpCisgICAgaWYgKCFw
YXJzZVZhbHVlKENTU1Byb3BlcnR5Rm9udEZhbWlseSwgaW1wb3J0YW50KSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCi0gICAgU2hvcnRoYW5kU2NvcGUgc2NvcGUodGhpcywgQ1NTUHJvcGVydHlG
b250KTsKLSAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRGYW1pbHksIGZvbnQtPmZhbWls
eSwgaW1wb3J0YW50KTsKLSAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRTaXplLCBmb250
LT5zaXplLCBpbXBvcnRhbnQpOwotICAgIGFkZFByb3BlcnR5KENTU1Byb3BlcnR5Rm9udFN0eWxl
LCBmb250LT5zdHlsZSwgaW1wb3J0YW50LCBzdHlsZUltcGxpY2l0KTsKLSAgICBhZGRQcm9wZXJ0
eShDU1NQcm9wZXJ0eUZvbnRWYXJpYW50LCBmb250LT52YXJpYW50LCBpbXBvcnRhbnQsIHZhcmlh
bnRJbXBsaWNpdCk7Ci0gICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlGb250V2VpZ2h0LCBmb250
LT53ZWlnaHQsIGltcG9ydGFudCwgd2VpZ2h0SW1wbGljaXQpOwotICAgIGFkZFByb3BlcnR5KENT
U1Byb3BlcnR5TGluZUhlaWdodCwgZm9udC0+bGluZUhlaWdodCwgaW1wb3J0YW50LCBsaW5lSGVp
Z2h0SW1wbGljaXQpOwotCiAgICAgLy8gRklYTUU6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTEv
V0QtY3NzMy1mb250cy0yMDExMDMyNC8jZm9udC1wcm9wIHJlcXVpcmVzIHRoYXQKICAgICAvLyAi
Zm9udC1zdHJldGNoIiwgImZvbnQtc2l6ZS1hZGp1c3QiLCBhbmQgImZvbnQta2VybmluZyIgYmUg
cmVzZXQgdG8gdGhlaXIgaW5pdGlhbCB2YWx1ZXMKICAgICAvLyBidXQgd2UgZG9uJ3Qgc2VlbSB0
byBzdXBwb3J0IHRoZW0gYXQgdGhlIG1vbWVudC4gVGhleSBzaG91bGQgYWxzbyBiZSBhZGRlZCBo
ZXJlIG9uY2UgaW1wbGVtZW50ZWQuCisgICAgaWYgKG1fdmFsdWVMaXN0LT5jdXJyZW50KCkpCisg
ICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC00Mzk3LDkgKzQz
MTYsNiBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VGb250VmFyaWFudChib29sIGltcG9ydGFudCkK
IAogYm9vbCBDU1NQYXJzZXI6OnBhcnNlRm9udFdlaWdodChib29sIGltcG9ydGFudCkKIHsKLSAg
ICBpZiAobV92YWx1ZUxpc3QtPnNpemUoKSAhPSAxKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0K
ICAgICBDU1NQYXJzZXJWYWx1ZSogdmFsdWUgPSBtX3ZhbHVlTGlzdC0+Y3VycmVudCgpOwogICAg
IGlmICgodmFsdWUtPmlkID49IENTU1ZhbHVlTm9ybWFsKSAmJiAodmFsdWUtPmlkIDw9IENTU1Zh
bHVlOTAwKSkgewogICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRXZWlnaHQsIGNz
c1ZhbHVlUG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUodmFsdWUtPmlkKSwgaW1wb3J0YW50
KTsKQEAgLTQ0MDcsOSArNDMyMywxMCBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VGb250V2VpZ2h0
KGJvb2wgaW1wb3J0YW50KQogICAgIH0KICAgICBpZiAodmFsaWRVbml0KHZhbHVlLCBGSW50ZWdl
ciB8IEZOb25OZWcsIGZhbHNlKSkgewogICAgICAgICBpbnQgd2VpZ2h0ID0gc3RhdGljX2Nhc3Q8
aW50Pih2YWx1ZS0+ZlZhbHVlKTsKLSAgICAgICAgaWYgKCEod2VpZ2h0ICUgMTAwKSAmJiB3ZWln
aHQgPj0gMTAwICYmIHdlaWdodCA8PSA5MDApCisgICAgICAgIGlmICghKHdlaWdodCAlIDEwMCkg
JiYgd2VpZ2h0ID49IDEwMCAmJiB3ZWlnaHQgPD0gOTAwKSB7CiAgICAgICAgICAgICBhZGRQcm9w
ZXJ0eShDU1NQcm9wZXJ0eUZvbnRXZWlnaHQsIGNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVJZGVudGlm
aWVyVmFsdWUoQ1NTVmFsdWUxMDAgKyB3ZWlnaHQgLyAxMDAgLSAxKSwgaW1wb3J0YW50KTsKLSAg
ICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQog
ICAgIH0KICAgICByZXR1cm4gZmFsc2U7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDg3NTEzMWE0YmI3OGE1YWE2ODQ3
YWIzY2Q3ZTNhOTllYWRkNGQ3ZS4uZDdkNmZiMGYxZjM5MDczMDVjZWM3NmMwYWZiYWRkNzgzZjBm
Y2M1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAyLTE1ICBBbGV4aXMgTWVuYXJkICA8
YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIFNpbXBsaWZ5IENTU1BhcnNl
cjo6cGFyc2VGb250LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Nzg2OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGRlZCBuZXcgaW5jb3JyZWN0IHZhbHVlcyB0byBpbXByb3ZlIHRoZSB0ZXN0IGNvdmVy
YWdlIG9mIHRoZSBmb250IHNob3J0aGFuZCBwcm9wZXJ0eS4KKworICAgICAgICBUaGUgcGF0Y2gg
Y2hhbmdlZCB0aGUgb3JkZXIgdGhlIGxvbmdoYW5kcyBhcmUgYWRkZWQgdG8gdGhlIGxpc3QKKyAg
ICAgICAgb2YgcHJvcGVydGllcyBmb3IgdGhlIHN0eWxlIHNvIHRoZSBleHBlY3RlZCBmaWxlcyBu
ZWVkIHRvIGJlIHVwZGF0ZWQuIAorCisgICAgICAgICogZmFzdC9jc3MvZm9udC1zaG9ydGhhbmQt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvaW5zcGVjdG9yLXN1cHBvcnQvc3R5bGUtZXhw
ZWN0ZWQudHh0OgorCiAyMDEyLTAyLTE1ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBVbnJldmlld2VkLCBjaGFuZ2UgdGhlIGVuY29kaW5nIG9mIGEgdGVzdCBI
VE1MLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZm9udC1zaG9ydGhhbmQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZm9udC1zaG9ydGhhbmQtZXhwZWN0ZWQu
dHh0CmluZGV4IGViMmM0NjEyY2E1NzhlMzYwYmE1NjZkODJmYzgzMzI3MjA5ZTdmZDYuLjdmNjg0
OTU1ZWE4MzUzZTgxMTg5Yjg5MzkxYjhmZGE1OGY0MDNhNDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvY3NzL2ZvbnQtc2hvcnRoYW5kLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy9mb250LXNob3J0aGFuZC1leHBlY3RlZC50eHQKQEAgLTEsNzUgKzEsNzUgQEAK
IFRlc3QKIEZvbnQgZm9yICcxMnB4IG1vbm9zcGFjZSc6Ci1mb250LWZhbWlseTogbW9ub3NwYWNl
IChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKLWZvbnQtc2l6ZTogMTJweCAob3JpZ2luYWwg
cHJvcGVydHkgd2FzIGZvbnQpCiBmb250LXN0eWxlOiBub3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5
IHdhcyBmb250IGFuZCBwcm9wZXJ0eSB3YXMgaW1wbGljaXRseSBzZXQuKQogZm9udC12YXJpYW50
OiBub3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250IGFuZCBwcm9wZXJ0eSB3YXMgaW1w
bGljaXRseSBzZXQuKQogZm9udC13ZWlnaHQ6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkgd2Fz
IGZvbnQgYW5kIHByb3BlcnR5IHdhcyBpbXBsaWNpdGx5IHNldC4pCitmb250LXNpemU6IDEycHgg
KG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQogbGluZS1oZWlnaHQ6IG5vcm1hbCAob3JpZ2lu
YWwgcHJvcGVydHkgd2FzIGZvbnQgYW5kIHByb3BlcnR5IHdhcyBpbXBsaWNpdGx5IHNldC4pCitm
b250LWZhbWlseTogbW9ub3NwYWNlIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIAogRm9u
dCBmb3IgJzEycHgvMjRweCBzZXJpZic6Ci1mb250LWZhbWlseTogc2VyaWYgKG9yaWdpbmFsIHBy
b3BlcnR5IHdhcyBmb250KQotZm9udC1zaXplOiAxMnB4IChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMg
Zm9udCkKIGZvbnQtc3R5bGU6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQgYW5k
IHByb3BlcnR5IHdhcyBpbXBsaWNpdGx5IHNldC4pCiBmb250LXZhcmlhbnQ6IG5vcm1hbCAob3Jp
Z2luYWwgcHJvcGVydHkgd2FzIGZvbnQgYW5kIHByb3BlcnR5IHdhcyBpbXBsaWNpdGx5IHNldC4p
CiBmb250LXdlaWdodDogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCBhbmQgcHJv
cGVydHkgd2FzIGltcGxpY2l0bHkgc2V0LikKK2ZvbnQtc2l6ZTogMTJweCAob3JpZ2luYWwgcHJv
cGVydHkgd2FzIGZvbnQpCiBsaW5lLWhlaWdodDogMjRweCAob3JpZ2luYWwgcHJvcGVydHkgd2Fz
IGZvbnQpCitmb250LWZhbWlseTogc2VyaWYgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQog
CiBGb250IGZvciAnbm9ybWFsIDEycHggc2VyaWYnOgotZm9udC1mYW1pbHk6IHNlcmlmIChvcmln
aW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKLWZvbnQtc2l6ZTogMTJweCAob3JpZ2luYWwgcHJvcGVy
dHkgd2FzIGZvbnQpCiBmb250LXN0eWxlOiBub3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBm
b250KQogZm9udC12YXJpYW50OiBub3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250IGFu
ZCBwcm9wZXJ0eSB3YXMgaW1wbGljaXRseSBzZXQuKQogZm9udC13ZWlnaHQ6IG5vcm1hbCAob3Jp
Z2luYWwgcHJvcGVydHkgd2FzIGZvbnQgYW5kIHByb3BlcnR5IHdhcyBpbXBsaWNpdGx5IHNldC4p
Citmb250LXNpemU6IDEycHggKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQogbGluZS1oZWln
aHQ6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQgYW5kIHByb3BlcnR5IHdhcyBp
bXBsaWNpdGx5IHNldC4pCitmb250LWZhbWlseTogc2VyaWYgKG9yaWdpbmFsIHByb3BlcnR5IHdh
cyBmb250KQogCiBGb250IGZvciAnbm9ybWFsIG5vcm1hbCAxMnB4IHNlcmlmJzoKLWZvbnQtZmFt
aWx5OiBzZXJpZiAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCi1mb250LXNpemU6IDEycHgg
KG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQogZm9udC1zdHlsZTogbm9ybWFsIChvcmlnaW5h
bCBwcm9wZXJ0eSB3YXMgZm9udCkKIGZvbnQtdmFyaWFudDogbm9ybWFsIChvcmlnaW5hbCBwcm9w
ZXJ0eSB3YXMgZm9udCkKIGZvbnQtd2VpZ2h0OiBub3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5IHdh
cyBmb250IGFuZCBwcm9wZXJ0eSB3YXMgaW1wbGljaXRseSBzZXQuKQorZm9udC1zaXplOiAxMnB4
IChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIGxpbmUtaGVpZ2h0OiBub3JtYWwgKG9yaWdp
bmFsIHByb3BlcnR5IHdhcyBmb250IGFuZCBwcm9wZXJ0eSB3YXMgaW1wbGljaXRseSBzZXQuKQor
Zm9udC1mYW1pbHk6IHNlcmlmIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIAogRm9udCBm
b3IgJ25vcm1hbCBub3JtYWwgbm9ybWFsIDEycHggc2VyaWYnOgotZm9udC1mYW1pbHk6IHNlcmlm
IChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKLWZvbnQtc2l6ZTogMTJweCAob3JpZ2luYWwg
cHJvcGVydHkgd2FzIGZvbnQpCiBmb250LXN0eWxlOiBub3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5
IHdhcyBmb250KQogZm9udC12YXJpYW50OiBub3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBm
b250KQogZm9udC13ZWlnaHQ6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCitm
b250LXNpemU6IDEycHggKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQogbGluZS1oZWlnaHQ6
IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQgYW5kIHByb3BlcnR5IHdhcyBpbXBs
aWNpdGx5IHNldC4pCitmb250LWZhbWlseTogc2VyaWYgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBm
b250KQogCiBGb250IGZvciAnaXRhbGljIHNtYWxsLWNhcHMgMTJweC8yNHB4IHNlcmlmJzoKLWZv
bnQtZmFtaWx5OiBzZXJpZiAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCi1mb250LXNpemU6
IDEycHggKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQogZm9udC1zdHlsZTogaXRhbGljIChv
cmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIGZvbnQtdmFyaWFudDogc21hbGwtY2FwcyAob3Jp
Z2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiBmb250LXdlaWdodDogbm9ybWFsIChvcmlnaW5hbCBw
cm9wZXJ0eSB3YXMgZm9udCBhbmQgcHJvcGVydHkgd2FzIGltcGxpY2l0bHkgc2V0LikKK2ZvbnQt
c2l6ZTogMTJweCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiBsaW5lLWhlaWdodDogMjRw
eCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCitmb250LWZhbWlseTogc2VyaWYgKG9yaWdp
bmFsIHByb3BlcnR5IHdhcyBmb250KQogCiBGb250IGZvciAnaXRhbGljIGJvbGQgMTJweC8yNHB4
IHNlcmlmJzoKLWZvbnQtZmFtaWx5OiBzZXJpZiAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQp
Ci1mb250LXNpemU6IDEycHggKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQogZm9udC1zdHls
ZTogaXRhbGljIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKLWZvbnQtdmFyaWFudDogbm9y
bWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCBhbmQgcHJvcGVydHkgd2FzIGltcGxpY2l0
bHkgc2V0LikKIGZvbnQtd2VpZ2h0OiBib2xkIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkK
K2ZvbnQtdmFyaWFudDogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCBhbmQgcHJv
cGVydHkgd2FzIGltcGxpY2l0bHkgc2V0LikKK2ZvbnQtc2l6ZTogMTJweCAob3JpZ2luYWwgcHJv
cGVydHkgd2FzIGZvbnQpCiBsaW5lLWhlaWdodDogMjRweCAob3JpZ2luYWwgcHJvcGVydHkgd2Fz
IGZvbnQpCitmb250LWZhbWlseTogc2VyaWYgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQog
CiBGb250IGZvciAnc21hbGwtY2FwcyBib2xkIDE0cHgvMjhweCBBcmlhbCwgc2Fucy1zZXJpZic6
Ci1mb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWYgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBm
b250KQotZm9udC1zaXplOiAxNHB4IChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKLWZvbnQt
c3R5bGU6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQgYW5kIHByb3BlcnR5IHdh
cyBpbXBsaWNpdGx5IHNldC4pCiBmb250LXZhcmlhbnQ6IHNtYWxsLWNhcHMgKG9yaWdpbmFsIHBy
b3BlcnR5IHdhcyBmb250KQogZm9udC13ZWlnaHQ6IGJvbGQgKG9yaWdpbmFsIHByb3BlcnR5IHdh
cyBmb250KQorZm9udC1zdHlsZTogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCBh
bmQgcHJvcGVydHkgd2FzIGltcGxpY2l0bHkgc2V0LikKK2ZvbnQtc2l6ZTogMTRweCAob3JpZ2lu
YWwgcHJvcGVydHkgd2FzIGZvbnQpCiBsaW5lLWhlaWdodDogMjhweCAob3JpZ2luYWwgcHJvcGVy
dHkgd2FzIGZvbnQpCitmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWYgKG9yaWdpbmFsIHBy
b3BlcnR5IHdhcyBmb250KQogCiBGb250IGZvciAnaXRhbGljIHNtYWxsLWNhcHMgYm9sZCAxNHB4
LzI4cHggQXJpYWwsIHNhbnMtc2VyaWYnOgotZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlm
IChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKLWZvbnQtc2l6ZTogMTRweCAob3JpZ2luYWwg
cHJvcGVydHkgd2FzIGZvbnQpCiBmb250LXN0eWxlOiBpdGFsaWMgKG9yaWdpbmFsIHByb3BlcnR5
IHdhcyBmb250KQogZm9udC12YXJpYW50OiBzbWFsbC1jYXBzIChvcmlnaW5hbCBwcm9wZXJ0eSB3
YXMgZm9udCkKIGZvbnQtd2VpZ2h0OiBib2xkIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkK
K2ZvbnQtc2l6ZTogMTRweCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiBsaW5lLWhlaWdo
dDogMjhweCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCitmb250LWZhbWlseTogQXJpYWws
IHNhbnMtc2VyaWYgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQogCiBGb250IGZvciAnaXRh
bGljIHNtYWxsLWNhcHMgYm9sZCAxMnB4LzI0cHgnOgogCkBAIC03Nyw0ICs3NywxMCBAQCBGb250
IGZvciAnaXRhbGljIHNtYWxsLWNhcHMgYm9sZCAxMnB4JzoKIAogRm9udCBmb3IgJ2l0YWxpYyBz
bWFsbC1jYXBzIGJvbGQgLzEycHggc2VyaWYnOgogCitGb250IGZvciAnaXRhbGljIHNtYWxsLWNh
cHMgc21hbGwtY2FwcyAxMnB4IHNlcmlmJzoKKworRm9udCBmb3IgJ2l0YWxpYyBpdGFsaWMgc21h
bGwtY2FwcyBib2xkIDEycHggc2VyaWYnOgorCitGb250IGZvciAnMTJweC9pdGFsaWMgc2VyaWYn
OgorCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2ZvbnQtc2hvcnRoYW5kLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9mb250LXNob3J0aGFuZC5odG1sCmluZGV4IGZjMDgy
M2Q2OWRhYjg4MGEyNmUzMThkNDJlMWQ0ZjhhMzkzMjdhNTAuLjBmM2JiOThlYjlhZjNlOGM0NjY1
MDRhMDMwYWZiNDhlNzU5N2RhOTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2Zv
bnQtc2hvcnRoYW5kLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZm9udC1zaG9ydGhh
bmQuaHRtbApAQCAtNDEsNiArNDEsOSBAQCB0ZXN0Rm9udFZhbHVlKCJpdGFsaWMgc21hbGwtY2Fw
cyBib2xkIDE0cHgvMjhweCBBcmlhbCwgc2Fucy1zZXJpZiIpOwogdGVzdEZvbnRWYWx1ZSgiaXRh
bGljIHNtYWxsLWNhcHMgYm9sZCAxMnB4LzI0cHgiKTsKIHRlc3RGb250VmFsdWUoIml0YWxpYyBz
bWFsbC1jYXBzIGJvbGQgMTJweCIpOwogdGVzdEZvbnRWYWx1ZSgiaXRhbGljIHNtYWxsLWNhcHMg
Ym9sZCAvMTJweCBzZXJpZiIpOwordGVzdEZvbnRWYWx1ZSgiaXRhbGljIHNtYWxsLWNhcHMgc21h
bGwtY2FwcyAxMnB4IHNlcmlmIik7Cit0ZXN0Rm9udFZhbHVlKCJpdGFsaWMgaXRhbGljIHNtYWxs
LWNhcHMgYm9sZCAxMnB4IHNlcmlmIik7Cit0ZXN0Rm9udFZhbHVlKCIxMnB4L2l0YWxpYyBzZXJp
ZiIpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2luc3BlY3Rvci1zdXBwb3J0L3N0eWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvaW5zcGVjdG9yLXN1cHBvcnQvc3R5bGUtZXhwZWN0ZWQudHh0CmluZGV4IDM2ZjkyYjll
YzBmYjM3N2Y2MGI3OGQxMjViNGEzYjM3NWY5OGIzY2IuLjUwYjU5NGY3MTU4YWYyMTIxYzk5ZmU3
ZmRjOTE2ODBlNThkYWI3NjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaW5zcGVjdG9y
LXN1cHBvcnQvc3R5bGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW5zcGVj
dG9yLXN1cHBvcnQvc3R5bGUtZXhwZWN0ZWQudHh0CkBAIC0xNCwxMCArMTQsMTAgQEAgbWFyZ2lu
LXJpZ2h0OiAxZW0gKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBtYXJnaW4gYW5kIHByb3BlcnR5IHdh
cyBpbXBsaWNpdGx5IHNldC4KIG1hcmdpbi1ib3R0b206IDFlbSAob3JpZ2luYWwgcHJvcGVydHkg
d2FzIG1hcmdpbiBhbmQgcHJvcGVydHkgd2FzIGltcGxpY2l0bHkgc2V0LikKIG1hcmdpbi1sZWZ0
OiAxZW0gKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBtYXJnaW4gYW5kIHByb3BlcnR5IHdhcyBpbXBs
aWNpdGx5IHNldC4pCiBjb2xvcjogd2hpdGUKLWZvbnQtZmFtaWx5OiAnTHVjaWRhIEdyYW5kZScg
KG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQotZm9udC1zaXplOiAyNHB4IChvcmlnaW5hbCBw
cm9wZXJ0eSB3YXMgZm9udCkKIGZvbnQtc3R5bGU6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkg
d2FzIGZvbnQgYW5kIHByb3BlcnR5IHdhcyBpbXBsaWNpdGx5IHNldC4pCiBmb250LXZhcmlhbnQ6
IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQgYW5kIHByb3BlcnR5IHdhcyBpbXBs
aWNpdGx5IHNldC4pCiBmb250LXdlaWdodDogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMg
Zm9udCBhbmQgcHJvcGVydHkgd2FzIGltcGxpY2l0bHkgc2V0LikKK2ZvbnQtc2l6ZTogMjRweCAo
b3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiBsaW5lLWhlaWdodDogbm9ybWFsIChvcmlnaW5h
bCBwcm9wZXJ0eSB3YXMgZm9udCBhbmQgcHJvcGVydHkgd2FzIGltcGxpY2l0bHkgc2V0LikKK2Zv
bnQtZmFtaWx5OiAnTHVjaWRhIEdyYW5kZScgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136429</attachid>
            <date>2012-04-10 05:06:03 -0700</date>
            <delta_ts>2012-04-20 14:51:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78698-20120410090542.patch</filename>
            <type>text/plain</type>
            <size>19693</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNzA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzE2OWQ0OGQ3NDgzZmFh
YmU5OGViZGJmZDJjNjNhZTk3YjE2Y2I1Zi4uOTcyNzY1NDJjNmM3ODQ5NjU4ZTNhNGYxZmFkOGMz
MjYwNGIwZmFlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA0LTA5ICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIFNpbXBs
aWZ5IENTU1BhcnNlcjo6cGFyc2VGb250LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Nzg2OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTaW1wbGlmeSBwYXJzZUZvbnQgYnkgc2hhcmluZyB0aGUgY29kZSB3
ZSBoYXZlIGZvcgorICAgICAgICB0aGUgbG9uZ2hhbmRzIG9mIHRoZSBmb250IHByb3BlcnR5Lgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cyA6IEV4dGVuZCB0aGUgZXhpc3RpbmcgZm9udCBzaG9ydGhh
bmQgdGVzdCBhbmQgbW9kaWZ5IGV4cGVjdGVkIGZpbGVzCisgICAgICAgIGFzIG5vdyB0aGUgb3Jk
ZXIgb2YgdGhlIGxvbmdoYW5kcyBhZGRlZCBpbiB0aGUgcHJvcGVydHkgbGlzdCBvZiB0aGUgc3R5
bGUKKyAgICAgICAgaGFzIGNoYW5nZWQuIEl0J3MgdmVyeSB1bmxpa2VseSB0aGF0IHNvbWUgY29k
ZSBpcyByZWx5aW5nIG9uIHRoaXMgb3JkZXIgdGhvdWdoLiBJdCB3aWxsCisgICAgICAgIGFsc28g
bWF0Y2ggdGhlIHdheSB0aGUgc3BlYyBvcmRlciB0aGVtIGh0dHA6Ly93d3cudzMub3JnL1RSL2Nz
czMtZm9udHMvI2ZvbnQtcHJvcAorICAgICAgICBldmVuIHRob3VnaCB0aGUgb3JkZXIgaXMgYXJi
aXRyYXJ5IGZvciBzb21lIHZhbHVlcy4KKworICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1BhcnNlcjo6cGFyc2VGb250KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6
cGFyc2VGb250V2VpZ2h0KTogRml4IGEgYnVnIGRpc2NvdmVyZWQgd2hpbGUgdXNpbmcgcGFyc2VG
b250V2VpZ2h0IGZyb20KKyAgICAgICAgdGhlIHBhcnNlRm9udCAoY2FzZSBmb250OiAwLzAsIEFy
aWFsLCBzYW5zLXNlcmlmOyBpbiBhIGxheW91dCB0ZXN0KSwgd2Ugc2hvdWxkIHJldHVybiB0cnVl
IG9ubHkKKyAgICAgICAgd2hlbiB3ZSBhZGQgc29tZXRoaW5nIGluIHRoZSBwcm9wZXJ0eSBsaXN0
LgorCiAyMDEyLTA0LTEwICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBXZWIgSW5zcGVjdG9yOiB1c2UgbWF4SlNPYmplY3RJZCB0aGF0IGlzIHByb3Zp
ZGVkIGJ5IGJhY2stZW5kLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCAxMjVlNDRhMzYy
ODQyMzkwYmFlMTIwMDA1NDIwM2JmZDRjMDY2YzUzLi5jODQ5MDBjZjFiYTQ4Nzg2NDcxZTkxMzdl
YTM0ZjMzZDJlZGYwM2MyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtMTQ4MCw5ICsx
NDgwLDExIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcElk
LCBib29sIGltcG9ydGFudCkKICAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKICAg
ICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIENTU1Byb3BlcnR5Rm9udFdlaWdodDogIC8vIG5vcm1h
bCB8IGJvbGQgfCBib2xkZXIgfCBsaWdodGVyIHwgMTAwIHwgMjAwIHwgMzAwIHwgNDAwIHwgNTAw
IHwgNjAwIHwgNzAwIHwgODAwIHwgOTAwIHwgaW5oZXJpdAorICAgIGNhc2UgQ1NTUHJvcGVydHlG
b250V2VpZ2h0OiAgeyAvLyBub3JtYWwgfCBib2xkIHwgYm9sZGVyIHwgbGlnaHRlciB8IDEwMCB8
IDIwMCB8IDMwMCB8IDQwMCB8IDUwMCB8IDYwMCB8IDcwMCB8IDgwMCB8IDkwMCB8IGluaGVyaXQK
KyAgICAgICAgaWYgKG1fdmFsdWVMaXN0LT5zaXplKCkgIT0gMSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICAgICAgcmV0dXJuIHBhcnNlRm9udFdlaWdodChpbXBvcnRhbnQpOwotCisg
ICAgfQogICAgIGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJTcGFjaW5nOiB7CiAgICAgICAgIGlmIChu
dW0gPT0gMSkgewogICAgICAgICAgICAgU2hvcnRoYW5kU2NvcGUgc2NvcGUodGhpcywgQ1NTUHJv
cGVydHlCb3JkZXJTcGFjaW5nKTsKQEAgLTQyOTUsMTExICs0Mjk3LDUwIEBAIGJvb2wgQ1NTUGFy
c2VyOjpwYXJzZUV4Y2x1c2lvblNoYXBlKGJvb2wgc2hhcGVJbnNpZGUsIGJvb2wgaW1wb3J0YW50
KQogLy8gWyAnZm9udC1zdHlsZScgfHwgJ2ZvbnQtdmFyaWFudCcgfHwgJ2ZvbnQtd2VpZ2h0JyBd
PyAnZm9udC1zaXplJyBbIC8gJ2xpbmUtaGVpZ2h0JyBdPyAnZm9udC1mYW1pbHknCiBib29sIENT
U1BhcnNlcjo6cGFyc2VGb250KGJvb2wgaW1wb3J0YW50KQogewotICAgIGJvb2wgdmFsaWQgPSB0
cnVlOwotICAgIGJvb2wgc3R5bGVJbXBsaWNpdCA9IHRydWU7Ci0gICAgYm9vbCB2YXJpYW50SW1w
bGljaXQgPSB0cnVlOwotICAgIGJvb2wgd2VpZ2h0SW1wbGljaXQgPSB0cnVlOwotICAgIGJvb2wg
bGluZUhlaWdodEltcGxpY2l0ID0gdHJ1ZTsKLSAgICBpbnQgdmFsdWVPcmRpbmFsID0gMDsKLQot
ICAgIENTU1BhcnNlclZhbHVlICp2YWx1ZSA9IG1fdmFsdWVMaXN0LT5jdXJyZW50KCk7Ci0gICAg
UmVmUHRyPEZvbnRWYWx1ZT4gZm9udCA9IEZvbnRWYWx1ZTo6Y3JlYXRlKCk7Ci0gICAgLy8gT3B0
aW9uYWwgZm9udC1zdHlsZSwgZm9udC12YXJpYW50IGFuZCBmb250LXdlaWdodC4KLSAgICB3aGls
ZSAodmFsdWUpIHsKLSAgICAgICAgaW50IGlkID0gdmFsdWUtPmlkOwotICAgICAgICBpZiAoaWQg
PT0gQ1NTVmFsdWVJbml0aWFsIHx8IGlkID09IENTU1ZhbHVlSW5oZXJpdCkKKyAgICAvLyBMZXQn
cyBjaGVjayBpZiB0aGVyZSBpcyBhbiBpbmhlcml0IG9yIGluaXRpYWwgc29tZXdoZXJlIGluIHRo
ZSBzaG9ydGhhbmQuCisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fdmFsdWVMaXN0LT5z
aXplKCk7ICsraSkgeworICAgICAgICBpZiAobV92YWx1ZUxpc3QtPnZhbHVlQXQoaSktPmlkID09
IENTU1ZhbHVlSW5oZXJpdCB8fCBtX3ZhbHVlTGlzdC0+dmFsdWVBdChpKS0+aWQgPT0gQ1NTVmFs
dWVJbml0aWFsKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBpZiAoaWQpIHsK
LSAgICAgICAgICAgIGlmIChpZCA9PSBDU1NWYWx1ZU5vcm1hbCkgewotICAgICAgICAgICAgICAg
IC8vIEl0J3MgdGhlIGluaXRpYWwgdmFsdWUgZm9yIGFsbCB0aHJlZSwgc28gbWFyayB0aGUgY29y
cmVzcG9uZGluZyBsb25naGFuZCBhcyBleHBsaWNpdC4KLSAgICAgICAgICAgICAgICBzd2l0Y2gg
KHZhbHVlT3JkaW5hbCkgewotICAgICAgICAgICAgICAgIGNhc2UgMDoKLSAgICAgICAgICAgICAg
ICAgICAgc3R5bGVJbXBsaWNpdCA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgICAgICBjYXNlIDE6Ci0gICAgICAgICAgICAgICAgICAgIHZhcmlhbnRJbXBs
aWNpdCA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAg
ICBjYXNlIDI6Ci0gICAgICAgICAgICAgICAgICAgIHdlaWdodEltcGxpY2l0ID0gZmFsc2U7Ci0g
ICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IH0gZWxzZSBpZiAoaWQgPT0gQ1NTVmFsdWVJdGFsaWMgfHwgaWQgPT0gQ1NTVmFsdWVPYmxpcXVl
KSB7Ci0gICAgICAgICAgICAgICAgaWYgKGZvbnQtPnN0eWxlKQotICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICAgICAgZm9udC0+c3R5bGUgPSBjc3NWYWx1ZVBv
b2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoaWQpOwotICAgICAgICAgICAgICAgIHN0eWxlSW1w
bGljaXQgPSBmYWxzZTsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoaWQgPT0gQ1NTVmFsdWVTbWFs
bENhcHMpIHsKLSAgICAgICAgICAgICAgICBpZiAoZm9udC0+dmFyaWFudCkKLSAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgICAgIGZvbnQtPnZhcmlhbnQgPSBj
c3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoaWQpOwotICAgICAgICAgICAgICAg
IHZhcmlhbnRJbXBsaWNpdCA9IGZhbHNlOwotICAgICAgICAgICAgfSBlbHNlIGlmIChpZCA+PSBD
U1NWYWx1ZUJvbGQgJiYgaWQgPD0gQ1NTVmFsdWVMaWdodGVyKSB7Ci0gICAgICAgICAgICAgICAg
aWYgKGZvbnQtPndlaWdodCkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
ICAgICAgICAgICAgIGZvbnQtPndlaWdodCA9IGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZp
ZXJWYWx1ZShpZCk7Ci0gICAgICAgICAgICAgICAgd2VpZ2h0SW1wbGljaXQgPSBmYWxzZTsKLSAg
ICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHZhbGlkID0gZmFsc2U7Ci0gICAgICAg
IH0gZWxzZSBpZiAoIWZvbnQtPndlaWdodCAmJiB2YWxpZFVuaXQodmFsdWUsIEZJbnRlZ2VyIHwg
Rk5vbk5lZywgQ1NTU3RyaWN0TW9kZSkpIHsKLSAgICAgICAgICAgIGludCB3ZWlnaHQgPSBzdGF0
aWNfY2FzdDxpbnQ+KHZhbHVlLT5mVmFsdWUpOwotICAgICAgICAgICAgaW50IHZhbCA9IDA7Ci0g
ICAgICAgICAgICBpZiAod2VpZ2h0ID09IDEwMCkKLSAgICAgICAgICAgICAgICB2YWwgPSBDU1NW
YWx1ZTEwMDsKLSAgICAgICAgICAgIGVsc2UgaWYgKHdlaWdodCA9PSAyMDApCi0gICAgICAgICAg
ICAgICAgdmFsID0gQ1NTVmFsdWUyMDA7Ci0gICAgICAgICAgICBlbHNlIGlmICh3ZWlnaHQgPT0g
MzAwKQotICAgICAgICAgICAgICAgIHZhbCA9IENTU1ZhbHVlMzAwOwotICAgICAgICAgICAgZWxz
ZSBpZiAod2VpZ2h0ID09IDQwMCkKLSAgICAgICAgICAgICAgICB2YWwgPSBDU1NWYWx1ZTQwMDsK
LSAgICAgICAgICAgIGVsc2UgaWYgKHdlaWdodCA9PSA1MDApCi0gICAgICAgICAgICAgICAgdmFs
ID0gQ1NTVmFsdWU1MDA7Ci0gICAgICAgICAgICBlbHNlIGlmICh3ZWlnaHQgPT0gNjAwKQotICAg
ICAgICAgICAgICAgIHZhbCA9IENTU1ZhbHVlNjAwOwotICAgICAgICAgICAgZWxzZSBpZiAod2Vp
Z2h0ID09IDcwMCkKLSAgICAgICAgICAgICAgICB2YWwgPSBDU1NWYWx1ZTcwMDsKLSAgICAgICAg
ICAgIGVsc2UgaWYgKHdlaWdodCA9PSA4MDApCi0gICAgICAgICAgICAgICAgdmFsID0gQ1NTVmFs
dWU4MDA7Ci0gICAgICAgICAgICBlbHNlIGlmICh3ZWlnaHQgPT0gOTAwKQotICAgICAgICAgICAg
ICAgIHZhbCA9IENTU1ZhbHVlOTAwOworICAgIH0KIAotICAgICAgICAgICAgaWYgKHZhbCkgewot
ICAgICAgICAgICAgICAgIGZvbnQtPndlaWdodCA9IGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50
aWZpZXJWYWx1ZSh2YWwpOwotICAgICAgICAgICAgICAgIHdlaWdodEltcGxpY2l0ID0gZmFsc2U7
Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB2YWxpZCA9IGZhbHNlOwotICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgdmFsaWQgPSBmYWxzZTsKLSAgICAgICAgfQotICAg
ICAgICBpZiAoIXZhbGlkKQorICAgIFNob3J0aGFuZFNjb3BlIHNjb3BlKHRoaXMsIENTU1Byb3Bl
cnR5Rm9udCk7CisgICAgLy8gT3B0aW9uYWwgZm9udC1zdHlsZSwgZm9udC12YXJpYW50IGFuZCBm
b250LXdlaWdodC4KKyAgICBib29sIGZvbnRTdHlsZVBhcnNlZCA9IGZhbHNlOworICAgIGJvb2wg
Zm9udFZhcmlhbnRQYXJzZWQgPSBmYWxzZTsKKyAgICBib29sIGZvbnRXZWlnaHRQYXJzZWQgPSBm
YWxzZTsKKyAgICBDU1NQYXJzZXJWYWx1ZSogdmFsdWU7CisgICAgd2hpbGUgKCh2YWx1ZSA9IG1f
dmFsdWVMaXN0LT5jdXJyZW50KCkpKSB7CisgICAgICAgIGlmICghZm9udFN0eWxlUGFyc2VkICYm
IHBhcnNlVmFsdWUoQ1NTUHJvcGVydHlGb250U3R5bGUsIGltcG9ydGFudCkpCisgICAgICAgICAg
ICBmb250U3R5bGVQYXJzZWQgPSB0cnVlOworICAgICAgICBlbHNlIGlmICghZm9udFZhcmlhbnRQ
YXJzZWQgJiYgKHZhbHVlLT5pZCA9PSBDU1NWYWx1ZU5vcm1hbCB8fCB2YWx1ZS0+aWQgPT0gQ1NT
VmFsdWVTbWFsbENhcHMpKSB7CisgICAgICAgICAgICAvLyBGb250IHZhcmlhbnQgaW4gdGhlIHNo
b3J0aGFuZCBpcyBwYXJ0aWN1bGFyLCBpdCBvbmx5IGFjY2VwdHMgbm9ybWFsIG9yIHNtYWxsLWNh
cHMuCisgICAgICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRWYXJpYW50LCBjc3NW
YWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUodmFsdWUtPmlkKSwgaW1wb3J0YW50KTsK
KyAgICAgICAgICAgIGZvbnRWYXJpYW50UGFyc2VkID0gdHJ1ZTsKKyAgICAgICAgICAgIG1fdmFs
dWVMaXN0LT5uZXh0KCk7CisgICAgICAgIH0gZWxzZSBpZiAoIWZvbnRXZWlnaHRQYXJzZWQgJiYg
cGFyc2VGb250V2VpZ2h0KGltcG9ydGFudCkpIHsKKyAgICAgICAgICAgIGZvbnRXZWlnaHRQYXJz
ZWQgPSB0cnVlOworICAgICAgICAgICAgbV92YWx1ZUxpc3QtPm5leHQoKTsKKyAgICAgICAgfSBl
bHNlCiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgdmFsdWUgPSBtX3ZhbHVlTGlzdC0+bmV4
dCgpOwotICAgICAgICArK3ZhbHVlT3JkaW5hbDsKICAgICB9Ci0gICAgaWYgKCF2YWx1ZSkKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKHZhbHVlLT5pZCA9PSBDU1NWYWx1ZUluaXRp
YWwgfHwgdmFsdWUtPmlkID09IENTU1ZhbHVlSW5oZXJpdCkKKyAgICBpZiAoIXZhbHVlKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAvLyBTZXQgdW5kZWZpbmVkIHZhbHVlcyB0byBkZWZh
dWx0LgotICAgIGlmICghZm9udC0+c3R5bGUpCi0gICAgICAgIGZvbnQtPnN0eWxlID0gY3NzVmFs
dWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTm9ybWFsKTsKLSAgICBpZiAo
IWZvbnQtPnZhcmlhbnQpCi0gICAgICAgIGZvbnQtPnZhcmlhbnQgPSBjc3NWYWx1ZVBvb2woKS5j
cmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb3JtYWwpOwotICAgIGlmICghZm9udC0+d2Vp
Z2h0KQotICAgICAgICBmb250LT53ZWlnaHQgPSBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlm
aWVyVmFsdWUoQ1NTVmFsdWVOb3JtYWwpOworICAgIGlmICghZm9udFN0eWxlUGFyc2VkKQorICAg
ICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRTdHlsZSwgY3NzVmFsdWVQb29sKCkuY3Jl
YXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTm9ybWFsKSwgaW1wb3J0YW50LCB0cnVlKTsKKyAg
ICBpZiAoIWZvbnRWYXJpYW50UGFyc2VkKQorICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0
eUZvbnRWYXJpYW50LCBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFs
dWVOb3JtYWwpLCBpbXBvcnRhbnQsIHRydWUpOworICAgIGlmICghZm9udFdlaWdodFBhcnNlZCkK
KyAgICAgICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlGb250V2VpZ2h0LCBjc3NWYWx1ZVBvb2wo
KS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb3JtYWwpLCBpbXBvcnRhbnQsIHRydWUp
OwogCiAgICAgLy8gTm93IGEgZm9udCBzaXplIF9tdXN0XyBjb21lLgogICAgIC8vIDxhYnNvbHV0
ZS1zaXplPiB8IDxyZWxhdGl2ZS1zaXplPiB8IDxsZW5ndGg+IHwgPHBlcmNlbnRhZ2U+IHwgaW5o
ZXJpdAotICAgIGlmICh2YWx1ZS0+aWQgPj0gQ1NTVmFsdWVYeFNtYWxsICYmIHZhbHVlLT5pZCA8
PSBDU1NWYWx1ZUxhcmdlcikKLSAgICAgICAgZm9udC0+c2l6ZSA9IGNzc1ZhbHVlUG9vbCgpLmNy
ZWF0ZUlkZW50aWZpZXJWYWx1ZSh2YWx1ZS0+aWQpOwotICAgIGVsc2UgaWYgKHZhbGlkVW5pdCh2
YWx1ZSwgRkxlbmd0aCB8IEZQZXJjZW50IHwgRk5vbk5lZykpCi0gICAgICAgIGZvbnQtPnNpemUg
PSBjcmVhdGVQcmltaXRpdmVOdW1lcmljVmFsdWUodmFsdWUpOwotICAgIHZhbHVlID0gbV92YWx1
ZUxpc3QtPm5leHQoKTsKLSAgICBpZiAoIWZvbnQtPnNpemUgfHwgIXZhbHVlKQorICAgIGlmICgh
cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUZvbnRTaXplLCBpbXBvcnRhbnQpKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKLSAgICBpZiAodmFsdWUtPmlkID09IENTU1ZhbHVlSW5pdGlhbCB8fCB2YWx1
ZS0+aWQgPT0gQ1NTVmFsdWVJbmhlcml0KQorICAgIHZhbHVlID0gbV92YWx1ZUxpc3QtPmN1cnJl
bnQoKTsKKyAgICBpZiAoIXZhbHVlKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBpZiAo
dmFsdWUtPnVuaXQgPT0gQ1NTUGFyc2VyVmFsdWU6Ok9wZXJhdG9yICYmIHZhbHVlLT5pVmFsdWUg
PT0gJy8nKSB7CkBAIC00NDA3LDQyICs0MzQ4LDIwIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUZv
bnQoYm9vbCBpbXBvcnRhbnQpCiAgICAgICAgIHZhbHVlID0gbV92YWx1ZUxpc3QtPm5leHQoKTsK
ICAgICAgICAgaWYgKCF2YWx1ZSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAg
aWYgKHZhbHVlLT5pZCA9PSBDU1NWYWx1ZU5vcm1hbCkgewotICAgICAgICAgICAgLy8gRGVmYXVs
dCB2YWx1ZSwganVzdCBtYXJrIHRoZSBwcm9wZXJ0eSBhcyBleHBsaWNpdC4KLSAgICAgICAgICAg
IGxpbmVIZWlnaHRJbXBsaWNpdCA9IGZhbHNlOwotICAgICAgICB9IGVsc2UgaWYgKHZhbGlkVW5p
dCh2YWx1ZSwgRk51bWJlciB8IEZMZW5ndGggfCBGUGVyY2VudCB8IEZOb25OZWcpKSB7Ci0gICAg
ICAgICAgICBmb250LT5saW5lSGVpZ2h0ID0gY3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKHZh
bHVlKTsKLSAgICAgICAgICAgIGxpbmVIZWlnaHRJbXBsaWNpdCA9IGZhbHNlOwotICAgICAgICB9
IGVsc2UKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgdmFsdWUgPSBtX3ZhbHVl
TGlzdC0+bmV4dCgpOwotICAgICAgICBpZiAoIXZhbHVlKQorICAgICAgICBpZiAoIXBhcnNlVmFs
dWUoQ1NTUHJvcGVydHlMaW5lSGVpZ2h0LCBpbXBvcnRhbnQpKQogICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIH0KLQotICAgIGlmICh2YWx1ZS0+aWQgPT0gQ1NTVmFsdWVJbml0aWFsIHx8
IHZhbHVlLT5pZCA9PSBDU1NWYWx1ZUluaGVyaXQpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQot
ICAgIGlmICghZm9udC0+bGluZUhlaWdodCkKLSAgICAgICAgZm9udC0+bGluZUhlaWdodCA9IGNz
c1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZU5vcm1hbCk7CisgICAg
fSBlbHNlCisgICAgICAgIGFkZFByb3BlcnR5KENTU1Byb3BlcnR5TGluZUhlaWdodCwgY3NzVmFs
dWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTm9ybWFsKSwgaW1wb3J0YW50
LCB0cnVlKTsKIAogICAgIC8vIEZvbnQgZmFtaWx5IG11c3QgY29tZSBub3cuCi0gICAgZm9udC0+
ZmFtaWx5ID0gcGFyc2VGb250RmFtaWx5KCk7Ci0KLSAgICBpZiAobV92YWx1ZUxpc3QtPmN1cnJl
bnQoKSB8fCAhZm9udC0+ZmFtaWx5KQorICAgIGlmICghcGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUZv
bnRGYW1pbHksIGltcG9ydGFudCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIFNob3J0
aGFuZFNjb3BlIHNjb3BlKHRoaXMsIENTU1Byb3BlcnR5Rm9udCk7Ci0gICAgYWRkUHJvcGVydHko
Q1NTUHJvcGVydHlGb250RmFtaWx5LCBmb250LT5mYW1pbHksIGltcG9ydGFudCk7Ci0gICAgYWRk
UHJvcGVydHkoQ1NTUHJvcGVydHlGb250U2l6ZSwgZm9udC0+c2l6ZSwgaW1wb3J0YW50KTsKLSAg
ICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRTdHlsZSwgZm9udC0+c3R5bGUsIGltcG9ydGFu
dCwgc3R5bGVJbXBsaWNpdCk7Ci0gICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlGb250VmFyaWFu
dCwgZm9udC0+dmFyaWFudCwgaW1wb3J0YW50LCB2YXJpYW50SW1wbGljaXQpOwotICAgIGFkZFBy
b3BlcnR5KENTU1Byb3BlcnR5Rm9udFdlaWdodCwgZm9udC0+d2VpZ2h0LCBpbXBvcnRhbnQsIHdl
aWdodEltcGxpY2l0KTsKLSAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUxpbmVIZWlnaHQsIGZv
bnQtPmxpbmVIZWlnaHQsIGltcG9ydGFudCwgbGluZUhlaWdodEltcGxpY2l0KTsKLQogICAgIC8v
IEZJWE1FOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDExL1dELWNzczMtZm9udHMtMjAxMTAzMjQv
I2ZvbnQtcHJvcCByZXF1aXJlcyB0aGF0CiAgICAgLy8gImZvbnQtc3RyZXRjaCIsICJmb250LXNp
emUtYWRqdXN0IiwgYW5kICJmb250LWtlcm5pbmciIGJlIHJlc2V0IHRvIHRoZWlyIGluaXRpYWwg
dmFsdWVzCiAgICAgLy8gYnV0IHdlIGRvbid0IHNlZW0gdG8gc3VwcG9ydCB0aGVtIGF0IHRoZSBt
b21lbnQuIFRoZXkgc2hvdWxkIGFsc28gYmUgYWRkZWQgaGVyZSBvbmNlIGltcGxlbWVudGVkLgor
ICAgIGlmIChtX3ZhbHVlTGlzdC0+Y3VycmVudCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CiAK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAgLTQ1OTAsOSArNDUwOSw2IEBAIGJvb2wgQ1NTUGFyc2Vy
OjpwYXJzZUZvbnRWYXJpYW50KGJvb2wgaW1wb3J0YW50KQogCiBib29sIENTU1BhcnNlcjo6cGFy
c2VGb250V2VpZ2h0KGJvb2wgaW1wb3J0YW50KQogewotICAgIGlmIChtX3ZhbHVlTGlzdC0+c2l6
ZSgpICE9IDEpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQogICAgIENTU1BhcnNlclZhbHVlKiB2
YWx1ZSA9IG1fdmFsdWVMaXN0LT5jdXJyZW50KCk7CiAgICAgaWYgKCh2YWx1ZS0+aWQgPj0gQ1NT
VmFsdWVOb3JtYWwpICYmICh2YWx1ZS0+aWQgPD0gQ1NTVmFsdWU5MDApKSB7CiAgICAgICAgIGFk
ZFByb3BlcnR5KENTU1Byb3BlcnR5Rm9udFdlaWdodCwgY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRl
bnRpZmllclZhbHVlKHZhbHVlLT5pZCksIGltcG9ydGFudCk7CkBAIC00NjAwLDkgKzQ1MTYsMTAg
QEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlRm9udFdlaWdodChib29sIGltcG9ydGFudCkKICAgICB9
CiAgICAgaWYgKHZhbGlkVW5pdCh2YWx1ZSwgRkludGVnZXIgfCBGTm9uTmVnLCBDU1NRdWlya3NN
b2RlKSkgewogICAgICAgICBpbnQgd2VpZ2h0ID0gc3RhdGljX2Nhc3Q8aW50Pih2YWx1ZS0+ZlZh
bHVlKTsKLSAgICAgICAgaWYgKCEod2VpZ2h0ICUgMTAwKSAmJiB3ZWlnaHQgPj0gMTAwICYmIHdl
aWdodCA8PSA5MDApCisgICAgICAgIGlmICghKHdlaWdodCAlIDEwMCkgJiYgd2VpZ2h0ID49IDEw
MCAmJiB3ZWlnaHQgPD0gOTAwKSB7CiAgICAgICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0
eUZvbnRXZWlnaHQsIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1
ZTEwMCArIHdlaWdodCAvIDEwMCAtIDEpLCBpbXBvcnRhbnQpOwotICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CiAgICAgfQogICAgIHJldHVy
biBmYWxzZTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCA5ZWYzZTU5YmZjZTdlM2M4NDIxNTE3Nzg5NzAwNTI1ZDg3M2Fh
NWU3Li41ZmY3NTBhYTBkOGVjMDcxNmY1YmQ5MDE1Yzc5NDJiMjUzODQ0ZTEzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTggQEAKKzIwMTItMDQtMDkgIEFsZXhpcyBNZW5hcmQgIDxhbGV4aXMubWVuYXJkQG9w
ZW5ib3NzYS5vcmc+CisKKyAgICAgICAgU2ltcGxpZnkgQ1NTUGFyc2VyOjpwYXJzZUZvbnQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODY5OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIG5ldyBp
bmNvcnJlY3QgdmFsdWVzIHRvIGltcHJvdmUgdGhlIHRlc3QgY292ZXJhZ2Ugb2YgdGhlIGZvbnQg
c2hvcnRoYW5kIHByb3BlcnR5LgorCisgICAgICAgIFRoZSBwYXRjaCBjaGFuZ2VkIHRoZSBvcmRl
ciB0aGUgbG9uZ2hhbmRzIGFyZSBhZGRlZCB0byB0aGUgbGlzdAorICAgICAgICBvZiBwcm9wZXJ0
aWVzIGZvciB0aGUgc3R5bGUgc28gdGhlIGV4cGVjdGVkIGZpbGVzIG5lZWQgdG8gYmUgdXBkYXRl
ZC4KKworICAgICAgICAqIGZhc3QvY3NzL2ZvbnQtc2hvcnRoYW5kLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBmYXN0L2luc3BlY3Rvci1zdXBwb3J0L3N0eWxlLWV4cGVjdGVkLnR4dDoKKwogMjAx
Mi0wNC0xMCAgw4Fkw6FtIEthbGxhaSAgPGthZGFtQGluZi51LXN6ZWdlZC5odT4KIAogICAgICAg
ICBbUXRdIEdhcmRlbmluZyBhZnRlciByMTEzNzAxLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvZm9udC1zaG9ydGhhbmQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9j
c3MvZm9udC1zaG9ydGhhbmQtZXhwZWN0ZWQudHh0CmluZGV4IGViMmM0NjEyY2E1NzhlMzYwYmE1
NjZkODJmYzgzMzI3MjA5ZTdmZDYuLjdmNjg0OTU1ZWE4MzUzZTgxMTg5Yjg5MzkxYjhmZGE1OGY0
MDNhNDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2ZvbnQtc2hvcnRoYW5kLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9mb250LXNob3J0aGFuZC1leHBl
Y3RlZC50eHQKQEAgLTEsNzUgKzEsNzUgQEAKIFRlc3QKIEZvbnQgZm9yICcxMnB4IG1vbm9zcGFj
ZSc6Ci1mb250LWZhbWlseTogbW9ub3NwYWNlIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkK
LWZvbnQtc2l6ZTogMTJweCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiBmb250LXN0eWxl
OiBub3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250IGFuZCBwcm9wZXJ0eSB3YXMgaW1w
bGljaXRseSBzZXQuKQogZm9udC12YXJpYW50OiBub3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5IHdh
cyBmb250IGFuZCBwcm9wZXJ0eSB3YXMgaW1wbGljaXRseSBzZXQuKQogZm9udC13ZWlnaHQ6IG5v
cm1hbCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQgYW5kIHByb3BlcnR5IHdhcyBpbXBsaWNp
dGx5IHNldC4pCitmb250LXNpemU6IDEycHggKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQog
bGluZS1oZWlnaHQ6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQgYW5kIHByb3Bl
cnR5IHdhcyBpbXBsaWNpdGx5IHNldC4pCitmb250LWZhbWlseTogbW9ub3NwYWNlIChvcmlnaW5h
bCBwcm9wZXJ0eSB3YXMgZm9udCkKIAogRm9udCBmb3IgJzEycHgvMjRweCBzZXJpZic6Ci1mb250
LWZhbWlseTogc2VyaWYgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQotZm9udC1zaXplOiAx
MnB4IChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIGZvbnQtc3R5bGU6IG5vcm1hbCAob3Jp
Z2luYWwgcHJvcGVydHkgd2FzIGZvbnQgYW5kIHByb3BlcnR5IHdhcyBpbXBsaWNpdGx5IHNldC4p
CiBmb250LXZhcmlhbnQ6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQgYW5kIHBy
b3BlcnR5IHdhcyBpbXBsaWNpdGx5IHNldC4pCiBmb250LXdlaWdodDogbm9ybWFsIChvcmlnaW5h
bCBwcm9wZXJ0eSB3YXMgZm9udCBhbmQgcHJvcGVydHkgd2FzIGltcGxpY2l0bHkgc2V0LikKK2Zv
bnQtc2l6ZTogMTJweCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiBsaW5lLWhlaWdodDog
MjRweCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCitmb250LWZhbWlseTogc2VyaWYgKG9y
aWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQogCiBGb250IGZvciAnbm9ybWFsIDEycHggc2VyaWYn
OgotZm9udC1mYW1pbHk6IHNlcmlmIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKLWZvbnQt
c2l6ZTogMTJweCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiBmb250LXN0eWxlOiBub3Jt
YWwgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQogZm9udC12YXJpYW50OiBub3JtYWwgKG9y
aWdpbmFsIHByb3BlcnR5IHdhcyBmb250IGFuZCBwcm9wZXJ0eSB3YXMgaW1wbGljaXRseSBzZXQu
KQogZm9udC13ZWlnaHQ6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQgYW5kIHBy
b3BlcnR5IHdhcyBpbXBsaWNpdGx5IHNldC4pCitmb250LXNpemU6IDEycHggKG9yaWdpbmFsIHBy
b3BlcnR5IHdhcyBmb250KQogbGluZS1oZWlnaHQ6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkg
d2FzIGZvbnQgYW5kIHByb3BlcnR5IHdhcyBpbXBsaWNpdGx5IHNldC4pCitmb250LWZhbWlseTog
c2VyaWYgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQogCiBGb250IGZvciAnbm9ybWFsIG5v
cm1hbCAxMnB4IHNlcmlmJzoKLWZvbnQtZmFtaWx5OiBzZXJpZiAob3JpZ2luYWwgcHJvcGVydHkg
d2FzIGZvbnQpCi1mb250LXNpemU6IDEycHggKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQog
Zm9udC1zdHlsZTogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIGZvbnQtdmFy
aWFudDogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIGZvbnQtd2VpZ2h0OiBu
b3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250IGFuZCBwcm9wZXJ0eSB3YXMgaW1wbGlj
aXRseSBzZXQuKQorZm9udC1zaXplOiAxMnB4IChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkK
IGxpbmUtaGVpZ2h0OiBub3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250IGFuZCBwcm9w
ZXJ0eSB3YXMgaW1wbGljaXRseSBzZXQuKQorZm9udC1mYW1pbHk6IHNlcmlmIChvcmlnaW5hbCBw
cm9wZXJ0eSB3YXMgZm9udCkKIAogRm9udCBmb3IgJ25vcm1hbCBub3JtYWwgbm9ybWFsIDEycHgg
c2VyaWYnOgotZm9udC1mYW1pbHk6IHNlcmlmIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkK
LWZvbnQtc2l6ZTogMTJweCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiBmb250LXN0eWxl
OiBub3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQogZm9udC12YXJpYW50OiBub3Jt
YWwgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQogZm9udC13ZWlnaHQ6IG5vcm1hbCAob3Jp
Z2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCitmb250LXNpemU6IDEycHggKG9yaWdpbmFsIHByb3Bl
cnR5IHdhcyBmb250KQogbGluZS1oZWlnaHQ6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkgd2Fz
IGZvbnQgYW5kIHByb3BlcnR5IHdhcyBpbXBsaWNpdGx5IHNldC4pCitmb250LWZhbWlseTogc2Vy
aWYgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQogCiBGb250IGZvciAnaXRhbGljIHNtYWxs
LWNhcHMgMTJweC8yNHB4IHNlcmlmJzoKLWZvbnQtZmFtaWx5OiBzZXJpZiAob3JpZ2luYWwgcHJv
cGVydHkgd2FzIGZvbnQpCi1mb250LXNpemU6IDEycHggKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBm
b250KQogZm9udC1zdHlsZTogaXRhbGljIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIGZv
bnQtdmFyaWFudDogc21hbGwtY2FwcyAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiBmb250
LXdlaWdodDogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCBhbmQgcHJvcGVydHkg
d2FzIGltcGxpY2l0bHkgc2V0LikKK2ZvbnQtc2l6ZTogMTJweCAob3JpZ2luYWwgcHJvcGVydHkg
d2FzIGZvbnQpCiBsaW5lLWhlaWdodDogMjRweCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQp
Citmb250LWZhbWlseTogc2VyaWYgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQogCiBGb250
IGZvciAnaXRhbGljIGJvbGQgMTJweC8yNHB4IHNlcmlmJzoKLWZvbnQtZmFtaWx5OiBzZXJpZiAo
b3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCi1mb250LXNpemU6IDEycHggKG9yaWdpbmFsIHBy
b3BlcnR5IHdhcyBmb250KQogZm9udC1zdHlsZTogaXRhbGljIChvcmlnaW5hbCBwcm9wZXJ0eSB3
YXMgZm9udCkKLWZvbnQtdmFyaWFudDogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9u
dCBhbmQgcHJvcGVydHkgd2FzIGltcGxpY2l0bHkgc2V0LikKIGZvbnQtd2VpZ2h0OiBib2xkIChv
cmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKK2ZvbnQtdmFyaWFudDogbm9ybWFsIChvcmlnaW5h
bCBwcm9wZXJ0eSB3YXMgZm9udCBhbmQgcHJvcGVydHkgd2FzIGltcGxpY2l0bHkgc2V0LikKK2Zv
bnQtc2l6ZTogMTJweCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiBsaW5lLWhlaWdodDog
MjRweCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCitmb250LWZhbWlseTogc2VyaWYgKG9y
aWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQogCiBGb250IGZvciAnc21hbGwtY2FwcyBib2xkIDE0
cHgvMjhweCBBcmlhbCwgc2Fucy1zZXJpZic6Ci1mb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2Vy
aWYgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQotZm9udC1zaXplOiAxNHB4IChvcmlnaW5h
bCBwcm9wZXJ0eSB3YXMgZm9udCkKLWZvbnQtc3R5bGU6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVy
dHkgd2FzIGZvbnQgYW5kIHByb3BlcnR5IHdhcyBpbXBsaWNpdGx5IHNldC4pCiBmb250LXZhcmlh
bnQ6IHNtYWxsLWNhcHMgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQogZm9udC13ZWlnaHQ6
IGJvbGQgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQorZm9udC1zdHlsZTogbm9ybWFsIChv
cmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCBhbmQgcHJvcGVydHkgd2FzIGltcGxpY2l0bHkgc2V0
LikKK2ZvbnQtc2l6ZTogMTRweCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiBsaW5lLWhl
aWdodDogMjhweCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCitmb250LWZhbWlseTogQXJp
YWwsIHNhbnMtc2VyaWYgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQogCiBGb250IGZvciAn
aXRhbGljIHNtYWxsLWNhcHMgYm9sZCAxNHB4LzI4cHggQXJpYWwsIHNhbnMtc2VyaWYnOgotZm9u
dC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkK
LWZvbnQtc2l6ZTogMTRweCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiBmb250LXN0eWxl
OiBpdGFsaWMgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQogZm9udC12YXJpYW50OiBzbWFs
bC1jYXBzIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIGZvbnQtd2VpZ2h0OiBib2xkIChv
cmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKK2ZvbnQtc2l6ZTogMTRweCAob3JpZ2luYWwgcHJv
cGVydHkgd2FzIGZvbnQpCiBsaW5lLWhlaWdodDogMjhweCAob3JpZ2luYWwgcHJvcGVydHkgd2Fz
IGZvbnQpCitmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWYgKG9yaWdpbmFsIHByb3BlcnR5
IHdhcyBmb250KQogCiBGb250IGZvciAnaXRhbGljIHNtYWxsLWNhcHMgYm9sZCAxMnB4LzI0cHgn
OgogCkBAIC03Nyw0ICs3NywxMCBAQCBGb250IGZvciAnaXRhbGljIHNtYWxsLWNhcHMgYm9sZCAx
MnB4JzoKIAogRm9udCBmb3IgJ2l0YWxpYyBzbWFsbC1jYXBzIGJvbGQgLzEycHggc2VyaWYnOgog
CitGb250IGZvciAnaXRhbGljIHNtYWxsLWNhcHMgc21hbGwtY2FwcyAxMnB4IHNlcmlmJzoKKwor
Rm9udCBmb3IgJ2l0YWxpYyBpdGFsaWMgc21hbGwtY2FwcyBib2xkIDEycHggc2VyaWYnOgorCitG
b250IGZvciAnMTJweC9pdGFsaWMgc2VyaWYnOgorCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL2ZvbnQtc2hvcnRoYW5kLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9mb250
LXNob3J0aGFuZC5odG1sCmluZGV4IGZjMDgyM2Q2OWRhYjg4MGEyNmUzMThkNDJlMWQ0ZjhhMzkz
MjdhNTAuLjBmM2JiOThlYjlhZjNlOGM0NjY1MDRhMDMwYWZiNDhlNzU5N2RhOTYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2ZvbnQtc2hvcnRoYW5kLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9jc3MvZm9udC1zaG9ydGhhbmQuaHRtbApAQCAtNDEsNiArNDEsOSBAQCB0ZXN0
Rm9udFZhbHVlKCJpdGFsaWMgc21hbGwtY2FwcyBib2xkIDE0cHgvMjhweCBBcmlhbCwgc2Fucy1z
ZXJpZiIpOwogdGVzdEZvbnRWYWx1ZSgiaXRhbGljIHNtYWxsLWNhcHMgYm9sZCAxMnB4LzI0cHgi
KTsKIHRlc3RGb250VmFsdWUoIml0YWxpYyBzbWFsbC1jYXBzIGJvbGQgMTJweCIpOwogdGVzdEZv
bnRWYWx1ZSgiaXRhbGljIHNtYWxsLWNhcHMgYm9sZCAvMTJweCBzZXJpZiIpOwordGVzdEZvbnRW
YWx1ZSgiaXRhbGljIHNtYWxsLWNhcHMgc21hbGwtY2FwcyAxMnB4IHNlcmlmIik7Cit0ZXN0Rm9u
dFZhbHVlKCJpdGFsaWMgaXRhbGljIHNtYWxsLWNhcHMgYm9sZCAxMnB4IHNlcmlmIik7Cit0ZXN0
Rm9udFZhbHVlKCIxMnB4L2l0YWxpYyBzZXJpZiIpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2luc3BlY3Rvci1zdXBwb3J0L3N0eWxl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvaW5zcGVjdG9yLXN1cHBvcnQvc3R5bGUt
ZXhwZWN0ZWQudHh0CmluZGV4IDM2ZjkyYjllYzBmYjM3N2Y2MGI3OGQxMjViNGEzYjM3NWY5OGIz
Y2IuLjUwYjU5NGY3MTU4YWYyMTIxYzk5ZmU3ZmRjOTE2ODBlNThkYWI3NjkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvaW5zcGVjdG9yLXN1cHBvcnQvc3R5bGUtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvaW5zcGVjdG9yLXN1cHBvcnQvc3R5bGUtZXhwZWN0ZWQudHh0
CkBAIC0xNCwxMCArMTQsMTAgQEAgbWFyZ2luLXJpZ2h0OiAxZW0gKG9yaWdpbmFsIHByb3BlcnR5
IHdhcyBtYXJnaW4gYW5kIHByb3BlcnR5IHdhcyBpbXBsaWNpdGx5IHNldC4KIG1hcmdpbi1ib3R0
b206IDFlbSAob3JpZ2luYWwgcHJvcGVydHkgd2FzIG1hcmdpbiBhbmQgcHJvcGVydHkgd2FzIGlt
cGxpY2l0bHkgc2V0LikKIG1hcmdpbi1sZWZ0OiAxZW0gKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBt
YXJnaW4gYW5kIHByb3BlcnR5IHdhcyBpbXBsaWNpdGx5IHNldC4pCiBjb2xvcjogd2hpdGUKLWZv
bnQtZmFtaWx5OiAnTHVjaWRhIEdyYW5kZScgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQot
Zm9udC1zaXplOiAyNHB4IChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIGZvbnQtc3R5bGU6
IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQgYW5kIHByb3BlcnR5IHdhcyBpbXBs
aWNpdGx5IHNldC4pCiBmb250LXZhcmlhbnQ6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkgd2Fz
IGZvbnQgYW5kIHByb3BlcnR5IHdhcyBpbXBsaWNpdGx5IHNldC4pCiBmb250LXdlaWdodDogbm9y
bWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCBhbmQgcHJvcGVydHkgd2FzIGltcGxpY2l0
bHkgc2V0LikKK2ZvbnQtc2l6ZTogMjRweCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiBs
aW5lLWhlaWdodDogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCBhbmQgcHJvcGVy
dHkgd2FzIGltcGxpY2l0bHkgc2V0LikKK2ZvbnQtZmFtaWx5OiAnTHVjaWRhIEdyYW5kZScgKG9y
aWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138169</attachid>
            <date>2012-04-20 14:51:25 -0700</date>
            <delta_ts>2012-04-23 07:27:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78698-20120420155010.patch</filename>
            <type>text/plain</type>
            <size>23316</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0NzU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmNlNGYwOTc0YzQxMDBl
YjkzNDY5MDAwNzNlODk1NGRhNTIyOGY5NS4uMGYzMmNlNGNiY2MwOWY5MmYwYjQyOTlkNWM2ODky
YWJhMzFmYTMwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA0LTIwICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIFNpbXBs
aWZ5IENTU1BhcnNlcjo6cGFyc2VGb250LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Nzg2OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTaW1wbGlmeSBwYXJzZUZvbnQgYnkgc2hhcmluZyB0aGUgY29kZSB3
ZSBoYXZlIGZvcgorICAgICAgICB0aGUgbG9uZ2hhbmRzIG9mIHRoZSBmb250IHByb3BlcnR5Lgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cyA6IEV4dGVuZCB0aGUgZXhpc3RpbmcgZm9udCBzaG9ydGhh
bmQgdGVzdCBhbmQgbW9kaWZ5IGV4cGVjdGVkIGZpbGVzCisgICAgICAgIGFzIG5vdyB0aGUgb3Jk
ZXIgb2YgdGhlIGxvbmdoYW5kcyBhZGRlZCBpbiB0aGUgcHJvcGVydHkgbGlzdCBvZiB0aGUgc3R5
bGUKKyAgICAgICAgaGFzIGNoYW5nZWQuIEl0J3MgdmVyeSB1bmxpa2VseSB0aGF0IHNvbWUgY29k
ZSBpcyByZWx5aW5nIG9uIHRoaXMgb3JkZXIgdGhvdWdoLiBJdCB3aWxsCisgICAgICAgIGFsc28g
bWF0Y2ggdGhlIHdheSB0aGUgc3BlYyBvcmRlciB0aGVtIGh0dHA6Ly93d3cudzMub3JnL1RSL2Nz
czMtZm9udHMvI2ZvbnQtcHJvcAorICAgICAgICBldmVuIHRob3VnaCB0aGUgb3JkZXIgaXMgYXJi
aXRyYXJ5IGZvciBzb21lIHZhbHVlcy4KKworICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1BhcnNlcjo6cGFyc2VGb250KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6
cGFyc2VMaW5lSGVpZ2h0KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUGFyc2VyOjpwYXJzZUZvbnRTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6
cGFyc2VGb250V2VpZ2h0KTogIEZpeCBhIGJ1ZyBkaXNjb3ZlcmVkIHdoaWxlIHVzaW5nIHBhcnNl
Rm9udFdlaWdodCBmcm9tCisgICAgICAgIHRoZSBwYXJzZUZvbnQgKGNhc2UgZm9udDogMC8wLCBB
cmlhbCwgc2Fucy1zZXJpZjsgaW4gYSBsYXlvdXQgdGVzdCksIHdlIHNob3VsZCByZXR1cm4gdHJ1
ZSBvbmx5CisgICAgICAgIHdoZW4gd2UgYWRkIHNvbWV0aGluZyBpbiB0aGUgcHJvcGVydHkgbGlz
dC4KKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisKIDIwMTItMDQtMjAgIFBhdmVsIEZlbGRt
YW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjogb3Bl
biBmaWxlIGRpYWxvZyBpcyBub3QgY2VudGVyZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmlu
ZGV4IGFjMWM3ZGVlZDYzMjk5MTliNzMxYjY3NGZjNzA4MTgwNDA1ODBmYjcuLmU1ODliY2JhNmVh
NmRhNGVmMWIzZmI4MmMyYTdhMThiNmVhY2RhMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3Bw
CkBAIC0xNTI1LDkgKzE1MjUsMTEgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJv
cGVydHlJRCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgICAgICAgICAgdmFsaWRQcmltaXRp
dmUgPSB0cnVlOwogICAgICAgICBicmVhazsKIAotICAgIGNhc2UgQ1NTUHJvcGVydHlGb250V2Vp
Z2h0OiAgLy8gbm9ybWFsIHwgYm9sZCB8IGJvbGRlciB8IGxpZ2h0ZXIgfCAxMDAgfCAyMDAgfCAz
MDAgfCA0MDAgfCA1MDAgfCA2MDAgfCA3MDAgfCA4MDAgfCA5MDAgfCBpbmhlcml0CisgICAgY2Fz
ZSBDU1NQcm9wZXJ0eUZvbnRXZWlnaHQ6ICB7IC8vIG5vcm1hbCB8IGJvbGQgfCBib2xkZXIgfCBs
aWdodGVyIHwgMTAwIHwgMjAwIHwgMzAwIHwgNDAwIHwgNTAwIHwgNjAwIHwgNzAwIHwgODAwIHwg
OTAwIHwgaW5oZXJpdAorICAgICAgICBpZiAobV92YWx1ZUxpc3QtPnNpemUoKSAhPSAxKQorICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICByZXR1cm4gcGFyc2VGb250V2VpZ2h0KGlt
cG9ydGFudCk7Ci0KKyAgICB9CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlclNwYWNpbmc6IHsK
ICAgICAgICAgaWYgKG51bSA9PSAxKSB7CiAgICAgICAgICAgICBTaG9ydGhhbmRTY29wZSBzY29w
ZSh0aGlzLCBDU1NQcm9wZXJ0eUJvcmRlclNwYWNpbmcpOwpAQCAtMTc3NywxMiArMTc3OSw3IEBA
IGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGlt
cG9ydGFudCkKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIENTU1Byb3BlcnR5Rm9udFNpemU6
Ci0gICAgICAgIC8vIDxhYnNvbHV0ZS1zaXplPiB8IDxyZWxhdGl2ZS1zaXplPiB8IDxsZW5ndGg+
IHwgPHBlcmNlbnRhZ2U+IHwgaW5oZXJpdAotICAgICAgICBpZiAoaWQgPj0gQ1NTVmFsdWVYeFNt
YWxsICYmIGlkIDw9IENTU1ZhbHVlTGFyZ2VyKQotICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUg
PSB0cnVlOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICB2YWxpZFByaW1pdGl2ZSA9ICh2YWxp
ZFVuaXQodmFsdWUsIEZMZW5ndGggfCBGUGVyY2VudCB8IEZOb25OZWcpKTsKLSAgICAgICAgYnJl
YWs7CisgICAgICAgIHJldHVybiBwYXJzZUZvbnRTaXplKGltcG9ydGFudCk7CiAKICAgICBjYXNl
IENTU1Byb3BlcnR5Rm9udFZhcmlhbnQ6ICAgICAgICAgLy8gbm9ybWFsIHwgc21hbGwtY2FwcyB8
IGluaGVyaXQKICAgICAgICAgcmV0dXJuIHBhcnNlRm9udFZhcmlhbnQoaW1wb3J0YW50KTsKQEAg
LTE4MzgsMTIgKzE4MzUsOCBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0
eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gKCFp
ZCAmJiB2YWxpZFVuaXQodmFsdWUsIEZJbnRlZ2VyLCBDU1NRdWlya3NNb2RlKSk7CiAgICAgICAg
IGJyZWFrOwogCi0gICAgY2FzZSBDU1NQcm9wZXJ0eUxpbmVIZWlnaHQ6ICAgICAgICAgIC8vIG5v
cm1hbCB8IDxudW1iZXI+IHwgPGxlbmd0aD4gfCA8cGVyY2VudGFnZT4gfCBpbmhlcml0Ci0gICAg
ICAgIGlmIChpZCA9PSBDU1NWYWx1ZU5vcm1hbCkKLSAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZl
ID0gdHJ1ZTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSAoIWlk
ICYmIHZhbGlkVW5pdCh2YWx1ZSwgRk51bWJlciB8IEZMZW5ndGggfCBGUGVyY2VudCB8IEZOb25O
ZWcpKTsKLSAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDU1NQcm9wZXJ0eUxpbmVIZWlnaHQ6Cisg
ICAgICAgIHJldHVybiBwYXJzZUxpbmVIZWlnaHQoaW1wb3J0YW50KTsKICAgICBjYXNlIENTU1By
b3BlcnR5Q291bnRlckluY3JlbWVudDogICAgLy8gWyA8aWRlbnRpZmllcj4gPGludGVnZXI+PyBd
KyB8IG5vbmUgfCBpbmhlcml0CiAgICAgICAgIGlmIChpZCAhPSBDU1NWYWx1ZU5vbmUpCiAgICAg
ICAgICAgICByZXR1cm4gcGFyc2VDb3VudGVyKHByb3BJZCwgMSwgaW1wb3J0YW50KTsKQEAgLTQz
MzAsMTExICs0MzIzLDUwIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUV4Y2x1c2lvblNoYXBlKGJv
b2wgc2hhcGVJbnNpZGUsIGJvb2wgaW1wb3J0YW50KQogLy8gWyAnZm9udC1zdHlsZScgfHwgJ2Zv
bnQtdmFyaWFudCcgfHwgJ2ZvbnQtd2VpZ2h0JyBdPyAnZm9udC1zaXplJyBbIC8gJ2xpbmUtaGVp
Z2h0JyBdPyAnZm9udC1mYW1pbHknCiBib29sIENTU1BhcnNlcjo6cGFyc2VGb250KGJvb2wgaW1w
b3J0YW50KQogewotICAgIGJvb2wgdmFsaWQgPSB0cnVlOwotICAgIGJvb2wgc3R5bGVJbXBsaWNp
dCA9IHRydWU7Ci0gICAgYm9vbCB2YXJpYW50SW1wbGljaXQgPSB0cnVlOwotICAgIGJvb2wgd2Vp
Z2h0SW1wbGljaXQgPSB0cnVlOwotICAgIGJvb2wgbGluZUhlaWdodEltcGxpY2l0ID0gdHJ1ZTsK
LSAgICBpbnQgdmFsdWVPcmRpbmFsID0gMDsKLQotICAgIENTU1BhcnNlclZhbHVlICp2YWx1ZSA9
IG1fdmFsdWVMaXN0LT5jdXJyZW50KCk7Ci0gICAgUmVmUHRyPEZvbnRWYWx1ZT4gZm9udCA9IEZv
bnRWYWx1ZTo6Y3JlYXRlKCk7Ci0gICAgLy8gT3B0aW9uYWwgZm9udC1zdHlsZSwgZm9udC12YXJp
YW50IGFuZCBmb250LXdlaWdodC4KLSAgICB3aGlsZSAodmFsdWUpIHsKLSAgICAgICAgaW50IGlk
ID0gdmFsdWUtPmlkOwotICAgICAgICBpZiAoaWQgPT0gQ1NTVmFsdWVJbml0aWFsIHx8IGlkID09
IENTU1ZhbHVlSW5oZXJpdCkKKyAgICAvLyBMZXQncyBjaGVjayBpZiB0aGVyZSBpcyBhbiBpbmhl
cml0IG9yIGluaXRpYWwgc29tZXdoZXJlIGluIHRoZSBzaG9ydGhhbmQuCisgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IG1fdmFsdWVMaXN0LT5zaXplKCk7ICsraSkgeworICAgICAgICBpZiAo
bV92YWx1ZUxpc3QtPnZhbHVlQXQoaSktPmlkID09IENTU1ZhbHVlSW5oZXJpdCB8fCBtX3ZhbHVl
TGlzdC0+dmFsdWVBdChpKS0+aWQgPT0gQ1NTVmFsdWVJbml0aWFsKQogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgICAgICBpZiAoaWQpIHsKLSAgICAgICAgICAgIGlmIChpZCA9PSBDU1NW
YWx1ZU5vcm1hbCkgewotICAgICAgICAgICAgICAgIC8vIEl0J3MgdGhlIGluaXRpYWwgdmFsdWUg
Zm9yIGFsbCB0aHJlZSwgc28gbWFyayB0aGUgY29ycmVzcG9uZGluZyBsb25naGFuZCBhcyBleHBs
aWNpdC4KLSAgICAgICAgICAgICAgICBzd2l0Y2ggKHZhbHVlT3JkaW5hbCkgewotICAgICAgICAg
ICAgICAgIGNhc2UgMDoKLSAgICAgICAgICAgICAgICAgICAgc3R5bGVJbXBsaWNpdCA9IGZhbHNl
OwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlIDE6Ci0g
ICAgICAgICAgICAgICAgICAgIHZhcmlhbnRJbXBsaWNpdCA9IGZhbHNlOwotICAgICAgICAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAgICAgICAg
ICAgIHdlaWdodEltcGxpY2l0ID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0gZWxzZSBpZiAoaWQgPT0gQ1NTVmFsdWVJ
dGFsaWMgfHwgaWQgPT0gQ1NTVmFsdWVPYmxpcXVlKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGZv
bnQtPnN0eWxlKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAg
ICAgICAgZm9udC0+c3R5bGUgPSBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUo
aWQpOwotICAgICAgICAgICAgICAgIHN0eWxlSW1wbGljaXQgPSBmYWxzZTsKLSAgICAgICAgICAg
IH0gZWxzZSBpZiAoaWQgPT0gQ1NTVmFsdWVTbWFsbENhcHMpIHsKLSAgICAgICAgICAgICAgICBp
ZiAoZm9udC0+dmFyaWFudCkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
ICAgICAgICAgICAgIGZvbnQtPnZhcmlhbnQgPSBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlm
aWVyVmFsdWUoaWQpOwotICAgICAgICAgICAgICAgIHZhcmlhbnRJbXBsaWNpdCA9IGZhbHNlOwot
ICAgICAgICAgICAgfSBlbHNlIGlmIChpZCA+PSBDU1NWYWx1ZUJvbGQgJiYgaWQgPD0gQ1NTVmFs
dWVMaWdodGVyKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGZvbnQtPndlaWdodCkKLSAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgICAgIGZvbnQtPndlaWdodCA9
IGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShpZCk7Ci0gICAgICAgICAgICAg
ICAgd2VpZ2h0SW1wbGljaXQgPSBmYWxzZTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAg
ICAgICAgIHZhbGlkID0gZmFsc2U7Ci0gICAgICAgIH0gZWxzZSBpZiAoIWZvbnQtPndlaWdodCAm
JiB2YWxpZFVuaXQodmFsdWUsIEZJbnRlZ2VyIHwgRk5vbk5lZywgQ1NTU3RyaWN0TW9kZSkpIHsK
LSAgICAgICAgICAgIGludCB3ZWlnaHQgPSBzdGF0aWNfY2FzdDxpbnQ+KHZhbHVlLT5mVmFsdWUp
OwotICAgICAgICAgICAgaW50IHZhbCA9IDA7Ci0gICAgICAgICAgICBpZiAod2VpZ2h0ID09IDEw
MCkKLSAgICAgICAgICAgICAgICB2YWwgPSBDU1NWYWx1ZTEwMDsKLSAgICAgICAgICAgIGVsc2Ug
aWYgKHdlaWdodCA9PSAyMDApCi0gICAgICAgICAgICAgICAgdmFsID0gQ1NTVmFsdWUyMDA7Ci0g
ICAgICAgICAgICBlbHNlIGlmICh3ZWlnaHQgPT0gMzAwKQotICAgICAgICAgICAgICAgIHZhbCA9
IENTU1ZhbHVlMzAwOwotICAgICAgICAgICAgZWxzZSBpZiAod2VpZ2h0ID09IDQwMCkKLSAgICAg
ICAgICAgICAgICB2YWwgPSBDU1NWYWx1ZTQwMDsKLSAgICAgICAgICAgIGVsc2UgaWYgKHdlaWdo
dCA9PSA1MDApCi0gICAgICAgICAgICAgICAgdmFsID0gQ1NTVmFsdWU1MDA7Ci0gICAgICAgICAg
ICBlbHNlIGlmICh3ZWlnaHQgPT0gNjAwKQotICAgICAgICAgICAgICAgIHZhbCA9IENTU1ZhbHVl
NjAwOwotICAgICAgICAgICAgZWxzZSBpZiAod2VpZ2h0ID09IDcwMCkKLSAgICAgICAgICAgICAg
ICB2YWwgPSBDU1NWYWx1ZTcwMDsKLSAgICAgICAgICAgIGVsc2UgaWYgKHdlaWdodCA9PSA4MDAp
Ci0gICAgICAgICAgICAgICAgdmFsID0gQ1NTVmFsdWU4MDA7Ci0gICAgICAgICAgICBlbHNlIGlm
ICh3ZWlnaHQgPT0gOTAwKQotICAgICAgICAgICAgICAgIHZhbCA9IENTU1ZhbHVlOTAwOworICAg
IH0KIAotICAgICAgICAgICAgaWYgKHZhbCkgewotICAgICAgICAgICAgICAgIGZvbnQtPndlaWdo
dCA9IGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2YWwpOwotICAgICAgICAg
ICAgICAgIHdlaWdodEltcGxpY2l0ID0gZmFsc2U7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAg
ICAgICAgICAgICB2YWxpZCA9IGZhbHNlOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
dmFsaWQgPSBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICBpZiAoIXZhbGlkKQorICAgIFNob3J0
aGFuZFNjb3BlIHNjb3BlKHRoaXMsIENTU1Byb3BlcnR5Rm9udCk7CisgICAgLy8gT3B0aW9uYWwg
Zm9udC1zdHlsZSwgZm9udC12YXJpYW50IGFuZCBmb250LXdlaWdodC4KKyAgICBib29sIGZvbnRT
dHlsZVBhcnNlZCA9IGZhbHNlOworICAgIGJvb2wgZm9udFZhcmlhbnRQYXJzZWQgPSBmYWxzZTsK
KyAgICBib29sIGZvbnRXZWlnaHRQYXJzZWQgPSBmYWxzZTsKKyAgICBDU1NQYXJzZXJWYWx1ZSog
dmFsdWU7CisgICAgd2hpbGUgKCh2YWx1ZSA9IG1fdmFsdWVMaXN0LT5jdXJyZW50KCkpKSB7Cisg
ICAgICAgIGlmICghZm9udFN0eWxlUGFyc2VkICYmIGlzVmFsaWRLZXl3b3JkUHJvcGVydHlBbmRW
YWx1ZShDU1NQcm9wZXJ0eUZvbnRTdHlsZSwgdmFsdWUtPmlkKSkgeworICAgICAgICAgICAgYWRk
UHJvcGVydHkoQ1NTUHJvcGVydHlGb250U3R5bGUsIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50
aWZpZXJWYWx1ZSh2YWx1ZS0+aWQpLCBpbXBvcnRhbnQpOworICAgICAgICAgICAgZm9udFN0eWxl
UGFyc2VkID0gdHJ1ZTsKKyAgICAgICAgfSBlbHNlIGlmICghZm9udFZhcmlhbnRQYXJzZWQgJiYg
KHZhbHVlLT5pZCA9PSBDU1NWYWx1ZU5vcm1hbCB8fCB2YWx1ZS0+aWQgPT0gQ1NTVmFsdWVTbWFs
bENhcHMpKSB7CisgICAgICAgICAgICAvLyBGb250IHZhcmlhbnQgaW4gdGhlIHNob3J0aGFuZCBp
cyBwYXJ0aWN1bGFyLCBpdCBvbmx5IGFjY2VwdHMgbm9ybWFsIG9yIHNtYWxsLWNhcHMuCisgICAg
ICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRWYXJpYW50LCBjc3NWYWx1ZVBvb2wo
KS5jcmVhdGVJZGVudGlmaWVyVmFsdWUodmFsdWUtPmlkKSwgaW1wb3J0YW50KTsKKyAgICAgICAg
ICAgIGZvbnRWYXJpYW50UGFyc2VkID0gdHJ1ZTsKKyAgICAgICAgfSBlbHNlIGlmICghZm9udFdl
aWdodFBhcnNlZCAmJiBwYXJzZUZvbnRXZWlnaHQoaW1wb3J0YW50KSkKKyAgICAgICAgICAgIGZv
bnRXZWlnaHRQYXJzZWQgPSB0cnVlOworICAgICAgICBlbHNlCiAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgdmFsdWUgPSBtX3ZhbHVlTGlzdC0+bmV4dCgpOwotICAgICAgICArK3ZhbHVlT3Jk
aW5hbDsKKyAgICAgICAgbV92YWx1ZUxpc3QtPm5leHQoKTsKICAgICB9Ci0gICAgaWYgKCF2YWx1
ZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKHZhbHVlLT5pZCA9PSBDU1NWYWx1
ZUluaXRpYWwgfHwgdmFsdWUtPmlkID09IENTU1ZhbHVlSW5oZXJpdCkKKyAgICBpZiAoIXZhbHVl
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAvLyBTZXQgdW5kZWZpbmVkIHZhbHVlcyB0
byBkZWZhdWx0LgotICAgIGlmICghZm9udC0+c3R5bGUpCi0gICAgICAgIGZvbnQtPnN0eWxlID0g
Y3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTm9ybWFsKTsKLSAg
ICBpZiAoIWZvbnQtPnZhcmlhbnQpCi0gICAgICAgIGZvbnQtPnZhcmlhbnQgPSBjc3NWYWx1ZVBv
b2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb3JtYWwpOwotICAgIGlmICghZm9u
dC0+d2VpZ2h0KQotICAgICAgICBmb250LT53ZWlnaHQgPSBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJ
ZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb3JtYWwpOworICAgIGlmICghZm9udFN0eWxlUGFyc2Vk
KQorICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRTdHlsZSwgY3NzVmFsdWVQb29s
KCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTm9ybWFsKSwgaW1wb3J0YW50LCB0cnVl
KTsKKyAgICBpZiAoIWZvbnRWYXJpYW50UGFyc2VkKQorICAgICAgICBhZGRQcm9wZXJ0eShDU1NQ
cm9wZXJ0eUZvbnRWYXJpYW50LCBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUo
Q1NTVmFsdWVOb3JtYWwpLCBpbXBvcnRhbnQsIHRydWUpOworICAgIGlmICghZm9udFdlaWdodFBh
cnNlZCkKKyAgICAgICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlGb250V2VpZ2h0LCBjc3NWYWx1
ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb3JtYWwpLCBpbXBvcnRhbnQs
IHRydWUpOwogCiAgICAgLy8gTm93IGEgZm9udCBzaXplIF9tdXN0XyBjb21lLgogICAgIC8vIDxh
YnNvbHV0ZS1zaXplPiB8IDxyZWxhdGl2ZS1zaXplPiB8IDxsZW5ndGg+IHwgPHBlcmNlbnRhZ2U+
IHwgaW5oZXJpdAotICAgIGlmICh2YWx1ZS0+aWQgPj0gQ1NTVmFsdWVYeFNtYWxsICYmIHZhbHVl
LT5pZCA8PSBDU1NWYWx1ZUxhcmdlcikKLSAgICAgICAgZm9udC0+c2l6ZSA9IGNzc1ZhbHVlUG9v
bCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2YWx1ZS0+aWQpOwotICAgIGVsc2UgaWYgKHZhbGlk
VW5pdCh2YWx1ZSwgRkxlbmd0aCB8IEZQZXJjZW50IHwgRk5vbk5lZykpCi0gICAgICAgIGZvbnQt
PnNpemUgPSBjcmVhdGVQcmltaXRpdmVOdW1lcmljVmFsdWUodmFsdWUpOwotICAgIHZhbHVlID0g
bV92YWx1ZUxpc3QtPm5leHQoKTsKLSAgICBpZiAoIWZvbnQtPnNpemUgfHwgIXZhbHVlKQorICAg
IGlmICghcGFyc2VGb250U2l6ZShpbXBvcnRhbnQpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
LSAgICBpZiAodmFsdWUtPmlkID09IENTU1ZhbHVlSW5pdGlhbCB8fCB2YWx1ZS0+aWQgPT0gQ1NT
VmFsdWVJbmhlcml0KQorICAgIHZhbHVlID0gbV92YWx1ZUxpc3QtPmN1cnJlbnQoKTsKKyAgICBp
ZiAoIXZhbHVlKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBpZiAodmFsdWUtPnVuaXQg
PT0gQ1NTUGFyc2VyVmFsdWU6Ok9wZXJhdG9yICYmIHZhbHVlLT5pVmFsdWUgPT0gJy8nKSB7CkBA
IC00NDQyLDQyICs0Mzc0LDIzIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUZvbnQoYm9vbCBpbXBv
cnRhbnQpCiAgICAgICAgIHZhbHVlID0gbV92YWx1ZUxpc3QtPm5leHQoKTsKICAgICAgICAgaWYg
KCF2YWx1ZSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgaWYgKHZhbHVlLT5p
ZCA9PSBDU1NWYWx1ZU5vcm1hbCkgewotICAgICAgICAgICAgLy8gRGVmYXVsdCB2YWx1ZSwganVz
dCBtYXJrIHRoZSBwcm9wZXJ0eSBhcyBleHBsaWNpdC4KLSAgICAgICAgICAgIGxpbmVIZWlnaHRJ
bXBsaWNpdCA9IGZhbHNlOwotICAgICAgICB9IGVsc2UgaWYgKHZhbGlkVW5pdCh2YWx1ZSwgRk51
bWJlciB8IEZMZW5ndGggfCBGUGVyY2VudCB8IEZOb25OZWcpKSB7Ci0gICAgICAgICAgICBmb250
LT5saW5lSGVpZ2h0ID0gY3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKHZhbHVlKTsKLSAgICAg
ICAgICAgIGxpbmVIZWlnaHRJbXBsaWNpdCA9IGZhbHNlOwotICAgICAgICB9IGVsc2UKLSAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgdmFsdWUgPSBtX3ZhbHVlTGlzdC0+bmV4dCgp
OwotICAgICAgICBpZiAoIXZhbHVlKQorICAgICAgICBpZiAoIXBhcnNlTGluZUhlaWdodChpbXBv
cnRhbnQpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIGlmICh2YWx1
ZS0+aWQgPT0gQ1NTVmFsdWVJbml0aWFsIHx8IHZhbHVlLT5pZCA9PSBDU1NWYWx1ZUluaGVyaXQp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICghZm9udC0+bGluZUhlaWdodCkKLSAg
ICAgICAgZm9udC0+bGluZUhlaWdodCA9IGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJW
YWx1ZShDU1NWYWx1ZU5vcm1hbCk7CisgICAgfSBlbHNlCisgICAgICAgIGFkZFByb3BlcnR5KENT
U1Byb3BlcnR5TGluZUhlaWdodCwgY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVl
KENTU1ZhbHVlTm9ybWFsKSwgaW1wb3J0YW50LCB0cnVlKTsKIAogICAgIC8vIEZvbnQgZmFtaWx5
IG11c3QgY29tZSBub3cuCi0gICAgZm9udC0+ZmFtaWx5ID0gcGFyc2VGb250RmFtaWx5KCk7Ci0K
LSAgICBpZiAobV92YWx1ZUxpc3QtPmN1cnJlbnQoKSB8fCAhZm9udC0+ZmFtaWx5KQorICAgIFJl
ZlB0cjxDU1NWYWx1ZT4gcGFyc2VkRmFtaWx5VmFsdWUgPSBwYXJzZUZvbnRGYW1pbHkoKTsKKyAg
ICBpZiAoIXBhcnNlZEZhbWlseVZhbHVlKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBT
aG9ydGhhbmRTY29wZSBzY29wZSh0aGlzLCBDU1NQcm9wZXJ0eUZvbnQpOwotICAgIGFkZFByb3Bl
cnR5KENTU1Byb3BlcnR5Rm9udEZhbWlseSwgZm9udC0+ZmFtaWx5LCBpbXBvcnRhbnQpOwotICAg
IGFkZFByb3BlcnR5KENTU1Byb3BlcnR5Rm9udFNpemUsIGZvbnQtPnNpemUsIGltcG9ydGFudCk7
Ci0gICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlGb250U3R5bGUsIGZvbnQtPnN0eWxlLCBpbXBv
cnRhbnQsIHN0eWxlSW1wbGljaXQpOwotICAgIGFkZFByb3BlcnR5KENTU1Byb3BlcnR5Rm9udFZh
cmlhbnQsIGZvbnQtPnZhcmlhbnQsIGltcG9ydGFudCwgdmFyaWFudEltcGxpY2l0KTsKLSAgICBh
ZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRXZWlnaHQsIGZvbnQtPndlaWdodCwgaW1wb3J0YW50
LCB3ZWlnaHRJbXBsaWNpdCk7Ci0gICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlMaW5lSGVpZ2h0
LCBmb250LT5saW5lSGVpZ2h0LCBpbXBvcnRhbnQsIGxpbmVIZWlnaHRJbXBsaWNpdCk7CisgICAg
YWRkUHJvcGVydHkoQ1NTUHJvcGVydHlGb250RmFtaWx5LCBwYXJzZWRGYW1pbHlWYWx1ZS5yZWxl
YXNlKCksIGltcG9ydGFudCk7CiAKICAgICAvLyBGSVhNRTogaHR0cDovL3d3dy53My5vcmcvVFIv
MjAxMS9XRC1jc3MzLWZvbnRzLTIwMTEwMzI0LyNmb250LXByb3AgcmVxdWlyZXMgdGhhdAogICAg
IC8vICJmb250LXN0cmV0Y2giLCAiZm9udC1zaXplLWFkanVzdCIsIGFuZCAiZm9udC1rZXJuaW5n
IiBiZSByZXNldCB0byB0aGVpciBpbml0aWFsIHZhbHVlcwogICAgIC8vIGJ1dCB3ZSBkb24ndCBz
ZWVtIHRvIHN1cHBvcnQgdGhlbSBhdCB0aGUgbW9tZW50LiBUaGV5IHNob3VsZCBhbHNvIGJlIGFk
ZGVkIGhlcmUgb25jZSBpbXBsZW1lbnRlZC4KKyAgICBpZiAobV92YWx1ZUxpc3QtPmN1cnJlbnQo
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC00NTc2
LDYgKzQ0ODksMzYgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZUxpc3Q+IENTU1BhcnNlcjo6cGFyc2VG
b250RmFtaWx5KCkKICAgICByZXR1cm4gbGlzdC5yZWxlYXNlKCk7CiB9CiAKK2Jvb2wgQ1NTUGFy
c2VyOjpwYXJzZUxpbmVIZWlnaHQoYm9vbCBpbXBvcnRhbnQpCit7CisgICAgQ1NTUGFyc2VyVmFs
dWUqIHZhbHVlID0gbV92YWx1ZUxpc3QtPmN1cnJlbnQoKTsKKyAgICBpbnQgaWQgPSB2YWx1ZS0+
aWQ7CisgICAgYm9vbCB2YWxpZFByaW1pdGl2ZSA9IGZhbHNlOworICAgIC8vIG5vcm1hbCB8IDxu
dW1iZXI+IHwgPGxlbmd0aD4gfCA8cGVyY2VudGFnZT4gfCBpbmhlcml0CisgICAgaWYgKGlkID09
IENTU1ZhbHVlTm9ybWFsKQorICAgICAgICB2YWxpZFByaW1pdGl2ZSA9IHRydWU7CisgICAgZWxz
ZQorICAgICAgICB2YWxpZFByaW1pdGl2ZSA9ICghaWQgJiYgdmFsaWRVbml0KHZhbHVlLCBGTnVt
YmVyIHwgRkxlbmd0aCB8IEZQZXJjZW50IHwgRk5vbk5lZykpOworICAgIGlmICh2YWxpZFByaW1p
dGl2ZSAmJiAoIW1fdmFsdWVMaXN0LT5uZXh0KCkgfHwgaW5TaG9ydGhhbmQoKSkpCisgICAgICAg
IGFkZFByb3BlcnR5KENTU1Byb3BlcnR5TGluZUhlaWdodCwgcGFyc2VWYWxpZFByaW1pdGl2ZShp
ZCwgdmFsdWUpLCBpbXBvcnRhbnQpOworICAgIHJldHVybiB2YWxpZFByaW1pdGl2ZTsKK30KKwor
Ym9vbCBDU1NQYXJzZXI6OnBhcnNlRm9udFNpemUoYm9vbCBpbXBvcnRhbnQpCit7CisgICAgQ1NT
UGFyc2VyVmFsdWUqIHZhbHVlID0gbV92YWx1ZUxpc3QtPmN1cnJlbnQoKTsKKyAgICBpbnQgaWQg
PSB2YWx1ZS0+aWQ7CisgICAgYm9vbCB2YWxpZFByaW1pdGl2ZSA9IGZhbHNlOworICAgIC8vIDxh
YnNvbHV0ZS1zaXplPiB8IDxyZWxhdGl2ZS1zaXplPiB8IDxsZW5ndGg+IHwgPHBlcmNlbnRhZ2U+
IHwgaW5oZXJpdAorICAgIGlmIChpZCA+PSBDU1NWYWx1ZVh4U21hbGwgJiYgaWQgPD0gQ1NTVmFs
dWVMYXJnZXIpCisgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKKyAgICBlbHNlCisgICAg
ICAgIHZhbGlkUHJpbWl0aXZlID0gdmFsaWRVbml0KHZhbHVlLCBGTGVuZ3RoIHwgRlBlcmNlbnQg
fCBGTm9uTmVnKTsKKyAgICBpZiAodmFsaWRQcmltaXRpdmUgJiYgKCFtX3ZhbHVlTGlzdC0+bmV4
dCgpIHx8IGluU2hvcnRoYW5kKCkpKQorICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZv
bnRTaXplLCBwYXJzZVZhbGlkUHJpbWl0aXZlKGlkLCB2YWx1ZSksIGltcG9ydGFudCk7CisgICAg
cmV0dXJuIHZhbGlkUHJpbWl0aXZlOworfQorCiBib29sIENTU1BhcnNlcjo6cGFyc2VGb250VmFy
aWFudChib29sIGltcG9ydGFudCkKIHsKICAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiB2YWx1ZXM7
CkBAIC00NjI1LDkgKzQ1NjgsNiBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VGb250VmFyaWFudChi
b29sIGltcG9ydGFudCkKIAogYm9vbCBDU1NQYXJzZXI6OnBhcnNlRm9udFdlaWdodChib29sIGlt
cG9ydGFudCkKIHsKLSAgICBpZiAobV92YWx1ZUxpc3QtPnNpemUoKSAhPSAxKQotICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0KICAgICBDU1NQYXJzZXJWYWx1ZSogdmFsdWUgPSBtX3ZhbHVlTGlzdC0+
Y3VycmVudCgpOwogICAgIGlmICgodmFsdWUtPmlkID49IENTU1ZhbHVlTm9ybWFsKSAmJiAodmFs
dWUtPmlkIDw9IENTU1ZhbHVlOTAwKSkgewogICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0
eUZvbnRXZWlnaHQsIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2YWx1ZS0+
aWQpLCBpbXBvcnRhbnQpOwpAQCAtNDYzNSw5ICs0NTc1LDEwIEBAIGJvb2wgQ1NTUGFyc2VyOjpw
YXJzZUZvbnRXZWlnaHQoYm9vbCBpbXBvcnRhbnQpCiAgICAgfQogICAgIGlmICh2YWxpZFVuaXQo
dmFsdWUsIEZJbnRlZ2VyIHwgRk5vbk5lZywgQ1NTUXVpcmtzTW9kZSkpIHsKICAgICAgICAgaW50
IHdlaWdodCA9IHN0YXRpY19jYXN0PGludD4odmFsdWUtPmZWYWx1ZSk7Ci0gICAgICAgIGlmICgh
KHdlaWdodCAlIDEwMCkgJiYgd2VpZ2h0ID49IDEwMCAmJiB3ZWlnaHQgPD0gOTAwKQorICAgICAg
ICBpZiAoISh3ZWlnaHQgJSAxMDApICYmIHdlaWdodCA+PSAxMDAgJiYgd2VpZ2h0IDw9IDkwMCkg
ewogICAgICAgICAgICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlGb250V2VpZ2h0LCBjc3NWYWx1
ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWUxMDAgKyB3ZWlnaHQgLyAxMDAg
LSAxKSwgaW1wb3J0YW50KTsKLSAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICAgICAgfQogICAgIH0KICAgICByZXR1cm4gZmFsc2U7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUGFyc2VyLmgKaW5kZXggMzkzODg1YjFkMzlhMWY4NGFjYjI4Mjk4MTU1NTM4OGJhMjg1Yjgy
ZS4uMmM1YTI3YWI4OWNiMDUzM2Q5NDVkOTNmNWZmNTRkY2UyNjQ3OWVmZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQYXJzZXIuaApAQCAtMTU3LDYgKzE1Nyw4IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBib29s
IGZhc3RQYXJzZUNvbG9yKFJHQkEzMiYsIGNvbnN0IFN0cmluZyYsIGJvb2wgc3RyaWN0KTsKIAor
ICAgIGJvb2wgcGFyc2VMaW5lSGVpZ2h0KGJvb2wgaW1wb3J0YW50KTsKKyAgICBib29sIHBhcnNl
Rm9udFNpemUoYm9vbCBpbXBvcnRhbnQpOwogICAgIGJvb2wgcGFyc2VGb250VmFyaWFudChib29s
IGltcG9ydGFudCk7CiAgICAgYm9vbCBwYXJzZUZvbnRXZWlnaHQoYm9vbCBpbXBvcnRhbnQpOwog
ICAgIGJvb2wgcGFyc2VGb250RmFjZVNyYygpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGVkODQxNjZmZmM3YjMwYmFhZmUw
NWY2YjIzMzAxOGFlZGI0N2IwODYuLjMxNzAzNDdhNDNiNTUxYzBmZjI1YjBiNjI1ZjlmNGVlZTZm
NzIyZWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMi0wNC0yMCAgQWxleGlzIE1lbmFyZCAg
PGFsZXhpcy5tZW5hcmRAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBTaW1wbGlmeSBDU1NQYXJz
ZXI6OnBhcnNlRm9udC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTc4Njk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkZWQgbmV3IGluY29ycmVjdCB2YWx1ZXMgdG8gaW1wcm92ZSB0aGUgdGVzdCBjb3Zl
cmFnZSBvZiB0aGUgZm9udCBzaG9ydGhhbmQgcHJvcGVydHkuCisKKyAgICAgICAgVGhlIHBhdGNo
IGNoYW5nZWQgdGhlIG9yZGVyIHRoZSBsb25naGFuZHMgYXJlIGFkZGVkIHRvIHRoZSBsaXN0Cisg
ICAgICAgIG9mIHByb3BlcnRpZXMgZm9yIHRoZSBzdHlsZSBzbyB0aGUgZXhwZWN0ZWQgZmlsZXMg
bmVlZCB0byBiZSB1cGRhdGVkLgorCisgICAgICAgICogZmFzdC9jc3MvZm9udC1zaG9ydGhhbmQt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3NzL2ZvbnQtc2hvcnRoYW5kLmh0bWw6Cisg
ICAgICAgICogZmFzdC9pbnNwZWN0b3Itc3VwcG9ydC9zdHlsZS1leHBlY3RlZC50eHQ6CisKIDIw
MTItMDQtMjAgIERvbWluaWsgUsO2dHRzY2hlcyAgPGRvbWluaWsucm90dHNjaGVzQGxpbnV4Lmlu
dGVsLmNvbT4KIAogICAgICAgICBbRUZMXVtEUlRdIEdhcmRlbmluZyBTVkcgdGVzdHMgYW5kIHRp
bWVvdXRzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9mb250LXNob3J0aGFuZC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9mb250LXNob3J0aGFuZC1leHBlY3Rl
ZC50eHQKaW5kZXggZWIyYzQ2MTJjYTU3OGUzNjBiYTU2NmQ4MmZjODMzMjcyMDllN2ZkNi4uN2Y2
ODQ5NTVlYTgzNTNlODExODliODkzOTFiOGZkYTU4ZjQwM2E0OSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9jc3MvZm9udC1zaG9ydGhhbmQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvY3NzL2ZvbnQtc2hvcnRoYW5kLWV4cGVjdGVkLnR4dApAQCAtMSw3NSArMSw3NSBA
QAogVGVzdAogRm9udCBmb3IgJzEycHggbW9ub3NwYWNlJzoKLWZvbnQtZmFtaWx5OiBtb25vc3Bh
Y2UgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQotZm9udC1zaXplOiAxMnB4IChvcmlnaW5h
bCBwcm9wZXJ0eSB3YXMgZm9udCkKIGZvbnQtc3R5bGU6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVy
dHkgd2FzIGZvbnQgYW5kIHByb3BlcnR5IHdhcyBpbXBsaWNpdGx5IHNldC4pCiBmb250LXZhcmlh
bnQ6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQgYW5kIHByb3BlcnR5IHdhcyBp
bXBsaWNpdGx5IHNldC4pCiBmb250LXdlaWdodDogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3
YXMgZm9udCBhbmQgcHJvcGVydHkgd2FzIGltcGxpY2l0bHkgc2V0LikKK2ZvbnQtc2l6ZTogMTJw
eCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiBsaW5lLWhlaWdodDogbm9ybWFsIChvcmln
aW5hbCBwcm9wZXJ0eSB3YXMgZm9udCBhbmQgcHJvcGVydHkgd2FzIGltcGxpY2l0bHkgc2V0LikK
K2ZvbnQtZmFtaWx5OiBtb25vc3BhY2UgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQogCiBG
b250IGZvciAnMTJweC8yNHB4IHNlcmlmJzoKLWZvbnQtZmFtaWx5OiBzZXJpZiAob3JpZ2luYWwg
cHJvcGVydHkgd2FzIGZvbnQpCi1mb250LXNpemU6IDEycHggKG9yaWdpbmFsIHByb3BlcnR5IHdh
cyBmb250KQogZm9udC1zdHlsZTogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCBh
bmQgcHJvcGVydHkgd2FzIGltcGxpY2l0bHkgc2V0LikKIGZvbnQtdmFyaWFudDogbm9ybWFsIChv
cmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCBhbmQgcHJvcGVydHkgd2FzIGltcGxpY2l0bHkgc2V0
LikKIGZvbnQtd2VpZ2h0OiBub3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250IGFuZCBw
cm9wZXJ0eSB3YXMgaW1wbGljaXRseSBzZXQuKQorZm9udC1zaXplOiAxMnB4IChvcmlnaW5hbCBw
cm9wZXJ0eSB3YXMgZm9udCkKIGxpbmUtaGVpZ2h0OiAyNHB4IChvcmlnaW5hbCBwcm9wZXJ0eSB3
YXMgZm9udCkKK2ZvbnQtZmFtaWx5OiBzZXJpZiAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQp
CiAKIEZvbnQgZm9yICdub3JtYWwgMTJweCBzZXJpZic6Ci1mb250LWZhbWlseTogc2VyaWYgKG9y
aWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQotZm9udC1zaXplOiAxMnB4IChvcmlnaW5hbCBwcm9w
ZXJ0eSB3YXMgZm9udCkKIGZvbnQtc3R5bGU6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkgd2Fz
IGZvbnQpCiBmb250LXZhcmlhbnQ6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQg
YW5kIHByb3BlcnR5IHdhcyBpbXBsaWNpdGx5IHNldC4pCiBmb250LXdlaWdodDogbm9ybWFsIChv
cmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCBhbmQgcHJvcGVydHkgd2FzIGltcGxpY2l0bHkgc2V0
LikKK2ZvbnQtc2l6ZTogMTJweCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiBsaW5lLWhl
aWdodDogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCBhbmQgcHJvcGVydHkgd2Fz
IGltcGxpY2l0bHkgc2V0LikKK2ZvbnQtZmFtaWx5OiBzZXJpZiAob3JpZ2luYWwgcHJvcGVydHkg
d2FzIGZvbnQpCiAKIEZvbnQgZm9yICdub3JtYWwgbm9ybWFsIDEycHggc2VyaWYnOgotZm9udC1m
YW1pbHk6IHNlcmlmIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKLWZvbnQtc2l6ZTogMTJw
eCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiBmb250LXN0eWxlOiBub3JtYWwgKG9yaWdp
bmFsIHByb3BlcnR5IHdhcyBmb250KQogZm9udC12YXJpYW50OiBub3JtYWwgKG9yaWdpbmFsIHBy
b3BlcnR5IHdhcyBmb250KQogZm9udC13ZWlnaHQ6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkg
d2FzIGZvbnQgYW5kIHByb3BlcnR5IHdhcyBpbXBsaWNpdGx5IHNldC4pCitmb250LXNpemU6IDEy
cHggKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQogbGluZS1oZWlnaHQ6IG5vcm1hbCAob3Jp
Z2luYWwgcHJvcGVydHkgd2FzIGZvbnQgYW5kIHByb3BlcnR5IHdhcyBpbXBsaWNpdGx5IHNldC4p
Citmb250LWZhbWlseTogc2VyaWYgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQogCiBGb250
IGZvciAnbm9ybWFsIG5vcm1hbCBub3JtYWwgMTJweCBzZXJpZic6Ci1mb250LWZhbWlseTogc2Vy
aWYgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQotZm9udC1zaXplOiAxMnB4IChvcmlnaW5h
bCBwcm9wZXJ0eSB3YXMgZm9udCkKIGZvbnQtc3R5bGU6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVy
dHkgd2FzIGZvbnQpCiBmb250LXZhcmlhbnQ6IG5vcm1hbCAob3JpZ2luYWwgcHJvcGVydHkgd2Fz
IGZvbnQpCiBmb250LXdlaWdodDogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkK
K2ZvbnQtc2l6ZTogMTJweCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiBsaW5lLWhlaWdo
dDogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCBhbmQgcHJvcGVydHkgd2FzIGlt
cGxpY2l0bHkgc2V0LikKK2ZvbnQtZmFtaWx5OiBzZXJpZiAob3JpZ2luYWwgcHJvcGVydHkgd2Fz
IGZvbnQpCiAKIEZvbnQgZm9yICdpdGFsaWMgc21hbGwtY2FwcyAxMnB4LzI0cHggc2VyaWYnOgot
Zm9udC1mYW1pbHk6IHNlcmlmIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKLWZvbnQtc2l6
ZTogMTJweCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiBmb250LXN0eWxlOiBpdGFsaWMg
KG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQogZm9udC12YXJpYW50OiBzbWFsbC1jYXBzIChv
cmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIGZvbnQtd2VpZ2h0OiBub3JtYWwgKG9yaWdpbmFs
IHByb3BlcnR5IHdhcyBmb250IGFuZCBwcm9wZXJ0eSB3YXMgaW1wbGljaXRseSBzZXQuKQorZm9u
dC1zaXplOiAxMnB4IChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIGxpbmUtaGVpZ2h0OiAy
NHB4IChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKK2ZvbnQtZmFtaWx5OiBzZXJpZiAob3Jp
Z2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiAKIEZvbnQgZm9yICdpdGFsaWMgYm9sZCAxMnB4LzI0
cHggc2VyaWYnOgotZm9udC1mYW1pbHk6IHNlcmlmIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9u
dCkKLWZvbnQtc2l6ZTogMTJweCAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiBmb250LXN0
eWxlOiBpdGFsaWMgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQotZm9udC12YXJpYW50OiBu
b3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250IGFuZCBwcm9wZXJ0eSB3YXMgaW1wbGlj
aXRseSBzZXQuKQogZm9udC13ZWlnaHQ6IGJvbGQgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250
KQorZm9udC12YXJpYW50OiBub3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250IGFuZCBw
cm9wZXJ0eSB3YXMgaW1wbGljaXRseSBzZXQuKQorZm9udC1zaXplOiAxMnB4IChvcmlnaW5hbCBw
cm9wZXJ0eSB3YXMgZm9udCkKIGxpbmUtaGVpZ2h0OiAyNHB4IChvcmlnaW5hbCBwcm9wZXJ0eSB3
YXMgZm9udCkKK2ZvbnQtZmFtaWx5OiBzZXJpZiAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQp
CiAKIEZvbnQgZm9yICdzbWFsbC1jYXBzIGJvbGQgMTRweC8yOHB4IEFyaWFsLCBzYW5zLXNlcmlm
JzoKLWZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZiAob3JpZ2luYWwgcHJvcGVydHkgd2Fz
IGZvbnQpCi1mb250LXNpemU6IDE0cHggKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQotZm9u
dC1zdHlsZTogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCBhbmQgcHJvcGVydHkg
d2FzIGltcGxpY2l0bHkgc2V0LikKIGZvbnQtdmFyaWFudDogc21hbGwtY2FwcyAob3JpZ2luYWwg
cHJvcGVydHkgd2FzIGZvbnQpCiBmb250LXdlaWdodDogYm9sZCAob3JpZ2luYWwgcHJvcGVydHkg
d2FzIGZvbnQpCitmb250LXN0eWxlOiBub3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250
IGFuZCBwcm9wZXJ0eSB3YXMgaW1wbGljaXRseSBzZXQuKQorZm9udC1zaXplOiAxNHB4IChvcmln
aW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIGxpbmUtaGVpZ2h0OiAyOHB4IChvcmlnaW5hbCBwcm9w
ZXJ0eSB3YXMgZm9udCkKK2ZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZiAob3JpZ2luYWwg
cHJvcGVydHkgd2FzIGZvbnQpCiAKIEZvbnQgZm9yICdpdGFsaWMgc21hbGwtY2FwcyBib2xkIDE0
cHgvMjhweCBBcmlhbCwgc2Fucy1zZXJpZic6Ci1mb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2Vy
aWYgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250KQotZm9udC1zaXplOiAxNHB4IChvcmlnaW5h
bCBwcm9wZXJ0eSB3YXMgZm9udCkKIGZvbnQtc3R5bGU6IGl0YWxpYyAob3JpZ2luYWwgcHJvcGVy
dHkgd2FzIGZvbnQpCiBmb250LXZhcmlhbnQ6IHNtYWxsLWNhcHMgKG9yaWdpbmFsIHByb3BlcnR5
IHdhcyBmb250KQogZm9udC13ZWlnaHQ6IGJvbGQgKG9yaWdpbmFsIHByb3BlcnR5IHdhcyBmb250
KQorZm9udC1zaXplOiAxNHB4IChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIGxpbmUtaGVp
Z2h0OiAyOHB4IChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKK2ZvbnQtZmFtaWx5OiBBcmlh
bCwgc2Fucy1zZXJpZiAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCiAKIEZvbnQgZm9yICdp
dGFsaWMgc21hbGwtY2FwcyBib2xkIDEycHgvMjRweCc6CiAKQEAgLTc3LDQgKzc3LDEwIEBAIEZv
bnQgZm9yICdpdGFsaWMgc21hbGwtY2FwcyBib2xkIDEycHgnOgogCiBGb250IGZvciAnaXRhbGlj
IHNtYWxsLWNhcHMgYm9sZCAvMTJweCBzZXJpZic6CiAKK0ZvbnQgZm9yICdpdGFsaWMgc21hbGwt
Y2FwcyBzbWFsbC1jYXBzIDEycHggc2VyaWYnOgorCitGb250IGZvciAnaXRhbGljIGl0YWxpYyBz
bWFsbC1jYXBzIGJvbGQgMTJweCBzZXJpZic6CisKK0ZvbnQgZm9yICcxMnB4L2l0YWxpYyBzZXJp
Zic6CisKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZm9udC1zaG9ydGhhbmQu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2ZvbnQtc2hvcnRoYW5kLmh0bWwKaW5kZXggZmMw
ODIzZDY5ZGFiODgwYTI2ZTMxOGQ0MmUxZDRmOGEzOTMyN2E1MC4uMGYzYmI5OGViOWFmM2U4YzQ2
NjUwNGEwMzBhZmI0OGU3NTk3ZGE5NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
Zm9udC1zaG9ydGhhbmQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9mb250LXNob3J0
aGFuZC5odG1sCkBAIC00MSw2ICs0MSw5IEBAIHRlc3RGb250VmFsdWUoIml0YWxpYyBzbWFsbC1j
YXBzIGJvbGQgMTRweC8yOHB4IEFyaWFsLCBzYW5zLXNlcmlmIik7CiB0ZXN0Rm9udFZhbHVlKCJp
dGFsaWMgc21hbGwtY2FwcyBib2xkIDEycHgvMjRweCIpOwogdGVzdEZvbnRWYWx1ZSgiaXRhbGlj
IHNtYWxsLWNhcHMgYm9sZCAxMnB4Iik7CiB0ZXN0Rm9udFZhbHVlKCJpdGFsaWMgc21hbGwtY2Fw
cyBib2xkIC8xMnB4IHNlcmlmIik7Cit0ZXN0Rm9udFZhbHVlKCJpdGFsaWMgc21hbGwtY2FwcyBz
bWFsbC1jYXBzIDEycHggc2VyaWYiKTsKK3Rlc3RGb250VmFsdWUoIml0YWxpYyBpdGFsaWMgc21h
bGwtY2FwcyBib2xkIDEycHggc2VyaWYiKTsKK3Rlc3RGb250VmFsdWUoIjEycHgvaXRhbGljIHNl
cmlmIik7CiA8L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvaW5zcGVjdG9yLXN1cHBvcnQvc3R5bGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9pbnNwZWN0b3Itc3VwcG9ydC9zdHlsZS1leHBlY3RlZC50eHQKaW5kZXggMzZmOTJi
OWVjMGZiMzc3ZjYwYjc4ZDEyNWI0YTNiMzc1Zjk4YjNjYi4uNTBiNTk0ZjcxNThhZjIxMjFjOTlm
ZTdmZGM5MTY4MGU1OGRhYjc2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9pbnNwZWN0
b3Itc3VwcG9ydC9zdHlsZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9pbnNw
ZWN0b3Itc3VwcG9ydC9zdHlsZS1leHBlY3RlZC50eHQKQEAgLTE0LDEwICsxNCwxMCBAQCBtYXJn
aW4tcmlnaHQ6IDFlbSAob3JpZ2luYWwgcHJvcGVydHkgd2FzIG1hcmdpbiBhbmQgcHJvcGVydHkg
d2FzIGltcGxpY2l0bHkgc2V0LgogbWFyZ2luLWJvdHRvbTogMWVtIChvcmlnaW5hbCBwcm9wZXJ0
eSB3YXMgbWFyZ2luIGFuZCBwcm9wZXJ0eSB3YXMgaW1wbGljaXRseSBzZXQuKQogbWFyZ2luLWxl
ZnQ6IDFlbSAob3JpZ2luYWwgcHJvcGVydHkgd2FzIG1hcmdpbiBhbmQgcHJvcGVydHkgd2FzIGlt
cGxpY2l0bHkgc2V0LikKIGNvbG9yOiB3aGl0ZQotZm9udC1mYW1pbHk6ICdMdWNpZGEgR3JhbmRl
JyAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQpCi1mb250LXNpemU6IDI0cHggKG9yaWdpbmFs
IHByb3BlcnR5IHdhcyBmb250KQogZm9udC1zdHlsZTogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0
eSB3YXMgZm9udCBhbmQgcHJvcGVydHkgd2FzIGltcGxpY2l0bHkgc2V0LikKIGZvbnQtdmFyaWFu
dDogbm9ybWFsIChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCBhbmQgcHJvcGVydHkgd2FzIGlt
cGxpY2l0bHkgc2V0LikKIGZvbnQtd2VpZ2h0OiBub3JtYWwgKG9yaWdpbmFsIHByb3BlcnR5IHdh
cyBmb250IGFuZCBwcm9wZXJ0eSB3YXMgaW1wbGljaXRseSBzZXQuKQorZm9udC1zaXplOiAyNHB4
IChvcmlnaW5hbCBwcm9wZXJ0eSB3YXMgZm9udCkKIGxpbmUtaGVpZ2h0OiBub3JtYWwgKG9yaWdp
bmFsIHByb3BlcnR5IHdhcyBmb250IGFuZCBwcm9wZXJ0eSB3YXMgaW1wbGljaXRseSBzZXQuKQor
Zm9udC1mYW1pbHk6ICdMdWNpZGEgR3JhbmRlJyAob3JpZ2luYWwgcHJvcGVydHkgd2FzIGZvbnQp
CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>