<?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>234757</bug_id>
          
          <creation_ts>2021-12-30 14:26:13 -0800</creation_ts>
          <short_desc>Refactor some Cocoa-specific code in WebCore::FontAttributes to be platform-agnostic</short_desc>
          <delta_ts>2021-12-31 15:36:29 -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>HTML Editing</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=234693</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>akeerthi</cc>
    
    <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>mifenton</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>pdr</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1827268</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-30 14:26:13 -0800</bug_when>
    <thetext>Some minor cleanup, to support subsequent patches around this area.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827271</commentid>
    <comment_count>1</comment_count>
      <attachid>448107</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-30 14:45:40 -0800</bug_when>
    <thetext>Created attachment 448107
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827272</commentid>
    <comment_count>2</comment_count>
      <attachid>448108</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-30 14:52:50 -0800</bug_when>
    <thetext>Created attachment 448108
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827273</commentid>
    <comment_count>3</comment_count>
      <attachid>448109</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-30 15:21:14 -0800</bug_when>
    <thetext>Created attachment 448109
Fix Soup and Playstation builds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827276</commentid>
    <comment_count>4</comment_count>
      <attachid>448110</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-30 16:16:58 -0800</bug_when>
    <thetext>Created attachment 448110
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827283</commentid>
    <comment_count>5</comment_count>
      <attachid>448114</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-30 16:44:18 -0800</bug_when>
    <thetext>Created attachment 448114
Fix Windows build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827285</commentid>
    <comment_count>6</comment_count>
      <attachid>448114</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-12-30 17:41:41 -0800</bug_when>
    <thetext>Comment on attachment 448114
Fix Windows build

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

&gt; Source/WebCore/ChangeLog:35
&gt; +        * platform/graphics/cocoa/FontCocoa.h: Added.
&gt; +
&gt; +        Moved here from CocoaFont.h in WebKit. See WebKit/ChangeLog for more details.

Could have sworn Sam Weinig just did something like this in a patch.

&gt; Source/WebCore/editing/Editor.cpp:4044
&gt; +    bool hasMultipleFonts = false; // FIXME: This will be included as a part of FontAttributes in a future patch.

Not sure I understand the FIXME, but sounds like work in the right direction.

&gt; Source/WebCore/editing/cocoa/FontAttributesCocoa.mm:91
&gt; +    if (auto cocoaFont = font ? (__bridge CocoaFont *)font-&gt;getCTFont() : nil)

Suprised that WebCore::Font’s function to convert to a CoreText font is named getCTFont since WebKit coding style calls for not using &quot;get&quot; in this kind of function name.

Also, I think the knowledge that the two types are toll-free bridged could also be in WebCore::Font as a separate function so we would not need the bridge cast here. That’s the pattern we follow with WTF::String and WTF::URL, for example, except that the idiom there uses autorelease and here we would not need to do that. I think there should be function named cocoaFont() that returns a CocoaFont *.

&gt; Source/WebKit/Shared/Cocoa/CoreTextHelpers.mm:33
&gt; +using namespace WebCore;

I suggest we add the WebCore prefixes rather than adding the &quot;using namespace WebCore&quot;.

&gt; Source/WebKit/Shared/WebCoreArgumentCoders.cpp:2915
&gt; +    encoder &lt;&lt; !!attributes.font;
&gt; +    if (attributes.font)
&gt; +        encoder &lt;&lt; Ref(*attributes.font);

Seems strange that we have to write this out and don’t have a RefPtr encoder that does this for us. And, that we have to put a Font&amp; into a Ref&lt;Font&gt; to encode it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827360</commentid>
    <comment_count>7</comment_count>
      <attachid>448114</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-31 12:32:21 -0800</bug_when>
    <thetext>Comment on attachment 448114
Fix Windows build

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

Thanks for the review!

&gt;&gt; Source/WebCore/ChangeLog:35
&gt;&gt; +        Moved here from CocoaFont.h in WebKit. See WebKit/ChangeLog for more details.
&gt; 
&gt; Could have sworn Sam Weinig just did something like this in a patch.

Indeed! (I took a bit of inspiration from his recent &quot;CocoaColor.h in WebKit&quot; =&gt; &quot;ColorCocoa.h in WebCore&quot; refactoring)

&gt;&gt; Source/WebCore/editing/Editor.cpp:4044
&gt;&gt; +    bool hasMultipleFonts = false; // FIXME: This will be included as a part of FontAttributes in a future patch.
&gt; 
&gt; Not sure I understand the FIXME, but sounds like work in the right direction.

Yes — I&apos;ll clarify this FIXME by referencing the bug (#190120). My intention is to add `hasMultipleFonts` as a member of `FontAttributes` and plumb it across to the client layer in the next patch.

&gt;&gt; Source/WebCore/editing/cocoa/FontAttributesCocoa.mm:91
&gt;&gt; +    if (auto cocoaFont = font ? (__bridge CocoaFont *)font-&gt;getCTFont() : nil)
&gt; 
&gt; Suprised that WebCore::Font’s function to convert to a CoreText font is named getCTFont since WebKit coding style calls for not using &quot;get&quot; in this kind of function name.
&gt; 
&gt; Also, I think the knowledge that the two types are toll-free bridged could also be in WebCore::Font as a separate function so we would not need the bridge cast here. That’s the pattern we follow with WTF::String and WTF::URL, for example, except that the idiom there uses autorelease and here we would not need to do that. I think there should be function named cocoaFont() that returns a CocoaFont *.

Makes sense! I filed &lt;https://bugs.webkit.org/show_bug.cgi?id=234769&gt;.

&gt;&gt; Source/WebKit/Shared/Cocoa/CoreTextHelpers.mm:33
&gt;&gt; +using namespace WebCore;
&gt; 
&gt; I suggest we add the WebCore prefixes rather than adding the &quot;using namespace WebCore&quot;.

Changed to use WebCore:: prefixes.

&gt;&gt; Source/WebKit/Shared/WebCoreArgumentCoders.cpp:2915
&gt;&gt; +        encoder &lt;&lt; Ref(*attributes.font);
&gt; 
&gt; Seems strange that we have to write this out and don’t have a RefPtr encoder that does this for us. And, that we have to put a Font&amp; into a Ref&lt;Font&gt; to encode it.

Yeah, it sounds like we could at least add templated RefPtr encoder/decoder methods that know how to encode/decode RefPtr&lt;T&gt;, as long as there&apos;s already an encoder for Ref&lt;T&gt;.

I think the reason for encoding with Ref&lt;Font&gt; instead of Font&amp; (or even const Font&amp;) is that the canonical ArgumentCoder template assumes that the type when encoding matches the result when decoding:

```
template&lt;&gt; struct ArgumentCoder&lt;T&gt; {
    static void encode(Encoder&amp;, const T&amp;);
    static std::optional&lt;T&gt; decode(Decoder&amp;);
};
```

...whereas in this case, it would be more ideal to be a bit less symmetric by encoding with `const Font&amp;` but decoding to a `Ref&lt;Font&gt;`... i.e. something like this:

```
template&lt;&gt; struct ArgumentCoder&lt;Ref&lt;T&gt;&gt; {
    static void encode(Encoder&amp;, const T&amp;);
    static std::optional&lt;Ref&lt;T&gt;&gt; decode(Decoder&amp;);
};
```

I think for this patch, I&apos;ll add a `RefPtr&lt;Font&gt;` encoder/decoder that would allow us to just do `encoder &lt;&lt; attributes.font` instead of having to encode the nullity bit separately in the `FontAttributes` coder. I&apos;ll file a followup to then see if we can add something to ArgumentCoders.h so that we get `RefPtr&lt;T&gt;` coding for free if `Ref&lt;T&gt;` coders are defined.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827363</commentid>
    <comment_count>8</comment_count>
      <attachid>448132</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-31 13:25:57 -0800</bug_when>
    <thetext>Created attachment 448132
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827374</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-31 15:35:00 -0800</bug_when>
    <thetext>Committed r287496 (245631@main): &lt;https://commits.webkit.org/245631@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 448132.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827375</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-31 15:36:29 -0800</bug_when>
    <thetext>&lt;rdar://problem/87036610&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448107</attachid>
            <date>2021-12-30 14:45:40 -0800</date>
            <delta_ts>2021-12-30 14:52:48 -0800</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-234757-20211230144539.patch</filename>
            <type>text/plain</type>
            <size>32800</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NDgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWU1YzU2MTk5Yzk2MThk
NmJjOGZlZTQwNDA4OTNmMjRlYTkyZjNjNy4uYmFjZmFiYmVmNGVkYjU5YmIyMjFjNTczMzMwMDg3
OTdiNWI3NDZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIxLTEyLTMwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJlZmFjdG9yIHNv
bWUgQ29jb2Etc3BlY2lmaWMgY29kZSBpbiBXZWJDb3JlOjpGb250QXR0cmlidXRlcyB0byBiZSBw
bGF0Zm9ybS1hZ25vc3RpYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM0NzU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUmVwbGFjZSB0aGUgVUlGb250L05TRm9udCBjdXJyZW50bHkgaW4gV2ViQ29yZTo6
Rm9udEF0dHJpYnV0ZXMgd2l0aCBhIFdlYkNvcmU6OkZvbnQgaW5zdGVhZC4gVGhpcyByZW1vdmVz
IGEgYml0CisgICAgICAgIG9mIHBsYXRmb3JtLXNwZWNpZmljIGxvZ2ljIGluIGFuIG90aGVyd2lz
ZSBwbGF0Zm9ybS1hZ25vc3RpYyBjbGFzcyAod2l0aCB0aGUgZXhjZXB0aW9uIG9mIGEgY291cGxl
IENvY29hLQorICAgICAgICBzcGVjaWZpYyBoZWxwZXIgbWV0aG9kcykuIFRoaXMgYWRkaXRpb25h
bGx5IGxldHMgdXMgcmVtb3ZlIHNvbWUgcGxhdGZvcm0tc3BlY2lmaWMgbG9naWMgZm9yIGNvbXB1
dGluZyBmb250CisgICAgICAgIGF0dHJpYnV0ZXMgKGkuZS4gYHBsYXRmb3JtRm9udEF0dHJpYnV0
ZXNBdFNlbGVjdGlvblN0YXJ0YCkgYmVsb3cuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RWRpdG9yOjpmb250QXR0cmlidXRlc0F0U2VsZWN0aW9uU3RhcnQpOgorICAg
ICAgICAoV2ViQ29yZTo6RWRpdG9yOjpwbGF0Zm9ybUZvbnRBdHRyaWJ1dGVzQXRTZWxlY3Rpb25T
dGFydCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuaDoKKyAgICAg
ICAgKiBlZGl0aW5nL0ZvbnRBdHRyaWJ1dGVzLmg6CisgICAgICAgIChXZWJDb3JlOjpUZXh0TGlz
dDo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRMaXN0OjpkZWNvZGUpOgor
CisgICAgICAgIERyaXZlLWJ5IGZpeDogaW5zdGVhZCBvZiBgc3RhdGljX2Nhc3RgLWluZyB0byBh
IHVpbnQ4X3QgYW5kIGVuY29kaW5nL2RlY29kaW5nIHRoZSByYXcgdmFsdWUsIGVuY29kZSBhbmQg
ZGVjb2RlCisgICAgICAgIHRoZSBMaXN0U3R5bGVUeXBlIGFzIGEgbm9ybWFsIGVudW0gaW5zdGVh
ZC4gVGhpcyBhbHNvIGVuc3VyZXMgdGhhdCB3ZSB2YWxpZGF0ZSB0aGUgZW51bSB2YWx1ZSB1cG9u
IGRlY29kaW5nLgorCisgICAgICAgIChXZWJDb3JlOjpGb250QXR0cmlidXRlczo6ZW5jb2RpbmdS
ZXF1aXJlc1BsYXRmb3JtRGF0YSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogZWRpdGluZy9j
b2NvYS9FZGl0b3JDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cGxhdGZvcm1G
b250QXR0cmlidXRlc0F0U2VsZWN0aW9uU3RhcnQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAq
IGVkaXRpbmcvY29jb2EvRm9udEF0dHJpYnV0ZXNDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRBdHRyaWJ1dGVzOjpjcmVhdGVEaWN0aW9uYXJ5IGNvbnN0KToKKworICAgICAgICBPbmx5
IGdyYWIgdGhlIE5TRm9udCBvciBVSUZvbnQgZnJvbSB0aGUgV2ViQ29yZTo6Rm9udCBvYmplY3Qg
b25jZSB3ZSdyZSBpbiB0aGlzIENvY29hLXNwZWNpZmljIGhlbHBlci4KKworICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5oOiBBZGRlZC4KKworICAgICAgICBNb3Zl
ZCBoZXJlIGZyb20gQ29jb2FGb250LmggaW4gV2ViS2l0LiBTZWUgV2ViS2l0L0NoYW5nZUxvZyBm
b3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
Q29uc3RhbnRzLmg6CisKKyAgICAgICAgQWRkIEVudW1UcmFpdHMgZm9yIExpc3RTdHlsZVR5cGUs
IHNvIHRoYXQgaXQgY2FuIGJlIGVuY29kZWQvZGVjb2RlZC4KKwogMjAyMS0xMi0yOSAgV2Vuc29u
IEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGluZyB0aGUg
ZmlsZSBuYW1lIG9mIGF0dGFjaG1lbnQtYmFja2VkIGltYWdlcyBzaG91bGQgYXV0b21hdGljYWxs
eSBzZXQgdGhlIGBhbHRgIGF0dHJpYnV0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBjZTI3ZTE0YzY5ZmQyNDRhZTdi
MjQ0NWUzZTQ5ODdjNmY3MWJiMjgzLi5iZTJiZTI0MmM1YWNlNWM0NjJkNjUwYjZiMWRhZjExMTA5
ODg5NTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIxLTEyLTMwICBXZW5zb24gSHNp
ZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJlZmFjdG9yIHNvbWUgQ29j
b2Etc3BlY2lmaWMgY29kZSBpbiBXZWJDb3JlOjpGb250QXR0cmlidXRlcyB0byBiZSBwbGF0Zm9y
bS1hZ25vc3RpYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM0NzU3CisKKyAgICAgICAgU2VlIGNvbW1lbnRzIGJlbG93IChhcyB3ZWxsIGFzIFdlYkNv
cmUvQ2hhbmdlTG9nKSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGxhdGZvcm0vY29jb2EvQ29jb2FGb250Lmg6IFJl
bW92ZWQuCisKKyAgICAgICAgTW92ZSB0aGlzIGZpbGUgaW50byBXZWJDb3JlLCBhcyBgRm9udENv
Y29hLmhgLgorCisgICAgICAgICogU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EubW06
CisgICAgICAgICogU2hhcmVkL0NvY29hL0NvcmVUZXh0SGVscGVycy5oOgorICAgICAgICAqIFNo
YXJlZC9Db2NvYS9Db3JlVGV4dEhlbHBlcnMubW06CisKKyAgICAgICAgQWRqdXN0IGEgZmV3IHBs
YWNlcyB0aGF0IGN1cnJlbnRseSBpbXBvcnQgQ29jb2FGb250LmggdG8gaW1wb3J0IFdlYkNvcmUv
Rm9udENvY29hLmggaW5zdGVhZC4gQWRkaXRvbmFsbHksIGNoYW5nZQorICAgICAgICBDb2NvYUZv
bnQgdG8gV2ViQ29yZTo6Q29jb2FGb250IHdoZXJlIG5lY2Vzc2FyeS4KKworICAgICAgICAqIFNo
YXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbToKKyAgICAgICAgKElQQzo6
QXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGb250QXR0cmlidXRlcz46OmVuY29kZVBsYXRmb3JtRGF0
YSk6IERlbGV0ZWQuCisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Rm9udEF0
dHJpYnV0ZXM+OjpkZWNvZGVQbGF0Zm9ybURhdGEpOiBEZWxldGVkLgorCisgICAgICAgIFJlbW92
ZSBwbGF0Zm9ybS1zcGVjaWZpYyBGb250QXR0cmlidXRlcyBlbmNvZGluZy9kZWNvZGluZyBsb2dp
Yy4gVGhpcyBpcyBubyBsb25nZXIgbmVlZGVkLCBzaW5jZSB3ZSBqdXN0CisgICAgICAgIHByb3Bh
Z2F0ZSBhIEZvbnQgaW5zdGVhZCBvZiBhbiBOU0ZvbnQgb3IgVUlGb250LgorCisgICAgICAgICog
U2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHA6CisgICAgICAgIChJUEM6OkFyZ3VtZW50
Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENv
ZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZGVjb2RlKToKKworICAgICAgICBSZW1vdmUgdGhlIGNhbGxz
IHRvIGBlbmNvZGVQbGF0Zm9ybURhdGEvZGVjb2RlUGxhdGZvcm1EYXRhYCwgYW5kIGluc3RlYWQg
ZW5jb2RlIHRoZSBgUmVmUHRyPFdlYkNvcmU6OkZvbnQ+YC4KKworICAgICAgICAqIFNoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV0tTYWZl
QnJvd3NpbmdXYXJuaW5nLm1tOgorICAgICAgICAoZm9udE9mU2l6ZSk6CisgICAgICAgICogV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMjEtMTItMjYgIFNhbSBXZWluaWcg
IDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlcGxhY2UgV2ViS2l0L0NvY29hQ29sb3Iu
aCB3aXRoIFdlYkNvcmUvQ29sb3JDb2NvYS5oLCBub3QgY29uZnVzaW5nIGF0IGFsbApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGI2
NjJiMDg3ZTcyZWRlNmVjN2M5MzVkZmE0N2YwN2UwZGM0ZDA3NmYuLjNjOWVjMjVjMGE5MjQ2MDZh
ZTJlYjMyNzY0YTE3OGRkY2M5NDQzZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU1MTEsNiArNTUxMSw3IEBACiAJCUY0OEQy
QUE1MjE1OTc0MEQwMEM2NzUyQiAvKiBDb2xvckNvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDhEMkFBMzIxNTk3NDBEMDBDNjc1MkIgLyogQ29s
b3JDb2NvYS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUY0OTMyODgzMjc2OTA0MUIwMDNFMjBGOCAvKiBNb2RhbENvbnRhaW5lclR5cGVzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDkzMjg4MjI3Njkw
NDFCMDAzRTIwRjggLyogTW9kYWxDb250YWluZXJUeXBlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUY0OTc4Njg4MUZGNDVGQTUwMEUwNjBBQiAv
KiBQYXN0ZWJvYXJkSXRlbUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEY0OTc4Njg3MUZGNDVGQTUwMEUwNjBBQiAvKiBQYXN0ZWJvYXJkSXRlbUlu
Zm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlG
NEEwNjRDODI3N0U0OEM5MDBCMDZBMTcgLyogRm9udENvY29hLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNEEwNjRDNjI3N0U0OEM2MDBCMDZBMTcgLyog
Rm9udENvY29hLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJRjRCMDAxODkyNkU3RjIxRjAwNkVBQUJFIC8qIEhUTUxBdG9tU3RyaW5nQ2FjaGUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0QjAwMTg3MjZF
N0YyMUYwMDZFQUFCRSAvKiBIVE1MQXRvbVN0cmluZ0NhY2hlLmggKi87IH07CiAJCUY0QjJBOTA5
MjY1MDMwQkEwMDlFNzI4NiAvKiBEYXRhRGV0ZWN0b3JIaWdobGlnaHQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0QjJBOTA2MjY1MDJCQTAwMDlFNzI4
NiAvKiBEYXRhRGV0ZWN0b3JIaWdobGlnaHQuaCAqLzsgfTsKIAkJRjRCNDIyQzQyMjBDMDU2ODAw
OUUxRTdEIC8qIERPTVBhc3RlQWNjZXNzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGNEI0MjJDMjIyMEMwMDAwMDA5RTFFN0QgLyogRE9NUGFzdGVBY2Nl
c3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAt
MTc3NDIsNiArMTc3NDMsNyBAQAogCQlGNDkzMjg4MjI3NjkwNDFCMDAzRTIwRjggLyogTW9kYWxD
b250YWluZXJUeXBlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNb2RhbENvbnRhaW5lclR5cGVzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0OTc4Njg3MUZGNDVGQTUwMEUwNjBBQiAvKiBQ
YXN0ZWJvYXJkSXRlbUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFzdGVib2FyZEl0ZW1JbmZvLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0OUU5OEU0MjFERUU2QzEwMDlBRTU1RSAv
KiBFZGl0QWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVkaXRBY3Rpb24uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNEEwNjRDNjI3N0U0OEM2MDBCMDZBMTcgLyogRm9u
dENvY29hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRDb2NvYS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNEIwMDE4NzI2RTdGMjFGMDA2RUFBQkUgLyog
SFRNTEF0b21TdHJpbmdDYWNoZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MQXRvbVN0cmluZ0NhY2hl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0QjAwMTg4MjZFN0YyMUYwMDZFQUFC
RSAvKiBIVE1MQXRvbVN0cmluZ0NhY2hlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhUTUxBdG9t
U3RyaW5nQ2FjaGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNEIyQTkwNjI2
NTAyQkEwMDA5RTcyODYgLyogRGF0YURldGVjdG9ySGlnaGxpZ2h0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IERhdGFEZXRlY3RvckhpZ2hsaWdodC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MjkwNTMsNiArMjkwNTUsNyBAQAogCQkJCUMyNDU4RTYxMUZFODk3OUUwMDU5NDc1OSAvKiBGb250
Q2FjaGVDb3JlVGV4dC5oICovLAogCQkJCUIyQUZGQzc4MEQwMEE1QzEwMDMwMDc0RCAvKiBGb250
Q2FzY2FkZUNvY29hLmNwcCAqLywKIAkJCQkxQzZGRDhCMDI1MEEzNUYxMDBENkU5MjAgLyogRm9u
dENvY29hLmNwcCAqLywKKwkJCQlGNEEwNjRDNjI3N0U0OEM2MDBCMDZBMTcgLyogRm9udENvY29h
LmggKi8sCiAJCQkJMUMxMkFDMkMxRUU3Nzk5NTAwNzlFMEEwIC8qIEZvbnREZXNjcmlwdGlvbkNv
Y29hLmNwcCAqLywKIAkJCQkxQzEyQUMyODFFRTc3OEFFMDA3OUUwQTAgLyogRm9udEZhbWlseVNw
ZWNpZmljYXRpb25Db3JlVGV4dC5jcHAgKi8sCiAJCQkJMUMxMkFDMjkxRUU3NzhBRTAwNzlFMEEw
IC8qIEZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uQ29yZVRleHQuaCAqLywKQEAgLTM0NDA5LDYgKzM0
NDEyLDcgQEAKIAkJCQlCMkMzREE2MTBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udENhc2NhZGUuaCBp
biBIZWFkZXJzICovLAogCQkJCUU0RThCNEY1MjE2Qjk1NjUwMEI4ODM0RCAvKiBGb250Q2FzY2Fk
ZURlc2NyaXB0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkMzREE2ODBEMDA2Q0Q2MDBFRjZG
MjYgLyogRm9udENhc2NhZGVGb250cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJRjRBMDY0QzgyNzdF
NDhDOTAwQjA2QTE3IC8qIEZvbnRDb2NvYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUMyNjY3MUIy
NkZBOTMyRjAwMTE3MDczIC8qIEZvbnRDcmVhdGlvbkNvbnRleHQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUIyQUZGQzdFMEQwMEE1QzEwMDMwMDc0RCAvKiBGb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCMkMzREE2NjBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udERlc2Ny
aXB0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTM0NTA4LDYgKzM0NTEyLDcgQEAKIAkJCQlCQzUz
QzVGNTBEQTU2QjkyMDAyMUVCNUQgLyogR3JhZGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIy
MjI3OTY0MEQwMEJGMjIwMDcxQjc4MiAvKiBHcmFkaWVudEF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDMTlDREY0Mjc3MTA2MzkwMDUzRjczNCAvKiBHcmFkaWVudENvbG9yU3RvcC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQkMxOUNFMkIyNzcyQkY3QjAwNTNGNzM0IC8qIEdyYWRpZW50
Q29sb3JTdG9wcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ0ODFGMDQxNDZCNUM2QjAwQUE3ODM0
IC8qIEdyYWRpZW50SW1hZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMTlDREYyMjc2RkZDNkQw
MDUzRjczNCAvKiBHcmFkaWVudFJlbmRlcmVyQ0cuaCBpbiBIZWFkZXJzICovLAogCQkJCTdCQjY4
MEJBMjVCQTFCRTQwMDJCODczOCAvKiBHcmFwaGljc0NoZWNrc01hYy5oIGluIEhlYWRlcnMgKi8s
CkBAIC0zNzU3Myw3ICszNzU3OCw2IEBACiAJCQkJQkU5MTNEODAxODFFRjkyNDAwRENCMDlFIC8q
IFRyYWNrUHJpdmF0ZUJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEMUY5QjFDMjcwMjRCQzIw
MDYxN0VCNiAvKiBUcmFja1ByaXZhdGVCYXNlQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlG
RkFDMzBGRTE4NEZCMTQ1MDA4QzRGMUUgLyogVHJhaWxpbmdPYmplY3RzLmggaW4gSGVhZGVycyAq
LywKLQkJCQlCQzE5Q0UyQjI3NzJCRjdCMDA1M0Y3MzQgLyogR3JhZGllbnRDb2xvclN0b3BzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1MTYwNzEzMjFCRDgzMDhCMDBEQkM0RjIgLyogVHJhbnNhY3Rp
b25PcGVyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUNEM0VFRjQxMjU3OTlGRDkwMDY1NjNC
QiAvKiBUcmFuc2ZlckZ1bmN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5MTFDNDBFRjg2
RDQ3MDA5RDBDQUYgLyogVHJhbnNmb3JtYXRpb25NYXRyaXguaCBpbiBIZWFkZXJzICovLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9FZGl0b3IuY3BwCmluZGV4IGIwY2I2ODMzYjhmZjI0NmM3MDU2ZjNmZDI2YzA2
MzEyZjljYWQ4YzQuLjU0MTkyYjkzNWQ3YWFkNjA2ZWQ3ZDQ5M2NhN2FhZTc5OGEyY2FmNjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKQEAgLTM5OTcsMTAgKzM5OTcsNiBAQCB2b2lkIEVk
aXRvcjo6c2NoZWR1bGVFZGl0b3JVSVVwZGF0ZSgpCiAKICNpZiAhUExBVEZPUk0oQ09DT0EpCiAK
LXZvaWQgRWRpdG9yOjpwbGF0Zm9ybUZvbnRBdHRyaWJ1dGVzQXRTZWxlY3Rpb25TdGFydChGb250
QXR0cmlidXRlcyYsIGNvbnN0IFJlbmRlclN0eWxlJikgY29uc3QKLXsKLX0KLQogU3RyaW5nIEVk
aXRvcjo6cGxhdGZvcm1Db250ZW50VHlwZUZvckJsb2JUeXBlKGNvbnN0IFN0cmluZyYgdHlwZSkg
Y29uc3QKIHsKICAgICByZXR1cm4gdHlwZTsKQEAgLTQwNDQsMjAgKzQwNDAsMTkgQEAgc3RhdGlj
IFZlY3RvcjxUZXh0TGlzdD4gZWRpdGFibGVUZXh0TGlzdHNBdFBvc2l0aW9uSW5EZXNjZW5kaW5n
T3JkZXIoY29uc3QgUG9zaXQKIAogRm9udEF0dHJpYnV0ZXMgRWRpdG9yOjpmb250QXR0cmlidXRl
c0F0U2VsZWN0aW9uU3RhcnQoKQogewotICAgIFJlZlB0cjxOb2RlPiBub2RlVG9SZW1vdmU7Ci0g
ICAgYXV0byBub2RlUmVtb3ZhbFNjb3BlID0gbWFrZVNjb3BlRXhpdChbJm5vZGVUb1JlbW92ZV0o
KSB7Ci0gICAgICAgIGlmIChub2RlVG9SZW1vdmUpCi0gICAgICAgICAgICBub2RlVG9SZW1vdmUt
PnJlbW92ZSgpOwotICAgIH0pOworICAgIEZvbnRBdHRyaWJ1dGVzIGF0dHJpYnV0ZXM7CiAKKyAg
ICBSZWZQdHI8Tm9kZT4gbm9kZVRvUmVtb3ZlOwogICAgIGF1dG8qIHN0eWxlID0gc3R5bGVGb3JT
ZWxlY3Rpb25TdGFydChub2RlVG9SZW1vdmUpOworICAgIG5vZGVUb1JlbW92ZS0+cmVtb3ZlKCk7
CisKICAgICBpZiAoIXN0eWxlKQotICAgICAgICByZXR1cm4geyB9OworICAgICAgICByZXR1cm4g
YXR0cmlidXRlczsKIAotICAgIFNjcmlwdERpc2FsbG93ZWRTY29wZTo6SW5NYWluVGhyZWFkIHNj
cmlwdERpc2FsbG93ZWRTY29wZTsKKyAgICBib29sIGhhc011bHRpcGxlRm9udHMgPSBmYWxzZTsg
Ly8gRklYTUU6IFRoaXMgd2lsbCBiZSBpbmNsdWRlZCBhcyBhIHBhcnQgb2YgRm9udEF0dHJpYnV0
ZXMgaW4gYSBmdXR1cmUgcGF0Y2guCisgICAgYXR0cmlidXRlcy5mb250ID0gZm9udEZvclNlbGVj
dGlvbihoYXNNdWx0aXBsZUZvbnRzKTsKIAotICAgIEZvbnRBdHRyaWJ1dGVzIGF0dHJpYnV0ZXM7
Ci0gICAgcGxhdGZvcm1Gb250QXR0cmlidXRlc0F0U2VsZWN0aW9uU3RhcnQoYXR0cmlidXRlcywg
KnN0eWxlKTsKKyAgICBTY3JpcHREaXNhbGxvd2VkU2NvcGU6OkluTWFpblRocmVhZCBzY3JpcHRE
aXNhbGxvd2VkU2NvcGU7CiAKICAgICAvLyBGSVhNRTogZm9yIG5vdywgYWx3YXlzIHJlcG9ydCB0
aGUgY29sb3JzIGFmdGVyIGFwcGx5aW5nIC1hcHBsZS1jb2xvci1maWx0ZXIuIEluIGZ1dHVyZSBu
b3QgYWxsIGNsaWVudHMKICAgICAvLyBtYXkgd2FudCB0aGlzLCBzbyB3ZSBtYXkgaGF2ZSB0byBh
ZGQgYSBzZXR0aW5nIHRvIGNvbnRyb2wgaXQuIFNlZSBhbHNvIGVkaXRpbmdBdHRyaWJ1dGVkU3Ry
aW5nRnJvbVJhbmdlKCkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRv
ci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAppbmRleCA4NmQ4YzhjMjYwMTgz
MGJkYzNhOTdmODczNzlmYTAxZTNlZGM4ZDYwLi5jM2EzNGY1ZmY0MjdjZGRhZGViYzk0MzMwZDdi
OTU2MDc1MWEzNjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKQEAgLTYzMSw3ICs2MzEsNiBA
QCBwcml2YXRlOgogICAgIHN0YXRpYyBSZWZQdHI8U2hhcmVkQnVmZmVyPiBkYXRhSW5SVEZERm9y
bWF0KE5TQXR0cmlidXRlZFN0cmluZyAqKTsKICAgICBzdGF0aWMgUmVmUHRyPFNoYXJlZEJ1ZmZl
cj4gZGF0YUluUlRGRm9ybWF0KE5TQXR0cmlidXRlZFN0cmluZyAqKTsKICNlbmRpZgotICAgIHZv
aWQgcGxhdGZvcm1Gb250QXR0cmlidXRlc0F0U2VsZWN0aW9uU3RhcnQoRm9udEF0dHJpYnV0ZXMm
LCBjb25zdCBSZW5kZXJTdHlsZSYpIGNvbnN0OwogCiAgICAgdm9pZCBzY2hlZHVsZUVkaXRvclVJ
VXBkYXRlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRm9udEF0dHJp
YnV0ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRm9udEF0dHJpYnV0ZXMuaAppbmRleCA3
NzAwNTU0NWU3ZmVhYTE2ZWMyMWY1ODNkNGRjNGM4YjE0ZTFhNzcyLi45MWRlNDQ1MzBjMWQ4YWYz
NTVkZGFiYzNkYWYxMDBlZGUxOTViMTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0ZvbnRBdHRyaWJ1dGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9Gb250QXR0
cmlidXRlcy5oCkBAIC0yNSwxNCArMjUsMTMgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRl
ICJGb250LmgiCiAjaW5jbHVkZSAiRm9udFNoYWRvdy5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxl
Q29uc3RhbnRzLmgiCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCiBPQkpDX0NMQVNTIE5T
RGljdGlvbmFyeTsKLU9CSkNfQ0xBU1MgTlNGb250OwogT0JKQ19DTEFTUyBOU1RleHRMaXN0Owot
T0JKQ19DTEFTUyBVSUZvbnQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTEsMTIgKzUw
LDEyIEBAIHN0cnVjdCBUZXh0TGlzdCB7CiAKIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IGlubGlu
ZSB2b2lkIFRleHRMaXN0OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKLSAgICBl
bmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQ4X3Q+KHN0eWxlKSA8PCBzdGFydGluZ0l0ZW1OdW1i
ZXIgPDwgb3JkZXJlZDsKKyAgICBlbmNvZGVyIDw8IHN0eWxlIDw8IHN0YXJ0aW5nSXRlbU51bWJl
ciA8PCBvcmRlcmVkOwogfQogCiB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBpbmxpbmUgc3RkOjpv
cHRpb25hbDxUZXh0TGlzdD4gVGV4dExpc3Q6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQogewot
ICAgIHN0ZDo6b3B0aW9uYWw8dWludDhfdD4gc3R5bGU7CisgICAgc3RkOjpvcHRpb25hbDxMaXN0
U3R5bGVUeXBlPiBzdHlsZTsKICAgICBkZWNvZGVyID4+IHN0eWxlOwogICAgIGlmICghc3R5bGUp
CiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CkBAIC03MSw3ICs3MCw3IEBAIHRlbXBsYXRl
PGNsYXNzIERlY29kZXI+IGlubGluZSBzdGQ6Om9wdGlvbmFsPFRleHRMaXN0PiBUZXh0TGlzdDo6
ZGVjb2RlKERlY29kZXImCiAgICAgaWYgKCFvcmRlcmVkKQogICAgICAgICByZXR1cm4gc3RkOjpu
dWxsb3B0OwogCi0gICAgcmV0dXJuIHt7IHN0YXRpY19jYXN0PExpc3RTdHlsZVR5cGU+KFdURk1v
dmUoKnN0eWxlKSksIFdURk1vdmUoKnN0YXJ0aW5nSXRlbU51bWJlciksIFdURk1vdmUoKm9yZGVy
ZWQpIH19OworICAgIHJldHVybiB7IHsgKnN0eWxlLCAqc3RhcnRpbmdJdGVtTnVtYmVyLCAqb3Jk
ZXJlZCB9IH07CiB9CiAKIHN0cnVjdCBGb250QXR0cmlidXRlcyB7CkBAIC03OSwxOCArNzgsMTAg
QEAgc3RydWN0IEZvbnRBdHRyaWJ1dGVzIHsKICAgICBlbnVtIGNsYXNzIEhvcml6b250YWxBbGln
bm1lbnQgOiB1aW50OF90IHsgTGVmdCwgQ2VudGVyLCBSaWdodCwgSnVzdGlmeSwgTmF0dXJhbCB9
OwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgYm9vbCBlbmNvZGluZ1JlcXVpcmVzUGxhdGZv
cm1EYXRhKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQotCiAgICAgV0VCQ09SRV9FWFBPUlQgUmV0
YWluUHRyPE5TRGljdGlvbmFyeT4gY3JlYXRlRGljdGlvbmFyeSgpIGNvbnN0OwotI2Vsc2UKLSAg
ICBib29sIGVuY29kaW5nUmVxdWlyZXNQbGF0Zm9ybURhdGEoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpCi0gICAgUmV0YWluUHRyPE5TRm9udD4g
Zm9udDsKLSNlbGlmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgUmV0YWluUHRyPFVJRm9udD4g
Zm9udDsKLSNlbmRpZgorICAgIFJlZlB0cjxGb250PiBmb250OwogICAgIENvbG9yIGJhY2tncm91
bmRDb2xvcjsKICAgICBDb2xvciBmb3JlZ3JvdW5kQ29sb3I7CiAgICAgRm9udFNoYWRvdyBmb250
U2hhZG93OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JD
b2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRWRpdG9yQ29jb2EubW0KaW5k
ZXggYTg1YjdhYTc1MjZiMmY3YzUxYTNmNWM0NjdiZWIzNTBlOTkxNGFhYi4uMzhkYmQyNTkzYjg2
YmJhOWE5MGNhZWIzMDBmZmFmMGY5YTkyODMzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L2NvY29hL0VkaXRvckNvY29hLm1tCkBAIC02NSwxMiArNjUsNiBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLXZvaWQgRWRpdG9yOjpwbGF0Zm9ybUZvbnRBdHRyaWJ1dGVzQXRTZWxlY3Rpb25T
dGFydChGb250QXR0cmlidXRlcyYgYXR0cmlidXRlcywgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxl
KSBjb25zdAotewotICAgIGlmIChhdXRvIGN0Rm9udCA9IHN0eWxlLmZvbnRDYXNjYWRlKCkucHJp
bWFyeUZvbnQoKS5nZXRDVEZvbnQoKSkKLSAgICAgICAgYXR0cmlidXRlcy5mb250ID0gKF9fYnJp
ZGdlIGlkKWN0Rm9udDsKLX0KLQogc3RhdGljIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGFyY2hpdmVk
RGF0YUZvckF0dHJpYnV0ZWRTdHJpbmcoTlNBdHRyaWJ1dGVkU3RyaW5nICphdHRyaWJ1dGVkU3Ry
aW5nKQogewogICAgIGlmICghYXR0cmlidXRlZFN0cmluZy5sZW5ndGgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0ZvbnRBdHRyaWJ1dGVzQ29jb2EubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0ZvbnRBdHRyaWJ1dGVzQ29jb2EubW0KaW5kZXggNDRi
NDg3YzIyMThkNGI2YjkyMDAxMDc1NjA5Yjk5YmI4ZmQ0MjJiOC4uZmEwZGE1ZGU2MWU1YWU1NmU5
MjVlY2E0Y2QxZjhkODg4ZmRkM2QwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9jb2NvYS9Gb250QXR0cmlidXRlc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvY29jb2EvRm9udEF0dHJpYnV0ZXNDb2NvYS5tbQpAQCAtMjcsNiArMjcsNyBAQAogI2ltcG9y
dCAiRm9udEF0dHJpYnV0ZXMuaCIKIAogI2ltcG9ydCAiQ29sb3JDb2NvYS5oIgorI2ltcG9ydCAi
Rm9udENvY29hLmgiCiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL05TQXR0cmlidXRlZFN0cmluZ1NQ
SS5oPgogI2ltcG9ydCA8d3RmL2NvY29hL1ZlY3RvckNvY29hLmg+CiAKQEAgLTg3LDggKzg4LDgg
QEAgUmV0YWluUHRyPE5TVGV4dExpc3Q+IFRleHRMaXN0OjpjcmVhdGVUZXh0TGlzdCgpIGNvbnN0
CiBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBGb250QXR0cmlidXRlczo6Y3JlYXRlRGljdGlvbmFy
eSgpIGNvbnN0CiB7CiAgICAgTlNNdXRhYmxlRGljdGlvbmFyeSAqYXR0cmlidXRlcyA9IFtOU011
dGFibGVEaWN0aW9uYXJ5IGRpY3Rpb25hcnldOwotICAgIGlmIChmb250KQotICAgICAgICBhdHRy
aWJ1dGVzW05TRm9udEF0dHJpYnV0ZU5hbWVdID0gZm9udC5nZXQoKTsKKyAgICBpZiAoYXV0byBj
b2NvYUZvbnQgPSBmb250ID8gKF9fYnJpZGdlIENvY29hRm9udCAqKWZvbnQtPmdldENURm9udCgp
IDogbmlsKQorICAgICAgICBhdHRyaWJ1dGVzW05TRm9udEF0dHJpYnV0ZU5hbWVdID0gY29jb2FG
b250OwogCiAgICAgaWYgKGZvcmVncm91bmRDb2xvci5pc1ZhbGlkKCkpCiAgICAgICAgIGF0dHJp
YnV0ZXNbTlNGb3JlZ3JvdW5kQ29sb3JBdHRyaWJ1dGVOYW1lXSA9IGNvY29hQ29sb3IoZm9yZWdy
b3VuZENvbG9yKS5nZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvRm9udENvY29hLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDQ2ZTFjZmNiZjI1NDdkNTMxNWYxNWMy
MzMxM2JkNmJjYjRjOGQ0NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5oCkBAIC0wLDAgKzEsNDggQEAKKy8qCisqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
bmNsdWRlIDx3dGYvQ29tcGlsZXIuaD4KKworI2lmIFVTRShBUFBLSVQpCitPQkpDX0NMQVNTIE5T
Rm9udDsKK09CSkNfQ0xBU1MgTlNGb250RGVzY3JpcHRvcjsKKyNlbHNlCitPQkpDX0NMQVNTIFVJ
Rm9udDsKK09CSkNfQ0xBU1MgVUlGb250RGVzY3JpcHRvcjsKKyNlbmRpZgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKKyNpZiBVU0UoQVBQS0lUKQordXNpbmcgQ29jb2FGb250ID0gTlNGb250Owor
dXNpbmcgQ29jb2FGb250RGVzY3JpcHRvciA9IE5TRm9udERlc2NyaXB0b3I7CisjZWxzZQordXNp
bmcgQ29jb2FGb250ID0gVUlGb250OwordXNpbmcgQ29jb2FGb250RGVzY3JpcHRvciA9IFVJRm9u
dERlc2NyaXB0b3I7CisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaApp
bmRleCA4NDk4NzE4ZTc4NjBmZTVhMjYwMTVmNDA0MzljZTEyMzM5ZmE0ZWFlLi4wOWZhNmIwYTBh
OTQ5NjFiY2MwNTNhYTcyZDRiMmZhNmFjMjQ2ZWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaApAQCAtMTM2MCw0ICsx
MzYwLDEwNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlNjcm9sbFNu
YXBTdG9wPiB7CiAgICAgICAgIFdlYkNvcmU6OlNjcm9sbFNuYXBTdG9wOjpBbHdheXMKICAgICA+
OwogfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpMaXN0U3R5bGVU
eXBlPiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6
TGlzdFN0eWxlVHlwZSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6RGlzYywKKyAg
ICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6Q2lyY2xlLAorICAgICAgICBXZWJDb3JlOjpM
aXN0U3R5bGVUeXBlOjpTcXVhcmUsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkRl
Y2ltYWwsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkRlY2ltYWxMZWFkaW5nWmVy
bywKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6QXJhYmljSW5kaWMsCisgICAgICAg
IFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkJpbmFyeSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0
eWxlVHlwZTo6QmVuZ2FsaSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6Q2FtYm9k
aWFuLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpLaG1lciwKKyAgICAgICAgV2Vi
Q29yZTo6TGlzdFN0eWxlVHlwZTo6RGV2YW5hZ2FyaSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0
eWxlVHlwZTo6R3VqYXJhdGksCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6Okd1cm11
a2hpLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpLYW5uYWRhLAorICAgICAgICBX
ZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpMb3dlckhleGFkZWNpbWFsLAorICAgICAgICBXZWJDb3Jl
OjpMaXN0U3R5bGVUeXBlOjpMYW8sCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6Ok1h
bGF5YWxhbSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6TW9uZ29saWFuLAorICAg
ICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpNeWFubWFyLAorICAgICAgICBXZWJDb3JlOjpM
aXN0U3R5bGVUeXBlOjpPY3RhbCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6T3Jp
eWEsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlBlcnNpYW4sCisgICAgICAgIFdl
YkNvcmU6Okxpc3RTdHlsZVR5cGU6OlVyZHUsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5
cGU6OlRlbHVndSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VGliZXRhbiwKKyAg
ICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VGhhaSwKKyAgICAgICAgV2ViQ29yZTo6TGlz
dFN0eWxlVHlwZTo6VXBwZXJIZXhhZGVjaW1hbCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxl
VHlwZTo6TG93ZXJSb21hbiwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VXBwZXJS
b21hbiwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6TG93ZXJHcmVlaywKKyAgICAg
ICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6TG93ZXJBbHBoYSwKKyAgICAgICAgV2ViQ29yZTo6
TGlzdFN0eWxlVHlwZTo6TG93ZXJMYXRpbiwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlw
ZTo6VXBwZXJBbHBoYSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VXBwZXJMYXRp
biwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6QWZhciwKKyAgICAgICAgV2ViQ29y
ZTo6TGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZUFhRXQsCisgICAgICAgIFdlYkNvcmU6
Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVBYUVyLAorICAgICAgICBXZWJDb3JlOjpM
aXN0U3R5bGVUeXBlOjpBbWhhcmljLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpF
dGhpb3BpY0hhbGVoYW1lQW1FdCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6QW1o
YXJpY0FiZWdlZGUsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljQWJl
Z2VkZUFtRXQsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkNKS0VhcnRobHlCcmFu
Y2gsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkNKS0hlYXZlbmx5U3RlbSwKKyAg
ICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6RXRoaW9waWMsCisgICAgICAgIFdlYkNvcmU6
Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVHZXosCisgICAgICAgIFdlYkNvcmU6Okxp
c3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxl
VHlwZTo6RXRoaW9waWNBYmVnZWRlR2V6LAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBl
OjpIYW5ndWxDb25zb25hbnQsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6Okhhbmd1
bCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6TG93ZXJOb3J3ZWdpYW4sCisgICAg
ICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6Ok9yb21vLAorICAgICAgICBXZWJDb3JlOjpMaXN0
U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lT21FdCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0
eWxlVHlwZTo6U2lkYW1hLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpFdGhpb3Bp
Y0hhbGVoYW1lU2lkRXQsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlNvbWFsaSwK
KyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZVNvRXQsCisg
ICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlRpZ3JlLAorICAgICAgICBXZWJDb3JlOjpM
aXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lVGlnLAorICAgICAgICBXZWJDb3JlOjpMaXN0
U3R5bGVUeXBlOjpUaWdyaW55YUVyLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpF
dGhpb3BpY0hhbGVoYW1lVGlFciwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VGln
cmlueWFFckFiZWdlZGUsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGlj
QWJlZ2VkZVRpRXIsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlRpZ3JpbnlhRXQs
CisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVUaUV0LAor
ICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpUaWdyaW55YUV0QWJlZ2VkZSwKKyAgICAg
ICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6RXRoaW9waWNBYmVnZWRlVGlFdCwKKyAgICAgICAg
V2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VXBwZXJHcmVlaywKKyAgICAgICAgV2ViQ29yZTo6TGlz
dFN0eWxlVHlwZTo6VXBwZXJOb3J3ZWdpYW4sCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5
cGU6OkFzdGVyaXNrcywKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6Rm9vdG5vdGVz
LAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpIZWJyZXcsCisgICAgICAgIFdlYkNv
cmU6Okxpc3RTdHlsZVR5cGU6OkFybWVuaWFuLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVU
eXBlOjpMb3dlckFybWVuaWFuLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpVcHBl
ckFybWVuaWFuLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpHZW9yZ2lhbiwKKyAg
ICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6Q0pLSWRlb2dyYXBoaWMsCisgICAgICAgIFdl
YkNvcmU6Okxpc3RTdHlsZVR5cGU6OkhpcmFnYW5hLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5
bGVUeXBlOjpLYXRha2FuYSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6SGlyYWdh
bmFJcm9oYSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6S2F0YWthbmFJcm9oYSwK
KyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6Q0pLRGVjaW1hbCwKKyAgICAgICAgV2Vi
Q29yZTo6TGlzdFN0eWxlVHlwZTo6VGFtaWwsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5
cGU6OkRpc2Nsb3N1cmVPcGVuLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpEaXNj
bG9zdXJlQ2xvc2VkLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpKYXBhbmVzZUlu
Zm9ybWFsLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpKYXBhbmVzZUZvcm1hbCwK
KyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6S29yZWFuSGFuZ3VsRm9ybWFsLAorICAg
ICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpLb3JlYW5IYW5qYUluZm9ybWFsLAorICAgICAg
ICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpLb3JlYW5IYW5qYUZvcm1hbCwKKyAgICAgICAgV2Vi
Q29yZTo6TGlzdFN0eWxlVHlwZTo6U2ltcGxpZmllZENoaW5lc2VJbmZvcm1hbCwKKyAgICAgICAg
V2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6U2ltcGxpZmllZENoaW5lc2VGb3JtYWwsCisgICAgICAg
IFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlRyYWRpdGlvbmFsQ2hpbmVzZUluZm9ybWFsLAorICAg
ICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpUcmFkaXRpb25hbENoaW5lc2VGb3JtYWwsCisg
ICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljTnVtZXJpYywKKyAgICAgICAg
V2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6U3RyaW5nLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5
bGVUeXBlOjpOb25lCisgICAgPjsKK307CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vY29jb2EvQ29jb2FGb250LmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29h
L0NvY29hRm9udC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYzE3NmY5YzlmNzQ0
NTJiNTEzYTgwOTA0ZDhlODI2NjQ4NzhhYTA1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvQ29jb2FGb250
LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi0vKgotKiBDb3B5cmlnaHQgKEMpIDIw
MjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotKgotKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0qIGFyZSBtZXQ6Ci0qIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0qICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotKgotKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0q
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0qIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCi0qIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0qIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgotKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0qIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSA8d3RmL0Nv
bXBpbGVyLmg+Ci0KLSNpZiBVU0UoQVBQS0lUKQotT0JKQ19DTEFTUyBOU0ZvbnQ7Ci1PQkpDX0NM
QVNTIE5TRm9udERlc2NyaXB0b3I7Ci11c2luZyBDb2NvYUZvbnQgPSBOU0ZvbnQ7Ci11c2luZyBD
b2NvYUZvbnREZXNjcmlwdG9yID0gTlNGb250RGVzY3JpcHRvcjsKLSNlbHNlCi1PQkpDX0NMQVNT
IFVJRm9udDsKLU9CSkNfQ0xBU1MgVUlGb250RGVzY3JpcHRvcjsKLXVzaW5nIENvY29hRm9udCA9
IFVJRm9udDsKLXVzaW5nIENvY29hRm9udERlc2NyaXB0b3IgPSBVSUZvbnREZXNjcmlwdG9yOwot
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENv
ZGVyc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnND
b2NvYS5tbQppbmRleCAwZjYzY2M0Njk5ZWJlMDI4NThiMmIzNmUyOTA3YzE0NTg0MGIwY2E2Li4x
MjhhYThjNDg2Yzk2YjliZWQyZTNmNmUwN2Y1NzBhZWY1YzBlNWYwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EubW0KQEAgLTI5LDExICsy
OSwxMSBAQAogI2lmIFBMQVRGT1JNKENPQ09BKQogCiAjaW1wb3J0ICJBcmd1bWVudENvZGVyc0NG
LmgiCi0jaW1wb3J0ICJDb2NvYUZvbnQuaCIKICNpbXBvcnQgIkNvcmVUZXh0SGVscGVycy5oIgog
I2ltcG9ydCA8Q29yZVRleHQvQ1RGb250Lmg+CiAjaW1wb3J0IDxDb3JlVGV4dC9DVEZvbnREZXNj
cmlwdG9yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NvbG9yQ29jb2EuaD4KKyNpbXBvcnQgPFdlYkNv
cmUvRm9udENvY29hLmg+CiAjaW1wb3J0IDx3dGYvQmxvY2tPYmpDRXhjZXB0aW9ucy5oPgogI2lt
cG9ydCA8d3RmL0hhc2hTZXQuaD4KICNpbXBvcnQgPHd0Zi9jZi9DRlVSTEV4dHJhcy5oPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZVRleHRIZWxwZXJzLmggYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlVGV4dEhlbHBlcnMuaAppbmRleCA1NzY0ODNj
MmYxY2FjMDllZTg2MmQxYTljNjRhM2VhOGFmZWUzZDU4Li40MGM0YTI4YzhmMGZlYTAwNGJkYjNj
N2NhOTliNDM2NmYwMWIzZTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2Nv
YS9Db3JlVGV4dEhlbHBlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3Jl
VGV4dEhlbHBlcnMuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2ltcG9y
dCAiQ29jb2FGb250LmgiCisjaW1wb3J0IDxXZWJDb3JlL0ZvbnRDb2NvYS5oPgogI2ltcG9ydCA8
d3RmL1JldGFpblB0ci5oPgogCiAjaWYgVVNFKEFQUEtJVCkKQEAgLTM2LDYgKzM2LDYgQEAKIAog
bmFtZXNwYWNlIFdlYktpdCB7CiAKLUNvY29hRm9udCAqZm9udFdpdGhBdHRyaWJ1dGVzKE5TRGlj
dGlvbmFyeSAqYXR0cmlidXRlcywgQ0dGbG9hdCBzaXplKTsKK1dlYkNvcmU6OkNvY29hRm9udCAq
Zm9udFdpdGhBdHRyaWJ1dGVzKE5TRGljdGlvbmFyeSAqYXR0cmlidXRlcywgQ0dGbG9hdCBzaXpl
KTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZVRleHRI
ZWxwZXJzLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZVRleHRIZWxwZXJzLm1t
CmluZGV4IGEyNTEwYzY0MzUwNGQ4Mzk1NWRmOTQyZWY0Nzc0NzM1MWM5ZWZiYzYuLmJkMTEwYjRi
OTE4ZWVkMzNlYzdhMGMyN2Y5ZDZkOTRmMjExMWJkNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0NvY29hL0NvcmVUZXh0SGVscGVycy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Db2NvYS9Db3JlVGV4dEhlbHBlcnMubW0KQEAgLTMwLDYgKzMwLDcgQEAKICNpbXBvcnQg
PHd0Zi9CbG9ja09iakNFeGNlcHRpb25zLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewordXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiAKIENvY29hRm9udCAqZm9udFdpdGhBdHRyaWJ1dGVzKE5TRGlj
dGlvbmFyeSAqYXR0cmlidXRlcywgQ0dGbG9hdCBzaXplKQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TaGFyZWQvQ29jb2EvV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29jb2EubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQppbmRl
eCAzYzFiNTdkNWFhMjZlYzcyZTYwYjVkNzhhMTFlOWZkODUyY2ZmZWM5Li40NDIyZDY3MjJmNTAz
Y2UyNzY4NTIwNTBhZGY4MTk0Njk3Y2EwNzhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQpAQCAtNDQwLDE4
ICs0NDAsNiBAQCBib29sIEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RGljdGlvbmFyeVBvcHVwSW5m
bz46OmRlY29kZVBsYXRmb3JtRGF0YShEZWNvZGVyJiBkZQogICAgIHJldHVybiB0cnVlOwogfQog
Ci12b2lkIEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXM+OjplbmNvZGVQbGF0
Zm9ybURhdGEoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgV2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXMm
IGF0dHJpYnV0ZXMpCi17Ci0gICAgZW5jb2RlciA8PCBhdHRyaWJ1dGVzLmZvbnQ7Ci19Ci0KLXN0
ZDo6b3B0aW9uYWw8V2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXM+IEFyZ3VtZW50Q29kZXI8V2ViQ29y
ZTo6Rm9udEF0dHJpYnV0ZXM+OjpkZWNvZGVQbGF0Zm9ybURhdGEoRGVjb2RlciYgZGVjb2Rlciwg
V2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXMmIGF0dHJpYnV0ZXMpCi17Ci0gICAgaWYgKCFJUEM6OmRl
Y29kZShkZWNvZGVyLCBhdHRyaWJ1dGVzLmZvbnQpKQotICAgICAgICByZXR1cm4gc3RkOjpudWxs
b3B0OwotICAgIHJldHVybiBhdHRyaWJ1dGVzOwotfQotCiB2b2lkIEFyZ3VtZW50Q29kZXI8UmVm
PFdlYkNvcmU6OkZvbnQ+Pjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEVuY29kZXImIGVuY29kZXIsIGNv
bnN0IFJlZjxXZWJDb3JlOjpGb250PiYgZm9udCkKIHsKICAgICBjb25zdCBhdXRvJiBwbGF0Zm9y
bURhdGEgPSBmb250LT5wbGF0Zm9ybURhdGEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IGM4OTg2ODdiMjI2Y2NlNGI0ZjNiOGIxYTg1
Y2JlYzc5NThiNjdhYjYuLjM2ZTg5MDYxNzFmZTYyYjIxNTg1NzNmYmZhNTIzOWI0YmI1OWYzN2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApA
QCAtMjkxMCwxMiArMjkxMCw5IEBAIHZvaWQgQXJndW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46
OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBGb250QXR0cmlidXRlCiAgICAgZW5jb2Rl
ciA8PCBhdHRyaWJ1dGVzLmJhY2tncm91bmRDb2xvciA8PCBhdHRyaWJ1dGVzLmZvcmVncm91bmRD
b2xvciA8PCBhdHRyaWJ1dGVzLmZvbnRTaGFkb3cgPDwgYXR0cmlidXRlcy5oYXNVbmRlcmxpbmUg
PDwgYXR0cmlidXRlcy5oYXNTdHJpa2VUaHJvdWdoIDw8IGF0dHJpYnV0ZXMudGV4dExpc3RzOwog
ICAgIGVuY29kZXIgPDwgYXR0cmlidXRlcy5ob3Jpem9udGFsQWxpZ25tZW50OwogICAgIGVuY29k
ZXIgPDwgYXR0cmlidXRlcy5zdWJzY3JpcHRPclN1cGVyc2NyaXB0OwotCi0gICAgaWYgKGF0dHJp
YnV0ZXMuZW5jb2RpbmdSZXF1aXJlc1BsYXRmb3JtRGF0YSgpKSB7Ci0gICAgICAgIGVuY29kZXIg
PDwgdHJ1ZTsKLSAgICAgICAgZW5jb2RlUGxhdGZvcm1EYXRhKGVuY29kZXIsIGF0dHJpYnV0ZXMp
OwotICAgICAgICByZXR1cm47Ci0gICAgfQorICAgIGVuY29kZXIgPDwgISFhdHRyaWJ1dGVzLmZv
bnQ7CisgICAgaWYgKGF0dHJpYnV0ZXMuZm9udCkKKyAgICAgICAgZW5jb2RlciA8PCBSZWYoKmF0
dHJpYnV0ZXMuZm9udCk7CiB9CiAKIHN0ZDo6b3B0aW9uYWw8Rm9udEF0dHJpYnV0ZXM+IEFyZ3Vt
ZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKQEAgLTI5
NDYsMTEgKzI5NDMsMTkgQEAgc3RkOjpvcHRpb25hbDxGb250QXR0cmlidXRlcz4gQXJndW1lbnRD
b2RlcjxGb250QXR0cmlidXRlcz46OmRlY29kZShEZWNvZGVyJiBkZWMKICAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKGF0dHJpYnV0ZXMuc3Vic2NyaXB0T3JTdXBlcnNjcmlwdCkpCiAgICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICBib29sIGhhc1BsYXRmb3JtRGF0YTsKLSAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKGhhc1BsYXRmb3JtRGF0YSkpCisgICAgc3RkOjpvcHRpb25hbDxib29s
PiBoYXNGb250OworICAgIGRlY29kZXIgPj4gaGFzRm9udDsKKyAgICBpZiAoIWhhc0ZvbnQpCiAg
ICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0gICAgaWYgKGhhc1BsYXRmb3JtRGF0YSkKLSAg
ICAgICAgcmV0dXJuIGRlY29kZVBsYXRmb3JtRGF0YShkZWNvZGVyLCBhdHRyaWJ1dGVzKTsKKwor
ICAgIGlmICgqaGFzRm9udCkgeworICAgICAgICBzdGQ6Om9wdGlvbmFsPFJlZjxGb250Pj4gZm9u
dDsKKyAgICAgICAgZGVjb2RlciA+PiBmb250OworICAgICAgICBpZiAoIWZvbnQpCisgICAgICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgICAgIGF0dHJpYnV0ZXMuZm9udCA9IFdU
Rk1vdmUoKmZvbnQpOworICAgIH0KIAogICAgIHJldHVybiBhdHRyaWJ1dGVzOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAppbmRleCA2ZmFjMmFhMWVh
Nzg0NmZmNmJmODkwMjFmMGY1MmU5YWE3YWUwM2M4Li5hMjkyZTEwYmQ4NWUyYmRlYzMyNTEwZjAx
MGFjOTNhNWVhM2QxYzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1l
bnRDb2RlcnMuaApAQCAtNzMwLDggKzczMCw2IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50
Q29kZXI8UmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPj4gewogdGVtcGxhdGU8PiBzdHJ1
Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGb250QXR0cmlidXRlcz4gewogICAgIHN0YXRpYyB2
b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXMmKTsKICAg
ICBzdGF0aWMgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpGb250QXR0cmlidXRlcz4gZGVjb2RlKERl
Y29kZXImKTsKLSAgICBzdGF0aWMgdm9pZCBlbmNvZGVQbGF0Zm9ybURhdGEoRW5jb2RlciYsIGNv
bnN0IFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzJik7Ci0gICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8
V2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXM+IGRlY29kZVBsYXRmb3JtRGF0YShEZWNvZGVyJiwgV2Vi
Q29yZTo6Rm9udEF0dHJpYnV0ZXMmKTsKIH07CiAKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVN
RU5UKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tTYWZlQnJv
d3NpbmdXYXJuaW5nLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tTYWZlQnJv
d3NpbmdXYXJuaW5nLm1tCmluZGV4IDQxZDA4OThiMDFkNGM3MGNlMDhmODkwNTIwNTZhNWQwNzFl
OWU5ZTEuLjE4MWMxN2RjZmYyN2ZjYjg0MzA4Y2VlY2E1M2JiMDEzMGMzNjBjZDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLU2FmZUJyb3dzaW5nV2FybmluZy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS1NhZmVCcm93c2luZ1dhcm5p
bmcubW0KQEAgLTI2LDkgKzI2LDkgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiV0tT
YWZlQnJvd3NpbmdXYXJuaW5nLmgiCiAKLSNpbXBvcnQgIkNvY29hRm9udC5oIgogI2ltcG9ydCAi
UGFnZUNsaWVudC5oIgogI2ltcG9ydCAiU2FmZUJyb3dzaW5nV2FybmluZy5oIgorI2ltcG9ydCA8
V2ViQ29yZS9Gb250Q29jb2EuaD4KICNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5o
PgogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlT2JqQ0V4dHJhcy5oPgogI2ltcG9ydCA8d3RmL1VS
TC5oPgpAQCAtNzgsNyArNzgsNyBAQCBlbnVtIGNsYXNzIFdhcm5pbmdUZXh0U2l6ZSA6IHVpbnQ4
X3QgewogICAgIEJvZHkKIH07CiAKLXN0YXRpYyBDb2NvYUZvbnQgKmZvbnRPZlNpemUoV2Fybmlu
Z1RleHRTaXplIHNpemUpCitzdGF0aWMgV2ViQ29yZTo6Q29jb2FGb250ICpmb250T2ZTaXplKFdh
cm5pbmdUZXh0U2l6ZSBzaXplKQogewogI2lmIFBMQVRGT1JNKE1BQykKICAgICBzd2l0Y2ggKHNp
emUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDQzYTdjZDVlNDdlODg1MGE2OGRlMjM4OTZhMWRhZTM4ZDgzMTRmMzYuLjZlZjZmNzRj
MDMzNmJlOTE1ZmQzYTQwMzRlNGNjMWEyNTBmNjZlYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjQ0Niw3ICs2NDQ2LDYgQEAKIAkJ
RjRFQjRBRkMyNjlDRDIzNjAwRDI5N0FFIC8qIE9TU3RhdGVTUEkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
T1NTdGF0ZVNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNEY1OUFEMzIwNjVB
NUM5MDA2Q0FBNDYgLyogV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gV0tTZWxlY3RNZW51TGlzdFZpZXdDb250
cm9sbGVyLm1tOyBwYXRoID0gaW9zL2Zvcm1zL1dLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxl
ci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjRGNTlBRDQyMDY1QTVDQTAwNkNB
QTQ2IC8qIFdLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBXS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIuaDsgcGF0aCA9
IGlvcy9mb3Jtcy9XS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJRjRGRTBBM0MyNDYzNTY2NzAwMjYzMUUxIC8qIENvY29hRm9udC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDb2NvYUZvbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRjYxMTNFMjQxMjZDRTE4MjAwNTdEMEE3IC8qIEFQSVVzZXJDb250ZW50VVJMUGF0dGVybi5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBUElVc2VyQ29udGVudFVSTFBhdHRl
cm4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjYxMTNFMjYxMjZDRTE5QjAwNTdE
MEE3IC8qIFdLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFdLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRjYxMTNFMjcxMjZDRTE5QjAwNTdEMEE3IC8qIFdLVXNlckNvbnRl
bnRVUkxQYXR0ZXJuLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLVXNlckNv
bnRlbnRVUkxQYXR0ZXJuLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05MTY3LDcg
KzkxNjYsNiBAQAogCQk0NDUwQUVCRTFEQzNGQUFDMDA5OTQzRjIgLyogY29jb2EgKi8gPSB7CiAJ
CQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCUY0RkUwQTNDMjQ2MzU2Njcw
MDI2MzFFMSAvKiBDb2NvYUZvbnQuaCAqLywKIAkJCQk0NDgyNzM0NjI0NTI4RjYwMDBBOTU0OTMg
LyogQ29jb2FJbWFnZS5oICovLAogCQkJCUJDRTA5Mzc2MTRGQjEyOEIwMDExMzhEOSAvKiBMYXll
ckhvc3RpbmdDb250ZXh0LmggKi8sCiAJCQkJQkNFMDkzNzUxNEZCMTI4QjAwMTEzOEQ5IC8qIExh
eWVySG9zdGluZ0NvbnRleHQubW0gKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448108</attachid>
            <date>2021-12-30 14:52:50 -0800</date>
            <delta_ts>2021-12-30 15:33:42 -0800</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-234757-20211230145249.patch</filename>
            <type>text/plain</type>
            <size>32827</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NDgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWU1YzU2MTk5Yzk2MThk
NmJjOGZlZTQwNDA4OTNmMjRlYTkyZjNjNy4uYmFjZmFiYmVmNGVkYjU5YmIyMjFjNTczMzMwMDg3
OTdiNWI3NDZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIxLTEyLTMwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJlZmFjdG9yIHNv
bWUgQ29jb2Etc3BlY2lmaWMgY29kZSBpbiBXZWJDb3JlOjpGb250QXR0cmlidXRlcyB0byBiZSBw
bGF0Zm9ybS1hZ25vc3RpYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM0NzU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUmVwbGFjZSB0aGUgVUlGb250L05TRm9udCBjdXJyZW50bHkgaW4gV2ViQ29yZTo6
Rm9udEF0dHJpYnV0ZXMgd2l0aCBhIFdlYkNvcmU6OkZvbnQgaW5zdGVhZC4gVGhpcyByZW1vdmVz
IGEgYml0CisgICAgICAgIG9mIHBsYXRmb3JtLXNwZWNpZmljIGxvZ2ljIGluIGFuIG90aGVyd2lz
ZSBwbGF0Zm9ybS1hZ25vc3RpYyBjbGFzcyAod2l0aCB0aGUgZXhjZXB0aW9uIG9mIGEgY291cGxl
IENvY29hLQorICAgICAgICBzcGVjaWZpYyBoZWxwZXIgbWV0aG9kcykuIFRoaXMgYWRkaXRpb25h
bGx5IGxldHMgdXMgcmVtb3ZlIHNvbWUgcGxhdGZvcm0tc3BlY2lmaWMgbG9naWMgZm9yIGNvbXB1
dGluZyBmb250CisgICAgICAgIGF0dHJpYnV0ZXMgKGkuZS4gYHBsYXRmb3JtRm9udEF0dHJpYnV0
ZXNBdFNlbGVjdGlvblN0YXJ0YCkgYmVsb3cuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RWRpdG9yOjpmb250QXR0cmlidXRlc0F0U2VsZWN0aW9uU3RhcnQpOgorICAg
ICAgICAoV2ViQ29yZTo6RWRpdG9yOjpwbGF0Zm9ybUZvbnRBdHRyaWJ1dGVzQXRTZWxlY3Rpb25T
dGFydCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuaDoKKyAgICAg
ICAgKiBlZGl0aW5nL0ZvbnRBdHRyaWJ1dGVzLmg6CisgICAgICAgIChXZWJDb3JlOjpUZXh0TGlz
dDo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRMaXN0OjpkZWNvZGUpOgor
CisgICAgICAgIERyaXZlLWJ5IGZpeDogaW5zdGVhZCBvZiBgc3RhdGljX2Nhc3RgLWluZyB0byBh
IHVpbnQ4X3QgYW5kIGVuY29kaW5nL2RlY29kaW5nIHRoZSByYXcgdmFsdWUsIGVuY29kZSBhbmQg
ZGVjb2RlCisgICAgICAgIHRoZSBMaXN0U3R5bGVUeXBlIGFzIGEgbm9ybWFsIGVudW0gaW5zdGVh
ZC4gVGhpcyBhbHNvIGVuc3VyZXMgdGhhdCB3ZSB2YWxpZGF0ZSB0aGUgZW51bSB2YWx1ZSB1cG9u
IGRlY29kaW5nLgorCisgICAgICAgIChXZWJDb3JlOjpGb250QXR0cmlidXRlczo6ZW5jb2RpbmdS
ZXF1aXJlc1BsYXRmb3JtRGF0YSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogZWRpdGluZy9j
b2NvYS9FZGl0b3JDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cGxhdGZvcm1G
b250QXR0cmlidXRlc0F0U2VsZWN0aW9uU3RhcnQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAq
IGVkaXRpbmcvY29jb2EvRm9udEF0dHJpYnV0ZXNDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRBdHRyaWJ1dGVzOjpjcmVhdGVEaWN0aW9uYXJ5IGNvbnN0KToKKworICAgICAgICBPbmx5
IGdyYWIgdGhlIE5TRm9udCBvciBVSUZvbnQgZnJvbSB0aGUgV2ViQ29yZTo6Rm9udCBvYmplY3Qg
b25jZSB3ZSdyZSBpbiB0aGlzIENvY29hLXNwZWNpZmljIGhlbHBlci4KKworICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5oOiBBZGRlZC4KKworICAgICAgICBNb3Zl
ZCBoZXJlIGZyb20gQ29jb2FGb250LmggaW4gV2ViS2l0LiBTZWUgV2ViS2l0L0NoYW5nZUxvZyBm
b3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
Q29uc3RhbnRzLmg6CisKKyAgICAgICAgQWRkIEVudW1UcmFpdHMgZm9yIExpc3RTdHlsZVR5cGUs
IHNvIHRoYXQgaXQgY2FuIGJlIGVuY29kZWQvZGVjb2RlZC4KKwogMjAyMS0xMi0yOSAgV2Vuc29u
IEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGluZyB0aGUg
ZmlsZSBuYW1lIG9mIGF0dGFjaG1lbnQtYmFja2VkIGltYWdlcyBzaG91bGQgYXV0b21hdGljYWxs
eSBzZXQgdGhlIGBhbHRgIGF0dHJpYnV0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBjZTI3ZTE0YzY5ZmQyNDRhZTdi
MjQ0NWUzZTQ5ODdjNmY3MWJiMjgzLi5iZTJiZTI0MmM1YWNlNWM0NjJkNjUwYjZiMWRhZjExMTA5
ODg5NTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIxLTEyLTMwICBXZW5zb24gSHNp
ZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJlZmFjdG9yIHNvbWUgQ29j
b2Etc3BlY2lmaWMgY29kZSBpbiBXZWJDb3JlOjpGb250QXR0cmlidXRlcyB0byBiZSBwbGF0Zm9y
bS1hZ25vc3RpYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM0NzU3CisKKyAgICAgICAgU2VlIGNvbW1lbnRzIGJlbG93IChhcyB3ZWxsIGFzIFdlYkNv
cmUvQ2hhbmdlTG9nKSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGxhdGZvcm0vY29jb2EvQ29jb2FGb250Lmg6IFJl
bW92ZWQuCisKKyAgICAgICAgTW92ZSB0aGlzIGZpbGUgaW50byBXZWJDb3JlLCBhcyBgRm9udENv
Y29hLmhgLgorCisgICAgICAgICogU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EubW06
CisgICAgICAgICogU2hhcmVkL0NvY29hL0NvcmVUZXh0SGVscGVycy5oOgorICAgICAgICAqIFNo
YXJlZC9Db2NvYS9Db3JlVGV4dEhlbHBlcnMubW06CisKKyAgICAgICAgQWRqdXN0IGEgZmV3IHBs
YWNlcyB0aGF0IGN1cnJlbnRseSBpbXBvcnQgQ29jb2FGb250LmggdG8gaW1wb3J0IFdlYkNvcmUv
Rm9udENvY29hLmggaW5zdGVhZC4gQWRkaXRvbmFsbHksIGNoYW5nZQorICAgICAgICBDb2NvYUZv
bnQgdG8gV2ViQ29yZTo6Q29jb2FGb250IHdoZXJlIG5lY2Vzc2FyeS4KKworICAgICAgICAqIFNo
YXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbToKKyAgICAgICAgKElQQzo6
QXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGb250QXR0cmlidXRlcz46OmVuY29kZVBsYXRmb3JtRGF0
YSk6IERlbGV0ZWQuCisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Rm9udEF0
dHJpYnV0ZXM+OjpkZWNvZGVQbGF0Zm9ybURhdGEpOiBEZWxldGVkLgorCisgICAgICAgIFJlbW92
ZSBwbGF0Zm9ybS1zcGVjaWZpYyBGb250QXR0cmlidXRlcyBlbmNvZGluZy9kZWNvZGluZyBsb2dp
Yy4gVGhpcyBpcyBubyBsb25nZXIgbmVlZGVkLCBzaW5jZSB3ZSBqdXN0CisgICAgICAgIHByb3Bh
Z2F0ZSBhIEZvbnQgaW5zdGVhZCBvZiBhbiBOU0ZvbnQgb3IgVUlGb250LgorCisgICAgICAgICog
U2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHA6CisgICAgICAgIChJUEM6OkFyZ3VtZW50
Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENv
ZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZGVjb2RlKToKKworICAgICAgICBSZW1vdmUgdGhlIGNhbGxz
IHRvIGBlbmNvZGVQbGF0Zm9ybURhdGEvZGVjb2RlUGxhdGZvcm1EYXRhYCwgYW5kIGluc3RlYWQg
ZW5jb2RlIHRoZSBgUmVmUHRyPFdlYkNvcmU6OkZvbnQ+YC4KKworICAgICAgICAqIFNoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV0tTYWZl
QnJvd3NpbmdXYXJuaW5nLm1tOgorICAgICAgICAoZm9udE9mU2l6ZSk6CisgICAgICAgICogV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMjEtMTItMjYgIFNhbSBXZWluaWcg
IDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlcGxhY2UgV2ViS2l0L0NvY29hQ29sb3Iu
aCB3aXRoIFdlYkNvcmUvQ29sb3JDb2NvYS5oLCBub3QgY29uZnVzaW5nIGF0IGFsbApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGI2
NjJiMDg3ZTcyZWRlNmVjN2M5MzVkZmE0N2YwN2UwZGM0ZDA3NmYuLjNjOWVjMjVjMGE5MjQ2MDZh
ZTJlYjMyNzY0YTE3OGRkY2M5NDQzZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU1MTEsNiArNTUxMSw3IEBACiAJCUY0OEQy
QUE1MjE1OTc0MEQwMEM2NzUyQiAvKiBDb2xvckNvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDhEMkFBMzIxNTk3NDBEMDBDNjc1MkIgLyogQ29s
b3JDb2NvYS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUY0OTMyODgzMjc2OTA0MUIwMDNFMjBGOCAvKiBNb2RhbENvbnRhaW5lclR5cGVzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDkzMjg4MjI3Njkw
NDFCMDAzRTIwRjggLyogTW9kYWxDb250YWluZXJUeXBlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUY0OTc4Njg4MUZGNDVGQTUwMEUwNjBBQiAv
KiBQYXN0ZWJvYXJkSXRlbUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEY0OTc4Njg3MUZGNDVGQTUwMEUwNjBBQiAvKiBQYXN0ZWJvYXJkSXRlbUlu
Zm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlG
NEEwNjRDODI3N0U0OEM5MDBCMDZBMTcgLyogRm9udENvY29hLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNEEwNjRDNjI3N0U0OEM2MDBCMDZBMTcgLyog
Rm9udENvY29hLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJRjRCMDAxODkyNkU3RjIxRjAwNkVBQUJFIC8qIEhUTUxBdG9tU3RyaW5nQ2FjaGUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0QjAwMTg3MjZF
N0YyMUYwMDZFQUFCRSAvKiBIVE1MQXRvbVN0cmluZ0NhY2hlLmggKi87IH07CiAJCUY0QjJBOTA5
MjY1MDMwQkEwMDlFNzI4NiAvKiBEYXRhRGV0ZWN0b3JIaWdobGlnaHQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0QjJBOTA2MjY1MDJCQTAwMDlFNzI4
NiAvKiBEYXRhRGV0ZWN0b3JIaWdobGlnaHQuaCAqLzsgfTsKIAkJRjRCNDIyQzQyMjBDMDU2ODAw
OUUxRTdEIC8qIERPTVBhc3RlQWNjZXNzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGNEI0MjJDMjIyMEMwMDAwMDA5RTFFN0QgLyogRE9NUGFzdGVBY2Nl
c3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAt
MTc3NDIsNiArMTc3NDMsNyBAQAogCQlGNDkzMjg4MjI3NjkwNDFCMDAzRTIwRjggLyogTW9kYWxD
b250YWluZXJUeXBlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNb2RhbENvbnRhaW5lclR5cGVzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0OTc4Njg3MUZGNDVGQTUwMEUwNjBBQiAvKiBQ
YXN0ZWJvYXJkSXRlbUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFzdGVib2FyZEl0ZW1JbmZvLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0OUU5OEU0MjFERUU2QzEwMDlBRTU1RSAv
KiBFZGl0QWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVkaXRBY3Rpb24uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNEEwNjRDNjI3N0U0OEM2MDBCMDZBMTcgLyogRm9u
dENvY29hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRDb2NvYS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNEIwMDE4NzI2RTdGMjFGMDA2RUFBQkUgLyog
SFRNTEF0b21TdHJpbmdDYWNoZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MQXRvbVN0cmluZ0NhY2hl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0QjAwMTg4MjZFN0YyMUYwMDZFQUFC
RSAvKiBIVE1MQXRvbVN0cmluZ0NhY2hlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhUTUxBdG9t
U3RyaW5nQ2FjaGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNEIyQTkwNjI2
NTAyQkEwMDA5RTcyODYgLyogRGF0YURldGVjdG9ySGlnaGxpZ2h0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IERhdGFEZXRlY3RvckhpZ2hsaWdodC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MjkwNTMsNiArMjkwNTUsNyBAQAogCQkJCUMyNDU4RTYxMUZFODk3OUUwMDU5NDc1OSAvKiBGb250
Q2FjaGVDb3JlVGV4dC5oICovLAogCQkJCUIyQUZGQzc4MEQwMEE1QzEwMDMwMDc0RCAvKiBGb250
Q2FzY2FkZUNvY29hLmNwcCAqLywKIAkJCQkxQzZGRDhCMDI1MEEzNUYxMDBENkU5MjAgLyogRm9u
dENvY29hLmNwcCAqLywKKwkJCQlGNEEwNjRDNjI3N0U0OEM2MDBCMDZBMTcgLyogRm9udENvY29h
LmggKi8sCiAJCQkJMUMxMkFDMkMxRUU3Nzk5NTAwNzlFMEEwIC8qIEZvbnREZXNjcmlwdGlvbkNv
Y29hLmNwcCAqLywKIAkJCQkxQzEyQUMyODFFRTc3OEFFMDA3OUUwQTAgLyogRm9udEZhbWlseVNw
ZWNpZmljYXRpb25Db3JlVGV4dC5jcHAgKi8sCiAJCQkJMUMxMkFDMjkxRUU3NzhBRTAwNzlFMEEw
IC8qIEZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uQ29yZVRleHQuaCAqLywKQEAgLTM0NDA5LDYgKzM0
NDEyLDcgQEAKIAkJCQlCMkMzREE2MTBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udENhc2NhZGUuaCBp
biBIZWFkZXJzICovLAogCQkJCUU0RThCNEY1MjE2Qjk1NjUwMEI4ODM0RCAvKiBGb250Q2FzY2Fk
ZURlc2NyaXB0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkMzREE2ODBEMDA2Q0Q2MDBFRjZG
MjYgLyogRm9udENhc2NhZGVGb250cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJRjRBMDY0QzgyNzdF
NDhDOTAwQjA2QTE3IC8qIEZvbnRDb2NvYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUMyNjY3MUIy
NkZBOTMyRjAwMTE3MDczIC8qIEZvbnRDcmVhdGlvbkNvbnRleHQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUIyQUZGQzdFMEQwMEE1QzEwMDMwMDc0RCAvKiBGb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCMkMzREE2NjBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udERlc2Ny
aXB0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTM0NTA4LDYgKzM0NTEyLDcgQEAKIAkJCQlCQzUz
QzVGNTBEQTU2QjkyMDAyMUVCNUQgLyogR3JhZGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIy
MjI3OTY0MEQwMEJGMjIwMDcxQjc4MiAvKiBHcmFkaWVudEF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDMTlDREY0Mjc3MTA2MzkwMDUzRjczNCAvKiBHcmFkaWVudENvbG9yU3RvcC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQkMxOUNFMkIyNzcyQkY3QjAwNTNGNzM0IC8qIEdyYWRpZW50
Q29sb3JTdG9wcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ0ODFGMDQxNDZCNUM2QjAwQUE3ODM0
IC8qIEdyYWRpZW50SW1hZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMTlDREYyMjc2RkZDNkQw
MDUzRjczNCAvKiBHcmFkaWVudFJlbmRlcmVyQ0cuaCBpbiBIZWFkZXJzICovLAogCQkJCTdCQjY4
MEJBMjVCQTFCRTQwMDJCODczOCAvKiBHcmFwaGljc0NoZWNrc01hYy5oIGluIEhlYWRlcnMgKi8s
CkBAIC0zNzU3Myw3ICszNzU3OCw2IEBACiAJCQkJQkU5MTNEODAxODFFRjkyNDAwRENCMDlFIC8q
IFRyYWNrUHJpdmF0ZUJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEMUY5QjFDMjcwMjRCQzIw
MDYxN0VCNiAvKiBUcmFja1ByaXZhdGVCYXNlQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlG
RkFDMzBGRTE4NEZCMTQ1MDA4QzRGMUUgLyogVHJhaWxpbmdPYmplY3RzLmggaW4gSGVhZGVycyAq
LywKLQkJCQlCQzE5Q0UyQjI3NzJCRjdCMDA1M0Y3MzQgLyogR3JhZGllbnRDb2xvclN0b3BzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1MTYwNzEzMjFCRDgzMDhCMDBEQkM0RjIgLyogVHJhbnNhY3Rp
b25PcGVyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUNEM0VFRjQxMjU3OTlGRDkwMDY1NjNC
QiAvKiBUcmFuc2ZlckZ1bmN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5MTFDNDBFRjg2
RDQ3MDA5RDBDQUYgLyogVHJhbnNmb3JtYXRpb25NYXRyaXguaCBpbiBIZWFkZXJzICovLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9FZGl0b3IuY3BwCmluZGV4IGIwY2I2ODMzYjhmZjI0NmM3MDU2ZjNmZDI2YzA2
MzEyZjljYWQ4YzQuLmE5ZDAzNTZjYWVmZDk2NmM4YTJlNjYyZDg1YWI1ODg5ZjFiNTU5NDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKQEAgLTM5OTcsMTAgKzM5OTcsNiBAQCB2b2lkIEVk
aXRvcjo6c2NoZWR1bGVFZGl0b3JVSVVwZGF0ZSgpCiAKICNpZiAhUExBVEZPUk0oQ09DT0EpCiAK
LXZvaWQgRWRpdG9yOjpwbGF0Zm9ybUZvbnRBdHRyaWJ1dGVzQXRTZWxlY3Rpb25TdGFydChGb250
QXR0cmlidXRlcyYsIGNvbnN0IFJlbmRlclN0eWxlJikgY29uc3QKLXsKLX0KLQogU3RyaW5nIEVk
aXRvcjo6cGxhdGZvcm1Db250ZW50VHlwZUZvckJsb2JUeXBlKGNvbnN0IFN0cmluZyYgdHlwZSkg
Y29uc3QKIHsKICAgICByZXR1cm4gdHlwZTsKQEAgLTQwNDQsMjAgKzQwNDAsMjAgQEAgc3RhdGlj
IFZlY3RvcjxUZXh0TGlzdD4gZWRpdGFibGVUZXh0TGlzdHNBdFBvc2l0aW9uSW5EZXNjZW5kaW5n
T3JkZXIoY29uc3QgUG9zaXQKIAogRm9udEF0dHJpYnV0ZXMgRWRpdG9yOjpmb250QXR0cmlidXRl
c0F0U2VsZWN0aW9uU3RhcnQoKQogewotICAgIFJlZlB0cjxOb2RlPiBub2RlVG9SZW1vdmU7Ci0g
ICAgYXV0byBub2RlUmVtb3ZhbFNjb3BlID0gbWFrZVNjb3BlRXhpdChbJm5vZGVUb1JlbW92ZV0o
KSB7Ci0gICAgICAgIGlmIChub2RlVG9SZW1vdmUpCi0gICAgICAgICAgICBub2RlVG9SZW1vdmUt
PnJlbW92ZSgpOwotICAgIH0pOworICAgIEZvbnRBdHRyaWJ1dGVzIGF0dHJpYnV0ZXM7CiAKKyAg
ICBSZWZQdHI8Tm9kZT4gbm9kZVRvUmVtb3ZlOwogICAgIGF1dG8qIHN0eWxlID0gc3R5bGVGb3JT
ZWxlY3Rpb25TdGFydChub2RlVG9SZW1vdmUpOworICAgIGlmIChub2RlVG9SZW1vdmUpCisgICAg
ICAgIG5vZGVUb1JlbW92ZS0+cmVtb3ZlKCk7CisKICAgICBpZiAoIXN0eWxlKQotICAgICAgICBy
ZXR1cm4geyB9OworICAgICAgICByZXR1cm4gYXR0cmlidXRlczsKIAotICAgIFNjcmlwdERpc2Fs
bG93ZWRTY29wZTo6SW5NYWluVGhyZWFkIHNjcmlwdERpc2FsbG93ZWRTY29wZTsKKyAgICBib29s
IGhhc011bHRpcGxlRm9udHMgPSBmYWxzZTsgLy8gRklYTUU6IFRoaXMgd2lsbCBiZSBpbmNsdWRl
ZCBhcyBhIHBhcnQgb2YgRm9udEF0dHJpYnV0ZXMgaW4gYSBmdXR1cmUgcGF0Y2guCisgICAgYXR0
cmlidXRlcy5mb250ID0gZm9udEZvclNlbGVjdGlvbihoYXNNdWx0aXBsZUZvbnRzKTsKIAotICAg
IEZvbnRBdHRyaWJ1dGVzIGF0dHJpYnV0ZXM7Ci0gICAgcGxhdGZvcm1Gb250QXR0cmlidXRlc0F0
U2VsZWN0aW9uU3RhcnQoYXR0cmlidXRlcywgKnN0eWxlKTsKKyAgICBTY3JpcHREaXNhbGxvd2Vk
U2NvcGU6OkluTWFpblRocmVhZCBzY3JpcHREaXNhbGxvd2VkU2NvcGU7CiAKICAgICAvLyBGSVhN
RTogZm9yIG5vdywgYWx3YXlzIHJlcG9ydCB0aGUgY29sb3JzIGFmdGVyIGFwcGx5aW5nIC1hcHBs
ZS1jb2xvci1maWx0ZXIuIEluIGZ1dHVyZSBub3QgYWxsIGNsaWVudHMKICAgICAvLyBtYXkgd2Fu
dCB0aGlzLCBzbyB3ZSBtYXkgaGF2ZSB0byBhZGQgYSBzZXR0aW5nIHRvIGNvbnRyb2wgaXQuIFNl
ZSBhbHNvIGVkaXRpbmdBdHRyaWJ1dGVkU3RyaW5nRnJvbVJhbmdlKCkuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9F
ZGl0b3IuaAppbmRleCA4NmQ4YzhjMjYwMTgzMGJkYzNhOTdmODczNzlmYTAxZTNlZGM4ZDYwLi5j
M2EzNGY1ZmY0MjdjZGRhZGViYzk0MzMwZDdiOTU2MDc1MWEzNjRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RWRpdG9yLmgKQEAgLTYzMSw3ICs2MzEsNiBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBSZWZQdHI8
U2hhcmVkQnVmZmVyPiBkYXRhSW5SVEZERm9ybWF0KE5TQXR0cmlidXRlZFN0cmluZyAqKTsKICAg
ICBzdGF0aWMgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gZGF0YUluUlRGRm9ybWF0KE5TQXR0cmlidXRl
ZFN0cmluZyAqKTsKICNlbmRpZgotICAgIHZvaWQgcGxhdGZvcm1Gb250QXR0cmlidXRlc0F0U2Vs
ZWN0aW9uU3RhcnQoRm9udEF0dHJpYnV0ZXMmLCBjb25zdCBSZW5kZXJTdHlsZSYpIGNvbnN0Owog
CiAgICAgdm9pZCBzY2hlZHVsZUVkaXRvclVJVXBkYXRlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRm9udEF0dHJpYnV0ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRm9udEF0dHJpYnV0ZXMuaAppbmRleCA3NzAwNTU0NWU3ZmVhYTE2ZWMyMWY1ODNkNGRjNGM4
YjE0ZTFhNzcyLi45MWRlNDQ1MzBjMWQ4YWYzNTVkZGFiYzNkYWYxMDBlZGUxOTViMTIzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZvbnRBdHRyaWJ1dGVzLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9Gb250QXR0cmlidXRlcy5oCkBAIC0yNSwxNCArMjUsMTMgQEAK
IAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJGb250LmgiCiAjaW5jbHVkZSAiRm9udFNoYWRv
dy5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlQ29uc3RhbnRzLmgiCiAjaW5jbHVkZSA8d3RmL1Jl
dGFpblB0ci5oPgogCiBPQkpDX0NMQVNTIE5TRGljdGlvbmFyeTsKLU9CSkNfQ0xBU1MgTlNGb250
OwogT0JKQ19DTEFTUyBOU1RleHRMaXN0OwotT0JKQ19DTEFTUyBVSUZvbnQ7CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApAQCAtNTEsMTIgKzUwLDEyIEBAIHN0cnVjdCBUZXh0TGlzdCB7CiAKIHRl
bXBsYXRlPGNsYXNzIEVuY29kZXI+IGlubGluZSB2b2lkIFRleHRMaXN0OjplbmNvZGUoRW5jb2Rl
ciYgZW5jb2RlcikgY29uc3QKIHsKLSAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQ4X3Q+
KHN0eWxlKSA8PCBzdGFydGluZ0l0ZW1OdW1iZXIgPDwgb3JkZXJlZDsKKyAgICBlbmNvZGVyIDw8
IHN0eWxlIDw8IHN0YXJ0aW5nSXRlbU51bWJlciA8PCBvcmRlcmVkOwogfQogCiB0ZW1wbGF0ZTxj
bGFzcyBEZWNvZGVyPiBpbmxpbmUgc3RkOjpvcHRpb25hbDxUZXh0TGlzdD4gVGV4dExpc3Q6OmRl
Y29kZShEZWNvZGVyJiBkZWNvZGVyKQogewotICAgIHN0ZDo6b3B0aW9uYWw8dWludDhfdD4gc3R5
bGU7CisgICAgc3RkOjpvcHRpb25hbDxMaXN0U3R5bGVUeXBlPiBzdHlsZTsKICAgICBkZWNvZGVy
ID4+IHN0eWxlOwogICAgIGlmICghc3R5bGUpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7
CkBAIC03MSw3ICs3MCw3IEBAIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IGlubGluZSBzdGQ6Om9w
dGlvbmFsPFRleHRMaXN0PiBUZXh0TGlzdDo6ZGVjb2RlKERlY29kZXImCiAgICAgaWYgKCFvcmRl
cmVkKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgcmV0dXJuIHt7IHN0YXRp
Y19jYXN0PExpc3RTdHlsZVR5cGU+KFdURk1vdmUoKnN0eWxlKSksIFdURk1vdmUoKnN0YXJ0aW5n
SXRlbU51bWJlciksIFdURk1vdmUoKm9yZGVyZWQpIH19OworICAgIHJldHVybiB7IHsgKnN0eWxl
LCAqc3RhcnRpbmdJdGVtTnVtYmVyLCAqb3JkZXJlZCB9IH07CiB9CiAKIHN0cnVjdCBGb250QXR0
cmlidXRlcyB7CkBAIC03OSwxOCArNzgsMTAgQEAgc3RydWN0IEZvbnRBdHRyaWJ1dGVzIHsKICAg
ICBlbnVtIGNsYXNzIEhvcml6b250YWxBbGlnbm1lbnQgOiB1aW50OF90IHsgTGVmdCwgQ2VudGVy
LCBSaWdodCwgSnVzdGlmeSwgTmF0dXJhbCB9OwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAg
Ym9vbCBlbmNvZGluZ1JlcXVpcmVzUGxhdGZvcm1EYXRhKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsg
fQotCiAgICAgV0VCQ09SRV9FWFBPUlQgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4gY3JlYXRlRGlj
dGlvbmFyeSgpIGNvbnN0OwotI2Vsc2UKLSAgICBib29sIGVuY29kaW5nUmVxdWlyZXNQbGF0Zm9y
bURhdGEoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShN
QUMpCi0gICAgUmV0YWluUHRyPE5TRm9udD4gZm9udDsKLSNlbGlmIFBMQVRGT1JNKElPU19GQU1J
TFkpCi0gICAgUmV0YWluUHRyPFVJRm9udD4gZm9udDsKLSNlbmRpZgorICAgIFJlZlB0cjxGb250
PiBmb250OwogICAgIENvbG9yIGJhY2tncm91bmRDb2xvcjsKICAgICBDb2xvciBmb3JlZ3JvdW5k
Q29sb3I7CiAgICAgRm9udFNoYWRvdyBmb250U2hhZG93OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvY29jb2EvRWRpdG9yQ29jb2EubW0KaW5kZXggYTg1YjdhYTc1MjZiMmY3YzUxYTNmNWM0Njdi
ZWIzNTBlOTkxNGFhYi4uMzhkYmQyNTkzYjg2YmJhOWE5MGNhZWIzMDBmZmFmMGY5YTkyODMzZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0VkaXRvckNvY29hLm1tCkBAIC02NSwx
MiArNjUsNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQgRWRpdG9yOjpwbGF0Zm9y
bUZvbnRBdHRyaWJ1dGVzQXRTZWxlY3Rpb25TdGFydChGb250QXR0cmlidXRlcyYgYXR0cmlidXRl
cywgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlKSBjb25zdAotewotICAgIGlmIChhdXRvIGN0Rm9u
dCA9IHN0eWxlLmZvbnRDYXNjYWRlKCkucHJpbWFyeUZvbnQoKS5nZXRDVEZvbnQoKSkKLSAgICAg
ICAgYXR0cmlidXRlcy5mb250ID0gKF9fYnJpZGdlIGlkKWN0Rm9udDsKLX0KLQogc3RhdGljIFJl
ZlB0cjxTaGFyZWRCdWZmZXI+IGFyY2hpdmVkRGF0YUZvckF0dHJpYnV0ZWRTdHJpbmcoTlNBdHRy
aWJ1dGVkU3RyaW5nICphdHRyaWJ1dGVkU3RyaW5nKQogewogICAgIGlmICghYXR0cmlidXRlZFN0
cmluZy5sZW5ndGgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0Zv
bnRBdHRyaWJ1dGVzQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0ZvbnRB
dHRyaWJ1dGVzQ29jb2EubW0KaW5kZXggNDRiNDg3YzIyMThkNGI2YjkyMDAxMDc1NjA5Yjk5YmI4
ZmQ0MjJiOC4uZmEwZGE1ZGU2MWU1YWU1NmU5MjVlY2E0Y2QxZjhkODg4ZmRkM2QwNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9Gb250QXR0cmlidXRlc0NvY29hLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRm9udEF0dHJpYnV0ZXNDb2NvYS5t
bQpAQCAtMjcsNiArMjcsNyBAQAogI2ltcG9ydCAiRm9udEF0dHJpYnV0ZXMuaCIKIAogI2ltcG9y
dCAiQ29sb3JDb2NvYS5oIgorI2ltcG9ydCAiRm9udENvY29hLmgiCiAjaW1wb3J0IDxwYWwvc3Bp
L2NvY29hL05TQXR0cmlidXRlZFN0cmluZ1NQSS5oPgogI2ltcG9ydCA8d3RmL2NvY29hL1ZlY3Rv
ckNvY29hLmg+CiAKQEAgLTg3LDggKzg4LDggQEAgUmV0YWluUHRyPE5TVGV4dExpc3Q+IFRleHRM
aXN0OjpjcmVhdGVUZXh0TGlzdCgpIGNvbnN0CiBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBGb250
QXR0cmlidXRlczo6Y3JlYXRlRGljdGlvbmFyeSgpIGNvbnN0CiB7CiAgICAgTlNNdXRhYmxlRGlj
dGlvbmFyeSAqYXR0cmlidXRlcyA9IFtOU011dGFibGVEaWN0aW9uYXJ5IGRpY3Rpb25hcnldOwot
ICAgIGlmIChmb250KQotICAgICAgICBhdHRyaWJ1dGVzW05TRm9udEF0dHJpYnV0ZU5hbWVdID0g
Zm9udC5nZXQoKTsKKyAgICBpZiAoYXV0byBjb2NvYUZvbnQgPSBmb250ID8gKF9fYnJpZGdlIENv
Y29hRm9udCAqKWZvbnQtPmdldENURm9udCgpIDogbmlsKQorICAgICAgICBhdHRyaWJ1dGVzW05T
Rm9udEF0dHJpYnV0ZU5hbWVdID0gY29jb2FGb250OwogCiAgICAgaWYgKGZvcmVncm91bmRDb2xv
ci5pc1ZhbGlkKCkpCiAgICAgICAgIGF0dHJpYnV0ZXNbTlNGb3JlZ3JvdW5kQ29sb3JBdHRyaWJ1
dGVOYW1lXSA9IGNvY29hQ29sb3IoZm9yZWdyb3VuZENvbG9yKS5nZXQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNDQ2ZTFjZmNiZjI1NDdkNTMxNWYxNWMyMzMxM2JkNmJjYjRjOGQ0NwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5o
CkBAIC0wLDAgKzEsNDggQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1l
dDoKKyogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvQ29tcGlsZXIuaD4KKworI2lm
IFVTRShBUFBLSVQpCitPQkpDX0NMQVNTIE5TRm9udDsKK09CSkNfQ0xBU1MgTlNGb250RGVzY3Jp
cHRvcjsKKyNlbHNlCitPQkpDX0NMQVNTIFVJRm9udDsKK09CSkNfQ0xBU1MgVUlGb250RGVzY3Jp
cHRvcjsKKyNlbmRpZgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKyNpZiBVU0UoQVBQS0lUKQor
dXNpbmcgQ29jb2FGb250ID0gTlNGb250OwordXNpbmcgQ29jb2FGb250RGVzY3JpcHRvciA9IE5T
Rm9udERlc2NyaXB0b3I7CisjZWxzZQordXNpbmcgQ29jb2FGb250ID0gVUlGb250OwordXNpbmcg
Q29jb2FGb250RGVzY3JpcHRvciA9IFVJRm9udERlc2NyaXB0b3I7CisjZW5kaWYKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAppbmRleCA4NDk4NzE4ZTc4NjBmZTVhMjYwMTVmNDA0
MzljZTEyMzM5ZmE0ZWFlLi4wOWZhNmIwYTBhOTQ5NjFiY2MwNTNhYTcyZDRiMmZhNmFjMjQ2ZWZi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVD
b25zdGFudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGVDb25zdGFudHMuaApAQCAtMTM2MCw0ICsxMzYwLDEwNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBF
bnVtVHJhaXRzPFdlYkNvcmU6OlNjcm9sbFNuYXBTdG9wPiB7CiAgICAgICAgIFdlYkNvcmU6OlNj
cm9sbFNuYXBTdG9wOjpBbHdheXMKICAgICA+OwogfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51
bVRyYWl0czxXZWJDb3JlOjpMaXN0U3R5bGVUeXBlPiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51
bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZSwKKyAgICAgICAgV2ViQ29y
ZTo6TGlzdFN0eWxlVHlwZTo6RGlzYywKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6
Q2lyY2xlLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpTcXVhcmUsCisgICAgICAg
IFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkRlY2ltYWwsCisgICAgICAgIFdlYkNvcmU6Okxpc3RT
dHlsZVR5cGU6OkRlY2ltYWxMZWFkaW5nWmVybywKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxl
VHlwZTo6QXJhYmljSW5kaWMsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkJpbmFy
eSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6QmVuZ2FsaSwKKyAgICAgICAgV2Vi
Q29yZTo6TGlzdFN0eWxlVHlwZTo6Q2FtYm9kaWFuLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5
bGVUeXBlOjpLaG1lciwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6RGV2YW5hZ2Fy
aSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6R3VqYXJhdGksCisgICAgICAgIFdl
YkNvcmU6Okxpc3RTdHlsZVR5cGU6Okd1cm11a2hpLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5
bGVUeXBlOjpLYW5uYWRhLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpMb3dlckhl
eGFkZWNpbWFsLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpMYW8sCisgICAgICAg
IFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6Ok1hbGF5YWxhbSwKKyAgICAgICAgV2ViQ29yZTo6TGlz
dFN0eWxlVHlwZTo6TW9uZ29saWFuLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpN
eWFubWFyLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpPY3RhbCwKKyAgICAgICAg
V2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6T3JpeWEsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHls
ZVR5cGU6OlBlcnNpYW4sCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlVyZHUsCisg
ICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlRlbHVndSwKKyAgICAgICAgV2ViQ29yZTo6
TGlzdFN0eWxlVHlwZTo6VGliZXRhbiwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6
VGhhaSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VXBwZXJIZXhhZGVjaW1hbCwK
KyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6TG93ZXJSb21hbiwKKyAgICAgICAgV2Vi
Q29yZTo6TGlzdFN0eWxlVHlwZTo6VXBwZXJSb21hbiwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0
eWxlVHlwZTo6TG93ZXJHcmVlaywKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6TG93
ZXJBbHBoYSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6TG93ZXJMYXRpbiwKKyAg
ICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VXBwZXJBbHBoYSwKKyAgICAgICAgV2ViQ29y
ZTo6TGlzdFN0eWxlVHlwZTo6VXBwZXJMYXRpbiwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxl
VHlwZTo6QWZhciwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxl
aGFtZUFhRXQsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhh
bWVBYUVyLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpBbWhhcmljLAorICAgICAg
ICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lQW1FdCwKKyAgICAgICAg
V2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6QW1oYXJpY0FiZWdlZGUsCisgICAgICAgIFdlYkNvcmU6
Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZUFtRXQsCisgICAgICAgIFdlYkNvcmU6Okxp
c3RTdHlsZVR5cGU6OkNKS0VhcnRobHlCcmFuY2gsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHls
ZVR5cGU6OkNKS0hlYXZlbmx5U3RlbSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6
RXRoaW9waWMsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhh
bWVHZXosCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZSwK
KyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6RXRoaW9waWNBYmVnZWRlR2V6LAorICAg
ICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpIYW5ndWxDb25zb25hbnQsCisgICAgICAgIFdl
YkNvcmU6Okxpc3RTdHlsZVR5cGU6Okhhbmd1bCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxl
VHlwZTo6TG93ZXJOb3J3ZWdpYW4sCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6Ok9y
b21vLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lT21F
dCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6U2lkYW1hLAorICAgICAgICBXZWJD
b3JlOjpMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lU2lkRXQsCisgICAgICAgIFdlYkNv
cmU6Okxpc3RTdHlsZVR5cGU6OlNvbWFsaSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlw
ZTo6RXRoaW9waWNIYWxlaGFtZVNvRXQsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6
OlRpZ3JlLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1l
VGlnLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpUaWdyaW55YUVyLAorICAgICAg
ICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lVGlFciwKKyAgICAgICAg
V2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VGlncmlueWFFckFiZWdlZGUsCisgICAgICAgIFdlYkNv
cmU6Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZVRpRXIsCisgICAgICAgIFdlYkNvcmU6
Okxpc3RTdHlsZVR5cGU6OlRpZ3JpbnlhRXQsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5
cGU6OkV0aGlvcGljSGFsZWhhbWVUaUV0LAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBl
OjpUaWdyaW55YUV0QWJlZ2VkZSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6RXRo
aW9waWNBYmVnZWRlVGlFdCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VXBwZXJH
cmVlaywKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VXBwZXJOb3J3ZWdpYW4sCisg
ICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkFzdGVyaXNrcywKKyAgICAgICAgV2ViQ29y
ZTo6TGlzdFN0eWxlVHlwZTo6Rm9vdG5vdGVzLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVU
eXBlOjpIZWJyZXcsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkFybWVuaWFuLAor
ICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpMb3dlckFybWVuaWFuLAorICAgICAgICBX
ZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpVcHBlckFybWVuaWFuLAorICAgICAgICBXZWJDb3JlOjpM
aXN0U3R5bGVUeXBlOjpHZW9yZ2lhbiwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6
Q0pLSWRlb2dyYXBoaWMsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkhpcmFnYW5h
LAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpLYXRha2FuYSwKKyAgICAgICAgV2Vi
Q29yZTo6TGlzdFN0eWxlVHlwZTo6SGlyYWdhbmFJcm9oYSwKKyAgICAgICAgV2ViQ29yZTo6TGlz
dFN0eWxlVHlwZTo6S2F0YWthbmFJcm9oYSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlw
ZTo6Q0pLRGVjaW1hbCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VGFtaWwsCisg
ICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkRpc2Nsb3N1cmVPcGVuLAorICAgICAgICBX
ZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpEaXNjbG9zdXJlQ2xvc2VkLAorICAgICAgICBXZWJDb3Jl
OjpMaXN0U3R5bGVUeXBlOjpKYXBhbmVzZUluZm9ybWFsLAorICAgICAgICBXZWJDb3JlOjpMaXN0
U3R5bGVUeXBlOjpKYXBhbmVzZUZvcm1hbCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlw
ZTo6S29yZWFuSGFuZ3VsRm9ybWFsLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpL
b3JlYW5IYW5qYUluZm9ybWFsLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpLb3Jl
YW5IYW5qYUZvcm1hbCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6U2ltcGxpZmll
ZENoaW5lc2VJbmZvcm1hbCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6U2ltcGxp
ZmllZENoaW5lc2VGb3JtYWwsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlRyYWRp
dGlvbmFsQ2hpbmVzZUluZm9ybWFsLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpU
cmFkaXRpb25hbENoaW5lc2VGb3JtYWwsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6
OkV0aGlvcGljTnVtZXJpYywKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6U3RyaW5n
LAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpOb25lCisgICAgPjsKK307CisKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvQ29jb2FGb250LmggYi9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL0NvY29hRm9udC5oCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBmYzE3NmY5YzlmNzQ0NTJiNTEzYTgwOTA0ZDhlODI2NjQ4NzhhYTA1Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vY29jb2EvQ29jb2FGb250LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCww
IEBACi0vKgotKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotKgotKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0qIGFyZSBtZXQ6Ci0qIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0qICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotKgotKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0qIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0qIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUwotKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0qIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0qIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUwotKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCi0qIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSovCi0KLSNwcmFn
bWEgb25jZQotCi0jaW5jbHVkZSA8d3RmL0NvbXBpbGVyLmg+Ci0KLSNpZiBVU0UoQVBQS0lUKQot
T0JKQ19DTEFTUyBOU0ZvbnQ7Ci1PQkpDX0NMQVNTIE5TRm9udERlc2NyaXB0b3I7Ci11c2luZyBD
b2NvYUZvbnQgPSBOU0ZvbnQ7Ci11c2luZyBDb2NvYUZvbnREZXNjcmlwdG9yID0gTlNGb250RGVz
Y3JpcHRvcjsKLSNlbHNlCi1PQkpDX0NMQVNTIFVJRm9udDsKLU9CSkNfQ0xBU1MgVUlGb250RGVz
Y3JpcHRvcjsKLXVzaW5nIENvY29hRm9udCA9IFVJRm9udDsKLXVzaW5nIENvY29hRm9udERlc2Ny
aXB0b3IgPSBVSUZvbnREZXNjcmlwdG9yOwotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5tbQppbmRleCAwZjYzY2M0Njk5ZWJlMDI4
NThiMmIzNmUyOTA3YzE0NTg0MGIwY2E2Li4xMjhhYThjNDg2Yzk2YjliZWQyZTNmNmUwN2Y1NzBh
ZWY1YzBlNWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVu
dENvZGVyc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FyZ3VtZW50
Q29kZXJzQ29jb2EubW0KQEAgLTI5LDExICsyOSwxMSBAQAogI2lmIFBMQVRGT1JNKENPQ09BKQog
CiAjaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCi0jaW1wb3J0ICJDb2NvYUZvbnQuaCIKICNp
bXBvcnQgIkNvcmVUZXh0SGVscGVycy5oIgogI2ltcG9ydCA8Q29yZVRleHQvQ1RGb250Lmg+CiAj
aW1wb3J0IDxDb3JlVGV4dC9DVEZvbnREZXNjcmlwdG9yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Nv
bG9yQ29jb2EuaD4KKyNpbXBvcnQgPFdlYkNvcmUvRm9udENvY29hLmg+CiAjaW1wb3J0IDx3dGYv
QmxvY2tPYmpDRXhjZXB0aW9ucy5oPgogI2ltcG9ydCA8d3RmL0hhc2hTZXQuaD4KICNpbXBvcnQg
PHd0Zi9jZi9DRlVSTEV4dHJhcy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
Q29jb2EvQ29yZVRleHRIZWxwZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3Jl
VGV4dEhlbHBlcnMuaAppbmRleCA1NzY0ODNjMmYxY2FjMDllZTg2MmQxYTljNjRhM2VhOGFmZWUz
ZDU4Li40MGM0YTI4YzhmMGZlYTAwNGJkYjNjN2NhOTliNDM2NmYwMWIzZTAzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlVGV4dEhlbHBlcnMuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlVGV4dEhlbHBlcnMuaApAQCAtMjUsNyArMjUsNyBA
QAogCiAjcHJhZ21hIG9uY2UKIAotI2ltcG9ydCAiQ29jb2FGb250LmgiCisjaW1wb3J0IDxXZWJD
b3JlL0ZvbnRDb2NvYS5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiAjaWYgVVNFKEFQ
UEtJVCkKQEAgLTM2LDYgKzM2LDYgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLUNvY29hRm9u
dCAqZm9udFdpdGhBdHRyaWJ1dGVzKE5TRGljdGlvbmFyeSAqYXR0cmlidXRlcywgQ0dGbG9hdCBz
aXplKTsKK1dlYkNvcmU6OkNvY29hRm9udCAqZm9udFdpdGhBdHRyaWJ1dGVzKE5TRGljdGlvbmFy
eSAqYXR0cmlidXRlcywgQ0dGbG9hdCBzaXplKTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvQ29jb2EvQ29yZVRleHRIZWxwZXJzLm1tIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvQ29jb2EvQ29yZVRleHRIZWxwZXJzLm1tCmluZGV4IGEyNTEwYzY0MzUwNGQ4Mzk1NWRmOTQy
ZWY0Nzc0NzM1MWM5ZWZiYzYuLmJkMTEwYjRiOTE4ZWVkMzNlYzdhMGMyN2Y5ZDZkOTRmMjExMWJk
NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVUZXh0SGVscGVy
cy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlVGV4dEhlbHBlcnMubW0K
QEAgLTMwLDYgKzMwLDcgQEAKICNpbXBvcnQgPHd0Zi9CbG9ja09iakNFeGNlcHRpb25zLmg+CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIENvY29hRm9u
dCAqZm9udFdpdGhBdHRyaWJ1dGVzKE5TRGljdGlvbmFyeSAqYXR0cmlidXRlcywgQ0dGbG9hdCBz
aXplKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJDb3Jl
QXJndW1lbnRDb2RlcnNDb2NvYS5tbQppbmRleCAzYzFiNTdkNWFhMjZlYzcyZTYwYjVkNzhhMTFl
OWZkODUyY2ZmZWM5Li40NDIyZDY3MjJmNTAzY2UyNzY4NTIwNTBhZGY4MTk0Njk3Y2EwNzhjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2Rl
cnNDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1l
bnRDb2RlcnNDb2NvYS5tbQpAQCAtNDQwLDE4ICs0NDAsNiBAQCBib29sIEFyZ3VtZW50Q29kZXI8
V2ViQ29yZTo6RGljdGlvbmFyeVBvcHVwSW5mbz46OmRlY29kZVBsYXRmb3JtRGF0YShEZWNvZGVy
JiBkZQogICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6
Rm9udEF0dHJpYnV0ZXM+OjplbmNvZGVQbGF0Zm9ybURhdGEoRW5jb2RlciYgZW5jb2RlciwgY29u
c3QgV2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXMmIGF0dHJpYnV0ZXMpCi17Ci0gICAgZW5jb2RlciA8
PCBhdHRyaWJ1dGVzLmZvbnQ7Ci19Ci0KLXN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6Rm9udEF0dHJp
YnV0ZXM+IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXM+OjpkZWNvZGVQbGF0
Zm9ybURhdGEoRGVjb2RlciYgZGVjb2RlciwgV2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXMmIGF0dHJp
YnV0ZXMpCi17Ci0gICAgaWYgKCFJUEM6OmRlY29kZShkZWNvZGVyLCBhdHRyaWJ1dGVzLmZvbnQp
KQotICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAgIHJldHVybiBhdHRyaWJ1dGVzOwot
fQotCiB2b2lkIEFyZ3VtZW50Q29kZXI8UmVmPFdlYkNvcmU6OkZvbnQ+Pjo6ZW5jb2RlUGxhdGZv
cm1EYXRhKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFJlZjxXZWJDb3JlOjpGb250PiYgZm9udCkK
IHsKICAgICBjb25zdCBhdXRvJiBwbGF0Zm9ybURhdGEgPSBmb250LT5wbGF0Zm9ybURhdGEoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4
IGM4OTg2ODdiMjI2Y2NlNGI0ZjNiOGIxYTg1Y2JlYzc5NThiNjdhYjYuLjM2ZTg5MDYxNzFmZTYy
YjIxNTg1NzNmYmZhNTIzOWI0YmI1OWYzN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtMjkxMCwxMiArMjkxMCw5IEBAIHZvaWQgQXJn
dW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25z
dCBGb250QXR0cmlidXRlCiAgICAgZW5jb2RlciA8PCBhdHRyaWJ1dGVzLmJhY2tncm91bmRDb2xv
ciA8PCBhdHRyaWJ1dGVzLmZvcmVncm91bmRDb2xvciA8PCBhdHRyaWJ1dGVzLmZvbnRTaGFkb3cg
PDwgYXR0cmlidXRlcy5oYXNVbmRlcmxpbmUgPDwgYXR0cmlidXRlcy5oYXNTdHJpa2VUaHJvdWdo
IDw8IGF0dHJpYnV0ZXMudGV4dExpc3RzOwogICAgIGVuY29kZXIgPDwgYXR0cmlidXRlcy5ob3Jp
em9udGFsQWxpZ25tZW50OwogICAgIGVuY29kZXIgPDwgYXR0cmlidXRlcy5zdWJzY3JpcHRPclN1
cGVyc2NyaXB0OwotCi0gICAgaWYgKGF0dHJpYnV0ZXMuZW5jb2RpbmdSZXF1aXJlc1BsYXRmb3Jt
RGF0YSgpKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgdHJ1ZTsKLSAgICAgICAgZW5jb2RlUGxhdGZv
cm1EYXRhKGVuY29kZXIsIGF0dHJpYnV0ZXMpOwotICAgICAgICByZXR1cm47Ci0gICAgfQorICAg
IGVuY29kZXIgPDwgISFhdHRyaWJ1dGVzLmZvbnQ7CisgICAgaWYgKGF0dHJpYnV0ZXMuZm9udCkK
KyAgICAgICAgZW5jb2RlciA8PCBSZWYoKmF0dHJpYnV0ZXMuZm9udCk7CiB9CiAKIHN0ZDo6b3B0
aW9uYWw8Rm9udEF0dHJpYnV0ZXM+IEFyZ3VtZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjpkZWNv
ZGUoRGVjb2RlciYgZGVjb2RlcikKQEAgLTI5NDYsMTEgKzI5NDMsMTkgQEAgc3RkOjpvcHRpb25h
bDxGb250QXR0cmlidXRlcz4gQXJndW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46OmRlY29kZShE
ZWNvZGVyJiBkZWMKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGF0dHJpYnV0ZXMuc3Vic2NyaXB0
T3JTdXBlcnNjcmlwdCkpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICBib29s
IGhhc1BsYXRmb3JtRGF0YTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc1BsYXRmb3JtRGF0
YSkpCisgICAgc3RkOjpvcHRpb25hbDxib29sPiBoYXNGb250OworICAgIGRlY29kZXIgPj4gaGFz
Rm9udDsKKyAgICBpZiAoIWhhc0ZvbnQpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0g
ICAgaWYgKGhhc1BsYXRmb3JtRGF0YSkKLSAgICAgICAgcmV0dXJuIGRlY29kZVBsYXRmb3JtRGF0
YShkZWNvZGVyLCBhdHRyaWJ1dGVzKTsKKworICAgIGlmICgqaGFzRm9udCkgeworICAgICAgICBz
dGQ6Om9wdGlvbmFsPFJlZjxGb250Pj4gZm9udDsKKyAgICAgICAgZGVjb2RlciA+PiBmb250Owor
ICAgICAgICBpZiAoIWZvbnQpCisgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisg
ICAgICAgIGF0dHJpYnV0ZXMuZm9udCA9IFdURk1vdmUoKmZvbnQpOworICAgIH0KIAogICAgIHJl
dHVybiBhdHRyaWJ1dGVzOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1l
bnRDb2RlcnMuaAppbmRleCA2ZmFjMmFhMWVhNzg0NmZmNmJmODkwMjFmMGY1MmU5YWE3YWUwM2M4
Li5hMjkyZTEwYmQ4NWUyYmRlYzMyNTEwZjAxMGFjOTNhNWVhM2QxYzMzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApAQCAtNzMwLDggKzczMCw2IEBA
IHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8UmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5
T3JpZ2luPj4gewogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGb250
QXR0cmlidXRlcz4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV2Vi
Q29yZTo6Rm9udEF0dHJpYnV0ZXMmKTsKICAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxXZWJDb3Jl
OjpGb250QXR0cmlidXRlcz4gZGVjb2RlKERlY29kZXImKTsKLSAgICBzdGF0aWMgdm9pZCBlbmNv
ZGVQbGF0Zm9ybURhdGEoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzJik7
Ci0gICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXM+IGRlY29k
ZVBsYXRmb3JtRGF0YShEZWNvZGVyJiwgV2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXMmKTsKIH07CiAK
ICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV0tTYWZlQnJvd3NpbmdXYXJuaW5nLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV0tTYWZlQnJvd3NpbmdXYXJuaW5nLm1tCmluZGV4IDQxZDA4OThi
MDFkNGM3MGNlMDhmODkwNTIwNTZhNWQwNzFlOWU5ZTEuLjE4MWMxN2RjZmYyN2ZjYjg0MzA4Y2Vl
Y2E1M2JiMDEzMGMzNjBjZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dLU2FmZUJyb3dzaW5nV2FybmluZy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XS1NhZmVCcm93c2luZ1dhcm5pbmcubW0KQEAgLTI2LDkgKzI2LDkgQEAKICNpbXBv
cnQgImNvbmZpZy5oIgogI2ltcG9ydCAiV0tTYWZlQnJvd3NpbmdXYXJuaW5nLmgiCiAKLSNpbXBv
cnQgIkNvY29hRm9udC5oIgogI2ltcG9ydCAiUGFnZUNsaWVudC5oIgogI2ltcG9ydCAiU2FmZUJy
b3dzaW5nV2FybmluZy5oIgorI2ltcG9ydCA8V2ViQ29yZS9Gb250Q29jb2EuaD4KICNpbXBvcnQg
PFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlT2Jq
Q0V4dHJhcy5oPgogI2ltcG9ydCA8d3RmL1VSTC5oPgpAQCAtNzgsNyArNzgsNyBAQCBlbnVtIGNs
YXNzIFdhcm5pbmdUZXh0U2l6ZSA6IHVpbnQ4X3QgewogICAgIEJvZHkKIH07CiAKLXN0YXRpYyBD
b2NvYUZvbnQgKmZvbnRPZlNpemUoV2FybmluZ1RleHRTaXplIHNpemUpCitzdGF0aWMgV2ViQ29y
ZTo6Q29jb2FGb250ICpmb250T2ZTaXplKFdhcm5pbmdUZXh0U2l6ZSBzaXplKQogewogI2lmIFBM
QVRGT1JNKE1BQykKICAgICBzd2l0Y2ggKHNpemUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDQzYTdjZDVlNDdlODg1MGE2OGRlMjM4
OTZhMWRhZTM4ZDgzMTRmMzYuLjZlZjZmNzRjMDMzNmJlOTE1ZmQzYTQwMzRlNGNjMWEyNTBmNjZl
YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtNjQ0Niw3ICs2NDQ2LDYgQEAKIAkJRjRFQjRBRkMyNjlDRDIzNjAwRDI5N0FFIC8qIE9T
U3RhdGVTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT1NTdGF0ZVNQSS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlGNEY1OUFEMzIwNjVBNUM5MDA2Q0FBNDYgLyogV0tTZWxlY3RNZW51TGlz
dFZpZXdDb250cm9sbGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1l
ID0gV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLm1tOyBwYXRoID0gaW9zL2Zvcm1zL1dL
U2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRjRGNTlBRDQyMDY1QTVDQTAwNkNBQTQ2IC8qIFdLU2VsZWN0TWVudUxpc3RWaWV3Q29u
dHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXS1NlbGVjdE1lbnVM
aXN0Vmlld0NvbnRyb2xsZXIuaDsgcGF0aCA9IGlvcy9mb3Jtcy9XS1NlbGVjdE1lbnVMaXN0Vmll
d0NvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRjRGRTBBM0MyNDYz
NTY2NzAwMjYzMUUxIC8qIENvY29hRm9udC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb2NvYUZvbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjYxMTNFMjQxMjZDRTE4MjAwNTdEMEE3IC8q
IEFQSVVzZXJDb250ZW50VVJMUGF0dGVybi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBBUElVc2VyQ29udGVudFVSTFBhdHRlcm4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRjYxMTNFMjYxMjZDRTE5QjAwNTdEMEE3IC8qIFdLVXNlckNvbnRlbnRVUkxQYXR0ZXJu
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLVXNlckNvbnRlbnRV
UkxQYXR0ZXJuLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjYxMTNFMjcxMjZD
RTE5QjAwNTdEMEE3IC8qIFdLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC05MTY3LDcgKzkxNjYsNiBAQAogCQk0NDUwQUVCRTFEQzNGQUFD
MDA5OTQzRjIgLyogY29jb2EgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKAotCQkJCUY0RkUwQTNDMjQ2MzU2NjcwMDI2MzFFMSAvKiBDb2NvYUZvbnQuaCAqLywKIAkJ
CQk0NDgyNzM0NjI0NTI4RjYwMDBBOTU0OTMgLyogQ29jb2FJbWFnZS5oICovLAogCQkJCUJDRTA5
Mzc2MTRGQjEyOEIwMDExMzhEOSAvKiBMYXllckhvc3RpbmdDb250ZXh0LmggKi8sCiAJCQkJQkNF
MDkzNzUxNEZCMTI4QjAwMTEzOEQ5IC8qIExheWVySG9zdGluZ0NvbnRleHQubW0gKi8sCg==
</data>
<flag name="commit-queue"
          id="473904"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448109</attachid>
            <date>2021-12-30 15:21:14 -0800</date>
            <delta_ts>2021-12-30 16:41:16 -0800</delta_ts>
            <desc>Fix Soup and Playstation builds</desc>
            <filename>bug-234757-20211230152113.patch</filename>
            <type>text/plain</type>
            <size>35470</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NDgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWU1YzU2MTk5Yzk2MThk
NmJjOGZlZTQwNDA4OTNmMjRlYTkyZjNjNy4uYmFjZmFiYmVmNGVkYjU5YmIyMjFjNTczMzMwMDg3
OTdiNWI3NDZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIxLTEyLTMwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJlZmFjdG9yIHNv
bWUgQ29jb2Etc3BlY2lmaWMgY29kZSBpbiBXZWJDb3JlOjpGb250QXR0cmlidXRlcyB0byBiZSBw
bGF0Zm9ybS1hZ25vc3RpYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM0NzU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUmVwbGFjZSB0aGUgVUlGb250L05TRm9udCBjdXJyZW50bHkgaW4gV2ViQ29yZTo6
Rm9udEF0dHJpYnV0ZXMgd2l0aCBhIFdlYkNvcmU6OkZvbnQgaW5zdGVhZC4gVGhpcyByZW1vdmVz
IGEgYml0CisgICAgICAgIG9mIHBsYXRmb3JtLXNwZWNpZmljIGxvZ2ljIGluIGFuIG90aGVyd2lz
ZSBwbGF0Zm9ybS1hZ25vc3RpYyBjbGFzcyAod2l0aCB0aGUgZXhjZXB0aW9uIG9mIGEgY291cGxl
IENvY29hLQorICAgICAgICBzcGVjaWZpYyBoZWxwZXIgbWV0aG9kcykuIFRoaXMgYWRkaXRpb25h
bGx5IGxldHMgdXMgcmVtb3ZlIHNvbWUgcGxhdGZvcm0tc3BlY2lmaWMgbG9naWMgZm9yIGNvbXB1
dGluZyBmb250CisgICAgICAgIGF0dHJpYnV0ZXMgKGkuZS4gYHBsYXRmb3JtRm9udEF0dHJpYnV0
ZXNBdFNlbGVjdGlvblN0YXJ0YCkgYmVsb3cuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RWRpdG9yOjpmb250QXR0cmlidXRlc0F0U2VsZWN0aW9uU3RhcnQpOgorICAg
ICAgICAoV2ViQ29yZTo6RWRpdG9yOjpwbGF0Zm9ybUZvbnRBdHRyaWJ1dGVzQXRTZWxlY3Rpb25T
dGFydCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuaDoKKyAgICAg
ICAgKiBlZGl0aW5nL0ZvbnRBdHRyaWJ1dGVzLmg6CisgICAgICAgIChXZWJDb3JlOjpUZXh0TGlz
dDo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRMaXN0OjpkZWNvZGUpOgor
CisgICAgICAgIERyaXZlLWJ5IGZpeDogaW5zdGVhZCBvZiBgc3RhdGljX2Nhc3RgLWluZyB0byBh
IHVpbnQ4X3QgYW5kIGVuY29kaW5nL2RlY29kaW5nIHRoZSByYXcgdmFsdWUsIGVuY29kZSBhbmQg
ZGVjb2RlCisgICAgICAgIHRoZSBMaXN0U3R5bGVUeXBlIGFzIGEgbm9ybWFsIGVudW0gaW5zdGVh
ZC4gVGhpcyBhbHNvIGVuc3VyZXMgdGhhdCB3ZSB2YWxpZGF0ZSB0aGUgZW51bSB2YWx1ZSB1cG9u
IGRlY29kaW5nLgorCisgICAgICAgIChXZWJDb3JlOjpGb250QXR0cmlidXRlczo6ZW5jb2RpbmdS
ZXF1aXJlc1BsYXRmb3JtRGF0YSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogZWRpdGluZy9j
b2NvYS9FZGl0b3JDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cGxhdGZvcm1G
b250QXR0cmlidXRlc0F0U2VsZWN0aW9uU3RhcnQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAq
IGVkaXRpbmcvY29jb2EvRm9udEF0dHJpYnV0ZXNDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRBdHRyaWJ1dGVzOjpjcmVhdGVEaWN0aW9uYXJ5IGNvbnN0KToKKworICAgICAgICBPbmx5
IGdyYWIgdGhlIE5TRm9udCBvciBVSUZvbnQgZnJvbSB0aGUgV2ViQ29yZTo6Rm9udCBvYmplY3Qg
b25jZSB3ZSdyZSBpbiB0aGlzIENvY29hLXNwZWNpZmljIGhlbHBlci4KKworICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5oOiBBZGRlZC4KKworICAgICAgICBNb3Zl
ZCBoZXJlIGZyb20gQ29jb2FGb250LmggaW4gV2ViS2l0LiBTZWUgV2ViS2l0L0NoYW5nZUxvZyBm
b3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
Q29uc3RhbnRzLmg6CisKKyAgICAgICAgQWRkIEVudW1UcmFpdHMgZm9yIExpc3RTdHlsZVR5cGUs
IHNvIHRoYXQgaXQgY2FuIGJlIGVuY29kZWQvZGVjb2RlZC4KKwogMjAyMS0xMi0yOSAgV2Vuc29u
IEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGluZyB0aGUg
ZmlsZSBuYW1lIG9mIGF0dGFjaG1lbnQtYmFja2VkIGltYWdlcyBzaG91bGQgYXV0b21hdGljYWxs
eSBzZXQgdGhlIGBhbHRgIGF0dHJpYnV0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBjZTI3ZTE0YzY5ZmQyNDRhZTdi
MjQ0NWUzZTQ5ODdjNmY3MWJiMjgzLi5lOGU5YmJmOWFhMzZjN2Q3MmI3MjA5M2YyMDRjNGU5NjE4
YTAzZTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIxLTEyLTMwICBXZW5zb24gSHNp
ZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJlZmFjdG9yIHNvbWUgQ29j
b2Etc3BlY2lmaWMgY29kZSBpbiBXZWJDb3JlOjpGb250QXR0cmlidXRlcyB0byBiZSBwbGF0Zm9y
bS1hZ25vc3RpYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM0NzU3CisKKyAgICAgICAgU2VlIGNvbW1lbnRzIGJlbG93IChhcyB3ZWxsIGFzIFdlYkNv
cmUvQ2hhbmdlTG9nKSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGxhdGZvcm0vY29jb2EvQ29jb2FGb250Lmg6IFJl
bW92ZWQuCisKKyAgICAgICAgTW92ZSB0aGlzIGZpbGUgaW50byBXZWJDb3JlLCBhcyBgRm9udENv
Y29hLmhgLgorCisgICAgICAgICogU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EubW06
CisgICAgICAgICogU2hhcmVkL0NvY29hL0NvcmVUZXh0SGVscGVycy5oOgorICAgICAgICAqIFNo
YXJlZC9Db2NvYS9Db3JlVGV4dEhlbHBlcnMubW06CisKKyAgICAgICAgQWRqdXN0IGEgZmV3IHBs
YWNlcyB0aGF0IGN1cnJlbnRseSBpbXBvcnQgQ29jb2FGb250LmggdG8gaW1wb3J0IFdlYkNvcmUv
Rm9udENvY29hLmggaW5zdGVhZC4gQWRkaXRvbmFsbHksIGNoYW5nZQorICAgICAgICBDb2NvYUZv
bnQgdG8gV2ViQ29yZTo6Q29jb2FGb250IHdoZXJlIG5lY2Vzc2FyeS4KKworICAgICAgICAqIFNo
YXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbToKKyAgICAgICAgKElQQzo6
QXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGb250QXR0cmlidXRlcz46OmVuY29kZVBsYXRmb3JtRGF0
YSk6IERlbGV0ZWQuCisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Rm9udEF0
dHJpYnV0ZXM+OjpkZWNvZGVQbGF0Zm9ybURhdGEpOiBEZWxldGVkLgorCisgICAgICAgIFJlbW92
ZSBwbGF0Zm9ybS1zcGVjaWZpYyBGb250QXR0cmlidXRlcyBlbmNvZGluZy9kZWNvZGluZyBsb2dp
Yy4gVGhpcyBpcyBubyBsb25nZXIgbmVlZGVkLCBzaW5jZSB3ZSBqdXN0CisgICAgICAgIHByb3Bh
Z2F0ZSBhIEZvbnQgaW5zdGVhZCBvZiBhbiBOU0ZvbnQgb3IgVUlGb250LgorCisgICAgICAgICog
U2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHA6CisgICAgICAgIChJUEM6OkFyZ3VtZW50
Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENv
ZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZGVjb2RlKToKKworICAgICAgICBSZW1vdmUgdGhlIGNhbGxz
IHRvIGBlbmNvZGVQbGF0Zm9ybURhdGEvZGVjb2RlUGxhdGZvcm1EYXRhYCwgYW5kIGluc3RlYWQg
ZW5jb2RlIHRoZSBgUmVmUHRyPFdlYkNvcmU6OkZvbnQ+YC4KKworICAgICAgICAqIFNoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvcGxheXN0YXRpb24vV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzUGxheVN0YXRpb24uY3BwOgorICAgICAgICAoSVBDOjpBcmd1bWVu
dENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKTogRGVsZXRlZC4KKyAg
ICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46OmRlY29kZVBsYXRmb3Jt
RGF0YSk6IERlbGV0ZWQuCisgICAgICAgICogU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzU291cC5jcHA6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+
OjplbmNvZGVQbGF0Zm9ybURhdGEpOiBEZWxldGVkLgorICAgICAgICAoSVBDOjpBcmd1bWVudENv
ZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKTogRGVsZXRlZC4KKworICAg
ICAgICBSZW1vdmUgc29tZSBtZXRob2Qgc3R1YnMgdGhhdCBhcmUgbm93IHVubmVjZXNzYXJ5Lgor
CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dLU2FmZUJyb3dzaW5nV2FybmluZy5tbToKKyAg
ICAgICAgKGZvbnRPZlNpemUpOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorCiAyMDIxLTEyLTI2ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXBsYWNlIFdlYktpdC9Db2NvYUNvbG9yLmggd2l0aCBXZWJDb3JlL0NvbG9yQ29j
b2EuaCwgbm90IGNvbmZ1c2luZyBhdCBhbGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiNjYyYjA4N2U3MmVkZTZlYzdjOTM1ZGZh
NDdmMDdlMGRjNGQwNzZmLi4zYzllYzI1YzBhOTI0NjA2YWUyZWIzMjc2NGExNzhkZGNjOTQ0M2Y4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC01NTExLDYgKzU1MTEsNyBAQAogCQlGNDhEMkFBNTIxNTk3NDBEMDBDNjc1MkIgLyog
Q29sb3JDb2NvYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRjQ4RDJBQTMyMTU5NzQwRDAwQzY3NTJCIC8qIENvbG9yQ29jb2EuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGNDkzMjg4MzI3NjkwNDFCMDAz
RTIwRjggLyogTW9kYWxDb250YWluZXJUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ5MzI4ODIyNzY5MDQxQjAwM0UyMEY4IC8qIE1vZGFsQ29u
dGFpbmVyVHlwZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQlGNDk3ODY4ODFGRjQ1RkE1MDBFMDYwQUIgLyogUGFzdGVib2FyZEl0ZW1JbmZvLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDk3ODY4NzFG
RjQ1RkE1MDBFMDYwQUIgLyogUGFzdGVib2FyZEl0ZW1JbmZvLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRjRBMDY0QzgyNzdFNDhDOTAwQjA2QTE3
IC8qIEZvbnRDb2NvYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjRBMDY0QzYyNzdFNDhDNjAwQjA2QTE3IC8qIEZvbnRDb2NvYS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUY0QjAwMTg5MjZFN0YyMUYw
MDZFQUFCRSAvKiBIVE1MQXRvbVN0cmluZ0NhY2hlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNEIwMDE4NzI2RTdGMjFGMDA2RUFBQkUgLyogSFRNTEF0
b21TdHJpbmdDYWNoZS5oICovOyB9OwogCQlGNEIyQTkwOTI2NTAzMEJBMDA5RTcyODYgLyogRGF0
YURldGVjdG9ySGlnaGxpZ2h0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGNEIyQTkwNjI2NTAyQkEwMDA5RTcyODYgLyogRGF0YURldGVjdG9ySGlnaGxp
Z2h0LmggKi87IH07CiAJCUY0QjQyMkM0MjIwQzA1NjgwMDlFMUU3RCAvKiBET01QYXN0ZUFjY2Vz
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRCNDIy
QzIyMjBDMDAwMDAwOUUxRTdEIC8qIERPTVBhc3RlQWNjZXNzLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTE3NzQyLDYgKzE3NzQzLDcgQEAKIAkJ
RjQ5MzI4ODIyNzY5MDQxQjAwM0UyMEY4IC8qIE1vZGFsQ29udGFpbmVyVHlwZXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTW9kYWxDb250YWluZXJUeXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlGNDk3ODY4NzFGRjQ1RkE1MDBFMDYwQUIgLyogUGFzdGVib2FyZEl0ZW1JbmZvLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFBhc3RlYm9hcmRJdGVtSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlGNDlFOThFNDIxREVFNkMxMDA5QUU1NUUgLyogRWRpdEFjdGlvbi5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBFZGl0QWN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJRjRBMDY0QzYyNzdFNDhDNjAwQjA2QTE3IC8qIEZvbnRDb2NvYS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBGb250Q29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRjRCMDAxODcyNkU3RjIxRjAwNkVBQUJFIC8qIEhUTUxBdG9tU3RyaW5nQ2FjaGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSFRNTEF0b21TdHJpbmdDYWNoZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGNEIwMDE4ODI2RTdGMjFGMDA2RUFBQkUgLyogSFRNTEF0b21TdHJpbmdDYWNo
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIVE1MQXRvbVN0cmluZ0NhY2hlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjRCMkE5MDYyNjUwMkJBMDAwOUU3Mjg2IC8qIERhdGFE
ZXRlY3RvckhpZ2hsaWdodC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRhRGV0ZWN0b3JIaWdobGlnaHQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI5MDUzLDYgKzI5MDU1LDcgQEAKIAkJ
CQlDMjQ1OEU2MTFGRTg5NzlFMDA1OTQ3NTkgLyogRm9udENhY2hlQ29yZVRleHQuaCAqLywKIAkJ
CQlCMkFGRkM3ODBEMDBBNUMxMDAzMDA3NEQgLyogRm9udENhc2NhZGVDb2NvYS5jcHAgKi8sCiAJ
CQkJMUM2RkQ4QjAyNTBBMzVGMTAwRDZFOTIwIC8qIEZvbnRDb2NvYS5jcHAgKi8sCisJCQkJRjRB
MDY0QzYyNzdFNDhDNjAwQjA2QTE3IC8qIEZvbnRDb2NvYS5oICovLAogCQkJCTFDMTJBQzJDMUVF
Nzc5OTUwMDc5RTBBMCAvKiBGb250RGVzY3JpcHRpb25Db2NvYS5jcHAgKi8sCiAJCQkJMUMxMkFD
MjgxRUU3NzhBRTAwNzlFMEEwIC8qIEZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uQ29yZVRleHQuY3Bw
ICovLAogCQkJCTFDMTJBQzI5MUVFNzc4QUUwMDc5RTBBMCAvKiBGb250RmFtaWx5U3BlY2lmaWNh
dGlvbkNvcmVUZXh0LmggKi8sCkBAIC0zNDQwOSw2ICszNDQxMiw3IEBACiAJCQkJQjJDM0RBNjEw
RDAwNkNENjAwRUY2RjI2IC8qIEZvbnRDYXNjYWRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNEU4
QjRGNTIxNkI5NTY1MDBCODgzNEQgLyogRm9udENhc2NhZGVEZXNjcmlwdGlvbi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQjJDM0RBNjgwRDAwNkNENjAwRUY2RjI2IC8qIEZvbnRDYXNjYWRlRm9udHMu
aCBpbiBIZWFkZXJzICovLAorCQkJCUY0QTA2NEM4Mjc3RTQ4QzkwMEIwNkExNyAvKiBGb250Q29j
b2EuaCBpbiBIZWFkZXJzICovLAogCQkJCTFDMjY2NzFCMjZGQTkzMkYwMDExNzA3MyAvKiBGb250
Q3JlYXRpb25Db250ZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkFGRkM3RTBEMDBBNUMxMDAz
MDA3NEQgLyogRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJD
M0RBNjYwRDAwNkNENjAwRUY2RjI2IC8qIEZvbnREZXNjcmlwdGlvbi5oIGluIEhlYWRlcnMgKi8s
CkBAIC0zNDUwOCw2ICszNDUxMiw3IEBACiAJCQkJQkM1M0M1RjUwREE1NkI5MjAwMjFFQjVEIC8q
IEdyYWRpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyNzk2NDBEMDBCRjIyMDA3MUI3ODIg
LyogR3JhZGllbnRBdHRyaWJ1dGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE5Q0RGNDI3NzEw
NjM5MDA1M0Y3MzQgLyogR3JhZGllbnRDb2xvclN0b3AuaCBpbiBIZWFkZXJzICovLAorCQkJCUJD
MTlDRTJCMjc3MkJGN0IwMDUzRjczNCAvKiBHcmFkaWVudENvbG9yU3RvcHMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTJENDgxRjA0MTQ2QjVDNkIwMEFBNzgzNCAvKiBHcmFkaWVudEltYWdlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQzE5Q0RGMjI3NkZGQzZEMDA1M0Y3MzQgLyogR3JhZGllbnRSZW5k
ZXJlckNHLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QkI2ODBCQTI1QkExQkU0MDAyQjg3MzggLyog
R3JhcGhpY3NDaGVja3NNYWMuaCBpbiBIZWFkZXJzICovLApAQCAtMzc1NzMsNyArMzc1NzgsNiBA
QAogCQkJCUJFOTEzRDgwMTgxRUY5MjQwMERDQjA5RSAvKiBUcmFja1ByaXZhdGVCYXNlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlDRDFGOUIxQzI3MDI0QkMyMDA2MTdFQjYgLyogVHJhY2tQcml2YXRl
QmFzZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkZBQzMwRkUxODRGQjE0NTAwOEM0RjFF
IC8qIFRyYWlsaW5nT2JqZWN0cy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkMxOUNFMkIyNzcyQkY3
QjAwNTNGNzM0IC8qIEdyYWRpZW50Q29sb3JTdG9wcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE2
MDcxMzIxQkQ4MzA4QjAwREJDNEYyIC8qIFRyYW5zYWN0aW9uT3BlcmF0aW9uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlDRDNFRUY0MTI1Nzk5RkQ5MDA2NTYzQkIgLyogVHJhbnNmZXJGdW5jdGlvbi5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDlFOTExQzQwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9y
bWF0aW9uTWF0cml4LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcApp
bmRleCBiMGNiNjgzM2I4ZmYyNDZjNzA1NmYzZmQyNmMwNjMxMmY5Y2FkOGM0Li5hOWQwMzU2Y2Fl
ZmQ5NjZjOGEyZTY2MmQ4NWFiNTg4OWYxYjU1OTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3Iu
Y3BwCkBAIC0zOTk3LDEwICszOTk3LDYgQEAgdm9pZCBFZGl0b3I6OnNjaGVkdWxlRWRpdG9yVUlV
cGRhdGUoKQogCiAjaWYgIVBMQVRGT1JNKENPQ09BKQogCi12b2lkIEVkaXRvcjo6cGxhdGZvcm1G
b250QXR0cmlidXRlc0F0U2VsZWN0aW9uU3RhcnQoRm9udEF0dHJpYnV0ZXMmLCBjb25zdCBSZW5k
ZXJTdHlsZSYpIGNvbnN0Ci17Ci19Ci0KIFN0cmluZyBFZGl0b3I6OnBsYXRmb3JtQ29udGVudFR5
cGVGb3JCbG9iVHlwZShjb25zdCBTdHJpbmcmIHR5cGUpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHR5
cGU7CkBAIC00MDQ0LDIwICs0MDQwLDIwIEBAIHN0YXRpYyBWZWN0b3I8VGV4dExpc3Q+IGVkaXRh
YmxlVGV4dExpc3RzQXRQb3NpdGlvbkluRGVzY2VuZGluZ09yZGVyKGNvbnN0IFBvc2l0CiAKIEZv
bnRBdHRyaWJ1dGVzIEVkaXRvcjo6Zm9udEF0dHJpYnV0ZXNBdFNlbGVjdGlvblN0YXJ0KCkKIHsK
LSAgICBSZWZQdHI8Tm9kZT4gbm9kZVRvUmVtb3ZlOwotICAgIGF1dG8gbm9kZVJlbW92YWxTY29w
ZSA9IG1ha2VTY29wZUV4aXQoWyZub2RlVG9SZW1vdmVdKCkgewotICAgICAgICBpZiAobm9kZVRv
UmVtb3ZlKQotICAgICAgICAgICAgbm9kZVRvUmVtb3ZlLT5yZW1vdmUoKTsKLSAgICB9KTsKKyAg
ICBGb250QXR0cmlidXRlcyBhdHRyaWJ1dGVzOwogCisgICAgUmVmUHRyPE5vZGU+IG5vZGVUb1Jl
bW92ZTsKICAgICBhdXRvKiBzdHlsZSA9IHN0eWxlRm9yU2VsZWN0aW9uU3RhcnQobm9kZVRvUmVt
b3ZlKTsKKyAgICBpZiAobm9kZVRvUmVtb3ZlKQorICAgICAgICBub2RlVG9SZW1vdmUtPnJlbW92
ZSgpOworCiAgICAgaWYgKCFzdHlsZSkKLSAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgcmV0
dXJuIGF0dHJpYnV0ZXM7CiAKLSAgICBTY3JpcHREaXNhbGxvd2VkU2NvcGU6OkluTWFpblRocmVh
ZCBzY3JpcHREaXNhbGxvd2VkU2NvcGU7CisgICAgYm9vbCBoYXNNdWx0aXBsZUZvbnRzID0gZmFs
c2U7IC8vIEZJWE1FOiBUaGlzIHdpbGwgYmUgaW5jbHVkZWQgYXMgYSBwYXJ0IG9mIEZvbnRBdHRy
aWJ1dGVzIGluIGEgZnV0dXJlIHBhdGNoLgorICAgIGF0dHJpYnV0ZXMuZm9udCA9IGZvbnRGb3JT
ZWxlY3Rpb24oaGFzTXVsdGlwbGVGb250cyk7CiAKLSAgICBGb250QXR0cmlidXRlcyBhdHRyaWJ1
dGVzOwotICAgIHBsYXRmb3JtRm9udEF0dHJpYnV0ZXNBdFNlbGVjdGlvblN0YXJ0KGF0dHJpYnV0
ZXMsICpzdHlsZSk7CisgICAgU2NyaXB0RGlzYWxsb3dlZFNjb3BlOjpJbk1haW5UaHJlYWQgc2Ny
aXB0RGlzYWxsb3dlZFNjb3BlOwogCiAgICAgLy8gRklYTUU6IGZvciBub3csIGFsd2F5cyByZXBv
cnQgdGhlIGNvbG9ycyBhZnRlciBhcHBseWluZyAtYXBwbGUtY29sb3ItZmlsdGVyLiBJbiBmdXR1
cmUgbm90IGFsbCBjbGllbnRzCiAgICAgLy8gbWF5IHdhbnQgdGhpcywgc28gd2UgbWF5IGhhdmUg
dG8gYWRkIGEgc2V0dGluZyB0byBjb250cm9sIGl0LiBTZWUgYWxzbyBlZGl0aW5nQXR0cmlidXRl
ZFN0cmluZ0Zyb21SYW5nZSgpLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9F
ZGl0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKaW5kZXggODZkOGM4YzI2
MDE4MzBiZGMzYTk3Zjg3Mzc5ZmEwMWUzZWRjOGQ2MC4uYzNhMzRmNWZmNDI3Y2RkYWRlYmM5NDMz
MGQ3Yjk1NjA3NTFhMzY0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0
b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCkBAIC02MzEsNyArNjMx
LDYgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gZGF0YUluUlRG
REZvcm1hdChOU0F0dHJpYnV0ZWRTdHJpbmcgKik7CiAgICAgc3RhdGljIFJlZlB0cjxTaGFyZWRC
dWZmZXI+IGRhdGFJblJURkZvcm1hdChOU0F0dHJpYnV0ZWRTdHJpbmcgKik7CiAjZW5kaWYKLSAg
ICB2b2lkIHBsYXRmb3JtRm9udEF0dHJpYnV0ZXNBdFNlbGVjdGlvblN0YXJ0KEZvbnRBdHRyaWJ1
dGVzJiwgY29uc3QgUmVuZGVyU3R5bGUmKSBjb25zdDsKIAogICAgIHZvaWQgc2NoZWR1bGVFZGl0
b3JVSVVwZGF0ZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZvbnRB
dHRyaWJ1dGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZvbnRBdHRyaWJ1dGVzLmgKaW5k
ZXggNzcwMDU1NDVlN2ZlYWExNmVjMjFmNTgzZDRkYzRjOGIxNGUxYTc3Mi4uOTFkZTQ0NTMwYzFk
OGFmMzU1ZGRhYmMzZGFmMTAwZWRlMTk1YjEyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9Gb250QXR0cmlidXRlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRm9u
dEF0dHJpYnV0ZXMuaApAQCAtMjUsMTQgKzI1LDEzIEBACiAKICNwcmFnbWEgb25jZQogCisjaW5j
bHVkZSAiRm9udC5oIgogI2luY2x1ZGUgIkZvbnRTaGFkb3cuaCIKICNpbmNsdWRlICJSZW5kZXJT
dHlsZUNvbnN0YW50cy5oIgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAogT0JKQ19DTEFT
UyBOU0RpY3Rpb25hcnk7Ci1PQkpDX0NMQVNTIE5TRm9udDsKIE9CSkNfQ0xBU1MgTlNUZXh0TGlz
dDsKLU9CSkNfQ0xBU1MgVUlGb250OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTUxLDEy
ICs1MCwxMiBAQCBzdHJ1Y3QgVGV4dExpc3QgewogCiB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiBp
bmxpbmUgdm9pZCBUZXh0TGlzdDo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7Ci0g
ICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50OF90PihzdHlsZSkgPDwgc3RhcnRpbmdJdGVt
TnVtYmVyIDw8IG9yZGVyZWQ7CisgICAgZW5jb2RlciA8PCBzdHlsZSA8PCBzdGFydGluZ0l0ZW1O
dW1iZXIgPDwgb3JkZXJlZDsKIH0KIAogdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gaW5saW5lIHN0
ZDo6b3B0aW9uYWw8VGV4dExpc3Q+IFRleHRMaXN0OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikK
IHsKLSAgICBzdGQ6Om9wdGlvbmFsPHVpbnQ4X3Q+IHN0eWxlOworICAgIHN0ZDo6b3B0aW9uYWw8
TGlzdFN0eWxlVHlwZT4gc3R5bGU7CiAgICAgZGVjb2RlciA+PiBzdHlsZTsKICAgICBpZiAoIXN0
eWxlKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwpAQCAtNzEsNyArNzAsNyBAQCB0ZW1w
bGF0ZTxjbGFzcyBEZWNvZGVyPiBpbmxpbmUgc3RkOjpvcHRpb25hbDxUZXh0TGlzdD4gVGV4dExp
c3Q6OmRlY29kZShEZWNvZGVyJgogICAgIGlmICghb3JkZXJlZCkKICAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKIAotICAgIHJldHVybiB7eyBzdGF0aWNfY2FzdDxMaXN0U3R5bGVUeXBlPihX
VEZNb3ZlKCpzdHlsZSkpLCBXVEZNb3ZlKCpzdGFydGluZ0l0ZW1OdW1iZXIpLCBXVEZNb3ZlKCpv
cmRlcmVkKSB9fTsKKyAgICByZXR1cm4geyB7ICpzdHlsZSwgKnN0YXJ0aW5nSXRlbU51bWJlciwg
Km9yZGVyZWQgfSB9OwogfQogCiBzdHJ1Y3QgRm9udEF0dHJpYnV0ZXMgewpAQCAtNzksMTggKzc4
LDEwIEBAIHN0cnVjdCBGb250QXR0cmlidXRlcyB7CiAgICAgZW51bSBjbGFzcyBIb3Jpem9udGFs
QWxpZ25tZW50IDogdWludDhfdCB7IExlZnQsIENlbnRlciwgUmlnaHQsIEp1c3RpZnksIE5hdHVy
YWwgfTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIGJvb2wgZW5jb2RpbmdSZXF1aXJlc1Bs
YXRmb3JtRGF0YSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KLQogICAgIFdFQkNPUkVfRVhQT1JU
IFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IGNyZWF0ZURpY3Rpb25hcnkoKSBjb25zdDsKLSNlbHNl
Ci0gICAgYm9vbCBlbmNvZGluZ1JlcXVpcmVzUGxhdGZvcm1EYXRhKCkgY29uc3QgeyByZXR1cm4g
ZmFsc2U7IH0KICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKQotICAgIFJldGFpblB0cjxOU0Zv
bnQ+IGZvbnQ7Ci0jZWxpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIFJldGFpblB0cjxVSUZv
bnQ+IGZvbnQ7Ci0jZW5kaWYKKyAgICBSZWZQdHI8Rm9udD4gZm9udDsKICAgICBDb2xvciBiYWNr
Z3JvdW5kQ29sb3I7CiAgICAgQ29sb3IgZm9yZWdyb3VuZENvbG9yOwogICAgIEZvbnRTaGFkb3cg
Zm9udFNoYWRvdzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRWRp
dG9yQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0VkaXRvckNvY29hLm1t
CmluZGV4IGE4NWI3YWE3NTI2YjJmN2M1MWEzZjVjNDY3YmViMzUwZTk5MTRhYWIuLjM4ZGJkMjU5
M2I4NmJiYTlhOTBjYWViMzAwZmZhZjBmOWE5MjgzM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvY29jb2EvRWRpdG9yQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9jb2NvYS9FZGl0b3JDb2NvYS5tbQpAQCAtNjUsMTIgKzY1LDYgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi12b2lkIEVkaXRvcjo6cGxhdGZvcm1Gb250QXR0cmlidXRlc0F0U2VsZWN0
aW9uU3RhcnQoRm9udEF0dHJpYnV0ZXMmIGF0dHJpYnV0ZXMsIGNvbnN0IFJlbmRlclN0eWxlJiBz
dHlsZSkgY29uc3QKLXsKLSAgICBpZiAoYXV0byBjdEZvbnQgPSBzdHlsZS5mb250Q2FzY2FkZSgp
LnByaW1hcnlGb250KCkuZ2V0Q1RGb250KCkpCi0gICAgICAgIGF0dHJpYnV0ZXMuZm9udCA9IChf
X2JyaWRnZSBpZCljdEZvbnQ7Ci19Ci0KIHN0YXRpYyBSZWZQdHI8U2hhcmVkQnVmZmVyPiBhcmNo
aXZlZERhdGFGb3JBdHRyaWJ1dGVkU3RyaW5nKE5TQXR0cmlidXRlZFN0cmluZyAqYXR0cmlidXRl
ZFN0cmluZykKIHsKICAgICBpZiAoIWF0dHJpYnV0ZWRTdHJpbmcubGVuZ3RoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9Gb250QXR0cmlidXRlc0NvY29hLm1tIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9Gb250QXR0cmlidXRlc0NvY29hLm1tCmluZGV4
IDQ0YjQ4N2MyMjE4ZDRiNmI5MjAwMTA3NTYwOWI5OWJiOGZkNDIyYjguLmZhMGRhNWRlNjFlNWFl
NTZlOTI1ZWNhNGNkMWY4ZDg4OGZkZDNkMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvY29jb2EvRm9udEF0dHJpYnV0ZXNDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL2NvY29hL0ZvbnRBdHRyaWJ1dGVzQ29jb2EubW0KQEAgLTI3LDYgKzI3LDcgQEAKICNp
bXBvcnQgIkZvbnRBdHRyaWJ1dGVzLmgiCiAKICNpbXBvcnQgIkNvbG9yQ29jb2EuaCIKKyNpbXBv
cnQgIkZvbnRDb2NvYS5oIgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9OU0F0dHJpYnV0ZWRTdHJp
bmdTUEkuaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9WZWN0b3JDb2NvYS5oPgogCkBAIC04Nyw4ICs4
OCw4IEBAIFJldGFpblB0cjxOU1RleHRMaXN0PiBUZXh0TGlzdDo6Y3JlYXRlVGV4dExpc3QoKSBj
b25zdAogUmV0YWluUHRyPE5TRGljdGlvbmFyeT4gRm9udEF0dHJpYnV0ZXM6OmNyZWF0ZURpY3Rp
b25hcnkoKSBjb25zdAogewogICAgIE5TTXV0YWJsZURpY3Rpb25hcnkgKmF0dHJpYnV0ZXMgPSBb
TlNNdXRhYmxlRGljdGlvbmFyeSBkaWN0aW9uYXJ5XTsKLSAgICBpZiAoZm9udCkKLSAgICAgICAg
YXR0cmlidXRlc1tOU0ZvbnRBdHRyaWJ1dGVOYW1lXSA9IGZvbnQuZ2V0KCk7CisgICAgaWYgKGF1
dG8gY29jb2FGb250ID0gZm9udCA/IChfX2JyaWRnZSBDb2NvYUZvbnQgKilmb250LT5nZXRDVEZv
bnQoKSA6IG5pbCkKKyAgICAgICAgYXR0cmlidXRlc1tOU0ZvbnRBdHRyaWJ1dGVOYW1lXSA9IGNv
Y29hRm9udDsKIAogICAgIGlmIChmb3JlZ3JvdW5kQ29sb3IuaXNWYWxpZCgpKQogICAgICAgICBh
dHRyaWJ1dGVzW05TRm9yZWdyb3VuZENvbG9yQXR0cmlidXRlTmFtZV0gPSBjb2NvYUNvbG9yKGZv
cmVncm91bmRDb2xvcikuZ2V0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0NmUxY2ZjYmYyNTQ3ZDUzMTVm
MTVjMjMzMTNiZDZiY2I0YzhkNDcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EuaApAQCAtMCwwICsxLDQ4IEBACisvKgor
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgor
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorKgor
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNwcmFnbWEgb25jZQor
CisjaW5jbHVkZSA8d3RmL0NvbXBpbGVyLmg+CisKKyNpZiBVU0UoQVBQS0lUKQorT0JKQ19DTEFT
UyBOU0ZvbnQ7CitPQkpDX0NMQVNTIE5TRm9udERlc2NyaXB0b3I7CisjZWxzZQorT0JKQ19DTEFT
UyBVSUZvbnQ7CitPQkpDX0NMQVNTIFVJRm9udERlc2NyaXB0b3I7CisjZW5kaWYKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCisjaWYgVVNFKEFQUEtJVCkKK3VzaW5nIENvY29hRm9udCA9IE5TRm9u
dDsKK3VzaW5nIENvY29hRm9udERlc2NyaXB0b3IgPSBOU0ZvbnREZXNjcmlwdG9yOworI2Vsc2UK
K3VzaW5nIENvY29hRm9udCA9IFVJRm9udDsKK3VzaW5nIENvY29hRm9udERlc2NyaXB0b3IgPSBV
SUZvbnREZXNjcmlwdG9yOworI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50
cy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRz
LmgKaW5kZXggODQ5ODcxOGU3ODYwZmU1YTI2MDE1ZjQwNDM5Y2UxMjMzOWZhNGVhZS4uMDlmYTZi
MGEwYTk0OTYxYmNjMDUzYWE3MmQ0YjJmYTZhYzI0NmVmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKQEAgLTEzNjAs
NCArMTM2MCwxMDcgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpTY3Jv
bGxTbmFwU3RvcD4gewogICAgICAgICBXZWJDb3JlOjpTY3JvbGxTbmFwU3RvcDo6QWx3YXlzCiAg
ICAgPjsKIH07CisKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TGlzdFN0
eWxlVHlwZT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNv
cmU6Okxpc3RTdHlsZVR5cGUsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkRpc2Ms
CisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkNpcmNsZSwKKyAgICAgICAgV2ViQ29y
ZTo6TGlzdFN0eWxlVHlwZTo6U3F1YXJlLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBl
OjpEZWNpbWFsLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpEZWNpbWFsTGVhZGlu
Z1plcm8sCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkFyYWJpY0luZGljLAorICAg
ICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpCaW5hcnksCisgICAgICAgIFdlYkNvcmU6Okxp
c3RTdHlsZVR5cGU6OkJlbmdhbGksCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkNh
bWJvZGlhbiwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6S2htZXIsCisgICAgICAg
IFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkRldmFuYWdhcmksCisgICAgICAgIFdlYkNvcmU6Okxp
c3RTdHlsZVR5cGU6Okd1amFyYXRpLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpH
dXJtdWtoaSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6S2FubmFkYSwKKyAgICAg
ICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6TG93ZXJIZXhhZGVjaW1hbCwKKyAgICAgICAgV2Vi
Q29yZTo6TGlzdFN0eWxlVHlwZTo6TGFvLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBl
OjpNYWxheWFsYW0sCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6Ok1vbmdvbGlhbiwK
KyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6TXlhbm1hciwKKyAgICAgICAgV2ViQ29y
ZTo6TGlzdFN0eWxlVHlwZTo6T2N0YWwsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6
Ok9yaXlhLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpQZXJzaWFuLAorICAgICAg
ICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpVcmR1LAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5
bGVUeXBlOjpUZWx1Z3UsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlRpYmV0YW4s
CisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlRoYWksCisgICAgICAgIFdlYkNvcmU6
Okxpc3RTdHlsZVR5cGU6OlVwcGVySGV4YWRlY2ltYWwsCisgICAgICAgIFdlYkNvcmU6Okxpc3RT
dHlsZVR5cGU6Okxvd2VyUm9tYW4sCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlVw
cGVyUm9tYW4sCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6Okxvd2VyR3JlZWssCisg
ICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6Okxvd2VyQWxwaGEsCisgICAgICAgIFdlYkNv
cmU6Okxpc3RTdHlsZVR5cGU6Okxvd2VyTGF0aW4sCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHls
ZVR5cGU6OlVwcGVyQWxwaGEsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlVwcGVy
TGF0aW4sCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkFmYXIsCisgICAgICAgIFdl
YkNvcmU6Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVBYUV0LAorICAgICAgICBXZWJD
b3JlOjpMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lQWFFciwKKyAgICAgICAgV2ViQ29y
ZTo6TGlzdFN0eWxlVHlwZTo6QW1oYXJpYywKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlw
ZTo6RXRoaW9waWNIYWxlaGFtZUFtRXQsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6
OkFtaGFyaWNBYmVnZWRlLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpFdGhpb3Bp
Y0FiZWdlZGVBbUV0LAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpDSktFYXJ0aGx5
QnJhbmNoLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpDSktIZWF2ZW5seVN0ZW0s
CisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljLAorICAgICAgICBXZWJD
b3JlOjpMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lR2V6LAorICAgICAgICBXZWJDb3Jl
OjpMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0FiZWdlZGUsCisgICAgICAgIFdlYkNvcmU6Okxpc3RT
dHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZUdleiwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxl
VHlwZTo6SGFuZ3VsQ29uc29uYW50LAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpI
YW5ndWwsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6Okxvd2VyTm9yd2VnaWFuLAor
ICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpPcm9tbywKKyAgICAgICAgV2ViQ29yZTo6
TGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZU9tRXQsCisgICAgICAgIFdlYkNvcmU6Okxp
c3RTdHlsZVR5cGU6OlNpZGFtYSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6RXRo
aW9waWNIYWxlaGFtZVNpZEV0LAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpTb21h
bGksCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVTb0V0
LAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpUaWdyZSwKKyAgICAgICAgV2ViQ29y
ZTo6TGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZVRpZywKKyAgICAgICAgV2ViQ29yZTo6
TGlzdFN0eWxlVHlwZTo6VGlncmlueWFFciwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlw
ZTo6RXRoaW9waWNIYWxlaGFtZVRpRXIsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6
OlRpZ3JpbnlhRXJBYmVnZWRlLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpFdGhp
b3BpY0FiZWdlZGVUaUVyLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpUaWdyaW55
YUV0LAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lVGlF
dCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VGlncmlueWFFdEFiZWdlZGUsCisg
ICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZVRpRXQsCisgICAg
ICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlVwcGVyR3JlZWssCisgICAgICAgIFdlYkNvcmU6
Okxpc3RTdHlsZVR5cGU6OlVwcGVyTm9yd2VnaWFuLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5
bGVUeXBlOjpBc3Rlcmlza3MsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkZvb3Ru
b3RlcywKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6SGVicmV3LAorICAgICAgICBX
ZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpBcm1lbmlhbiwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0
eWxlVHlwZTo6TG93ZXJBcm1lbmlhbiwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6
VXBwZXJBcm1lbmlhbiwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6R2VvcmdpYW4s
CisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkNKS0lkZW9ncmFwaGljLAorICAgICAg
ICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpIaXJhZ2FuYSwKKyAgICAgICAgV2ViQ29yZTo6TGlz
dFN0eWxlVHlwZTo6S2F0YWthbmEsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6Okhp
cmFnYW5hSXJvaGEsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkthdGFrYW5hSXJv
aGEsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkNKS0RlY2ltYWwsCisgICAgICAg
IFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlRhbWlsLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5
bGVUeXBlOjpEaXNjbG9zdXJlT3BlbiwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6
RGlzY2xvc3VyZUNsb3NlZCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6SmFwYW5l
c2VJbmZvcm1hbCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6SmFwYW5lc2VGb3Jt
YWwsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OktvcmVhbkhhbmd1bEZvcm1hbCwK
KyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6S29yZWFuSGFuamFJbmZvcm1hbCwKKyAg
ICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6S29yZWFuSGFuamFGb3JtYWwsCisgICAgICAg
IFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlNpbXBsaWZpZWRDaGluZXNlSW5mb3JtYWwsCisgICAg
ICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlNpbXBsaWZpZWRDaGluZXNlRm9ybWFsLAorICAg
ICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpUcmFkaXRpb25hbENoaW5lc2VJbmZvcm1hbCwK
KyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VHJhZGl0aW9uYWxDaGluZXNlRm9ybWFs
LAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY051bWVyaWMsCisgICAg
ICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlN0cmluZywKKyAgICAgICAgV2ViQ29yZTo6TGlz
dFN0eWxlVHlwZTo6Tm9uZQorICAgID47Cit9OworCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtL2NvY29hL0NvY29hRm9udC5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9j
b2NvYS9Db2NvYUZvbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmMxNzZmOWM5
Zjc0NDUyYjUxM2E4MDkwNGQ4ZTgyNjY0ODc4YWEwNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL0NvY29h
Rm9udC5oCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotLyoKLSogQ29weXJpZ2h0IChD
KSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSoKLSogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0q
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotKiBhcmUgbWV0OgotKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0qIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0qICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSoKLSogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JwotKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgotKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KLSogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0qLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgPHd0
Zi9Db21waWxlci5oPgotCi0jaWYgVVNFKEFQUEtJVCkKLU9CSkNfQ0xBU1MgTlNGb250OwotT0JK
Q19DTEFTUyBOU0ZvbnREZXNjcmlwdG9yOwotdXNpbmcgQ29jb2FGb250ID0gTlNGb250OwotdXNp
bmcgQ29jb2FGb250RGVzY3JpcHRvciA9IE5TRm9udERlc2NyaXB0b3I7Ci0jZWxzZQotT0JKQ19D
TEFTUyBVSUZvbnQ7Ci1PQkpDX0NMQVNTIFVJRm9udERlc2NyaXB0b3I7Ci11c2luZyBDb2NvYUZv
bnQgPSBVSUZvbnQ7Ci11c2luZyBDb2NvYUZvbnREZXNjcmlwdG9yID0gVUlGb250RGVzY3JpcHRv
cjsKLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJndW1l
bnRDb2RlcnNDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29k
ZXJzQ29jb2EubW0KaW5kZXggMGY2M2NjNDY5OWViZTAyODU4YjJiMzZlMjkwN2MxNDU4NDBiMGNh
Ni4uMTI4YWE4YzQ4NmM5NmI5YmVkMmUzZjZlMDdmNTcwYWVmNWMwZTVmMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLm1tCkBAIC0yOSwx
MSArMjksMTEgQEAKICNpZiBQTEFURk9STShDT0NPQSkKIAogI2ltcG9ydCAiQXJndW1lbnRDb2Rl
cnNDRi5oIgotI2ltcG9ydCAiQ29jb2FGb250LmgiCiAjaW1wb3J0ICJDb3JlVGV4dEhlbHBlcnMu
aCIKICNpbXBvcnQgPENvcmVUZXh0L0NURm9udC5oPgogI2ltcG9ydCA8Q29yZVRleHQvQ1RGb250
RGVzY3JpcHRvci5oPgogI2ltcG9ydCA8V2ViQ29yZS9Db2xvckNvY29hLmg+CisjaW1wb3J0IDxX
ZWJDb3JlL0ZvbnRDb2NvYS5oPgogI2ltcG9ydCA8d3RmL0Jsb2NrT2JqQ0V4Y2VwdGlvbnMuaD4K
ICNpbXBvcnQgPHd0Zi9IYXNoU2V0Lmg+CiAjaW1wb3J0IDx3dGYvY2YvQ0ZVUkxFeHRyYXMuaD4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVUZXh0SGVscGVycy5o
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZVRleHRIZWxwZXJzLmgKaW5kZXggNTc2
NDgzYzJmMWNhYzA5ZWU4NjJkMWE5YzY0YTNlYThhZmVlM2Q1OC4uNDBjNGEyOGM4ZjBmZWEwMDRi
ZGIzYzdjYTk5YjQzNjZmMDFiM2UwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQv
Q29jb2EvQ29yZVRleHRIZWxwZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2Ev
Q29yZVRleHRIZWxwZXJzLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNp
bXBvcnQgIkNvY29hRm9udC5oIgorI2ltcG9ydCA8V2ViQ29yZS9Gb250Q29jb2EuaD4KICNpbXBv
cnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAogI2lmIFVTRShBUFBLSVQpCkBAIC0zNiw2ICszNiw2IEBA
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1Db2NvYUZvbnQgKmZvbnRXaXRoQXR0cmlidXRlcyhO
U0RpY3Rpb25hcnkgKmF0dHJpYnV0ZXMsIENHRmxvYXQgc2l6ZSk7CitXZWJDb3JlOjpDb2NvYUZv
bnQgKmZvbnRXaXRoQXR0cmlidXRlcyhOU0RpY3Rpb25hcnkgKmF0dHJpYnV0ZXMsIENHRmxvYXQg
c2l6ZSk7CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVU
ZXh0SGVscGVycy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVUZXh0SGVscGVy
cy5tbQppbmRleCBhMjUxMGM2NDM1MDRkODM5NTVkZjk0MmVmNDc3NDczNTFjOWVmYmM2Li5iZDEx
MGI0YjkxOGVlZDMzZWM3YTBjMjdmOWQ2ZDk0ZjIxMTFiZDQ3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlVGV4dEhlbHBlcnMubW0KKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvQ29jb2EvQ29yZVRleHRIZWxwZXJzLm1tCkBAIC0zMCw2ICszMCw3IEBACiAjaW1w
b3J0IDx3dGYvQmxvY2tPYmpDRXhjZXB0aW9ucy5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKK3Vz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBDb2NvYUZvbnQgKmZvbnRXaXRoQXR0cmlidXRlcyhO
U0RpY3Rpb25hcnkgKmF0dHJpYnV0ZXMsIENHRmxvYXQgc2l6ZSkKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYkNvcmVBcmd1bWVudENvZGVyc0NvY29hLm1tIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29jb2EubW0K
aW5kZXggM2MxYjU3ZDVhYTI2ZWM3MmU2MGI1ZDc4YTExZTlmZDg1MmNmZmVjOS4uNDQyMmQ2NzIy
ZjUwM2NlMjc2ODUyMDUwYWRmODE5NDY5N2NhMDc4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQ29jb2EvV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29jb2EubW0KKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvQ29jb2EvV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29jb2EubW0KQEAgLTQ0
MCwxOCArNDQwLDYgQEAgYm9vbCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkRpY3Rpb25hcnlQb3B1
cEluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEoRGVjb2RlciYgZGUKICAgICByZXR1cm4gdHJ1ZTsK
IH0KIAotdm9pZCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzPjo6ZW5jb2Rl
UGxhdGZvcm1EYXRhKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFdlYkNvcmU6OkZvbnRBdHRyaWJ1
dGVzJiBhdHRyaWJ1dGVzKQotewotICAgIGVuY29kZXIgPDwgYXR0cmlidXRlcy5mb250OwotfQot
Ci1zdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzPiBBcmd1bWVudENvZGVyPFdl
YkNvcmU6OkZvbnRBdHRyaWJ1dGVzPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKERlY29kZXImIGRlY29k
ZXIsIFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzJiBhdHRyaWJ1dGVzKQotewotICAgIGlmICghSVBD
OjpkZWNvZGUoZGVjb2RlciwgYXR0cmlidXRlcy5mb250KSkKLSAgICAgICAgcmV0dXJuIHN0ZDo6
bnVsbG9wdDsKLSAgICByZXR1cm4gYXR0cmlidXRlczsKLX0KLQogdm9pZCBBcmd1bWVudENvZGVy
PFJlZjxXZWJDb3JlOjpGb250Pj46OmVuY29kZVBsYXRmb3JtRGF0YShFbmNvZGVyJiBlbmNvZGVy
LCBjb25zdCBSZWY8V2ViQ29yZTo6Rm9udD4mIGZvbnQpCiB7CiAgICAgY29uc3QgYXV0byYgcGxh
dGZvcm1EYXRhID0gZm9udC0+cGxhdGZvcm1EYXRhKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAppbmRleCBjODk4Njg3YjIyNmNjZTRiNGYzYjhi
MWE4NWNiZWM3OTU4YjY3YWI2Li4zNmU4OTA2MTcxZmU2MmIyMTU4NTczZmJmYTUyMzliNGJiNTlm
MzdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2Rl
cnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5j
cHAKQEAgLTI5MTAsMTIgKzI5MTAsOSBAQCB2b2lkIEFyZ3VtZW50Q29kZXI8Rm9udEF0dHJpYnV0
ZXM+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgRm9udEF0dHJpYnV0ZQogICAgIGVu
Y29kZXIgPDwgYXR0cmlidXRlcy5iYWNrZ3JvdW5kQ29sb3IgPDwgYXR0cmlidXRlcy5mb3JlZ3Jv
dW5kQ29sb3IgPDwgYXR0cmlidXRlcy5mb250U2hhZG93IDw8IGF0dHJpYnV0ZXMuaGFzVW5kZXJs
aW5lIDw8IGF0dHJpYnV0ZXMuaGFzU3RyaWtlVGhyb3VnaCA8PCBhdHRyaWJ1dGVzLnRleHRMaXN0
czsKICAgICBlbmNvZGVyIDw8IGF0dHJpYnV0ZXMuaG9yaXpvbnRhbEFsaWdubWVudDsKICAgICBl
bmNvZGVyIDw8IGF0dHJpYnV0ZXMuc3Vic2NyaXB0T3JTdXBlcnNjcmlwdDsKLQotICAgIGlmIChh
dHRyaWJ1dGVzLmVuY29kaW5nUmVxdWlyZXNQbGF0Zm9ybURhdGEoKSkgewotICAgICAgICBlbmNv
ZGVyIDw8IHRydWU7Ci0gICAgICAgIGVuY29kZVBsYXRmb3JtRGF0YShlbmNvZGVyLCBhdHRyaWJ1
dGVzKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICBlbmNvZGVyIDw8ICEhYXR0cmlidXRl
cy5mb250OworICAgIGlmIChhdHRyaWJ1dGVzLmZvbnQpCisgICAgICAgIGVuY29kZXIgPDwgUmVm
KCphdHRyaWJ1dGVzLmZvbnQpOwogfQogCiBzdGQ6Om9wdGlvbmFsPEZvbnRBdHRyaWJ1dGVzPiBB
cmd1bWVudENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCkBA
IC0yOTQ2LDExICsyOTQzLDE5IEBAIHN0ZDo6b3B0aW9uYWw8Rm9udEF0dHJpYnV0ZXM+IEFyZ3Vt
ZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjpkZWNvZGUoRGVjb2RlciYgZGVjCiAgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShhdHRyaWJ1dGVzLnN1YnNjcmlwdE9yU3VwZXJzY3JpcHQpKQogICAgICAg
ICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgYm9vbCBoYXNQbGF0Zm9ybURhdGE7Ci0gICAg
aWYgKCFkZWNvZGVyLmRlY29kZShoYXNQbGF0Zm9ybURhdGEpKQorICAgIHN0ZDo6b3B0aW9uYWw8
Ym9vbD4gaGFzRm9udDsKKyAgICBkZWNvZGVyID4+IGhhc0ZvbnQ7CisgICAgaWYgKCFoYXNGb250
KQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAgIGlmIChoYXNQbGF0Zm9ybURhdGEp
Ci0gICAgICAgIHJldHVybiBkZWNvZGVQbGF0Zm9ybURhdGEoZGVjb2RlciwgYXR0cmlidXRlcyk7
CisKKyAgICBpZiAoKmhhc0ZvbnQpIHsKKyAgICAgICAgc3RkOjpvcHRpb25hbDxSZWY8Rm9udD4+
IGZvbnQ7CisgICAgICAgIGRlY29kZXIgPj4gZm9udDsKKyAgICAgICAgaWYgKCFmb250KQorICAg
ICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgICAgICBhdHRyaWJ1dGVzLmZvbnQg
PSBXVEZNb3ZlKCpmb250KTsKKyAgICB9CiAKICAgICByZXR1cm4gYXR0cmlidXRlczsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggNmZhYzJh
YTFlYTc4NDZmZjZiZjg5MDIxZjBmNTJlOWFhN2FlMDNjOC4uYTI5MmUxMGJkODVlMmJkZWMzMjUx
MGYwMTBhYzkzYTVlYTNkMWMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmgKQEAgLTczMCw4ICs3MzAsNiBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1
bWVudENvZGVyPFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4+IHsKIHRlbXBsYXRlPD4g
c3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXM+IHsKICAgICBzdGF0
aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzJik7
CiAgICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXM+IGRlY29k
ZShEZWNvZGVyJik7Ci0gICAgc3RhdGljIHZvaWQgZW5jb2RlUGxhdGZvcm1EYXRhKEVuY29kZXIm
LCBjb25zdCBXZWJDb3JlOjpGb250QXR0cmlidXRlcyYpOwotICAgIHN0YXRpYyBzdGQ6Om9wdGlv
bmFsPFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzPiBkZWNvZGVQbGF0Zm9ybURhdGEoRGVjb2RlciYs
IFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzJik7CiB9OwogCiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRf
RUxFTUVOVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL3BsYXlzdGF0aW9uL1dl
YkNvcmVBcmd1bWVudENvZGVyc1BsYXlTdGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L3BsYXlzdGF0aW9uL1dlYkNvcmVBcmd1bWVudENvZGVyc1BsYXlTdGF0aW9uLmNwcAppbmRleCAw
NTQzYmM2NjM0ZTYzODMxY2Y5ZjIxOGRhYjdlZTNkZWY0NmE5ZTNiLi5mN2Q2Zjg5YjkzOTFiZTZk
NTUzNzI5Yzc3OTYxNDZjNTY2NDU0NmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9wbGF5c3RhdGlvbi9XZWJDb3JlQXJndW1lbnRDb2RlcnNQbGF5U3RhdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvcGxheXN0YXRpb24vV2ViQ29yZUFyZ3VtZW50Q29kZXJzUGxh
eVN0YXRpb24uY3BwCkBAIC0yNywyMyArMjcsMTEgQEAKICNpbmNsdWRlICJXZWJDb3JlQXJndW1l
bnRDb2RlcnMuaCIKIAogI2luY2x1ZGUgPFdlYkNvcmUvRm9udC5oPgotI2luY2x1ZGUgPFdlYkNv
cmUvRm9udEF0dHJpYnV0ZXMuaD4KIAogbmFtZXNwYWNlIElQQyB7CiAKIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwogCi12b2lkIEFyZ3VtZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjplbmNvZGVQ
bGF0Zm9ybURhdGEoRW5jb2RlciYsIGNvbnN0IEZvbnRBdHRyaWJ1dGVzJikKLXsKLSAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLX0KLQotc3RkOjpvcHRpb25hbDxGb250QXR0cmlidXRlcz4gQXJn
dW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46OmRlY29kZVBsYXRmb3JtRGF0YShEZWNvZGVyJiwg
Rm9udEF0dHJpYnV0ZXMmKQotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVy
biBzdGQ6Om51bGxvcHQ7Ci19Ci0KIHZvaWQgQXJndW1lbnRDb2RlcjxSZWY8Rm9udD4+OjplbmNv
ZGVQbGF0Zm9ybURhdGEoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgUmVmPEZvbnQ+JiBmb250KQog
ewogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKaW5kZXggMjk3M2EyYmFi
NmNhOGIwMjMzMjVjYjAwMWUyMDczYWRmMWYwNDA2ZS4uYWQ5YmQ2ZTMyYjcyZmFmMjVlMDRmMmQx
NTA1N2Y3ZmY4MjliZDU4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvc291cC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9z
b3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCkBAIC0zNiw3ICszNiw2IEBACiAjaW5j
bHVkZSA8V2ViQ29yZS9DcmVkZW50aWFsLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9EaWN0aW9uYXJ5
UG9wdXBJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Gb250Lmg+Ci0jaW5jbHVkZSA8V2ViQ29y
ZS9Gb250QXR0cmlidXRlcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9S
ZXNvdXJjZVJlc3BvbnNlLmg+CkBAIC0yMTQsMTcgKzIxMyw2IEBAIGJvb2wgQXJndW1lbnRDb2Rl
cjxDcmVkZW50aWFsPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKERlY29kZXImIGRlY29kZXIsIENyZWRl
bnRpYWwmCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgQXJndW1lbnRDb2RlcjxGb250QXR0
cmlidXRlcz46OmVuY29kZVBsYXRmb3JtRGF0YShFbmNvZGVyJiwgY29uc3QgRm9udEF0dHJpYnV0
ZXMmKQotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi1zdGQ6Om9wdGlvbmFsPEZv
bnRBdHRyaWJ1dGVzPiBBcmd1bWVudENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZGVjb2RlUGxhdGZv
cm1EYXRhKERlY29kZXImLCBGb250QXR0cmlidXRlcyYpCi17Ci0gICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLX0KLQogdm9pZCBBcmd1bWVudENvZGVy
PERpY3Rpb25hcnlQb3B1cEluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEoRW5jb2RlciYsIGNvbnN0
IERpY3Rpb25hcnlQb3B1cEluZm8mKQogewogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tTYWZlQnJvd3NpbmdXYXJu
aW5nLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tTYWZlQnJvd3NpbmdXYXJu
aW5nLm1tCmluZGV4IDQxZDA4OThiMDFkNGM3MGNlMDhmODkwNTIwNTZhNWQwNzFlOWU5ZTEuLjE4
MWMxN2RjZmYyN2ZjYjg0MzA4Y2VlY2E1M2JiMDEzMGMzNjBjZDIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLU2FmZUJyb3dzaW5nV2FybmluZy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS1NhZmVCcm93c2luZ1dhcm5pbmcubW0KQEAg
LTI2LDkgKzI2LDkgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiV0tTYWZlQnJvd3Np
bmdXYXJuaW5nLmgiCiAKLSNpbXBvcnQgIkNvY29hRm9udC5oIgogI2ltcG9ydCAiUGFnZUNsaWVu
dC5oIgogI2ltcG9ydCAiU2FmZUJyb3dzaW5nV2FybmluZy5oIgorI2ltcG9ydCA8V2ViQ29yZS9G
b250Q29jb2EuaD4KICNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgogI2ltcG9y
dCA8V2ViQ29yZS9XZWJDb3JlT2JqQ0V4dHJhcy5oPgogI2ltcG9ydCA8d3RmL1VSTC5oPgpAQCAt
NzgsNyArNzgsNyBAQCBlbnVtIGNsYXNzIFdhcm5pbmdUZXh0U2l6ZSA6IHVpbnQ4X3QgewogICAg
IEJvZHkKIH07CiAKLXN0YXRpYyBDb2NvYUZvbnQgKmZvbnRPZlNpemUoV2FybmluZ1RleHRTaXpl
IHNpemUpCitzdGF0aWMgV2ViQ29yZTo6Q29jb2FGb250ICpmb250T2ZTaXplKFdhcm5pbmdUZXh0
U2l6ZSBzaXplKQogewogI2lmIFBMQVRGT1JNKE1BQykKICAgICBzd2l0Y2ggKHNpemUpIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDQz
YTdjZDVlNDdlODg1MGE2OGRlMjM4OTZhMWRhZTM4ZDgzMTRmMzYuLjZlZjZmNzRjMDMzNmJlOTE1
ZmQzYTQwMzRlNGNjMWEyNTBmNjZlYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjQ0Niw3ICs2NDQ2LDYgQEAKIAkJRjRFQjRBRkMy
NjlDRDIzNjAwRDI5N0FFIC8qIE9TU3RhdGVTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT1NTdGF0ZVNQ
SS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNEY1OUFEMzIwNjVBNUM5MDA2Q0FB
NDYgLyogV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBuYW1lID0gV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLm1t
OyBwYXRoID0gaW9zL2Zvcm1zL1dLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjRGNTlBRDQyMDY1QTVDQTAwNkNBQTQ2IC8qIFdL
U2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBXS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIuaDsgcGF0aCA9IGlvcy9mb3Jt
cy9XS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJRjRGRTBBM0MyNDYzNTY2NzAwMjYzMUUxIC8qIENvY29hRm9udC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDb2NvYUZvbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjYxMTNF
MjQxMjZDRTE4MjAwNTdEMEE3IC8qIEFQSVVzZXJDb250ZW50VVJMUGF0dGVybi5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBUElVc2VyQ29udGVudFVSTFBhdHRlcm4uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjYxMTNFMjYxMjZDRTE5QjAwNTdEMEE3IC8qIFdL
VXNlckNvbnRlbnRVUkxQYXR0ZXJuLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFdLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRjYxMTNFMjcxMjZDRTE5QjAwNTdEMEE3IC8qIFdLVXNlckNvbnRlbnRVUkxQYXR0
ZXJuLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLVXNlckNvbnRlbnRVUkxQ
YXR0ZXJuLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05MTY3LDcgKzkxNjYsNiBA
QAogCQk0NDUwQUVCRTFEQzNGQUFDMDA5OTQzRjIgLyogY29jb2EgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCUY0RkUwQTNDMjQ2MzU2NjcwMDI2MzFFMSAv
KiBDb2NvYUZvbnQuaCAqLywKIAkJCQk0NDgyNzM0NjI0NTI4RjYwMDBBOTU0OTMgLyogQ29jb2FJ
bWFnZS5oICovLAogCQkJCUJDRTA5Mzc2MTRGQjEyOEIwMDExMzhEOSAvKiBMYXllckhvc3RpbmdD
b250ZXh0LmggKi8sCiAJCQkJQkNFMDkzNzUxNEZCMTI4QjAwMTEzOEQ5IC8qIExheWVySG9zdGlu
Z0NvbnRleHQubW0gKi8sCg==
</data>
<flag name="commit-queue"
          id="473907"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448110</attachid>
            <date>2021-12-30 16:16:58 -0800</date>
            <delta_ts>2021-12-30 16:44:16 -0800</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-234757-20211230161657.patch</filename>
            <type>text/plain</type>
            <size>35325</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NDgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWU1YzU2MTk5Yzk2MThk
NmJjOGZlZTQwNDA4OTNmMjRlYTkyZjNjNy4uYmFjZmFiYmVmNGVkYjU5YmIyMjFjNTczMzMwMDg3
OTdiNWI3NDZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIxLTEyLTMwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJlZmFjdG9yIHNv
bWUgQ29jb2Etc3BlY2lmaWMgY29kZSBpbiBXZWJDb3JlOjpGb250QXR0cmlidXRlcyB0byBiZSBw
bGF0Zm9ybS1hZ25vc3RpYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM0NzU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUmVwbGFjZSB0aGUgVUlGb250L05TRm9udCBjdXJyZW50bHkgaW4gV2ViQ29yZTo6
Rm9udEF0dHJpYnV0ZXMgd2l0aCBhIFdlYkNvcmU6OkZvbnQgaW5zdGVhZC4gVGhpcyByZW1vdmVz
IGEgYml0CisgICAgICAgIG9mIHBsYXRmb3JtLXNwZWNpZmljIGxvZ2ljIGluIGFuIG90aGVyd2lz
ZSBwbGF0Zm9ybS1hZ25vc3RpYyBjbGFzcyAod2l0aCB0aGUgZXhjZXB0aW9uIG9mIGEgY291cGxl
IENvY29hLQorICAgICAgICBzcGVjaWZpYyBoZWxwZXIgbWV0aG9kcykuIFRoaXMgYWRkaXRpb25h
bGx5IGxldHMgdXMgcmVtb3ZlIHNvbWUgcGxhdGZvcm0tc3BlY2lmaWMgbG9naWMgZm9yIGNvbXB1
dGluZyBmb250CisgICAgICAgIGF0dHJpYnV0ZXMgKGkuZS4gYHBsYXRmb3JtRm9udEF0dHJpYnV0
ZXNBdFNlbGVjdGlvblN0YXJ0YCkgYmVsb3cuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RWRpdG9yOjpmb250QXR0cmlidXRlc0F0U2VsZWN0aW9uU3RhcnQpOgorICAg
ICAgICAoV2ViQ29yZTo6RWRpdG9yOjpwbGF0Zm9ybUZvbnRBdHRyaWJ1dGVzQXRTZWxlY3Rpb25T
dGFydCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuaDoKKyAgICAg
ICAgKiBlZGl0aW5nL0ZvbnRBdHRyaWJ1dGVzLmg6CisgICAgICAgIChXZWJDb3JlOjpUZXh0TGlz
dDo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRMaXN0OjpkZWNvZGUpOgor
CisgICAgICAgIERyaXZlLWJ5IGZpeDogaW5zdGVhZCBvZiBgc3RhdGljX2Nhc3RgLWluZyB0byBh
IHVpbnQ4X3QgYW5kIGVuY29kaW5nL2RlY29kaW5nIHRoZSByYXcgdmFsdWUsIGVuY29kZSBhbmQg
ZGVjb2RlCisgICAgICAgIHRoZSBMaXN0U3R5bGVUeXBlIGFzIGEgbm9ybWFsIGVudW0gaW5zdGVh
ZC4gVGhpcyBhbHNvIGVuc3VyZXMgdGhhdCB3ZSB2YWxpZGF0ZSB0aGUgZW51bSB2YWx1ZSB1cG9u
IGRlY29kaW5nLgorCisgICAgICAgIChXZWJDb3JlOjpGb250QXR0cmlidXRlczo6ZW5jb2RpbmdS
ZXF1aXJlc1BsYXRmb3JtRGF0YSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogZWRpdGluZy9j
b2NvYS9FZGl0b3JDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cGxhdGZvcm1G
b250QXR0cmlidXRlc0F0U2VsZWN0aW9uU3RhcnQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAq
IGVkaXRpbmcvY29jb2EvRm9udEF0dHJpYnV0ZXNDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRBdHRyaWJ1dGVzOjpjcmVhdGVEaWN0aW9uYXJ5IGNvbnN0KToKKworICAgICAgICBPbmx5
IGdyYWIgdGhlIE5TRm9udCBvciBVSUZvbnQgZnJvbSB0aGUgV2ViQ29yZTo6Rm9udCBvYmplY3Qg
b25jZSB3ZSdyZSBpbiB0aGlzIENvY29hLXNwZWNpZmljIGhlbHBlci4KKworICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5oOiBBZGRlZC4KKworICAgICAgICBNb3Zl
ZCBoZXJlIGZyb20gQ29jb2FGb250LmggaW4gV2ViS2l0LiBTZWUgV2ViS2l0L0NoYW5nZUxvZyBm
b3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
Q29uc3RhbnRzLmg6CisKKyAgICAgICAgQWRkIEVudW1UcmFpdHMgZm9yIExpc3RTdHlsZVR5cGUs
IHNvIHRoYXQgaXQgY2FuIGJlIGVuY29kZWQvZGVjb2RlZC4KKwogMjAyMS0xMi0yOSAgV2Vuc29u
IEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGluZyB0aGUg
ZmlsZSBuYW1lIG9mIGF0dGFjaG1lbnQtYmFja2VkIGltYWdlcyBzaG91bGQgYXV0b21hdGljYWxs
eSBzZXQgdGhlIGBhbHRgIGF0dHJpYnV0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBjZTI3ZTE0YzY5ZmQyNDRhZTdi
MjQ0NWUzZTQ5ODdjNmY3MWJiMjgzLi5lOGU5YmJmOWFhMzZjN2Q3MmI3MjA5M2YyMDRjNGU5NjE4
YTAzZTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIxLTEyLTMwICBXZW5zb24gSHNp
ZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJlZmFjdG9yIHNvbWUgQ29j
b2Etc3BlY2lmaWMgY29kZSBpbiBXZWJDb3JlOjpGb250QXR0cmlidXRlcyB0byBiZSBwbGF0Zm9y
bS1hZ25vc3RpYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM0NzU3CisKKyAgICAgICAgU2VlIGNvbW1lbnRzIGJlbG93IChhcyB3ZWxsIGFzIFdlYkNv
cmUvQ2hhbmdlTG9nKSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGxhdGZvcm0vY29jb2EvQ29jb2FGb250Lmg6IFJl
bW92ZWQuCisKKyAgICAgICAgTW92ZSB0aGlzIGZpbGUgaW50byBXZWJDb3JlLCBhcyBgRm9udENv
Y29hLmhgLgorCisgICAgICAgICogU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EubW06
CisgICAgICAgICogU2hhcmVkL0NvY29hL0NvcmVUZXh0SGVscGVycy5oOgorICAgICAgICAqIFNo
YXJlZC9Db2NvYS9Db3JlVGV4dEhlbHBlcnMubW06CisKKyAgICAgICAgQWRqdXN0IGEgZmV3IHBs
YWNlcyB0aGF0IGN1cnJlbnRseSBpbXBvcnQgQ29jb2FGb250LmggdG8gaW1wb3J0IFdlYkNvcmUv
Rm9udENvY29hLmggaW5zdGVhZC4gQWRkaXRvbmFsbHksIGNoYW5nZQorICAgICAgICBDb2NvYUZv
bnQgdG8gV2ViQ29yZTo6Q29jb2FGb250IHdoZXJlIG5lY2Vzc2FyeS4KKworICAgICAgICAqIFNo
YXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbToKKyAgICAgICAgKElQQzo6
QXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGb250QXR0cmlidXRlcz46OmVuY29kZVBsYXRmb3JtRGF0
YSk6IERlbGV0ZWQuCisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Rm9udEF0
dHJpYnV0ZXM+OjpkZWNvZGVQbGF0Zm9ybURhdGEpOiBEZWxldGVkLgorCisgICAgICAgIFJlbW92
ZSBwbGF0Zm9ybS1zcGVjaWZpYyBGb250QXR0cmlidXRlcyBlbmNvZGluZy9kZWNvZGluZyBsb2dp
Yy4gVGhpcyBpcyBubyBsb25nZXIgbmVlZGVkLCBzaW5jZSB3ZSBqdXN0CisgICAgICAgIHByb3Bh
Z2F0ZSBhIEZvbnQgaW5zdGVhZCBvZiBhbiBOU0ZvbnQgb3IgVUlGb250LgorCisgICAgICAgICog
U2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHA6CisgICAgICAgIChJUEM6OkFyZ3VtZW50
Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENv
ZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZGVjb2RlKToKKworICAgICAgICBSZW1vdmUgdGhlIGNhbGxz
IHRvIGBlbmNvZGVQbGF0Zm9ybURhdGEvZGVjb2RlUGxhdGZvcm1EYXRhYCwgYW5kIGluc3RlYWQg
ZW5jb2RlIHRoZSBgUmVmUHRyPFdlYkNvcmU6OkZvbnQ+YC4KKworICAgICAgICAqIFNoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvcGxheXN0YXRpb24vV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzUGxheVN0YXRpb24uY3BwOgorICAgICAgICAoSVBDOjpBcmd1bWVu
dENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKTogRGVsZXRlZC4KKyAg
ICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46OmRlY29kZVBsYXRmb3Jt
RGF0YSk6IERlbGV0ZWQuCisgICAgICAgICogU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzU291cC5jcHA6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+
OjplbmNvZGVQbGF0Zm9ybURhdGEpOiBEZWxldGVkLgorICAgICAgICAoSVBDOjpBcmd1bWVudENv
ZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKTogRGVsZXRlZC4KKworICAg
ICAgICBSZW1vdmUgc29tZSBtZXRob2Qgc3R1YnMgdGhhdCBhcmUgbm93IHVubmVjZXNzYXJ5Lgor
CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dLU2FmZUJyb3dzaW5nV2FybmluZy5tbToKKyAg
ICAgICAgKGZvbnRPZlNpemUpOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorCiAyMDIxLTEyLTI2ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXBsYWNlIFdlYktpdC9Db2NvYUNvbG9yLmggd2l0aCBXZWJDb3JlL0NvbG9yQ29j
b2EuaCwgbm90IGNvbmZ1c2luZyBhdCBhbGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiNjYyYjA4N2U3MmVkZTZlYzdjOTM1ZGZh
NDdmMDdlMGRjNGQwNzZmLi4zYzllYzI1YzBhOTI0NjA2YWUyZWIzMjc2NGExNzhkZGNjOTQ0M2Y4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC01NTExLDYgKzU1MTEsNyBAQAogCQlGNDhEMkFBNTIxNTk3NDBEMDBDNjc1MkIgLyog
Q29sb3JDb2NvYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRjQ4RDJBQTMyMTU5NzQwRDAwQzY3NTJCIC8qIENvbG9yQ29jb2EuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGNDkzMjg4MzI3NjkwNDFCMDAz
RTIwRjggLyogTW9kYWxDb250YWluZXJUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ5MzI4ODIyNzY5MDQxQjAwM0UyMEY4IC8qIE1vZGFsQ29u
dGFpbmVyVHlwZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQlGNDk3ODY4ODFGRjQ1RkE1MDBFMDYwQUIgLyogUGFzdGVib2FyZEl0ZW1JbmZvLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDk3ODY4NzFG
RjQ1RkE1MDBFMDYwQUIgLyogUGFzdGVib2FyZEl0ZW1JbmZvLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRjRBMDY0QzgyNzdFNDhDOTAwQjA2QTE3
IC8qIEZvbnRDb2NvYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjRBMDY0QzYyNzdFNDhDNjAwQjA2QTE3IC8qIEZvbnRDb2NvYS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUY0QjAwMTg5MjZFN0YyMUYw
MDZFQUFCRSAvKiBIVE1MQXRvbVN0cmluZ0NhY2hlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNEIwMDE4NzI2RTdGMjFGMDA2RUFBQkUgLyogSFRNTEF0
b21TdHJpbmdDYWNoZS5oICovOyB9OwogCQlGNEIyQTkwOTI2NTAzMEJBMDA5RTcyODYgLyogRGF0
YURldGVjdG9ySGlnaGxpZ2h0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGNEIyQTkwNjI2NTAyQkEwMDA5RTcyODYgLyogRGF0YURldGVjdG9ySGlnaGxp
Z2h0LmggKi87IH07CiAJCUY0QjQyMkM0MjIwQzA1NjgwMDlFMUU3RCAvKiBET01QYXN0ZUFjY2Vz
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRCNDIy
QzIyMjBDMDAwMDAwOUUxRTdEIC8qIERPTVBhc3RlQWNjZXNzLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTE3NzQyLDYgKzE3NzQzLDcgQEAKIAkJ
RjQ5MzI4ODIyNzY5MDQxQjAwM0UyMEY4IC8qIE1vZGFsQ29udGFpbmVyVHlwZXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTW9kYWxDb250YWluZXJUeXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlGNDk3ODY4NzFGRjQ1RkE1MDBFMDYwQUIgLyogUGFzdGVib2FyZEl0ZW1JbmZvLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFBhc3RlYm9hcmRJdGVtSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlGNDlFOThFNDIxREVFNkMxMDA5QUU1NUUgLyogRWRpdEFjdGlvbi5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBFZGl0QWN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJRjRBMDY0QzYyNzdFNDhDNjAwQjA2QTE3IC8qIEZvbnRDb2NvYS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBGb250Q29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRjRCMDAxODcyNkU3RjIxRjAwNkVBQUJFIC8qIEhUTUxBdG9tU3RyaW5nQ2FjaGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSFRNTEF0b21TdHJpbmdDYWNoZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGNEIwMDE4ODI2RTdGMjFGMDA2RUFBQkUgLyogSFRNTEF0b21TdHJpbmdDYWNo
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIVE1MQXRvbVN0cmluZ0NhY2hlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjRCMkE5MDYyNjUwMkJBMDAwOUU3Mjg2IC8qIERhdGFE
ZXRlY3RvckhpZ2hsaWdodC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRhRGV0ZWN0b3JIaWdobGlnaHQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI5MDUzLDYgKzI5MDU1LDcgQEAKIAkJ
CQlDMjQ1OEU2MTFGRTg5NzlFMDA1OTQ3NTkgLyogRm9udENhY2hlQ29yZVRleHQuaCAqLywKIAkJ
CQlCMkFGRkM3ODBEMDBBNUMxMDAzMDA3NEQgLyogRm9udENhc2NhZGVDb2NvYS5jcHAgKi8sCiAJ
CQkJMUM2RkQ4QjAyNTBBMzVGMTAwRDZFOTIwIC8qIEZvbnRDb2NvYS5jcHAgKi8sCisJCQkJRjRB
MDY0QzYyNzdFNDhDNjAwQjA2QTE3IC8qIEZvbnRDb2NvYS5oICovLAogCQkJCTFDMTJBQzJDMUVF
Nzc5OTUwMDc5RTBBMCAvKiBGb250RGVzY3JpcHRpb25Db2NvYS5jcHAgKi8sCiAJCQkJMUMxMkFD
MjgxRUU3NzhBRTAwNzlFMEEwIC8qIEZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uQ29yZVRleHQuY3Bw
ICovLAogCQkJCTFDMTJBQzI5MUVFNzc4QUUwMDc5RTBBMCAvKiBGb250RmFtaWx5U3BlY2lmaWNh
dGlvbkNvcmVUZXh0LmggKi8sCkBAIC0zNDQwOSw2ICszNDQxMiw3IEBACiAJCQkJQjJDM0RBNjEw
RDAwNkNENjAwRUY2RjI2IC8qIEZvbnRDYXNjYWRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNEU4
QjRGNTIxNkI5NTY1MDBCODgzNEQgLyogRm9udENhc2NhZGVEZXNjcmlwdGlvbi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQjJDM0RBNjgwRDAwNkNENjAwRUY2RjI2IC8qIEZvbnRDYXNjYWRlRm9udHMu
aCBpbiBIZWFkZXJzICovLAorCQkJCUY0QTA2NEM4Mjc3RTQ4QzkwMEIwNkExNyAvKiBGb250Q29j
b2EuaCBpbiBIZWFkZXJzICovLAogCQkJCTFDMjY2NzFCMjZGQTkzMkYwMDExNzA3MyAvKiBGb250
Q3JlYXRpb25Db250ZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkFGRkM3RTBEMDBBNUMxMDAz
MDA3NEQgLyogRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJD
M0RBNjYwRDAwNkNENjAwRUY2RjI2IC8qIEZvbnREZXNjcmlwdGlvbi5oIGluIEhlYWRlcnMgKi8s
CkBAIC0zNDUwOCw2ICszNDUxMiw3IEBACiAJCQkJQkM1M0M1RjUwREE1NkI5MjAwMjFFQjVEIC8q
IEdyYWRpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyNzk2NDBEMDBCRjIyMDA3MUI3ODIg
LyogR3JhZGllbnRBdHRyaWJ1dGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE5Q0RGNDI3NzEw
NjM5MDA1M0Y3MzQgLyogR3JhZGllbnRDb2xvclN0b3AuaCBpbiBIZWFkZXJzICovLAorCQkJCUJD
MTlDRTJCMjc3MkJGN0IwMDUzRjczNCAvKiBHcmFkaWVudENvbG9yU3RvcHMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTJENDgxRjA0MTQ2QjVDNkIwMEFBNzgzNCAvKiBHcmFkaWVudEltYWdlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQzE5Q0RGMjI3NkZGQzZEMDA1M0Y3MzQgLyogR3JhZGllbnRSZW5k
ZXJlckNHLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QkI2ODBCQTI1QkExQkU0MDAyQjg3MzggLyog
R3JhcGhpY3NDaGVja3NNYWMuaCBpbiBIZWFkZXJzICovLApAQCAtMzc1NzMsNyArMzc1NzgsNiBA
QAogCQkJCUJFOTEzRDgwMTgxRUY5MjQwMERDQjA5RSAvKiBUcmFja1ByaXZhdGVCYXNlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlDRDFGOUIxQzI3MDI0QkMyMDA2MTdFQjYgLyogVHJhY2tQcml2YXRl
QmFzZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkZBQzMwRkUxODRGQjE0NTAwOEM0RjFF
IC8qIFRyYWlsaW5nT2JqZWN0cy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkMxOUNFMkIyNzcyQkY3
QjAwNTNGNzM0IC8qIEdyYWRpZW50Q29sb3JTdG9wcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE2
MDcxMzIxQkQ4MzA4QjAwREJDNEYyIC8qIFRyYW5zYWN0aW9uT3BlcmF0aW9uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlDRDNFRUY0MTI1Nzk5RkQ5MDA2NTYzQkIgLyogVHJhbnNmZXJGdW5jdGlvbi5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDlFOTExQzQwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9y
bWF0aW9uTWF0cml4LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcApp
bmRleCBiMGNiNjgzM2I4ZmYyNDZjNzA1NmYzZmQyNmMwNjMxMmY5Y2FkOGM0Li45ZTZjYmY5OTE5
MzRkYzc1MDU3OTlkMzQ0OWU3ZTJjZTJiMWFkZGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3Iu
Y3BwCkBAIC0zOTk3LDEwICszOTk3LDYgQEAgdm9pZCBFZGl0b3I6OnNjaGVkdWxlRWRpdG9yVUlV
cGRhdGUoKQogCiAjaWYgIVBMQVRGT1JNKENPQ09BKQogCi12b2lkIEVkaXRvcjo6cGxhdGZvcm1G
b250QXR0cmlidXRlc0F0U2VsZWN0aW9uU3RhcnQoRm9udEF0dHJpYnV0ZXMmLCBjb25zdCBSZW5k
ZXJTdHlsZSYpIGNvbnN0Ci17Ci19Ci0KIFN0cmluZyBFZGl0b3I6OnBsYXRmb3JtQ29udGVudFR5
cGVGb3JCbG9iVHlwZShjb25zdCBTdHJpbmcmIHR5cGUpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHR5
cGU7CkBAIC00MDQ0LDYgKzQwNDAsMTAgQEAgc3RhdGljIFZlY3RvcjxUZXh0TGlzdD4gZWRpdGFi
bGVUZXh0TGlzdHNBdFBvc2l0aW9uSW5EZXNjZW5kaW5nT3JkZXIoY29uc3QgUG9zaXQKIAogRm9u
dEF0dHJpYnV0ZXMgRWRpdG9yOjpmb250QXR0cmlidXRlc0F0U2VsZWN0aW9uU3RhcnQoKQogewor
ICAgIEZvbnRBdHRyaWJ1dGVzIGF0dHJpYnV0ZXM7CisgICAgYm9vbCBoYXNNdWx0aXBsZUZvbnRz
ID0gZmFsc2U7IC8vIEZJWE1FOiBUaGlzIHdpbGwgYmUgaW5jbHVkZWQgYXMgYSBwYXJ0IG9mIEZv
bnRBdHRyaWJ1dGVzIGluIGEgZnV0dXJlIHBhdGNoLgorICAgIGF0dHJpYnV0ZXMuZm9udCA9IGZv
bnRGb3JTZWxlY3Rpb24oaGFzTXVsdGlwbGVGb250cyk7CisKICAgICBSZWZQdHI8Tm9kZT4gbm9k
ZVRvUmVtb3ZlOwogICAgIGF1dG8gbm9kZVJlbW92YWxTY29wZSA9IG1ha2VTY29wZUV4aXQoWyZu
b2RlVG9SZW1vdmVdKCkgewogICAgICAgICBpZiAobm9kZVRvUmVtb3ZlKQpAQCAtNDA1Niw5ICs0
MDU2LDYgQEAgRm9udEF0dHJpYnV0ZXMgRWRpdG9yOjpmb250QXR0cmlidXRlc0F0U2VsZWN0aW9u
U3RhcnQoKQogCiAgICAgU2NyaXB0RGlzYWxsb3dlZFNjb3BlOjpJbk1haW5UaHJlYWQgc2NyaXB0
RGlzYWxsb3dlZFNjb3BlOwogCi0gICAgRm9udEF0dHJpYnV0ZXMgYXR0cmlidXRlczsKLSAgICBw
bGF0Zm9ybUZvbnRBdHRyaWJ1dGVzQXRTZWxlY3Rpb25TdGFydChhdHRyaWJ1dGVzLCAqc3R5bGUp
OwotCiAgICAgLy8gRklYTUU6IGZvciBub3csIGFsd2F5cyByZXBvcnQgdGhlIGNvbG9ycyBhZnRl
ciBhcHBseWluZyAtYXBwbGUtY29sb3ItZmlsdGVyLiBJbiBmdXR1cmUgbm90IGFsbCBjbGllbnRz
CiAgICAgLy8gbWF5IHdhbnQgdGhpcywgc28gd2UgbWF5IGhhdmUgdG8gYWRkIGEgc2V0dGluZyB0
byBjb250cm9sIGl0LiBTZWUgYWxzbyBlZGl0aW5nQXR0cmlidXRlZFN0cmluZ0Zyb21SYW5nZSgp
LgogICAgIGF1dG8gYmFja2dyb3VuZENvbG9yID0gc3R5bGUtPnZpc2l0ZWREZXBlbmRlbnRDb2xv
cldpdGhDb2xvckZpbHRlcihDU1NQcm9wZXJ0eUJhY2tncm91bmRDb2xvcik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9FZGl0b3IuaAppbmRleCA4NmQ4YzhjMjYwMTgzMGJkYzNhOTdmODczNzlmYTAxZTNlZGM4ZDYw
Li5jM2EzNGY1ZmY0MjdjZGRhZGViYzk0MzMwZDdiOTU2MDc1MWEzNjRiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRWRpdG9yLmgKQEAgLTYzMSw3ICs2MzEsNiBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBSZWZQ
dHI8U2hhcmVkQnVmZmVyPiBkYXRhSW5SVEZERm9ybWF0KE5TQXR0cmlidXRlZFN0cmluZyAqKTsK
ICAgICBzdGF0aWMgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gZGF0YUluUlRGRm9ybWF0KE5TQXR0cmli
dXRlZFN0cmluZyAqKTsKICNlbmRpZgotICAgIHZvaWQgcGxhdGZvcm1Gb250QXR0cmlidXRlc0F0
U2VsZWN0aW9uU3RhcnQoRm9udEF0dHJpYnV0ZXMmLCBjb25zdCBSZW5kZXJTdHlsZSYpIGNvbnN0
OwogCiAgICAgdm9pZCBzY2hlZHVsZUVkaXRvclVJVXBkYXRlKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRm9udEF0dHJpYnV0ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRm9udEF0dHJpYnV0ZXMuaAppbmRleCA3NzAwNTU0NWU3ZmVhYTE2ZWMyMWY1ODNkNGRj
NGM4YjE0ZTFhNzcyLi45MWRlNDQ1MzBjMWQ4YWYzNTVkZGFiYzNkYWYxMDBlZGUxOTViMTIzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZvbnRBdHRyaWJ1dGVzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9Gb250QXR0cmlidXRlcy5oCkBAIC0yNSwxNCArMjUsMTMg
QEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJGb250LmgiCiAjaW5jbHVkZSAiRm9udFNo
YWRvdy5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlQ29uc3RhbnRzLmgiCiAjaW5jbHVkZSA8d3Rm
L1JldGFpblB0ci5oPgogCiBPQkpDX0NMQVNTIE5TRGljdGlvbmFyeTsKLU9CSkNfQ0xBU1MgTlNG
b250OwogT0JKQ19DTEFTUyBOU1RleHRMaXN0OwotT0JKQ19DTEFTUyBVSUZvbnQ7CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtNTEsMTIgKzUwLDEyIEBAIHN0cnVjdCBUZXh0TGlzdCB7CiAK
IHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IGlubGluZSB2b2lkIFRleHRMaXN0OjplbmNvZGUoRW5j
b2RlciYgZW5jb2RlcikgY29uc3QKIHsKLSAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQ4
X3Q+KHN0eWxlKSA8PCBzdGFydGluZ0l0ZW1OdW1iZXIgPDwgb3JkZXJlZDsKKyAgICBlbmNvZGVy
IDw8IHN0eWxlIDw8IHN0YXJ0aW5nSXRlbU51bWJlciA8PCBvcmRlcmVkOwogfQogCiB0ZW1wbGF0
ZTxjbGFzcyBEZWNvZGVyPiBpbmxpbmUgc3RkOjpvcHRpb25hbDxUZXh0TGlzdD4gVGV4dExpc3Q6
OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQogewotICAgIHN0ZDo6b3B0aW9uYWw8dWludDhfdD4g
c3R5bGU7CisgICAgc3RkOjpvcHRpb25hbDxMaXN0U3R5bGVUeXBlPiBzdHlsZTsKICAgICBkZWNv
ZGVyID4+IHN0eWxlOwogICAgIGlmICghc3R5bGUpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CkBAIC03MSw3ICs3MCw3IEBAIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IGlubGluZSBzdGQ6
Om9wdGlvbmFsPFRleHRMaXN0PiBUZXh0TGlzdDo6ZGVjb2RlKERlY29kZXImCiAgICAgaWYgKCFv
cmRlcmVkKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgcmV0dXJuIHt7IHN0
YXRpY19jYXN0PExpc3RTdHlsZVR5cGU+KFdURk1vdmUoKnN0eWxlKSksIFdURk1vdmUoKnN0YXJ0
aW5nSXRlbU51bWJlciksIFdURk1vdmUoKm9yZGVyZWQpIH19OworICAgIHJldHVybiB7IHsgKnN0
eWxlLCAqc3RhcnRpbmdJdGVtTnVtYmVyLCAqb3JkZXJlZCB9IH07CiB9CiAKIHN0cnVjdCBGb250
QXR0cmlidXRlcyB7CkBAIC03OSwxOCArNzgsMTAgQEAgc3RydWN0IEZvbnRBdHRyaWJ1dGVzIHsK
ICAgICBlbnVtIGNsYXNzIEhvcml6b250YWxBbGlnbm1lbnQgOiB1aW50OF90IHsgTGVmdCwgQ2Vu
dGVyLCBSaWdodCwgSnVzdGlmeSwgTmF0dXJhbCB9OwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0g
ICAgYm9vbCBlbmNvZGluZ1JlcXVpcmVzUGxhdGZvcm1EYXRhKCkgY29uc3QgeyByZXR1cm4gdHJ1
ZTsgfQotCiAgICAgV0VCQ09SRV9FWFBPUlQgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4gY3JlYXRl
RGljdGlvbmFyeSgpIGNvbnN0OwotI2Vsc2UKLSAgICBib29sIGVuY29kaW5nUmVxdWlyZXNQbGF0
Zm9ybURhdGEoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAKLSNpZiBQTEFURk9S
TShNQUMpCi0gICAgUmV0YWluUHRyPE5TRm9udD4gZm9udDsKLSNlbGlmIFBMQVRGT1JNKElPU19G
QU1JTFkpCi0gICAgUmV0YWluUHRyPFVJRm9udD4gZm9udDsKLSNlbmRpZgorICAgIFJlZlB0cjxG
b250PiBmb250OwogICAgIENvbG9yIGJhY2tncm91bmRDb2xvcjsKICAgICBDb2xvciBmb3JlZ3Jv
dW5kQ29sb3I7CiAgICAgRm9udFNoYWRvdyBmb250U2hhZG93OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvY29jb2EvRWRpdG9yQ29jb2EubW0KaW5kZXggYTg1YjdhYTc1MjZiMmY3YzUxYTNmNWM0
NjdiZWIzNTBlOTkxNGFhYi4uMzhkYmQyNTkzYjg2YmJhOWE5MGNhZWIzMDBmZmFmMGY5YTkyODMz
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0VkaXRvckNvY29hLm1tCkBAIC02
NSwxMiArNjUsNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQgRWRpdG9yOjpwbGF0
Zm9ybUZvbnRBdHRyaWJ1dGVzQXRTZWxlY3Rpb25TdGFydChGb250QXR0cmlidXRlcyYgYXR0cmli
dXRlcywgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlKSBjb25zdAotewotICAgIGlmIChhdXRvIGN0
Rm9udCA9IHN0eWxlLmZvbnRDYXNjYWRlKCkucHJpbWFyeUZvbnQoKS5nZXRDVEZvbnQoKSkKLSAg
ICAgICAgYXR0cmlidXRlcy5mb250ID0gKF9fYnJpZGdlIGlkKWN0Rm9udDsKLX0KLQogc3RhdGlj
IFJlZlB0cjxTaGFyZWRCdWZmZXI+IGFyY2hpdmVkRGF0YUZvckF0dHJpYnV0ZWRTdHJpbmcoTlNB
dHRyaWJ1dGVkU3RyaW5nICphdHRyaWJ1dGVkU3RyaW5nKQogewogICAgIGlmICghYXR0cmlidXRl
ZFN0cmluZy5sZW5ndGgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29h
L0ZvbnRBdHRyaWJ1dGVzQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0Zv
bnRBdHRyaWJ1dGVzQ29jb2EubW0KaW5kZXggNDRiNDg3YzIyMThkNGI2YjkyMDAxMDc1NjA5Yjk5
YmI4ZmQ0MjJiOC4uZmEwZGE1ZGU2MWU1YWU1NmU5MjVlY2E0Y2QxZjhkODg4ZmRkM2QwNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9Gb250QXR0cmlidXRlc0NvY29h
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRm9udEF0dHJpYnV0ZXNDb2Nv
YS5tbQpAQCAtMjcsNiArMjcsNyBAQAogI2ltcG9ydCAiRm9udEF0dHJpYnV0ZXMuaCIKIAogI2lt
cG9ydCAiQ29sb3JDb2NvYS5oIgorI2ltcG9ydCAiRm9udENvY29hLmgiCiAjaW1wb3J0IDxwYWwv
c3BpL2NvY29hL05TQXR0cmlidXRlZFN0cmluZ1NQSS5oPgogI2ltcG9ydCA8d3RmL2NvY29hL1Zl
Y3RvckNvY29hLmg+CiAKQEAgLTg3LDggKzg4LDggQEAgUmV0YWluUHRyPE5TVGV4dExpc3Q+IFRl
eHRMaXN0OjpjcmVhdGVUZXh0TGlzdCgpIGNvbnN0CiBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBG
b250QXR0cmlidXRlczo6Y3JlYXRlRGljdGlvbmFyeSgpIGNvbnN0CiB7CiAgICAgTlNNdXRhYmxl
RGljdGlvbmFyeSAqYXR0cmlidXRlcyA9IFtOU011dGFibGVEaWN0aW9uYXJ5IGRpY3Rpb25hcnld
OwotICAgIGlmIChmb250KQotICAgICAgICBhdHRyaWJ1dGVzW05TRm9udEF0dHJpYnV0ZU5hbWVd
ID0gZm9udC5nZXQoKTsKKyAgICBpZiAoYXV0byBjb2NvYUZvbnQgPSBmb250ID8gKF9fYnJpZGdl
IENvY29hRm9udCAqKWZvbnQtPmdldENURm9udCgpIDogbmlsKQorICAgICAgICBhdHRyaWJ1dGVz
W05TRm9udEF0dHJpYnV0ZU5hbWVdID0gY29jb2FGb250OwogCiAgICAgaWYgKGZvcmVncm91bmRD
b2xvci5pc1ZhbGlkKCkpCiAgICAgICAgIGF0dHJpYnV0ZXNbTlNGb3JlZ3JvdW5kQ29sb3JBdHRy
aWJ1dGVOYW1lXSA9IGNvY29hQ29sb3IoZm9yZWdyb3VuZENvbG9yKS5nZXQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDQ2ZTFjZmNiZjI1NDdkNTMxNWYxNWMyMzMxM2JkNmJjYjRjOGQ0NwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2Nv
YS5oCkBAIC0wLDAgKzEsNDggQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJl
IG1ldDoKKyogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvQ29tcGlsZXIuaD4KKwor
I2lmIFVTRShBUFBLSVQpCitPQkpDX0NMQVNTIE5TRm9udDsKK09CSkNfQ0xBU1MgTlNGb250RGVz
Y3JpcHRvcjsKKyNlbHNlCitPQkpDX0NMQVNTIFVJRm9udDsKK09CSkNfQ0xBU1MgVUlGb250RGVz
Y3JpcHRvcjsKKyNlbmRpZgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKyNpZiBVU0UoQVBQS0lU
KQordXNpbmcgQ29jb2FGb250ID0gTlNGb250OwordXNpbmcgQ29jb2FGb250RGVzY3JpcHRvciA9
IE5TRm9udERlc2NyaXB0b3I7CisjZWxzZQordXNpbmcgQ29jb2FGb250ID0gVUlGb250OwordXNp
bmcgQ29jb2FGb250RGVzY3JpcHRvciA9IFVJRm9udERlc2NyaXB0b3I7CisjZW5kaWYKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAppbmRleCA4NDk4NzE4ZTc4NjBmZTVhMjYwMTVm
NDA0MzljZTEyMzM5ZmE0ZWFlLi4wOWZhNmIwYTBhOTQ5NjFiY2MwNTNhYTcyZDRiMmZhNmFjMjQ2
ZWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGVDb25zdGFudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGVDb25zdGFudHMuaApAQCAtMTM2MCw0ICsxMzYwLDEwNyBAQCB0ZW1wbGF0ZTw+IHN0cnVj
dCBFbnVtVHJhaXRzPFdlYkNvcmU6OlNjcm9sbFNuYXBTdG9wPiB7CiAgICAgICAgIFdlYkNvcmU6
OlNjcm9sbFNuYXBTdG9wOjpBbHdheXMKICAgICA+OwogfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3Qg
RW51bVRyYWl0czxXZWJDb3JlOjpMaXN0U3R5bGVUeXBlPiB7CisgICAgdXNpbmcgdmFsdWVzID0g
RW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZSwKKyAgICAgICAgV2Vi
Q29yZTo6TGlzdFN0eWxlVHlwZTo6RGlzYywKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlw
ZTo6Q2lyY2xlLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpTcXVhcmUsCisgICAg
ICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkRlY2ltYWwsCisgICAgICAgIFdlYkNvcmU6Okxp
c3RTdHlsZVR5cGU6OkRlY2ltYWxMZWFkaW5nWmVybywKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0
eWxlVHlwZTo6QXJhYmljSW5kaWMsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkJp
bmFyeSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6QmVuZ2FsaSwKKyAgICAgICAg
V2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6Q2FtYm9kaWFuLAorICAgICAgICBXZWJDb3JlOjpMaXN0
U3R5bGVUeXBlOjpLaG1lciwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6RGV2YW5h
Z2FyaSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6R3VqYXJhdGksCisgICAgICAg
IFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6Okd1cm11a2hpLAorICAgICAgICBXZWJDb3JlOjpMaXN0
U3R5bGVUeXBlOjpLYW5uYWRhLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpMb3dl
ckhleGFkZWNpbWFsLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpMYW8sCisgICAg
ICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6Ok1hbGF5YWxhbSwKKyAgICAgICAgV2ViQ29yZTo6
TGlzdFN0eWxlVHlwZTo6TW9uZ29saWFuLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBl
OjpNeWFubWFyLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpPY3RhbCwKKyAgICAg
ICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6T3JpeWEsCisgICAgICAgIFdlYkNvcmU6Okxpc3RT
dHlsZVR5cGU6OlBlcnNpYW4sCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlVyZHUs
CisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlRlbHVndSwKKyAgICAgICAgV2ViQ29y
ZTo6TGlzdFN0eWxlVHlwZTo6VGliZXRhbiwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlw
ZTo6VGhhaSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VXBwZXJIZXhhZGVjaW1h
bCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6TG93ZXJSb21hbiwKKyAgICAgICAg
V2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VXBwZXJSb21hbiwKKyAgICAgICAgV2ViQ29yZTo6TGlz
dFN0eWxlVHlwZTo6TG93ZXJHcmVlaywKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6
TG93ZXJBbHBoYSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6TG93ZXJMYXRpbiwK
KyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VXBwZXJBbHBoYSwKKyAgICAgICAgV2Vi
Q29yZTo6TGlzdFN0eWxlVHlwZTo6VXBwZXJMYXRpbiwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0
eWxlVHlwZTo6QWZhciwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6RXRoaW9waWNI
YWxlaGFtZUFhRXQsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFs
ZWhhbWVBYUVyLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpBbWhhcmljLAorICAg
ICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lQW1FdCwKKyAgICAg
ICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6QW1oYXJpY0FiZWdlZGUsCisgICAgICAgIFdlYkNv
cmU6Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZUFtRXQsCisgICAgICAgIFdlYkNvcmU6
Okxpc3RTdHlsZVR5cGU6OkNKS0VhcnRobHlCcmFuY2gsCisgICAgICAgIFdlYkNvcmU6Okxpc3RT
dHlsZVR5cGU6OkNKS0hlYXZlbmx5U3RlbSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlw
ZTo6RXRoaW9waWMsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFs
ZWhhbWVHZXosCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2Vk
ZSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6RXRoaW9waWNBYmVnZWRlR2V6LAor
ICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpIYW5ndWxDb25zb25hbnQsCisgICAgICAg
IFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6Okhhbmd1bCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0
eWxlVHlwZTo6TG93ZXJOb3J3ZWdpYW4sCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6
Ok9yb21vLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1l
T21FdCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6U2lkYW1hLAorICAgICAgICBX
ZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lU2lkRXQsCisgICAgICAgIFdl
YkNvcmU6Okxpc3RTdHlsZVR5cGU6OlNvbWFsaSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxl
VHlwZTo6RXRoaW9waWNIYWxlaGFtZVNvRXQsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5
cGU6OlRpZ3JlLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVo
YW1lVGlnLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpUaWdyaW55YUVyLAorICAg
ICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lVGlFciwKKyAgICAg
ICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VGlncmlueWFFckFiZWdlZGUsCisgICAgICAgIFdl
YkNvcmU6Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZVRpRXIsCisgICAgICAgIFdlYkNv
cmU6Okxpc3RTdHlsZVR5cGU6OlRpZ3JpbnlhRXQsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHls
ZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVUaUV0LAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVU
eXBlOjpUaWdyaW55YUV0QWJlZ2VkZSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6
RXRoaW9waWNBYmVnZWRlVGlFdCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VXBw
ZXJHcmVlaywKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VXBwZXJOb3J3ZWdpYW4s
CisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkFzdGVyaXNrcywKKyAgICAgICAgV2Vi
Q29yZTo6TGlzdFN0eWxlVHlwZTo6Rm9vdG5vdGVzLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5
bGVUeXBlOjpIZWJyZXcsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkFybWVuaWFu
LAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpMb3dlckFybWVuaWFuLAorICAgICAg
ICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpVcHBlckFybWVuaWFuLAorICAgICAgICBXZWJDb3Jl
OjpMaXN0U3R5bGVUeXBlOjpHZW9yZ2lhbiwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlw
ZTo6Q0pLSWRlb2dyYXBoaWMsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkhpcmFn
YW5hLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpLYXRha2FuYSwKKyAgICAgICAg
V2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6SGlyYWdhbmFJcm9oYSwKKyAgICAgICAgV2ViQ29yZTo6
TGlzdFN0eWxlVHlwZTo6S2F0YWthbmFJcm9oYSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxl
VHlwZTo6Q0pLRGVjaW1hbCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VGFtaWws
CisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkRpc2Nsb3N1cmVPcGVuLAorICAgICAg
ICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpEaXNjbG9zdXJlQ2xvc2VkLAorICAgICAgICBXZWJD
b3JlOjpMaXN0U3R5bGVUeXBlOjpKYXBhbmVzZUluZm9ybWFsLAorICAgICAgICBXZWJDb3JlOjpM
aXN0U3R5bGVUeXBlOjpKYXBhbmVzZUZvcm1hbCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxl
VHlwZTo6S29yZWFuSGFuZ3VsRm9ybWFsLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBl
OjpLb3JlYW5IYW5qYUluZm9ybWFsLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpL
b3JlYW5IYW5qYUZvcm1hbCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6U2ltcGxp
ZmllZENoaW5lc2VJbmZvcm1hbCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6U2lt
cGxpZmllZENoaW5lc2VGb3JtYWwsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlRy
YWRpdGlvbmFsQ2hpbmVzZUluZm9ybWFsLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBl
OjpUcmFkaXRpb25hbENoaW5lc2VGb3JtYWwsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5
cGU6OkV0aGlvcGljTnVtZXJpYywKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6U3Ry
aW5nLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpOb25lCisgICAgPjsKK307CisK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvQ29jb2FGb250Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL0NvY29hRm9udC5oCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBmYzE3NmY5YzlmNzQ0NTJiNTEzYTgwOTA0ZDhlODI2NjQ4NzhhYTA1
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vY29jb2EvQ29jb2FGb250LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0MCAr
MCwwIEBACi0vKgotKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotKgotKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0qIGFyZSBtZXQ6Ci0qIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0qICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotKgotKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0qIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0qIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUwotKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0qIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0q
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUwotKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCi0qIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSovCi0KLSNw
cmFnbWEgb25jZQotCi0jaW5jbHVkZSA8d3RmL0NvbXBpbGVyLmg+Ci0KLSNpZiBVU0UoQVBQS0lU
KQotT0JKQ19DTEFTUyBOU0ZvbnQ7Ci1PQkpDX0NMQVNTIE5TRm9udERlc2NyaXB0b3I7Ci11c2lu
ZyBDb2NvYUZvbnQgPSBOU0ZvbnQ7Ci11c2luZyBDb2NvYUZvbnREZXNjcmlwdG9yID0gTlNGb250
RGVzY3JpcHRvcjsKLSNlbHNlCi1PQkpDX0NMQVNTIFVJRm9udDsKLU9CSkNfQ0xBU1MgVUlGb250
RGVzY3JpcHRvcjsKLXVzaW5nIENvY29hRm9udCA9IFVJRm9udDsKLXVzaW5nIENvY29hRm9udERl
c2NyaXB0b3IgPSBVSUZvbnREZXNjcmlwdG9yOwotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLm1tIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5tbQppbmRleCAwZjYzY2M0Njk5ZWJl
MDI4NThiMmIzNmUyOTA3YzE0NTg0MGIwY2E2Li4xMjhhYThjNDg2Yzk2YjliZWQyZTNmNmUwN2Y1
NzBhZWY1YzBlNWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1
bWVudENvZGVyc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FyZ3Vt
ZW50Q29kZXJzQ29jb2EubW0KQEAgLTI5LDExICsyOSwxMSBAQAogI2lmIFBMQVRGT1JNKENPQ09B
KQogCiAjaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCi0jaW1wb3J0ICJDb2NvYUZvbnQuaCIK
ICNpbXBvcnQgIkNvcmVUZXh0SGVscGVycy5oIgogI2ltcG9ydCA8Q29yZVRleHQvQ1RGb250Lmg+
CiAjaW1wb3J0IDxDb3JlVGV4dC9DVEZvbnREZXNjcmlwdG9yLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L0NvbG9yQ29jb2EuaD4KKyNpbXBvcnQgPFdlYkNvcmUvRm9udENvY29hLmg+CiAjaW1wb3J0IDx3
dGYvQmxvY2tPYmpDRXhjZXB0aW9ucy5oPgogI2ltcG9ydCA8d3RmL0hhc2hTZXQuaD4KICNpbXBv
cnQgPHd0Zi9jZi9DRlVSTEV4dHJhcy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvQ29jb2EvQ29yZVRleHRIZWxwZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9D
b3JlVGV4dEhlbHBlcnMuaAppbmRleCA1NzY0ODNjMmYxY2FjMDllZTg2MmQxYTljNjRhM2VhOGFm
ZWUzZDU4Li40MGM0YTI4YzhmMGZlYTAwNGJkYjNjN2NhOTliNDM2NmYwMWIzZTAzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlVGV4dEhlbHBlcnMuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlVGV4dEhlbHBlcnMuaApAQCAtMjUsNyArMjUs
NyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2ltcG9ydCAiQ29jb2FGb250LmgiCisjaW1wb3J0IDxX
ZWJDb3JlL0ZvbnRDb2NvYS5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiAjaWYgVVNF
KEFQUEtJVCkKQEAgLTM2LDYgKzM2LDYgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLUNvY29h
Rm9udCAqZm9udFdpdGhBdHRyaWJ1dGVzKE5TRGljdGlvbmFyeSAqYXR0cmlidXRlcywgQ0dGbG9h
dCBzaXplKTsKK1dlYkNvcmU6OkNvY29hRm9udCAqZm9udFdpdGhBdHRyaWJ1dGVzKE5TRGljdGlv
bmFyeSAqYXR0cmlidXRlcywgQ0dGbG9hdCBzaXplKTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZVRleHRIZWxwZXJzLm1tIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvQ29jb2EvQ29yZVRleHRIZWxwZXJzLm1tCmluZGV4IGEyNTEwYzY0MzUwNGQ4Mzk1NWRm
OTQyZWY0Nzc0NzM1MWM5ZWZiYzYuLmJkMTEwYjRiOTE4ZWVkMzNlYzdhMGMyN2Y5ZDZkOTRmMjEx
MWJkNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVUZXh0SGVs
cGVycy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlVGV4dEhlbHBlcnMu
bW0KQEAgLTMwLDYgKzMwLDcgQEAKICNpbXBvcnQgPHd0Zi9CbG9ja09iakNFeGNlcHRpb25zLmg+
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIENvY29h
Rm9udCAqZm9udFdpdGhBdHRyaWJ1dGVzKE5TRGljdGlvbmFyeSAqYXR0cmlidXRlcywgQ0dGbG9h
dCBzaXplKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJD
b3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQppbmRleCAzYzFiNTdkNWFhMjZlYzcyZTYwYjVkNzhh
MTFlOWZkODUyY2ZmZWM5Li40NDIyZDY3MjJmNTAzY2UyNzY4NTIwNTBhZGY4MTk0Njk3Y2EwNzhj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRD
b2RlcnNDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJn
dW1lbnRDb2RlcnNDb2NvYS5tbQpAQCAtNDQwLDE4ICs0NDAsNiBAQCBib29sIEFyZ3VtZW50Q29k
ZXI8V2ViQ29yZTo6RGljdGlvbmFyeVBvcHVwSW5mbz46OmRlY29kZVBsYXRmb3JtRGF0YShEZWNv
ZGVyJiBkZQogICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIEFyZ3VtZW50Q29kZXI8V2ViQ29y
ZTo6Rm9udEF0dHJpYnV0ZXM+OjplbmNvZGVQbGF0Zm9ybURhdGEoRW5jb2RlciYgZW5jb2Rlciwg
Y29uc3QgV2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXMmIGF0dHJpYnV0ZXMpCi17Ci0gICAgZW5jb2Rl
ciA8PCBhdHRyaWJ1dGVzLmZvbnQ7Ci19Ci0KLXN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6Rm9udEF0
dHJpYnV0ZXM+IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXM+OjpkZWNvZGVQ
bGF0Zm9ybURhdGEoRGVjb2RlciYgZGVjb2RlciwgV2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXMmIGF0
dHJpYnV0ZXMpCi17Ci0gICAgaWYgKCFJUEM6OmRlY29kZShkZWNvZGVyLCBhdHRyaWJ1dGVzLmZv
bnQpKQotICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAgIHJldHVybiBhdHRyaWJ1dGVz
OwotfQotCiB2b2lkIEFyZ3VtZW50Q29kZXI8UmVmPFdlYkNvcmU6OkZvbnQ+Pjo6ZW5jb2RlUGxh
dGZvcm1EYXRhKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFJlZjxXZWJDb3JlOjpGb250PiYgZm9u
dCkKIHsKICAgICBjb25zdCBhdXRvJiBwbGF0Zm9ybURhdGEgPSBmb250LT5wbGF0Zm9ybURhdGEo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVy
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCmlu
ZGV4IGM4OTg2ODdiMjI2Y2NlNGI0ZjNiOGIxYTg1Y2JlYzc5NThiNjdhYjYuLjM2ZTg5MDYxNzFm
ZTYyYjIxNTg1NzNmYmZhNTIzOWI0YmI1OWYzN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtMjkxMCwxMiArMjkxMCw5IEBAIHZvaWQg
QXJndW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBj
b25zdCBGb250QXR0cmlidXRlCiAgICAgZW5jb2RlciA8PCBhdHRyaWJ1dGVzLmJhY2tncm91bmRD
b2xvciA8PCBhdHRyaWJ1dGVzLmZvcmVncm91bmRDb2xvciA8PCBhdHRyaWJ1dGVzLmZvbnRTaGFk
b3cgPDwgYXR0cmlidXRlcy5oYXNVbmRlcmxpbmUgPDwgYXR0cmlidXRlcy5oYXNTdHJpa2VUaHJv
dWdoIDw8IGF0dHJpYnV0ZXMudGV4dExpc3RzOwogICAgIGVuY29kZXIgPDwgYXR0cmlidXRlcy5o
b3Jpem9udGFsQWxpZ25tZW50OwogICAgIGVuY29kZXIgPDwgYXR0cmlidXRlcy5zdWJzY3JpcHRP
clN1cGVyc2NyaXB0OwotCi0gICAgaWYgKGF0dHJpYnV0ZXMuZW5jb2RpbmdSZXF1aXJlc1BsYXRm
b3JtRGF0YSgpKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgdHJ1ZTsKLSAgICAgICAgZW5jb2RlUGxh
dGZvcm1EYXRhKGVuY29kZXIsIGF0dHJpYnV0ZXMpOwotICAgICAgICByZXR1cm47Ci0gICAgfQor
ICAgIGVuY29kZXIgPDwgISFhdHRyaWJ1dGVzLmZvbnQ7CisgICAgaWYgKGF0dHJpYnV0ZXMuZm9u
dCkKKyAgICAgICAgZW5jb2RlciA8PCBSZWYoKmF0dHJpYnV0ZXMuZm9udCk7CiB9CiAKIHN0ZDo6
b3B0aW9uYWw8Rm9udEF0dHJpYnV0ZXM+IEFyZ3VtZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+Ojpk
ZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKQEAgLTI5NDYsMTEgKzI5NDMsMTkgQEAgc3RkOjpvcHRp
b25hbDxGb250QXR0cmlidXRlcz4gQXJndW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46OmRlY29k
ZShEZWNvZGVyJiBkZWMKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGF0dHJpYnV0ZXMuc3Vic2Ny
aXB0T3JTdXBlcnNjcmlwdCkpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICBi
b29sIGhhc1BsYXRmb3JtRGF0YTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc1BsYXRmb3Jt
RGF0YSkpCisgICAgc3RkOjpvcHRpb25hbDxib29sPiBoYXNGb250OworICAgIGRlY29kZXIgPj4g
aGFzRm9udDsKKyAgICBpZiAoIWhhc0ZvbnQpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7
Ci0gICAgaWYgKGhhc1BsYXRmb3JtRGF0YSkKLSAgICAgICAgcmV0dXJuIGRlY29kZVBsYXRmb3Jt
RGF0YShkZWNvZGVyLCBhdHRyaWJ1dGVzKTsKKworICAgIGlmICgqaGFzRm9udCkgeworICAgICAg
ICBzdGQ6Om9wdGlvbmFsPFJlZjxGb250Pj4gZm9udDsKKyAgICAgICAgZGVjb2RlciA+PiBmb250
OworICAgICAgICBpZiAoIWZvbnQpCisgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0Owor
CisgICAgICAgIGF0dHJpYnV0ZXMuZm9udCA9IFdURk1vdmUoKmZvbnQpOworICAgIH0KIAogICAg
IHJldHVybiBhdHRyaWJ1dGVzOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJn
dW1lbnRDb2RlcnMuaAppbmRleCA2ZmFjMmFhMWVhNzg0NmZmNmJmODkwMjFmMGY1MmU5YWE3YWUw
M2M4Li5hMjkyZTEwYmQ4NWUyYmRlYzMyNTEwZjAxMGFjOTNhNWVhM2QxYzMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApAQCAtNzMwLDggKzczMCw2
IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8UmVmUHRyPFdlYkNvcmU6OlNlY3Vy
aXR5T3JpZ2luPj4gewogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpG
b250QXR0cmlidXRlcz4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3Qg
V2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXMmKTsKICAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxXZWJD
b3JlOjpGb250QXR0cmlidXRlcz4gZGVjb2RlKERlY29kZXImKTsKLSAgICBzdGF0aWMgdm9pZCBl
bmNvZGVQbGF0Zm9ybURhdGEoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVz
Jik7Ci0gICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXM+IGRl
Y29kZVBsYXRmb3JtRGF0YShEZWNvZGVyJiwgV2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXMmKTsKIH07
CiAKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvcGxheXN0YXRpb24vV2ViQ29yZUFyZ3VtZW50Q29kZXJzUGxheVN0YXRpb24u
Y3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvcGxheXN0YXRpb24vV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzUGxheVN0YXRpb24uY3BwCmluZGV4IDA1NDNiYzY2MzRlNjM4MzFjZjlmMjE4ZGFiN2VlM2Rl
ZjQ2YTllM2IuLmY3ZDZmODliOTM5MWJlNmQ1NTM3MjljNzc5NjE0NmM1NjY0NTQ2YjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL3BsYXlzdGF0aW9uL1dlYkNvcmVBcmd1bWVudENv
ZGVyc1BsYXlTdGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9wbGF5c3RhdGlv
bi9XZWJDb3JlQXJndW1lbnRDb2RlcnNQbGF5U3RhdGlvbi5jcHAKQEAgLTI3LDIzICsyNywxMSBA
QAogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogCiAjaW5jbHVkZSA8V2ViQ29y
ZS9Gb250Lmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9Gb250QXR0cmlidXRlcy5oPgogCiBuYW1lc3Bh
Y2UgSVBDIHsKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLXZvaWQgQXJndW1lbnRDb2Rl
cjxGb250QXR0cmlidXRlcz46OmVuY29kZVBsYXRmb3JtRGF0YShFbmNvZGVyJiwgY29uc3QgRm9u
dEF0dHJpYnV0ZXMmKQotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi1zdGQ6Om9w
dGlvbmFsPEZvbnRBdHRyaWJ1dGVzPiBBcmd1bWVudENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZGVj
b2RlUGxhdGZvcm1EYXRhKERlY29kZXImLCBGb250QXR0cmlidXRlcyYpCi17Ci0gICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLX0KLQogdm9pZCBBcmd1
bWVudENvZGVyPFJlZjxGb250Pj46OmVuY29kZVBsYXRmb3JtRGF0YShFbmNvZGVyJiBlbmNvZGVy
LCBjb25zdCBSZWY8Rm9udD4mIGZvbnQpCiB7CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVy
c1NvdXAuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2Rl
cnNTb3VwLmNwcAppbmRleCAyOTczYTJiYWI2Y2E4YjAyMzMyNWNiMDAxZTIwNzNhZGYxZjA0MDZl
Li5hZDliZDZlMzJiNzJmYWYyNWUwNGYyZDE1MDU3ZjdmZjgyOWJkNTg1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5j
cHAKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0NyZWRlbnRpYWwuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL0RpY3Rpb25hcnlQb3B1cEluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L0ZvbnQuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL0ZvbnRBdHRyaWJ1dGVzLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVl
c3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KQEAgLTIxNCwxNyAr
MjEzLDYgQEAgYm9vbCBBcmd1bWVudENvZGVyPENyZWRlbnRpYWw+OjpkZWNvZGVQbGF0Zm9ybURh
dGEoRGVjb2RlciYgZGVjb2RlciwgQ3JlZGVudGlhbCYKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAot
dm9pZCBBcmd1bWVudENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEVu
Y29kZXImLCBjb25zdCBGb250QXR0cmlidXRlcyYpCi17Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci19Ci0KLXN0ZDo6b3B0aW9uYWw8Rm9udEF0dHJpYnV0ZXM+IEFyZ3VtZW50Q29kZXI8Rm9u
dEF0dHJpYnV0ZXM+OjpkZWNvZGVQbGF0Zm9ybURhdGEoRGVjb2RlciYsIEZvbnRBdHRyaWJ1dGVz
JikKLXsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gc3RkOjpudWxsb3B0
OwotfQotCiB2b2lkIEFyZ3VtZW50Q29kZXI8RGljdGlvbmFyeVBvcHVwSW5mbz46OmVuY29kZVBs
YXRmb3JtRGF0YShFbmNvZGVyJiwgY29uc3QgRGljdGlvbmFyeVBvcHVwSW5mbyYpCiB7CiAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XS1NhZmVCcm93c2luZ1dhcm5pbmcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XS1NhZmVCcm93c2luZ1dhcm5pbmcubW0KaW5kZXggNDFkMDg5OGIwMWQ0YzcwY2Uw
OGY4OTA1MjA1NmE1ZDA3MWU5ZTllMS4uMTgxYzE3ZGNmZjI3ZmNiODQzMDhjZWVjYTUzYmIwMTMw
YzM2MGNkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tTYWZl
QnJvd3NpbmdXYXJuaW5nLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dL
U2FmZUJyb3dzaW5nV2FybmluZy5tbQpAQCAtMjYsOSArMjYsOSBAQAogI2ltcG9ydCAiY29uZmln
LmgiCiAjaW1wb3J0ICJXS1NhZmVCcm93c2luZ1dhcm5pbmcuaCIKIAotI2ltcG9ydCAiQ29jb2FG
b250LmgiCiAjaW1wb3J0ICJQYWdlQ2xpZW50LmgiCiAjaW1wb3J0ICJTYWZlQnJvd3NpbmdXYXJu
aW5nLmgiCisjaW1wb3J0IDxXZWJDb3JlL0ZvbnRDb2NvYS5oPgogI2ltcG9ydCA8V2ViQ29yZS9M
b2NhbGl6ZWRTdHJpbmdzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVPYmpDRXh0cmFzLmg+
CiAjaW1wb3J0IDx3dGYvVVJMLmg+CkBAIC03OCw3ICs3OCw3IEBAIGVudW0gY2xhc3MgV2Fybmlu
Z1RleHRTaXplIDogdWludDhfdCB7CiAgICAgQm9keQogfTsKIAotc3RhdGljIENvY29hRm9udCAq
Zm9udE9mU2l6ZShXYXJuaW5nVGV4dFNpemUgc2l6ZSkKK3N0YXRpYyBXZWJDb3JlOjpDb2NvYUZv
bnQgKmZvbnRPZlNpemUoV2FybmluZ1RleHRTaXplIHNpemUpCiB7CiAjaWYgUExBVEZPUk0oTUFD
KQogICAgIHN3aXRjaCAoc2l6ZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggNDNhN2NkNWU0N2U4ODUwYTY4ZGUyMzg5NmExZGFlMzhk
ODMxNGYzNi4uNmVmNmY3NGMwMzM2YmU5MTVmZDNhNDAzNGU0Y2MxYTI1MGY2NmViYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02NDQ2
LDcgKzY0NDYsNiBAQAogCQlGNEVCNEFGQzI2OUNEMjM2MDBEMjk3QUUgLyogT1NTdGF0ZVNQSS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBPU1N0YXRlU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUY0RjU5QUQzMjA2NUE1QzkwMDZDQUE0NiAvKiBXS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRy
b2xsZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS1NlbGVj
dE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIubW07IHBhdGggPSBpb3MvZm9ybXMvV0tTZWxlY3RNZW51
TGlzdFZpZXdDb250cm9sbGVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNEY1
OUFENDIwNjVBNUNBMDA2Q0FBNDYgLyogV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLU2VsZWN0TWVudUxpc3RWaWV3Q29u
dHJvbGxlci5oOyBwYXRoID0gaW9zL2Zvcm1zL1dLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGNEZFMEEzQzI0NjM1NjY3MDAyNjMx
RTEgLyogQ29jb2FGb250LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvY29hRm9udC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlGNjExM0UyNDEyNkNFMTgyMDA1N0QwQTcgLyogQVBJVXNlckNv
bnRlbnRVUkxQYXR0ZXJuLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFQSVVz
ZXJDb250ZW50VVJMUGF0dGVybi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNjEx
M0UyNjEyNkNFMTlCMDA1N0QwQTcgLyogV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tVc2VyQ29udGVudFVSTFBhdHRlcm4u
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNjExM0UyNzEyNkNFMTlCMDA1N0Qw
QTcgLyogV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTkxNjcsNyArOTE2Niw2IEBACiAJCTQ0NTBBRUJFMURDM0ZBQUMwMDk5NDNGMiAv
KiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJ
RjRGRTBBM0MyNDYzNTY2NzAwMjYzMUUxIC8qIENvY29hRm9udC5oICovLAogCQkJCTQ0ODI3MzQ2
MjQ1MjhGNjAwMEE5NTQ5MyAvKiBDb2NvYUltYWdlLmggKi8sCiAJCQkJQkNFMDkzNzYxNEZCMTI4
QjAwMTEzOEQ5IC8qIExheWVySG9zdGluZ0NvbnRleHQuaCAqLywKIAkJCQlCQ0UwOTM3NTE0RkIx
MjhCMDAxMTM4RDkgLyogTGF5ZXJIb3N0aW5nQ29udGV4dC5tbSAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448114</attachid>
            <date>2021-12-30 16:44:18 -0800</date>
            <delta_ts>2021-12-31 13:25:54 -0800</delta_ts>
            <desc>Fix Windows build</desc>
            <filename>bug-234757-20211230164417.patch</filename>
            <type>text/plain</type>
            <size>36578</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NDgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWU1YzU2MTk5Yzk2MThk
NmJjOGZlZTQwNDA4OTNmMjRlYTkyZjNjNy4uYmFjZmFiYmVmNGVkYjU5YmIyMjFjNTczMzMwMDg3
OTdiNWI3NDZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIxLTEyLTMwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJlZmFjdG9yIHNv
bWUgQ29jb2Etc3BlY2lmaWMgY29kZSBpbiBXZWJDb3JlOjpGb250QXR0cmlidXRlcyB0byBiZSBw
bGF0Zm9ybS1hZ25vc3RpYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM0NzU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUmVwbGFjZSB0aGUgVUlGb250L05TRm9udCBjdXJyZW50bHkgaW4gV2ViQ29yZTo6
Rm9udEF0dHJpYnV0ZXMgd2l0aCBhIFdlYkNvcmU6OkZvbnQgaW5zdGVhZC4gVGhpcyByZW1vdmVz
IGEgYml0CisgICAgICAgIG9mIHBsYXRmb3JtLXNwZWNpZmljIGxvZ2ljIGluIGFuIG90aGVyd2lz
ZSBwbGF0Zm9ybS1hZ25vc3RpYyBjbGFzcyAod2l0aCB0aGUgZXhjZXB0aW9uIG9mIGEgY291cGxl
IENvY29hLQorICAgICAgICBzcGVjaWZpYyBoZWxwZXIgbWV0aG9kcykuIFRoaXMgYWRkaXRpb25h
bGx5IGxldHMgdXMgcmVtb3ZlIHNvbWUgcGxhdGZvcm0tc3BlY2lmaWMgbG9naWMgZm9yIGNvbXB1
dGluZyBmb250CisgICAgICAgIGF0dHJpYnV0ZXMgKGkuZS4gYHBsYXRmb3JtRm9udEF0dHJpYnV0
ZXNBdFNlbGVjdGlvblN0YXJ0YCkgYmVsb3cuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RWRpdG9yOjpmb250QXR0cmlidXRlc0F0U2VsZWN0aW9uU3RhcnQpOgorICAg
ICAgICAoV2ViQ29yZTo6RWRpdG9yOjpwbGF0Zm9ybUZvbnRBdHRyaWJ1dGVzQXRTZWxlY3Rpb25T
dGFydCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuaDoKKyAgICAg
ICAgKiBlZGl0aW5nL0ZvbnRBdHRyaWJ1dGVzLmg6CisgICAgICAgIChXZWJDb3JlOjpUZXh0TGlz
dDo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRMaXN0OjpkZWNvZGUpOgor
CisgICAgICAgIERyaXZlLWJ5IGZpeDogaW5zdGVhZCBvZiBgc3RhdGljX2Nhc3RgLWluZyB0byBh
IHVpbnQ4X3QgYW5kIGVuY29kaW5nL2RlY29kaW5nIHRoZSByYXcgdmFsdWUsIGVuY29kZSBhbmQg
ZGVjb2RlCisgICAgICAgIHRoZSBMaXN0U3R5bGVUeXBlIGFzIGEgbm9ybWFsIGVudW0gaW5zdGVh
ZC4gVGhpcyBhbHNvIGVuc3VyZXMgdGhhdCB3ZSB2YWxpZGF0ZSB0aGUgZW51bSB2YWx1ZSB1cG9u
IGRlY29kaW5nLgorCisgICAgICAgIChXZWJDb3JlOjpGb250QXR0cmlidXRlczo6ZW5jb2RpbmdS
ZXF1aXJlc1BsYXRmb3JtRGF0YSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogZWRpdGluZy9j
b2NvYS9FZGl0b3JDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cGxhdGZvcm1G
b250QXR0cmlidXRlc0F0U2VsZWN0aW9uU3RhcnQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAq
IGVkaXRpbmcvY29jb2EvRm9udEF0dHJpYnV0ZXNDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRBdHRyaWJ1dGVzOjpjcmVhdGVEaWN0aW9uYXJ5IGNvbnN0KToKKworICAgICAgICBPbmx5
IGdyYWIgdGhlIE5TRm9udCBvciBVSUZvbnQgZnJvbSB0aGUgV2ViQ29yZTo6Rm9udCBvYmplY3Qg
b25jZSB3ZSdyZSBpbiB0aGlzIENvY29hLXNwZWNpZmljIGhlbHBlci4KKworICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5oOiBBZGRlZC4KKworICAgICAgICBNb3Zl
ZCBoZXJlIGZyb20gQ29jb2FGb250LmggaW4gV2ViS2l0LiBTZWUgV2ViS2l0L0NoYW5nZUxvZyBm
b3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
Q29uc3RhbnRzLmg6CisKKyAgICAgICAgQWRkIEVudW1UcmFpdHMgZm9yIExpc3RTdHlsZVR5cGUs
IHNvIHRoYXQgaXQgY2FuIGJlIGVuY29kZWQvZGVjb2RlZC4KKwogMjAyMS0xMi0yOSAgV2Vuc29u
IEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGluZyB0aGUg
ZmlsZSBuYW1lIG9mIGF0dGFjaG1lbnQtYmFja2VkIGltYWdlcyBzaG91bGQgYXV0b21hdGljYWxs
eSBzZXQgdGhlIGBhbHRgIGF0dHJpYnV0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBjZTI3ZTE0YzY5ZmQyNDRhZTdi
MjQ0NWUzZTQ5ODdjNmY3MWJiMjgzLi44OGYxZTY4Mzg3NTFlZTVmNGZjZWVjYWIxMDg4YTA1YzU3
ZWYwNzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDIxLTEyLTMwICBXZW5zb24gSHNp
ZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJlZmFjdG9yIHNvbWUgQ29j
b2Etc3BlY2lmaWMgY29kZSBpbiBXZWJDb3JlOjpGb250QXR0cmlidXRlcyB0byBiZSBwbGF0Zm9y
bS1hZ25vc3RpYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM0NzU3CisKKyAgICAgICAgU2VlIGNvbW1lbnRzIGJlbG93IChhcyB3ZWxsIGFzIFdlYkNv
cmUvQ2hhbmdlTG9nKSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGxhdGZvcm0vY29jb2EvQ29jb2FGb250Lmg6IFJl
bW92ZWQuCisKKyAgICAgICAgTW92ZSB0aGlzIGZpbGUgaW50byBXZWJDb3JlLCBhcyBgRm9udENv
Y29hLmhgLgorCisgICAgICAgICogU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EubW06
CisgICAgICAgICogU2hhcmVkL0NvY29hL0NvcmVUZXh0SGVscGVycy5oOgorICAgICAgICAqIFNo
YXJlZC9Db2NvYS9Db3JlVGV4dEhlbHBlcnMubW06CisKKyAgICAgICAgQWRqdXN0IGEgZmV3IHBs
YWNlcyB0aGF0IGN1cnJlbnRseSBpbXBvcnQgQ29jb2FGb250LmggdG8gaW1wb3J0IFdlYkNvcmUv
Rm9udENvY29hLmggaW5zdGVhZC4gQWRkaXRvbmFsbHksIGNoYW5nZQorICAgICAgICBDb2NvYUZv
bnQgdG8gV2ViQ29yZTo6Q29jb2FGb250IHdoZXJlIG5lY2Vzc2FyeS4KKworICAgICAgICAqIFNo
YXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbToKKyAgICAgICAgKElQQzo6
QXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGb250QXR0cmlidXRlcz46OmVuY29kZVBsYXRmb3JtRGF0
YSk6IERlbGV0ZWQuCisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Rm9udEF0
dHJpYnV0ZXM+OjpkZWNvZGVQbGF0Zm9ybURhdGEpOiBEZWxldGVkLgorCisgICAgICAgIFJlbW92
ZSBwbGF0Zm9ybS1zcGVjaWZpYyBGb250QXR0cmlidXRlcyBlbmNvZGluZy9kZWNvZGluZyBsb2dp
Yy4gVGhpcyBpcyBubyBsb25nZXIgbmVlZGVkLCBzaW5jZSB3ZSBqdXN0CisgICAgICAgIHByb3Bh
Z2F0ZSBhIEZvbnQgaW5zdGVhZCBvZiBhbiBOU0ZvbnQgb3IgVUlGb250LgorCisgICAgICAgICog
U2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHA6CisgICAgICAgIChJUEM6OkFyZ3VtZW50
Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENv
ZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZGVjb2RlKToKKworICAgICAgICBSZW1vdmUgdGhlIGNhbGxz
IHRvIGBlbmNvZGVQbGF0Zm9ybURhdGEvZGVjb2RlUGxhdGZvcm1EYXRhYCwgYW5kIGluc3RlYWQg
ZW5jb2RlIHRoZSBgUmVmUHRyPFdlYkNvcmU6OkZvbnQ+YC4KKworICAgICAgICAqIFNoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvcGxheXN0YXRpb24vV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzUGxheVN0YXRpb24uY3BwOgorICAgICAgICAoSVBDOjpBcmd1bWVu
dENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKTogRGVsZXRlZC4KKyAg
ICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46OmRlY29kZVBsYXRmb3Jt
RGF0YSk6IERlbGV0ZWQuCisgICAgICAgICogU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzU291cC5jcHA6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+
OjplbmNvZGVQbGF0Zm9ybURhdGEpOiBEZWxldGVkLgorICAgICAgICAoSVBDOjpBcmd1bWVudENv
ZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBTaGFyZWQvd2luL1dlYkNvcmVBcmd1bWVudENvZGVyc1dpbi5jcHA6CisgICAgICAgIChJ
UEM6OkFyZ3VtZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjplbmNvZGVQbGF0Zm9ybURhdGEpOiBE
ZWxldGVkLgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZGVj
b2RlUGxhdGZvcm1EYXRhKTogRGVsZXRlZC4KKworICAgICAgICBSZW1vdmUgc29tZSBtZXRob2Qg
c3R1YnMgdGhhdCBhcmUgbm93IHVubmVjZXNzYXJ5LgorCisgICAgICAgICogVUlQcm9jZXNzL0Nv
Y29hL1dLU2FmZUJyb3dzaW5nV2FybmluZy5tbToKKyAgICAgICAgKGZvbnRPZlNpemUpOgorICAg
ICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDIxLTEyLTI2ICBT
YW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXBsYWNlIFdlYktpdC9D
b2NvYUNvbG9yLmggd2l0aCBXZWJDb3JlL0NvbG9yQ29jb2EuaCwgbm90IGNvbmZ1c2luZyBhdCBh
bGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCBiNjYyYjA4N2U3MmVkZTZlYzdjOTM1ZGZhNDdmMDdlMGRjNGQwNzZmLi4zYzllYzI1
YzBhOTI0NjA2YWUyZWIzMjc2NGExNzhkZGNjOTQ0M2Y4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01NTExLDYgKzU1MTEsNyBA
QAogCQlGNDhEMkFBNTIxNTk3NDBEMDBDNjc1MkIgLyogQ29sb3JDb2NvYS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ4RDJBQTMyMTU5NzQwRDAwQzY3
NTJCIC8qIENvbG9yQ29jb2EuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlGNDkzMjg4MzI3NjkwNDFCMDAzRTIwRjggLyogTW9kYWxDb250YWluZXJU
eXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ5
MzI4ODIyNzY5MDQxQjAwM0UyMEY4IC8qIE1vZGFsQ29udGFpbmVyVHlwZXMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGNDk3ODY4ODFGRjQ1RkE1
MDBFMDYwQUIgLyogUGFzdGVib2FyZEl0ZW1JbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDk3ODY4NzFGRjQ1RkE1MDBFMDYwQUIgLyogUGFzdGVi
b2FyZEl0ZW1JbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJRjRBMDY0QzgyNzdFNDhDOTAwQjA2QTE3IC8qIEZvbnRDb2NvYS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRBMDY0QzYyNzdFNDhDNjAw
QjA2QTE3IC8qIEZvbnRDb2NvYS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUY0QjAwMTg5MjZFN0YyMUYwMDZFQUFCRSAvKiBIVE1MQXRvbVN0cmlu
Z0NhY2hlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
NEIwMDE4NzI2RTdGMjFGMDA2RUFBQkUgLyogSFRNTEF0b21TdHJpbmdDYWNoZS5oICovOyB9Owog
CQlGNEIyQTkwOTI2NTAzMEJBMDA5RTcyODYgLyogRGF0YURldGVjdG9ySGlnaGxpZ2h0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNEIyQTkwNjI2NTAy
QkEwMDA5RTcyODYgLyogRGF0YURldGVjdG9ySGlnaGxpZ2h0LmggKi87IH07CiAJCUY0QjQyMkM0
MjIwQzA1NjgwMDlFMUU3RCAvKiBET01QYXN0ZUFjY2Vzcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRCNDIyQzIyMjBDMDAwMDAwOUUxRTdEIC8qIERP
TVBhc3RlQWNjZXNzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKQEAgLTE3NzQyLDYgKzE3NzQzLDcgQEAKIAkJRjQ5MzI4ODIyNzY5MDQxQjAwM0UyMEY4
IC8qIE1vZGFsQ29udGFpbmVyVHlwZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTW9kYWxDb250YWluZXJU
eXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDk3ODY4NzFGRjQ1RkE1MDBF
MDYwQUIgLyogUGFzdGVib2FyZEl0ZW1JbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhc3RlYm9hcmRJ
dGVtSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDlFOThFNDIxREVFNkMx
MDA5QUU1NUUgLyogRWRpdEFjdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFZGl0QWN0aW9u
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjRBMDY0QzYyNzdFNDhDNjAwQjA2
QTE3IC8qIEZvbnRDb2NvYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb250
Q29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjRCMDAxODcyNkU3RjIxRjAw
NkVBQUJFIC8qIEhUTUxBdG9tU3RyaW5nQ2FjaGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTEF0b21T
dHJpbmdDYWNoZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNEIwMDE4ODI2RTdG
MjFGMDA2RUFBQkUgLyogSFRNTEF0b21TdHJpbmdDYWNoZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBIVE1MQXRvbVN0cmluZ0NhY2hlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RjRCMkE5MDYyNjUwMkJBMDAwOUU3Mjg2IC8qIERhdGFEZXRlY3RvckhpZ2hsaWdodC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBEYXRhRGV0ZWN0b3JIaWdobGlnaHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTI5MDUzLDYgKzI5MDU1LDcgQEAKIAkJCQlDMjQ1OEU2MTFGRTg5NzlFMDA1OTQ3
NTkgLyogRm9udENhY2hlQ29yZVRleHQuaCAqLywKIAkJCQlCMkFGRkM3ODBEMDBBNUMxMDAzMDA3
NEQgLyogRm9udENhc2NhZGVDb2NvYS5jcHAgKi8sCiAJCQkJMUM2RkQ4QjAyNTBBMzVGMTAwRDZF
OTIwIC8qIEZvbnRDb2NvYS5jcHAgKi8sCisJCQkJRjRBMDY0QzYyNzdFNDhDNjAwQjA2QTE3IC8q
IEZvbnRDb2NvYS5oICovLAogCQkJCTFDMTJBQzJDMUVFNzc5OTUwMDc5RTBBMCAvKiBGb250RGVz
Y3JpcHRpb25Db2NvYS5jcHAgKi8sCiAJCQkJMUMxMkFDMjgxRUU3NzhBRTAwNzlFMEEwIC8qIEZv
bnRGYW1pbHlTcGVjaWZpY2F0aW9uQ29yZVRleHQuY3BwICovLAogCQkJCTFDMTJBQzI5MUVFNzc4
QUUwMDc5RTBBMCAvKiBGb250RmFtaWx5U3BlY2lmaWNhdGlvbkNvcmVUZXh0LmggKi8sCkBAIC0z
NDQwOSw2ICszNDQxMiw3IEBACiAJCQkJQjJDM0RBNjEwRDAwNkNENjAwRUY2RjI2IC8qIEZvbnRD
YXNjYWRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNEU4QjRGNTIxNkI5NTY1MDBCODgzNEQgLyog
Rm9udENhc2NhZGVEZXNjcmlwdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJDM0RBNjgwRDAw
NkNENjAwRUY2RjI2IC8qIEZvbnRDYXNjYWRlRm9udHMuaCBpbiBIZWFkZXJzICovLAorCQkJCUY0
QTA2NEM4Mjc3RTQ4QzkwMEIwNkExNyAvKiBGb250Q29jb2EuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFDMjY2NzFCMjZGQTkzMkYwMDExNzA3MyAvKiBGb250Q3JlYXRpb25Db250ZXh0LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCMkFGRkM3RTBEMDBBNUMxMDAzMDA3NEQgLyogRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJDM0RBNjYwRDAwNkNENjAwRUY2RjI2IC8q
IEZvbnREZXNjcmlwdGlvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNDUwOCw2ICszNDUxMiw3IEBA
CiAJCQkJQkM1M0M1RjUwREE1NkI5MjAwMjFFQjVEIC8qIEdyYWRpZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQlCMjIyNzk2NDBEMDBCRjIyMDA3MUI3ODIgLyogR3JhZGllbnRBdHRyaWJ1dGVzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzE5Q0RGNDI3NzEwNjM5MDA1M0Y3MzQgLyogR3JhZGllbnRD
b2xvclN0b3AuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDMTlDRTJCMjc3MkJGN0IwMDUzRjczNCAv
KiBHcmFkaWVudENvbG9yU3RvcHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTJENDgxRjA0MTQ2QjVD
NkIwMEFBNzgzNCAvKiBHcmFkaWVudEltYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE5Q0RG
MjI3NkZGQzZEMDA1M0Y3MzQgLyogR3JhZGllbnRSZW5kZXJlckNHLmggaW4gSGVhZGVycyAqLywK
IAkJCQk3QkI2ODBCQTI1QkExQkU0MDAyQjg3MzggLyogR3JhcGhpY3NDaGVja3NNYWMuaCBpbiBI
ZWFkZXJzICovLApAQCAtMzc1NzMsNyArMzc1NzgsNiBAQAogCQkJCUJFOTEzRDgwMTgxRUY5MjQw
MERDQjA5RSAvKiBUcmFja1ByaXZhdGVCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDFGOUIx
QzI3MDI0QkMyMDA2MTdFQjYgLyogVHJhY2tQcml2YXRlQmFzZUNsaWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRkZBQzMwRkUxODRGQjE0NTAwOEM0RjFFIC8qIFRyYWlsaW5nT2JqZWN0cy5oIGlu
IEhlYWRlcnMgKi8sCi0JCQkJQkMxOUNFMkIyNzcyQkY3QjAwNTNGNzM0IC8qIEdyYWRpZW50Q29s
b3JTdG9wcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE2MDcxMzIxQkQ4MzA4QjAwREJDNEYyIC8q
IFRyYW5zYWN0aW9uT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDNFRUY0MTI1Nzk5
RkQ5MDA2NTYzQkIgLyogVHJhbnNmZXJGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlF
OTExQzQwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9ybWF0aW9uTWF0cml4LmggaW4gSGVhZGVy
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCBiMGNiNjgzM2I4ZmYyNDZjNzA1
NmYzZmQyNmMwNjMxMmY5Y2FkOGM0Li45ZTZjYmY5OTE5MzRkYzc1MDU3OTlkMzQ0OWU3ZTJjZTJi
MWFkZGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC0zOTk3LDEwICszOTk3LDYg
QEAgdm9pZCBFZGl0b3I6OnNjaGVkdWxlRWRpdG9yVUlVcGRhdGUoKQogCiAjaWYgIVBMQVRGT1JN
KENPQ09BKQogCi12b2lkIEVkaXRvcjo6cGxhdGZvcm1Gb250QXR0cmlidXRlc0F0U2VsZWN0aW9u
U3RhcnQoRm9udEF0dHJpYnV0ZXMmLCBjb25zdCBSZW5kZXJTdHlsZSYpIGNvbnN0Ci17Ci19Ci0K
IFN0cmluZyBFZGl0b3I6OnBsYXRmb3JtQ29udGVudFR5cGVGb3JCbG9iVHlwZShjb25zdCBTdHJp
bmcmIHR5cGUpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHR5cGU7CkBAIC00MDQ0LDYgKzQwNDAsMTAg
QEAgc3RhdGljIFZlY3RvcjxUZXh0TGlzdD4gZWRpdGFibGVUZXh0TGlzdHNBdFBvc2l0aW9uSW5E
ZXNjZW5kaW5nT3JkZXIoY29uc3QgUG9zaXQKIAogRm9udEF0dHJpYnV0ZXMgRWRpdG9yOjpmb250
QXR0cmlidXRlc0F0U2VsZWN0aW9uU3RhcnQoKQogeworICAgIEZvbnRBdHRyaWJ1dGVzIGF0dHJp
YnV0ZXM7CisgICAgYm9vbCBoYXNNdWx0aXBsZUZvbnRzID0gZmFsc2U7IC8vIEZJWE1FOiBUaGlz
IHdpbGwgYmUgaW5jbHVkZWQgYXMgYSBwYXJ0IG9mIEZvbnRBdHRyaWJ1dGVzIGluIGEgZnV0dXJl
IHBhdGNoLgorICAgIGF0dHJpYnV0ZXMuZm9udCA9IGZvbnRGb3JTZWxlY3Rpb24oaGFzTXVsdGlw
bGVGb250cyk7CisKICAgICBSZWZQdHI8Tm9kZT4gbm9kZVRvUmVtb3ZlOwogICAgIGF1dG8gbm9k
ZVJlbW92YWxTY29wZSA9IG1ha2VTY29wZUV4aXQoWyZub2RlVG9SZW1vdmVdKCkgewogICAgICAg
ICBpZiAobm9kZVRvUmVtb3ZlKQpAQCAtNDA1Niw5ICs0MDU2LDYgQEAgRm9udEF0dHJpYnV0ZXMg
RWRpdG9yOjpmb250QXR0cmlidXRlc0F0U2VsZWN0aW9uU3RhcnQoKQogCiAgICAgU2NyaXB0RGlz
YWxsb3dlZFNjb3BlOjpJbk1haW5UaHJlYWQgc2NyaXB0RGlzYWxsb3dlZFNjb3BlOwogCi0gICAg
Rm9udEF0dHJpYnV0ZXMgYXR0cmlidXRlczsKLSAgICBwbGF0Zm9ybUZvbnRBdHRyaWJ1dGVzQXRT
ZWxlY3Rpb25TdGFydChhdHRyaWJ1dGVzLCAqc3R5bGUpOwotCiAgICAgLy8gRklYTUU6IGZvciBu
b3csIGFsd2F5cyByZXBvcnQgdGhlIGNvbG9ycyBhZnRlciBhcHBseWluZyAtYXBwbGUtY29sb3It
ZmlsdGVyLiBJbiBmdXR1cmUgbm90IGFsbCBjbGllbnRzCiAgICAgLy8gbWF5IHdhbnQgdGhpcywg
c28gd2UgbWF5IGhhdmUgdG8gYWRkIGEgc2V0dGluZyB0byBjb250cm9sIGl0LiBTZWUgYWxzbyBl
ZGl0aW5nQXR0cmlidXRlZFN0cmluZ0Zyb21SYW5nZSgpLgogICAgIGF1dG8gYmFja2dyb3VuZENv
bG9yID0gc3R5bGUtPnZpc2l0ZWREZXBlbmRlbnRDb2xvcldpdGhDb2xvckZpbHRlcihDU1NQcm9w
ZXJ0eUJhY2tncm91bmRDb2xvcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0VkaXRvci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAppbmRleCA4NmQ4Yzhj
MjYwMTgzMGJkYzNhOTdmODczNzlmYTAxZTNlZGM4ZDYwLi5jM2EzNGY1ZmY0MjdjZGRhZGViYzk0
MzMwZDdiOTU2MDc1MWEzNjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Vk
aXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKQEAgLTYzMSw3ICs2
MzEsNiBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBSZWZQdHI8U2hhcmVkQnVmZmVyPiBkYXRhSW5S
VEZERm9ybWF0KE5TQXR0cmlidXRlZFN0cmluZyAqKTsKICAgICBzdGF0aWMgUmVmUHRyPFNoYXJl
ZEJ1ZmZlcj4gZGF0YUluUlRGRm9ybWF0KE5TQXR0cmlidXRlZFN0cmluZyAqKTsKICNlbmRpZgot
ICAgIHZvaWQgcGxhdGZvcm1Gb250QXR0cmlidXRlc0F0U2VsZWN0aW9uU3RhcnQoRm9udEF0dHJp
YnV0ZXMmLCBjb25zdCBSZW5kZXJTdHlsZSYpIGNvbnN0OwogCiAgICAgdm9pZCBzY2hlZHVsZUVk
aXRvclVJVXBkYXRlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRm9u
dEF0dHJpYnV0ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRm9udEF0dHJpYnV0ZXMuaApp
bmRleCA3NzAwNTU0NWU3ZmVhYTE2ZWMyMWY1ODNkNGRjNGM4YjE0ZTFhNzcyLi45MWRlNDQ1MzBj
MWQ4YWYzNTVkZGFiYzNkYWYxMDBlZGUxOTViMTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0ZvbnRBdHRyaWJ1dGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9G
b250QXR0cmlidXRlcy5oCkBAIC0yNSwxNCArMjUsMTMgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNp
bmNsdWRlICJGb250LmgiCiAjaW5jbHVkZSAiRm9udFNoYWRvdy5oIgogI2luY2x1ZGUgIlJlbmRl
clN0eWxlQ29uc3RhbnRzLmgiCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCiBPQkpDX0NM
QVNTIE5TRGljdGlvbmFyeTsKLU9CSkNfQ0xBU1MgTlNGb250OwogT0JKQ19DTEFTUyBOU1RleHRM
aXN0OwotT0JKQ19DTEFTUyBVSUZvbnQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTEs
MTIgKzUwLDEyIEBAIHN0cnVjdCBUZXh0TGlzdCB7CiAKIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+
IGlubGluZSB2b2lkIFRleHRMaXN0OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsK
LSAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQ4X3Q+KHN0eWxlKSA8PCBzdGFydGluZ0l0
ZW1OdW1iZXIgPDwgb3JkZXJlZDsKKyAgICBlbmNvZGVyIDw8IHN0eWxlIDw8IHN0YXJ0aW5nSXRl
bU51bWJlciA8PCBvcmRlcmVkOwogfQogCiB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBpbmxpbmUg
c3RkOjpvcHRpb25hbDxUZXh0TGlzdD4gVGV4dExpc3Q6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVy
KQogewotICAgIHN0ZDo6b3B0aW9uYWw8dWludDhfdD4gc3R5bGU7CisgICAgc3RkOjpvcHRpb25h
bDxMaXN0U3R5bGVUeXBlPiBzdHlsZTsKICAgICBkZWNvZGVyID4+IHN0eWxlOwogICAgIGlmICgh
c3R5bGUpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CkBAIC03MSw3ICs3MCw3IEBAIHRl
bXBsYXRlPGNsYXNzIERlY29kZXI+IGlubGluZSBzdGQ6Om9wdGlvbmFsPFRleHRMaXN0PiBUZXh0
TGlzdDo6ZGVjb2RlKERlY29kZXImCiAgICAgaWYgKCFvcmRlcmVkKQogICAgICAgICByZXR1cm4g
c3RkOjpudWxsb3B0OwogCi0gICAgcmV0dXJuIHt7IHN0YXRpY19jYXN0PExpc3RTdHlsZVR5cGU+
KFdURk1vdmUoKnN0eWxlKSksIFdURk1vdmUoKnN0YXJ0aW5nSXRlbU51bWJlciksIFdURk1vdmUo
Km9yZGVyZWQpIH19OworICAgIHJldHVybiB7IHsgKnN0eWxlLCAqc3RhcnRpbmdJdGVtTnVtYmVy
LCAqb3JkZXJlZCB9IH07CiB9CiAKIHN0cnVjdCBGb250QXR0cmlidXRlcyB7CkBAIC03OSwxOCAr
NzgsMTAgQEAgc3RydWN0IEZvbnRBdHRyaWJ1dGVzIHsKICAgICBlbnVtIGNsYXNzIEhvcml6b250
YWxBbGlnbm1lbnQgOiB1aW50OF90IHsgTGVmdCwgQ2VudGVyLCBSaWdodCwgSnVzdGlmeSwgTmF0
dXJhbCB9OwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgYm9vbCBlbmNvZGluZ1JlcXVpcmVz
UGxhdGZvcm1EYXRhKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQotCiAgICAgV0VCQ09SRV9FWFBP
UlQgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4gY3JlYXRlRGljdGlvbmFyeSgpIGNvbnN0OwotI2Vs
c2UKLSAgICBib29sIGVuY29kaW5nUmVxdWlyZXNQbGF0Zm9ybURhdGEoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpCi0gICAgUmV0YWluUHRyPE5T
Rm9udD4gZm9udDsKLSNlbGlmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgUmV0YWluUHRyPFVJ
Rm9udD4gZm9udDsKLSNlbmRpZgorICAgIFJlZlB0cjxGb250PiBmb250OwogICAgIENvbG9yIGJh
Y2tncm91bmRDb2xvcjsKICAgICBDb2xvciBmb3JlZ3JvdW5kQ29sb3I7CiAgICAgRm9udFNoYWRv
dyBmb250U2hhZG93OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9F
ZGl0b3JDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRWRpdG9yQ29jb2Eu
bW0KaW5kZXggYTg1YjdhYTc1MjZiMmY3YzUxYTNmNWM0NjdiZWIzNTBlOTkxNGFhYi4uMzhkYmQy
NTkzYjg2YmJhOWE5MGNhZWIzMDBmZmFmMGY5YTkyODMzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL2NvY29hL0VkaXRvckNvY29hLm1tCkBAIC02NSwxMiArNjUsNiBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLXZvaWQgRWRpdG9yOjpwbGF0Zm9ybUZvbnRBdHRyaWJ1dGVzQXRTZWxl
Y3Rpb25TdGFydChGb250QXR0cmlidXRlcyYgYXR0cmlidXRlcywgY29uc3QgUmVuZGVyU3R5bGUm
IHN0eWxlKSBjb25zdAotewotICAgIGlmIChhdXRvIGN0Rm9udCA9IHN0eWxlLmZvbnRDYXNjYWRl
KCkucHJpbWFyeUZvbnQoKS5nZXRDVEZvbnQoKSkKLSAgICAgICAgYXR0cmlidXRlcy5mb250ID0g
KF9fYnJpZGdlIGlkKWN0Rm9udDsKLX0KLQogc3RhdGljIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGFy
Y2hpdmVkRGF0YUZvckF0dHJpYnV0ZWRTdHJpbmcoTlNBdHRyaWJ1dGVkU3RyaW5nICphdHRyaWJ1
dGVkU3RyaW5nKQogewogICAgIGlmICghYXR0cmlidXRlZFN0cmluZy5sZW5ndGgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0ZvbnRBdHRyaWJ1dGVzQ29jb2EubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0ZvbnRBdHRyaWJ1dGVzQ29jb2EubW0KaW5k
ZXggNDRiNDg3YzIyMThkNGI2YjkyMDAxMDc1NjA5Yjk5YmI4ZmQ0MjJiOC4uZmEwZGE1ZGU2MWU1
YWU1NmU5MjVlY2E0Y2QxZjhkODg4ZmRkM2QwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9jb2NvYS9Gb250QXR0cmlidXRlc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvY29jb2EvRm9udEF0dHJpYnV0ZXNDb2NvYS5tbQpAQCAtMjcsNiArMjcsNyBAQAog
I2ltcG9ydCAiRm9udEF0dHJpYnV0ZXMuaCIKIAogI2ltcG9ydCAiQ29sb3JDb2NvYS5oIgorI2lt
cG9ydCAiRm9udENvY29hLmgiCiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL05TQXR0cmlidXRlZFN0
cmluZ1NQSS5oPgogI2ltcG9ydCA8d3RmL2NvY29hL1ZlY3RvckNvY29hLmg+CiAKQEAgLTg3LDgg
Kzg4LDggQEAgUmV0YWluUHRyPE5TVGV4dExpc3Q+IFRleHRMaXN0OjpjcmVhdGVUZXh0TGlzdCgp
IGNvbnN0CiBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBGb250QXR0cmlidXRlczo6Y3JlYXRlRGlj
dGlvbmFyeSgpIGNvbnN0CiB7CiAgICAgTlNNdXRhYmxlRGljdGlvbmFyeSAqYXR0cmlidXRlcyA9
IFtOU011dGFibGVEaWN0aW9uYXJ5IGRpY3Rpb25hcnldOwotICAgIGlmIChmb250KQotICAgICAg
ICBhdHRyaWJ1dGVzW05TRm9udEF0dHJpYnV0ZU5hbWVdID0gZm9udC5nZXQoKTsKKyAgICBpZiAo
YXV0byBjb2NvYUZvbnQgPSBmb250ID8gKF9fYnJpZGdlIENvY29hRm9udCAqKWZvbnQtPmdldENU
Rm9udCgpIDogbmlsKQorICAgICAgICBhdHRyaWJ1dGVzW05TRm9udEF0dHJpYnV0ZU5hbWVdID0g
Y29jb2FGb250OwogCiAgICAgaWYgKGZvcmVncm91bmRDb2xvci5pc1ZhbGlkKCkpCiAgICAgICAg
IGF0dHJpYnV0ZXNbTlNGb3JlZ3JvdW5kQ29sb3JBdHRyaWJ1dGVOYW1lXSA9IGNvY29hQ29sb3Io
Zm9yZWdyb3VuZENvbG9yKS5nZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvRm9udENvY29hLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDQ2ZTFjZmNiZjI1NDdkNTMx
NWYxNWMyMzMxM2JkNmJjYjRjOGQ0NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5oCkBAIC0wLDAgKzEsNDggQEAKKy8q
CisqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisq
CisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisq
CisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpbmNsdWRlIDx3dGYvQ29tcGlsZXIuaD4KKworI2lmIFVTRShBUFBLSVQpCitPQkpDX0NM
QVNTIE5TRm9udDsKK09CSkNfQ0xBU1MgTlNGb250RGVzY3JpcHRvcjsKKyNlbHNlCitPQkpDX0NM
QVNTIFVJRm9udDsKK09CSkNfQ0xBU1MgVUlGb250RGVzY3JpcHRvcjsKKyNlbmRpZgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKKyNpZiBVU0UoQVBQS0lUKQordXNpbmcgQ29jb2FGb250ID0gTlNG
b250OwordXNpbmcgQ29jb2FGb250RGVzY3JpcHRvciA9IE5TRm9udERlc2NyaXB0b3I7CisjZWxz
ZQordXNpbmcgQ29jb2FGb250ID0gVUlGb250OwordXNpbmcgQ29jb2FGb250RGVzY3JpcHRvciA9
IFVJRm9udERlc2NyaXB0b3I7CisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3Rh
bnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFu
dHMuaAppbmRleCA4NDk4NzE4ZTc4NjBmZTVhMjYwMTVmNDA0MzljZTEyMzM5ZmE0ZWFlLi4wOWZh
NmIwYTBhOTQ5NjFiY2MwNTNhYTcyZDRiMmZhNmFjMjQ2ZWZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaApAQCAtMTM2
MCw0ICsxMzYwLDEwNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlNj
cm9sbFNuYXBTdG9wPiB7CiAgICAgICAgIFdlYkNvcmU6OlNjcm9sbFNuYXBTdG9wOjpBbHdheXMK
ICAgICA+OwogfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpMaXN0
U3R5bGVUeXBlPiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2Vi
Q29yZTo6TGlzdFN0eWxlVHlwZSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6RGlz
YywKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6Q2lyY2xlLAorICAgICAgICBXZWJD
b3JlOjpMaXN0U3R5bGVUeXBlOjpTcXVhcmUsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5
cGU6OkRlY2ltYWwsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkRlY2ltYWxMZWFk
aW5nWmVybywKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6QXJhYmljSW5kaWMsCisg
ICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkJpbmFyeSwKKyAgICAgICAgV2ViQ29yZTo6
TGlzdFN0eWxlVHlwZTo6QmVuZ2FsaSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6
Q2FtYm9kaWFuLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpLaG1lciwKKyAgICAg
ICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6RGV2YW5hZ2FyaSwKKyAgICAgICAgV2ViQ29yZTo6
TGlzdFN0eWxlVHlwZTo6R3VqYXJhdGksCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6
Okd1cm11a2hpLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpLYW5uYWRhLAorICAg
ICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpMb3dlckhleGFkZWNpbWFsLAorICAgICAgICBX
ZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpMYW8sCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5
cGU6Ok1hbGF5YWxhbSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6TW9uZ29saWFu
LAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpNeWFubWFyLAorICAgICAgICBXZWJD
b3JlOjpMaXN0U3R5bGVUeXBlOjpPY3RhbCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlw
ZTo6T3JpeWEsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlBlcnNpYW4sCisgICAg
ICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlVyZHUsCisgICAgICAgIFdlYkNvcmU6Okxpc3RT
dHlsZVR5cGU6OlRlbHVndSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VGliZXRh
biwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VGhhaSwKKyAgICAgICAgV2ViQ29y
ZTo6TGlzdFN0eWxlVHlwZTo6VXBwZXJIZXhhZGVjaW1hbCwKKyAgICAgICAgV2ViQ29yZTo6TGlz
dFN0eWxlVHlwZTo6TG93ZXJSb21hbiwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6
VXBwZXJSb21hbiwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6TG93ZXJHcmVlaywK
KyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6TG93ZXJBbHBoYSwKKyAgICAgICAgV2Vi
Q29yZTo6TGlzdFN0eWxlVHlwZTo6TG93ZXJMYXRpbiwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0
eWxlVHlwZTo6VXBwZXJBbHBoYSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VXBw
ZXJMYXRpbiwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6QWZhciwKKyAgICAgICAg
V2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZUFhRXQsCisgICAgICAgIFdl
YkNvcmU6Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVBYUVyLAorICAgICAgICBXZWJD
b3JlOjpMaXN0U3R5bGVUeXBlOjpBbWhhcmljLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVU
eXBlOjpFdGhpb3BpY0hhbGVoYW1lQW1FdCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlw
ZTo6QW1oYXJpY0FiZWdlZGUsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkV0aGlv
cGljQWJlZ2VkZUFtRXQsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkNKS0VhcnRo
bHlCcmFuY2gsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkNKS0hlYXZlbmx5U3Rl
bSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6RXRoaW9waWMsCisgICAgICAgIFdl
YkNvcmU6Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVHZXosCisgICAgICAgIFdlYkNv
cmU6Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZSwKKyAgICAgICAgV2ViQ29yZTo6TGlz
dFN0eWxlVHlwZTo6RXRoaW9waWNBYmVnZWRlR2V6LAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5
bGVUeXBlOjpIYW5ndWxDb25zb25hbnQsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6
Okhhbmd1bCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6TG93ZXJOb3J3ZWdpYW4s
CisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6Ok9yb21vLAorICAgICAgICBXZWJDb3Jl
OjpMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lT21FdCwKKyAgICAgICAgV2ViQ29yZTo6
TGlzdFN0eWxlVHlwZTo6U2lkYW1hLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpF
dGhpb3BpY0hhbGVoYW1lU2lkRXQsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlNv
bWFsaSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZVNv
RXQsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlRpZ3JlLAorICAgICAgICBXZWJD
b3JlOjpMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lVGlnLAorICAgICAgICBXZWJDb3Jl
OjpMaXN0U3R5bGVUeXBlOjpUaWdyaW55YUVyLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVU
eXBlOjpFdGhpb3BpY0hhbGVoYW1lVGlFciwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlw
ZTo6VGlncmlueWFFckFiZWdlZGUsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkV0
aGlvcGljQWJlZ2VkZVRpRXIsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlRpZ3Jp
bnlhRXQsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVU
aUV0LAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpUaWdyaW55YUV0QWJlZ2VkZSwK
KyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6RXRoaW9waWNBYmVnZWRlVGlFdCwKKyAg
ICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VXBwZXJHcmVlaywKKyAgICAgICAgV2ViQ29y
ZTo6TGlzdFN0eWxlVHlwZTo6VXBwZXJOb3J3ZWdpYW4sCisgICAgICAgIFdlYkNvcmU6Okxpc3RT
dHlsZVR5cGU6OkFzdGVyaXNrcywKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6Rm9v
dG5vdGVzLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpIZWJyZXcsCisgICAgICAg
IFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkFybWVuaWFuLAorICAgICAgICBXZWJDb3JlOjpMaXN0
U3R5bGVUeXBlOjpMb3dlckFybWVuaWFuLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBl
OjpVcHBlckFybWVuaWFuLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpHZW9yZ2lh
biwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6Q0pLSWRlb2dyYXBoaWMsCisgICAg
ICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkhpcmFnYW5hLAorICAgICAgICBXZWJDb3JlOjpM
aXN0U3R5bGVUeXBlOjpLYXRha2FuYSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6
SGlyYWdhbmFJcm9oYSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6S2F0YWthbmFJ
cm9oYSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6Q0pLRGVjaW1hbCwKKyAgICAg
ICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VGFtaWwsCisgICAgICAgIFdlYkNvcmU6Okxpc3RT
dHlsZVR5cGU6OkRpc2Nsb3N1cmVPcGVuLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBl
OjpEaXNjbG9zdXJlQ2xvc2VkLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpKYXBh
bmVzZUluZm9ybWFsLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpKYXBhbmVzZUZv
cm1hbCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6S29yZWFuSGFuZ3VsRm9ybWFs
LAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpLb3JlYW5IYW5qYUluZm9ybWFsLAor
ICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpLb3JlYW5IYW5qYUZvcm1hbCwKKyAgICAg
ICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6U2ltcGxpZmllZENoaW5lc2VJbmZvcm1hbCwKKyAg
ICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6U2ltcGxpZmllZENoaW5lc2VGb3JtYWwsCisg
ICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlRyYWRpdGlvbmFsQ2hpbmVzZUluZm9ybWFs
LAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpUcmFkaXRpb25hbENoaW5lc2VGb3Jt
YWwsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljTnVtZXJpYywKKyAg
ICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6U3RyaW5nLAorICAgICAgICBXZWJDb3JlOjpM
aXN0U3R5bGVUeXBlOjpOb25lCisgICAgPjsKK307CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vY29jb2EvQ29jb2FGb250LmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L2NvY29hL0NvY29hRm9udC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYzE3NmY5
YzlmNzQ0NTJiNTEzYTgwOTA0ZDhlODI2NjQ4NzhhYTA1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvQ29j
b2FGb250LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi0vKgotKiBDb3B5cmlnaHQg
KEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotKgotKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0qIGFyZSBtZXQ6Ci0qIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0qICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotKgotKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCi0qIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0qIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwot
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCi0qIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0qIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgotKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0qIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSA8
d3RmL0NvbXBpbGVyLmg+Ci0KLSNpZiBVU0UoQVBQS0lUKQotT0JKQ19DTEFTUyBOU0ZvbnQ7Ci1P
QkpDX0NMQVNTIE5TRm9udERlc2NyaXB0b3I7Ci11c2luZyBDb2NvYUZvbnQgPSBOU0ZvbnQ7Ci11
c2luZyBDb2NvYUZvbnREZXNjcmlwdG9yID0gTlNGb250RGVzY3JpcHRvcjsKLSNlbHNlCi1PQkpD
X0NMQVNTIFVJRm9udDsKLU9CSkNfQ0xBU1MgVUlGb250RGVzY3JpcHRvcjsKLXVzaW5nIENvY29h
Rm9udCA9IFVJRm9udDsKLXVzaW5nIENvY29hRm9udERlc2NyaXB0b3IgPSBVSUZvbnREZXNjcmlw
dG9yOwotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1
bWVudENvZGVyc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRD
b2RlcnNDb2NvYS5tbQppbmRleCAwZjYzY2M0Njk5ZWJlMDI4NThiMmIzNmUyOTA3YzE0NTg0MGIw
Y2E2Li4xMjhhYThjNDg2Yzk2YjliZWQyZTNmNmUwN2Y1NzBhZWY1YzBlNWYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EubW0KQEAgLTI5
LDExICsyOSwxMSBAQAogI2lmIFBMQVRGT1JNKENPQ09BKQogCiAjaW1wb3J0ICJBcmd1bWVudENv
ZGVyc0NGLmgiCi0jaW1wb3J0ICJDb2NvYUZvbnQuaCIKICNpbXBvcnQgIkNvcmVUZXh0SGVscGVy
cy5oIgogI2ltcG9ydCA8Q29yZVRleHQvQ1RGb250Lmg+CiAjaW1wb3J0IDxDb3JlVGV4dC9DVEZv
bnREZXNjcmlwdG9yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NvbG9yQ29jb2EuaD4KKyNpbXBvcnQg
PFdlYkNvcmUvRm9udENvY29hLmg+CiAjaW1wb3J0IDx3dGYvQmxvY2tPYmpDRXhjZXB0aW9ucy5o
PgogI2ltcG9ydCA8d3RmL0hhc2hTZXQuaD4KICNpbXBvcnQgPHd0Zi9jZi9DRlVSTEV4dHJhcy5o
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZVRleHRIZWxwZXJz
LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlVGV4dEhlbHBlcnMuaAppbmRleCA1
NzY0ODNjMmYxY2FjMDllZTg2MmQxYTljNjRhM2VhOGFmZWUzZDU4Li40MGM0YTI4YzhmMGZlYTAw
NGJkYjNjN2NhOTliNDM2NmYwMWIzZTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9Db2NvYS9Db3JlVGV4dEhlbHBlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2Nv
YS9Db3JlVGV4dEhlbHBlcnMuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAot
I2ltcG9ydCAiQ29jb2FGb250LmgiCisjaW1wb3J0IDxXZWJDb3JlL0ZvbnRDb2NvYS5oPgogI2lt
cG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiAjaWYgVVNFKEFQUEtJVCkKQEAgLTM2LDYgKzM2LDYg
QEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLUNvY29hRm9udCAqZm9udFdpdGhBdHRyaWJ1dGVz
KE5TRGljdGlvbmFyeSAqYXR0cmlidXRlcywgQ0dGbG9hdCBzaXplKTsKK1dlYkNvcmU6OkNvY29h
Rm9udCAqZm9udFdpdGhBdHRyaWJ1dGVzKE5TRGljdGlvbmFyeSAqYXR0cmlidXRlcywgQ0dGbG9h
dCBzaXplKTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29y
ZVRleHRIZWxwZXJzLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZVRleHRIZWxw
ZXJzLm1tCmluZGV4IGEyNTEwYzY0MzUwNGQ4Mzk1NWRmOTQyZWY0Nzc0NzM1MWM5ZWZiYzYuLmJk
MTEwYjRiOTE4ZWVkMzNlYzdhMGMyN2Y5ZDZkOTRmMjExMWJkNDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVUZXh0SGVscGVycy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9Db2NvYS9Db3JlVGV4dEhlbHBlcnMubW0KQEAgLTMwLDYgKzMwLDcgQEAKICNp
bXBvcnQgPHd0Zi9CbG9ja09iakNFeGNlcHRpb25zLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewor
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIENvY29hRm9udCAqZm9udFdpdGhBdHRyaWJ1dGVz
KE5TRGljdGlvbmFyeSAqYXR0cmlidXRlcywgQ0dGbG9hdCBzaXplKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29jb2EubW0g
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5t
bQppbmRleCAzYzFiNTdkNWFhMjZlYzcyZTYwYjVkNzhhMTFlOWZkODUyY2ZmZWM5Li40NDIyZDY3
MjJmNTAzY2UyNzY4NTIwNTBhZGY4MTk0Njk3Y2EwNzhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQpAQCAt
NDQwLDE4ICs0NDAsNiBAQCBib29sIEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RGljdGlvbmFyeVBv
cHVwSW5mbz46OmRlY29kZVBsYXRmb3JtRGF0YShEZWNvZGVyJiBkZQogICAgIHJldHVybiB0cnVl
OwogfQogCi12b2lkIEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXM+OjplbmNv
ZGVQbGF0Zm9ybURhdGEoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgV2ViQ29yZTo6Rm9udEF0dHJp
YnV0ZXMmIGF0dHJpYnV0ZXMpCi17Ci0gICAgZW5jb2RlciA8PCBhdHRyaWJ1dGVzLmZvbnQ7Ci19
Ci0KLXN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXM+IEFyZ3VtZW50Q29kZXI8
V2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXM+OjpkZWNvZGVQbGF0Zm9ybURhdGEoRGVjb2RlciYgZGVj
b2RlciwgV2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXMmIGF0dHJpYnV0ZXMpCi17Ci0gICAgaWYgKCFJ
UEM6OmRlY29kZShkZWNvZGVyLCBhdHRyaWJ1dGVzLmZvbnQpKQotICAgICAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OwotICAgIHJldHVybiBhdHRyaWJ1dGVzOwotfQotCiB2b2lkIEFyZ3VtZW50Q29k
ZXI8UmVmPFdlYkNvcmU6OkZvbnQ+Pjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEVuY29kZXImIGVuY29k
ZXIsIGNvbnN0IFJlZjxXZWJDb3JlOjpGb250PiYgZm9udCkKIHsKICAgICBjb25zdCBhdXRvJiBw
bGF0Zm9ybURhdGEgPSBmb250LT5wbGF0Zm9ybURhdGEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IGM4OTg2ODdiMjI2Y2NlNGI0ZjNi
OGIxYTg1Y2JlYzc5NThiNjdhYjYuLjM2ZTg5MDYxNzFmZTYyYjIxNTg1NzNmYmZhNTIzOWI0YmI1
OWYzN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENv
ZGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
LmNwcApAQCAtMjkxMCwxMiArMjkxMCw5IEBAIHZvaWQgQXJndW1lbnRDb2RlcjxGb250QXR0cmli
dXRlcz46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBGb250QXR0cmlidXRlCiAgICAg
ZW5jb2RlciA8PCBhdHRyaWJ1dGVzLmJhY2tncm91bmRDb2xvciA8PCBhdHRyaWJ1dGVzLmZvcmVn
cm91bmRDb2xvciA8PCBhdHRyaWJ1dGVzLmZvbnRTaGFkb3cgPDwgYXR0cmlidXRlcy5oYXNVbmRl
cmxpbmUgPDwgYXR0cmlidXRlcy5oYXNTdHJpa2VUaHJvdWdoIDw8IGF0dHJpYnV0ZXMudGV4dExp
c3RzOwogICAgIGVuY29kZXIgPDwgYXR0cmlidXRlcy5ob3Jpem9udGFsQWxpZ25tZW50OwogICAg
IGVuY29kZXIgPDwgYXR0cmlidXRlcy5zdWJzY3JpcHRPclN1cGVyc2NyaXB0OwotCi0gICAgaWYg
KGF0dHJpYnV0ZXMuZW5jb2RpbmdSZXF1aXJlc1BsYXRmb3JtRGF0YSgpKSB7Ci0gICAgICAgIGVu
Y29kZXIgPDwgdHJ1ZTsKLSAgICAgICAgZW5jb2RlUGxhdGZvcm1EYXRhKGVuY29kZXIsIGF0dHJp
YnV0ZXMpOwotICAgICAgICByZXR1cm47Ci0gICAgfQorICAgIGVuY29kZXIgPDwgISFhdHRyaWJ1
dGVzLmZvbnQ7CisgICAgaWYgKGF0dHJpYnV0ZXMuZm9udCkKKyAgICAgICAgZW5jb2RlciA8PCBS
ZWYoKmF0dHJpYnV0ZXMuZm9udCk7CiB9CiAKIHN0ZDo6b3B0aW9uYWw8Rm9udEF0dHJpYnV0ZXM+
IEFyZ3VtZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikK
QEAgLTI5NDYsMTEgKzI5NDMsMTkgQEAgc3RkOjpvcHRpb25hbDxGb250QXR0cmlidXRlcz4gQXJn
dW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46OmRlY29kZShEZWNvZGVyJiBkZWMKICAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKGF0dHJpYnV0ZXMuc3Vic2NyaXB0T3JTdXBlcnNjcmlwdCkpCiAgICAg
ICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICBib29sIGhhc1BsYXRmb3JtRGF0YTsKLSAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc1BsYXRmb3JtRGF0YSkpCisgICAgc3RkOjpvcHRpb25h
bDxib29sPiBoYXNGb250OworICAgIGRlY29kZXIgPj4gaGFzRm9udDsKKyAgICBpZiAoIWhhc0Zv
bnQpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0gICAgaWYgKGhhc1BsYXRmb3JtRGF0
YSkKLSAgICAgICAgcmV0dXJuIGRlY29kZVBsYXRmb3JtRGF0YShkZWNvZGVyLCBhdHRyaWJ1dGVz
KTsKKworICAgIGlmICgqaGFzRm9udCkgeworICAgICAgICBzdGQ6Om9wdGlvbmFsPFJlZjxGb250
Pj4gZm9udDsKKyAgICAgICAgZGVjb2RlciA+PiBmb250OworICAgICAgICBpZiAoIWZvbnQpCisg
ICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgICAgIGF0dHJpYnV0ZXMuZm9u
dCA9IFdURk1vdmUoKmZvbnQpOworICAgIH0KIAogICAgIHJldHVybiBhdHRyaWJ1dGVzOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAppbmRleCA2ZmFj
MmFhMWVhNzg0NmZmNmJmODkwMjFmMGY1MmU5YWE3YWUwM2M4Li5hMjkyZTEwYmQ4NWUyYmRlYzMy
NTEwZjAxMGFjOTNhNWVhM2QxYzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnMuaApAQCAtNzMwLDggKzczMCw2IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFy
Z3VtZW50Q29kZXI8UmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPj4gewogdGVtcGxhdGU8
PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGb250QXR0cmlidXRlcz4gewogICAgIHN0
YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXMm
KTsKICAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpGb250QXR0cmlidXRlcz4gZGVj
b2RlKERlY29kZXImKTsKLSAgICBzdGF0aWMgdm9pZCBlbmNvZGVQbGF0Zm9ybURhdGEoRW5jb2Rl
ciYsIGNvbnN0IFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzJik7Ci0gICAgc3RhdGljIHN0ZDo6b3B0
aW9uYWw8V2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXM+IGRlY29kZVBsYXRmb3JtRGF0YShEZWNvZGVy
JiwgV2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXMmKTsKIH07CiAKICNpZiBFTkFCTEUoQVRUQUNITUVO
VF9FTEVNRU5UKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvcGxheXN0YXRpb24v
V2ViQ29yZUFyZ3VtZW50Q29kZXJzUGxheVN0YXRpb24uY3BwIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvcGxheXN0YXRpb24vV2ViQ29yZUFyZ3VtZW50Q29kZXJzUGxheVN0YXRpb24uY3BwCmluZGV4
IDA1NDNiYzY2MzRlNjM4MzFjZjlmMjE4ZGFiN2VlM2RlZjQ2YTllM2IuLmY3ZDZmODliOTM5MWJl
NmQ1NTM3MjljNzc5NjE0NmM1NjY0NTQ2YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL3BsYXlzdGF0aW9uL1dlYkNvcmVBcmd1bWVudENvZGVyc1BsYXlTdGF0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9wbGF5c3RhdGlvbi9XZWJDb3JlQXJndW1lbnRDb2RlcnNQ
bGF5U3RhdGlvbi5jcHAKQEAgLTI3LDIzICsyNywxMSBAQAogI2luY2x1ZGUgIldlYkNvcmVBcmd1
bWVudENvZGVycy5oIgogCiAjaW5jbHVkZSA8V2ViQ29yZS9Gb250Lmg+Ci0jaW5jbHVkZSA8V2Vi
Q29yZS9Gb250QXR0cmlidXRlcy5oPgogCiBuYW1lc3BhY2UgSVBDIHsKIAogdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CiAKLXZvaWQgQXJndW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46OmVuY29k
ZVBsYXRmb3JtRGF0YShFbmNvZGVyJiwgY29uc3QgRm9udEF0dHJpYnV0ZXMmKQotewotICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi1zdGQ6Om9wdGlvbmFsPEZvbnRBdHRyaWJ1dGVzPiBB
cmd1bWVudENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKERlY29kZXIm
LCBGb250QXR0cmlidXRlcyYpCi17Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKLX0KLQogdm9pZCBBcmd1bWVudENvZGVyPFJlZjxGb250Pj46OmVu
Y29kZVBsYXRmb3JtRGF0YShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBSZWY8Rm9udD4mIGZvbnQp
CiB7CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAppbmRleCAyOTczYTJi
YWI2Y2E4YjAyMzMyNWNiMDAxZTIwNzNhZGYxZjA0MDZlLi5hZDliZDZlMzJiNzJmYWYyNWUwNGYy
ZDE1MDU3ZjdmZjgyOWJkNTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9zb3Vw
L1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKQEAgLTM2LDcgKzM2LDYgQEAKICNp
bmNsdWRlIDxXZWJDb3JlL0NyZWRlbnRpYWwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0RpY3Rpb25h
cnlQb3B1cEluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZvbnQuaD4KLSNpbmNsdWRlIDxXZWJD
b3JlL0ZvbnRBdHRyaWJ1dGVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1Jlc291cmNlUmVzcG9uc2UuaD4KQEAgLTIxNCwxNyArMjEzLDYgQEAgYm9vbCBBcmd1bWVudENv
ZGVyPENyZWRlbnRpYWw+OjpkZWNvZGVQbGF0Zm9ybURhdGEoRGVjb2RlciYgZGVjb2RlciwgQ3Jl
ZGVudGlhbCYKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBBcmd1bWVudENvZGVyPEZvbnRB
dHRyaWJ1dGVzPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEVuY29kZXImLCBjb25zdCBGb250QXR0cmli
dXRlcyYpCi17Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci19Ci0KLXN0ZDo6b3B0aW9uYWw8
Rm9udEF0dHJpYnV0ZXM+IEFyZ3VtZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjpkZWNvZGVQbGF0
Zm9ybURhdGEoRGVjb2RlciYsIEZvbnRBdHRyaWJ1dGVzJikKLXsKLSAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKLSAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotfQotCiB2b2lkIEFyZ3VtZW50Q29k
ZXI8RGljdGlvbmFyeVBvcHVwSW5mbz46OmVuY29kZVBsYXRmb3JtRGF0YShFbmNvZGVyJiwgY29u
c3QgRGljdGlvbmFyeVBvcHVwSW5mbyYpCiB7CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC93aW4vV2ViQ29yZUFyZ3VtZW50Q29kZXJz
V2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL3dpbi9XZWJDb3JlQXJndW1lbnRDb2RlcnNX
aW4uY3BwCmluZGV4IDI5MmQ3MTQ1MmM1YzNhOTQ5MmIyZjViNjE2ODI3MzUzMGFjMmRkMTEuLmRm
Mzk1NDc0NDVjNzMyNmQ5ODExYzA4MDM3ZTg1ZjQ0NTdmODAwZWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL3dpbi9XZWJDb3JlQXJndW1lbnRDb2RlcnNXaW4uY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL3dpbi9XZWJDb3JlQXJndW1lbnRDb2RlcnNXaW4uY3BwCkBAIC0y
Nyw3ICsyNyw2IEBACiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAKICNpbmNs
dWRlIDxXZWJDb3JlL0ZvbnQuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL0ZvbnRBdHRyaWJ1dGVzLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9Gb250Q2FjaGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGEuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZvbnREZXNjcmlwdGlvbi5o
PgpAQCAtMzcsMTcgKzM2LDYgQEAgbmFtZXNwYWNlIElQQyB7CiAKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCi12b2lkIEFyZ3VtZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjplbmNvZGVQbGF0
Zm9ybURhdGEoRW5jb2RlciYsIGNvbnN0IEZvbnRBdHRyaWJ1dGVzJikKLXsKLSAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLX0KLQotc3RkOjpvcHRpb25hbDxGb250QXR0cmlidXRlcz4gQXJndW1l
bnRDb2RlcjxGb250QXR0cmlidXRlcz46OmRlY29kZVBsYXRmb3JtRGF0YShEZWNvZGVyJiwgRm9u
dEF0dHJpYnV0ZXMmKQotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBz
dGQ6Om51bGxvcHQ7Ci19Ci0KIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8TE9HRk9O
VD4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBMT0dG
T05UJiBsb2dGb250KQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dLU2FmZUJyb3dzaW5nV2FybmluZy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dLU2FmZUJyb3dzaW5nV2FybmluZy5tbQppbmRleCA0MWQwODk4YjAxZDRjNzBjZTA4
Zjg5MDUyMDU2YTVkMDcxZTllOWUxLi4xODFjMTdkY2ZmMjdmY2I4NDMwOGNlZWNhNTNiYjAxMzBj
MzYwY2QyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS1NhZmVC
cm93c2luZ1dhcm5pbmcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tT
YWZlQnJvd3NpbmdXYXJuaW5nLm1tCkBAIC0yNiw5ICsyNiw5IEBACiAjaW1wb3J0ICJjb25maWcu
aCIKICNpbXBvcnQgIldLU2FmZUJyb3dzaW5nV2FybmluZy5oIgogCi0jaW1wb3J0ICJDb2NvYUZv
bnQuaCIKICNpbXBvcnQgIlBhZ2VDbGllbnQuaCIKICNpbXBvcnQgIlNhZmVCcm93c2luZ1dhcm5p
bmcuaCIKKyNpbXBvcnQgPFdlYkNvcmUvRm9udENvY29hLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xv
Y2FsaXplZFN0cmluZ3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZU9iakNFeHRyYXMuaD4K
ICNpbXBvcnQgPHd0Zi9VUkwuaD4KQEAgLTc4LDcgKzc4LDcgQEAgZW51bSBjbGFzcyBXYXJuaW5n
VGV4dFNpemUgOiB1aW50OF90IHsKICAgICBCb2R5CiB9OwogCi1zdGF0aWMgQ29jb2FGb250ICpm
b250T2ZTaXplKFdhcm5pbmdUZXh0U2l6ZSBzaXplKQorc3RhdGljIFdlYkNvcmU6OkNvY29hRm9u
dCAqZm9udE9mU2l6ZShXYXJuaW5nVGV4dFNpemUgc2l6ZSkKIHsKICNpZiBQTEFURk9STShNQUMp
CiAgICAgc3dpdGNoIChzaXplKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCA0M2E3Y2Q1ZTQ3ZTg4NTBhNjhkZTIzODk2YTFkYWUzOGQ4
MzE0ZjM2Li42ZWY2Zjc0YzAzMzZiZTkxNWZkM2E0MDM0ZTRjYzFhMjUwZjY2ZWJjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTY0NDYs
NyArNjQ0Niw2IEBACiAJCUY0RUI0QUZDMjY5Q0QyMzYwMEQyOTdBRSAvKiBPU1N0YXRlU1BJLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IE9TU3RhdGVTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRjRGNTlBRDMyMDY1QTVDOTAwNkNBQTQ2IC8qIFdLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJv
bGxlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdLU2VsZWN0
TWVudUxpc3RWaWV3Q29udHJvbGxlci5tbTsgcGF0aCA9IGlvcy9mb3Jtcy9XS1NlbGVjdE1lbnVM
aXN0Vmlld0NvbnRyb2xsZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0RjU5
QUQ0MjA2NUE1Q0EwMDZDQUE0NiAvKiBXS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV0tTZWxlY3RNZW51TGlzdFZpZXdDb250
cm9sbGVyLmg7IHBhdGggPSBpb3MvZm9ybXMvV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUY0RkUwQTNDMjQ2MzU2NjcwMDI2MzFF
MSAvKiBDb2NvYUZvbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29jb2FGb250Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUY2MTEzRTI0MTI2Q0UxODIwMDU3RDBBNyAvKiBBUElVc2VyQ29u
dGVudFVSTFBhdHRlcm4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJVXNl
ckNvbnRlbnRVUkxQYXR0ZXJuLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY2MTEz
RTI2MTI2Q0UxOUIwMDU3RDBBNyAvKiBXS1VzZXJDb250ZW50VVJMUGF0dGVybi5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS1VzZXJDb250ZW50VVJMUGF0dGVybi5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY2MTEzRTI3MTI2Q0UxOUIwMDU3RDBB
NyAvKiBXS1VzZXJDb250ZW50VVJMUGF0dGVybi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXS1VzZXJDb250ZW50VVJMUGF0dGVybi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtOTE2Nyw3ICs5MTY2LDYgQEAKIAkJNDQ1MEFFQkUxREMzRkFBQzAwOTk0M0YyIC8q
IGNvY29hICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQlG
NEZFMEEzQzI0NjM1NjY3MDAyNjMxRTEgLyogQ29jb2FGb250LmggKi8sCiAJCQkJNDQ4MjczNDYy
NDUyOEY2MDAwQTk1NDkzIC8qIENvY29hSW1hZ2UuaCAqLywKIAkJCQlCQ0UwOTM3NjE0RkIxMjhC
MDAxMTM4RDkgLyogTGF5ZXJIb3N0aW5nQ29udGV4dC5oICovLAogCQkJCUJDRTA5Mzc1MTRGQjEy
OEIwMDExMzhEOSAvKiBMYXllckhvc3RpbmdDb250ZXh0Lm1tICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448132</attachid>
            <date>2021-12-31 13:25:57 -0800</date>
            <delta_ts>2021-12-31 15:35:02 -0800</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-234757-20211231132556.patch</filename>
            <type>text/plain</type>
            <size>38343</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NDk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmJkMGIyMmY1NDU2ZjUw
ODIxYzhjNDZkNWI3ZjhmY2U5MzZhNGY1My4uMDllNWFjMTY5MDFlOTFjNzdiNjkxNDcxZDE5NmRl
ZGM1Yzc0MWM0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIxLTEyLTMxICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJlZmFjdG9yIHNv
bWUgQ29jb2Etc3BlY2lmaWMgY29kZSBpbiBXZWJDb3JlOjpGb250QXR0cmlidXRlcyB0byBiZSBw
bGF0Zm9ybS1hZ25vc3RpYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM0NzU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAg
ICAgICAgUmVwbGFjZSB0aGUgVUlGb250L05TRm9udCBjdXJyZW50bHkgaW4gV2ViQ29yZTo6Rm9u
dEF0dHJpYnV0ZXMgd2l0aCBhIFdlYkNvcmU6OkZvbnQgaW5zdGVhZC4gVGhpcyByZW1vdmVzIGEg
Yml0CisgICAgICAgIG9mIHBsYXRmb3JtLXNwZWNpZmljIGxvZ2ljIGluIGFuIG90aGVyd2lzZSBw
bGF0Zm9ybS1hZ25vc3RpYyBjbGFzcyAod2l0aCB0aGUgZXhjZXB0aW9uIG9mIGEgY291cGxlIENv
Y29hLQorICAgICAgICBzcGVjaWZpYyBoZWxwZXIgbWV0aG9kcykuIFRoaXMgYWRkaXRpb25hbGx5
IGxldHMgdXMgcmVtb3ZlIHNvbWUgcGxhdGZvcm0tc3BlY2lmaWMgbG9naWMgZm9yIGNvbXB1dGlu
ZyBmb250CisgICAgICAgIGF0dHJpYnV0ZXMgKGkuZS4gYHBsYXRmb3JtRm9udEF0dHJpYnV0ZXNB
dFNlbGVjdGlvblN0YXJ0YCkgYmVsb3cuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RWRpdG9yOjpmb250QXR0cmlidXRlc0F0U2VsZWN0aW9uU3RhcnQpOgorICAgICAg
ICAoV2ViQ29yZTo6RWRpdG9yOjpwbGF0Zm9ybUZvbnRBdHRyaWJ1dGVzQXRTZWxlY3Rpb25TdGFy
dCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuaDoKKyAgICAgICAg
KiBlZGl0aW5nL0ZvbnRBdHRyaWJ1dGVzLmg6CisgICAgICAgIChXZWJDb3JlOjpUZXh0TGlzdDo6
ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRMaXN0OjpkZWNvZGUpOgorCisg
ICAgICAgIERyaXZlLWJ5IGZpeDogaW5zdGVhZCBvZiBgc3RhdGljX2Nhc3RgLWluZyB0byBhIHVp
bnQ4X3QgYW5kIGVuY29kaW5nL2RlY29kaW5nIHRoZSByYXcgdmFsdWUsIGVuY29kZSBhbmQgZGVj
b2RlCisgICAgICAgIHRoZSBMaXN0U3R5bGVUeXBlIGFzIGEgbm9ybWFsIGVudW0gaW5zdGVhZC4g
VGhpcyBhbHNvIGVuc3VyZXMgdGhhdCB3ZSB2YWxpZGF0ZSB0aGUgZW51bSB2YWx1ZSB1cG9uIGRl
Y29kaW5nLgorCisgICAgICAgIChXZWJDb3JlOjpGb250QXR0cmlidXRlczo6ZW5jb2RpbmdSZXF1
aXJlc1BsYXRmb3JtRGF0YSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogZWRpdGluZy9jb2Nv
YS9FZGl0b3JDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cGxhdGZvcm1Gb250
QXR0cmlidXRlc0F0U2VsZWN0aW9uU3RhcnQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGVk
aXRpbmcvY29jb2EvRm9udEF0dHJpYnV0ZXNDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkZv
bnRBdHRyaWJ1dGVzOjpjcmVhdGVEaWN0aW9uYXJ5IGNvbnN0KToKKworICAgICAgICBPbmx5IGdy
YWIgdGhlIE5TRm9udCBvciBVSUZvbnQgZnJvbSB0aGUgV2ViQ29yZTo6Rm9udCBvYmplY3Qgb25j
ZSB3ZSdyZSBpbiB0aGlzIENvY29hLXNwZWNpZmljIGhlbHBlci4KKworICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5oOiBBZGRlZC4KKworICAgICAgICBNb3ZlZCBo
ZXJlIGZyb20gQ29jb2FGb250LmggaW4gV2ViS2l0LiBTZWUgV2ViS2l0L0NoYW5nZUxvZyBmb3Ig
bW9yZSBkZXRhaWxzLgorCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29u
c3RhbnRzLmg6CisKKyAgICAgICAgQWRkIEVudW1UcmFpdHMgZm9yIExpc3RTdHlsZVR5cGUsIHNv
IHRoYXQgaXQgY2FuIGJlIGVuY29kZWQvZGVjb2RlZC4KKwogMjAyMS0xMi0zMSAgV2Vuc29uIEhz
aWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGluZyB0aGUgZmls
ZSBuYW1lIG9mIGF0dGFjaG1lbnQtYmFja2VkIGltYWdlcyBzaG91bGQgYXV0b21hdGljYWxseSBz
ZXQgdGhlIGBhbHRgIGF0dHJpYnV0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBjZTI3ZTE0YzY5ZmQyNDRhZTdiMjQ0
NWUzZTQ5ODdjNmY3MWJiMjgzLi5kMGM2MTZhNTYyNWZjZWI2YmEyMzA2NjM2NzEzMzA1ODhhMjU5
NzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDU4IEBACisyMDIxLTEyLTMxICBXZW5zb24gSHNpZWgg
IDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJlZmFjdG9yIHNvbWUgQ29jb2Et
c3BlY2lmaWMgY29kZSBpbiBXZWJDb3JlOjpGb250QXR0cmlidXRlcyB0byBiZSBwbGF0Zm9ybS1h
Z25vc3RpYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjM0NzU3CisKKyAgICAgICAgU2VlIGNvbW1lbnRzIGJlbG93IChhcyB3ZWxsIGFzIFdlYkNvcmUv
Q2hhbmdlTG9nKSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgorCisgICAgICAgICogUGxhdGZvcm0vY29jb2EvQ29jb2FGb250Lmg6IFJlbW92ZWQu
CisKKyAgICAgICAgTW92ZSB0aGlzIGZpbGUgaW50byBXZWJDb3JlLCBhcyBgRm9udENvY29hLmhg
LgorCisgICAgICAgICogU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EubW06CisgICAg
ICAgICogU2hhcmVkL0NvY29hL0NvcmVUZXh0SGVscGVycy5oOgorICAgICAgICAqIFNoYXJlZC9D
b2NvYS9Db3JlVGV4dEhlbHBlcnMubW06CisKKyAgICAgICAgQWRqdXN0IGEgZmV3IHBsYWNlcyB0
aGF0IGN1cnJlbnRseSBpbXBvcnQgQ29jb2FGb250LmggdG8gaW1wb3J0IFdlYkNvcmUvRm9udENv
Y29hLmggaW5zdGVhZC4gQWRkaXRvbmFsbHksIGNoYW5nZQorICAgICAgICBDb2NvYUZvbnQgdG8g
V2ViQ29yZTo6Q29jb2FGb250IHdoZXJlIG5lY2Vzc2FyeS4KKworICAgICAgICAqIFNoYXJlZC9D
b2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbToKKyAgICAgICAgKElQQzo6QXJndW1l
bnRDb2RlcjxXZWJDb3JlOjpGb250QXR0cmlidXRlcz46OmVuY29kZVBsYXRmb3JtRGF0YSk6IERl
bGV0ZWQuCisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Rm9udEF0dHJpYnV0
ZXM+OjpkZWNvZGVQbGF0Zm9ybURhdGEpOiBEZWxldGVkLgorCisgICAgICAgIFJlbW92ZSBwbGF0
Zm9ybS1zcGVjaWZpYyBGb250QXR0cmlidXRlcyBlbmNvZGluZy9kZWNvZGluZyBsb2dpYy4gVGhp
cyBpcyBubyBsb25nZXIgbmVlZGVkLCBzaW5jZSB3ZSBqdXN0CisgICAgICAgIHByb3BhZ2F0ZSBh
IEZvbnQgaW5zdGVhZCBvZiBhbiBOU0ZvbnQgb3IgVUlGb250LgorCisgICAgICAgICogU2hhcmVk
L1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHA6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8
UmVmUHRyPEZvbnQ+Pjo6ZW5jb2RlKToKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxSZWZQ
dHI8Rm9udD4+OjpkZWNvZGUpOgorCisgICAgICAgIEFkZCBhcmd1bWVudCBjb2RlcnMgZm9yIGBS
ZWZQdHI8Rm9udD5gIHRoYXQgZW5jb2RlIHRoZSBmb250IG9ubHkgaWYgaXQncyBub24tbnVsbC4K
KworICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZW5jb2RlKToK
KyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46OmRlY29kZSk6CisK
KyAgICAgICAgUmVtb3ZlIHRoZSBjYWxscyB0byBgZW5jb2RlUGxhdGZvcm1EYXRhL2RlY29kZVBs
YXRmb3JtRGF0YWAsIGFuZCBpbnN0ZWFkIGVuY29kZSB0aGUgYFJlZlB0cjxXZWJDb3JlOjpGb250
PmAuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6CisgICAgICAg
ICogU2hhcmVkL3BsYXlzdGF0aW9uL1dlYkNvcmVBcmd1bWVudENvZGVyc1BsYXlTdGF0aW9uLmNw
cDoKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46OmVuY29kZVBs
YXRmb3JtRGF0YSk6IERlbGV0ZWQuCisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8Rm9udEF0
dHJpYnV0ZXM+OjpkZWNvZGVQbGF0Zm9ybURhdGEpOiBEZWxldGVkLgorICAgICAgICAqIFNoYXJl
ZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwOgorICAgICAgICAoSVBDOjpBcmd1
bWVudENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKTogRGVsZXRlZC4K
KyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46OmRlY29kZVBsYXRm
b3JtRGF0YSk6IERlbGV0ZWQuCisgICAgICAgICogU2hhcmVkL3dpbi9XZWJDb3JlQXJndW1lbnRD
b2RlcnNXaW4uY3BwOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPEZvbnRBdHRyaWJ1dGVz
Pjo6ZW5jb2RlUGxhdGZvcm1EYXRhKTogRGVsZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRD
b2RlcjxGb250QXR0cmlidXRlcz46OmRlY29kZVBsYXRmb3JtRGF0YSk6IERlbGV0ZWQuCisKKyAg
ICAgICAgUmVtb3ZlIHNvbWUgbWV0aG9kIHN0dWJzIHRoYXQgYXJlIG5vdyB1bm5lY2Vzc2FyeS4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XS1NhZmVCcm93c2luZ1dhcm5pbmcubW06Cisg
ICAgICAgIChmb250T2ZTaXplKToKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKwogMjAyMS0xMi0yNiAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVwbGFjZSBXZWJLaXQvQ29jb2FDb2xvci5oIHdpdGggV2ViQ29yZS9Db2xvckNv
Y29hLmgsIG5vdCBjb25mdXNpbmcgYXQgYWxsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYjY2MmIwODdlNzJlZGU2ZWM3YzkzNWRm
YTQ3ZjA3ZTBkYzRkMDc2Zi4uM2M5ZWMyNWMwYTkyNDYwNmFlMmViMzI3NjRhMTc4ZGRjYzk0NDNm
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtNTUxMSw2ICs1NTExLDcgQEAKIAkJRjQ4RDJBQTUyMTU5NzQwRDAwQzY3NTJCIC8q
IENvbG9yQ29jb2EuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEY0OEQyQUEzMjE1OTc0MEQwMEM2NzUyQiAvKiBDb2xvckNvY29hLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRjQ5MzI4ODMyNzY5MDQxQjAw
M0UyMEY4IC8qIE1vZGFsQ29udGFpbmVyVHlwZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0OTMyODgyMjc2OTA0MUIwMDNFMjBGOCAvKiBNb2RhbENv
bnRhaW5lclR5cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJRjQ5Nzg2ODgxRkY0NUZBNTAwRTA2MEFCIC8qIFBhc3RlYm9hcmRJdGVtSW5mby5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ5Nzg2ODcx
RkY0NUZBNTAwRTA2MEFCIC8qIFBhc3RlYm9hcmRJdGVtSW5mby5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUY0QTA2NEM4Mjc3RTQ4QzkwMEIwNkEx
NyAvKiBGb250Q29jb2EuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEY0QTA2NEM2Mjc3RTQ4QzYwMEIwNkExNyAvKiBGb250Q29jb2EuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGNEIwMDE4OTI2RTdGMjFG
MDA2RUFBQkUgLyogSFRNTEF0b21TdHJpbmdDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRCMDAxODcyNkU3RjIxRjAwNkVBQUJFIC8qIEhUTUxB
dG9tU3RyaW5nQ2FjaGUuaCAqLzsgfTsKIAkJRjRCMkE5MDkyNjUwMzBCQTAwOUU3Mjg2IC8qIERh
dGFEZXRlY3RvckhpZ2hsaWdodC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRjRCMkE5MDYyNjUwMkJBMDAwOUU3Mjg2IC8qIERhdGFEZXRlY3RvckhpZ2hs
aWdodC5oICovOyB9OwogCQlGNEI0MjJDNDIyMEMwNTY4MDA5RTFFN0QgLyogRE9NUGFzdGVBY2Nl
c3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0QjQy
MkMyMjIwQzAwMDAwMDlFMUU3RCAvKiBET01QYXN0ZUFjY2Vzcy5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xNzc0Miw2ICsxNzc0Myw3IEBACiAJ
CUY0OTMyODgyMjc2OTA0MUIwMDNFMjBGOCAvKiBNb2RhbENvbnRhaW5lclR5cGVzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IE1vZGFsQ29udGFpbmVyVHlwZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRjQ5Nzg2ODcxRkY0NUZBNTAwRTA2MEFCIC8qIFBhc3RlYm9hcmRJdGVtSW5mby5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBQYXN0ZWJvYXJkSXRlbUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRjQ5RTk4RTQyMURFRTZDMTAwOUFFNTVFIC8qIEVkaXRBY3Rpb24uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gRWRpdEFjdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUY0QTA2NEM2Mjc3RTQ4QzYwMEIwNkExNyAvKiBGb250Q29jb2EuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gRm9udENvY29hLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUY0QjAwMTg3MjZFN0YyMUYwMDZFQUFCRSAvKiBIVE1MQXRvbVN0cmluZ0NhY2hlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEhUTUxBdG9tU3RyaW5nQ2FjaGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRjRCMDAxODgyNkU3RjIxRjAwNkVBQUJFIC8qIEhUTUxBdG9tU3RyaW5nQ2Fj
aGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSFRNTEF0b21TdHJpbmdDYWNoZS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0QjJBOTA2MjY1MDJCQTAwMDlFNzI4NiAvKiBEYXRh
RGV0ZWN0b3JIaWdobGlnaHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGF0YURldGVjdG9ySGlnaGxpZ2h0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yOTA1Myw2ICsyOTA1NSw3IEBACiAJ
CQkJQzI0NThFNjExRkU4OTc5RTAwNTk0NzU5IC8qIEZvbnRDYWNoZUNvcmVUZXh0LmggKi8sCiAJ
CQkJQjJBRkZDNzgwRDAwQTVDMTAwMzAwNzREIC8qIEZvbnRDYXNjYWRlQ29jb2EuY3BwICovLAog
CQkJCTFDNkZEOEIwMjUwQTM1RjEwMEQ2RTkyMCAvKiBGb250Q29jb2EuY3BwICovLAorCQkJCUY0
QTA2NEM2Mjc3RTQ4QzYwMEIwNkExNyAvKiBGb250Q29jb2EuaCAqLywKIAkJCQkxQzEyQUMyQzFF
RTc3OTk1MDA3OUUwQTAgLyogRm9udERlc2NyaXB0aW9uQ29jb2EuY3BwICovLAogCQkJCTFDMTJB
QzI4MUVFNzc4QUUwMDc5RTBBMCAvKiBGb250RmFtaWx5U3BlY2lmaWNhdGlvbkNvcmVUZXh0LmNw
cCAqLywKIAkJCQkxQzEyQUMyOTFFRTc3OEFFMDA3OUUwQTAgLyogRm9udEZhbWlseVNwZWNpZmlj
YXRpb25Db3JlVGV4dC5oICovLApAQCAtMzQ0MDksNiArMzQ0MTIsNyBAQAogCQkJCUIyQzNEQTYx
MEQwMDZDRDYwMEVGNkYyNiAvKiBGb250Q2FzY2FkZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTRF
OEI0RjUyMTZCOTU2NTAwQjg4MzREIC8qIEZvbnRDYXNjYWRlRGVzY3JpcHRpb24uaCBpbiBIZWFk
ZXJzICovLAogCQkJCUIyQzNEQTY4MEQwMDZDRDYwMEVGNkYyNiAvKiBGb250Q2FzY2FkZUZvbnRz
LmggaW4gSGVhZGVycyAqLywKKwkJCQlGNEEwNjRDODI3N0U0OEM5MDBCMDZBMTcgLyogRm9udENv
Y29hLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQzI2NjcxQjI2RkE5MzJGMDAxMTcwNzMgLyogRm9u
dENyZWF0aW9uQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJBRkZDN0UwRDAwQTVDMTAw
MzAwNzREIC8qIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUIy
QzNEQTY2MEQwMDZDRDYwMEVGNkYyNiAvKiBGb250RGVzY3JpcHRpb24uaCBpbiBIZWFkZXJzICov
LApAQCAtMzQ1MDgsNiArMzQ1MTIsNyBAQAogCQkJCUJDNTNDNUY1MERBNTZCOTIwMDIxRUI1RCAv
KiBHcmFkaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjc5NjQwRDAwQkYyMjAwNzFCNzgy
IC8qIEdyYWRpZW50QXR0cmlidXRlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOUNERjQyNzcx
MDYzOTAwNTNGNzM0IC8qIEdyYWRpZW50Q29sb3JTdG9wLmggaW4gSGVhZGVycyAqLywKKwkJCQlC
QzE5Q0UyQjI3NzJCRjdCMDA1M0Y3MzQgLyogR3JhZGllbnRDb2xvclN0b3BzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkyRDQ4MUYwNDE0NkI1QzZCMDBBQTc4MzQgLyogR3JhZGllbnRJbWFnZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkMxOUNERjIyNzZGRkM2RDAwNTNGNzM0IC8qIEdyYWRpZW50UmVu
ZGVyZXJDRy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0JCNjgwQkEyNUJBMUJFNDAwMkI4NzM4IC8q
IEdyYXBoaWNzQ2hlY2tzTWFjLmggaW4gSGVhZGVycyAqLywKQEAgLTM3NTczLDcgKzM3NTc4LDYg
QEAKIAkJCQlCRTkxM0Q4MDE4MUVGOTI0MDBEQ0IwOUUgLyogVHJhY2tQcml2YXRlQmFzZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQ0QxRjlCMUMyNzAyNEJDMjAwNjE3RUI2IC8qIFRyYWNrUHJpdmF0
ZUJhc2VDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUZGQUMzMEZFMTg0RkIxNDUwMDhDNEYx
RSAvKiBUcmFpbGluZ09iamVjdHMuaCBpbiBIZWFkZXJzICovLAotCQkJCUJDMTlDRTJCMjc3MkJG
N0IwMDUzRjczNCAvKiBHcmFkaWVudENvbG9yU3RvcHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
NjA3MTMyMUJEODMwOEIwMERCQzRGMiAvKiBUcmFuc2FjdGlvbk9wZXJhdGlvbi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQ0QzRUVGNDEyNTc5OUZEOTAwNjU2M0JCIC8qIFRyYW5zZmVyRnVuY3Rpb24u
aCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RTkxMUM0MEVGODZENDcwMDlEMENBRiAvKiBUcmFuc2Zv
cm1hdGlvbk1hdHJpeC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAK
aW5kZXggYjBjYjY4MzNiOGZmMjQ2YzcwNTZmM2ZkMjZjMDYzMTJmOWNhZDhjNC4uYzUyN2UyNzcz
OTA4ODliZWI4NTEzNDI0YjMxNzk1YWFlMWQxMDE1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9FZGl0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9y
LmNwcApAQCAtMzk5NywxMCArMzk5Nyw2IEBAIHZvaWQgRWRpdG9yOjpzY2hlZHVsZUVkaXRvclVJ
VXBkYXRlKCkKIAogI2lmICFQTEFURk9STShDT0NPQSkKIAotdm9pZCBFZGl0b3I6OnBsYXRmb3Jt
Rm9udEF0dHJpYnV0ZXNBdFNlbGVjdGlvblN0YXJ0KEZvbnRBdHRyaWJ1dGVzJiwgY29uc3QgUmVu
ZGVyU3R5bGUmKSBjb25zdAotewotfQotCiBTdHJpbmcgRWRpdG9yOjpwbGF0Zm9ybUNvbnRlbnRU
eXBlRm9yQmxvYlR5cGUoY29uc3QgU3RyaW5nJiB0eXBlKSBjb25zdAogewogICAgIHJldHVybiB0
eXBlOwpAQCAtNDA0NCw2ICs0MDQwLDEwIEBAIHN0YXRpYyBWZWN0b3I8VGV4dExpc3Q+IGVkaXRh
YmxlVGV4dExpc3RzQXRQb3NpdGlvbkluRGVzY2VuZGluZ09yZGVyKGNvbnN0IFBvc2l0CiAKIEZv
bnRBdHRyaWJ1dGVzIEVkaXRvcjo6Zm9udEF0dHJpYnV0ZXNBdFNlbGVjdGlvblN0YXJ0KCkKIHsK
KyAgICBGb250QXR0cmlidXRlcyBhdHRyaWJ1dGVzOworICAgIGJvb2wgaGFzTXVsdGlwbGVGb250
cyA9IGZhbHNlOyAvLyBGSVhNRSAoMTkwMTIwKTogQWRkIGBoYXNNdWx0aXBsZUZvbnRzYCBhcyBh
IG1lbWJlciBpbiBgRm9udEF0dHJpYnV0ZXNgLgorICAgIGF0dHJpYnV0ZXMuZm9udCA9IGZvbnRG
b3JTZWxlY3Rpb24oaGFzTXVsdGlwbGVGb250cyk7CisKICAgICBSZWZQdHI8Tm9kZT4gbm9kZVRv
UmVtb3ZlOwogICAgIGF1dG8gbm9kZVJlbW92YWxTY29wZSA9IG1ha2VTY29wZUV4aXQoWyZub2Rl
VG9SZW1vdmVdKCkgewogICAgICAgICBpZiAobm9kZVRvUmVtb3ZlKQpAQCAtNDA1Niw5ICs0MDU2
LDYgQEAgRm9udEF0dHJpYnV0ZXMgRWRpdG9yOjpmb250QXR0cmlidXRlc0F0U2VsZWN0aW9uU3Rh
cnQoKQogCiAgICAgU2NyaXB0RGlzYWxsb3dlZFNjb3BlOjpJbk1haW5UaHJlYWQgc2NyaXB0RGlz
YWxsb3dlZFNjb3BlOwogCi0gICAgRm9udEF0dHJpYnV0ZXMgYXR0cmlidXRlczsKLSAgICBwbGF0
Zm9ybUZvbnRBdHRyaWJ1dGVzQXRTZWxlY3Rpb25TdGFydChhdHRyaWJ1dGVzLCAqc3R5bGUpOwot
CiAgICAgLy8gRklYTUU6IGZvciBub3csIGFsd2F5cyByZXBvcnQgdGhlIGNvbG9ycyBhZnRlciBh
cHBseWluZyAtYXBwbGUtY29sb3ItZmlsdGVyLiBJbiBmdXR1cmUgbm90IGFsbCBjbGllbnRzCiAg
ICAgLy8gbWF5IHdhbnQgdGhpcywgc28gd2UgbWF5IGhhdmUgdG8gYWRkIGEgc2V0dGluZyB0byBj
b250cm9sIGl0LiBTZWUgYWxzbyBlZGl0aW5nQXR0cmlidXRlZFN0cmluZ0Zyb21SYW5nZSgpLgog
ICAgIGF1dG8gYmFja2dyb3VuZENvbG9yID0gc3R5bGUtPnZpc2l0ZWREZXBlbmRlbnRDb2xvcldp
dGhDb2xvckZpbHRlcihDU1NQcm9wZXJ0eUJhY2tncm91bmRDb2xvcik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9F
ZGl0b3IuaAppbmRleCA4NmQ4YzhjMjYwMTgzMGJkYzNhOTdmODczNzlmYTAxZTNlZGM4ZDYwLi5j
M2EzNGY1ZmY0MjdjZGRhZGViYzk0MzMwZDdiOTU2MDc1MWEzNjRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RWRpdG9yLmgKQEAgLTYzMSw3ICs2MzEsNiBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBSZWZQdHI8
U2hhcmVkQnVmZmVyPiBkYXRhSW5SVEZERm9ybWF0KE5TQXR0cmlidXRlZFN0cmluZyAqKTsKICAg
ICBzdGF0aWMgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gZGF0YUluUlRGRm9ybWF0KE5TQXR0cmlidXRl
ZFN0cmluZyAqKTsKICNlbmRpZgotICAgIHZvaWQgcGxhdGZvcm1Gb250QXR0cmlidXRlc0F0U2Vs
ZWN0aW9uU3RhcnQoRm9udEF0dHJpYnV0ZXMmLCBjb25zdCBSZW5kZXJTdHlsZSYpIGNvbnN0Owog
CiAgICAgdm9pZCBzY2hlZHVsZUVkaXRvclVJVXBkYXRlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRm9udEF0dHJpYnV0ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRm9udEF0dHJpYnV0ZXMuaAppbmRleCA3NzAwNTU0NWU3ZmVhYTE2ZWMyMWY1ODNkNGRjNGM4
YjE0ZTFhNzcyLi45MWRlNDQ1MzBjMWQ4YWYzNTVkZGFiYzNkYWYxMDBlZGUxOTViMTIzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZvbnRBdHRyaWJ1dGVzLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9Gb250QXR0cmlidXRlcy5oCkBAIC0yNSwxNCArMjUsMTMgQEAK
IAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJGb250LmgiCiAjaW5jbHVkZSAiRm9udFNoYWRv
dy5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlQ29uc3RhbnRzLmgiCiAjaW5jbHVkZSA8d3RmL1Jl
dGFpblB0ci5oPgogCiBPQkpDX0NMQVNTIE5TRGljdGlvbmFyeTsKLU9CSkNfQ0xBU1MgTlNGb250
OwogT0JKQ19DTEFTUyBOU1RleHRMaXN0OwotT0JKQ19DTEFTUyBVSUZvbnQ7CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApAQCAtNTEsMTIgKzUwLDEyIEBAIHN0cnVjdCBUZXh0TGlzdCB7CiAKIHRl
bXBsYXRlPGNsYXNzIEVuY29kZXI+IGlubGluZSB2b2lkIFRleHRMaXN0OjplbmNvZGUoRW5jb2Rl
ciYgZW5jb2RlcikgY29uc3QKIHsKLSAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQ4X3Q+
KHN0eWxlKSA8PCBzdGFydGluZ0l0ZW1OdW1iZXIgPDwgb3JkZXJlZDsKKyAgICBlbmNvZGVyIDw8
IHN0eWxlIDw8IHN0YXJ0aW5nSXRlbU51bWJlciA8PCBvcmRlcmVkOwogfQogCiB0ZW1wbGF0ZTxj
bGFzcyBEZWNvZGVyPiBpbmxpbmUgc3RkOjpvcHRpb25hbDxUZXh0TGlzdD4gVGV4dExpc3Q6OmRl
Y29kZShEZWNvZGVyJiBkZWNvZGVyKQogewotICAgIHN0ZDo6b3B0aW9uYWw8dWludDhfdD4gc3R5
bGU7CisgICAgc3RkOjpvcHRpb25hbDxMaXN0U3R5bGVUeXBlPiBzdHlsZTsKICAgICBkZWNvZGVy
ID4+IHN0eWxlOwogICAgIGlmICghc3R5bGUpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7
CkBAIC03MSw3ICs3MCw3IEBAIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IGlubGluZSBzdGQ6Om9w
dGlvbmFsPFRleHRMaXN0PiBUZXh0TGlzdDo6ZGVjb2RlKERlY29kZXImCiAgICAgaWYgKCFvcmRl
cmVkKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgcmV0dXJuIHt7IHN0YXRp
Y19jYXN0PExpc3RTdHlsZVR5cGU+KFdURk1vdmUoKnN0eWxlKSksIFdURk1vdmUoKnN0YXJ0aW5n
SXRlbU51bWJlciksIFdURk1vdmUoKm9yZGVyZWQpIH19OworICAgIHJldHVybiB7IHsgKnN0eWxl
LCAqc3RhcnRpbmdJdGVtTnVtYmVyLCAqb3JkZXJlZCB9IH07CiB9CiAKIHN0cnVjdCBGb250QXR0
cmlidXRlcyB7CkBAIC03OSwxOCArNzgsMTAgQEAgc3RydWN0IEZvbnRBdHRyaWJ1dGVzIHsKICAg
ICBlbnVtIGNsYXNzIEhvcml6b250YWxBbGlnbm1lbnQgOiB1aW50OF90IHsgTGVmdCwgQ2VudGVy
LCBSaWdodCwgSnVzdGlmeSwgTmF0dXJhbCB9OwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAg
Ym9vbCBlbmNvZGluZ1JlcXVpcmVzUGxhdGZvcm1EYXRhKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsg
fQotCiAgICAgV0VCQ09SRV9FWFBPUlQgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4gY3JlYXRlRGlj
dGlvbmFyeSgpIGNvbnN0OwotI2Vsc2UKLSAgICBib29sIGVuY29kaW5nUmVxdWlyZXNQbGF0Zm9y
bURhdGEoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShN
QUMpCi0gICAgUmV0YWluUHRyPE5TRm9udD4gZm9udDsKLSNlbGlmIFBMQVRGT1JNKElPU19GQU1J
TFkpCi0gICAgUmV0YWluUHRyPFVJRm9udD4gZm9udDsKLSNlbmRpZgorICAgIFJlZlB0cjxGb250
PiBmb250OwogICAgIENvbG9yIGJhY2tncm91bmRDb2xvcjsKICAgICBDb2xvciBmb3JlZ3JvdW5k
Q29sb3I7CiAgICAgRm9udFNoYWRvdyBmb250U2hhZG93OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvY29jb2EvRWRpdG9yQ29jb2EubW0KaW5kZXggYTg1YjdhYTc1MjZiMmY3YzUxYTNmNWM0Njdi
ZWIzNTBlOTkxNGFhYi4uMzhkYmQyNTkzYjg2YmJhOWE5MGNhZWIzMDBmZmFmMGY5YTkyODMzZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0VkaXRvckNvY29hLm1tCkBAIC02NSwx
MiArNjUsNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQgRWRpdG9yOjpwbGF0Zm9y
bUZvbnRBdHRyaWJ1dGVzQXRTZWxlY3Rpb25TdGFydChGb250QXR0cmlidXRlcyYgYXR0cmlidXRl
cywgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlKSBjb25zdAotewotICAgIGlmIChhdXRvIGN0Rm9u
dCA9IHN0eWxlLmZvbnRDYXNjYWRlKCkucHJpbWFyeUZvbnQoKS5nZXRDVEZvbnQoKSkKLSAgICAg
ICAgYXR0cmlidXRlcy5mb250ID0gKF9fYnJpZGdlIGlkKWN0Rm9udDsKLX0KLQogc3RhdGljIFJl
ZlB0cjxTaGFyZWRCdWZmZXI+IGFyY2hpdmVkRGF0YUZvckF0dHJpYnV0ZWRTdHJpbmcoTlNBdHRy
aWJ1dGVkU3RyaW5nICphdHRyaWJ1dGVkU3RyaW5nKQogewogICAgIGlmICghYXR0cmlidXRlZFN0
cmluZy5sZW5ndGgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0Zv
bnRBdHRyaWJ1dGVzQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0ZvbnRB
dHRyaWJ1dGVzQ29jb2EubW0KaW5kZXggNDRiNDg3YzIyMThkNGI2YjkyMDAxMDc1NjA5Yjk5YmI4
ZmQ0MjJiOC4uZmEwZGE1ZGU2MWU1YWU1NmU5MjVlY2E0Y2QxZjhkODg4ZmRkM2QwNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9Gb250QXR0cmlidXRlc0NvY29hLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRm9udEF0dHJpYnV0ZXNDb2NvYS5t
bQpAQCAtMjcsNiArMjcsNyBAQAogI2ltcG9ydCAiRm9udEF0dHJpYnV0ZXMuaCIKIAogI2ltcG9y
dCAiQ29sb3JDb2NvYS5oIgorI2ltcG9ydCAiRm9udENvY29hLmgiCiAjaW1wb3J0IDxwYWwvc3Bp
L2NvY29hL05TQXR0cmlidXRlZFN0cmluZ1NQSS5oPgogI2ltcG9ydCA8d3RmL2NvY29hL1ZlY3Rv
ckNvY29hLmg+CiAKQEAgLTg3LDggKzg4LDggQEAgUmV0YWluUHRyPE5TVGV4dExpc3Q+IFRleHRM
aXN0OjpjcmVhdGVUZXh0TGlzdCgpIGNvbnN0CiBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBGb250
QXR0cmlidXRlczo6Y3JlYXRlRGljdGlvbmFyeSgpIGNvbnN0CiB7CiAgICAgTlNNdXRhYmxlRGlj
dGlvbmFyeSAqYXR0cmlidXRlcyA9IFtOU011dGFibGVEaWN0aW9uYXJ5IGRpY3Rpb25hcnldOwot
ICAgIGlmIChmb250KQotICAgICAgICBhdHRyaWJ1dGVzW05TRm9udEF0dHJpYnV0ZU5hbWVdID0g
Zm9udC5nZXQoKTsKKyAgICBpZiAoYXV0byBjb2NvYUZvbnQgPSBmb250ID8gKF9fYnJpZGdlIENv
Y29hRm9udCAqKWZvbnQtPmdldENURm9udCgpIDogbmlsKQorICAgICAgICBhdHRyaWJ1dGVzW05T
Rm9udEF0dHJpYnV0ZU5hbWVdID0gY29jb2FGb250OwogCiAgICAgaWYgKGZvcmVncm91bmRDb2xv
ci5pc1ZhbGlkKCkpCiAgICAgICAgIGF0dHJpYnV0ZXNbTlNGb3JlZ3JvdW5kQ29sb3JBdHRyaWJ1
dGVOYW1lXSA9IGNvY29hQ29sb3IoZm9yZWdyb3VuZENvbG9yKS5nZXQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNDQ2ZTFjZmNiZjI1NDdkNTMxNWYxNWMyMzMxM2JkNmJjYjRjOGQ0NwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5o
CkBAIC0wLDAgKzEsNDggQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1l
dDoKKyogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvQ29tcGlsZXIuaD4KKworI2lm
IFVTRShBUFBLSVQpCitPQkpDX0NMQVNTIE5TRm9udDsKK09CSkNfQ0xBU1MgTlNGb250RGVzY3Jp
cHRvcjsKKyNlbHNlCitPQkpDX0NMQVNTIFVJRm9udDsKK09CSkNfQ0xBU1MgVUlGb250RGVzY3Jp
cHRvcjsKKyNlbmRpZgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKyNpZiBVU0UoQVBQS0lUKQor
dXNpbmcgQ29jb2FGb250ID0gTlNGb250OwordXNpbmcgQ29jb2FGb250RGVzY3JpcHRvciA9IE5T
Rm9udERlc2NyaXB0b3I7CisjZWxzZQordXNpbmcgQ29jb2FGb250ID0gVUlGb250OwordXNpbmcg
Q29jb2FGb250RGVzY3JpcHRvciA9IFVJRm9udERlc2NyaXB0b3I7CisjZW5kaWYKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAppbmRleCA2NWE1MTMxZjg4MTcwZTgwYmQzMzUwNjU0
NzExYmZiMTM3YjRjMmNlLi5mNThmNTI3Y2NkN2Y3MzVmZmNiNzA1MzU0YjNhZDZlZjU0NTk2YmQ2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVD
b25zdGFudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGVDb25zdGFudHMuaApAQCAtMTM2MCw0ICsxMzYwLDEwNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBF
bnVtVHJhaXRzPFdlYkNvcmU6OlNjcm9sbFNuYXBTdG9wPiB7CiAgICAgICAgIFdlYkNvcmU6OlNj
cm9sbFNuYXBTdG9wOjpBbHdheXMKICAgICA+OwogfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51
bVRyYWl0czxXZWJDb3JlOjpMaXN0U3R5bGVUeXBlPiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51
bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZSwKKyAgICAgICAgV2ViQ29y
ZTo6TGlzdFN0eWxlVHlwZTo6RGlzYywKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6
Q2lyY2xlLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpTcXVhcmUsCisgICAgICAg
IFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkRlY2ltYWwsCisgICAgICAgIFdlYkNvcmU6Okxpc3RT
dHlsZVR5cGU6OkRlY2ltYWxMZWFkaW5nWmVybywKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxl
VHlwZTo6QXJhYmljSW5kaWMsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkJpbmFy
eSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6QmVuZ2FsaSwKKyAgICAgICAgV2Vi
Q29yZTo6TGlzdFN0eWxlVHlwZTo6Q2FtYm9kaWFuLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5
bGVUeXBlOjpLaG1lciwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6RGV2YW5hZ2Fy
aSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6R3VqYXJhdGksCisgICAgICAgIFdl
YkNvcmU6Okxpc3RTdHlsZVR5cGU6Okd1cm11a2hpLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5
bGVUeXBlOjpLYW5uYWRhLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpMb3dlckhl
eGFkZWNpbWFsLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpMYW8sCisgICAgICAg
IFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6Ok1hbGF5YWxhbSwKKyAgICAgICAgV2ViQ29yZTo6TGlz
dFN0eWxlVHlwZTo6TW9uZ29saWFuLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpN
eWFubWFyLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpPY3RhbCwKKyAgICAgICAg
V2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6T3JpeWEsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHls
ZVR5cGU6OlBlcnNpYW4sCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlVyZHUsCisg
ICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlRlbHVndSwKKyAgICAgICAgV2ViQ29yZTo6
TGlzdFN0eWxlVHlwZTo6VGliZXRhbiwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6
VGhhaSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VXBwZXJIZXhhZGVjaW1hbCwK
KyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6TG93ZXJSb21hbiwKKyAgICAgICAgV2Vi
Q29yZTo6TGlzdFN0eWxlVHlwZTo6VXBwZXJSb21hbiwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0
eWxlVHlwZTo6TG93ZXJHcmVlaywKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6TG93
ZXJBbHBoYSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6TG93ZXJMYXRpbiwKKyAg
ICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VXBwZXJBbHBoYSwKKyAgICAgICAgV2ViQ29y
ZTo6TGlzdFN0eWxlVHlwZTo6VXBwZXJMYXRpbiwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxl
VHlwZTo6QWZhciwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxl
aGFtZUFhRXQsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhh
bWVBYUVyLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpBbWhhcmljLAorICAgICAg
ICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lQW1FdCwKKyAgICAgICAg
V2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6QW1oYXJpY0FiZWdlZGUsCisgICAgICAgIFdlYkNvcmU6
Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZUFtRXQsCisgICAgICAgIFdlYkNvcmU6Okxp
c3RTdHlsZVR5cGU6OkNKS0VhcnRobHlCcmFuY2gsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHls
ZVR5cGU6OkNKS0hlYXZlbmx5U3RlbSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6
RXRoaW9waWMsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhh
bWVHZXosCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZSwK
KyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6RXRoaW9waWNBYmVnZWRlR2V6LAorICAg
ICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpIYW5ndWxDb25zb25hbnQsCisgICAgICAgIFdl
YkNvcmU6Okxpc3RTdHlsZVR5cGU6Okhhbmd1bCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxl
VHlwZTo6TG93ZXJOb3J3ZWdpYW4sCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6Ok9y
b21vLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lT21F
dCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6U2lkYW1hLAorICAgICAgICBXZWJD
b3JlOjpMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lU2lkRXQsCisgICAgICAgIFdlYkNv
cmU6Okxpc3RTdHlsZVR5cGU6OlNvbWFsaSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlw
ZTo6RXRoaW9waWNIYWxlaGFtZVNvRXQsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6
OlRpZ3JlLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1l
VGlnLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpUaWdyaW55YUVyLAorICAgICAg
ICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lVGlFciwKKyAgICAgICAg
V2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VGlncmlueWFFckFiZWdlZGUsCisgICAgICAgIFdlYkNv
cmU6Okxpc3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZVRpRXIsCisgICAgICAgIFdlYkNvcmU6
Okxpc3RTdHlsZVR5cGU6OlRpZ3JpbnlhRXQsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5
cGU6OkV0aGlvcGljSGFsZWhhbWVUaUV0LAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBl
OjpUaWdyaW55YUV0QWJlZ2VkZSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6RXRo
aW9waWNBYmVnZWRlVGlFdCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VXBwZXJH
cmVlaywKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VXBwZXJOb3J3ZWdpYW4sCisg
ICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkFzdGVyaXNrcywKKyAgICAgICAgV2ViQ29y
ZTo6TGlzdFN0eWxlVHlwZTo6Rm9vdG5vdGVzLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVU
eXBlOjpIZWJyZXcsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkFybWVuaWFuLAor
ICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpMb3dlckFybWVuaWFuLAorICAgICAgICBX
ZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpVcHBlckFybWVuaWFuLAorICAgICAgICBXZWJDb3JlOjpM
aXN0U3R5bGVUeXBlOjpHZW9yZ2lhbiwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6
Q0pLSWRlb2dyYXBoaWMsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkhpcmFnYW5h
LAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpLYXRha2FuYSwKKyAgICAgICAgV2Vi
Q29yZTo6TGlzdFN0eWxlVHlwZTo6SGlyYWdhbmFJcm9oYSwKKyAgICAgICAgV2ViQ29yZTo6TGlz
dFN0eWxlVHlwZTo6S2F0YWthbmFJcm9oYSwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlw
ZTo6Q0pLRGVjaW1hbCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6VGFtaWwsCisg
ICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OkRpc2Nsb3N1cmVPcGVuLAorICAgICAgICBX
ZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpEaXNjbG9zdXJlQ2xvc2VkLAorICAgICAgICBXZWJDb3Jl
OjpMaXN0U3R5bGVUeXBlOjpKYXBhbmVzZUluZm9ybWFsLAorICAgICAgICBXZWJDb3JlOjpMaXN0
U3R5bGVUeXBlOjpKYXBhbmVzZUZvcm1hbCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlw
ZTo6S29yZWFuSGFuZ3VsRm9ybWFsLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpL
b3JlYW5IYW5qYUluZm9ybWFsLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpLb3Jl
YW5IYW5qYUZvcm1hbCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6U2ltcGxpZmll
ZENoaW5lc2VJbmZvcm1hbCwKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6U2ltcGxp
ZmllZENoaW5lc2VGb3JtYWwsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6OlRyYWRp
dGlvbmFsQ2hpbmVzZUluZm9ybWFsLAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpU
cmFkaXRpb25hbENoaW5lc2VGb3JtYWwsCisgICAgICAgIFdlYkNvcmU6Okxpc3RTdHlsZVR5cGU6
OkV0aGlvcGljTnVtZXJpYywKKyAgICAgICAgV2ViQ29yZTo6TGlzdFN0eWxlVHlwZTo6U3RyaW5n
LAorICAgICAgICBXZWJDb3JlOjpMaXN0U3R5bGVUeXBlOjpOb25lCisgICAgPjsKK307CisKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvQ29jb2FGb250LmggYi9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL0NvY29hRm9udC5oCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBmYzE3NmY5YzlmNzQ0NTJiNTEzYTgwOTA0ZDhlODI2NjQ4NzhhYTA1Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vY29jb2EvQ29jb2FGb250LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCww
IEBACi0vKgotKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotKgotKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0qIGFyZSBtZXQ6Ci0qIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0qICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotKgotKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0qIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0qIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUwotKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0qIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0qIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUwotKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCi0qIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSovCi0KLSNwcmFn
bWEgb25jZQotCi0jaW5jbHVkZSA8d3RmL0NvbXBpbGVyLmg+Ci0KLSNpZiBVU0UoQVBQS0lUKQot
T0JKQ19DTEFTUyBOU0ZvbnQ7Ci1PQkpDX0NMQVNTIE5TRm9udERlc2NyaXB0b3I7Ci11c2luZyBD
b2NvYUZvbnQgPSBOU0ZvbnQ7Ci11c2luZyBDb2NvYUZvbnREZXNjcmlwdG9yID0gTlNGb250RGVz
Y3JpcHRvcjsKLSNlbHNlCi1PQkpDX0NMQVNTIFVJRm9udDsKLU9CSkNfQ0xBU1MgVUlGb250RGVz
Y3JpcHRvcjsKLXVzaW5nIENvY29hRm9udCA9IFVJRm9udDsKLXVzaW5nIENvY29hRm9udERlc2Ny
aXB0b3IgPSBVSUZvbnREZXNjcmlwdG9yOwotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5tbQppbmRleCAwZjYzY2M0Njk5ZWJlMDI4
NThiMmIzNmUyOTA3YzE0NTg0MGIwY2E2Li4xMjhhYThjNDg2Yzk2YjliZWQyZTNmNmUwN2Y1NzBh
ZWY1YzBlNWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVu
dENvZGVyc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FyZ3VtZW50
Q29kZXJzQ29jb2EubW0KQEAgLTI5LDExICsyOSwxMSBAQAogI2lmIFBMQVRGT1JNKENPQ09BKQog
CiAjaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCi0jaW1wb3J0ICJDb2NvYUZvbnQuaCIKICNp
bXBvcnQgIkNvcmVUZXh0SGVscGVycy5oIgogI2ltcG9ydCA8Q29yZVRleHQvQ1RGb250Lmg+CiAj
aW1wb3J0IDxDb3JlVGV4dC9DVEZvbnREZXNjcmlwdG9yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Nv
bG9yQ29jb2EuaD4KKyNpbXBvcnQgPFdlYkNvcmUvRm9udENvY29hLmg+CiAjaW1wb3J0IDx3dGYv
QmxvY2tPYmpDRXhjZXB0aW9ucy5oPgogI2ltcG9ydCA8d3RmL0hhc2hTZXQuaD4KICNpbXBvcnQg
PHd0Zi9jZi9DRlVSTEV4dHJhcy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
Q29jb2EvQ29yZVRleHRIZWxwZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3Jl
VGV4dEhlbHBlcnMuaAppbmRleCA1NzY0ODNjMmYxY2FjMDllZTg2MmQxYTljNjRhM2VhOGFmZWUz
ZDU4Li40MGM0YTI4YzhmMGZlYTAwNGJkYjNjN2NhOTliNDM2NmYwMWIzZTAzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlVGV4dEhlbHBlcnMuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlVGV4dEhlbHBlcnMuaApAQCAtMjUsNyArMjUsNyBA
QAogCiAjcHJhZ21hIG9uY2UKIAotI2ltcG9ydCAiQ29jb2FGb250LmgiCisjaW1wb3J0IDxXZWJD
b3JlL0ZvbnRDb2NvYS5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiAjaWYgVVNFKEFQ
UEtJVCkKQEAgLTM2LDYgKzM2LDYgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLUNvY29hRm9u
dCAqZm9udFdpdGhBdHRyaWJ1dGVzKE5TRGljdGlvbmFyeSAqYXR0cmlidXRlcywgQ0dGbG9hdCBz
aXplKTsKK1dlYkNvcmU6OkNvY29hRm9udCAqZm9udFdpdGhBdHRyaWJ1dGVzKE5TRGljdGlvbmFy
eSAqYXR0cmlidXRlcywgQ0dGbG9hdCBzaXplKTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvQ29jb2EvQ29yZVRleHRIZWxwZXJzLm1tIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvQ29jb2EvQ29yZVRleHRIZWxwZXJzLm1tCmluZGV4IGEyNTEwYzY0MzUwNGQ4Mzk1NWRmOTQy
ZWY0Nzc0NzM1MWM5ZWZiYzYuLjk5MGI1YTJiMTE0MWNmMDIxNmM4MmJjZDJmZjA1NDViMDFmMGIz
MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVUZXh0SGVscGVy
cy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlVGV4dEhlbHBlcnMubW0K
QEAgLTMxLDEyICszMSwxMiBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotQ29jb2FGb250ICpm
b250V2l0aEF0dHJpYnV0ZXMoTlNEaWN0aW9uYXJ5ICphdHRyaWJ1dGVzLCBDR0Zsb2F0IHNpemUp
CitXZWJDb3JlOjpDb2NvYUZvbnQgKmZvbnRXaXRoQXR0cmlidXRlcyhOU0RpY3Rpb25hcnkgKmF0
dHJpYnV0ZXMsIENHRmxvYXQgc2l6ZSkKIHsKICAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElP
TlMKIAotICAgIGF1dG8gZGVzY3JpcHRvciA9IFtDb2NvYUZvbnREZXNjcmlwdG9yIGZvbnREZXNj
cmlwdG9yV2l0aEZvbnRBdHRyaWJ1dGVzOmF0dHJpYnV0ZXNdOwotICAgIHJldHVybiBbQ29jb2FG
b250IGZvbnRXaXRoRGVzY3JpcHRvcjpkZXNjcmlwdG9yIHNpemU6c2l6ZV07CisgICAgYXV0byBk
ZXNjcmlwdG9yID0gW1dlYkNvcmU6OkNvY29hRm9udERlc2NyaXB0b3IgZm9udERlc2NyaXB0b3JX
aXRoRm9udEF0dHJpYnV0ZXM6YXR0cmlidXRlc107CisgICAgcmV0dXJuIFtXZWJDb3JlOjpDb2Nv
YUZvbnQgZm9udFdpdGhEZXNjcmlwdG9yOmRlc2NyaXB0b3Igc2l6ZTpzaXplXTsKIAogICAgIEVO
RF9CTE9DS19PQkpDX0VYQ0VQVElPTlMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvQ29jb2EvV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQppbmRleCAzYzFiNTdkNWFh
MjZlYzcyZTYwYjVkNzhhMTFlOWZkODUyY2ZmZWM5Li40NDIyZDY3MjJmNTAzY2UyNzY4NTIwNTBh
ZGY4MTk0Njk3Y2EwNzhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9X
ZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9D
b2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQpAQCAtNDQwLDE4ICs0NDAsNiBAQCBi
b29sIEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RGljdGlvbmFyeVBvcHVwSW5mbz46OmRlY29kZVBs
YXRmb3JtRGF0YShEZWNvZGVyJiBkZQogICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIEFyZ3Vt
ZW50Q29kZXI8V2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXM+OjplbmNvZGVQbGF0Zm9ybURhdGEoRW5j
b2RlciYgZW5jb2RlciwgY29uc3QgV2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXMmIGF0dHJpYnV0ZXMp
Ci17Ci0gICAgZW5jb2RlciA8PCBhdHRyaWJ1dGVzLmZvbnQ7Ci19Ci0KLXN0ZDo6b3B0aW9uYWw8
V2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXM+IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Rm9udEF0dHJp
YnV0ZXM+OjpkZWNvZGVQbGF0Zm9ybURhdGEoRGVjb2RlciYgZGVjb2RlciwgV2ViQ29yZTo6Rm9u
dEF0dHJpYnV0ZXMmIGF0dHJpYnV0ZXMpCi17Ci0gICAgaWYgKCFJUEM6OmRlY29kZShkZWNvZGVy
LCBhdHRyaWJ1dGVzLmZvbnQpKQotICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAgIHJl
dHVybiBhdHRyaWJ1dGVzOwotfQotCiB2b2lkIEFyZ3VtZW50Q29kZXI8UmVmPFdlYkNvcmU6OkZv
bnQ+Pjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFJlZjxXZWJD
b3JlOjpGb250PiYgZm9udCkKIHsKICAgICBjb25zdCBhdXRvJiBwbGF0Zm9ybURhdGEgPSBmb250
LT5wbGF0Zm9ybURhdGEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNv
cmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1l
bnRDb2RlcnMuY3BwCmluZGV4IGM4OTg2ODdiMjI2Y2NlNGI0ZjNiOGIxYTg1Y2JlYzc5NThiNjdh
YjYuLmVhNTlmMDg5MTZkZDczZTcyNzc4Yjc4ZGVlOTY3MDcxMTg1NDg1ZWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtMTA3MSw2ICsx
MDcxLDMxIEBAIHN0YXRpYyBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNvZGVPcHRpb25hbElt
YWdlKERlY29kZXImIGRlY29kZXIsIFJlZlB0cjxJbWFnCiAgICAgcmV0dXJuIGRlY29kZUltYWdl
KGRlY29kZXIsIGltYWdlKTsKIH0KIAordm9pZCBBcmd1bWVudENvZGVyPFJlZlB0cjxGb250Pj46
OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBSZWZQdHI8Rm9udD4mIGZvbnQpCit7Cisg
ICAgZW5jb2RlciA8PCAhIWZvbnQ7CisgICAgaWYgKGZvbnQpCisgICAgICAgIGVuY29kZXIgPDwg
UmVmIHsgKmZvbnQgfTsKK30KKworc3RkOjpvcHRpb25hbDxSZWZQdHI8Rm9udD4+IEFyZ3VtZW50
Q29kZXI8UmVmUHRyPEZvbnQ+Pjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCit7CisgICAgc3Rk
OjpvcHRpb25hbDxib29sPiBoYXNGb250OworICAgIGRlY29kZXIgPj4gaGFzRm9udDsKKyAgICBp
ZiAoIWhhc0ZvbnQpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBpZiAoIWhh
c0ZvbnQudmFsdWUoKSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV9vcHRpb25hbChudWxscHRy
KTsKKworICAgIHN0ZDo6b3B0aW9uYWw8UmVmPEZvbnQ+PiBmb250OworICAgIGRlY29kZXIgPj4g
Zm9udDsKKyAgICBpZiAoIWZvbnQpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAg
ICByZXR1cm4geyBXVEZNb3ZlKCpmb250KSB9OworfQorCiB2b2lkIEFyZ3VtZW50Q29kZXI8UmVm
PEZvbnQ+Pjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFJlZjxXZWJDb3JlOjpGb250
PiYgZm9udCkKIHsKICAgICBlbmNvZGVyIDw8IGZvbnQtPm9yaWdpbigpOwpAQCAtMjkxMCwxMiAr
MjkzNSw3IEBAIHZvaWQgQXJndW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46OmVuY29kZShFbmNv
ZGVyJiBlbmNvZGVyLCBjb25zdCBGb250QXR0cmlidXRlCiAgICAgZW5jb2RlciA8PCBhdHRyaWJ1
dGVzLmJhY2tncm91bmRDb2xvciA8PCBhdHRyaWJ1dGVzLmZvcmVncm91bmRDb2xvciA8PCBhdHRy
aWJ1dGVzLmZvbnRTaGFkb3cgPDwgYXR0cmlidXRlcy5oYXNVbmRlcmxpbmUgPDwgYXR0cmlidXRl
cy5oYXNTdHJpa2VUaHJvdWdoIDw8IGF0dHJpYnV0ZXMudGV4dExpc3RzOwogICAgIGVuY29kZXIg
PDwgYXR0cmlidXRlcy5ob3Jpem9udGFsQWxpZ25tZW50OwogICAgIGVuY29kZXIgPDwgYXR0cmli
dXRlcy5zdWJzY3JpcHRPclN1cGVyc2NyaXB0OwotCi0gICAgaWYgKGF0dHJpYnV0ZXMuZW5jb2Rp
bmdSZXF1aXJlc1BsYXRmb3JtRGF0YSgpKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgdHJ1ZTsKLSAg
ICAgICAgZW5jb2RlUGxhdGZvcm1EYXRhKGVuY29kZXIsIGF0dHJpYnV0ZXMpOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQorICAgIGVuY29kZXIgPDwgYXR0cmlidXRlcy5mb250OwogfQogCiBzdGQ6
Om9wdGlvbmFsPEZvbnRBdHRyaWJ1dGVzPiBBcmd1bWVudENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6
ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCkBAIC0yOTQ2LDExICsyOTY2LDEyIEBAIHN0ZDo6b3B0
aW9uYWw8Rm9udEF0dHJpYnV0ZXM+IEFyZ3VtZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjpkZWNv
ZGUoRGVjb2RlciYgZGVjCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShhdHRyaWJ1dGVzLnN1YnNj
cmlwdE9yU3VwZXJzY3JpcHQpKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAg
Ym9vbCBoYXNQbGF0Zm9ybURhdGE7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXNQbGF0Zm9y
bURhdGEpKQorICAgIHN0ZDo6b3B0aW9uYWw8UmVmUHRyPEZvbnQ+PiBmb250OworICAgIGRlY29k
ZXIgPj4gZm9udDsKKyAgICBpZiAoIWZvbnQpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7
Ci0gICAgaWYgKGhhc1BsYXRmb3JtRGF0YSkKLSAgICAgICAgcmV0dXJuIGRlY29kZVBsYXRmb3Jt
RGF0YShkZWNvZGVyLCBhdHRyaWJ1dGVzKTsKKworICAgIGF0dHJpYnV0ZXMuZm9udCA9IFdURk1v
dmUoKmZvbnQpOwogCiAgICAgcmV0dXJuIGF0dHJpYnV0ZXM7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4IDZmYWMyYWExZWE3ODQ2ZmY2YmY4
OTAyMWYwZjUyZTlhYTdhZTAzYzguLjZmZTgxNWQ0YWI5YzAwNWU1NDI1MGY3YzhmNzVkMWRiMTA0
NDkxNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENv
ZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5o
CkBAIC0zOTIsNiArMzkyLDExIEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2Vi
Q29yZTo6Q3Vyc29yPiB7CiAgICAgc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29k
ZShEZWNvZGVyJiwgV2ViQ29yZTo6Q3Vyc29yJik7CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBB
cmd1bWVudENvZGVyPFJlZlB0cjxXZWJDb3JlOjpGb250Pj4geworICAgIHN0YXRpYyB2b2lkIGVu
Y29kZShFbmNvZGVyJiwgY29uc3QgUmVmUHRyPFdlYkNvcmU6OkZvbnQ+Jik7CisgICAgc3RhdGlj
IHN0ZDo6b3B0aW9uYWw8UmVmUHRyPFdlYkNvcmU6OkZvbnQ+PiBkZWNvZGUoRGVjb2RlciYpOwor
fTsKKwogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxSZWY8V2ViQ29yZTo6Rm9udD4+
IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFJlZjxXZWJDb3JlOjpG
b250PiYpOwogICAgIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFJlZjxXZWJDb3JlOjpGb250Pj4gZGVj
b2RlKERlY29kZXImKTsKQEAgLTczMCw4ICs3MzUsNiBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1
bWVudENvZGVyPFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4+IHsKIHRlbXBsYXRlPD4g
c3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXM+IHsKICAgICBzdGF0
aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzJik7
CiAgICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXM+IGRlY29k
ZShEZWNvZGVyJik7Ci0gICAgc3RhdGljIHZvaWQgZW5jb2RlUGxhdGZvcm1EYXRhKEVuY29kZXIm
LCBjb25zdCBXZWJDb3JlOjpGb250QXR0cmlidXRlcyYpOwotICAgIHN0YXRpYyBzdGQ6Om9wdGlv
bmFsPFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzPiBkZWNvZGVQbGF0Zm9ybURhdGEoRGVjb2RlciYs
IFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzJik7CiB9OwogCiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRf
RUxFTUVOVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL3BsYXlzdGF0aW9uL1dl
YkNvcmVBcmd1bWVudENvZGVyc1BsYXlTdGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L3BsYXlzdGF0aW9uL1dlYkNvcmVBcmd1bWVudENvZGVyc1BsYXlTdGF0aW9uLmNwcAppbmRleCAw
NTQzYmM2NjM0ZTYzODMxY2Y5ZjIxOGRhYjdlZTNkZWY0NmE5ZTNiLi5mN2Q2Zjg5YjkzOTFiZTZk
NTUzNzI5Yzc3OTYxNDZjNTY2NDU0NmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9wbGF5c3RhdGlvbi9XZWJDb3JlQXJndW1lbnRDb2RlcnNQbGF5U3RhdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvcGxheXN0YXRpb24vV2ViQ29yZUFyZ3VtZW50Q29kZXJzUGxh
eVN0YXRpb24uY3BwCkBAIC0yNywyMyArMjcsMTEgQEAKICNpbmNsdWRlICJXZWJDb3JlQXJndW1l
bnRDb2RlcnMuaCIKIAogI2luY2x1ZGUgPFdlYkNvcmUvRm9udC5oPgotI2luY2x1ZGUgPFdlYkNv
cmUvRm9udEF0dHJpYnV0ZXMuaD4KIAogbmFtZXNwYWNlIElQQyB7CiAKIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwogCi12b2lkIEFyZ3VtZW50Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjplbmNvZGVQ
bGF0Zm9ybURhdGEoRW5jb2RlciYsIGNvbnN0IEZvbnRBdHRyaWJ1dGVzJikKLXsKLSAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLX0KLQotc3RkOjpvcHRpb25hbDxGb250QXR0cmlidXRlcz4gQXJn
dW1lbnRDb2RlcjxGb250QXR0cmlidXRlcz46OmRlY29kZVBsYXRmb3JtRGF0YShEZWNvZGVyJiwg
Rm9udEF0dHJpYnV0ZXMmKQotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVy
biBzdGQ6Om51bGxvcHQ7Ci19Ci0KIHZvaWQgQXJndW1lbnRDb2RlcjxSZWY8Rm9udD4+OjplbmNv
ZGVQbGF0Zm9ybURhdGEoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgUmVmPEZvbnQ+JiBmb250KQog
ewogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKaW5kZXggMjk3M2EyYmFi
NmNhOGIwMjMzMjVjYjAwMWUyMDczYWRmMWYwNDA2ZS4uYWQ5YmQ2ZTMyYjcyZmFmMjVlMDRmMmQx
NTA1N2Y3ZmY4MjliZDU4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvc291cC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9z
b3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCkBAIC0zNiw3ICszNiw2IEBACiAjaW5j
bHVkZSA8V2ViQ29yZS9DcmVkZW50aWFsLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9EaWN0aW9uYXJ5
UG9wdXBJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Gb250Lmg+Ci0jaW5jbHVkZSA8V2ViQ29y
ZS9Gb250QXR0cmlidXRlcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9S
ZXNvdXJjZVJlc3BvbnNlLmg+CkBAIC0yMTQsMTcgKzIxMyw2IEBAIGJvb2wgQXJndW1lbnRDb2Rl
cjxDcmVkZW50aWFsPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKERlY29kZXImIGRlY29kZXIsIENyZWRl
bnRpYWwmCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgQXJndW1lbnRDb2RlcjxGb250QXR0
cmlidXRlcz46OmVuY29kZVBsYXRmb3JtRGF0YShFbmNvZGVyJiwgY29uc3QgRm9udEF0dHJpYnV0
ZXMmKQotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi1zdGQ6Om9wdGlvbmFsPEZv
bnRBdHRyaWJ1dGVzPiBBcmd1bWVudENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZGVjb2RlUGxhdGZv
cm1EYXRhKERlY29kZXImLCBGb250QXR0cmlidXRlcyYpCi17Ci0gICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLX0KLQogdm9pZCBBcmd1bWVudENvZGVy
PERpY3Rpb25hcnlQb3B1cEluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEoRW5jb2RlciYsIGNvbnN0
IERpY3Rpb25hcnlQb3B1cEluZm8mKQogewogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvd2luL1dlYkNvcmVBcmd1bWVudENvZGVyc1dp
bi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC93aW4vV2ViQ29yZUFyZ3VtZW50Q29kZXJzV2lu
LmNwcAppbmRleCAyOTJkNzE0NTJjNWMzYTk0OTJiMmY1YjYxNjgyNzM1MzBhYzJkZDExLi5kZjM5
NTQ3NDQ1YzczMjZkOTgxMWMwODAzN2U4NWY0NDU3ZjgwMGViIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC93aW4vV2ViQ29yZUFyZ3VtZW50Q29kZXJzV2luLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC93aW4vV2ViQ29yZUFyZ3VtZW50Q29kZXJzV2luLmNwcApAQCAtMjcs
NyArMjcsNiBAQAogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogCiAjaW5jbHVk
ZSA8V2ViQ29yZS9Gb250Lmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9Gb250QXR0cmlidXRlcy5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvRm9udENhY2hlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Gb250RGVzY3JpcHRpb24uaD4K
QEAgLTM3LDE3ICszNiw2IEBAIG5hbWVzcGFjZSBJUEMgewogCiB1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKIAotdm9pZCBBcmd1bWVudENvZGVyPEZvbnRBdHRyaWJ1dGVzPjo6ZW5jb2RlUGxhdGZv
cm1EYXRhKEVuY29kZXImLCBjb25zdCBGb250QXR0cmlidXRlcyYpCi17Ci0gICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7Ci19Ci0KLXN0ZDo6b3B0aW9uYWw8Rm9udEF0dHJpYnV0ZXM+IEFyZ3VtZW50
Q29kZXI8Rm9udEF0dHJpYnV0ZXM+OjpkZWNvZGVQbGF0Zm9ybURhdGEoRGVjb2RlciYsIEZvbnRB
dHRyaWJ1dGVzJikKLXsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OwotfQotCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPExPR0ZPTlQ+
IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgTE9HRk9O
VCYgbG9nRm9udCkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9XS1NhZmVCcm93c2luZ1dhcm5pbmcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9XS1NhZmVCcm93c2luZ1dhcm5pbmcubW0KaW5kZXggNDFkMDg5OGIwMWQ0YzcwY2UwOGY4
OTA1MjA1NmE1ZDA3MWU5ZTllMS4uMTgxYzE3ZGNmZjI3ZmNiODQzMDhjZWVjYTUzYmIwMTMwYzM2
MGNkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tTYWZlQnJv
d3NpbmdXYXJuaW5nLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLU2Fm
ZUJyb3dzaW5nV2FybmluZy5tbQpAQCAtMjYsOSArMjYsOSBAQAogI2ltcG9ydCAiY29uZmlnLmgi
CiAjaW1wb3J0ICJXS1NhZmVCcm93c2luZ1dhcm5pbmcuaCIKIAotI2ltcG9ydCAiQ29jb2FGb250
LmgiCiAjaW1wb3J0ICJQYWdlQ2xpZW50LmgiCiAjaW1wb3J0ICJTYWZlQnJvd3NpbmdXYXJuaW5n
LmgiCisjaW1wb3J0IDxXZWJDb3JlL0ZvbnRDb2NvYS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Mb2Nh
bGl6ZWRTdHJpbmdzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVPYmpDRXh0cmFzLmg+CiAj
aW1wb3J0IDx3dGYvVVJMLmg+CkBAIC03OCw3ICs3OCw3IEBAIGVudW0gY2xhc3MgV2FybmluZ1Rl
eHRTaXplIDogdWludDhfdCB7CiAgICAgQm9keQogfTsKIAotc3RhdGljIENvY29hRm9udCAqZm9u
dE9mU2l6ZShXYXJuaW5nVGV4dFNpemUgc2l6ZSkKK3N0YXRpYyBXZWJDb3JlOjpDb2NvYUZvbnQg
KmZvbnRPZlNpemUoV2FybmluZ1RleHRTaXplIHNpemUpCiB7CiAjaWYgUExBVEZPUk0oTUFDKQog
ICAgIHN3aXRjaCAoc2l6ZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggNDNhN2NkNWU0N2U4ODUwYTY4ZGUyMzg5NmExZGFlMzhkODMx
NGYzNi4uNmVmNmY3NGMwMzM2YmU5MTVmZDNhNDAzNGU0Y2MxYTI1MGY2NmViYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02NDQ2LDcg
KzY0NDYsNiBAQAogCQlGNEVCNEFGQzI2OUNEMjM2MDBEMjk3QUUgLyogT1NTdGF0ZVNQSS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBPU1N0YXRlU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUY0RjU5QUQzMjA2NUE1QzkwMDZDQUE0NiAvKiBXS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xs
ZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS1NlbGVjdE1l
bnVMaXN0Vmlld0NvbnRyb2xsZXIubW07IHBhdGggPSBpb3MvZm9ybXMvV0tTZWxlY3RNZW51TGlz
dFZpZXdDb250cm9sbGVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNEY1OUFE
NDIwNjVBNUNBMDA2Q0FBNDYgLyogV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJv
bGxlci5oOyBwYXRoID0gaW9zL2Zvcm1zL1dLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGNEZFMEEzQzI0NjM1NjY3MDAyNjMxRTEg
LyogQ29jb2FGb250LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvY29hRm9udC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlGNjExM0UyNDEyNkNFMTgyMDA1N0QwQTcgLyogQVBJVXNlckNvbnRl
bnRVUkxQYXR0ZXJuLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFQSVVzZXJD
b250ZW50VVJMUGF0dGVybi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNjExM0Uy
NjEyNkNFMTlCMDA1N0QwQTcgLyogV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNjExM0UyNzEyNkNFMTlCMDA1N0QwQTcg
LyogV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTkxNjcsNyArOTE2Niw2IEBACiAJCTQ0NTBBRUJFMURDM0ZBQUMwMDk5NDNGMiAvKiBj
b2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJRjRG
RTBBM0MyNDYzNTY2NzAwMjYzMUUxIC8qIENvY29hRm9udC5oICovLAogCQkJCTQ0ODI3MzQ2MjQ1
MjhGNjAwMEE5NTQ5MyAvKiBDb2NvYUltYWdlLmggKi8sCiAJCQkJQkNFMDkzNzYxNEZCMTI4QjAw
MTEzOEQ5IC8qIExheWVySG9zdGluZ0NvbnRleHQuaCAqLywKIAkJCQlCQ0UwOTM3NTE0RkIxMjhC
MDAxMTM4RDkgLyogTGF5ZXJIb3N0aW5nQ29udGV4dC5tbSAqLywK
</data>

          </attachment>
      

    </bug>

</bugzilla>