<?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>76103</bug_id>
          
          <creation_ts>2012-01-11 14:31:30 -0800</creation_ts>
          <short_desc>Implement font-variant-ligatures: {no-}common-ligatures</short_desc>
          <delta_ts>2012-01-11 20:10:57 -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>Text</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          <cc>macpherson</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>534268</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2012-01-11 14:31:30 -0800</bug_when>
    <thetext>&lt;rdar://problem/10679035&gt;

The “font-variant-ligatures” property is currently defined in &lt;http://dev.w3.org/cvsweb/~checkout~/csswg/css3-fonts/Fonts.html?rev=1.68;content-type=text%2Fhtml#font-variant-ligatures-prop&gt; to include the value keywords “normal’, “common-ligatures” and “no-common-ligatures” among others. “normal” maps to the current behavior, which lets the “text-rendering” property control ligatures, “common-ligatures” should enable basic ligatures, and “no-common-ligatures” should disable basic ligatures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534300</commentid>
    <comment_count>1</comment_count>
      <attachid>122101</attachid>
    <who name="">mitz</who>
    <bug_when>2012-01-11 15:03:54 -0800</bug_when>
    <thetext>Created attachment 122101
Parse font-variant-ligatures and respect the common-ligatures value keywords</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534438</commentid>
    <comment_count>2</comment_count>
      <attachid>122101</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-01-11 17:20:45 -0800</bug_when>
    <thetext>Comment on attachment 122101
Parse font-variant-ligatures and respect the common-ligatures value keywords

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

&gt; Source/WebCore/css/CSSStyleApplyProperty.cpp:759
&gt; +        if (value-&gt;isPrimitiveValue())
&gt; +            ASSERT(static_cast&lt;CSSPrimitiveValue*&gt;(value)-&gt;getIdent() == CSSValueNormal);

This seems like it should go in the else block within an !ASSERTIONS_DISABLED.

&gt; Source/WebCore/platform/graphics/FontDescription.h:196
&gt; +    unsigned m_commonLigaturesState : 3;
&gt; +    unsigned m_discretionaryLigaturesState : 3;
&gt; +    unsigned m_historicalLigaturesState : 3;

Do you really need three bits here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534537</commentid>
    <comment_count>3</comment_count>
    <who name="">mitz</who>
    <bug_when>2012-01-11 20:10:57 -0800</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/r104786&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122101</attachid>
            <date>2012-01-11 15:03:54 -0800</date>
            <delta_ts>2012-01-11 17:20:45 -0800</delta_ts>
            <desc>Parse font-variant-ligatures and respect the common-ligatures value keywords</desc>
            <filename>bug-76103-20120111150353.patch</filename>
            <type>text/plain</type>
            <size>38508</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNDc0NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDYyIEBACisyMDEyLTAxLTExICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwNjc5
MDM1PiBJbXBsZW1lbnQgZm9udC12YXJpYW50LWxpZ2F0dXJlczoge25vLX1jb21tb24tbGlnYXR1
cmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEw
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Rz
OiBmYXN0L2Nzcy9wYXJzaW5nLWZvbnQtdmFyaWFudC1saWdhdHVyZXMuaHRtbAorICAgICAgICAg
ICAgICAgZmFzdC90ZXh0L2ZvbnQtdmFyaWFudC1saWdhdHVyZXMtZXhwZWN0ZWQuaHRtbAorICAg
ICAgICAgICAgICAgZmFzdC90ZXh0L2ZvbnQtdmFyaWFudC1saWdhdHVyZXMuaHRtbAorCisgICAg
ICAgIEFkZGVkIHN1cHBvcnQgZm9yIGFsbCBmb250LXZhcmlhbnQtbGlnYXR1cmVzIHZhbHVlcyBp
biB0aGUgc3R5bGUgc3lzdGVtIGFuZCBpbgorICAgICAgICBGb250RGVzY3JpcHRpb24sIGFuZCBt
YWRlIHRoZSB7bm8tfWNvbW1vbi1saWdhdHVyZXMgdmFsdWUga2V5d29yZHMgY29udHJvbCBiYXNp
YyBsaWdhdHVyZXMuCisgICAgICAgIFRoZSB7bm8tfXtkaXNjcmV0aW9uYXJ5LGhpc3RvcmljYWx9
LWxpZ2F0dXJlcyBrZXl3b3JkcyBoYXZlIG5vIGVmZmVjdCBvbiByZW5kZXJpbmcgYXQgdGhpcwor
ICAgICAgICB0aW1lLgorCisgICAgICAgIGZvbnQtdmFyaWFudC1saWdhdHVyZXMgd2FzIG5vdCBt
YWRlIHBhcnQgb2YgdGhlIGZvbnQgc2hvcnRoYW5kIHByb3BlcnR5LgorCisgICAgICAgICogY3Nz
L0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1ND
b21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUpOiBBZGRlZCBjb2Rl
IHRvIGhhbmRsZQorICAgICAgICBmb250LXZhcmlhbnQtbGlnYXR1cmVzLgorICAgICAgICAqIGNz
cy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVl
KTogQWRkZWQgY29kZSB0byBoYW5kbGUgZm9udC12YXJpYW50LWxpZ2F0dXJlcy4KKyAgICAgICAg
KFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VGb250VmFyaWFudExpZ2F0dXJlcyk6IEFkZGVkLiBQ
YXJzZXMgZm9udC12YXJpYW50LWxpZ2F0dXJlcy4KKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6
CisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1By
b3BlcnR5Ojppc0luaGVyaXRlZFByb3BlcnR5KTogQWRkZWQgZm9udC12YXJpYW50LWxpZ2F0dXJl
cyB0byB0aGUgc2V0IG9mCisgICAgICAgIGluaGVyaXRlZCBwcm9wZXJ0aWVzLgorICAgICAgICAq
IGNzcy9DU1NQcm9wZXJ0eU5hbWVzLmluOiBBZGRlZCAtd2Via2l0LWZvbnQtdmFyaWFudC1saWdh
dHVyZXMuCisgICAgICAgICogY3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0eS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpBcHBseVByb3BlcnR5Rm9udFZhcmlhbnRMaWdhdHVyZXM6OmFwcGx5SW5oZXJp
dFZhbHVlKTogQWRkZWQuIENvcGllcworICAgICAgICB7Y29tbW9uLGRpc2NyZXRpb25hcnksaGlz
dG9yaWNhbH1MaWdhdHVyZXNTdGF0ZSBmcm9tIHRoZSBwYXJlbnQgc3R5bGUgZm9udCBkZXNjcmlw
dGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlGb250VmFyaWFudExpZ2F0dXJl
czo6YXBwbHlJbml0aWFsVmFsdWUpOiBBZGRlZC4gU2V0cworICAgICAgICB7Y29tbW9uLGRpc2Ny
ZXRpb25hcnksaGlzdG9yaWNhbH1MaWdhdHVyZXNTdGF0ZSB0byBub3JtYWwuCisgICAgICAgIChX
ZWJDb3JlOjpBcHBseVByb3BlcnR5Rm9udFZhcmlhbnRMaWdhdHVyZXM6OmFwcGx5VmFsdWUpOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlGb250VmFyaWFudExpZ2F0dXJl
czo6Y3JlYXRlSGFuZGxlcik6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVBcHBs
eVByb3BlcnR5OjpDU1NTdHlsZUFwcGx5UHJvcGVydHkpOiBBZGRlZCBhIGhhbmRsZXIgZm9yCisg
ICAgICAgIGZvbnQtdmFyaWFudC1saWdhdHVyZXMuCisgICAgICAgICogY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlEZWNs
YXJhdGlvbik6IFVwZGF0ZWQgZm9yIHRoZSBudW1iZXIgb2YgcHJvcGVydGllcyB0aGF0CisgICAg
ICAgIGFmZmVjdCB0aGUgZm9udC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6
OmFwcGx5UHJvcGVydHkpOiBBZGRlZCBDU1NQcm9wZXJ0eVdlYmtpdEZvbnRWYXJpYW50TGlnYXR1
cmVzIHRvCisgICAgICAgIHRoZSBzd2l0Y2ggc3RhdGVtZW50LCB3aGljaCBuZWVkcyB0byBsaXN0
IGFsbCB2YWx1ZXMgaW4gU1ZHLWRpc2FibGVkIGJ1aWxkcy4KKyAgICAgICAgKiBjc3MvQ1NTVmFs
dWVLZXl3b3Jkcy5pbjogQWRkZWQgdGhlIHZhbHVlIGtleXdvcmRzCisgICAgICAgIHtuby19e2Nv
bW1vbixkaXNjcmV0aW9uYXJ5LGhpc3RvcmljYWx9LWxpZ2F0dXJlcy4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9Gb250Lmg6CisgICAgICAgIChXZWJDb3JlOjpGb250Ojp0eXBlc2V0dGlu
Z0ZlYXR1cmVzKTogQ2hhbmdlZCB0byBlbmFibGUgbGlnYXR1cmVzIGlmIGNvbW1vbiBsaWdhdHVy
ZXMgYXJlCisgICAgICAgIGVuYWJsZWQgaW4gdGhlIGZvbnQgZGVzY3JpcHRpb24sIGRpc2FibGUg
dGhlbSBpZiB0aGV5IGFyZSBkaXNhYmxlZCwgYW5kIGxlYXZlIHRoZW0gdG8gdGhlCisgICAgICAg
IGRlZmF1bHQgKGRldGVybWluZWQgYnkgdGhlIHRleHQtcmVuZGVyaW5nIHByb3BlcnR5KSBpZiB0
aGV5IGFyZSBpbiB0aGUgbm9ybWFsIHN0YXRlLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L0ZvbnREZXNjcmlwdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6Rm9udERlc2NyaXB0aW9uOjpG
b250RGVzY3JpcHRpb24pOiBBZGRlZCBpbml0aWFsaXplcnMuCisgICAgICAgIChXZWJDb3JlOjpG
b250RGVzY3JpcHRpb246OmNvbW1vbkxpZ2F0dXJlc1N0YXRlKTogQWRkZWQgdGhpcyBhY2Nlc3Nv
ci4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnREZXNjcmlwdGlvbjo6ZGlzY3JldGlvbmFyeUxpZ2F0
dXJlc1N0YXRlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpGb250RGVzY3JpcHRpb246Omhp
c3RvcmljYWxMaWdhdHVyZXNTdGF0ZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6Rm9udERl
c2NyaXB0aW9uOjpzZXRDb21tb25MaWdhdHVyZXNTdGF0ZSk6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6Rm9udERlc2NyaXB0aW9uOjpzZXREaXNjcmV0aW9uYXJ5TGlnYXR1cmVzU3RhdGUpOiBE
aXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnREZXNjcmlwdGlvbjo6c2V0SGlzdG9yaWNhbExp
Z2F0dXJlc1N0YXRlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpGb250RGVzY3JpcHRpb246
Om9wZXJhdG9yPT0pOiBVcGRhdGVkIHRvIGNvbXBhcmUgdGhlIGxpZ2F0dXJlcyBzdGF0ZSBtZW1i
ZXJzLgorCiAyMDEyLTAxLTExICBBZGFtIFRyZWF0ICA8YXRyZWF0QHJpbS5jb20+CiAKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDg4CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cAkocmV2aXNpb24gMTA0NzI5KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIyNCw2ICsyMjQsNyBAQCBzdGF0
aWMgY29uc3QgaW50IGNvbXB1dGVkUHJvcGVydGllc1tdID0gCiAgICAgQ1NTUHJvcGVydHlXZWJr
aXRGbGV4V3JhcCwKICAgICBDU1NQcm9wZXJ0eVdlYmtpdEZvbnRLZXJuaW5nLAogICAgIENTU1By
b3BlcnR5V2Via2l0Rm9udFNtb290aGluZywKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdEZvbnRWYXJp
YW50TGlnYXR1cmVzLAogI2lmIEVOQUJMRShDU1NfR1JJRF9MQVlPVVQpCiAgICAgQ1NTUHJvcGVy
dHlXZWJraXRHcmlkQ29sdW1ucywKICAgICBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRSb3dzLApAQCAt
MTg3NSw2ICsxODc2LDIzIEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU0NvbXB1dGVkU3R5bGVE
ZWMKICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKHN0eWxlLT5m
b250RGVzY3JpcHRpb24oKS5rZXJuaW5nKCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Vi
a2l0Rm9udFNtb290aGluZzoKICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2wtPmNyZWF0
ZVZhbHVlKHN0eWxlLT5mb250RGVzY3JpcHRpb24oKS5mb250U21vb3RoaW5nKCkpOworICAgICAg
ICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Rm9udFZhcmlhbnRMaWdhdHVyZXM6IHsKKyAgICAgICAg
ICAgIEZvbnREZXNjcmlwdGlvbjo6TGlnYXR1cmVzU3RhdGUgY29tbW9uTGlnYXR1cmVzU3RhdGUg
PSBzdHlsZS0+Zm9udERlc2NyaXB0aW9uKCkuY29tbW9uTGlnYXR1cmVzU3RhdGUoKTsKKyAgICAg
ICAgICAgIEZvbnREZXNjcmlwdGlvbjo6TGlnYXR1cmVzU3RhdGUgZGlzY3JldGlvbmFyeUxpZ2F0
dXJlc1N0YXRlID0gc3R5bGUtPmZvbnREZXNjcmlwdGlvbigpLmRpc2NyZXRpb25hcnlMaWdhdHVy
ZXNTdGF0ZSgpOworICAgICAgICAgICAgRm9udERlc2NyaXB0aW9uOjpMaWdhdHVyZXNTdGF0ZSBo
aXN0b3JpY2FsTGlnYXR1cmVzU3RhdGUgPSBzdHlsZS0+Zm9udERlc2NyaXB0aW9uKCkuaGlzdG9y
aWNhbExpZ2F0dXJlc1N0YXRlKCk7CisgICAgICAgICAgICBpZiAoY29tbW9uTGlnYXR1cmVzU3Rh
dGUgPT0gRm9udERlc2NyaXB0aW9uOjpOb3JtYWxMaWdhdHVyZXNTdGF0ZSAmJiBkaXNjcmV0aW9u
YXJ5TGlnYXR1cmVzU3RhdGUgPT0gRm9udERlc2NyaXB0aW9uOjpOb3JtYWxMaWdhdHVyZXNTdGF0
ZQorICAgICAgICAgICAgICAgICYmIGhpc3RvcmljYWxMaWdhdHVyZXNTdGF0ZSA9PSBGb250RGVz
Y3JpcHRpb246Ok5vcm1hbExpZ2F0dXJlc1N0YXRlKQorICAgICAgICAgICAgICAgIHJldHVybiBj
c3NWYWx1ZVBvb2wtPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZU5vcm1hbCk7CisKKyAg
ICAgICAgICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IHZhbHVlTGlzdCA9IENTU1ZhbHVlTGlzdDo6
Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKKyAgICAgICAgICAgIGlmIChjb21tb25MaWdhdHVyZXNT
dGF0ZSAhPSBGb250RGVzY3JpcHRpb246Ok5vcm1hbExpZ2F0dXJlc1N0YXRlKQorICAgICAgICAg
ICAgICAgIHZhbHVlTGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC0+Y3JlYXRlSWRlbnRpZmllclZh
bHVlKGNvbW1vbkxpZ2F0dXJlc1N0YXRlID09IEZvbnREZXNjcmlwdGlvbjo6RGlzYWJsZWRMaWdh
dHVyZXNTdGF0ZSA/IENTU1ZhbHVlTm9Db21tb25MaWdhdHVyZXMgOiBDU1NWYWx1ZUNvbW1vbkxp
Z2F0dXJlcykpOworICAgICAgICAgICAgaWYgKGRpc2NyZXRpb25hcnlMaWdhdHVyZXNTdGF0ZSAh
PSBGb250RGVzY3JpcHRpb246Ok5vcm1hbExpZ2F0dXJlc1N0YXRlKQorICAgICAgICAgICAgICAg
IHZhbHVlTGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC0+Y3JlYXRlSWRlbnRpZmllclZhbHVlKGRp
c2NyZXRpb25hcnlMaWdhdHVyZXNTdGF0ZSA9PSBGb250RGVzY3JpcHRpb246OkRpc2FibGVkTGln
YXR1cmVzU3RhdGUgPyBDU1NWYWx1ZU5vRGlzY3JldGlvbmFyeUxpZ2F0dXJlcyA6IENTU1ZhbHVl
RGlzY3JldGlvbmFyeUxpZ2F0dXJlcykpOworICAgICAgICAgICAgaWYgKGhpc3RvcmljYWxMaWdh
dHVyZXNTdGF0ZSAhPSBGb250RGVzY3JpcHRpb246Ok5vcm1hbExpZ2F0dXJlc1N0YXRlKQorICAg
ICAgICAgICAgICAgIHZhbHVlTGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC0+Y3JlYXRlSWRlbnRp
ZmllclZhbHVlKGhpc3RvcmljYWxMaWdhdHVyZXNTdGF0ZSA9PSBGb250RGVzY3JpcHRpb246OkRp
c2FibGVkTGlnYXR1cmVzU3RhdGUgPyBDU1NWYWx1ZU5vSGlzdG9yaWNhbExpZ2F0dXJlcyA6IENT
U1ZhbHVlSGlzdG9yaWNhbExpZ2F0dXJlcykpOworICAgICAgICAgICAgcmV0dXJuIHZhbHVlTGlz
dDsKKyAgICAgICAgfQogICAgICAgICBjYXNlIENTU1Byb3BlcnR5WkluZGV4OgogICAgICAgICAg
ICAgaWYgKHN0eWxlLT5oYXNBdXRvWkluZGV4KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGNz
c1ZhbHVlUG9vbC0+Y3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlQXV0byk7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyLmNwcAkocmV2aXNpb24gMTA0NzI5KQorKysgU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIyMzMsNiArMjIzMywxMyBA
QCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShpbnQgcHJvcElkLCBiCiAgICAgICAgICAgICB2
YWxpZFByaW1pdGl2ZSA9IHRydWU7CiAgICAgICAgIGJyZWFrOwogCisgICAgY2FzZSBDU1NQcm9w
ZXJ0eVdlYmtpdEZvbnRWYXJpYW50TGlnYXR1cmVzOgorICAgICAgICBpZiAoaWQgPT0gQ1NTVmFs
dWVOb3JtYWwpCisgICAgICAgICAgICB2YWxpZFByaW1pdGl2ZSA9IHRydWU7CisgICAgICAgIGVs
c2UKKyAgICAgICAgICAgIHJldHVybiBwYXJzZUZvbnRWYXJpYW50TGlnYXR1cmVzKGltcG9ydGFu
dCk7CisgICAgICAgIGJyZWFrOworCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFdyYXBTaGFw
ZUluc2lkZToKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0V3JhcFNoYXBlT3V0c2lkZToKICAg
ICAgICAgaWYgKGlkID09IENTU1ZhbHVlQXV0bykKQEAgLTcyMjcsNiArNzIzNCw1MSBAQCBib29s
IENTU1BhcnNlcjo6cGFyc2VGb250RmVhdHVyZVNldHRpbmdzCiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCitib29sIENTU1BhcnNlcjo6cGFyc2VGb250VmFyaWFudExpZ2F0dXJlcyhib29sIGltcG9y
dGFudCkKK3sKKyAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBsaWdhdHVyZVZhbHVlcyA9IENTU1Zh
bHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKKyAgICBib29sIHNhd0NvbW1vbkxpZ2F0
dXJlc1ZhbHVlID0gZmFsc2U7CisgICAgYm9vbCBzYXdEaXNjcmV0aW9uYXJ5TGlnYXR1cmVzVmFs
dWUgPSBmYWxzZTsKKyAgICBib29sIHNhd0hpc3RvcmljYWxMaWdhdHVyZXNWYWx1ZSA9IGZhbHNl
OworCisgICAgZm9yIChDU1NQYXJzZXJWYWx1ZSogdmFsdWUgPSBtX3ZhbHVlTGlzdC0+Y3VycmVu
dCgpOyB2YWx1ZTsgdmFsdWUgPSBtX3ZhbHVlTGlzdC0+bmV4dCgpKSB7CisgICAgICAgIGlmICh2
YWx1ZS0+dW5pdCAhPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0lERU5UKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgICAgIHN3aXRjaCAodmFsdWUtPmlkKSB7CisgICAgICAgIGNh
c2UgQ1NTVmFsdWVOb0NvbW1vbkxpZ2F0dXJlczoKKyAgICAgICAgY2FzZSBDU1NWYWx1ZUNvbW1v
bkxpZ2F0dXJlczoKKyAgICAgICAgICAgIGlmIChzYXdDb21tb25MaWdhdHVyZXNWYWx1ZSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICBzYXdDb21tb25MaWdhdHVy
ZXNWYWx1ZSA9IHRydWU7CisgICAgICAgICAgICBsaWdhdHVyZVZhbHVlcy0+YXBwZW5kKGNzc1Zh
bHVlUG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUodmFsdWUtPmlkKSk7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgY2FzZSBDU1NWYWx1ZU5vRGlzY3JldGlvbmFyeUxpZ2F0dXJlczoK
KyAgICAgICAgY2FzZSBDU1NWYWx1ZURpc2NyZXRpb25hcnlMaWdhdHVyZXM6CisgICAgICAgICAg
ICBpZiAoc2F3RGlzY3JldGlvbmFyeUxpZ2F0dXJlc1ZhbHVlKQorICAgICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgICAgIHNhd0Rpc2NyZXRpb25hcnlMaWdhdHVyZXNWYWx1ZSA9
IHRydWU7CisgICAgICAgICAgICBsaWdhdHVyZVZhbHVlcy0+YXBwZW5kKGNzc1ZhbHVlUG9vbCgp
LT5jcmVhdGVJZGVudGlmaWVyVmFsdWUodmFsdWUtPmlkKSk7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY2FzZSBDU1NWYWx1ZU5vSGlzdG9yaWNhbExpZ2F0dXJlczoKKyAgICAgICAgY2Fz
ZSBDU1NWYWx1ZUhpc3RvcmljYWxMaWdhdHVyZXM6CisgICAgICAgICAgICBpZiAoc2F3SGlzdG9y
aWNhbExpZ2F0dXJlc1ZhbHVlKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAg
ICAgICAgIHNhd0hpc3RvcmljYWxMaWdhdHVyZXNWYWx1ZSA9IHRydWU7CisgICAgICAgICAgICBs
aWdhdHVyZVZhbHVlcy0+YXBwZW5kKGNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVJZGVudGlmaWVyVmFs
dWUodmFsdWUtPmlkKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmICghbGln
YXR1cmVWYWx1ZXMtPmxlbmd0aCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBhZGRQ
cm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdEZvbnRWYXJpYW50TGlnYXR1cmVzLCBsaWdhdHVyZVZh
bHVlcy5yZWxlYXNlKCksIGltcG9ydGFudCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIHN0YXRp
YyBpbmxpbmUgaW50IHl5ZXJyb3IoY29uc3QgY2hhciopIHsgcmV0dXJuIDE7IH0KIAogI2RlZmlu
ZSBFTkRfVE9LRU4gMApJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAkocmV2aXNpb24gMTA0NzI5
KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
MTgsNiArMjE4LDggQEAgcHVibGljOgogICAgIGJvb2wgcGFyc2VGbG93VGhyZWFkKGludCBwcm9w
SWQsIGJvb2wgaW1wb3J0YW50KTsKICAgICBib29sIHBhcnNlUmVnaW9uVGhyZWFkKGludCBwcm9w
SWQsIGJvb2wgaW1wb3J0YW50KTsKIAorICAgIGJvb2wgcGFyc2VGb250VmFyaWFudExpZ2F0dXJl
cyhib29sIGltcG9ydGFudCk7CisKICAgICBpbnQgeXlwYXJzZSgpOwogCiAgICAgQ1NTUGFyc2Vy
U2VsZWN0b3IqIGNyZWF0ZUZsb2F0aW5nU2VsZWN0b3IoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NT
U1Byb3BlcnR5LmNwcAkocmV2aXNpb24gMTA0NzI5KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NT
U1Byb3BlcnR5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIwLDYgKzMyMCw3IEBAIGJvb2wgQ1NT
UHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkodW4KICAgICBjYXNlIENTU1Byb3BlcnR5V2Vi
a2l0Rm9udEZlYXR1cmVTZXR0aW5nczoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Rm9udEtl
cm5pbmc6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEZvbnRTbW9vdGhpbmc6CisgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVdlYmtpdEZvbnRWYXJpYW50TGlnYXR1cmVzOgogICAgIGNhc2UgQ1NTUHJv
cGVydHlXZWJraXRMb2NhbGU6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEhpZ2hsaWdodDoK
ICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0SHlwaGVuYXRlQ2hhcmFjdGVyOgpJbmRleDogU291
cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4JKHJldmlzaW9uIDEwNDcyOSkKKysrIFNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0y
Myw2ICsyMyw3IEBAIHRleHQtcmVuZGVyaW5nCiAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5n
cwogLXdlYmtpdC1mb250LWtlcm5pbmcKIC13ZWJraXQtZm9udC1zbW9vdGhpbmcKKy13ZWJraXQt
Zm9udC12YXJpYW50LWxpZ2F0dXJlcwogLXdlYmtpdC1sb2NhbGUKIC13ZWJraXQtdGV4dC1vcmll
bnRhdGlvbgogLWVwdWItdGV4dC1vcmllbnRhdGlvbiA9IC13ZWJraXQtdGV4dC1vcmllbnRhdGlv
bgpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0eS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0eS5jcHAJ
KHJldmlzaW9uIDEwNDcyOSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZUFwcGx5UHJv
cGVydHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MjQsNiArNzI0LDg3IEBAIHB1YmxpYzoKICAg
ICB9CiB9OwogCitjbGFzcyBBcHBseVByb3BlcnR5Rm9udFZhcmlhbnRMaWdhdHVyZXMgeworcHVi
bGljOgorICAgIHN0YXRpYyB2b2lkIGFwcGx5SW5oZXJpdFZhbHVlKENTU1N0eWxlU2VsZWN0b3Iq
IHNlbGVjdG9yKQorICAgIHsKKyAgICAgICAgY29uc3QgRm9udERlc2NyaXB0aW9uJiBwYXJlbnRG
b250RGVzY3JpcHRpb24gPSBzZWxlY3Rvci0+cGFyZW50Rm9udERlc2NyaXB0aW9uKCk7CisgICAg
ICAgIEZvbnREZXNjcmlwdGlvbiBmb250RGVzY3JpcHRpb24gPSBzZWxlY3Rvci0+Zm9udERlc2Ny
aXB0aW9uKCk7CisKKyAgICAgICAgZm9udERlc2NyaXB0aW9uLnNldENvbW1vbkxpZ2F0dXJlc1N0
YXRlKHBhcmVudEZvbnREZXNjcmlwdGlvbi5jb21tb25MaWdhdHVyZXNTdGF0ZSgpKTsKKyAgICAg
ICAgZm9udERlc2NyaXB0aW9uLnNldERpc2NyZXRpb25hcnlMaWdhdHVyZXNTdGF0ZShwYXJlbnRG
b250RGVzY3JpcHRpb24uZGlzY3JldGlvbmFyeUxpZ2F0dXJlc1N0YXRlKCkpOworICAgICAgICBm
b250RGVzY3JpcHRpb24uc2V0SGlzdG9yaWNhbExpZ2F0dXJlc1N0YXRlKHBhcmVudEZvbnREZXNj
cmlwdGlvbi5oaXN0b3JpY2FsTGlnYXR1cmVzU3RhdGUoKSk7CisKKyAgICAgICAgc2VsZWN0b3It
PnNldEZvbnREZXNjcmlwdGlvbihmb250RGVzY3JpcHRpb24pOworICAgIH0KKworICAgIHN0YXRp
YyB2b2lkIGFwcGx5SW5pdGlhbFZhbHVlKENTU1N0eWxlU2VsZWN0b3IqIHNlbGVjdG9yKQorICAg
IHsKKyAgICAgICAgRm9udERlc2NyaXB0aW9uIGZvbnREZXNjcmlwdGlvbiA9IHNlbGVjdG9yLT5m
b250RGVzY3JpcHRpb24oKTsKKworICAgICAgICBmb250RGVzY3JpcHRpb24uc2V0Q29tbW9uTGln
YXR1cmVzU3RhdGUoRm9udERlc2NyaXB0aW9uOjpOb3JtYWxMaWdhdHVyZXNTdGF0ZSk7CisgICAg
ICAgIGZvbnREZXNjcmlwdGlvbi5zZXREaXNjcmV0aW9uYXJ5TGlnYXR1cmVzU3RhdGUoRm9udERl
c2NyaXB0aW9uOjpOb3JtYWxMaWdhdHVyZXNTdGF0ZSk7CisgICAgICAgIGZvbnREZXNjcmlwdGlv
bi5zZXRIaXN0b3JpY2FsTGlnYXR1cmVzU3RhdGUoRm9udERlc2NyaXB0aW9uOjpOb3JtYWxMaWdh
dHVyZXNTdGF0ZSk7CisKKyAgICAgICAgc2VsZWN0b3ItPnNldEZvbnREZXNjcmlwdGlvbihmb250
RGVzY3JpcHRpb24pOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFsdWUoQ1NTU3R5
bGVTZWxlY3Rvciogc2VsZWN0b3IsIENTU1ZhbHVlKiB2YWx1ZSkKKyAgICB7CisgICAgICAgIEZv
bnREZXNjcmlwdGlvbjo6TGlnYXR1cmVzU3RhdGUgY29tbW9uTGlnYXR1cmVzU3RhdGUgPSBGb250
RGVzY3JpcHRpb246Ok5vcm1hbExpZ2F0dXJlc1N0YXRlOworICAgICAgICBGb250RGVzY3JpcHRp
b246OkxpZ2F0dXJlc1N0YXRlIGRpc2NyZXRpb25hcnlMaWdhdHVyZXNTdGF0ZSA9IEZvbnREZXNj
cmlwdGlvbjo6Tm9ybWFsTGlnYXR1cmVzU3RhdGU7CisgICAgICAgIEZvbnREZXNjcmlwdGlvbjo6
TGlnYXR1cmVzU3RhdGUgaGlzdG9yaWNhbExpZ2F0dXJlc1N0YXRlID0gRm9udERlc2NyaXB0aW9u
OjpOb3JtYWxMaWdhdHVyZXNTdGF0ZTsKKworICAgICAgICBpZiAodmFsdWUtPmlzUHJpbWl0aXZl
VmFsdWUoKSkKKyAgICAgICAgICAgIEFTU0VSVChzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1
ZSo+KHZhbHVlKS0+Z2V0SWRlbnQoKSA9PSBDU1NWYWx1ZU5vcm1hbCk7CisgICAgICAgIGVsc2Ug
aWYgKHZhbHVlLT5pc1ZhbHVlTGlzdCgpKSB7CisgICAgICAgICAgICBDU1NWYWx1ZUxpc3QqIHZh
bHVlTGlzdCA9IHN0YXRpY19jYXN0PENTU1ZhbHVlTGlzdCo+KHZhbHVlKTsKKyAgICAgICAgICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgdmFsdWVMaXN0LT5sZW5ndGgoKTsgKytpKSB7CisgICAg
ICAgICAgICAgICAgQ1NTVmFsdWUqIGl0ZW0gPSB2YWx1ZUxpc3QtPml0ZW1XaXRob3V0Qm91bmRz
Q2hlY2soaSk7CisgICAgICAgICAgICAgICAgQVNTRVJUKGl0ZW0tPmlzUHJpbWl0aXZlVmFsdWUo
KSk7CisgICAgICAgICAgICAgICAgaWYgKGl0ZW0tPmlzUHJpbWl0aXZlVmFsdWUoKSkgeworICAg
ICAgICAgICAgICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUgPSBzdGF0
aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KGl0ZW0pOworICAgICAgICAgICAgICAgICAgICBz
d2l0Y2ggKHByaW1pdGl2ZVZhbHVlLT5nZXRJZGVudCgpKSB7CisgICAgICAgICAgICAgICAgICAg
IGNhc2UgQ1NTVmFsdWVOb0NvbW1vbkxpZ2F0dXJlczoKKyAgICAgICAgICAgICAgICAgICAgICAg
IGNvbW1vbkxpZ2F0dXJlc1N0YXRlID0gRm9udERlc2NyaXB0aW9uOjpEaXNhYmxlZExpZ2F0dXJl
c1N0YXRlOworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAg
ICAgIGNhc2UgQ1NTVmFsdWVDb21tb25MaWdhdHVyZXM6CisgICAgICAgICAgICAgICAgICAgICAg
ICBjb21tb25MaWdhdHVyZXNTdGF0ZSA9IEZvbnREZXNjcmlwdGlvbjo6RW5hYmxlZExpZ2F0dXJl
c1N0YXRlOworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAg
ICAgIGNhc2UgQ1NTVmFsdWVOb0Rpc2NyZXRpb25hcnlMaWdhdHVyZXM6CisgICAgICAgICAgICAg
ICAgICAgICAgICBkaXNjcmV0aW9uYXJ5TGlnYXR1cmVzU3RhdGUgPSBGb250RGVzY3JpcHRpb246
OkRpc2FibGVkTGlnYXR1cmVzU3RhdGU7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgICAgICAgICAgY2FzZSBDU1NWYWx1ZURpc2NyZXRpb25hcnlMaWdhdHVyZXM6
CisgICAgICAgICAgICAgICAgICAgICAgICBkaXNjcmV0aW9uYXJ5TGlnYXR1cmVzU3RhdGUgPSBG
b250RGVzY3JpcHRpb246OkVuYWJsZWRMaWdhdHVyZXNTdGF0ZTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICBjYXNlIENTU1ZhbHVlTm9IaXN0b3Jp
Y2FsTGlnYXR1cmVzOgorICAgICAgICAgICAgICAgICAgICAgICAgaGlzdG9yaWNhbExpZ2F0dXJl
c1N0YXRlID0gRm9udERlc2NyaXB0aW9uOjpEaXNhYmxlZExpZ2F0dXJlc1N0YXRlOworICAgICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIGNhc2UgQ1NTVmFs
dWVIaXN0b3JpY2FsTGlnYXR1cmVzOgorICAgICAgICAgICAgICAgICAgICAgICAgaGlzdG9yaWNh
bExpZ2F0dXJlc1N0YXRlID0gRm9udERlc2NyaXB0aW9uOjpFbmFibGVkTGlnYXR1cmVzU3RhdGU7
CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgZGVm
YXVsdDoKKyAgICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CisKKyAgICAgICAgRm9udERlc2NyaXB0aW9uIGZvbnREZXNj
cmlwdGlvbiA9IHNlbGVjdG9yLT5mb250RGVzY3JpcHRpb24oKTsKKyAgICAgICAgZm9udERlc2Ny
aXB0aW9uLnNldENvbW1vbkxpZ2F0dXJlc1N0YXRlKGNvbW1vbkxpZ2F0dXJlc1N0YXRlKTsKKyAg
ICAgICAgZm9udERlc2NyaXB0aW9uLnNldERpc2NyZXRpb25hcnlMaWdhdHVyZXNTdGF0ZShkaXNj
cmV0aW9uYXJ5TGlnYXR1cmVzU3RhdGUpOworICAgICAgICBmb250RGVzY3JpcHRpb24uc2V0SGlz
dG9yaWNhbExpZ2F0dXJlc1N0YXRlKGhpc3RvcmljYWxMaWdhdHVyZXNTdGF0ZSk7CisgICAgICAg
IHNlbGVjdG9yLT5zZXRGb250RGVzY3JpcHRpb24oZm9udERlc2NyaXB0aW9uKTsKKyAgICB9CisK
KyAgICBzdGF0aWMgUHJvcGVydHlIYW5kbGVyIGNyZWF0ZUhhbmRsZXIoKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIFByb3BlcnR5SGFuZGxlcigmYXBwbHlJbmhlcml0VmFsdWUsICZhcHBseUluaXRp
YWxWYWx1ZSwgJmFwcGx5VmFsdWUpOworICAgIH0KK307CisKIGVudW0gQm9yZGVySW1hZ2VUeXBl
IHsgSW1hZ2UgPSAwLCBNYXNrIH07CiB0ZW1wbGF0ZSA8Qm9yZGVySW1hZ2VUeXBlIGJvcmRlcklt
YWdlVHlwZSwKICAgICAgICAgICBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5LApAQCAtMTY4NCw2ICsx
NzY1LDcgQEAgQ1NTU3R5bGVBcHBseVByb3BlcnR5OjpDU1NTdHlsZUFwcGx5UHJvcAogICAgIHNl
dFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEZvbnRLZXJuaW5nLCBBcHBseVByb3Bl
cnR5Rm9udDxGb250RGVzY3JpcHRpb246Oktlcm5pbmcsICZGb250RGVzY3JpcHRpb246Omtlcm5p
bmcsICZGb250RGVzY3JpcHRpb246OnNldEtlcm5pbmcsIEZvbnREZXNjcmlwdGlvbjo6QXV0b0tl
cm5pbmc+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9w
ZXJ0eVdlYmtpdEZvbnRTbW9vdGhpbmcsIEFwcGx5UHJvcGVydHlGb250PEZvbnRTbW9vdGhpbmdN
b2RlLCAmRm9udERlc2NyaXB0aW9uOjpmb250U21vb3RoaW5nLCAmRm9udERlc2NyaXB0aW9uOjpz
ZXRGb250U21vb3RoaW5nLCBBdXRvU21vb3RoaW5nPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBz
ZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRUZXh0T3JpZW50YXRpb24sIEFwcGx5
UHJvcGVydHlGb250PFRleHRPcmllbnRhdGlvbiwgJkZvbnREZXNjcmlwdGlvbjo6dGV4dE9yaWVu
dGF0aW9uLCAmRm9udERlc2NyaXB0aW9uOjpzZXRUZXh0T3JpZW50YXRpb24sIFRleHRPcmllbnRh
dGlvblZlcnRpY2FsUmlnaHQ+OjpjcmVhdGVIYW5kbGVyKCkpOworICAgIHNldFByb3BlcnR5SGFu
ZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEZvbnRWYXJpYW50TGlnYXR1cmVzLCBBcHBseVByb3BlcnR5
Rm9udFZhcmlhbnRMaWdhdHVyZXM6OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlI
YW5kbGVyKENTU1Byb3BlcnR5Rm9udFdlaWdodCwgQXBwbHlQcm9wZXJ0eUZvbnRXZWlnaHQ6OmNy
ZWF0ZUhhbmRsZXIoKSk7CiAKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlUZXh0
QWxpZ24sIEFwcGx5UHJvcGVydHlUZXh0QWxpZ246OmNyZWF0ZUhhbmRsZXIoKSk7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCShyZXZpc2lvbiAxMDQ3MjkpCisr
KyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTIyMjgsNyArMjIyOCw3IEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlEZWNsYXJh
dGlvbigKICAgICAgICAgaW50IHByb3BlcnR5ID0gY3VycmVudC5pZCgpOwogICAgICAgICBpZiAo
YXBwbHlGaXJzdCkgewogICAgICAgICAgICAgQ09NUElMRV9BU1NFUlQoZmlyc3RDU1NQcm9wZXJ0
eSA9PSBDU1NQcm9wZXJ0eUNvbG9yLCBDU1NfY29sb3JfaXNfZmlyc3RfcHJvcGVydHkpOwotICAg
ICAgICAgICAgQ09NUElMRV9BU1NFUlQoQ1NTUHJvcGVydHlab29tID09IENTU1Byb3BlcnR5Q29s
b3IgKyAxNywgQ1NTX3pvb21faXNfZW5kX29mX2ZpcnN0X3Byb3BfcmFuZ2UpOworICAgICAgICAg
ICAgQ09NUElMRV9BU1NFUlQoQ1NTUHJvcGVydHlab29tID09IENTU1Byb3BlcnR5Q29sb3IgKyAx
OCwgQ1NTX3pvb21faXNfZW5kX29mX2ZpcnN0X3Byb3BfcmFuZ2UpOwogICAgICAgICAgICAgQ09N
UElMRV9BU1NFUlQoQ1NTUHJvcGVydHlMaW5lSGVpZ2h0ID09IENTU1Byb3BlcnR5Wm9vbSArIDEs
IENTU19saW5lX2hlaWdodF9pc19hZnRlcl96b29tKTsKICAgICAgICAgICAgIC8vIGdpdmUgc3Bl
Y2lhbCBwcmlvcml0eSB0byBmb250LXh4eCwgY29sb3IgcHJvcGVydGllcywgZXRjCiAgICAgICAg
ICAgICBpZiAocHJvcGVydHkgPiBDU1NQcm9wZXJ0eUxpbmVIZWlnaHQpCkBAIC0zODE0LDYgKzM4
MTQsNyBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkoaW50CiAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVdlYmtpdEZsb3dJbnRvOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRG
bG93RnJvbToKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Rm9udEtlcm5pbmc6CisgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVdlYmtpdEZvbnRWYXJpYW50TGlnYXR1cmVzOgogICAgIGNhc2UgQ1NTUHJv
cGVydHlXZWJraXRIaWdobGlnaHQ6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEh5cGhlbmF0
ZUNoYXJhY3RlcjoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0SHlwaGVuYXRlTGltaXRBZnRl
cjoKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCShyZXZpc2lvbiAx
MDQ3MjkpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgkod29ya2lu
ZyBjb3B5KQpAQCAtNTIsNiArNTIsMTcgQEAgYWxsCiAvLwogLy9ub3JtYWwKIHNtYWxsLWNhcHMK
KworLy8gLXdlYmtpdC1mb250LXZhcmlhbnQtbGlnYXR1cmVzOgorLy8KKy8vIG5vcm1hbAorY29t
bW9uLWxpZ2F0dXJlcworbm8tY29tbW9uLWxpZ2F0dXJlcworZGlzY3JldGlvbmFyeS1saWdhdHVy
ZXMKK25vLWRpc2NyZXRpb25hcnktbGlnYXR1cmVzCitoaXN0b3JpY2FsLWxpZ2F0dXJlcworbm8t
aGlzdG9yaWNhbC1saWdhdHVyZXMKKwogLy8KIC8vIENTU19QUk9QX0ZPTlRfV0VJR0hUOgogLy8K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgJKHJldmlzaW9uIDEw
NDcyOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTI5LDYgKzEyOSwxNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgfQogCisgICAgICAgIHN3aXRjaCAobV9mb250RGVzY3JpcHRpb24uY29tbW9uTGln
YXR1cmVzU3RhdGUoKSkgeworICAgICAgICBjYXNlIEZvbnREZXNjcmlwdGlvbjo6RGlzYWJsZWRM
aWdhdHVyZXNTdGF0ZToKKyAgICAgICAgICAgIGZlYXR1cmVzICY9IH5MaWdhdHVyZXM7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBGb250RGVzY3JpcHRpb246OkVuYWJsZWRMaWdh
dHVyZXNTdGF0ZToKKyAgICAgICAgICAgIGZlYXR1cmVzIHw9IExpZ2F0dXJlczsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlIEZvbnREZXNjcmlwdGlvbjo6Tm9ybWFsTGlnYXR1cmVz
U3RhdGU6CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCiAgICAgICAgIHJldHVybiBm
ZWF0dXJlczsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnREZXNjcmlwdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5oCShyZXZpc2lvbiAxMDQ3MjkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGVzY3JpcHRpb24uaAkod29ya2luZyBjb3B5
KQpAQCAtNzQsNiArNzQsOCBAQCBwdWJsaWM6CiAKICAgICBlbnVtIEtlcm5pbmcgeyBBdXRvS2Vy
bmluZywgTm9ybWFsS2VybmluZywgTm9uZUtlcm5pbmcgfTsKIAorICAgIGVudW0gTGlnYXR1cmVz
U3RhdGUgeyBOb3JtYWxMaWdhdHVyZXNTdGF0ZSwgRGlzYWJsZWRMaWdhdHVyZXNTdGF0ZSwgRW5h
YmxlZExpZ2F0dXJlc1N0YXRlIH07CisKICAgICBGb250RGVzY3JpcHRpb24oKQogICAgICAgICA6
IG1fc3BlY2lmaWVkU2l6ZSgwKQogICAgICAgICAsIG1fY29tcHV0ZWRTaXplKDApCkBAIC04OCw2
ICs5MCw5IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX3VzZVByaW50ZXJGb250KGZhbHNlKQogICAg
ICAgICAsIG1fcmVuZGVyaW5nTW9kZShOb3JtYWxSZW5kZXJpbmdNb2RlKQogICAgICAgICAsIG1f
a2VybmluZyhBdXRvS2VybmluZykKKyAgICAgICAgLCBtX2NvbW1vbkxpZ2F0dXJlc1N0YXRlKE5v
cm1hbExpZ2F0dXJlc1N0YXRlKQorICAgICAgICAsIG1fZGlzY3JldGlvbmFyeUxpZ2F0dXJlc1N0
YXRlKE5vcm1hbExpZ2F0dXJlc1N0YXRlKQorICAgICAgICAsIG1faGlzdG9yaWNhbExpZ2F0dXJl
c1N0YXRlKE5vcm1hbExpZ2F0dXJlc1N0YXRlKQogICAgICAgICAsIG1fa2V5d29yZFNpemUoMCkK
ICAgICAgICAgLCBtX2ZvbnRTbW9vdGhpbmcoQXV0b1Ntb290aGluZykKICAgICAgICAgLCBtX3Rl
eHRSZW5kZXJpbmcoQXV0b1RleHRSZW5kZXJpbmcpCkBAIC0xMTYsNiArMTIxLDkgQEAgcHVibGlj
OgogICAgIGJvb2wgdXNlRml4ZWREZWZhdWx0U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIGdlbmVyaWNG
YW1pbHkoKSA9PSBNb25vc3BhY2VGYW1pbHkgJiYgIWZhbWlseSgpLm5leHQoKSAmJiBmYW1pbHko
KS5mYW1pbHkoKSA9PSBtb25vc3BhY2VGYW1pbHk7IH0KICAgICBGb250UmVuZGVyaW5nTW9kZSBy
ZW5kZXJpbmdNb2RlKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Rm9udFJlbmRlcmluZ01v
ZGU+KG1fcmVuZGVyaW5nTW9kZSk7IH0KICAgICBLZXJuaW5nIGtlcm5pbmcoKSBjb25zdCB7IHJl
dHVybiBzdGF0aWNfY2FzdDxLZXJuaW5nPihtX2tlcm5pbmcpOyB9CisgICAgTGlnYXR1cmVzU3Rh
dGUgY29tbW9uTGlnYXR1cmVzU3RhdGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxMaWdh
dHVyZXNTdGF0ZT4obV9jb21tb25MaWdhdHVyZXNTdGF0ZSk7IH0KKyAgICBMaWdhdHVyZXNTdGF0
ZSBkaXNjcmV0aW9uYXJ5TGlnYXR1cmVzU3RhdGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2Fz
dDxMaWdhdHVyZXNTdGF0ZT4obV9kaXNjcmV0aW9uYXJ5TGlnYXR1cmVzU3RhdGUpOyB9CisgICAg
TGlnYXR1cmVzU3RhdGUgaGlzdG9yaWNhbExpZ2F0dXJlc1N0YXRlKCkgY29uc3QgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8TGlnYXR1cmVzU3RhdGU+KG1faGlzdG9yaWNhbExpZ2F0dXJlc1N0YXRlKTsg
fQogICAgIHVuc2lnbmVkIGtleXdvcmRTaXplKCkgY29uc3QgeyByZXR1cm4gbV9rZXl3b3JkU2l6
ZTsgfQogICAgIEZvbnRTbW9vdGhpbmdNb2RlIGZvbnRTbW9vdGhpbmcoKSBjb25zdCB7IHJldHVy
biBzdGF0aWNfY2FzdDxGb250U21vb3RoaW5nTW9kZT4obV9mb250U21vb3RoaW5nKTsgfQogICAg
IFRleHRSZW5kZXJpbmdNb2RlIHRleHRSZW5kZXJpbmdNb2RlKCkgY29uc3QgeyByZXR1cm4gc3Rh
dGljX2Nhc3Q8VGV4dFJlbmRlcmluZ01vZGU+KG1fdGV4dFJlbmRlcmluZyk7IH0KQEAgLTE0Niw2
ICsxNTQsOSBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICB2b2lkIHNldFJlbmRlcmluZ01vZGUoRm9u
dFJlbmRlcmluZ01vZGUgbW9kZSkgeyBtX3JlbmRlcmluZ01vZGUgPSBtb2RlOyB9CiAgICAgdm9p
ZCBzZXRLZXJuaW5nKEtlcm5pbmcga2VybmluZykgeyBtX2tlcm5pbmcgPSBrZXJuaW5nOyB9Cisg
ICAgdm9pZCBzZXRDb21tb25MaWdhdHVyZXNTdGF0ZShMaWdhdHVyZXNTdGF0ZSBjb21tb25MaWdh
dHVyZXNTdGF0ZSkgeyBtX2NvbW1vbkxpZ2F0dXJlc1N0YXRlID0gY29tbW9uTGlnYXR1cmVzU3Rh
dGU7IH0KKyAgICB2b2lkIHNldERpc2NyZXRpb25hcnlMaWdhdHVyZXNTdGF0ZShMaWdhdHVyZXNT
dGF0ZSBkaXNjcmV0aW9uYXJ5TGlnYXR1cmVzU3RhdGUpIHsgbV9kaXNjcmV0aW9uYXJ5TGlnYXR1
cmVzU3RhdGUgPSBkaXNjcmV0aW9uYXJ5TGlnYXR1cmVzU3RhdGU7IH0KKyAgICB2b2lkIHNldEhp
c3RvcmljYWxMaWdhdHVyZXNTdGF0ZShMaWdhdHVyZXNTdGF0ZSBoaXN0b3JpY2FsTGlnYXR1cmVz
U3RhdGUpIHsgbV9oaXN0b3JpY2FsTGlnYXR1cmVzU3RhdGUgPSBoaXN0b3JpY2FsTGlnYXR1cmVz
U3RhdGU7IH0KICAgICB2b2lkIHNldEtleXdvcmRTaXplKHVuc2lnbmVkIHMpIHsgbV9rZXl3b3Jk
U2l6ZSA9IHM7IH0KICAgICB2b2lkIHNldEZvbnRTbW9vdGhpbmcoRm9udFNtb290aGluZ01vZGUg
c21vb3RoaW5nKSB7IG1fZm9udFNtb290aGluZyA9IHNtb290aGluZzsgfQogICAgIHZvaWQgc2V0
VGV4dFJlbmRlcmluZ01vZGUoVGV4dFJlbmRlcmluZ01vZGUgcmVuZGVyaW5nKSB7IG1fdGV4dFJl
bmRlcmluZyA9IHJlbmRlcmluZzsgfQpAQCAtMTgwLDYgKzE5MSwxMCBAQCBwcml2YXRlOgogICAg
IHVuc2lnbmVkIG1fcmVuZGVyaW5nTW9kZSA6IDE7ICAvLyBVc2VkIHRvIHN3aXRjaCBiZXR3ZWVu
IENHIGFuZCBHREkgdGV4dCBvbiBXaW5kb3dzLgogICAgIHVuc2lnbmVkIG1fa2VybmluZyA6IDI7
IC8vIEtlcm5pbmcKIAorICAgIHVuc2lnbmVkIG1fY29tbW9uTGlnYXR1cmVzU3RhdGUgOiAzOwor
ICAgIHVuc2lnbmVkIG1fZGlzY3JldGlvbmFyeUxpZ2F0dXJlc1N0YXRlIDogMzsKKyAgICB1bnNp
Z25lZCBtX2hpc3RvcmljYWxMaWdhdHVyZXNTdGF0ZSA6IDM7CisKICAgICB1bnNpZ25lZCBtX2tl
eXdvcmRTaXplIDogNDsgLy8gV2UgY2FjaGUgd2hldGhlciBvciBub3QgYSBmb250IGlzIGN1cnJl
bnRseSByZXByZXNlbnRlZCBieSBhIENTUyBrZXl3b3JkIChlLmcuLCBtZWRpdW0pLiAgSWYgc28s
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGVuIHdlIGNhbiBhY2N1cmF0ZWx5IHRy
YW5zbGF0ZSBhY3Jvc3MgZGlmZmVyZW50IGdlbmVyaWMgZmFtaWxpZXMgdG8gYWRqdXN0IGZvciBk
aWZmZXJlbnQgcHJlZmVyZW5jZSBzZXR0aW5ncwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gKGUuZy4sIDEzcHggbW9ub3NwYWNlIHZzLiAxNnB4IGV2ZXJ5dGhpbmcgZWxzZSkuICBTaXpl
cyBhcmUgMS04IChsaWtlIHRoZSBIVE1MIHNpemUgdmFsdWVzIGZvciA8Zm9udD4pLgpAQCAtMjAz
LDYgKzIxOCw5IEBAIGlubGluZSBib29sIEZvbnREZXNjcmlwdGlvbjo6b3BlcmF0b3I9PSgKICAg
ICAgICAgJiYgbV91c2VQcmludGVyRm9udCA9PSBvdGhlci5tX3VzZVByaW50ZXJGb250CiAgICAg
ICAgICYmIG1fcmVuZGVyaW5nTW9kZSA9PSBvdGhlci5tX3JlbmRlcmluZ01vZGUKICAgICAgICAg
JiYgbV9rZXJuaW5nID09IG90aGVyLm1fa2VybmluZworICAgICAgICAmJiBtX2NvbW1vbkxpZ2F0
dXJlc1N0YXRlID09IG90aGVyLm1fY29tbW9uTGlnYXR1cmVzU3RhdGUKKyAgICAgICAgJiYgbV9k
aXNjcmV0aW9uYXJ5TGlnYXR1cmVzU3RhdGUgPT0gb3RoZXIubV9kaXNjcmV0aW9uYXJ5TGlnYXR1
cmVzU3RhdGUKKyAgICAgICAgJiYgbV9oaXN0b3JpY2FsTGlnYXR1cmVzU3RhdGUgPT0gb3RoZXIu
bV9oaXN0b3JpY2FsTGlnYXR1cmVzU3RhdGUKICAgICAgICAgJiYgbV9rZXl3b3JkU2l6ZSA9PSBv
dGhlci5tX2tleXdvcmRTaXplCiAgICAgICAgICYmIG1fZm9udFNtb290aGluZyA9PSBvdGhlci5t
X2ZvbnRTbW9vdGhpbmcKICAgICAgICAgJiYgbV90ZXh0UmVuZGVyaW5nID09IG90aGVyLm1fdGV4
dFJlbmRlcmluZwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTA0NzQ2KQorKysgTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTItMDEtMTEgIERhbiBC
ZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KKworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTA2
NzkwMzU+IEltcGxlbWVudCBmb250LXZhcmlhbnQtbGlnYXR1cmVzOiB7bm8tfWNvbW1vbi1saWdh
dHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2
MTAzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBm
YXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBmYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQt
cmVuZGVyZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3NzL3BhcnNpbmctZm9udC12
YXJpYW50LWxpZ2F0dXJlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvZm9udC12
YXJpYW50LWxpZ2F0dXJlcy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Rl
eHQvZm9udC12YXJpYW50LWxpZ2F0dXJlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9jaHJvbWl1bS1tYWMtc25vd2xlb3BhcmQvc3ZnL2Nzcy9nZXRDb21wdXRlZFN0eWxlLWJhc2lj
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9jc3Mv
Z2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQt
c3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
Y2hyb21pdW0td2luL3N2Zy9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS1iYXNpYy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vZ3RrL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0
ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZv
cm0vbWFjL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1y
ZW5kZXJlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9jc3MvZ2V0
Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBzdmcvY3NzL2dldENvbXB1dGVkU3R5bGUtYmFzaWMtZXhwZWN0ZWQudHh0
OgorCiAyMDEyLTAxLTExICBSYXltb25kIFRveSAgPHJ0b3lAZ29vZ2xlLmNvbT4KIAogICAgICAg
ICBXZWJhdWRpbyBsYXlvdXQgdGVzdHMgbmVlZCB0byBvdmVycmlkZSB0aGUgV2ViS2l0V2ViQXVk
aW9FbmFibGVkCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLWZvbnQtdmFyaWFu
dC1saWdhdHVyZXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJz
aW5nLWZvbnQtdmFyaWFudC1saWdhdHVyZXMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL2Zhc3QvY3NzL3BhcnNpbmctZm9udC12YXJpYW50LWxpZ2F0dXJlcy5odG1sCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDUwIEBACis8cHJlIGlkPSJjb25zb2xlIj48L3ByZT4KKzxzY3JpcHQ+
CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCisgICAgZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCisg
ICAgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1lc3NhZ2UgKyAiXG4iKSk7CisgICAgfQorCisg
ICAgZnVuY3Rpb24gdGVzdCh2YWx1ZSwgZXhwZWN0ZWRDU1NUZXh0LCBleHBlY3RlZENvbXB1dGVk
Q1NTVGV4dCkKKyAgICB7CisgICAgICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZGl2Iik7CisgICAgICAgIGVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoIi13ZWJraXQt
Zm9udC12YXJpYW50LWxpZ2F0dXJlcyIsIHZhbHVlKTsKKyAgICAgICAgdmFyIGNzc1RleHQgPSBl
bGVtZW50LnN0eWxlLndlYmtpdEZvbnRWYXJpYW50TGlnYXR1cmVzOworICAgICAgICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpOworICAgICAgICB2YXIgY29tcHV0ZWRDU1NUZXh0
ID0gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS53ZWJraXRGb250VmFyaWFudExpZ2F0dXJlczsK
KyAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlbGVtZW50KTsKKyAgICAgICAgaWYg
KGNzc1RleHQgPT09IGV4cGVjdGVkQ1NTVGV4dCAmJiBjb21wdXRlZENTU1RleHQgPT0gZXhwZWN0
ZWRDb21wdXRlZENTU1RleHQpCisgICAgICAgICAgICBsb2coIlBBU1M6ICciICsgdmFsdWUgKyAi
JyBwYXJzZWQgYXMgJyIgKyBleHBlY3RlZENTU1RleHQgKyAiJyBhbmQgY29tcHV0ZWQgdG8gJyIg
KyBjb21wdXRlZENTU1RleHQgKyAiJyIpOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGlm
IChjc3NUZXh0ICE9PSBleHBlY3RlZENTU1RleHQpCisgICAgICAgICAgICAgICAgbG9nKCJGQUlM
OiAnIiArIHZhbHVlICsgIicgcGFyc2VkIGFzICciICsgY3NzVGV4dCArICInIHJhdGhlciB0aGFu
ICciICsgZXhwZWN0ZWRDU1NUZXh0ICsgIiciKTsKKyAgICAgICAgICAgIGlmIChjb21wdXRlZENT
U1RleHQgIT09IGV4cGVjdGVkQ29tcHV0ZWRDU1NUZXh0KQorICAgICAgICAgICAgICAgIGxvZygi
RkFJTDogJyIgKyB2YWx1ZSArICInIGNvbXB1dGVkIHRvICciICsgY29tcHV0ZWRDU1NUZXh0ICsg
IicgcmF0aGVyIHRoYW4gJyIgKyBleHBlY3RlZENvbXB1dGVkQ1NTVGV4dCArICInIik7CisgICAg
ICAgIH0KKyAgICB9CisKKyAgICB0ZXN0KCdpbml0aWFsJywgJ2luaXRpYWwnLCAnbm9ybWFsJyk7
CisgICAgdGVzdCgnaW5oZXJpdCcsICdpbmhlcml0JywgJ25vcm1hbCcpOworICAgIHRlc3QoJ25v
cm1hbCcsICdub3JtYWwnLCAnbm9ybWFsJyk7CisgICAgdGVzdCgnbGFyZ2UnLCAnJywgJ25vcm1h
bCcpOworICAgIHRlc3QoJzI1cHgnLCAnJywgJ25vcm1hbCcpOworICAgIHRlc3QoJ25vcm1hbCBu
b3JtYWwnLCAnJywgJ25vcm1hbCcpOworICAgIHRlc3QoJ25vcm1hbCBuby1jb21tb24tbGlnYXR1
cmVzJywgJycsICdub3JtYWwnKTsKKworICAgIGxvZygiIik7CisgICAgdGVzdCgnbm8tY29tbW9u
LWxpZ2F0dXJlcycsICduby1jb21tb24tbGlnYXR1cmVzJywgJ25vLWNvbW1vbi1saWdhdHVyZXMn
KTsKKyAgICB0ZXN0KCdjb21tb24tbGlnYXR1cmVzJywgJ2NvbW1vbi1saWdhdHVyZXMnLCAnY29t
bW9uLWxpZ2F0dXJlcycpOworICAgIHRlc3QoJ25vLWRpc2NyZXRpb25hcnktbGlnYXR1cmVzJywg
J25vLWRpc2NyZXRpb25hcnktbGlnYXR1cmVzJywgJ25vLWRpc2NyZXRpb25hcnktbGlnYXR1cmVz
Jyk7CisgICAgdGVzdCgnZGlzY3JldGlvbmFyeS1saWdhdHVyZXMnLCAnZGlzY3JldGlvbmFyeS1s
aWdhdHVyZXMnLCAnZGlzY3JldGlvbmFyeS1saWdhdHVyZXMnKTsKKyAgICB0ZXN0KCduby1oaXN0
b3JpY2FsLWxpZ2F0dXJlcycsICduby1oaXN0b3JpY2FsLWxpZ2F0dXJlcycsICduby1oaXN0b3Jp
Y2FsLWxpZ2F0dXJlcycpOworICAgIHRlc3QoJ2hpc3RvcmljYWwtbGlnYXR1cmVzJywgJ2hpc3Rv
cmljYWwtbGlnYXR1cmVzJywgJ2hpc3RvcmljYWwtbGlnYXR1cmVzJyk7CisKKyAgICBsb2coIiIp
OworICAgIHRlc3QoJ25vLWNvbW1vbi1saWdhdHVyZXMgbm8tY29tbW9uLWxpZ2F0dXJlcycsICcn
LCAnbm9ybWFsJyk7CisgICAgdGVzdCgnY29tbW9uLWxpZ2F0dXJlcyBuby1kaXNjcmV0aW9uYXJ5
LWxpZ2F0dXJlcycsICdjb21tb24tbGlnYXR1cmVzIG5vLWRpc2NyZXRpb25hcnktbGlnYXR1cmVz
JywgJ2NvbW1vbi1saWdhdHVyZXMgbm8tZGlzY3JldGlvbmFyeS1saWdhdHVyZXMnKTsKKyAgICB0
ZXN0KCdjb21tb24tbGlnYXR1cmVzIG5vLWRpc2NyZXRpb25hcnktbGlnYXR1cmVzIGhpc3Rvcmlj
YWwtbGlnYXR1cmVzJywgJ2NvbW1vbi1saWdhdHVyZXMgbm8tZGlzY3JldGlvbmFyeS1saWdhdHVy
ZXMgaGlzdG9yaWNhbC1saWdhdHVyZXMnLCAnY29tbW9uLWxpZ2F0dXJlcyBuby1kaXNjcmV0aW9u
YXJ5LWxpZ2F0dXJlcyBoaXN0b3JpY2FsLWxpZ2F0dXJlcycpOworICAgIHRlc3QoJ2NvbW1vbi1s
aWdhdHVyZXMgbm8tZGlzY3JldGlvbmFyeS1saWdhdHVyZXMgbm9ybWFsJywgJycsICdub3JtYWwn
KTsKKzwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHls
ZS9jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDEwNDcyOSkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUv
Y29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xNTAsNiArMTUw
LDcgQEAgem9vbTogMTsKIC13ZWJraXQtZmxleC13cmFwOiBub3dyYXA7CiAtd2Via2l0LWZvbnQt
a2VybmluZzogYXV0bzsKIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGF1dG87Cistd2Via2l0LWZv
bnQtdmFyaWFudC1saWdhdHVyZXM6IG5vcm1hbDsKIC13ZWJraXQtaGlnaGxpZ2h0OiBub25lOwog
LXdlYmtpdC1oeXBoZW5hdGUtY2hhcmFjdGVyOiBhdXRvOwogLXdlYmtpdC1oeXBoZW5hdGUtbGlt
aXQtYWZ0ZXI6IGF1dG87CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0
eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5
bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDEwNDcyOSkKKysrIExh
eW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91
dC1yZW5kZXJlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE0Niw2ICsxNDYsNyBA
QCBDb21wdXRlZCBzdHlsZSBvZiBhbiBlbGVtZW50IHdob3NlIHBhcmVuCiAgICAgLXdlYmtpdC1m
bGV4LWFsaWduOiBzdHJldGNoCiAgICAgLXdlYmtpdC1mbGV4LWZsb3c6IHJvdyBub3dyYXAKICAg
ICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhdXRvCisgICAgLXdlYmtpdC1mb250LXZhcmlhbnQt
bGlnYXR1cmVzOiBub3JtYWwKICAgICAtd2Via2l0LWhpZ2hsaWdodDogbm9uZQogICAgIC13ZWJr
aXQtaHlwaGVuYXRlLWNoYXJhY3RlcjogYXV0bwogICAgIC13ZWJraXQtaHlwaGVuYXRlLWxpbWl0
LWFmdGVyOiBhdXRvCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC12YXJpYW50LWxp
Z2F0dXJlcy1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvdGV4
dC9mb250LXZhcmlhbnQtbGlnYXR1cmVzLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC12YXJpYW50LWxpZ2F0dXJlcy1leHBlY3RlZC5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDExIEBACis8c3R5bGU+CisgICAgLmxpZ2F0dXJlcyB7
IHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZWxlZ2liaWxpdHk7IH0KKzwvc3R5bGU+Cis8Ym9keSBz
dHlsZT0iZm9udC1zaXplOiAzNnB4OyI+CisgICAgPGRpdj5maWxlPC9kaXY+CisgICAgPGRpdj5m
aWxlPC9kaXY+CisgICAgPGRpdiBjbGFzcz0ibGlnYXR1cmVzIj5maWxlPC9kaXY+CisgICAgPGRp
dj5maWxlPC9kaXY+CisgICAgPGRpdiBjbGFzcz0ibGlnYXR1cmVzIj5maWxlPC9kaXY+CisgICAg
PGRpdiBjbGFzcz0ibGlnYXR1cmVzIj5maWxlPC9kaXY+Cis8L2JvZHk+CkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L3RleHQvZm9udC12YXJpYW50LWxpZ2F0dXJlcy5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LXZhcmlhbnQtbGlnYXR1cmVzLmh0bWwJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC12YXJpYW50LWxpZ2F0dXJlcy5o
dG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE3IEBACis8c3R5bGU+CisgICAgLmNvbW1vbi1s
aWdhdHVyZXMtZGlzYWJsZWQgeyAtd2Via2l0LWZvbnQtdmFyaWFudC1saWdhdHVyZXM6IG5vLWNv
bW1vbi1saWdhdHVyZXM7IH0KKyAgICAuY29tbW9uLWxpZ2F0dXJlcy1lbmFibGVkIHsgLXdlYmtp
dC1mb250LXZhcmlhbnQtbGlnYXR1cmVzOiBjb21tb24tbGlnYXR1cmVzOyB9CisgICAgLmNvbW1v
bi1saWdhdHVyZXMtbm9ybWFsIHsgLXdlYmtpdC1mb250LXZhcmlhbnQtbGlnYXR1cmVzOiBub3Jt
YWw7IH0KKzwvc3R5bGU+Cis8Ym9keSBzdHlsZT0iZm9udC1zaXplOiAzNnB4OyI+CisgICAgPGRp
dj4KKyAgICAgICAgPGRpdiBjbGFzcz0iY29tbW9uLWxpZ2F0dXJlcy1kaXNhYmxlZCI+ZmlsZTwv
ZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJjb21tb24tbGlnYXR1cmVzLW5vcm1hbCI+ZmlsZTwv
ZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJjb21tb24tbGlnYXR1cmVzLWVuYWJsZWQiPmZpbGU8
L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSJ0ZXh0LXJlbmRlcmluZzogb3B0aW1p
emVsZWdpYmlsaXR5Ij4KKyAgICAgICAgPGRpdiBjbGFzcz0iY29tbW9uLWxpZ2F0dXJlcy1kaXNh
YmxlZCI+ZmlsZTwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJjb21tb24tbGlnYXR1cmVzLW5v
cm1hbCI+ZmlsZTwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJjb21tb24tbGlnYXR1cmVzLWVu
YWJsZWQiPmZpbGU8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvYm9keT4KSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtLW1hYy1zbm93bGVvcGFyZC9zdmcvY3NzL2dldENvbXB1dGVkU3R5
bGUtYmFzaWMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtLW1hYy1zbm93bGVvcGFyZC9zdmcvY3NzL2dldENvbXB1dGVkU3R5bGUtYmFzaWMt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxMDQ3MjkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS1tYWMtc25vd2xlb3BhcmQvc3ZnL2Nzcy9nZXRDb21wdXRlZFN0eWxlLWJhc2ljLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjk4LDYgKzI5OCw4IEBAIHJlY3Q6IHN0eWxl
LmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1mb24KIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5Q1NT
VmFsdWUoLXdlYmtpdC1mb250LWtlcm5pbmcpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0K
IHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1mb250LXNtb290aGluZykgOiBh
dXRvCiByZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtZm9udC1zbW9vdGhp
bmcpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KK3JlY3Q6IHN0eWxlLmdldFByb3BlcnR5
VmFsdWUoLXdlYmtpdC1mb250LXZhcmlhbnQtbGlnYXR1cmVzKSA6IG5vcm1hbAorcmVjdDogc3R5
bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgtd2Via2l0LWZvbnQtdmFyaWFudC1saWdhdHVyZXMpIDog
W29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUo
LXdlYmtpdC1oaWdobGlnaHQpIDogbm9uZQogcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgtd2Via2l0LWhpZ2hsaWdodCkgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQogcmVjdDog
c3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LWh5cGhlbmF0ZS1jaGFyYWN0ZXIpIDogYXV0
bwpAQCAtODA4LDYgKzgxMCw4IEBAIGc6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1m
b250LWsKIGc6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC1mb250LWtlcm5pbmcp
IDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KIGc6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUo
LXdlYmtpdC1mb250LXNtb290aGluZykgOiBhdXRvCiBnOiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKC13ZWJraXQtZm9udC1zbW9vdGhpbmcpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0K
K2c6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1mb250LXZhcmlhbnQtbGlnYXR1cmVz
KSA6IG5vcm1hbAorZzogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgtd2Via2l0LWZvbnQtdmFy
aWFudC1saWdhdHVyZXMpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KIGc6IHN0eWxlLmdl
dFByb3BlcnR5VmFsdWUoLXdlYmtpdC1oaWdobGlnaHQpIDogbm9uZQogZzogc3R5bGUuZ2V0UHJv
cGVydHlDU1NWYWx1ZSgtd2Via2l0LWhpZ2hsaWdodCkgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZh
bHVlXQogZzogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LWh5cGhlbmF0ZS1jaGFyYWN0
ZXIpIDogYXV0bwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3Qv
Y3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L2Nzcy9nZXRDb21w
dXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTA0NzI5KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvY3NzL2dldENvbXB1dGVk
U3R5bGUvY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xNTAs
NiArMTUwLDcgQEAgem9vbTogMTsKIC13ZWJraXQtZmxleC13cmFwOiBub3dyYXA7CiAtd2Via2l0
LWZvbnQta2VybmluZzogYXV0bzsKIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGF1dG87Cistd2Vi
a2l0LWZvbnQtdmFyaWFudC1saWdhdHVyZXM6IG5vcm1hbDsKIC13ZWJraXQtaGlnaGxpZ2h0OiBu
b25lOwogLXdlYmtpdC1oeXBoZW5hdGUtY2hhcmFjdGVyOiBhdXRvOwogLXdlYmtpdC1oeXBoZW5h
dGUtbGltaXQtYWZ0ZXI6IGF1dG87CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS13aW4vZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJl
bmRlcmVyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS13aW4vZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRo
b3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTA0NzI5KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0
ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTE0OSw2ICsxNDksNyBAQCBDb21wdXRlZCBzdHlsZSBvZiBhbiBlbGVtZW50IHdob3NlIHBhcmVu
CiAgICAgLXdlYmtpdC1mbGV4LXdyYXA6IG5vd3JhcAogICAgIC13ZWJraXQtZm9udC1rZXJuaW5n
OiBhdXRvCiAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYXV0bworICAgIC13ZWJraXQtZm9u
dC12YXJpYW50LWxpZ2F0dXJlczogbm9ybWFsCiAgICAgLXdlYmtpdC1oaWdobGlnaHQ6IG5vbmUK
ICAgICAtd2Via2l0LWh5cGhlbmF0ZS1jaGFyYWN0ZXI6IGF1dG8KICAgICAtd2Via2l0LWh5cGhl
bmF0ZS1saW1pdC1hZnRlcjogYXV0bwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0td2luL3N2Zy9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS1iYXNpYy1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N2Zy9jc3MvZ2V0Q29t
cHV0ZWRTdHlsZS1iYXNpYy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDEwNDcyOSkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdmcvY3NzL2dldENvbXB1dGVkU3R5bGUtYmFz
aWMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yOTgsNiArMjk4LDggQEAgcmVjdDog
c3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LWZvbgogcmVjdDogc3R5bGUuZ2V0UHJvcGVy
dHlDU1NWYWx1ZSgtd2Via2l0LWZvbnQta2VybmluZykgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZh
bHVlXQogcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LWZvbnQtc21vb3RoaW5n
KSA6IGF1dG8KIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC1mb250LXNt
b290aGluZykgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQorcmVjdDogc3R5bGUuZ2V0UHJv
cGVydHlWYWx1ZSgtd2Via2l0LWZvbnQtdmFyaWFudC1saWdhdHVyZXMpIDogbm9ybWFsCityZWN0
OiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtZm9udC12YXJpYW50LWxpZ2F0dXJl
cykgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQogcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlW
YWx1ZSgtd2Via2l0LWhpZ2hsaWdodCkgOiBub25lCiByZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKC13ZWJraXQtaGlnaGxpZ2h0KSA6IFtvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdCiBy
ZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQtaHlwaGVuYXRlLWNoYXJhY3Rlcikg
OiBhdXRvCkBAIC04MDgsNiArODEwLDggQEAgZzogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Vi
a2l0LWZvbnQtawogZzogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgtd2Via2l0LWZvbnQta2Vy
bmluZykgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQogZzogc3R5bGUuZ2V0UHJvcGVydHlW
YWx1ZSgtd2Via2l0LWZvbnQtc21vb3RoaW5nKSA6IGF1dG8KIGc6IHN0eWxlLmdldFByb3BlcnR5
Q1NTVmFsdWUoLXdlYmtpdC1mb250LXNtb290aGluZykgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZh
bHVlXQorZzogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LWZvbnQtdmFyaWFudC1saWdh
dHVyZXMpIDogbm9ybWFsCitnOiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtZm9u
dC12YXJpYW50LWxpZ2F0dXJlcykgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQogZzogc3R5
bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LWhpZ2hsaWdodCkgOiBub25lCiBnOiBzdHlsZS5n
ZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtaGlnaGxpZ2h0KSA6IFtvYmplY3QgQ1NTUHJpbWl0
aXZlVmFsdWVdCiBnOiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQtaHlwaGVuYXRlLWNo
YXJhY3RlcikgOiBhdXRvCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9jc3Mv
Z2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9jc3MvZ2V0
Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMTA0NzI5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvY3Nz
L2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE0OSw2ICsxNDksNyBAQCBDb21wdXRlZCBzdHlsZSBv
ZiBhbiBlbGVtZW50IHdob3NlIHBhcmVuCiAgICAgLXdlYmtpdC1mbGV4LXdyYXA6IG5vd3JhcAog
ICAgIC13ZWJraXQtZm9udC1rZXJuaW5nOiBhdXRvCiAgICAgLXdlYmtpdC1mb250LXNtb290aGlu
ZzogYXV0bworICAgIC13ZWJraXQtZm9udC12YXJpYW50LWxpZ2F0dXJlczogbm9ybWFsCiAgICAg
LXdlYmtpdC1oaWdobGlnaHQ6IG5vbmUKICAgICAtd2Via2l0LWh5cGhlbmF0ZS1jaGFyYWN0ZXI6
IGF1dG8KICAgICAtd2Via2l0LWh5cGhlbmF0ZS1saW1pdC1hZnRlcjogYXV0bwpJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQt
c3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5
bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDEwNDcyOSkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVk
LXN0eWxlLXdpdGhvdXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
NDksNiArMTQ5LDcgQEAgQ29tcHV0ZWQgc3R5bGUgb2YgYW4gZWxlbWVudCB3aG9zZSBwYXJlbgog
ICAgIC13ZWJraXQtZmxleC13cmFwOiBub3dyYXAKICAgICAtd2Via2l0LWZvbnQta2VybmluZzog
YXV0bwogICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGF1dG8KKyAgICAtd2Via2l0LWZvbnQt
dmFyaWFudC1saWdhdHVyZXM6IG5vcm1hbAogICAgIC13ZWJraXQtaGlnaGxpZ2h0OiBub25lCiAg
ICAgLXdlYmtpdC1oeXBoZW5hdGUtY2hhcmFjdGVyOiBhdXRvCiAgICAgLXdlYmtpdC1oeXBoZW5h
dGUtbGltaXQtYWZ0ZXI6IGF1dG8KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3Qv
Y3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9jc3Mv
Z2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMTA0NzI5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9j
c3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTQ5LDYgKzE0OSw3IEBAIENvbXB1dGVkIHN0eWxl
IG9mIGFuIGVsZW1lbnQgd2hvc2UgcGFyZW4KICAgICAtd2Via2l0LWZsZXgtd3JhcDogbm93cmFw
CiAgICAgLXdlYmtpdC1mb250LWtlcm5pbmc6IGF1dG8KICAgICAtd2Via2l0LWZvbnQtc21vb3Ro
aW5nOiBhdXRvCisgICAgLXdlYmtpdC1mb250LXZhcmlhbnQtbGlnYXR1cmVzOiBub3JtYWwKICAg
ICAtd2Via2l0LWhpZ2hsaWdodDogbm9uZQogICAgIC13ZWJraXQtaHlwaGVuYXRlLWNoYXJhY3Rl
cjogYXV0bwogICAgIC13ZWJraXQtaHlwaGVuYXRlLWxpbWl0LWFmdGVyOiBhdXRvCkluZGV4OiBM
YXlvdXRUZXN0cy9zdmcvY3NzL2dldENvbXB1dGVkU3R5bGUtYmFzaWMtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS1iYXNpYy1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDEwNDcyOSkKKysrIExheW91dFRlc3RzL3N2Zy9jc3MvZ2V0
Q29tcHV0ZWRTdHlsZS1iYXNpYy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTI5OCw2
ICsyOTgsOCBAQCByZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQtZm9uCiByZWN0
OiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtZm9udC1rZXJuaW5nKSA6IFtvYmpl
Y3QgQ1NTUHJpbWl0aXZlVmFsdWVdCiByZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJr
aXQtZm9udC1zbW9vdGhpbmcpIDogYXV0bwogcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgtd2Via2l0LWZvbnQtc21vb3RoaW5nKSA6IFtvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdCity
ZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQtZm9udC12YXJpYW50LWxpZ2F0dXJl
cykgOiBub3JtYWwKK3JlY3Q6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC1mb250
LXZhcmlhbnQtbGlnYXR1cmVzKSA6IFtvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdCiByZWN0OiBz
dHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQtaGlnaGxpZ2h0KSA6IG5vbmUKIHJlY3Q6IHN0
eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC1oaWdobGlnaHQpIDogW29iamVjdCBDU1NQ
cmltaXRpdmVWYWx1ZV0KIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1oeXBo
ZW5hdGUtY2hhcmFjdGVyKSA6IGF1dG8KQEAgLTgwOCw2ICs4MTAsOCBAQCBnOiBzdHlsZS5nZXRQ
cm9wZXJ0eVZhbHVlKC13ZWJraXQtZm9udC1rCiBnOiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KC13ZWJraXQtZm9udC1rZXJuaW5nKSA6IFtvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdCiBnOiBz
dHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQtZm9udC1zbW9vdGhpbmcpIDogYXV0bwogZzog
c3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgtd2Via2l0LWZvbnQtc21vb3RoaW5nKSA6IFtvYmpl
Y3QgQ1NTUHJpbWl0aXZlVmFsdWVdCitnOiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQt
Zm9udC12YXJpYW50LWxpZ2F0dXJlcykgOiBub3JtYWwKK2c6IHN0eWxlLmdldFByb3BlcnR5Q1NT
VmFsdWUoLXdlYmtpdC1mb250LXZhcmlhbnQtbGlnYXR1cmVzKSA6IFtvYmplY3QgQ1NTUHJpbWl0
aXZlVmFsdWVdCiBnOiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQtaGlnaGxpZ2h0KSA6
IG5vbmUKIGc6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC1oaWdobGlnaHQpIDog
W29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KIGc6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdl
YmtpdC1oeXBoZW5hdGUtY2hhcmFjdGVyKSA6IGF1dG8K
</data>
<flag name="review"
          id="122807"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>