<?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>143905</bug_id>
          
          <creation_ts>2015-04-17 16:43:33 -0700</creation_ts>
          <short_desc>[Mac] Support -apple-system-* on OS X</short_desc>
          <delta_ts>2015-04-17 16:48:09 -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>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1086479</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-04-17 16:43:33 -0700</bug_when>
    <thetext>[Mac] Support -apple-system-* on OS X</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086481</commentid>
    <comment_count>1</comment_count>
      <attachid>251070</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-04-17 16:44:51 -0700</bug_when>
    <thetext>Created attachment 251070
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086482</commentid>
    <comment_count>2</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-04-17 16:45:55 -0700</bug_when>
    <thetext>&lt;rdar://problem/17080808&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086483</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-17 16:46:47 -0700</bug_when>
    <thetext>Attachment 251070 did not pass style-queue:


ERROR: Source/WebCore/ChangeLog:10:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086486</commentid>
    <comment_count>4</comment_count>
      <attachid>251070</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-04-17 16:48:09 -0700</bug_when>
    <thetext>Comment on attachment 251070
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        No new tests (OOPS!).

Need to port over iOS&apos;s tests.

&gt; Source/WebCore/platform/graphics/mac/FontCacheMac.mm:41
&gt; +#import &quot;RenderThemeMac.h&quot;

Layering violation!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251070</attachid>
            <date>2015-04-17 16:44:51 -0700</date>
            <delta_ts>2015-04-17 16:48:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143905-20150417164352.patch</filename>
            <type>text/plain</type>
            <size>17674</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyOTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzlkZWY4MGQwNzRhNDlh
ODY0ZTZiZjVlNDZkZWM5ODc5YTUyMTZmNC4uMDhkOTM0ZDdhMmMxOGE3OWIzZjRhZGI1MTU3ZjE3
YjAxNzM5ODYzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE1LTA0LTE3ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW01hY10gU3Vw
cG9ydCAtYXBwbGUtc3lzdGVtLSogb24gT1MgWAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQzOTA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUG9ydCBvdmVyIHRoZSBpT1MgYmVoYXZpb3IgdG8gT1MgWC4K
KworICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIGNzcy9DU1NWYWx1
ZUtleXdvcmRzLmluOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q2FjaGVNYWMubW06CisgICAgICAg
IChXZWJDb3JlOjpGb250Q2FjaGU6OndlaWdodE9mQ1RGb250KToKKyAgICAgICAgKFdlYkNvcmU6
OmNyZWF0ZUNURm9udFdpdGhUZXh0U3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhY2hl
OjpjcmVhdGVGb250UGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhl
bWVNYWMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW06CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6Y29udGVudFNpemVDYXRlZ29yeSk6CisgICAgICAg
IChXZWJDb3JlOjpmcm9tQ1RGb250V2VpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRo
ZW1lTWFjOjpjYWNoZWRTeXN0ZW1Gb250RGVzY3JpcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVGhlbWVNYWM6OnVwZGF0ZUNhY2hlZFN5c3RlbUZvbnREZXNjcmlwdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjp0b0ZvbnRXZWlnaHQpOiBEZWxldGVkLgorCiAyMDE1LTA0LTE3ICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMTgyOTEyIGFuZCByMTgyOTIwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWVLZXl3b3Jkcy5pbgppbmRleCA1MzJlNTFlYzM2Yzk4NDAwNmY4ZmFjOTIxZTAyZTQ4Yzc3OTkz
ZDA2Li4wZTg5YjVkMDAxN2MwNWE0MTZjMzZjZjBkYTE5OWM4OWRmYWE3ZWFlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgpAQCAtMzIsNyArMzIsNyBAQCBzbWFsbC1jYXB0
aW9uCiAtd2Via2l0LXNtYWxsLWNvbnRyb2wKIC13ZWJraXQtY29udHJvbAogCi0jaWYgZGVmaW5l
ZChXVEZfUExBVEZPUk1fSU9TKSAmJiBXVEZfUExBVEZPUk1fSU9TCisjaWYgZGVmaW5lZChXVEZf
UExBVEZPUk1fQ09DT0EpICYmIFdURl9QTEFURk9STV9DT0NPQQogLWFwcGxlLXN5c3RlbS1oZWFk
bGluZQogLWFwcGxlLXN5c3RlbS1ib2R5CiAtYXBwbGUtc3lzdGVtLXN1YmhlYWRsaW5lCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCmluZGV4IGM0ZWRlZDJi
ODljNTJhNmVjZWRhNzYyMWQ1NWIxMTlkMGIxZmM5ODkuLjlmODMxOTU1N2UzZjgzZDU1YzVmYjE2
NDgzYmFiZTk4NzdiODYzZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRDYWNoZS5oCkBAIC0zOSw3ICszOSw3IEBACiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCi0jaWYgUExBVEZPUk0oSU9TKQorI2lm
IFBMQVRGT1JNKENPQ09BKQogI2luY2x1ZGUgPENvcmVUZXh0L0NURm9udC5oPgogI2VuZGlmCiAK
QEAgLTExNSw3ICsxMTUsNyBAQCBwdWJsaWM6CiAgICAgLy8gQWxzbyBpbXBsZW1lbnRlZCBieSB0
aGUgcGxhdGZvcm0uCiAgICAgdm9pZCBwbGF0Zm9ybUluaXQoKTsKIAotI2lmIFBMQVRGT1JNKElP
UykKKyNpZiBQTEFURk9STShDT0NPQSkKICAgICBzdGF0aWMgZmxvYXQgd2VpZ2h0T2ZDVEZvbnQo
Q1RGb250UmVmKTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKFdJTikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q2FjaGVNYWMubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udENhY2hlTWFjLm1tCmluZGV4IGMxZTc4
NjRmZDJjYzNhYmIxYWU1NmIwNGJhMGY4NTgwYjcxMTFiOWQuLjBiNzk3MWRlZGI0OGFlMDNjZmQw
NDQ3N2RlYmYxNGM1NTZlYTQ5M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9Gb250Q2FjaGVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL0ZvbnRDYWNoZU1hYy5tbQpAQCAtMzMsMTAgKzMzLDEyIEBACiAjaWYg
IVBMQVRGT1JNKElPUykKIAogI2ltcG9ydCAiQ29yZUdyYXBoaWNzU1BJLmgiCisjaW1wb3J0ICJD
b3JlVGV4dFNQSS5oIgogI2ltcG9ydCAiRm9udC5oIgogI2ltcG9ydCAiRm9udENhc2NhZGUuaCIK
ICNpbXBvcnQgIkZvbnRQbGF0Zm9ybURhdGEuaCIKICNpbXBvcnQgIk5TRm9udFNQSS5oIgorI2lt
cG9ydCAiUmVuZGVyVGhlbWVNYWMuaCIKICNpbXBvcnQgIldlYkNvcmVOU1N0cmluZ0V4dHJhcy5o
IgogI2ltcG9ydCAiV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oIgogI2ltcG9ydCA8QXBwS2l0L0Fw
cEtpdC5oPgpAQCAtNDgyLDEzICs0ODQsNTIgQEAgdm9pZCBGb250Q2FjaGU6OmdldFRyYWl0c0lu
RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5TmFtZSwgVmVjdG9yPHVuc2lnbmUKICAg
ICB9CiB9CiAKK2Zsb2F0IEZvbnRDYWNoZTo6d2VpZ2h0T2ZDVEZvbnQoQ1RGb250UmVmIGZvbnQp
Cit7CisgICAgZmxvYXQgcmVzdWx0ID0gMDsKKyAgICBSZXRhaW5QdHI8Q0ZEaWN0aW9uYXJ5UmVm
PiB0cmFpdHMgPSBhZG9wdENGKENURm9udENvcHlUcmFpdHMoZm9udCkpOworICAgIGlmICghdHJh
aXRzKQorICAgICAgICByZXR1cm4gcmVzdWx0OworCisgICAgQ0ZOdW1iZXJSZWYgcmVzdWx0UmVm
ID0gKENGTnVtYmVyUmVmKUNGRGljdGlvbmFyeUdldFZhbHVlKHRyYWl0cy5nZXQoKSwga0NURm9u
dFdlaWdodFRyYWl0KTsKKyAgICBpZiAocmVzdWx0UmVmKQorICAgICAgICBDRk51bWJlckdldFZh
bHVlKHJlc3VsdFJlZiwga0NGTnVtYmVyRmxvYXRUeXBlLCAmcmVzdWx0KTsKKworICAgIHJldHVy
biByZXN1bHQ7Cit9CisKK3N0YXRpYyBSZXRhaW5QdHI8Q1RGb250UmVmPiBjcmVhdGVDVEZvbnRX
aXRoVGV4dFN0eWxlKGNvbnN0IFN0cmluZyYgZmFtaWx5TmFtZSwgQ1RGb250U3ltYm9saWNUcmFp
dHMgdHJhaXRzLCBDR0Zsb2F0IHNpemUpCit7CisgICAgaWYgKGZhbWlseU5hbWUuaXNOdWxsKCkp
CisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgQ1RGb250U3ltYm9saWNUcmFpdHMgc3lt
Ym9saWNUcmFpdHMgPSAwOworICAgIGlmICh0cmFpdHMgJiBrQ1RGb250Qm9sZFRyYWl0KQorICAg
ICAgICBzeW1ib2xpY1RyYWl0cyB8PSBrQ1RGb250Qm9sZFRyYWl0OworICAgIGlmICh0cmFpdHMg
JiBrQ1RGb250VHJhaXRJdGFsaWMpCisgICAgICAgIHN5bWJvbGljVHJhaXRzIHw9IGtDVEZvbnRU
cmFpdEl0YWxpYzsKKyAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IGZhbWlseU5hbWVTdHIgPSBm
YW1pbHlOYW1lLmNyZWF0ZUNGU3RyaW5nKCk7CisgICAgUmV0YWluUHRyPENURm9udERlc2NyaXB0
b3JSZWY+IGZvbnREZXNjcmlwdG9yID0gYWRvcHRDRihDVEZvbnREZXNjcmlwdG9yQ3JlYXRlV2l0
aFRleHRTdHlsZShmYW1pbHlOYW1lU3RyLmdldCgpLCBSZW5kZXJUaGVtZU1hYzo6Y29udGVudFNp
emVDYXRlZ29yeSgpLCBudWxscHRyKSk7CisgICAgaWYgKHN5bWJvbGljVHJhaXRzKQorICAgICAg
ICBmb250RGVzY3JpcHRvciA9IGFkb3B0Q0YoQ1RGb250RGVzY3JpcHRvckNyZWF0ZUNvcHlXaXRo
U3ltYm9saWNUcmFpdHMoZm9udERlc2NyaXB0b3IuZ2V0KCksIHN5bWJvbGljVHJhaXRzLCBzeW1i
b2xpY1RyYWl0cykpOworCisgICAgcmV0dXJuIGFkb3B0Q0YoQ1RGb250Q3JlYXRlV2l0aEZvbnRE
ZXNjcmlwdG9yKGZvbnREZXNjcmlwdG9yLmdldCgpLCBzaXplLCBudWxscHRyKSk7Cit9CisKIHN0
ZDo6dW5pcXVlX3B0cjxGb250UGxhdGZvcm1EYXRhPiBGb250Q2FjaGU6OmNyZWF0ZUZvbnRQbGF0
Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0IEF0
b21pY1N0cmluZyYgZmFtaWx5KQogewogICAgIE5TRm9udFRyYWl0TWFzayB0cmFpdHMgPSBmb250
RGVzY3JpcHRpb24uaXRhbGljKCkgPyBOU0ZvbnRJdGFsaWNUcmFpdCA6IDA7CiAgICAgTlNJbnRl
Z2VyIHdlaWdodCA9IHRvQXBwS2l0Rm9udFdlaWdodChmb250RGVzY3JpcHRpb24ud2VpZ2h0KCkp
OwogICAgIGZsb2F0IHNpemUgPSBmb250RGVzY3JpcHRpb24uY29tcHV0ZWRQaXhlbFNpemUoKTsK
IAotICAgIE5TRm9udCAqbnNGb250ID0gZm9udFdpdGhGYW1pbHkoZmFtaWx5LCB0cmFpdHMsIHdl
aWdodCwgc2l6ZSk7CisgICAgTlNGb250ICpuc0ZvbnQ7CisKKyAgICBpZiAoZmFtaWx5LnN0YXJ0
c1dpdGgoIlVJQ1RGb250VGV4dFN0eWxlIikpIHsKKyAgICAgICAgUmV0YWluUHRyPENURm9udFJl
Zj4gY3JlYXRlZEZvbnQgPSBjcmVhdGVDVEZvbnRXaXRoVGV4dFN0eWxlKGZhbWlseSwgdHJhaXRz
LCBzaXplKTsKKyAgICAgICAgbnNGb250ID0gc3RhdGljX2Nhc3Q8TlNGb250Kj4oY3JlYXRlZEZv
bnQuZ2V0KCkpOworICAgICAgICBbW25zRm9udCByZXRhaW5dIGF1dG9yZWxlYXNlXTsKKyAgICB9
IGVsc2UKKyAgICAgICAgbnNGb250ID0gZm9udFdpdGhGYW1pbHkoZmFtaWx5LCB0cmFpdHMsIHdl
aWdodCwgc2l6ZSk7CiAgICAgaWYgKCFuc0ZvbnQpIHsKICAgICAgICAgaWYgKCFzaG91bGRBdXRv
QWN0aXZhdGVGb250SWZOZWVkZWQoZmFtaWx5KSkKICAgICAgICAgICAgIHJldHVybiBudWxscHRy
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaAppbmRleCAxMzM3OGMw
N2ZiMzBjZDY5MmYxNjNhYWY1YTQzODMxMDNhOTg3ZDZhLi44NDZhNDZmMzA4YjJkYzc2YTI0ZDk2
NzFmZjE5ZGJhOTJjYTI2YjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVNYWMuaApAQCAtMTA0LDExICsxMDQsMTQgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29s
IGRlZmF1bHRCdXR0b25IYXNBbmltYXRpb24oKSBjb25zdCBvdmVycmlkZTsKIAorICAgIHN0YXRp
YyBDRlN0cmluZ1JlZiBjb250ZW50U2l6ZUNhdGVnb3J5KCk7CisKIHByb3RlY3RlZDoKICAgICBS
ZW5kZXJUaGVtZU1hYygpOwogICAgIHZpcnR1YWwgflJlbmRlclRoZW1lTWFjKCk7CiAKICAgICAv
LyBTeXN0ZW0gZm9udHMuCisgICAgdmlydHVhbCBGb250RGVzY3JpcHRpb24mIGNhY2hlZFN5c3Rl
bUZvbnREZXNjcmlwdGlvbihDU1NWYWx1ZUlEIHN5c3RlbUZvbnRJRCkgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUNhY2hlZFN5c3RlbUZvbnREZXNjcmlwdGlvbihDU1NW
YWx1ZUlELCBGb250RGVzY3JpcHRpb24mKSBjb25zdCBvdmVycmlkZTsKIAogI2lmIEVOQUJMRShW
SURFTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1h
Yy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQppbmRleCAz
YjYwN2UwNzUzYjc3ZWU2NGM2M2MxZjljMzliMGQwZmI1Mzk1NjM5Li5kMTk2OTZmMjg0YjNiZmYy
MGU4NzBiODc1ODBhNTVjYjk3YTZmOGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lTWFjLm1tCkBAIC0yNiwxMiArMjYsMTQgQEAKICNpbXBvcnQgIkNTU1ZhbHVlTGlz
dC5oIgogI2ltcG9ydCAiQ29sb3JNYWMuaCIKICNpbXBvcnQgIkNvcmVHcmFwaGljc1NQSS5oIgor
I2ltcG9ydCAiQ29yZVRleHRTUEkuaCIKICNpbXBvcnQgIkRvY3VtZW50LmgiCiAjaW1wb3J0ICJF
bGVtZW50LmgiCiAjaW1wb3J0ICJFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuaCIKICNpbXBvcnQg
IkZpbGVMaXN0LmgiCiAjaW1wb3J0ICJGbG9hdFJvdW5kZWRSZWN0LmgiCiAjaW1wb3J0ICJGb2N1
c0NvbnRyb2xsZXIuaCIKKyNpbXBvcnQgIkZvbnRDYWNoZS5oIgogI2ltcG9ydCAiRnJhbWUuaCIK
ICNpbXBvcnQgIkZyYW1lU2VsZWN0aW9uLmgiCiAjaW1wb3J0ICJGcmFtZVZpZXcuaCIKQEAgLTMx
Niw2OCArMzE4LDIwMiBAQCBDb2xvciBSZW5kZXJUaGVtZU1hYzo6cGxhdGZvcm1JbmFjdGl2ZUxp
c3RCb3hTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IoKSBjb25zdAogICAgIHJldHVybiBwbGF0Zm9y
bUluYWN0aXZlU2VsZWN0aW9uQmFja2dyb3VuZENvbG9yKCk7CiB9CiAKLXN0YXRpYyBGb250V2Vp
Z2h0IHRvRm9udFdlaWdodChOU0ludGVnZXIgYXBwS2l0Rm9udFdlaWdodCkKLXsKLSAgICBBU1NF
UlQoYXBwS2l0Rm9udFdlaWdodCA+IDAgJiYgYXBwS2l0Rm9udFdlaWdodCA8IDE1KTsKLSAgICBp
ZiAoYXBwS2l0Rm9udFdlaWdodCA+IDE0KQotICAgICAgICBhcHBLaXRGb250V2VpZ2h0ID0gMTQ7
Ci0gICAgZWxzZSBpZiAoYXBwS2l0Rm9udFdlaWdodCA8IDEpCi0gICAgICAgIGFwcEtpdEZvbnRX
ZWlnaHQgPSAxOwotCi0gICAgc3RhdGljIEZvbnRXZWlnaHQgZm9udFdlaWdodHNbXSA9IHsKLSAg
ICAgICAgRm9udFdlaWdodDEwMCwKLSAgICAgICAgRm9udFdlaWdodDEwMCwKLSAgICAgICAgRm9u
dFdlaWdodDIwMCwKLSAgICAgICAgRm9udFdlaWdodDMwMCwKLSAgICAgICAgRm9udFdlaWdodDQw
MCwKLSAgICAgICAgRm9udFdlaWdodDUwMCwKLSAgICAgICAgRm9udFdlaWdodDYwMCwKLSAgICAg
ICAgRm9udFdlaWdodDYwMCwKLSAgICAgICAgRm9udFdlaWdodDcwMCwKLSAgICAgICAgRm9udFdl
aWdodDgwMCwKLSAgICAgICAgRm9udFdlaWdodDgwMCwKLSAgICAgICAgRm9udFdlaWdodDkwMCwK
LSAgICAgICAgRm9udFdlaWdodDkwMCwKLSAgICAgICAgRm9udFdlaWdodDkwMAotICAgIH07Ci0g
ICAgcmV0dXJuIGZvbnRXZWlnaHRzW2FwcEtpdEZvbnRXZWlnaHQgLSAxXTsKK0NGU3RyaW5nUmVm
IFJlbmRlclRoZW1lTWFjOjpjb250ZW50U2l6ZUNhdGVnb3J5KCkKK3sKKyAgICByZXR1cm4ga0NU
Rm9udENvbnRlbnRTaXplQ2F0ZWdvcnlNOworfQorCitzdGF0aWMgRm9udFdlaWdodCBmcm9tQ1RG
b250V2VpZ2h0KGZsb2F0IGZvbnRXZWlnaHQpCit7CisgICAgaWYgKGZvbnRXZWlnaHQgPD0gLTAu
OCkKKyAgICAgICAgcmV0dXJuIEZvbnRXZWlnaHQxMDA7CisgICAgaWYgKGZvbnRXZWlnaHQgPD0g
LTAuNCkKKyAgICAgICAgcmV0dXJuIEZvbnRXZWlnaHQyMDA7CisgICAgaWYgKGZvbnRXZWlnaHQg
PD0gLTAuMikKKyAgICAgICAgcmV0dXJuIEZvbnRXZWlnaHQzMDA7CisgICAgaWYgKGZvbnRXZWln
aHQgPD0gMC4wKQorICAgICAgICByZXR1cm4gRm9udFdlaWdodDQwMDsKKyAgICBpZiAoZm9udFdl
aWdodCA8PSAwLjIpCisgICAgICAgIHJldHVybiBGb250V2VpZ2h0NTAwOworICAgIGlmIChmb250
V2VpZ2h0IDw9IDAuMykKKyAgICAgICAgcmV0dXJuIEZvbnRXZWlnaHQ2MDA7CisgICAgaWYgKGZv
bnRXZWlnaHQgPD0gMC40KQorICAgICAgICByZXR1cm4gRm9udFdlaWdodDcwMDsKKyAgICBpZiAo
Zm9udFdlaWdodCA8PSAwLjYpCisgICAgICAgIHJldHVybiBGb250V2VpZ2h0ODAwOworICAgIGlm
IChmb250V2VpZ2h0IDw9IDAuOCkKKyAgICAgICAgcmV0dXJuIEZvbnRXZWlnaHQ5MDA7CisKKyAg
ICByZXR1cm4gRm9udFdlaWdodE5vcm1hbDsKK30KKworRm9udERlc2NyaXB0aW9uJiBSZW5kZXJU
aGVtZU1hYzo6Y2FjaGVkU3lzdGVtRm9udERlc2NyaXB0aW9uKENTU1ZhbHVlSUQgdmFsdWVJRCkg
Y29uc3QKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Rm9udERlc2NyaXB0aW9uPiBzeXN0
ZW1Gb250OworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxGb250RGVzY3JpcHRpb24+IGhlYWRs
aW5lRm9udDsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Rm9udERlc2NyaXB0aW9uPiBib2R5
Rm9udDsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Rm9udERlc2NyaXB0aW9uPiBzdWJoZWFk
bGluZUZvbnQ7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEZvbnREZXNjcmlwdGlvbj4gZm9v
dG5vdGVGb250OworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxGb250RGVzY3JpcHRpb24+IGNh
cHRpb24xRm9udDsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Rm9udERlc2NyaXB0aW9uPiBj
YXB0aW9uMkZvbnQ7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEZvbnREZXNjcmlwdGlvbj4g
c2hvcnRIZWFkbGluZUZvbnQ7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEZvbnREZXNjcmlw
dGlvbj4gc2hvcnRCb2R5Rm9udDsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Rm9udERlc2Ny
aXB0aW9uPiBzaG9ydFN1YmhlYWRsaW5lRm9udDsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
Rm9udERlc2NyaXB0aW9uPiBzaG9ydEZvb3Rub3RlRm9udDsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0
cm95ZWQ8Rm9udERlc2NyaXB0aW9uPiBzaG9ydENhcHRpb24xRm9udDsKKyAgICBzdGF0aWMgTmV2
ZXJEZXN0cm95ZWQ8Rm9udERlc2NyaXB0aW9uPiB0YWxsQm9keUZvbnQ7CisKKyAgICBzdGF0aWMg
Q0ZTdHJpbmdSZWYgdXNlclRleHRTaXplID0gY29udGVudFNpemVDYXRlZ29yeSgpOworCisgICAg
aWYgKHVzZXJUZXh0U2l6ZSAhPSBjb250ZW50U2l6ZUNhdGVnb3J5KCkpIHsKKyAgICAgICAgdXNl
clRleHRTaXplID0gY29udGVudFNpemVDYXRlZ29yeSgpOworCisgICAgICAgIGhlYWRsaW5lRm9u
dC5nZXQoKS5zZXRJc0Fic29sdXRlU2l6ZShmYWxzZSk7CisgICAgICAgIGJvZHlGb250LmdldCgp
LnNldElzQWJzb2x1dGVTaXplKGZhbHNlKTsKKyAgICAgICAgc3ViaGVhZGxpbmVGb250LmdldCgp
LnNldElzQWJzb2x1dGVTaXplKGZhbHNlKTsKKyAgICAgICAgZm9vdG5vdGVGb250LmdldCgpLnNl
dElzQWJzb2x1dGVTaXplKGZhbHNlKTsKKyAgICAgICAgY2FwdGlvbjFGb250LmdldCgpLnNldElz
QWJzb2x1dGVTaXplKGZhbHNlKTsKKyAgICAgICAgY2FwdGlvbjJGb250LmdldCgpLnNldElzQWJz
b2x1dGVTaXplKGZhbHNlKTsKKyAgICAgICAgc2hvcnRIZWFkbGluZUZvbnQuZ2V0KCkuc2V0SXNB
YnNvbHV0ZVNpemUoZmFsc2UpOworICAgICAgICBzaG9ydEJvZHlGb250LmdldCgpLnNldElzQWJz
b2x1dGVTaXplKGZhbHNlKTsKKyAgICAgICAgc2hvcnRTdWJoZWFkbGluZUZvbnQuZ2V0KCkuc2V0
SXNBYnNvbHV0ZVNpemUoZmFsc2UpOworICAgICAgICBzaG9ydEZvb3Rub3RlRm9udC5nZXQoKS5z
ZXRJc0Fic29sdXRlU2l6ZShmYWxzZSk7CisgICAgICAgIHNob3J0Q2FwdGlvbjFGb250LmdldCgp
LnNldElzQWJzb2x1dGVTaXplKGZhbHNlKTsKKyAgICAgICAgdGFsbEJvZHlGb250LmdldCgpLnNl
dElzQWJzb2x1dGVTaXplKGZhbHNlKTsKKyAgICB9CisKKyAgICBzd2l0Y2ggKHZhbHVlSUQpIHsK
KyAgICBjYXNlIENTU1ZhbHVlQXBwbGVTeXN0ZW1IZWFkbGluZToKKyAgICAgICAgcmV0dXJuIGhl
YWRsaW5lRm9udDsKKyAgICBjYXNlIENTU1ZhbHVlQXBwbGVTeXN0ZW1Cb2R5OgorICAgICAgICBy
ZXR1cm4gYm9keUZvbnQ7CisgICAgY2FzZSBDU1NWYWx1ZUFwcGxlU3lzdGVtU3ViaGVhZGxpbmU6
CisgICAgICAgIHJldHVybiBzdWJoZWFkbGluZUZvbnQ7CisgICAgY2FzZSBDU1NWYWx1ZUFwcGxl
U3lzdGVtRm9vdG5vdGU6CisgICAgICAgIHJldHVybiBmb290bm90ZUZvbnQ7CisgICAgY2FzZSBD
U1NWYWx1ZUFwcGxlU3lzdGVtQ2FwdGlvbjE6CisgICAgICAgIHJldHVybiBjYXB0aW9uMUZvbnQ7
CisgICAgY2FzZSBDU1NWYWx1ZUFwcGxlU3lzdGVtQ2FwdGlvbjI6CisgICAgICAgIHJldHVybiBj
YXB0aW9uMkZvbnQ7CisgICAgLy8gU2hvcnQgdmVyc2lvbi4KKyAgICBjYXNlIENTU1ZhbHVlQXBw
bGVTeXN0ZW1TaG9ydEhlYWRsaW5lOgorICAgICAgICByZXR1cm4gc2hvcnRIZWFkbGluZUZvbnQ7
CisgICAgY2FzZSBDU1NWYWx1ZUFwcGxlU3lzdGVtU2hvcnRCb2R5OgorICAgICAgICByZXR1cm4g
c2hvcnRCb2R5Rm9udDsKKyAgICBjYXNlIENTU1ZhbHVlQXBwbGVTeXN0ZW1TaG9ydFN1YmhlYWRs
aW5lOgorICAgICAgICByZXR1cm4gc2hvcnRTdWJoZWFkbGluZUZvbnQ7CisgICAgY2FzZSBDU1NW
YWx1ZUFwcGxlU3lzdGVtU2hvcnRGb290bm90ZToKKyAgICAgICAgcmV0dXJuIHNob3J0Rm9vdG5v
dGVGb250OworICAgIGNhc2UgQ1NTVmFsdWVBcHBsZVN5c3RlbVNob3J0Q2FwdGlvbjE6CisgICAg
ICAgIHJldHVybiBzaG9ydENhcHRpb24xRm9udDsKKyAgICAvLyBUYWxsIHZlcnNpb24uCisgICAg
Y2FzZSBDU1NWYWx1ZUFwcGxlU3lzdGVtVGFsbEJvZHk6CisgICAgICAgIHJldHVybiB0YWxsQm9k
eUZvbnQ7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIHN5c3RlbUZvbnQ7CisgICAgfQog
fQogCiB2b2lkIFJlbmRlclRoZW1lTWFjOjp1cGRhdGVDYWNoZWRTeXN0ZW1Gb250RGVzY3JpcHRp
b24oQ1NTVmFsdWVJRCBjc3NWYWx1ZUlkLCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlv
bikgY29uc3QKIHsKLSAgICBOU0ZvbnQqIGZvbnQ7CisgICAgUmV0YWluUHRyPENURm9udFJlZj4g
Zm9udDsKKyAgICBSZXRhaW5QdHI8Q1RGb250RGVzY3JpcHRvclJlZj4gZm9udERlc2NyaXB0b3I7
CisgICAgQ0ZTdHJpbmdSZWYgdGV4dFN0eWxlOwogICAgIHN3aXRjaCAoY3NzVmFsdWVJZCkgewot
ICAgICAgICBjYXNlIENTU1ZhbHVlU21hbGxDYXB0aW9uOgotICAgICAgICAgICAgZm9udCA9IFtO
U0ZvbnQgc3lzdGVtRm9udE9mU2l6ZTpbTlNGb250IHNtYWxsU3lzdGVtRm9udFNpemVdXTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIENTU1ZhbHVlTWVudToKLSAgICAgICAgICAg
IGZvbnQgPSBbTlNGb250IG1lbnVGb250T2ZTaXplOltOU0ZvbnQgc3lzdGVtRm9udFNpemVdXTsK
LSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIENTU1ZhbHVlU3RhdHVzQmFyOgotICAg
ICAgICAgICAgZm9udCA9IFtOU0ZvbnQgbGFiZWxGb250T2ZTaXplOltOU0ZvbnQgbGFiZWxGb250
U2l6ZV1dOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ1NTVmFsdWVXZWJraXRN
aW5pQ29udHJvbDoKLSAgICAgICAgICAgIGZvbnQgPSBbTlNGb250IHN5c3RlbUZvbnRPZlNpemU6
W05TRm9udCBzeXN0ZW1Gb250U2l6ZUZvckNvbnRyb2xTaXplOk5TTWluaUNvbnRyb2xTaXplXV07
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBDU1NWYWx1ZVdlYmtpdFNtYWxsQ29u
dHJvbDoKLSAgICAgICAgICAgIGZvbnQgPSBbTlNGb250IHN5c3RlbUZvbnRPZlNpemU6W05TRm9u
dCBzeXN0ZW1Gb250U2l6ZUZvckNvbnRyb2xTaXplOk5TU21hbGxDb250cm9sU2l6ZV1dOwotICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ1NTVmFsdWVXZWJraXRDb250cm9sOgotICAg
ICAgICAgICAgZm9udCA9IFtOU0ZvbnQgc3lzdGVtRm9udE9mU2l6ZTpbTlNGb250IHN5c3RlbUZv
bnRTaXplRm9yQ29udHJvbFNpemU6TlNSZWd1bGFyQ29udHJvbFNpemVdXTsKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgZm9udCA9IFtOU0ZvbnQgc3lz
dGVtRm9udE9mU2l6ZTpbTlNGb250IHN5c3RlbUZvbnRTaXplXV07CisgICAgY2FzZSBDU1NWYWx1
ZVNtYWxsQ2FwdGlvbjoKKyAgICAgICAgZm9udCA9IHN0YXRpY19jYXN0PENURm9udFJlZj4oW05T
Rm9udCBzeXN0ZW1Gb250T2ZTaXplOltOU0ZvbnQgc21hbGxTeXN0ZW1Gb250U2l6ZV1dKTsKKyAg
ICAgICAgdGV4dFN0eWxlID0gc3RhdGljX2Nhc3Q8Q0ZTdHJpbmdSZWY+KFtzdGF0aWNfY2FzdDxO
U0ZvbnQqPihmb250LmdldCgpKSB3ZWJDb3JlRmFtaWx5TmFtZV0pOworICAgICAgICBicmVhazsK
KyAgICBjYXNlIENTU1ZhbHVlTWVudToKKyAgICAgICAgZm9udCA9IHN0YXRpY19jYXN0PENURm9u
dFJlZj4oW05TRm9udCBtZW51Rm9udE9mU2l6ZTpbTlNGb250IHN5c3RlbUZvbnRTaXplXV0pOwor
ICAgICAgICB0ZXh0U3R5bGUgPSBzdGF0aWNfY2FzdDxDRlN0cmluZ1JlZj4oW3N0YXRpY19jYXN0
PE5TRm9udCo+KGZvbnQuZ2V0KCkpIHdlYkNvcmVGYW1pbHlOYW1lXSk7CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgQ1NTVmFsdWVTdGF0dXNCYXI6CisgICAgICAgIGZvbnQgPSBzdGF0aWNfY2Fz
dDxDVEZvbnRSZWY+KFtOU0ZvbnQgbGFiZWxGb250T2ZTaXplOltOU0ZvbnQgbGFiZWxGb250U2l6
ZV1dKTsKKyAgICAgICAgdGV4dFN0eWxlID0gc3RhdGljX2Nhc3Q8Q0ZTdHJpbmdSZWY+KFtzdGF0
aWNfY2FzdDxOU0ZvbnQqPihmb250LmdldCgpKSB3ZWJDb3JlRmFtaWx5TmFtZV0pOworICAgICAg
ICBicmVhazsKKyAgICBjYXNlIENTU1ZhbHVlV2Via2l0TWluaUNvbnRyb2w6CisgICAgICAgIGZv
bnQgPSBzdGF0aWNfY2FzdDxDVEZvbnRSZWY+KFtOU0ZvbnQgc3lzdGVtRm9udE9mU2l6ZTpbTlNG
b250IHN5c3RlbUZvbnRTaXplRm9yQ29udHJvbFNpemU6TlNNaW5pQ29udHJvbFNpemVdXSk7Cisg
ICAgICAgIHRleHRTdHlsZSA9IHN0YXRpY19jYXN0PENGU3RyaW5nUmVmPihbc3RhdGljX2Nhc3Q8
TlNGb250Kj4oZm9udC5nZXQoKSkgd2ViQ29yZUZhbWlseU5hbWVdKTsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBDU1NWYWx1ZVdlYmtpdFNtYWxsQ29udHJvbDoKKyAgICAgICAgZm9udCA9IHN0
YXRpY19jYXN0PENURm9udFJlZj4oW05TRm9udCBzeXN0ZW1Gb250T2ZTaXplOltOU0ZvbnQgc3lz
dGVtRm9udFNpemVGb3JDb250cm9sU2l6ZTpOU1NtYWxsQ29udHJvbFNpemVdXSk7CisgICAgICAg
IHRleHRTdHlsZSA9IHN0YXRpY19jYXN0PENGU3RyaW5nUmVmPihbc3RhdGljX2Nhc3Q8TlNGb250
Kj4oZm9udC5nZXQoKSkgd2ViQ29yZUZhbWlseU5hbWVdKTsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBDU1NWYWx1ZVdlYmtpdENvbnRyb2w6CisgICAgICAgIGZvbnQgPSBzdGF0aWNfY2FzdDxD
VEZvbnRSZWY+KFtOU0ZvbnQgc3lzdGVtRm9udE9mU2l6ZTpbTlNGb250IHN5c3RlbUZvbnRTaXpl
Rm9yQ29udHJvbFNpemU6TlNSZWd1bGFyQ29udHJvbFNpemVdXSk7CisgICAgICAgIHRleHRTdHls
ZSA9IHN0YXRpY19jYXN0PENGU3RyaW5nUmVmPihbc3RhdGljX2Nhc3Q8TlNGb250Kj4oZm9udC5n
ZXQoKSkgd2ViQ29yZUZhbWlseU5hbWVdKTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIENT
U1ZhbHVlQXBwbGVTeXN0ZW1IZWFkbGluZToKKyAgICAgICAgdGV4dFN0eWxlID0ga0NUVUlGb250
VGV4dFN0eWxlSGVhZGxpbmU7CisgICAgICAgIGZvbnREZXNjcmlwdG9yID0gYWRvcHRDRihDVEZv
bnREZXNjcmlwdG9yQ3JlYXRlV2l0aFRleHRTdHlsZSh0ZXh0U3R5bGUsIGNvbnRlbnRTaXplQ2F0
ZWdvcnkoKSwgMCkpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENTU1ZhbHVlQXBwbGVTeXN0
ZW1Cb2R5OgorICAgICAgICB0ZXh0U3R5bGUgPSBrQ1RVSUZvbnRUZXh0U3R5bGVCb2R5OworICAg
ICAgICBmb250RGVzY3JpcHRvciA9IGFkb3B0Q0YoQ1RGb250RGVzY3JpcHRvckNyZWF0ZVdpdGhU
ZXh0U3R5bGUodGV4dFN0eWxlLCBjb250ZW50U2l6ZUNhdGVnb3J5KCksIDApKTsKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBDU1NWYWx1ZUFwcGxlU3lzdGVtU3ViaGVhZGxpbmU6CisgICAgICAg
IHRleHRTdHlsZSA9IGtDVFVJRm9udFRleHRTdHlsZVN1YmhlYWQ7CisgICAgICAgIGZvbnREZXNj
cmlwdG9yID0gYWRvcHRDRihDVEZvbnREZXNjcmlwdG9yQ3JlYXRlV2l0aFRleHRTdHlsZSh0ZXh0
U3R5bGUsIGNvbnRlbnRTaXplQ2F0ZWdvcnkoKSwgMCkpOworICAgICAgICBicmVhazsKKyAgICBj
YXNlIENTU1ZhbHVlQXBwbGVTeXN0ZW1Gb290bm90ZToKKyAgICAgICAgdGV4dFN0eWxlID0ga0NU
VUlGb250VGV4dFN0eWxlRm9vdG5vdGU7CisgICAgICAgIGZvbnREZXNjcmlwdG9yID0gYWRvcHRD
RihDVEZvbnREZXNjcmlwdG9yQ3JlYXRlV2l0aFRleHRTdHlsZSh0ZXh0U3R5bGUsIGNvbnRlbnRT
aXplQ2F0ZWdvcnkoKSwgMCkpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENTU1ZhbHVlQXBw
bGVTeXN0ZW1DYXB0aW9uMToKKyAgICAgICAgdGV4dFN0eWxlID0ga0NUVUlGb250VGV4dFN0eWxl
Q2FwdGlvbjE7CisgICAgICAgIGZvbnREZXNjcmlwdG9yID0gYWRvcHRDRihDVEZvbnREZXNjcmlw
dG9yQ3JlYXRlV2l0aFRleHRTdHlsZSh0ZXh0U3R5bGUsIGNvbnRlbnRTaXplQ2F0ZWdvcnkoKSwg
MCkpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENTU1ZhbHVlQXBwbGVTeXN0ZW1DYXB0aW9u
MjoKKyAgICAgICAgdGV4dFN0eWxlID0ga0NUVUlGb250VGV4dFN0eWxlQ2FwdGlvbjI7CisgICAg
ICAgIGZvbnREZXNjcmlwdG9yID0gYWRvcHRDRihDVEZvbnREZXNjcmlwdG9yQ3JlYXRlV2l0aFRl
eHRTdHlsZSh0ZXh0U3R5bGUsIGNvbnRlbnRTaXplQ2F0ZWdvcnkoKSwgMCkpOworICAgICAgICBi
cmVhazsKKworICAgIC8vIFNob3J0IHZlcnNpb24uCisgICAgY2FzZSBDU1NWYWx1ZUFwcGxlU3lz
dGVtU2hvcnRIZWFkbGluZToKKyAgICAgICAgdGV4dFN0eWxlID0ga0NUVUlGb250VGV4dFN0eWxl
U2hvcnRIZWFkbGluZTsKKyAgICAgICAgZm9udERlc2NyaXB0b3IgPSBhZG9wdENGKENURm9udERl
c2NyaXB0b3JDcmVhdGVXaXRoVGV4dFN0eWxlKHRleHRTdHlsZSwgY29udGVudFNpemVDYXRlZ29y
eSgpLCAwKSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTVmFsdWVBcHBsZVN5c3RlbVNo
b3J0Qm9keToKKyAgICAgICAgdGV4dFN0eWxlID0ga0NUVUlGb250VGV4dFN0eWxlU2hvcnRCb2R5
OworICAgICAgICBmb250RGVzY3JpcHRvciA9IGFkb3B0Q0YoQ1RGb250RGVzY3JpcHRvckNyZWF0
ZVdpdGhUZXh0U3R5bGUodGV4dFN0eWxlLCBjb250ZW50U2l6ZUNhdGVnb3J5KCksIDApKTsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBDU1NWYWx1ZUFwcGxlU3lzdGVtU2hvcnRTdWJoZWFkbGlu
ZToKKyAgICAgICAgdGV4dFN0eWxlID0ga0NUVUlGb250VGV4dFN0eWxlU2hvcnRTdWJoZWFkOwor
ICAgICAgICBmb250RGVzY3JpcHRvciA9IGFkb3B0Q0YoQ1RGb250RGVzY3JpcHRvckNyZWF0ZVdp
dGhUZXh0U3R5bGUodGV4dFN0eWxlLCBjb250ZW50U2l6ZUNhdGVnb3J5KCksIDApKTsKKyAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBDU1NWYWx1ZUFwcGxlU3lzdGVtU2hvcnRGb290bm90ZToKKyAg
ICAgICAgdGV4dFN0eWxlID0ga0NUVUlGb250VGV4dFN0eWxlU2hvcnRGb290bm90ZTsKKyAgICAg
ICAgZm9udERlc2NyaXB0b3IgPSBhZG9wdENGKENURm9udERlc2NyaXB0b3JDcmVhdGVXaXRoVGV4
dFN0eWxlKHRleHRTdHlsZSwgY29udGVudFNpemVDYXRlZ29yeSgpLCAwKSk7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgQ1NTVmFsdWVBcHBsZVN5c3RlbVNob3J0Q2FwdGlvbjE6CisgICAgICAg
IHRleHRTdHlsZSA9IGtDVFVJRm9udFRleHRTdHlsZVNob3J0Q2FwdGlvbjE7CisgICAgICAgIGZv
bnREZXNjcmlwdG9yID0gYWRvcHRDRihDVEZvbnREZXNjcmlwdG9yQ3JlYXRlV2l0aFRleHRTdHls
ZSh0ZXh0U3R5bGUsIGNvbnRlbnRTaXplQ2F0ZWdvcnkoKSwgMCkpOworICAgICAgICBicmVhazsK
KworICAgIC8vIFRhbGwgdmVyc2lvbi4KKyAgICBjYXNlIENTU1ZhbHVlQXBwbGVTeXN0ZW1UYWxs
Qm9keToKKyAgICAgICAgdGV4dFN0eWxlID0ga0NUVUlGb250VGV4dFN0eWxlVGFsbEJvZHk7Cisg
ICAgICAgIGZvbnREZXNjcmlwdG9yID0gYWRvcHRDRihDVEZvbnREZXNjcmlwdG9yQ3JlYXRlV2l0
aFRleHRTdHlsZSh0ZXh0U3R5bGUsIGNvbnRlbnRTaXplQ2F0ZWdvcnkoKSwgMCkpOworICAgICAg
ICBicmVhazsKKworICAgIGRlZmF1bHQ6CisgICAgICAgIGZvbnQgPSBzdGF0aWNfY2FzdDxDVEZv
bnRSZWY+KFtOU0ZvbnQgc3lzdGVtRm9udE9mU2l6ZTpbTlNGb250IHN5c3RlbUZvbnRTaXplXV0p
OworICAgICAgICB0ZXh0U3R5bGUgPSBzdGF0aWNfY2FzdDxDRlN0cmluZ1JlZj4oW3N0YXRpY19j
YXN0PE5TRm9udCo+KGZvbnQuZ2V0KCkpIHdlYkNvcmVGYW1pbHlOYW1lXSk7CiAgICAgfQogCi0g
ICAgaWYgKCFmb250KQorICAgIEFTU0VSVChmb250RGVzY3JpcHRvciB8fCBmb250KTsKKyAgICBp
ZiAoIWZvbnQgJiYgIWZvbnREZXNjcmlwdG9yKQogICAgICAgICByZXR1cm47CiAKLSAgICBOU0Zv
bnRNYW5hZ2VyICpmb250TWFuYWdlciA9IFtOU0ZvbnRNYW5hZ2VyIHNoYXJlZEZvbnRNYW5hZ2Vy
XTsKKyAgICBpZiAoIWZvbnQpCisgICAgICAgIGZvbnQgPSBhZG9wdENGKENURm9udENyZWF0ZVdp
dGhGb250RGVzY3JpcHRvcihmb250RGVzY3JpcHRvci5nZXQoKSwgMCwgbnVsbHB0cikpOwogICAg
IGZvbnREZXNjcmlwdGlvbi5zZXRJc0Fic29sdXRlU2l6ZSh0cnVlKTsKLSAgICBmb250RGVzY3Jp
cHRpb24uc2V0T25lRmFtaWx5KFtmb250IHdlYkNvcmVGYW1pbHlOYW1lXSk7Ci0gICAgZm9udERl
c2NyaXB0aW9uLnNldFNwZWNpZmllZFNpemUoW2ZvbnQgcG9pbnRTaXplXSk7Ci0gICAgZm9udERl
c2NyaXB0aW9uLnNldFdlaWdodCh0b0ZvbnRXZWlnaHQoW2ZvbnRNYW5hZ2VyIHdlaWdodE9mRm9u
dDpmb250XSkpOwotICAgIGZvbnREZXNjcmlwdGlvbi5zZXRJc0l0YWxpYyhbZm9udE1hbmFnZXIg
dHJhaXRzT2ZGb250OmZvbnRdICYgTlNJdGFsaWNGb250TWFzayk7CisgICAgZm9udERlc2NyaXB0
aW9uLnNldE9uZUZhbWlseSh0ZXh0U3R5bGUpOworICAgIGZvbnREZXNjcmlwdGlvbi5zZXRTcGVj
aWZpZWRTaXplKENURm9udEdldFNpemUoZm9udC5nZXQoKSkpOworICAgIGZvbnREZXNjcmlwdGlv
bi5zZXRXZWlnaHQoZnJvbUNURm9udFdlaWdodChGb250Q2FjaGU6OndlaWdodE9mQ1RGb250KGZv
bnQuZ2V0KCkpKSk7CisgICAgZm9udERlc2NyaXB0aW9uLnNldEl0YWxpYyhGb250SXRhbGljT2Zm
KTsKIH0KIAogc3RhdGljIFJHQkEzMiBjb252ZXJ0TlNDb2xvclRvQ29sb3IoTlNDb2xvciAqY29s
b3IpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>