<?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>27473</bug_id>
          
          <creation_ts>2009-07-20 17:07:39 -0700</creation_ts>
          <short_desc>Chromium Linux: cache Harfbuzz faces</short_desc>
          <delta_ts>2009-07-20 19:23:49 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Langley">agl</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>133305</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Langley">agl</who>
    <bug_when>2009-07-20 17:07:39 -0700</bug_when>
    <thetext>Previously, we recreated the Harfbuzz face for each script-run. With this patch, we keep the Harfbuzz face in the FontPlatformData (created as needed) and so they will persist for the duration of the FontPlatformData.

Shouldn&apos;t affect any layout tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133315</commentid>
    <comment_count>1</comment_count>
      <attachid>33128</attachid>
    <who name="Adam Langley">agl</who>
    <bug_when>2009-07-20 17:49:47 -0700</bug_when>
    <thetext>Created attachment 33128
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133328</commentid>
    <comment_count>2</comment_count>
      <attachid>33133</attachid>
    <who name="Adam Langley">agl</who>
    <bug_when>2009-07-20 19:04:07 -0700</bug_when>
    <thetext>Created attachment 33133
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133329</commentid>
    <comment_count>3</comment_count>
      <attachid>33134</attachid>
    <who name="Adam Langley">agl</who>
    <bug_when>2009-07-20 19:05:22 -0700</bug_when>
    <thetext>Created attachment 33134
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133330</commentid>
    <comment_count>4</comment_count>
      <attachid>33134</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-07-20 19:06:53 -0700</bug_when>
    <thetext>Comment on attachment 33134
patch

Seems fine.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33128</attachid>
            <date>2009-07-20 17:49:47 -0700</date>
            <delta_ts>2009-07-20 19:05:22 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>5851</size>
            <attacher name="Adam Langley">agl</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZmU4YjE0OS4uNmE2ZTljNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAwOS0wNy0yMCAgQWRhbSBMYW5nbGV5
ICA8YWdsQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQ2hyb21pdW0gTGludXg6IGNhY2hlIEhhcmZidXp6IGZhY2VzLgorCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzQ3MworCisgICAg
ICAgIFByZXZpb3VzbHksIHdlIHJlY3JlYXRlZCB0aGUgSGFyZmJ1enogZmFjZSBmb3IgZWFjaCBz
Y3JpcHQtcnVuLiBXaXRoCisgICAgICAgIHRoaXMgcGF0Y2gsIHdlIGtlZXAgdGhlIEhhcmZidXp6
IGZhY2UgaW4gdGhlIEZvbnRQbGF0Zm9ybURhdGEgKGNyZWF0ZWQKKyAgICAgICAgYXMgbmVlZGVk
KSBhbmQgc28gdGhleSB3aWxsIHBlcnNpc3QgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUKKyAgICAg
ICAgRm9udFBsYXRmb3JtRGF0YS4KKworICAgICAgICBTaG91bGRuJ3QgYWZmZWN0IGFueSBsYXlv
dXQgdGVzdHMuIFJlc3VsdHMgaW4gYSBzaWduaWZpY2FudCB3aW4gb24gdGhlCisgICAgICAgIGlu
dGwyIHBhZ2UgY3ljbGVyIHRpbWUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9Gb250TGludXguY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFJ1bldhbGtlcjo6flRl
eHRSdW5XYWxrZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFJ1bldhbGtlcjo6c2V0dXBGb250
Rm9yU2NyaXB0UnVuKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250
UGxhdGZvcm1EYXRhTGludXguY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0
YTo6Rm9udFBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRh
Ojp+Rm9udFBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRh
OjpnZXRIYXJmYnV6ekZhY2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0ZvbnRQbGF0Zm9ybURhdGFMaW51eC5oOgorCiAyMDA5LTA3LTIwICBZb25nIExpICA8eW9uZy5s
aUB0b3JjaG1vYmlsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBSb2Jlbi4KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udExpbnV4LmNw
cCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udExpbnV4LmNwcAppbmRl
eCBlOTg4NGI2Li41NmExMmY0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0ZvbnRMaW51eC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9Gb250TGludXguY3BwCkBAIC0xMTUsNyArMTE1LDYgQEAgdm9pZCBGb250OjpkcmF3
R2x5cGhzKEdyYXBoaWNzQ29udGV4dCogZ2MsIGNvbnN0IFNpbXBsZUZvbnREYXRhKiBmb250LAog
fQogCiBleHRlcm4gY29uc3QgSEJfRm9udENsYXNzIGhhcmZidXp6U2tpYUNsYXNzOwotZXh0ZXJu
IEhCX0Vycm9yIGhhcmZidXp6U2tpYUdldFRhYmxlKHZvaWQqIHZvaWRmYWNlLCBjb25zdCBIQl9U
YWcsIEhCX0J5dGUqIGJ1ZmZlciwgSEJfVUludCogbGVuKTsKIAogLy8gSGFyZmJ1enogdXNlcyAy
Ni42IGZpeGVkIHBvaW50IHZhbHVlcyBmb3IgcGl4ZWwgb2Zmc2V0cy4gSG93ZXZlciwgd2UgZG9u
J3QKIC8vIGhhbmRsZSBzdWJwaXhlbCBwb3NpdGlvbmluZyBzbyB0aGlzIGZ1bmN0aW9uIGlzIHVz
ZWQgdG8gdHJ1bmNhdGUgSGFyZmJ1enoKQEAgLTE3Myw4ICsxNzIsNiBAQCBwdWJsaWM6CiAgICAg
ICAgIGZhc3RGcmVlKG1faXRlbS5mb250KTsKICAgICAgICAgZGVsZXRlR2x5cGhBcnJheXMoKTsK
ICAgICAgICAgZGVsZXRlW10gbV9pdGVtLmxvZ19jbHVzdGVyczsKLSAgICAgICAgaWYgKG1faXRl
bS5mYWNlKQotICAgICAgICAgICAgSEJfRnJlZUZhY2UobV9pdGVtLmZhY2UpOwogICAgIH0KIAog
ICAgIHZvaWQgcmVzZXQoKQpAQCAtMjk4LDExICsyOTUsOSBAQCBwcml2YXRlOgogICAgICAgICBp
ZiAoIWZvbnREYXRhLT5jb250YWluc0NoYXJhY3RlcnMobV9pdGVtLnN0cmluZyArIG1faXRlbS5p
dGVtLnBvcywgbV9pdGVtLml0ZW0ubGVuZ3RoKSkKICAgICAgICAgICAgIGZvbnREYXRhID0gbV9m
b250LT5mb250RGF0YUZvckNoYXJhY3RlcnMobV9pdGVtLnN0cmluZyArIG1faXRlbS5pdGVtLnBv
cywgbV9pdGVtLml0ZW0ubGVuZ3RoKTsKICAgICAgICAgY29uc3QgRm9udFBsYXRmb3JtRGF0YSYg
cGxhdGZvcm1EYXRhID0gZm9udERhdGEtPmZvbnREYXRhRm9yQ2hhcmFjdGVyKCcgJyktPnBsYXRm
b3JtRGF0YSgpOworICAgICAgICBtX2l0ZW0uZmFjZSA9IHBsYXRmb3JtRGF0YS5nZXRIYXJmYnV6
ekZhY2UoKTsKICAgICAgICAgdm9pZCogb3BhcXVlUGxhdGZvcm1EYXRhID0gY29uc3RfY2FzdDxG
b250UGxhdGZvcm1EYXRhKj4oJnBsYXRmb3JtRGF0YSk7CiAgICAgICAgIG1faXRlbS5mb250LT51
c2VyRGF0YSA9IG9wYXF1ZVBsYXRmb3JtRGF0YTsKLSAgICAgICAgaWYgKG1faXRlbS5mYWNlKQot
ICAgICAgICAgICAgSEJfRnJlZUZhY2UobV9pdGVtLmZhY2UpOwotICAgICAgICBtX2l0ZW0uZmFj
ZSA9IEhCX05ld0ZhY2Uob3BhcXVlUGxhdGZvcm1EYXRhLCBoYXJmYnV6elNraWFHZXRUYWJsZSk7
CiAgICAgfQogCiAgICAgSEJfRm9udFJlYyogYWxsb2NIYXJmYnV6ekZvbnQoKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250UGxhdGZvcm1EYXRhTGlu
dXguY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250UGxhdGZvcm1E
YXRhTGludXguY3BwCmluZGV4IGZjYjI1MmQuLmJjOGFjYTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udFBsYXRmb3JtRGF0YUxpbnV4LmNwcAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRQbGF0Zm9ybURhdGFMaW51
eC5jcHAKQEAgLTM3LDYgKzM3LDExIEBACiAjaW5jbHVkZSAiU2tQYWludC5oIgogI2luY2x1ZGUg
IlNrVHlwZWZhY2UuaCIKIAorZXh0ZXJuICJDIiB7CisjaW5jbHVkZSAiaGFyZmJ1enotc2hhcGVy
LmgiCisjaW5jbHVkZSAiaGFyZmJ1enotdW5pY29kZS5oIgorfQorCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIEZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRm
b3JtRGF0YSYgc3JjKQpAQCAtNDQsNiArNDksNyBAQCBGb250UGxhdGZvcm1EYXRhOjpGb250UGxh
dGZvcm1EYXRhKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHNyYykKICAgICAsIG1fdGV4dFNpemUo
c3JjLm1fdGV4dFNpemUpCiAgICAgLCBtX2Zha2VCb2xkKHNyYy5tX2Zha2VCb2xkKQogICAgICwg
bV9mYWtlSXRhbGljKHNyYy5tX2Zha2VJdGFsaWMpCisgICAgLCBtX2hhcmZidXp6RmFjZSgwKQog
ewogICAgIG1fdHlwZWZhY2UtPnNhZmVSZWYoKTsKIH0KQEAgLTUzLDYgKzU5LDcgQEAgRm9udFBs
YXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShTa1R5cGVmYWNlKiB0ZiwgZmxvYXQgdGV4dFNp
emUsIGJvb2wgZmFrZUJvbGQKICAgICAsIG1fdGV4dFNpemUodGV4dFNpemUpCiAgICAgLCBtX2Zh
a2VCb2xkKGZha2VCb2xkKQogICAgICwgbV9mYWtlSXRhbGljKGZha2VJdGFsaWMpCisgICAgLCBt
X2hhcmZidXp6RmFjZSgwKQogewogICAgIG1fdHlwZWZhY2UtPnNhZmVSZWYoKTsKIH0KQEAgLTYy
LDYgKzY5LDcgQEAgRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250
UGxhdGZvcm1EYXRhJiBzcmMsIGZsb2F0IHRleHRTaXplKQogICAgICwgbV90ZXh0U2l6ZSh0ZXh0
U2l6ZSkKICAgICAsIG1fZmFrZUJvbGQoc3JjLm1fZmFrZUJvbGQpCiAgICAgLCBtX2Zha2VJdGFs
aWMoc3JjLm1fZmFrZUl0YWxpYykKKyAgICAsIG1faGFyZmJ1enpGYWNlKDApCiB7CiAgICAgbV90
eXBlZmFjZS0+c2FmZVJlZigpOwogfQpAQCAtNjksNiArNzcsOCBAQCBGb250UGxhdGZvcm1EYXRh
OjpGb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHNyYywgZmxvYXQgdGV4
dFNpemUpCiBGb250UGxhdGZvcm1EYXRhOjp+Rm9udFBsYXRmb3JtRGF0YSgpCiB7CiAgICAgbV90
eXBlZmFjZS0+c2FmZVVucmVmKCk7CisgICAgaWYgKG1faGFyZmJ1enpGYWNlKQorICAgICAgICBI
Ql9GcmVlRmFjZShtX2hhcmZidXp6RmFjZSk7CiB9CiAKIEZvbnRQbGF0Zm9ybURhdGEmIEZvbnRQ
bGF0Zm9ybURhdGE6Om9wZXJhdG9yPShjb25zdCBGb250UGxhdGZvcm1EYXRhJiBzcmMpCkBAIC0x
NDAsNCArMTUwLDE0IEBAIGJvb2wgRm9udFBsYXRmb3JtRGF0YTo6aXNGaXhlZFBpdGNoKCkgY29u
c3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2V4dGVybiBIQl9FcnJvciBoYXJmYnV6elNraWFH
ZXRUYWJsZSh2b2lkKiB2b2lkZmFjZSwgY29uc3QgSEJfVGFnLCBIQl9CeXRlKiBidWZmZXIsIEhC
X1VJbnQqIGxlbik7CisKK0hCX0ZhY2VSZWNfKiBGb250UGxhdGZvcm1EYXRhOjpnZXRIYXJmYnV6
ekZhY2UoKSBjb25zdAoreworICAgIGlmICghbV9oYXJmYnV6ekZhY2UpCisgICAgICAgIG1faGFy
ZmJ1enpGYWNlID0gSEJfTmV3RmFjZShjb25zdF9jYXN0PEZvbnRQbGF0Zm9ybURhdGEqPih0aGlz
KSwgaGFyZmJ1enpTa2lhR2V0VGFibGUpOworCisgICAgcmV0dXJuIG1faGFyZmJ1enpGYWNlOwor
fQorCiB9ICAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9Gb250UGxhdGZvcm1EYXRhTGludXguaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udFBsYXRmb3JtRGF0YUxpbnV4LmgKaW5kZXggYzYz
YTg2MC4uNzVlYzc5ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9Gb250UGxhdGZvcm1EYXRhTGludXguaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0ZvbnRQbGF0Zm9ybURhdGFMaW51eC5oCkBAIC0zOCw2ICszOCw4IEBAIGNs
YXNzIFNrUGFpbnQ7CiBjbGFzcyBTa1R5cGVmYWNlOwogdHlwZWRlZiB1aW50MzJfdCBTa0ZvbnRJ
RDsKIAorc3RydWN0IEhCX0ZhY2VSZWNfOworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEZvbnREZXNjcmlwdGlvbjsKQEAgLTEwNCwxMiArMTA2LDE1IEBAIHB1YmxpYzoKICAgICBGb250
UGxhdGZvcm1EYXRhJiBvcGVyYXRvcj0oY29uc3QgRm9udFBsYXRmb3JtRGF0YSYpOwogICAgIGJv
b2wgaXNIYXNoVGFibGVEZWxldGVkVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3R5cGVmYWNlID09
IGhhc2hUYWJsZURlbGV0ZWRGb250VmFsdWUoKTsgfQogCisgICAgSEJfRmFjZVJlY18qIGdldEhh
cmZidXp6RmFjZSgpIGNvbnN0OworCiBwcml2YXRlOgogICAgIC8vIEZJWE1FOiBDb3VsZCBTa0F1
dG9VbnJlZiBiZSB1c2VkIGhlcmU/CiAgICAgU2tUeXBlZmFjZSogbV90eXBlZmFjZTsKICAgICBm
bG9hdCBtX3RleHRTaXplOwogICAgIGJvb2wgbV9mYWtlQm9sZDsKICAgICBib29sIG1fZmFrZUl0
YWxpYzsKKyAgICBtdXRhYmxlIEhCX0ZhY2VSZWNfKiBtX2hhcmZidXp6RmFjZTsKIAogICAgIFNr
VHlwZWZhY2UqIGhhc2hUYWJsZURlbGV0ZWRGb250VmFsdWUoKSBjb25zdCB7IHJldHVybiByZWlu
dGVycHJldF9jYXN0PFNrVHlwZWZhY2UqPigtMSk7IH0KIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33133</attachid>
            <date>2009-07-20 19:04:07 -0700</date>
            <delta_ts>2009-07-20 19:05:22 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>5851</size>
            <attacher name="Adam Langley">agl</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZmU4YjE0OS4uNmE2ZTljNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAwOS0wNy0yMCAgQWRhbSBMYW5nbGV5
ICA8YWdsQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQ2hyb21pdW0gTGludXg6IGNhY2hlIEhhcmZidXp6IGZhY2VzLgorCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzQ3MworCisgICAg
ICAgIFByZXZpb3VzbHksIHdlIHJlY3JlYXRlZCB0aGUgSGFyZmJ1enogZmFjZSBmb3IgZWFjaCBz
Y3JpcHQtcnVuLiBXaXRoCisgICAgICAgIHRoaXMgcGF0Y2gsIHdlIGtlZXAgdGhlIEhhcmZidXp6
IGZhY2UgaW4gdGhlIEZvbnRQbGF0Zm9ybURhdGEgKGNyZWF0ZWQKKyAgICAgICAgYXMgbmVlZGVk
KSBhbmQgc28gdGhleSB3aWxsIHBlcnNpc3QgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUKKyAgICAg
ICAgRm9udFBsYXRmb3JtRGF0YS4KKworICAgICAgICBTaG91bGRuJ3QgYWZmZWN0IGFueSBsYXlv
dXQgdGVzdHMuIFJlc3VsdHMgaW4gYSBzaWduaWZpY2FudCB3aW4gb24gdGhlCisgICAgICAgIGlu
dGwyIHBhZ2UgY3ljbGVyIHRpbWUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9Gb250TGludXguY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFJ1bldhbGtlcjo6flRl
eHRSdW5XYWxrZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFJ1bldhbGtlcjo6c2V0dXBGb250
Rm9yU2NyaXB0UnVuKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250
UGxhdGZvcm1EYXRhTGludXguY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0
YTo6Rm9udFBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRh
Ojp+Rm9udFBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRh
OjpnZXRIYXJmYnV6ekZhY2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0ZvbnRQbGF0Zm9ybURhdGFMaW51eC5oOgorCiAyMDA5LTA3LTIwICBZb25nIExpICA8eW9uZy5s
aUB0b3JjaG1vYmlsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBSb2Jlbi4KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udExpbnV4LmNw
cCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udExpbnV4LmNwcAppbmRl
eCBlOTg4NGI2Li41NmExMmY0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0ZvbnRMaW51eC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9Gb250TGludXguY3BwCkBAIC0xMTUsNyArMTE1LDYgQEAgdm9pZCBGb250OjpkcmF3
R2x5cGhzKEdyYXBoaWNzQ29udGV4dCogZ2MsIGNvbnN0IFNpbXBsZUZvbnREYXRhKiBmb250LAog
fQogCiBleHRlcm4gY29uc3QgSEJfRm9udENsYXNzIGhhcmZidXp6U2tpYUNsYXNzOwotZXh0ZXJu
IEhCX0Vycm9yIGhhcmZidXp6U2tpYUdldFRhYmxlKHZvaWQqIHZvaWRmYWNlLCBjb25zdCBIQl9U
YWcsIEhCX0J5dGUqIGJ1ZmZlciwgSEJfVUludCogbGVuKTsKIAogLy8gSGFyZmJ1enogdXNlcyAy
Ni42IGZpeGVkIHBvaW50IHZhbHVlcyBmb3IgcGl4ZWwgb2Zmc2V0cy4gSG93ZXZlciwgd2UgZG9u
J3QKIC8vIGhhbmRsZSBzdWJwaXhlbCBwb3NpdGlvbmluZyBzbyB0aGlzIGZ1bmN0aW9uIGlzIHVz
ZWQgdG8gdHJ1bmNhdGUgSGFyZmJ1enoKQEAgLTE3Myw4ICsxNzIsNiBAQCBwdWJsaWM6CiAgICAg
ICAgIGZhc3RGcmVlKG1faXRlbS5mb250KTsKICAgICAgICAgZGVsZXRlR2x5cGhBcnJheXMoKTsK
ICAgICAgICAgZGVsZXRlW10gbV9pdGVtLmxvZ19jbHVzdGVyczsKLSAgICAgICAgaWYgKG1faXRl
bS5mYWNlKQotICAgICAgICAgICAgSEJfRnJlZUZhY2UobV9pdGVtLmZhY2UpOwogICAgIH0KIAog
ICAgIHZvaWQgcmVzZXQoKQpAQCAtMjk4LDExICsyOTUsOSBAQCBwcml2YXRlOgogICAgICAgICBp
ZiAoIWZvbnREYXRhLT5jb250YWluc0NoYXJhY3RlcnMobV9pdGVtLnN0cmluZyArIG1faXRlbS5p
dGVtLnBvcywgbV9pdGVtLml0ZW0ubGVuZ3RoKSkKICAgICAgICAgICAgIGZvbnREYXRhID0gbV9m
b250LT5mb250RGF0YUZvckNoYXJhY3RlcnMobV9pdGVtLnN0cmluZyArIG1faXRlbS5pdGVtLnBv
cywgbV9pdGVtLml0ZW0ubGVuZ3RoKTsKICAgICAgICAgY29uc3QgRm9udFBsYXRmb3JtRGF0YSYg
cGxhdGZvcm1EYXRhID0gZm9udERhdGEtPmZvbnREYXRhRm9yQ2hhcmFjdGVyKCcgJyktPnBsYXRm
b3JtRGF0YSgpOworICAgICAgICBtX2l0ZW0uZmFjZSA9IHBsYXRmb3JtRGF0YS5nZXRIYXJmYnV6
ekZhY2UoKTsKICAgICAgICAgdm9pZCogb3BhcXVlUGxhdGZvcm1EYXRhID0gY29uc3RfY2FzdDxG
b250UGxhdGZvcm1EYXRhKj4oJnBsYXRmb3JtRGF0YSk7CiAgICAgICAgIG1faXRlbS5mb250LT51
c2VyRGF0YSA9IG9wYXF1ZVBsYXRmb3JtRGF0YTsKLSAgICAgICAgaWYgKG1faXRlbS5mYWNlKQot
ICAgICAgICAgICAgSEJfRnJlZUZhY2UobV9pdGVtLmZhY2UpOwotICAgICAgICBtX2l0ZW0uZmFj
ZSA9IEhCX05ld0ZhY2Uob3BhcXVlUGxhdGZvcm1EYXRhLCBoYXJmYnV6elNraWFHZXRUYWJsZSk7
CiAgICAgfQogCiAgICAgSEJfRm9udFJlYyogYWxsb2NIYXJmYnV6ekZvbnQoKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250UGxhdGZvcm1EYXRhTGlu
dXguY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250UGxhdGZvcm1E
YXRhTGludXguY3BwCmluZGV4IGZjYjI1MmQuLmJjOGFjYTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udFBsYXRmb3JtRGF0YUxpbnV4LmNwcAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRQbGF0Zm9ybURhdGFMaW51
eC5jcHAKQEAgLTM3LDYgKzM3LDExIEBACiAjaW5jbHVkZSAiU2tQYWludC5oIgogI2luY2x1ZGUg
IlNrVHlwZWZhY2UuaCIKIAorZXh0ZXJuICJDIiB7CisjaW5jbHVkZSAiaGFyZmJ1enotc2hhcGVy
LmgiCisjaW5jbHVkZSAiaGFyZmJ1enotdW5pY29kZS5oIgorfQorCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIEZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRm
b3JtRGF0YSYgc3JjKQpAQCAtNDQsNiArNDksNyBAQCBGb250UGxhdGZvcm1EYXRhOjpGb250UGxh
dGZvcm1EYXRhKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHNyYykKICAgICAsIG1fdGV4dFNpemUo
c3JjLm1fdGV4dFNpemUpCiAgICAgLCBtX2Zha2VCb2xkKHNyYy5tX2Zha2VCb2xkKQogICAgICwg
bV9mYWtlSXRhbGljKHNyYy5tX2Zha2VJdGFsaWMpCisgICAgLCBtX2hhcmZidXp6RmFjZSgwKQog
ewogICAgIG1fdHlwZWZhY2UtPnNhZmVSZWYoKTsKIH0KQEAgLTUzLDYgKzU5LDcgQEAgRm9udFBs
YXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShTa1R5cGVmYWNlKiB0ZiwgZmxvYXQgdGV4dFNp
emUsIGJvb2wgZmFrZUJvbGQKICAgICAsIG1fdGV4dFNpemUodGV4dFNpemUpCiAgICAgLCBtX2Zh
a2VCb2xkKGZha2VCb2xkKQogICAgICwgbV9mYWtlSXRhbGljKGZha2VJdGFsaWMpCisgICAgLCBt
X2hhcmZidXp6RmFjZSgwKQogewogICAgIG1fdHlwZWZhY2UtPnNhZmVSZWYoKTsKIH0KQEAgLTYy
LDYgKzY5LDcgQEAgRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250
UGxhdGZvcm1EYXRhJiBzcmMsIGZsb2F0IHRleHRTaXplKQogICAgICwgbV90ZXh0U2l6ZSh0ZXh0
U2l6ZSkKICAgICAsIG1fZmFrZUJvbGQoc3JjLm1fZmFrZUJvbGQpCiAgICAgLCBtX2Zha2VJdGFs
aWMoc3JjLm1fZmFrZUl0YWxpYykKKyAgICAsIG1faGFyZmJ1enpGYWNlKDApCiB7CiAgICAgbV90
eXBlZmFjZS0+c2FmZVJlZigpOwogfQpAQCAtNjksNiArNzcsOCBAQCBGb250UGxhdGZvcm1EYXRh
OjpGb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHNyYywgZmxvYXQgdGV4
dFNpemUpCiBGb250UGxhdGZvcm1EYXRhOjp+Rm9udFBsYXRmb3JtRGF0YSgpCiB7CiAgICAgbV90
eXBlZmFjZS0+c2FmZVVucmVmKCk7CisgICAgaWYgKG1faGFyZmJ1enpGYWNlKQorICAgICAgICBI
Ql9GcmVlRmFjZShtX2hhcmZidXp6RmFjZSk7CiB9CiAKIEZvbnRQbGF0Zm9ybURhdGEmIEZvbnRQ
bGF0Zm9ybURhdGE6Om9wZXJhdG9yPShjb25zdCBGb250UGxhdGZvcm1EYXRhJiBzcmMpCkBAIC0x
NDAsNCArMTUwLDE0IEBAIGJvb2wgRm9udFBsYXRmb3JtRGF0YTo6aXNGaXhlZFBpdGNoKCkgY29u
c3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2V4dGVybiBIQl9FcnJvciBoYXJmYnV6elNraWFH
ZXRUYWJsZSh2b2lkKiB2b2lkZmFjZSwgY29uc3QgSEJfVGFnLCBIQl9CeXRlKiBidWZmZXIsIEhC
X1VJbnQqIGxlbik7CisKK0hCX0ZhY2VSZWNfKiBGb250UGxhdGZvcm1EYXRhOjpnZXRIYXJmYnV6
ekZhY2UoKSBjb25zdAoreworICAgIGlmICghbV9oYXJmYnV6ekZhY2UpCisgICAgICAgIG1faGFy
ZmJ1enpGYWNlID0gSEJfTmV3RmFjZShjb25zdF9jYXN0PEZvbnRQbGF0Zm9ybURhdGEqPih0aGlz
KSwgaGFyZmJ1enpTa2lhR2V0VGFibGUpOworCisgICAgcmV0dXJuIG1faGFyZmJ1enpGYWNlOwor
fQorCiB9ICAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9Gb250UGxhdGZvcm1EYXRhTGludXguaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udFBsYXRmb3JtRGF0YUxpbnV4LmgKaW5kZXggYzYz
YTg2MC4uNzVlYzc5ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9Gb250UGxhdGZvcm1EYXRhTGludXguaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0ZvbnRQbGF0Zm9ybURhdGFMaW51eC5oCkBAIC0zOCw2ICszOCw4IEBAIGNs
YXNzIFNrUGFpbnQ7CiBjbGFzcyBTa1R5cGVmYWNlOwogdHlwZWRlZiB1aW50MzJfdCBTa0ZvbnRJ
RDsKIAorc3RydWN0IEhCX0ZhY2VSZWNfOworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEZvbnREZXNjcmlwdGlvbjsKQEAgLTEwNCwxMiArMTA2LDE1IEBAIHB1YmxpYzoKICAgICBGb250
UGxhdGZvcm1EYXRhJiBvcGVyYXRvcj0oY29uc3QgRm9udFBsYXRmb3JtRGF0YSYpOwogICAgIGJv
b2wgaXNIYXNoVGFibGVEZWxldGVkVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3R5cGVmYWNlID09
IGhhc2hUYWJsZURlbGV0ZWRGb250VmFsdWUoKTsgfQogCisgICAgSEJfRmFjZVJlY18qIGdldEhh
cmZidXp6RmFjZSgpIGNvbnN0OworCiBwcml2YXRlOgogICAgIC8vIEZJWE1FOiBDb3VsZCBTa0F1
dG9VbnJlZiBiZSB1c2VkIGhlcmU/CiAgICAgU2tUeXBlZmFjZSogbV90eXBlZmFjZTsKICAgICBm
bG9hdCBtX3RleHRTaXplOwogICAgIGJvb2wgbV9mYWtlQm9sZDsKICAgICBib29sIG1fZmFrZUl0
YWxpYzsKKyAgICBtdXRhYmxlIEhCX0ZhY2VSZWNfKiBtX2hhcmZidXp6RmFjZTsKIAogICAgIFNr
VHlwZWZhY2UqIGhhc2hUYWJsZURlbGV0ZWRGb250VmFsdWUoKSBjb25zdCB7IHJldHVybiByZWlu
dGVycHJldF9jYXN0PFNrVHlwZWZhY2UqPigtMSk7IH0KIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33134</attachid>
            <date>2009-07-20 19:05:22 -0700</date>
            <delta_ts>2009-07-20 19:06:52 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>8570</size>
            <attacher name="Adam Langley">agl</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZmU4YjE0OS4uNmE2ZTljNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAwOS0wNy0yMCAgQWRhbSBMYW5nbGV5
ICA8YWdsQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQ2hyb21pdW0gTGludXg6IGNhY2hlIEhhcmZidXp6IGZhY2VzLgorCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzQ3MworCisgICAg
ICAgIFByZXZpb3VzbHksIHdlIHJlY3JlYXRlZCB0aGUgSGFyZmJ1enogZmFjZSBmb3IgZWFjaCBz
Y3JpcHQtcnVuLiBXaXRoCisgICAgICAgIHRoaXMgcGF0Y2gsIHdlIGtlZXAgdGhlIEhhcmZidXp6
IGZhY2UgaW4gdGhlIEZvbnRQbGF0Zm9ybURhdGEgKGNyZWF0ZWQKKyAgICAgICAgYXMgbmVlZGVk
KSBhbmQgc28gdGhleSB3aWxsIHBlcnNpc3QgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUKKyAgICAg
ICAgRm9udFBsYXRmb3JtRGF0YS4KKworICAgICAgICBTaG91bGRuJ3QgYWZmZWN0IGFueSBsYXlv
dXQgdGVzdHMuIFJlc3VsdHMgaW4gYSBzaWduaWZpY2FudCB3aW4gb24gdGhlCisgICAgICAgIGlu
dGwyIHBhZ2UgY3ljbGVyIHRpbWUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9Gb250TGludXguY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFJ1bldhbGtlcjo6flRl
eHRSdW5XYWxrZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFJ1bldhbGtlcjo6c2V0dXBGb250
Rm9yU2NyaXB0UnVuKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250
UGxhdGZvcm1EYXRhTGludXguY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0
YTo6Rm9udFBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRh
Ojp+Rm9udFBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRh
OjpnZXRIYXJmYnV6ekZhY2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0ZvbnRQbGF0Zm9ybURhdGFMaW51eC5oOgorCiAyMDA5LTA3LTIwICBZb25nIExpICA8eW9uZy5s
aUB0b3JjaG1vYmlsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBSb2Jlbi4KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udExpbnV4LmNw
cCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udExpbnV4LmNwcAppbmRl
eCBlOTg4NGI2Li5kNGU0NWZiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0ZvbnRMaW51eC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9Gb250TGludXguY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiRmxvYXRS
ZWN0LmgiCiAjaW5jbHVkZSAiR2x5cGhCdWZmZXIuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRl
eHQuaCIKKyNpbmNsdWRlICJIYXJmYnV6elNraWEuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRl
ZC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtQ29udGV4dFNraWEuaCIKICNpbmNsdWRlICJTaW1wbGVG
b250RGF0YS5oIgpAQCAtNDQsMTEgKzQ1LDYgQEAKICNpbmNsdWRlICJTa1R5cGVmYWNlLmgiCiAj
aW5jbHVkZSAiU2tVdGlscy5oIgogCi1leHRlcm4gIkMiIHsKLSNpbmNsdWRlICJoYXJmYnV6ei1z
aGFwZXIuaCIKLSNpbmNsdWRlICJoYXJmYnV6ei11bmljb2RlLmgiCi19Ci0KIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogYm9vbCBGb250OjpjYW5SZXR1cm5GYWxsYmFja0ZvbnRzRm9yQ29tcGxleFRl
eHQoKQpAQCAtMTE0LDkgKzExMCw2IEBAIHZvaWQgRm9udDo6ZHJhd0dseXBocyhHcmFwaGljc0Nv
bnRleHQqIGdjLCBjb25zdCBTaW1wbGVGb250RGF0YSogZm9udCwKICAgICB9CiB9CiAKLWV4dGVy
biBjb25zdCBIQl9Gb250Q2xhc3MgaGFyZmJ1enpTa2lhQ2xhc3M7Ci1leHRlcm4gSEJfRXJyb3Ig
aGFyZmJ1enpTa2lhR2V0VGFibGUodm9pZCogdm9pZGZhY2UsIGNvbnN0IEhCX1RhZywgSEJfQnl0
ZSogYnVmZmVyLCBIQl9VSW50KiBsZW4pOwotCiAvLyBIYXJmYnV6eiB1c2VzIDI2LjYgZml4ZWQg
cG9pbnQgdmFsdWVzIGZvciBwaXhlbCBvZmZzZXRzLiBIb3dldmVyLCB3ZSBkb24ndAogLy8gaGFu
ZGxlIHN1YnBpeGVsIHBvc2l0aW9uaW5nIHNvIHRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byB0cnVu
Y2F0ZSBIYXJmYnV6egogLy8gdmFsdWVzIHRvIGEgbnVtYmVyIG9mIHBpeGVscy4KQEAgLTE3Myw4
ICsxNjYsNiBAQCBwdWJsaWM6CiAgICAgICAgIGZhc3RGcmVlKG1faXRlbS5mb250KTsKICAgICAg
ICAgZGVsZXRlR2x5cGhBcnJheXMoKTsKICAgICAgICAgZGVsZXRlW10gbV9pdGVtLmxvZ19jbHVz
dGVyczsKLSAgICAgICAgaWYgKG1faXRlbS5mYWNlKQotICAgICAgICAgICAgSEJfRnJlZUZhY2Uo
bV9pdGVtLmZhY2UpOwogICAgIH0KIAogICAgIHZvaWQgcmVzZXQoKQpAQCAtMjk4LDExICsyODks
OSBAQCBwcml2YXRlOgogICAgICAgICBpZiAoIWZvbnREYXRhLT5jb250YWluc0NoYXJhY3RlcnMo
bV9pdGVtLnN0cmluZyArIG1faXRlbS5pdGVtLnBvcywgbV9pdGVtLml0ZW0ubGVuZ3RoKSkKICAg
ICAgICAgICAgIGZvbnREYXRhID0gbV9mb250LT5mb250RGF0YUZvckNoYXJhY3RlcnMobV9pdGVt
LnN0cmluZyArIG1faXRlbS5pdGVtLnBvcywgbV9pdGVtLml0ZW0ubGVuZ3RoKTsKICAgICAgICAg
Y29uc3QgRm9udFBsYXRmb3JtRGF0YSYgcGxhdGZvcm1EYXRhID0gZm9udERhdGEtPmZvbnREYXRh
Rm9yQ2hhcmFjdGVyKCcgJyktPnBsYXRmb3JtRGF0YSgpOworICAgICAgICBtX2l0ZW0uZmFjZSA9
IHBsYXRmb3JtRGF0YS5oYXJmYnV6ekZhY2UoKTsKICAgICAgICAgdm9pZCogb3BhcXVlUGxhdGZv
cm1EYXRhID0gY29uc3RfY2FzdDxGb250UGxhdGZvcm1EYXRhKj4oJnBsYXRmb3JtRGF0YSk7CiAg
ICAgICAgIG1faXRlbS5mb250LT51c2VyRGF0YSA9IG9wYXF1ZVBsYXRmb3JtRGF0YTsKLSAgICAg
ICAgaWYgKG1faXRlbS5mYWNlKQotICAgICAgICAgICAgSEJfRnJlZUZhY2UobV9pdGVtLmZhY2Up
OwotICAgICAgICBtX2l0ZW0uZmFjZSA9IEhCX05ld0ZhY2Uob3BhcXVlUGxhdGZvcm1EYXRhLCBo
YXJmYnV6elNraWFHZXRUYWJsZSk7CiAgICAgfQogCiAgICAgSEJfRm9udFJlYyogYWxsb2NIYXJm
YnV6ekZvbnQoKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9Gb250UGxhdGZvcm1EYXRhTGludXguY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9Gb250UGxhdGZvcm1EYXRhTGludXguY3BwCmluZGV4IGZjYjI1MmQuLjYwZmNjMmYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udFBsYXRm
b3JtRGF0YUxpbnV4LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0ZvbnRQbGF0Zm9ybURhdGFMaW51eC5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJGb250UGxhdGZvcm1EYXRhLmgiCiAKKyNpbmNsdWRlICJIYXJm
YnV6elNraWEuaCIKICNpbmNsdWRlICJTdHJpbmdJbXBsLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVt
ZW50ZWQuaCIKIApAQCAtMzksMTEgKzQwLDE3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAor
Rm9udFBsYXRmb3JtRGF0YTo6UmVmQ291bnRlZEhhcmZidXp6RmFjZTo6flJlZkNvdW50ZWRIYXJm
YnV6ekZhY2UoKQoreworICAgIEhCX0ZyZWVGYWNlKG1faGFyZmJ1enpGYWNlKTsKK30KKwogRm9u
dFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250UGxhdGZvcm1EYXRhJiBz
cmMpCiAgICAgOiBtX3R5cGVmYWNlKHNyYy5tX3R5cGVmYWNlKQogICAgICwgbV90ZXh0U2l6ZShz
cmMubV90ZXh0U2l6ZSkKICAgICAsIG1fZmFrZUJvbGQoc3JjLm1fZmFrZUJvbGQpCiAgICAgLCBt
X2Zha2VJdGFsaWMoc3JjLm1fZmFrZUl0YWxpYykKKyAgICAsIG1faGFyZmJ1enpGYWNlKHNyYy5t
X2hhcmZidXp6RmFjZSkKIHsKICAgICBtX3R5cGVmYWNlLT5zYWZlUmVmKCk7CiB9CkBAIC02Miw2
ICs2OSw3IEBAIEZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udFBs
YXRmb3JtRGF0YSYgc3JjLCBmbG9hdCB0ZXh0U2l6ZSkKICAgICAsIG1fdGV4dFNpemUodGV4dFNp
emUpCiAgICAgLCBtX2Zha2VCb2xkKHNyYy5tX2Zha2VCb2xkKQogICAgICwgbV9mYWtlSXRhbGlj
KHNyYy5tX2Zha2VJdGFsaWMpCisgICAgLCBtX2hhcmZidXp6RmFjZShzcmMubV9oYXJmYnV6ekZh
Y2UpCiB7CiAgICAgbV90eXBlZmFjZS0+c2FmZVJlZigpOwogfQpAQCAtMTQwLDQgKzE0OCwxMiBA
QCBib29sIEZvbnRQbGF0Zm9ybURhdGE6OmlzRml4ZWRQaXRjaCgpIGNvbnN0CiAgICAgcmV0dXJu
IGZhbHNlOwogfQogCitIQl9GYWNlUmVjXyogRm9udFBsYXRmb3JtRGF0YTo6aGFyZmJ1enpGYWNl
KCkgY29uc3QKK3sKKyAgICBpZiAoIW1faGFyZmJ1enpGYWNlKQorICAgICAgICBtX2hhcmZidXp6
RmFjZSA9IFJlZkNvdW50ZWRIYXJmYnV6ekZhY2U6OmNyZWF0ZShIQl9OZXdGYWNlKGNvbnN0X2Nh
c3Q8Rm9udFBsYXRmb3JtRGF0YSo+KHRoaXMpLCBoYXJmYnV6elNraWFHZXRUYWJsZSkpOworCisg
ICAgcmV0dXJuIG1faGFyZmJ1enpGYWNlLT5mYWNlKCk7Cit9CisKIH0gIC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0Zv
bnRQbGF0Zm9ybURhdGFMaW51eC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9Gb250UGxhdGZvcm1EYXRhTGludXguaAppbmRleCBjNjNhODYwLi5hNjczMTljIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRQbGF0Zm9ybURhdGFM
aW51eC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udFBsYXRm
b3JtRGF0YUxpbnV4LmgKQEAgLTM4LDYgKzM4LDggQEAgY2xhc3MgU2tQYWludDsKIGNsYXNzIFNr
VHlwZWZhY2U7CiB0eXBlZGVmIHVpbnQzMl90IFNrRm9udElEOwogCitzdHJ1Y3QgSEJfRmFjZVJl
Y187CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRm9udERlc2NyaXB0aW9uOwpAQCAt
MTA0LDEyICsxMDYsMzQgQEAgcHVibGljOgogICAgIEZvbnRQbGF0Zm9ybURhdGEmIG9wZXJhdG9y
PShjb25zdCBGb250UGxhdGZvcm1EYXRhJik7CiAgICAgYm9vbCBpc0hhc2hUYWJsZURlbGV0ZWRW
YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZWZhY2UgPT0gaGFzaFRhYmxlRGVsZXRlZEZvbnRW
YWx1ZSgpOyB9CiAKKyAgICBIQl9GYWNlUmVjXyogaGFyZmJ1enpGYWNlKCkgY29uc3Q7CisKIHBy
aXZhdGU6CisgICAgY2xhc3MgUmVmQ291bnRlZEhhcmZidXp6RmFjZSA6IHB1YmxpYyBSZWZDb3Vu
dGVkPFJlZkNvdW50ZWRIYXJmYnV6ekZhY2U+IHsKKyAgICBwdWJsaWM6CisgICAgICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFJlZkNvdW50ZWRIYXJmYnV6ekZhY2U+IGNyZWF0ZShIQl9GYWNlUmVjXyog
aGFyZmJ1enpGYWNlKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IFJlZkNvdW50ZWRIYXJmYnV6ekZhY2UoaGFyZmJ1enpGYWNlKSk7CisgICAgICAgIH0KKworICAg
ICAgICB+UmVmQ291bnRlZEhhcmZidXp6RmFjZSgpOworCisgICAgICAgIEhCX0ZhY2VSZWNfKiBm
YWNlKCkgY29uc3QgeyByZXR1cm4gbV9oYXJmYnV6ekZhY2U7IH0KKworICAgIHByaXZhdGU6Cisg
ICAgICAgIFJlZkNvdW50ZWRIYXJmYnV6ekZhY2UoSEJfRmFjZVJlY18qIGhhcmZidXp6RmFjZSkg
OiBtX2hhcmZidXp6RmFjZShoYXJmYnV6ekZhY2UpCisgICAgICAgIHsKKyAgICAgICAgfQorCisg
ICAgICAgIEhCX0ZhY2VSZWNfKiBtX2hhcmZidXp6RmFjZTsKKyAgICB9OworCiAgICAgLy8gRklY
TUU6IENvdWxkIFNrQXV0b1VucmVmIGJlIHVzZWQgaGVyZT8KICAgICBTa1R5cGVmYWNlKiBtX3R5
cGVmYWNlOwogICAgIGZsb2F0IG1fdGV4dFNpemU7CiAgICAgYm9vbCBtX2Zha2VCb2xkOwogICAg
IGJvb2wgbV9mYWtlSXRhbGljOworICAgIG11dGFibGUgUmVmUHRyPFJlZkNvdW50ZWRIYXJmYnV6
ekZhY2U+IG1faGFyZmJ1enpGYWNlOwogCiAgICAgU2tUeXBlZmFjZSogaGFzaFRhYmxlRGVsZXRl
ZEZvbnRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8U2tUeXBlZmFjZSo+
KC0xKTsgfQogfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vSGFyZmJ1enpTa2lhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0hh
cmZidXp6U2tpYS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3ZTA0OTYK
LS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0hh
cmZidXp6U2tpYS5oCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMDks
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBIYXJmYnV6elNraWFfaAorI2Rl
ZmluZSBIYXJmYnV6elNraWFfaAorCitleHRlcm4gIkMiIHsKKyNpbmNsdWRlICJoYXJmYnV6ei1z
aGFwZXIuaCIKKyNpbmNsdWRlICJoYXJmYnV6ei11bmljb2RlLmgiCit9CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKyAgICBIQl9FcnJvciBoYXJmYnV6elNraWFHZXRUYWJsZSh2b2lkKiB2b2lkZmFj
ZSwgY29uc3QgSEJfVGFnLCBIQl9CeXRlKiBidWZmZXIsIEhCX1VJbnQqIGxlbik7CisgICAgZXh0
ZXJuIGNvbnN0IEhCX0ZvbnRDbGFzcyBoYXJmYnV6elNraWFDbGFzczsKK30gIC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZgo=
</data>
<flag name="review"
          id="17458"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>