<?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>205168</bug_id>
          
          <creation_ts>2019-12-12 09:36:20 -0800</creation_ts>
          <short_desc>REGRESSION: [Mac wk1] imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-3.html is a flakey failure</short_desc>
          <delta_ts>2020-01-30 20:21:41 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</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>
          <dependson>174030</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Truitt Savell">tsavell</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>emilio</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>kangil.han</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1598019</commentid>
    <comment_count>0</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2019-12-12 09:36:20 -0800</bug_when>
    <thetext>imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-3.html

This test is a flakey failure on Mac

History:
https://results.webkit.org/?suite=layout-tests&amp;test=imported%2Fw3c%2Fweb-platform-tests%2Fmathml%2Fpresentation-markup%2Fscripts%2Funderover-parameters-3.html

Diff:
--- /Volumes/Data/slave/mojave-release-tests-wk1/build/layout-test-results/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-3-expected.txt
+++ /Volumes/Data/slave/mojave-release-tests-wk1/build/layout-test-results/imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-3-actual.txt
@@ -1,10 +1,10 @@
 
 PASS Baseline alignment 
 PASS Heights of bases 
-PASS AccentBaseHeight, UnderbarExtraDescender 
-PASS AccentBaseHeight, UnderbarVerticalGap 
-PASS AccentBaseHeight, OverbarExtraAscender 
-PASS AccentBaseHeight, OverbarVerticalGap 
+FAIL AccentBaseHeight, UnderbarExtraDescender assert_approx_equals: munderover: accent over short base expected 40 +/- 2 but got 30.5
+FAIL AccentBaseHeight, UnderbarVerticalGap assert_approx_equals: munderover: accent over short base expected 40 +/- 2 but got 30.5
+FAIL AccentBaseHeight, OverbarExtraAscender assert_approx_equals: mover: accent over short base expected 40 +/- 2 but got 30.5
+FAIL AccentBaseHeight, OverbarVerticalGap assert_approx_equals: mover: nonaccent over short base expected 140 +/- 2 but got 31.5
 
 
It looks like this test began failing around r252125</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598021</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-12 09:37:22 -0800</bug_when>
    <thetext>&lt;rdar://problem/57880452&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598049</commentid>
    <comment_count>2</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2019-12-12 10:19:29 -0800</bug_when>
    <thetext>Due to a lack of builds to test there is a regression range of r252087-r252115</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598053</commentid>
    <comment_count>3</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2019-12-12 10:26:58 -0800</bug_when>
    <thetext>marked test as failing while investigating in https://trac.webkit.org/changeset/253434/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598264</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-12-12 22:36:14 -0800</bug_when>
    <thetext>Fred, do you have any idea what might be the issue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598269</commentid>
    <comment_count>5</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2019-12-12 22:53:17 -0800</bug_when>
    <thetext>This test involves loading web fonts with specific math parameters. Not sure why the flakiness happens only on macOS WK1. Might be related to https://github.com/web-platform-tests/wpt/pull/18937 and https://bugs.webkit.org/show_bug.cgi?id=174030</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606275</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-01-13 23:28:49 -0800</bug_when>
    <thetext>Hm... I can&apos;t reproduce this with:
./Tools/Scripts/run-webkit-tests --release -1 --iterations 100 --exit-after-n-failures 1 imported/w3c/web-platform-tests/mathml/presentation-markup/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606784</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-01-14 21:15:54 -0800</bug_when>
    <thetext>I&apos;ve tried 100 iterations on Mac mini with debug build but can&apos;t reproduce it either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608367</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-01-17 21:50:01 -0800</bug_when>
    <thetext>Now I have access to a Mac mini on which the flakiness reproduces.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608369</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-01-17 21:52:21 -0800</bug_when>
    <thetext>There is a race condition between when Web fonts start loading and when load event is dispatched on window. Specifically, the failure happens when the layout which triggers font loading happens after window’s load event had been dispatched. Now I&apos;m figuring out why that happens. In theory, we should be updating the layout at least once before load event fires.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608374</commentid>
    <comment_count>10</comment_count>
      <attachid>388129</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-01-17 22:29:27 -0800</bug_when>
    <thetext>Created attachment 388129
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608375</commentid>
    <comment_count>11</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-01-17 22:31:24 -0800</bug_when>
    <thetext>Alright, updating the layout before deciding whether load event needs to be fired or not solves this problem. This is a bit problematic from perf perspective though because we&apos;d end up triggering new layout whenever a sub resource finishes loading. We probably need to move it to right before document&apos;s ready state changes. I&apos;d also have to check this behavior is mandated by the specification or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609178</commentid>
    <comment_count>12</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-01-21 11:52:18 -0800</bug_when>
    <thetext>Do we need to force layout synchronously, or we can we just trigger a rendering update?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609451</commentid>
    <comment_count>13</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-01-21 21:29:58 -0800</bug_when>
    <thetext>Hm... there is something strange here. Even if &quot;load&quot; event on the window were to fire before fonts load, &quot;document.fonts&quot; should be updating the style and trigger font loads.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609452</commentid>
    <comment_count>14</comment_count>
      <attachid>388129</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-01-21 21:37:30 -0800</bug_when>
    <thetext>Comment on attachment 388129
WIP

Can&apos;t land this or any variant. It would be too risky &amp; affects too many things at least for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611719</commentid>
    <comment_count>15</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-01-27 17:12:23 -0800</bug_when>
    <thetext>Finally I know why this is happening. The issue that when FontFaceSet’s constructor is invoked, it could immediately resolve its promise as long as the first layout has been updated. This is problematic since the first layout may happen way before the document finishes loading.

Youeen added this code in https://bugs.webkit.org/show_bug.cgi?id=174030 in order to address the even more aggressive behavior we once had but this is racy &amp; inadaquete for the purpose of satisfying the following condition in the specification:

In fact, the bug which landed this fix mentions that there were previously a WebKit specific fix for this:
https://bugs.webkit.org/show_bug.cgi?id=174030#c15</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611790</commentid>
    <comment_count>16</comment_count>
      <attachid>388963</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-01-27 20:22:43 -0800</bug_when>
    <thetext>Created attachment 388963
WIP2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612259</commentid>
    <comment_count>17</comment_count>
      <attachid>389088</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-01-28 16:49:59 -0800</bug_when>
    <thetext>Created attachment 389088
Fixes the bug and add a test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612336</commentid>
    <comment_count>18</comment_count>
      <attachid>389088</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2020-01-28 23:30:52 -0800</bug_when>
    <thetext>Comment on attachment 389088
Fixes the bug and add a test

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

&gt; LayoutTests/fast/css/font-face-set-ready-after-document-load-expected.txt:1
&gt; +This test records the order by which load and DOMContentLoaded evnets fire relative to when document.fonts.ready is resolved.

events*

&gt; LayoutTests/fast/css/font-face-set-ready-after-document-load.html:13
&gt; +&lt;p&gt;This test records the order by which load and DOMContentLoaded evnets fire relative to when document.fonts.ready is resolved.&lt;br&gt;

events*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612347</commentid>
    <comment_count>19</comment_count>
      <attachid>389088</attachid>
    <who name="Emilio Cobos Álvarez (:emilio)">emilio</who>
    <bug_when>2020-01-29 00:55:02 -0800</bug_when>
    <thetext>Comment on attachment 389088
Fixes the bug and add a test

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

So WebKit doesn&apos;t have a way to deal with the case where onload has fired and you add an stylesheet with @font-face to the document, right?

Blink and Gecko do deal with that, thought I&apos;m not a fan of the forced layout, it seems like WebKit behavior is somewhat simpler.

Though I believe such a behavior is required by the spec per https://drafts.csswg.org/css-font-loading/#ref-for-dom-fontfaceset-readypromise-slot%E2%91%A0

It doesn&apos;t seem like WebKit implements such a thing when new font loads are triggered.

&gt; Source/WebCore/css/FontFaceSet.h:122
&gt; +    bool m_isDocumentLoaded { true };

This looks like it&apos;d deserve a comment on why it&apos;s true by default... If there&apos;s no frame() there&apos;s no layout to be done, but presumably the document does load?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612686</commentid>
    <comment_count>20</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-01-29 14:33:45 -0800</bug_when>
    <thetext>(In reply to Emilio Cobos Álvarez (:emilio) from comment #19)
&gt; Comment on attachment 389088 [details]
&gt; Fixes the bug and add a test
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=389088&amp;action=review
&gt; 
&gt; So WebKit doesn&apos;t have a way to deal with the case where onload has fired
&gt; and you add an stylesheet with @font-face to the document, right?
&gt; 
&gt; Blink and Gecko do deal with that, thought I&apos;m not a fan of the forced
&gt; layout, it seems like WebKit behavior is somewhat simpler.
&gt; 
&gt; Though I believe such a behavior is required by the spec per
&gt; https://drafts.csswg.org/css-font-loading/#ref-for-dom-fontfaceset-
&gt; readypromise-slot%E2%91%A0
&gt; 
&gt; It doesn&apos;t seem like WebKit implements such a thing when new font loads are
&gt; triggered.

As far as I can tell, no. But the spec is super vague about things so it&apos;s unclear.

&gt; &gt; Source/WebCore/css/FontFaceSet.h:122
&gt; &gt; +    bool m_isDocumentLoaded { true };
&gt; 
&gt; This looks like it&apos;d deserve a comment on why it&apos;s true by default... If
&gt; there&apos;s no frame() there&apos;s no layout to be done, but presumably the document
&gt; does load?

I&apos;m gonna leave it as is since I don&apos;t think I understand this code enough to provide a good / useful comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612754</commentid>
    <comment_count>21</comment_count>
      <attachid>389199</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-01-29 16:29:48 -0800</bug_when>
    <thetext>Created attachment 389199
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612780</commentid>
    <comment_count>22</comment_count>
      <attachid>389199</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-01-29 17:24:08 -0800</bug_when>
    <thetext>Comment on attachment 389199
Patch for landing

Wait for EWS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612783</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-29 17:26:38 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 389199:

editing/spelling/spellcheck-async-remove-frame.html bug 158401 (authors: morrita@google.com, rniwa@webkit.org, and tony@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612846</commentid>
    <comment_count>24</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-01-29 20:15:53 -0800</bug_when>
    <thetext>Committed r255414: &lt;https://trac.webkit.org/changeset/255414&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613270</commentid>
    <comment_count>25</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-01-30 20:21:41 -0800</bug_when>
    <thetext>Committed r255483: &lt;https://trac.webkit.org/changeset/255483&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388129</attachid>
            <date>2020-01-17 22:29:27 -0800</date>
            <delta_ts>2020-01-21 21:37:37 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>fix205168.patch</filename>
            <type>text/plain</type>
            <size>506</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGExMjg1ODUxZjI1Li4yYTdk
Mzc3NTI5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC04NjQsNiAr
ODY0LDkgQEAgdm9pZCBGcmFtZUxvYWRlcjo6Y2hlY2tDb21wbGV0ZWQoKQogICAgICAgICByZXR1
cm47CiAgICAgfQogCisgICAgLy8gVXBkYXRpbmcgbGF5b3V0IG1heSB0cmlnZ2VyIG1vcmUgZm9u
dHMgYW5kIHN1YnJlc291cmNlcyB0byBiZSBsb2FkZWQuCisgICAgbV9mcmFtZS5kb2N1bWVudCgp
LT51cGRhdGVMYXlvdXQoKTsKKwogICAgIC8vIEFyZSB3ZSBzdGlsbCBwYXJzaW5nPwogICAgIGlm
IChtX2ZyYW1lLmRvY3VtZW50KCktPnBhcnNpbmcoKSkKICAgICAgICAgcmV0dXJuOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388963</attachid>
            <date>2020-01-27 20:22:43 -0800</date>
            <delta_ts>2020-01-28 16:49:57 -0800</delta_ts>
            <desc>WIP2</desc>
            <filename>tmp.patch</filename>
            <type>text/plain</type>
            <size>710</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZVNldC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuY3BwCmluZGV4IGMwMDVmZjQyY2U3Li42ZmIzNjU2YmE4
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlU2V0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuY3BwCkBAIC03MSw3ICs3MSw3IEBAIEZvbnRG
YWNlU2V0OjpGb250RmFjZVNldChEb2N1bWVudCYgZG9jdW1lbnQsIENTU0ZvbnRGYWNlU2V0JiBi
YWNraW5nKQogICAgICwgbV9yZWFkeVByb21pc2UobWFrZVVuaXF1ZVJlZjxSZWFkeVByb21pc2U+
KCp0aGlzLCAmRm9udEZhY2VTZXQ6OnJlYWR5UHJvbWlzZVJlc29sdmUpKQogewogICAgIGlmIChk
b2N1bWVudC5mcmFtZSgpKQotICAgICAgICBtX2lzRmlyc3RMYXlvdXREb25lID0gZG9jdW1lbnQu
ZnJhbWUoKS0+bG9hZGVyKCkuc3RhdGVNYWNoaW5lKCkuZmlyc3RMYXlvdXREb25lKCk7CisgICAg
ICAgIG1faXNGaXJzdExheW91dERvbmUgPSBkb2N1bWVudC5sb2FkRXZlbnRGaW5pc2hlZCgpICYm
ICFkb2N1bWVudC5wcm9jZXNzaW5nTG9hZEV2ZW50KCk7CiAKICAgICBpZiAobV9pc0ZpcnN0TGF5
b3V0RG9uZSAmJiAhYmFja2luZy5oYXNBY3RpdmVGb250RmFjZXMoKSkKICAgICAgICAgbV9yZWFk
eVByb21pc2UtPnJlc29sdmUoKnRoaXMpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389088</attachid>
            <date>2020-01-28 16:49:59 -0800</date>
            <delta_ts>2020-01-29 16:29:45 -0800</delta_ts>
            <desc>Fixes the bug and add a test</desc>
            <filename>bug-205168-20200128164958.patch</filename>
            <type>text/plain</type>
            <size>9159</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NTMyMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBACisyMDIwLTAxLTI4ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJFR1JFU1NJT046IFtNYWMgd2sx
XSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24tbWFy
a3VwL3NjcmlwdHMvdW5kZXJvdmVyLXBhcmFtZXRlcnMtMy5odG1sIGlzIGEgZmxha2V5IGZhaWx1
cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTE2
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBm
bGFraW5lc3Mgb2YgdGhlIHRlc3Qgd2FzIGNhdXNlZCBieSBkb2N1bWVudC5mb250cy5yZWFkeSBy
ZXNvbHZpbmcgd2l0aG91dCB3YWl0aW5nIGZvciB0aGUgZG9jdW1lbnQKKyAgICAgICAgdG8gYmUg
bG9hZGVkIGlmIEZvbnRGYWNlU2V0OjpGb250RmFjZVNldCBpcyBjcmVhdGVkIGFmdGVyIHRoZSBp
bml0aWFsIGxheW91dCBoYWQgYmVlbiBkb25lLgorCisgICAgICAgIHIyNDkyOTUgaW50cm9kdWNl
ZCB0aGlzIHJhY3kgY29kZSB0byBhZGRyZXNzIHRoZSBwcmV2aW91cyBiZWhhdmlvciBvZiBXZWJL
aXQsIHdoaWNoIGRpZG4ndCB3YWl0IGZvcgorICAgICAgICBlaXRoZXIgZG9jdW1lbnQgdG8gZmlu
aXNoIGxvYWRpbmcgb3IgdGhlIGluaXRpYWwgbGF5b3V0IHRvIGhhcHBlbiBhdCBhbGwsIGFuZCB0
aGUgV2ViS2l0IHdvcmthcm91bmQgaW4KKyAgICAgICAgdGhlIG9mZmVuZGluZyBXUFQgdGVzdCB3
YXMgc3Vic2VxdWVudGlhbGx5IHJlbW92ZWQsIHJlc3VsdGluZyBpbiB0aGUgZmxha3kgZmFpbHVy
ZSBhZnRlciB0aGUgdGVzdCB3YXMKKyAgICAgICAgc3luY2VkIHVwIGluIHIyNDk3NjAuCisKKyAg
ICAgICAgVGhpcyBwYXRjaCBhZGRyZXNzIHRoZSB1bmRlcmx5aW5nIGJ1ZyBieSBtYWtpbmcgcmVh
ZHkgcHJvbWlzZSB3YWl0IHVudGlsIERvY3VtZW50OjppbXBsaWNpdENsb3NlIGlzIGNhbGxlZC4K
KworICAgICAgICBVbmZvcnR1bmF0ZWx5LCB0aGUgc3BlY2lmaWNhdGlvbiBpcyBleHRyZW1lbHkg
dmFndWUgaW4gdGVybXMgb2Ygd2hlbiB0aGlzIHByb21pc2UgaXMgcmVzb2x2ZWQgYnV0IG5ldwor
ICAgICAgICBiZWhhdmlvciBvZiBXZWJLaXQgaXMgbW9yZSBvciBsZXNzIHdpdGggRmlyZWZveCAo
Q2hyb21lIHNlZW1zIHRvIGhhdmUgYSBzaW1pbGFyIHJhY2UgY29uZGl0aW9uIGFzIFdlYktpdCku
CisKKyAgICAgICAgU2VlIGFsc286IGh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctZHJhZnRz
L2lzc3Vlcy80MjQ4LgorCisgICAgICAgIFRlc3Q6IGZhc3QvY3NzL2ZvbnQtZmFjZS1zZXQtcmVh
ZHktYWZ0ZXItZG9jdW1lbnQtbG9hZC5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTRm9udFNlbGVj
dG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcjo6Zm9udEZhY2VTZXRJ
ZkV4aXN0cyk6IFJlbmFtZWQgZnJvbSBvcHRpb25hbEZvbnRGYWNlU2V0IGZvciBjb25zaXN0ZW5j
eS4KKyAgICAgICAgKiBjc3MvQ1NTRm9udFNlbGVjdG9yLmg6CisgICAgICAgICogY3NzL0ZvbnRG
YWNlU2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRGYWNlU2V0OjpGb250RmFjZVNldCk6
IEZpeGVkIHRoZSBidWcuCisgICAgICAgIChXZWJDb3JlOjpGb250RmFjZVNldDo6ZG9jdW1lbnRE
aWRGaW5pc2hMb2FkaW5nKTogUmVuYW1lZCBmcm9tIGRpZEZpcnN0TGF5b3V0IHRvIHJlZmxlY3Qg
dGhlIG5ldyBzZW1hbnRpY3MuCisgICAgICAgIChXZWJDb3JlOjpGb250RmFjZVNldDo6Y29tcGxl
dGVkTG9hZGluZyk6CisgICAgICAgICogY3NzL0ZvbnRGYWNlU2V0Lmg6CisgICAgICAgICogZG9t
L0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjppbXBsaWNpdENsb3Nl
KTogRGVwbG95ZWQgbWFrZVJlZlB0ciB0byBiZSBzYWZlLgorCiAyMDIwLTAxLTI4ICBUaW0gSG9y
dG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIG1hY0NhdGFseXN0OiBU
cmlwbGUgY2xpY2tpbmcgdG8gc2VsZWN0IGEgc2VudGVuY2UgcmVzdWx0cyBpbiBhbiBlbXB0eSBz
ZWxlY3Rpb24KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCShyZXZp
c2lvbiAyNTUzMTQpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtODMsNyArODMsNyBAQCBDU1NGb250U2VsZWN0b3I6On5DU1NGb250
U2VsZWN0b3IoKQogICAgIEZvbnRDYWNoZTo6c2luZ2xldG9uKCkucmVtb3ZlQ2xpZW50KCp0aGlz
KTsKIH0KIAotRm9udEZhY2VTZXQqIENTU0ZvbnRTZWxlY3Rvcjo6b3B0aW9uYWxGb250RmFjZVNl
dCgpCitGb250RmFjZVNldCogQ1NTRm9udFNlbGVjdG9yOjpmb250RmFjZVNldElmRXhpc3RzKCkK
IHsKICAgICByZXR1cm4gbV9mb250RmFjZVNldC5nZXQoKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRm9udFNlbGVjdG9yLmgJKHJldmlzaW9uIDI1NTMxNCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250U2VsZWN0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtODEsNyArODEsNyBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIGJlZ2luTG9hZGluZ0ZvbnRTb29uKENhY2hlZEZvbnQmKTsKIAot
ICAgIEZvbnRGYWNlU2V0KiBvcHRpb25hbEZvbnRGYWNlU2V0KCk7CisgICAgRm9udEZhY2VTZXQq
IGZvbnRGYWNlU2V0SWZFeGlzdHMoKTsKICAgICBGb250RmFjZVNldCYgZm9udEZhY2VTZXQoKTsK
IAogICAgIHZvaWQgaW5jcmVtZW50SXNDb21wdXRpbmdSb290U3R5bGVGb250KCkgeyArK21fY29t
cHV0aW5nUm9vdFN0eWxlRm9udENvdW50OyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvRm9u
dEZhY2VTZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZVNl
dC5jcHAJKHJldmlzaW9uIDI1NTMxNCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZVNl
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcxLDkgKzcxLDkgQEAgRm9udEZhY2VTZXQ6OkZvbnRG
YWNlU2V0KERvY3VtZW50JiBkb2N1bQogICAgICwgbV9yZWFkeVByb21pc2UobWFrZVVuaXF1ZVJl
ZjxSZWFkeVByb21pc2U+KCp0aGlzLCAmRm9udEZhY2VTZXQ6OnJlYWR5UHJvbWlzZVJlc29sdmUp
KQogewogICAgIGlmIChkb2N1bWVudC5mcmFtZSgpKQotICAgICAgICBtX2lzRmlyc3RMYXlvdXRE
b25lID0gZG9jdW1lbnQuZnJhbWUoKS0+bG9hZGVyKCkuc3RhdGVNYWNoaW5lKCkuZmlyc3RMYXlv
dXREb25lKCk7CisgICAgICAgIG1faXNEb2N1bWVudExvYWRlZCA9IGRvY3VtZW50LmxvYWRFdmVu
dEZpbmlzaGVkKCkgJiYgIWRvY3VtZW50LnByb2Nlc3NpbmdMb2FkRXZlbnQoKTsKIAotICAgIGlm
IChtX2lzRmlyc3RMYXlvdXREb25lICYmICFiYWNraW5nLmhhc0FjdGl2ZUZvbnRGYWNlcygpKQor
ICAgIGlmIChtX2lzRG9jdW1lbnRMb2FkZWQgJiYgIWJhY2tpbmcuaGFzQWN0aXZlRm9udEZhY2Vz
KCkpCiAgICAgICAgIG1fcmVhZHlQcm9taXNlLT5yZXNvbHZlKCp0aGlzKTsKIAogICAgIG1fYmFj
a2luZy0+YWRkQ2xpZW50KCp0aGlzKTsKQEAgLTE5NiwxNiArMTk2LDE2IEBAIHZvaWQgRm9udEZh
Y2VTZXQ6OnN0YXJ0ZWRMb2FkaW5nKCkKICAgICAvLyBGSVhNRTogRmlyZSBhICJsb2FkaW5nIiBl
dmVudCBhc3luY2hyb25vdXNseS4KIH0KIAotdm9pZCBGb250RmFjZVNldDo6ZGlkRmlyc3RMYXlv
dXQoKQordm9pZCBGb250RmFjZVNldDo6ZG9jdW1lbnREaWRGaW5pc2hMb2FkaW5nKCkKIHsKLSAg
ICBtX2lzRmlyc3RMYXlvdXREb25lID0gdHJ1ZTsKKyAgICBtX2lzRG9jdW1lbnRMb2FkZWQgPSB0
cnVlOwogICAgIGlmICghbV9iYWNraW5nLT5oYXNBY3RpdmVGb250RmFjZXMoKSAmJiAhbV9yZWFk
eVByb21pc2UtPmlzRnVsZmlsbGVkKCkpCiAgICAgICAgIG1fcmVhZHlQcm9taXNlLT5yZXNvbHZl
KCp0aGlzKTsKIH0KIAogdm9pZCBGb250RmFjZVNldDo6Y29tcGxldGVkTG9hZGluZygpCiB7Ci0g
ICAgaWYgKG1faXNGaXJzdExheW91dERvbmUgJiYgIW1fcmVhZHlQcm9taXNlLT5pc0Z1bGZpbGxl
ZCgpKQorICAgIGlmIChtX2lzRG9jdW1lbnRMb2FkZWQgJiYgIW1fcmVhZHlQcm9taXNlLT5pc0Z1
bGZpbGxlZCgpKQogICAgICAgICBtX3JlYWR5UHJvbWlzZS0+cmVzb2x2ZSgqdGhpcyk7CiB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZVNldC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZVNldC5oCShyZXZpc2lvbiAyNTUzMTQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuaAkod29ya2luZyBjb3B5KQpAQCAtNjAsNyArNjAs
NyBAQCBwdWJsaWM6CiAKICAgICB1c2luZyBSZWFkeVByb21pc2UgPSBET01Qcm9taXNlUHJveHlX
aXRoUmVzb2x2ZUNhbGxiYWNrPElETEludGVyZmFjZTxGb250RmFjZVNldD4+OwogICAgIFJlYWR5
UHJvbWlzZSYgcmVhZHkoKSB7IHJldHVybiBtX3JlYWR5UHJvbWlzZS5nZXQoKTsgfQotICAgIHZv
aWQgZGlkRmlyc3RMYXlvdXQoKTsKKyAgICB2b2lkIGRvY3VtZW50RGlkRmluaXNoTG9hZGluZygp
OwogCiAgICAgQ1NTRm9udEZhY2VTZXQmIGJhY2tpbmcoKSB7IHJldHVybiBtX2JhY2tpbmc7IH0K
IApAQCAtMTE4LDcgKzExOCw4IEBAIHByaXZhdGU6CiAgICAgUmVmPENTU0ZvbnRGYWNlU2V0PiBt
X2JhY2tpbmc7CiAgICAgSGFzaE1hcDxSZWZQdHI8Rm9udEZhY2U+LCBWZWN0b3I8UmVmPFBlbmRp
bmdQcm9taXNlPj4+IG1fcGVuZGluZ1Byb21pc2VzOwogICAgIFVuaXF1ZVJlZjxSZWFkeVByb21p
c2U+IG1fcmVhZHlQcm9taXNlOwotICAgIGJvb2wgbV9pc0ZpcnN0TGF5b3V0RG9uZSB7IHRydWUg
fTsKKworICAgIGJvb2wgbV9pc0RvY3VtZW50TG9hZGVkIHsgdHJ1ZSB9OwogfTsKIAogfQpJbmRl
eDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAyNTUzMTQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMDg2LDggKzMwODYsOCBA
QCB2b2lkIERvY3VtZW50OjppbXBsaWNpdENsb3NlKCkKIAogICAgIG1fcHJvY2Vzc2luZ0xvYWRF
dmVudCA9IGZhbHNlOwogCi0gICAgaWYgKGF1dG8qIGZvbnRGYWNlU2V0ID0gZm9udFNlbGVjdG9y
KCkub3B0aW9uYWxGb250RmFjZVNldCgpKQotICAgICAgICBmb250RmFjZVNldC0+ZGlkRmlyc3RM
YXlvdXQoKTsKKyAgICBpZiAoYXV0byBmb250RmFjZVNldCA9IG1ha2VSZWZQdHIoZm9udFNlbGVj
dG9yKCkuZm9udEZhY2VTZXRJZkV4aXN0cygpKSkKKyAgICAgICAgZm9udEZhY2VTZXQtPmRvY3Vt
ZW50RGlkRmluaXNoTG9hZGluZygpOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpIHx8IFBMQVRGT1JN
KFdJTikgfHwgUExBVEZPUk0oR1RLKQogICAgIGlmIChmICYmIGhhc0xpdmluZ1JlbmRlclRyZWUo
KSAmJiBBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKSB7CkluZGV4OiBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyNTUzMTQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxMyBAQAorMjAyMC0wMS0yOCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0
Lm9yZz4KKworICAgICAgICBSRUdSRVNTSU9OOiBbTWFjIHdrMV0gaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uLW1hcmt1cC9zY3JpcHRzL3VuZGVyb3Zl
ci1wYXJhbWV0ZXJzLTMuaHRtbCBpcyBhIGZsYWtleSBmYWlsdXJlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUxNjgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvY3NzL2ZvbnQtZmFjZS1zZXQt
cmVhZHktYWZ0ZXItZG9jdW1lbnQtbG9hZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvY3NzL2ZvbnQtZmFjZS1zZXQtcmVhZHktYWZ0ZXItZG9jdW1lbnQtbG9hZC5odG1sOiBB
ZGRlZC4KKwogMjAyMC0wMS0yOCAgSmFjb2IgVXBob2ZmICA8amFjb2JfdXBob2ZmQGFwcGxlLmNv
bT4KIAogICAgICAgICBbIGlPUyBdIGh0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3NlcnZpY2Ut
d29ya2VyLXVzZXItdGltaW5nLmh0dHBzLmh0bWwgaXMgZmxha3kgdGltaW5nIG91dApJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9jc3MvZm9udC1mYWNlLXNldC1yZWFkeS1hZnRlci1kb2N1bWVudC1s
b2FkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9mb250
LWZhY2Utc2V0LXJlYWR5LWFmdGVyLWRvY3VtZW50LWxvYWQtZXhwZWN0ZWQudHh0CShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL2ZvbnQtZmFjZS1zZXQtcmVhZHktYWZ0ZXIt
ZG9jdW1lbnQtbG9hZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3IEBA
CitUaGlzIHRlc3QgcmVjb3JkcyB0aGUgb3JkZXIgYnkgd2hpY2ggbG9hZCBhbmQgRE9NQ29udGVu
dExvYWRlZCBldm5ldHMgZmlyZSByZWxhdGl2ZSB0byB3aGVuIGRvY3VtZW50LmZvbnRzLnJlYWR5
IGlzIHJlc29sdmVkLgorZm9udHMucmVhZHkgc2hvdWxkIHJlc29sdmUgb25seSBhZnRlciBET01D
b250ZW50TG9hZGVkIGFuZCBsb2FkIGV2ZW50IGFyZSBmaXJlZCwgYW5kIGZvbnRzLmNoZWNrIHNo
b3VsZCByZXR1cm4gdHJ1ZSBmb3IgQWhlbSBhdCB0aGF0IHBvaW50LgorCitCZWZvcmUgc2V0dGlu
ZyBmb250LWZhbWlseSAtIGZvbnRzLmNoZWNrIEFoZW06IGZhbHNlCitET01Db250ZW50TG9hZGVk
Citsb2FkCitoZWxsbwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvZm9udC1mYWNlLXNldC1y
ZWFkeS1hZnRlci1kb2N1bWVudC1sb2FkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvZm9udC1mYWNlLXNldC1yZWFkeS1hZnRlci1kb2N1bWVudC1sb2FkLmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvZm9udC1mYWNlLXNldC1yZWFkeS1h
ZnRlci1kb2N1bWVudC1sb2FkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MyBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PHN0eWxlPgorQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6IEFoZW07CisgICAgc3JjOiB1
cmwoIi4uLy4uL3Jlc291cmNlcy9mb250cy9BaGVtLnR0ZiIpOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJlY29yZHMgdGhlIG9yZGVyIGJ5IHdoaWNoIGxvYWQg
YW5kIERPTUNvbnRlbnRMb2FkZWQgZXZuZXRzIGZpcmUgcmVsYXRpdmUgdG8gd2hlbiBkb2N1bWVu
dC5mb250cy5yZWFkeSBpcyByZXNvbHZlZC48YnI+Citmb250cy5yZWFkeSBzaG91bGQgcmVzb2x2
ZSBvbmx5IGFmdGVyIERPTUNvbnRlbnRMb2FkZWQgYW5kIGxvYWQgZXZlbnQgYXJlIGZpcmVkLCBh
bmQgZm9udHMuY2hlY2sgc2hvdWxkIHJldHVybiB0cnVlIGZvciBBaGVtIGF0IHRoYXQgcG9pbnQu
PC9wPgorPHByZSBpZD0ibG9nIj48L3ByZT4KKzxkaXYgaWQ9ImVsZW1lbnQxIj5oZWxsbzwvZGl2
PgorPHNjcmlwdD4KKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOworCitmdW5jdGlvbiBsb2cobWVzc2FnZSkgeworICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdsb2cnKS50ZXh0Q29udGVudCArPSBtZXNzYWdlICsgJ1xuJzsKK30KKworZnVu
Y3Rpb24gY2hlY2tBaGVtKGRlc2NyaXB0aW9uKSB7CisgICAgY29uc3QgY2hlY2sgPSBkb2N1bWVu
dC5mb250cy5jaGVjaygnMTBweCBBaGVtJyk7CisgICAgbG9nKGAke2Rlc2NyaXB0aW9ufSAtIGZv
bnRzLmNoZWNrIEFoZW06ICR7Y2hlY2t9YCk7Cit9CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCdET01Db250ZW50TG9hZGVkJywgKCkgPT4gbG9nKCdET01Db250ZW50TG9hZGVkJykpOword2lu
ZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiBsb2coJ2xvYWQnKSk7CisKK2NoZWNr
QWhlbSgnQmVmb3JlIHNldHRpbmcgZm9udC1mYW1pbHknKTsKK2VsZW1lbnQxLmdldEJvdW5kaW5n
Q2xpZW50UmVjdCgpOworZWxlbWVudDEuc3R5bGUuZm9udEZhbWlseSA9ICdBaGVtJzsKK2RvY3Vt
ZW50LmZvbnRzLnJlYWR5LnRoZW4oKCkgPT4geworICAgIGNoZWNrQWhlbSgnZm9udHMucmVhZHkn
KTsKK30pOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389199</attachid>
            <date>2020-01-29 16:29:48 -0800</date>
            <delta_ts>2020-01-29 17:24:08 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-205168-20200129162947.patch</filename>
            <type>text/plain</type>
            <size>9324</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NTM4NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBACisyMDIwLTAxLTI5ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJFR1JFU1NJT046IFtNYWMgd2sx
XSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24tbWFy
a3VwL3NjcmlwdHMvdW5kZXJvdmVyLXBhcmFtZXRlcnMtMy5odG1sIGlzIGEgZmxha2V5IGZhaWx1
cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTE2
OAorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBUaGUgZmxh
a2luZXNzIG9mIHRoZSB0ZXN0IHdhcyBjYXVzZWQgYnkgZG9jdW1lbnQuZm9udHMucmVhZHkgcmVz
b2x2aW5nIHdpdGhvdXQgd2FpdGluZyBmb3IgdGhlIGRvY3VtZW50CisgICAgICAgIHRvIGJlIGxv
YWRlZCBpZiBGb250RmFjZVNldDo6Rm9udEZhY2VTZXQgaXMgY3JlYXRlZCBhZnRlciB0aGUgaW5p
dGlhbCBsYXlvdXQgaGFkIGJlZW4gZG9uZS4KKworICAgICAgICByMjQ5Mjk1IGludHJvZHVjZWQg
dGhpcyByYWN5IGNvZGUgdG8gYWRkcmVzcyB0aGUgcHJldmlvdXMgYmVoYXZpb3Igb2YgV2ViS2l0
LCB3aGljaCBkaWRuJ3Qgd2FpdCBmb3IKKyAgICAgICAgZWl0aGVyIGRvY3VtZW50IHRvIGZpbmlz
aCBsb2FkaW5nIG9yIHRoZSBpbml0aWFsIGxheW91dCB0byBoYXBwZW4gYXQgYWxsLCBhbmQgdGhl
IFdlYktpdCB3b3JrYXJvdW5kIGluCisgICAgICAgIHRoZSBvZmZlbmRpbmcgV1BUIHRlc3Qgd2Fz
IHN1YnNlcXVlbnRpYWxseSByZW1vdmVkLCByZXN1bHRpbmcgaW4gdGhlIGZsYWt5IGZhaWx1cmUg
YWZ0ZXIgdGhlIHRlc3Qgd2FzCisgICAgICAgIHN5bmNlZCB1cCBpbiByMjQ5NzYwLgorCisgICAg
ICAgIFRoaXMgcGF0Y2ggYWRkcmVzcyB0aGUgdW5kZXJseWluZyBidWcgYnkgbWFraW5nIHJlYWR5
IHByb21pc2Ugd2FpdCB1bnRpbCBEb2N1bWVudDo6aW1wbGljaXRDbG9zZSBpcyBjYWxsZWQuCisK
KyAgICAgICAgVW5mb3J0dW5hdGVseSwgdGhlIHNwZWNpZmljYXRpb24gaXMgZXh0cmVtZWx5IHZh
Z3VlIGluIHRlcm1zIG9mIHdoZW4gdGhpcyBwcm9taXNlIGlzIHJlc29sdmVkIGJ1dCBuZXcKKyAg
ICAgICAgYmVoYXZpb3Igb2YgV2ViS2l0IGlzIG1vcmUgb3IgbGVzcyB3aXRoIEZpcmVmb3ggKENo
cm9tZSBzZWVtcyB0byBoYXZlIGEgc2ltaWxhciByYWNlIGNvbmRpdGlvbiBhcyBXZWJLaXQpLgor
CisgICAgICAgIFNlZSBhbHNvOiBodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9p
c3N1ZXMvNDI0OC4KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9mb250LWZhY2Utc2V0LXJlYWR5
LWFmdGVyLWRvY3VtZW50LWxvYWQuaHRtbAorCisgICAgICAgICogY3NzL0NTU0ZvbnRTZWxlY3Rv
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250U2VsZWN0b3I6OmZvbnRGYWNlU2V0SWZF
eGlzdHMpOiBSZW5hbWVkIGZyb20gb3B0aW9uYWxGb250RmFjZVNldCBmb3IgY29uc2lzdGVuY3ku
CisgICAgICAgICogY3NzL0NTU0ZvbnRTZWxlY3Rvci5oOgorICAgICAgICAqIGNzcy9Gb250RmFj
ZVNldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250RmFjZVNldDo6Rm9udEZhY2VTZXQpOiBG
aXhlZCB0aGUgYnVnLgorICAgICAgICAoV2ViQ29yZTo6Rm9udEZhY2VTZXQ6OmRvY3VtZW50RGlk
RmluaXNoTG9hZGluZyk6IFJlbmFtZWQgZnJvbSBkaWRGaXJzdExheW91dCB0byByZWZsZWN0IHRo
ZSBuZXcgc2VtYW50aWNzLgorICAgICAgICAoV2ViQ29yZTo6Rm9udEZhY2VTZXQ6OmNvbXBsZXRl
ZExvYWRpbmcpOgorICAgICAgICAqIGNzcy9Gb250RmFjZVNldC5oOgorICAgICAgICAqIGRvbS9E
b2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6aW1wbGljaXRDbG9zZSk6
IERlcGxveWVkIG1ha2VSZWZQdHIgdG8gYmUgc2FmZS4KKwogMjAyMC0wMS0yOCAgQW50b2luZSBR
dWludCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWIgQW5pbWF0aW9uc10gQW5p
bWF0aW9ucyBzaG91bGQgcnVuIGFjY2VsZXJhdGVkIGV2ZW4gaWYgb3RoZXIgYW5pbWF0aW9ucyB0
YXJnZXRpbmcgdGhlIHNhbWUgZWxlbWVudCBhcmUgbm90IGFjY2VsZXJhdGVkCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcAkocmV2aXNpb24gMjU1Mzg1KQorKysgU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgz
LDcgKzgzLDcgQEAgQ1NTRm9udFNlbGVjdG9yOjp+Q1NTRm9udFNlbGVjdG9yKCkKICAgICBGb250
Q2FjaGU6OnNpbmdsZXRvbigpLnJlbW92ZUNsaWVudCgqdGhpcyk7CiB9CiAKLUZvbnRGYWNlU2V0
KiBDU1NGb250U2VsZWN0b3I6Om9wdGlvbmFsRm9udEZhY2VTZXQoKQorRm9udEZhY2VTZXQqIENT
U0ZvbnRTZWxlY3Rvcjo6Zm9udEZhY2VTZXRJZkV4aXN0cygpCiB7CiAgICAgcmV0dXJuIG1fZm9u
dEZhY2VTZXQuZ2V0KCk7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVj
dG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5o
CShyZXZpc2lvbiAyNTUzODUpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9y
LmgJKHdvcmtpbmcgY29weSkKQEAgLTgxLDcgKzgxLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBi
ZWdpbkxvYWRpbmdGb250U29vbihDYWNoZWRGb250Jik7CiAKLSAgICBGb250RmFjZVNldCogb3B0
aW9uYWxGb250RmFjZVNldCgpOworICAgIEZvbnRGYWNlU2V0KiBmb250RmFjZVNldElmRXhpc3Rz
KCk7CiAgICAgRm9udEZhY2VTZXQmIGZvbnRGYWNlU2V0KCk7CiAKICAgICB2b2lkIGluY3JlbWVu
dElzQ29tcHV0aW5nUm9vdFN0eWxlRm9udCgpIHsgKyttX2NvbXB1dGluZ1Jvb3RTdHlsZUZvbnRD
b3VudDsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlU2V0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuY3BwCShyZXZpc2lvbiAyNTUz
ODUpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC03MSw5ICs3MSw5IEBAIEZvbnRGYWNlU2V0OjpGb250RmFjZVNldChEb2N1bWVudCYgZG9j
dW0KICAgICAsIG1fcmVhZHlQcm9taXNlKG1ha2VVbmlxdWVSZWY8UmVhZHlQcm9taXNlPigqdGhp
cywgJkZvbnRGYWNlU2V0OjpyZWFkeVByb21pc2VSZXNvbHZlKSkKIHsKICAgICBpZiAoZG9jdW1l
bnQuZnJhbWUoKSkKLSAgICAgICAgbV9pc0ZpcnN0TGF5b3V0RG9uZSA9IGRvY3VtZW50LmZyYW1l
KCktPmxvYWRlcigpLnN0YXRlTWFjaGluZSgpLmZpcnN0TGF5b3V0RG9uZSgpOworICAgICAgICBt
X2lzRG9jdW1lbnRMb2FkZWQgPSBkb2N1bWVudC5sb2FkRXZlbnRGaW5pc2hlZCgpICYmICFkb2N1
bWVudC5wcm9jZXNzaW5nTG9hZEV2ZW50KCk7CiAKLSAgICBpZiAobV9pc0ZpcnN0TGF5b3V0RG9u
ZSAmJiAhYmFja2luZy5oYXNBY3RpdmVGb250RmFjZXMoKSkKKyAgICBpZiAobV9pc0RvY3VtZW50
TG9hZGVkICYmICFiYWNraW5nLmhhc0FjdGl2ZUZvbnRGYWNlcygpKQogICAgICAgICBtX3JlYWR5
UHJvbWlzZS0+cmVzb2x2ZSgqdGhpcyk7CiAKICAgICBtX2JhY2tpbmctPmFkZENsaWVudCgqdGhp
cyk7CkBAIC0xOTYsMTYgKzE5NiwxNiBAQCB2b2lkIEZvbnRGYWNlU2V0OjpzdGFydGVkTG9hZGlu
ZygpCiAgICAgLy8gRklYTUU6IEZpcmUgYSAibG9hZGluZyIgZXZlbnQgYXN5bmNocm9ub3VzbHku
CiB9CiAKLXZvaWQgRm9udEZhY2VTZXQ6OmRpZEZpcnN0TGF5b3V0KCkKK3ZvaWQgRm9udEZhY2VT
ZXQ6OmRvY3VtZW50RGlkRmluaXNoTG9hZGluZygpCiB7Ci0gICAgbV9pc0ZpcnN0TGF5b3V0RG9u
ZSA9IHRydWU7CisgICAgbV9pc0RvY3VtZW50TG9hZGVkID0gdHJ1ZTsKICAgICBpZiAoIW1fYmFj
a2luZy0+aGFzQWN0aXZlRm9udEZhY2VzKCkgJiYgIW1fcmVhZHlQcm9taXNlLT5pc0Z1bGZpbGxl
ZCgpKQogICAgICAgICBtX3JlYWR5UHJvbWlzZS0+cmVzb2x2ZSgqdGhpcyk7CiB9CiAKIHZvaWQg
Rm9udEZhY2VTZXQ6OmNvbXBsZXRlZExvYWRpbmcoKQogewotICAgIGlmIChtX2lzRmlyc3RMYXlv
dXREb25lICYmICFtX3JlYWR5UHJvbWlzZS0+aXNGdWxmaWxsZWQoKSkKKyAgICBpZiAobV9pc0Rv
Y3VtZW50TG9hZGVkICYmICFtX3JlYWR5UHJvbWlzZS0+aXNGdWxmaWxsZWQoKSkKICAgICAgICAg
bV9yZWFkeVByb21pc2UtPnJlc29sdmUoKnRoaXMpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9jc3MvRm9udEZhY2VTZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvRm9u
dEZhY2VTZXQuaAkocmV2aXNpb24gMjU1Mzg1KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRG
YWNlU2V0LmgJKHdvcmtpbmcgY29weSkKQEAgLTYwLDcgKzYwLDcgQEAgcHVibGljOgogCiAgICAg
dXNpbmcgUmVhZHlQcm9taXNlID0gRE9NUHJvbWlzZVByb3h5V2l0aFJlc29sdmVDYWxsYmFjazxJ
RExJbnRlcmZhY2U8Rm9udEZhY2VTZXQ+PjsKICAgICBSZWFkeVByb21pc2UmIHJlYWR5KCkgeyBy
ZXR1cm4gbV9yZWFkeVByb21pc2UuZ2V0KCk7IH0KLSAgICB2b2lkIGRpZEZpcnN0TGF5b3V0KCk7
CisgICAgdm9pZCBkb2N1bWVudERpZEZpbmlzaExvYWRpbmcoKTsKIAogICAgIENTU0ZvbnRGYWNl
U2V0JiBiYWNraW5nKCkgeyByZXR1cm4gbV9iYWNraW5nOyB9CiAKQEAgLTExOCw3ICsxMTgsOCBA
QCBwcml2YXRlOgogICAgIFJlZjxDU1NGb250RmFjZVNldD4gbV9iYWNraW5nOwogICAgIEhhc2hN
YXA8UmVmUHRyPEZvbnRGYWNlPiwgVmVjdG9yPFJlZjxQZW5kaW5nUHJvbWlzZT4+PiBtX3BlbmRp
bmdQcm9taXNlczsKICAgICBVbmlxdWVSZWY8UmVhZHlQcm9taXNlPiBtX3JlYWR5UHJvbWlzZTsK
LSAgICBib29sIG1faXNGaXJzdExheW91dERvbmUgeyB0cnVlIH07CisKKyAgICBib29sIG1faXNE
b2N1bWVudExvYWRlZCB7IHRydWUgfTsKIH07CiAKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAkocmV2aXNpb24gMjU1Mzg1KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzA4Niw4ICszMDg2LDggQEAgdm9pZCBEb2N1bWVudDo6aW1w
bGljaXRDbG9zZSgpCiAKICAgICBtX3Byb2Nlc3NpbmdMb2FkRXZlbnQgPSBmYWxzZTsKIAotICAg
IGlmIChhdXRvKiBmb250RmFjZVNldCA9IGZvbnRTZWxlY3RvcigpLm9wdGlvbmFsRm9udEZhY2VT
ZXQoKSkKLSAgICAgICAgZm9udEZhY2VTZXQtPmRpZEZpcnN0TGF5b3V0KCk7CisgICAgaWYgKGF1
dG8gZm9udEZhY2VTZXQgPSBtYWtlUmVmUHRyKGZvbnRTZWxlY3RvcigpLmZvbnRGYWNlU2V0SWZF
eGlzdHMoKSkpCisgICAgICAgIGZvbnRGYWNlU2V0LT5kb2N1bWVudERpZEZpbmlzaExvYWRpbmco
KTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKEdU
SykKICAgICBpZiAoZiAmJiBoYXNMaXZpbmdSZW5kZXJUcmVlKCkgJiYgQVhPYmplY3RDYWNoZTo6
YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkgewpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjU1Mzg1KQorKysg
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MjAtMDEtMjkgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUkVH
UkVTU0lPTjogW01hYyB3azFdIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWF0aG1s
L3ByZXNlbnRhdGlvbi1tYXJrdXAvc2NyaXB0cy91bmRlcm92ZXItcGFyYW1ldGVycy0zLmh0bWwg
aXMgYSBmbGFrZXkgZmFpbHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA1MTY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgor
CisgICAgICAgICogZmFzdC9jc3MvZm9udC1mYWNlLXNldC1yZWFkeS1hZnRlci1kb2N1bWVudC1s
b2FkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvZm9udC1mYWNlLXNl
dC1yZWFkeS1hZnRlci1kb2N1bWVudC1sb2FkLmh0bWw6IEFkZGVkLgorCiAyMDIwLTAxLTI5ICBX
ZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtpUGFkT1Nd
IFNlbGVjdCBwb3BvdmVycyBvbiBhbWF6b24uY29tIHNvbWV0aW1lcyBkaXNtaXNzIGltbWVkaWF0
ZWx5IGFmdGVyIGFwcGVhcmluZwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvZm9udC1mYWNl
LXNldC1yZWFkeS1hZnRlci1kb2N1bWVudC1sb2FkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9mb250LWZhY2Utc2V0LXJlYWR5LWFmdGVyLWRvY3VtZW50
LWxvYWQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3Nz
L2ZvbnQtZmFjZS1zZXQtcmVhZHktYWZ0ZXItZG9jdW1lbnQtbG9hZC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACitUaGlzIHRlc3QgcmVjb3JkcyB0aGUgb3JkZXIg
Ynkgd2hpY2ggbG9hZCBhbmQgRE9NQ29udGVudExvYWRlZCBldm5ldHMgZmlyZSByZWxhdGl2ZSB0
byB3aGVuIGRvY3VtZW50LmZvbnRzLnJlYWR5IGlzIHJlc29sdmVkLgorZm9udHMucmVhZHkgc2hv
dWxkIHJlc29sdmUgb25seSBhZnRlciBET01Db250ZW50TG9hZGVkIGFuZCBsb2FkIGV2ZW50IGFy
ZSBmaXJlZCwgYW5kIGZvbnRzLmNoZWNrIHNob3VsZCByZXR1cm4gdHJ1ZSBmb3IgQWhlbSBhdCB0
aGF0IHBvaW50LgorCitCZWZvcmUgc2V0dGluZyBmb250LWZhbWlseSAtIGZvbnRzLmNoZWNrIEFo
ZW06IGZhbHNlCitET01Db250ZW50TG9hZGVkCitsb2FkCitmb250cy5yZWFkeSAtIGZvbnRzLmNo
ZWNrIEFoZW06IHRydWUKK2hlbGxvCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9mb250LWZh
Y2Utc2V0LXJlYWR5LWFmdGVyLWRvY3VtZW50LWxvYWQuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2Nzcy9mb250LWZhY2Utc2V0LXJlYWR5LWFmdGVyLWRvY3VtZW50LWxvYWQu
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9mb250LWZhY2Utc2V0
LXJlYWR5LWFmdGVyLWRvY3VtZW50LWxvYWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDQ3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8c3R5bGU+CitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogQWhlbTsKKyAg
ICBzcmM6IHVybCgiLi4vLi4vcmVzb3VyY2VzL2ZvbnRzL0FoZW0udHRmIik7Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcmVjb3JkcyB0aGUgb3JkZXIgYnkgd2hp
Y2ggbG9hZCBhbmQgRE9NQ29udGVudExvYWRlZCBldm5ldHMgZmlyZSByZWxhdGl2ZSB0byB3aGVu
IGRvY3VtZW50LmZvbnRzLnJlYWR5IGlzIHJlc29sdmVkLjxicj4KK2ZvbnRzLnJlYWR5IHNob3Vs
ZCByZXNvbHZlIG9ubHkgYWZ0ZXIgRE9NQ29udGVudExvYWRlZCBhbmQgbG9hZCBldmVudCBhcmUg
ZmlyZWQsIGFuZCBmb250cy5jaGVjayBzaG91bGQgcmV0dXJuIHRydWUgZm9yIEFoZW0gYXQgdGhh
dCBwb2ludC48L3A+Cis8cHJlIGlkPSJsb2ciPjwvcHJlPgorPGRpdiBpZD0iZWxlbWVudDEiPmhl
bGxvPC9kaXY+Cis8c2NyaXB0PgorCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30K
KworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpIHsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
bG9nJykudGV4dENvbnRlbnQgKz0gbWVzc2FnZSArICdcbic7Cit9CisKK2Z1bmN0aW9uIGNoZWNr
QWhlbShkZXNjcmlwdGlvbikgeworICAgIGNvbnN0IGNoZWNrID0gZG9jdW1lbnQuZm9udHMuY2hl
Y2soJzEwcHggQWhlbScpOworICAgIGxvZyhgJHtkZXNjcmlwdGlvbn0gLSBmb250cy5jaGVjayBB
aGVtOiAke2NoZWNrfWApOworfQorCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVu
dExvYWRlZCcsICgpID0+IGxvZygnRE9NQ29udGVudExvYWRlZCcpKTsKK3dpbmRvdy5hZGRFdmVu
dExpc3RlbmVyKCdsb2FkJywgKCkgPT4gbG9nKCdsb2FkJykpOworCitjaGVja0FoZW0oJ0JlZm9y
ZSBzZXR0aW5nIGZvbnQtZmFtaWx5Jyk7CitlbGVtZW50MS5nZXRCb3VuZGluZ0NsaWVudFJlY3Qo
KTsKK2VsZW1lbnQxLnN0eWxlLmZvbnRGYW1pbHkgPSAnQWhlbSc7Citkb2N1bWVudC5mb250cy5y
ZWFkeS50aGVuKCgpID0+IHsKKyAgICBjaGVja0FoZW0oJ2ZvbnRzLnJlYWR5Jyk7CisgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK30p
OworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>