<?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>216432</bug_id>
          
          <creation_ts>2020-09-12 03:39:07 -0700</creation_ts>
          <short_desc>[Apple Win] Add a CTFont member to FontPlatformData</short_desc>
          <delta_ts>2020-09-12 16:02:17 -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>Text</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>216353</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>annulen</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1687913</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-12 03:39:07 -0700</bug_when>
    <thetext>This is the next step of https://bugs.webkit.org/show_bug.cgi?id=216353 [Win] Migrate the Apple Win port&apos;s font code to Core Text from Core Graphics</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687914</commentid>
    <comment_count>1</comment_count>
      <attachid>408589</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-12 03:39:46 -0700</bug_when>
    <thetext>Created attachment 408589
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687915</commentid>
    <comment_count>2</comment_count>
      <attachid>408590</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-12 04:03:47 -0700</bug_when>
    <thetext>Created attachment 408590
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687969</commentid>
    <comment_count>3</comment_count>
      <attachid>408605</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-12 13:50:31 -0700</bug_when>
    <thetext>Created attachment 408605
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687974</commentid>
    <comment_count>4</comment_count>
      <attachid>408608</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-12 14:06:43 -0700</bug_when>
    <thetext>Created attachment 408608
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687975</commentid>
    <comment_count>5</comment_count>
      <attachid>408609</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-12 14:09:16 -0700</bug_when>
    <thetext>Created attachment 408609
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688014</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-12 16:01:40 -0700</bug_when>
    <thetext>Committed r266982: &lt;https://trac.webkit.org/changeset/266982&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 408609.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688015</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-12 16:02:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/68779489&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408589</attachid>
            <date>2020-09-12 03:39:46 -0700</date>
            <delta_ts>2020-09-12 04:03:47 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>13423</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BsYXRmb3JtQXBwbGVXaW4uY21ha2UKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvUGxhdGZvcm1BcHBsZVdpbi5jbWFrZQkocmV2aXNpb24gMjY2OTM2
KQorKysgU291cmNlL1dlYkNvcmUvUGxhdGZvcm1BcHBsZVdpbi5jbWFrZQkod29ya2luZyBjb3B5
KQpAQCAtMTUwLDE0ICsxNTAsMTcgQEAKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvY2cvVHJh
bnNmb3JtYXRpb25NYXRyaXhDRy5jcHAKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvY2cvVVRJ
UmVnaXN0cnkuY3BwCiAKKyAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvY3QvRm9udENhc2NhZGVD
b3JlVGV4dC5jcHAKKyAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvY3QvRm9udENvcmVUZXh0LmNw
cAorICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9jdC9Gb250UGxhdGZvcm1EYXRhQ29yZVRleHQu
Y3BwCisgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL2N0L0dseXBoUGFnZUNvcmVUZXh0LmNwcAor
CiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3BwCiAKLSAg
ICAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDR1dpbi5jcHAKKyAgICAgICAgcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ZvbnRDYXNjYWRlQ0dXaW4uY3BwCiAgICAgICAgIHBsYXRmb3JtL2dy
YXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ0dXaW4uY3BwCi0gICAgICAgIHBsYXRmb3JtL2dy
YXBoaWNzL3dpbi9HbHlwaFBhZ2VUcmVlTm9kZUNHV2luLmNwcAogICAgICAgICBwbGF0Zm9ybS9n
cmFwaGljcy93aW4vR3JhcGhpY3NDb250ZXh0Q0dXaW4uY3BwCiAgICAgICAgIHBsYXRmb3JtL2dy
YXBoaWNzL3dpbi9JbWFnZUNHV2luLmNwcAotICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy93aW4v
U2ltcGxlRm9udERhdGFDR1dpbi5jcHAKIAogICAgICAgICBwbGF0Zm9ybS93aW4vRHJhZ0ltYWdl
Q0dXaW4uY3BwCiAgICAgKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udC5jcHAJKHJldmlzaW9uIDI2NjkzNikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NzQsNyArNDc0LDcgQEAKICAgICBy
ZXR1cm4gKmRlcml2ZWRGb250RGF0YS5icm9rZW5JZGVvZ3JhcGhGb250OwogfQogCi0jaWYgIVVT
RShDT1JFX1RFWFQpCisjaWYgIVVTRShDT1JFX1RFWFQpIHx8IFBMQVRGT1JNKFdJTikKIAogYm9v
bCBGb250Ojppc1Byb2JhYmx5T25seVVzZWRUb1JlbmRlckljb25zKCkgY29uc3QKIHsKQEAgLTUx
MSw3ICs1MTEsNyBAQAogICAgIHJldHVybiBwbGF0Zm9ybUNyZWF0ZVNjYWxlZEZvbnQoZm9udERl
c2NyaXB0aW9uLCBzY2FsZUZhY3Rvcik7CiB9CiAKLSNpZiAhVVNFKENPUkVfVEVYVCkKKyNpZiAh
VVNFKENPUkVfVEVYVCkgfHwgUExBVEZPUk0oV0lOKQogdm9pZCBGb250OjphcHBseVRyYW5zZm9y
bXMoR2x5cGhCdWZmZXImLCB1bnNpZ25lZCwgdW5zaWduZWQsIGJvb2wsIGJvb2wsIGNvbnN0IEF0
b21TdHJpbmcmLCBTdHJpbmdWaWV3LCBUZXh0RGlyZWN0aW9uKSBjb25zdAogewogfQpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAko
cmV2aXNpb24gMjY2OTM2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dENhc2NhZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OTUsNyArNTk1LDcgQEAKICAgICByZXR1
cm4gc2hvdWxkVXNlRm9udFNtb290aGluZzsKIH0KIAotI2lmICFVU0UoQ09SRV9URVhUKQorI2lm
ICFVU0UoQ09SRV9URVhUKSB8fCBQTEFURk9STShXSU4pCiBib29sIEZvbnRDYXNjYWRlOjppc1N1
YnBpeGVsQW50aWFsaWFzaW5nQXZhaWxhYmxlKCkKIHsKICAgICByZXR1cm4gZmFsc2U7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZv
cm1EYXRhLmNwcAkocmV2aXNpb24gMjY2OTM2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMx
LDEwIEBACiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHRm9udC5oPgogI2VuZGlmCiAKKyNpZiBQ
TEFURk9STShXSU4pICYmIFVTRShDT1JFX1RFWFQpCisjaW5jbHVkZSA8cGFsL3NwaS93aW4vQ29y
ZVRleHRTUElXaW4uaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEZvbnRQbGF0
Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEoV1RGOjpIYXNoVGFibGVEZWxldGVkVmFsdWVUeXBl
KQpAQCAtNTIsMTUgKzU2LDYgQEAKIHsKIH0KIAotI2lmIFVTRShDRykgJiYgUExBVEZPUk0oV0lO
KQotRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShDR0ZvbnRSZWYgY2dGb250LCBm
bG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgRm9u
dE9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBGb250V2lkdGhWYXJpYW50IHdpZHRoVmFyaWFudCwg
VGV4dFJlbmRlcmluZ01vZGUgdGV4dFJlbmRlcmluZ01vZGUpCi0gICAgOiBGb250UGxhdGZvcm1E
YXRhKHNpemUsIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY09ibGlxdWUsIG9yaWVudGF0aW9uLCB3
aWR0aFZhcmlhbnQsIHRleHRSZW5kZXJpbmdNb2RlKQotewotICAgIG1fY2dGb250ID0gY2dGb250
OwotICAgIEFTU0VSVChtX2NnRm9udCk7Ci19Ci0jZW5kaWYKLQogI2lmICFVU0UoRlJFRVRZUEUp
CiBGb250UGxhdGZvcm1EYXRhIEZvbnRQbGF0Zm9ybURhdGE6OmNsb25lV2l0aE9yaWVudGF0aW9u
KGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHNvdXJjZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0
aW9uKQogewpAQCAtODQsNyArNzksNyBAQAogfQogI2VuZGlmCiAKLSNpZiAhVVNFKENPUkVfVEVY
VCkKKyNpZiAhVVNFKENPUkVfVEVYVCkgfHwgUExBVEZPUk0oV0lOKQogCiBTdHJpbmcgRm9udFBs
YXRmb3JtRGF0YTo6ZmFtaWx5TmFtZSgpIGNvbnN0CiB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCShyZXZpc2lvbiAy
NjY5MzYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1E
YXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTg2LDQwICs4NiwzOCBAQAogICAgIFdFQkNPUkVfRVhQ
T1JUIEZvbnRQbGF0Zm9ybURhdGEoQ1RGb250UmVmLCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRp
Y0JvbGQgPSBmYWxzZSwgYm9vbCBzeW50aGV0aWNPYmxpcXVlID0gZmFsc2UsIEZvbnRPcmllbnRh
dGlvbiA9IEZvbnRPcmllbnRhdGlvbjo6SG9yaXpvbnRhbCwgRm9udFdpZHRoVmFyaWFudCA9IEZv
bnRXaWR0aFZhcmlhbnQ6OlJlZ3VsYXJXaWR0aCwgVGV4dFJlbmRlcmluZ01vZGUgPSBUZXh0UmVu
ZGVyaW5nTW9kZTo6QXV0b1RleHRSZW5kZXJpbmcpOwogI2VuZGlmCiAKLSAgICBzdGF0aWMgRm9u
dFBsYXRmb3JtRGF0YSBjbG9uZVdpdGhPcmllbnRhdGlvbihjb25zdCBGb250UGxhdGZvcm1EYXRh
JiwgRm9udE9yaWVudGF0aW9uKTsKLSAgICBzdGF0aWMgRm9udFBsYXRmb3JtRGF0YSBjbG9uZVdp
dGhTeW50aGV0aWNPYmxpcXVlKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmLCBib29sKTsKLSAgICBz
dGF0aWMgRm9udFBsYXRmb3JtRGF0YSBjbG9uZVdpdGhTaXplKGNvbnN0IEZvbnRQbGF0Zm9ybURh
dGEmLCBmbG9hdCk7Ci0KLSNpZiBVU0UoQ0cpICYmIFBMQVRGT1JNKFdJTikKLSAgICBGb250UGxh
dGZvcm1EYXRhKENHRm9udFJlZiwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29s
IHN5bnRoZXRpY09ibGlxdWUsIEZvbnRPcmllbnRhdGlvbiwgRm9udFdpZHRoVmFyaWFudCwgVGV4
dFJlbmRlcmluZ01vZGUpOwotI2VuZGlmCi0KICNpZiBQTEFURk9STShXSU4pCiAgICAgRm9udFBs
YXRmb3JtRGF0YShHRElPYmplY3Q8SEZPTlQ+LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0Jv
bGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgYm9vbCB1c2VHREkpOwotI2VuZGlmCi0KLSNpZiBQ
TEFURk9STShXSU4pICYmIFVTRShDRykKKyNpZiBVU0UoQ0cpCiAgICAgRm9udFBsYXRmb3JtRGF0
YShHRElPYmplY3Q8SEZPTlQ+LCBDR0ZvbnRSZWYsIGZsb2F0IHNpemUsIGJvb2wgc3ludGhldGlj
Qm9sZCwgYm9vbCBzeW50aGV0aWNPYmxpcXVlLCBib29sIHVzZUdESSk7CisgICAgRm9udFBsYXRm
b3JtRGF0YShDR0ZvbnRSZWYsIGZsb2F0IHNpemUsIGJvb2wgc3ludGhldGljQm9sZCwgYm9vbCBz
eW50aGV0aWNPYmxpcXVlLCBGb250T3JpZW50YXRpb24sIEZvbnRXaWR0aFZhcmlhbnQsIFRleHRS
ZW5kZXJpbmdNb2RlKTsKICNlbmRpZgotCi0jaWYgUExBVEZPUk0oV0lOKSAmJiBVU0UoRElSRUNU
MkQpCisjaWYgVVNFKERJUkVDVDJEKQogICAgIEZvbnRQbGF0Zm9ybURhdGEoR0RJT2JqZWN0PEhG
T05UPiYmLCBDT01QdHI8SURXcml0ZUZvbnQ+JiYsIGZsb2F0IHNpemUsIGJvb2wgc3ludGhldGlj
Qm9sZCwgYm9vbCBzeW50aGV0aWNPYmxpcXVlLCBib29sIHVzZUdESSk7CiAjZW5kaWYKLQotI2lm
IFBMQVRGT1JNKFdJTikgJiYgVVNFKENBSVJPKQorI2lmIFVTRShDQUlSTykKICAgICBGb250UGxh
dGZvcm1EYXRhKEdESU9iamVjdDxIRk9OVD4sIGNhaXJvX2ZvbnRfZmFjZV90KiwgZmxvYXQgc2l6
ZSwgYm9vbCBib2xkLCBib29sIGl0YWxpYyk7CiAjZW5kaWYKKyNlbmRpZgogCiAjaWYgVVNFKEZS
RUVUWVBFKQogICAgIEZvbnRQbGF0Zm9ybURhdGEoY2Fpcm9fZm9udF9mYWNlX3QqLCBSZWZQdHI8
RmNQYXR0ZXJuPiYmLCBmbG9hdCBzaXplLCBib29sIGZpeGVkV2lkdGgsIGJvb2wgc3ludGhldGlj
Qm9sZCwgYm9vbCBzeW50aGV0aWNPYmxpcXVlLCBGb250T3JpZW50YXRpb24pOwogI2VuZGlmCiAK
KyAgICBzdGF0aWMgRm9udFBsYXRmb3JtRGF0YSBjbG9uZVdpdGhPcmllbnRhdGlvbihjb25zdCBG
b250UGxhdGZvcm1EYXRhJiwgRm9udE9yaWVudGF0aW9uKTsKKyAgICBzdGF0aWMgRm9udFBsYXRm
b3JtRGF0YSBjbG9uZVdpdGhTeW50aGV0aWNPYmxpcXVlKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEm
LCBib29sKTsKKyAgICBzdGF0aWMgRm9udFBsYXRmb3JtRGF0YSBjbG9uZVdpdGhTaXplKGNvbnN0
IEZvbnRQbGF0Zm9ybURhdGEmLCBmbG9hdCk7CisKICNpZiBQTEFURk9STShXSU4pCiAgICAgSEZP
TlQgaGZvbnQoKSBjb25zdCB7IHJldHVybiBtX2ZvbnQgPyBtX2ZvbnQtPmdldCgpIDogMDsgfQog
ICAgIGJvb2wgdXNlR0RJKCkgY29uc3QgeyByZXR1cm4gbV91c2VHREk7IH0KKyNpZiBVU0UoQ0cp
CisgICAgQ0dGb250UmVmIGNnRm9udCgpIGNvbnN0IHsgcmV0dXJuIG1fY2dGb250LmdldCgpOyB9
CiAjZW5kaWYKLQogI2lmIFVTRShDT1JFX1RFWFQpCisgICAgQ1RGb250UmVmIGN0Rm9udCgpIGNv
bnN0IHsgcmV0dXJuIG1fY3RGb250LmdldCgpOyB9CisjZW5kaWYKKyNlbGlmIFVTRShDT1JFX1RF
WFQpCiAgICAgQ1RGb250UmVmIGZvbnQoKSBjb25zdCB7IHJldHVybiBtX2ZvbnQuZ2V0KCk7IH0K
ICAgICBXRUJDT1JFX0VYUE9SVCBDVEZvbnRSZWYgcmVnaXN0ZXJlZEZvbnQoKSBjb25zdDsgLy8g
UmV0dXJucyBudWxscHRyIGlmZiB0aGUgZm9udCBpcyBub3QgcmVnaXN0ZXJlZCwgc3VjaCBhcyB3
ZWIgZm9udHMgKG90aGVyd2lzZSByZXR1cm5zIGZvbnQoKSkuCiAKQEAgLTEzNiwxMCArMTM0LDYg
QEAKIAogICAgIGJvb2wgaGFzVmFyaWF0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1faGFzVmFyaWF0
aW9uczsgfQogCi0jaWYgVVNFKENHKSAmJiBQTEFURk9STShXSU4pCi0gICAgQ0dGb250UmVmIGNn
Rm9udCgpIGNvbnN0IHsgcmV0dXJuIG1fY2dGb250LmdldCgpOyB9Ci0jZW5kaWYKLQogI2lmIFVT
RShESVJFQ1QyRCkKICAgICBJRFdyaXRlRm9udCogZHdGb250KCkgY29uc3QgeyByZXR1cm4gbV9k
d0ZvbnQuZ2V0KCk7IH0KICAgICBJRFdyaXRlRm9udEZhY2UqIGR3Rm9udEZhY2UoKSBjb25zdCB7
IHJldHVybiBtX2R3Rm9udEZhY2UuZ2V0KCk7IH0KQEAgLTE5OSwxMyArMTkzLDkgQEAKICNlbmRp
ZgogICAgIH0KIAotI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShXSU4pIHx8IFVTRShG
UkVFVFlQRSkKICAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBvcGVuVHlwZVRhYmxlKHVpbnQzMl90
IHRhYmxlKSBjb25zdDsKLSNlbmRpZgogCi0jaWYgIUxPR19ESVNBQkxFRAogICAgIFN0cmluZyBk
ZXNjcmlwdGlvbigpIGNvbnN0OwotI2VuZGlmCiAKIHByaXZhdGU6CiAgICAgYm9vbCBwbGF0Zm9y
bUlzRXF1YWwoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYpIGNvbnN0OwpAQCAtMjIyLDE4ICsyMTIs
MjAgQEAKICAgICB2b2lkIGJ1aWxkU2NhbGVkRm9udChjYWlyb19mb250X2ZhY2VfdCopOwogI2Vu
ZGlmCiAKKyNpZiBQTEFURk9STShXSU4pCisgICAgUmVmUHRyPFNoYXJlZEdESU9iamVjdDxIRk9O
VD4+IG1fZm9udDsgLy8gRklYTUU6IERlbGV0ZSB0aGlzIGluIGZhdm9yIG9mIG1fY3RGb250IG9y
IG1fZHdGb250IG9yIG1fc2NhbGVkRm9udC4KKyNpZiBVU0UoQ0cpCisgICAgUmV0YWluUHRyPENH
Rm9udFJlZj4gbV9jZ0ZvbnQ7IC8vIEZJWE1FOiBEZWxldGUgdGhpcyBpbiBmYXZvciBvZiBtX2N0
Rm9udC4KKyNlbmRpZgogI2lmIFVTRShDT1JFX1RFWFQpCisgICAgUmV0YWluUHRyPENURm9udFJl
Zj4gbV9jdEZvbnQ7CisjZW5kaWYKKyNlbGlmIFVTRShDT1JFX1RFWFQpCiAgICAgLy8gRklYTUU6
IEdldCByaWQgb2Ygb25lIG9mIHRoZXNlLiBUaGVzZSB0d28gZm9udHMgYXJlIHN1YnRseSBkaWZm
ZXJlbnQsIGFuZCBpdCBpcyBub3Qgb2J2aW91cyB3aGljaCBvbmUgdG8gdXNlIHdoZXJlLgogICAg
IFJldGFpblB0cjxDVEZvbnRSZWY+IG1fZm9udDsKICAgICBtdXRhYmxlIFJldGFpblB0cjxDVEZv
bnRSZWY+IG1fY3RGb250OwotI2VsaWYgUExBVEZPUk0oV0lOKQotICAgIFJlZlB0cjxTaGFyZWRH
RElPYmplY3Q8SEZPTlQ+PiBtX2ZvbnQ7CiAjZW5kaWYKIAotI2lmIFVTRShDRykgJiYgUExBVEZP
Uk0oV0lOKQotICAgIFJldGFpblB0cjxDR0ZvbnRSZWY+IG1fY2dGb250OwotI2VuZGlmCi0KICNp
ZiBVU0UoRElSRUNUMkQpCiAgICAgQ09NUHRyPElEV3JpdGVGb250PiBtX2R3Rm9udDsKICAgICBD
T01QdHI8SURXcml0ZUZvbnRGYWNlPiBtX2R3Rm9udEZhY2U7CkBAIC0yNDcsOCArMjM5LDYgQEAK
ICAgICBSZWZQdHI8RmNQYXR0ZXJuPiBtX3BhdHRlcm47CiAjZW5kaWYKIAotICAgIC8vIFRoZSB2
YWx1ZXMgYmVsb3cgYXJlIGNvbW1vbiB0byBhbGwgcG9ydHMKLSAgICAvLyBGSVhNRTogSWYgdGhl
eSdyZSBjb21tb24gdG8gYWxsIHBvcnRzLCB0aGV5IHNob3VsZCBtb3ZlIHRvIEZvbnQKICAgICBm
bG9hdCBtX3NpemUgeyAwIH07CiAKICAgICBGb250T3JpZW50YXRpb24gbV9vcmllbnRhdGlvbiB7
IEZvbnRPcmllbnRhdGlvbjo6SG9yaXpvbnRhbCB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY3QvRm9udENhc2NhZGVDb3JlVGV4dC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3QvRm9udENhc2NhZGVDb3JlVGV4dC5j
cHAJKHJldmlzaW9uIDI2NjkzNikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2N0L0ZvbnRDYXNjYWRlQ29yZVRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSw2ICs0MSw4
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorI2lmICFQTEFURk9STShXSU4pCisKIC8vIENv
bmZ1c2luZ2x5LCBldmVuIHdoZW4gQ0dGb250UmVuZGVyaW5nR2V0Rm9udFNtb290aGluZ0Rpc2Fi
bGVkKCkgcmV0dXJucyB0cnVlLCBDR0NvbnRleHRTZXRTaG91bGRTbW9vdGhGb250cygpIHN0aWxs
IGltcGFjdHMgdGV4dAogLy8gcmVuZGVyaW5nLCB3aGljaCBpcyB3aHkgdGhpcyBmdW5jdGlvbiB1
c2VzIHRoZSAic3VicGl4ZWwgYW50aWFsaWFzaW5nIiByYXRoZXIgdGhhbiAic21vb3RoaW5nIiB0
ZXJtaW5vbG9neS4KIGJvb2wgRm9udENhc2NhZGU6OmlzU3VicGl4ZWxBbnRpYWxpYXNpbmdBdmFp
bGFibGUoKQpAQCAtMzA5LDQgKzMxMSw2IEBACiAgICAgcmV0dXJuIEZvbnQ6OnN5c3RlbUZhbGxi
YWNrKCk7CiB9CiAKKyNlbmRpZgorCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jdC9Gb250Q29yZVRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2N0L0ZvbnRDb3JlVGV4dC5jcHAJKHJldmlzaW9uIDI2NjkzNikK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N0L0ZvbnRDb3JlVGV4dC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTUxLDYgKzUxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CisjaWYgIVBMQVRGT1JNKFdJTikKKwogc3RhdGljIGlubGluZSBib29sIGNhc2VJbnNlbnNpdGl2
ZUNvbXBhcmUoQ0ZTdHJpbmdSZWYgYSwgQ0ZTdHJpbmdSZWYgYikKIHsKICAgICByZXR1cm4gYSAm
JiBDRlN0cmluZ0NvbXBhcmUoYSwgYiwga0NGQ29tcGFyZUNhc2VJbnNlbnNpdGl2ZSkgPT0ga0NG
Q29tcGFyZUVxdWFsVG87CkBAIC03NjgsNCArNzcwLDYgQEAKICAgICB9KTsKIH0KIAorI2VuZGlm
CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2N0L0ZvbnRQbGF0Zm9ybURhdGFDb3JlVGV4dC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3QvRm9udFBsYXRmb3JtRGF0YUNvcmVU
ZXh0LmNwcAkocmV2aXNpb24gMjY2OTM2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY3QvRm9udFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzUsNiArMzUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyNpZiAhUExBVEZPUk0oV0lO
KQorCiBGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKENURm9udFJlZiBmb250LCBm
bG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgRm9u
dE9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBGb250V2lkdGhWYXJpYW50IHdpZHRoVmFyaWFudCwg
VGV4dFJlbmRlcmluZ01vZGUgdGV4dFJlbmRlcmluZ01vZGUpCiAgICAgOiBGb250UGxhdGZvcm1E
YXRhKHNpemUsIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY09ibGlxdWUsIG9yaWVudGF0aW9uLCB3
aWR0aFZhcmlhbnQsIHRleHRSZW5kZXJpbmdNb2RlKQogewpAQCAtMTgwLDQgKzE4Miw2IEBACiAg
ICAgcmV0dXJuIHsgfTsKIH0KIAorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N0L0dseXBoUGFnZUNvcmVUZXh0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdC9H
bHlwaFBhZ2VDb3JlVGV4dC5jcHAJKHJldmlzaW9uIDI2NjkzNikKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2N0L0dseXBoUGFnZUNvcmVUZXh0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDEsNiArNDEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyNpZiAhUExBVEZP
Uk0oV0lOKQorCiBzdGF0aWMgYm9vbCBzaG91bGRGaWxsV2l0aFZlcnRpY2FsR2x5cGhzKGNvbnN0
IFVDaGFyKiBidWZmZXIsIHVuc2lnbmVkIGJ1ZmZlckxlbmd0aCwgY29uc3QgRm9udCYgZm9udCkK
IHsKICAgICBpZiAoIWZvbnQuaGFzVmVydGljYWxHbHlwaHMoKSkKQEAgLTc4LDQgKzgwLDYgQEAK
ICAgICByZXR1cm4gaGF2ZUdseXBoczsKIH0KIAorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxh
dGZvcm1EYXRhQ0dXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ0dXaW4uY3BwCShyZXZpc2lvbiAyNjY5MzYp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRmb3JtRGF0
YUNHV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAi
U2hhcmVkR0RJT2JqZWN0LmgiCiAjaW5jbHVkZSA8cGFsL3NwaS9jZy9Db3JlR3JhcGhpY3NTUEku
aD4KKyNpbmNsdWRlIDxwYWwvc3BpL3dpbi9Db3JlVGV4dFNQSVdpbi5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KQEAgLTExNCw2ICsxMTUsNyBAQAogICAgIExPR0ZPTlQgbG9nZm9udDsKICAgICBH
ZXRPYmplY3QoZm9udCwgc2l6ZW9mKGxvZ2ZvbnQpLCAmbG9nZm9udCk7CiAgICAgbV9jZ0ZvbnQg
PSBhZG9wdENGKENHRm9udENyZWF0ZVdpdGhQbGF0Zm9ybUZvbnQoJmxvZ2ZvbnQpKTsKKyAgICBt
X2N0Rm9udCA9IGFkb3B0Q0YoQ1RGb250Q3JlYXRlV2l0aEdyYXBoaWNzRm9udChtX2NnRm9udC5n
ZXQoKSwgc2l6ZSwgbnVsbHB0ciwgbnVsbHB0cikpOwogICAgIGlmICghbV91c2VHREkpCiAgICAg
ICAgIG1faXNTeXN0ZW1Gb250ID0gIXdjc2NtcChmYWNlTmFtZSwgTCJMdWNpZGEgR3JhbmRlIik7
CiB9CkBAIC0xMjQsMTkgKzEyNiwzMyBAQAogICAgICwgbV9zaXplKHNpemUpCiAgICAgLCBtX2Zv
bnQoU2hhcmVkR0RJT2JqZWN0PEhGT05UPjo6Y3JlYXRlKFdURk1vdmUoaGZvbnQpKSkKICAgICAs
IG1fY2dGb250KGZvbnQpCisgICAgLCBtX2N0Rm9udChhZG9wdENGKENURm9udENyZWF0ZVdpdGhH
cmFwaGljc0ZvbnQobV9jZ0ZvbnQuZ2V0KCksIHNpemUsIG51bGxwdHIsIG51bGxwdHIpKSkKICAg
ICAsIG1fdXNlR0RJKHVzZUdESSkKIHsKIH0KIAorRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRm
b3JtRGF0YShDR0ZvbnRSZWYgY2dGb250LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQs
IGJvb2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBGb250
V2lkdGhWYXJpYW50IHdpZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01vZGUgdGV4dFJlbmRlcmlu
Z01vZGUpCisgICAgOiBGb250UGxhdGZvcm1EYXRhKHNpemUsIHN5bnRoZXRpY0JvbGQsIHN5bnRo
ZXRpY09ibGlxdWUsIG9yaWVudGF0aW9uLCB3aWR0aFZhcmlhbnQsIHRleHRSZW5kZXJpbmdNb2Rl
KQoreworICAgIG1fY2dGb250ID0gY2dGb250OworICAgIEFTU0VSVChtX2NnRm9udCk7CisgICAg
bV9jdEZvbnQgPSBhZG9wdENGKENURm9udENyZWF0ZVdpdGhHcmFwaGljc0ZvbnQobV9jZ0ZvbnQu
Z2V0KCksIHNpemUsIG51bGxwdHIsIG51bGxwdHIpKTsKK30KKwogdW5zaWduZWQgRm9udFBsYXRm
b3JtRGF0YTo6aGFzaCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fZm9udCA/IG1fZm9udC0+aGFz
aCgpIDogMDsKKyAgICB1bnNpZ25lZCBmb250SGFzaCA9IG1fZm9udCA/IG1fZm9udC0+aGFzaCgp
IDogMDsKKyAgICBDRkhhc2hDb2RlIGNnRm9udEhhc2ggPSBDRkhhc2gobV9jZ0ZvbnQuZ2V0KCkp
OworICAgIENGSGFzaENvZGUgY3RGb250SGFzaCA9IENGSGFzaChtX2N0Rm9udC5nZXQoKSk7Cisg
ICAgdWludHB0cl90IGhhc2hDb2Rlc1tdID0geyBmb250SGFzaCwgY2dGb250SGFzaCwgY3RGb250
SGFzaCwgbV91c2VHREkgfTsKKyAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpoYXNoTWVtb3J5PHNp
emVvZihoYXNoQ29kZXMpPihoYXNoQ29kZXMpOwogfQogCiBib29sIEZvbnRQbGF0Zm9ybURhdGE6
OnBsYXRmb3JtSXNFcXVhbChjb25zdCBGb250UGxhdGZvcm1EYXRhJiBvdGhlcikgY29uc3QKIHsK
ICAgICByZXR1cm4gbV9mb250ID09IG90aGVyLm1fZm9udAotICAgICAgICAmJiBtX2NnRm9udCA9
PSBvdGhlci5tX2NnRm9udAorICAgICAgICAmJiBDRkVxdWFsKG1fY2dGb250LmdldCgpLCBvdGhl
ci5tX2NnRm9udC5nZXQoKSkKKyAgICAgICAgJiYgQ0ZFcXVhbChtX2N0Rm9udC5nZXQoKSwgb3Ro
ZXIubV9jdEZvbnQuZ2V0KCkpCiAgICAgICAgICYmIG1fdXNlR0RJID09IG90aGVyLm1fdXNlR0RJ
OwogfQogCkluZGV4OiBTb3VyY2UvY21ha2UvT3B0aW9uc0FwcGxlV2luLmNtYWtlCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9jbWFrZS9PcHRpb25zQXBwbGVXaW4uY21ha2UJKHJldmlzaW9uIDI2Njkz
NikKKysrIFNvdXJjZS9jbWFrZS9PcHRpb25zQXBwbGVXaW4uY21ha2UJKHdvcmtpbmcgY29weSkK
QEAgLTQ4LDYgKzQ4LDcgQEAKIGVsc2UgKCkKICAgICBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChV
U0VfQ0EgT04pCiAgICAgU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoVVNFX0NHIE9OKQorICAgIFNF
VF9BTkRfRVhQT1NFX1RPX0JVSUxEKFVTRV9DT1JFX1RFWFQgT04pCiAKICAgICBzZXQoQ01BS0Vf
UkVRVUlSRURfSU5DTFVERVMgJHtXRUJLSVRfTElCUkFSSUVTX0lOQ0xVREVfRElSfSkKICAgICBz
ZXQoQ01BS0VfUkVRVUlSRURfTElCUkFSSUVTCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408590</attachid>
            <date>2020-09-12 04:03:47 -0700</date>
            <delta_ts>2020-09-12 13:50:30 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>file.txt</filename>
            <type>text/plain</type>
            <size>13519</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BsYXRmb3JtQXBwbGVXaW4uY21ha2UKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvUGxhdGZvcm1BcHBsZVdpbi5jbWFrZQkocmV2aXNpb24gMjY2OTM2
KQorKysgU291cmNlL1dlYkNvcmUvUGxhdGZvcm1BcHBsZVdpbi5jbWFrZQkod29ya2luZyBjb3B5
KQpAQCAtMTUwLDE0ICsxNTAsMTcgQEAKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvY2cvVHJh
bnNmb3JtYXRpb25NYXRyaXhDRy5jcHAKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvY2cvVVRJ
UmVnaXN0cnkuY3BwCiAKKyAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvY29yZXRleHQvRm9udENh
c2NhZGVDb3JlVGV4dC5jcHAKKyAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvY29yZXRleHQvRm9u
dENvcmVUZXh0LmNwcAorICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250UGxh
dGZvcm1EYXRhQ29yZVRleHQuY3BwCisgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL2NvcmV0ZXh0
L0dseXBoUGFnZUNvcmVUZXh0LmNwcAorCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL29wZW50
eXBlL09wZW5UeXBlQ0cuY3BwCiAKLSAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRD
R1dpbi5jcHAKKyAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDYXNjYWRlQ0dXaW4u
Y3BwCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ0dXaW4u
Y3BwCi0gICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9HbHlwaFBhZ2VUcmVlTm9kZUNHV2lu
LmNwcAogICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy93aW4vR3JhcGhpY3NDb250ZXh0Q0dXaW4u
Y3BwCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9JbWFnZUNHV2luLmNwcAotICAgICAg
ICBwbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFDR1dpbi5jcHAKIAogICAgICAg
ICBwbGF0Zm9ybS93aW4vRHJhZ0ltYWdlQ0dXaW4uY3BwCiAgICAgKQpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAJKHJldmlzaW9uIDI2NjkzNikKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00NzQsNyArNDc0LDcgQEAKICAgICByZXR1cm4gKmRlcml2ZWRGb250RGF0YS5icm9rZW5JZGVv
Z3JhcGhGb250OwogfQogCi0jaWYgIVVTRShDT1JFX1RFWFQpCisjaWYgIVVTRShDT1JFX1RFWFQp
IHx8IFBMQVRGT1JNKFdJTikKIAogYm9vbCBGb250Ojppc1Byb2JhYmx5T25seVVzZWRUb1JlbmRl
ckljb25zKCkgY29uc3QKIHsKQEAgLTUxMSw3ICs1MTEsNyBAQAogICAgIHJldHVybiBwbGF0Zm9y
bUNyZWF0ZVNjYWxlZEZvbnQoZm9udERlc2NyaXB0aW9uLCBzY2FsZUZhY3Rvcik7CiB9CiAKLSNp
ZiAhVVNFKENPUkVfVEVYVCkKKyNpZiAhVVNFKENPUkVfVEVYVCkgfHwgUExBVEZPUk0oV0lOKQog
dm9pZCBGb250OjphcHBseVRyYW5zZm9ybXMoR2x5cGhCdWZmZXImLCB1bnNpZ25lZCwgdW5zaWdu
ZWQsIGJvb2wsIGJvb2wsIGNvbnN0IEF0b21TdHJpbmcmLCBTdHJpbmdWaWV3LCBUZXh0RGlyZWN0
aW9uKSBjb25zdAogewogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udENhc2NhZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAkocmV2aXNpb24gMjY2OTM2KQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
OTUsNyArNTk1LDcgQEAKICAgICByZXR1cm4gc2hvdWxkVXNlRm9udFNtb290aGluZzsKIH0KIAot
I2lmICFVU0UoQ09SRV9URVhUKQorI2lmICFVU0UoQ09SRV9URVhUKSB8fCBQTEFURk9STShXSU4p
CiBib29sIEZvbnRDYXNjYWRlOjppc1N1YnBpeGVsQW50aWFsaWFzaW5nQXZhaWxhYmxlKCkKIHsK
ICAgICByZXR1cm4gZmFsc2U7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250UGxhdGZvcm1EYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmNwcAkocmV2aXNpb24gMjY2OTM2KQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDEwIEBACiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NH
Rm9udC5oPgogI2VuZGlmCiAKKyNpZiBQTEFURk9STShXSU4pICYmIFVTRShDT1JFX1RFWFQpCisj
aW5jbHVkZSA8cGFsL3NwaS93aW4vQ29yZVRleHRTUElXaW4uaD4KKyNlbmRpZgorCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIEZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEoV1RGOjpI
YXNoVGFibGVEZWxldGVkVmFsdWVUeXBlKQpAQCAtNTIsMTUgKzU2LDYgQEAKIHsKIH0KIAotI2lm
IFVTRShDRykgJiYgUExBVEZPUk0oV0lOKQotRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3Jt
RGF0YShDR0ZvbnRSZWYgY2dGb250LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJv
b2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBGb250V2lk
dGhWYXJpYW50IHdpZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01vZGUgdGV4dFJlbmRlcmluZ01v
ZGUpCi0gICAgOiBGb250UGxhdGZvcm1EYXRhKHNpemUsIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRp
Y09ibGlxdWUsIG9yaWVudGF0aW9uLCB3aWR0aFZhcmlhbnQsIHRleHRSZW5kZXJpbmdNb2RlKQot
ewotICAgIG1fY2dGb250ID0gY2dGb250OwotICAgIEFTU0VSVChtX2NnRm9udCk7Ci19Ci0jZW5k
aWYKLQogI2lmICFVU0UoRlJFRVRZUEUpCiBGb250UGxhdGZvcm1EYXRhIEZvbnRQbGF0Zm9ybURh
dGE6OmNsb25lV2l0aE9yaWVudGF0aW9uKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHNvdXJjZSwg
Rm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uKQogewpAQCAtODQsNyArNzksNyBAQAogfQogI2Vu
ZGlmCiAKLSNpZiAhVVNFKENPUkVfVEVYVCkKKyNpZiAhVVNFKENPUkVfVEVYVCkgfHwgUExBVEZP
Uk0oV0lOKQogCiBTdHJpbmcgRm9udFBsYXRmb3JtRGF0YTo6ZmFtaWx5TmFtZSgpIGNvbnN0CiB7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRh
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBs
YXRmb3JtRGF0YS5oCShyZXZpc2lvbiAyNjY5MzYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTg2LDQwICs4
NiwzOCBAQAogICAgIFdFQkNPUkVfRVhQT1JUIEZvbnRQbGF0Zm9ybURhdGEoQ1RGb250UmVmLCBm
bG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQgPSBmYWxzZSwgYm9vbCBzeW50aGV0aWNPYmxp
cXVlID0gZmFsc2UsIEZvbnRPcmllbnRhdGlvbiA9IEZvbnRPcmllbnRhdGlvbjo6SG9yaXpvbnRh
bCwgRm9udFdpZHRoVmFyaWFudCA9IEZvbnRXaWR0aFZhcmlhbnQ6OlJlZ3VsYXJXaWR0aCwgVGV4
dFJlbmRlcmluZ01vZGUgPSBUZXh0UmVuZGVyaW5nTW9kZTo6QXV0b1RleHRSZW5kZXJpbmcpOwog
I2VuZGlmCiAKLSAgICBzdGF0aWMgRm9udFBsYXRmb3JtRGF0YSBjbG9uZVdpdGhPcmllbnRhdGlv
bihjb25zdCBGb250UGxhdGZvcm1EYXRhJiwgRm9udE9yaWVudGF0aW9uKTsKLSAgICBzdGF0aWMg
Rm9udFBsYXRmb3JtRGF0YSBjbG9uZVdpdGhTeW50aGV0aWNPYmxpcXVlKGNvbnN0IEZvbnRQbGF0
Zm9ybURhdGEmLCBib29sKTsKLSAgICBzdGF0aWMgRm9udFBsYXRmb3JtRGF0YSBjbG9uZVdpdGhT
aXplKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmLCBmbG9hdCk7Ci0KLSNpZiBVU0UoQ0cpICYmIFBM
QVRGT1JNKFdJTikKLSAgICBGb250UGxhdGZvcm1EYXRhKENHRm9udFJlZiwgZmxvYXQgc2l6ZSwg
Ym9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY09ibGlxdWUsIEZvbnRPcmllbnRhdGlv
biwgRm9udFdpZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01vZGUpOwotI2VuZGlmCi0KICNpZiBQ
TEFURk9STShXSU4pCiAgICAgRm9udFBsYXRmb3JtRGF0YShHRElPYmplY3Q8SEZPTlQ+LCBmbG9h
dCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgYm9vbCB1
c2VHREkpOwotI2VuZGlmCi0KLSNpZiBQTEFURk9STShXSU4pICYmIFVTRShDRykKKyNpZiBVU0Uo
Q0cpCiAgICAgRm9udFBsYXRmb3JtRGF0YShHRElPYmplY3Q8SEZPTlQ+LCBDR0ZvbnRSZWYsIGZs
b2F0IHNpemUsIGJvb2wgc3ludGhldGljQm9sZCwgYm9vbCBzeW50aGV0aWNPYmxpcXVlLCBib29s
IHVzZUdESSk7CisgICAgRm9udFBsYXRmb3JtRGF0YShDR0ZvbnRSZWYsIGZsb2F0IHNpemUsIGJv
b2wgc3ludGhldGljQm9sZCwgYm9vbCBzeW50aGV0aWNPYmxpcXVlLCBGb250T3JpZW50YXRpb24s
IEZvbnRXaWR0aFZhcmlhbnQsIFRleHRSZW5kZXJpbmdNb2RlKTsKICNlbmRpZgotCi0jaWYgUExB
VEZPUk0oV0lOKSAmJiBVU0UoRElSRUNUMkQpCisjaWYgVVNFKERJUkVDVDJEKQogICAgIEZvbnRQ
bGF0Zm9ybURhdGEoR0RJT2JqZWN0PEhGT05UPiYmLCBDT01QdHI8SURXcml0ZUZvbnQ+JiYsIGZs
b2F0IHNpemUsIGJvb2wgc3ludGhldGljQm9sZCwgYm9vbCBzeW50aGV0aWNPYmxpcXVlLCBib29s
IHVzZUdESSk7CiAjZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdJTikgJiYgVVNFKENBSVJPKQorI2lm
IFVTRShDQUlSTykKICAgICBGb250UGxhdGZvcm1EYXRhKEdESU9iamVjdDxIRk9OVD4sIGNhaXJv
X2ZvbnRfZmFjZV90KiwgZmxvYXQgc2l6ZSwgYm9vbCBib2xkLCBib29sIGl0YWxpYyk7CiAjZW5k
aWYKKyNlbmRpZgogCiAjaWYgVVNFKEZSRUVUWVBFKQogICAgIEZvbnRQbGF0Zm9ybURhdGEoY2Fp
cm9fZm9udF9mYWNlX3QqLCBSZWZQdHI8RmNQYXR0ZXJuPiYmLCBmbG9hdCBzaXplLCBib29sIGZp
eGVkV2lkdGgsIGJvb2wgc3ludGhldGljQm9sZCwgYm9vbCBzeW50aGV0aWNPYmxpcXVlLCBGb250
T3JpZW50YXRpb24pOwogI2VuZGlmCiAKKyAgICBzdGF0aWMgRm9udFBsYXRmb3JtRGF0YSBjbG9u
ZVdpdGhPcmllbnRhdGlvbihjb25zdCBGb250UGxhdGZvcm1EYXRhJiwgRm9udE9yaWVudGF0aW9u
KTsKKyAgICBzdGF0aWMgRm9udFBsYXRmb3JtRGF0YSBjbG9uZVdpdGhTeW50aGV0aWNPYmxpcXVl
KGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmLCBib29sKTsKKyAgICBzdGF0aWMgRm9udFBsYXRmb3Jt
RGF0YSBjbG9uZVdpdGhTaXplKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmLCBmbG9hdCk7CisKICNp
ZiBQTEFURk9STShXSU4pCiAgICAgSEZPTlQgaGZvbnQoKSBjb25zdCB7IHJldHVybiBtX2ZvbnQg
PyBtX2ZvbnQtPmdldCgpIDogMDsgfQogICAgIGJvb2wgdXNlR0RJKCkgY29uc3QgeyByZXR1cm4g
bV91c2VHREk7IH0KKyNpZiBVU0UoQ0cpCisgICAgQ0dGb250UmVmIGNnRm9udCgpIGNvbnN0IHsg
cmV0dXJuIG1fY2dGb250LmdldCgpOyB9CiAjZW5kaWYKLQogI2lmIFVTRShDT1JFX1RFWFQpCisg
ICAgQ1RGb250UmVmIGN0Rm9udCgpIGNvbnN0IHsgcmV0dXJuIG1fY3RGb250LmdldCgpOyB9Cisj
ZW5kaWYKKyNlbGlmIFVTRShDT1JFX1RFWFQpCiAgICAgQ1RGb250UmVmIGZvbnQoKSBjb25zdCB7
IHJldHVybiBtX2ZvbnQuZ2V0KCk7IH0KICAgICBXRUJDT1JFX0VYUE9SVCBDVEZvbnRSZWYgcmVn
aXN0ZXJlZEZvbnQoKSBjb25zdDsgLy8gUmV0dXJucyBudWxscHRyIGlmZiB0aGUgZm9udCBpcyBu
b3QgcmVnaXN0ZXJlZCwgc3VjaCBhcyB3ZWIgZm9udHMgKG90aGVyd2lzZSByZXR1cm5zIGZvbnQo
KSkuCiAKQEAgLTEzNiwxMCArMTM0LDYgQEAKIAogICAgIGJvb2wgaGFzVmFyaWF0aW9ucygpIGNv
bnN0IHsgcmV0dXJuIG1faGFzVmFyaWF0aW9uczsgfQogCi0jaWYgVVNFKENHKSAmJiBQTEFURk9S
TShXSU4pCi0gICAgQ0dGb250UmVmIGNnRm9udCgpIGNvbnN0IHsgcmV0dXJuIG1fY2dGb250Lmdl
dCgpOyB9Ci0jZW5kaWYKLQogI2lmIFVTRShESVJFQ1QyRCkKICAgICBJRFdyaXRlRm9udCogZHdG
b250KCkgY29uc3QgeyByZXR1cm4gbV9kd0ZvbnQuZ2V0KCk7IH0KICAgICBJRFdyaXRlRm9udEZh
Y2UqIGR3Rm9udEZhY2UoKSBjb25zdCB7IHJldHVybiBtX2R3Rm9udEZhY2UuZ2V0KCk7IH0KQEAg
LTE5OSwxMyArMTkzLDkgQEAKICNlbmRpZgogICAgIH0KIAotI2lmIFBMQVRGT1JNKENPQ09BKSB8
fCBQTEFURk9STShXSU4pIHx8IFVTRShGUkVFVFlQRSkKICAgICBSZWZQdHI8U2hhcmVkQnVmZmVy
PiBvcGVuVHlwZVRhYmxlKHVpbnQzMl90IHRhYmxlKSBjb25zdDsKLSNlbmRpZgogCi0jaWYgIUxP
R19ESVNBQkxFRAogICAgIFN0cmluZyBkZXNjcmlwdGlvbigpIGNvbnN0OwotI2VuZGlmCiAKIHBy
aXZhdGU6CiAgICAgYm9vbCBwbGF0Zm9ybUlzRXF1YWwoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYp
IGNvbnN0OwpAQCAtMjIyLDE4ICsyMTIsMjAgQEAKICAgICB2b2lkIGJ1aWxkU2NhbGVkRm9udChj
YWlyb19mb250X2ZhY2VfdCopOwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShXSU4pCisgICAgUmVm
UHRyPFNoYXJlZEdESU9iamVjdDxIRk9OVD4+IG1fZm9udDsgLy8gRklYTUU6IERlbGV0ZSB0aGlz
IGluIGZhdm9yIG9mIG1fY3RGb250IG9yIG1fZHdGb250IG9yIG1fc2NhbGVkRm9udC4KKyNpZiBV
U0UoQ0cpCisgICAgUmV0YWluUHRyPENHRm9udFJlZj4gbV9jZ0ZvbnQ7IC8vIEZJWE1FOiBEZWxl
dGUgdGhpcyBpbiBmYXZvciBvZiBtX2N0Rm9udC4KKyNlbmRpZgogI2lmIFVTRShDT1JFX1RFWFQp
CisgICAgUmV0YWluUHRyPENURm9udFJlZj4gbV9jdEZvbnQ7CisjZW5kaWYKKyNlbGlmIFVTRShD
T1JFX1RFWFQpCiAgICAgLy8gRklYTUU6IEdldCByaWQgb2Ygb25lIG9mIHRoZXNlLiBUaGVzZSB0
d28gZm9udHMgYXJlIHN1YnRseSBkaWZmZXJlbnQsIGFuZCBpdCBpcyBub3Qgb2J2aW91cyB3aGlj
aCBvbmUgdG8gdXNlIHdoZXJlLgogICAgIFJldGFpblB0cjxDVEZvbnRSZWY+IG1fZm9udDsKICAg
ICBtdXRhYmxlIFJldGFpblB0cjxDVEZvbnRSZWY+IG1fY3RGb250OwotI2VsaWYgUExBVEZPUk0o
V0lOKQotICAgIFJlZlB0cjxTaGFyZWRHRElPYmplY3Q8SEZPTlQ+PiBtX2ZvbnQ7CiAjZW5kaWYK
IAotI2lmIFVTRShDRykgJiYgUExBVEZPUk0oV0lOKQotICAgIFJldGFpblB0cjxDR0ZvbnRSZWY+
IG1fY2dGb250OwotI2VuZGlmCi0KICNpZiBVU0UoRElSRUNUMkQpCiAgICAgQ09NUHRyPElEV3Jp
dGVGb250PiBtX2R3Rm9udDsKICAgICBDT01QdHI8SURXcml0ZUZvbnRGYWNlPiBtX2R3Rm9udEZh
Y2U7CkBAIC0yNDcsOCArMjM5LDYgQEAKICAgICBSZWZQdHI8RmNQYXR0ZXJuPiBtX3BhdHRlcm47
CiAjZW5kaWYKIAotICAgIC8vIFRoZSB2YWx1ZXMgYmVsb3cgYXJlIGNvbW1vbiB0byBhbGwgcG9y
dHMKLSAgICAvLyBGSVhNRTogSWYgdGhleSdyZSBjb21tb24gdG8gYWxsIHBvcnRzLCB0aGV5IHNo
b3VsZCBtb3ZlIHRvIEZvbnQKICAgICBmbG9hdCBtX3NpemUgeyAwIH07CiAKICAgICBGb250T3Jp
ZW50YXRpb24gbV9vcmllbnRhdGlvbiB7IEZvbnRPcmllbnRhdGlvbjo6SG9yaXpvbnRhbCB9OwpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZXRleHQvRm9udENhc2Nh
ZGVDb3JlVGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29yZXRleHQvRm9udENhc2NhZGVDb3JlVGV4dC5jcHAJKHJldmlzaW9uIDI2NjkzNikK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmV0ZXh0L0ZvbnRDYXNjYWRl
Q29yZVRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSw2ICs0MSw4IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAorI2lmICFQTEFURk9STShXSU4pCisKIC8vIENvbmZ1c2luZ2x5LCBldmVu
IHdoZW4gQ0dGb250UmVuZGVyaW5nR2V0Rm9udFNtb290aGluZ0Rpc2FibGVkKCkgcmV0dXJucyB0
cnVlLCBDR0NvbnRleHRTZXRTaG91bGRTbW9vdGhGb250cygpIHN0aWxsIGltcGFjdHMgdGV4dAog
Ly8gcmVuZGVyaW5nLCB3aGljaCBpcyB3aHkgdGhpcyBmdW5jdGlvbiB1c2VzIHRoZSAic3VicGl4
ZWwgYW50aWFsaWFzaW5nIiByYXRoZXIgdGhhbiAic21vb3RoaW5nIiB0ZXJtaW5vbG9neS4KIGJv
b2wgRm9udENhc2NhZGU6OmlzU3VicGl4ZWxBbnRpYWxpYXNpbmdBdmFpbGFibGUoKQpAQCAtMzA5
LDQgKzMxMSw2IEBACiAgICAgcmV0dXJuIEZvbnQ6OnN5c3RlbUZhbGxiYWNrKCk7CiB9CiAKKyNl
bmRpZgorCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4
dC9Gb250Q29yZVRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvcmV0ZXh0L0ZvbnRDb3JlVGV4dC5jcHAJKHJldmlzaW9uIDI2NjkzNikKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmV0ZXh0L0ZvbnRDb3JlVGV4dC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTUxLDYgKzUxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCisjaWYgIVBMQVRGT1JNKFdJTikKKwogc3RhdGljIGlubGluZSBib29sIGNhc2VJbnNlbnNp
dGl2ZUNvbXBhcmUoQ0ZTdHJpbmdSZWYgYSwgQ0ZTdHJpbmdSZWYgYikKIHsKICAgICByZXR1cm4g
YSAmJiBDRlN0cmluZ0NvbXBhcmUoYSwgYiwga0NGQ29tcGFyZUNhc2VJbnNlbnNpdGl2ZSkgPT0g
a0NGQ29tcGFyZUVxdWFsVG87CkBAIC03NjgsNCArNzcwLDYgQEAKICAgICB9KTsKIH0KIAorI2Vu
ZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvcmV0ZXh0L0ZvbnRQbGF0Zm9ybURhdGFDb3JlVGV4dC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZXRleHQvRm9udFBs
YXRmb3JtRGF0YUNvcmVUZXh0LmNwcAkocmV2aXNpb24gMjY2OTM2KQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZXRleHQvRm9udFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzUsNiArMzUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKKyNpZiAhUExBVEZPUk0oV0lOKQorCiBGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1E
YXRhKENURm9udFJlZiBmb250LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wg
c3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBGb250V2lkdGhW
YXJpYW50IHdpZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01vZGUgdGV4dFJlbmRlcmluZ01vZGUp
CiAgICAgOiBGb250UGxhdGZvcm1EYXRhKHNpemUsIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY09i
bGlxdWUsIG9yaWVudGF0aW9uLCB3aWR0aFZhcmlhbnQsIHRleHRSZW5kZXJpbmdNb2RlKQogewpA
QCAtMTgwLDQgKzE4Miw2IEBACiAgICAgcmV0dXJuIHsgfTsKIH0KIAorI2VuZGlmCisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvcmV0ZXh0L0dseXBoUGFnZUNvcmVUZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9HbHlwaFBhZ2VDb3JlVGV4dC5jcHAJKHJl
dmlzaW9uIDI2NjkzNikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmV0
ZXh0L0dseXBoUGFnZUNvcmVUZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsNiArNDEsOCBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyNpZiAhUExBVEZPUk0oV0lOKQorCiBzdGF0aWMg
Ym9vbCBzaG91bGRGaWxsV2l0aFZlcnRpY2FsR2x5cGhzKGNvbnN0IFVDaGFyKiBidWZmZXIsIHVu
c2lnbmVkIGJ1ZmZlckxlbmd0aCwgY29uc3QgRm9udCYgZm9udCkKIHsKICAgICBpZiAoIWZvbnQu
aGFzVmVydGljYWxHbHlwaHMoKSkKQEAgLTc4LDQgKzgwLDYgQEAKICAgICByZXR1cm4gaGF2ZUds
eXBoczsKIH0KIAorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ0dXaW4uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250
UGxhdGZvcm1EYXRhQ0dXaW4uY3BwCShyZXZpc2lvbiAyNjY5MzYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRmb3JtRGF0YUNHV2luLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiU2hhcmVkR0RJT2JqZWN0Lmgi
CiAjaW5jbHVkZSA8cGFsL3NwaS9jZy9Db3JlR3JhcGhpY3NTUEkuaD4KKyNpbmNsdWRlIDxwYWwv
c3BpL3dpbi9Db3JlVGV4dFNQSVdpbi5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5j
bHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTExNCw2
ICsxMTUsNyBAQAogICAgIExPR0ZPTlQgbG9nZm9udDsKICAgICBHZXRPYmplY3QoZm9udCwgc2l6
ZW9mKGxvZ2ZvbnQpLCAmbG9nZm9udCk7CiAgICAgbV9jZ0ZvbnQgPSBhZG9wdENGKENHRm9udENy
ZWF0ZVdpdGhQbGF0Zm9ybUZvbnQoJmxvZ2ZvbnQpKTsKKyAgICBtX2N0Rm9udCA9IGFkb3B0Q0Yo
Q1RGb250Q3JlYXRlV2l0aEdyYXBoaWNzRm9udChtX2NnRm9udC5nZXQoKSwgc2l6ZSwgbnVsbHB0
ciwgbnVsbHB0cikpOwogICAgIGlmICghbV91c2VHREkpCiAgICAgICAgIG1faXNTeXN0ZW1Gb250
ID0gIXdjc2NtcChmYWNlTmFtZSwgTCJMdWNpZGEgR3JhbmRlIik7CiB9CkBAIC0xMjQsMTkgKzEy
NiwzMyBAQAogICAgICwgbV9zaXplKHNpemUpCiAgICAgLCBtX2ZvbnQoU2hhcmVkR0RJT2JqZWN0
PEhGT05UPjo6Y3JlYXRlKFdURk1vdmUoaGZvbnQpKSkKICAgICAsIG1fY2dGb250KGZvbnQpCisg
ICAgLCBtX2N0Rm9udChhZG9wdENGKENURm9udENyZWF0ZVdpdGhHcmFwaGljc0ZvbnQobV9jZ0Zv
bnQuZ2V0KCksIHNpemUsIG51bGxwdHIsIG51bGxwdHIpKSkKICAgICAsIG1fdXNlR0RJKHVzZUdE
SSkKIHsKIH0KIAorRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShDR0ZvbnRSZWYg
Y2dGb250LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2Js
aXF1ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBGb250V2lkdGhWYXJpYW50IHdpZHRo
VmFyaWFudCwgVGV4dFJlbmRlcmluZ01vZGUgdGV4dFJlbmRlcmluZ01vZGUpCisgICAgOiBGb250
UGxhdGZvcm1EYXRhKHNpemUsIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY09ibGlxdWUsIG9yaWVu
dGF0aW9uLCB3aWR0aFZhcmlhbnQsIHRleHRSZW5kZXJpbmdNb2RlKQoreworICAgIG1fY2dGb250
ID0gY2dGb250OworICAgIEFTU0VSVChtX2NnRm9udCk7CisgICAgbV9jdEZvbnQgPSBhZG9wdENG
KENURm9udENyZWF0ZVdpdGhHcmFwaGljc0ZvbnQobV9jZ0ZvbnQuZ2V0KCksIHNpemUsIG51bGxw
dHIsIG51bGxwdHIpKTsKK30KKwogdW5zaWduZWQgRm9udFBsYXRmb3JtRGF0YTo6aGFzaCgpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIG1fZm9udCA/IG1fZm9udC0+aGFzaCgpIDogMDsKKyAgICB1bnNp
Z25lZCBmb250SGFzaCA9IG1fZm9udCA/IG1fZm9udC0+aGFzaCgpIDogMDsKKyAgICBDRkhhc2hD
b2RlIGNnRm9udEhhc2ggPSBDRkhhc2gobV9jZ0ZvbnQuZ2V0KCkpOworICAgIENGSGFzaENvZGUg
Y3RGb250SGFzaCA9IENGSGFzaChtX2N0Rm9udC5nZXQoKSk7CisgICAgdWludHB0cl90IGhhc2hD
b2Rlc1tdID0geyBmb250SGFzaCwgY2dGb250SGFzaCwgY3RGb250SGFzaCwgbV91c2VHREkgfTsK
KyAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpoYXNoTWVtb3J5PHNpemVvZihoYXNoQ29kZXMpPiho
YXNoQ29kZXMpOwogfQogCiBib29sIEZvbnRQbGF0Zm9ybURhdGE6OnBsYXRmb3JtSXNFcXVhbChj
b25zdCBGb250UGxhdGZvcm1EYXRhJiBvdGhlcikgY29uc3QKIHsKICAgICByZXR1cm4gbV9mb250
ID09IG90aGVyLm1fZm9udAotICAgICAgICAmJiBtX2NnRm9udCA9PSBvdGhlci5tX2NnRm9udAor
ICAgICAgICAmJiBDRkVxdWFsKG1fY2dGb250LmdldCgpLCBvdGhlci5tX2NnRm9udC5nZXQoKSkK
KyAgICAgICAgJiYgQ0ZFcXVhbChtX2N0Rm9udC5nZXQoKSwgb3RoZXIubV9jdEZvbnQuZ2V0KCkp
CiAgICAgICAgICYmIG1fdXNlR0RJID09IG90aGVyLm1fdXNlR0RJOwogfQogCkluZGV4OiBTb3Vy
Y2UvY21ha2UvT3B0aW9uc0FwcGxlV2luLmNtYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9jbWFr
ZS9PcHRpb25zQXBwbGVXaW4uY21ha2UJKHJldmlzaW9uIDI2NjkzNikKKysrIFNvdXJjZS9jbWFr
ZS9PcHRpb25zQXBwbGVXaW4uY21ha2UJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDYgKzQ4LDcgQEAK
IGVsc2UgKCkKICAgICBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChVU0VfQ0EgT04pCiAgICAgU0VU
X0FORF9FWFBPU0VfVE9fQlVJTEQoVVNFX0NHIE9OKQorICAgIFNFVF9BTkRfRVhQT1NFX1RPX0JV
SUxEKFVTRV9DT1JFX1RFWFQgT04pCiAKICAgICBzZXQoQ01BS0VfUkVRVUlSRURfSU5DTFVERVMg
JHtXRUJLSVRfTElCUkFSSUVTX0lOQ0xVREVfRElSfSkKICAgICBzZXQoQ01BS0VfUkVRVUlSRURf
TElCUkFSSUVTCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408605</attachid>
            <date>2020-09-12 13:50:31 -0700</date>
            <delta_ts>2020-09-12 14:06:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216432-20200912135031.patch</filename>
            <type>text/plain</type>
            <size>17645</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2OTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTMxNjhhYTZjNDZiMTI4
YzYyZWQwNDhmOTMwY2M1M2E2OGRjMWRhYi4uNTI4NTUxNjZkMTc5MDJjYzZkYmM4YTY0NmNiMTBl
Njk0ZDZlMzUzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIwLTA5LTEyICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0FwcGxlIFdp
bl0gQWRkIGEgQ1RGb250IG1lbWJlciB0byBGb250UGxhdGZvcm1EYXRhCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY0MzIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIHRoZSBzZWNvbmQgc3Rl
cCBvbiB0aGUgcGF0aCB0byByZXBsYWNpbmcgdGhlIEFwcGxlIFdpbiBwb3J0J3MgdXNlIG9mIENH
Rm9udCB3aXRoIENURm9udC4KKyAgICAgICAgVGhpcyBwYXRjaCBhZGRzIG1fY3RGb250IHRvIEZv
bnRQbGF0Zm9ybURhdGEsIGFuZCBtYWtlcyBGb250UGxhdGZvcm1EYXRhJ3MgY29uc3RydWN0b3Jz
IGNyZWF0ZQorICAgICAgICB0aGlzIG9iamVjdCBmcm9tIHRoZWlyIGV4aXN0aW5nIGFyZ3VtZW50
cy4gSXQgYWxzbyBlbmFibGVzIHRoZSBVU0UoQ09SRV9URVhUKSBmbGFnIG9uIHRoZSBBcHBsZQor
ICAgICAgICBXaW4gcG9ydCwgYnV0IG1hbnVhbGx5IGRpc2FibGVzIGVhY2ggb2YgdGhlIFVTRShD
T1JFX1RFWFQpIHNpdGVzIG9uIFdpbmRvd3MsIHNvIHRoZXJlIGlzbid0IGFueQorICAgICAgICBi
ZWhhdmlvciBjaGFuZ2UganVzdCB5ZXQuIFRoZSBuZXcgbWVtYmVyLCBtX2N0Rm9udCwgaXMgdGhl
cmVmb3JlIHN0aWxsIHVudXNlZCBpbiB0aGlzIHBhdGNoLiBUaGUKKyAgICAgICAgbmV4dCBzdGVw
cyB3aWxsIGJlIHJlcGxhY2luZyBvdXIgY3VycmVudCBBcHBsZSBXaW4gZm9udCBmdW5jdGlvbnMg
d2l0aCB0aGVpciBVU0UoQ09SRV9URVhUKQorICAgICAgICBjb3VudGVycGFydHMsIG9uZS1ieS1v
bmUuIChSZXBsYWNpbmcgdGhlbSBvbmUtYnktb25lIGlzIGJldHRlciB0aGFuIGRvaW5nIHRoZW0g
YWxsIGF0IG9uY2UgaW4gYQorICAgICAgICBnaWFudCBtb25kby1wYXRjaC4pCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3IgY2hhbmdlIHlldC4KKwor
ICAgICAgICAqIFBsYXRmb3JtQXBwbGVXaW4uY21ha2U6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUu
Y3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuaDogVGhlICNkZWZp
bmVzIGFyZSB0ZW1wb3JhcmlseSBnZXR0aW5nIHdvcnNlIGJlZm9yZSB0aGV5J2xsCisgICAgICAg
IGJlIGdldHRpbmcgYmV0dGVyLiBXaGVuIHRoaXMgcHJvamVjdCBpcyBkb25lLCB0aGVyZSB3aWxs
IGJlIGZld2VyICNkZWZpbmVzLCBhbmQgdGhpcyBmaWxlIHdpbGwgYmUKKyAgICAgICAgY2xlYW5l
ciB0aGFuIGl0IHdhcyB3aGVuIEkgc3RhcnRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0
Zm9ybURhdGE6OmNnRm9udCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1E
YXRhOjpjdEZvbnQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvcmV0ZXh0
L0ZvbnRDYXNjYWRlQ29yZVRleHQuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nv
cmV0ZXh0L0ZvbnRDb3JlVGV4dC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29y
ZXRleHQvRm9udFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jb3JldGV4dC9HbHlwaFBhZ2VDb3JlVGV4dC5jcHA6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFDR1dpbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGb250UGxhdGZvcm1EYXRhOjpwbGF0Zm9ybURhdGFJbml0KToKKyAgICAgICAgKFdlYkNv
cmU6OkZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9udFBsYXRmb3JtRGF0YTo6aGFzaCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250
UGxhdGZvcm1EYXRhOjpwbGF0Zm9ybUlzRXF1YWwgY29uc3QpOgorCiAyMDIwLTA5LTEyICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBTaW1wbGlm
eSBMaW5lQm94IG9mZnNldCBjb21wdXRhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UGxhdGZvcm1BcHBsZVdpbi5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtQXBwbGVXaW4u
Y21ha2UKaW5kZXggZDk0ZmQ2OWNkN2VkZWNhM2M4NjA2MWFmMzIwYWJiY2FiMjhjODAzZi4uNGUy
MDkwZjhkZTU4YWI0NTRiNTBkMjdkMWU4ZDU3MjJkYWIyMzJjNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUGxhdGZvcm1BcHBsZVdpbi5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0
Zm9ybUFwcGxlV2luLmNtYWtlCkBAIC0xNTAsNiArMTUwLDExIEBAIGVsc2UgKCkKICAgICAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvVHJhbnNmb3JtYXRpb25NYXRyaXhDRy5jcHAKICAgICAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvVVRJUmVnaXN0cnkuY3BwCiAKKyAgICAgICAgcGxhdGZvcm0v
Z3JhcGhpY3MvY29yZXRleHQvRm9udENhc2NhZGVDb3JlVGV4dC5jcHAKKyAgICAgICAgcGxhdGZv
cm0vZ3JhcGhpY3MvY29yZXRleHQvRm9udENvcmVUZXh0LmNwcAorICAgICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9jb3JldGV4dC9Gb250UGxhdGZvcm1EYXRhQ29yZVRleHQuY3BwCisgICAgICAgIHBs
YXRmb3JtL2dyYXBoaWNzL2NvcmV0ZXh0L0dseXBoUGFnZUNvcmVUZXh0LmNwcAorCiAgICAgICAg
IHBsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3BwCiAKICAgICAgICAgcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDR1dpbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udC5jcHAKaW5kZXggNzYyYjViMDgwZDYwYzVjZDE1MDlmYTg1NGRhODZhMDJj
ZTdhYTlmNS4uMDdkZWIzOGViMWQwZmU2ZGNhZTNiYWUwN2ZhNTRiOGE2NzM0YTNkNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAKQEAgLTQ3NCw3ICs0NzQsNyBA
QCBjb25zdCBGb250JiBGb250Ojpicm9rZW5JZGVvZ3JhcGhGb250KCkgY29uc3QKICAgICByZXR1
cm4gKmRlcml2ZWRGb250RGF0YS5icm9rZW5JZGVvZ3JhcGhGb250OwogfQogCi0jaWYgIVVTRShD
T1JFX1RFWFQpCisjaWYgIVVTRShDT1JFX1RFWFQpIHx8IFBMQVRGT1JNKFdJTikKIAogYm9vbCBG
b250Ojppc1Byb2JhYmx5T25seVVzZWRUb1JlbmRlckljb25zKCkgY29uc3QKIHsKQEAgLTUxMSw3
ICs1MTEsNyBAQCBSZWZQdHI8Rm9udD4gRm9udDo6Y3JlYXRlU2NhbGVkRm9udChjb25zdCBGb250
RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgZmxvYQogICAgIHJldHVybiBwbGF0Zm9ybUNy
ZWF0ZVNjYWxlZEZvbnQoZm9udERlc2NyaXB0aW9uLCBzY2FsZUZhY3Rvcik7CiB9CiAKLSNpZiAh
VVNFKENPUkVfVEVYVCkKKyNpZiAhVVNFKENPUkVfVEVYVCkgfHwgUExBVEZPUk0oV0lOKQogdm9p
ZCBGb250OjphcHBseVRyYW5zZm9ybXMoR2x5cGhCdWZmZXImLCB1bnNpZ25lZCwgdW5zaWduZWQs
IGJvb2wsIGJvb2wsIGNvbnN0IEF0b21TdHJpbmcmLCBTdHJpbmdWaWV3LCBUZXh0RGlyZWN0aW9u
KSBjb25zdAogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udENhc2NhZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dENhc2NhZGUuY3BwCmluZGV4IDY1YzEwYjA0ZWE4NDk2NjQxZGRkNzkxYmE2NTcyYmE2ODUzYWY1
ZGQuLjIwYWMzMTc3NGFjOTVjNTg1NWJiOTUxMDI4NDhiMDI1ODc2NTVkYWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTU5NSw3
ICs1OTUsNyBAQCBib29sIEZvbnRDYXNjYWRlOjpzaG91bGRVc2VTbW9vdGhpbmcoKQogICAgIHJl
dHVybiBzaG91bGRVc2VGb250U21vb3RoaW5nOwogfQogCi0jaWYgIVVTRShDT1JFX1RFWFQpCisj
aWYgIVVTRShDT1JFX1RFWFQpIHx8IFBMQVRGT1JNKFdJTikKIGJvb2wgRm9udENhc2NhZGU6Omlz
U3VicGl4ZWxBbnRpYWxpYXNpbmdBdmFpbGFibGUoKQogewogICAgIHJldHVybiBmYWxzZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURh
dGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0
YS5jcHAKaW5kZXggZDFiODBiNjFjZjQ1NmFlMzdmMTcwNzMxOTBiMmI1NDMwZGMwYmFiMS4uMjY1
YTNkN2E4Y2E2MTZkMTIwYTVmMjAyODFlNjFmZWQ3MTEyM2YzOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5jcHAKQEAgLTMx
LDYgKzMxLDEwIEBACiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHRm9udC5oPgogI2VuZGlmCiAK
KyNpZiBQTEFURk9STShXSU4pICYmIFVTRShDT1JFX1RFWFQpCisjaW5jbHVkZSA8cGFsL3NwaS93
aW4vQ29yZVRleHRTUElXaW4uaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEZv
bnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEoV1RGOjpIYXNoVGFibGVEZWxldGVkVmFs
dWVUeXBlKQpAQCAtNTIsMTUgKzU2LDYgQEAgRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3Jt
RGF0YShmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGkKIHsKIH0K
IAotI2lmIFVTRShDRykgJiYgUExBVEZPUk0oV0lOKQotRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBs
YXRmb3JtRGF0YShDR0ZvbnRSZWYgY2dGb250LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0Jv
bGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBG
b250V2lkdGhWYXJpYW50IHdpZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01vZGUgdGV4dFJlbmRl
cmluZ01vZGUpCi0gICAgOiBGb250UGxhdGZvcm1EYXRhKHNpemUsIHN5bnRoZXRpY0JvbGQsIHN5
bnRoZXRpY09ibGlxdWUsIG9yaWVudGF0aW9uLCB3aWR0aFZhcmlhbnQsIHRleHRSZW5kZXJpbmdN
b2RlKQotewotICAgIG1fY2dGb250ID0gY2dGb250OwotICAgIEFTU0VSVChtX2NnRm9udCk7Ci19
Ci0jZW5kaWYKLQogI2lmICFVU0UoRlJFRVRZUEUpCiBGb250UGxhdGZvcm1EYXRhIEZvbnRQbGF0
Zm9ybURhdGE6OmNsb25lV2l0aE9yaWVudGF0aW9uKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHNv
dXJjZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uKQogewpAQCAtODQsNyArNzksNyBAQCBG
b250UGxhdGZvcm1EYXRhIEZvbnRQbGF0Zm9ybURhdGE6OmNsb25lV2l0aFNpemUoY29uc3QgRm9u
dFBsYXRmb3JtRGF0YSYgc291cmNlLAogfQogI2VuZGlmCiAKLSNpZiAhVVNFKENPUkVfVEVYVCkK
KyNpZiAhVVNFKENPUkVfVEVYVCkgfHwgUExBVEZPUk0oV0lOKQogCiBTdHJpbmcgRm9udFBsYXRm
b3JtRGF0YTo6ZmFtaWx5TmFtZSgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXggNDMxZDUzNGI0MzgxZTI3
NjlkNjUxMzBhODgxNTZlYzEwNzNiNGU1Ny4uYmM3ZmNhYmE2OGVmOTRiYzRkODAwMDZhNDU4NzVh
NTY1MGQ2OGNmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udFBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRQbGF0Zm9ybURhdGEuaApAQCAtODYsNDAgKzg2LDM4IEBAIHB1YmxpYzoKICAgICBXRUJD
T1JFX0VYUE9SVCBGb250UGxhdGZvcm1EYXRhKENURm9udFJlZiwgZmxvYXQgc2l6ZSwgYm9vbCBz
eW50aGV0aWNCb2xkID0gZmFsc2UsIGJvb2wgc3ludGhldGljT2JsaXF1ZSA9IGZhbHNlLCBGb250
T3JpZW50YXRpb24gPSBGb250T3JpZW50YXRpb246Okhvcml6b250YWwsIEZvbnRXaWR0aFZhcmlh
bnQgPSBGb250V2lkdGhWYXJpYW50OjpSZWd1bGFyV2lkdGgsIFRleHRSZW5kZXJpbmdNb2RlID0g
VGV4dFJlbmRlcmluZ01vZGU6OkF1dG9UZXh0UmVuZGVyaW5nKTsKICNlbmRpZgogCi0gICAgc3Rh
dGljIEZvbnRQbGF0Zm9ybURhdGEgY2xvbmVXaXRoT3JpZW50YXRpb24oY29uc3QgRm9udFBsYXRm
b3JtRGF0YSYsIEZvbnRPcmllbnRhdGlvbik7Ci0gICAgc3RhdGljIEZvbnRQbGF0Zm9ybURhdGEg
Y2xvbmVXaXRoU3ludGhldGljT2JsaXF1ZShjb25zdCBGb250UGxhdGZvcm1EYXRhJiwgYm9vbCk7
Ci0gICAgc3RhdGljIEZvbnRQbGF0Zm9ybURhdGEgY2xvbmVXaXRoU2l6ZShjb25zdCBGb250UGxh
dGZvcm1EYXRhJiwgZmxvYXQpOwotCi0jaWYgVVNFKENHKSAmJiBQTEFURk9STShXSU4pCi0gICAg
Rm9udFBsYXRmb3JtRGF0YShDR0ZvbnRSZWYsIGZsb2F0IHNpemUsIGJvb2wgc3ludGhldGljQm9s
ZCwgYm9vbCBzeW50aGV0aWNPYmxpcXVlLCBGb250T3JpZW50YXRpb24sIEZvbnRXaWR0aFZhcmlh
bnQsIFRleHRSZW5kZXJpbmdNb2RlKTsKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oV0lOKQogICAg
IEZvbnRQbGF0Zm9ybURhdGEoR0RJT2JqZWN0PEhGT05UPiwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50
aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY09ibGlxdWUsIGJvb2wgdXNlR0RJKTsKLSNlbmRpZgot
Ci0jaWYgUExBVEZPUk0oV0lOKSAmJiBVU0UoQ0cpCisjaWYgVVNFKENHKQogICAgIEZvbnRQbGF0
Zm9ybURhdGEoR0RJT2JqZWN0PEhGT05UPiwgQ0dGb250UmVmLCBmbG9hdCBzaXplLCBib29sIHN5
bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgYm9vbCB1c2VHREkpOworICAgIEZv
bnRQbGF0Zm9ybURhdGEoQ0dGb250UmVmLCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQs
IGJvb2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uLCBGb250V2lkdGhWYXJpYW50
LCBUZXh0UmVuZGVyaW5nTW9kZSk7CiAjZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdJTikgJiYgVVNF
KERJUkVDVDJEKQorI2lmIFVTRShESVJFQ1QyRCkKICAgICBGb250UGxhdGZvcm1EYXRhKEdESU9i
amVjdDxIRk9OVD4mJiwgQ09NUHRyPElEV3JpdGVGb250PiYmLCBmbG9hdCBzaXplLCBib29sIHN5
bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgYm9vbCB1c2VHREkpOwogI2VuZGlm
Ci0KLSNpZiBQTEFURk9STShXSU4pICYmIFVTRShDQUlSTykKKyNpZiBVU0UoQ0FJUk8pCiAgICAg
Rm9udFBsYXRmb3JtRGF0YShHRElPYmplY3Q8SEZPTlQ+LCBjYWlyb19mb250X2ZhY2VfdCosIGZs
b2F0IHNpemUsIGJvb2wgYm9sZCwgYm9vbCBpdGFsaWMpOwogI2VuZGlmCisjZW5kaWYKIAogI2lm
IFVTRShGUkVFVFlQRSkKICAgICBGb250UGxhdGZvcm1EYXRhKGNhaXJvX2ZvbnRfZmFjZV90Kiwg
UmVmUHRyPEZjUGF0dGVybj4mJiwgZmxvYXQgc2l6ZSwgYm9vbCBmaXhlZFdpZHRoLCBib29sIHN5
bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uKTsKICNl
bmRpZgogCisgICAgc3RhdGljIEZvbnRQbGF0Zm9ybURhdGEgY2xvbmVXaXRoT3JpZW50YXRpb24o
Y29uc3QgRm9udFBsYXRmb3JtRGF0YSYsIEZvbnRPcmllbnRhdGlvbik7CisgICAgc3RhdGljIEZv
bnRQbGF0Zm9ybURhdGEgY2xvbmVXaXRoU3ludGhldGljT2JsaXF1ZShjb25zdCBGb250UGxhdGZv
cm1EYXRhJiwgYm9vbCk7CisgICAgc3RhdGljIEZvbnRQbGF0Zm9ybURhdGEgY2xvbmVXaXRoU2l6
ZShjb25zdCBGb250UGxhdGZvcm1EYXRhJiwgZmxvYXQpOworCiAjaWYgUExBVEZPUk0oV0lOKQog
ICAgIEhGT05UIGhmb250KCkgY29uc3QgeyByZXR1cm4gbV9mb250ID8gbV9mb250LT5nZXQoKSA6
IDA7IH0KICAgICBib29sIHVzZUdESSgpIGNvbnN0IHsgcmV0dXJuIG1fdXNlR0RJOyB9CisjaWYg
VVNFKENHKQorICAgIENHRm9udFJlZiBjZ0ZvbnQoKSBjb25zdCB7IHJldHVybiBtX2NnRm9udC5n
ZXQoKTsgfQogI2VuZGlmCi0KICNpZiBVU0UoQ09SRV9URVhUKQorICAgIENURm9udFJlZiBjdEZv
bnQoKSBjb25zdCB7IHJldHVybiBtX2N0Rm9udC5nZXQoKTsgfQorI2VuZGlmCisjZWxpZiBVU0Uo
Q09SRV9URVhUKQogICAgIENURm9udFJlZiBmb250KCkgY29uc3QgeyByZXR1cm4gbV9mb250Lmdl
dCgpOyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgQ1RGb250UmVmIHJlZ2lzdGVyZWRGb250KCkgY29u
c3Q7IC8vIFJldHVybnMgbnVsbHB0ciBpZmYgdGhlIGZvbnQgaXMgbm90IHJlZ2lzdGVyZWQsIHN1
Y2ggYXMgd2ViIGZvbnRzIChvdGhlcndpc2UgcmV0dXJucyBmb250KCkpLgogCkBAIC0xMzYsMTAg
KzEzNCw2IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaGFzVmFyaWF0aW9ucygpIGNvbnN0IHsgcmV0
dXJuIG1faGFzVmFyaWF0aW9uczsgfQogCi0jaWYgVVNFKENHKSAmJiBQTEFURk9STShXSU4pCi0g
ICAgQ0dGb250UmVmIGNnRm9udCgpIGNvbnN0IHsgcmV0dXJuIG1fY2dGb250LmdldCgpOyB9Ci0j
ZW5kaWYKLQogI2lmIFVTRShESVJFQ1QyRCkKICAgICBJRFdyaXRlRm9udCogZHdGb250KCkgY29u
c3QgeyByZXR1cm4gbV9kd0ZvbnQuZ2V0KCk7IH0KICAgICBJRFdyaXRlRm9udEZhY2UqIGR3Rm9u
dEZhY2UoKSBjb25zdCB7IHJldHVybiBtX2R3Rm9udEZhY2UuZ2V0KCk7IH0KQEAgLTE5OSwxMyAr
MTkzLDkgQEAgcHVibGljOgogI2VuZGlmCiAgICAgfQogCi0jaWYgUExBVEZPUk0oQ09DT0EpIHx8
IFBMQVRGT1JNKFdJTikgfHwgVVNFKEZSRUVUWVBFKQogICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+
IG9wZW5UeXBlVGFibGUodWludDMyX3QgdGFibGUpIGNvbnN0OwotI2VuZGlmCiAKLSNpZiAhTE9H
X0RJU0FCTEVECiAgICAgU3RyaW5nIGRlc2NyaXB0aW9uKCkgY29uc3Q7Ci0jZW5kaWYKIAogcHJp
dmF0ZToKICAgICBib29sIHBsYXRmb3JtSXNFcXVhbChjb25zdCBGb250UGxhdGZvcm1EYXRhJikg
Y29uc3Q7CkBAIC0yMjIsMTYgKzIxMiwxOCBAQCBwcml2YXRlOgogICAgIHZvaWQgYnVpbGRTY2Fs
ZWRGb250KGNhaXJvX2ZvbnRfZmFjZV90Kik7CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKFdJTikK
KyAgICBSZWZQdHI8U2hhcmVkR0RJT2JqZWN0PEhGT05UPj4gbV9mb250OyAvLyBGSVhNRTogRGVs
ZXRlIHRoaXMgaW4gZmF2b3Igb2YgbV9jdEZvbnQgb3IgbV9kd0ZvbnQgb3IgbV9zY2FsZWRGb250
LgorI2lmIFVTRShDRykKKyAgICBSZXRhaW5QdHI8Q0dGb250UmVmPiBtX2NnRm9udDsgLy8gRklY
TUU6IERlbGV0ZSB0aGlzIGluIGZhdm9yIG9mIG1fY3RGb250LgorI2VuZGlmCiAjaWYgVVNFKENP
UkVfVEVYVCkKKyAgICBSZXRhaW5QdHI8Q1RGb250UmVmPiBtX2N0Rm9udDsKKyNlbmRpZgorI2Vs
aWYgVVNFKENPUkVfVEVYVCkKICAgICAvLyBGSVhNRTogR2V0IHJpZCBvZiBvbmUgb2YgdGhlc2Uu
IFRoZXNlIHR3byBmb250cyBhcmUgc3VidGx5IGRpZmZlcmVudCwgYW5kIGl0IGlzIG5vdCBvYnZp
b3VzIHdoaWNoIG9uZSB0byB1c2Ugd2hlcmUuCiAgICAgUmV0YWluUHRyPENURm9udFJlZj4gbV9m
b250OwogICAgIG11dGFibGUgUmV0YWluUHRyPENURm9udFJlZj4gbV9jdEZvbnQ7Ci0jZWxpZiBQ
TEFURk9STShXSU4pCi0gICAgUmVmUHRyPFNoYXJlZEdESU9iamVjdDxIRk9OVD4+IG1fZm9udDsK
LSNlbmRpZgotCi0jaWYgVVNFKENHKSAmJiBQTEFURk9STShXSU4pCi0gICAgUmV0YWluUHRyPENH
Rm9udFJlZj4gbV9jZ0ZvbnQ7CiAjZW5kaWYKIAogI2lmIFVTRShESVJFQ1QyRCkKQEAgLTI0Nyw4
ICsyMzksNiBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxGY1BhdHRlcm4+IG1fcGF0dGVybjsKICNl
bmRpZgogCi0gICAgLy8gVGhlIHZhbHVlcyBiZWxvdyBhcmUgY29tbW9uIHRvIGFsbCBwb3J0cwot
ICAgIC8vIEZJWE1FOiBJZiB0aGV5J3JlIGNvbW1vbiB0byBhbGwgcG9ydHMsIHRoZXkgc2hvdWxk
IG1vdmUgdG8gRm9udAogICAgIGZsb2F0IG1fc2l6ZSB7IDAgfTsKIAogICAgIEZvbnRPcmllbnRh
dGlvbiBtX29yaWVudGF0aW9uIHsgRm9udE9yaWVudGF0aW9uOjpIb3Jpem9udGFsIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250Q2Fz
Y2FkZUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmV0
ZXh0L0ZvbnRDYXNjYWRlQ29yZVRleHQuY3BwCmluZGV4IDAyOGI1MTI0M2U1Nzg1YTA2MmRmZWVi
YmU3NjM3ZTUzMDY2MDQ5NjUuLjMzYTVlNmNjN2U1NDhhZTA4OWViYWNkYjIwZTViYmMyMTA1ZTc3
YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmV0ZXh0
L0ZvbnRDYXNjYWRlQ29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvcmV0ZXh0L0ZvbnRDYXNjYWRlQ29yZVRleHQuY3BwCkBAIC00MSw2ICs0MSw4IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorI2lmICFQTEFURk9STShXSU4pCisKIC8vIENvbmZ1
c2luZ2x5LCBldmVuIHdoZW4gQ0dGb250UmVuZGVyaW5nR2V0Rm9udFNtb290aGluZ0Rpc2FibGVk
KCkgcmV0dXJucyB0cnVlLCBDR0NvbnRleHRTZXRTaG91bGRTbW9vdGhGb250cygpIHN0aWxsIGlt
cGFjdHMgdGV4dAogLy8gcmVuZGVyaW5nLCB3aGljaCBpcyB3aHkgdGhpcyBmdW5jdGlvbiB1c2Vz
IHRoZSAic3VicGl4ZWwgYW50aWFsaWFzaW5nIiByYXRoZXIgdGhhbiAic21vb3RoaW5nIiB0ZXJt
aW5vbG9neS4KIGJvb2wgRm9udENhc2NhZGU6OmlzU3VicGl4ZWxBbnRpYWxpYXNpbmdBdmFpbGFi
bGUoKQpAQCAtMzA5LDQgKzMxMSw2IEBAIGNvbnN0IEZvbnQqIEZvbnRDYXNjYWRlOjpmb250Rm9y
Q29tYmluaW5nQ2hhcmFjdGVyU2VxdWVuY2UoY29uc3QgVUNoYXIqIGNoYXJhY3RlCiAgICAgcmV0
dXJuIEZvbnQ6OnN5c3RlbUZhbGxiYWNrKCk7CiB9CiAKKyNlbmRpZgorCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250Q29yZVRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZXRleHQvRm9udENvcmVU
ZXh0LmNwcAppbmRleCA5ZTIyNTFkNmFkYTlhMGVhMGM0ODEyZjdjNTU2MzdmOWYwOTQ4OTg4Li4y
MzE5MzZkYjhjYjQ5YzcwMGRmOGNmY2YzN2E5ZWFmODY3ODkxN2RmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250Q29yZVRleHQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmV0ZXh0L0ZvbnRDb3JlVGV4
dC5jcHAKQEAgLTUxLDYgKzUxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisjaWYgIVBM
QVRGT1JNKFdJTikKKwogc3RhdGljIGlubGluZSBib29sIGNhc2VJbnNlbnNpdGl2ZUNvbXBhcmUo
Q0ZTdHJpbmdSZWYgYSwgQ0ZTdHJpbmdSZWYgYikKIHsKICAgICByZXR1cm4gYSAmJiBDRlN0cmlu
Z0NvbXBhcmUoYSwgYiwga0NGQ29tcGFyZUNhc2VJbnNlbnNpdGl2ZSkgPT0ga0NGQ29tcGFyZUVx
dWFsVG87CkBAIC03NjgsNCArNzcwLDYgQEAgYm9vbCBGb250Ojppc1Byb2JhYmx5T25seVVzZWRU
b1JlbmRlckljb25zKCkgY29uc3QKICAgICB9KTsKIH0KIAorI2VuZGlmCisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvcmV0ZXh0L0ZvbnRQbGF0Zm9ybURhdGFDb3JlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250UGxhdGZvcm1EYXRhQ29yZVRleHQuY3BwCmlu
ZGV4IDU0NWIwZTg1MDEyMTU5ZjYwMTNmZjUyMjlkYjI0MGEyN2U2MjgwY2IuLjRjYjgwMWM3ZDE0
NzAxNTYxYzJhMDljMWE3ZjQ3Y2M2ZThjODg4NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvcmV0ZXh0L0ZvbnRQbGF0Zm9ybURhdGFDb3JlVGV4dC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZXRleHQvRm9udFBsYXRm
b3JtRGF0YUNvcmVUZXh0LmNwcApAQCAtMzUsNiArMzUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKKyNpZiAhUExBVEZPUk0oV0lOKQorCiBGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZv
cm1EYXRhKENURm9udFJlZiBmb250LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJv
b2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBGb250V2lk
dGhWYXJpYW50IHdpZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01vZGUgdGV4dFJlbmRlcmluZ01v
ZGUpCiAgICAgOiBGb250UGxhdGZvcm1EYXRhKHNpemUsIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRp
Y09ibGlxdWUsIG9yaWVudGF0aW9uLCB3aWR0aFZhcmlhbnQsIHRleHRSZW5kZXJpbmdNb2RlKQog
ewpAQCAtMTgwLDQgKzE4Miw2IEBAIFN0cmluZyBGb250UGxhdGZvcm1EYXRhOjpmYW1pbHlOYW1l
KCkgY29uc3QKICAgICByZXR1cm4geyB9OwogfQogCisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29y
ZXRleHQvR2x5cGhQYWdlQ29yZVRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29yZXRleHQvR2x5cGhQYWdlQ29yZVRleHQuY3BwCmluZGV4IGIzOGVlMzZkYzZiODVj
NDNhM2Q1YjljZDk1NGVjNGUxMzdiZWY0NDguLjE5OTI3M2JkMmFhM2MzMDA1MDRlMGQzZWRiNjdm
OGVkOWQ0ODcxMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvcmV0ZXh0L0dseXBoUGFnZUNvcmVUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9HbHlwaFBhZ2VDb3JlVGV4dC5jcHAKQEAgLTQxLDYgKzQx
LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisjaWYgIVBMQVRGT1JNKFdJTikKKwogc3Rh
dGljIGJvb2wgc2hvdWxkRmlsbFdpdGhWZXJ0aWNhbEdseXBocyhjb25zdCBVQ2hhciogYnVmZmVy
LCB1bnNpZ25lZCBidWZmZXJMZW5ndGgsIGNvbnN0IEZvbnQmIGZvbnQpCiB7CiAgICAgaWYgKCFm
b250Lmhhc1ZlcnRpY2FsR2x5cGhzKCkpCkBAIC03OCw0ICs4MCw2IEBAIGJvb2wgR2x5cGhQYWdl
OjpmaWxsKFVDaGFyKiBidWZmZXIsIHVuc2lnbmVkIGJ1ZmZlckxlbmd0aCkKICAgICByZXR1cm4g
aGF2ZUdseXBoczsKIH0KIAorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1E
YXRhQ0dXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQ
bGF0Zm9ybURhdGFDR1dpbi5jcHAKaW5kZXggMTEyYmY5NWNjOWFkYmY5OWU0NmI1Y2I1MWRlY2E0
MGQ2NGI1ZTE0MS4uYWU2MGFhY2QyMTM5Y2Y1NTFlNmE1NjQ4MjQ3YjJkMzAxZWQ4MjY2ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9y
bURhdGFDR1dpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ZvbnRQbGF0Zm9ybURhdGFDR1dpbi5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUg
IlNoYXJlZEdESU9iamVjdC5oIgogI2luY2x1ZGUgPHBhbC9zcGkvY2cvQ29yZUdyYXBoaWNzU1BJ
Lmg+CisjaW5jbHVkZSA8cGFsL3NwaS93aW4vQ29yZVRleHRTUElXaW4uaD4KICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CkBAIC0xMTQsNiArMTE1LDcgQEAgdm9pZCBGb250UGxhdGZvcm1EYXRhOjpwbGF0
Zm9ybURhdGFJbml0KEhGT05UIGZvbnQsIGZsb2F0IHNpemUsIEhEQyBoZGMsIFdDSEFSKgogICAg
IExPR0ZPTlQgbG9nZm9udDsKICAgICBHZXRPYmplY3QoZm9udCwgc2l6ZW9mKGxvZ2ZvbnQpLCAm
bG9nZm9udCk7CiAgICAgbV9jZ0ZvbnQgPSBhZG9wdENGKENHRm9udENyZWF0ZVdpdGhQbGF0Zm9y
bUZvbnQoJmxvZ2ZvbnQpKTsKKyAgICBtX2N0Rm9udCA9IGFkb3B0Q0YoQ1RGb250Q3JlYXRlV2l0
aEdyYXBoaWNzRm9udChtX2NnRm9udC5nZXQoKSwgc2l6ZSwgbnVsbHB0ciwgbnVsbHB0cikpOwog
ICAgIGlmICghbV91c2VHREkpCiAgICAgICAgIG1faXNTeXN0ZW1Gb250ID0gIXdjc2NtcChmYWNl
TmFtZSwgTCJMdWNpZGEgR3JhbmRlIik7CiB9CkBAIC0xMjQsMTkgKzEyNiwzMyBAQCBGb250UGxh
dGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKEdESU9iamVjdDxIRk9OVD4gaGZvbnQsIENHRm9u
dFJlZiBmb250LCBmbG9hdAogICAgICwgbV9zaXplKHNpemUpCiAgICAgLCBtX2ZvbnQoU2hhcmVk
R0RJT2JqZWN0PEhGT05UPjo6Y3JlYXRlKFdURk1vdmUoaGZvbnQpKSkKICAgICAsIG1fY2dGb250
KGZvbnQpCisgICAgLCBtX2N0Rm9udChhZG9wdENGKENURm9udENyZWF0ZVdpdGhHcmFwaGljc0Zv
bnQobV9jZ0ZvbnQuZ2V0KCksIHNpemUsIG51bGxwdHIsIG51bGxwdHIpKSkKICAgICAsIG1fdXNl
R0RJKHVzZUdESSkKIHsKIH0KIAorRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShD
R0ZvbnRSZWYgY2dGb250LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3lu
dGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBGb250V2lkdGhWYXJp
YW50IHdpZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01vZGUgdGV4dFJlbmRlcmluZ01vZGUpCisg
ICAgOiBGb250UGxhdGZvcm1EYXRhKHNpemUsIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY09ibGlx
dWUsIG9yaWVudGF0aW9uLCB3aWR0aFZhcmlhbnQsIHRleHRSZW5kZXJpbmdNb2RlKQoreworICAg
IG1fY2dGb250ID0gY2dGb250OworICAgIEFTU0VSVChtX2NnRm9udCk7CisgICAgbV9jdEZvbnQg
PSBhZG9wdENGKENURm9udENyZWF0ZVdpdGhHcmFwaGljc0ZvbnQobV9jZ0ZvbnQuZ2V0KCksIHNp
emUsIG51bGxwdHIsIG51bGxwdHIpKTsKK30KKwogdW5zaWduZWQgRm9udFBsYXRmb3JtRGF0YTo6
aGFzaCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fZm9udCA/IG1fZm9udC0+aGFzaCgpIDogMDsK
KyAgICB1bnNpZ25lZCBmb250SGFzaCA9IG1fZm9udCA/IG1fZm9udC0+aGFzaCgpIDogMDsKKyAg
ICBDRkhhc2hDb2RlIGNnRm9udEhhc2ggPSBDRkhhc2gobV9jZ0ZvbnQuZ2V0KCkpOworICAgIENG
SGFzaENvZGUgY3RGb250SGFzaCA9IENGSGFzaChtX2N0Rm9udC5nZXQoKSk7CisgICAgdWludHB0
cl90IGhhc2hDb2Rlc1tdID0geyBmb250SGFzaCwgY2dGb250SGFzaCwgY3RGb250SGFzaCwgbV91
c2VHREkgfTsKKyAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpoYXNoTWVtb3J5PHNpemVvZihoYXNo
Q29kZXMpPihoYXNoQ29kZXMpOwogfQogCiBib29sIEZvbnRQbGF0Zm9ybURhdGE6OnBsYXRmb3Jt
SXNFcXVhbChjb25zdCBGb250UGxhdGZvcm1EYXRhJiBvdGhlcikgY29uc3QKIHsKICAgICByZXR1
cm4gbV9mb250ID09IG90aGVyLm1fZm9udAotICAgICAgICAmJiBtX2NnRm9udCA9PSBvdGhlci5t
X2NnRm9udAorICAgICAgICAmJiBDRkVxdWFsKG1fY2dGb250LmdldCgpLCBvdGhlci5tX2NnRm9u
dC5nZXQoKSkKKyAgICAgICAgJiYgQ0ZFcXVhbChtX2N0Rm9udC5nZXQoKSwgb3RoZXIubV9jdEZv
bnQuZ2V0KCkpCiAgICAgICAgICYmIG1fdXNlR0RJID09IG90aGVyLm1fdXNlR0RJOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0FwcGxlV2luLmNtYWtlIGIvU291cmNlL2Nt
YWtlL09wdGlvbnNBcHBsZVdpbi5jbWFrZQppbmRleCA5OTJlMjM1YmMyZjQzYzAzYmIzMDFhMTc3
OGE3NDVhNWU1NWJlMDg2Li4yOWFhNjcyODEwODgzZjUxNDhmZDU0YTgxMzM4NzliYTg1ODMzMjE0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0FwcGxlV2luLmNtYWtlCisrKyBiL1Nv
dXJjZS9jbWFrZS9PcHRpb25zQXBwbGVXaW4uY21ha2UKQEAgLTQ4LDYgKzQ4LDcgQEAgaWYgKCR7
VVNFX0RJUkVDVDJEfSkKIGVsc2UgKCkKICAgICBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChVU0Vf
Q0EgT04pCiAgICAgU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoVVNFX0NHIE9OKQorICAgIFNFVF9B
TkRfRVhQT1NFX1RPX0JVSUxEKFVTRV9DT1JFX1RFWFQgT04pCiAKICAgICBzZXQoQ01BS0VfUkVR
VUlSRURfSU5DTFVERVMgJHtXRUJLSVRfTElCUkFSSUVTX0lOQ0xVREVfRElSfSkKICAgICBzZXQo
Q01BS0VfUkVRVUlSRURfTElCUkFSSUVTCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VM
b2cKaW5kZXggYjEwOTk3ZjEyZmNjMTVhOTMxZDA5ZjcyNTNjZDNkMzk1OTg0OGRiNy4uZGM1ZTAy
NTM4ZTJmYzZmZTYzYmFhNjEwMWM5MTAwYWI2YTM4YjQ5YSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9n
CisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTA5LTEyICBNeWxlcyBDLiBN
YXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0FwcGxlIFdpbl0gQWRk
IGEgQ1RGb250IG1lbWJlciB0byBGb250UGxhdGZvcm1EYXRhCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY0MzIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbmNsdWRlICoqKkNvcmVUZXh0LmNwcCBmaWxl
cyBvbiB0aGUgQXBwbGUgV2luIHBvcnQuCisKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9u
c0FwcGxlV2luLmNtYWtlOgorCiAyMDIwLTA5LTEwICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8
YXBlcmV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0NNYWtlXSBVc2UgaW1wb3J0ZWQgdGFyZ2V0
cyBpbiBmaW5kIG1vZHVsZSBmb3IgbGlic2VjY29tcAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408608</attachid>
            <date>2020-09-12 14:06:43 -0700</date>
            <delta_ts>2020-09-12 14:09:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216432-20200912140642.patch</filename>
            <type>text/plain</type>
            <size>17663</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2OTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTMxNjhhYTZjNDZiMTI4
YzYyZWQwNDhmOTMwY2M1M2E2OGRjMWRhYi4uNTI4NTUxNjZkMTc5MDJjYzZkYmM4YTY0NmNiMTBl
Njk0ZDZlMzUzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIwLTA5LTEyICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0FwcGxlIFdp
bl0gQWRkIGEgQ1RGb250IG1lbWJlciB0byBGb250UGxhdGZvcm1EYXRhCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY0MzIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIHRoZSBzZWNvbmQgc3Rl
cCBvbiB0aGUgcGF0aCB0byByZXBsYWNpbmcgdGhlIEFwcGxlIFdpbiBwb3J0J3MgdXNlIG9mIENH
Rm9udCB3aXRoIENURm9udC4KKyAgICAgICAgVGhpcyBwYXRjaCBhZGRzIG1fY3RGb250IHRvIEZv
bnRQbGF0Zm9ybURhdGEsIGFuZCBtYWtlcyBGb250UGxhdGZvcm1EYXRhJ3MgY29uc3RydWN0b3Jz
IGNyZWF0ZQorICAgICAgICB0aGlzIG9iamVjdCBmcm9tIHRoZWlyIGV4aXN0aW5nIGFyZ3VtZW50
cy4gSXQgYWxzbyBlbmFibGVzIHRoZSBVU0UoQ09SRV9URVhUKSBmbGFnIG9uIHRoZSBBcHBsZQor
ICAgICAgICBXaW4gcG9ydCwgYnV0IG1hbnVhbGx5IGRpc2FibGVzIGVhY2ggb2YgdGhlIFVTRShD
T1JFX1RFWFQpIHNpdGVzIG9uIFdpbmRvd3MsIHNvIHRoZXJlIGlzbid0IGFueQorICAgICAgICBi
ZWhhdmlvciBjaGFuZ2UganVzdCB5ZXQuIFRoZSBuZXcgbWVtYmVyLCBtX2N0Rm9udCwgaXMgdGhl
cmVmb3JlIHN0aWxsIHVudXNlZCBpbiB0aGlzIHBhdGNoLiBUaGUKKyAgICAgICAgbmV4dCBzdGVw
cyB3aWxsIGJlIHJlcGxhY2luZyBvdXIgY3VycmVudCBBcHBsZSBXaW4gZm9udCBmdW5jdGlvbnMg
d2l0aCB0aGVpciBVU0UoQ09SRV9URVhUKQorICAgICAgICBjb3VudGVycGFydHMsIG9uZS1ieS1v
bmUuIChSZXBsYWNpbmcgdGhlbSBvbmUtYnktb25lIGlzIGJldHRlciB0aGFuIGRvaW5nIHRoZW0g
YWxsIGF0IG9uY2UgaW4gYQorICAgICAgICBnaWFudCBtb25kby1wYXRjaC4pCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3IgY2hhbmdlIHlldC4KKwor
ICAgICAgICAqIFBsYXRmb3JtQXBwbGVXaW4uY21ha2U6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUu
Y3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuaDogVGhlICNkZWZp
bmVzIGFyZSB0ZW1wb3JhcmlseSBnZXR0aW5nIHdvcnNlIGJlZm9yZSB0aGV5J2xsCisgICAgICAg
IGJlIGdldHRpbmcgYmV0dGVyLiBXaGVuIHRoaXMgcHJvamVjdCBpcyBkb25lLCB0aGVyZSB3aWxs
IGJlIGZld2VyICNkZWZpbmVzLCBhbmQgdGhpcyBmaWxlIHdpbGwgYmUKKyAgICAgICAgY2xlYW5l
ciB0aGFuIGl0IHdhcyB3aGVuIEkgc3RhcnRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0
Zm9ybURhdGE6OmNnRm9udCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1E
YXRhOjpjdEZvbnQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvcmV0ZXh0
L0ZvbnRDYXNjYWRlQ29yZVRleHQuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nv
cmV0ZXh0L0ZvbnRDb3JlVGV4dC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29y
ZXRleHQvRm9udFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jb3JldGV4dC9HbHlwaFBhZ2VDb3JlVGV4dC5jcHA6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFDR1dpbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGb250UGxhdGZvcm1EYXRhOjpwbGF0Zm9ybURhdGFJbml0KToKKyAgICAgICAgKFdlYkNv
cmU6OkZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9udFBsYXRmb3JtRGF0YTo6aGFzaCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250
UGxhdGZvcm1EYXRhOjpwbGF0Zm9ybUlzRXF1YWwgY29uc3QpOgorCiAyMDIwLTA5LTEyICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBTaW1wbGlm
eSBMaW5lQm94IG9mZnNldCBjb21wdXRhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UGxhdGZvcm1BcHBsZVdpbi5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtQXBwbGVXaW4u
Y21ha2UKaW5kZXggZDk0ZmQ2OWNkN2VkZWNhM2M4NjA2MWFmMzIwYWJiY2FiMjhjODAzZi4uNGUy
MDkwZjhkZTU4YWI0NTRiNTBkMjdkMWU4ZDU3MjJkYWIyMzJjNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUGxhdGZvcm1BcHBsZVdpbi5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0
Zm9ybUFwcGxlV2luLmNtYWtlCkBAIC0xNTAsNiArMTUwLDExIEBAIGVsc2UgKCkKICAgICAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvVHJhbnNmb3JtYXRpb25NYXRyaXhDRy5jcHAKICAgICAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvVVRJUmVnaXN0cnkuY3BwCiAKKyAgICAgICAgcGxhdGZvcm0v
Z3JhcGhpY3MvY29yZXRleHQvRm9udENhc2NhZGVDb3JlVGV4dC5jcHAKKyAgICAgICAgcGxhdGZv
cm0vZ3JhcGhpY3MvY29yZXRleHQvRm9udENvcmVUZXh0LmNwcAorICAgICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9jb3JldGV4dC9Gb250UGxhdGZvcm1EYXRhQ29yZVRleHQuY3BwCisgICAgICAgIHBs
YXRmb3JtL2dyYXBoaWNzL2NvcmV0ZXh0L0dseXBoUGFnZUNvcmVUZXh0LmNwcAorCiAgICAgICAg
IHBsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3BwCiAKICAgICAgICAgcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDR1dpbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udC5jcHAKaW5kZXggNzYyYjViMDgwZDYwYzVjZDE1MDlmYTg1NGRhODZhMDJj
ZTdhYTlmNS4uMDdkZWIzOGViMWQwZmU2ZGNhZTNiYWUwN2ZhNTRiOGE2NzM0YTNkNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAKQEAgLTQ3NCw3ICs0NzQsNyBA
QCBjb25zdCBGb250JiBGb250Ojpicm9rZW5JZGVvZ3JhcGhGb250KCkgY29uc3QKICAgICByZXR1
cm4gKmRlcml2ZWRGb250RGF0YS5icm9rZW5JZGVvZ3JhcGhGb250OwogfQogCi0jaWYgIVVTRShD
T1JFX1RFWFQpCisjaWYgIVVTRShDT1JFX1RFWFQpIHx8IFBMQVRGT1JNKFdJTikKIAogYm9vbCBG
b250Ojppc1Byb2JhYmx5T25seVVzZWRUb1JlbmRlckljb25zKCkgY29uc3QKIHsKQEAgLTUxMSw3
ICs1MTEsNyBAQCBSZWZQdHI8Rm9udD4gRm9udDo6Y3JlYXRlU2NhbGVkRm9udChjb25zdCBGb250
RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgZmxvYQogICAgIHJldHVybiBwbGF0Zm9ybUNy
ZWF0ZVNjYWxlZEZvbnQoZm9udERlc2NyaXB0aW9uLCBzY2FsZUZhY3Rvcik7CiB9CiAKLSNpZiAh
VVNFKENPUkVfVEVYVCkKKyNpZiAhVVNFKENPUkVfVEVYVCkgfHwgUExBVEZPUk0oV0lOKQogdm9p
ZCBGb250OjphcHBseVRyYW5zZm9ybXMoR2x5cGhCdWZmZXImLCB1bnNpZ25lZCwgdW5zaWduZWQs
IGJvb2wsIGJvb2wsIGNvbnN0IEF0b21TdHJpbmcmLCBTdHJpbmdWaWV3LCBUZXh0RGlyZWN0aW9u
KSBjb25zdAogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udENhc2NhZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dENhc2NhZGUuY3BwCmluZGV4IDY1YzEwYjA0ZWE4NDk2NjQxZGRkNzkxYmE2NTcyYmE2ODUzYWY1
ZGQuLjIwYWMzMTc3NGFjOTVjNTg1NWJiOTUxMDI4NDhiMDI1ODc2NTVkYWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTU5NSw3
ICs1OTUsNyBAQCBib29sIEZvbnRDYXNjYWRlOjpzaG91bGRVc2VTbW9vdGhpbmcoKQogICAgIHJl
dHVybiBzaG91bGRVc2VGb250U21vb3RoaW5nOwogfQogCi0jaWYgIVVTRShDT1JFX1RFWFQpCisj
aWYgIVVTRShDT1JFX1RFWFQpIHx8IFBMQVRGT1JNKFdJTikKIGJvb2wgRm9udENhc2NhZGU6Omlz
U3VicGl4ZWxBbnRpYWxpYXNpbmdBdmFpbGFibGUoKQogewogICAgIHJldHVybiBmYWxzZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURh
dGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0
YS5jcHAKaW5kZXggZDFiODBiNjFjZjQ1NmFlMzdmMTcwNzMxOTBiMmI1NDMwZGMwYmFiMS4uMjY1
YTNkN2E4Y2E2MTZkMTIwYTVmMjAyODFlNjFmZWQ3MTEyM2YzOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5jcHAKQEAgLTMx
LDYgKzMxLDEwIEBACiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHRm9udC5oPgogI2VuZGlmCiAK
KyNpZiBQTEFURk9STShXSU4pICYmIFVTRShDT1JFX1RFWFQpCisjaW5jbHVkZSA8cGFsL3NwaS93
aW4vQ29yZVRleHRTUElXaW4uaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEZv
bnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEoV1RGOjpIYXNoVGFibGVEZWxldGVkVmFs
dWVUeXBlKQpAQCAtNTIsMTUgKzU2LDYgQEAgRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3Jt
RGF0YShmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGkKIHsKIH0K
IAotI2lmIFVTRShDRykgJiYgUExBVEZPUk0oV0lOKQotRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBs
YXRmb3JtRGF0YShDR0ZvbnRSZWYgY2dGb250LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0Jv
bGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBG
b250V2lkdGhWYXJpYW50IHdpZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01vZGUgdGV4dFJlbmRl
cmluZ01vZGUpCi0gICAgOiBGb250UGxhdGZvcm1EYXRhKHNpemUsIHN5bnRoZXRpY0JvbGQsIHN5
bnRoZXRpY09ibGlxdWUsIG9yaWVudGF0aW9uLCB3aWR0aFZhcmlhbnQsIHRleHRSZW5kZXJpbmdN
b2RlKQotewotICAgIG1fY2dGb250ID0gY2dGb250OwotICAgIEFTU0VSVChtX2NnRm9udCk7Ci19
Ci0jZW5kaWYKLQogI2lmICFVU0UoRlJFRVRZUEUpCiBGb250UGxhdGZvcm1EYXRhIEZvbnRQbGF0
Zm9ybURhdGE6OmNsb25lV2l0aE9yaWVudGF0aW9uKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHNv
dXJjZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uKQogewpAQCAtODQsNyArNzksNyBAQCBG
b250UGxhdGZvcm1EYXRhIEZvbnRQbGF0Zm9ybURhdGE6OmNsb25lV2l0aFNpemUoY29uc3QgRm9u
dFBsYXRmb3JtRGF0YSYgc291cmNlLAogfQogI2VuZGlmCiAKLSNpZiAhVVNFKENPUkVfVEVYVCkK
KyNpZiAhVVNFKENPUkVfVEVYVCkgfHwgUExBVEZPUk0oV0lOKQogCiBTdHJpbmcgRm9udFBsYXRm
b3JtRGF0YTo6ZmFtaWx5TmFtZSgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXggNDMxZDUzNGI0MzgxZTI3
NjlkNjUxMzBhODgxNTZlYzEwNzNiNGU1Ny4uYmM3ZmNhYmE2OGVmOTRiYzRkODAwMDZhNDU4NzVh
NTY1MGQ2OGNmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udFBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRQbGF0Zm9ybURhdGEuaApAQCAtODYsNDAgKzg2LDM4IEBAIHB1YmxpYzoKICAgICBXRUJD
T1JFX0VYUE9SVCBGb250UGxhdGZvcm1EYXRhKENURm9udFJlZiwgZmxvYXQgc2l6ZSwgYm9vbCBz
eW50aGV0aWNCb2xkID0gZmFsc2UsIGJvb2wgc3ludGhldGljT2JsaXF1ZSA9IGZhbHNlLCBGb250
T3JpZW50YXRpb24gPSBGb250T3JpZW50YXRpb246Okhvcml6b250YWwsIEZvbnRXaWR0aFZhcmlh
bnQgPSBGb250V2lkdGhWYXJpYW50OjpSZWd1bGFyV2lkdGgsIFRleHRSZW5kZXJpbmdNb2RlID0g
VGV4dFJlbmRlcmluZ01vZGU6OkF1dG9UZXh0UmVuZGVyaW5nKTsKICNlbmRpZgogCi0gICAgc3Rh
dGljIEZvbnRQbGF0Zm9ybURhdGEgY2xvbmVXaXRoT3JpZW50YXRpb24oY29uc3QgRm9udFBsYXRm
b3JtRGF0YSYsIEZvbnRPcmllbnRhdGlvbik7Ci0gICAgc3RhdGljIEZvbnRQbGF0Zm9ybURhdGEg
Y2xvbmVXaXRoU3ludGhldGljT2JsaXF1ZShjb25zdCBGb250UGxhdGZvcm1EYXRhJiwgYm9vbCk7
Ci0gICAgc3RhdGljIEZvbnRQbGF0Zm9ybURhdGEgY2xvbmVXaXRoU2l6ZShjb25zdCBGb250UGxh
dGZvcm1EYXRhJiwgZmxvYXQpOwotCi0jaWYgVVNFKENHKSAmJiBQTEFURk9STShXSU4pCi0gICAg
Rm9udFBsYXRmb3JtRGF0YShDR0ZvbnRSZWYsIGZsb2F0IHNpemUsIGJvb2wgc3ludGhldGljQm9s
ZCwgYm9vbCBzeW50aGV0aWNPYmxpcXVlLCBGb250T3JpZW50YXRpb24sIEZvbnRXaWR0aFZhcmlh
bnQsIFRleHRSZW5kZXJpbmdNb2RlKTsKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oV0lOKQogICAg
IEZvbnRQbGF0Zm9ybURhdGEoR0RJT2JqZWN0PEhGT05UPiwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50
aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY09ibGlxdWUsIGJvb2wgdXNlR0RJKTsKLSNlbmRpZgot
Ci0jaWYgUExBVEZPUk0oV0lOKSAmJiBVU0UoQ0cpCisjaWYgVVNFKENHKQogICAgIEZvbnRQbGF0
Zm9ybURhdGEoR0RJT2JqZWN0PEhGT05UPiwgQ0dGb250UmVmLCBmbG9hdCBzaXplLCBib29sIHN5
bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgYm9vbCB1c2VHREkpOworICAgIEZv
bnRQbGF0Zm9ybURhdGEoQ0dGb250UmVmLCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQs
IGJvb2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uLCBGb250V2lkdGhWYXJpYW50
LCBUZXh0UmVuZGVyaW5nTW9kZSk7CiAjZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdJTikgJiYgVVNF
KERJUkVDVDJEKQorI2lmIFVTRShESVJFQ1QyRCkKICAgICBGb250UGxhdGZvcm1EYXRhKEdESU9i
amVjdDxIRk9OVD4mJiwgQ09NUHRyPElEV3JpdGVGb250PiYmLCBmbG9hdCBzaXplLCBib29sIHN5
bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgYm9vbCB1c2VHREkpOwogI2VuZGlm
Ci0KLSNpZiBQTEFURk9STShXSU4pICYmIFVTRShDQUlSTykKKyNpZiBVU0UoQ0FJUk8pCiAgICAg
Rm9udFBsYXRmb3JtRGF0YShHRElPYmplY3Q8SEZPTlQ+LCBjYWlyb19mb250X2ZhY2VfdCosIGZs
b2F0IHNpemUsIGJvb2wgYm9sZCwgYm9vbCBpdGFsaWMpOwogI2VuZGlmCisjZW5kaWYKIAogI2lm
IFVTRShGUkVFVFlQRSkKICAgICBGb250UGxhdGZvcm1EYXRhKGNhaXJvX2ZvbnRfZmFjZV90Kiwg
UmVmUHRyPEZjUGF0dGVybj4mJiwgZmxvYXQgc2l6ZSwgYm9vbCBmaXhlZFdpZHRoLCBib29sIHN5
bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uKTsKICNl
bmRpZgogCisgICAgc3RhdGljIEZvbnRQbGF0Zm9ybURhdGEgY2xvbmVXaXRoT3JpZW50YXRpb24o
Y29uc3QgRm9udFBsYXRmb3JtRGF0YSYsIEZvbnRPcmllbnRhdGlvbik7CisgICAgc3RhdGljIEZv
bnRQbGF0Zm9ybURhdGEgY2xvbmVXaXRoU3ludGhldGljT2JsaXF1ZShjb25zdCBGb250UGxhdGZv
cm1EYXRhJiwgYm9vbCk7CisgICAgc3RhdGljIEZvbnRQbGF0Zm9ybURhdGEgY2xvbmVXaXRoU2l6
ZShjb25zdCBGb250UGxhdGZvcm1EYXRhJiwgZmxvYXQpOworCiAjaWYgUExBVEZPUk0oV0lOKQog
ICAgIEhGT05UIGhmb250KCkgY29uc3QgeyByZXR1cm4gbV9mb250ID8gbV9mb250LT5nZXQoKSA6
IDA7IH0KICAgICBib29sIHVzZUdESSgpIGNvbnN0IHsgcmV0dXJuIG1fdXNlR0RJOyB9CisjaWYg
VVNFKENHKQorICAgIENHRm9udFJlZiBjZ0ZvbnQoKSBjb25zdCB7IHJldHVybiBtX2NnRm9udC5n
ZXQoKTsgfQogI2VuZGlmCi0KICNpZiBVU0UoQ09SRV9URVhUKQorICAgIENURm9udFJlZiBjdEZv
bnQoKSBjb25zdCB7IHJldHVybiBtX2N0Rm9udC5nZXQoKTsgfQorI2VuZGlmCisjZWxpZiBVU0Uo
Q09SRV9URVhUKQogICAgIENURm9udFJlZiBmb250KCkgY29uc3QgeyByZXR1cm4gbV9mb250Lmdl
dCgpOyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgQ1RGb250UmVmIHJlZ2lzdGVyZWRGb250KCkgY29u
c3Q7IC8vIFJldHVybnMgbnVsbHB0ciBpZmYgdGhlIGZvbnQgaXMgbm90IHJlZ2lzdGVyZWQsIHN1
Y2ggYXMgd2ViIGZvbnRzIChvdGhlcndpc2UgcmV0dXJucyBmb250KCkpLgogCkBAIC0xMzYsMTAg
KzEzNCw2IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaGFzVmFyaWF0aW9ucygpIGNvbnN0IHsgcmV0
dXJuIG1faGFzVmFyaWF0aW9uczsgfQogCi0jaWYgVVNFKENHKSAmJiBQTEFURk9STShXSU4pCi0g
ICAgQ0dGb250UmVmIGNnRm9udCgpIGNvbnN0IHsgcmV0dXJuIG1fY2dGb250LmdldCgpOyB9Ci0j
ZW5kaWYKLQogI2lmIFVTRShESVJFQ1QyRCkKICAgICBJRFdyaXRlRm9udCogZHdGb250KCkgY29u
c3QgeyByZXR1cm4gbV9kd0ZvbnQuZ2V0KCk7IH0KICAgICBJRFdyaXRlRm9udEZhY2UqIGR3Rm9u
dEZhY2UoKSBjb25zdCB7IHJldHVybiBtX2R3Rm9udEZhY2UuZ2V0KCk7IH0KQEAgLTE5OSwxMyAr
MTkzLDkgQEAgcHVibGljOgogI2VuZGlmCiAgICAgfQogCi0jaWYgUExBVEZPUk0oQ09DT0EpIHx8
IFBMQVRGT1JNKFdJTikgfHwgVVNFKEZSRUVUWVBFKQogICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+
IG9wZW5UeXBlVGFibGUodWludDMyX3QgdGFibGUpIGNvbnN0OwotI2VuZGlmCiAKLSNpZiAhTE9H
X0RJU0FCTEVECiAgICAgU3RyaW5nIGRlc2NyaXB0aW9uKCkgY29uc3Q7Ci0jZW5kaWYKIAogcHJp
dmF0ZToKICAgICBib29sIHBsYXRmb3JtSXNFcXVhbChjb25zdCBGb250UGxhdGZvcm1EYXRhJikg
Y29uc3Q7CkBAIC0yMjIsMTYgKzIxMiwxOCBAQCBwcml2YXRlOgogICAgIHZvaWQgYnVpbGRTY2Fs
ZWRGb250KGNhaXJvX2ZvbnRfZmFjZV90Kik7CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKFdJTikK
KyAgICBSZWZQdHI8U2hhcmVkR0RJT2JqZWN0PEhGT05UPj4gbV9mb250OyAvLyBGSVhNRTogRGVs
ZXRlIHRoaXMgaW4gZmF2b3Igb2YgbV9jdEZvbnQgb3IgbV9kd0ZvbnQgb3IgbV9zY2FsZWRGb250
LgorI2lmIFVTRShDRykKKyAgICBSZXRhaW5QdHI8Q0dGb250UmVmPiBtX2NnRm9udDsgLy8gRklY
TUU6IERlbGV0ZSB0aGlzIGluIGZhdm9yIG9mIG1fY3RGb250LgorI2VuZGlmCiAjaWYgVVNFKENP
UkVfVEVYVCkKKyAgICBSZXRhaW5QdHI8Q1RGb250UmVmPiBtX2N0Rm9udDsKKyNlbmRpZgorI2Vs
aWYgVVNFKENPUkVfVEVYVCkKICAgICAvLyBGSVhNRTogR2V0IHJpZCBvZiBvbmUgb2YgdGhlc2Uu
IFRoZXNlIHR3byBmb250cyBhcmUgc3VidGx5IGRpZmZlcmVudCwgYW5kIGl0IGlzIG5vdCBvYnZp
b3VzIHdoaWNoIG9uZSB0byB1c2Ugd2hlcmUuCiAgICAgUmV0YWluUHRyPENURm9udFJlZj4gbV9m
b250OwogICAgIG11dGFibGUgUmV0YWluUHRyPENURm9udFJlZj4gbV9jdEZvbnQ7Ci0jZWxpZiBQ
TEFURk9STShXSU4pCi0gICAgUmVmUHRyPFNoYXJlZEdESU9iamVjdDxIRk9OVD4+IG1fZm9udDsK
LSNlbmRpZgotCi0jaWYgVVNFKENHKSAmJiBQTEFURk9STShXSU4pCi0gICAgUmV0YWluUHRyPENH
Rm9udFJlZj4gbV9jZ0ZvbnQ7CiAjZW5kaWYKIAogI2lmIFVTRShESVJFQ1QyRCkKQEAgLTI0Nyw4
ICsyMzksNiBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxGY1BhdHRlcm4+IG1fcGF0dGVybjsKICNl
bmRpZgogCi0gICAgLy8gVGhlIHZhbHVlcyBiZWxvdyBhcmUgY29tbW9uIHRvIGFsbCBwb3J0cwot
ICAgIC8vIEZJWE1FOiBJZiB0aGV5J3JlIGNvbW1vbiB0byBhbGwgcG9ydHMsIHRoZXkgc2hvdWxk
IG1vdmUgdG8gRm9udAogICAgIGZsb2F0IG1fc2l6ZSB7IDAgfTsKIAogICAgIEZvbnRPcmllbnRh
dGlvbiBtX29yaWVudGF0aW9uIHsgRm9udE9yaWVudGF0aW9uOjpIb3Jpem9udGFsIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250Q2Fz
Y2FkZUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmV0
ZXh0L0ZvbnRDYXNjYWRlQ29yZVRleHQuY3BwCmluZGV4IDAyOGI1MTI0M2U1Nzg1YTA2MmRmZWVi
YmU3NjM3ZTUzMDY2MDQ5NjUuLjMzYTVlNmNjN2U1NDhhZTA4OWViYWNkYjIwZTViYmMyMTA1ZTc3
YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmV0ZXh0
L0ZvbnRDYXNjYWRlQ29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvcmV0ZXh0L0ZvbnRDYXNjYWRlQ29yZVRleHQuY3BwCkBAIC00MSw2ICs0MSw4IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorI2lmICFQTEFURk9STShXSU4pCisKIC8vIENvbmZ1
c2luZ2x5LCBldmVuIHdoZW4gQ0dGb250UmVuZGVyaW5nR2V0Rm9udFNtb290aGluZ0Rpc2FibGVk
KCkgcmV0dXJucyB0cnVlLCBDR0NvbnRleHRTZXRTaG91bGRTbW9vdGhGb250cygpIHN0aWxsIGlt
cGFjdHMgdGV4dAogLy8gcmVuZGVyaW5nLCB3aGljaCBpcyB3aHkgdGhpcyBmdW5jdGlvbiB1c2Vz
IHRoZSAic3VicGl4ZWwgYW50aWFsaWFzaW5nIiByYXRoZXIgdGhhbiAic21vb3RoaW5nIiB0ZXJt
aW5vbG9neS4KIGJvb2wgRm9udENhc2NhZGU6OmlzU3VicGl4ZWxBbnRpYWxpYXNpbmdBdmFpbGFi
bGUoKQpAQCAtMzA5LDQgKzMxMSw2IEBAIGNvbnN0IEZvbnQqIEZvbnRDYXNjYWRlOjpmb250Rm9y
Q29tYmluaW5nQ2hhcmFjdGVyU2VxdWVuY2UoY29uc3QgVUNoYXIqIGNoYXJhY3RlCiAgICAgcmV0
dXJuIEZvbnQ6OnN5c3RlbUZhbGxiYWNrKCk7CiB9CiAKKyNlbmRpZgorCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250Q29yZVRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZXRleHQvRm9udENvcmVU
ZXh0LmNwcAppbmRleCA5ZTIyNTFkNmFkYTlhMGVhMGM0ODEyZjdjNTU2MzdmOWYwOTQ4OTg4Li4y
MzE5MzZkYjhjYjQ5YzcwMGRmOGNmY2YzN2E5ZWFmODY3ODkxN2RmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250Q29yZVRleHQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmV0ZXh0L0ZvbnRDb3JlVGV4
dC5jcHAKQEAgLTUxLDYgKzUxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisjaWYgIVBM
QVRGT1JNKFdJTikKKwogc3RhdGljIGlubGluZSBib29sIGNhc2VJbnNlbnNpdGl2ZUNvbXBhcmUo
Q0ZTdHJpbmdSZWYgYSwgQ0ZTdHJpbmdSZWYgYikKIHsKICAgICByZXR1cm4gYSAmJiBDRlN0cmlu
Z0NvbXBhcmUoYSwgYiwga0NGQ29tcGFyZUNhc2VJbnNlbnNpdGl2ZSkgPT0ga0NGQ29tcGFyZUVx
dWFsVG87CkBAIC03NjgsNCArNzcwLDYgQEAgYm9vbCBGb250Ojppc1Byb2JhYmx5T25seVVzZWRU
b1JlbmRlckljb25zKCkgY29uc3QKICAgICB9KTsKIH0KIAorI2VuZGlmCisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvcmV0ZXh0L0ZvbnRQbGF0Zm9ybURhdGFDb3JlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250UGxhdGZvcm1EYXRhQ29yZVRleHQuY3BwCmlu
ZGV4IDU0NWIwZTg1MDEyMTU5ZjYwMTNmZjUyMjlkYjI0MGEyN2U2MjgwY2IuLjRjYjgwMWM3ZDE0
NzAxNTYxYzJhMDljMWE3ZjQ3Y2M2ZThjODg4NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvcmV0ZXh0L0ZvbnRQbGF0Zm9ybURhdGFDb3JlVGV4dC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZXRleHQvRm9udFBsYXRm
b3JtRGF0YUNvcmVUZXh0LmNwcApAQCAtMzUsNiArMzUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKKyNpZiAhUExBVEZPUk0oV0lOKQorCiBGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZv
cm1EYXRhKENURm9udFJlZiBmb250LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJv
b2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBGb250V2lk
dGhWYXJpYW50IHdpZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01vZGUgdGV4dFJlbmRlcmluZ01v
ZGUpCiAgICAgOiBGb250UGxhdGZvcm1EYXRhKHNpemUsIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRp
Y09ibGlxdWUsIG9yaWVudGF0aW9uLCB3aWR0aFZhcmlhbnQsIHRleHRSZW5kZXJpbmdNb2RlKQog
ewpAQCAtMTgwLDQgKzE4Miw2IEBAIFN0cmluZyBGb250UGxhdGZvcm1EYXRhOjpmYW1pbHlOYW1l
KCkgY29uc3QKICAgICByZXR1cm4geyB9OwogfQogCisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29y
ZXRleHQvR2x5cGhQYWdlQ29yZVRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29yZXRleHQvR2x5cGhQYWdlQ29yZVRleHQuY3BwCmluZGV4IGIzOGVlMzZkYzZiODVj
NDNhM2Q1YjljZDk1NGVjNGUxMzdiZWY0NDguLjE5OTI3M2JkMmFhM2MzMDA1MDRlMGQzZWRiNjdm
OGVkOWQ0ODcxMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvcmV0ZXh0L0dseXBoUGFnZUNvcmVUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9HbHlwaFBhZ2VDb3JlVGV4dC5jcHAKQEAgLTQxLDYgKzQx
LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisjaWYgIVBMQVRGT1JNKFdJTikKKwogc3Rh
dGljIGJvb2wgc2hvdWxkRmlsbFdpdGhWZXJ0aWNhbEdseXBocyhjb25zdCBVQ2hhciogYnVmZmVy
LCB1bnNpZ25lZCBidWZmZXJMZW5ndGgsIGNvbnN0IEZvbnQmIGZvbnQpCiB7CiAgICAgaWYgKCFm
b250Lmhhc1ZlcnRpY2FsR2x5cGhzKCkpCkBAIC03OCw0ICs4MCw2IEBAIGJvb2wgR2x5cGhQYWdl
OjpmaWxsKFVDaGFyKiBidWZmZXIsIHVuc2lnbmVkIGJ1ZmZlckxlbmd0aCkKICAgICByZXR1cm4g
aGF2ZUdseXBoczsKIH0KIAorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1E
YXRhQ0dXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQ
bGF0Zm9ybURhdGFDR1dpbi5jcHAKaW5kZXggMTEyYmY5NWNjOWFkYmY5OWU0NmI1Y2I1MWRlY2E0
MGQ2NGI1ZTE0MS4uMWQxZjM3Njk3ZWYzMGY2N2VkZjA4YWZlYjJkZmVkMDdjNDQ4YzNiNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9y
bURhdGFDR1dpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ZvbnRQbGF0Zm9ybURhdGFDR1dpbi5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUg
IlNoYXJlZEdESU9iamVjdC5oIgogI2luY2x1ZGUgPHBhbC9zcGkvY2cvQ29yZUdyYXBoaWNzU1BJ
Lmg+CisjaW5jbHVkZSA8cGFsL3NwaS93aW4vQ29yZVRleHRTUElXaW4uaD4KICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CkBAIC0xMTQsNiArMTE1LDcgQEAgdm9pZCBGb250UGxhdGZvcm1EYXRhOjpwbGF0
Zm9ybURhdGFJbml0KEhGT05UIGZvbnQsIGZsb2F0IHNpemUsIEhEQyBoZGMsIFdDSEFSKgogICAg
IExPR0ZPTlQgbG9nZm9udDsKICAgICBHZXRPYmplY3QoZm9udCwgc2l6ZW9mKGxvZ2ZvbnQpLCAm
bG9nZm9udCk7CiAgICAgbV9jZ0ZvbnQgPSBhZG9wdENGKENHRm9udENyZWF0ZVdpdGhQbGF0Zm9y
bUZvbnQoJmxvZ2ZvbnQpKTsKKyAgICBtX2N0Rm9udCA9IGFkb3B0Q0YoQ1RGb250Q3JlYXRlV2l0
aEdyYXBoaWNzRm9udChtX2NnRm9udC5nZXQoKSwgc2l6ZSwgbnVsbHB0ciwgbnVsbHB0cikpOwog
ICAgIGlmICghbV91c2VHREkpCiAgICAgICAgIG1faXNTeXN0ZW1Gb250ID0gIXdjc2NtcChmYWNl
TmFtZSwgTCJMdWNpZGEgR3JhbmRlIik7CiB9CkBAIC0xMjQsMTkgKzEyNiwzMyBAQCBGb250UGxh
dGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKEdESU9iamVjdDxIRk9OVD4gaGZvbnQsIENHRm9u
dFJlZiBmb250LCBmbG9hdAogICAgICwgbV9zaXplKHNpemUpCiAgICAgLCBtX2ZvbnQoU2hhcmVk
R0RJT2JqZWN0PEhGT05UPjo6Y3JlYXRlKFdURk1vdmUoaGZvbnQpKSkKICAgICAsIG1fY2dGb250
KGZvbnQpCisgICAgLCBtX2N0Rm9udChhZG9wdENGKENURm9udENyZWF0ZVdpdGhHcmFwaGljc0Zv
bnQobV9jZ0ZvbnQuZ2V0KCksIHNpemUsIG51bGxwdHIsIG51bGxwdHIpKSkKICAgICAsIG1fdXNl
R0RJKHVzZUdESSkKIHsKIH0KIAorRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShD
R0ZvbnRSZWYgY2dGb250LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3lu
dGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBGb250V2lkdGhWYXJp
YW50IHdpZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01vZGUgdGV4dFJlbmRlcmluZ01vZGUpCisg
ICAgOiBGb250UGxhdGZvcm1EYXRhKHNpemUsIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY09ibGlx
dWUsIG9yaWVudGF0aW9uLCB3aWR0aFZhcmlhbnQsIHRleHRSZW5kZXJpbmdNb2RlKQoreworICAg
IG1fY2dGb250ID0gY2dGb250OworICAgIEFTU0VSVChtX2NnRm9udCk7CisgICAgbV9jdEZvbnQg
PSBhZG9wdENGKENURm9udENyZWF0ZVdpdGhHcmFwaGljc0ZvbnQobV9jZ0ZvbnQuZ2V0KCksIHNp
emUsIG51bGxwdHIsIG51bGxwdHIpKTsKK30KKwogdW5zaWduZWQgRm9udFBsYXRmb3JtRGF0YTo6
aGFzaCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fZm9udCA/IG1fZm9udC0+aGFzaCgpIDogMDsK
KyAgICB1bnNpZ25lZCBmb250SGFzaCA9IG1fZm9udCA/IG1fZm9udC0+aGFzaCgpIDogMDsKKyAg
ICBDRkhhc2hDb2RlIGNnRm9udEhhc2ggPSBDRkhhc2gobV9jZ0ZvbnQuZ2V0KCkpOworICAgIENG
SGFzaENvZGUgY3RGb250SGFzaCA9IENGSGFzaChtX2N0Rm9udC5nZXQoKSk7CisgICAgdWludHB0
cl90IGhhc2hDb2Rlc1tdID0geyBmb250SGFzaCwgY2dGb250SGFzaCwgY3RGb250SGFzaCwgbV91
c2VHREkgfTsKKyAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpoYXNoTWVtb3J5PHNpemVvZihoYXNo
Q29kZXMpPihoYXNoQ29kZXMpOwogfQogCiBib29sIEZvbnRQbGF0Zm9ybURhdGE6OnBsYXRmb3Jt
SXNFcXVhbChjb25zdCBGb250UGxhdGZvcm1EYXRhJiBvdGhlcikgY29uc3QKIHsKICAgICByZXR1
cm4gbV9mb250ID09IG90aGVyLm1fZm9udAotICAgICAgICAmJiBtX2NnRm9udCA9PSBvdGhlci5t
X2NnRm9udAorICAgICAgICAmJiBXVEY6OnNhZmVDRkVxdWFsKG1fY2dGb250LmdldCgpLCBvdGhl
ci5tX2NnRm9udC5nZXQoKSkKKyAgICAgICAgJiYgV1RGOjpzYWZlQ0ZFcXVhbChtX2N0Rm9udC5n
ZXQoKSwgb3RoZXIubV9jdEZvbnQuZ2V0KCkpCiAgICAgICAgICYmIG1fdXNlR0RJID09IG90aGVy
Lm1fdXNlR0RJOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0FwcGxlV2lu
LmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNBcHBsZVdpbi5jbWFrZQppbmRleCA5OTJlMjM1
YmMyZjQzYzAzYmIzMDFhMTc3OGE3NDVhNWU1NWJlMDg2Li4yOWFhNjcyODEwODgzZjUxNDhmZDU0
YTgxMzM4NzliYTg1ODMzMjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0FwcGxl
V2luLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zQXBwbGVXaW4uY21ha2UKQEAgLTQ4
LDYgKzQ4LDcgQEAgaWYgKCR7VVNFX0RJUkVDVDJEfSkKIGVsc2UgKCkKICAgICBTRVRfQU5EX0VY
UE9TRV9UT19CVUlMRChVU0VfQ0EgT04pCiAgICAgU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoVVNF
X0NHIE9OKQorICAgIFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKFVTRV9DT1JFX1RFWFQgT04pCiAK
ICAgICBzZXQoQ01BS0VfUkVRVUlSRURfSU5DTFVERVMgJHtXRUJLSVRfTElCUkFSSUVTX0lOQ0xV
REVfRElSfSkKICAgICBzZXQoQ01BS0VfUkVRVUlSRURfTElCUkFSSUVTCmRpZmYgLS1naXQgYS9D
aGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggYjEwOTk3ZjEyZmNjMTVhOTMxZDA5ZjcyNTNjZDNk
Mzk1OTg0OGRiNy4uZGM1ZTAyNTM4ZTJmYzZmZTYzYmFhNjEwMWM5MTAwYWI2YTM4YjQ5YSAxMDA2
NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIw
LTA5LTEyICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAg
ICAgW0FwcGxlIFdpbl0gQWRkIGEgQ1RGb250IG1lbWJlciB0byBGb250UGxhdGZvcm1EYXRhCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY0MzIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbmNsdWRlICoq
KkNvcmVUZXh0LmNwcCBmaWxlcyBvbiB0aGUgQXBwbGUgV2luIHBvcnQuCisKKyAgICAgICAgKiBT
b3VyY2UvY21ha2UvT3B0aW9uc0FwcGxlV2luLmNtYWtlOgorCiAyMDIwLTA5LTEwICBBZHJpYW4g
UGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0NNYWtlXSBV
c2UgaW1wb3J0ZWQgdGFyZ2V0cyBpbiBmaW5kIG1vZHVsZSBmb3IgbGlic2VjY29tcAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408609</attachid>
            <date>2020-09-12 14:09:16 -0700</date>
            <delta_ts>2020-09-12 16:01:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216432-20200912140915.patch</filename>
            <type>text/plain</type>
            <size>17681</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2OTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTMxNjhhYTZjNDZiMTI4
YzYyZWQwNDhmOTMwY2M1M2E2OGRjMWRhYi4uNTI4NTUxNjZkMTc5MDJjYzZkYmM4YTY0NmNiMTBl
Njk0ZDZlMzUzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIwLTA5LTEyICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0FwcGxlIFdp
bl0gQWRkIGEgQ1RGb250IG1lbWJlciB0byBGb250UGxhdGZvcm1EYXRhCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY0MzIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIHRoZSBzZWNvbmQgc3Rl
cCBvbiB0aGUgcGF0aCB0byByZXBsYWNpbmcgdGhlIEFwcGxlIFdpbiBwb3J0J3MgdXNlIG9mIENH
Rm9udCB3aXRoIENURm9udC4KKyAgICAgICAgVGhpcyBwYXRjaCBhZGRzIG1fY3RGb250IHRvIEZv
bnRQbGF0Zm9ybURhdGEsIGFuZCBtYWtlcyBGb250UGxhdGZvcm1EYXRhJ3MgY29uc3RydWN0b3Jz
IGNyZWF0ZQorICAgICAgICB0aGlzIG9iamVjdCBmcm9tIHRoZWlyIGV4aXN0aW5nIGFyZ3VtZW50
cy4gSXQgYWxzbyBlbmFibGVzIHRoZSBVU0UoQ09SRV9URVhUKSBmbGFnIG9uIHRoZSBBcHBsZQor
ICAgICAgICBXaW4gcG9ydCwgYnV0IG1hbnVhbGx5IGRpc2FibGVzIGVhY2ggb2YgdGhlIFVTRShD
T1JFX1RFWFQpIHNpdGVzIG9uIFdpbmRvd3MsIHNvIHRoZXJlIGlzbid0IGFueQorICAgICAgICBi
ZWhhdmlvciBjaGFuZ2UganVzdCB5ZXQuIFRoZSBuZXcgbWVtYmVyLCBtX2N0Rm9udCwgaXMgdGhl
cmVmb3JlIHN0aWxsIHVudXNlZCBpbiB0aGlzIHBhdGNoLiBUaGUKKyAgICAgICAgbmV4dCBzdGVw
cyB3aWxsIGJlIHJlcGxhY2luZyBvdXIgY3VycmVudCBBcHBsZSBXaW4gZm9udCBmdW5jdGlvbnMg
d2l0aCB0aGVpciBVU0UoQ09SRV9URVhUKQorICAgICAgICBjb3VudGVycGFydHMsIG9uZS1ieS1v
bmUuIChSZXBsYWNpbmcgdGhlbSBvbmUtYnktb25lIGlzIGJldHRlciB0aGFuIGRvaW5nIHRoZW0g
YWxsIGF0IG9uY2UgaW4gYQorICAgICAgICBnaWFudCBtb25kby1wYXRjaC4pCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3IgY2hhbmdlIHlldC4KKwor
ICAgICAgICAqIFBsYXRmb3JtQXBwbGVXaW4uY21ha2U6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUu
Y3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuaDogVGhlICNkZWZp
bmVzIGFyZSB0ZW1wb3JhcmlseSBnZXR0aW5nIHdvcnNlIGJlZm9yZSB0aGV5J2xsCisgICAgICAg
IGJlIGdldHRpbmcgYmV0dGVyLiBXaGVuIHRoaXMgcHJvamVjdCBpcyBkb25lLCB0aGVyZSB3aWxs
IGJlIGZld2VyICNkZWZpbmVzLCBhbmQgdGhpcyBmaWxlIHdpbGwgYmUKKyAgICAgICAgY2xlYW5l
ciB0aGFuIGl0IHdhcyB3aGVuIEkgc3RhcnRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0
Zm9ybURhdGE6OmNnRm9udCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1E
YXRhOjpjdEZvbnQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvcmV0ZXh0
L0ZvbnRDYXNjYWRlQ29yZVRleHQuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nv
cmV0ZXh0L0ZvbnRDb3JlVGV4dC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29y
ZXRleHQvRm9udFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jb3JldGV4dC9HbHlwaFBhZ2VDb3JlVGV4dC5jcHA6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFDR1dpbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGb250UGxhdGZvcm1EYXRhOjpwbGF0Zm9ybURhdGFJbml0KToKKyAgICAgICAgKFdlYkNv
cmU6OkZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9udFBsYXRmb3JtRGF0YTo6aGFzaCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250
UGxhdGZvcm1EYXRhOjpwbGF0Zm9ybUlzRXF1YWwgY29uc3QpOgorCiAyMDIwLTA5LTEyICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBTaW1wbGlm
eSBMaW5lQm94IG9mZnNldCBjb21wdXRhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UGxhdGZvcm1BcHBsZVdpbi5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtQXBwbGVXaW4u
Y21ha2UKaW5kZXggZDk0ZmQ2OWNkN2VkZWNhM2M4NjA2MWFmMzIwYWJiY2FiMjhjODAzZi4uNGUy
MDkwZjhkZTU4YWI0NTRiNTBkMjdkMWU4ZDU3MjJkYWIyMzJjNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUGxhdGZvcm1BcHBsZVdpbi5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0
Zm9ybUFwcGxlV2luLmNtYWtlCkBAIC0xNTAsNiArMTUwLDExIEBAIGVsc2UgKCkKICAgICAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvVHJhbnNmb3JtYXRpb25NYXRyaXhDRy5jcHAKICAgICAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvVVRJUmVnaXN0cnkuY3BwCiAKKyAgICAgICAgcGxhdGZvcm0v
Z3JhcGhpY3MvY29yZXRleHQvRm9udENhc2NhZGVDb3JlVGV4dC5jcHAKKyAgICAgICAgcGxhdGZv
cm0vZ3JhcGhpY3MvY29yZXRleHQvRm9udENvcmVUZXh0LmNwcAorICAgICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9jb3JldGV4dC9Gb250UGxhdGZvcm1EYXRhQ29yZVRleHQuY3BwCisgICAgICAgIHBs
YXRmb3JtL2dyYXBoaWNzL2NvcmV0ZXh0L0dseXBoUGFnZUNvcmVUZXh0LmNwcAorCiAgICAgICAg
IHBsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3BwCiAKICAgICAgICAgcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDR1dpbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udC5jcHAKaW5kZXggNzYyYjViMDgwZDYwYzVjZDE1MDlmYTg1NGRhODZhMDJj
ZTdhYTlmNS4uMDdkZWIzOGViMWQwZmU2ZGNhZTNiYWUwN2ZhNTRiOGE2NzM0YTNkNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAKQEAgLTQ3NCw3ICs0NzQsNyBA
QCBjb25zdCBGb250JiBGb250Ojpicm9rZW5JZGVvZ3JhcGhGb250KCkgY29uc3QKICAgICByZXR1
cm4gKmRlcml2ZWRGb250RGF0YS5icm9rZW5JZGVvZ3JhcGhGb250OwogfQogCi0jaWYgIVVTRShD
T1JFX1RFWFQpCisjaWYgIVVTRShDT1JFX1RFWFQpIHx8IFBMQVRGT1JNKFdJTikKIAogYm9vbCBG
b250Ojppc1Byb2JhYmx5T25seVVzZWRUb1JlbmRlckljb25zKCkgY29uc3QKIHsKQEAgLTUxMSw3
ICs1MTEsNyBAQCBSZWZQdHI8Rm9udD4gRm9udDo6Y3JlYXRlU2NhbGVkRm9udChjb25zdCBGb250
RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgZmxvYQogICAgIHJldHVybiBwbGF0Zm9ybUNy
ZWF0ZVNjYWxlZEZvbnQoZm9udERlc2NyaXB0aW9uLCBzY2FsZUZhY3Rvcik7CiB9CiAKLSNpZiAh
VVNFKENPUkVfVEVYVCkKKyNpZiAhVVNFKENPUkVfVEVYVCkgfHwgUExBVEZPUk0oV0lOKQogdm9p
ZCBGb250OjphcHBseVRyYW5zZm9ybXMoR2x5cGhCdWZmZXImLCB1bnNpZ25lZCwgdW5zaWduZWQs
IGJvb2wsIGJvb2wsIGNvbnN0IEF0b21TdHJpbmcmLCBTdHJpbmdWaWV3LCBUZXh0RGlyZWN0aW9u
KSBjb25zdAogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udENhc2NhZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dENhc2NhZGUuY3BwCmluZGV4IDY1YzEwYjA0ZWE4NDk2NjQxZGRkNzkxYmE2NTcyYmE2ODUzYWY1
ZGQuLjIwYWMzMTc3NGFjOTVjNTg1NWJiOTUxMDI4NDhiMDI1ODc2NTVkYWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTU5NSw3
ICs1OTUsNyBAQCBib29sIEZvbnRDYXNjYWRlOjpzaG91bGRVc2VTbW9vdGhpbmcoKQogICAgIHJl
dHVybiBzaG91bGRVc2VGb250U21vb3RoaW5nOwogfQogCi0jaWYgIVVTRShDT1JFX1RFWFQpCisj
aWYgIVVTRShDT1JFX1RFWFQpIHx8IFBMQVRGT1JNKFdJTikKIGJvb2wgRm9udENhc2NhZGU6Omlz
U3VicGl4ZWxBbnRpYWxpYXNpbmdBdmFpbGFibGUoKQogewogICAgIHJldHVybiBmYWxzZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURh
dGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0
YS5jcHAKaW5kZXggZDFiODBiNjFjZjQ1NmFlMzdmMTcwNzMxOTBiMmI1NDMwZGMwYmFiMS4uMjY1
YTNkN2E4Y2E2MTZkMTIwYTVmMjAyODFlNjFmZWQ3MTEyM2YzOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5jcHAKQEAgLTMx
LDYgKzMxLDEwIEBACiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHRm9udC5oPgogI2VuZGlmCiAK
KyNpZiBQTEFURk9STShXSU4pICYmIFVTRShDT1JFX1RFWFQpCisjaW5jbHVkZSA8cGFsL3NwaS93
aW4vQ29yZVRleHRTUElXaW4uaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEZv
bnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEoV1RGOjpIYXNoVGFibGVEZWxldGVkVmFs
dWVUeXBlKQpAQCAtNTIsMTUgKzU2LDYgQEAgRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3Jt
RGF0YShmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGkKIHsKIH0K
IAotI2lmIFVTRShDRykgJiYgUExBVEZPUk0oV0lOKQotRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBs
YXRmb3JtRGF0YShDR0ZvbnRSZWYgY2dGb250LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0Jv
bGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBG
b250V2lkdGhWYXJpYW50IHdpZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01vZGUgdGV4dFJlbmRl
cmluZ01vZGUpCi0gICAgOiBGb250UGxhdGZvcm1EYXRhKHNpemUsIHN5bnRoZXRpY0JvbGQsIHN5
bnRoZXRpY09ibGlxdWUsIG9yaWVudGF0aW9uLCB3aWR0aFZhcmlhbnQsIHRleHRSZW5kZXJpbmdN
b2RlKQotewotICAgIG1fY2dGb250ID0gY2dGb250OwotICAgIEFTU0VSVChtX2NnRm9udCk7Ci19
Ci0jZW5kaWYKLQogI2lmICFVU0UoRlJFRVRZUEUpCiBGb250UGxhdGZvcm1EYXRhIEZvbnRQbGF0
Zm9ybURhdGE6OmNsb25lV2l0aE9yaWVudGF0aW9uKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHNv
dXJjZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uKQogewpAQCAtODQsNyArNzksNyBAQCBG
b250UGxhdGZvcm1EYXRhIEZvbnRQbGF0Zm9ybURhdGE6OmNsb25lV2l0aFNpemUoY29uc3QgRm9u
dFBsYXRmb3JtRGF0YSYgc291cmNlLAogfQogI2VuZGlmCiAKLSNpZiAhVVNFKENPUkVfVEVYVCkK
KyNpZiAhVVNFKENPUkVfVEVYVCkgfHwgUExBVEZPUk0oV0lOKQogCiBTdHJpbmcgRm9udFBsYXRm
b3JtRGF0YTo6ZmFtaWx5TmFtZSgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXggNDMxZDUzNGI0MzgxZTI3
NjlkNjUxMzBhODgxNTZlYzEwNzNiNGU1Ny4uYmM3ZmNhYmE2OGVmOTRiYzRkODAwMDZhNDU4NzVh
NTY1MGQ2OGNmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udFBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRQbGF0Zm9ybURhdGEuaApAQCAtODYsNDAgKzg2LDM4IEBAIHB1YmxpYzoKICAgICBXRUJD
T1JFX0VYUE9SVCBGb250UGxhdGZvcm1EYXRhKENURm9udFJlZiwgZmxvYXQgc2l6ZSwgYm9vbCBz
eW50aGV0aWNCb2xkID0gZmFsc2UsIGJvb2wgc3ludGhldGljT2JsaXF1ZSA9IGZhbHNlLCBGb250
T3JpZW50YXRpb24gPSBGb250T3JpZW50YXRpb246Okhvcml6b250YWwsIEZvbnRXaWR0aFZhcmlh
bnQgPSBGb250V2lkdGhWYXJpYW50OjpSZWd1bGFyV2lkdGgsIFRleHRSZW5kZXJpbmdNb2RlID0g
VGV4dFJlbmRlcmluZ01vZGU6OkF1dG9UZXh0UmVuZGVyaW5nKTsKICNlbmRpZgogCi0gICAgc3Rh
dGljIEZvbnRQbGF0Zm9ybURhdGEgY2xvbmVXaXRoT3JpZW50YXRpb24oY29uc3QgRm9udFBsYXRm
b3JtRGF0YSYsIEZvbnRPcmllbnRhdGlvbik7Ci0gICAgc3RhdGljIEZvbnRQbGF0Zm9ybURhdGEg
Y2xvbmVXaXRoU3ludGhldGljT2JsaXF1ZShjb25zdCBGb250UGxhdGZvcm1EYXRhJiwgYm9vbCk7
Ci0gICAgc3RhdGljIEZvbnRQbGF0Zm9ybURhdGEgY2xvbmVXaXRoU2l6ZShjb25zdCBGb250UGxh
dGZvcm1EYXRhJiwgZmxvYXQpOwotCi0jaWYgVVNFKENHKSAmJiBQTEFURk9STShXSU4pCi0gICAg
Rm9udFBsYXRmb3JtRGF0YShDR0ZvbnRSZWYsIGZsb2F0IHNpemUsIGJvb2wgc3ludGhldGljQm9s
ZCwgYm9vbCBzeW50aGV0aWNPYmxpcXVlLCBGb250T3JpZW50YXRpb24sIEZvbnRXaWR0aFZhcmlh
bnQsIFRleHRSZW5kZXJpbmdNb2RlKTsKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oV0lOKQogICAg
IEZvbnRQbGF0Zm9ybURhdGEoR0RJT2JqZWN0PEhGT05UPiwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50
aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY09ibGlxdWUsIGJvb2wgdXNlR0RJKTsKLSNlbmRpZgot
Ci0jaWYgUExBVEZPUk0oV0lOKSAmJiBVU0UoQ0cpCisjaWYgVVNFKENHKQogICAgIEZvbnRQbGF0
Zm9ybURhdGEoR0RJT2JqZWN0PEhGT05UPiwgQ0dGb250UmVmLCBmbG9hdCBzaXplLCBib29sIHN5
bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgYm9vbCB1c2VHREkpOworICAgIEZv
bnRQbGF0Zm9ybURhdGEoQ0dGb250UmVmLCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQs
IGJvb2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uLCBGb250V2lkdGhWYXJpYW50
LCBUZXh0UmVuZGVyaW5nTW9kZSk7CiAjZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdJTikgJiYgVVNF
KERJUkVDVDJEKQorI2lmIFVTRShESVJFQ1QyRCkKICAgICBGb250UGxhdGZvcm1EYXRhKEdESU9i
amVjdDxIRk9OVD4mJiwgQ09NUHRyPElEV3JpdGVGb250PiYmLCBmbG9hdCBzaXplLCBib29sIHN5
bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgYm9vbCB1c2VHREkpOwogI2VuZGlm
Ci0KLSNpZiBQTEFURk9STShXSU4pICYmIFVTRShDQUlSTykKKyNpZiBVU0UoQ0FJUk8pCiAgICAg
Rm9udFBsYXRmb3JtRGF0YShHRElPYmplY3Q8SEZPTlQ+LCBjYWlyb19mb250X2ZhY2VfdCosIGZs
b2F0IHNpemUsIGJvb2wgYm9sZCwgYm9vbCBpdGFsaWMpOwogI2VuZGlmCisjZW5kaWYKIAogI2lm
IFVTRShGUkVFVFlQRSkKICAgICBGb250UGxhdGZvcm1EYXRhKGNhaXJvX2ZvbnRfZmFjZV90Kiwg
UmVmUHRyPEZjUGF0dGVybj4mJiwgZmxvYXQgc2l6ZSwgYm9vbCBmaXhlZFdpZHRoLCBib29sIHN5
bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uKTsKICNl
bmRpZgogCisgICAgc3RhdGljIEZvbnRQbGF0Zm9ybURhdGEgY2xvbmVXaXRoT3JpZW50YXRpb24o
Y29uc3QgRm9udFBsYXRmb3JtRGF0YSYsIEZvbnRPcmllbnRhdGlvbik7CisgICAgc3RhdGljIEZv
bnRQbGF0Zm9ybURhdGEgY2xvbmVXaXRoU3ludGhldGljT2JsaXF1ZShjb25zdCBGb250UGxhdGZv
cm1EYXRhJiwgYm9vbCk7CisgICAgc3RhdGljIEZvbnRQbGF0Zm9ybURhdGEgY2xvbmVXaXRoU2l6
ZShjb25zdCBGb250UGxhdGZvcm1EYXRhJiwgZmxvYXQpOworCiAjaWYgUExBVEZPUk0oV0lOKQog
ICAgIEhGT05UIGhmb250KCkgY29uc3QgeyByZXR1cm4gbV9mb250ID8gbV9mb250LT5nZXQoKSA6
IDA7IH0KICAgICBib29sIHVzZUdESSgpIGNvbnN0IHsgcmV0dXJuIG1fdXNlR0RJOyB9CisjaWYg
VVNFKENHKQorICAgIENHRm9udFJlZiBjZ0ZvbnQoKSBjb25zdCB7IHJldHVybiBtX2NnRm9udC5n
ZXQoKTsgfQogI2VuZGlmCi0KICNpZiBVU0UoQ09SRV9URVhUKQorICAgIENURm9udFJlZiBjdEZv
bnQoKSBjb25zdCB7IHJldHVybiBtX2N0Rm9udC5nZXQoKTsgfQorI2VuZGlmCisjZWxpZiBVU0Uo
Q09SRV9URVhUKQogICAgIENURm9udFJlZiBmb250KCkgY29uc3QgeyByZXR1cm4gbV9mb250Lmdl
dCgpOyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgQ1RGb250UmVmIHJlZ2lzdGVyZWRGb250KCkgY29u
c3Q7IC8vIFJldHVybnMgbnVsbHB0ciBpZmYgdGhlIGZvbnQgaXMgbm90IHJlZ2lzdGVyZWQsIHN1
Y2ggYXMgd2ViIGZvbnRzIChvdGhlcndpc2UgcmV0dXJucyBmb250KCkpLgogCkBAIC0xMzYsMTAg
KzEzNCw2IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaGFzVmFyaWF0aW9ucygpIGNvbnN0IHsgcmV0
dXJuIG1faGFzVmFyaWF0aW9uczsgfQogCi0jaWYgVVNFKENHKSAmJiBQTEFURk9STShXSU4pCi0g
ICAgQ0dGb250UmVmIGNnRm9udCgpIGNvbnN0IHsgcmV0dXJuIG1fY2dGb250LmdldCgpOyB9Ci0j
ZW5kaWYKLQogI2lmIFVTRShESVJFQ1QyRCkKICAgICBJRFdyaXRlRm9udCogZHdGb250KCkgY29u
c3QgeyByZXR1cm4gbV9kd0ZvbnQuZ2V0KCk7IH0KICAgICBJRFdyaXRlRm9udEZhY2UqIGR3Rm9u
dEZhY2UoKSBjb25zdCB7IHJldHVybiBtX2R3Rm9udEZhY2UuZ2V0KCk7IH0KQEAgLTE5OSwxMyAr
MTkzLDkgQEAgcHVibGljOgogI2VuZGlmCiAgICAgfQogCi0jaWYgUExBVEZPUk0oQ09DT0EpIHx8
IFBMQVRGT1JNKFdJTikgfHwgVVNFKEZSRUVUWVBFKQogICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+
IG9wZW5UeXBlVGFibGUodWludDMyX3QgdGFibGUpIGNvbnN0OwotI2VuZGlmCiAKLSNpZiAhTE9H
X0RJU0FCTEVECiAgICAgU3RyaW5nIGRlc2NyaXB0aW9uKCkgY29uc3Q7Ci0jZW5kaWYKIAogcHJp
dmF0ZToKICAgICBib29sIHBsYXRmb3JtSXNFcXVhbChjb25zdCBGb250UGxhdGZvcm1EYXRhJikg
Y29uc3Q7CkBAIC0yMjIsMTYgKzIxMiwxOCBAQCBwcml2YXRlOgogICAgIHZvaWQgYnVpbGRTY2Fs
ZWRGb250KGNhaXJvX2ZvbnRfZmFjZV90Kik7CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKFdJTikK
KyAgICBSZWZQdHI8U2hhcmVkR0RJT2JqZWN0PEhGT05UPj4gbV9mb250OyAvLyBGSVhNRTogRGVs
ZXRlIHRoaXMgaW4gZmF2b3Igb2YgbV9jdEZvbnQgb3IgbV9kd0ZvbnQgb3IgbV9zY2FsZWRGb250
LgorI2lmIFVTRShDRykKKyAgICBSZXRhaW5QdHI8Q0dGb250UmVmPiBtX2NnRm9udDsgLy8gRklY
TUU6IERlbGV0ZSB0aGlzIGluIGZhdm9yIG9mIG1fY3RGb250LgorI2VuZGlmCiAjaWYgVVNFKENP
UkVfVEVYVCkKKyAgICBSZXRhaW5QdHI8Q1RGb250UmVmPiBtX2N0Rm9udDsKKyNlbmRpZgorI2Vs
aWYgVVNFKENPUkVfVEVYVCkKICAgICAvLyBGSVhNRTogR2V0IHJpZCBvZiBvbmUgb2YgdGhlc2Uu
IFRoZXNlIHR3byBmb250cyBhcmUgc3VidGx5IGRpZmZlcmVudCwgYW5kIGl0IGlzIG5vdCBvYnZp
b3VzIHdoaWNoIG9uZSB0byB1c2Ugd2hlcmUuCiAgICAgUmV0YWluUHRyPENURm9udFJlZj4gbV9m
b250OwogICAgIG11dGFibGUgUmV0YWluUHRyPENURm9udFJlZj4gbV9jdEZvbnQ7Ci0jZWxpZiBQ
TEFURk9STShXSU4pCi0gICAgUmVmUHRyPFNoYXJlZEdESU9iamVjdDxIRk9OVD4+IG1fZm9udDsK
LSNlbmRpZgotCi0jaWYgVVNFKENHKSAmJiBQTEFURk9STShXSU4pCi0gICAgUmV0YWluUHRyPENH
Rm9udFJlZj4gbV9jZ0ZvbnQ7CiAjZW5kaWYKIAogI2lmIFVTRShESVJFQ1QyRCkKQEAgLTI0Nyw4
ICsyMzksNiBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxGY1BhdHRlcm4+IG1fcGF0dGVybjsKICNl
bmRpZgogCi0gICAgLy8gVGhlIHZhbHVlcyBiZWxvdyBhcmUgY29tbW9uIHRvIGFsbCBwb3J0cwot
ICAgIC8vIEZJWE1FOiBJZiB0aGV5J3JlIGNvbW1vbiB0byBhbGwgcG9ydHMsIHRoZXkgc2hvdWxk
IG1vdmUgdG8gRm9udAogICAgIGZsb2F0IG1fc2l6ZSB7IDAgfTsKIAogICAgIEZvbnRPcmllbnRh
dGlvbiBtX29yaWVudGF0aW9uIHsgRm9udE9yaWVudGF0aW9uOjpIb3Jpem9udGFsIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250Q2Fz
Y2FkZUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmV0
ZXh0L0ZvbnRDYXNjYWRlQ29yZVRleHQuY3BwCmluZGV4IDAyOGI1MTI0M2U1Nzg1YTA2MmRmZWVi
YmU3NjM3ZTUzMDY2MDQ5NjUuLjMzYTVlNmNjN2U1NDhhZTA4OWViYWNkYjIwZTViYmMyMTA1ZTc3
YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmV0ZXh0
L0ZvbnRDYXNjYWRlQ29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvcmV0ZXh0L0ZvbnRDYXNjYWRlQ29yZVRleHQuY3BwCkBAIC00MSw2ICs0MSw4IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorI2lmICFQTEFURk9STShXSU4pCisKIC8vIENvbmZ1
c2luZ2x5LCBldmVuIHdoZW4gQ0dGb250UmVuZGVyaW5nR2V0Rm9udFNtb290aGluZ0Rpc2FibGVk
KCkgcmV0dXJucyB0cnVlLCBDR0NvbnRleHRTZXRTaG91bGRTbW9vdGhGb250cygpIHN0aWxsIGlt
cGFjdHMgdGV4dAogLy8gcmVuZGVyaW5nLCB3aGljaCBpcyB3aHkgdGhpcyBmdW5jdGlvbiB1c2Vz
IHRoZSAic3VicGl4ZWwgYW50aWFsaWFzaW5nIiByYXRoZXIgdGhhbiAic21vb3RoaW5nIiB0ZXJt
aW5vbG9neS4KIGJvb2wgRm9udENhc2NhZGU6OmlzU3VicGl4ZWxBbnRpYWxpYXNpbmdBdmFpbGFi
bGUoKQpAQCAtMzA5LDQgKzMxMSw2IEBAIGNvbnN0IEZvbnQqIEZvbnRDYXNjYWRlOjpmb250Rm9y
Q29tYmluaW5nQ2hhcmFjdGVyU2VxdWVuY2UoY29uc3QgVUNoYXIqIGNoYXJhY3RlCiAgICAgcmV0
dXJuIEZvbnQ6OnN5c3RlbUZhbGxiYWNrKCk7CiB9CiAKKyNlbmRpZgorCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250Q29yZVRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZXRleHQvRm9udENvcmVU
ZXh0LmNwcAppbmRleCA5ZTIyNTFkNmFkYTlhMGVhMGM0ODEyZjdjNTU2MzdmOWYwOTQ4OTg4Li4y
MzE5MzZkYjhjYjQ5YzcwMGRmOGNmY2YzN2E5ZWFmODY3ODkxN2RmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250Q29yZVRleHQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmV0ZXh0L0ZvbnRDb3JlVGV4
dC5jcHAKQEAgLTUxLDYgKzUxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisjaWYgIVBM
QVRGT1JNKFdJTikKKwogc3RhdGljIGlubGluZSBib29sIGNhc2VJbnNlbnNpdGl2ZUNvbXBhcmUo
Q0ZTdHJpbmdSZWYgYSwgQ0ZTdHJpbmdSZWYgYikKIHsKICAgICByZXR1cm4gYSAmJiBDRlN0cmlu
Z0NvbXBhcmUoYSwgYiwga0NGQ29tcGFyZUNhc2VJbnNlbnNpdGl2ZSkgPT0ga0NGQ29tcGFyZUVx
dWFsVG87CkBAIC03NjgsNCArNzcwLDYgQEAgYm9vbCBGb250Ojppc1Byb2JhYmx5T25seVVzZWRU
b1JlbmRlckljb25zKCkgY29uc3QKICAgICB9KTsKIH0KIAorI2VuZGlmCisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvcmV0ZXh0L0ZvbnRQbGF0Zm9ybURhdGFDb3JlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250UGxhdGZvcm1EYXRhQ29yZVRleHQuY3BwCmlu
ZGV4IDU0NWIwZTg1MDEyMTU5ZjYwMTNmZjUyMjlkYjI0MGEyN2U2MjgwY2IuLjRjYjgwMWM3ZDE0
NzAxNTYxYzJhMDljMWE3ZjQ3Y2M2ZThjODg4NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvcmV0ZXh0L0ZvbnRQbGF0Zm9ybURhdGFDb3JlVGV4dC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZXRleHQvRm9udFBsYXRm
b3JtRGF0YUNvcmVUZXh0LmNwcApAQCAtMzUsNiArMzUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKKyNpZiAhUExBVEZPUk0oV0lOKQorCiBGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZv
cm1EYXRhKENURm9udFJlZiBmb250LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJv
b2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBGb250V2lk
dGhWYXJpYW50IHdpZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01vZGUgdGV4dFJlbmRlcmluZ01v
ZGUpCiAgICAgOiBGb250UGxhdGZvcm1EYXRhKHNpemUsIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRp
Y09ibGlxdWUsIG9yaWVudGF0aW9uLCB3aWR0aFZhcmlhbnQsIHRleHRSZW5kZXJpbmdNb2RlKQog
ewpAQCAtMTgwLDQgKzE4Miw2IEBAIFN0cmluZyBGb250UGxhdGZvcm1EYXRhOjpmYW1pbHlOYW1l
KCkgY29uc3QKICAgICByZXR1cm4geyB9OwogfQogCisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29y
ZXRleHQvR2x5cGhQYWdlQ29yZVRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29yZXRleHQvR2x5cGhQYWdlQ29yZVRleHQuY3BwCmluZGV4IGIzOGVlMzZkYzZiODVj
NDNhM2Q1YjljZDk1NGVjNGUxMzdiZWY0NDguLjE5OTI3M2JkMmFhM2MzMDA1MDRlMGQzZWRiNjdm
OGVkOWQ0ODcxMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvcmV0ZXh0L0dseXBoUGFnZUNvcmVUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9HbHlwaFBhZ2VDb3JlVGV4dC5jcHAKQEAgLTQxLDYgKzQx
LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisjaWYgIVBMQVRGT1JNKFdJTikKKwogc3Rh
dGljIGJvb2wgc2hvdWxkRmlsbFdpdGhWZXJ0aWNhbEdseXBocyhjb25zdCBVQ2hhciogYnVmZmVy
LCB1bnNpZ25lZCBidWZmZXJMZW5ndGgsIGNvbnN0IEZvbnQmIGZvbnQpCiB7CiAgICAgaWYgKCFm
b250Lmhhc1ZlcnRpY2FsR2x5cGhzKCkpCkBAIC03OCw0ICs4MCw2IEBAIGJvb2wgR2x5cGhQYWdl
OjpmaWxsKFVDaGFyKiBidWZmZXIsIHVuc2lnbmVkIGJ1ZmZlckxlbmd0aCkKICAgICByZXR1cm4g
aGF2ZUdseXBoczsKIH0KIAorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1E
YXRhQ0dXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQ
bGF0Zm9ybURhdGFDR1dpbi5jcHAKaW5kZXggMTEyYmY5NWNjOWFkYmY5OWU0NmI1Y2I1MWRlY2E0
MGQ2NGI1ZTE0MS4uMzBhNDRkZDE0YzFiNmZmZmQ2Y2JjZTc0NzI1OTg5NTRkOTIwNzhlMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9y
bURhdGFDR1dpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ZvbnRQbGF0Zm9ybURhdGFDR1dpbi5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUg
IlNoYXJlZEdESU9iamVjdC5oIgogI2luY2x1ZGUgPHBhbC9zcGkvY2cvQ29yZUdyYXBoaWNzU1BJ
Lmg+CisjaW5jbHVkZSA8cGFsL3NwaS93aW4vQ29yZVRleHRTUElXaW4uaD4KICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CkBAIC0xMTQsNiArMTE1LDcgQEAgdm9pZCBGb250UGxhdGZvcm1EYXRhOjpwbGF0
Zm9ybURhdGFJbml0KEhGT05UIGZvbnQsIGZsb2F0IHNpemUsIEhEQyBoZGMsIFdDSEFSKgogICAg
IExPR0ZPTlQgbG9nZm9udDsKICAgICBHZXRPYmplY3QoZm9udCwgc2l6ZW9mKGxvZ2ZvbnQpLCAm
bG9nZm9udCk7CiAgICAgbV9jZ0ZvbnQgPSBhZG9wdENGKENHRm9udENyZWF0ZVdpdGhQbGF0Zm9y
bUZvbnQoJmxvZ2ZvbnQpKTsKKyAgICBtX2N0Rm9udCA9IGFkb3B0Q0YoQ1RGb250Q3JlYXRlV2l0
aEdyYXBoaWNzRm9udChtX2NnRm9udC5nZXQoKSwgc2l6ZSwgbnVsbHB0ciwgbnVsbHB0cikpOwog
ICAgIGlmICghbV91c2VHREkpCiAgICAgICAgIG1faXNTeXN0ZW1Gb250ID0gIXdjc2NtcChmYWNl
TmFtZSwgTCJMdWNpZGEgR3JhbmRlIik7CiB9CkBAIC0xMjQsMTkgKzEyNiwzMyBAQCBGb250UGxh
dGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKEdESU9iamVjdDxIRk9OVD4gaGZvbnQsIENHRm9u
dFJlZiBmb250LCBmbG9hdAogICAgICwgbV9zaXplKHNpemUpCiAgICAgLCBtX2ZvbnQoU2hhcmVk
R0RJT2JqZWN0PEhGT05UPjo6Y3JlYXRlKFdURk1vdmUoaGZvbnQpKSkKICAgICAsIG1fY2dGb250
KGZvbnQpCisgICAgLCBtX2N0Rm9udChhZG9wdENGKENURm9udENyZWF0ZVdpdGhHcmFwaGljc0Zv
bnQobV9jZ0ZvbnQuZ2V0KCksIHNpemUsIG51bGxwdHIsIG51bGxwdHIpKSkKICAgICAsIG1fdXNl
R0RJKHVzZUdESSkKIHsKIH0KIAorRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShD
R0ZvbnRSZWYgY2dGb250LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3lu
dGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBGb250V2lkdGhWYXJp
YW50IHdpZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01vZGUgdGV4dFJlbmRlcmluZ01vZGUpCisg
ICAgOiBGb250UGxhdGZvcm1EYXRhKHNpemUsIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY09ibGlx
dWUsIG9yaWVudGF0aW9uLCB3aWR0aFZhcmlhbnQsIHRleHRSZW5kZXJpbmdNb2RlKQoreworICAg
IG1fY2dGb250ID0gY2dGb250OworICAgIEFTU0VSVChtX2NnRm9udCk7CisgICAgbV9jdEZvbnQg
PSBhZG9wdENGKENURm9udENyZWF0ZVdpdGhHcmFwaGljc0ZvbnQobV9jZ0ZvbnQuZ2V0KCksIHNp
emUsIG51bGxwdHIsIG51bGxwdHIpKTsKK30KKwogdW5zaWduZWQgRm9udFBsYXRmb3JtRGF0YTo6
aGFzaCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fZm9udCA/IG1fZm9udC0+aGFzaCgpIDogMDsK
KyAgICB1bnNpZ25lZCBmb250SGFzaCA9IG1fZm9udCA/IG1fZm9udC0+aGFzaCgpIDogMDsKKyAg
ICBDRkhhc2hDb2RlIGNnRm9udEhhc2ggPSBXVEY6OnNhZmVDRkhhc2gobV9jZ0ZvbnQuZ2V0KCkp
OworICAgIENGSGFzaENvZGUgY3RGb250SGFzaCA9IFdURjo6c2FmZUNGSGFzaChtX2N0Rm9udC5n
ZXQoKSk7CisgICAgdWludHB0cl90IGhhc2hDb2Rlc1tdID0geyBmb250SGFzaCwgY2dGb250SGFz
aCwgY3RGb250SGFzaCwgbV91c2VHREkgfTsKKyAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpoYXNo
TWVtb3J5PHNpemVvZihoYXNoQ29kZXMpPihoYXNoQ29kZXMpOwogfQogCiBib29sIEZvbnRQbGF0
Zm9ybURhdGE6OnBsYXRmb3JtSXNFcXVhbChjb25zdCBGb250UGxhdGZvcm1EYXRhJiBvdGhlcikg
Y29uc3QKIHsKICAgICByZXR1cm4gbV9mb250ID09IG90aGVyLm1fZm9udAotICAgICAgICAmJiBt
X2NnRm9udCA9PSBvdGhlci5tX2NnRm9udAorICAgICAgICAmJiBXVEY6OnNhZmVDRkVxdWFsKG1f
Y2dGb250LmdldCgpLCBvdGhlci5tX2NnRm9udC5nZXQoKSkKKyAgICAgICAgJiYgV1RGOjpzYWZl
Q0ZFcXVhbChtX2N0Rm9udC5nZXQoKSwgb3RoZXIubV9jdEZvbnQuZ2V0KCkpCiAgICAgICAgICYm
IG1fdXNlR0RJID09IG90aGVyLm1fdXNlR0RJOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21h
a2UvT3B0aW9uc0FwcGxlV2luLmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNBcHBsZVdpbi5j
bWFrZQppbmRleCA5OTJlMjM1YmMyZjQzYzAzYmIzMDFhMTc3OGE3NDVhNWU1NWJlMDg2Li4yOWFh
NjcyODEwODgzZjUxNDhmZDU0YTgxMzM4NzliYTg1ODMzMjE0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
Y21ha2UvT3B0aW9uc0FwcGxlV2luLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zQXBw
bGVXaW4uY21ha2UKQEAgLTQ4LDYgKzQ4LDcgQEAgaWYgKCR7VVNFX0RJUkVDVDJEfSkKIGVsc2Ug
KCkKICAgICBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChVU0VfQ0EgT04pCiAgICAgU0VUX0FORF9F
WFBPU0VfVE9fQlVJTEQoVVNFX0NHIE9OKQorICAgIFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKFVT
RV9DT1JFX1RFWFQgT04pCiAKICAgICBzZXQoQ01BS0VfUkVRVUlSRURfSU5DTFVERVMgJHtXRUJL
SVRfTElCUkFSSUVTX0lOQ0xVREVfRElSfSkKICAgICBzZXQoQ01BS0VfUkVRVUlSRURfTElCUkFS
SUVTCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggYjEwOTk3ZjEyZmNj
MTVhOTMxZDA5ZjcyNTNjZDNkMzk1OTg0OGRiNy4uZGM1ZTAyNTM4ZTJmYzZmZTYzYmFhNjEwMWM5
MTAwYWI2YTM4YjQ5YSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE0IEBACisyMDIwLTA5LTEyICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBh
cHBsZS5jb20+CisKKyAgICAgICAgW0FwcGxlIFdpbl0gQWRkIGEgQ1RGb250IG1lbWJlciB0byBG
b250UGxhdGZvcm1EYXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMTY0MzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJbmNsdWRlICoqKkNvcmVUZXh0LmNwcCBmaWxlcyBvbiB0aGUgQXBwbGUgV2luIHBv
cnQuCisKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0FwcGxlV2luLmNtYWtlOgorCiAy
MDIwLTA5LTEwICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW0NNYWtlXSBVc2UgaW1wb3J0ZWQgdGFyZ2V0cyBpbiBmaW5kIG1vZHVsZSBmb3Ig
bGlic2VjY29tcAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>