<?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>221071</bug_id>
          
          <creation_ts>2021-01-27 18:20:37 -0800</creation_ts>
          <short_desc>Remove another use of FontSelector from within CSSFontFace</short_desc>
          <delta_ts>2021-02-11 02:06:48 -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>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>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>208351</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>cdumez</cc>
    
    <cc>clord</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>kangil.han</cc>
    
    <cc>macpherson</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>menard</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1723243</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-01-27 18:20:37 -0800</bug_when>
    <thetext>Remove another use of FontSelector from within CSSFontFace</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723244</commentid>
    <comment_count>1</comment_count>
      <attachid>418604</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-01-27 18:23:14 -0800</bug_when>
    <thetext>Created attachment 418604
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724610</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-02-02 03:56:03 -0800</bug_when>
    <thetext>Testing this locally, after rebasing, this seems to cause an infinite loop somewhere where dispatchInvalidationCallbacks will never return, possibly because of an oscillating value or a missing state increment somewhere in the CSSFontFace::font chain... I can reproduce it consistently by running the fast/css/rtl-ordering.html layout test.

This doesn&apos;t look like the same issue on EWS, so possibly I rebased incorrectly(?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724674</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-02-02 08:40:47 -0800</bug_when>
    <thetext>The infinite loop is caused by re-entrance in CSSFontFace::pump due to CSSFontSelector::fontStateChanged calling dispatchInvalidationCallbacks in response in response to CSSFontFace::setState (called from pump) iterating before actually setting m_status (so pump continually sets from Loading to Success).

Changing it so m_status is set before iterating over clients in ::setState removes that infinite loop, but then causes an assertion to get hit in Resolver::~Resolver because m_document.isResolvingTreeStyle is true. I&apos;m not sure what&apos;s going on with this last part yet...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725157</commentid>
    <comment_count>4</comment_count>
      <attachid>419143</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-02-03 08:55:04 -0800</bug_when>
    <thetext>Created attachment 419143
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725158</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-02-03 08:59:51 -0800</bug_when>
    <thetext>Will have to see what EWS says, but this rebased and updated patch fixes the issue I was experiencing locally.

Re-entrancy was being caused by Document::fontsNeedUpdate() being called during style resolution and causing Document::userAgentShadowTreeStyleResolver() to be called inside itself. I fixed this by adding Document::userAgentShadowTreeStyleResolverIfExists() and using that in Style::Scope::resolverIfExists() - this seems like an issue that could occur in other circumstances, so felt like a reasonable fix to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725431</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-03 18:21:42 -0800</bug_when>
    <thetext>&lt;rdar://problem/73959528&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725593</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-02-04 04:41:19 -0800</bug_when>
    <thetext>These failures are caused, I assume due to the slight difference in behaviour that means that dispatchInvalidationCallbacks is called more often - load events currently are only triggered via CSSFontFaceSource::fontLoaded, but after this patch, font status changes as a side-effect of calling CSSFontFace::font will also cause CSSFontSelector to behave as if fontLoaded had been called.

This new behaviour feels correct to me, and I wonder if ::pump is really the correct thing to call in ::font, given it has a side-effect? I don&apos;t know enough about this code to reason why it has this behaviour right now. Intuitively, I think we want to do the equivalent of pump, but without setting the status - more of a &apos;peek&apos;, I suppose.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725988</commentid>
    <comment_count>8</comment_count>
      <attachid>419380</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-02-05 02:39:07 -0800</bug_when>
    <thetext>Created attachment 419380
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725989</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-02-05 02:42:35 -0800</bug_when>
    <thetext>I&apos;m hoping this alternative fix restores parity with previous behaviour - I removed the added Document::userAgentShadowTreeStyleResolverIfExists() and instead guarded against re-entrancy in Document::invalidateMatchedPropertiesCacheAndForceStyleRecalc using m_inStyleRecalc.
I also added an ASSERT(!m_inStyleRecalc) for good measure when creating m_userAgentShadowTreeStyleResolver to make sure that if this problem re-occurs, the cause is obvious.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725997</commentid>
    <comment_count>10</comment_count>
      <attachid>419385</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-02-05 03:16:20 -0800</bug_when>
    <thetext>Created attachment 419385
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725998</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-02-05 03:17:25 -0800</bug_when>
    <thetext>Ok, even less over-thinking, this just guards against re-entrancy in Document::fontsNeedUpdate and nowhere else.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726150</commentid>
    <comment_count>12</comment_count>
      <attachid>419143</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-02-05 10:22:31 -0800</bug_when>
    <thetext>Comment on attachment 419143
Patch

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

Looks pretty good to me; had planned to set review+ assuming EWS passes on all platforms, but forgot to Publish! Here are my (days old) comments on an older version of the patch.

&gt; Source/WebCore/css/CSSFontFaceSet.cpp:515
&gt; +    // FIXME: Clients should know about TimedOut events so they can update their style.

Why a FIXME and not fixed in this patch? Not pushing, just wondering.

&gt; Source/WebCore/css/CSSFontSelector.cpp:260
&gt; +    if (newState == CSSFontFace::Status::TimedOut || newState == CSSFontFace::Status::Success || newState == CSSFontFace::Status::Failure)
&gt;          dispatchInvalidationCallbacks();

This seems like risky code. When we use an enum, it’s typically safer to use a switch statement so the code has to be visited again if someone adds a new enumeration value. And in terms of explanatory power, seeing which new states are the ones where we don’t want to clear the cache would be helpful.

I also don’t understand why it’s best to ignore the old state when making this decision; I’m not saying it’s wrong, but I’m saying it’s not obvious enough to go without comment.

&gt; Source/WebCore/css/CSSFontSelector.h:95
&gt; +    void ref() final { RefCounted&lt;FontSelector&gt;::ref(); }
&gt; +    void deref() final { RefCounted&lt;FontSelector&gt;::deref(); }

Prefer to write these as:

    void ref() final { FontSelector::ref(); }

The use of RefCounted is an implementation detail that need not be referred to directly here.

&gt; Source/WebCore/css/CSSSegmentedFontFace.cpp:57
&gt; +    if (newState == CSSFontFace::Status::TimedOut || newState == CSSFontFace::Status::Success || newState == CSSFontFace::Status::Failure)
&gt; +        m_cache.clear();

This seems like risky code. When we use an enum, it’s typically safer to use a switch statement so the code has to be visited again if someone adds a new enumeration value. And in terms of explanatory power, seeing which new states are the ones where we don’t want to clear the cache would be helpful.

I also don’t understand why it’s best to ignore the old state when making this decision; I’m not saying it’s wrong, but I’m saying it’s not obvious enough to go without comment.

&gt; Source/WebCore/css/CSSSegmentedFontFace.h:61
&gt; +    void fontStateChanged(CSSFontFace&amp;, CSSFontFace::Status, CSSFontFace::Status newState) final;

No good reason here to include the argument name &quot;newState&quot; but omit the argument name &quot;oldState&quot;. I suggest including both or neither here.

&gt; Source/WebCore/dom/Document.h:540
&gt; +    Style::Resolver* userAgentShadowTreeStyleResolverIfExists() { return m_userAgentShadowTreeStyleResolver.get(); };

Extra semicolon here after the &quot;}&quot;.

(I’m not the biggest fan of the xxxIfExists naming scheme, I prefer existingXxx, but I think we’ve discussed this and the WebKit project overall has consensus we prefer xxxIfExists.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726597</commentid>
    <comment_count>13</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-02-08 04:35:18 -0800</bug_when>
    <thetext>Investigating the failure of fast/css/font-face-multiple-remote-sources.html, I think the new output actually reflects what&apos;s finally rendered and I assume that this happens as sometimes, prior to this patch, the font-load callback doesn&apos;t get fired when a font has loaded and so was previously missing a required invalidation call.

The final visual output in minibrowser is unchanged post-patch and also still matches Chrome, but now the render tree text output actually reflects the visual output.

Still need to investigate and see what&apos;s going on with the other 2 failures - assuming fixing either of those doesn&apos;t change the results of this, I&apos;ll update the test results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726598</commentid>
    <comment_count>14</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-02-08 04:49:53 -0800</bug_when>
    <thetext>The other two tests are unchanged for GTK, so this makes theorising what&apos;s happening a bit tricky - The output does not match Chrome either before or after the patch. One of the failures (imported/w3c/web-platform-tests/css/css-grid/alignment/grid-self-baseline-not-applied-if-sizing-cyclic-dependency-001.html) was already a failure and now just fails with slightly different numbers, making me inclined to think it&apos;s a case of a previously missing invalidation changing the result, but the other (imported/w3c/web-platform-tests/css/css-multicol/multicol-gap-percentage-001.html) changes from a pass to a partial failure on Mac, which has me more concerned.

I have one change I&apos;d like to try, but I&apos;m shooting in the dark somewhat without being able to reproduce anything like this locally...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726639</commentid>
    <comment_count>15</comment_count>
      <attachid>419590</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-02-08 07:42:10 -0800</bug_when>
    <thetext>Created attachment 419590
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726993</commentid>
    <comment_count>16</comment_count>
      <attachid>419693</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-02-09 02:58:58 -0800</bug_when>
    <thetext>Created attachment 419693
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726996</commentid>
    <comment_count>17</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-02-09 03:12:57 -0800</bug_when>
    <thetext>I don&apos;t think the original patch&apos;s assertion that fontStateChanged can replace fontLoaded is true - fontLoaded is only fired for fonts with external sources and there&apos;s no way to distinguish those fonts with just a CSSFontFace, at least that I can see. This change isn&apos;t required by this patch, it can be revisited in a different bug.

I&apos;ve restored the fontLoaded callback in this version of the patch, which also addresses all the review comments in https://bugs.webkit.org/attachment.cgi?id=419143&amp;action=review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727060</commentid>
    <comment_count>18</comment_count>
      <attachid>419721</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-02-09 08:40:41 -0800</bug_when>
    <thetext>Created attachment 419721
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727062</commentid>
    <comment_count>19</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-02-09 08:43:04 -0800</bug_when>
    <thetext>Looks like the debug crash was caused by a pre-existing bug in iterateClients in CSSFontFace.cpp - unless I&apos;m reading it wrong, it makes a copy of the clients table, but then just iterates the original table instead of the copy.

This latest revision has that fixed, so hopefully should be all green now (and maybe fixed some tricky intermittent problems elsewhere...)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727076</commentid>
    <comment_count>20</comment_count>
      <attachid>419730</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-02-09 09:01:11 -0800</bug_when>
    <thetext>Created attachment 419730
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727175</commentid>
    <comment_count>21</comment_count>
      <attachid>419730</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-02-09 12:13:30 -0800</bug_when>
    <thetext>Comment on attachment 419730
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        Instead of CSSFontFace directly knowing about CSSFontSelector, we can just make CSSFontSelector
&gt; +        inherit from CSSFontFace::Client.

This makes every CSSFontFace have a set of clients with one more client in it. Those are bigger hash tables. Should be fine, but it’s going to use more memory.

&gt; Source/WebCore/css/CSSFontFace.cpp:61
&gt; +    for (auto client : clientsCopy)

Could save reference count churn here by using auto&amp; instead of auto; still safe.

&gt; Source/WebCore/css/CSSFontFace.cpp:97
&gt; +    if (fontSelector)
&gt; +        addClient(*fontSelector);

If the goal is to remove uses of CSSFontSelector inside CSSFontFace, I think we’d want this addClient call at the call sites, not inside this constructor.

&gt; Source/WebCore/css/CSSFontFace.cpp:682
&gt;  void CSSFontFace::updateStyleIfNeeded()

Function name is kind of vague. Most of our calls tell the client about something that happened, rather than telling the client what to do. Would be nice to recast this in those terms for clarity and consistency. Not necessarily in this patch.

&gt; Source/WebCore/css/CSSFontFace.h:133
&gt; +        virtual void updateStyleIfNeeded() { }

It’s peculiar that this callback does not take a CSSFontFace&amp;. More efficient, but not consistent design.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727478</commentid>
    <comment_count>22</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-02-10 01:50:16 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #21)
&gt; Comment on attachment 419730 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=419730&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +        Instead of CSSFontFace directly knowing about CSSFontSelector, we can just make CSSFontSelector
&gt; &gt; +        inherit from CSSFontFace::Client.
&gt; 
&gt; This makes every CSSFontFace have a set of clients with one more client in
&gt; it. Those are bigger hash tables. Should be fine, but it’s going to use more
&gt; memory.

Noted, I suppose we&apos;re trading potential maintainability/understandability for a little memory here.

&gt; &gt; Source/WebCore/css/CSSFontFace.cpp:61
&gt; &gt; +    for (auto client : clientsCopy)
&gt; 
&gt; Could save reference count churn here by using auto&amp; instead of auto; still
&gt; safe.

Will do, silly oversight on my part.

&gt; &gt; Source/WebCore/css/CSSFontFace.cpp:97
&gt; &gt; +    if (fontSelector)
&gt; &gt; +        addClient(*fontSelector);
&gt; 
&gt; If the goal is to remove uses of CSSFontSelector inside CSSFontFace, I think
&gt; we’d want this addClient call at the call sites, not inside this constructor.

There are currently 3 call-sites, and I do think that one of them doesn&apos;t actually need this call, so this could be a nice saving (as I think one use of it may cause unnecessary style updates on the associated Document).

I suppose I&apos;d be a little concerned that having the addClient outside of this constructor is more fragile in that the cost of doing it unnecessarily is performance, but the cost of not doing it is possibly broken functionality...

I&apos;d be inclined to leave it as it is, but I&apos;ll seek your opinion again before cq+

&gt; &gt; Source/WebCore/css/CSSFontFace.cpp:682
&gt; &gt;  void CSSFontFace::updateStyleIfNeeded()
&gt; 
&gt; Function name is kind of vague. Most of our calls tell the client about
&gt; something that happened, rather than telling the client what to do. Would be
&gt; nice to recast this in those terms for clarity and consistency. Not
&gt; necessarily in this patch.
&gt; 
&gt; &gt; Source/WebCore/css/CSSFontFace.h:133
&gt; &gt; +        virtual void updateStyleIfNeeded() { }
&gt; 
&gt; It’s peculiar that this callback does not take a CSSFontFace&amp;. More
&gt; efficient, but not consistent design.

I think fontStyleUpdateNeeded would be a consistent name for this, and I agree, it should have that parameter to remain consistent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727567</commentid>
    <comment_count>23</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-02-10 09:21:24 -0800</bug_when>
    <thetext>(In reply to Chris Lord from comment #22)
&gt; I&apos;d be inclined to leave it as it is, but I&apos;ll seek your opinion again
&gt; before cq+

Seems OK to leave as is for now. More thinking longer term I guess about how we will achieve the overall goal of removing FontSelector dependencies.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728008</commentid>
    <comment_count>24</comment_count>
      <attachid>419964</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-02-11 01:36:35 -0800</bug_when>
    <thetext>Created attachment 419964
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728012</commentid>
    <comment_count>25</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-11 02:06:44 -0800</bug_when>
    <thetext>Committed r272715: &lt;https://commits.webkit.org/r272715&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 419964.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418604</attachid>
            <date>2021-01-27 18:23:14 -0800</date>
            <delta_ts>2021-02-03 08:53:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221071-20210127182313.patch</filename>
            <type>text/plain</type>
            <size>14033</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxODE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjc2ZTRmMzRmYmQ0ZjEx
Y2U4ZjJjZWYxZWNkZjhmZmYxYTZjMTUwMC4uYzlkMDNjM2M4MjM5MzMxODU3NThlZmZiMTcxMTJk
NDUzYjQyOGIzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIxLTAxLTI3ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGFu
b3RoZXIgdXNlIG9mIEZvbnRTZWxlY3RvciBmcm9tIHdpdGhpbiBDU1NGb250RmFjZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMDcxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5zdGVhZCBvZiBDU1NG
b250RmFjZSBkaXJlY3RseSBrbm93aW5nIGFib3V0IENTU0ZvbnRTZWxlY3Rvciwgd2UgY2FuIGp1
c3QgbWFrZSBDU1NGb250U2VsZWN0b3IKKyAgICAgICAgaW5oZXJpdCBmcm9tIENTU0ZvbnRGYWNl
OjpDbGllbnQuCisKKyAgICAgICAgQWxzbywgY2xlYW4gdXAgdGhlIGNhbGxiYWNrIG1ldGhvZHMg
YSBsaXR0bGUgYml0LiBUaGVyZSdzIG5vIG5lZWQgdG8gaGF2ZSBhIGZvbnRMb2FkZWQoKSBjYWxs
YmFjaworICAgICAgICBiZWNhdXNlIGZvbnRTdGF0ZUNoYW5nZWQoKSBpcyBzdHJpY3RseSBtb3Jl
IHBvd2VyZnVsLgorCisgICAgICAgIFRlc3RzOiBmYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRp
cGxlLWRvY3VtZW50cy5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQvZm9udC1sb2FkaW5n
LW11bHRpcGxlLXNldHMuaHRtbAorCisgICAgICAgICogY3NzL0NTU0ZvbnRGYWNlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNlOjpDU1NGb250RmFjZSk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NGb250RmFjZTo6Zm9udExvYWRFdmVudE9jY3VycmVkKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0ZvbnRGYWNlOjp1cGRhdGVTdHlsZUlmTmVlZGVkKToKKyAgICAgICAgKiBjc3MvQ1NT
Rm9udEZhY2UuaDoKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VTZXQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTRm9udEZhY2VTZXQ6OmZvbnRTdGF0ZUNoYW5nZWQpOgorICAgICAgICAqIGNz
cy9DU1NGb250U2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFNlbGVjdG9y
Ojpmb250TW9kaWZpZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFNlbGVjdG9yOjpmYWNl
RmluaXNoZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFNlbGVjdG9yOjpmb250U3RhdGVD
aGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcjo6dXBkYXRlU3R5bGVJ
Zk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250U2VsZWN0b3I6OmZvbnRMb2FkZWQp
OiBEZWxldGVkLgorICAgICAgICAqIGNzcy9DU1NGb250U2VsZWN0b3IuaDoKKyAgICAgICAgKiBj
c3MvQ1NTU2VnbWVudGVkRm9udEZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU2VnbWVu
dGVkRm9udEZhY2U6OmZvbnRTdGF0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU2Vn
bWVudGVkRm9udEZhY2U6OmZvbnRMb2FkZWQpOiBEZWxldGVkLgorICAgICAgICAqIGNzcy9DU1NT
ZWdtZW50ZWRGb250RmFjZS5oOgorCiAyMDIxLTAxLTIyICBOaWtvbGFzIFppbW1lcm1hbm4gIDxu
emltbWVybWFubkBpZ2FsaWEuY29tPgogCiAgICAgICAgIEZpbmlzaCBpbnRyb2R1Y3Rpb24gb2Yg
UmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYTogcmVtb3ZlIHJlbWFpbmluZyBnbHVlIGNvZGUgZnJv
bSBSZW5kZXJMYXllcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKaW5kZXggNThhNzhmNmIw
ODgxODE5OGE0YjJkZjdmOTkzMGQzYWFlMTUwNGU4Ny4uMDk5MDlhYzc5OWNiYTQ4OWFkZGQ0NTM5
NTVkNDZhMjQ5MDc1NDE0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRG
YWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwCkBAIC05Nyw2
ICs5Nyw4IEBAIENTU0ZvbnRGYWNlOjpDU1NGb250RmFjZShDU1NGb250U2VsZWN0b3IqIGZvbnRT
ZWxlY3RvciwgU3R5bGVSdWxlRm9udEZhY2UqIGNzc0NvCiAgICAgLCBtX21heUJlUHVyZ2VkKCF3
cmFwcGVyKQogICAgICwgbV90aW1lb3V0VGltZXIoKnRoaXMsICZDU1NGb250RmFjZTo6dGltZW91
dEZpcmVkKQogeworICAgIGlmIChmb250U2VsZWN0b3IpCisgICAgICAgIGFkZENsaWVudCgqZm9u
dFNlbGVjdG9yKTsKIH0KIAogQ1NTRm9udEZhY2U6On5DU1NGb250RmFjZSgpID0gZGVmYXVsdDsK
QEAgLTM0MywxMyArMzQ1LDYgQEAgdm9pZCBDU1NGb250RmFjZTo6Zm9udExvYWRFdmVudE9jY3Vy
cmVkKCkKICAgICAvLyB3aGVuIGEgc291cmNlIGlzIGZhaWxlZCBvciBzdWNjZWVkZWQgYmVmb3Jl
IHdlIGhhdmUgYXNrZWQgaXQgdG8gbG9hZC4KICAgICBpZiAobV9zb3VyY2VzUG9wdWxhdGVkKQog
ICAgICAgICBwdW1wKEV4dGVybmFsUmVzb3VyY2VEb3dubG9hZFBvbGljeTo6Rm9yYmlkKTsKLQot
ICAgIGlmIChtX2ZvbnRTZWxlY3RvcikKLSAgICAgICAgbV9mb250U2VsZWN0b3ItPmZvbnRMb2Fk
ZWQoKTsKLQotICAgIGl0ZXJhdGVDbGllbnRzKG1fY2xpZW50cywgWyZdKENsaWVudCYgY2xpZW50
KSB7Ci0gICAgICAgIGNsaWVudC5mb250TG9hZGVkKCp0aGlzKTsKLSAgICB9KTsKIH0KIAogdm9p
ZCBDU1NGb250RmFjZTo6dGltZW91dEZpcmVkKCkKQEAgLTY5Niw4ICs2OTEsOSBAQCBib29sIENT
U0ZvbnRGYWNlOjpwdXJnZWFibGUoKSBjb25zdAogCiB2b2lkIENTU0ZvbnRGYWNlOjp1cGRhdGVT
dHlsZUlmTmVlZGVkKCkKIHsKLSAgICBpZiAobV9mb250U2VsZWN0b3IgJiYgbV9mb250U2VsZWN0
b3ItPmRvY3VtZW50KCkpCi0gICAgICAgIG1fZm9udFNlbGVjdG9yLT5kb2N1bWVudCgpLT51cGRh
dGVTdHlsZUlmTmVlZGVkKCk7CisgICAgaXRlcmF0ZUNsaWVudHMobV9jbGllbnRzLCBbJl0oQ2xp
ZW50JiBjbGllbnQpIHsKKyAgICAgICAgY2xpZW50LnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKKyAg
ICB9KTsKIH0KIAogYm9vbCBDU1NGb250RmFjZTo6aGFzU1ZHRm9udEZhY2VTb3VyY2UoKSBjb25z
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuaAppbmRleCBmOTJlOWIyYzYyY2ViMWIwYjNlNWVmNmQw
MzhmNjdmNDc3MGMxNzExLi4zMWM2YzBkM2UxYjAxOGQ3MDMwY2UyMDVkYTdkMjk2MjNlM2U5Yjg4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuaApAQCAtMTI2LDkgKzEyNiw5IEBAIHB1YmxpYzoK
ICAgICBjbGFzcyBDbGllbnQgewogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+Q2xpZW50
KCkgPSBkZWZhdWx0OwotICAgICAgICB2aXJ0dWFsIHZvaWQgZm9udExvYWRlZChDU1NGb250RmFj
ZSYpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgZm9udFN0YXRlQ2hhbmdlZChDU1NGb250RmFj
ZSYsIFN0YXR1cyAvKm9sZFN0YXRlKi8sIFN0YXR1cyAvKm5ld1N0YXRlKi8pIHsgfQogICAgICAg
ICB2aXJ0dWFsIHZvaWQgZm9udFByb3BlcnR5Q2hhbmdlZChDU1NGb250RmFjZSYsIENTU1ZhbHVl
TGlzdCogLypvbGRGYW1pbGllcyovID0gbnVsbHB0cikgeyB9CisgICAgICAgIHZpcnR1YWwgdm9p
ZCB1cGRhdGVTdHlsZUlmTmVlZGVkKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZWYoKSA9
IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkZXJlZigpID0gMDsKICAgICB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU2V0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250RmFjZVNldC5jcHAKaW5kZXggYjViY2QyMDY0NjNhYmViOTk2MmE5MGVlZWM2
NWNhYjJjOTIwOGRmOC4uZTdiM2U4OWJhZWYzYzhmZTE4MzNjMzU3ZTQ2YWVkMTUxODY4OTYyNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU2V0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTZXQuY3BwCkBAIC01MDYsNiArNTA2LDcgQEAg
dm9pZCBDU1NGb250RmFjZVNldDo6Zm9udFN0YXRlQ2hhbmdlZChDU1NGb250RmFjZSYgZmFjZSwg
Q1NTRm9udEZhY2U6OlN0YXR1cyBvbGQKICAgICAgICAgICAgIGNsaWVudC0+ZmFjZUZpbmlzaGVk
KGZhY2UsIG5ld1N0YXRlKTsKICAgICAgICAgZGVjcmVtZW50QWN0aXZlQ291bnQoKTsKICAgICB9
CisgICAgLy8gRklYTUU6IENsaWVudHMgc2hvdWxkIGtub3cgYWJvdXQgVGltZWRPdXQgZXZlbnRz
IHNvIHRoZXkgY2FuIHVwZGF0ZSB0aGVpciBzdHlsZS4KIH0KIAogdm9pZCBDU1NGb250RmFjZVNl
dDo6Zm9udFByb3BlcnR5Q2hhbmdlZChDU1NGb250RmFjZSYgZmFjZSwgQ1NTVmFsdWVMaXN0KiBv
bGRGYW1pbGllcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0
b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKaW5kZXggYzBi
OWJkYjY0NzFiNTE5YjJjNjgzMzAzM2JlM2FhZmE4ZjNhZDE2MS4uM2FmYmVlZmI0Y2FkNjY2OTM0
ZTdhN2IxMmIwM2U3MDg2YjIxMzAyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rv
ci5jcHAKQEAgLTI0OCwxNyArMjQ4LDI5IEBAIHZvaWQgQ1NTRm9udFNlbGVjdG9yOjpvcHBvcnR1
bmlzdGljYWxseVN0YXJ0Rm9udERhdGFVUkxMb2FkaW5nKGNvbnN0IEZvbnRDYXNjYWRlCiAgICAg
ICAgIGZhY2UtPm9wcG9ydHVuaXN0aWNhbGx5U3RhcnRGb250RGF0YVVSTExvYWRpbmcoKnRoaXMp
OwogfQogCi12b2lkIENTU0ZvbnRTZWxlY3Rvcjo6Zm9udExvYWRlZCgpCit2b2lkIENTU0ZvbnRT
ZWxlY3Rvcjo6Zm9udE1vZGlmaWVkKCkKK3sKKyAgICBpZiAoIW1fY3JlYXRpbmdGb250ICYmICFt
X2J1aWxkSXNVbmRlcndheSkKKyAgICAgICAgZGlzcGF0Y2hJbnZhbGlkYXRpb25DYWxsYmFja3Mo
KTsKK30KKwordm9pZCBDU1NGb250U2VsZWN0b3I6OmZhY2VGaW5pc2hlZChDU1NGb250RmFjZSYs
IENTU0ZvbnRGYWNlOjpTdGF0dXMpCiB7CiAgICAgZGlzcGF0Y2hJbnZhbGlkYXRpb25DYWxsYmFj
a3MoKTsKIH0KIAotdm9pZCBDU1NGb250U2VsZWN0b3I6OmZvbnRNb2RpZmllZCgpCit2b2lkIENT
U0ZvbnRTZWxlY3Rvcjo6Zm9udFN0YXRlQ2hhbmdlZChDU1NGb250RmFjZSYsIENTU0ZvbnRGYWNl
OjpTdGF0dXMsIENTU0ZvbnRGYWNlOjpTdGF0dXMgbmV3U3RhdGUpCiB7Ci0gICAgaWYgKCFtX2Ny
ZWF0aW5nRm9udCAmJiAhbV9idWlsZElzVW5kZXJ3YXkpCisgICAgaWYgKG5ld1N0YXRlID09IENT
U0ZvbnRGYWNlOjpTdGF0dXM6OlRpbWVkT3V0IHx8IG5ld1N0YXRlID09IENTU0ZvbnRGYWNlOjpT
dGF0dXM6OlN1Y2Nlc3MgfHwgbmV3U3RhdGUgPT0gQ1NTRm9udEZhY2U6OlN0YXR1czo6RmFpbHVy
ZSkKICAgICAgICAgZGlzcGF0Y2hJbnZhbGlkYXRpb25DYWxsYmFja3MoKTsKIH0KIAordm9pZCBD
U1NGb250U2VsZWN0b3I6OnVwZGF0ZVN0eWxlSWZOZWVkZWQoKQoreworICAgIGlmIChkb2N1bWVu
dCgpKQorICAgICAgICBkb2N1bWVudCgpLT51cGRhdGVTdHlsZUlmTmVlZGVkKCk7Cit9CisKIHZv
aWQgQ1NTRm9udFNlbGVjdG9yOjpmb250Q2FjaGVJbnZhbGlkYXRlZCgpCiB7CiAgICAgZGlzcGF0
Y2hJbnZhbGlkYXRpb25DYWxsYmFja3MoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250U2VsZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3Iu
aAppbmRleCBkZDU3MGM2MTg4ZWNhNmJkMjFjYjk4MDA4NDA0OTFmZWViZDgwYzY3Li41MmI0YTM5
ZjQ4OWI5OGI2ZGFmYzEyZDVlYmJjNThkOGRiZDI5MzhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Zv
bnRTZWxlY3Rvci5oCkBAIC00OCw3ICs0OCw3IEBAIGNsYXNzIENhY2hlZEZvbnQ7CiBjbGFzcyBE
b2N1bWVudDsKIGNsYXNzIFN0eWxlUnVsZUZvbnRGYWNlOwogCi1jbGFzcyBDU1NGb250U2VsZWN0
b3IgZmluYWwgOiBwdWJsaWMgRm9udFNlbGVjdG9yLCBwdWJsaWMgQ1NTRm9udEZhY2VTZXRDbGll
bnQsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxDU1NGb250U2VsZWN0b3I+LCBwdWJsaWMgQWN0aXZl
RE9NT2JqZWN0IHsKK2NsYXNzIENTU0ZvbnRTZWxlY3RvciBmaW5hbCA6IHB1YmxpYyBGb250U2Vs
ZWN0b3IsIHB1YmxpYyBDU1NGb250RmFjZVNldENsaWVudCwgcHVibGljIENTU0ZvbnRGYWNlOjpD
bGllbnQsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxDU1NGb250U2VsZWN0b3I+LCBwdWJsaWMgQWN0
aXZlRE9NT2JqZWN0IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPENTU0ZvbnRTZWxlY3Rvcj4g
Y3JlYXRlKERvY3VtZW50JiBkb2N1bWVudCkKICAgICB7CkBAIC03MCw3ICs3MCw2IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgYWRkRm9udEZhY2VSdWxlKFN0eWxlUnVsZUZvbnRGYWNlJiwgYm9vbCBp
c0luaXRpYXRpbmdFbGVtZW50SW5Vc2VyQWdlbnRTaGFkb3dUcmVlKTsKIAotICAgIHZvaWQgZm9u
dExvYWRlZCgpOwogICAgIHZvaWQgZm9udENhY2hlSW52YWxpZGF0ZWQoKSBmaW5hbDsKIAogICAg
IGJvb2wgaXNFbXB0eSgpIGNvbnN0OwpAQCAtOTEsNiArOTAsMTAgQEAgcHVibGljOgogCiAgICAg
dm9pZCBsb2FkUGVuZGluZ0ZvbnRzKCk7CiAKKyAgICAvLyBDU1NGb250RmFjZTo6Q2xpZW50IG5l
ZWRzIHRvIGJlIGFibGUgdG8gYmUgaGVsZCBpbiBhIFJlZlB0ci4KKyAgICB2b2lkIHJlZigpIGZp
bmFsIHsgUmVmQ291bnRlZDxGb250U2VsZWN0b3I+OjpyZWYoKTsgfQorICAgIHZvaWQgZGVyZWYo
KSBmaW5hbCB7IFJlZkNvdW50ZWQ8Rm9udFNlbGVjdG9yPjo6ZGVyZWYoKTsgfQorCiBwcml2YXRl
OgogICAgIGV4cGxpY2l0IENTU0ZvbnRTZWxlY3RvcihEb2N1bWVudCYpOwogCkBAIC05OCw2ICsx
MDEsMTIgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgb3Bwb3J0dW5pc3RpY2FsbHlTdGFydEZvbnRE
YXRhVVJMTG9hZGluZyhjb25zdCBGb250Q2FzY2FkZURlc2NyaXB0aW9uJiwgY29uc3QgQXRvbVN0
cmluZyYgZmFtaWx5KSBmaW5hbDsKIAorICAgIC8vIENTU0ZvbnRGYWNlOjpDbGllbnQKKyAgICB2
b2lkIGZvbnRTdGF0ZUNoYW5nZWQoQ1NTRm9udEZhY2UmLCBDU1NGb250RmFjZTo6U3RhdHVzLCBD
U1NGb250RmFjZTo6U3RhdHVzIG5ld1N0YXRlKSBmaW5hbDsKKyAgICB2b2lkIHVwZGF0ZVN0eWxl
SWZOZWVkZWQoKSBmaW5hbDsKKworICAgIC8vIENTU0ZvbnRGYWNlU2V0Q2xpZW50CisgICAgdm9p
ZCBmYWNlRmluaXNoZWQoQ1NTRm9udEZhY2UmLCBDU1NGb250RmFjZTo6U3RhdHVzKSBmaW5hbDsK
ICAgICB2b2lkIGZvbnRNb2RpZmllZCgpIGZpbmFsOwogCiAgICAgdm9pZCBmb250TG9hZGluZ1Rp
bWVyRmlyZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWdtZW50ZWRG
b250RmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VnbWVudGVkRm9udEZhY2UuY3Bw
CmluZGV4IDhiZjQ0YjAyMTY5NGRiYjA4NGU1NDdhNzQzYjRmZGNkNTVhYWI1YjUuLjY2MWJiODcz
OGQ2NTdiYTM0OWU0YzJlMTU0ODgwZGJiMjNmMTkzMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTZWdtZW50ZWRGb250RmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1NlZ21lbnRlZEZvbnRGYWNlLmNwcApAQCAtNTEsOSArNTEsMTAgQEAgdm9pZCBDU1NTZWdt
ZW50ZWRGb250RmFjZTo6YXBwZW5kRm9udEZhY2UoUmVmPENTU0ZvbnRGYWNlPiYmIGZvbnRGYWNl
KQogICAgIG1fZm9udEZhY2VzLmFwcGVuZChXVEZNb3ZlKGZvbnRGYWNlKSk7CiB9CiAKLXZvaWQg
Q1NTU2VnbWVudGVkRm9udEZhY2U6OmZvbnRMb2FkZWQoQ1NTRm9udEZhY2UmKQordm9pZCBDU1NT
ZWdtZW50ZWRGb250RmFjZTo6Zm9udFN0YXRlQ2hhbmdlZChDU1NGb250RmFjZSYsIENTU0ZvbnRG
YWNlOjpTdGF0dXMsIENTU0ZvbnRGYWNlOjpTdGF0dXMgbmV3U3RhdGUpCiB7Ci0gICAgbV9jYWNo
ZS5jbGVhcigpOworICAgIGlmIChuZXdTdGF0ZSA9PSBDU1NGb250RmFjZTo6U3RhdHVzOjpUaW1l
ZE91dCB8fCBuZXdTdGF0ZSA9PSBDU1NGb250RmFjZTo6U3RhdHVzOjpTdWNjZXNzIHx8IG5ld1N0
YXRlID09IENTU0ZvbnRGYWNlOjpTdGF0dXM6OkZhaWx1cmUpCisgICAgICAgIG1fY2FjaGUuY2xl
YXIoKTsKIH0KIAogY2xhc3MgQ1NTRm9udEFjY2Vzc29yIGZpbmFsIDogcHVibGljIEZvbnRBY2Nl
c3NvciB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VnbWVudGVkRm9udEZh
Y2UuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWdtZW50ZWRGb250RmFjZS5oCmluZGV4IGY2
NmU3MzM5MzIwYWFiYWJjMzA0OGVhZjAxMTY4MGQ0MjBmOTkzNmMuLmE2M2NlNWJmZTk5MjhiYzI3
ZmQ1Yzg1NjVkMTk3ZTg2ZmFhYjA2MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NTZWdtZW50ZWRGb250RmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWdtZW50
ZWRGb250RmFjZS5oCkBAIC01OCw3ICs1OCw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBD
U1NTZWdtZW50ZWRGb250RmFjZSgpOwotICAgIHZvaWQgZm9udExvYWRlZChDU1NGb250RmFjZSYp
IGZpbmFsOworICAgIHZvaWQgZm9udFN0YXRlQ2hhbmdlZChDU1NGb250RmFjZSYsIENTU0ZvbnRG
YWNlOjpTdGF0dXMsIENTU0ZvbnRGYWNlOjpTdGF0dXMgbmV3U3RhdGUpIGZpbmFsOwogCiAgICAg
SGFzaE1hcDxGb250RGVzY3JpcHRpb25LZXksIEZvbnRSYW5nZXMsIEZvbnREZXNjcmlwdGlvbktl
eUhhc2gsIFdURjo6U2ltcGxlQ2xhc3NIYXNoVHJhaXRzPEZvbnREZXNjcmlwdGlvbktleT4+IG1f
Y2FjaGU7CiAgICAgVmVjdG9yPFJlZjxDU1NGb250RmFjZT4sIDE+IG1fZm9udEZhY2VzOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDkzYzhkMjE3ZjI5NjE4YTNiZTYyNzhkYmRiYWMzMWMyOGQzOTVhMWMuLjA5ZjU5ZTkxMmJl
MDg5MmExYTk4YzBhMTA5OWFiNmI3YzUwZTgxZjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAy
MS0wMS0yNyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAg
ICAgIFJlbW92ZSBhbm90aGVyIHVzZSBvZiBGb250U2VsZWN0b3IgZnJvbSB3aXRoaW4gQ1NTRm9u
dEZhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
MTA3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
ZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1kb2N1bWVudHMtZXhwZWN0ZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1kb2N1bWVu
dHMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBs
ZS1zZXRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2ZvbnQtbG9h
ZGluZy1tdWx0aXBsZS1zZXRzLmh0bWw6IEFkZGVkLgorCiAyMDIxLTAxLTI1ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTiAo
QmlnIFN1cik6IFNvbWUgdGVzdHMgaW4gaHR0cC90ZXN0cy9zZWN1cml0eS9odHRwLTAuOSBmbGFr
aWx5IGZhaWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWxvYWRpbmct
bXVsdGlwbGUtZG9jdW1lbnRzLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQv
Zm9udC1sb2FkaW5nLW11bHRpcGxlLWRvY3VtZW50cy1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjUxOTUwYjFmNWRlMDA2ODg0OWFiYTE3ZmFmYmJhYTMwYmM1MzM2ZTgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRpcGxlLWRvY3VtZW50
cy1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxzdHlsZT4KK0Bmb250LWZhY2UgeworICAgIGZvbnQtZmFtaWx5OiAiV2ViRm9u
dCI7CisgICAgc3JjOiB1cmwoIi4uLy4uL3Jlc291cmNlcy9BaGVtLnR0ZiIpIGZvcm1hdCgidHJ1
ZXR5cGUiKTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgc3R5bGU9ImZvbnQ6
IDMycHggJ1dlYkZvbnQnOyI+SGVsbG88L2Rpdj4KKworPGlmcmFtZSBpZD0idGFyZ2V0IiBzcmNk
b2M9IgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2IHN0eWxlPSdmb250OiAzMnB4IFdlYkZvbnQ7Jz5IZWxsbzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPiI+PC9pZnJhbWU+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC9mb250LWxvYWRpbmctbXVsdGlwbGUtZG9jdW1lbnRzLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRpcGxlLWRvY3VtZW50cy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjM1NTU0MDlkNzI3MmVmZDIxM2EwYWMxOGMyNTYwMGVlZDFjOTExMTAKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRpcGxl
LWRvY3VtZW50cy5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBzdHlsZT0iZm9udDogMzJweCAnV2ViRm9u
dCc7Ij5IZWxsbzwvZGl2PgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKzwvc2NyaXB0PgorCis8aWZyYW1lIGlkPSJ0YXJn
ZXQiIHNyY2RvYz0iCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXYgc3R5bGU9J2ZvbnQ6IDMycHggV2ViRm9udDsnPkhlbGxvPC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+Ij48L2lmcmFtZT4KKworPHNjcmlwdD4KK3ZhciBmb250ID0gbmV3IEZvbnRG
YWNlKCJXZWJGb250IiwgInVybCgnLi4vLi4vcmVzb3VyY2VzL0FoZW0udHRmJykgZm9ybWF0KCd0
cnVldHlwZScpIik7Citkb2N1bWVudC5mb250cy5hZGQoZm9udCk7Citkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidGFyZ2V0IikuY29udGVudFdpbmRvdy5kb2N1bWVudC5mb250cy5hZGQoZm9udCk7
Citmb250LmxvYWQoKS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9KTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtbG9h
ZGluZy1tdWx0aXBsZS1zZXRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9m
b250LWxvYWRpbmctbXVsdGlwbGUtc2V0cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTE5YTVj
NTM5YjVkYzk4N2QzNTExNjYxZDcwYWZiZjUyZDg4OWE4ZAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWxvYWRpbmctbXVsdGlwbGUtc2V0cy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMCBAQAorUEFTUyBmb250LnN0YXR1cyBpcyAidW5sb2FkZWQiCitQQVNT
IHNldDEuc3RhdHVzIGlzICJsb2FkZWQiCitQQVNTIHNldDIuc3RhdHVzIGlzICJsb2FkZWQiCitQ
QVNTIGZvbnQuc3RhdHVzIGlzICJsb2FkaW5nIgorUEFTUyBzZXQxLnN0YXR1cyBpcyAibG9hZGlu
ZyIKK1BBU1Mgc2V0Mi5zdGF0dXMgaXMgImxvYWRpbmciCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1zZXRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L3RleHQvZm9udC1sb2FkaW5nLW11bHRpcGxlLXNldHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xOTAxMjEy
NzFjMjE1MjRjMDZjZjJlMmI1MzQ2OGUyNmMzYTJhZTBmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1zZXRzLmh0bWwKQEAgLTAs
MCArMSw0MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIGludGVybmFscy5jbGVh
ck1lbW9yeUNhY2hlKCk7CisgICAgaW50ZXJuYWxzLmludmFsaWRhdGVGb250Q2FjaGUoKTsKK30K
K3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3ZhciBmb250ID0gbmV3IEZvbnRGYWNlKCJX
ZWJGb250IiwgInVybCgnLi4vLi4vcmVzb3VyY2VzL0FoZW0udHRmJykgZm9ybWF0KCd0cnVldHlw
ZScpIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZvbnQuc3RhdHVzIiwgInVubG9hZGVkIik7
Cit2YXIgc2V0MSA9IG5ldyBGb250RmFjZVNldChbZm9udF0pOwordmFyIHNldDIgPSBuZXcgRm9u
dEZhY2VTZXQoW2ZvbnRdKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygic2V0MS5zdGF0dXMiLCAi
bG9hZGVkIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNldDIuc3RhdHVzIiwgImxvYWRlZCIp
OworZm9udC5sb2FkKCk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZvbnQuc3RhdHVzIiwgImxv
YWRpbmciKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygic2V0MS5zdGF0dXMiLCAibG9hZGluZyIp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZXQyLnN0YXR1cyIsICJsb2FkaW5nIik7Cit2YXIg
Y291bnQgPSAwOworc2V0MS5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAgICsrY291bnQ7Cisg
ICAgaWYgKGNvdW50ID09IDIpCisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworfSwgZnVuY3Rpb24o
KSB7CisgICAgdGVzdEZhaWxlZCgiUHJvbWlzZSBzaG91bGQgbm90IGJlIHJlamVjdGVkLiIpOwor
ICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CitzZXQxLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7Cisg
ICAgKytjb3VudDsKKyAgICBpZiAoY291bnQgPT0gMikKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7
Cit9LCBmdW5jdGlvbigpIHsKKyAgICB0ZXN0RmFpbGVkKCJQcm9taXNlIHNob3VsZCBub3QgYmUg
cmVqZWN0ZWQuIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419143</attachid>
            <date>2021-02-03 08:55:04 -0800</date>
            <delta_ts>2021-02-05 02:39:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221071-20210203165503.patch</filename>
            <type>text/plain</type>
            <size>15270</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWIzMmU3YzMzZWQyODcy
ODMxZGFlOGM0ZmEyMjBlM2E3MDMwNDllNS4uZjhhMzExOTg3N2EwNjlmNmMzODA1NjU2NThjMjgz
YzZhODZhZDhiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTAyLTAyICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGFu
b3RoZXIgdXNlIG9mIEZvbnRTZWxlY3RvciBmcm9tIHdpdGhpbiBDU1NGb250RmFjZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMDcxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5zdGVhZCBvZiBDU1NG
b250RmFjZSBkaXJlY3RseSBrbm93aW5nIGFib3V0IENTU0ZvbnRTZWxlY3Rvciwgd2UgY2FuIGp1
c3QgbWFrZSBDU1NGb250U2VsZWN0b3IKKyAgICAgICAgaW5oZXJpdCBmcm9tIENTU0ZvbnRGYWNl
OjpDbGllbnQuCisKKyAgICAgICAgQWxzbywgY2xlYW4gdXAgdGhlIGNhbGxiYWNrIG1ldGhvZHMg
YSBsaXR0bGUgYml0LiBUaGVyZSdzIG5vIG5lZWQgdG8gaGF2ZSBhIGZvbnRMb2FkZWQoKSBjYWxs
YmFjaworICAgICAgICBiZWNhdXNlIGZvbnRTdGF0ZUNoYW5nZWQoKSBpcyBzdHJpY3RseSBtb3Jl
IHBvd2VyZnVsLgorCisgICAgICAgIFRlc3RzOiBmYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRp
cGxlLWRvY3VtZW50cy5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQvZm9udC1sb2FkaW5n
LW11bHRpcGxlLXNldHMuaHRtbAorCisgICAgICAgICogY3NzL0NTU0ZvbnRGYWNlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNlOjpDU1NGb250RmFjZSk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NGb250RmFjZTo6Zm9udExvYWRFdmVudE9jY3VycmVkKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0ZvbnRGYWNlOjp1cGRhdGVTdHlsZUlmTmVlZGVkKToKKyAgICAgICAgKiBjc3MvQ1NT
Rm9udEZhY2UuaDoKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VTZXQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTRm9udEZhY2VTZXQ6OmZvbnRTdGF0ZUNoYW5nZWQpOgorICAgICAgICAqIGNz
cy9DU1NGb250U2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFNlbGVjdG9y
Ojpmb250TW9kaWZpZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFNlbGVjdG9yOjpmb250
U3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcjo6dXBkYXRl
U3R5bGVJZk5lZWRlZCk6CisgICAgICAgICogY3NzL0NTU0ZvbnRTZWxlY3Rvci5oOgorICAgICAg
ICAqIGNzcy9DU1NTZWdtZW50ZWRGb250RmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NT
ZWdtZW50ZWRGb250RmFjZTo6Zm9udFN0YXRlQ2hhbmdlZCk6CisgICAgICAgICogY3NzL0NTU1Nl
Z21lbnRlZEZvbnRGYWNlLmg6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudDo6dXNlckFnZW50U2hhZG93VHJlZVN0eWxlUmVzb2x2ZXJJZkV4aXN0
cyk6CisgICAgICAgICogc3R5bGUvU3R5bGVTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZTo6U2NvcGU6OnJlc29sdmVySWZFeGlzdHMpOgorCiAyMDIxLTAyLTAyICBDYXJsb3MgR2Fy
Y2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBNaXNzaW5nIGV4Y2Vw
dGlvbiBjaGVjayB3aXRoIG5ldyBNZWRpYVN0cmVhbSgwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFj
ZS5jcHAKaW5kZXggODVlYmU1NmFlMmY5NTNhOTBjNmE5ZDNjZTcxNTk1NjUzYjRjNDhmZi4uMTQx
MjIwYjI4NjFjNWZhYTgyMjA1NTgwNjIxZDY4YTQ0MDUyZGQxZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udEZhY2UuY3BwCkBAIC05Myw2ICs5Myw4IEBAIENTU0ZvbnRGYWNlOjpDU1NGb250RmFjZShD
U1NGb250U2VsZWN0b3IqIGZvbnRTZWxlY3RvciwgU3R5bGVSdWxlRm9udEZhY2UqIGNzc0NvCiAg
ICAgOiBDU1NGb250RmFjZShmb250U2VsZWN0b3IgJiYgZm9udFNlbGVjdG9yLT5kb2N1bWVudCgp
ID8gJmZvbnRTZWxlY3Rvci0+ZG9jdW1lbnQoKS0+c2V0dGluZ3MoKSA6IG51bGxwdHIsIGNzc0Nv
bm5lY3Rpb24sIHdyYXBwZXIsIGlzTG9jYWxGYWxsYmFjaykKIHsKICAgICBtX2ZvbnRTZWxlY3Rv
ciA9IG1ha2VXZWFrUHRyKGZvbnRTZWxlY3Rvcik7IC8vIEZJWE1FOiBJZGVhbGx5IHRoaXMgZGF0
YSBtZW1iZXIgd291bGQgZ28gYXdheSAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwODM1MSkuCisgICAgaWYgKGZvbnRTZWxlY3RvcikKKyAgICAgICAgYWRkQ2xpZW50
KCpmb250U2VsZWN0b3IpOwogfQogCiBDU1NGb250RmFjZTo6Q1NTRm9udEZhY2UoY29uc3QgU2V0
dGluZ3MqIHNldHRpbmdzLCBTdHlsZVJ1bGVGb250RmFjZSogY3NzQ29ubmVjdGlvbiwgRm9udEZh
Y2UqIHdyYXBwZXIsIGJvb2wgaXNMb2NhbEZhbGxiYWNrKQpAQCAtMzUxLDEzICszNTMsNiBAQCB2
b2lkIENTU0ZvbnRGYWNlOjpmb250TG9hZEV2ZW50T2NjdXJyZWQoKQogICAgIC8vIHdoZW4gYSBz
b3VyY2UgaXMgZmFpbGVkIG9yIHN1Y2NlZWRlZCBiZWZvcmUgd2UgaGF2ZSBhc2tlZCBpdCB0byBs
b2FkLgogICAgIGlmIChtX3NvdXJjZXNQb3B1bGF0ZWQpCiAgICAgICAgIHB1bXAoRXh0ZXJuYWxS
ZXNvdXJjZURvd25sb2FkUG9saWN5OjpGb3JiaWQpOwotCi0gICAgaWYgKG1fZm9udFNlbGVjdG9y
KQotICAgICAgICBtX2ZvbnRTZWxlY3Rvci0+Zm9udExvYWRlZCgpOwotCi0gICAgaXRlcmF0ZUNs
aWVudHMobV9jbGllbnRzLCBbJl0oQ2xpZW50JiBjbGllbnQpIHsKLSAgICAgICAgY2xpZW50LmZv
bnRMb2FkZWQoKnRoaXMpOwotICAgIH0pOwogfQogCiB2b2lkIENTU0ZvbnRGYWNlOjp0aW1lb3V0
RmlyZWQoKQpAQCAtNjgyLDggKzY3Nyw5IEBAIGJvb2wgQ1NTRm9udEZhY2U6OnB1cmdlYWJsZSgp
IGNvbnN0CiAKIHZvaWQgQ1NTRm9udEZhY2U6OnVwZGF0ZVN0eWxlSWZOZWVkZWQoKQogewotICAg
IGlmIChtX2ZvbnRTZWxlY3RvciAmJiBtX2ZvbnRTZWxlY3Rvci0+ZG9jdW1lbnQoKSkKLSAgICAg
ICAgbV9mb250U2VsZWN0b3ItPmRvY3VtZW50KCktPnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKKyAg
ICBpdGVyYXRlQ2xpZW50cyhtX2NsaWVudHMsIFsmXShDbGllbnQmIGNsaWVudCkgeworICAgICAg
ICBjbGllbnQudXBkYXRlU3R5bGVJZk5lZWRlZCgpOworICAgIH0pOwogfQogCiBib29sIENTU0Zv
bnRGYWNlOjpoYXNTVkdGb250RmFjZVNvdXJjZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFj
ZS5oCmluZGV4IDA1ZDI5NWM0NmZhMzFmN2FjYTgzMGMxMTljYmI3ZDM3YTFhY2NmMDEuLjYxZmY1
M2NiYTMzNjQ1ZTkyYzFmMzQ0MWEyZGVmYzFiZjY4ODgyZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
RmFjZS5oCkBAIC0xMjcsOSArMTI3LDkgQEAgcHVibGljOgogICAgIGNsYXNzIENsaWVudCB7CiAg
ICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5DbGllbnQoKSA9IGRlZmF1bHQ7Ci0gICAgICAg
IHZpcnR1YWwgdm9pZCBmb250TG9hZGVkKENTU0ZvbnRGYWNlJikgeyB9CiAgICAgICAgIHZpcnR1
YWwgdm9pZCBmb250U3RhdGVDaGFuZ2VkKENTU0ZvbnRGYWNlJiwgU3RhdHVzIC8qb2xkU3RhdGUq
LywgU3RhdHVzIC8qbmV3U3RhdGUqLykgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBmb250UHJv
cGVydHlDaGFuZ2VkKENTU0ZvbnRGYWNlJiwgQ1NTVmFsdWVMaXN0KiAvKm9sZEZhbWlsaWVzKi8g
PSBudWxscHRyKSB7IH0KKyAgICAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVN0eWxlSWZOZWVkZWQo
KSB7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIHJlZigpID0gMDsKICAgICAgICAgdmlydHVhbCB2
b2lkIGRlcmVmKCkgPSAwOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udEZhY2VTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU2V0LmNw
cAppbmRleCA3MjliZTAzM2ZjZmI4MmIwMzg5MGEyYTgyOTI0OWI3NTdlNjkyNGYzLi45Zjk3ZDZi
YTM5NTRiMTExOGQyYTdmYWY0NDYwNDg0OWQ0ODQxNjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTRm9udEZhY2VTZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NG
b250RmFjZVNldC5jcHAKQEAgLTUxMiw2ICs1MTIsNyBAQCB2b2lkIENTU0ZvbnRGYWNlU2V0Ojpm
b250U3RhdGVDaGFuZ2VkKENTU0ZvbnRGYWNlJiBmYWNlLCBDU1NGb250RmFjZTo6U3RhdHVzIG9s
ZAogICAgICAgICB9KTsKICAgICAgICAgZGVjcmVtZW50QWN0aXZlQ291bnQoKTsKICAgICB9Cisg
ICAgLy8gRklYTUU6IENsaWVudHMgc2hvdWxkIGtub3cgYWJvdXQgVGltZWRPdXQgZXZlbnRzIHNv
IHRoZXkgY2FuIHVwZGF0ZSB0aGVpciBzdHlsZS4KIH0KIAogdm9pZCBDU1NGb250RmFjZVNldDo6
Zm9udFByb3BlcnR5Q2hhbmdlZChDU1NGb250RmFjZSYgZmFjZSwgQ1NTVmFsdWVMaXN0KiBvbGRG
YW1pbGllcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKaW5kZXggNDM0ZTRj
Y2NhYTIxMzdiMmVlZjY5OGUyMWI2M2I2YmFjNWQ2YWY4ZC4uMjM2ZTlkZDU0ZjA3YTY0NWIyM2Nm
YTVjN2ExYjJjYTY1NDM3OGJjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Zv
bnRTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5j
cHAKQEAgLTI0OCwxNyArMjQ4LDI0IEBAIHZvaWQgQ1NTRm9udFNlbGVjdG9yOjpvcHBvcnR1bmlz
dGljYWxseVN0YXJ0Rm9udERhdGFVUkxMb2FkaW5nKGNvbnN0IEZvbnRDYXNjYWRlCiAgICAgICAg
IGZhY2UtPm9wcG9ydHVuaXN0aWNhbGx5U3RhcnRGb250RGF0YVVSTExvYWRpbmcoKnRoaXMpOwog
fQogCi12b2lkIENTU0ZvbnRTZWxlY3Rvcjo6Zm9udExvYWRlZCgpCit2b2lkIENTU0ZvbnRTZWxl
Y3Rvcjo6Zm9udE1vZGlmaWVkKCkKIHsKLSAgICBkaXNwYXRjaEludmFsaWRhdGlvbkNhbGxiYWNr
cygpOworICAgIGlmICghbV9jcmVhdGluZ0ZvbnQgJiYgIW1fYnVpbGRJc1VuZGVyd2F5KQorICAg
ICAgICBkaXNwYXRjaEludmFsaWRhdGlvbkNhbGxiYWNrcygpOwogfQogCi12b2lkIENTU0ZvbnRT
ZWxlY3Rvcjo6Zm9udE1vZGlmaWVkKCkKK3ZvaWQgQ1NTRm9udFNlbGVjdG9yOjpmb250U3RhdGVD
aGFuZ2VkKENTU0ZvbnRGYWNlJiwgQ1NTRm9udEZhY2U6OlN0YXR1cywgQ1NTRm9udEZhY2U6OlN0
YXR1cyBuZXdTdGF0ZSkKIHsKLSAgICBpZiAoIW1fY3JlYXRpbmdGb250ICYmICFtX2J1aWxkSXNV
bmRlcndheSkKKyAgICBpZiAobmV3U3RhdGUgPT0gQ1NTRm9udEZhY2U6OlN0YXR1czo6VGltZWRP
dXQgfHwgbmV3U3RhdGUgPT0gQ1NTRm9udEZhY2U6OlN0YXR1czo6U3VjY2VzcyB8fCBuZXdTdGF0
ZSA9PSBDU1NGb250RmFjZTo6U3RhdHVzOjpGYWlsdXJlKQogICAgICAgICBkaXNwYXRjaEludmFs
aWRhdGlvbkNhbGxiYWNrcygpOwogfQogCit2b2lkIENTU0ZvbnRTZWxlY3Rvcjo6dXBkYXRlU3R5
bGVJZk5lZWRlZCgpCit7CisgICAgaWYgKGRvY3VtZW50KCkpCisgICAgICAgIGRvY3VtZW50KCkt
PnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKK30KKwogdm9pZCBDU1NGb250U2VsZWN0b3I6OmZvbnRD
YWNoZUludmFsaWRhdGVkKCkKIHsKICAgICBkaXNwYXRjaEludmFsaWRhdGlvbkNhbGxiYWNrcygp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5oCmluZGV4IDg4MGEwZGNlZDU0MjdlNGMz
NTgzN2VhOWM0MjI5NTIzYTg5ZjdjOTMuLjVmZjRhOWM1MGQxYjVlODA4YTI2ZDk1YTg2MDA4ZGRh
OTZlYjk3MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3Iu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmgKQEAgLTQ4LDcgKzQ4
LDcgQEAgY2xhc3MgQ2FjaGVkRm9udDsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgU3R5bGVSdWxl
Rm9udEZhY2U7CiAKLWNsYXNzIENTU0ZvbnRTZWxlY3RvciBmaW5hbCA6IHB1YmxpYyBGb250U2Vs
ZWN0b3IsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxDU1NGb250U2VsZWN0b3I+LCBwdWJsaWMgQWN0
aXZlRE9NT2JqZWN0IHsKK2NsYXNzIENTU0ZvbnRTZWxlY3RvciBmaW5hbCA6IHB1YmxpYyBGb250
U2VsZWN0b3IsIHB1YmxpYyBDU1NGb250RmFjZTo6Q2xpZW50LCBwdWJsaWMgQ2FuTWFrZVdlYWtQ
dHI8Q1NTRm9udFNlbGVjdG9yPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIFJlZjxDU1NGb250U2VsZWN0b3I+IGNyZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQp
CiAgICAgewpAQCAtNzAsNyArNzAsNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFkZEZvbnRGYWNl
UnVsZShTdHlsZVJ1bGVGb250RmFjZSYsIGJvb2wgaXNJbml0aWF0aW5nRWxlbWVudEluVXNlckFn
ZW50U2hhZG93VHJlZSk7CiAKLSAgICB2b2lkIGZvbnRMb2FkZWQoKTsKICAgICB2b2lkIGZvbnRD
YWNoZUludmFsaWRhdGVkKCkgZmluYWw7CiAKICAgICBib29sIGlzRW1wdHkoKSBjb25zdDsKQEAg
LTkxLDYgKzkwLDEwIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgbG9hZFBlbmRpbmdGb250cygpOwog
CisgICAgLy8gQ1NTRm9udEZhY2U6OkNsaWVudCBuZWVkcyB0byBiZSBhYmxlIHRvIGJlIGhlbGQg
aW4gYSBSZWZQdHIuCisgICAgdm9pZCByZWYoKSBmaW5hbCB7IFJlZkNvdW50ZWQ8Rm9udFNlbGVj
dG9yPjo6cmVmKCk7IH0KKyAgICB2b2lkIGRlcmVmKCkgZmluYWwgeyBSZWZDb3VudGVkPEZvbnRT
ZWxlY3Rvcj46OmRlcmVmKCk7IH0KKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBDU1NGb250U2Vs
ZWN0b3IoRG9jdW1lbnQmKTsKIApAQCAtOTgsOCArMTAxLDExIEBAIHByaXZhdGU6CiAKICAgICB2
b2lkIG9wcG9ydHVuaXN0aWNhbGx5U3RhcnRGb250RGF0YVVSTExvYWRpbmcoY29uc3QgRm9udENh
c2NhZGVEZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSkgZmluYWw7CiAKLSAg
ICB2b2lkIGZvbnRNb2RpZmllZCgpOworICAgIC8vIENTU0ZvbnRGYWNlOjpDbGllbnQKKyAgICB2
b2lkIGZvbnRTdGF0ZUNoYW5nZWQoQ1NTRm9udEZhY2UmLCBDU1NGb250RmFjZTo6U3RhdHVzLCBD
U1NGb250RmFjZTo6U3RhdHVzIG5ld1N0YXRlKSBmaW5hbDsKKyAgICB2b2lkIHVwZGF0ZVN0eWxl
SWZOZWVkZWQoKSBmaW5hbDsKIAorICAgIHZvaWQgZm9udE1vZGlmaWVkKCk7CiAgICAgdm9pZCBm
b250TG9hZGluZ1RpbWVyRmlyZWQoKTsKIAogICAgIC8vIEFjdGl2ZURPTU9iamVjdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlZ21lbnRlZEZvbnRGYWNlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NTZWdtZW50ZWRGb250RmFjZS5jcHAKaW5kZXggOGJmNDRiMDIxNjk0
ZGJiMDg0ZTU0N2E3NDNiNGZkY2Q1NWFhYjViNS4uNjYxYmI4NzM4ZDY1N2JhMzQ5ZTRjMmUxNTQ4
ODBkYmIyM2YxOTMyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlZ21lbnRl
ZEZvbnRGYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VnbWVudGVkRm9udEZh
Y2UuY3BwCkBAIC01MSw5ICs1MSwxMCBAQCB2b2lkIENTU1NlZ21lbnRlZEZvbnRGYWNlOjphcHBl
bmRGb250RmFjZShSZWY8Q1NTRm9udEZhY2U+JiYgZm9udEZhY2UpCiAgICAgbV9mb250RmFjZXMu
YXBwZW5kKFdURk1vdmUoZm9udEZhY2UpKTsKIH0KIAotdm9pZCBDU1NTZWdtZW50ZWRGb250RmFj
ZTo6Zm9udExvYWRlZChDU1NGb250RmFjZSYpCit2b2lkIENTU1NlZ21lbnRlZEZvbnRGYWNlOjpm
b250U3RhdGVDaGFuZ2VkKENTU0ZvbnRGYWNlJiwgQ1NTRm9udEZhY2U6OlN0YXR1cywgQ1NTRm9u
dEZhY2U6OlN0YXR1cyBuZXdTdGF0ZSkKIHsKLSAgICBtX2NhY2hlLmNsZWFyKCk7CisgICAgaWYg
KG5ld1N0YXRlID09IENTU0ZvbnRGYWNlOjpTdGF0dXM6OlRpbWVkT3V0IHx8IG5ld1N0YXRlID09
IENTU0ZvbnRGYWNlOjpTdGF0dXM6OlN1Y2Nlc3MgfHwgbmV3U3RhdGUgPT0gQ1NTRm9udEZhY2U6
OlN0YXR1czo6RmFpbHVyZSkKKyAgICAgICAgbV9jYWNoZS5jbGVhcigpOwogfQogCiBjbGFzcyBD
U1NGb250QWNjZXNzb3IgZmluYWwgOiBwdWJsaWMgRm9udEFjY2Vzc29yIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWdtZW50ZWRGb250RmFjZS5oIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1NlZ21lbnRlZEZvbnRGYWNlLmgKaW5kZXggZjY2ZTczMzkzMjBhYWJhYmMzMDQ4
ZWFmMDExNjgwZDQyMGY5OTM2Yy4uYTYzY2U1YmZlOTkyOGJjMjdmZDVjODU2NWQxOTdlODZmYWFi
MDYwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlZ21lbnRlZEZvbnRGYWNl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlZ21lbnRlZEZvbnRGYWNlLmgKQEAgLTU4
LDcgKzU4LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIENTU1NlZ21lbnRlZEZvbnRGYWNl
KCk7Ci0gICAgdm9pZCBmb250TG9hZGVkKENTU0ZvbnRGYWNlJikgZmluYWw7CisgICAgdm9pZCBm
b250U3RhdGVDaGFuZ2VkKENTU0ZvbnRGYWNlJiwgQ1NTRm9udEZhY2U6OlN0YXR1cywgQ1NTRm9u
dEZhY2U6OlN0YXR1cyBuZXdTdGF0ZSkgZmluYWw7CiAKICAgICBIYXNoTWFwPEZvbnREZXNjcmlw
dGlvbktleSwgRm9udFJhbmdlcywgRm9udERlc2NyaXB0aW9uS2V5SGFzaCwgV1RGOjpTaW1wbGVD
bGFzc0hhc2hUcmFpdHM8Rm9udERlc2NyaXB0aW9uS2V5Pj4gbV9jYWNoZTsKICAgICBWZWN0b3I8
UmVmPENTU0ZvbnRGYWNlPiwgMT4gbV9mb250RmFjZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4
IDA2YWRhMWI2NDgxZDllOTgzM2NlNGExM2FlZDExOWNkZGU0ODIzYzcuLjcyOTcyZjkxNjQ5ZjZj
NDM5NDBiZDIwMjY0NGQxMTJjMDQ1MzhkNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC01Mzcs
NiArNTM3LDcgQEAgcHVibGljOgogICAgIGJvb2wgc2F3RWxlbWVudHNJbktub3duTmFtZXNwYWNl
cygpIGNvbnN0IHsgcmV0dXJuIG1fc2F3RWxlbWVudHNJbktub3duTmFtZXNwYWNlczsgfQogCiAg
ICAgU3R5bGU6OlJlc29sdmVyJiB1c2VyQWdlbnRTaGFkb3dUcmVlU3R5bGVSZXNvbHZlcigpOwor
ICAgIFN0eWxlOjpSZXNvbHZlciogdXNlckFnZW50U2hhZG93VHJlZVN0eWxlUmVzb2x2ZXJJZkV4
aXN0cygpIHsgcmV0dXJuIG1fdXNlckFnZW50U2hhZG93VHJlZVN0eWxlUmVzb2x2ZXIuZ2V0KCk7
IH07CiAKICAgICBDU1NGb250U2VsZWN0b3ImIGZvbnRTZWxlY3RvcigpIHsgcmV0dXJuIG1fZm9u
dFNlbGVjdG9yOyB9CiAgICAgY29uc3QgQ1NTRm9udFNlbGVjdG9yJiBmb250U2VsZWN0b3IoKSBj
b25zdCB7IHJldHVybiBtX2ZvbnRTZWxlY3RvcjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3R5bGUvU3R5bGVTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3Bl
LmNwcAppbmRleCA0ODM0MjE5ZjYxNmEzMmVkZDk3MmJhMDYwYzAxZTQwNTMxYWJjOTgzLi44YzQ2
ZTc0ZDkzZTlmYWQ4NzFlYzBjNTM4Njg2Yjg4NTZhODQxYmNiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZVNjb3BlLmNwcApAQCAtMTIwLDcgKzEyMCw3IEBAIFJlc29sdmVyJiBTY29wZTo6cmVzb2x2
ZXIoKQogUmVzb2x2ZXIqIFNjb3BlOjpyZXNvbHZlcklmRXhpc3RzKCkKIHsKICAgICBpZiAoc2hv
dWxkVXNlU2hhcmVkVXNlckFnZW50U2hhZG93VHJlZVN0eWxlUmVzb2x2ZXIoKSkKLSAgICAgICAg
cmV0dXJuICZtX2RvY3VtZW50LnVzZXJBZ2VudFNoYWRvd1RyZWVTdHlsZVJlc29sdmVyKCk7Cisg
ICAgICAgIHJldHVybiBtX2RvY3VtZW50LnVzZXJBZ2VudFNoYWRvd1RyZWVTdHlsZVJlc29sdmVy
SWZFeGlzdHMoKTsKIAogICAgIHJldHVybiBtX3Jlc29sdmVyLmdldCgpOwogfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDk5
MTU1ZDVjNjA0YTA2MmMxMjkyMjFhNDhmNGZmNTgxMzIzNDY3OWEuLmMwNzVlZTc4ZTE3NTA1ZTgx
YzNhYmYxM2RhMmMxNjBjYWU4YmQxNmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wMi0w
MiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFJl
bW92ZSBhbm90aGVyIHVzZSBvZiBGb250U2VsZWN0b3IgZnJvbSB3aXRoaW4gQ1NTRm9udEZhY2UK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTA3MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC90
ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1kb2N1bWVudHMtZXhwZWN0ZWQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1kb2N1bWVudHMuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1zZXRz
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1t
dWx0aXBsZS1zZXRzLmh0bWw6IEFkZGVkLgorCiAyMDIxLTAyLTAyICBSb2IgQnVpcyAgPHJidWlz
QGlnYWxpYS5jb20+CiAKICAgICAgICAgUHJvdmlkZSBtb2NrIGR0bWYgc2VuZGVyCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRpcGxlLWRvY3VtZW50
cy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0
aXBsZS1kb2N1bWVudHMtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MTk1MGIxZjVkZTAwNjg4
NDlhYmExN2ZhZmJiYWEzMGJjNTMzNmU4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1kb2N1bWVudHMtZXhwZWN0ZWQuaHRtbApA
QCAtMCwwICsxLDI1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+
CitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogIldlYkZvbnQiOworICAgIHNyYzogdXJs
KCIuLi8uLi9yZXNvdXJjZXMvQWhlbS50dGYiKSBmb3JtYXQoInRydWV0eXBlIik7Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IHN0eWxlPSJmb250OiAzMnB4ICdXZWJGb250Jzsi
PkhlbGxvPC9kaXY+CisKKzxpZnJhbWUgaWQ9InRhcmdldCIgc3JjZG9jPSIKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBzdHlsZT0nZm9udDog
MzJweCBXZWJGb250Oyc+SGVsbG88L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4iPjwvaWZyYW1lPgor
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9u
dC1sb2FkaW5nLW11bHRpcGxlLWRvY3VtZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1kb2N1bWVudHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNTU1NDA5
ZDcyNzJlZmQyMTNhMGFjMThjMjU2MDBlZWQxYzkxMTEwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1kb2N1bWVudHMuaHRtbApA
QCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXYgc3R5bGU9ImZvbnQ6IDMycHggJ1dlYkZvbnQnOyI+SGVsbG88L2Rpdj4K
KzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci53YWl0VW50
aWxEb25lKCk7Cis8L3NjcmlwdD4KKworPGlmcmFtZSBpZD0idGFyZ2V0IiBzcmNkb2M9IgorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IHN0eWxl
PSdmb250OiAzMnB4IFdlYkZvbnQ7Jz5IZWxsbzwvZGl2PgorPC9ib2R5PgorPC9odG1sPiI+PC9p
ZnJhbWU+CisKKzxzY3JpcHQ+Cit2YXIgZm9udCA9IG5ldyBGb250RmFjZSgiV2ViRm9udCIsICJ1
cmwoJy4uLy4uL3Jlc291cmNlcy9BaGVtLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSIpOworZG9j
dW1lbnQuZm9udHMuYWRkKGZvbnQpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIp
LmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQuZm9udHMuYWRkKGZvbnQpOworZm9udC5sb2FkKCkudGhl
bihmdW5jdGlvbigpIHsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RS
dW5uZXIubm90aWZ5RG9uZSgpOworfSk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWxvYWRpbmctbXVsdGlwbGUtc2V0
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRp
cGxlLXNldHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmExOWE1YzUzOWI1ZGM5ODdkMzUxMTY2
MWQ3MGFmYmY1MmQ4ODlhOGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvZm9udC1sb2FkaW5nLW11bHRpcGxlLXNldHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAg
QEAKK1BBU1MgZm9udC5zdGF0dXMgaXMgInVubG9hZGVkIgorUEFTUyBzZXQxLnN0YXR1cyBpcyAi
bG9hZGVkIgorUEFTUyBzZXQyLnN0YXR1cyBpcyAibG9hZGVkIgorUEFTUyBmb250LnN0YXR1cyBp
cyAibG9hZGluZyIKK1BBU1Mgc2V0MS5zdGF0dXMgaXMgImxvYWRpbmciCitQQVNTIHNldDIuc3Rh
dHVzIGlzICJsb2FkaW5nIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWxvYWRp
bmctbXVsdGlwbGUtc2V0cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtbG9hZGlu
Zy1tdWx0aXBsZS1zZXRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTkwMTIxMjcxYzIxNTI0YzA2Y2YyZTJi
NTM0NjhlMjZjM2EyYWUwZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC9mb250LWxvYWRpbmctbXVsdGlwbGUtc2V0cy5odG1sCkBAIC0wLDAgKzEsNDMgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgoraWYg
KHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICBpbnRlcm5hbHMuY2xlYXJNZW1vcnlDYWNoZSgpOwor
ICAgIGludGVybmFscy5pbnZhbGlkYXRlRm9udENhY2hlKCk7Cit9Cit3aW5kb3cuanNUZXN0SXNB
c3luYyA9IHRydWU7Cit2YXIgZm9udCA9IG5ldyBGb250RmFjZSgiV2ViRm9udCIsICJ1cmwoJy4u
Ly4uL3Jlc291cmNlcy9BaGVtLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSIpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJmb250LnN0YXR1cyIsICJ1bmxvYWRlZCIpOwordmFyIHNldDEgPSBuZXcg
Rm9udEZhY2VTZXQoW2ZvbnRdKTsKK3ZhciBzZXQyID0gbmV3IEZvbnRGYWNlU2V0KFtmb250XSk7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNldDEuc3RhdHVzIiwgImxvYWRlZCIpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJzZXQyLnN0YXR1cyIsICJsb2FkZWQiKTsKK2ZvbnQubG9hZCgpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmb250LnN0YXR1cyIsICJsb2FkaW5nIik7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInNldDEuc3RhdHVzIiwgImxvYWRpbmciKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygic2V0Mi5zdGF0dXMiLCAibG9hZGluZyIpOwordmFyIGNvdW50ID0gMDsKK3NldDEu
cmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICArK2NvdW50OworICAgIGlmIChjb3VudCA9PSAy
KQorICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKK30sIGZ1bmN0aW9uKCkgeworICAgIHRlc3RGYWls
ZWQoIlByb21pc2Ugc2hvdWxkIG5vdCBiZSByZWplY3RlZC4iKTsKKyAgICBmaW5pc2hKU1Rlc3Qo
KTsKK30pOworc2V0MS5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAgICsrY291bnQ7CisgICAg
aWYgKGNvdW50ID09IDIpCisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworfSwgZnVuY3Rpb24oKSB7
CisgICAgdGVzdEZhaWxlZCgiUHJvbWlzZSBzaG91bGQgbm90IGJlIHJlamVjdGVkLiIpOworICAg
IGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419380</attachid>
            <date>2021-02-05 02:39:07 -0800</date>
            <delta_ts>2021-02-05 03:16:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221071-20210205103905.patch</filename>
            <type>text/plain</type>
            <size>15225</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWIzMmU3YzMzZWQyODcy
ODMxZGFlOGM0ZmEyMjBlM2E3MDMwNDllNS4uZmFlODc5MWI0N2EwNWFiMDZlNTExYmE1MDcwYWQ3
MWQ4YjhlMDA4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIxLTAyLTAyICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGFu
b3RoZXIgdXNlIG9mIEZvbnRTZWxlY3RvciBmcm9tIHdpdGhpbiBDU1NGb250RmFjZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMDcxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5zdGVhZCBvZiBDU1NG
b250RmFjZSBkaXJlY3RseSBrbm93aW5nIGFib3V0IENTU0ZvbnRTZWxlY3Rvciwgd2UgY2FuIGp1
c3QgbWFrZSBDU1NGb250U2VsZWN0b3IKKyAgICAgICAgaW5oZXJpdCBmcm9tIENTU0ZvbnRGYWNl
OjpDbGllbnQuCisKKyAgICAgICAgQWxzbywgY2xlYW4gdXAgdGhlIGNhbGxiYWNrIG1ldGhvZHMg
YSBsaXR0bGUgYml0LiBUaGVyZSdzIG5vIG5lZWQgdG8gaGF2ZSBhIGZvbnRMb2FkZWQoKSBjYWxs
YmFjaworICAgICAgICBiZWNhdXNlIGZvbnRTdGF0ZUNoYW5nZWQoKSBpcyBzdHJpY3RseSBtb3Jl
IHBvd2VyZnVsLgorCisgICAgICAgIFRlc3RzOiBmYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRp
cGxlLWRvY3VtZW50cy5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQvZm9udC1sb2FkaW5n
LW11bHRpcGxlLXNldHMuaHRtbAorCisgICAgICAgICogY3NzL0NTU0ZvbnRGYWNlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNlOjpDU1NGb250RmFjZSk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NGb250RmFjZTo6Zm9udExvYWRFdmVudE9jY3VycmVkKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0ZvbnRGYWNlOjp1cGRhdGVTdHlsZUlmTmVlZGVkKToKKyAgICAgICAgKiBjc3MvQ1NT
Rm9udEZhY2UuaDoKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VTZXQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTRm9udEZhY2VTZXQ6OmZvbnRTdGF0ZUNoYW5nZWQpOgorICAgICAgICAqIGNz
cy9DU1NGb250U2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFNlbGVjdG9y
Ojpmb250TW9kaWZpZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFNlbGVjdG9yOjpmb250
U3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcjo6dXBkYXRl
U3R5bGVJZk5lZWRlZCk6CisgICAgICAgICogY3NzL0NTU0ZvbnRTZWxlY3Rvci5oOgorICAgICAg
ICAqIGNzcy9DU1NTZWdtZW50ZWRGb250RmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NT
ZWdtZW50ZWRGb250RmFjZTo6Zm9udFN0YXRlQ2hhbmdlZCk6CisgICAgICAgICogY3NzL0NTU1Nl
Z21lbnRlZEZvbnRGYWNlLmg6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50Ojp1c2VyQWdlbnRTaGFkb3dUcmVlU3R5bGVSZXNvbHZlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6aW52YWxpZGF0ZU1hdGNoZWRQcm9wZXJ0aWVzQ2Fj
aGVBbmRGb3JjZVN0eWxlUmVjYWxjKToKKwogMjAyMS0wMi0wMiAgQ2FybG9zIEdhcmNpYSBDYW1w
b3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgTWlzc2luZyBleGNlcHRpb24gY2hl
Y2sgd2l0aCBuZXcgTWVkaWFTdHJlYW0oMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250RmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwCmlu
ZGV4IDg1ZWJlNTZhZTJmOTUzYTkwYzZhOWQzY2U3MTU5NTY1M2I0YzQ4ZmYuLjE0MTIyMGIyODYx
YzVmYWE4MjIwNTU4MDYyMWQ2OGE0NDA1MmRkMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250RmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNl
LmNwcApAQCAtOTMsNiArOTMsOCBAQCBDU1NGb250RmFjZTo6Q1NTRm9udEZhY2UoQ1NTRm9udFNl
bGVjdG9yKiBmb250U2VsZWN0b3IsIFN0eWxlUnVsZUZvbnRGYWNlKiBjc3NDbwogICAgIDogQ1NT
Rm9udEZhY2UoZm9udFNlbGVjdG9yICYmIGZvbnRTZWxlY3Rvci0+ZG9jdW1lbnQoKSA/ICZmb250
U2VsZWN0b3ItPmRvY3VtZW50KCktPnNldHRpbmdzKCkgOiBudWxscHRyLCBjc3NDb25uZWN0aW9u
LCB3cmFwcGVyLCBpc0xvY2FsRmFsbGJhY2spCiB7CiAgICAgbV9mb250U2VsZWN0b3IgPSBtYWtl
V2Vha1B0cihmb250U2VsZWN0b3IpOyAvLyBGSVhNRTogSWRlYWxseSB0aGlzIGRhdGEgbWVtYmVy
IHdvdWxkIGdvIGF3YXkgKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDgzNTEpLgorICAgIGlmIChmb250U2VsZWN0b3IpCisgICAgICAgIGFkZENsaWVudCgqZm9udFNl
bGVjdG9yKTsKIH0KIAogQ1NTRm9udEZhY2U6OkNTU0ZvbnRGYWNlKGNvbnN0IFNldHRpbmdzKiBz
ZXR0aW5ncywgU3R5bGVSdWxlRm9udEZhY2UqIGNzc0Nvbm5lY3Rpb24sIEZvbnRGYWNlKiB3cmFw
cGVyLCBib29sIGlzTG9jYWxGYWxsYmFjaykKQEAgLTM1MSwxMyArMzUzLDYgQEAgdm9pZCBDU1NG
b250RmFjZTo6Zm9udExvYWRFdmVudE9jY3VycmVkKCkKICAgICAvLyB3aGVuIGEgc291cmNlIGlz
IGZhaWxlZCBvciBzdWNjZWVkZWQgYmVmb3JlIHdlIGhhdmUgYXNrZWQgaXQgdG8gbG9hZC4KICAg
ICBpZiAobV9zb3VyY2VzUG9wdWxhdGVkKQogICAgICAgICBwdW1wKEV4dGVybmFsUmVzb3VyY2VE
b3dubG9hZFBvbGljeTo6Rm9yYmlkKTsKLQotICAgIGlmIChtX2ZvbnRTZWxlY3RvcikKLSAgICAg
ICAgbV9mb250U2VsZWN0b3ItPmZvbnRMb2FkZWQoKTsKLQotICAgIGl0ZXJhdGVDbGllbnRzKG1f
Y2xpZW50cywgWyZdKENsaWVudCYgY2xpZW50KSB7Ci0gICAgICAgIGNsaWVudC5mb250TG9hZGVk
KCp0aGlzKTsKLSAgICB9KTsKIH0KIAogdm9pZCBDU1NGb250RmFjZTo6dGltZW91dEZpcmVkKCkK
QEAgLTY4Miw4ICs2NzcsOSBAQCBib29sIENTU0ZvbnRGYWNlOjpwdXJnZWFibGUoKSBjb25zdAog
CiB2b2lkIENTU0ZvbnRGYWNlOjp1cGRhdGVTdHlsZUlmTmVlZGVkKCkKIHsKLSAgICBpZiAobV9m
b250U2VsZWN0b3IgJiYgbV9mb250U2VsZWN0b3ItPmRvY3VtZW50KCkpCi0gICAgICAgIG1fZm9u
dFNlbGVjdG9yLT5kb2N1bWVudCgpLT51cGRhdGVTdHlsZUlmTmVlZGVkKCk7CisgICAgaXRlcmF0
ZUNsaWVudHMobV9jbGllbnRzLCBbJl0oQ2xpZW50JiBjbGllbnQpIHsKKyAgICAgICAgY2xpZW50
LnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKKyAgICB9KTsKIH0KIAogYm9vbCBDU1NGb250RmFjZTo6
aGFzU1ZHRm9udEZhY2VTb3VyY2UoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0ZvbnRGYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuaAppbmRl
eCAwNWQyOTVjNDZmYTMxZjdhY2E4MzBjMTE5Y2JiN2QzN2ExYWNjZjAxLi42MWZmNTNjYmEzMzY0
NWU5MmMxZjM0NDFhMmRlZmMxYmY2ODg4MmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRm9udEZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuaApA
QCAtMTI3LDkgKzEyNyw5IEBAIHB1YmxpYzoKICAgICBjbGFzcyBDbGllbnQgewogICAgIHB1Ymxp
YzoKICAgICAgICAgdmlydHVhbCB+Q2xpZW50KCkgPSBkZWZhdWx0OwotICAgICAgICB2aXJ0dWFs
IHZvaWQgZm9udExvYWRlZChDU1NGb250RmFjZSYpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQg
Zm9udFN0YXRlQ2hhbmdlZChDU1NGb250RmFjZSYsIFN0YXR1cyAvKm9sZFN0YXRlKi8sIFN0YXR1
cyAvKm5ld1N0YXRlKi8pIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgZm9udFByb3BlcnR5Q2hh
bmdlZChDU1NGb250RmFjZSYsIENTU1ZhbHVlTGlzdCogLypvbGRGYW1pbGllcyovID0gbnVsbHB0
cikgeyB9CisgICAgICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVTdHlsZUlmTmVlZGVkKCkgeyB9CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCByZWYoKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkZXJl
ZigpID0gMDsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRG
YWNlU2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNldC5jcHAKaW5kZXgg
NzI5YmUwMzNmY2ZiODJiMDM4OTBhMmE4MjkyNDliNzU3ZTY5MjRmMy4uOWY5N2Q2YmEzOTU0YjEx
MThkMmE3ZmFmNDQ2MDQ4NDlkNDg0MTYzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ZvbnRGYWNlU2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VT
ZXQuY3BwCkBAIC01MTIsNiArNTEyLDcgQEAgdm9pZCBDU1NGb250RmFjZVNldDo6Zm9udFN0YXRl
Q2hhbmdlZChDU1NGb250RmFjZSYgZmFjZSwgQ1NTRm9udEZhY2U6OlN0YXR1cyBvbGQKICAgICAg
ICAgfSk7CiAgICAgICAgIGRlY3JlbWVudEFjdGl2ZUNvdW50KCk7CiAgICAgfQorICAgIC8vIEZJ
WE1FOiBDbGllbnRzIHNob3VsZCBrbm93IGFib3V0IFRpbWVkT3V0IGV2ZW50cyBzbyB0aGV5IGNh
biB1cGRhdGUgdGhlaXIgc3R5bGUuCiB9CiAKIHZvaWQgQ1NTRm9udEZhY2VTZXQ6OmZvbnRQcm9w
ZXJ0eUNoYW5nZWQoQ1NTRm9udEZhY2UmIGZhY2UsIENTU1ZhbHVlTGlzdCogb2xkRmFtaWxpZXMp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCmluZGV4IDQzNGU0Y2NjYWEyMTM3
YjJlZWY2OThlMjFiNjNiNmJhYzVkNmFmOGQuLjk2YWZlZTIwNzZmNTg0NjFkMWVjZDNiMGYxYzVm
OGQxNTI1MDQ1MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCkBAIC0y
NDgsMTcgKzI0OCwyNiBAQCB2b2lkIENTU0ZvbnRTZWxlY3Rvcjo6b3Bwb3J0dW5pc3RpY2FsbHlT
dGFydEZvbnREYXRhVVJMTG9hZGluZyhjb25zdCBGb250Q2FzY2FkZQogICAgICAgICBmYWNlLT5v
cHBvcnR1bmlzdGljYWxseVN0YXJ0Rm9udERhdGFVUkxMb2FkaW5nKCp0aGlzKTsKIH0KIAotdm9p
ZCBDU1NGb250U2VsZWN0b3I6OmZvbnRMb2FkZWQoKQordm9pZCBDU1NGb250U2VsZWN0b3I6OmZv
bnRNb2RpZmllZCgpCiB7Ci0gICAgZGlzcGF0Y2hJbnZhbGlkYXRpb25DYWxsYmFja3MoKTsKKyAg
ICBpZiAoIW1fY3JlYXRpbmdGb250ICYmICFtX2J1aWxkSXNVbmRlcndheSkKKyAgICAgICAgZGlz
cGF0Y2hJbnZhbGlkYXRpb25DYWxsYmFja3MoKTsKIH0KIAotdm9pZCBDU1NGb250U2VsZWN0b3I6
OmZvbnRNb2RpZmllZCgpCit2b2lkIENTU0ZvbnRTZWxlY3Rvcjo6Zm9udFN0YXRlQ2hhbmdlZChD
U1NGb250RmFjZSYgZm9udEZhY2UsIENTU0ZvbnRGYWNlOjpTdGF0dXMsIENTU0ZvbnRGYWNlOjpT
dGF0dXMgbmV3U3RhdGUpCiB7Ci0gICAgaWYgKCFtX2NyZWF0aW5nRm9udCAmJiAhbV9idWlsZElz
VW5kZXJ3YXkpCisgICAgaWYgKGZvbnRGYWNlLnNob3VsZElnbm9yZUZvbnRMb2FkQ29tcGxldGlv
bnMoKSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChuZXdTdGF0ZSA9PSBDU1NGb250RmFjZTo6
U3RhdHVzOjpUaW1lZE91dCB8fCBuZXdTdGF0ZSA9PSBDU1NGb250RmFjZTo6U3RhdHVzOjpTdWNj
ZXNzIHx8IG5ld1N0YXRlID09IENTU0ZvbnRGYWNlOjpTdGF0dXM6OkZhaWx1cmUpCiAgICAgICAg
IGRpc3BhdGNoSW52YWxpZGF0aW9uQ2FsbGJhY2tzKCk7CiB9CiAKK3ZvaWQgQ1NTRm9udFNlbGVj
dG9yOjp1cGRhdGVTdHlsZUlmTmVlZGVkKCkKK3sKKyAgICBpZiAoZG9jdW1lbnQoKSkKKyAgICAg
ICAgZG9jdW1lbnQoKS0+dXBkYXRlU3R5bGVJZk5lZWRlZCgpOworfQorCiB2b2lkIENTU0ZvbnRT
ZWxlY3Rvcjo6Zm9udENhY2hlSW52YWxpZGF0ZWQoKQogewogICAgIGRpc3BhdGNoSW52YWxpZGF0
aW9uQ2FsbGJhY2tzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNl
bGVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmgKaW5kZXggODgw
YTBkY2VkNTQyN2U0YzM1ODM3ZWE5YzQyMjk1MjNhODlmN2M5My4uNWZmNGE5YzUwZDFiNWU4MDhh
MjZkOTVhODYwMDhkZGE5NmViOTczNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRTZWxlY3Rvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3Iu
aApAQCAtNDgsNyArNDgsNyBAQCBjbGFzcyBDYWNoZWRGb250OwogY2xhc3MgRG9jdW1lbnQ7CiBj
bGFzcyBTdHlsZVJ1bGVGb250RmFjZTsKIAotY2xhc3MgQ1NTRm9udFNlbGVjdG9yIGZpbmFsIDog
cHVibGljIEZvbnRTZWxlY3RvciwgcHVibGljIENhbk1ha2VXZWFrUHRyPENTU0ZvbnRTZWxlY3Rv
cj4sIHB1YmxpYyBBY3RpdmVET01PYmplY3QgeworY2xhc3MgQ1NTRm9udFNlbGVjdG9yIGZpbmFs
IDogcHVibGljIEZvbnRTZWxlY3RvciwgcHVibGljIENTU0ZvbnRGYWNlOjpDbGllbnQsIHB1Ymxp
YyBDYW5NYWtlV2Vha1B0cjxDU1NGb250U2VsZWN0b3I+LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0
IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPENTU0ZvbnRTZWxlY3Rvcj4gY3JlYXRlKERvY3Vt
ZW50JiBkb2N1bWVudCkKICAgICB7CkBAIC03MCw3ICs3MCw2IEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgYWRkRm9udEZhY2VSdWxlKFN0eWxlUnVsZUZvbnRGYWNlJiwgYm9vbCBpc0luaXRpYXRpbmdF
bGVtZW50SW5Vc2VyQWdlbnRTaGFkb3dUcmVlKTsKIAotICAgIHZvaWQgZm9udExvYWRlZCgpOwog
ICAgIHZvaWQgZm9udENhY2hlSW52YWxpZGF0ZWQoKSBmaW5hbDsKIAogICAgIGJvb2wgaXNFbXB0
eSgpIGNvbnN0OwpAQCAtOTEsNiArOTAsMTAgQEAgcHVibGljOgogCiAgICAgdm9pZCBsb2FkUGVu
ZGluZ0ZvbnRzKCk7CiAKKyAgICAvLyBDU1NGb250RmFjZTo6Q2xpZW50IG5lZWRzIHRvIGJlIGFi
bGUgdG8gYmUgaGVsZCBpbiBhIFJlZlB0ci4KKyAgICB2b2lkIHJlZigpIGZpbmFsIHsgUmVmQ291
bnRlZDxGb250U2VsZWN0b3I+OjpyZWYoKTsgfQorICAgIHZvaWQgZGVyZWYoKSBmaW5hbCB7IFJl
ZkNvdW50ZWQ8Rm9udFNlbGVjdG9yPjo6ZGVyZWYoKTsgfQorCiBwcml2YXRlOgogICAgIGV4cGxp
Y2l0IENTU0ZvbnRTZWxlY3RvcihEb2N1bWVudCYpOwogCkBAIC05OCw4ICsxMDEsMTEgQEAgcHJp
dmF0ZToKIAogICAgIHZvaWQgb3Bwb3J0dW5pc3RpY2FsbHlTdGFydEZvbnREYXRhVVJMTG9hZGlu
Zyhjb25zdCBGb250Q2FzY2FkZURlc2NyaXB0aW9uJiwgY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5
KSBmaW5hbDsKIAotICAgIHZvaWQgZm9udE1vZGlmaWVkKCk7CisgICAgLy8gQ1NTRm9udEZhY2U6
OkNsaWVudAorICAgIHZvaWQgZm9udFN0YXRlQ2hhbmdlZChDU1NGb250RmFjZSYsIENTU0ZvbnRG
YWNlOjpTdGF0dXMsIENTU0ZvbnRGYWNlOjpTdGF0dXMgbmV3U3RhdGUpIGZpbmFsOworICAgIHZv
aWQgdXBkYXRlU3R5bGVJZk5lZWRlZCgpIGZpbmFsOwogCisgICAgdm9pZCBmb250TW9kaWZpZWQo
KTsKICAgICB2b2lkIGZvbnRMb2FkaW5nVGltZXJGaXJlZCgpOwogCiAgICAgLy8gQWN0aXZlRE9N
T2JqZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VnbWVudGVkRm9udEZh
Y2UuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlZ21lbnRlZEZvbnRGYWNlLmNwcAppbmRl
eCA4YmY0NGIwMjE2OTRkYmIwODRlNTQ3YTc0M2I0ZmRjZDU1YWFiNWI1Li4wNDBmZTNkZDk4ZDVi
MTVjZTkxOGE4NTRmMDJmYTFhZDE5YzQ5Y2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTU2VnbWVudGVkRm9udEZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NT
ZWdtZW50ZWRGb250RmFjZS5jcHAKQEAgLTUxLDkgKzUxLDEyIEBAIHZvaWQgQ1NTU2VnbWVudGVk
Rm9udEZhY2U6OmFwcGVuZEZvbnRGYWNlKFJlZjxDU1NGb250RmFjZT4mJiBmb250RmFjZSkKICAg
ICBtX2ZvbnRGYWNlcy5hcHBlbmQoV1RGTW92ZShmb250RmFjZSkpOwogfQogCi12b2lkIENTU1Nl
Z21lbnRlZEZvbnRGYWNlOjpmb250TG9hZGVkKENTU0ZvbnRGYWNlJikKK3ZvaWQgQ1NTU2VnbWVu
dGVkRm9udEZhY2U6OmZvbnRTdGF0ZUNoYW5nZWQoQ1NTRm9udEZhY2UmIGZvbnRGYWNlLCBDU1NG
b250RmFjZTo6U3RhdHVzLCBDU1NGb250RmFjZTo6U3RhdHVzIG5ld1N0YXRlKQogewotICAgIG1f
Y2FjaGUuY2xlYXIoKTsKKyAgICBpZiAoZm9udEZhY2Uuc2hvdWxkSWdub3JlRm9udExvYWRDb21w
bGV0aW9ucygpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKG5ld1N0YXRlID09IENTU0ZvbnRG
YWNlOjpTdGF0dXM6OlRpbWVkT3V0IHx8IG5ld1N0YXRlID09IENTU0ZvbnRGYWNlOjpTdGF0dXM6
OlN1Y2Nlc3MgfHwgbmV3U3RhdGUgPT0gQ1NTRm9udEZhY2U6OlN0YXR1czo6RmFpbHVyZSkKKyAg
ICAgICAgbV9jYWNoZS5jbGVhcigpOwogfQogCiBjbGFzcyBDU1NGb250QWNjZXNzb3IgZmluYWwg
OiBwdWJsaWMgRm9udEFjY2Vzc29yIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NTZWdtZW50ZWRGb250RmFjZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlZ21lbnRlZEZv
bnRGYWNlLmgKaW5kZXggZjY2ZTczMzkzMjBhYWJhYmMzMDQ4ZWFmMDExNjgwZDQyMGY5OTM2Yy4u
YTYzY2U1YmZlOTkyOGJjMjdmZDVjODU2NWQxOTdlODZmYWFiMDYwZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1NlZ21lbnRlZEZvbnRGYWNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1NlZ21lbnRlZEZvbnRGYWNlLmgKQEAgLTU4LDcgKzU4LDcgQEAgcHVibGljOgog
CiBwcml2YXRlOgogICAgIENTU1NlZ21lbnRlZEZvbnRGYWNlKCk7Ci0gICAgdm9pZCBmb250TG9h
ZGVkKENTU0ZvbnRGYWNlJikgZmluYWw7CisgICAgdm9pZCBmb250U3RhdGVDaGFuZ2VkKENTU0Zv
bnRGYWNlJiwgQ1NTRm9udEZhY2U6OlN0YXR1cywgQ1NTRm9udEZhY2U6OlN0YXR1cyBuZXdTdGF0
ZSkgZmluYWw7CiAKICAgICBIYXNoTWFwPEZvbnREZXNjcmlwdGlvbktleSwgRm9udFJhbmdlcywg
Rm9udERlc2NyaXB0aW9uS2V5SGFzaCwgV1RGOjpTaW1wbGVDbGFzc0hhc2hUcmFpdHM8Rm9udERl
c2NyaXB0aW9uS2V5Pj4gbV9jYWNoZTsKICAgICBWZWN0b3I8UmVmPENTU0ZvbnRGYWNlPiwgMT4g
bV9mb250RmFjZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBlYTJhNTlmMzQyNTk4ZDJi
YTA1YWY3NWE5ODVhODMxYjM0NTBlOWE2Li4xNWU5ODYyZjE0MDVkMmE5ZTUzZTM0YTI2YzUxOTY5
ZjFiNjJiMTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTIzNjUsOCArMjM2NSwxMSBA
QCB2b2lkIERvY3VtZW50OjpwYWdlU2l6ZUFuZE1hcmdpbnNJblBpeGVscyhpbnQgcGFnZUluZGV4
LCBJbnRTaXplJiBwYWdlU2l6ZSwgaW50JgogCiBTdHlsZTo6UmVzb2x2ZXImIERvY3VtZW50Ojp1
c2VyQWdlbnRTaGFkb3dUcmVlU3R5bGVSZXNvbHZlcigpCiB7Ci0gICAgaWYgKCFtX3VzZXJBZ2Vu
dFNoYWRvd1RyZWVTdHlsZVJlc29sdmVyKQorICAgIGlmICghbV91c2VyQWdlbnRTaGFkb3dUcmVl
U3R5bGVSZXNvbHZlcikgeworICAgICAgICAvLyBHdWFyZCBhZ2FpbnN0IHJlLWVudHJhbmN5IGlu
IHN0eWxlIHJlY2FsYy4KKyAgICAgICAgQVNTRVJUKCFtX2luU3R5bGVSZWNhbGMpOwogICAgICAg
ICBtX3VzZXJBZ2VudFNoYWRvd1RyZWVTdHlsZVJlc29sdmVyID0gbWFrZVVuaXF1ZTxTdHlsZTo6
UmVzb2x2ZXI+KCp0aGlzKTsKKyAgICB9CiAgICAgcmV0dXJuICptX3VzZXJBZ2VudFNoYWRvd1Ry
ZWVTdHlsZVJlc29sdmVyOwogfQogCkBAIC0yMzc3LDYgKzIzODAsOSBAQCB2b2lkIERvY3VtZW50
Ojpmb250c05lZWRVcGRhdGUoRm9udFNlbGVjdG9yJikKIAogdm9pZCBEb2N1bWVudDo6aW52YWxp
ZGF0ZU1hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVBbmRGb3JjZVN0eWxlUmVjYWxjKCkKIHsKKyAgICBp
ZiAobV9pblN0eWxlUmVjYWxjKQorICAgICAgICByZXR1cm47CisKICAgICBzdHlsZVNjb3BlKCku
aW52YWxpZGF0ZU1hdGNoZWREZWNsYXJhdGlvbnNDYWNoZSgpOwogCiAgICAgaWYgKGJhY2tGb3J3
YXJkQ2FjaGVTdGF0ZSgpICE9IE5vdEluQmFja0ZvcndhcmRDYWNoZSB8fCAhcmVuZGVyVmlldygp
KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDk5MTU1ZDVjNjA0YTA2MmMxMjkyMjFhNDhmNGZmNTgxMzIzNDY3OWEuLmMwNzVl
ZTc4ZTE3NTA1ZTgxYzNhYmYxM2RhMmMxNjBjYWU4YmQxNmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAyMS0wMi0wMiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgor
CisgICAgICAgIFJlbW92ZSBhbm90aGVyIHVzZSBvZiBGb250U2VsZWN0b3IgZnJvbSB3aXRoaW4g
Q1NTRm9udEZhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyMTA3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1kb2N1bWVudHMtZXhwZWN0ZWQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1k
b2N1bWVudHMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1t
dWx0aXBsZS1zZXRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2Zv
bnQtbG9hZGluZy1tdWx0aXBsZS1zZXRzLmh0bWw6IEFkZGVkLgorCiAyMDIxLTAyLTAyICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgUHJvdmlkZSBtb2NrIGR0bWYgc2Vu
ZGVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRp
cGxlLWRvY3VtZW50cy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQt
bG9hZGluZy1tdWx0aXBsZS1kb2N1bWVudHMtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MTk1
MGIxZjVkZTAwNjg4NDlhYmExN2ZhZmJiYWEzMGJjNTMzNmU4Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1kb2N1bWVudHMtZXhw
ZWN0ZWQuaHRtbApAQCAtMCwwICsxLDI1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c3R5bGU+CitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogIldlYkZvbnQiOwor
ICAgIHNyYzogdXJsKCIuLi8uLi9yZXNvdXJjZXMvQWhlbS50dGYiKSBmb3JtYXQoInRydWV0eXBl
Iik7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IHN0eWxlPSJmb250OiAzMnB4
ICdXZWJGb250JzsiPkhlbGxvPC9kaXY+CisKKzxpZnJhbWUgaWQ9InRhcmdldCIgc3JjZG9jPSIK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBz
dHlsZT0nZm9udDogMzJweCBXZWJGb250Oyc+SGVsbG88L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4i
PjwvaWZyYW1lPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRpcGxlLWRvY3VtZW50cy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1kb2N1bWVudHMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zNTU1NDA5ZDcyNzJlZmQyMTNhMGFjMThjMjU2MDBlZWQxYzkxMTEwCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1kb2N1
bWVudHMuaHRtbApAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgc3R5bGU9ImZvbnQ6IDMycHggJ1dlYkZvbnQnOyI+
SGVsbG88L2Rpdj4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7Cis8L3NjcmlwdD4KKworPGlmcmFtZSBpZD0idGFyZ2V0IiBz
cmNkb2M9IgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2IHN0eWxlPSdmb250OiAzMnB4IFdlYkZvbnQ7Jz5IZWxsbzwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPiI+PC9pZnJhbWU+CisKKzxzY3JpcHQ+Cit2YXIgZm9udCA9IG5ldyBGb250RmFjZSgi
V2ViRm9udCIsICJ1cmwoJy4uLy4uL3Jlc291cmNlcy9BaGVtLnR0ZicpIGZvcm1hdCgndHJ1ZXR5
cGUnKSIpOworZG9jdW1lbnQuZm9udHMuYWRkKGZvbnQpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInRhcmdldCIpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQuZm9udHMuYWRkKGZvbnQpOworZm9u
dC5sb2FkKCkudGhlbihmdW5jdGlvbigpIHsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfSk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWxvYWRpbmct
bXVsdGlwbGUtc2V0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1s
b2FkaW5nLW11bHRpcGxlLXNldHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmExOWE1YzUzOWI1
ZGM5ODdkMzUxMTY2MWQ3MGFmYmY1MmQ4ODlhOGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRpcGxlLXNldHMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTAgQEAKK1BBU1MgZm9udC5zdGF0dXMgaXMgInVubG9hZGVkIgorUEFTUyBzZXQx
LnN0YXR1cyBpcyAibG9hZGVkIgorUEFTUyBzZXQyLnN0YXR1cyBpcyAibG9hZGVkIgorUEFTUyBm
b250LnN0YXR1cyBpcyAibG9hZGluZyIKK1BBU1Mgc2V0MS5zdGF0dXMgaXMgImxvYWRpbmciCitQ
QVNTIHNldDIuc3RhdHVzIGlzICJsb2FkaW5nIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC9mb250LWxvYWRpbmctbXVsdGlwbGUtc2V0cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1zZXRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTkwMTIxMjcxYzIx
NTI0YzA2Y2YyZTJiNTM0NjhlMjZjM2EyYWUwZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC9mb250LWxvYWRpbmctbXVsdGlwbGUtc2V0cy5odG1sCkBAIC0wLDAgKzEs
NDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICBpbnRlcm5hbHMuY2xlYXJNZW1v
cnlDYWNoZSgpOworICAgIGludGVybmFscy5pbnZhbGlkYXRlRm9udENhY2hlKCk7Cit9Cit3aW5k
b3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cit2YXIgZm9udCA9IG5ldyBGb250RmFjZSgiV2ViRm9u
dCIsICJ1cmwoJy4uLy4uL3Jlc291cmNlcy9BaGVtLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSIp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmb250LnN0YXR1cyIsICJ1bmxvYWRlZCIpOwordmFy
IHNldDEgPSBuZXcgRm9udEZhY2VTZXQoW2ZvbnRdKTsKK3ZhciBzZXQyID0gbmV3IEZvbnRGYWNl
U2V0KFtmb250XSk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNldDEuc3RhdHVzIiwgImxvYWRl
ZCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZXQyLnN0YXR1cyIsICJsb2FkZWQiKTsKK2Zv
bnQubG9hZCgpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmb250LnN0YXR1cyIsICJsb2FkaW5n
Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNldDEuc3RhdHVzIiwgImxvYWRpbmciKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygic2V0Mi5zdGF0dXMiLCAibG9hZGluZyIpOwordmFyIGNvdW50
ID0gMDsKK3NldDEucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICArK2NvdW50OworICAgIGlm
IChjb3VudCA9PSAyKQorICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKK30sIGZ1bmN0aW9uKCkgewor
ICAgIHRlc3RGYWlsZWQoIlByb21pc2Ugc2hvdWxkIG5vdCBiZSByZWplY3RlZC4iKTsKKyAgICBm
aW5pc2hKU1Rlc3QoKTsKK30pOworc2V0MS5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAgICsr
Y291bnQ7CisgICAgaWYgKGNvdW50ID09IDIpCisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworfSwg
ZnVuY3Rpb24oKSB7CisgICAgdGVzdEZhaWxlZCgiUHJvbWlzZSBzaG91bGQgbm90IGJlIHJlamVj
dGVkLiIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419385</attachid>
            <date>2021-02-05 03:16:20 -0800</date>
            <delta_ts>2021-02-08 07:42:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221071-20210205111619.patch</filename>
            <type>text/plain</type>
            <size>14550</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWIzMmU3YzMzZWQyODcy
ODMxZGFlOGM0ZmEyMjBlM2E3MDMwNDllNS4uNmJjZTJlMjM0NDcxYWZmNDRlZmM4MjAwMWNmN2Qy
OTcwYjUyMTE1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIxLTAyLTAyICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGFu
b3RoZXIgdXNlIG9mIEZvbnRTZWxlY3RvciBmcm9tIHdpdGhpbiBDU1NGb250RmFjZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMDcxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5zdGVhZCBvZiBDU1NG
b250RmFjZSBkaXJlY3RseSBrbm93aW5nIGFib3V0IENTU0ZvbnRTZWxlY3Rvciwgd2UgY2FuIGp1
c3QgbWFrZSBDU1NGb250U2VsZWN0b3IKKyAgICAgICAgaW5oZXJpdCBmcm9tIENTU0ZvbnRGYWNl
OjpDbGllbnQuCisKKyAgICAgICAgQWxzbywgY2xlYW4gdXAgdGhlIGNhbGxiYWNrIG1ldGhvZHMg
YSBsaXR0bGUgYml0LiBUaGVyZSdzIG5vIG5lZWQgdG8gaGF2ZSBhIGZvbnRMb2FkZWQoKSBjYWxs
YmFjaworICAgICAgICBiZWNhdXNlIGZvbnRTdGF0ZUNoYW5nZWQoKSBpcyBzdHJpY3RseSBtb3Jl
IHBvd2VyZnVsLgorCisgICAgICAgIFRlc3RzOiBmYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRp
cGxlLWRvY3VtZW50cy5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQvZm9udC1sb2FkaW5n
LW11bHRpcGxlLXNldHMuaHRtbAorCisgICAgICAgICogY3NzL0NTU0ZvbnRGYWNlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNlOjpDU1NGb250RmFjZSk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NGb250RmFjZTo6Zm9udExvYWRFdmVudE9jY3VycmVkKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0ZvbnRGYWNlOjp1cGRhdGVTdHlsZUlmTmVlZGVkKToKKyAgICAgICAgKiBjc3MvQ1NT
Rm9udEZhY2UuaDoKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VTZXQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTRm9udEZhY2VTZXQ6OmZvbnRTdGF0ZUNoYW5nZWQpOgorICAgICAgICAqIGNz
cy9DU1NGb250U2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFNlbGVjdG9y
Ojpmb250TW9kaWZpZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFNlbGVjdG9yOjpmb250
U3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcjo6dXBkYXRl
U3R5bGVJZk5lZWRlZCk6CisgICAgICAgICogY3NzL0NTU0ZvbnRTZWxlY3Rvci5oOgorICAgICAg
ICAqIGNzcy9DU1NTZWdtZW50ZWRGb250RmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NT
ZWdtZW50ZWRGb250RmFjZTo6Zm9udFN0YXRlQ2hhbmdlZCk6CisgICAgICAgICogY3NzL0NTU1Nl
Z21lbnRlZEZvbnRGYWNlLmg6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50Ojpmb250c05lZWRVcGRhdGUpOgorCiAyMDIxLTAyLTAyICBDYXJs
b3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBNaXNzaW5n
IGV4Y2VwdGlvbiBjaGVjayB3aXRoIG5ldyBNZWRpYVN0cmVhbSgwKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NG
b250RmFjZS5jcHAKaW5kZXggODVlYmU1NmFlMmY5NTNhOTBjNmE5ZDNjZTcxNTk1NjUzYjRjNDhm
Zi4uMTQxMjIwYjI4NjFjNWZhYTgyMjA1NTgwNjIxZDY4YTQ0MDUyZGQxZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRm9udEZhY2UuY3BwCkBAIC05Myw2ICs5Myw4IEBAIENTU0ZvbnRGYWNlOjpDU1NGb250
RmFjZShDU1NGb250U2VsZWN0b3IqIGZvbnRTZWxlY3RvciwgU3R5bGVSdWxlRm9udEZhY2UqIGNz
c0NvCiAgICAgOiBDU1NGb250RmFjZShmb250U2VsZWN0b3IgJiYgZm9udFNlbGVjdG9yLT5kb2N1
bWVudCgpID8gJmZvbnRTZWxlY3Rvci0+ZG9jdW1lbnQoKS0+c2V0dGluZ3MoKSA6IG51bGxwdHIs
IGNzc0Nvbm5lY3Rpb24sIHdyYXBwZXIsIGlzTG9jYWxGYWxsYmFjaykKIHsKICAgICBtX2ZvbnRT
ZWxlY3RvciA9IG1ha2VXZWFrUHRyKGZvbnRTZWxlY3Rvcik7IC8vIEZJWE1FOiBJZGVhbGx5IHRo
aXMgZGF0YSBtZW1iZXIgd291bGQgZ28gYXdheSAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODM1MSkuCisgICAgaWYgKGZvbnRTZWxlY3RvcikKKyAgICAgICAgYWRk
Q2xpZW50KCpmb250U2VsZWN0b3IpOwogfQogCiBDU1NGb250RmFjZTo6Q1NTRm9udEZhY2UoY29u
c3QgU2V0dGluZ3MqIHNldHRpbmdzLCBTdHlsZVJ1bGVGb250RmFjZSogY3NzQ29ubmVjdGlvbiwg
Rm9udEZhY2UqIHdyYXBwZXIsIGJvb2wgaXNMb2NhbEZhbGxiYWNrKQpAQCAtMzUxLDEzICszNTMs
NiBAQCB2b2lkIENTU0ZvbnRGYWNlOjpmb250TG9hZEV2ZW50T2NjdXJyZWQoKQogICAgIC8vIHdo
ZW4gYSBzb3VyY2UgaXMgZmFpbGVkIG9yIHN1Y2NlZWRlZCBiZWZvcmUgd2UgaGF2ZSBhc2tlZCBp
dCB0byBsb2FkLgogICAgIGlmIChtX3NvdXJjZXNQb3B1bGF0ZWQpCiAgICAgICAgIHB1bXAoRXh0
ZXJuYWxSZXNvdXJjZURvd25sb2FkUG9saWN5OjpGb3JiaWQpOwotCi0gICAgaWYgKG1fZm9udFNl
bGVjdG9yKQotICAgICAgICBtX2ZvbnRTZWxlY3Rvci0+Zm9udExvYWRlZCgpOwotCi0gICAgaXRl
cmF0ZUNsaWVudHMobV9jbGllbnRzLCBbJl0oQ2xpZW50JiBjbGllbnQpIHsKLSAgICAgICAgY2xp
ZW50LmZvbnRMb2FkZWQoKnRoaXMpOwotICAgIH0pOwogfQogCiB2b2lkIENTU0ZvbnRGYWNlOjp0
aW1lb3V0RmlyZWQoKQpAQCAtNjgyLDggKzY3Nyw5IEBAIGJvb2wgQ1NTRm9udEZhY2U6OnB1cmdl
YWJsZSgpIGNvbnN0CiAKIHZvaWQgQ1NTRm9udEZhY2U6OnVwZGF0ZVN0eWxlSWZOZWVkZWQoKQog
ewotICAgIGlmIChtX2ZvbnRTZWxlY3RvciAmJiBtX2ZvbnRTZWxlY3Rvci0+ZG9jdW1lbnQoKSkK
LSAgICAgICAgbV9mb250U2VsZWN0b3ItPmRvY3VtZW50KCktPnVwZGF0ZVN0eWxlSWZOZWVkZWQo
KTsKKyAgICBpdGVyYXRlQ2xpZW50cyhtX2NsaWVudHMsIFsmXShDbGllbnQmIGNsaWVudCkgewor
ICAgICAgICBjbGllbnQudXBkYXRlU3R5bGVJZk5lZWRlZCgpOworICAgIH0pOwogfQogCiBib29s
IENTU0ZvbnRGYWNlOjpoYXNTVkdGb250RmFjZVNvdXJjZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NG
b250RmFjZS5oCmluZGV4IDA1ZDI5NWM0NmZhMzFmN2FjYTgzMGMxMTljYmI3ZDM3YTFhY2NmMDEu
LjYxZmY1M2NiYTMzNjQ1ZTkyYzFmMzQ0MWEyZGVmYzFiZjY4ODgyZDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGb250RmFjZS5oCkBAIC0xMjcsOSArMTI3LDkgQEAgcHVibGljOgogICAgIGNsYXNzIENsaWVu
dCB7CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5DbGllbnQoKSA9IGRlZmF1bHQ7Ci0g
ICAgICAgIHZpcnR1YWwgdm9pZCBmb250TG9hZGVkKENTU0ZvbnRGYWNlJikgeyB9CiAgICAgICAg
IHZpcnR1YWwgdm9pZCBmb250U3RhdGVDaGFuZ2VkKENTU0ZvbnRGYWNlJiwgU3RhdHVzIC8qb2xk
U3RhdGUqLywgU3RhdHVzIC8qbmV3U3RhdGUqLykgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBm
b250UHJvcGVydHlDaGFuZ2VkKENTU0ZvbnRGYWNlJiwgQ1NTVmFsdWVMaXN0KiAvKm9sZEZhbWls
aWVzKi8gPSBudWxscHRyKSB7IH0KKyAgICAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVN0eWxlSWZO
ZWVkZWQoKSB7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIHJlZigpID0gMDsKICAgICAgICAgdmly
dHVhbCB2b2lkIGRlcmVmKCkgPSAwOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRm9udEZhY2VTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNl
U2V0LmNwcAppbmRleCA3MjliZTAzM2ZjZmI4MmIwMzg5MGEyYTgyOTI0OWI3NTdlNjkyNGYzLi45
Zjk3ZDZiYTM5NTRiMTExOGQyYTdmYWY0NDYwNDg0OWQ0ODQxNjNjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250RmFjZVNldC5jcHAKQEAgLTUxMiw2ICs1MTIsNyBAQCB2b2lkIENTU0ZvbnRGYWNl
U2V0Ojpmb250U3RhdGVDaGFuZ2VkKENTU0ZvbnRGYWNlJiBmYWNlLCBDU1NGb250RmFjZTo6U3Rh
dHVzIG9sZAogICAgICAgICB9KTsKICAgICAgICAgZGVjcmVtZW50QWN0aXZlQ291bnQoKTsKICAg
ICB9CisgICAgLy8gRklYTUU6IENsaWVudHMgc2hvdWxkIGtub3cgYWJvdXQgVGltZWRPdXQgZXZl
bnRzIHNvIHRoZXkgY2FuIHVwZGF0ZSB0aGVpciBzdHlsZS4KIH0KIAogdm9pZCBDU1NGb250RmFj
ZVNldDo6Zm9udFByb3BlcnR5Q2hhbmdlZChDU1NGb250RmFjZSYgZmFjZSwgQ1NTVmFsdWVMaXN0
KiBvbGRGYW1pbGllcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2Vs
ZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKaW5kZXgg
NDM0ZTRjY2NhYTIxMzdiMmVlZjY5OGUyMWI2M2I2YmFjNWQ2YWY4ZC4uOTZhZmVlMjA3NmY1ODQ2
MWQxZWNkM2IwZjFjNWY4ZDE1MjUwNDUwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ZvbnRTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxl
Y3Rvci5jcHAKQEAgLTI0OCwxNyArMjQ4LDI2IEBAIHZvaWQgQ1NTRm9udFNlbGVjdG9yOjpvcHBv
cnR1bmlzdGljYWxseVN0YXJ0Rm9udERhdGFVUkxMb2FkaW5nKGNvbnN0IEZvbnRDYXNjYWRlCiAg
ICAgICAgIGZhY2UtPm9wcG9ydHVuaXN0aWNhbGx5U3RhcnRGb250RGF0YVVSTExvYWRpbmcoKnRo
aXMpOwogfQogCi12b2lkIENTU0ZvbnRTZWxlY3Rvcjo6Zm9udExvYWRlZCgpCit2b2lkIENTU0Zv
bnRTZWxlY3Rvcjo6Zm9udE1vZGlmaWVkKCkKIHsKLSAgICBkaXNwYXRjaEludmFsaWRhdGlvbkNh
bGxiYWNrcygpOworICAgIGlmICghbV9jcmVhdGluZ0ZvbnQgJiYgIW1fYnVpbGRJc1VuZGVyd2F5
KQorICAgICAgICBkaXNwYXRjaEludmFsaWRhdGlvbkNhbGxiYWNrcygpOwogfQogCi12b2lkIENT
U0ZvbnRTZWxlY3Rvcjo6Zm9udE1vZGlmaWVkKCkKK3ZvaWQgQ1NTRm9udFNlbGVjdG9yOjpmb250
U3RhdGVDaGFuZ2VkKENTU0ZvbnRGYWNlJiBmb250RmFjZSwgQ1NTRm9udEZhY2U6OlN0YXR1cywg
Q1NTRm9udEZhY2U6OlN0YXR1cyBuZXdTdGF0ZSkKIHsKLSAgICBpZiAoIW1fY3JlYXRpbmdGb250
ICYmICFtX2J1aWxkSXNVbmRlcndheSkKKyAgICBpZiAoZm9udEZhY2Uuc2hvdWxkSWdub3JlRm9u
dExvYWRDb21wbGV0aW9ucygpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKG5ld1N0YXRlID09
IENTU0ZvbnRGYWNlOjpTdGF0dXM6OlRpbWVkT3V0IHx8IG5ld1N0YXRlID09IENTU0ZvbnRGYWNl
OjpTdGF0dXM6OlN1Y2Nlc3MgfHwgbmV3U3RhdGUgPT0gQ1NTRm9udEZhY2U6OlN0YXR1czo6RmFp
bHVyZSkKICAgICAgICAgZGlzcGF0Y2hJbnZhbGlkYXRpb25DYWxsYmFja3MoKTsKIH0KIAordm9p
ZCBDU1NGb250U2VsZWN0b3I6OnVwZGF0ZVN0eWxlSWZOZWVkZWQoKQoreworICAgIGlmIChkb2N1
bWVudCgpKQorICAgICAgICBkb2N1bWVudCgpLT51cGRhdGVTdHlsZUlmTmVlZGVkKCk7Cit9CisK
IHZvaWQgQ1NTRm9udFNlbGVjdG9yOjpmb250Q2FjaGVJbnZhbGlkYXRlZCgpCiB7CiAgICAgZGlz
cGF0Y2hJbnZhbGlkYXRpb25DYWxsYmFja3MoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250U2VsZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0
b3IuaAppbmRleCA4ODBhMGRjZWQ1NDI3ZTRjMzU4MzdlYTljNDIyOTUyM2E4OWY3YzkzLi41ZmY0
YTljNTBkMWI1ZTgwOGEyNmQ5NWE4NjAwOGRkYTk2ZWI5NzM2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRTZWxlY3Rvci5oCkBAIC00OCw3ICs0OCw3IEBAIGNsYXNzIENhY2hlZEZvbnQ7CiBjbGFz
cyBEb2N1bWVudDsKIGNsYXNzIFN0eWxlUnVsZUZvbnRGYWNlOwogCi1jbGFzcyBDU1NGb250U2Vs
ZWN0b3IgZmluYWwgOiBwdWJsaWMgRm9udFNlbGVjdG9yLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8
Q1NTRm9udFNlbGVjdG9yPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CitjbGFzcyBDU1NGb250
U2VsZWN0b3IgZmluYWwgOiBwdWJsaWMgRm9udFNlbGVjdG9yLCBwdWJsaWMgQ1NTRm9udEZhY2U6
OkNsaWVudCwgcHVibGljIENhbk1ha2VXZWFrUHRyPENTU0ZvbnRTZWxlY3Rvcj4sIHB1YmxpYyBB
Y3RpdmVET01PYmplY3QgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8Q1NTRm9udFNlbGVjdG9y
PiBjcmVhdGUoRG9jdW1lbnQmIGRvY3VtZW50KQogICAgIHsKQEAgLTcwLDcgKzcwLDYgQEAgcHVi
bGljOgogCiAgICAgdm9pZCBhZGRGb250RmFjZVJ1bGUoU3R5bGVSdWxlRm9udEZhY2UmLCBib29s
IGlzSW5pdGlhdGluZ0VsZW1lbnRJblVzZXJBZ2VudFNoYWRvd1RyZWUpOwogCi0gICAgdm9pZCBm
b250TG9hZGVkKCk7CiAgICAgdm9pZCBmb250Q2FjaGVJbnZhbGlkYXRlZCgpIGZpbmFsOwogCiAg
ICAgYm9vbCBpc0VtcHR5KCkgY29uc3Q7CkBAIC05MSw2ICs5MCwxMCBAQCBwdWJsaWM6CiAKICAg
ICB2b2lkIGxvYWRQZW5kaW5nRm9udHMoKTsKIAorICAgIC8vIENTU0ZvbnRGYWNlOjpDbGllbnQg
bmVlZHMgdG8gYmUgYWJsZSB0byBiZSBoZWxkIGluIGEgUmVmUHRyLgorICAgIHZvaWQgcmVmKCkg
ZmluYWwgeyBSZWZDb3VudGVkPEZvbnRTZWxlY3Rvcj46OnJlZigpOyB9CisgICAgdm9pZCBkZXJl
ZigpIGZpbmFsIHsgUmVmQ291bnRlZDxGb250U2VsZWN0b3I+OjpkZXJlZigpOyB9CisKIHByaXZh
dGU6CiAgICAgZXhwbGljaXQgQ1NTRm9udFNlbGVjdG9yKERvY3VtZW50Jik7CiAKQEAgLTk4LDgg
KzEwMSwxMSBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBvcHBvcnR1bmlzdGljYWxseVN0YXJ0Rm9u
dERhdGFVUkxMb2FkaW5nKGNvbnN0IEZvbnRDYXNjYWRlRGVzY3JpcHRpb24mLCBjb25zdCBBdG9t
U3RyaW5nJiBmYW1pbHkpIGZpbmFsOwogCi0gICAgdm9pZCBmb250TW9kaWZpZWQoKTsKKyAgICAv
LyBDU1NGb250RmFjZTo6Q2xpZW50CisgICAgdm9pZCBmb250U3RhdGVDaGFuZ2VkKENTU0ZvbnRG
YWNlJiwgQ1NTRm9udEZhY2U6OlN0YXR1cywgQ1NTRm9udEZhY2U6OlN0YXR1cyBuZXdTdGF0ZSkg
ZmluYWw7CisgICAgdm9pZCB1cGRhdGVTdHlsZUlmTmVlZGVkKCkgZmluYWw7CiAKKyAgICB2b2lk
IGZvbnRNb2RpZmllZCgpOwogICAgIHZvaWQgZm9udExvYWRpbmdUaW1lckZpcmVkKCk7CiAKICAg
ICAvLyBBY3RpdmVET01PYmplY3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NT
ZWdtZW50ZWRGb250RmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VnbWVudGVkRm9u
dEZhY2UuY3BwCmluZGV4IDhiZjQ0YjAyMTY5NGRiYjA4NGU1NDdhNzQzYjRmZGNkNTVhYWI1YjUu
LjA0MGZlM2RkOThkNWIxNWNlOTE4YTg1NGYwMmZhMWFkMTljNDljZWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWdtZW50ZWRGb250RmFjZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1NlZ21lbnRlZEZvbnRGYWNlLmNwcApAQCAtNTEsOSArNTEsMTIgQEAgdm9p
ZCBDU1NTZWdtZW50ZWRGb250RmFjZTo6YXBwZW5kRm9udEZhY2UoUmVmPENTU0ZvbnRGYWNlPiYm
IGZvbnRGYWNlKQogICAgIG1fZm9udEZhY2VzLmFwcGVuZChXVEZNb3ZlKGZvbnRGYWNlKSk7CiB9
CiAKLXZvaWQgQ1NTU2VnbWVudGVkRm9udEZhY2U6OmZvbnRMb2FkZWQoQ1NTRm9udEZhY2UmKQor
dm9pZCBDU1NTZWdtZW50ZWRGb250RmFjZTo6Zm9udFN0YXRlQ2hhbmdlZChDU1NGb250RmFjZSYg
Zm9udEZhY2UsIENTU0ZvbnRGYWNlOjpTdGF0dXMsIENTU0ZvbnRGYWNlOjpTdGF0dXMgbmV3U3Rh
dGUpCiB7Ci0gICAgbV9jYWNoZS5jbGVhcigpOworICAgIGlmIChmb250RmFjZS5zaG91bGRJZ25v
cmVGb250TG9hZENvbXBsZXRpb25zKCkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAobmV3U3Rh
dGUgPT0gQ1NTRm9udEZhY2U6OlN0YXR1czo6VGltZWRPdXQgfHwgbmV3U3RhdGUgPT0gQ1NTRm9u
dEZhY2U6OlN0YXR1czo6U3VjY2VzcyB8fCBuZXdTdGF0ZSA9PSBDU1NGb250RmFjZTo6U3RhdHVz
OjpGYWlsdXJlKQorICAgICAgICBtX2NhY2hlLmNsZWFyKCk7CiB9CiAKIGNsYXNzIENTU0ZvbnRB
Y2Nlc3NvciBmaW5hbCA6IHB1YmxpYyBGb250QWNjZXNzb3IgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1NlZ21lbnRlZEZvbnRGYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU2VnbWVudGVkRm9udEZhY2UuaAppbmRleCBmNjZlNzMzOTMyMGFhYmFiYzMwNDhlYWYwMTE2
ODBkNDIwZjk5MzZjLi5hNjNjZTViZmU5OTI4YmMyN2ZkNWM4NTY1ZDE5N2U4NmZhYWIwNjBkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VnbWVudGVkRm9udEZhY2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VnbWVudGVkRm9udEZhY2UuaApAQCAtNTgsNyArNTgs
NyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgQ1NTU2VnbWVudGVkRm9udEZhY2UoKTsKLSAg
ICB2b2lkIGZvbnRMb2FkZWQoQ1NTRm9udEZhY2UmKSBmaW5hbDsKKyAgICB2b2lkIGZvbnRTdGF0
ZUNoYW5nZWQoQ1NTRm9udEZhY2UmLCBDU1NGb250RmFjZTo6U3RhdHVzLCBDU1NGb250RmFjZTo6
U3RhdHVzIG5ld1N0YXRlKSBmaW5hbDsKIAogICAgIEhhc2hNYXA8Rm9udERlc2NyaXB0aW9uS2V5
LCBGb250UmFuZ2VzLCBGb250RGVzY3JpcHRpb25LZXlIYXNoLCBXVEY6OlNpbXBsZUNsYXNzSGFz
aFRyYWl0czxGb250RGVzY3JpcHRpb25LZXk+PiBtX2NhY2hlOwogICAgIFZlY3RvcjxSZWY8Q1NT
Rm9udEZhY2U+LCAxPiBtX2ZvbnRGYWNlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGVh
MmE1OWYzNDI1OThkMmJhMDVhZjc1YTk4NWE4MzFiMzQ1MGU5YTYuLmIwZWE4NDY5YjI3NzhjYTg5
NmI0NDg3MjIyMzU1ZTgwNzRlZGUyYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMjM3
Miw2ICsyMzcyLDkgQEAgU3R5bGU6OlJlc29sdmVyJiBEb2N1bWVudDo6dXNlckFnZW50U2hhZG93
VHJlZVN0eWxlUmVzb2x2ZXIoKQogCiB2b2lkIERvY3VtZW50Ojpmb250c05lZWRVcGRhdGUoRm9u
dFNlbGVjdG9yJikKIHsKKyAgICBpZiAobV9pblN0eWxlUmVjYWxjKQorICAgICAgICByZXR1cm47
CisKICAgICBpbnZhbGlkYXRlTWF0Y2hlZFByb3BlcnRpZXNDYWNoZUFuZEZvcmNlU3R5bGVSZWNh
bGMoKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDk5MTU1ZDVjNjA0YTA2MmMxMjkyMjFhNDhmNGZmNTgxMzIzNDY3
OWEuLmMwNzVlZTc4ZTE3NTA1ZTgxYzNhYmYxM2RhMmMxNjBjYWU4YmQxNmEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAyMS0wMi0wMiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBw
bGUuY29tPgorCisgICAgICAgIFJlbW92ZSBhbm90aGVyIHVzZSBvZiBGb250U2VsZWN0b3IgZnJv
bSB3aXRoaW4gQ1NTRm9udEZhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyMTA3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1kb2N1bWVudHMt
ZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1t
dWx0aXBsZS1kb2N1bWVudHMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2ZvbnQt
bG9hZGluZy1tdWx0aXBsZS1zZXRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1zZXRzLmh0bWw6IEFkZGVkLgorCiAyMDIxLTAy
LTAyICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgUHJvdmlkZSBtb2Nr
IGR0bWYgc2VuZGVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1sb2Fk
aW5nLW11bHRpcGxlLWRvY3VtZW50cy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1kb2N1bWVudHMtZXhwZWN0ZWQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41MTk1MGIxZjVkZTAwNjg4NDlhYmExN2ZhZmJiYWEzMGJjNTMzNmU4Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1kb2N1
bWVudHMtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDI1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8c3R5bGU+CitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogIldl
YkZvbnQiOworICAgIHNyYzogdXJsKCIuLi8uLi9yZXNvdXJjZXMvQWhlbS50dGYiKSBmb3JtYXQo
InRydWV0eXBlIik7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IHN0eWxlPSJm
b250OiAzMnB4ICdXZWJGb250JzsiPkhlbGxvPC9kaXY+CisKKzxpZnJhbWUgaWQ9InRhcmdldCIg
c3JjZG9jPSIKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdiBzdHlsZT0nZm9udDogMzJweCBXZWJGb250Oyc+SGVsbG88L2Rpdj4KKzwvYm9keT4K
KzwvaHRtbD4iPjwvaWZyYW1lPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRpcGxlLWRvY3VtZW50cy5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1kb2N1bWVudHMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zNTU1NDA5ZDcyNzJlZmQyMTNhMGFjMThjMjU2MDBlZWQxYzkxMTEwCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0
aXBsZS1kb2N1bWVudHMuaHRtbApAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgc3R5bGU9ImZvbnQ6IDMycHggJ1dl
YkZvbnQnOyI+SGVsbG88L2Rpdj4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cis8L3NjcmlwdD4KKworPGlmcmFtZSBpZD0i
dGFyZ2V0IiBzcmNkb2M9IgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2IHN0eWxlPSdmb250OiAzMnB4IFdlYkZvbnQ7Jz5IZWxsbzwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPiI+PC9pZnJhbWU+CisKKzxzY3JpcHQ+Cit2YXIgZm9udCA9IG5ldyBG
b250RmFjZSgiV2ViRm9udCIsICJ1cmwoJy4uLy4uL3Jlc291cmNlcy9BaGVtLnR0ZicpIGZvcm1h
dCgndHJ1ZXR5cGUnKSIpOworZG9jdW1lbnQuZm9udHMuYWRkKGZvbnQpOworZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInRhcmdldCIpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQuZm9udHMuYWRkKGZv
bnQpOworZm9udC5sb2FkKCkudGhlbihmdW5jdGlvbigpIHsKKyAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfSk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250
LWxvYWRpbmctbXVsdGlwbGUtc2V0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvZm9udC1sb2FkaW5nLW11bHRpcGxlLXNldHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEx
OWE1YzUzOWI1ZGM5ODdkMzUxMTY2MWQ3MGFmYmY1MmQ4ODlhOGQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRpcGxlLXNldHMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1BBU1MgZm9udC5zdGF0dXMgaXMgInVubG9hZGVkIgor
UEFTUyBzZXQxLnN0YXR1cyBpcyAibG9hZGVkIgorUEFTUyBzZXQyLnN0YXR1cyBpcyAibG9hZGVk
IgorUEFTUyBmb250LnN0YXR1cyBpcyAibG9hZGluZyIKK1BBU1Mgc2V0MS5zdGF0dXMgaXMgImxv
YWRpbmciCitQQVNTIHNldDIuc3RhdHVzIGlzICJsb2FkaW5nIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC9mb250LWxvYWRpbmctbXVsdGlwbGUtc2V0cy5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1zZXRzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTkw
MTIxMjcxYzIxNTI0YzA2Y2YyZTJiNTM0NjhlMjZjM2EyYWUwZgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWxvYWRpbmctbXVsdGlwbGUtc2V0cy5odG1sCkBA
IC0wLDAgKzEsNDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICBpbnRlcm5hbHMu
Y2xlYXJNZW1vcnlDYWNoZSgpOworICAgIGludGVybmFscy5pbnZhbGlkYXRlRm9udENhY2hlKCk7
Cit9Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cit2YXIgZm9udCA9IG5ldyBGb250RmFj
ZSgiV2ViRm9udCIsICJ1cmwoJy4uLy4uL3Jlc291cmNlcy9BaGVtLnR0ZicpIGZvcm1hdCgndHJ1
ZXR5cGUnKSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmb250LnN0YXR1cyIsICJ1bmxvYWRl
ZCIpOwordmFyIHNldDEgPSBuZXcgRm9udEZhY2VTZXQoW2ZvbnRdKTsKK3ZhciBzZXQyID0gbmV3
IEZvbnRGYWNlU2V0KFtmb250XSk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNldDEuc3RhdHVz
IiwgImxvYWRlZCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZXQyLnN0YXR1cyIsICJsb2Fk
ZWQiKTsKK2ZvbnQubG9hZCgpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmb250LnN0YXR1cyIs
ICJsb2FkaW5nIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNldDEuc3RhdHVzIiwgImxvYWRp
bmciKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygic2V0Mi5zdGF0dXMiLCAibG9hZGluZyIpOwor
dmFyIGNvdW50ID0gMDsKK3NldDEucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICArK2NvdW50
OworICAgIGlmIChjb3VudCA9PSAyKQorICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKK30sIGZ1bmN0
aW9uKCkgeworICAgIHRlc3RGYWlsZWQoIlByb21pc2Ugc2hvdWxkIG5vdCBiZSByZWplY3RlZC4i
KTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworc2V0MS5yZWFkeS50aGVuKGZ1bmN0aW9uKCkg
eworICAgICsrY291bnQ7CisgICAgaWYgKGNvdW50ID09IDIpCisgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworfSwgZnVuY3Rpb24oKSB7CisgICAgdGVzdEZhaWxlZCgiUHJvbWlzZSBzaG91bGQgbm90
IGJlIHJlamVjdGVkLiIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419590</attachid>
            <date>2021-02-08 07:42:10 -0800</date>
            <delta_ts>2021-02-09 02:58:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221071-20210208154208.patch</filename>
            <type>text/plain</type>
            <size>15570</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWIzMmU3YzMzZWQyODcy
ODMxZGFlOGM0ZmEyMjBlM2E3MDMwNDllNS4uOTRmOTc4NDdjM2NkNTE2YTJlMTc5ZjlkM2ZiZDkw
YzI3YjMyOTA3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTAyLTAyICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGFu
b3RoZXIgdXNlIG9mIEZvbnRTZWxlY3RvciBmcm9tIHdpdGhpbiBDU1NGb250RmFjZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMDcxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5zdGVhZCBvZiBDU1NG
b250RmFjZSBkaXJlY3RseSBrbm93aW5nIGFib3V0IENTU0ZvbnRTZWxlY3Rvciwgd2UgY2FuIGp1
c3QgbWFrZSBDU1NGb250U2VsZWN0b3IKKyAgICAgICAgaW5oZXJpdCBmcm9tIENTU0ZvbnRGYWNl
OjpDbGllbnQuCisKKyAgICAgICAgQWxzbywgY2xlYW4gdXAgdGhlIGNhbGxiYWNrIG1ldGhvZHMg
YSBsaXR0bGUgYml0LiBUaGVyZSdzIG5vIG5lZWQgdG8gaGF2ZSBhIGZvbnRMb2FkZWQoKSBjYWxs
YmFjaworICAgICAgICBiZWNhdXNlIGZvbnRTdGF0ZUNoYW5nZWQoKSBpcyBzdHJpY3RseSBtb3Jl
IHBvd2VyZnVsLgorCisgICAgICAgIFRlc3RzOiBmYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRp
cGxlLWRvY3VtZW50cy5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQvZm9udC1sb2FkaW5n
LW11bHRpcGxlLXNldHMuaHRtbAorCisgICAgICAgICogY3NzL0NTU0ZvbnRGYWNlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNlOjpDU1NGb250RmFjZSk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NGb250RmFjZTo6Zm9udExvYWRFdmVudE9jY3VycmVkKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0ZvbnRGYWNlOjp1cGRhdGVTdHlsZUlmTmVlZGVkKToKKyAgICAgICAgKiBjc3MvQ1NT
Rm9udEZhY2UuaDoKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VTZXQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTRm9udEZhY2VTZXQ6OmZvbnRTdGF0ZUNoYW5nZWQpOgorICAgICAgICAqIGNz
cy9DU1NGb250U2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFNlbGVjdG9y
Ojpmb250TW9kaWZpZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFNlbGVjdG9yOjpmb250
U3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcjo6dXBkYXRl
U3R5bGVJZk5lZWRlZCk6CisgICAgICAgICogY3NzL0NTU0ZvbnRTZWxlY3Rvci5oOgorICAgICAg
ICAqIGNzcy9DU1NTZWdtZW50ZWRGb250RmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NT
ZWdtZW50ZWRGb250RmFjZTo6Zm9udFN0YXRlQ2hhbmdlZCk6CisgICAgICAgICogY3NzL0NTU1Nl
Z21lbnRlZEZvbnRGYWNlLmg6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudDo6dXNlckFnZW50U2hhZG93VHJlZVN0eWxlUmVzb2x2ZXJJZkV4aXN0
cyk6CisgICAgICAgICogc3R5bGUvU3R5bGVTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZTo6U2NvcGU6OmludmFsaWRhdGVNYXRjaGVkRGVjbGFyYXRpb25zQ2FjaGUpOgorCiAyMDIx
LTAyLTAyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBNaXNzaW5nIGV4Y2VwdGlvbiBjaGVjayB3aXRoIG5ldyBNZWRpYVN0cmVhbSgwKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKaW5kZXggODVlYmU1NmFlMmY5NTNhOTBjNmE5ZDNjZTcx
NTk1NjUzYjRjNDhmZi4uMTQxMjIwYjI4NjFjNWZhYTgyMjA1NTgwNjIxZDY4YTQ0MDUyZGQxZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwCkBAIC05Myw2ICs5Myw4IEBAIENTU0ZvbnRG
YWNlOjpDU1NGb250RmFjZShDU1NGb250U2VsZWN0b3IqIGZvbnRTZWxlY3RvciwgU3R5bGVSdWxl
Rm9udEZhY2UqIGNzc0NvCiAgICAgOiBDU1NGb250RmFjZShmb250U2VsZWN0b3IgJiYgZm9udFNl
bGVjdG9yLT5kb2N1bWVudCgpID8gJmZvbnRTZWxlY3Rvci0+ZG9jdW1lbnQoKS0+c2V0dGluZ3Mo
KSA6IG51bGxwdHIsIGNzc0Nvbm5lY3Rpb24sIHdyYXBwZXIsIGlzTG9jYWxGYWxsYmFjaykKIHsK
ICAgICBtX2ZvbnRTZWxlY3RvciA9IG1ha2VXZWFrUHRyKGZvbnRTZWxlY3Rvcik7IC8vIEZJWE1F
OiBJZGVhbGx5IHRoaXMgZGF0YSBtZW1iZXIgd291bGQgZ28gYXdheSAoaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODM1MSkuCisgICAgaWYgKGZvbnRTZWxlY3RvcikK
KyAgICAgICAgYWRkQ2xpZW50KCpmb250U2VsZWN0b3IpOwogfQogCiBDU1NGb250RmFjZTo6Q1NT
Rm9udEZhY2UoY29uc3QgU2V0dGluZ3MqIHNldHRpbmdzLCBTdHlsZVJ1bGVGb250RmFjZSogY3Nz
Q29ubmVjdGlvbiwgRm9udEZhY2UqIHdyYXBwZXIsIGJvb2wgaXNMb2NhbEZhbGxiYWNrKQpAQCAt
MzUxLDEzICszNTMsNiBAQCB2b2lkIENTU0ZvbnRGYWNlOjpmb250TG9hZEV2ZW50T2NjdXJyZWQo
KQogICAgIC8vIHdoZW4gYSBzb3VyY2UgaXMgZmFpbGVkIG9yIHN1Y2NlZWRlZCBiZWZvcmUgd2Ug
aGF2ZSBhc2tlZCBpdCB0byBsb2FkLgogICAgIGlmIChtX3NvdXJjZXNQb3B1bGF0ZWQpCiAgICAg
ICAgIHB1bXAoRXh0ZXJuYWxSZXNvdXJjZURvd25sb2FkUG9saWN5OjpGb3JiaWQpOwotCi0gICAg
aWYgKG1fZm9udFNlbGVjdG9yKQotICAgICAgICBtX2ZvbnRTZWxlY3Rvci0+Zm9udExvYWRlZCgp
OwotCi0gICAgaXRlcmF0ZUNsaWVudHMobV9jbGllbnRzLCBbJl0oQ2xpZW50JiBjbGllbnQpIHsK
LSAgICAgICAgY2xpZW50LmZvbnRMb2FkZWQoKnRoaXMpOwotICAgIH0pOwogfQogCiB2b2lkIENT
U0ZvbnRGYWNlOjp0aW1lb3V0RmlyZWQoKQpAQCAtNjgyLDggKzY3Nyw5IEBAIGJvb2wgQ1NTRm9u
dEZhY2U6OnB1cmdlYWJsZSgpIGNvbnN0CiAKIHZvaWQgQ1NTRm9udEZhY2U6OnVwZGF0ZVN0eWxl
SWZOZWVkZWQoKQogewotICAgIGlmIChtX2ZvbnRTZWxlY3RvciAmJiBtX2ZvbnRTZWxlY3Rvci0+
ZG9jdW1lbnQoKSkKLSAgICAgICAgbV9mb250U2VsZWN0b3ItPmRvY3VtZW50KCktPnVwZGF0ZVN0
eWxlSWZOZWVkZWQoKTsKKyAgICBpdGVyYXRlQ2xpZW50cyhtX2NsaWVudHMsIFsmXShDbGllbnQm
IGNsaWVudCkgeworICAgICAgICBjbGllbnQudXBkYXRlU3R5bGVJZk5lZWRlZCgpOworICAgIH0p
OwogfQogCiBib29sIENTU0ZvbnRGYWNlOjpoYXNTVkdGb250RmFjZVNvdXJjZSgpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NGb250RmFjZS5oCmluZGV4IDA1ZDI5NWM0NmZhMzFmN2FjYTgzMGMxMTljYmI3
ZDM3YTFhY2NmMDEuLjYxZmY1M2NiYTMzNjQ1ZTkyYzFmMzQ0MWEyZGVmYzFiZjY4ODgyZDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5oCkBAIC0xMjcsOSArMTI3LDkgQEAgcHVibGljOgogICAg
IGNsYXNzIENsaWVudCB7CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5DbGllbnQoKSA9
IGRlZmF1bHQ7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBmb250TG9hZGVkKENTU0ZvbnRGYWNlJikg
eyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBmb250U3RhdGVDaGFuZ2VkKENTU0ZvbnRGYWNlJiwg
U3RhdHVzIC8qb2xkU3RhdGUqLywgU3RhdHVzIC8qbmV3U3RhdGUqLykgeyB9CiAgICAgICAgIHZp
cnR1YWwgdm9pZCBmb250UHJvcGVydHlDaGFuZ2VkKENTU0ZvbnRGYWNlJiwgQ1NTVmFsdWVMaXN0
KiAvKm9sZEZhbWlsaWVzKi8gPSBudWxscHRyKSB7IH0KKyAgICAgICAgdmlydHVhbCB2b2lkIHVw
ZGF0ZVN0eWxlSWZOZWVkZWQoKSB7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIHJlZigpID0gMDsK
ICAgICAgICAgdmlydHVhbCB2b2lkIGRlcmVmKCkgPSAwOwogICAgIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ZvbnRGYWNlU2V0LmNwcAppbmRleCA3MjliZTAzM2ZjZmI4MmIwMzg5MGEyYTgyOTI0OWI3
NTdlNjkyNGYzLi45Zjk3ZDZiYTM5NTRiMTExOGQyYTdmYWY0NDYwNDg0OWQ0ODQxNjNjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTZXQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNldC5jcHAKQEAgLTUxMiw2ICs1MTIsNyBAQCB2b2lk
IENTU0ZvbnRGYWNlU2V0Ojpmb250U3RhdGVDaGFuZ2VkKENTU0ZvbnRGYWNlJiBmYWNlLCBDU1NG
b250RmFjZTo6U3RhdHVzIG9sZAogICAgICAgICB9KTsKICAgICAgICAgZGVjcmVtZW50QWN0aXZl
Q291bnQoKTsKICAgICB9CisgICAgLy8gRklYTUU6IENsaWVudHMgc2hvdWxkIGtub3cgYWJvdXQg
VGltZWRPdXQgZXZlbnRzIHNvIHRoZXkgY2FuIHVwZGF0ZSB0aGVpciBzdHlsZS4KIH0KIAogdm9p
ZCBDU1NGb250RmFjZVNldDo6Zm9udFByb3BlcnR5Q2hhbmdlZChDU1NGb250RmFjZSYgZmFjZSwg
Q1NTVmFsdWVMaXN0KiBvbGRGYW1pbGllcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250U2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rv
ci5jcHAKaW5kZXggNDM0ZTRjY2NhYTIxMzdiMmVlZjY5OGUyMWI2M2I2YmFjNWQ2YWY4ZC4uM2Mz
ZDIxNTM5NmEzYzg5OGViZjFiMjRhYTYyNzE3NzA2YTFlOTg1NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ZvbnRTZWxlY3Rvci5jcHAKQEAgLTI0OCwxNyArMjQ4LDI1IEBAIHZvaWQgQ1NTRm9udFNl
bGVjdG9yOjpvcHBvcnR1bmlzdGljYWxseVN0YXJ0Rm9udERhdGFVUkxMb2FkaW5nKGNvbnN0IEZv
bnRDYXNjYWRlCiAgICAgICAgIGZhY2UtPm9wcG9ydHVuaXN0aWNhbGx5U3RhcnRGb250RGF0YVVS
TExvYWRpbmcoKnRoaXMpOwogfQogCi12b2lkIENTU0ZvbnRTZWxlY3Rvcjo6Zm9udExvYWRlZCgp
Cit2b2lkIENTU0ZvbnRTZWxlY3Rvcjo6Zm9udE1vZGlmaWVkKCkKIHsKLSAgICBkaXNwYXRjaElu
dmFsaWRhdGlvbkNhbGxiYWNrcygpOworICAgIGlmICghbV9jcmVhdGluZ0ZvbnQgJiYgIW1fYnVp
bGRJc1VuZGVyd2F5KQorICAgICAgICBkaXNwYXRjaEludmFsaWRhdGlvbkNhbGxiYWNrcygpOwog
fQogCi12b2lkIENTU0ZvbnRTZWxlY3Rvcjo6Zm9udE1vZGlmaWVkKCkKK3ZvaWQgQ1NTRm9udFNl
bGVjdG9yOjpmb250U3RhdGVDaGFuZ2VkKENTU0ZvbnRGYWNlJiBmb250RmFjZSwgQ1NTRm9udEZh
Y2U6OlN0YXR1cyBvbGRTdGF0ZSwgQ1NTRm9udEZhY2U6OlN0YXR1cyBuZXdTdGF0ZSkKIHsKLSAg
ICBpZiAoIW1fY3JlYXRpbmdGb250ICYmICFtX2J1aWxkSXNVbmRlcndheSkKKyAgICBVTlVTRURf
UEFSQU0obmV3U3RhdGUpOworICAgIGlmIChvbGRTdGF0ZSA9PSBDU1NGb250RmFjZTo6U3RhdHVz
OjpMb2FkaW5nICYmICFmb250RmFjZS5zaG91bGRJZ25vcmVGb250TG9hZENvbXBsZXRpb25zKCkp
CiAgICAgICAgIGRpc3BhdGNoSW52YWxpZGF0aW9uQ2FsbGJhY2tzKCk7CiB9CiAKK3ZvaWQgQ1NT
Rm9udFNlbGVjdG9yOjp1cGRhdGVTdHlsZUlmTmVlZGVkKCkKK3sKKyAgICBpZiAoZG9jdW1lbnQo
KSkKKyAgICAgICAgZG9jdW1lbnQoKS0+dXBkYXRlU3R5bGVJZk5lZWRlZCgpOworfQorCiB2b2lk
IENTU0ZvbnRTZWxlY3Rvcjo6Zm9udENhY2hlSW52YWxpZGF0ZWQoKQogewogICAgIGRpc3BhdGNo
SW52YWxpZGF0aW9uQ2FsbGJhY2tzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udFNlbGVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmgK
aW5kZXggODgwYTBkY2VkNTQyN2U0YzM1ODM3ZWE5YzQyMjk1MjNhODlmN2M5My4uNjA3ZTU1YTVi
ODMwZmFhM2FiNTU5MmY5ZDJkMGRhNjhmNDE5ZGRhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
U2VsZWN0b3IuaApAQCAtNDgsNyArNDgsNyBAQCBjbGFzcyBDYWNoZWRGb250OwogY2xhc3MgRG9j
dW1lbnQ7CiBjbGFzcyBTdHlsZVJ1bGVGb250RmFjZTsKIAotY2xhc3MgQ1NTRm9udFNlbGVjdG9y
IGZpbmFsIDogcHVibGljIEZvbnRTZWxlY3RvciwgcHVibGljIENhbk1ha2VXZWFrUHRyPENTU0Zv
bnRTZWxlY3Rvcj4sIHB1YmxpYyBBY3RpdmVET01PYmplY3QgeworY2xhc3MgQ1NTRm9udFNlbGVj
dG9yIGZpbmFsIDogcHVibGljIEZvbnRTZWxlY3RvciwgcHVibGljIENTU0ZvbnRGYWNlOjpDbGll
bnQsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxDU1NGb250U2VsZWN0b3I+LCBwdWJsaWMgQWN0aXZl
RE9NT2JqZWN0IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPENTU0ZvbnRTZWxlY3Rvcj4gY3Jl
YXRlKERvY3VtZW50JiBkb2N1bWVudCkKICAgICB7CkBAIC03MCw3ICs3MCw2IEBAIHB1YmxpYzoK
IAogICAgIHZvaWQgYWRkRm9udEZhY2VSdWxlKFN0eWxlUnVsZUZvbnRGYWNlJiwgYm9vbCBpc0lu
aXRpYXRpbmdFbGVtZW50SW5Vc2VyQWdlbnRTaGFkb3dUcmVlKTsKIAotICAgIHZvaWQgZm9udExv
YWRlZCgpOwogICAgIHZvaWQgZm9udENhY2hlSW52YWxpZGF0ZWQoKSBmaW5hbDsKIAogICAgIGJv
b2wgaXNFbXB0eSgpIGNvbnN0OwpAQCAtOTEsNiArOTAsMTAgQEAgcHVibGljOgogCiAgICAgdm9p
ZCBsb2FkUGVuZGluZ0ZvbnRzKCk7CiAKKyAgICAvLyBDU1NGb250RmFjZTo6Q2xpZW50IG5lZWRz
IHRvIGJlIGFibGUgdG8gYmUgaGVsZCBpbiBhIFJlZlB0ci4KKyAgICB2b2lkIHJlZigpIGZpbmFs
IHsgRm9udFNlbGVjdG9yOjpyZWYoKTsgfQorICAgIHZvaWQgZGVyZWYoKSBmaW5hbCB7IEZvbnRT
ZWxlY3Rvcjo6ZGVyZWYoKTsgfQorCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IENTU0ZvbnRTZWxl
Y3RvcihEb2N1bWVudCYpOwogCkBAIC05OCw4ICsxMDEsMTEgQEAgcHJpdmF0ZToKIAogICAgIHZv
aWQgb3Bwb3J0dW5pc3RpY2FsbHlTdGFydEZvbnREYXRhVVJMTG9hZGluZyhjb25zdCBGb250Q2Fz
Y2FkZURlc2NyaXB0aW9uJiwgY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5KSBmaW5hbDsKIAotICAg
IHZvaWQgZm9udE1vZGlmaWVkKCk7CisgICAgLy8gQ1NTRm9udEZhY2U6OkNsaWVudAorICAgIHZv
aWQgZm9udFN0YXRlQ2hhbmdlZChDU1NGb250RmFjZSYsIENTU0ZvbnRGYWNlOjpTdGF0dXMsIENT
U0ZvbnRGYWNlOjpTdGF0dXMgbmV3U3RhdGUpIGZpbmFsOworICAgIHZvaWQgdXBkYXRlU3R5bGVJ
Zk5lZWRlZCgpIGZpbmFsOwogCisgICAgdm9pZCBmb250TW9kaWZpZWQoKTsKICAgICB2b2lkIGZv
bnRMb2FkaW5nVGltZXJGaXJlZCgpOwogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VnbWVudGVkRm9udEZhY2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1NlZ21lbnRlZEZvbnRGYWNlLmNwcAppbmRleCA4YmY0NGIwMjE2OTRk
YmIwODRlNTQ3YTc0M2I0ZmRjZDU1YWFiNWI1Li44NTQzNzliNDNkZjNlNDdlNDBjMjljNDZmMTIx
YjAzYmQ5ODMzZGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VnbWVudGVk
Rm9udEZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWdtZW50ZWRGb250RmFj
ZS5jcHAKQEAgLTUxLDkgKzUxLDExIEBAIHZvaWQgQ1NTU2VnbWVudGVkRm9udEZhY2U6OmFwcGVu
ZEZvbnRGYWNlKFJlZjxDU1NGb250RmFjZT4mJiBmb250RmFjZSkKICAgICBtX2ZvbnRGYWNlcy5h
cHBlbmQoV1RGTW92ZShmb250RmFjZSkpOwogfQogCi12b2lkIENTU1NlZ21lbnRlZEZvbnRGYWNl
Ojpmb250TG9hZGVkKENTU0ZvbnRGYWNlJikKK3ZvaWQgQ1NTU2VnbWVudGVkRm9udEZhY2U6OmZv
bnRTdGF0ZUNoYW5nZWQoQ1NTRm9udEZhY2UmIGZvbnRGYWNlLCBDU1NGb250RmFjZTo6U3RhdHVz
IG9sZFN0YXRlLCBDU1NGb250RmFjZTo6U3RhdHVzIG5ld1N0YXRlKQogewotICAgIG1fY2FjaGUu
Y2xlYXIoKTsKKyAgICBVTlVTRURfUEFSQU0obmV3U3RhdGUpOworICAgIGlmIChvbGRTdGF0ZSA9
PSBDU1NGb250RmFjZTo6U3RhdHVzOjpMb2FkaW5nICYmICFmb250RmFjZS5zaG91bGRJZ25vcmVG
b250TG9hZENvbXBsZXRpb25zKCkpCisgICAgICAgIG1fY2FjaGUuY2xlYXIoKTsKIH0KIAogY2xh
c3MgQ1NTRm9udEFjY2Vzc29yIGZpbmFsIDogcHVibGljIEZvbnRBY2Nlc3NvciB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VnbWVudGVkRm9udEZhY2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NTZWdtZW50ZWRGb250RmFjZS5oCmluZGV4IGY2NmU3MzM5MzIwYWFiYWJj
MzA0OGVhZjAxMTY4MGQ0MjBmOTkzNmMuLmE2M2NlNWJmZTk5MjhiYzI3ZmQ1Yzg1NjVkMTk3ZTg2
ZmFhYjA2MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWdtZW50ZWRGb250
RmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWdtZW50ZWRGb250RmFjZS5oCkBA
IC01OCw3ICs1OCw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBDU1NTZWdtZW50ZWRGb250
RmFjZSgpOwotICAgIHZvaWQgZm9udExvYWRlZChDU1NGb250RmFjZSYpIGZpbmFsOworICAgIHZv
aWQgZm9udFN0YXRlQ2hhbmdlZChDU1NGb250RmFjZSYsIENTU0ZvbnRGYWNlOjpTdGF0dXMsIENT
U0ZvbnRGYWNlOjpTdGF0dXMgbmV3U3RhdGUpIGZpbmFsOwogCiAgICAgSGFzaE1hcDxGb250RGVz
Y3JpcHRpb25LZXksIEZvbnRSYW5nZXMsIEZvbnREZXNjcmlwdGlvbktleUhhc2gsIFdURjo6U2lt
cGxlQ2xhc3NIYXNoVHJhaXRzPEZvbnREZXNjcmlwdGlvbktleT4+IG1fY2FjaGU7CiAgICAgVmVj
dG9yPFJlZjxDU1NGb250RmFjZT4sIDE+IG1fZm9udEZhY2VzOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApp
bmRleCAwNmFkYTFiNjQ4MWQ5ZTk4MzNjZTRhMTNhZWQxMTljZGRlNDgyM2M3Li42NzhlMmQzNTNk
YWI2OTNmYzhiYWE5MjI0NGI4YTAwY2Q3ZjY4YjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAt
NTM3LDYgKzUzNyw3IEBAIHB1YmxpYzoKICAgICBib29sIHNhd0VsZW1lbnRzSW5Lbm93bk5hbWVz
cGFjZXMoKSBjb25zdCB7IHJldHVybiBtX3Nhd0VsZW1lbnRzSW5Lbm93bk5hbWVzcGFjZXM7IH0K
IAogICAgIFN0eWxlOjpSZXNvbHZlciYgdXNlckFnZW50U2hhZG93VHJlZVN0eWxlUmVzb2x2ZXIo
KTsKKyAgICBTdHlsZTo6UmVzb2x2ZXIqIHVzZXJBZ2VudFNoYWRvd1RyZWVTdHlsZVJlc29sdmVy
SWZFeGlzdHMoKSB7IHJldHVybiBtX3VzZXJBZ2VudFNoYWRvd1RyZWVTdHlsZVJlc29sdmVyLmdl
dCgpOyB9CiAKICAgICBDU1NGb250U2VsZWN0b3ImIGZvbnRTZWxlY3RvcigpIHsgcmV0dXJuIG1f
Zm9udFNlbGVjdG9yOyB9CiAgICAgY29uc3QgQ1NTRm9udFNlbGVjdG9yJiBmb250U2VsZWN0b3Io
KSBjb25zdCB7IHJldHVybiBtX2ZvbnRTZWxlY3RvcjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3R5bGUvU3R5bGVTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNj
b3BlLmNwcAppbmRleCA0ODM0MjE5ZjYxNmEzMmVkZDk3MmJhMDYwYzAxZTQwNTMxYWJjOTgzLi42
ZDc5NTBiOTJhMmFkMmQ0MGQ1MWQxNGZjNzQ0NjEyNmE0YjExMGRlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHls
ZS9TdHlsZVNjb3BlLmNwcApAQCAtNjc2LDcgKzY3NiwxMSBAQCB2b2lkIFNjb3BlOjppbnZhbGlk
YXRlTWF0Y2hlZERlY2xhcmF0aW9uc0NhY2hlKCkKICAgICAgICAgICAgIGRlc2NlbmRhbnRTaGFk
b3dSb290LT5zdHlsZVNjb3BlKCkuaW52YWxpZGF0ZU1hdGNoZWREZWNsYXJhdGlvbnNDYWNoZSgp
OwogICAgIH0KIAotICAgIGlmIChhdXRvKiByZXNvbHZlciA9IHJlc29sdmVySWZFeGlzdHMoKSkK
KyAgICAvLyBXZSBkb24ndCB3YW50IHRvIGNyZWF0ZSB0aGUgc2hhZG93IHRyZWUgc3R5bGUgcmVz
b2x2ZXIgaWYgaXQgZG9lc24ndCBleGlzdAorICAgIC8vIGluIHRoaXMgY2FzZSwgc28gd2UgYXZv
aWQgdXNpbmcgcmVzb2x2ZXJJZkV4aXN0cywgd2hpY2ggd291bGQgZG8gdGhpcy4KKyAgICBSZXNv
bHZlciogcmVzb2x2ZXIgPSBzaG91bGRVc2VTaGFyZWRVc2VyQWdlbnRTaGFkb3dUcmVlU3R5bGVS
ZXNvbHZlcigpID8KKyAgICAgICAgbV9kb2N1bWVudC51c2VyQWdlbnRTaGFkb3dUcmVlU3R5bGVS
ZXNvbHZlcklmRXhpc3RzKCkgOiBtX3Jlc29sdmVyLmdldCgpOworICAgIGlmIChyZXNvbHZlcikK
ICAgICAgICAgcmVzb2x2ZXItPmludmFsaWRhdGVNYXRjaGVkRGVjbGFyYXRpb25zQ2FjaGUoKTsK
IH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDk5MTU1ZDVjNjA0YTA2MmMxMjkyMjFhNDhmNGZmNTgxMzIzNDY3OWEuLmMw
NzVlZTc4ZTE3NTA1ZTgxYzNhYmYxM2RhMmMxNjBjYWU4YmQxNmEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAyMS0wMi0wMiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29t
PgorCisgICAgICAgIFJlbW92ZSBhbm90aGVyIHVzZSBvZiBGb250U2VsZWN0b3IgZnJvbSB3aXRo
aW4gQ1NTRm9udEZhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyMTA3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1kb2N1bWVudHMtZXhwZWN0
ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBs
ZS1kb2N1bWVudHMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2ZvbnQtbG9hZGlu
Zy1tdWx0aXBsZS1zZXRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0
L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1zZXRzLmh0bWw6IEFkZGVkLgorCiAyMDIxLTAyLTAyICBS
b2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgUHJvdmlkZSBtb2NrIGR0bWYg
c2VuZGVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1sb2FkaW5nLW11
bHRpcGxlLWRvY3VtZW50cy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Zv
bnQtbG9hZGluZy1tdWx0aXBsZS1kb2N1bWVudHMtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
MTk1MGIxZjVkZTAwNjg4NDlhYmExN2ZhZmJiYWEzMGJjNTMzNmU4Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1kb2N1bWVudHMt
ZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDI1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c3R5bGU+CitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogIldlYkZvbnQi
OworICAgIHNyYzogdXJsKCIuLi8uLi9yZXNvdXJjZXMvQWhlbS50dGYiKSBmb3JtYXQoInRydWV0
eXBlIik7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IHN0eWxlPSJmb250OiAz
MnB4ICdXZWJGb250JzsiPkhlbGxvPC9kaXY+CisKKzxpZnJhbWUgaWQ9InRhcmdldCIgc3JjZG9j
PSIKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5PgorPGRp
diBzdHlsZT0nZm9udDogMzJweCBXZWJGb250Oyc+SGVsbG88L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4iPjwvaWZyYW1lPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRpcGxlLWRvY3VtZW50cy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1kb2N1bWVudHMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zNTU1NDA5ZDcyNzJlZmQyMTNhMGFjMThjMjU2MDBlZWQxYzkxMTEwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1k
b2N1bWVudHMuaHRtbApAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgc3R5bGU9ImZvbnQ6IDMycHggJ1dlYkZvbnQn
OyI+SGVsbG88L2Rpdj4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cis8L3NjcmlwdD4KKworPGlmcmFtZSBpZD0idGFyZ2V0
IiBzcmNkb2M9IgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2IHN0eWxlPSdmb250OiAzMnB4IFdlYkZvbnQ7Jz5IZWxsbzwvZGl2PgorPC9ib2R5
PgorPC9odG1sPiI+PC9pZnJhbWU+CisKKzxzY3JpcHQ+Cit2YXIgZm9udCA9IG5ldyBGb250RmFj
ZSgiV2ViRm9udCIsICJ1cmwoJy4uLy4uL3Jlc291cmNlcy9BaGVtLnR0ZicpIGZvcm1hdCgndHJ1
ZXR5cGUnKSIpOworZG9jdW1lbnQuZm9udHMuYWRkKGZvbnQpOworZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRhcmdldCIpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQuZm9udHMuYWRkKGZvbnQpOwor
Zm9udC5sb2FkKCkudGhlbihmdW5jdGlvbigpIHsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfSk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWxvYWRp
bmctbXVsdGlwbGUtc2V0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9u
dC1sb2FkaW5nLW11bHRpcGxlLXNldHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmExOWE1YzUz
OWI1ZGM5ODdkMzUxMTY2MWQ3MGFmYmY1MmQ4ODlhOGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRpcGxlLXNldHMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTAgQEAKK1BBU1MgZm9udC5zdGF0dXMgaXMgInVubG9hZGVkIgorUEFTUyBz
ZXQxLnN0YXR1cyBpcyAibG9hZGVkIgorUEFTUyBzZXQyLnN0YXR1cyBpcyAibG9hZGVkIgorUEFT
UyBmb250LnN0YXR1cyBpcyAibG9hZGluZyIKK1BBU1Mgc2V0MS5zdGF0dXMgaXMgImxvYWRpbmci
CitQQVNTIHNldDIuc3RhdHVzIGlzICJsb2FkaW5nIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC9mb250LWxvYWRpbmctbXVsdGlwbGUtc2V0cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1zZXRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTkwMTIxMjcx
YzIxNTI0YzA2Y2YyZTJiNTM0NjhlMjZjM2EyYWUwZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC9mb250LWxvYWRpbmctbXVsdGlwbGUtc2V0cy5odG1sCkBAIC0wLDAg
KzEsNDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICBpbnRlcm5hbHMuY2xlYXJN
ZW1vcnlDYWNoZSgpOworICAgIGludGVybmFscy5pbnZhbGlkYXRlRm9udENhY2hlKCk7Cit9Cit3
aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cit2YXIgZm9udCA9IG5ldyBGb250RmFjZSgiV2Vi
Rm9udCIsICJ1cmwoJy4uLy4uL3Jlc291cmNlcy9BaGVtLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUn
KSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmb250LnN0YXR1cyIsICJ1bmxvYWRlZCIpOwor
dmFyIHNldDEgPSBuZXcgRm9udEZhY2VTZXQoW2ZvbnRdKTsKK3ZhciBzZXQyID0gbmV3IEZvbnRG
YWNlU2V0KFtmb250XSk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNldDEuc3RhdHVzIiwgImxv
YWRlZCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZXQyLnN0YXR1cyIsICJsb2FkZWQiKTsK
K2ZvbnQubG9hZCgpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmb250LnN0YXR1cyIsICJsb2Fk
aW5nIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNldDEuc3RhdHVzIiwgImxvYWRpbmciKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygic2V0Mi5zdGF0dXMiLCAibG9hZGluZyIpOwordmFyIGNv
dW50ID0gMDsKK3NldDEucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICArK2NvdW50OworICAg
IGlmIChjb3VudCA9PSAyKQorICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKK30sIGZ1bmN0aW9uKCkg
eworICAgIHRlc3RGYWlsZWQoIlByb21pc2Ugc2hvdWxkIG5vdCBiZSByZWplY3RlZC4iKTsKKyAg
ICBmaW5pc2hKU1Rlc3QoKTsKK30pOworc2V0MS5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAg
ICsrY291bnQ7CisgICAgaWYgKGNvdW50ID09IDIpCisgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
fSwgZnVuY3Rpb24oKSB7CisgICAgdGVzdEZhaWxlZCgiUHJvbWlzZSBzaG91bGQgbm90IGJlIHJl
amVjdGVkLiIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419693</attachid>
            <date>2021-02-09 02:58:58 -0800</date>
            <delta_ts>2021-02-09 08:40:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221071-20210209105856.patch</filename>
            <type>text/plain</type>
            <size>10609</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWIzMmU3YzMzZWQyODcy
ODMxZGFlOGM0ZmEyMjBlM2E3MDMwNDllNS4uZTk5Nzk4ZTEwY2FmN2Q2YWI2ODU5ODhhZjY4MTY4
YzRlY2U5MTUwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTAyLTAyICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGFu
b3RoZXIgdXNlIG9mIEZvbnRTZWxlY3RvciBmcm9tIHdpdGhpbiBDU1NGb250RmFjZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMDcxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5zdGVhZCBvZiBDU1NG
b250RmFjZSBkaXJlY3RseSBrbm93aW5nIGFib3V0IENTU0ZvbnRTZWxlY3Rvciwgd2UgY2FuIGp1
c3QgbWFrZSBDU1NGb250U2VsZWN0b3IKKyAgICAgICAgaW5oZXJpdCBmcm9tIENTU0ZvbnRGYWNl
OjpDbGllbnQuCisKKyAgICAgICAgQWxzbywgY2xlYW4gdXAgdGhlIGNhbGxiYWNrIG1ldGhvZHMg
YSBsaXR0bGUgYml0LgorCisgICAgICAgIFRlc3RzOiBmYXN0L3RleHQvZm9udC1sb2FkaW5nLW11
bHRpcGxlLWRvY3VtZW50cy5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQvZm9udC1sb2Fk
aW5nLW11bHRpcGxlLXNldHMuaHRtbAorCisgICAgICAgICogY3NzL0NTU0ZvbnRGYWNlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNlOjpDU1NGb250RmFjZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NGb250RmFjZTo6Zm9udExvYWRFdmVudE9jY3VycmVkKToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0ZvbnRGYWNlOjp1cGRhdGVTdHlsZUlmTmVlZGVkKToKKyAgICAgICAgKiBjc3Mv
Q1NTRm9udEZhY2UuaDoKKyAgICAgICAgKiBjc3MvQ1NTRm9udFNlbGVjdG9yLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcjo6dXBkYXRlU3R5bGVJZk5lZWRlZCk6CisgICAg
ICAgICogY3NzL0NTU0ZvbnRTZWxlY3Rvci5oOgorCiAyMDIxLTAyLTAyICBDYXJsb3MgR2FyY2lh
IENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBNaXNzaW5nIGV4Y2VwdGlv
biBjaGVjayB3aXRoIG5ldyBNZWRpYVN0cmVhbSgwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ZvbnRGYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5j
cHAKaW5kZXggODVlYmU1NmFlMmY5NTNhOTBjNmE5ZDNjZTcxNTk1NjUzYjRjNDhmZi4uYTU5YTlm
ODkzNGExMGEzYTJmMzcyZWVlM2YzMmI0YmE1NjRmNjc3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dEZhY2UuY3BwCkBAIC05Myw2ICs5Myw4IEBAIENTU0ZvbnRGYWNlOjpDU1NGb250RmFjZShDU1NG
b250U2VsZWN0b3IqIGZvbnRTZWxlY3RvciwgU3R5bGVSdWxlRm9udEZhY2UqIGNzc0NvCiAgICAg
OiBDU1NGb250RmFjZShmb250U2VsZWN0b3IgJiYgZm9udFNlbGVjdG9yLT5kb2N1bWVudCgpID8g
JmZvbnRTZWxlY3Rvci0+ZG9jdW1lbnQoKS0+c2V0dGluZ3MoKSA6IG51bGxwdHIsIGNzc0Nvbm5l
Y3Rpb24sIHdyYXBwZXIsIGlzTG9jYWxGYWxsYmFjaykKIHsKICAgICBtX2ZvbnRTZWxlY3RvciA9
IG1ha2VXZWFrUHRyKGZvbnRTZWxlY3Rvcik7IC8vIEZJWE1FOiBJZGVhbGx5IHRoaXMgZGF0YSBt
ZW1iZXIgd291bGQgZ28gYXdheSAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwODM1MSkuCisgICAgaWYgKGZvbnRTZWxlY3RvcikKKyAgICAgICAgYWRkQ2xpZW50KCpm
b250U2VsZWN0b3IpOwogfQogCiBDU1NGb250RmFjZTo6Q1NTRm9udEZhY2UoY29uc3QgU2V0dGlu
Z3MqIHNldHRpbmdzLCBTdHlsZVJ1bGVGb250RmFjZSogY3NzQ29ubmVjdGlvbiwgRm9udEZhY2Uq
IHdyYXBwZXIsIGJvb2wgaXNMb2NhbEZhbGxiYWNrKQpAQCAtMzUyLDkgKzM1NCw2IEBAIHZvaWQg
Q1NTRm9udEZhY2U6OmZvbnRMb2FkRXZlbnRPY2N1cnJlZCgpCiAgICAgaWYgKG1fc291cmNlc1Bv
cHVsYXRlZCkKICAgICAgICAgcHVtcChFeHRlcm5hbFJlc291cmNlRG93bmxvYWRQb2xpY3k6OkZv
cmJpZCk7CiAKLSAgICBpZiAobV9mb250U2VsZWN0b3IpCi0gICAgICAgIG1fZm9udFNlbGVjdG9y
LT5mb250TG9hZGVkKCk7Ci0KICAgICBpdGVyYXRlQ2xpZW50cyhtX2NsaWVudHMsIFsmXShDbGll
bnQmIGNsaWVudCkgewogICAgICAgICBjbGllbnQuZm9udExvYWRlZCgqdGhpcyk7CiAgICAgfSk7
CkBAIC02ODIsOCArNjgxLDkgQEAgYm9vbCBDU1NGb250RmFjZTo6cHVyZ2VhYmxlKCkgY29uc3QK
IAogdm9pZCBDU1NGb250RmFjZTo6dXBkYXRlU3R5bGVJZk5lZWRlZCgpCiB7Ci0gICAgaWYgKG1f
Zm9udFNlbGVjdG9yICYmIG1fZm9udFNlbGVjdG9yLT5kb2N1bWVudCgpKQotICAgICAgICBtX2Zv
bnRTZWxlY3Rvci0+ZG9jdW1lbnQoKS0+dXBkYXRlU3R5bGVJZk5lZWRlZCgpOworICAgIGl0ZXJh
dGVDbGllbnRzKG1fY2xpZW50cywgWyZdKENsaWVudCYgY2xpZW50KSB7CisgICAgICAgIGNsaWVu
dC51cGRhdGVTdHlsZUlmTmVlZGVkKCk7CisgICAgfSk7CiB9CiAKIGJvb2wgQ1NTRm9udEZhY2U6
Omhhc1NWR0ZvbnRGYWNlU291cmNlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250RmFjZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmgKaW5k
ZXggMDVkMjk1YzQ2ZmEzMWY3YWNhODMwYzExOWNiYjdkMzdhMWFjY2YwMS4uZjQxOWQwN2UzYzIx
MDJmYzBkYWY5MmNiYTA0ZTQwMmUxMWE3MWY2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0ZvbnRGYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmgK
QEAgLTEzMCw2ICsxMzAsNyBAQCBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBmb250TG9h
ZGVkKENTU0ZvbnRGYWNlJikgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBmb250U3RhdGVDaGFu
Z2VkKENTU0ZvbnRGYWNlJiwgU3RhdHVzIC8qb2xkU3RhdGUqLywgU3RhdHVzIC8qbmV3U3RhdGUq
LykgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBmb250UHJvcGVydHlDaGFuZ2VkKENTU0ZvbnRG
YWNlJiwgQ1NTVmFsdWVMaXN0KiAvKm9sZEZhbWlsaWVzKi8gPSBudWxscHRyKSB7IH0KKyAgICAg
ICAgdmlydHVhbCB2b2lkIHVwZGF0ZVN0eWxlSWZOZWVkZWQoKSB7IH0KICAgICAgICAgdmlydHVh
bCB2b2lkIHJlZigpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIGRlcmVmKCkgPSAwOwogICAg
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCmluZGV4IDQzNGU0Y2NjYWEy
MTM3YjJlZWY2OThlMjFiNjNiNmJhYzVkNmFmOGQuLmM4MDJmMWZiMjVmODZiNDc0YjE2OWEzNGEw
M2UwNjFjYWU1OTE1OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2Vs
ZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCkBA
IC0yNDgsNyArMjQ4LDcgQEAgdm9pZCBDU1NGb250U2VsZWN0b3I6Om9wcG9ydHVuaXN0aWNhbGx5
U3RhcnRGb250RGF0YVVSTExvYWRpbmcoY29uc3QgRm9udENhc2NhZGUKICAgICAgICAgZmFjZS0+
b3Bwb3J0dW5pc3RpY2FsbHlTdGFydEZvbnREYXRhVVJMTG9hZGluZygqdGhpcyk7CiB9CiAKLXZv
aWQgQ1NTRm9udFNlbGVjdG9yOjpmb250TG9hZGVkKCkKK3ZvaWQgQ1NTRm9udFNlbGVjdG9yOjpm
b250TG9hZGVkKENTU0ZvbnRGYWNlJikKIHsKICAgICBkaXNwYXRjaEludmFsaWRhdGlvbkNhbGxi
YWNrcygpOwogfQpAQCAtMjU5LDYgKzI1OSwxMiBAQCB2b2lkIENTU0ZvbnRTZWxlY3Rvcjo6Zm9u
dE1vZGlmaWVkKCkKICAgICAgICAgZGlzcGF0Y2hJbnZhbGlkYXRpb25DYWxsYmFja3MoKTsKIH0K
IAordm9pZCBDU1NGb250U2VsZWN0b3I6OnVwZGF0ZVN0eWxlSWZOZWVkZWQoKQoreworICAgIGlm
IChkb2N1bWVudCgpKQorICAgICAgICBkb2N1bWVudCgpLT51cGRhdGVTdHlsZUlmTmVlZGVkKCk7
Cit9CisKIHZvaWQgQ1NTRm9udFNlbGVjdG9yOjpmb250Q2FjaGVJbnZhbGlkYXRlZCgpCiB7CiAg
ICAgZGlzcGF0Y2hJbnZhbGlkYXRpb25DYWxsYmFja3MoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
U2VsZWN0b3IuaAppbmRleCA4ODBhMGRjZWQ1NDI3ZTRjMzU4MzdlYTljNDIyOTUyM2E4OWY3Yzkz
Li43YzM4MjkyMjI0YzY5MDc1NzQ4M2Y2MjM3ZjAwODJiZTkyMTVjMmY2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0ZvbnRTZWxlY3Rvci5oCkBAIC00OCw3ICs0OCw3IEBAIGNsYXNzIENhY2hlZEZvbnQ7
CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIFN0eWxlUnVsZUZvbnRGYWNlOwogCi1jbGFzcyBDU1NG
b250U2VsZWN0b3IgZmluYWwgOiBwdWJsaWMgRm9udFNlbGVjdG9yLCBwdWJsaWMgQ2FuTWFrZVdl
YWtQdHI8Q1NTRm9udFNlbGVjdG9yPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CitjbGFzcyBD
U1NGb250U2VsZWN0b3IgZmluYWwgOiBwdWJsaWMgRm9udFNlbGVjdG9yLCBwdWJsaWMgQ1NTRm9u
dEZhY2U6OkNsaWVudCwgcHVibGljIENhbk1ha2VXZWFrUHRyPENTU0ZvbnRTZWxlY3Rvcj4sIHB1
YmxpYyBBY3RpdmVET01PYmplY3QgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8Q1NTRm9udFNl
bGVjdG9yPiBjcmVhdGUoRG9jdW1lbnQmIGRvY3VtZW50KQogICAgIHsKQEAgLTcwLDcgKzcwLDYg
QEAgcHVibGljOgogCiAgICAgdm9pZCBhZGRGb250RmFjZVJ1bGUoU3R5bGVSdWxlRm9udEZhY2Um
LCBib29sIGlzSW5pdGlhdGluZ0VsZW1lbnRJblVzZXJBZ2VudFNoYWRvd1RyZWUpOwogCi0gICAg
dm9pZCBmb250TG9hZGVkKCk7CiAgICAgdm9pZCBmb250Q2FjaGVJbnZhbGlkYXRlZCgpIGZpbmFs
OwogCiAgICAgYm9vbCBpc0VtcHR5KCkgY29uc3Q7CkBAIC05MSw2ICs5MCwxMCBAQCBwdWJsaWM6
CiAKICAgICB2b2lkIGxvYWRQZW5kaW5nRm9udHMoKTsKIAorICAgIC8vIENTU0ZvbnRGYWNlOjpD
bGllbnQgbmVlZHMgdG8gYmUgYWJsZSB0byBiZSBoZWxkIGluIGEgUmVmUHRyLgorICAgIHZvaWQg
cmVmKCkgZmluYWwgeyBGb250U2VsZWN0b3I6OnJlZigpOyB9CisgICAgdm9pZCBkZXJlZigpIGZp
bmFsIHsgRm9udFNlbGVjdG9yOjpkZXJlZigpOyB9CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQg
Q1NTRm9udFNlbGVjdG9yKERvY3VtZW50Jik7CiAKQEAgLTk4LDggKzEwMSwxMSBAQCBwcml2YXRl
OgogCiAgICAgdm9pZCBvcHBvcnR1bmlzdGljYWxseVN0YXJ0Rm9udERhdGFVUkxMb2FkaW5nKGNv
bnN0IEZvbnRDYXNjYWRlRGVzY3JpcHRpb24mLCBjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHkpIGZp
bmFsOwogCi0gICAgdm9pZCBmb250TW9kaWZpZWQoKTsKKyAgICAvLyBDU1NGb250RmFjZTo6Q2xp
ZW50CisgICAgdm9pZCBmb250TG9hZGVkKENTU0ZvbnRGYWNlJikgZmluYWw7CisgICAgdm9pZCB1
cGRhdGVTdHlsZUlmTmVlZGVkKCkgZmluYWw7CiAKKyAgICB2b2lkIGZvbnRNb2RpZmllZCgpOwog
ICAgIHZvaWQgZm9udExvYWRpbmdUaW1lckZpcmVkKCk7CiAKICAgICAvLyBBY3RpdmVET01PYmpl
Y3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCA5OTE1NWQ1YzYwNGEwNjJjMTI5MjIxYTQ4ZjRmZjU4MTMyMzQ2NzlhLi5jMDc1
ZWU3OGUxNzUwNWU4MWMzYWJmMTNkYTJjMTYwY2FlOGJkMTZhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMjEtMDItMDIgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4K
KworICAgICAgICBSZW1vdmUgYW5vdGhlciB1c2Ugb2YgRm9udFNlbGVjdG9yIGZyb20gd2l0aGlu
IENTU0ZvbnRGYWNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjEwNzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGZhc3QvdGV4dC9mb250LWxvYWRpbmctbXVsdGlwbGUtZG9jdW1lbnRzLWV4cGVjdGVk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9mb250LWxvYWRpbmctbXVsdGlwbGUt
ZG9jdW1lbnRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9mb250LWxvYWRpbmct
bXVsdGlwbGUtc2V0cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9m
b250LWxvYWRpbmctbXVsdGlwbGUtc2V0cy5odG1sOiBBZGRlZC4KKwogMjAyMS0wMi0wMiAgUm9i
IEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFByb3ZpZGUgbW9jayBkdG1mIHNl
bmRlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0
aXBsZS1kb2N1bWVudHMtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250
LWxvYWRpbmctbXVsdGlwbGUtZG9jdW1lbnRzLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTE5
NTBiMWY1ZGUwMDY4ODQ5YWJhMTdmYWZiYmFhMzBiYzUzMzZlOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWxvYWRpbmctbXVsdGlwbGUtZG9jdW1lbnRzLWV4
cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPHN0eWxlPgorQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6ICJXZWJGb250IjsK
KyAgICBzcmM6IHVybCgiLi4vLi4vcmVzb3VyY2VzL0FoZW0udHRmIikgZm9ybWF0KCJ0cnVldHlw
ZSIpOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBzdHlsZT0iZm9udDogMzJw
eCAnV2ViRm9udCc7Ij5IZWxsbzwvZGl2PgorCis8aWZyYW1lIGlkPSJ0YXJnZXQiIHNyY2RvYz0i
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYg
c3R5bGU9J2ZvbnQ6IDMycHggV2ViRm9udDsnPkhlbGxvPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
Ij48L2lmcmFtZT4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1kb2N1bWVudHMuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC9mb250LWxvYWRpbmctbXVsdGlwbGUtZG9jdW1lbnRzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMzU1NTQwOWQ3MjcyZWZkMjEzYTBhYzE4YzI1NjAwZWVkMWM5MTExMAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWxvYWRpbmctbXVsdGlwbGUtZG9j
dW1lbnRzLmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IHN0eWxlPSJmb250OiAzMnB4ICdXZWJGb250Jzsi
PkhlbGxvPC9kaXY+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOworPC9zY3JpcHQ+CisKKzxpZnJhbWUgaWQ9InRhcmdldCIg
c3JjZG9jPSIKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdiBzdHlsZT0nZm9udDogMzJweCBXZWJGb250Oyc+SGVsbG88L2Rpdj4KKzwvYm9keT4K
KzwvaHRtbD4iPjwvaWZyYW1lPgorCis8c2NyaXB0PgordmFyIGZvbnQgPSBuZXcgRm9udEZhY2Uo
IldlYkZvbnQiLCAidXJsKCcuLi8uLi9yZXNvdXJjZXMvQWhlbS50dGYnKSBmb3JtYXQoJ3RydWV0
eXBlJykiKTsKK2RvY3VtZW50LmZvbnRzLmFkZChmb250KTsKK2RvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJ0YXJnZXQiKS5jb250ZW50V2luZG93LmRvY3VtZW50LmZvbnRzLmFkZChmb250KTsKK2Zv
bnQubG9hZCgpLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK30pOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1sb2FkaW5n
LW11bHRpcGxlLXNldHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQt
bG9hZGluZy1tdWx0aXBsZS1zZXRzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMTlhNWM1Mzli
NWRjOTg3ZDM1MTE2NjFkNzBhZmJmNTJkODg5YThkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1zZXRzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEwIEBACitQQVNTIGZvbnQuc3RhdHVzIGlzICJ1bmxvYWRlZCIKK1BBU1Mgc2V0
MS5zdGF0dXMgaXMgImxvYWRlZCIKK1BBU1Mgc2V0Mi5zdGF0dXMgaXMgImxvYWRlZCIKK1BBU1Mg
Zm9udC5zdGF0dXMgaXMgImxvYWRpbmciCitQQVNTIHNldDEuc3RhdHVzIGlzICJsb2FkaW5nIgor
UEFTUyBzZXQyLnN0YXR1cyBpcyAibG9hZGluZyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvZm9udC1sb2FkaW5nLW11bHRpcGxlLXNldHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC9mb250LWxvYWRpbmctbXVsdGlwbGUtc2V0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE5MDEyMTI3MWMy
MTUyNGMwNmNmMmUyYjUzNDY4ZTI2YzNhMmFlMGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRpcGxlLXNldHMuaHRtbApAQCAtMCwwICsx
LDQzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLmNsZWFyTWVt
b3J5Q2FjaGUoKTsKKyAgICBpbnRlcm5hbHMuaW52YWxpZGF0ZUZvbnRDYWNoZSgpOworfQord2lu
ZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwordmFyIGZvbnQgPSBuZXcgRm9udEZhY2UoIldlYkZv
bnQiLCAidXJsKCcuLi8uLi9yZXNvdXJjZXMvQWhlbS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyki
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZm9udC5zdGF0dXMiLCAidW5sb2FkZWQiKTsKK3Zh
ciBzZXQxID0gbmV3IEZvbnRGYWNlU2V0KFtmb250XSk7Cit2YXIgc2V0MiA9IG5ldyBGb250RmFj
ZVNldChbZm9udF0pOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZXQxLnN0YXR1cyIsICJsb2Fk
ZWQiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygic2V0Mi5zdGF0dXMiLCAibG9hZGVkIik7Citm
b250LmxvYWQoKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZm9udC5zdGF0dXMiLCAibG9hZGlu
ZyIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZXQxLnN0YXR1cyIsICJsb2FkaW5nIik7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInNldDIuc3RhdHVzIiwgImxvYWRpbmciKTsKK3ZhciBjb3Vu
dCA9IDA7CitzZXQxLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgKytjb3VudDsKKyAgICBp
ZiAoY291bnQgPT0gMikKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7Cit9LCBmdW5jdGlvbigpIHsK
KyAgICB0ZXN0RmFpbGVkKCJQcm9taXNlIHNob3VsZCBub3QgYmUgcmVqZWN0ZWQuIik7CisgICAg
ZmluaXNoSlNUZXN0KCk7Cit9KTsKK3NldDEucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICAr
K2NvdW50OworICAgIGlmIChjb3VudCA9PSAyKQorICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKK30s
IGZ1bmN0aW9uKCkgeworICAgIHRlc3RGYWlsZWQoIlByb21pc2Ugc2hvdWxkIG5vdCBiZSByZWpl
Y3RlZC4iKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419721</attachid>
            <date>2021-02-09 08:40:41 -0800</date>
            <delta_ts>2021-02-09 09:05:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221071-20210209164040.patch</filename>
            <type>text/plain</type>
            <size>10896</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWIzMmU3YzMzZWQyODcy
ODMxZGFlOGM0ZmEyMjBlM2E3MDMwNDllNS4uZTk5Nzk4ZTEwY2FmN2Q2YWI2ODU5ODhhZjY4MTY4
YzRlY2U5MTUwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTAyLTAyICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGFu
b3RoZXIgdXNlIG9mIEZvbnRTZWxlY3RvciBmcm9tIHdpdGhpbiBDU1NGb250RmFjZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMDcxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5zdGVhZCBvZiBDU1NG
b250RmFjZSBkaXJlY3RseSBrbm93aW5nIGFib3V0IENTU0ZvbnRTZWxlY3Rvciwgd2UgY2FuIGp1
c3QgbWFrZSBDU1NGb250U2VsZWN0b3IKKyAgICAgICAgaW5oZXJpdCBmcm9tIENTU0ZvbnRGYWNl
OjpDbGllbnQuCisKKyAgICAgICAgQWxzbywgY2xlYW4gdXAgdGhlIGNhbGxiYWNrIG1ldGhvZHMg
YSBsaXR0bGUgYml0LgorCisgICAgICAgIFRlc3RzOiBmYXN0L3RleHQvZm9udC1sb2FkaW5nLW11
bHRpcGxlLWRvY3VtZW50cy5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQvZm9udC1sb2Fk
aW5nLW11bHRpcGxlLXNldHMuaHRtbAorCisgICAgICAgICogY3NzL0NTU0ZvbnRGYWNlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNlOjpDU1NGb250RmFjZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NGb250RmFjZTo6Zm9udExvYWRFdmVudE9jY3VycmVkKToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0ZvbnRGYWNlOjp1cGRhdGVTdHlsZUlmTmVlZGVkKToKKyAgICAgICAgKiBjc3Mv
Q1NTRm9udEZhY2UuaDoKKyAgICAgICAgKiBjc3MvQ1NTRm9udFNlbGVjdG9yLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcjo6dXBkYXRlU3R5bGVJZk5lZWRlZCk6CisgICAg
ICAgICogY3NzL0NTU0ZvbnRTZWxlY3Rvci5oOgorCiAyMDIxLTAyLTAyICBDYXJsb3MgR2FyY2lh
IENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBNaXNzaW5nIGV4Y2VwdGlv
biBjaGVjayB3aXRoIG5ldyBNZWRpYVN0cmVhbSgwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ZvbnRGYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5j
cHAKaW5kZXggODVlYmU1NmFlMmY5NTNhOTBjNmE5ZDNjZTcxNTk1NjUzYjRjNDhmZi4uNzU5ZWIy
N2Q5NmMwN2M0MWVhMmUzYjIxZjkyMmM5ZGNjNjE4MjdmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dEZhY2UuY3BwCkBAIC01OCw3ICs1OCw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgaXRl
cmF0ZUNsaWVudHMoSGFzaFNldDxDU1NGb250RmFjZTo6Q2xpZW50Kj4mIGNsaWVudHMsCiAgICAg
Zm9yIChhdXRvKiBjbGllbnQgOiBjbGllbnRzKQogICAgICAgICBjbGllbnRzQ29weS51bmNoZWNr
ZWRBcHBlbmQoKmNsaWVudCk7CiAKLSAgICBmb3IgKGF1dG8qIGNsaWVudCA6IGNsaWVudHMpCisg
ICAgZm9yIChhdXRvKiBjbGllbnQgOiBjbGllbnRzQ29weSkKICAgICAgICAgY2FsbGJhY2soKmNs
aWVudCk7CiB9CiAKQEAgLTkzLDYgKzkzLDggQEAgQ1NTRm9udEZhY2U6OkNTU0ZvbnRGYWNlKENT
U0ZvbnRTZWxlY3RvciogZm9udFNlbGVjdG9yLCBTdHlsZVJ1bGVGb250RmFjZSogY3NzQ28KICAg
ICA6IENTU0ZvbnRGYWNlKGZvbnRTZWxlY3RvciAmJiBmb250U2VsZWN0b3ItPmRvY3VtZW50KCkg
PyAmZm9udFNlbGVjdG9yLT5kb2N1bWVudCgpLT5zZXR0aW5ncygpIDogbnVsbHB0ciwgY3NzQ29u
bmVjdGlvbiwgd3JhcHBlciwgaXNMb2NhbEZhbGxiYWNrKQogewogICAgIG1fZm9udFNlbGVjdG9y
ID0gbWFrZVdlYWtQdHIoZm9udFNlbGVjdG9yKTsgLy8gRklYTUU6IElkZWFsbHkgdGhpcyBkYXRh
IG1lbWJlciB3b3VsZCBnbyBhd2F5IChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA4MzUxKS4KKyAgICBpZiAoZm9udFNlbGVjdG9yKQorICAgICAgICBhZGRDbGllbnQo
KmZvbnRTZWxlY3Rvcik7CiB9CiAKIENTU0ZvbnRGYWNlOjpDU1NGb250RmFjZShjb25zdCBTZXR0
aW5ncyogc2V0dGluZ3MsIFN0eWxlUnVsZUZvbnRGYWNlKiBjc3NDb25uZWN0aW9uLCBGb250RmFj
ZSogd3JhcHBlciwgYm9vbCBpc0xvY2FsRmFsbGJhY2spCkBAIC0zNTIsOSArMzU0LDYgQEAgdm9p
ZCBDU1NGb250RmFjZTo6Zm9udExvYWRFdmVudE9jY3VycmVkKCkKICAgICBpZiAobV9zb3VyY2Vz
UG9wdWxhdGVkKQogICAgICAgICBwdW1wKEV4dGVybmFsUmVzb3VyY2VEb3dubG9hZFBvbGljeTo6
Rm9yYmlkKTsKIAotICAgIGlmIChtX2ZvbnRTZWxlY3RvcikKLSAgICAgICAgbV9mb250U2VsZWN0
b3ItPmZvbnRMb2FkZWQoKTsKLQogICAgIGl0ZXJhdGVDbGllbnRzKG1fY2xpZW50cywgWyZdKENs
aWVudCYgY2xpZW50KSB7CiAgICAgICAgIGNsaWVudC5mb250TG9hZGVkKCp0aGlzKTsKICAgICB9
KTsKQEAgLTY4Miw4ICs2ODEsOSBAQCBib29sIENTU0ZvbnRGYWNlOjpwdXJnZWFibGUoKSBjb25z
dAogCiB2b2lkIENTU0ZvbnRGYWNlOjp1cGRhdGVTdHlsZUlmTmVlZGVkKCkKIHsKLSAgICBpZiAo
bV9mb250U2VsZWN0b3IgJiYgbV9mb250U2VsZWN0b3ItPmRvY3VtZW50KCkpCi0gICAgICAgIG1f
Zm9udFNlbGVjdG9yLT5kb2N1bWVudCgpLT51cGRhdGVTdHlsZUlmTmVlZGVkKCk7CisgICAgaXRl
cmF0ZUNsaWVudHMobV9jbGllbnRzLCBbJl0oQ2xpZW50JiBjbGllbnQpIHsKKyAgICAgICAgY2xp
ZW50LnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKKyAgICB9KTsKIH0KIAogYm9vbCBDU1NGb250RmFj
ZTo6aGFzU1ZHRm9udEZhY2VTb3VyY2UoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ZvbnRGYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuaApp
bmRleCAwNWQyOTVjNDZmYTMxZjdhY2E4MzBjMTE5Y2JiN2QzN2ExYWNjZjAxLi5mNDE5ZDA3ZTNj
MjEwMmZjMGRhZjkyY2JhMDRlNDAyZTExYTcxZjYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRm9udEZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2Uu
aApAQCAtMTMwLDYgKzEzMCw3IEBAIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIGZvbnRM
b2FkZWQoQ1NTRm9udEZhY2UmKSB7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIGZvbnRTdGF0ZUNo
YW5nZWQoQ1NTRm9udEZhY2UmLCBTdGF0dXMgLypvbGRTdGF0ZSovLCBTdGF0dXMgLypuZXdTdGF0
ZSovKSB7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIGZvbnRQcm9wZXJ0eUNoYW5nZWQoQ1NTRm9u
dEZhY2UmLCBDU1NWYWx1ZUxpc3QqIC8qb2xkRmFtaWxpZXMqLyA9IG51bGxwdHIpIHsgfQorICAg
ICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlU3R5bGVJZk5lZWRlZCgpIHsgfQogICAgICAgICB2aXJ0
dWFsIHZvaWQgcmVmKCkgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGVyZWYoKSA9IDA7CiAg
ICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKaW5kZXggNDM0ZTRjY2Nh
YTIxMzdiMmVlZjY5OGUyMWI2M2I2YmFjNWQ2YWY4ZC4uYzgwMmYxZmIyNWY4NmI0NzRiMTY5YTM0
YTAzZTA2MWNhZTU5MTU5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRT
ZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAK
QEAgLTI0OCw3ICsyNDgsNyBAQCB2b2lkIENTU0ZvbnRTZWxlY3Rvcjo6b3Bwb3J0dW5pc3RpY2Fs
bHlTdGFydEZvbnREYXRhVVJMTG9hZGluZyhjb25zdCBGb250Q2FzY2FkZQogICAgICAgICBmYWNl
LT5vcHBvcnR1bmlzdGljYWxseVN0YXJ0Rm9udERhdGFVUkxMb2FkaW5nKCp0aGlzKTsKIH0KIAot
dm9pZCBDU1NGb250U2VsZWN0b3I6OmZvbnRMb2FkZWQoKQordm9pZCBDU1NGb250U2VsZWN0b3I6
OmZvbnRMb2FkZWQoQ1NTRm9udEZhY2UmKQogewogICAgIGRpc3BhdGNoSW52YWxpZGF0aW9uQ2Fs
bGJhY2tzKCk7CiB9CkBAIC0yNTksNiArMjU5LDEyIEBAIHZvaWQgQ1NTRm9udFNlbGVjdG9yOjpm
b250TW9kaWZpZWQoKQogICAgICAgICBkaXNwYXRjaEludmFsaWRhdGlvbkNhbGxiYWNrcygpOwog
fQogCit2b2lkIENTU0ZvbnRTZWxlY3Rvcjo6dXBkYXRlU3R5bGVJZk5lZWRlZCgpCit7CisgICAg
aWYgKGRvY3VtZW50KCkpCisgICAgICAgIGRvY3VtZW50KCktPnVwZGF0ZVN0eWxlSWZOZWVkZWQo
KTsKK30KKwogdm9pZCBDU1NGb250U2VsZWN0b3I6OmZvbnRDYWNoZUludmFsaWRhdGVkKCkKIHsK
ICAgICBkaXNwYXRjaEludmFsaWRhdGlvbkNhbGxiYWNrcygpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Zv
bnRTZWxlY3Rvci5oCmluZGV4IDg4MGEwZGNlZDU0MjdlNGMzNTgzN2VhOWM0MjI5NTIzYTg5Zjdj
OTMuLjdjMzgyOTIyMjRjNjkwNzU3NDgzZjYyMzdmMDA4MmJlOTIxNWMyZjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmgKQEAgLTQ4LDcgKzQ4LDcgQEAgY2xhc3MgQ2FjaGVkRm9u
dDsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgU3R5bGVSdWxlRm9udEZhY2U7CiAKLWNsYXNzIENT
U0ZvbnRTZWxlY3RvciBmaW5hbCA6IHB1YmxpYyBGb250U2VsZWN0b3IsIHB1YmxpYyBDYW5NYWtl
V2Vha1B0cjxDU1NGb250U2VsZWN0b3I+LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKK2NsYXNz
IENTU0ZvbnRTZWxlY3RvciBmaW5hbCA6IHB1YmxpYyBGb250U2VsZWN0b3IsIHB1YmxpYyBDU1NG
b250RmFjZTo6Q2xpZW50LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8Q1NTRm9udFNlbGVjdG9yPiwg
cHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxDU1NGb250
U2VsZWN0b3I+IGNyZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQpCiAgICAgewpAQCAtNzAsNyArNzAs
NiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFkZEZvbnRGYWNlUnVsZShTdHlsZVJ1bGVGb250RmFj
ZSYsIGJvb2wgaXNJbml0aWF0aW5nRWxlbWVudEluVXNlckFnZW50U2hhZG93VHJlZSk7CiAKLSAg
ICB2b2lkIGZvbnRMb2FkZWQoKTsKICAgICB2b2lkIGZvbnRDYWNoZUludmFsaWRhdGVkKCkgZmlu
YWw7CiAKICAgICBib29sIGlzRW1wdHkoKSBjb25zdDsKQEAgLTkxLDYgKzkwLDEwIEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgbG9hZFBlbmRpbmdGb250cygpOwogCisgICAgLy8gQ1NTRm9udEZhY2U6
OkNsaWVudCBuZWVkcyB0byBiZSBhYmxlIHRvIGJlIGhlbGQgaW4gYSBSZWZQdHIuCisgICAgdm9p
ZCByZWYoKSBmaW5hbCB7IEZvbnRTZWxlY3Rvcjo6cmVmKCk7IH0KKyAgICB2b2lkIGRlcmVmKCkg
ZmluYWwgeyBGb250U2VsZWN0b3I6OmRlcmVmKCk7IH0KKwogcHJpdmF0ZToKICAgICBleHBsaWNp
dCBDU1NGb250U2VsZWN0b3IoRG9jdW1lbnQmKTsKIApAQCAtOTgsOCArMTAxLDExIEBAIHByaXZh
dGU6CiAKICAgICB2b2lkIG9wcG9ydHVuaXN0aWNhbGx5U3RhcnRGb250RGF0YVVSTExvYWRpbmco
Y29uc3QgRm9udENhc2NhZGVEZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSkg
ZmluYWw7CiAKLSAgICB2b2lkIGZvbnRNb2RpZmllZCgpOworICAgIC8vIENTU0ZvbnRGYWNlOjpD
bGllbnQKKyAgICB2b2lkIGZvbnRMb2FkZWQoQ1NTRm9udEZhY2UmKSBmaW5hbDsKKyAgICB2b2lk
IHVwZGF0ZVN0eWxlSWZOZWVkZWQoKSBmaW5hbDsKIAorICAgIHZvaWQgZm9udE1vZGlmaWVkKCk7
CiAgICAgdm9pZCBmb250TG9hZGluZ1RpbWVyRmlyZWQoKTsKIAogICAgIC8vIEFjdGl2ZURPTU9i
amVjdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDk5MTU1ZDVjNjA0YTA2MmMxMjkyMjFhNDhmNGZmNTgxMzIzNDY3OWEuLmMw
NzVlZTc4ZTE3NTA1ZTgxYzNhYmYxM2RhMmMxNjBjYWU4YmQxNmEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAyMS0wMi0wMiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29t
PgorCisgICAgICAgIFJlbW92ZSBhbm90aGVyIHVzZSBvZiBGb250U2VsZWN0b3IgZnJvbSB3aXRo
aW4gQ1NTRm9udEZhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyMTA3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1kb2N1bWVudHMtZXhwZWN0
ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBs
ZS1kb2N1bWVudHMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2ZvbnQtbG9hZGlu
Zy1tdWx0aXBsZS1zZXRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0
L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1zZXRzLmh0bWw6IEFkZGVkLgorCiAyMDIxLTAyLTAyICBS
b2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgUHJvdmlkZSBtb2NrIGR0bWYg
c2VuZGVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1sb2FkaW5nLW11
bHRpcGxlLWRvY3VtZW50cy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Zv
bnQtbG9hZGluZy1tdWx0aXBsZS1kb2N1bWVudHMtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
MTk1MGIxZjVkZTAwNjg4NDlhYmExN2ZhZmJiYWEzMGJjNTMzNmU4Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1kb2N1bWVudHMt
ZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDI1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c3R5bGU+CitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogIldlYkZvbnQi
OworICAgIHNyYzogdXJsKCIuLi8uLi9yZXNvdXJjZXMvQWhlbS50dGYiKSBmb3JtYXQoInRydWV0
eXBlIik7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IHN0eWxlPSJmb250OiAz
MnB4ICdXZWJGb250JzsiPkhlbGxvPC9kaXY+CisKKzxpZnJhbWUgaWQ9InRhcmdldCIgc3JjZG9j
PSIKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5PgorPGRp
diBzdHlsZT0nZm9udDogMzJweCBXZWJGb250Oyc+SGVsbG88L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4iPjwvaWZyYW1lPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRpcGxlLWRvY3VtZW50cy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1kb2N1bWVudHMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zNTU1NDA5ZDcyNzJlZmQyMTNhMGFjMThjMjU2MDBlZWQxYzkxMTEwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1k
b2N1bWVudHMuaHRtbApAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgc3R5bGU9ImZvbnQ6IDMycHggJ1dlYkZvbnQn
OyI+SGVsbG88L2Rpdj4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cis8L3NjcmlwdD4KKworPGlmcmFtZSBpZD0idGFyZ2V0
IiBzcmNkb2M9IgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2IHN0eWxlPSdmb250OiAzMnB4IFdlYkZvbnQ7Jz5IZWxsbzwvZGl2PgorPC9ib2R5
PgorPC9odG1sPiI+PC9pZnJhbWU+CisKKzxzY3JpcHQ+Cit2YXIgZm9udCA9IG5ldyBGb250RmFj
ZSgiV2ViRm9udCIsICJ1cmwoJy4uLy4uL3Jlc291cmNlcy9BaGVtLnR0ZicpIGZvcm1hdCgndHJ1
ZXR5cGUnKSIpOworZG9jdW1lbnQuZm9udHMuYWRkKGZvbnQpOworZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRhcmdldCIpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQuZm9udHMuYWRkKGZvbnQpOwor
Zm9udC5sb2FkKCkudGhlbihmdW5jdGlvbigpIHsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfSk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWxvYWRp
bmctbXVsdGlwbGUtc2V0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9u
dC1sb2FkaW5nLW11bHRpcGxlLXNldHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmExOWE1YzUz
OWI1ZGM5ODdkMzUxMTY2MWQ3MGFmYmY1MmQ4ODlhOGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRpcGxlLXNldHMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTAgQEAKK1BBU1MgZm9udC5zdGF0dXMgaXMgInVubG9hZGVkIgorUEFTUyBz
ZXQxLnN0YXR1cyBpcyAibG9hZGVkIgorUEFTUyBzZXQyLnN0YXR1cyBpcyAibG9hZGVkIgorUEFT
UyBmb250LnN0YXR1cyBpcyAibG9hZGluZyIKK1BBU1Mgc2V0MS5zdGF0dXMgaXMgImxvYWRpbmci
CitQQVNTIHNldDIuc3RhdHVzIGlzICJsb2FkaW5nIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC9mb250LWxvYWRpbmctbXVsdGlwbGUtc2V0cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1zZXRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTkwMTIxMjcx
YzIxNTI0YzA2Y2YyZTJiNTM0NjhlMjZjM2EyYWUwZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC9mb250LWxvYWRpbmctbXVsdGlwbGUtc2V0cy5odG1sCkBAIC0wLDAg
KzEsNDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICBpbnRlcm5hbHMuY2xlYXJN
ZW1vcnlDYWNoZSgpOworICAgIGludGVybmFscy5pbnZhbGlkYXRlRm9udENhY2hlKCk7Cit9Cit3
aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cit2YXIgZm9udCA9IG5ldyBGb250RmFjZSgiV2Vi
Rm9udCIsICJ1cmwoJy4uLy4uL3Jlc291cmNlcy9BaGVtLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUn
KSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmb250LnN0YXR1cyIsICJ1bmxvYWRlZCIpOwor
dmFyIHNldDEgPSBuZXcgRm9udEZhY2VTZXQoW2ZvbnRdKTsKK3ZhciBzZXQyID0gbmV3IEZvbnRG
YWNlU2V0KFtmb250XSk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNldDEuc3RhdHVzIiwgImxv
YWRlZCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZXQyLnN0YXR1cyIsICJsb2FkZWQiKTsK
K2ZvbnQubG9hZCgpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmb250LnN0YXR1cyIsICJsb2Fk
aW5nIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNldDEuc3RhdHVzIiwgImxvYWRpbmciKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygic2V0Mi5zdGF0dXMiLCAibG9hZGluZyIpOwordmFyIGNv
dW50ID0gMDsKK3NldDEucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICArK2NvdW50OworICAg
IGlmIChjb3VudCA9PSAyKQorICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKK30sIGZ1bmN0aW9uKCkg
eworICAgIHRlc3RGYWlsZWQoIlByb21pc2Ugc2hvdWxkIG5vdCBiZSByZWplY3RlZC4iKTsKKyAg
ICBmaW5pc2hKU1Rlc3QoKTsKK30pOworc2V0MS5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAg
ICsrY291bnQ7CisgICAgaWYgKGNvdW50ID09IDIpCisgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
fSwgZnVuY3Rpb24oKSB7CisgICAgdGVzdEZhaWxlZCgiUHJvbWlzZSBzaG91bGQgbm90IGJlIHJl
amVjdGVkLiIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4K
</data>
<flag name="commit-queue"
          id="438037"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419730</attachid>
            <date>2021-02-09 09:01:11 -0800</date>
            <delta_ts>2021-02-11 01:36:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221071-20210209170109.patch</filename>
            <type>text/plain</type>
            <size>11153</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWIzMmU3YzMzZWQyODcy
ODMxZGFlOGM0ZmEyMjBlM2E3MDMwNDllNS4uMWI1MzU0YTkxNGZjMDkzYjk1NGRjNDMyZTZjMGMw
Y2FmYWNlOTA4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTAyLTAyICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGFu
b3RoZXIgdXNlIG9mIEZvbnRTZWxlY3RvciBmcm9tIHdpdGhpbiBDU1NGb250RmFjZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMDcxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5zdGVhZCBvZiBDU1NG
b250RmFjZSBkaXJlY3RseSBrbm93aW5nIGFib3V0IENTU0ZvbnRTZWxlY3Rvciwgd2UgY2FuIGp1
c3QgbWFrZSBDU1NGb250U2VsZWN0b3IKKyAgICAgICAgaW5oZXJpdCBmcm9tIENTU0ZvbnRGYWNl
OjpDbGllbnQuCisKKyAgICAgICAgQWxzbywgY2xlYW4gdXAgdGhlIGNhbGxiYWNrIG1ldGhvZHMg
YSBsaXR0bGUgYml0LgorCisgICAgICAgIFRlc3RzOiBmYXN0L3RleHQvZm9udC1sb2FkaW5nLW11
bHRpcGxlLWRvY3VtZW50cy5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQvZm9udC1sb2Fk
aW5nLW11bHRpcGxlLXNldHMuaHRtbAorCisgICAgICAgICogY3NzL0NTU0ZvbnRGYWNlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Oml0ZXJhdGVDbGllbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0ZvbnRGYWNlOjpDU1NGb250RmFjZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250RmFjZTo6
Zm9udExvYWRFdmVudE9jY3VycmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNlOjp1
cGRhdGVTdHlsZUlmTmVlZGVkKToKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2UuaDoKKyAgICAg
ICAgKiBjc3MvQ1NTRm9udFNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRT
ZWxlY3Rvcjo6Zm9udExvYWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250U2VsZWN0b3I6
OnVwZGF0ZVN0eWxlSWZOZWVkZWQpOgorICAgICAgICAqIGNzcy9DU1NGb250U2VsZWN0b3IuaDoK
KwogMjAyMS0wMi0wMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgTWlzc2luZyBleGNlcHRpb24gY2hlY2sgd2l0aCBuZXcgTWVkaWFTdHJlYW0o
MCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwCmluZGV4IDg1ZWJlNTZhZTJmOTUzYTkwYzZh
OWQzY2U3MTU5NTY1M2I0YzQ4ZmYuLmM2NTUzMTQzNDIzNTViMDdkNTk5OThmMDBjYjgwMjgzYmE2
Zjg4YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcApAQCAtNTgsOCArNTgsOCBAQCB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2b2lkIGl0ZXJhdGVDbGllbnRzKEhhc2hTZXQ8Q1NTRm9udEZh
Y2U6OkNsaWVudCo+JiBjbGllbnRzLAogICAgIGZvciAoYXV0byogY2xpZW50IDogY2xpZW50cykK
ICAgICAgICAgY2xpZW50c0NvcHkudW5jaGVja2VkQXBwZW5kKCpjbGllbnQpOwogCi0gICAgZm9y
IChhdXRvKiBjbGllbnQgOiBjbGllbnRzKQotICAgICAgICBjYWxsYmFjaygqY2xpZW50KTsKKyAg
ICBmb3IgKGF1dG8gY2xpZW50IDogY2xpZW50c0NvcHkpCisgICAgICAgIGNhbGxiYWNrKGNsaWVu
dCk7CiB9CiAKIHZvaWQgQ1NTRm9udEZhY2U6OmFwcGVuZFNvdXJjZXMoQ1NTRm9udEZhY2UmIGZv
bnRGYWNlLCBDU1NWYWx1ZUxpc3QmIHNyY0xpc3QsIERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCBp
c0luaXRpYXRpbmdFbGVtZW50SW5Vc2VyQWdlbnRTaGFkb3dUcmVlKQpAQCAtOTMsNiArOTMsOCBA
QCBDU1NGb250RmFjZTo6Q1NTRm9udEZhY2UoQ1NTRm9udFNlbGVjdG9yKiBmb250U2VsZWN0b3Is
IFN0eWxlUnVsZUZvbnRGYWNlKiBjc3NDbwogICAgIDogQ1NTRm9udEZhY2UoZm9udFNlbGVjdG9y
ICYmIGZvbnRTZWxlY3Rvci0+ZG9jdW1lbnQoKSA/ICZmb250U2VsZWN0b3ItPmRvY3VtZW50KCkt
PnNldHRpbmdzKCkgOiBudWxscHRyLCBjc3NDb25uZWN0aW9uLCB3cmFwcGVyLCBpc0xvY2FsRmFs
bGJhY2spCiB7CiAgICAgbV9mb250U2VsZWN0b3IgPSBtYWtlV2Vha1B0cihmb250U2VsZWN0b3Ip
OyAvLyBGSVhNRTogSWRlYWxseSB0aGlzIGRhdGEgbWVtYmVyIHdvdWxkIGdvIGF3YXkgKGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDgzNTEpLgorICAgIGlmIChmb250
U2VsZWN0b3IpCisgICAgICAgIGFkZENsaWVudCgqZm9udFNlbGVjdG9yKTsKIH0KIAogQ1NTRm9u
dEZhY2U6OkNTU0ZvbnRGYWNlKGNvbnN0IFNldHRpbmdzKiBzZXR0aW5ncywgU3R5bGVSdWxlRm9u
dEZhY2UqIGNzc0Nvbm5lY3Rpb24sIEZvbnRGYWNlKiB3cmFwcGVyLCBib29sIGlzTG9jYWxGYWxs
YmFjaykKQEAgLTM1Miw5ICszNTQsNiBAQCB2b2lkIENTU0ZvbnRGYWNlOjpmb250TG9hZEV2ZW50
T2NjdXJyZWQoKQogICAgIGlmIChtX3NvdXJjZXNQb3B1bGF0ZWQpCiAgICAgICAgIHB1bXAoRXh0
ZXJuYWxSZXNvdXJjZURvd25sb2FkUG9saWN5OjpGb3JiaWQpOwogCi0gICAgaWYgKG1fZm9udFNl
bGVjdG9yKQotICAgICAgICBtX2ZvbnRTZWxlY3Rvci0+Zm9udExvYWRlZCgpOwotCiAgICAgaXRl
cmF0ZUNsaWVudHMobV9jbGllbnRzLCBbJl0oQ2xpZW50JiBjbGllbnQpIHsKICAgICAgICAgY2xp
ZW50LmZvbnRMb2FkZWQoKnRoaXMpOwogICAgIH0pOwpAQCAtNjgyLDggKzY4MSw5IEBAIGJvb2wg
Q1NTRm9udEZhY2U6OnB1cmdlYWJsZSgpIGNvbnN0CiAKIHZvaWQgQ1NTRm9udEZhY2U6OnVwZGF0
ZVN0eWxlSWZOZWVkZWQoKQogewotICAgIGlmIChtX2ZvbnRTZWxlY3RvciAmJiBtX2ZvbnRTZWxl
Y3Rvci0+ZG9jdW1lbnQoKSkKLSAgICAgICAgbV9mb250U2VsZWN0b3ItPmRvY3VtZW50KCktPnVw
ZGF0ZVN0eWxlSWZOZWVkZWQoKTsKKyAgICBpdGVyYXRlQ2xpZW50cyhtX2NsaWVudHMsIFsmXShD
bGllbnQmIGNsaWVudCkgeworICAgICAgICBjbGllbnQudXBkYXRlU3R5bGVJZk5lZWRlZCgpOwor
ICAgIH0pOwogfQogCiBib29sIENTU0ZvbnRGYWNlOjpoYXNTVkdGb250RmFjZVNvdXJjZSgpIGNv
bnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5oCmluZGV4IDA1ZDI5NWM0NmZhMzFmN2FjYTgzMGMx
MTljYmI3ZDM3YTFhY2NmMDEuLmY0MTlkMDdlM2MyMTAyZmMwZGFmOTJjYmEwNGU0MDJlMTFhNzFm
NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5oCkBAIC0xMzAsNiArMTMwLDcgQEAgcHVibGlj
OgogICAgICAgICB2aXJ0dWFsIHZvaWQgZm9udExvYWRlZChDU1NGb250RmFjZSYpIHsgfQogICAg
ICAgICB2aXJ0dWFsIHZvaWQgZm9udFN0YXRlQ2hhbmdlZChDU1NGb250RmFjZSYsIFN0YXR1cyAv
Km9sZFN0YXRlKi8sIFN0YXR1cyAvKm5ld1N0YXRlKi8pIHsgfQogICAgICAgICB2aXJ0dWFsIHZv
aWQgZm9udFByb3BlcnR5Q2hhbmdlZChDU1NGb250RmFjZSYsIENTU1ZhbHVlTGlzdCogLypvbGRG
YW1pbGllcyovID0gbnVsbHB0cikgeyB9CisgICAgICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVTdHls
ZUlmTmVlZGVkKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZWYoKSA9IDA7CiAgICAgICAg
IHZpcnR1YWwgdm9pZCBkZXJlZigpID0gMDsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dFNlbGVjdG9yLmNwcAppbmRleCA0MzRlNGNjY2FhMjEzN2IyZWVmNjk4ZTIxYjYzYjZiYWM1ZDZh
ZjhkLi5jODAyZjFmYjI1Zjg2YjQ3NGIxNjlhMzRhMDNlMDYxY2FlNTkxNTlkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcApAQCAtMjQ4LDcgKzI0OCw3IEBAIHZvaWQgQ1NT
Rm9udFNlbGVjdG9yOjpvcHBvcnR1bmlzdGljYWxseVN0YXJ0Rm9udERhdGFVUkxMb2FkaW5nKGNv
bnN0IEZvbnRDYXNjYWRlCiAgICAgICAgIGZhY2UtPm9wcG9ydHVuaXN0aWNhbGx5U3RhcnRGb250
RGF0YVVSTExvYWRpbmcoKnRoaXMpOwogfQogCi12b2lkIENTU0ZvbnRTZWxlY3Rvcjo6Zm9udExv
YWRlZCgpCit2b2lkIENTU0ZvbnRTZWxlY3Rvcjo6Zm9udExvYWRlZChDU1NGb250RmFjZSYpCiB7
CiAgICAgZGlzcGF0Y2hJbnZhbGlkYXRpb25DYWxsYmFja3MoKTsKIH0KQEAgLTI1OSw2ICsyNTks
MTIgQEAgdm9pZCBDU1NGb250U2VsZWN0b3I6OmZvbnRNb2RpZmllZCgpCiAgICAgICAgIGRpc3Bh
dGNoSW52YWxpZGF0aW9uQ2FsbGJhY2tzKCk7CiB9CiAKK3ZvaWQgQ1NTRm9udFNlbGVjdG9yOjp1
cGRhdGVTdHlsZUlmTmVlZGVkKCkKK3sKKyAgICBpZiAoZG9jdW1lbnQoKSkKKyAgICAgICAgZG9j
dW1lbnQoKS0+dXBkYXRlU3R5bGVJZk5lZWRlZCgpOworfQorCiB2b2lkIENTU0ZvbnRTZWxlY3Rv
cjo6Zm9udENhY2hlSW52YWxpZGF0ZWQoKQogewogICAgIGRpc3BhdGNoSW52YWxpZGF0aW9uQ2Fs
bGJhY2tzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9y
LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmgKaW5kZXggODgwYTBkY2Vk
NTQyN2U0YzM1ODM3ZWE5YzQyMjk1MjNhODlmN2M5My4uN2MzODI5MjIyNGM2OTA3NTc0ODNmNjIz
N2YwMDgyYmU5MjE1YzJmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRT
ZWxlY3Rvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuaApAQCAt
NDgsNyArNDgsNyBAQCBjbGFzcyBDYWNoZWRGb250OwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBT
dHlsZVJ1bGVGb250RmFjZTsKIAotY2xhc3MgQ1NTRm9udFNlbGVjdG9yIGZpbmFsIDogcHVibGlj
IEZvbnRTZWxlY3RvciwgcHVibGljIENhbk1ha2VXZWFrUHRyPENTU0ZvbnRTZWxlY3Rvcj4sIHB1
YmxpYyBBY3RpdmVET01PYmplY3QgeworY2xhc3MgQ1NTRm9udFNlbGVjdG9yIGZpbmFsIDogcHVi
bGljIEZvbnRTZWxlY3RvciwgcHVibGljIENTU0ZvbnRGYWNlOjpDbGllbnQsIHB1YmxpYyBDYW5N
YWtlV2Vha1B0cjxDU1NGb250U2VsZWN0b3I+LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKIHB1
YmxpYzoKICAgICBzdGF0aWMgUmVmPENTU0ZvbnRTZWxlY3Rvcj4gY3JlYXRlKERvY3VtZW50JiBk
b2N1bWVudCkKICAgICB7CkBAIC03MCw3ICs3MCw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYWRk
Rm9udEZhY2VSdWxlKFN0eWxlUnVsZUZvbnRGYWNlJiwgYm9vbCBpc0luaXRpYXRpbmdFbGVtZW50
SW5Vc2VyQWdlbnRTaGFkb3dUcmVlKTsKIAotICAgIHZvaWQgZm9udExvYWRlZCgpOwogICAgIHZv
aWQgZm9udENhY2hlSW52YWxpZGF0ZWQoKSBmaW5hbDsKIAogICAgIGJvb2wgaXNFbXB0eSgpIGNv
bnN0OwpAQCAtOTEsNiArOTAsMTAgQEAgcHVibGljOgogCiAgICAgdm9pZCBsb2FkUGVuZGluZ0Zv
bnRzKCk7CiAKKyAgICAvLyBDU1NGb250RmFjZTo6Q2xpZW50IG5lZWRzIHRvIGJlIGFibGUgdG8g
YmUgaGVsZCBpbiBhIFJlZlB0ci4KKyAgICB2b2lkIHJlZigpIGZpbmFsIHsgRm9udFNlbGVjdG9y
OjpyZWYoKTsgfQorICAgIHZvaWQgZGVyZWYoKSBmaW5hbCB7IEZvbnRTZWxlY3Rvcjo6ZGVyZWYo
KTsgfQorCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IENTU0ZvbnRTZWxlY3RvcihEb2N1bWVudCYp
OwogCkBAIC05OCw4ICsxMDEsMTEgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgb3Bwb3J0dW5pc3Rp
Y2FsbHlTdGFydEZvbnREYXRhVVJMTG9hZGluZyhjb25zdCBGb250Q2FzY2FkZURlc2NyaXB0aW9u
JiwgY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5KSBmaW5hbDsKIAotICAgIHZvaWQgZm9udE1vZGlm
aWVkKCk7CisgICAgLy8gQ1NTRm9udEZhY2U6OkNsaWVudAorICAgIHZvaWQgZm9udExvYWRlZChD
U1NGb250RmFjZSYpIGZpbmFsOworICAgIHZvaWQgdXBkYXRlU3R5bGVJZk5lZWRlZCgpIGZpbmFs
OwogCisgICAgdm9pZCBmb250TW9kaWZpZWQoKTsKICAgICB2b2lkIGZvbnRMb2FkaW5nVGltZXJG
aXJlZCgpOwogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTkxNTVkNWM2MDRhMDYy
YzEyOTIyMWE0OGY0ZmY1ODEzMjM0Njc5YS4uYzA3NWVlNzhlMTc1MDVlODFjM2FiZjEzZGEyYzE2
MGNhZThiZDE2YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTAyLTAyICBNeWxlcyBDLiBN
YXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGFub3RoZXIg
dXNlIG9mIEZvbnRTZWxlY3RvciBmcm9tIHdpdGhpbiBDU1NGb250RmFjZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMDcxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3RleHQvZm9udC1sb2Fk
aW5nLW11bHRpcGxlLWRvY3VtZW50cy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRpcGxlLWRvY3VtZW50cy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRpcGxlLXNldHMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRpcGxlLXNldHMu
aHRtbDogQWRkZWQuCisKIDIwMjEtMDItMDIgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4K
IAogICAgICAgICBQcm92aWRlIG1vY2sgZHRtZiBzZW5kZXIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC9mb250LWxvYWRpbmctbXVsdGlwbGUtZG9jdW1lbnRzLWV4cGVjdGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRpcGxlLWRvY3VtZW50
cy1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUxOTUwYjFmNWRlMDA2ODg0OWFiYTE3ZmFmYmJh
YTMwYmM1MzM2ZTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9u
dC1sb2FkaW5nLW11bHRpcGxlLWRvY3VtZW50cy1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjUg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KK0Bmb250LWZhY2Ug
eworICAgIGZvbnQtZmFtaWx5OiAiV2ViRm9udCI7CisgICAgc3JjOiB1cmwoIi4uLy4uL3Jlc291
cmNlcy9BaGVtLnR0ZiIpIGZvcm1hdCgidHJ1ZXR5cGUiKTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXYgc3R5bGU9ImZvbnQ6IDMycHggJ1dlYkZvbnQnOyI+SGVsbG88L2Rpdj4K
KworPGlmcmFtZSBpZD0idGFyZ2V0IiBzcmNkb2M9IgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IHN0eWxlPSdmb250OiAzMnB4IFdlYkZvbnQ7
Jz5IZWxsbzwvZGl2PgorPC9ib2R5PgorPC9odG1sPiI+PC9pZnJhbWU+CisKKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWxvYWRpbmctbXVs
dGlwbGUtZG9jdW1lbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1sb2FkaW5n
LW11bHRpcGxlLWRvY3VtZW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM1NTU0MDlkNzI3MmVmZDIxM2Ew
YWMxOGMyNTYwMGVlZDFjOTExMTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3RleHQvZm9udC1sb2FkaW5nLW11bHRpcGxlLWRvY3VtZW50cy5odG1sCkBAIC0wLDAgKzEsMzIg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5PgorPGRp
diBzdHlsZT0iZm9udDogMzJweCAnV2ViRm9udCc7Ij5IZWxsbzwvZGl2PgorPHNjcmlwdD4KK2lm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKzwv
c2NyaXB0PgorCis8aWZyYW1lIGlkPSJ0YXJnZXQiIHNyY2RvYz0iCis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgc3R5bGU9J2ZvbnQ6IDMycHgg
V2ViRm9udDsnPkhlbGxvPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+Ij48L2lmcmFtZT4KKworPHNj
cmlwdD4KK3ZhciBmb250ID0gbmV3IEZvbnRGYWNlKCJXZWJGb250IiwgInVybCgnLi4vLi4vcmVz
b3VyY2VzL0FoZW0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpIik7Citkb2N1bWVudC5mb250cy5h
ZGQoZm9udCk7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikuY29udGVudFdpbmRv
dy5kb2N1bWVudC5mb250cy5hZGQoZm9udCk7Citmb250LmxvYWQoKS50aGVuKGZ1bmN0aW9uKCkg
eworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7Cit9KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1zZXRzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWxvYWRpbmctbXVsdGlwbGUtc2V0cy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYTE5YTVjNTM5YjVkYzk4N2QzNTExNjYxZDcwYWZiZjUyZDg4
OWE4ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWxvYWRp
bmctbXVsdGlwbGUtc2V0cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorUEFTUyBmb250
LnN0YXR1cyBpcyAidW5sb2FkZWQiCitQQVNTIHNldDEuc3RhdHVzIGlzICJsb2FkZWQiCitQQVNT
IHNldDIuc3RhdHVzIGlzICJsb2FkZWQiCitQQVNTIGZvbnQuc3RhdHVzIGlzICJsb2FkaW5nIgor
UEFTUyBzZXQxLnN0YXR1cyBpcyAibG9hZGluZyIKK1BBU1Mgc2V0Mi5zdGF0dXMgaXMgImxvYWRp
bmciCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1z
ZXRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRpcGxlLXNl
dHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xOTAxMjEyNzFjMjE1MjRjMDZjZjJlMmI1MzQ2OGUyNmMzYTJh
ZTBmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtbG9hZGlu
Zy1tdWx0aXBsZS1zZXRzLmh0bWwKQEAgLTAsMCArMSw0MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVy
bmFscykgeworICAgIGludGVybmFscy5jbGVhck1lbW9yeUNhY2hlKCk7CisgICAgaW50ZXJuYWxz
LmludmFsaWRhdGVGb250Q2FjaGUoKTsKK30KK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
K3ZhciBmb250ID0gbmV3IEZvbnRGYWNlKCJXZWJGb250IiwgInVybCgnLi4vLi4vcmVzb3VyY2Vz
L0FoZW0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImZvbnQuc3RhdHVzIiwgInVubG9hZGVkIik7Cit2YXIgc2V0MSA9IG5ldyBGb250RmFjZVNldChb
Zm9udF0pOwordmFyIHNldDIgPSBuZXcgRm9udEZhY2VTZXQoW2ZvbnRdKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygic2V0MS5zdGF0dXMiLCAibG9hZGVkIik7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInNldDIuc3RhdHVzIiwgImxvYWRlZCIpOworZm9udC5sb2FkKCk7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImZvbnQuc3RhdHVzIiwgImxvYWRpbmciKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
Zygic2V0MS5zdGF0dXMiLCAibG9hZGluZyIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZXQy
LnN0YXR1cyIsICJsb2FkaW5nIik7Cit2YXIgY291bnQgPSAwOworc2V0MS5yZWFkeS50aGVuKGZ1
bmN0aW9uKCkgeworICAgICsrY291bnQ7CisgICAgaWYgKGNvdW50ID09IDIpCisgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworfSwgZnVuY3Rpb24oKSB7CisgICAgdGVzdEZhaWxlZCgiUHJvbWlzZSBz
aG91bGQgbm90IGJlIHJlamVjdGVkLiIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CitzZXQx
LnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgKytjb3VudDsKKyAgICBpZiAoY291bnQgPT0g
MikKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7Cit9LCBmdW5jdGlvbigpIHsKKyAgICB0ZXN0RmFp
bGVkKCJQcm9taXNlIHNob3VsZCBub3QgYmUgcmVqZWN0ZWQuIik7CisgICAgZmluaXNoSlNUZXN0
KCk7Cit9KTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419964</attachid>
            <date>2021-02-11 01:36:35 -0800</date>
            <delta_ts>2021-02-11 02:06:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221071-20210211093634.patch</filename>
            <type>text/plain</type>
            <size>11248</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmU4ODgyZjkwZGU3YmI4
NDQ0OGJlNGU3ZWI5MDE2Zjk3ZjA0YjE0MC4uZTAyYmM0YWVjZGY2NDUxNTFkNGMxYWRiYTY0Nzk4
NDBjNmQyMzA5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTAyLTAyICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGFu
b3RoZXIgdXNlIG9mIEZvbnRTZWxlY3RvciBmcm9tIHdpdGhpbiBDU1NGb250RmFjZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMDcxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgSW5zdGVhZCBvZiBDU1NGb250
RmFjZSBkaXJlY3RseSBrbm93aW5nIGFib3V0IENTU0ZvbnRTZWxlY3Rvciwgd2UgY2FuIGp1c3Qg
bWFrZSBDU1NGb250U2VsZWN0b3IKKyAgICAgICAgaW5oZXJpdCBmcm9tIENTU0ZvbnRGYWNlOjpD
bGllbnQuCisKKyAgICAgICAgQWxzbywgY2xlYW4gdXAgdGhlIGNhbGxiYWNrIG1ldGhvZHMgYSBs
aXR0bGUgYml0LgorCisgICAgICAgIFRlc3RzOiBmYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRp
cGxlLWRvY3VtZW50cy5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQvZm9udC1sb2FkaW5n
LW11bHRpcGxlLXNldHMuaHRtbAorCisgICAgICAgICogY3NzL0NTU0ZvbnRGYWNlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Oml0ZXJhdGVDbGllbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Zv
bnRGYWNlOjpDU1NGb250RmFjZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250RmFjZTo6Zm9u
dExvYWRFdmVudE9jY3VycmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNlOjp1cGRh
dGVTdHlsZUlmTmVlZGVkKToKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2UuaDoKKyAgICAgICAg
KiBjc3MvQ1NTRm9udFNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRTZWxl
Y3Rvcjo6Zm9udExvYWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250U2VsZWN0b3I6OmZv
bnRTdHlsZVVwZGF0ZU5lZWRlZCk6CisgICAgICAgICogY3NzL0NTU0ZvbnRTZWxlY3Rvci5oOgor
CiAyMDIxLTAyLTEwICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAg
VW5yZXZpZXdlZCBidWlsZCBmaXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udEZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAppbmRleCA4
NWViZTU2YWUyZjk1M2E5MGM2YTlkM2NlNzE1OTU2NTNiNGM0OGZmLi4wM2YyNjJjMDFmODI2Zjg3
MzU0MGM5ODhhNTQ1NmFmMWM4MzM5YWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udEZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAK
QEAgLTU4LDggKzU4LDggQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBpdGVyYXRlQ2xpZW50
cyhIYXNoU2V0PENTU0ZvbnRGYWNlOjpDbGllbnQqPiYgY2xpZW50cywKICAgICBmb3IgKGF1dG8q
IGNsaWVudCA6IGNsaWVudHMpCiAgICAgICAgIGNsaWVudHNDb3B5LnVuY2hlY2tlZEFwcGVuZCgq
Y2xpZW50KTsKIAotICAgIGZvciAoYXV0byogY2xpZW50IDogY2xpZW50cykKLSAgICAgICAgY2Fs
bGJhY2soKmNsaWVudCk7CisgICAgZm9yIChhdXRvJiBjbGllbnQgOiBjbGllbnRzQ29weSkKKyAg
ICAgICAgY2FsbGJhY2soY2xpZW50KTsKIH0KIAogdm9pZCBDU1NGb250RmFjZTo6YXBwZW5kU291
cmNlcyhDU1NGb250RmFjZSYgZm9udEZhY2UsIENTU1ZhbHVlTGlzdCYgc3JjTGlzdCwgRG9jdW1l
bnQqIGRvY3VtZW50LCBib29sIGlzSW5pdGlhdGluZ0VsZW1lbnRJblVzZXJBZ2VudFNoYWRvd1Ry
ZWUpCkBAIC05Myw2ICs5Myw4IEBAIENTU0ZvbnRGYWNlOjpDU1NGb250RmFjZShDU1NGb250U2Vs
ZWN0b3IqIGZvbnRTZWxlY3RvciwgU3R5bGVSdWxlRm9udEZhY2UqIGNzc0NvCiAgICAgOiBDU1NG
b250RmFjZShmb250U2VsZWN0b3IgJiYgZm9udFNlbGVjdG9yLT5kb2N1bWVudCgpID8gJmZvbnRT
ZWxlY3Rvci0+ZG9jdW1lbnQoKS0+c2V0dGluZ3MoKSA6IG51bGxwdHIsIGNzc0Nvbm5lY3Rpb24s
IHdyYXBwZXIsIGlzTG9jYWxGYWxsYmFjaykKIHsKICAgICBtX2ZvbnRTZWxlY3RvciA9IG1ha2VX
ZWFrUHRyKGZvbnRTZWxlY3Rvcik7IC8vIEZJWE1FOiBJZGVhbGx5IHRoaXMgZGF0YSBtZW1iZXIg
d291bGQgZ28gYXdheSAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
ODM1MSkuCisgICAgaWYgKGZvbnRTZWxlY3RvcikKKyAgICAgICAgYWRkQ2xpZW50KCpmb250U2Vs
ZWN0b3IpOwogfQogCiBDU1NGb250RmFjZTo6Q1NTRm9udEZhY2UoY29uc3QgU2V0dGluZ3MqIHNl
dHRpbmdzLCBTdHlsZVJ1bGVGb250RmFjZSogY3NzQ29ubmVjdGlvbiwgRm9udEZhY2UqIHdyYXBw
ZXIsIGJvb2wgaXNMb2NhbEZhbGxiYWNrKQpAQCAtMzUyLDkgKzM1NCw2IEBAIHZvaWQgQ1NTRm9u
dEZhY2U6OmZvbnRMb2FkRXZlbnRPY2N1cnJlZCgpCiAgICAgaWYgKG1fc291cmNlc1BvcHVsYXRl
ZCkKICAgICAgICAgcHVtcChFeHRlcm5hbFJlc291cmNlRG93bmxvYWRQb2xpY3k6OkZvcmJpZCk7
CiAKLSAgICBpZiAobV9mb250U2VsZWN0b3IpCi0gICAgICAgIG1fZm9udFNlbGVjdG9yLT5mb250
TG9hZGVkKCk7Ci0KICAgICBpdGVyYXRlQ2xpZW50cyhtX2NsaWVudHMsIFsmXShDbGllbnQmIGNs
aWVudCkgewogICAgICAgICBjbGllbnQuZm9udExvYWRlZCgqdGhpcyk7CiAgICAgfSk7CkBAIC02
ODIsOCArNjgxLDkgQEAgYm9vbCBDU1NGb250RmFjZTo6cHVyZ2VhYmxlKCkgY29uc3QKIAogdm9p
ZCBDU1NGb250RmFjZTo6dXBkYXRlU3R5bGVJZk5lZWRlZCgpCiB7Ci0gICAgaWYgKG1fZm9udFNl
bGVjdG9yICYmIG1fZm9udFNlbGVjdG9yLT5kb2N1bWVudCgpKQotICAgICAgICBtX2ZvbnRTZWxl
Y3Rvci0+ZG9jdW1lbnQoKS0+dXBkYXRlU3R5bGVJZk5lZWRlZCgpOworICAgIGl0ZXJhdGVDbGll
bnRzKG1fY2xpZW50cywgWyZdKENsaWVudCYgY2xpZW50KSB7CisgICAgICAgIGNsaWVudC5mb250
U3R5bGVVcGRhdGVOZWVkZWQoKnRoaXMpOworICAgIH0pOwogfQogCiBib29sIENTU0ZvbnRGYWNl
OjpoYXNTVkdGb250RmFjZVNvdXJjZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRm9udEZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5oCmlu
ZGV4IDA1ZDI5NWM0NmZhMzFmN2FjYTgzMGMxMTljYmI3ZDM3YTFhY2NmMDEuLmNjMTdhZWMyZjFj
ZDlmNTk4MGVlNDBkODdiMThkOGQ4YTEyYjg3ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250RmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5o
CkBAIC0xMzAsNiArMTMwLDcgQEAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIHZvaWQgZm9udExv
YWRlZChDU1NGb250RmFjZSYpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgZm9udFN0YXRlQ2hh
bmdlZChDU1NGb250RmFjZSYsIFN0YXR1cyAvKm9sZFN0YXRlKi8sIFN0YXR1cyAvKm5ld1N0YXRl
Ki8pIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgZm9udFByb3BlcnR5Q2hhbmdlZChDU1NGb250
RmFjZSYsIENTU1ZhbHVlTGlzdCogLypvbGRGYW1pbGllcyovID0gbnVsbHB0cikgeyB9CisgICAg
ICAgIHZpcnR1YWwgdm9pZCBmb250U3R5bGVVcGRhdGVOZWVkZWQoQ1NTRm9udEZhY2UmKSB7IH0K
ICAgICAgICAgdmlydHVhbCB2b2lkIHJlZigpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIGRl
cmVmKCkgPSAwOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dFNlbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCmlu
ZGV4IDQzNGU0Y2NjYWEyMTM3YjJlZWY2OThlMjFiNjNiNmJhYzVkNmFmOGQuLmQwYzIzMzY5NmEy
ZjZlN2E1ZWY5NzJiN2ZlNGU1ZTE1YTZmODYzOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
U2VsZWN0b3IuY3BwCkBAIC0yNDgsNyArMjQ4LDcgQEAgdm9pZCBDU1NGb250U2VsZWN0b3I6Om9w
cG9ydHVuaXN0aWNhbGx5U3RhcnRGb250RGF0YVVSTExvYWRpbmcoY29uc3QgRm9udENhc2NhZGUK
ICAgICAgICAgZmFjZS0+b3Bwb3J0dW5pc3RpY2FsbHlTdGFydEZvbnREYXRhVVJMTG9hZGluZygq
dGhpcyk7CiB9CiAKLXZvaWQgQ1NTRm9udFNlbGVjdG9yOjpmb250TG9hZGVkKCkKK3ZvaWQgQ1NT
Rm9udFNlbGVjdG9yOjpmb250TG9hZGVkKENTU0ZvbnRGYWNlJikKIHsKICAgICBkaXNwYXRjaElu
dmFsaWRhdGlvbkNhbGxiYWNrcygpOwogfQpAQCAtMjU5LDYgKzI1OSwxMiBAQCB2b2lkIENTU0Zv
bnRTZWxlY3Rvcjo6Zm9udE1vZGlmaWVkKCkKICAgICAgICAgZGlzcGF0Y2hJbnZhbGlkYXRpb25D
YWxsYmFja3MoKTsKIH0KIAordm9pZCBDU1NGb250U2VsZWN0b3I6OmZvbnRTdHlsZVVwZGF0ZU5l
ZWRlZChDU1NGb250RmFjZSYpCit7CisgICAgaWYgKGRvY3VtZW50KCkpCisgICAgICAgIGRvY3Vt
ZW50KCktPnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKK30KKwogdm9pZCBDU1NGb250U2VsZWN0b3I6
OmZvbnRDYWNoZUludmFsaWRhdGVkKCkKIHsKICAgICBkaXNwYXRjaEludmFsaWRhdGlvbkNhbGxi
YWNrcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5o
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5oCmluZGV4IDg4MGEwZGNlZDU0
MjdlNGMzNTgzN2VhOWM0MjI5NTIzYTg5ZjdjOTMuLmRhNDMxNzJkZTBmNDA0NmU3MjZlMmVjYTFj
MzgwNTQ0MjRhNGRhZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2Vs
ZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmgKQEAgLTQ4
LDcgKzQ4LDcgQEAgY2xhc3MgQ2FjaGVkRm9udDsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgU3R5
bGVSdWxlRm9udEZhY2U7CiAKLWNsYXNzIENTU0ZvbnRTZWxlY3RvciBmaW5hbCA6IHB1YmxpYyBG
b250U2VsZWN0b3IsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxDU1NGb250U2VsZWN0b3I+LCBwdWJs
aWMgQWN0aXZlRE9NT2JqZWN0IHsKK2NsYXNzIENTU0ZvbnRTZWxlY3RvciBmaW5hbCA6IHB1Ymxp
YyBGb250U2VsZWN0b3IsIHB1YmxpYyBDU1NGb250RmFjZTo6Q2xpZW50LCBwdWJsaWMgQ2FuTWFr
ZVdlYWtQdHI8Q1NTRm9udFNlbGVjdG9yPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFJlZjxDU1NGb250U2VsZWN0b3I+IGNyZWF0ZShEb2N1bWVudCYgZG9j
dW1lbnQpCiAgICAgewpAQCAtNzAsNyArNzAsNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFkZEZv
bnRGYWNlUnVsZShTdHlsZVJ1bGVGb250RmFjZSYsIGJvb2wgaXNJbml0aWF0aW5nRWxlbWVudElu
VXNlckFnZW50U2hhZG93VHJlZSk7CiAKLSAgICB2b2lkIGZvbnRMb2FkZWQoKTsKICAgICB2b2lk
IGZvbnRDYWNoZUludmFsaWRhdGVkKCkgZmluYWw7CiAKICAgICBib29sIGlzRW1wdHkoKSBjb25z
dDsKQEAgLTkxLDYgKzkwLDEwIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgbG9hZFBlbmRpbmdGb250
cygpOwogCisgICAgLy8gQ1NTRm9udEZhY2U6OkNsaWVudCBuZWVkcyB0byBiZSBhYmxlIHRvIGJl
IGhlbGQgaW4gYSBSZWZQdHIuCisgICAgdm9pZCByZWYoKSBmaW5hbCB7IEZvbnRTZWxlY3Rvcjo6
cmVmKCk7IH0KKyAgICB2b2lkIGRlcmVmKCkgZmluYWwgeyBGb250U2VsZWN0b3I6OmRlcmVmKCk7
IH0KKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBDU1NGb250U2VsZWN0b3IoRG9jdW1lbnQmKTsK
IApAQCAtOTgsOCArMTAxLDExIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIG9wcG9ydHVuaXN0aWNh
bGx5U3RhcnRGb250RGF0YVVSTExvYWRpbmcoY29uc3QgRm9udENhc2NhZGVEZXNjcmlwdGlvbiYs
IGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSkgZmluYWw7CiAKLSAgICB2b2lkIGZvbnRNb2RpZmll
ZCgpOworICAgIC8vIENTU0ZvbnRGYWNlOjpDbGllbnQKKyAgICB2b2lkIGZvbnRMb2FkZWQoQ1NT
Rm9udEZhY2UmKSBmaW5hbDsKKyAgICB2b2lkIGZvbnRTdHlsZVVwZGF0ZU5lZWRlZChDU1NGb250
RmFjZSYpIGZpbmFsOwogCisgICAgdm9pZCBmb250TW9kaWZpZWQoKTsKICAgICB2b2lkIGZvbnRM
b2FkaW5nVGltZXJGaXJlZCgpOwogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTQy
OTYxNGJhOTA1OTEyNTdlMDcxZWFiZTJhMDViZWRiNjc3NWU5Yi4uZmY3NDljNDg1ZDZhMDg4MGFl
MjIxMWIwOTEzZTdlODU2NWEzNGEyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTAyLTAy
ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVt
b3ZlIGFub3RoZXIgdXNlIG9mIEZvbnRTZWxlY3RvciBmcm9tIHdpdGhpbiBDU1NGb250RmFjZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMDcxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBmYXN0L3RleHQv
Zm9udC1sb2FkaW5nLW11bHRpcGxlLWRvY3VtZW50cy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRpcGxlLWRvY3VtZW50cy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRpcGxlLXNldHMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRp
cGxlLXNldHMuaHRtbDogQWRkZWQuCisKIDIwMjEtMDItMTAgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyNjMyNTUpOiBUZXh0
IHN0eWxlcyB3aXRob3V0IGFuIGV4cGxpY2l0IGxhbmd1YWdlIHRhZyBkbyBub3QgaG9ub3IgdGhl
IHN5c3RlbSBsYW5ndWFnZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQt
bG9hZGluZy1tdWx0aXBsZS1kb2N1bWVudHMtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC9mb250LWxvYWRpbmctbXVsdGlwbGUtZG9jdW1lbnRzLWV4cGVjdGVkLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTE5NTBiMWY1ZGUwMDY4ODQ5YWJhMTdmYWZiYmFhMzBiYzUzMzZlOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWxvYWRpbmctbXVsdGlwbGUt
ZG9jdW1lbnRzLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6
ICJXZWJGb250IjsKKyAgICBzcmM6IHVybCgiLi4vLi4vcmVzb3VyY2VzL0FoZW0udHRmIikgZm9y
bWF0KCJ0cnVldHlwZSIpOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBzdHls
ZT0iZm9udDogMzJweCAnV2ViRm9udCc7Ij5IZWxsbzwvZGl2PgorCis8aWZyYW1lIGlkPSJ0YXJn
ZXQiIHNyY2RvYz0iCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXYgc3R5bGU9J2ZvbnQ6IDMycHggV2ViRm9udDsnPkhlbGxvPC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+Ij48L2lmcmFtZT4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1kb2N1bWVudHMuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWxvYWRpbmctbXVsdGlwbGUtZG9jdW1lbnRz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMzU1NTQwOWQ3MjcyZWZkMjEzYTBhYzE4YzI1NjAwZWVkMWM5MTEx
MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWxvYWRpbmct
bXVsdGlwbGUtZG9jdW1lbnRzLmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IHN0eWxlPSJmb250OiAzMnB4
ICdXZWJGb250JzsiPkhlbGxvPC9kaXY+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVy
KQorICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworPC9zY3JpcHQ+CisKKzxpZnJhbWUg
aWQ9InRhcmdldCIgc3JjZG9jPSIKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdiBzdHlsZT0nZm9udDogMzJweCBXZWJGb250Oyc+SGVsbG88L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4iPjwvaWZyYW1lPgorCis8c2NyaXB0PgordmFyIGZvbnQgPSBu
ZXcgRm9udEZhY2UoIldlYkZvbnQiLCAidXJsKCcuLi8uLi9yZXNvdXJjZXMvQWhlbS50dGYnKSBm
b3JtYXQoJ3RydWV0eXBlJykiKTsKK2RvY3VtZW50LmZvbnRzLmFkZChmb250KTsKK2RvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKS5jb250ZW50V2luZG93LmRvY3VtZW50LmZvbnRzLmFk
ZChmb250KTsKK2ZvbnQubG9hZCgpLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK30pOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQv
Zm9udC1sb2FkaW5nLW11bHRpcGxlLXNldHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1zZXRzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hMTlhNWM1MzliNWRjOTg3ZDM1MTE2NjFkNzBhZmJmNTJkODg5YThkCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtbG9hZGluZy1tdWx0aXBsZS1zZXRzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitQQVNTIGZvbnQuc3RhdHVzIGlzICJ1bmxvYWRl
ZCIKK1BBU1Mgc2V0MS5zdGF0dXMgaXMgImxvYWRlZCIKK1BBU1Mgc2V0Mi5zdGF0dXMgaXMgImxv
YWRlZCIKK1BBU1MgZm9udC5zdGF0dXMgaXMgImxvYWRpbmciCitQQVNTIHNldDEuc3RhdHVzIGlz
ICJsb2FkaW5nIgorUEFTUyBzZXQyLnN0YXR1cyBpcyAibG9hZGluZyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRpcGxlLXNldHMuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC9mb250LWxvYWRpbmctbXVsdGlwbGUtc2V0cy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjE5MDEyMTI3MWMyMTUyNGMwNmNmMmUyYjUzNDY4ZTI2YzNhMmFlMGYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1sb2FkaW5nLW11bHRpcGxlLXNldHMuaHRt
bApAQCAtMCwwICsxLDQzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgaW50ZXJu
YWxzLmNsZWFyTWVtb3J5Q2FjaGUoKTsKKyAgICBpbnRlcm5hbHMuaW52YWxpZGF0ZUZvbnRDYWNo
ZSgpOworfQord2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwordmFyIGZvbnQgPSBuZXcgRm9u
dEZhY2UoIldlYkZvbnQiLCAidXJsKCcuLi8uLi9yZXNvdXJjZXMvQWhlbS50dGYnKSBmb3JtYXQo
J3RydWV0eXBlJykiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZm9udC5zdGF0dXMiLCAidW5s
b2FkZWQiKTsKK3ZhciBzZXQxID0gbmV3IEZvbnRGYWNlU2V0KFtmb250XSk7Cit2YXIgc2V0MiA9
IG5ldyBGb250RmFjZVNldChbZm9udF0pOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZXQxLnN0
YXR1cyIsICJsb2FkZWQiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygic2V0Mi5zdGF0dXMiLCAi
bG9hZGVkIik7Citmb250LmxvYWQoKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZm9udC5zdGF0
dXMiLCAibG9hZGluZyIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZXQxLnN0YXR1cyIsICJs
b2FkaW5nIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNldDIuc3RhdHVzIiwgImxvYWRpbmci
KTsKK3ZhciBjb3VudCA9IDA7CitzZXQxLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgKytj
b3VudDsKKyAgICBpZiAoY291bnQgPT0gMikKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7Cit9LCBm
dW5jdGlvbigpIHsKKyAgICB0ZXN0RmFpbGVkKCJQcm9taXNlIHNob3VsZCBub3QgYmUgcmVqZWN0
ZWQuIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKK3NldDEucmVhZHkudGhlbihmdW5jdGlv
bigpIHsKKyAgICArK2NvdW50OworICAgIGlmIChjb3VudCA9PSAyKQorICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKK30sIGZ1bmN0aW9uKCkgeworICAgIHRlc3RGYWlsZWQoIlByb21pc2Ugc2hvdWxk
IG5vdCBiZSByZWplY3RlZC4iKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>