<?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>172886</bug_id>
          
          <creation_ts>2017-06-02 18:11:29 -0700</creation_ts>
          <short_desc>Cleanup arguments to preparePlatformFont() and fontWithFamily() in FontCacheCoreText.cpp</short_desc>
          <delta_ts>2017-06-03 11:07:22 -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>WebKit 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>
          
          <blocked>172893</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>jonlee</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1315323</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-06-02 18:11:29 -0700</bug_when>
    <thetext>Cleanup arguments to preparePlatformFont() and fontWithFamily() in FontCacheCoreText.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315326</commentid>
    <comment_count>1</comment_count>
      <attachid>311896</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-06-02 18:14:27 -0700</bug_when>
    <thetext>Created attachment 311896
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315372</commentid>
    <comment_count>2</comment_count>
      <attachid>311906</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-06-02 22:38:49 -0700</bug_when>
    <thetext>Created attachment 311906
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315439</commentid>
    <comment_count>3</comment_count>
      <attachid>311906</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-06-03 10:12:20 -0700</bug_when>
    <thetext>Comment on attachment 311906
Patch

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

&gt; Source/WebCore/platform/graphics/FontCache.h:284
&gt; +RetainPtr&lt;CTFontRef&gt; preparePlatformFont(CTFontRef, const FontDescription&amp;, const FontFeatureSettings* fontFaceFeatures, const FontVariantSettings* fontFaceVariantSettings, FontSelectionSpecifiedCapabilities fontFaceCapabilities, float size);

Here this could be:

RetainPtr&lt;CTFontRef&gt; preparePlatformFont(CTFontRef, const FontDescription&amp;, const FontFeatureSettings*, const FontVariantSettings*, FontSelectionSpecifiedCapabilities, float size);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315442</commentid>
    <comment_count>4</comment_count>
      <attachid>311906</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-06-03 10:37:36 -0700</bug_when>
    <thetext>Comment on attachment 311906
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/FontCache.h:284
&gt;&gt; +RetainPtr&lt;CTFontRef&gt; preparePlatformFont(CTFontRef, const FontDescription&amp;, const FontFeatureSettings* fontFaceFeatures, const FontVariantSettings* fontFaceVariantSettings, FontSelectionSpecifiedCapabilities fontFaceCapabilities, float size);
&gt; 
&gt; Here this could be:
&gt; 
&gt; RetainPtr&lt;CTFontRef&gt; preparePlatformFont(CTFontRef, const FontDescription&amp;, const FontFeatureSettings*, const FontVariantSettings*, FontSelectionSpecifiedCapabilities, float size);

I think, in this case, the argument names are helpful because the FontDescription also has members with these same types. The name describes how these values should be supplied from @font-face, rather than from the element&apos;s style itself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315446</commentid>
    <comment_count>5</comment_count>
      <attachid>311906</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-03 11:07:20 -0700</bug_when>
    <thetext>Comment on attachment 311906
Patch

Clearing flags on attachment: 311906

Committed r217762: &lt;http://trac.webkit.org/changeset/217762&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315447</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-03 11:07:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>311896</attachid>
            <date>2017-06-02 18:14:27 -0700</date>
            <delta_ts>2017-06-02 22:38:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172886-20170602181426.patch</filename>
            <type>text/plain</type>
            <size>10851</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3NzQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTI5ZGFmYTE4MDU4ZTBj
MTBmZjEzZGZlZTU4ZjdlNDkxN2Q3YTYyNS4uZDU0MTFhNDQ1NTRkMWI0YjBhNzk1NzEzMTJjM2Zk
ZTExNGZjZTczYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI4IEBACiAyMDE3LTA2LTAyICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKKyAgICAgICAgQ2xlYW51cCBh
cmd1bWVudHMgdG8gcHJlcGFyZVBsYXRmb3JtRm9udCgpIGFuZCBmb250V2l0aEZhbWlseSgpIGlu
IEZvbnRDYWNoZUNvcmVUZXh0LmNwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTcyODg2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhlIG51bWJlciBvZiBhcmd1bWVudHMgaXMgZ2V0dGluZyBvdXQgb2Yg
Y29udHJvbC4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSB0aGVyZSBpcyBubyBiZWhh
dmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpwcmVwYXJlUGxhdGZvcm1Gb250KToKKyAgICAgICAgKFdlYkNv
cmU6OmZvbnRXaXRoRmFtaWx5KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYWNoZTo6Y3JlYXRl
Rm9udFBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FjaGU6OnN5c3RlbUZh
bGxiYWNrRm9yQ2hhcmFjdGVycyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0Zv
bnRDYWNoZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OnBsYXRmb3JtRm9udFdpdGhGYW1pbHlT
cGVjaWFsQ2FzZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udEN1c3RvbVBsYXRmb3JtRGF0
YTo6Zm9udFBsYXRmb3JtRGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vc3BpL2NvY29hL0NvcmVU
ZXh0U1BJLmg6CisKKzIwMTctMDYtMDIgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFw
cGxlLmNvbT4KKwogICAgICAgICBSRUdSRVNTSU9OKHIyMTM0NjQpOiBbaU9TXSBGb250cyBnZXQg
dG9vIGJvbGQgd2hlbiB0aGUgIkJvbGQgVGV4dCIgYWNjZXNzaWJpbGl0eSBzZXR0aW5nIGlzIGVu
YWJsZWQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
MjczNwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
Q2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCmlu
ZGV4IGRiMTZhNjUwMzE3ZjdjZGE4M2RjODgxNTg3MTljOGQ1YTdjYmMxMGIuLjdiMmYxODY0NTU3
MTJkMGY0M2M2MWYyMzA3MDczOGJjNjA1NTdiMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCkBAIC0yODEsNyArMjgxLDcgQEAgc3RydWN0IFN5bnRo
ZXNpc1BhaXIgewogICAgIGJvb2wgbmVlZHNTeW50aGV0aWNPYmxpcXVlOwogfTsKIAotUmV0YWlu
UHRyPENURm9udFJlZj4gcHJlcGFyZVBsYXRmb3JtRm9udChDVEZvbnRSZWYsIFRleHRSZW5kZXJp
bmdNb2RlLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVzLCBjb25z
dCBGb250VmFyaWFudFNldHRpbmdzKiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgRm9udFNlbGVj
dGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcywgY29uc3QgRm9u
dEZlYXR1cmVTZXR0aW5ncyYgZmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmLCBG
b250U2VsZWN0aW9uUmVxdWVzdCwgY29uc3QgRm9udFZhcmlhdGlvblNldHRpbmdzJiwgRm9udE9w
dGljYWxTaXppbmcsIGZsb2F0IHNpemUsIEZvbnRTdHlsZUF4aXMpOworUmV0YWluUHRyPENURm9u
dFJlZj4gcHJlcGFyZVBsYXRmb3JtRm9udChDVEZvbnRSZWYsIGNvbnN0IEZvbnREZXNjcmlwdGlv
biYsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZv
bnRWYXJpYW50U2V0dGluZ3MqIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9u
U3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBmbG9hdCBzaXplKTsK
IFN5bnRoZXNpc1BhaXIgY29tcHV0ZU5lY2Vzc2FyeVN5bnRoZXNpcyhDVEZvbnRSZWYsIGNvbnN0
IEZvbnREZXNjcmlwdGlvbiYsIGJvb2wgaXNQbGF0Zm9ybUZvbnQgPSBmYWxzZSk7CiBSZXRhaW5Q
dHI8Q1RGb250UmVmPiBwbGF0Zm9ybUZvbnRXaXRoRmFtaWx5U3BlY2lhbENhc2UoY29uc3QgQXRv
bWljU3RyaW5nJiBmYW1pbHksIEZvbnRTZWxlY3Rpb25SZXF1ZXN0LCBmbG9hdCBzaXplKTsKIFJl
dGFpblB0cjxDVEZvbnRSZWY+IHBsYXRmb3JtRm9udFdpdGhGYW1pbHkoY29uc3QgQXRvbWljU3Ry
aW5nJiBmYW1pbHksIEZvbnRTZWxlY3Rpb25SZXF1ZXN0LCBUZXh0UmVuZGVyaW5nTW9kZSwgZmxv
YXQgc2l6ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKaW5kZXggMTgxYzAzMzhhNmZiZjQzNGIw
ZDhmOWIxMDAzOGE3YmRlYjZjZTlkNi4uNDgyZDhlZGRlNTFiMWI0MTYwYTY0NDNjYzY3MzRhMDhh
ZDdkYjM0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvRm9udENhY2hlQ29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcApAQCAtNDk3LDcgKzQ5Nyw3IEBAIHN0
YXRpYyBpbmxpbmUgZmxvYXQgbm9ybWFsaXplV2lkdGgoZmxvYXQgdmFsdWUpCiB9CiAjZW5kaWYK
IAotUmV0YWluUHRyPENURm9udFJlZj4gcHJlcGFyZVBsYXRmb3JtRm9udChDVEZvbnRSZWYgb3Jp
Z2luYWxGb250LCBUZXh0UmVuZGVyaW5nTW9kZSB0ZXh0UmVuZGVyaW5nTW9kZSwgY29uc3QgRm9u
dEZlYXR1cmVTZXR0aW5ncyogZm9udEZhY2VGZWF0dXJlcywgY29uc3QgRm9udFZhcmlhbnRTZXR0
aW5ncyogZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBh
YmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3Mm
IGZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzJiB2YXJpYW50U2V0dGluZ3MsIEZv
bnRTZWxlY3Rpb25SZXF1ZXN0IGZvbnRTZWxlY3Rpb25SZXF1ZXN0LCBjb25zdCBGb250VmFyaWF0
aW9uU2V0dGluZ3MmIHZhcmlhdGlvbnMsIEZvbnRPcHRpY2FsU2l6aW5nIGZvbnRPcHRpY2FsU2l6
aW5nLCBmbG9hdCBzaXplLCBGb250U3R5bGVBeGlzIGF4aXMpCitSZXRhaW5QdHI8Q1RGb250UmVm
PiBwcmVwYXJlUGxhdGZvcm1Gb250KENURm9udFJlZiBvcmlnaW5hbEZvbnQsIGNvbnN0IEZvbnRE
ZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBm
b250RmFjZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzKiBmb250RmFjZVZhcmlh
bnRTZXR0aW5ncywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNh
cGFiaWxpdGllcywgZmxvYXQgc2l6ZSkKIHsKICAgICBib29sIGFsd2F5c0FkZFZhcmlhdGlvbnMg
PSBmYWxzZTsKIApAQCAtNTEzLDYgKzUxMywxNCBAQCBSZXRhaW5QdHI8Q1RGb250UmVmPiBwcmVw
YXJlUGxhdGZvcm1Gb250KENURm9udFJlZiBvcmlnaW5hbEZvbnQsIFRleHRSZW5kZXJpbmdNbwog
ICAgIFVOVVNFRF9QQVJBTShheGlzKTsKICNlbmRpZgogCisgICAgY29uc3QgYXV0byYgZmVhdHVy
ZXMgPSBmb250RGVzY3JpcHRpb24uZmVhdHVyZVNldHRpbmdzKCk7CisgICAgY29uc3QgYXV0byYg
dmFyaWFudFNldHRpbmdzID0gZm9udERlc2NyaXB0aW9uLnZhcmlhbnRTZXR0aW5ncygpOworICAg
IGNvbnN0IGF1dG8mIHZhcmlhdGlvbnMgPSBmb250RGVzY3JpcHRpb24udmFyaWF0aW9uU2V0dGlu
Z3MoKTsKKyAgICBhdXRvIHRleHRSZW5kZXJpbmdNb2RlID0gZm9udERlc2NyaXB0aW9uLnRleHRS
ZW5kZXJpbmdNb2RlKCk7CisgICAgYXV0byBmb250U2VsZWN0aW9uUmVxdWVzdCA9IGZvbnREZXNj
cmlwdGlvbi5mb250U2VsZWN0aW9uUmVxdWVzdCgpOworICAgIGF1dG8gZm9udFN0eWxlQXhpcyA9
IGZvbnREZXNjcmlwdGlvbi5mb250U3R5bGVBeGlzKCk7CisgICAgYXV0byBmb250T3B0aWNhbFNp
emluZyA9IGZvbnREZXNjcmlwdGlvbi5vcHRpY2FsU2l6aW5nKCk7CisKICAgICBpZiAoIW9yaWdp
bmFsRm9udCB8fCAoIWZlYXR1cmVzLnNpemUoKSAmJiAoIWFsd2F5c0FkZFZhcmlhdGlvbnMgJiYg
dmFyaWF0aW9ucy5pc0VtcHR5KCkpICYmICh0ZXh0UmVuZGVyaW5nTW9kZSA9PSBBdXRvVGV4dFJl
bmRlcmluZykgJiYgdmFyaWFudFNldHRpbmdzLmlzQWxsTm9ybWFsKCkKICAgICAgICAgJiYgKCFm
b250RmFjZUZlYXR1cmVzIHx8ICFmb250RmFjZUZlYXR1cmVzLT5zaXplKCkpICYmICghZm9udEZh
Y2VWYXJpYW50U2V0dGluZ3MgfHwgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MtPmlzQWxsTm9ybWFs
KCkpKSkKICAgICAgICAgcmV0dXJuIG9yaWdpbmFsRm9udDsKQEAgLTU5Myw3ICs2MDEsNyBAQCBS
ZXRhaW5QdHI8Q1RGb250UmVmPiBwcmVwYXJlUGxhdGZvcm1Gb250KENURm9udFJlZiBvcmlnaW5h
bEZvbnQsIFRleHRSZW5kZXJpbmdNbwogICAgICAgICB9CiAgICAgICAgIGFwcGx5VmFyaWF0aW9u
KHt7J3cnLCAnZycsICdoJywgJ3QnfX0sIHdlaWdodCk7CiAgICAgICAgIGFwcGx5VmFyaWF0aW9u
KHt7J3cnLCAnZCcsICd0JywgJ2gnfX0sIHdpZHRoKTsKLSAgICAgICAgaWYgKGF4aXMgPT0gRm9u
dFN0eWxlQXhpczo6aXRhbCkKKyAgICAgICAgaWYgKGZvbnRTdHlsZUF4aXMgPT0gRm9udFN0eWxl
QXhpczo6aXRhbCkKICAgICAgICAgICAgIGFwcGx5VmFyaWF0aW9uKHt7J2knLCAndCcsICdhJywg
J2wnfX0sIDEpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBhcHBseVZhcmlhdGlvbih7eydz
JywgJ2wnLCAnbicsICd0J319LCBzbG9wZSk7CkBAIC0xMTY2LDE1ICsxMTc0LDE2IEBAIHN0YXRp
YyB2b2lkIGludmFsaWRhdGVGb250Q2FjaGUoKQogICAgIEZvbnRDYWNoZTo6c2luZ2xldG9uKCku
aW52YWxpZGF0ZSgpOwogfQogCi1zdGF0aWMgUmV0YWluUHRyPENURm9udFJlZj4gZm9udFdpdGhG
YW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIEZvbnRTZWxlY3Rpb25SZXF1ZXN0IHJl
cXVlc3QsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmIGZlYXR1cmVTZXR0aW5ncywgY29uc3Qg
Rm9udFZhcmlhbnRTZXR0aW5ncyYgdmFyaWFudFNldHRpbmdzLCBjb25zdCBGb250VmFyaWF0aW9u
U2V0dGluZ3MmIHZhcmlhdGlvblNldHRpbmdzLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBm
b250RmFjZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzKiBmb250RmFjZVZhcmlh
bnRTZXR0aW5ncywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNh
cGFiaWxpdGllcywgY29uc3QgVGV4dFJlbmRlcmluZ01vZGUmIHRleHRSZW5kZXJpbmdNb2RlLCBG
b250U2VsZWN0aW9uUmVxdWVzdCBmb250U2VsZWN0aW9uUmVxdWVzdCwgRm9udE9wdGljYWxTaXpp
bmcgZm9udE9wdGljYWxTaXppbmcsIGZsb2F0IHNpemUsIEZvbnRTdHlsZUF4aXMgYXhpcykKK3N0
YXRpYyBSZXRhaW5QdHI8Q1RGb250UmVmPiBmb250V2l0aEZhbWlseShjb25zdCBBdG9taWNTdHJp
bmcmIGZhbWlseSwgY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0
IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50
U2V0dGluZ3MqIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVk
Q2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBmbG9hdCBzaXplKQogewogICAgIGlm
IChmYW1pbHkuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAorICAgIGNvbnN0
IGF1dG8mIHJlcXVlc3QgPSBmb250RGVzY3JpcHRpb24uZm9udFNlbGVjdGlvblJlcXVlc3QoKTsK
ICAgICBhdXRvIGZvdW5kRm9udCA9IHBsYXRmb3JtRm9udFdpdGhGYW1pbHlTcGVjaWFsQ2FzZShm
YW1pbHksIHJlcXVlc3QsIHNpemUpOwogICAgIGlmICghZm91bmRGb250KQogICAgICAgICBmb3Vu
ZEZvbnQgPSBwbGF0Zm9ybUZvbnRMb29rdXBXaXRoRmFtaWx5KGZhbWlseSwgcmVxdWVzdCwgc2l6
ZSk7Ci0gICAgcmV0dXJuIHByZXBhcmVQbGF0Zm9ybUZvbnQoZm91bmRGb250LmdldCgpLCB0ZXh0
UmVuZGVyaW5nTW9kZSwgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3Ms
IGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBmZWF0dXJlU2V0dGluZ3MsIHZhcmlhbnRTZXR0aW5ncywg
Zm9udFNlbGVjdGlvblJlcXVlc3QsIHZhcmlhdGlvblNldHRpbmdzLCBmb250T3B0aWNhbFNpemlu
Zywgc2l6ZSwgYXhpcyk7CisgICAgcmV0dXJuIHByZXBhcmVQbGF0Zm9ybUZvbnQoZm91bmRGb250
LmdldCgpLCBmb250RGVzY3JpcHRpb24sIGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlVmFyaWFu
dFNldHRpbmdzLCBmb250RmFjZUNhcGFiaWxpdGllcywgc2l6ZSk7CiB9CiAKICNpZiBQTEFURk9S
TShNQUMpCkBAIC0xMjEzLDcgKzEyMjIsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8Rm9udFBsYXRmb3Jt
RGF0YT4gRm9udENhY2hlOjpjcmVhdGVGb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZQogewog
ICAgIGZsb2F0IHNpemUgPSBmb250RGVzY3JpcHRpb24uY29tcHV0ZWRQaXhlbFNpemUoKTsKIAot
ICAgIGF1dG8gZm9udCA9IGZvbnRXaXRoRmFtaWx5KGZhbWlseSwgZm9udERlc2NyaXB0aW9uLmZv
bnRTZWxlY3Rpb25SZXF1ZXN0KCksIGZvbnREZXNjcmlwdGlvbi5mZWF0dXJlU2V0dGluZ3MoKSwg
Zm9udERlc2NyaXB0aW9uLnZhcmlhbnRTZXR0aW5ncygpLCBmb250RGVzY3JpcHRpb24udmFyaWF0
aW9uU2V0dGluZ3MoKSwgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3Ms
IGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBmb250RGVzY3JpcHRpb24udGV4dFJlbmRlcmluZ01vZGUo
KSwgZm9udERlc2NyaXB0aW9uLmZvbnRTZWxlY3Rpb25SZXF1ZXN0KCksIGZvbnREZXNjcmlwdGlv
bi5vcHRpY2FsU2l6aW5nKCksIHNpemUsIGZvbnREZXNjcmlwdGlvbi5mb250U3R5bGVBeGlzKCkp
OworICAgIGF1dG8gZm9udCA9IGZvbnRXaXRoRmFtaWx5KGZhbWlseSwgZm9udERlc2NyaXB0aW9u
LCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBh
YmlsaXRpZXMsIHNpemUpOwogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIGlmICghZm9udCkgewpA
QCAtMTIyNCw3ICsxMjMzLDcgQEAgc3RkOjp1bmlxdWVfcHRyPEZvbnRQbGF0Zm9ybURhdGE+IEZv
bnRDYWNoZTo6Y3JlYXRlRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGUKICAgICAgICAgLy8g
SWdub3JlIHRoZSByZXN1bHQgYmVjYXVzZSB3ZSB3YW50IHRvIHVzZSBvdXIgb3duIGFsZ29yaXRo
bSB0byBhY3R1YWxseSBmaW5kIHRoZSBmb250LgogICAgICAgICBhdXRvQWN0aXZhdGVGb250KGZh
bWlseS5zdHJpbmcoKSwgc2l6ZSk7CiAKLSAgICAgICAgZm9udCA9IGZvbnRXaXRoRmFtaWx5KGZh
bWlseSwgZm9udERlc2NyaXB0aW9uLmZvbnRTZWxlY3Rpb25SZXF1ZXN0KCksIGZvbnREZXNjcmlw
dGlvbi5mZWF0dXJlU2V0dGluZ3MoKSwgZm9udERlc2NyaXB0aW9uLnZhcmlhbnRTZXR0aW5ncygp
LCBmb250RGVzY3JpcHRpb24udmFyaWF0aW9uU2V0dGluZ3MoKSwgZm9udEZhY2VGZWF0dXJlcywg
Zm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBmb250RGVzY3Jp
cHRpb24udGV4dFJlbmRlcmluZ01vZGUoKSwgZm9udERlc2NyaXB0aW9uLmZvbnRTZWxlY3Rpb25S
ZXF1ZXN0KCksIGZvbnREZXNjcmlwdGlvbi5vcHRpY2FsU2l6aW5nKCksIHNpemUsIGZvbnREZXNj
cmlwdGlvbi5mb250U3R5bGVBeGlzKCkpOworICAgICAgICBmb250ID0gZm9udFdpdGhGYW1pbHko
ZmFtaWx5LCBmb250RGVzY3JpcHRpb24sIGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlVmFyaWFu
dFNldHRpbmdzLCBmb250RmFjZUNhcGFiaWxpdGllcywgc2l6ZSk7CiAgICAgfQogI2VuZGlmCiAK
QEAgLTEzMTIsNyArMTMyMSw3IEBAIFJlZlB0cjxGb250PiBGb250Q2FjaGU6OnN5c3RlbUZhbGxi
YWNrRm9yQ2hhcmFjdGVycyhjb25zdCBGb250RGVzY3JpcHRpb24mIGRlc2NyCiAKICAgICBjb25z
dCBGb250UGxhdGZvcm1EYXRhJiBwbGF0Zm9ybURhdGEgPSBvcmlnaW5hbEZvbnREYXRhLT5wbGF0
Zm9ybURhdGEoKTsKICAgICBhdXRvIHJlc3VsdCA9IGxvb2t1cEZhbGxiYWNrRm9udChwbGF0Zm9y
bURhdGEuZm9udCgpLCBkZXNjcmlwdGlvbi53ZWlnaHQoKSwgZGVzY3JpcHRpb24ubG9jYWxlKCks
IGNoYXJhY3RlcnMsIGxlbmd0aCk7Ci0gICAgcmVzdWx0ID0gcHJlcGFyZVBsYXRmb3JtRm9udChy
ZXN1bHQuZ2V0KCksIGRlc2NyaXB0aW9uLnRleHRSZW5kZXJpbmdNb2RlKCksIG51bGxwdHIsIG51
bGxwdHIsIHsgfSwgZGVzY3JpcHRpb24uZmVhdHVyZVNldHRpbmdzKCksIGRlc2NyaXB0aW9uLnZh
cmlhbnRTZXR0aW5ncygpLCBkZXNjcmlwdGlvbi5mb250U2VsZWN0aW9uUmVxdWVzdCgpLCBkZXNj
cmlwdGlvbi52YXJpYXRpb25TZXR0aW5ncygpLCBkZXNjcmlwdGlvbi5vcHRpY2FsU2l6aW5nKCks
IGRlc2NyaXB0aW9uLmNvbXB1dGVkU2l6ZSgpLCBkZXNjcmlwdGlvbi5mb250U3R5bGVBeGlzKCkp
OworICAgIHJlc3VsdCA9IHByZXBhcmVQbGF0Zm9ybUZvbnQocmVzdWx0LmdldCgpLCBkZXNjcmlw
dGlvbiwgbnVsbHB0ciwgbnVsbHB0ciwgeyB9LCBkZXNjcmlwdGlvbi5jb21wdXRlZFNpemUoKSk7
CiAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgIHJldHVybiBsYXN0UmVzb3J0RmFsbGJhY2tGb250
KGRlc2NyaXB0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuY3BwCmluZGV4IGJlMWY2
MGVhMjI2MzAxNjRhZmMwNmM3YTFlMGVlNTEwZmZlYzM0ZjAuLmZhZTFjMTMwOGFhZGM0MDU5ZTU1
MzZlZjAwODgyOWExOTk5ZThkOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5jcHAKQEAg
LTQwLDcgKzQwLDcgQEAgRm9udFBsYXRmb3JtRGF0YSBGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjpm
b250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYKICAgICBGb250T3JpZW50YXRp
b24gb3JpZW50YXRpb24gPSBmb250RGVzY3JpcHRpb24ub3JpZW50YXRpb24oKTsKICAgICBGb250
V2lkdGhWYXJpYW50IHdpZHRoVmFyaWFudCA9IGZvbnREZXNjcmlwdGlvbi53aWR0aFZhcmlhbnQo
KTsKICAgICBSZXRhaW5QdHI8Q1RGb250UmVmPiBmb250ID0gYWRvcHRDRihDVEZvbnRDcmVhdGVX
aXRoRm9udERlc2NyaXB0b3IobV9mb250RGVzY3JpcHRvci5nZXQoKSwgc2l6ZSwgbnVsbHB0cikp
OwotICAgIGZvbnQgPSBwcmVwYXJlUGxhdGZvcm1Gb250KGZvbnQuZ2V0KCksIGZvbnREZXNjcmlw
dGlvbi50ZXh0UmVuZGVyaW5nTW9kZSgpLCAmZm9udEZhY2VGZWF0dXJlcywgJmZvbnRGYWNlVmFy
aWFudFNldHRpbmdzLCBmb250RmFjZUNhcGFiaWxpdGllcywgZm9udERlc2NyaXB0aW9uLmZlYXR1
cmVTZXR0aW5ncygpLCBmb250RGVzY3JpcHRpb24udmFyaWFudFNldHRpbmdzKCksIGZvbnREZXNj
cmlwdGlvbi5mb250U2VsZWN0aW9uUmVxdWVzdCgpLCBmb250RGVzY3JpcHRpb24udmFyaWF0aW9u
U2V0dGluZ3MoKSwgZm9udERlc2NyaXB0aW9uLm9wdGljYWxTaXppbmcoKSwgZm9udERlc2NyaXB0
aW9uLmNvbXB1dGVkU2l6ZSgpLCBmb250RGVzY3JpcHRpb24uZm9udFN0eWxlQXhpcygpKTsKKyAg
ICBmb250ID0gcHJlcGFyZVBsYXRmb3JtRm9udChmb250LmdldCgpLCBmb250RGVzY3JpcHRpb24s
ICZmb250RmFjZUZlYXR1cmVzLCAmZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2Fw
YWJpbGl0aWVzLCBmb250RGVzY3JpcHRpb24uY29tcHV0ZWRTaXplKCkpOwogICAgIEFTU0VSVChm
b250KTsKICAgICByZXR1cm4gRm9udFBsYXRmb3JtRGF0YShmb250LmdldCgpLCBzaXplLCBib2xk
LCBpdGFsaWMsIG9yaWVudGF0aW9uLCB3aWR0aFZhcmlhbnQsIGZvbnREZXNjcmlwdGlvbi50ZXh0
UmVuZGVyaW5nTW9kZSgpKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>311906</attachid>
            <date>2017-06-02 22:38:49 -0700</date>
            <delta_ts>2017-06-03 11:07:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172886-20170602223849.patch</filename>
            <type>text/plain</type>
            <size>11023</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3NzUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGRhNzQxYjIwYzQ4Nzcz
Mzg5YWI3NTAzNzhiYjMxNTJhYjg5MGRhYS4uMTRiMGU1NTM1YjMyNTM1ZmQyOGIxMGY5NWQ4ZjM4
NDM5ODJhYTFkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE3LTA2LTAyICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYW51cCBh
cmd1bWVudHMgdG8gcHJlcGFyZVBsYXRmb3JtRm9udCgpIGFuZCBmb250V2l0aEZhbWlseSgpIGlu
IEZvbnRDYWNoZUNvcmVUZXh0LmNwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTcyODg2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhlIG51bWJlciBvZiBhcmd1bWVudHMgaXMgZ2V0dGluZyBvdXQgb2Yg
Y29udHJvbC4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSB0aGVyZSBpcyBubyBiZWhh
dmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpwcmVwYXJlUGxhdGZvcm1Gb250KToKKyAgICAgICAgKFdlYkNv
cmU6OmZvbnRXaXRoRmFtaWx5KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYWNoZTo6Y3JlYXRl
Rm9udFBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FjaGU6OnN5c3RlbUZh
bGxiYWNrRm9yQ2hhcmFjdGVycyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0Zv
bnRDYWNoZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OnBsYXRmb3JtRm9udFdpdGhGYW1pbHlT
cGVjaWFsQ2FzZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udEN1c3RvbVBsYXRmb3JtRGF0
YTo6Zm9udFBsYXRmb3JtRGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vc3BpL2NvY29hL0NvcmVU
ZXh0U1BJLmg6CisKIDIwMTctMDYtMDIgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4K
IAogICAgICAgICBDbGVhbnVwIEZyYW1lVmlldzo6YXV0b1NpemVJZkVuYWJsZWQuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCmluZGV4IGRiMTZhNjUwMzE3
ZjdjZGE4M2RjODgxNTg3MTljOGQ1YTdjYmMxMGIuLjdiMmYxODY0NTU3MTJkMGY0M2M2MWYyMzA3
MDczOGJjNjA1NTdiMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRDYWNoZS5oCkBAIC0yODEsNyArMjgxLDcgQEAgc3RydWN0IFN5bnRoZXNpc1BhaXIgewogICAg
IGJvb2wgbmVlZHNTeW50aGV0aWNPYmxpcXVlOwogfTsKIAotUmV0YWluUHRyPENURm9udFJlZj4g
cHJlcGFyZVBsYXRmb3JtRm9udChDVEZvbnRSZWYsIFRleHRSZW5kZXJpbmdNb2RlLCBjb25zdCBG
b250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNl
dHRpbmdzKiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgRm9udFNlbGVjdGlvblNwZWNpZmllZENh
cGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5n
cyYgZmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmLCBGb250U2VsZWN0aW9uUmVx
dWVzdCwgY29uc3QgRm9udFZhcmlhdGlvblNldHRpbmdzJiwgRm9udE9wdGljYWxTaXppbmcsIGZs
b2F0IHNpemUsIEZvbnRTdHlsZUF4aXMpOworUmV0YWluUHRyPENURm9udFJlZj4gcHJlcGFyZVBs
YXRmb3JtRm9udChDVEZvbnRSZWYsIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEZvbnRG
ZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGlu
Z3MqIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJp
bGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBmbG9hdCBzaXplKTsKIFN5bnRoZXNpc1BhaXIg
Y29tcHV0ZU5lY2Vzc2FyeVN5bnRoZXNpcyhDVEZvbnRSZWYsIGNvbnN0IEZvbnREZXNjcmlwdGlv
biYsIGJvb2wgaXNQbGF0Zm9ybUZvbnQgPSBmYWxzZSk7CiBSZXRhaW5QdHI8Q1RGb250UmVmPiBw
bGF0Zm9ybUZvbnRXaXRoRmFtaWx5U3BlY2lhbENhc2UoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1p
bHksIEZvbnRTZWxlY3Rpb25SZXF1ZXN0LCBmbG9hdCBzaXplKTsKIFJldGFpblB0cjxDVEZvbnRS
ZWY+IHBsYXRmb3JtRm9udFdpdGhGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIEZv
bnRTZWxlY3Rpb25SZXF1ZXN0LCBUZXh0UmVuZGVyaW5nTW9kZSwgZmxvYXQgc2l6ZSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVD
b3JlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250
Q2FjaGVDb3JlVGV4dC5jcHAKaW5kZXggMTgxYzAzMzhhNmZiZjQzNGIwZDhmOWIxMDAzOGE3YmRl
YjZjZTlkNi4uMTNlMTJlOTJlNjYzOGEyNjAwNjFmNmMxYzI5MjA2Yzc5OTNkNzZhNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29y
ZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0Zv
bnRDYWNoZUNvcmVUZXh0LmNwcApAQCAtNDk3LDcgKzQ5Nyw3IEBAIHN0YXRpYyBpbmxpbmUgZmxv
YXQgbm9ybWFsaXplV2lkdGgoZmxvYXQgdmFsdWUpCiB9CiAjZW5kaWYKIAotUmV0YWluUHRyPENU
Rm9udFJlZj4gcHJlcGFyZVBsYXRmb3JtRm9udChDVEZvbnRSZWYgb3JpZ2luYWxGb250LCBUZXh0
UmVuZGVyaW5nTW9kZSB0ZXh0UmVuZGVyaW5nTW9kZSwgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5n
cyogZm9udEZhY2VGZWF0dXJlcywgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyogZm9udEZhY2VW
YXJpYW50U2V0dGluZ3MsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZh
Y2VDYXBhYmlsaXRpZXMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmIGZlYXR1cmVzLCBjb25z
dCBGb250VmFyaWFudFNldHRpbmdzJiB2YXJpYW50U2V0dGluZ3MsIEZvbnRTZWxlY3Rpb25SZXF1
ZXN0IGZvbnRTZWxlY3Rpb25SZXF1ZXN0LCBjb25zdCBGb250VmFyaWF0aW9uU2V0dGluZ3MmIHZh
cmlhdGlvbnMsIEZvbnRPcHRpY2FsU2l6aW5nIGZvbnRPcHRpY2FsU2l6aW5nLCBmbG9hdCBzaXpl
LCBGb250U3R5bGVBeGlzIGF4aXMpCitSZXRhaW5QdHI8Q1RGb250UmVmPiBwcmVwYXJlUGxhdGZv
cm1Gb250KENURm9udFJlZiBvcmlnaW5hbEZvbnQsIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9u
dERlc2NyaXB0aW9uLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVz
LCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzKiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgRm9u
dFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcywgZmxv
YXQgc2l6ZSkKIHsKICAgICBib29sIGFsd2F5c0FkZFZhcmlhdGlvbnMgPSBmYWxzZTsKIApAQCAt
NTA1LDE0ICs1MDUsMjAgQEAgUmV0YWluUHRyPENURm9udFJlZj4gcHJlcGFyZVBsYXRmb3JtRm9u
dChDVEZvbnRSZWYgb3JpZ2luYWxGb250LCBUZXh0UmVuZGVyaW5nTW8KICNpZiBFTkFCTEUoVkFS
SUFUSU9OX0ZPTlRTKQogICAgIGF1dG8gZGVmYXVsdFZhbHVlcyA9IGRlZmF1bHRWYXJpYXRpb25W
YWx1ZXMob3JpZ2luYWxGb250KTsKICAgICBhbHdheXNBZGRWYXJpYXRpb25zID0gIWRlZmF1bHRW
YWx1ZXMuaXNFbXB0eSgpOworCisgICAgYXV0byBmb250U2VsZWN0aW9uUmVxdWVzdCA9IGZvbnRE
ZXNjcmlwdGlvbi5mb250U2VsZWN0aW9uUmVxdWVzdCgpOworICAgIGF1dG8gZm9udE9wdGljYWxT
aXppbmcgPSBmb250RGVzY3JpcHRpb24ub3B0aWNhbFNpemluZygpOworICAgIGF1dG8gZm9udFN0
eWxlQXhpcyA9IGZvbnREZXNjcmlwdGlvbi5mb250U3R5bGVBeGlzKCk7CiAjZWxzZQotICAgIFVO
VVNFRF9QQVJBTShmb250U2VsZWN0aW9uUmVxdWVzdCk7Ci0gICAgVU5VU0VEX1BBUkFNKGZvbnRP
cHRpY2FsU2l6aW5nKTsKICAgICBVTlVTRURfUEFSQU0oZm9udEZhY2VDYXBhYmlsaXRpZXMpOwog
ICAgIFVOVVNFRF9QQVJBTShzaXplKTsKLSAgICBVTlVTRURfUEFSQU0oYXhpcyk7CiAjZW5kaWYK
IAorICAgIGNvbnN0IGF1dG8mIGZlYXR1cmVzID0gZm9udERlc2NyaXB0aW9uLmZlYXR1cmVTZXR0
aW5ncygpOworICAgIGNvbnN0IGF1dG8mIHZhcmlhbnRTZXR0aW5ncyA9IGZvbnREZXNjcmlwdGlv
bi52YXJpYW50U2V0dGluZ3MoKTsKKyAgICBjb25zdCBhdXRvJiB2YXJpYXRpb25zID0gZm9udERl
c2NyaXB0aW9uLnZhcmlhdGlvblNldHRpbmdzKCk7CisgICAgYXV0byB0ZXh0UmVuZGVyaW5nTW9k
ZSA9IGZvbnREZXNjcmlwdGlvbi50ZXh0UmVuZGVyaW5nTW9kZSgpOworCiAgICAgaWYgKCFvcmln
aW5hbEZvbnQgfHwgKCFmZWF0dXJlcy5zaXplKCkgJiYgKCFhbHdheXNBZGRWYXJpYXRpb25zICYm
IHZhcmlhdGlvbnMuaXNFbXB0eSgpKSAmJiAodGV4dFJlbmRlcmluZ01vZGUgPT0gQXV0b1RleHRS
ZW5kZXJpbmcpICYmIHZhcmlhbnRTZXR0aW5ncy5pc0FsbE5vcm1hbCgpCiAgICAgICAgICYmICgh
Zm9udEZhY2VGZWF0dXJlcyB8fCAhZm9udEZhY2VGZWF0dXJlcy0+c2l6ZSgpKSAmJiAoIWZvbnRG
YWNlVmFyaWFudFNldHRpbmdzIHx8IGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLT5pc0FsbE5vcm1h
bCgpKSkpCiAgICAgICAgIHJldHVybiBvcmlnaW5hbEZvbnQ7CkBAIC01OTMsNyArNTk5LDcgQEAg
UmV0YWluUHRyPENURm9udFJlZj4gcHJlcGFyZVBsYXRmb3JtRm9udChDVEZvbnRSZWYgb3JpZ2lu
YWxGb250LCBUZXh0UmVuZGVyaW5nTW8KICAgICAgICAgfQogICAgICAgICBhcHBseVZhcmlhdGlv
bih7eyd3JywgJ2cnLCAnaCcsICd0J319LCB3ZWlnaHQpOwogICAgICAgICBhcHBseVZhcmlhdGlv
bih7eyd3JywgJ2QnLCAndCcsICdoJ319LCB3aWR0aCk7Ci0gICAgICAgIGlmIChheGlzID09IEZv
bnRTdHlsZUF4aXM6Oml0YWwpCisgICAgICAgIGlmIChmb250U3R5bGVBeGlzID09IEZvbnRTdHls
ZUF4aXM6Oml0YWwpCiAgICAgICAgICAgICBhcHBseVZhcmlhdGlvbih7eydpJywgJ3QnLCAnYScs
ICdsJ319LCAxKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgYXBwbHlWYXJpYXRpb24oe3sn
cycsICdsJywgJ24nLCAndCd9fSwgc2xvcGUpOwpAQCAtMTE2NiwxNSArMTE3MiwxNiBAQCBzdGF0
aWMgdm9pZCBpbnZhbGlkYXRlRm9udENhY2hlKCkKICAgICBGb250Q2FjaGU6OnNpbmdsZXRvbigp
LmludmFsaWRhdGUoKTsKIH0KIAotc3RhdGljIFJldGFpblB0cjxDVEZvbnRSZWY+IGZvbnRXaXRo
RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5LCBGb250U2VsZWN0aW9uUmVxdWVzdCBy
ZXF1ZXN0LCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiBmZWF0dXJlU2V0dGluZ3MsIGNvbnN0
IEZvbnRWYXJpYW50U2V0dGluZ3MmIHZhcmlhbnRTZXR0aW5ncywgY29uc3QgRm9udFZhcmlhdGlv
blNldHRpbmdzJiB2YXJpYXRpb25TZXR0aW5ncywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyog
Zm9udEZhY2VGZWF0dXJlcywgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyogZm9udEZhY2VWYXJp
YW50U2V0dGluZ3MsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VD
YXBhYmlsaXRpZXMsIGNvbnN0IFRleHRSZW5kZXJpbmdNb2RlJiB0ZXh0UmVuZGVyaW5nTW9kZSwg
Rm9udFNlbGVjdGlvblJlcXVlc3QgZm9udFNlbGVjdGlvblJlcXVlc3QsIEZvbnRPcHRpY2FsU2l6
aW5nIGZvbnRPcHRpY2FsU2l6aW5nLCBmbG9hdCBzaXplLCBGb250U3R5bGVBeGlzIGF4aXMpCitz
dGF0aWMgUmV0YWluUHRyPENURm9udFJlZj4gZm9udFdpdGhGYW1pbHkoY29uc3QgQXRvbWljU3Ry
aW5nJiBmYW1pbHksIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBjb25z
dCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFu
dFNldHRpbmdzKiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgRm9udFNlbGVjdGlvblNwZWNpZmll
ZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcywgZmxvYXQgc2l6ZSkKIHsKICAgICBp
ZiAoZmFtaWx5LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKKyAgICBjb25z
dCBhdXRvJiByZXF1ZXN0ID0gZm9udERlc2NyaXB0aW9uLmZvbnRTZWxlY3Rpb25SZXF1ZXN0KCk7
CiAgICAgYXV0byBmb3VuZEZvbnQgPSBwbGF0Zm9ybUZvbnRXaXRoRmFtaWx5U3BlY2lhbENhc2Uo
ZmFtaWx5LCByZXF1ZXN0LCBzaXplKTsKICAgICBpZiAoIWZvdW5kRm9udCkKICAgICAgICAgZm91
bmRGb250ID0gcGxhdGZvcm1Gb250TG9va3VwV2l0aEZhbWlseShmYW1pbHksIHJlcXVlc3QsIHNp
emUpOwotICAgIHJldHVybiBwcmVwYXJlUGxhdGZvcm1Gb250KGZvdW5kRm9udC5nZXQoKSwgdGV4
dFJlbmRlcmluZ01vZGUsIGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlVmFyaWFudFNldHRpbmdz
LCBmb250RmFjZUNhcGFiaWxpdGllcywgZmVhdHVyZVNldHRpbmdzLCB2YXJpYW50U2V0dGluZ3Ms
IGZvbnRTZWxlY3Rpb25SZXF1ZXN0LCB2YXJpYXRpb25TZXR0aW5ncywgZm9udE9wdGljYWxTaXpp
bmcsIHNpemUsIGF4aXMpOworICAgIHJldHVybiBwcmVwYXJlUGxhdGZvcm1Gb250KGZvdW5kRm9u
dC5nZXQoKSwgZm9udERlc2NyaXB0aW9uLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlh
bnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMsIHNpemUpOwogfQogCiAjaWYgUExBVEZP
Uk0oTUFDKQpAQCAtMTIxMyw3ICsxMjIwLDcgQEAgc3RkOjp1bmlxdWVfcHRyPEZvbnRQbGF0Zm9y
bURhdGE+IEZvbnRDYWNoZTo6Y3JlYXRlRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGUKIHsK
ICAgICBmbG9hdCBzaXplID0gZm9udERlc2NyaXB0aW9uLmNvbXB1dGVkUGl4ZWxTaXplKCk7CiAK
LSAgICBhdXRvIGZvbnQgPSBmb250V2l0aEZhbWlseShmYW1pbHksIGZvbnREZXNjcmlwdGlvbi5m
b250U2VsZWN0aW9uUmVxdWVzdCgpLCBmb250RGVzY3JpcHRpb24uZmVhdHVyZVNldHRpbmdzKCks
IGZvbnREZXNjcmlwdGlvbi52YXJpYW50U2V0dGluZ3MoKSwgZm9udERlc2NyaXB0aW9uLnZhcmlh
dGlvblNldHRpbmdzKCksIGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlVmFyaWFudFNldHRpbmdz
LCBmb250RmFjZUNhcGFiaWxpdGllcywgZm9udERlc2NyaXB0aW9uLnRleHRSZW5kZXJpbmdNb2Rl
KCksIGZvbnREZXNjcmlwdGlvbi5mb250U2VsZWN0aW9uUmVxdWVzdCgpLCBmb250RGVzY3JpcHRp
b24ub3B0aWNhbFNpemluZygpLCBzaXplLCBmb250RGVzY3JpcHRpb24uZm9udFN0eWxlQXhpcygp
KTsKKyAgICBhdXRvIGZvbnQgPSBmb250V2l0aEZhbWlseShmYW1pbHksIGZvbnREZXNjcmlwdGlv
biwgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2Fw
YWJpbGl0aWVzLCBzaXplKTsKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICBpZiAoIWZvbnQpIHsK
QEAgLTEyMjQsNyArMTIzMSw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxGb250UGxhdGZvcm1EYXRhPiBG
b250Q2FjaGU6OmNyZWF0ZUZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlCiAgICAgICAgIC8v
IElnbm9yZSB0aGUgcmVzdWx0IGJlY2F1c2Ugd2Ugd2FudCB0byB1c2Ugb3VyIG93biBhbGdvcml0
aG0gdG8gYWN0dWFsbHkgZmluZCB0aGUgZm9udC4KICAgICAgICAgYXV0b0FjdGl2YXRlRm9udChm
YW1pbHkuc3RyaW5nKCksIHNpemUpOwogCi0gICAgICAgIGZvbnQgPSBmb250V2l0aEZhbWlseShm
YW1pbHksIGZvbnREZXNjcmlwdGlvbi5mb250U2VsZWN0aW9uUmVxdWVzdCgpLCBmb250RGVzY3Jp
cHRpb24uZmVhdHVyZVNldHRpbmdzKCksIGZvbnREZXNjcmlwdGlvbi52YXJpYW50U2V0dGluZ3Mo
KSwgZm9udERlc2NyaXB0aW9uLnZhcmlhdGlvblNldHRpbmdzKCksIGZvbnRGYWNlRmVhdHVyZXMs
IGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBmb250RmFjZUNhcGFiaWxpdGllcywgZm9udERlc2Ny
aXB0aW9uLnRleHRSZW5kZXJpbmdNb2RlKCksIGZvbnREZXNjcmlwdGlvbi5mb250U2VsZWN0aW9u
UmVxdWVzdCgpLCBmb250RGVzY3JpcHRpb24ub3B0aWNhbFNpemluZygpLCBzaXplLCBmb250RGVz
Y3JpcHRpb24uZm9udFN0eWxlQXhpcygpKTsKKyAgICAgICAgZm9udCA9IGZvbnRXaXRoRmFtaWx5
KGZhbWlseSwgZm9udERlc2NyaXB0aW9uLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlh
bnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMsIHNpemUpOwogICAgIH0KICNlbmRpZgog
CkBAIC0xMzEyLDcgKzEzMTksNyBAQCBSZWZQdHI8Rm9udD4gRm9udENhY2hlOjpzeXN0ZW1GYWxs
YmFja0ZvckNoYXJhY3RlcnMoY29uc3QgRm9udERlc2NyaXB0aW9uJiBkZXNjcgogCiAgICAgY29u
c3QgRm9udFBsYXRmb3JtRGF0YSYgcGxhdGZvcm1EYXRhID0gb3JpZ2luYWxGb250RGF0YS0+cGxh
dGZvcm1EYXRhKCk7CiAgICAgYXV0byByZXN1bHQgPSBsb29rdXBGYWxsYmFja0ZvbnQocGxhdGZv
cm1EYXRhLmZvbnQoKSwgZGVzY3JpcHRpb24ud2VpZ2h0KCksIGRlc2NyaXB0aW9uLmxvY2FsZSgp
LCBjaGFyYWN0ZXJzLCBsZW5ndGgpOwotICAgIHJlc3VsdCA9IHByZXBhcmVQbGF0Zm9ybUZvbnQo
cmVzdWx0LmdldCgpLCBkZXNjcmlwdGlvbi50ZXh0UmVuZGVyaW5nTW9kZSgpLCBudWxscHRyLCBu
dWxscHRyLCB7IH0sIGRlc2NyaXB0aW9uLmZlYXR1cmVTZXR0aW5ncygpLCBkZXNjcmlwdGlvbi52
YXJpYW50U2V0dGluZ3MoKSwgZGVzY3JpcHRpb24uZm9udFNlbGVjdGlvblJlcXVlc3QoKSwgZGVz
Y3JpcHRpb24udmFyaWF0aW9uU2V0dGluZ3MoKSwgZGVzY3JpcHRpb24ub3B0aWNhbFNpemluZygp
LCBkZXNjcmlwdGlvbi5jb21wdXRlZFNpemUoKSwgZGVzY3JpcHRpb24uZm9udFN0eWxlQXhpcygp
KTsKKyAgICByZXN1bHQgPSBwcmVwYXJlUGxhdGZvcm1Gb250KHJlc3VsdC5nZXQoKSwgZGVzY3Jp
cHRpb24sIG51bGxwdHIsIG51bGxwdHIsIHsgfSwgZGVzY3JpcHRpb24uY29tcHV0ZWRTaXplKCkp
OwogICAgIGlmICghcmVzdWx0KQogICAgICAgICByZXR1cm4gbGFzdFJlc29ydEZhbGxiYWNrRm9u
dChkZXNjcmlwdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcAppbmRleCBiZTFm
NjBlYTIyNjMwMTY0YWZjMDZjN2ExZTBlZTUxMGZmZWMzNGYwLi5mYWUxYzEzMDhhYWRjNDA1OWU1
NTM2ZWYwMDg4MjlhMTk5OWU4ZDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuY3BwCkBA
IC00MCw3ICs0MCw3IEBAIEZvbnRQbGF0Zm9ybURhdGEgRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6
Zm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mCiAgICAgRm9udE9yaWVudGF0
aW9uIG9yaWVudGF0aW9uID0gZm9udERlc2NyaXB0aW9uLm9yaWVudGF0aW9uKCk7CiAgICAgRm9u
dFdpZHRoVmFyaWFudCB3aWR0aFZhcmlhbnQgPSBmb250RGVzY3JpcHRpb24ud2lkdGhWYXJpYW50
KCk7CiAgICAgUmV0YWluUHRyPENURm9udFJlZj4gZm9udCA9IGFkb3B0Q0YoQ1RGb250Q3JlYXRl
V2l0aEZvbnREZXNjcmlwdG9yKG1fZm9udERlc2NyaXB0b3IuZ2V0KCksIHNpemUsIG51bGxwdHIp
KTsKLSAgICBmb250ID0gcHJlcGFyZVBsYXRmb3JtRm9udChmb250LmdldCgpLCBmb250RGVzY3Jp
cHRpb24udGV4dFJlbmRlcmluZ01vZGUoKSwgJmZvbnRGYWNlRmVhdHVyZXMsICZmb250RmFjZVZh
cmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMsIGZvbnREZXNjcmlwdGlvbi5mZWF0
dXJlU2V0dGluZ3MoKSwgZm9udERlc2NyaXB0aW9uLnZhcmlhbnRTZXR0aW5ncygpLCBmb250RGVz
Y3JpcHRpb24uZm9udFNlbGVjdGlvblJlcXVlc3QoKSwgZm9udERlc2NyaXB0aW9uLnZhcmlhdGlv
blNldHRpbmdzKCksIGZvbnREZXNjcmlwdGlvbi5vcHRpY2FsU2l6aW5nKCksIGZvbnREZXNjcmlw
dGlvbi5jb21wdXRlZFNpemUoKSwgZm9udERlc2NyaXB0aW9uLmZvbnRTdHlsZUF4aXMoKSk7Cisg
ICAgZm9udCA9IHByZXBhcmVQbGF0Zm9ybUZvbnQoZm9udC5nZXQoKSwgZm9udERlc2NyaXB0aW9u
LCAmZm9udEZhY2VGZWF0dXJlcywgJmZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBmb250RmFjZUNh
cGFiaWxpdGllcywgZm9udERlc2NyaXB0aW9uLmNvbXB1dGVkU2l6ZSgpKTsKICAgICBBU1NFUlQo
Zm9udCk7CiAgICAgcmV0dXJuIEZvbnRQbGF0Zm9ybURhdGEoZm9udC5nZXQoKSwgc2l6ZSwgYm9s
ZCwgaXRhbGljLCBvcmllbnRhdGlvbiwgd2lkdGhWYXJpYW50LCBmb250RGVzY3JpcHRpb24udGV4
dFJlbmRlcmluZ01vZGUoKSk7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>