<?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>187936</bug_id>
          
          <creation_ts>2018-07-23 17:32:45 -0700</creation_ts>
          <short_desc>[Cocoa] Stop crashing in lastResortFallbackFont()</short_desc>
          <delta_ts>2018-08-01 09:54:22 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=188202</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>darin</cc>
    
    <cc>jonlee</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1444503</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2018-07-23 17:32:45 -0700</bug_when>
    <thetext>[Cocoa] Stop crashing in lastResortFallbackFont()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444507</commentid>
    <comment_count>1</comment_count>
      <attachid>345629</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2018-07-23 17:39:17 -0700</bug_when>
    <thetext>Created attachment 345629
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444514</commentid>
    <comment_count>2</comment_count>
      <attachid>345631</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2018-07-23 17:47:04 -0700</bug_when>
    <thetext>Created attachment 345631
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444515</commentid>
    <comment_count>3</comment_count>
      <attachid>345632</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2018-07-23 17:47:59 -0700</bug_when>
    <thetext>Created attachment 345632
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444516</commentid>
    <comment_count>4</comment_count>
      <attachid>345633</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2018-07-23 17:48:33 -0700</bug_when>
    <thetext>Created attachment 345633
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444531</commentid>
    <comment_count>5</comment_count>
      <attachid>345633</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2018-07-23 18:54:10 -0700</bug_when>
    <thetext>Comment on attachment 345633
Patch

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

&gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:-1491
&gt; -    return *fontForFamily(fontDescription, AtomicString(&quot;Lucida Grande&quot;, AtomicString::ConstructFromLiteral), nullptr, nullptr, { }, false);

The comment above seems no longer to be true. Remove or update?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444757</commentid>
    <comment_count>6</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2018-07-24 11:18:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/42249550&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444764</commentid>
    <comment_count>7</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2018-07-24 11:34:31 -0700</bug_when>
    <thetext>Committed r234158: &lt;https://trac.webkit.org/changeset/234158&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1446050</commentid>
    <comment_count>8</comment_count>
      <attachid>345633</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-07-28 22:35:26 -0700</bug_when>
    <thetext>Comment on attachment 345633
Patch

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

&gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:1490
&gt;      // The Times fallback will almost always work, but in the highly unusual case where
&gt;      // the user doesn&apos;t have it, we fall back on Lucida Grande because that&apos;s
&gt;      // guaranteed to be there, according to Nathan Taylor. This is good enough
&gt;      // to avoid a crash at least.

I think it’s crazy that we are still using &quot;Lucida Grande&quot; as part of our &quot;last resort&quot;. I believe I originally wrote this comment, and it was correct long ago when Lucida Grande was the system font on Mac. It was never true on iOS. Nowadays, not only is using it insufficient, it’s not even a good idea to try it after &quot;Times&quot;. We should get rid of this. Just Times and then the last resort.

&gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:1498
&gt; +    auto font = adoptCF(CTFontCreateWithName(CFSTR(&quot;Helvetica&quot;), fontDescription.computedPixelSize(), nullptr));

Is this really helpful? When do we have &quot;Helvetica&quot; but not &quot;Times&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1446620</commentid>
    <comment_count>9</comment_count>
      <attachid>345633</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2018-07-31 11:47:32 -0700</bug_when>
    <thetext>Comment on attachment 345633
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:1498
&gt;&gt; +    auto font = adoptCF(CTFontCreateWithName(CFSTR(&quot;Helvetica&quot;), fontDescription.computedPixelSize(), nullptr));
&gt; 
&gt; Is this really helpful? When do we have &quot;Helvetica&quot; but not &quot;Times&quot;?

This was a recommendation from the CoreText team.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1446896</commentid>
    <comment_count>10</comment_count>
      <attachid>345633</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-08-01 09:54:22 -0700</bug_when>
    <thetext>Comment on attachment 345633
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:1498
&gt;&gt;&gt; +    auto font = adoptCF(CTFontCreateWithName(CFSTR(&quot;Helvetica&quot;), fontDescription.computedPixelSize(), nullptr));
&gt;&gt; 
&gt;&gt; Is this really helpful? When do we have &quot;Helvetica&quot; but not &quot;Times&quot;?
&gt; 
&gt; This was a recommendation from the CoreText team.

So now I know who recommended it, but not why!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345629</attachid>
            <date>2018-07-23 17:39:17 -0700</date>
            <delta_ts>2018-07-23 17:47:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187936-20180723173917.patch</filename>
            <type>text/plain</type>
            <size>4462</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0MDkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmNjNDIzYTI4MDFhMWZl
NzkzYWFhY2ZhNjRhYzk3ZTYwOWQ5ZWJhYS4uZGQ4ZjBkNGE3NGQ0MWIzYjcwODQ4MTc5ODdhZjk2
MTFkOTkwMjE2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE4LTA3LTIzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBT
dG9wIGNyYXNoaW5nIGluIGxhc3RSZXNvcnRGYWxsYmFja0ZvbnQoKQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg3OTM2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29yZVRleHQgY2FuIGdldCBpbnRvIGEg
c3RhdGUgd2hlcmUgYm90aCBUaW1lcyBhbmQgTHVjaWRhIEdyYW5kZSBhcmUgaW5hY2Nlc3NpYmxl
LgorICAgICAgICBJbnN0ZWFkIG9mIGNyYXNoaW5nLCB3ZSBzaG91bGQgdXNlIHRoZSByZWFsIExh
c3RSZXNvcnQsIHdoaWNoIGlzIGJhY2tlZCBieSBhIHNlY3Rpb24KKyAgICAgICAgaW4gdGhlIC5y
b2RhdGEgb2YgdGhlIENvcmVUZXh0IGR5bGliLCBhbmQgYXMgc3VjaCBzaG91bGQgYWx3YXlzIGV4
aXN0LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRDYWNoZTo6Zm9udEZvckZhbWlseSk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9udENhY2hlOjpsYXN0UmVzb3J0RmFsbGJhY2tGb250KToKKwogMjAxOC0wNy0yMiAgWmFs
YW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gQWRkIGNl
bnRlci9yaWdodC9qdXN0aWZ5IGxpbmUgYWxpZ25tZW50IHN1cHBvcnQuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAppbmRleCBiYzk3MjBkZWZlOGQw
ZTVkZWYxZThlZmEwYzMzYTgxOWMzNTRhNmFkLi5kMjQ4ZjJmZjhlYjAwMDg0M2JmODg3NmFkZDI5
MmU5YzQwMmQyY2MzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRDYWNoZS5jcHAKQEAgLTMyNCwxMSArMzI0LDEwIEBAIFJlZlB0cjxGb250PiBGb250Q2FjaGU6
OmZvbnRGb3JGYW1pbHkoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNv
CiAgICAgaWYgKCFtX3B1cmdlVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgbV9wdXJnZVRpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogCi0gICAgRm9udFBsYXRmb3JtRGF0YSogcGxhdGZvcm1EYXRh
ID0gZ2V0Q2FjaGVkRm9udFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRpb24sIGZhbWlseSwgZm9u
dEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJpbGl0
aWVzLCBjaGVja2luZ0FsdGVybmF0ZU5hbWUpOwotICAgIGlmICghcGxhdGZvcm1EYXRhKQotICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBpZiAoYXV0byogcGxhdGZvcm1EYXRhID0gZ2V0Q2Fj
aGVkRm9udFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRpb24sIGZhbWlseSwgZm9udEZhY2VGZWF0
dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBjaGVj
a2luZ0FsdGVybmF0ZU5hbWUpKQorICAgICAgICByZXR1cm4gZm9udEZvclBsYXRmb3JtRGF0YSgq
cGxhdGZvcm1EYXRhKTsKIAotICAgIHJldHVybiBmb250Rm9yUGxhdGZvcm1EYXRhKCpwbGF0Zm9y
bURhdGEpOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBSZWY8Rm9udD4gRm9udENhY2hlOjpm
b250Rm9yUGxhdGZvcm1EYXRhKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHBsYXRmb3JtRGF0YSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRD
YWNoZUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0ZvbnRDYWNoZUNvcmVUZXh0LmNwcAppbmRleCAwMzAxZmQwODI0MWM0MTliNjQwMDY3NGM3ZmVi
YTI5OWVkM2E3ODY5Li5kMTc1NzU5Yjk1OTU3ZWY0NGQ3NjQzN2E1YzEzZWYyYWMzNTNmOTRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2Fj
aGVDb3JlVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvRm9udENhY2hlQ29yZVRleHQuY3BwCkBAIC0xNDgxLDE0ICsxNDgxLDI1IEBAIFJlZjxGb250
PiBGb250Q2FjaGU6Omxhc3RSZXNvcnRGYWxsYmFja0ZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9u
JiBmb250RGVzY3JpcHRpCiB7CiAgICAgLy8gRklYTUU6IFdvdWxkIGJlIGV2ZW4gYmV0dGVyIHRv
IHNvbWVob3cgZ2V0IHRoZSB1c2VyJ3MgZGVmYXVsdCBmb250IGhlcmUuICBGb3Igbm93IHdlJ2xs
IHBpY2sKICAgICAvLyB0aGUgZGVmYXVsdCB0aGF0IHRoZSB1c2VyIHdvdWxkIGdldCB3aXRob3V0
IGNoYW5naW5nIGFueSBwcmVmcy4KLSAgICBpZiAoUmVmUHRyPEZvbnQ+IGZvbnQgPSBmb250Rm9y
RmFtaWx5KGZvbnREZXNjcmlwdGlvbiwgQXRvbWljU3RyaW5nKCJUaW1lcyIsIEF0b21pY1N0cmlu
Zzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKSkKLSAgICAgICAgcmV0dXJuICpmb250OworICAgIGlm
IChhdXRvIHJlc3VsdCA9IGZvbnRGb3JGYW1pbHkoZm9udERlc2NyaXB0aW9uLCBBdG9taWNTdHJp
bmcoIlRpbWVzIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpKQorICAgICAg
ICByZXR1cm4gKnJlc3VsdDsKIAogICAgIC8vIFRoZSBUaW1lcyBmYWxsYmFjayB3aWxsIGFsbW9z
dCBhbHdheXMgd29yaywgYnV0IGluIHRoZSBoaWdobHkgdW51c3VhbCBjYXNlIHdoZXJlCiAgICAg
Ly8gdGhlIHVzZXIgZG9lc24ndCBoYXZlIGl0LCB3ZSBmYWxsIGJhY2sgb24gTHVjaWRhIEdyYW5k
ZSBiZWNhdXNlIHRoYXQncwogICAgIC8vIGd1YXJhbnRlZWQgdG8gYmUgdGhlcmUsIGFjY29yZGlu
ZyB0byBOYXRoYW4gVGF5bG9yLiBUaGlzIGlzIGdvb2QgZW5vdWdoCiAgICAgLy8gdG8gYXZvaWQg
YSBjcmFzaCBhdCBsZWFzdC4KLSAgICByZXR1cm4gKmZvbnRGb3JGYW1pbHkoZm9udERlc2NyaXB0
aW9uLCBBdG9taWNTdHJpbmcoIkx1Y2lkYSBHcmFuZGUiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVj
dEZyb21MaXRlcmFsKSwgbnVsbHB0ciwgbnVsbHB0ciwgeyB9LCBmYWxzZSk7CisgICAgaWYgKGF1
dG8gcmVzdWx0ID0gZm9udEZvckZhbWlseShmb250RGVzY3JpcHRpb24sIEF0b21pY1N0cmluZygi
THVjaWRhIEdyYW5kZSIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpLCBudWxs
cHRyLCBudWxscHRyLCB7IH0sIGZhbHNlKSkKKyAgICAgICAgcmV0dXJuICpyZXN1bHQ7CisKKyNp
ZiAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MTAwMDApIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTAxMzAwKQorICAgIGF1dG8gZm9udCA9IGFkb3B0Q0YoQ1RGb250RGVzY3JpcHRvckNy
ZWF0ZUxhc3RSZXNvcnQoKSk7CisjZWxzZQorICAgIGF1dG8gZm9udCA9IGFkb3B0Q0YoQ1RGb250
Q3JlYXRlV2l0aE5hbWUoQ0ZTVFIoIkhlbHZldGljYSIpLCBmb250RGVzY3JpcHRpb24uY29tcHV0
ZWRQaXhlbFNpemUoKSwgbnVsbHB0cikpOworI2VuZGlmCisgICAgYm9vbCBzeW50aGV0aWNCb2xk
LCBzeW50aGV0aWNPYmxpcXVlOworICAgIHN0ZDo6dGllKHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRp
Y09ibGlxdWUpID0gY29tcHV0ZU5lY2Vzc2FyeVN5bnRoZXNpcyhmb250LmdldCgpLCBmb250RGVz
Y3JpcHRpb24pLmJvbGRPYmxpcXVlUGFpcigpOworICAgIEZvbnRQbGF0Zm9ybURhdGEgcGxhdGZv
cm1EYXRhKGZvbnQuZ2V0KCksIGZvbnREZXNjcmlwdGlvbi5jb21wdXRlZFBpeGVsU2l6ZSgpLCBz
eW50aGV0aWNCb2xkLCBzeW50aGV0aWNPYmxpcXVlLCBmb250RGVzY3JpcHRpb24ub3JpZW50YXRp
b24oKSwgZm9udERlc2NyaXB0aW9uLndpZHRoVmFyaWFudCgpLCBmb250RGVzY3JpcHRpb24udGV4
dFJlbmRlcmluZ01vZGUoKSkKKyAgICByZXR1cm4gZm9udEZvclBsYXRmb3JtRGF0YShwbGF0Zm9y
bURhdGEpOwogfQogCiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345631</attachid>
            <date>2018-07-23 17:47:04 -0700</date>
            <delta_ts>2018-07-23 17:47:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187936-20180723174704.patch</filename>
            <type>text/plain</type>
            <size>4592</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0MDkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmNjNDIzYTI4MDFhMWZl
NzkzYWFhY2ZhNjRhYzk3ZTYwOWQ5ZWJhYS4uZGQ4ZjBkNGE3NGQ0MWIzYjcwODQ4MTc5ODdhZjk2
MTFkOTkwMjE2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE4LTA3LTIzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBT
dG9wIGNyYXNoaW5nIGluIGxhc3RSZXNvcnRGYWxsYmFja0ZvbnQoKQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg3OTM2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29yZVRleHQgY2FuIGdldCBpbnRvIGEg
c3RhdGUgd2hlcmUgYm90aCBUaW1lcyBhbmQgTHVjaWRhIEdyYW5kZSBhcmUgaW5hY2Nlc3NpYmxl
LgorICAgICAgICBJbnN0ZWFkIG9mIGNyYXNoaW5nLCB3ZSBzaG91bGQgdXNlIHRoZSByZWFsIExh
c3RSZXNvcnQsIHdoaWNoIGlzIGJhY2tlZCBieSBhIHNlY3Rpb24KKyAgICAgICAgaW4gdGhlIC5y
b2RhdGEgb2YgdGhlIENvcmVUZXh0IGR5bGliLCBhbmQgYXMgc3VjaCBzaG91bGQgYWx3YXlzIGV4
aXN0LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRDYWNoZTo6Zm9udEZvckZhbWlseSk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9udENhY2hlOjpsYXN0UmVzb3J0RmFsbGJhY2tGb250KToKKwogMjAxOC0wNy0yMiAgWmFs
YW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gQWRkIGNl
bnRlci9yaWdodC9qdXN0aWZ5IGxpbmUgYWxpZ25tZW50IHN1cHBvcnQuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAppbmRleCBiYzk3MjBkZWZlOGQw
ZTVkZWYxZThlZmEwYzMzYTgxOWMzNTRhNmFkLi5kMjQ4ZjJmZjhlYjAwMDg0M2JmODg3NmFkZDI5
MmU5YzQwMmQyY2MzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRDYWNoZS5jcHAKQEAgLTMyNCwxMSArMzI0LDEwIEBAIFJlZlB0cjxGb250PiBGb250Q2FjaGU6
OmZvbnRGb3JGYW1pbHkoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNv
CiAgICAgaWYgKCFtX3B1cmdlVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgbV9wdXJnZVRpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogCi0gICAgRm9udFBsYXRmb3JtRGF0YSogcGxhdGZvcm1EYXRh
ID0gZ2V0Q2FjaGVkRm9udFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRpb24sIGZhbWlseSwgZm9u
dEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJpbGl0
aWVzLCBjaGVja2luZ0FsdGVybmF0ZU5hbWUpOwotICAgIGlmICghcGxhdGZvcm1EYXRhKQotICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBpZiAoYXV0byogcGxhdGZvcm1EYXRhID0gZ2V0Q2Fj
aGVkRm9udFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRpb24sIGZhbWlseSwgZm9udEZhY2VGZWF0
dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBjaGVj
a2luZ0FsdGVybmF0ZU5hbWUpKQorICAgICAgICByZXR1cm4gZm9udEZvclBsYXRmb3JtRGF0YSgq
cGxhdGZvcm1EYXRhKTsKIAotICAgIHJldHVybiBmb250Rm9yUGxhdGZvcm1EYXRhKCpwbGF0Zm9y
bURhdGEpOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBSZWY8Rm9udD4gRm9udENhY2hlOjpm
b250Rm9yUGxhdGZvcm1EYXRhKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHBsYXRmb3JtRGF0YSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRD
YWNoZUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0ZvbnRDYWNoZUNvcmVUZXh0LmNwcAppbmRleCAwMzAxZmQwODI0MWM0MTliNjQwMDY3NGM3ZmVi
YTI5OWVkM2E3ODY5Li44YWZkNWYwZjNjNTg5Njk2NGY0NTA4YWRhNjlhNmNjM2VjMTU4YmYwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2Fj
aGVDb3JlVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvRm9udENhY2hlQ29yZVRleHQuY3BwCkBAIC0xNDgxLDE0ICsxNDgxLDI2IEBAIFJlZjxGb250
PiBGb250Q2FjaGU6Omxhc3RSZXNvcnRGYWxsYmFja0ZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9u
JiBmb250RGVzY3JpcHRpCiB7CiAgICAgLy8gRklYTUU6IFdvdWxkIGJlIGV2ZW4gYmV0dGVyIHRv
IHNvbWVob3cgZ2V0IHRoZSB1c2VyJ3MgZGVmYXVsdCBmb250IGhlcmUuICBGb3Igbm93IHdlJ2xs
IHBpY2sKICAgICAvLyB0aGUgZGVmYXVsdCB0aGF0IHRoZSB1c2VyIHdvdWxkIGdldCB3aXRob3V0
IGNoYW5naW5nIGFueSBwcmVmcy4KLSAgICBpZiAoUmVmUHRyPEZvbnQ+IGZvbnQgPSBmb250Rm9y
RmFtaWx5KGZvbnREZXNjcmlwdGlvbiwgQXRvbWljU3RyaW5nKCJUaW1lcyIsIEF0b21pY1N0cmlu
Zzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKSkKLSAgICAgICAgcmV0dXJuICpmb250OworICAgIGlm
IChhdXRvIHJlc3VsdCA9IGZvbnRGb3JGYW1pbHkoZm9udERlc2NyaXB0aW9uLCBBdG9taWNTdHJp
bmcoIlRpbWVzIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpKQorICAgICAg
ICByZXR1cm4gKnJlc3VsdDsKIAogICAgIC8vIFRoZSBUaW1lcyBmYWxsYmFjayB3aWxsIGFsbW9z
dCBhbHdheXMgd29yaywgYnV0IGluIHRoZSBoaWdobHkgdW51c3VhbCBjYXNlIHdoZXJlCiAgICAg
Ly8gdGhlIHVzZXIgZG9lc24ndCBoYXZlIGl0LCB3ZSBmYWxsIGJhY2sgb24gTHVjaWRhIEdyYW5k
ZSBiZWNhdXNlIHRoYXQncwogICAgIC8vIGd1YXJhbnRlZWQgdG8gYmUgdGhlcmUsIGFjY29yZGlu
ZyB0byBOYXRoYW4gVGF5bG9yLiBUaGlzIGlzIGdvb2QgZW5vdWdoCiAgICAgLy8gdG8gYXZvaWQg
YSBjcmFzaCBhdCBsZWFzdC4KLSAgICByZXR1cm4gKmZvbnRGb3JGYW1pbHkoZm9udERlc2NyaXB0
aW9uLCBBdG9taWNTdHJpbmcoIkx1Y2lkYSBHcmFuZGUiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVj
dEZyb21MaXRlcmFsKSwgbnVsbHB0ciwgbnVsbHB0ciwgeyB9LCBmYWxzZSk7CisgICAgaWYgKGF1
dG8gcmVzdWx0ID0gZm9udEZvckZhbWlseShmb250RGVzY3JpcHRpb24sIEF0b21pY1N0cmluZygi
THVjaWRhIEdyYW5kZSIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpLCBudWxs
cHRyLCBudWxscHRyLCB7IH0sIGZhbHNlKSkKKyAgICAgICAgcmV0dXJuICpyZXN1bHQ7CisKKyNp
ZiAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MTAwMDApIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTAxMzAwKQorICAgIGF1dG8gZm9udERlc2NyaXB0b3IgPSBhZG9wdENGKENURm9udERl
c2NyaXB0b3JDcmVhdGVMYXN0UmVzb3J0KCkpOworICAgIGF1dG8gZm9udCA9IGFkb3B0Q0YoQ1RG
b250Q3JlYXRlV2l0aEZvbnREZXNjcmlwdG9yKGZvbnREZXNjcmlwdG9yLCBmb250RGVzY3JpcHRp
b24uY29tcHV0ZWRQaXhlbFNpemUoKSwgbnVsbHB0cikpOworI2Vsc2UKKyAgICBhdXRvIGZvbnQg
PSBhZG9wdENGKENURm9udENyZWF0ZVdpdGhOYW1lKENGU1RSKCJIZWx2ZXRpY2EiKSwgZm9udERl
c2NyaXB0aW9uLmNvbXB1dGVkUGl4ZWxTaXplKCksIG51bGxwdHIpKTsKKyNlbmRpZgorICAgIGJv
b2wgc3ludGhldGljQm9sZCwgc3ludGhldGljT2JsaXF1ZTsKKyAgICBzdGQ6OnRpZShzeW50aGV0
aWNCb2xkLCBzeW50aGV0aWNPYmxpcXVlKSA9IGNvbXB1dGVOZWNlc3NhcnlTeW50aGVzaXMoZm9u
dC5nZXQoKSwgZm9udERlc2NyaXB0aW9uKS5ib2xkT2JsaXF1ZVBhaXIoKTsKKyAgICBGb250UGxh
dGZvcm1EYXRhIHBsYXRmb3JtRGF0YShmb250LmdldCgpLCBmb250RGVzY3JpcHRpb24uY29tcHV0
ZWRQaXhlbFNpemUoKSwgc3ludGhldGljQm9sZCwgc3ludGhldGljT2JsaXF1ZSwgZm9udERlc2Ny
aXB0aW9uLm9yaWVudGF0aW9uKCksIGZvbnREZXNjcmlwdGlvbi53aWR0aFZhcmlhbnQoKSwgZm9u
dERlc2NyaXB0aW9uLnRleHRSZW5kZXJpbmdNb2RlKCkpCisgICAgcmV0dXJuIGZvbnRGb3JQbGF0
Zm9ybURhdGEocGxhdGZvcm1EYXRhKTsKIH0KIAogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345632</attachid>
            <date>2018-07-23 17:47:59 -0700</date>
            <delta_ts>2018-07-23 17:48:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187936-20180723174759.patch</filename>
            <type>text/plain</type>
            <size>4598</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0MDkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmNjNDIzYTI4MDFhMWZl
NzkzYWFhY2ZhNjRhYzk3ZTYwOWQ5ZWJhYS4uZGQ4ZjBkNGE3NGQ0MWIzYjcwODQ4MTc5ODdhZjk2
MTFkOTkwMjE2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE4LTA3LTIzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBT
dG9wIGNyYXNoaW5nIGluIGxhc3RSZXNvcnRGYWxsYmFja0ZvbnQoKQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg3OTM2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29yZVRleHQgY2FuIGdldCBpbnRvIGEg
c3RhdGUgd2hlcmUgYm90aCBUaW1lcyBhbmQgTHVjaWRhIEdyYW5kZSBhcmUgaW5hY2Nlc3NpYmxl
LgorICAgICAgICBJbnN0ZWFkIG9mIGNyYXNoaW5nLCB3ZSBzaG91bGQgdXNlIHRoZSByZWFsIExh
c3RSZXNvcnQsIHdoaWNoIGlzIGJhY2tlZCBieSBhIHNlY3Rpb24KKyAgICAgICAgaW4gdGhlIC5y
b2RhdGEgb2YgdGhlIENvcmVUZXh0IGR5bGliLCBhbmQgYXMgc3VjaCBzaG91bGQgYWx3YXlzIGV4
aXN0LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRDYWNoZTo6Zm9udEZvckZhbWlseSk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9udENhY2hlOjpsYXN0UmVzb3J0RmFsbGJhY2tGb250KToKKwogMjAxOC0wNy0yMiAgWmFs
YW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gQWRkIGNl
bnRlci9yaWdodC9qdXN0aWZ5IGxpbmUgYWxpZ25tZW50IHN1cHBvcnQuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAppbmRleCBiYzk3MjBkZWZlOGQw
ZTVkZWYxZThlZmEwYzMzYTgxOWMzNTRhNmFkLi5kMjQ4ZjJmZjhlYjAwMDg0M2JmODg3NmFkZDI5
MmU5YzQwMmQyY2MzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRDYWNoZS5jcHAKQEAgLTMyNCwxMSArMzI0LDEwIEBAIFJlZlB0cjxGb250PiBGb250Q2FjaGU6
OmZvbnRGb3JGYW1pbHkoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNv
CiAgICAgaWYgKCFtX3B1cmdlVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgbV9wdXJnZVRpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogCi0gICAgRm9udFBsYXRmb3JtRGF0YSogcGxhdGZvcm1EYXRh
ID0gZ2V0Q2FjaGVkRm9udFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRpb24sIGZhbWlseSwgZm9u
dEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJpbGl0
aWVzLCBjaGVja2luZ0FsdGVybmF0ZU5hbWUpOwotICAgIGlmICghcGxhdGZvcm1EYXRhKQotICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBpZiAoYXV0byogcGxhdGZvcm1EYXRhID0gZ2V0Q2Fj
aGVkRm9udFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRpb24sIGZhbWlseSwgZm9udEZhY2VGZWF0
dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBjaGVj
a2luZ0FsdGVybmF0ZU5hbWUpKQorICAgICAgICByZXR1cm4gZm9udEZvclBsYXRmb3JtRGF0YSgq
cGxhdGZvcm1EYXRhKTsKIAotICAgIHJldHVybiBmb250Rm9yUGxhdGZvcm1EYXRhKCpwbGF0Zm9y
bURhdGEpOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBSZWY8Rm9udD4gRm9udENhY2hlOjpm
b250Rm9yUGxhdGZvcm1EYXRhKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHBsYXRmb3JtRGF0YSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRD
YWNoZUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0ZvbnRDYWNoZUNvcmVUZXh0LmNwcAppbmRleCAwMzAxZmQwODI0MWM0MTliNjQwMDY3NGM3ZmVi
YTI5OWVkM2E3ODY5Li5lNDFjZGZlMzg0NDhmZmYyYjQxNTBkZDg3ZTg0NTAwOGE1ODVkMTdhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2Fj
aGVDb3JlVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvRm9udENhY2hlQ29yZVRleHQuY3BwCkBAIC0xNDgxLDE0ICsxNDgxLDI2IEBAIFJlZjxGb250
PiBGb250Q2FjaGU6Omxhc3RSZXNvcnRGYWxsYmFja0ZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9u
JiBmb250RGVzY3JpcHRpCiB7CiAgICAgLy8gRklYTUU6IFdvdWxkIGJlIGV2ZW4gYmV0dGVyIHRv
IHNvbWVob3cgZ2V0IHRoZSB1c2VyJ3MgZGVmYXVsdCBmb250IGhlcmUuICBGb3Igbm93IHdlJ2xs
IHBpY2sKICAgICAvLyB0aGUgZGVmYXVsdCB0aGF0IHRoZSB1c2VyIHdvdWxkIGdldCB3aXRob3V0
IGNoYW5naW5nIGFueSBwcmVmcy4KLSAgICBpZiAoUmVmUHRyPEZvbnQ+IGZvbnQgPSBmb250Rm9y
RmFtaWx5KGZvbnREZXNjcmlwdGlvbiwgQXRvbWljU3RyaW5nKCJUaW1lcyIsIEF0b21pY1N0cmlu
Zzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKSkKLSAgICAgICAgcmV0dXJuICpmb250OworICAgIGlm
IChhdXRvIHJlc3VsdCA9IGZvbnRGb3JGYW1pbHkoZm9udERlc2NyaXB0aW9uLCBBdG9taWNTdHJp
bmcoIlRpbWVzIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpKQorICAgICAg
ICByZXR1cm4gKnJlc3VsdDsKIAogICAgIC8vIFRoZSBUaW1lcyBmYWxsYmFjayB3aWxsIGFsbW9z
dCBhbHdheXMgd29yaywgYnV0IGluIHRoZSBoaWdobHkgdW51c3VhbCBjYXNlIHdoZXJlCiAgICAg
Ly8gdGhlIHVzZXIgZG9lc24ndCBoYXZlIGl0LCB3ZSBmYWxsIGJhY2sgb24gTHVjaWRhIEdyYW5k
ZSBiZWNhdXNlIHRoYXQncwogICAgIC8vIGd1YXJhbnRlZWQgdG8gYmUgdGhlcmUsIGFjY29yZGlu
ZyB0byBOYXRoYW4gVGF5bG9yLiBUaGlzIGlzIGdvb2QgZW5vdWdoCiAgICAgLy8gdG8gYXZvaWQg
YSBjcmFzaCBhdCBsZWFzdC4KLSAgICByZXR1cm4gKmZvbnRGb3JGYW1pbHkoZm9udERlc2NyaXB0
aW9uLCBBdG9taWNTdHJpbmcoIkx1Y2lkYSBHcmFuZGUiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVj
dEZyb21MaXRlcmFsKSwgbnVsbHB0ciwgbnVsbHB0ciwgeyB9LCBmYWxzZSk7CisgICAgaWYgKGF1
dG8gcmVzdWx0ID0gZm9udEZvckZhbWlseShmb250RGVzY3JpcHRpb24sIEF0b21pY1N0cmluZygi
THVjaWRhIEdyYW5kZSIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpLCBudWxs
cHRyLCBudWxscHRyLCB7IH0sIGZhbHNlKSkKKyAgICAgICAgcmV0dXJuICpyZXN1bHQ7CisKKyNp
ZiAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MTAwMDApIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTAxMzAwKQorICAgIGF1dG8gZm9udERlc2NyaXB0b3IgPSBhZG9wdENGKENURm9udERl
c2NyaXB0b3JDcmVhdGVMYXN0UmVzb3J0KCkpOworICAgIGF1dG8gZm9udCA9IGFkb3B0Q0YoQ1RG
b250Q3JlYXRlV2l0aEZvbnREZXNjcmlwdG9yKGZvbnREZXNjcmlwdG9yLmdldCgpLCBmb250RGVz
Y3JpcHRpb24uY29tcHV0ZWRQaXhlbFNpemUoKSwgbnVsbHB0cikpOworI2Vsc2UKKyAgICBhdXRv
IGZvbnQgPSBhZG9wdENGKENURm9udENyZWF0ZVdpdGhOYW1lKENGU1RSKCJIZWx2ZXRpY2EiKSwg
Zm9udERlc2NyaXB0aW9uLmNvbXB1dGVkUGl4ZWxTaXplKCksIG51bGxwdHIpKTsKKyNlbmRpZgor
ICAgIGJvb2wgc3ludGhldGljQm9sZCwgc3ludGhldGljT2JsaXF1ZTsKKyAgICBzdGQ6OnRpZShz
eW50aGV0aWNCb2xkLCBzeW50aGV0aWNPYmxpcXVlKSA9IGNvbXB1dGVOZWNlc3NhcnlTeW50aGVz
aXMoZm9udC5nZXQoKSwgZm9udERlc2NyaXB0aW9uKS5ib2xkT2JsaXF1ZVBhaXIoKTsKKyAgICBG
b250UGxhdGZvcm1EYXRhIHBsYXRmb3JtRGF0YShmb250LmdldCgpLCBmb250RGVzY3JpcHRpb24u
Y29tcHV0ZWRQaXhlbFNpemUoKSwgc3ludGhldGljQm9sZCwgc3ludGhldGljT2JsaXF1ZSwgZm9u
dERlc2NyaXB0aW9uLm9yaWVudGF0aW9uKCksIGZvbnREZXNjcmlwdGlvbi53aWR0aFZhcmlhbnQo
KSwgZm9udERlc2NyaXB0aW9uLnRleHRSZW5kZXJpbmdNb2RlKCkpCisgICAgcmV0dXJuIGZvbnRG
b3JQbGF0Zm9ybURhdGEocGxhdGZvcm1EYXRhKTsKIH0KIAogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345633</attachid>
            <date>2018-07-23 17:48:33 -0700</date>
            <delta_ts>2018-07-23 18:54:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187936-20180723174833.patch</filename>
            <type>text/plain</type>
            <size>4599</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0MDkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmNjNDIzYTI4MDFhMWZl
NzkzYWFhY2ZhNjRhYzk3ZTYwOWQ5ZWJhYS4uZGQ4ZjBkNGE3NGQ0MWIzYjcwODQ4MTc5ODdhZjk2
MTFkOTkwMjE2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE4LTA3LTIzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBT
dG9wIGNyYXNoaW5nIGluIGxhc3RSZXNvcnRGYWxsYmFja0ZvbnQoKQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg3OTM2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29yZVRleHQgY2FuIGdldCBpbnRvIGEg
c3RhdGUgd2hlcmUgYm90aCBUaW1lcyBhbmQgTHVjaWRhIEdyYW5kZSBhcmUgaW5hY2Nlc3NpYmxl
LgorICAgICAgICBJbnN0ZWFkIG9mIGNyYXNoaW5nLCB3ZSBzaG91bGQgdXNlIHRoZSByZWFsIExh
c3RSZXNvcnQsIHdoaWNoIGlzIGJhY2tlZCBieSBhIHNlY3Rpb24KKyAgICAgICAgaW4gdGhlIC5y
b2RhdGEgb2YgdGhlIENvcmVUZXh0IGR5bGliLCBhbmQgYXMgc3VjaCBzaG91bGQgYWx3YXlzIGV4
aXN0LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRDYWNoZTo6Zm9udEZvckZhbWlseSk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9udENhY2hlOjpsYXN0UmVzb3J0RmFsbGJhY2tGb250KToKKwogMjAxOC0wNy0yMiAgWmFs
YW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gQWRkIGNl
bnRlci9yaWdodC9qdXN0aWZ5IGxpbmUgYWxpZ25tZW50IHN1cHBvcnQuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAppbmRleCBiYzk3MjBkZWZlOGQw
ZTVkZWYxZThlZmEwYzMzYTgxOWMzNTRhNmFkLi5kMjQ4ZjJmZjhlYjAwMDg0M2JmODg3NmFkZDI5
MmU5YzQwMmQyY2MzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRDYWNoZS5jcHAKQEAgLTMyNCwxMSArMzI0LDEwIEBAIFJlZlB0cjxGb250PiBGb250Q2FjaGU6
OmZvbnRGb3JGYW1pbHkoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNv
CiAgICAgaWYgKCFtX3B1cmdlVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgbV9wdXJnZVRpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogCi0gICAgRm9udFBsYXRmb3JtRGF0YSogcGxhdGZvcm1EYXRh
ID0gZ2V0Q2FjaGVkRm9udFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRpb24sIGZhbWlseSwgZm9u
dEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJpbGl0
aWVzLCBjaGVja2luZ0FsdGVybmF0ZU5hbWUpOwotICAgIGlmICghcGxhdGZvcm1EYXRhKQotICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBpZiAoYXV0byogcGxhdGZvcm1EYXRhID0gZ2V0Q2Fj
aGVkRm9udFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRpb24sIGZhbWlseSwgZm9udEZhY2VGZWF0
dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBjaGVj
a2luZ0FsdGVybmF0ZU5hbWUpKQorICAgICAgICByZXR1cm4gZm9udEZvclBsYXRmb3JtRGF0YSgq
cGxhdGZvcm1EYXRhKTsKIAotICAgIHJldHVybiBmb250Rm9yUGxhdGZvcm1EYXRhKCpwbGF0Zm9y
bURhdGEpOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBSZWY8Rm9udD4gRm9udENhY2hlOjpm
b250Rm9yUGxhdGZvcm1EYXRhKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHBsYXRmb3JtRGF0YSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRD
YWNoZUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0ZvbnRDYWNoZUNvcmVUZXh0LmNwcAppbmRleCAwMzAxZmQwODI0MWM0MTliNjQwMDY3NGM3ZmVi
YTI5OWVkM2E3ODY5Li40ZTAyNTU2MWUwOTJlY2IxOTBlNWI5NDJmY2Y4NjQ0NDZlMTAzOTgzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2Fj
aGVDb3JlVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvRm9udENhY2hlQ29yZVRleHQuY3BwCkBAIC0xNDgxLDE0ICsxNDgxLDI2IEBAIFJlZjxGb250
PiBGb250Q2FjaGU6Omxhc3RSZXNvcnRGYWxsYmFja0ZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9u
JiBmb250RGVzY3JpcHRpCiB7CiAgICAgLy8gRklYTUU6IFdvdWxkIGJlIGV2ZW4gYmV0dGVyIHRv
IHNvbWVob3cgZ2V0IHRoZSB1c2VyJ3MgZGVmYXVsdCBmb250IGhlcmUuICBGb3Igbm93IHdlJ2xs
IHBpY2sKICAgICAvLyB0aGUgZGVmYXVsdCB0aGF0IHRoZSB1c2VyIHdvdWxkIGdldCB3aXRob3V0
IGNoYW5naW5nIGFueSBwcmVmcy4KLSAgICBpZiAoUmVmUHRyPEZvbnQ+IGZvbnQgPSBmb250Rm9y
RmFtaWx5KGZvbnREZXNjcmlwdGlvbiwgQXRvbWljU3RyaW5nKCJUaW1lcyIsIEF0b21pY1N0cmlu
Zzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKSkKLSAgICAgICAgcmV0dXJuICpmb250OworICAgIGlm
IChhdXRvIHJlc3VsdCA9IGZvbnRGb3JGYW1pbHkoZm9udERlc2NyaXB0aW9uLCBBdG9taWNTdHJp
bmcoIlRpbWVzIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpKQorICAgICAg
ICByZXR1cm4gKnJlc3VsdDsKIAogICAgIC8vIFRoZSBUaW1lcyBmYWxsYmFjayB3aWxsIGFsbW9z
dCBhbHdheXMgd29yaywgYnV0IGluIHRoZSBoaWdobHkgdW51c3VhbCBjYXNlIHdoZXJlCiAgICAg
Ly8gdGhlIHVzZXIgZG9lc24ndCBoYXZlIGl0LCB3ZSBmYWxsIGJhY2sgb24gTHVjaWRhIEdyYW5k
ZSBiZWNhdXNlIHRoYXQncwogICAgIC8vIGd1YXJhbnRlZWQgdG8gYmUgdGhlcmUsIGFjY29yZGlu
ZyB0byBOYXRoYW4gVGF5bG9yLiBUaGlzIGlzIGdvb2QgZW5vdWdoCiAgICAgLy8gdG8gYXZvaWQg
YSBjcmFzaCBhdCBsZWFzdC4KLSAgICByZXR1cm4gKmZvbnRGb3JGYW1pbHkoZm9udERlc2NyaXB0
aW9uLCBBdG9taWNTdHJpbmcoIkx1Y2lkYSBHcmFuZGUiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVj
dEZyb21MaXRlcmFsKSwgbnVsbHB0ciwgbnVsbHB0ciwgeyB9LCBmYWxzZSk7CisgICAgaWYgKGF1
dG8gcmVzdWx0ID0gZm9udEZvckZhbWlseShmb250RGVzY3JpcHRpb24sIEF0b21pY1N0cmluZygi
THVjaWRhIEdyYW5kZSIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpLCBudWxs
cHRyLCBudWxscHRyLCB7IH0sIGZhbHNlKSkKKyAgICAgICAgcmV0dXJuICpyZXN1bHQ7CisKKyNp
ZiAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MTAwMDApIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTAxMzAwKQorICAgIGF1dG8gZm9udERlc2NyaXB0b3IgPSBhZG9wdENGKENURm9udERl
c2NyaXB0b3JDcmVhdGVMYXN0UmVzb3J0KCkpOworICAgIGF1dG8gZm9udCA9IGFkb3B0Q0YoQ1RG
b250Q3JlYXRlV2l0aEZvbnREZXNjcmlwdG9yKGZvbnREZXNjcmlwdG9yLmdldCgpLCBmb250RGVz
Y3JpcHRpb24uY29tcHV0ZWRQaXhlbFNpemUoKSwgbnVsbHB0cikpOworI2Vsc2UKKyAgICBhdXRv
IGZvbnQgPSBhZG9wdENGKENURm9udENyZWF0ZVdpdGhOYW1lKENGU1RSKCJIZWx2ZXRpY2EiKSwg
Zm9udERlc2NyaXB0aW9uLmNvbXB1dGVkUGl4ZWxTaXplKCksIG51bGxwdHIpKTsKKyNlbmRpZgor
ICAgIGJvb2wgc3ludGhldGljQm9sZCwgc3ludGhldGljT2JsaXF1ZTsKKyAgICBzdGQ6OnRpZShz
eW50aGV0aWNCb2xkLCBzeW50aGV0aWNPYmxpcXVlKSA9IGNvbXB1dGVOZWNlc3NhcnlTeW50aGVz
aXMoZm9udC5nZXQoKSwgZm9udERlc2NyaXB0aW9uKS5ib2xkT2JsaXF1ZVBhaXIoKTsKKyAgICBG
b250UGxhdGZvcm1EYXRhIHBsYXRmb3JtRGF0YShmb250LmdldCgpLCBmb250RGVzY3JpcHRpb24u
Y29tcHV0ZWRQaXhlbFNpemUoKSwgc3ludGhldGljQm9sZCwgc3ludGhldGljT2JsaXF1ZSwgZm9u
dERlc2NyaXB0aW9uLm9yaWVudGF0aW9uKCksIGZvbnREZXNjcmlwdGlvbi53aWR0aFZhcmlhbnQo
KSwgZm9udERlc2NyaXB0aW9uLnRleHRSZW5kZXJpbmdNb2RlKCkpOworICAgIHJldHVybiBmb250
Rm9yUGxhdGZvcm1EYXRhKHBsYXRmb3JtRGF0YSk7CiB9CiAKIH0K
</data>
<flag name="review"
          id="363559"
          type_id="1"
          status="+"
          setter="jonlee"
    />
          </attachment>
      

    </bug>

</bugzilla>