<?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>69356</bug_id>
          
          <creation_ts>2011-10-04 11:25:27 -0700</creation_ts>
          <short_desc>Move font-fixup code in WebKitTestRunner to a better place</short_desc>
          <delta_ts>2011-10-04 11:39:53 -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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>477782</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-10-04 11:25:27 -0700</bug_when>
    <thetext>Move font-fixup code in WebKitTestRunner to a better place</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477783</commentid>
    <comment_count>1</comment_count>
      <attachid>109656</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-10-04 11:26:24 -0700</bug_when>
    <thetext>Created attachment 109656
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477786</commentid>
    <comment_count>2</comment_count>
      <attachid>109656</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-10-04 11:28:47 -0700</bug_when>
    <thetext>Comment on attachment 109656
Patch

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

&gt; Tools/WebKitTestRunner/InjectedBundle/ActivateFonts.h:31
&gt;  
&gt; -void activateFonts();
&gt; +void adjustFonts();

This should stay named activateFonts, because otherwise you will break everyone else.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477789</commentid>
    <comment_count>3</comment_count>
      <attachid>109657</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-10-04 11:29:48 -0700</bug_when>
    <thetext>Created attachment 109657
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477803</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-10-04 11:39:53 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/96623</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109656</attachid>
            <date>2011-10-04 11:26:24 -0700</date>
            <delta_ts>2011-10-04 11:29:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69356-20111004112623.patch</filename>
            <type>text/plain</type>
            <size>14900</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTY2MDgKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiMTJjZGJhMTk0NGI2NGUxZmRlOTEzMWUxMGJhZTJlYWM2
ZjgxZGU2Li43MWE2OTUzZjgyZGE1NzM4NDQwMzNkM2UxNGJjMmQ1M2VjNDVhZTYxIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMTEtMTAtMDQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisK
KyAgICAgICAgTW92ZSBmb250LWZpeHVwIGNvZGUgaW4gV2ViS2l0VGVzdFJ1bm5lciB0byBhIGJl
dHRlciBwbGFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjkzNTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAg
CisgICAgICAgIE1vdmUgY29kZSB0aGF0IHN3aXp6bGVzIE5TRm9udE1hbmFnZXIgbWV0aG9kcyB0
byBBY3RpdmF0ZUZvbnRzLm1tLCB3aGljaAorICAgICAgICBhbHJlYWR5IGNvbnRhaW5zIGZvbnQt
cmVsYXRlZCBjb2RlLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9BY3RpdmF0ZUZvbnRzLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHA6CisgICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxlOjpp
bml0aWFsaXplKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21h
Yy9BY3RpdmF0ZUZvbnRzLm1tOgorICAgICAgICAoV1RSOjphbGxvd2VkRm9udEZhbWlseVNldCk6
CisgICAgICAgIChXVFI6OmRydF9OU0ZvbnRNYW5hZ2VyX2F2YWlsYWJsZUZvbnRGYW1pbGllcyk6
CisgICAgICAgIChXVFI6OmRydF9OU0ZvbnRNYW5hZ2VyX2F2YWlsYWJsZUZvbnRzKToKKyAgICAg
ICAgKFdUUjo6c3dpenpsZU5TRm9udE1hbmFnZXJNZXRob2RzKToKKyAgICAgICAgKFdUUjo6YWRq
dXN0Rm9udHMpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFj
L0luamVjdGVkQnVuZGxlTWFjLm1tOgorICAgICAgICAoV1RSOjpJbmplY3RlZEJ1bmRsZTo6cGxh
dGZvcm1Jbml0aWFsaXplKToKKwogMjAxMS0xMC0wMyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJr
aXQub3JnPgogCiAgICAgICAgIGdhcmRlbi1vLW1hdGljIHNob3VsZCByZW1vdmUgYnVpbGRlcnMg
ZnJvbSB0aGUgZmFpbHVyZSBncmlkIG9uY2UgdGhleSBzdGFydCB0byBwYXNzCmRpZmYgLS1naXQg
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjdGl2YXRlRm9udHMuaCBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWN0aXZhdGVGb250cy5oCmlu
ZGV4IDVlZTEyNzZkNDY1YmJlOGNmNGE0MGVjMWYzNGJkMjVlMzY0YzQ4MzguLjI3ZWVjZjVmNGQw
Y2U4MGJkZTE3NDk4ODA4Mjk4MGNkMDFiZWJiN2IgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWN0aXZhdGVGb250cy5oCisrKyBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWN0aXZhdGVGb250cy5oCkBAIC0yOCw3ICsyOCw3
IEBACiAKIG5hbWVzcGFjZSBXVFIgewogCi12b2lkIGFjdGl2YXRlRm9udHMoKTsKK3ZvaWQgYWRq
dXN0Rm9udHMoKTsKIAogfSAvLyBuYW1lc3BhY2UgV1RSCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKaW5kZXgg
MWE5NDM3YTgzMDg4ZTcxMzEyNjZjZmFiZmY5MGU5ZjkxYTY0YTlkOC4uMmUyMjNhMDJjYTlkMzY0
NzExY2MwN2ZmMTQzN2Q3NmNhZGEzZjdkOSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKKysrIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKQEAgLTkwLDcgKzkw
LDcgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6aW5pdGlhbGl6ZShXS0J1bmRsZVJlZiBidW5kbGUs
IFdLVHlwZVJlZiBpbml0aWFsaXphdGlvblVzZXIKIAogICAgIHBsYXRmb3JtSW5pdGlhbGl6ZShp
bml0aWFsaXphdGlvblVzZXJEYXRhKTsKIAotICAgIGFjdGl2YXRlRm9udHMoKTsKKyAgICBhZGp1
c3RGb250cygpOwogICAgIFdLQnVuZGxlQWN0aXZhdGVNYWNGb250QXNjZW50SGFjayhtX2J1bmRs
ZSk7CiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvbWFjL0FjdGl2YXRlRm9udHMubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL21hYy9BY3RpdmF0ZUZvbnRzLm1tCmluZGV4IGI1YmM0YTFkYmI1ZDk4MzdiY2VmZTMy
MDEyM2VlOTQyMmUyYzZjN2QuLjY1NTNkODZlOWM0YjJhZDNjZTk0MGZlMjRkODFlMDc2OTFhNDQz
Y2EgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFj
L0FjdGl2YXRlRm9udHMubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9tYWMvQWN0aXZhdGVGb250cy5tbQpAQCAtMjMsMTEgKzIzLDEzIEBACiAgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAorI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgIkFjdGl2YXRlRm9udHMuaCIKIAogI2ltcG9ydCA8QXBwS2l0L0FwcEtpdC5oPgogI2lt
cG9ydCA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KLSNpbXBvcnQgPEZvdW5kYXRp
b24vRm91bmRhdGlvbi5oPgorI2ltcG9ydCA8b2JqYy9vYmpjLXJ1bnRpbWUuaD4KKyNpbXBvcnQg
PHd0Zi9SZXRhaW5QdHIuaD4KIAogQGludGVyZmFjZSBXS1RSRm9udEFjdGl2YXRvckR1bW15Q2xh
c3MgOiBOU09iamVjdAogQGVuZApAQCAtMzcsNyArMzksMTg3IEBACiAKIG5hbWVzcGFjZSBXVFIg
ewogCi12b2lkIGFjdGl2YXRlRm9udHMoKQorCitzdGF0aWMgTlNTZXQgKmFsbG93ZWRGb250RmFt
aWx5U2V0KCkKK3sKKyAgICBzdGF0aWMgTlNTZXQgKmZvbnRGYW1pbGl5U2V0ID0gW1tOU1NldCBz
ZXRXaXRoT2JqZWN0czoKKyAgICAgICAgQCJBaGVtIiwKKyAgICAgICAgQCJBbCBCYXlhbiIsCisg
ICAgICAgIEAiQW1lcmljYW4gVHlwZXdyaXRlciIsCisgICAgICAgIEAiQW5kYWxlIE1vbm8iLAor
ICAgICAgICBAIkFwcGxlIEJyYWlsbGUiLAorICAgICAgICBAIkFwcGxlIENvbG9yIEVtb2ppIiwK
KyAgICAgICAgQCJBcHBsZSBDaGFuY2VyeSIsCisgICAgICAgIEAiQXBwbGUgR2FyYW1vbmQgQlQi
LAorICAgICAgICBAIkFwcGxlIExpR290aGljIiwKKyAgICAgICAgQCJBcHBsZSBMaVN1bmciLAor
ICAgICAgICBAIkFwcGxlIFN5bWJvbHMiLAorICAgICAgICBAIkFwcGxlR290aGljIiwKKyAgICAg
ICAgQCJBcHBsZU15dW5nam8iLAorICAgICAgICBAIkFyaWFsIEJsYWNrIiwKKyAgICAgICAgQCJB
cmlhbCBIZWJyZXciLAorICAgICAgICBAIkFyaWFsIE5hcnJvdyIsCisgICAgICAgIEAiQXJpYWwg
Um91bmRlZCBNVCBCb2xkIiwKKyAgICAgICAgQCJBcmlhbCBVbmljb2RlIE1TIiwKKyAgICAgICAg
QCJBcmlhbCIsCisgICAgICAgIEAiQXl1dGhheWEiLAorICAgICAgICBAIkJhZ2hkYWQiLAorICAg
ICAgICBAIkJhc2tlcnZpbGxlIiwKKyAgICAgICAgQCJCaWF1S2FpIiwKKyAgICAgICAgQCJCaWcg
Q2FzbG9uIiwKKyAgICAgICAgQCJCcnVzaCBTY3JpcHQgTVQiLAorICAgICAgICBAIkNoYWxrYm9h
cmQiLAorICAgICAgICBAIkNoYWxrZHVzdGVyIiwKKyAgICAgICAgQCJDaGFyY29hbCBDWSIsCisg
ICAgICAgIEAiQ29jaGluIiwKKyAgICAgICAgQCJDb2xvckJpdHMiLAorICAgICAgICBAIkNvbWlj
IFNhbnMgTVMiLAorICAgICAgICBAIkNvcHBlcnBsYXRlIiwKKyAgICAgICAgQCJDb3JzaXZhIEhl
YnJldyIsCisgICAgICAgIEAiQ291cmllciBOZXciLAorICAgICAgICBAIkNvdXJpZXIiLAorICAg
ICAgICBAIkRlY29UeXBlIE5hc2toIiwKKyAgICAgICAgQCJEZXZhbmFnYXJpIE1UIiwKKyAgICAg
ICAgQCJEaWRvdCIsCisgICAgICAgIEAiRXVwaGVtaWEgVUNBUyIsCisgICAgICAgIEAiRnV0dXJh
IiwKKyAgICAgICAgQCJHQjE4MDMwIEJpdG1hcCIsCisgICAgICAgIEAiR2VlemEgUHJvIiwKKyAg
ICAgICAgQCJHZW5ldmEgQ1kiLAorICAgICAgICBAIkdlbmV2YSIsCisgICAgICAgIEAiR2Vvcmdp
YSIsCisgICAgICAgIEAiR2lsbCBTYW5zIiwKKyAgICAgICAgQCJHdWphcmF0aSBNVCIsCisgICAg
ICAgIEAiR3VuZ1NlbyIsCisgICAgICAgIEAiR3VybXVraGkgTVQiLAorICAgICAgICBAIkhlYWRM
aW5lQSIsCisgICAgICAgIEAiSGVpIiwKKyAgICAgICAgQCJIZWl0aSBTQyIsCisgICAgICAgIEAi
SGVpdGkgVEMiLAorICAgICAgICBAIkhlbHZldGljYSBDWSIsCisgICAgICAgIEAiSGVsdmV0aWNh
IE5ldWUiLAorICAgICAgICBAIkhlbHZldGljYSIsCisgICAgICAgIEAiSGVyY3VsYW51bSIsCisg
ICAgICAgIEAiSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvIiwKKyAgICAgICAgQCJIaXJhZ2lubyBL
YWt1IEdvdGhpYyBQcm9OIiwKKyAgICAgICAgQCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBTdGQiLAor
ICAgICAgICBAIkhpcmFnaW5vIEtha3UgR290aGljIFN0ZE4iLAorICAgICAgICBAIkhpcmFnaW5v
IE1hcnUgR290aGljIFBybyIsCisgICAgICAgIEAiSGlyYWdpbm8gTWFydSBHb3RoaWMgUHJvTiIs
CisgICAgICAgIEAiSGlyYWdpbm8gTWluY2hvIFBybyIsCisgICAgICAgIEAiSGlyYWdpbm8gTWlu
Y2hvIFByb04iLAorICAgICAgICBAIkhpcmFnaW5vIFNhbnMgR0IiLAorICAgICAgICBAIkhvZWZs
ZXIgVGV4dCIsCisgICAgICAgIEAiSW1wYWN0IiwKKyAgICAgICAgQCJJbmFpTWF0aGkiLAorICAg
ICAgICBAIkthaSIsCisgICAgICAgIEAiS2FpbGFzYSIsCisgICAgICAgIEAiS29rb25vciIsCisg
ICAgICAgIEAiS3J1bmd0aGVwIiwKKyAgICAgICAgQCJLdWZpU3RhbmRhcmRHSyIsCisgICAgICAg
IEAiTGlIZWkgUHJvIiwKKyAgICAgICAgQCJMaVNvbmcgUHJvIiwKKyAgICAgICAgQCJMdWNpZGEg
R3JhbmRlIiwKKyAgICAgICAgQCJNYXJrZXIgRmVsdCIsCisgICAgICAgIEAiTWVubG8iLAorICAg
ICAgICBAIk1pY3Jvc29mdCBTYW5zIFNlcmlmIiwKKyAgICAgICAgQCJNb25hY28iLAorICAgICAg
ICBAIk1zaHRha2FuIiwKKyAgICAgICAgQCJOYWRlZW0iLAorICAgICAgICBAIk5ldyBQZW5pbmlt
IE1UIiwKKyAgICAgICAgQCJPcHRpbWEiLAorICAgICAgICBAIk9zYWthIiwKKyAgICAgICAgQCJQ
YXB5cnVzIiwKKyAgICAgICAgQCJQQ015dW5nam8iLAorICAgICAgICBAIlBpbEdpIiwKKyAgICAg
ICAgQCJQbGFudGFnZW5ldCBDaGVyb2tlZSIsCisgICAgICAgIEAiUmFhbmFuYSIsCisgICAgICAg
IEAiU2F0aHUiLAorICAgICAgICBAIlNpbG9tIiwKKyAgICAgICAgQCJTa2lhIiwKKyAgICAgICAg
QCJTVEZhbmdzb25nIiwKKyAgICAgICAgQCJTVEhlaXRpIiwKKyAgICAgICAgQCJTVEthaXRpIiwK
KyAgICAgICAgQCJTVFNvbmciLAorICAgICAgICBAIlN5bWJvbCIsCisgICAgICAgIEAiVGFob21h
IiwKKyAgICAgICAgQCJUaG9uYnVyaSIsCisgICAgICAgIEAiVGltZXMgTmV3IFJvbWFuIiwKKyAg
ICAgICAgQCJUaW1lcyIsCisgICAgICAgIEAiVHJlYnVjaGV0IE1TIiwKKyAgICAgICAgQCJWZXJk
YW5hIiwKKyAgICAgICAgQCJXZWJkaW5ncyIsCisgICAgICAgIEAiV2ViS2l0IFdlaWdodFdhdGNo
ZXIiLAorICAgICAgICBAIldpbmdkaW5ncyAyIiwKKyAgICAgICAgQCJXaW5nZGluZ3MgMyIsCisg
ICAgICAgIEAiV2luZ2RpbmdzIiwKKyAgICAgICAgQCJaYXBmIERpbmdiYXRzIiwKKyAgICAgICAg
QCJaYXBmaW5vIiwKKyAgICAgICAgbmlsXSByZXRhaW5dOworICAgIAorICAgIHJldHVybiBmb250
RmFtaWxpeVNldDsKK30KKworc3RhdGljIElNUCBhcHBLaXRBdmFpbGFibGVGb250RmFtaWxpZXNJ
TVA7CitzdGF0aWMgSU1QIGFwcEtpdEF2YWlsYWJsZUZvbnRzSU1QOworCitzdGF0aWMgTlNBcnJh
eSAqZHJ0X05TRm9udE1hbmFnZXJfYXZhaWxhYmxlRm9udEZhbWlsaWVzKGlkIHNlbGYsIFNFTCBf
Y21kKQoreworICAgIHN0YXRpYyBOU0FycmF5ICphdmFpbGFibGVGb250RmFtaWxpZXM7CisgICAg
aWYgKGF2YWlsYWJsZUZvbnRGYW1pbGllcykKKyAgICAgICAgcmV0dXJuIGF2YWlsYWJsZUZvbnRG
YW1pbGllczsKKyAgICAKKyAgICBOU0FycmF5ICphdmFpbGFibGVGYW1pbGllcyA9IGFwcEtpdEF2
YWlsYWJsZUZvbnRGYW1pbGllc0lNUChzZWxmLCBfY21kKTsKKworICAgIE5TTXV0YWJsZVNldCAq
cHJ1bmVkRmFtaWxpZXNTZXQgPSBbTlNNdXRhYmxlU2V0IHNldFdpdGhBcnJheTphdmFpbGFibGVG
YW1pbGllc107CisgICAgW3BydW5lZEZhbWlsaWVzU2V0IGludGVyc2VjdFNldDphbGxvd2VkRm9u
dEZhbWlseVNldCgpXTsKKworICAgIGF2YWlsYWJsZUZvbnRGYW1pbGllcyA9IFtbcHJ1bmVkRmFt
aWxpZXNTZXQgYWxsT2JqZWN0c10gcmV0YWluXTsKKyAgICByZXR1cm4gYXZhaWxhYmxlRm9udEZh
bWlsaWVzOworfQorCitzdGF0aWMgTlNBcnJheSAqZHJ0X05TRm9udE1hbmFnZXJfYXZhaWxhYmxl
Rm9udHMoaWQgc2VsZiwgU0VMIF9jbWQpCit7CisgICAgc3RhdGljIE5TQXJyYXkgKmF2YWlsYWJs
ZUZvbnRzOworICAgIGlmIChhdmFpbGFibGVGb250cykKKyAgICAgICAgcmV0dXJuIGF2YWlsYWJs
ZUZvbnRzOworICAgIAorICAgIE5TU2V0ICphbGxvd2VkRmFtaWxpZXMgPSBhbGxvd2VkRm9udEZh
bWlseVNldCgpOworICAgIE5TTXV0YWJsZUFycmF5ICphdmFpbGFibGVGb250TGlzdCA9IFtbTlNN
dXRhYmxlQXJyYXkgYWxsb2NdIGluaXRXaXRoQ2FwYWNpdHk6W2FsbG93ZWRGYW1pbGllcyBjb3Vu
dF0gKiAyXTsKKyAgICBmb3IgKE5TU3RyaW5nICpmb250RmFtaWx5IGluIGFsbG93ZWRGb250RmFt
aWx5U2V0KCkpIHsKKyAgICAgICAgTlNBcnJheSogZm9udHNGb3JGYW1pbHkgPSBbW05TRm9udE1h
bmFnZXIgc2hhcmVkRm9udE1hbmFnZXJdIGF2YWlsYWJsZU1lbWJlcnNPZkZvbnRGYW1pbHk6Zm9u
dEZhbWlseV07CisgICAgICAgIGZvciAoTlNBcnJheSogZm9udEluZm8gaW4gZm9udHNGb3JGYW1p
bHkpIHsKKyAgICAgICAgICAgIC8vIEZvbnQgbmFtZSBpcyB0aGUgZmlyc3QgZW50cnkgaW4gdGhl
IGFycmF5LgorICAgICAgICAgICAgW2F2YWlsYWJsZUZvbnRMaXN0IGFkZE9iamVjdDpbZm9udElu
Zm8gb2JqZWN0QXRJbmRleDowXV07CisgICAgICAgIH0KKyAgICB9CisgICAgCisgICAgYXZhaWxh
YmxlRm9udHMgPSBhdmFpbGFibGVGb250TGlzdDsKKyAgICByZXR1cm4gYXZhaWxhYmxlRm9udHM7
Cit9CisKK3N0YXRpYyB2b2lkIHN3aXp6bGVOU0ZvbnRNYW5hZ2VyTWV0aG9kcygpCit7CisgICAg
TWV0aG9kIGF2YWlsYWJsZUZvbnRGYW1pbGllc01ldGhvZCA9IGNsYXNzX2dldEluc3RhbmNlTWV0
aG9kKG9iamNfZ2V0Q2xhc3MoIk5TRm9udE1hbmFnZXIiKSwgQHNlbGVjdG9yKGF2YWlsYWJsZUZv
bnRGYW1pbGllcykpOworICAgIEFTU0VSVChhdmFpbGFibGVGb250RmFtaWxpZXNNZXRob2QpOwor
ICAgIGlmICghYXZhaWxhYmxlRm9udEZhbWlsaWVzTWV0aG9kKSB7CisgICAgICAgIE5TTG9nKEAi
RmFpbGVkIHRvIHN3aXp6bGUgdGhlIFwiYXZhaWxhYmxlRm9udEZhbWlsaWVzXCIgbWV0aG9kIG9u
IE5TRm9udE1hbmFnZXIiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICAKKyAgICBhcHBL
aXRBdmFpbGFibGVGb250RmFtaWxpZXNJTVAgPSBtZXRob2Rfc2V0SW1wbGVtZW50YXRpb24oYXZh
aWxhYmxlRm9udEZhbWlsaWVzTWV0aG9kLCAoSU1QKWRydF9OU0ZvbnRNYW5hZ2VyX2F2YWlsYWJs
ZUZvbnRGYW1pbGllcyk7CisKKyAgICBNZXRob2QgYXZhaWxhYmxlRm9udHNNZXRob2QgPSBjbGFz
c19nZXRJbnN0YW5jZU1ldGhvZChvYmpjX2dldENsYXNzKCJOU0ZvbnRNYW5hZ2VyIiksIEBzZWxl
Y3RvcihhdmFpbGFibGVGb250cykpOworICAgIEFTU0VSVChhdmFpbGFibGVGb250c01ldGhvZCk7
CisgICAgaWYgKCFhdmFpbGFibGVGb250c01ldGhvZCkgeworICAgICAgICBOU0xvZyhAIkZhaWxl
ZCB0byBzd2l6emxlIHRoZSBcImF2YWlsYWJsZUZvbnRzXCIgbWV0aG9kIG9uIE5TRm9udE1hbmFn
ZXIiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICAKKyAgICBhcHBLaXRBdmFpbGFibGVG
b250c0lNUCA9IG1ldGhvZF9zZXRJbXBsZW1lbnRhdGlvbihhdmFpbGFibGVGb250c01ldGhvZCwg
KElNUClkcnRfTlNGb250TWFuYWdlcl9hdmFpbGFibGVGb250cyk7Cit9CisKK3ZvaWQgYWRqdXN0
Rm9udHMoKQogewogICAgIC8vIFdvcmsgYXJvdW5kIDxyZGFyOi8vcHJvYmxlbS82Njk4MDIzPiBi
eSBhY3RpdmF0aW5nIGZvbnRzIGZyb20gZGlzawogCkBAIC02OSw2ICsyNTEsOCBAQCB2b2lkIGFj
dGl2YXRlRm9udHMoKQogICAgICAgICBDRlJlbGVhc2UoZXJyb3JzKTsKICAgICAgICAgZXhpdCgx
KTsKICAgICB9CisKKyAgICBzd2l6emxlTlNGb250TWFuYWdlck1ldGhvZHMoKTsKIH0KIAogfQpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvSW5q
ZWN0ZWRCdW5kbGVNYWMubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L21hYy9JbmplY3RlZEJ1bmRsZU1hYy5tbQppbmRleCAzMjI4MGRkZjM4YjMyNWE3M2MzY2M1Mzhi
OTE1NmRlOTNkMDQ0YTZkLi4zM2YzOTViZTc2Y2FkOTY3Y2Y0MThhYThmZTAzY2VkMjI2NTEwYmQw
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9J
bmplY3RlZEJ1bmRsZU1hYy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL21hYy9JbmplY3RlZEJ1bmRsZU1hYy5tbQpAQCAtMjUsMTkxICsyNSwxMCBAQAogCiAj
aW1wb3J0ICJJbmplY3RlZEJ1bmRsZS5oIgogCi0jaW1wb3J0IDxBcHBLaXQvQXBwS2l0Lmg+CiAj
aW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KLSNpbXBvcnQgPG9iamMvb2JqYy1ydW50
aW1lLmg+CiAKIG5hbWVzcGFjZSBXVFIgewogCi1zdGF0aWMgTlNTZXQgKmFsbG93ZWRGb250RmFt
aWx5U2V0KCkKLXsKLSAgICBzdGF0aWMgTlNTZXQgKmZvbnRGYW1pbGl5U2V0ID0gW1tOU1NldCBz
ZXRXaXRoT2JqZWN0czoKLSAgICAgICAgQCJBaGVtIiwKLSAgICAgICAgQCJBbCBCYXlhbiIsCi0g
ICAgICAgIEAiQW1lcmljYW4gVHlwZXdyaXRlciIsCi0gICAgICAgIEAiQW5kYWxlIE1vbm8iLAot
ICAgICAgICBAIkFwcGxlIEJyYWlsbGUiLAotICAgICAgICBAIkFwcGxlIENvbG9yIEVtb2ppIiwK
LSAgICAgICAgQCJBcHBsZSBDaGFuY2VyeSIsCi0gICAgICAgIEAiQXBwbGUgR2FyYW1vbmQgQlQi
LAotICAgICAgICBAIkFwcGxlIExpR290aGljIiwKLSAgICAgICAgQCJBcHBsZSBMaVN1bmciLAot
ICAgICAgICBAIkFwcGxlIFN5bWJvbHMiLAotICAgICAgICBAIkFwcGxlR290aGljIiwKLSAgICAg
ICAgQCJBcHBsZU15dW5nam8iLAotICAgICAgICBAIkFyaWFsIEJsYWNrIiwKLSAgICAgICAgQCJB
cmlhbCBIZWJyZXciLAotICAgICAgICBAIkFyaWFsIE5hcnJvdyIsCi0gICAgICAgIEAiQXJpYWwg
Um91bmRlZCBNVCBCb2xkIiwKLSAgICAgICAgQCJBcmlhbCBVbmljb2RlIE1TIiwKLSAgICAgICAg
QCJBcmlhbCIsCi0gICAgICAgIEAiQXl1dGhheWEiLAotICAgICAgICBAIkJhZ2hkYWQiLAotICAg
ICAgICBAIkJhc2tlcnZpbGxlIiwKLSAgICAgICAgQCJCaWF1S2FpIiwKLSAgICAgICAgQCJCaWcg
Q2FzbG9uIiwKLSAgICAgICAgQCJCcnVzaCBTY3JpcHQgTVQiLAotICAgICAgICBAIkNoYWxrYm9h
cmQiLAotICAgICAgICBAIkNoYWxrZHVzdGVyIiwKLSAgICAgICAgQCJDaGFyY29hbCBDWSIsCi0g
ICAgICAgIEAiQ29jaGluIiwKLSAgICAgICAgQCJDb2xvckJpdHMiLAotICAgICAgICBAIkNvbWlj
IFNhbnMgTVMiLAotICAgICAgICBAIkNvcHBlcnBsYXRlIiwKLSAgICAgICAgQCJDb3JzaXZhIEhl
YnJldyIsCi0gICAgICAgIEAiQ291cmllciBOZXciLAotICAgICAgICBAIkNvdXJpZXIiLAotICAg
ICAgICBAIkRlY29UeXBlIE5hc2toIiwKLSAgICAgICAgQCJEZXZhbmFnYXJpIE1UIiwKLSAgICAg
ICAgQCJEaWRvdCIsCi0gICAgICAgIEAiRXVwaGVtaWEgVUNBUyIsCi0gICAgICAgIEAiRnV0dXJh
IiwKLSAgICAgICAgQCJHQjE4MDMwIEJpdG1hcCIsCi0gICAgICAgIEAiR2VlemEgUHJvIiwKLSAg
ICAgICAgQCJHZW5ldmEgQ1kiLAotICAgICAgICBAIkdlbmV2YSIsCi0gICAgICAgIEAiR2Vvcmdp
YSIsCi0gICAgICAgIEAiR2lsbCBTYW5zIiwKLSAgICAgICAgQCJHdWphcmF0aSBNVCIsCi0gICAg
ICAgIEAiR3VuZ1NlbyIsCi0gICAgICAgIEAiR3VybXVraGkgTVQiLAotICAgICAgICBAIkhlYWRM
aW5lQSIsCi0gICAgICAgIEAiSGVpIiwKLSAgICAgICAgQCJIZWl0aSBTQyIsCi0gICAgICAgIEAi
SGVpdGkgVEMiLAotICAgICAgICBAIkhlbHZldGljYSBDWSIsCi0gICAgICAgIEAiSGVsdmV0aWNh
IE5ldWUiLAotICAgICAgICBAIkhlbHZldGljYSIsCi0gICAgICAgIEAiSGVyY3VsYW51bSIsCi0g
ICAgICAgIEAiSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvIiwKLSAgICAgICAgQCJIaXJhZ2lubyBL
YWt1IEdvdGhpYyBQcm9OIiwKLSAgICAgICAgQCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBTdGQiLAot
ICAgICAgICBAIkhpcmFnaW5vIEtha3UgR290aGljIFN0ZE4iLAotICAgICAgICBAIkhpcmFnaW5v
IE1hcnUgR290aGljIFBybyIsCi0gICAgICAgIEAiSGlyYWdpbm8gTWFydSBHb3RoaWMgUHJvTiIs
Ci0gICAgICAgIEAiSGlyYWdpbm8gTWluY2hvIFBybyIsCi0gICAgICAgIEAiSGlyYWdpbm8gTWlu
Y2hvIFByb04iLAotICAgICAgICBAIkhpcmFnaW5vIFNhbnMgR0IiLAotICAgICAgICBAIkhvZWZs
ZXIgVGV4dCIsCi0gICAgICAgIEAiSW1wYWN0IiwKLSAgICAgICAgQCJJbmFpTWF0aGkiLAotICAg
ICAgICBAIkthaSIsCi0gICAgICAgIEAiS2FpbGFzYSIsCi0gICAgICAgIEAiS29rb25vciIsCi0g
ICAgICAgIEAiS3J1bmd0aGVwIiwKLSAgICAgICAgQCJLdWZpU3RhbmRhcmRHSyIsCi0gICAgICAg
IEAiTGlIZWkgUHJvIiwKLSAgICAgICAgQCJMaVNvbmcgUHJvIiwKLSAgICAgICAgQCJMdWNpZGEg
R3JhbmRlIiwKLSAgICAgICAgQCJNYXJrZXIgRmVsdCIsCi0gICAgICAgIEAiTWVubG8iLAotICAg
ICAgICBAIk1pY3Jvc29mdCBTYW5zIFNlcmlmIiwKLSAgICAgICAgQCJNb25hY28iLAotICAgICAg
ICBAIk1zaHRha2FuIiwKLSAgICAgICAgQCJOYWRlZW0iLAotICAgICAgICBAIk5ldyBQZW5pbmlt
IE1UIiwKLSAgICAgICAgQCJPcHRpbWEiLAotICAgICAgICBAIk9zYWthIiwKLSAgICAgICAgQCJQ
YXB5cnVzIiwKLSAgICAgICAgQCJQQ015dW5nam8iLAotICAgICAgICBAIlBpbEdpIiwKLSAgICAg
ICAgQCJQbGFudGFnZW5ldCBDaGVyb2tlZSIsCi0gICAgICAgIEAiUmFhbmFuYSIsCi0gICAgICAg
IEAiU2F0aHUiLAotICAgICAgICBAIlNpbG9tIiwKLSAgICAgICAgQCJTa2lhIiwKLSAgICAgICAg
QCJTVEZhbmdzb25nIiwKLSAgICAgICAgQCJTVEhlaXRpIiwKLSAgICAgICAgQCJTVEthaXRpIiwK
LSAgICAgICAgQCJTVFNvbmciLAotICAgICAgICBAIlN5bWJvbCIsCi0gICAgICAgIEAiVGFob21h
IiwKLSAgICAgICAgQCJUaG9uYnVyaSIsCi0gICAgICAgIEAiVGltZXMgTmV3IFJvbWFuIiwKLSAg
ICAgICAgQCJUaW1lcyIsCi0gICAgICAgIEAiVHJlYnVjaGV0IE1TIiwKLSAgICAgICAgQCJWZXJk
YW5hIiwKLSAgICAgICAgQCJXZWJkaW5ncyIsCi0gICAgICAgIEAiV2ViS2l0IFdlaWdodFdhdGNo
ZXIiLAotICAgICAgICBAIldpbmdkaW5ncyAyIiwKLSAgICAgICAgQCJXaW5nZGluZ3MgMyIsCi0g
ICAgICAgIEAiV2luZ2RpbmdzIiwKLSAgICAgICAgQCJaYXBmIERpbmdiYXRzIiwKLSAgICAgICAg
QCJaYXBmaW5vIiwKLSAgICAgICAgbmlsXSByZXRhaW5dOwotICAgIAotICAgIHJldHVybiBmb250
RmFtaWxpeVNldDsKLX0KLQotc3RhdGljIElNUCBhcHBLaXRBdmFpbGFibGVGb250RmFtaWxpZXNJ
TVA7Ci1zdGF0aWMgSU1QIGFwcEtpdEF2YWlsYWJsZUZvbnRzSU1QOwotCi1zdGF0aWMgTlNBcnJh
eSAqZHJ0X05TRm9udE1hbmFnZXJfYXZhaWxhYmxlRm9udEZhbWlsaWVzKGlkIHNlbGYsIFNFTCBf
Y21kKQotewotICAgIHN0YXRpYyBOU0FycmF5ICphdmFpbGFibGVGb250RmFtaWxpZXM7Ci0gICAg
aWYgKGF2YWlsYWJsZUZvbnRGYW1pbGllcykKLSAgICAgICAgcmV0dXJuIGF2YWlsYWJsZUZvbnRG
YW1pbGllczsKLSAgICAKLSAgICBOU0FycmF5ICphdmFpbGFibGVGYW1pbGllcyA9IGFwcEtpdEF2
YWlsYWJsZUZvbnRGYW1pbGllc0lNUChzZWxmLCBfY21kKTsKLQotICAgIE5TTXV0YWJsZVNldCAq
cHJ1bmVkRmFtaWxpZXNTZXQgPSBbTlNNdXRhYmxlU2V0IHNldFdpdGhBcnJheTphdmFpbGFibGVG
YW1pbGllc107Ci0gICAgW3BydW5lZEZhbWlsaWVzU2V0IGludGVyc2VjdFNldDphbGxvd2VkRm9u
dEZhbWlseVNldCgpXTsKLQotICAgIGF2YWlsYWJsZUZvbnRGYW1pbGllcyA9IFtbcHJ1bmVkRmFt
aWxpZXNTZXQgYWxsT2JqZWN0c10gcmV0YWluXTsKLSAgICByZXR1cm4gYXZhaWxhYmxlRm9udEZh
bWlsaWVzOwotfQotCi1zdGF0aWMgTlNBcnJheSAqZHJ0X05TRm9udE1hbmFnZXJfYXZhaWxhYmxl
Rm9udHMoaWQgc2VsZiwgU0VMIF9jbWQpCi17Ci0gICAgc3RhdGljIE5TQXJyYXkgKmF2YWlsYWJs
ZUZvbnRzOwotICAgIGlmIChhdmFpbGFibGVGb250cykKLSAgICAgICAgcmV0dXJuIGF2YWlsYWJs
ZUZvbnRzOwotICAgIAotICAgIE5TU2V0ICphbGxvd2VkRmFtaWxpZXMgPSBhbGxvd2VkRm9udEZh
bWlseVNldCgpOwotICAgIE5TTXV0YWJsZUFycmF5ICphdmFpbGFibGVGb250TGlzdCA9IFtbTlNN
dXRhYmxlQXJyYXkgYWxsb2NdIGluaXRXaXRoQ2FwYWNpdHk6W2FsbG93ZWRGYW1pbGllcyBjb3Vu
dF0gKiAyXTsKLSAgICBmb3IgKE5TU3RyaW5nICpmb250RmFtaWx5IGluIGFsbG93ZWRGb250RmFt
aWx5U2V0KCkpIHsKLSAgICAgICAgTlNBcnJheSogZm9udHNGb3JGYW1pbHkgPSBbW05TRm9udE1h
bmFnZXIgc2hhcmVkRm9udE1hbmFnZXJdIGF2YWlsYWJsZU1lbWJlcnNPZkZvbnRGYW1pbHk6Zm9u
dEZhbWlseV07Ci0gICAgICAgIGZvciAoTlNBcnJheSogZm9udEluZm8gaW4gZm9udHNGb3JGYW1p
bHkpIHsKLSAgICAgICAgICAgIC8vIEZvbnQgbmFtZSBpcyB0aGUgZmlyc3QgZW50cnkgaW4gdGhl
IGFycmF5LgotICAgICAgICAgICAgW2F2YWlsYWJsZUZvbnRMaXN0IGFkZE9iamVjdDpbZm9udElu
Zm8gb2JqZWN0QXRJbmRleDowXV07Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgYXZhaWxh
YmxlRm9udHMgPSBhdmFpbGFibGVGb250TGlzdDsKLSAgICByZXR1cm4gYXZhaWxhYmxlRm9udHM7
Ci19Ci0KLXN0YXRpYyB2b2lkIHN3aXp6bGVOU0ZvbnRNYW5hZ2VyTWV0aG9kcygpCi17Ci0gICAg
TWV0aG9kIGF2YWlsYWJsZUZvbnRGYW1pbGllc01ldGhvZCA9IGNsYXNzX2dldEluc3RhbmNlTWV0
aG9kKG9iamNfZ2V0Q2xhc3MoIk5TRm9udE1hbmFnZXIiKSwgQHNlbGVjdG9yKGF2YWlsYWJsZUZv
bnRGYW1pbGllcykpOwotICAgIEFTU0VSVChhdmFpbGFibGVGb250RmFtaWxpZXNNZXRob2QpOwot
ICAgIGlmICghYXZhaWxhYmxlRm9udEZhbWlsaWVzTWV0aG9kKSB7Ci0gICAgICAgIE5TTG9nKEAi
RmFpbGVkIHRvIHN3aXp6bGUgdGhlIFwiYXZhaWxhYmxlRm9udEZhbWlsaWVzXCIgbWV0aG9kIG9u
IE5TRm9udE1hbmFnZXIiKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICAKLSAgICBhcHBL
aXRBdmFpbGFibGVGb250RmFtaWxpZXNJTVAgPSBtZXRob2Rfc2V0SW1wbGVtZW50YXRpb24oYXZh
aWxhYmxlRm9udEZhbWlsaWVzTWV0aG9kLCAoSU1QKWRydF9OU0ZvbnRNYW5hZ2VyX2F2YWlsYWJs
ZUZvbnRGYW1pbGllcyk7Ci0KLSAgICBNZXRob2QgYXZhaWxhYmxlRm9udHNNZXRob2QgPSBjbGFz
c19nZXRJbnN0YW5jZU1ldGhvZChvYmpjX2dldENsYXNzKCJOU0ZvbnRNYW5hZ2VyIiksIEBzZWxl
Y3RvcihhdmFpbGFibGVGb250cykpOwotICAgIEFTU0VSVChhdmFpbGFibGVGb250c01ldGhvZCk7
Ci0gICAgaWYgKCFhdmFpbGFibGVGb250c01ldGhvZCkgewotICAgICAgICBOU0xvZyhAIkZhaWxl
ZCB0byBzd2l6emxlIHRoZSBcImF2YWlsYWJsZUZvbnRzXCIgbWV0aG9kIG9uIE5TRm9udE1hbmFn
ZXIiKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICAKLSAgICBhcHBLaXRBdmFpbGFibGVG
b250c0lNUCA9IG1ldGhvZF9zZXRJbXBsZW1lbnRhdGlvbihhdmFpbGFibGVGb250c01ldGhvZCwg
KElNUClkcnRfTlNGb250TWFuYWdlcl9hdmFpbGFibGVGb250cyk7Ci19Ci0KIHZvaWQgSW5qZWN0
ZWRCdW5kbGU6OnBsYXRmb3JtSW5pdGlhbGl6ZShXS1R5cGVSZWYpCiB7CiAgICAgTlNEaWN0aW9u
YXJ5ICpkaWN0ID0gW05TRGljdGlvbmFyeSBkaWN0aW9uYXJ5V2l0aE9iamVjdHNBbmRLZXlzOgpA
QCAtMjIxLDggKzQwLDYgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6cGxhdGZvcm1Jbml0aWFsaXpl
KFdLVHlwZVJlZikKICAgICAgICAgbmlsXTsKIAogICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRh
cmRVc2VyRGVmYXVsdHNdIHNldFZvbGF0aWxlRG9tYWluOmRpY3QgZm9yTmFtZTpOU0FyZ3VtZW50
RG9tYWluXTsgICAgCi0gICAgCi0gICAgc3dpenpsZU5TRm9udE1hbmFnZXJNZXRob2RzKCk7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdUUgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109657</attachid>
            <date>2011-10-04 11:29:48 -0700</date>
            <delta_ts>2011-10-04 11:30:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69356-20111004112947.patch</filename>
            <type>text/plain</type>
            <size>13774</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTY2MDgKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiMTJjZGJhMTk0NGI2NGUxZmRlOTEzMWUxMGJhZTJlYWM2
ZjgxZGU2Li5mOTFjZmUxOGFhZTRjYWQ1MjkyOGMzY2FiNzA3YWE5ODMwOWNjMDU0IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTEtMTAtMDQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisK
KyAgICAgICAgTW92ZSBmb250LWZpeHVwIGNvZGUgaW4gV2ViS2l0VGVzdFJ1bm5lciB0byBhIGJl
dHRlciBwbGFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjkzNTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAg
CisgICAgICAgIE1vdmUgY29kZSB0aGF0IHN3aXp6bGVzIE5TRm9udE1hbmFnZXIgbWV0aG9kcyB0
byBBY3RpdmF0ZUZvbnRzLm1tLCB3aGljaAorICAgICAgICBhbHJlYWR5IGNvbnRhaW5zIGZvbnQt
cmVsYXRlZCBjb2RlLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZS5jcHA6CisgICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxlOjppbml0
aWFsaXplKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9B
Y3RpdmF0ZUZvbnRzLm1tOgorICAgICAgICAoV1RSOjphbGxvd2VkRm9udEZhbWlseVNldCk6Cisg
ICAgICAgIChXVFI6OmRydF9OU0ZvbnRNYW5hZ2VyX2F2YWlsYWJsZUZvbnRGYW1pbGllcyk6Cisg
ICAgICAgIChXVFI6OmRydF9OU0ZvbnRNYW5hZ2VyX2F2YWlsYWJsZUZvbnRzKToKKyAgICAgICAg
KFdUUjo6c3dpenpsZU5TRm9udE1hbmFnZXJNZXRob2RzKToKKyAgICAgICAgKFdUUjo6YWN0aXZh
dGVGb250cyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMv
SW5qZWN0ZWRCdW5kbGVNYWMubW06CisgICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxlOjpwbGF0
Zm9ybUluaXRpYWxpemUpOgorCiAyMDExLTEwLTAzICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgZ2FyZGVuLW8tbWF0aWMgc2hvdWxkIHJlbW92ZSBidWlsZGVycyBm
cm9tIHRoZSBmYWlsdXJlIGdyaWQgb25jZSB0aGV5IHN0YXJ0IHRvIHBhc3MKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjdGl2YXRlRm9udHMu
bW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY3RpdmF0ZUZv
bnRzLm1tCmluZGV4IGI1YmM0YTFkYmI1ZDk4MzdiY2VmZTMyMDEyM2VlOTQyMmUyYzZjN2QuLjNh
M2E2YWZmMzQyNzFlNzdiZGIzYTA0Mzg4MzAwYzAwMWIwOGU1NzcgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjdGl2YXRlRm9udHMubW0KKysr
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWN0aXZhdGVGb250
cy5tbQpAQCAtMjMsMTEgKzIzLDEzIEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCiAgKi8KIAorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkFjdGl2YXRlRm9udHMu
aCIKIAogI2ltcG9ydCA8QXBwS2l0L0FwcEtpdC5oPgogI2ltcG9ydCA8Q29yZUZvdW5kYXRpb24v
Q29yZUZvdW5kYXRpb24uaD4KLSNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgorI2lt
cG9ydCA8b2JqYy9vYmpjLXJ1bnRpbWUuaD4KKyNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAog
QGludGVyZmFjZSBXS1RSRm9udEFjdGl2YXRvckR1bW15Q2xhc3MgOiBOU09iamVjdAogQGVuZApA
QCAtMzcsNiArMzksMTg2IEBACiAKIG5hbWVzcGFjZSBXVFIgewogCisKK3N0YXRpYyBOU1NldCAq
YWxsb3dlZEZvbnRGYW1pbHlTZXQoKQoreworICAgIHN0YXRpYyBOU1NldCAqZm9udEZhbWlsaXlT
ZXQgPSBbW05TU2V0IHNldFdpdGhPYmplY3RzOgorICAgICAgICBAIkFoZW0iLAorICAgICAgICBA
IkFsIEJheWFuIiwKKyAgICAgICAgQCJBbWVyaWNhbiBUeXBld3JpdGVyIiwKKyAgICAgICAgQCJB
bmRhbGUgTW9ubyIsCisgICAgICAgIEAiQXBwbGUgQnJhaWxsZSIsCisgICAgICAgIEAiQXBwbGUg
Q29sb3IgRW1vamkiLAorICAgICAgICBAIkFwcGxlIENoYW5jZXJ5IiwKKyAgICAgICAgQCJBcHBs
ZSBHYXJhbW9uZCBCVCIsCisgICAgICAgIEAiQXBwbGUgTGlHb3RoaWMiLAorICAgICAgICBAIkFw
cGxlIExpU3VuZyIsCisgICAgICAgIEAiQXBwbGUgU3ltYm9scyIsCisgICAgICAgIEAiQXBwbGVH
b3RoaWMiLAorICAgICAgICBAIkFwcGxlTXl1bmdqbyIsCisgICAgICAgIEAiQXJpYWwgQmxhY2si
LAorICAgICAgICBAIkFyaWFsIEhlYnJldyIsCisgICAgICAgIEAiQXJpYWwgTmFycm93IiwKKyAg
ICAgICAgQCJBcmlhbCBSb3VuZGVkIE1UIEJvbGQiLAorICAgICAgICBAIkFyaWFsIFVuaWNvZGUg
TVMiLAorICAgICAgICBAIkFyaWFsIiwKKyAgICAgICAgQCJBeXV0aGF5YSIsCisgICAgICAgIEAi
QmFnaGRhZCIsCisgICAgICAgIEAiQmFza2VydmlsbGUiLAorICAgICAgICBAIkJpYXVLYWkiLAor
ICAgICAgICBAIkJpZyBDYXNsb24iLAorICAgICAgICBAIkJydXNoIFNjcmlwdCBNVCIsCisgICAg
ICAgIEAiQ2hhbGtib2FyZCIsCisgICAgICAgIEAiQ2hhbGtkdXN0ZXIiLAorICAgICAgICBAIkNo
YXJjb2FsIENZIiwKKyAgICAgICAgQCJDb2NoaW4iLAorICAgICAgICBAIkNvbG9yQml0cyIsCisg
ICAgICAgIEAiQ29taWMgU2FucyBNUyIsCisgICAgICAgIEAiQ29wcGVycGxhdGUiLAorICAgICAg
ICBAIkNvcnNpdmEgSGVicmV3IiwKKyAgICAgICAgQCJDb3VyaWVyIE5ldyIsCisgICAgICAgIEAi
Q291cmllciIsCisgICAgICAgIEAiRGVjb1R5cGUgTmFza2giLAorICAgICAgICBAIkRldmFuYWdh
cmkgTVQiLAorICAgICAgICBAIkRpZG90IiwKKyAgICAgICAgQCJFdXBoZW1pYSBVQ0FTIiwKKyAg
ICAgICAgQCJGdXR1cmEiLAorICAgICAgICBAIkdCMTgwMzAgQml0bWFwIiwKKyAgICAgICAgQCJH
ZWV6YSBQcm8iLAorICAgICAgICBAIkdlbmV2YSBDWSIsCisgICAgICAgIEAiR2VuZXZhIiwKKyAg
ICAgICAgQCJHZW9yZ2lhIiwKKyAgICAgICAgQCJHaWxsIFNhbnMiLAorICAgICAgICBAIkd1amFy
YXRpIE1UIiwKKyAgICAgICAgQCJHdW5nU2VvIiwKKyAgICAgICAgQCJHdXJtdWtoaSBNVCIsCisg
ICAgICAgIEAiSGVhZExpbmVBIiwKKyAgICAgICAgQCJIZWkiLAorICAgICAgICBAIkhlaXRpIFND
IiwKKyAgICAgICAgQCJIZWl0aSBUQyIsCisgICAgICAgIEAiSGVsdmV0aWNhIENZIiwKKyAgICAg
ICAgQCJIZWx2ZXRpY2EgTmV1ZSIsCisgICAgICAgIEAiSGVsdmV0aWNhIiwKKyAgICAgICAgQCJI
ZXJjdWxhbnVtIiwKKyAgICAgICAgQCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm8iLAorICAgICAg
ICBAIkhpcmFnaW5vIEtha3UgR290aGljIFByb04iLAorICAgICAgICBAIkhpcmFnaW5vIEtha3Ug
R290aGljIFN0ZCIsCisgICAgICAgIEAiSGlyYWdpbm8gS2FrdSBHb3RoaWMgU3RkTiIsCisgICAg
ICAgIEAiSGlyYWdpbm8gTWFydSBHb3RoaWMgUHJvIiwKKyAgICAgICAgQCJIaXJhZ2lubyBNYXJ1
IEdvdGhpYyBQcm9OIiwKKyAgICAgICAgQCJIaXJhZ2lubyBNaW5jaG8gUHJvIiwKKyAgICAgICAg
QCJIaXJhZ2lubyBNaW5jaG8gUHJvTiIsCisgICAgICAgIEAiSGlyYWdpbm8gU2FucyBHQiIsCisg
ICAgICAgIEAiSG9lZmxlciBUZXh0IiwKKyAgICAgICAgQCJJbXBhY3QiLAorICAgICAgICBAIklu
YWlNYXRoaSIsCisgICAgICAgIEAiS2FpIiwKKyAgICAgICAgQCJLYWlsYXNhIiwKKyAgICAgICAg
QCJLb2tvbm9yIiwKKyAgICAgICAgQCJLcnVuZ3RoZXAiLAorICAgICAgICBAIkt1ZmlTdGFuZGFy
ZEdLIiwKKyAgICAgICAgQCJMaUhlaSBQcm8iLAorICAgICAgICBAIkxpU29uZyBQcm8iLAorICAg
ICAgICBAIkx1Y2lkYSBHcmFuZGUiLAorICAgICAgICBAIk1hcmtlciBGZWx0IiwKKyAgICAgICAg
QCJNZW5sbyIsCisgICAgICAgIEAiTWljcm9zb2Z0IFNhbnMgU2VyaWYiLAorICAgICAgICBAIk1v
bmFjbyIsCisgICAgICAgIEAiTXNodGFrYW4iLAorICAgICAgICBAIk5hZGVlbSIsCisgICAgICAg
IEAiTmV3IFBlbmluaW0gTVQiLAorICAgICAgICBAIk9wdGltYSIsCisgICAgICAgIEAiT3Nha2Ei
LAorICAgICAgICBAIlBhcHlydXMiLAorICAgICAgICBAIlBDTXl1bmdqbyIsCisgICAgICAgIEAi
UGlsR2kiLAorICAgICAgICBAIlBsYW50YWdlbmV0IENoZXJva2VlIiwKKyAgICAgICAgQCJSYWFu
YW5hIiwKKyAgICAgICAgQCJTYXRodSIsCisgICAgICAgIEAiU2lsb20iLAorICAgICAgICBAIlNr
aWEiLAorICAgICAgICBAIlNURmFuZ3NvbmciLAorICAgICAgICBAIlNUSGVpdGkiLAorICAgICAg
ICBAIlNUS2FpdGkiLAorICAgICAgICBAIlNUU29uZyIsCisgICAgICAgIEAiU3ltYm9sIiwKKyAg
ICAgICAgQCJUYWhvbWEiLAorICAgICAgICBAIlRob25idXJpIiwKKyAgICAgICAgQCJUaW1lcyBO
ZXcgUm9tYW4iLAorICAgICAgICBAIlRpbWVzIiwKKyAgICAgICAgQCJUcmVidWNoZXQgTVMiLAor
ICAgICAgICBAIlZlcmRhbmEiLAorICAgICAgICBAIldlYmRpbmdzIiwKKyAgICAgICAgQCJXZWJL
aXQgV2VpZ2h0V2F0Y2hlciIsCisgICAgICAgIEAiV2luZ2RpbmdzIDIiLAorICAgICAgICBAIldp
bmdkaW5ncyAzIiwKKyAgICAgICAgQCJXaW5nZGluZ3MiLAorICAgICAgICBAIlphcGYgRGluZ2Jh
dHMiLAorICAgICAgICBAIlphcGZpbm8iLAorICAgICAgICBuaWxdIHJldGFpbl07CisgICAgCisg
ICAgcmV0dXJuIGZvbnRGYW1pbGl5U2V0OworfQorCitzdGF0aWMgSU1QIGFwcEtpdEF2YWlsYWJs
ZUZvbnRGYW1pbGllc0lNUDsKK3N0YXRpYyBJTVAgYXBwS2l0QXZhaWxhYmxlRm9udHNJTVA7CisK
K3N0YXRpYyBOU0FycmF5ICpkcnRfTlNGb250TWFuYWdlcl9hdmFpbGFibGVGb250RmFtaWxpZXMo
aWQgc2VsZiwgU0VMIF9jbWQpCit7CisgICAgc3RhdGljIE5TQXJyYXkgKmF2YWlsYWJsZUZvbnRG
YW1pbGllczsKKyAgICBpZiAoYXZhaWxhYmxlRm9udEZhbWlsaWVzKQorICAgICAgICByZXR1cm4g
YXZhaWxhYmxlRm9udEZhbWlsaWVzOworICAgIAorICAgIE5TQXJyYXkgKmF2YWlsYWJsZUZhbWls
aWVzID0gYXBwS2l0QXZhaWxhYmxlRm9udEZhbWlsaWVzSU1QKHNlbGYsIF9jbWQpOworCisgICAg
TlNNdXRhYmxlU2V0ICpwcnVuZWRGYW1pbGllc1NldCA9IFtOU011dGFibGVTZXQgc2V0V2l0aEFy
cmF5OmF2YWlsYWJsZUZhbWlsaWVzXTsKKyAgICBbcHJ1bmVkRmFtaWxpZXNTZXQgaW50ZXJzZWN0
U2V0OmFsbG93ZWRGb250RmFtaWx5U2V0KCldOworCisgICAgYXZhaWxhYmxlRm9udEZhbWlsaWVz
ID0gW1twcnVuZWRGYW1pbGllc1NldCBhbGxPYmplY3RzXSByZXRhaW5dOworICAgIHJldHVybiBh
dmFpbGFibGVGb250RmFtaWxpZXM7Cit9CisKK3N0YXRpYyBOU0FycmF5ICpkcnRfTlNGb250TWFu
YWdlcl9hdmFpbGFibGVGb250cyhpZCBzZWxmLCBTRUwgX2NtZCkKK3sKKyAgICBzdGF0aWMgTlNB
cnJheSAqYXZhaWxhYmxlRm9udHM7CisgICAgaWYgKGF2YWlsYWJsZUZvbnRzKQorICAgICAgICBy
ZXR1cm4gYXZhaWxhYmxlRm9udHM7CisgICAgCisgICAgTlNTZXQgKmFsbG93ZWRGYW1pbGllcyA9
IGFsbG93ZWRGb250RmFtaWx5U2V0KCk7CisgICAgTlNNdXRhYmxlQXJyYXkgKmF2YWlsYWJsZUZv
bnRMaXN0ID0gW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdFdpdGhDYXBhY2l0eTpbYWxsb3dl
ZEZhbWlsaWVzIGNvdW50XSAqIDJdOworICAgIGZvciAoTlNTdHJpbmcgKmZvbnRGYW1pbHkgaW4g
YWxsb3dlZEZvbnRGYW1pbHlTZXQoKSkgeworICAgICAgICBOU0FycmF5KiBmb250c0ZvckZhbWls
eSA9IFtbTlNGb250TWFuYWdlciBzaGFyZWRGb250TWFuYWdlcl0gYXZhaWxhYmxlTWVtYmVyc09m
Rm9udEZhbWlseTpmb250RmFtaWx5XTsKKyAgICAgICAgZm9yIChOU0FycmF5KiBmb250SW5mbyBp
biBmb250c0ZvckZhbWlseSkgeworICAgICAgICAgICAgLy8gRm9udCBuYW1lIGlzIHRoZSBmaXJz
dCBlbnRyeSBpbiB0aGUgYXJyYXkuCisgICAgICAgICAgICBbYXZhaWxhYmxlRm9udExpc3QgYWRk
T2JqZWN0Oltmb250SW5mbyBvYmplY3RBdEluZGV4OjBdXTsKKyAgICAgICAgfQorICAgIH0KKyAg
ICAKKyAgICBhdmFpbGFibGVGb250cyA9IGF2YWlsYWJsZUZvbnRMaXN0OworICAgIHJldHVybiBh
dmFpbGFibGVGb250czsKK30KKworc3RhdGljIHZvaWQgc3dpenpsZU5TRm9udE1hbmFnZXJNZXRo
b2RzKCkKK3sKKyAgICBNZXRob2QgYXZhaWxhYmxlRm9udEZhbWlsaWVzTWV0aG9kID0gY2xhc3Nf
Z2V0SW5zdGFuY2VNZXRob2Qob2JqY19nZXRDbGFzcygiTlNGb250TWFuYWdlciIpLCBAc2VsZWN0
b3IoYXZhaWxhYmxlRm9udEZhbWlsaWVzKSk7CisgICAgQVNTRVJUKGF2YWlsYWJsZUZvbnRGYW1p
bGllc01ldGhvZCk7CisgICAgaWYgKCFhdmFpbGFibGVGb250RmFtaWxpZXNNZXRob2QpIHsKKyAg
ICAgICAgTlNMb2coQCJGYWlsZWQgdG8gc3dpenpsZSB0aGUgXCJhdmFpbGFibGVGb250RmFtaWxp
ZXNcIiBtZXRob2Qgb24gTlNGb250TWFuYWdlciIpOworICAgICAgICByZXR1cm47CisgICAgfQor
ICAgIAorICAgIGFwcEtpdEF2YWlsYWJsZUZvbnRGYW1pbGllc0lNUCA9IG1ldGhvZF9zZXRJbXBs
ZW1lbnRhdGlvbihhdmFpbGFibGVGb250RmFtaWxpZXNNZXRob2QsIChJTVApZHJ0X05TRm9udE1h
bmFnZXJfYXZhaWxhYmxlRm9udEZhbWlsaWVzKTsKKworICAgIE1ldGhvZCBhdmFpbGFibGVGb250
c01ldGhvZCA9IGNsYXNzX2dldEluc3RhbmNlTWV0aG9kKG9iamNfZ2V0Q2xhc3MoIk5TRm9udE1h
bmFnZXIiKSwgQHNlbGVjdG9yKGF2YWlsYWJsZUZvbnRzKSk7CisgICAgQVNTRVJUKGF2YWlsYWJs
ZUZvbnRzTWV0aG9kKTsKKyAgICBpZiAoIWF2YWlsYWJsZUZvbnRzTWV0aG9kKSB7CisgICAgICAg
IE5TTG9nKEAiRmFpbGVkIHRvIHN3aXp6bGUgdGhlIFwiYXZhaWxhYmxlRm9udHNcIiBtZXRob2Qg
b24gTlNGb250TWFuYWdlciIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIAorICAgIGFw
cEtpdEF2YWlsYWJsZUZvbnRzSU1QID0gbWV0aG9kX3NldEltcGxlbWVudGF0aW9uKGF2YWlsYWJs
ZUZvbnRzTWV0aG9kLCAoSU1QKWRydF9OU0ZvbnRNYW5hZ2VyX2F2YWlsYWJsZUZvbnRzKTsKK30K
Kwogdm9pZCBhY3RpdmF0ZUZvbnRzKCkKIHsKICAgICAvLyBXb3JrIGFyb3VuZCA8cmRhcjovL3By
b2JsZW0vNjY5ODAyMz4gYnkgYWN0aXZhdGluZyBmb250cyBmcm9tIGRpc2sKQEAgLTY5LDYgKzI1
MSw4IEBAIHZvaWQgYWN0aXZhdGVGb250cygpCiAgICAgICAgIENGUmVsZWFzZShlcnJvcnMpOwog
ICAgICAgICBleGl0KDEpOwogICAgIH0KKworICAgIHN3aXp6bGVOU0ZvbnRNYW5hZ2VyTWV0aG9k
cygpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL21hYy9JbmplY3RlZEJ1bmRsZU1hYy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvbWFjL0luamVjdGVkQnVuZGxlTWFjLm1tCmluZGV4IDMyMjgwZGRmMzhi
MzI1YTczYzNjYzUzOGI5MTU2ZGU5M2QwNDRhNmQuLjMzZjM5NWJlNzZjYWQ5NjdjZjQxOGFhOGZl
MDNjZWQyMjY1MTBiZDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvbWFjL0luamVjdGVkQnVuZGxlTWFjLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0luamVjdGVkQnVuZGxlTWFjLm1tCkBAIC0yNSwxOTEg
KzI1LDEwIEBACiAKICNpbXBvcnQgIkluamVjdGVkQnVuZGxlLmgiCiAKLSNpbXBvcnQgPEFwcEtp
dC9BcHBLaXQuaD4KICNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgotI2ltcG9ydCA8
b2JqYy9vYmpjLXJ1bnRpbWUuaD4KIAogbmFtZXNwYWNlIFdUUiB7CiAKLXN0YXRpYyBOU1NldCAq
YWxsb3dlZEZvbnRGYW1pbHlTZXQoKQotewotICAgIHN0YXRpYyBOU1NldCAqZm9udEZhbWlsaXlT
ZXQgPSBbW05TU2V0IHNldFdpdGhPYmplY3RzOgotICAgICAgICBAIkFoZW0iLAotICAgICAgICBA
IkFsIEJheWFuIiwKLSAgICAgICAgQCJBbWVyaWNhbiBUeXBld3JpdGVyIiwKLSAgICAgICAgQCJB
bmRhbGUgTW9ubyIsCi0gICAgICAgIEAiQXBwbGUgQnJhaWxsZSIsCi0gICAgICAgIEAiQXBwbGUg
Q29sb3IgRW1vamkiLAotICAgICAgICBAIkFwcGxlIENoYW5jZXJ5IiwKLSAgICAgICAgQCJBcHBs
ZSBHYXJhbW9uZCBCVCIsCi0gICAgICAgIEAiQXBwbGUgTGlHb3RoaWMiLAotICAgICAgICBAIkFw
cGxlIExpU3VuZyIsCi0gICAgICAgIEAiQXBwbGUgU3ltYm9scyIsCi0gICAgICAgIEAiQXBwbGVH
b3RoaWMiLAotICAgICAgICBAIkFwcGxlTXl1bmdqbyIsCi0gICAgICAgIEAiQXJpYWwgQmxhY2si
LAotICAgICAgICBAIkFyaWFsIEhlYnJldyIsCi0gICAgICAgIEAiQXJpYWwgTmFycm93IiwKLSAg
ICAgICAgQCJBcmlhbCBSb3VuZGVkIE1UIEJvbGQiLAotICAgICAgICBAIkFyaWFsIFVuaWNvZGUg
TVMiLAotICAgICAgICBAIkFyaWFsIiwKLSAgICAgICAgQCJBeXV0aGF5YSIsCi0gICAgICAgIEAi
QmFnaGRhZCIsCi0gICAgICAgIEAiQmFza2VydmlsbGUiLAotICAgICAgICBAIkJpYXVLYWkiLAot
ICAgICAgICBAIkJpZyBDYXNsb24iLAotICAgICAgICBAIkJydXNoIFNjcmlwdCBNVCIsCi0gICAg
ICAgIEAiQ2hhbGtib2FyZCIsCi0gICAgICAgIEAiQ2hhbGtkdXN0ZXIiLAotICAgICAgICBAIkNo
YXJjb2FsIENZIiwKLSAgICAgICAgQCJDb2NoaW4iLAotICAgICAgICBAIkNvbG9yQml0cyIsCi0g
ICAgICAgIEAiQ29taWMgU2FucyBNUyIsCi0gICAgICAgIEAiQ29wcGVycGxhdGUiLAotICAgICAg
ICBAIkNvcnNpdmEgSGVicmV3IiwKLSAgICAgICAgQCJDb3VyaWVyIE5ldyIsCi0gICAgICAgIEAi
Q291cmllciIsCi0gICAgICAgIEAiRGVjb1R5cGUgTmFza2giLAotICAgICAgICBAIkRldmFuYWdh
cmkgTVQiLAotICAgICAgICBAIkRpZG90IiwKLSAgICAgICAgQCJFdXBoZW1pYSBVQ0FTIiwKLSAg
ICAgICAgQCJGdXR1cmEiLAotICAgICAgICBAIkdCMTgwMzAgQml0bWFwIiwKLSAgICAgICAgQCJH
ZWV6YSBQcm8iLAotICAgICAgICBAIkdlbmV2YSBDWSIsCi0gICAgICAgIEAiR2VuZXZhIiwKLSAg
ICAgICAgQCJHZW9yZ2lhIiwKLSAgICAgICAgQCJHaWxsIFNhbnMiLAotICAgICAgICBAIkd1amFy
YXRpIE1UIiwKLSAgICAgICAgQCJHdW5nU2VvIiwKLSAgICAgICAgQCJHdXJtdWtoaSBNVCIsCi0g
ICAgICAgIEAiSGVhZExpbmVBIiwKLSAgICAgICAgQCJIZWkiLAotICAgICAgICBAIkhlaXRpIFND
IiwKLSAgICAgICAgQCJIZWl0aSBUQyIsCi0gICAgICAgIEAiSGVsdmV0aWNhIENZIiwKLSAgICAg
ICAgQCJIZWx2ZXRpY2EgTmV1ZSIsCi0gICAgICAgIEAiSGVsdmV0aWNhIiwKLSAgICAgICAgQCJI
ZXJjdWxhbnVtIiwKLSAgICAgICAgQCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm8iLAotICAgICAg
ICBAIkhpcmFnaW5vIEtha3UgR290aGljIFByb04iLAotICAgICAgICBAIkhpcmFnaW5vIEtha3Ug
R290aGljIFN0ZCIsCi0gICAgICAgIEAiSGlyYWdpbm8gS2FrdSBHb3RoaWMgU3RkTiIsCi0gICAg
ICAgIEAiSGlyYWdpbm8gTWFydSBHb3RoaWMgUHJvIiwKLSAgICAgICAgQCJIaXJhZ2lubyBNYXJ1
IEdvdGhpYyBQcm9OIiwKLSAgICAgICAgQCJIaXJhZ2lubyBNaW5jaG8gUHJvIiwKLSAgICAgICAg
QCJIaXJhZ2lubyBNaW5jaG8gUHJvTiIsCi0gICAgICAgIEAiSGlyYWdpbm8gU2FucyBHQiIsCi0g
ICAgICAgIEAiSG9lZmxlciBUZXh0IiwKLSAgICAgICAgQCJJbXBhY3QiLAotICAgICAgICBAIklu
YWlNYXRoaSIsCi0gICAgICAgIEAiS2FpIiwKLSAgICAgICAgQCJLYWlsYXNhIiwKLSAgICAgICAg
QCJLb2tvbm9yIiwKLSAgICAgICAgQCJLcnVuZ3RoZXAiLAotICAgICAgICBAIkt1ZmlTdGFuZGFy
ZEdLIiwKLSAgICAgICAgQCJMaUhlaSBQcm8iLAotICAgICAgICBAIkxpU29uZyBQcm8iLAotICAg
ICAgICBAIkx1Y2lkYSBHcmFuZGUiLAotICAgICAgICBAIk1hcmtlciBGZWx0IiwKLSAgICAgICAg
QCJNZW5sbyIsCi0gICAgICAgIEAiTWljcm9zb2Z0IFNhbnMgU2VyaWYiLAotICAgICAgICBAIk1v
bmFjbyIsCi0gICAgICAgIEAiTXNodGFrYW4iLAotICAgICAgICBAIk5hZGVlbSIsCi0gICAgICAg
IEAiTmV3IFBlbmluaW0gTVQiLAotICAgICAgICBAIk9wdGltYSIsCi0gICAgICAgIEAiT3Nha2Ei
LAotICAgICAgICBAIlBhcHlydXMiLAotICAgICAgICBAIlBDTXl1bmdqbyIsCi0gICAgICAgIEAi
UGlsR2kiLAotICAgICAgICBAIlBsYW50YWdlbmV0IENoZXJva2VlIiwKLSAgICAgICAgQCJSYWFu
YW5hIiwKLSAgICAgICAgQCJTYXRodSIsCi0gICAgICAgIEAiU2lsb20iLAotICAgICAgICBAIlNr
aWEiLAotICAgICAgICBAIlNURmFuZ3NvbmciLAotICAgICAgICBAIlNUSGVpdGkiLAotICAgICAg
ICBAIlNUS2FpdGkiLAotICAgICAgICBAIlNUU29uZyIsCi0gICAgICAgIEAiU3ltYm9sIiwKLSAg
ICAgICAgQCJUYWhvbWEiLAotICAgICAgICBAIlRob25idXJpIiwKLSAgICAgICAgQCJUaW1lcyBO
ZXcgUm9tYW4iLAotICAgICAgICBAIlRpbWVzIiwKLSAgICAgICAgQCJUcmVidWNoZXQgTVMiLAot
ICAgICAgICBAIlZlcmRhbmEiLAotICAgICAgICBAIldlYmRpbmdzIiwKLSAgICAgICAgQCJXZWJL
aXQgV2VpZ2h0V2F0Y2hlciIsCi0gICAgICAgIEAiV2luZ2RpbmdzIDIiLAotICAgICAgICBAIldp
bmdkaW5ncyAzIiwKLSAgICAgICAgQCJXaW5nZGluZ3MiLAotICAgICAgICBAIlphcGYgRGluZ2Jh
dHMiLAotICAgICAgICBAIlphcGZpbm8iLAotICAgICAgICBuaWxdIHJldGFpbl07Ci0gICAgCi0g
ICAgcmV0dXJuIGZvbnRGYW1pbGl5U2V0OwotfQotCi1zdGF0aWMgSU1QIGFwcEtpdEF2YWlsYWJs
ZUZvbnRGYW1pbGllc0lNUDsKLXN0YXRpYyBJTVAgYXBwS2l0QXZhaWxhYmxlRm9udHNJTVA7Ci0K
LXN0YXRpYyBOU0FycmF5ICpkcnRfTlNGb250TWFuYWdlcl9hdmFpbGFibGVGb250RmFtaWxpZXMo
aWQgc2VsZiwgU0VMIF9jbWQpCi17Ci0gICAgc3RhdGljIE5TQXJyYXkgKmF2YWlsYWJsZUZvbnRG
YW1pbGllczsKLSAgICBpZiAoYXZhaWxhYmxlRm9udEZhbWlsaWVzKQotICAgICAgICByZXR1cm4g
YXZhaWxhYmxlRm9udEZhbWlsaWVzOwotICAgIAotICAgIE5TQXJyYXkgKmF2YWlsYWJsZUZhbWls
aWVzID0gYXBwS2l0QXZhaWxhYmxlRm9udEZhbWlsaWVzSU1QKHNlbGYsIF9jbWQpOwotCi0gICAg
TlNNdXRhYmxlU2V0ICpwcnVuZWRGYW1pbGllc1NldCA9IFtOU011dGFibGVTZXQgc2V0V2l0aEFy
cmF5OmF2YWlsYWJsZUZhbWlsaWVzXTsKLSAgICBbcHJ1bmVkRmFtaWxpZXNTZXQgaW50ZXJzZWN0
U2V0OmFsbG93ZWRGb250RmFtaWx5U2V0KCldOwotCi0gICAgYXZhaWxhYmxlRm9udEZhbWlsaWVz
ID0gW1twcnVuZWRGYW1pbGllc1NldCBhbGxPYmplY3RzXSByZXRhaW5dOwotICAgIHJldHVybiBh
dmFpbGFibGVGb250RmFtaWxpZXM7Ci19Ci0KLXN0YXRpYyBOU0FycmF5ICpkcnRfTlNGb250TWFu
YWdlcl9hdmFpbGFibGVGb250cyhpZCBzZWxmLCBTRUwgX2NtZCkKLXsKLSAgICBzdGF0aWMgTlNB
cnJheSAqYXZhaWxhYmxlRm9udHM7Ci0gICAgaWYgKGF2YWlsYWJsZUZvbnRzKQotICAgICAgICBy
ZXR1cm4gYXZhaWxhYmxlRm9udHM7Ci0gICAgCi0gICAgTlNTZXQgKmFsbG93ZWRGYW1pbGllcyA9
IGFsbG93ZWRGb250RmFtaWx5U2V0KCk7Ci0gICAgTlNNdXRhYmxlQXJyYXkgKmF2YWlsYWJsZUZv
bnRMaXN0ID0gW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdFdpdGhDYXBhY2l0eTpbYWxsb3dl
ZEZhbWlsaWVzIGNvdW50XSAqIDJdOwotICAgIGZvciAoTlNTdHJpbmcgKmZvbnRGYW1pbHkgaW4g
YWxsb3dlZEZvbnRGYW1pbHlTZXQoKSkgewotICAgICAgICBOU0FycmF5KiBmb250c0ZvckZhbWls
eSA9IFtbTlNGb250TWFuYWdlciBzaGFyZWRGb250TWFuYWdlcl0gYXZhaWxhYmxlTWVtYmVyc09m
Rm9udEZhbWlseTpmb250RmFtaWx5XTsKLSAgICAgICAgZm9yIChOU0FycmF5KiBmb250SW5mbyBp
biBmb250c0ZvckZhbWlseSkgewotICAgICAgICAgICAgLy8gRm9udCBuYW1lIGlzIHRoZSBmaXJz
dCBlbnRyeSBpbiB0aGUgYXJyYXkuCi0gICAgICAgICAgICBbYXZhaWxhYmxlRm9udExpc3QgYWRk
T2JqZWN0Oltmb250SW5mbyBvYmplY3RBdEluZGV4OjBdXTsKLSAgICAgICAgfQotICAgIH0KLSAg
ICAKLSAgICBhdmFpbGFibGVGb250cyA9IGF2YWlsYWJsZUZvbnRMaXN0OwotICAgIHJldHVybiBh
dmFpbGFibGVGb250czsKLX0KLQotc3RhdGljIHZvaWQgc3dpenpsZU5TRm9udE1hbmFnZXJNZXRo
b2RzKCkKLXsKLSAgICBNZXRob2QgYXZhaWxhYmxlRm9udEZhbWlsaWVzTWV0aG9kID0gY2xhc3Nf
Z2V0SW5zdGFuY2VNZXRob2Qob2JqY19nZXRDbGFzcygiTlNGb250TWFuYWdlciIpLCBAc2VsZWN0
b3IoYXZhaWxhYmxlRm9udEZhbWlsaWVzKSk7Ci0gICAgQVNTRVJUKGF2YWlsYWJsZUZvbnRGYW1p
bGllc01ldGhvZCk7Ci0gICAgaWYgKCFhdmFpbGFibGVGb250RmFtaWxpZXNNZXRob2QpIHsKLSAg
ICAgICAgTlNMb2coQCJGYWlsZWQgdG8gc3dpenpsZSB0aGUgXCJhdmFpbGFibGVGb250RmFtaWxp
ZXNcIiBtZXRob2Qgb24gTlNGb250TWFuYWdlciIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQot
ICAgIAotICAgIGFwcEtpdEF2YWlsYWJsZUZvbnRGYW1pbGllc0lNUCA9IG1ldGhvZF9zZXRJbXBs
ZW1lbnRhdGlvbihhdmFpbGFibGVGb250RmFtaWxpZXNNZXRob2QsIChJTVApZHJ0X05TRm9udE1h
bmFnZXJfYXZhaWxhYmxlRm9udEZhbWlsaWVzKTsKLQotICAgIE1ldGhvZCBhdmFpbGFibGVGb250
c01ldGhvZCA9IGNsYXNzX2dldEluc3RhbmNlTWV0aG9kKG9iamNfZ2V0Q2xhc3MoIk5TRm9udE1h
bmFnZXIiKSwgQHNlbGVjdG9yKGF2YWlsYWJsZUZvbnRzKSk7Ci0gICAgQVNTRVJUKGF2YWlsYWJs
ZUZvbnRzTWV0aG9kKTsKLSAgICBpZiAoIWF2YWlsYWJsZUZvbnRzTWV0aG9kKSB7Ci0gICAgICAg
IE5TTG9nKEAiRmFpbGVkIHRvIHN3aXp6bGUgdGhlIFwiYXZhaWxhYmxlRm9udHNcIiBtZXRob2Qg
b24gTlNGb250TWFuYWdlciIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIAotICAgIGFw
cEtpdEF2YWlsYWJsZUZvbnRzSU1QID0gbWV0aG9kX3NldEltcGxlbWVudGF0aW9uKGF2YWlsYWJs
ZUZvbnRzTWV0aG9kLCAoSU1QKWRydF9OU0ZvbnRNYW5hZ2VyX2F2YWlsYWJsZUZvbnRzKTsKLX0K
LQogdm9pZCBJbmplY3RlZEJ1bmRsZTo6cGxhdGZvcm1Jbml0aWFsaXplKFdLVHlwZVJlZikKIHsK
ICAgICBOU0RpY3Rpb25hcnkgKmRpY3QgPSBbTlNEaWN0aW9uYXJ5IGRpY3Rpb25hcnlXaXRoT2Jq
ZWN0c0FuZEtleXM6CkBAIC0yMjEsOCArNDAsNiBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpwbGF0
Zm9ybUluaXRpYWxpemUoV0tUeXBlUmVmKQogICAgICAgICBuaWxdOwogCiAgICAgW1tOU1VzZXJE
ZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Vm9sYXRpbGVEb21haW46ZGljdCBmb3JO
YW1lOk5TQXJndW1lbnREb21haW5dOyAgICAKLSAgICAKLSAgICBzd2l6emxlTlNGb250TWFuYWdl
ck1ldGhvZHMoKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV1RSCg==
</data>
<flag name="review"
          id="106943"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>