<?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>128456</bug_id>
          
          <creation_ts>2014-02-08 10:11:03 -0800</creation_ts>
          <short_desc>Remove client-drawn highlights (-webkit-highlight, WebHTMLHighlighter)</short_desc>
          <delta_ts>2023-09-20 08:54:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit API</component>
          <version>528+ (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=26076</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></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>allan.jensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>playersteam2</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>978382</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-02-08 10:11:03 -0800</bug_when>
    <thetext>Remove the unused WebHTMLHighlighter SPI and related CSS property.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978392</commentid>
    <comment_count>1</comment_count>
      <attachid>223573</attachid>
    <who name="">mitz</who>
    <bug_when>2014-02-08 11:20:28 -0800</bug_when>
    <thetext>Created attachment 223573
Remove CSS property, rendering code, and chrome client interface</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978400</commentid>
    <comment_count>2</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-02-08 11:53:34 -0800</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/r163717&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223573</attachid>
            <date>2014-02-08 11:20:28 -0800</date>
            <delta_ts>2014-02-08 11:51:26 -0800</delta_ts>
            <desc>Remove CSS property, rendering code, and chrome client interface</desc>
            <filename>bug-128456-20140208112030.patch</filename>
            <type>text/plain</type>
            <size>41941</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MzcxNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUxIEBACisyMDE0LTAyLTA4ICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGNsaWVudC1kcmF3biBo
aWdobGlnaHRzICgtd2Via2l0LWhpZ2hsaWdodCwgV2ViSFRNTEhpZ2hsaWdodGVyKQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4NDU2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlZCBmYXN0L2Nz
cy9nZXRDb21wdXRlZFN0eWxlIGFuZCBzdmcvY3NzIHJlc3VsdHMuCisKKyAgICAgICAgKiBjc3Mv
Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXB1
dGVkU3R5bGVFeHRyYWN0b3I6OnByb3BlcnR5VmFsdWUpOiBSZW1vdmVkIENTU1Byb3BlcnR5V2Vi
S2l0SGlnaGxpZ2h0IGNhc2UuCisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUpOiBEaXR0by4KKyAgICAgICAgKiBjc3Mv
Q1NTUHJvcGVydHlOYW1lcy5pbjogUmVtb3ZlZCAtd2Via2l0LWhpZ2hsaWdodC4KKyAgICAgICAg
KiBjc3MvRGVwcmVjYXRlZFN0eWxlQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZXBy
ZWNhdGVkU3R5bGVCdWlsZGVyOjpEZXByZWNhdGVkU3R5bGVCdWlsZGVyKTogUmVtb3ZlZAorICAg
ICAgICBDU1NQcm9wZXJ0eVdlYktpdEhpZ2hsaWdodCBoYW5kbGVyLgorICAgICAgICAqIGNzcy9T
dHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OmFwcGx5
UHJvcGVydHkpOiBSZW1vdmVkIENTU1Byb3BlcnR5V2ViS2l0SGlnaGxpZ2h0IGNhc2UuCisgICAg
ICAgICogcGFnZS9DaHJvbWUuY3BwOiBSZW1vdmVkIGN1c3RvbUhpZ2hsaWdodFJlY3QgYW5kIHBh
aW50Q3VzdG9tSGlnaGxpZ2h0LgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6IERpdHRv
LgorICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OklubGluZVRleHRCb3g6OnBhaW50KTogUmVtb3ZlZCBwYWludGluZyBjdXN0b20gaGlnaGxp
Z2h0LgorICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVUZXh0Qm94Lmg6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCbG9ja0Zsb3c6OmNyZWF0ZUxpbmVCb3hlc0Zyb21CaWRpUnVucyk6IFJlbW92ZWQgYWRkaW5n
IG92ZXJmbG93IGZvciBjdXN0b20KKyAgICAgICAgaGlnaGxpZ2h0cy4KKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcDogUmVtb3ZlZCBwYWludEN1c3RvbUhpZ2hsaWdodC4KKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyQm94Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklt
YWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjpwYWludFJlcGxhY2VkKTog
UmVtb3ZlZCBwYWludGluZyBjdXN0b20gaGlnaGxpZ2h0LgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJMaXN0TWFya2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RNYXJrZXI6
OnBhaW50KTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNuYXBzaG90dGVkUGx1
Z0luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNuYXBzaG90dGVkUGx1Z0luOjpwYWlu
dFNuYXBzaG90KTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcldpZGdldC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJXaWRnZXQ6OnBhaW50KTogRGl0dG8uCisgICAgICAg
ICogcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6Um9vdElu
bGluZUJveDo6cGFpbnQpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUm9vdElubGluZUJv
eC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y2hhbmdlUmVxdWlyZXNMYXlvdXQpOiBSZW1vdmVkIGhp
Z2hsaWdodCBjb21wYXJpc29uLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0eWxlUmFyZUlu
aGVyaXRlZERhdGEpOiBSZW1vdmVkIGluaXRpYWxpemVyLgorICAgICAgICAoV2ViQ29yZTo6U3R5
bGVSYXJlSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3I9PSk6IFJlbW92ZWQgaGlnaGxpZ2h0IGNvbXBh
cmlzb24uCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEu
aDogUmVtb3ZlZCBoaWdobGlnaHQgbWVtYmVyIHZhcmlhYmxlLgorCiAyMDE0LTAyLTA4ICBEYW4g
QmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgT25lIG1vcmUgYnVpbGQgZml4
IGZpeC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRp
b24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCShyZXZpc2lvbiAxNjM3MDMpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjkwLDcg
KzI5MCw2IEBAIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGNvbXB1dGVkUHJvcGUKICAgICBD
U1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZVJvd3MsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRH
cmlkUm93RW5kLAogICAgIENTU1Byb3BlcnR5V2Via2l0R3JpZFJvd1N0YXJ0LAotICAgIENTU1By
b3BlcnR5V2Via2l0SGlnaGxpZ2h0LAogICAgIENTU1Byb3BlcnR5V2Via2l0SHlwaGVuYXRlQ2hh
cmFjdGVyLAogICAgIENTU1Byb3BlcnR5V2Via2l0SHlwaGVuYXRlTGltaXRBZnRlciwKICAgICBD
U1NQcm9wZXJ0eVdlYmtpdEh5cGhlbmF0ZUxpbWl0QmVmb3JlLApAQCAtMjExOCwxMCArMjExNyw2
IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENvbXB1dGVkU3R5bGVFeHRyYWMKICAgICAgICAgICAg
ICAgICByZXR1cm4gem9vbUFkanVzdGVkUGl4ZWxWYWx1ZShzaXppbmdCb3gocmVuZGVyZXIpLmhl
aWdodCgpLCBzdHlsZS5nZXQoKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXR1cm4g
em9vbUFkanVzdGVkUGl4ZWxWYWx1ZUZvckxlbmd0aChzdHlsZS0+aGVpZ2h0KCksIHN0eWxlLmdl
dCgpKTsKLSAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEhpZ2hsaWdodDoKLSAgICAgICAg
ICAgIGlmIChzdHlsZS0+aGlnaGxpZ2h0KCkgPT0gbnVsbEF0b20pCi0gICAgICAgICAgICAgICAg
cmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZU5vbmUp
OwotICAgICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZVZhbHVlKHN0eWxlLT5o
aWdobGlnaHQoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TVFJJTkcpOwogICAgICAgICBjYXNl
IENTU1Byb3BlcnR5V2Via2l0SHlwaGVuczoKICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBv
b2woKS5jcmVhdGVWYWx1ZShzdHlsZS0+aHlwaGVucygpKTsKICAgICAgICAgY2FzZSBDU1NQcm9w
ZXJ0eVdlYmtpdEh5cGhlbmF0ZUNoYXJhY3RlcjoKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
Y3BwCShyZXZpc2lvbiAxNjM3MDMpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjY4NiwxMSArMjY4Niw2IEBAIGJvb2wgQ1NTUGFyc2VyOjpw
YXJzZVZhbHVlKENTU1Byb3BlcnR5SUQKICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB2YWxpZFVu
aXQodmFsdWUsIEZMZW5ndGgpOwogICAgICAgICBicmVhazsKIAotICAgIGNhc2UgQ1NTUHJvcGVy
dHlXZWJraXRIaWdobGlnaHQ6Ci0gICAgICAgIGlmIChpZCA9PSBDU1NWYWx1ZU5vbmUgfHwgdmFs
dWUtPnVuaXQgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TVFJJTkcpCi0gICAgICAgICAgICB2
YWxpZFByaW1pdGl2ZSA9IHRydWU7Ci0gICAgICAgIGJyZWFrOwotCiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eVdlYmtpdEh5cGhlbmF0ZUNoYXJhY3RlcjoKICAgICAgICAgaWYgKGlkID09IENTU1ZhbHVl
QXV0byB8fCB2YWx1ZS0+dW5pdCA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1NUUklORykKICAg
ICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcm9wZXJ0eU5hbWVzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcm9wZXJ0eU5hbWVzLmluCShyZXZpc2lvbiAxNjM3MDMpCisrKyBTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJvcGVydHlOYW1lcy5pbgkod29ya2luZyBjb3B5KQpAQCAtMzEyLDcgKzMxMiw2IEBA
IHotaW5kZXgKIC13ZWJraXQtZ3JpZC1yb3cKIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZQogLXdlYmtp
dC1ncmlkLWF1dG8tZmxvdwotLXdlYmtpdC1oaWdobGlnaHQgW0luaGVyaXRlZF0KIC13ZWJraXQt
aHlwaGVuYXRlLWNoYXJhY3RlciBbSW5oZXJpdGVkXQogLXdlYmtpdC1oeXBoZW5hdGUtbGltaXQt
YWZ0ZXIgW0luaGVyaXRlZF0KIC13ZWJraXQtaHlwaGVuYXRlLWxpbWl0LWJlZm9yZSBbSW5oZXJp
dGVkXQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkU3R5bGVCdWlsZGVy
LmNwcAkocmV2aXNpb24gMTYzNzAzKQorKysgU291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRT
dHlsZUJ1aWxkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTIxLDcgKzI1MjEsNiBAQCBEZXBy
ZWNhdGVkU3R5bGVCdWlsZGVyOjpEZXByZWNhdGVkU3R5bGVCCiAgICAgc2V0UHJvcGVydHlIYW5k
bGVyKENTU1Byb3BlcnR5V2Via2l0Rm9udEtlcm5pbmcsIEFwcGx5UHJvcGVydHlGb250PEZvbnRE
ZXNjcmlwdGlvbjo6S2VybmluZywgJkZvbnREZXNjcmlwdGlvbjo6a2VybmluZywgJkZvbnREZXNj
cmlwdGlvbjo6c2V0S2VybmluZywgRm9udERlc2NyaXB0aW9uOjpBdXRvS2VybmluZz46OmNyZWF0
ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0Rm9u
dFNtb290aGluZywgQXBwbHlQcm9wZXJ0eUZvbnQ8Rm9udFNtb290aGluZ01vZGUsICZGb250RGVz
Y3JpcHRpb246OmZvbnRTbW9vdGhpbmcsICZGb250RGVzY3JpcHRpb246OnNldEZvbnRTbW9vdGhp
bmcsIEF1dG9TbW9vdGhpbmc+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFu
ZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEZvbnRWYXJpYW50TGlnYXR1cmVzLCBBcHBseVByb3BlcnR5
Rm9udFZhcmlhbnRMaWdhdHVyZXM6OmNyZWF0ZUhhbmRsZXIoKSk7Ci0gICAgc2V0UHJvcGVydHlI
YW5kbGVyKENTU1Byb3BlcnR5V2Via2l0SGlnaGxpZ2h0LCBBcHBseVByb3BlcnR5U3RyaW5nPE1h
cE5vbmVUb051bGwsICZSZW5kZXJTdHlsZTo6aGlnaGxpZ2h0LCAmUmVuZGVyU3R5bGU6OnNldEhp
Z2hsaWdodCwgJlJlbmRlclN0eWxlOjppbml0aWFsSGlnaGxpZ2h0Pjo6Y3JlYXRlSGFuZGxlcigp
KTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRIeXBoZW5hdGVDaGFy
YWN0ZXIsIEFwcGx5UHJvcGVydHlTdHJpbmc8TWFwQXV0b1RvTnVsbCwgJlJlbmRlclN0eWxlOjpo
eXBoZW5hdGlvblN0cmluZywgJlJlbmRlclN0eWxlOjpzZXRIeXBoZW5hdGlvblN0cmluZywgJlJl
bmRlclN0eWxlOjppbml0aWFsSHlwaGVuYXRpb25TdHJpbmc+OjpjcmVhdGVIYW5kbGVyKCkpOwog
ICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEh5cGhlbmF0ZUxpbWl0QWZ0
ZXIsIEFwcGx5UHJvcGVydHlOdW1iZXI8c2hvcnQsICZSZW5kZXJTdHlsZTo6aHlwaGVuYXRpb25M
aW1pdEFmdGVyLCAmUmVuZGVyU3R5bGU6OnNldEh5cGhlbmF0aW9uTGltaXRBZnRlciwgJlJlbmRl
clN0eWxlOjppbml0aWFsSHlwaGVuYXRpb25MaW1pdEFmdGVyPjo6Y3JlYXRlSGFuZGxlcigpKTsK
ICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRIeXBoZW5hdGVMaW1pdEJl
Zm9yZSwgQXBwbHlQcm9wZXJ0eU51bWJlcjxzaG9ydCwgJlJlbmRlclN0eWxlOjpoeXBoZW5hdGlv
bkxpbWl0QmVmb3JlLCAmUmVuZGVyU3R5bGU6OnNldEh5cGhlbmF0aW9uTGltaXRCZWZvcmUsICZS
ZW5kZXJTdHlsZTo6aW5pdGlhbEh5cGhlbmF0aW9uTGltaXRCZWZvcmU+OjpjcmVhdGVIYW5kbGVy
KCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAkocmV2aXNpb24gMTYz
NzAzKQorKysgU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yOTI5LDcgKzI5MjksNiBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVy
dHkoQ1NTUHJvCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEZvbnRLZXJuaW5nOgogICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRGb250U21vb3RoaW5nOgogICAgIGNhc2UgQ1NTUHJvcGVydHlX
ZWJraXRGb250VmFyaWFudExpZ2F0dXJlczoKLSAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0SGln
aGxpZ2h0OgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRIeXBoZW5hdGVDaGFyYWN0ZXI6CiAg
ICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEh5cGhlbmF0ZUxpbWl0QWZ0ZXI6CiAgICAgY2FzZSBD
U1NQcm9wZXJ0eVdlYmtpdEh5cGhlbmF0ZUxpbWl0QmVmb3JlOgpJbmRleDogU291cmNlL1dlYkNv
cmUvcGFnZS9DaHJvbWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hy
b21lLmNwcAkocmV2aXNpb24gMTYzNzAzKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NTksMTUgKzU1OSw2IEBAIHZvaWQgQ2hyb21lQ2xpZW50
Ojpwb3B1bGF0ZVZpc2l0ZWRMaW5rcygKIHsKIH0KIAotRmxvYXRSZWN0IENocm9tZUNsaWVudDo6
Y3VzdG9tSGlnaGxpZ2h0UmVjdChOb2RlKiwgY29uc3QgQXRvbWljU3RyaW5nJiwgY29uc3QgRmxv
YXRSZWN0JikKLXsKLSAgICByZXR1cm4gRmxvYXRSZWN0KCk7Ci19Ci0KLXZvaWQgQ2hyb21lQ2xp
ZW50OjpwYWludEN1c3RvbUhpZ2hsaWdodChOb2RlKiwgY29uc3QgQXRvbWljU3RyaW5nJiwgY29u
c3QgRmxvYXRSZWN0JiwgY29uc3QgRmxvYXRSZWN0JiwgYm9vbCwgYm9vbCkKLXsKLX0KLQogYm9v
bCBDaHJvbWVDbGllbnQ6OnNob3VsZFJlcGxhY2VXaXRoR2VuZXJhdGVkRmlsZUZvclVwbG9hZChj
b25zdCBTdHJpbmcmLCBTdHJpbmcmKQogewogICAgIHJldHVybiBmYWxzZTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGFnZS9DaHJvbWVDbGllbnQuaAkocmV2aXNpb24gMTYzNzAzKQorKysgU291cmNlL1dlYkNv
cmUvcGFnZS9DaHJvbWVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjE5LDkgKzIxOSw2IEBA
IHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0ZVZpc2l0ZWRMaW5rcygpOwogCi0g
ICAgdmlydHVhbCBGbG9hdFJlY3QgY3VzdG9tSGlnaGxpZ2h0UmVjdChOb2RlKiwgY29uc3QgQXRv
bWljU3RyaW5nJiB0eXBlLCBjb25zdCBGbG9hdFJlY3QmIGxpbmVSZWN0KTsKLSAgICB2aXJ0dWFs
IHZvaWQgcGFpbnRDdXN0b21IaWdobGlnaHQoTm9kZSosIGNvbnN0IEF0b21pY1N0cmluZyYgdHlw
ZSwgY29uc3QgRmxvYXRSZWN0JiBib3hSZWN0LCBjb25zdCBGbG9hdFJlY3QmIGxpbmVSZWN0LCBi
b29sIGJlaGluZFRleHQsIGJvb2wgZW50aXJlTGluZSk7Ci0gICAgICAgICAgICAKICAgICB2aXJ0
dWFsIGJvb2wgc2hvdWxkUmVwbGFjZVdpdGhHZW5lcmF0ZWRGaWxlRm9yVXBsb2FkKGNvbnN0IFN0
cmluZyYgcGF0aCwgU3RyaW5nJiBnZW5lcmF0ZWRGaWxlbmFtZSk7CiAgICAgdmlydHVhbCBTdHJp
bmcgZ2VuZXJhdGVSZXBsYWNlbWVudEZpbGUoY29uc3QgU3RyaW5nJiBwYXRoKTsKIApJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAkocmV2aXNpb24gMTYz
NzAzKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01ODUsMTIgKzU4NSw2IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnQo
UGFpbnRJbmZvJiBwYWkKICAgICAvLyAxLiBQYWludCBiYWNrZ3JvdW5kcyBiZWhpbmQgdGV4dCBp
ZiBuZWVkZWQuIEV4YW1wbGVzIG9mIHN1Y2ggYmFja2dyb3VuZHMgaW5jbHVkZSBzZWxlY3Rpb24K
ICAgICAvLyBhbmQgY29tcG9zaXRpb24gdW5kZXJsaW5lcy4KICAgICBpZiAocGFpbnRJbmZvLnBo
YXNlICE9IFBhaW50UGhhc2VTZWxlY3Rpb24gJiYgcGFpbnRJbmZvLnBoYXNlICE9IFBhaW50UGhh
c2VUZXh0Q2xpcCAmJiAhaXNQcmludGluZykgewotI2lmIFBMQVRGT1JNKE1BQykKLSAgICAgICAg
Ly8gQ3VzdG9tIGhpZ2hsaWdodGVycyBnbyBiZWhpbmQgZXZlcnl0aGluZyBlbHNlLgotICAgICAg
ICBpZiAobGluZVN0eWxlLmhpZ2hsaWdodCgpICE9IG51bGxBdG9tICYmICFjb250ZXh0LT5wYWlu
dGluZ0Rpc2FibGVkKCkpCi0gICAgICAgICAgICBwYWludEN1c3RvbUhpZ2hsaWdodChhZGp1c3Rl
ZFBhaW50T2Zmc2V0LCBsaW5lU3R5bGUuaGlnaGxpZ2h0KCkpOwotI2VuZGlmCi0KICAgICAgICAg
aWYgKGNvbnRhaW5zQ29tcG9zaXRpb24gJiYgIXVzZUN1c3RvbVVuZGVybGluZXMpCiAgICAgICAg
ICAgICBwYWludENvbXBvc2l0aW9uQmFja2dyb3VuZChjb250ZXh0LCBib3hPcmlnaW4sIGxpbmVT
dHlsZSwgZm9udCwKICAgICAgICAgICAgICAgICByZW5kZXJlcigpLmZyYW1lKCkuZWRpdG9yKCku
Y29tcG9zaXRpb25TdGFydCgpLApAQCAtODE0LDIzICs4MDgsNiBAQCB2b2lkIElubGluZVRleHRC
b3g6OnBhaW50Q29tcG9zaXRpb25CYWNrCiAgICAgY29udGV4dC0+ZHJhd0hpZ2hsaWdodEZvclRl
eHQoZm9udCwgY29uc3RydWN0VGV4dFJ1bihzdHlsZSwgZm9udCksIGxvY2FsT3JpZ2luLCBzZWxI
ZWlnaHQsIGMsIHN0eWxlLmNvbG9yU3BhY2UoKSwgc1BvcywgZVBvcyk7CiB9CiAKLSNpZiBQTEFU
Rk9STShNQUMpCi0KLXZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRDdXN0b21IaWdobGlnaHQoY29u
c3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0LCBjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUpCi17
Ci0gICAgUGFnZSogcGFnZSA9IHJlbmRlcmVyKCkuZnJhbWUoKS5wYWdlKCk7Ci0gICAgaWYgKCFw
YWdlKQotICAgICAgICByZXR1cm47Ci0KLSAgICBjb25zdCBSb290SW5saW5lQm94JiByb290Qm94
ID0gcm9vdCgpOwotICAgIEZsb2F0UmVjdCByb290UmVjdChwYWludE9mZnNldC54KCkgKyByb290
Qm94LngoKSwgcGFpbnRPZmZzZXQueSgpICsgc2VsZWN0aW9uVG9wKCksIHJvb3RCb3gubG9naWNh
bFdpZHRoKCksIHNlbGVjdGlvbkhlaWdodCgpKTsKLSAgICBGbG9hdFJlY3QgdGV4dFJlY3QocGFp
bnRPZmZzZXQueCgpICsgeCgpLCByb290UmVjdC55KCksIGxvZ2ljYWxXaWR0aCgpLCByb290UmVj
dC5oZWlnaHQoKSk7Ci0KLSAgICBwYWdlLT5jaHJvbWUoKS5jbGllbnQoKS5wYWludEN1c3RvbUhp
Z2hsaWdodChyZW5kZXJlcigpLnRleHROb2RlKCksIHR5cGUsIHRleHRSZWN0LCByb290UmVjdCwg
dHJ1ZSwgZmFsc2UpOwotfQotCi0jZW5kaWYKLQogc3RhdGljIFN0cm9rZVN0eWxlIHRleHREZWNv
cmF0aW9uU3R5bGVUb1N0cm9rZVN0eWxlKFRleHREZWNvcmF0aW9uU3R5bGUgZGVjb3JhdGlvblN0
eWxlKQogewogICAgIFN0cm9rZVN0eWxlIHN0cm9rZVN0eWxlID0gU29saWRTdHJva2U7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmgJKHJldmlzaW9uIDE2Mzcw
MykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTE2NSw5ICsxNjUsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBwYWludENvbXBv
c2l0aW9uQmFja2dyb3VuZChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hP
cmlnaW4sIGNvbnN0IFJlbmRlclN0eWxlJiwgY29uc3QgRm9udCYsIGludCBzdGFydFBvcywgaW50
IGVuZFBvcyk7CiAgICAgdm9pZCBwYWludERvY3VtZW50TWFya2VycyhHcmFwaGljc0NvbnRleHQq
LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IFJlbmRlclN0eWxlJiwgY29uc3Qg
Rm9udCYsIGJvb2wgYmFja2dyb3VuZCk7CiAgICAgdm9pZCBwYWludENvbXBvc2l0aW9uVW5kZXJs
aW5lKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3Qg
Q29tcG9zaXRpb25VbmRlcmxpbmUmKTsKLSNpZiBQTEFURk9STShNQUMpCi0gICAgdm9pZCBwYWlu
dEN1c3RvbUhpZ2hsaWdodChjb25zdCBMYXlvdXRQb2ludCYsIGNvbnN0IEF0b21pY1N0cmluZyYg
dHlwZSk7Ci0jZW5kaWYKIAogcHJpdmF0ZToKICAgICB2b2lkIHBhaW50RGVjb3JhdGlvbihHcmFw
aGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIFRleHREZWNvcmF0aW9u
LCBUZXh0RGVjb3JhdGlvblN0eWxlLCBjb25zdCBTaGFkb3dEYXRhKiwgVGV4dFBhaW50ZXImKTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVM
YXlvdXQuY3BwCShyZXZpc2lvbiAxNjM3MDMpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAxNiwxMSArMTAx
Niw2IEBAIFJvb3RJbmxpbmVCb3gqIFJlbmRlckJsb2NrRmxvdzo6Y3JlYXRlTGkKICAgICAvLyBD
b21wdXRlIG91ciBvdmVyZmxvdyBub3cuCiAgICAgbGluZUJveC0+Y29tcHV0ZU92ZXJmbG93KGxp
bmVCb3gtPmxpbmVUb3AoKSwgbGluZUJveC0+bGluZUJvdHRvbSgpLCB0ZXh0Qm94RGF0YU1hcCk7
CiAgICAgCi0jaWYgUExBVEZPUk0oTUFDKQotICAgIC8vIEhpZ2hsaWdodCBhY3RzIGFzIGFuIG92
ZXJmbG93IGluZmxhdGlvbi4KLSAgICBpZiAoc3R5bGUoKS5oaWdobGlnaHQoKSAhPSBudWxsQXRv
bSkKLSAgICAgICAgbGluZUJveC0+YWRkSGlnaGxpZ2h0T3ZlcmZsb3coKTsKLSNlbmRpZgogICAg
IHJldHVybiBsaW5lQm94OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94LmNwcAkocmV2aXNpb24gMTYzNzAzKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2MjIsMjggKzE2MjIsNiBAQCBib29sIFJl
bmRlckJveDo6cmVwYWludExheWVyUmVjdHNGb3JJbWFnCiAgICAgcmV0dXJuIGZhbHNlOwogfQog
Ci0jaWYgUExBVEZPUk0oTUFDKQotCi12b2lkIFJlbmRlckJveDo6cGFpbnRDdXN0b21IaWdobGln
aHQoY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0LCBjb25zdCBBdG9taWNTdHJpbmcmIHR5
cGUsIGJvb2wgYmVoaW5kVGV4dCkKLXsKLSAgICBQYWdlKiBwYWdlID0gZnJhbWUoKS5wYWdlKCk7
Ci0gICAgaWYgKCFwYWdlKQotICAgICAgICByZXR1cm47Ci0KLSAgICBJbmxpbmVCb3gqIGJveFdy
YXAgPSBpbmxpbmVCb3hXcmFwcGVyKCk7Ci0gICAgUm9vdElubGluZUJveCogciA9IGJveFdyYXAg
PyAmYm94V3JhcC0+cm9vdCgpIDogMDsKLSAgICBpZiAocikgewotICAgICAgICBGbG9hdFJlY3Qg
cm9vdFJlY3QocGFpbnRPZmZzZXQueCgpICsgci0+eCgpLCBwYWludE9mZnNldC55KCkgKyByLT5z
ZWxlY3Rpb25Ub3AoKSwgci0+bG9naWNhbFdpZHRoKCksIHItPnNlbGVjdGlvbkhlaWdodCgpKTsK
LSAgICAgICAgRmxvYXRSZWN0IGltYWdlUmVjdChwYWludE9mZnNldC54KCkgKyB4KCksIHJvb3RS
ZWN0LnkoKSwgd2lkdGgoKSwgcm9vdFJlY3QuaGVpZ2h0KCkpOwotICAgICAgICBwYWdlLT5jaHJv
bWUoKS5jbGllbnQoKS5wYWludEN1c3RvbUhpZ2hsaWdodChlbGVtZW50KCksIHR5cGUsIGltYWdl
UmVjdCwgcm9vdFJlY3QsIGJlaGluZFRleHQsIGZhbHNlKTsKLSAgICB9IGVsc2UgewotICAgICAg
ICBGbG9hdFJlY3QgaW1hZ2VSZWN0KHBhaW50T2Zmc2V0LngoKSArIHgoKSwgcGFpbnRPZmZzZXQu
eSgpICsgeSgpLCB3aWR0aCgpLCBoZWlnaHQoKSk7Ci0gICAgICAgIHBhZ2UtPmNocm9tZSgpLmNs
aWVudCgpLnBhaW50Q3VzdG9tSGlnaGxpZ2h0KGVsZW1lbnQoKSwgdHlwZSwgaW1hZ2VSZWN0LCBp
bWFnZVJlY3QsIGJlaGluZFRleHQsIGZhbHNlKTsKLSAgICB9Ci19Ci0KLSNlbmRpZgotCiBib29s
IFJlbmRlckJveDo6cHVzaENvbnRlbnRzQ2xpcChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3Qg
TGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KQogewogICAgIGlmIChwYWludEluZm8ucGhh
c2UgPT0gUGFpbnRQaGFzZUJsb2NrQmFja2dyb3VuZCB8fCBwYWludEluZm8ucGhhc2UgPT0gUGFp
bnRQaGFzZVNlbGZPdXRsaW5lIHx8IHBhaW50SW5mby5waGFzZSA9PSBQYWludFBoYXNlTWFzaykK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgJKHJldmlzaW9uIDE2MzcwMykK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAkod29ya2luZyBjb3B5KQpA
QCAtNjM0LDEwICs2MzQsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgQmFja2dyb3VuZEJsZWVkQXZvaWRh
bmNlIGRldGVybWluZUJhY2tncm91bmRCbGVlZEF2b2lkYW5jZShHcmFwaGljc0NvbnRleHQqKSBj
b25zdDsKICAgICBib29sIGJhY2tncm91bmRIYXNPcGFxdWVUb3BMYXllcigpIGNvbnN0OwogCi0j
aWYgUExBVEZPUk0oTUFDKQotICAgIHZvaWQgcGFpbnRDdXN0b21IaWdobGlnaHQoY29uc3QgTGF5
b3V0UG9pbnQmLCBjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgYmVoaW5kVGV4dCk7Ci0j
ZW5kaWYKLQogICAgIHZvaWQgY29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsV2lkdGgoTG9naWNhbEV4
dGVudENvbXB1dGVkVmFsdWVzJiwgUmVuZGVyUmVnaW9uKiA9IDApIGNvbnN0OwogCiAgICAgTGF5
b3V0VW5pdCBjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRoVXNpbmcoTGVuZ3RoIGxvZ2ljYWxX
aWR0aExlbmd0aCwgTGF5b3V0VW5pdCBhdmFpbGFibGVMb2dpY2FsV2lkdGgsIExheW91dFVuaXQg
Ym9yZGVyQW5kUGFkZGluZykgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJJbWFnZS5jcHAJKHJldmlzaW9uIDE2MzcwMykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJJbWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2MywxMSArNDYzLDYgQEAg
dm9pZCBSZW5kZXJJbWFnZTo6cGFpbnRSZXBsYWNlZChQYWludEluZgogICAgICAgICAgICAgcmV0
dXJuOwogICAgICAgICB9CiAKLSNpZiBQTEFURk9STShNQUMpCi0gICAgICAgIGlmIChzdHlsZSgp
LmhpZ2hsaWdodCgpICE9IG51bGxBdG9tICYmICFwYWludEluZm8uY29udGV4dC0+cGFpbnRpbmdE
aXNhYmxlZCgpKQotICAgICAgICAgICAgcGFpbnRDdXN0b21IaWdobGlnaHQodG9Qb2ludChwYWlu
dE9mZnNldCAtIGxvY2F0aW9uKCkpLCBzdHlsZSgpLmhpZ2hsaWdodCgpLCB0cnVlKTsKLSNlbmRp
ZgotCiAgICAgICAgIExheW91dFJlY3QgY29udGVudFJlY3QgPSBjb250ZW50Qm94UmVjdCgpOwog
ICAgICAgICBjb250ZW50UmVjdC5tb3ZlQnkocGFpbnRPZmZzZXQpOwogICAgICAgICBMYXlvdXRS
ZWN0IHBhaW50UmVjdCA9IHJlcGxhY2VkQ29udGVudFJlY3QoaW50cmluc2ljU2l6ZSgpKTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAJKHJl
dmlzaW9uIDE2MzcwMykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFy
a2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE5NiwxMCArMTE5Niw2IEBAIHZvaWQgUmVuZGVy
TGlzdE1hcmtlcjo6cGFpbnQoUGFpbnRJbmZvJiAKICAgICBHcmFwaGljc0NvbnRleHQqIGNvbnRl
eHQgPSBwYWludEluZm8uY29udGV4dDsKIAogICAgIGlmIChpc0ltYWdlKCkpIHsKLSNpZiBQTEFU
Rk9STShNQUMpCi0gICAgICAgIGlmIChzdHlsZSgpLmhpZ2hsaWdodCgpICE9IG51bGxBdG9tICYm
ICFwYWludEluZm8uY29udGV4dC0+cGFpbnRpbmdEaXNhYmxlZCgpKQotICAgICAgICAgICAgcGFp
bnRDdXN0b21IaWdobGlnaHQocGFpbnRPZmZzZXQsIHN0eWxlKCkuaGlnaGxpZ2h0KCksIHRydWUp
OwotI2VuZGlmCiAgICAgICAgIGNvbnRleHQtPmRyYXdJbWFnZShtX2ltYWdlLT5pbWFnZSh0aGlz
LCBtYXJrZXIuc2l6ZSgpKS5nZXQoKSwgc3R5bGUoKS5jb2xvclNwYWNlKCksIG1hcmtlcik7CiAg
ICAgICAgIGlmIChzZWxlY3Rpb25TdGF0ZSgpICE9IFNlbGVjdGlvbk5vbmUpIHsKICAgICAgICAg
ICAgIExheW91dFJlY3Qgc2VsUmVjdCA9IGxvY2FsU2VsZWN0aW9uUmVjdCgpOwpAQCAtMTIwOSwx
MiArMTIwNSw2IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6cGFpbnQoUGFpbnRJbmZvJiAKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotI2lmIFBMQVRGT1JNKE1BQykKLSAgICAvLyBGSVhNRTog
cGFpbnQgZ2FwIGJldHdlZW4gbWFya2VyIGFuZCBsaXN0IGl0ZW0gcHJvcGVyCi0gICAgaWYgKHN0
eWxlKCkuaGlnaGxpZ2h0KCkgIT0gbnVsbEF0b20gJiYgIXBhaW50SW5mby5jb250ZXh0LT5wYWlu
dGluZ0Rpc2FibGVkKCkpCi0gICAgICAgIHBhaW50Q3VzdG9tSGlnaGxpZ2h0KHBhaW50T2Zmc2V0
LCBzdHlsZSgpLmhpZ2hsaWdodCgpLCB0cnVlKTsKLSNlbmRpZgotCiAgICAgaWYgKHNlbGVjdGlv
blN0YXRlKCkgIT0gU2VsZWN0aW9uTm9uZSkgewogICAgICAgICBMYXlvdXRSZWN0IHNlbFJlY3Qg
PSBsb2NhbFNlbGVjdGlvblJlY3QoKTsKICAgICAgICAgc2VsUmVjdC5tb3ZlQnkoYm94T3JpZ2lu
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbmFwc2hvdHRlZFBsdWdJ
bi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNuYXBz
aG90dGVkUGx1Z0luLmNwcAkocmV2aXNpb24gMTYzNzAzKQorKysgU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclNuYXBzaG90dGVkUGx1Z0luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIz
LDEwICsxMjMsNiBAQCB2b2lkIFJlbmRlclNuYXBzaG90dGVkUGx1Z0luOjpwYWludFNuYXBzCiAg
ICAgICAgIHJldHVybjsKIAogICAgIEdyYXBoaWNzQ29udGV4dCogY29udGV4dCA9IHBhaW50SW5m
by5jb250ZXh0OwotI2lmIFBMQVRGT1JNKE1BQykKLSAgICBpZiAoc3R5bGUoKS5oaWdobGlnaHQo
KSAhPSBudWxsQXRvbSAmJiAhY29udGV4dC0+cGFpbnRpbmdEaXNhYmxlZCgpKQotICAgICAgICBw
YWludEN1c3RvbUhpZ2hsaWdodCh0b1BvaW50KHBhaW50T2Zmc2V0IC0gbG9jYXRpb24oKSksIHN0
eWxlKCkuaGlnaGxpZ2h0KCksIHRydWUpOwotI2VuZGlmCiAKICAgICBMYXlvdXRTaXplIGNvbnRl
bnRTaXplKGNXaWR0aCwgY0hlaWdodCk7CiAgICAgTGF5b3V0UG9pbnQgY29udGVudExvY2F0aW9u
ID0gbG9jYXRpb24oKSArIHBhaW50T2Zmc2V0OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlcldpZGdldC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlcldpZGdldC5jcHAJKHJldmlzaW9uIDE2MzcwMykKKysrIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjgsMTEgKzI2
OCw2IEBAIHZvaWQgUmVuZGVyV2lkZ2V0OjpwYWludChQYWludEluZm8mIHBhaW4KICAgICBpZiAo
cGFpbnRJbmZvLnBoYXNlICE9IFBhaW50UGhhc2VGb3JlZ3JvdW5kKQogICAgICAgICByZXR1cm47
CiAKLSNpZiBQTEFURk9STShNQUMpCi0gICAgaWYgKHN0eWxlKCkuaGlnaGxpZ2h0KCkgIT0gbnVs
bEF0b20gJiYgIXBhaW50SW5mby5jb250ZXh0LT5wYWludGluZ0Rpc2FibGVkKCkpCi0gICAgICAg
IHBhaW50Q3VzdG9tSGlnaGxpZ2h0KHBhaW50T2Zmc2V0LCBzdHlsZSgpLmhpZ2hsaWdodCgpLCB0
cnVlKTsKLSNlbmRpZgotCiAgICAgaWYgKHN0eWxlKCkuaGFzQm9yZGVyUmFkaXVzKCkpIHsKICAg
ICAgICAgTGF5b3V0UmVjdCBib3JkZXJSZWN0ID0gTGF5b3V0UmVjdChhZGp1c3RlZFBhaW50T2Zm
c2V0LCBzaXplKCkpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGlu
ZUJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxp
bmVCb3guY3BwCShyZXZpc2lvbiAxNjM3MDMpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
Um9vdElubGluZUJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2OCwzOCArMTY4LDYgQEAgdm9p
ZCBSb290SW5saW5lQm94OjpwYWludEVsbGlwc2lzQm94KFBhaQogICAgICAgICBlbGxpcHNpc0Jv
eCgpLT5wYWludChwYWludEluZm8sIHBhaW50T2Zmc2V0LCBsaW5lVG9wLCBsaW5lQm90dG9tKTsK
IH0KIAotI2lmIFBMQVRGT1JNKE1BQykKLQotdm9pZCBSb290SW5saW5lQm94OjphZGRIaWdobGln
aHRPdmVyZmxvdygpCi17Ci0gICAgUGFnZSogcGFnZSA9IHJlbmRlcmVyKCkuZnJhbWUoKS5wYWdl
KCk7Ci0gICAgaWYgKCFwYWdlKQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBIaWdobGlnaHQg
YWN0cyBhcyBhIHNlbGVjdGlvbiBpbmZsYXRpb24uCi0gICAgRmxvYXRSZWN0IHJvb3RSZWN0KDAs
IHNlbGVjdGlvblRvcCgpLCBsb2dpY2FsV2lkdGgoKSwgc2VsZWN0aW9uSGVpZ2h0KCkpOwotICAg
IEludFJlY3QgaW5mbGF0ZWRSZWN0ID0gZW5jbG9zaW5nSW50UmVjdChwYWdlLT5jaHJvbWUoKS5j
bGllbnQoKS5jdXN0b21IaWdobGlnaHRSZWN0KHJlbmRlcmVyKCkuZWxlbWVudCgpLCByZW5kZXJl
cigpLnN0eWxlKCkuaGlnaGxpZ2h0KCksIHJvb3RSZWN0KSk7Ci0gICAgc2V0T3ZlcmZsb3dGcm9t
TG9naWNhbFJlY3RzKGluZmxhdGVkUmVjdCwgaW5mbGF0ZWRSZWN0LCBsaW5lVG9wKCksIGxpbmVC
b3R0b20oKSk7Ci19Ci0KLXZvaWQgUm9vdElubGluZUJveDo6cGFpbnRDdXN0b21IaWdobGlnaHQo
UGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCwgY29u
c3QgQXRvbWljU3RyaW5nJiBoaWdobGlnaHRUeXBlKQotewotICAgIGlmICghcGFpbnRJbmZvLnNo
b3VsZFBhaW50V2l0aGluUm9vdChyZW5kZXJlcigpKSB8fCByZW5kZXJlcigpLnN0eWxlKCkudmlz
aWJpbGl0eSgpICE9IFZJU0lCTEUgfHwgcGFpbnRJbmZvLnBoYXNlICE9IFBhaW50UGhhc2VGb3Jl
Z3JvdW5kKQotICAgICAgICByZXR1cm47Ci0KLSAgICBQYWdlKiBwYWdlID0gcmVuZGVyZXIoKS5m
cmFtZSgpLnBhZ2UoKTsKLSAgICBpZiAoIXBhZ2UpCi0gICAgICAgIHJldHVybjsKLQotICAgIC8v
IEdldCB0aGUgaW5mbGF0ZWQgcmVjdCBzbyB0aGF0IHdlIGNhbiBwcm9wZXJseSBoaXQgdGVzdC4K
LSAgICBGbG9hdFJlY3Qgcm9vdFJlY3QocGFpbnRPZmZzZXQueCgpICsgeCgpLCBwYWludE9mZnNl
dC55KCkgKyBzZWxlY3Rpb25Ub3AoKSwgbG9naWNhbFdpZHRoKCksIHNlbGVjdGlvbkhlaWdodCgp
KTsKLSAgICBGbG9hdFJlY3QgaW5mbGF0ZWRSZWN0ID0gcGFnZS0+Y2hyb21lKCkuY2xpZW50KCku
Y3VzdG9tSGlnaGxpZ2h0UmVjdChyZW5kZXJlcigpLmVsZW1lbnQoKSwgaGlnaGxpZ2h0VHlwZSwg
cm9vdFJlY3QpOwotICAgIGlmIChpbmZsYXRlZFJlY3QuaW50ZXJzZWN0cyhwYWludEluZm8ucmVj
dCkpCi0gICAgICAgIHBhZ2UtPmNocm9tZSgpLmNsaWVudCgpLnBhaW50Q3VzdG9tSGlnaGxpZ2h0
KHJlbmRlcmVyKCkuZWxlbWVudCgpLCBoaWdobGlnaHRUeXBlLCByb290UmVjdCwgcm9vdFJlY3Qs
IGZhbHNlLCB0cnVlKTsKLX0KLQotI2VuZGlmCi0KIHZvaWQgUm9vdElubGluZUJveDo6cGFpbnQo
UGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCwgTGF5
b3V0VW5pdCBsaW5lVG9wLCBMYXlvdXRVbml0IGxpbmVCb3R0b20pCiB7CiAgICAgLy8gQ2hlY2sg
aWYgd2UgYXJlIGluIHRoZSBjb3JyZWN0IHJlZ2lvbi4KQEAgLTIwOCwxMSArMTc2LDYgQEAgdm9p
ZCBSb290SW5saW5lQm94OjpwYWludChQYWludEluZm8mIHBhaQogICAgIAogICAgIElubGluZUZs
b3dCb3g6OnBhaW50KHBhaW50SW5mbywgcGFpbnRPZmZzZXQsIGxpbmVUb3AsIGxpbmVCb3R0b20p
OwogICAgIHBhaW50RWxsaXBzaXNCb3gocGFpbnRJbmZvLCBwYWludE9mZnNldCwgbGluZVRvcCwg
bGluZUJvdHRvbSk7Ci0jaWYgUExBVEZPUk0oTUFDKQotICAgIGNvbnN0IFJlbmRlclN0eWxlJiBs
aW5lU3R5bGUgPSB0aGlzLT5saW5lU3R5bGUoKTsKLSAgICBpZiAobGluZVN0eWxlLmhpZ2hsaWdo
dCgpICE9IG51bGxBdG9tICYmICFwYWludEluZm8uY29udGV4dC0+cGFpbnRpbmdEaXNhYmxlZCgp
KQotICAgICAgICBwYWludEN1c3RvbUhpZ2hsaWdodChwYWludEluZm8sIHBhaW50T2Zmc2V0LCBs
aW5lU3R5bGUuaGlnaGxpZ2h0KCkpOwotI2VuZGlmCiB9CiAKIGJvb2wgUm9vdElubGluZUJveDo6
bm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1bHQm
IHJlc3VsdCwgY29uc3QgSGl0VGVzdExvY2F0aW9uJiBsb2NhdGlvbkluQ29udGFpbmVyLCBjb25z
dCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQsIExheW91dFVuaXQgbGluZVRvcCwgTGF5
b3V0VW5pdCBsaW5lQm90dG9tKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJ
bmxpbmVCb3guaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElu
bGluZUJveC5oCShyZXZpc2lvbiAxNjM3MDMpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
Um9vdElubGluZUJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTgsMTEgKzExOCw2IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIGludCBiYXNlbGluZVBvc2l0aW9uKEZvbnRCYXNlbGluZSBiYXNlbGlu
ZVR5cGUpIGNvbnN0IG92ZXJyaWRlIGZpbmFsOwogICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBsaW5l
SGVpZ2h0KCkgY29uc3Qgb3ZlcnJpZGUgZmluYWw7CiAKLSNpZiBQTEFURk9STShNQUMpCi0gICAg
dm9pZCBhZGRIaWdobGlnaHRPdmVyZmxvdygpOwotICAgIHZvaWQgcGFpbnRDdXN0b21IaWdobGln
aHQoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmLCBjb25zdCBBdG9taWNTdHJpbmcmIGhp
Z2hsaWdodFR5cGUpOwotI2VuZGlmCi0KICAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoUGFpbnRJbmZv
JiwgY29uc3QgTGF5b3V0UG9pbnQmLCBMYXlvdXRVbml0IGxpbmVUb3AsIExheW91dFVuaXQgbGlu
ZUJvdHRvbSkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIG5vZGVBdFBvaW50KGNvbnN0IEhp
dFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYgbG9j
YXRpb25JbkNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBM
YXlvdXRVbml0IGxpbmVUb3AsIExheW91dFVuaXQgbGluZUJvdHRvbSkgb3ZlcnJpZGUgZmluYWw7
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmNwcAkocmV2aXNpb24gMTYzNzAzKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDgxLDggKzQ4MSw3IEBAIGJvb2wg
UmVuZGVyU3R5bGU6OmNoYW5nZVJlcXVpcmVzTGF5b3V0KGMKICAgICB9CiAKICAgICBpZiAocmFy
ZUluaGVyaXRlZERhdGEuZ2V0KCkgIT0gb3RoZXItPnJhcmVJbmhlcml0ZWREYXRhLmdldCgpKSB7
Ci0gICAgICAgIGlmIChyYXJlSW5oZXJpdGVkRGF0YS0+aGlnaGxpZ2h0ICE9IG90aGVyLT5yYXJl
SW5oZXJpdGVkRGF0YS0+aGlnaGxpZ2h0Ci0gICAgICAgICAgICB8fCByYXJlSW5oZXJpdGVkRGF0
YS0+aW5kZW50ICE9IG90aGVyLT5yYXJlSW5oZXJpdGVkRGF0YS0+aW5kZW50CisgICAgICAgIGlm
IChyYXJlSW5oZXJpdGVkRGF0YS0+aW5kZW50ICE9IG90aGVyLT5yYXJlSW5oZXJpdGVkRGF0YS0+
aW5kZW50CiAjaWYgRU5BQkxFKENTUzNfVEVYVCkKICAgICAgICAgICAgIHx8IHJhcmVJbmhlcml0
ZWREYXRhLT5tX3RleHRBbGlnbkxhc3QgIT0gb3RoZXItPnJhcmVJbmhlcml0ZWREYXRhLT5tX3Rl
eHRBbGlnbkxhc3QKICAgICAgICAgICAgIHx8IHJhcmVJbmhlcml0ZWREYXRhLT5tX3RleHRJbmRl
bnRMaW5lICE9IG90aGVyLT5yYXJlSW5oZXJpdGVkRGF0YS0+bV90ZXh0SW5kZW50TGluZQpJbmRl
eDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHJldmlz
aW9uIDE2MzcwMykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC04MTQsNyArODE0LDYgQEAgcHVibGljOgogICAgIEVPdmVy
Zmxvd1dyYXAgb3ZlcmZsb3dXcmFwKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8RU92ZXJm
bG93V3JhcD4ocmFyZUluaGVyaXRlZERhdGEtPm92ZXJmbG93V3JhcCk7IH0KICAgICBFTkJTUE1v
ZGUgbmJzcE1vZGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxFTkJTUE1vZGU+KHJhcmVJ
bmhlcml0ZWREYXRhLT5uYnNwTW9kZSk7IH0KICAgICBMaW5lQnJlYWsgbGluZUJyZWFrKCkgY29u
c3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8TGluZUJyZWFrPihyYXJlSW5oZXJpdGVkRGF0YS0+bGlu
ZUJyZWFrKTsgfQotICAgIGNvbnN0IEF0b21pY1N0cmluZyYgaGlnaGxpZ2h0KCkgY29uc3QgeyBy
ZXR1cm4gcmFyZUluaGVyaXRlZERhdGEtPmhpZ2hsaWdodDsgfQogICAgIEh5cGhlbnMgaHlwaGVu
cygpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEh5cGhlbnM+KHJhcmVJbmhlcml0ZWREYXRh
LT5oeXBoZW5zKTsgfQogICAgIHNob3J0IGh5cGhlbmF0aW9uTGltaXRCZWZvcmUoKSBjb25zdCB7
IHJldHVybiByYXJlSW5oZXJpdGVkRGF0YS0+aHlwaGVuYXRpb25MaW1pdEJlZm9yZTsgfQogICAg
IHNob3J0IGh5cGhlbmF0aW9uTGltaXRBZnRlcigpIGNvbnN0IHsgcmV0dXJuIHJhcmVJbmhlcml0
ZWREYXRhLT5oeXBoZW5hdGlvbkxpbWl0QWZ0ZXI7IH0KQEAgLTEzMzMsNyArMTMzMiw2IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldE92ZXJmbG93V3JhcChFT3ZlcmZsb3dXcmFwIGIpIHsgU0VUX1ZB
UihyYXJlSW5oZXJpdGVkRGF0YSwgb3ZlcmZsb3dXcmFwLCBiKTsgfQogICAgIHZvaWQgc2V0TkJT
UE1vZGUoRU5CU1BNb2RlIGIpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgbmJzcE1vZGUs
IGIpOyB9CiAgICAgdm9pZCBzZXRMaW5lQnJlYWsoTGluZUJyZWFrIGIpIHsgU0VUX1ZBUihyYXJl
SW5oZXJpdGVkRGF0YSwgbGluZUJyZWFrLCBiKTsgfQotICAgIHZvaWQgc2V0SGlnaGxpZ2h0KGNv
bnN0IEF0b21pY1N0cmluZyYgaCkgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCBoaWdobGln
aHQsIGgpOyB9CiAgICAgdm9pZCBzZXRIeXBoZW5zKEh5cGhlbnMgaCkgeyBTRVRfVkFSKHJhcmVJ
bmhlcml0ZWREYXRhLCBoeXBoZW5zLCBoKTsgfQogICAgIHZvaWQgc2V0SHlwaGVuYXRpb25MaW1p
dEJlZm9yZShzaG9ydCBsaW1pdCkgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCBoeXBoZW5h
dGlvbkxpbWl0QmVmb3JlLCBsaW1pdCk7IH0KICAgICB2b2lkIHNldEh5cGhlbmF0aW9uTGltaXRB
ZnRlcihzaG9ydCBsaW1pdCkgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCBoeXBoZW5hdGlv
bkxpbWl0QWZ0ZXIsIGxpbWl0KTsgfQpAQCAtMTcxNSw3ICsxNzEzLDYgQEAgcHVibGljOgogICAg
IHN0YXRpYyBFT3ZlcmZsb3dXcmFwIGluaXRpYWxPdmVyZmxvd1dyYXAoKSB7IHJldHVybiBOb3Jt
YWxPdmVyZmxvd1dyYXA7IH0KICAgICBzdGF0aWMgRU5CU1BNb2RlIGluaXRpYWxOQlNQTW9kZSgp
IHsgcmV0dXJuIE5CTk9STUFMOyB9CiAgICAgc3RhdGljIExpbmVCcmVhayBpbml0aWFsTGluZUJy
ZWFrKCkgeyByZXR1cm4gTGluZUJyZWFrQXV0bzsgfQotICAgIHN0YXRpYyBjb25zdCBBdG9taWNT
dHJpbmcmIGluaXRpYWxIaWdobGlnaHQoKSB7IHJldHVybiBudWxsQXRvbTsgfQogICAgIHN0YXRp
YyBFU3BlYWsgaW5pdGlhbFNwZWFrKCkgeyByZXR1cm4gU3BlYWtOb3JtYWw7IH0KICAgICBzdGF0
aWMgSHlwaGVucyBpbml0aWFsSHlwaGVucygpIHsgcmV0dXJuIEh5cGhlbnNNYW51YWw7IH0KICAg
ICBzdGF0aWMgc2hvcnQgaW5pdGlhbEh5cGhlbmF0aW9uTGltaXRCZWZvcmUoKSB7IHJldHVybiAt
MTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVy
aXRlZERhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcAkocmV2aXNpb24gMTYzNzAzKQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNDcsNyArMTQ3LDYgQEAgaW5saW5lIFN0eWxlUmFyZUluaGVyaXRlZERh
dGE6OlN0eWxlUmFyZQogICAgICwgdmlzaXRlZExpbmtUZXh0RmlsbENvbG9yKG8udmlzaXRlZExp
bmtUZXh0RmlsbENvbG9yKQogICAgICwgdmlzaXRlZExpbmtUZXh0RW1waGFzaXNDb2xvcihvLnZp
c2l0ZWRMaW5rVGV4dEVtcGhhc2lzQ29sb3IpCiAgICAgLCB0ZXh0U2hhZG93KG8udGV4dFNoYWRv
dyA/IGFkb3B0UHRyKG5ldyBTaGFkb3dEYXRhKCpvLnRleHRTaGFkb3cpKSA6IG51bGxwdHIpCi0g
ICAgLCBoaWdobGlnaHQoby5oaWdobGlnaHQpCiAgICAgLCBjdXJzb3JEYXRhKG8uY3Vyc29yRGF0
YSkKICAgICAsIGluZGVudChvLmluZGVudCkKICAgICAsIG1fZWZmZWN0aXZlWm9vbShvLm1fZWZm
ZWN0aXZlWm9vbSkKQEAgLTI2MSw3ICsyNjAsNiBAQCBib29sIFN0eWxlUmFyZUluaGVyaXRlZERh
dGE6Om9wZXJhdG9yPT0oCiAgICAgICAgICYmIHRhcEhpZ2hsaWdodENvbG9yID09IG8udGFwSGln
aGxpZ2h0Q29sb3IKICNlbmRpZgogICAgICAgICAmJiBzaGFkb3dEYXRhRXF1aXZhbGVudChvKQot
ICAgICAgICAmJiBoaWdobGlnaHQgPT0gby5oaWdobGlnaHQKICAgICAgICAgJiYgY3Vyc29yRGF0
YUVxdWl2YWxlbnQoY3Vyc29yRGF0YS5nZXQoKSwgby5jdXJzb3JEYXRhLmdldCgpKQogICAgICAg
ICAmJiBpbmRlbnQgPT0gby5pbmRlbnQKICAgICAgICAgJiYgbV9lZmZlY3RpdmVab29tID09IG8u
bV9lZmZlY3RpdmVab29tCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5
bGVSYXJlSW5oZXJpdGVkRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmgJKHJldmlzaW9uIDE2MzcwMykKKysr
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTcwLDcgKzcwLDYgQEAgcHVibGljOgogICAgIENvbG9yIHZpc2l0
ZWRMaW5rVGV4dEVtcGhhc2lzQ29sb3I7ICAgIAogCiAgICAgT3duUHRyPFNoYWRvd0RhdGE+IHRl
eHRTaGFkb3c7IC8vIE91ciB0ZXh0IHNoYWRvdyBpbmZvcm1hdGlvbiBmb3Igc2hhZG93ZWQgdGV4
dCBkcmF3aW5nLgotICAgIEF0b21pY1N0cmluZyBoaWdobGlnaHQ7IC8vIEFwcGxlLXNwZWNpZmlj
IGV4dGVuc2lvbiBmb3IgY3VzdG9tIGhpZ2hsaWdodCByZW5kZXJpbmcuCiAgICAgCiAgICAgUmVm
UHRyPEN1cnNvckxpc3Q+IGN1cnNvckRhdGE7CiAgICAgTGVuZ3RoIGluZGVudDsKSW5kZXg6IFNv
dXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYklu
c3BlY3RvclVJL0NoYW5nZUxvZwkocmV2aXNpb24gMTYzNzE2KQorKysgU291cmNlL1dlYkluc3Bl
Y3RvclVJL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE0LTAy
LTA4ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGNs
aWVudC1kcmF3biBoaWdobGlnaHRzICgtd2Via2l0LWhpZ2hsaWdodCwgV2ViSFRNTEhpZ2hsaWdo
dGVyKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4
NDU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL0NTU0tleXdvcmRDb21wbGV0aW9ucy5qczogUmVtb3ZlZCAtd2Via2l0LWhp
Z2hsaWdodC4KKwogMjAxNC0wMi0wNyAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KIAog
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBDbGVhbiB1cCBEYXRhR3JpZCBhbmQgYWRkIHRhYmxlIGNv
bHVtbnMgaW5jcmVtZW50YWxseQpJbmRleDogU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvQ1NTS2V5d29yZENvbXBsZXRpb25zLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NTU0tleXdvcmRDb21wbGV0aW9ucy5qcwkocmV2aXNp
b24gMTYzNzAzKQorKysgU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ1NTS2V5
d29yZENvbXBsZXRpb25zLmpzCSh3b3JraW5nIGNvcHkpCkBAIC04MCw3ICs4MCw3IEBAIFdlYklu
c3BlY3Rvci5DU1NLZXl3b3JkQ29tcGxldGlvbnMuSW5oZXIKICAgICAidGV4dC1zaGFkb3ciLCAi
dGV4dC10cmFuc2Zvcm0iLCAidmlzaWJpbGl0eSIsICJ2b2ljZS1mYW1pbHkiLCAidm9sdW1lIiwg
IndoaXRlLXNwYWNlIiwgIndpZG93cyIsICJ3b3JkLWJyZWFrIiwKICAgICAid29yZC1zcGFjaW5n
IiwgIndvcmQtd3JhcCIsICJ3cml0aW5nLW1vZGUiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iLCAi
LXdlYmtpdC1ib3JkZXItaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAgICAiLXdlYmtpdC1ib3JkZXIt
dmVydGljYWwtc3BhY2luZyIsICItd2Via2l0LWJveC1kaXJlY3Rpb24iLCAiLXdlYmtpdC1jb2xv
ci1jb3JyZWN0aW9uIiwgIi13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzIiwKLSAgICAiLXdl
YmtpdC1mb250LWtlcm5pbmciLCAiLXdlYmtpdC1mb250LXNtb290aGluZyIsICItd2Via2l0LWZv
bnQtdmFyaWFudC1saWdhdHVyZXMiLCAiLXdlYmtpdC1oaWdobGlnaHQiLAorICAgICItd2Via2l0
LWZvbnQta2VybmluZyIsICItd2Via2l0LWZvbnQtc21vb3RoaW5nIiwgIi13ZWJraXQtZm9udC12
YXJpYW50LWxpZ2F0dXJlcyIsCiAgICAgIi13ZWJraXQtaHlwaGVuYXRlLWNoYXJhY3RlciIsICIt
d2Via2l0LWh5cGhlbmF0ZS1saW1pdC1hZnRlciIsICItd2Via2l0LWh5cGhlbmF0ZS1saW1pdC1i
ZWZvcmUiLAogICAgICItd2Via2l0LWh5cGhlbmF0ZS1saW1pdC1saW5lcyIsICItd2Via2l0LWh5
cGhlbnMiLCAiLXdlYmtpdC1saW5lLWFsaWduIiwgIi13ZWJraXQtbGluZS1ib3gtY29udGFpbiIs
CiAgICAgIi13ZWJraXQtbGluZS1icmVhayIsICItd2Via2l0LWxpbmUtZ3JpZCIsICItd2Via2l0
LWxpbmUtc25hcCIsICItd2Via2l0LWxvY2FsZSIsICItd2Via2l0LW5ic3AtbW9kZSIsCkBAIC04
NTAsOSArODUwLDYgQEAgV2ViSW5zcGVjdG9yLkNTU0tleXdvcmRDb21wbGV0aW9ucy5fcHJvcAog
ICAgICItd2Via2l0LWNvbHVtbi13aWR0aCI6IFsKICAgICAgICAgImF1dG8iLCAiY2FsYygpIiwg
Ii13ZWJraXQtY2FsYygpIgogICAgIF0sCi0gICAgIi13ZWJraXQtaGlnaGxpZ2h0IjogWwotICAg
ICAgICAibm9uZSIKLSAgICBdLAogICAgICItd2Via2l0LWh5cGhlbmF0ZS1jaGFyYWN0ZXIiOiBb
CiAgICAgICAgICJub25lIgogICAgIF0sCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNjM3MTYp
CisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
NCBAQAorMjAxNC0wMi0wOCAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgorCisgICAg
ICAgIFJlbW92ZSBjbGllbnQtZHJhd24gaGlnaGxpZ2h0cyAoLXdlYmtpdC1oaWdobGlnaHQsIFdl
YkhUTUxIaWdobGlnaHRlcikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyODQ1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3Bw
OiBSZW1vdmVkIGN1c3RvbUhpZ2hsaWdodFJlY3QgYW5kCisgICAgICAgIHBhaW50Q3VzdG9tSGln
aGxpZ2h0LgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50Lmg6CisKIDIwMTQtMDItMDggIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIENoYW5nZSBUZXh0SXRlcmF0b3IgdG8gdXNlIFN0cmluZ1ZpZXcsIHByZXBhcmluZyB0
byB3ZWFuIGl0IGZyb20gZGVwcmVjYXRlZENoYXJhY3RlcnMKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5jcHAJKHJldmlzaW9uIDE2MzcwMykKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjYz
LDE4ICs2NjMsNiBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6cG9wdWxhdGVWaXNpdGVkTGluCiB7
CiB9CiAKLUZsb2F0UmVjdCBXZWJDaHJvbWVDbGllbnQ6OmN1c3RvbUhpZ2hsaWdodFJlY3QoTm9k
ZSosIGNvbnN0IEF0b21pY1N0cmluZyYgLyp0eXBlKi8sIGNvbnN0IEZsb2F0UmVjdCYgLypsaW5l
UmVjdCovKQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIEZsb2F0UmVjdCgp
OwotfQotCi12b2lkIFdlYkNocm9tZUNsaWVudDo6cGFpbnRDdXN0b21IaWdobGlnaHQoTm9kZSos
IGNvbnN0IEF0b21pY1N0cmluZyYgLyp0eXBlKi8sIGNvbnN0IEZsb2F0UmVjdCYgLypib3hSZWN0
Ki8sIGNvbnN0IEZsb2F0UmVjdCYgLypsaW5lUmVjdCovLCAKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBib29sIC8qYmVoaW5kVGV4dCovLCBib29sIC8qZW50aXJl
TGluZSovKQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci19Ci0KIGJvb2wgV2ViQ2hyb21lQ2xp
ZW50OjpzaG91bGRSZXBsYWNlV2l0aEdlbmVyYXRlZEZpbGVGb3JVcGxvYWQoY29uc3QgU3RyaW5n
JiBwYXRoLCBTdHJpbmcmIGdlbmVyYXRlZEZpbGVuYW1lKQogewogICAgIGdlbmVyYXRlZEZpbGVu
YW1lID0gbV9wYWdlLT5pbmplY3RlZEJ1bmRsZVVJQ2xpZW50KCkuc2hvdWxkR2VuZXJhdGVGaWxl
Rm9yVXBsb2FkKG1fcGFnZSwgcGF0aCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgJKHJldmlz
aW9uIDE2MzcwMykKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NCwxMCArMTQ0LDYgQEAgcHJp
dmF0ZToKIAogICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0ZVZpc2l0ZWRMaW5rcygpIG92ZXJyaWRl
OwogICAgIAotICAgIHZpcnR1YWwgV2ViQ29yZTo6RmxvYXRSZWN0IGN1c3RvbUhpZ2hsaWdodFJl
Y3QoV2ViQ29yZTo6Tm9kZSosIGNvbnN0IFdURjo6QXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBX
ZWJDb3JlOjpGbG9hdFJlY3QmIGxpbmVSZWN0KSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQg
cGFpbnRDdXN0b21IaWdobGlnaHQoV2ViQ29yZTo6Tm9kZSosIGNvbnN0IEF0b21pY1N0cmluZyYg
dHlwZSwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBib3hSZWN0LCBjb25zdCBXZWJDb3JlOjpG
bG9hdFJlY3QmIGxpbmVSZWN0LAotICAgICAgICBib29sIGJlaGluZFRleHQsIGJvb2wgZW50aXJl
TGluZSkgb3ZlcnJpZGU7Ci0gICAgCiAgICAgdmlydHVhbCBib29sIHNob3VsZFJlcGxhY2VXaXRo
R2VuZXJhdGVkRmlsZUZvclVwbG9hZChjb25zdCBTdHJpbmcmIHBhdGgsIFN0cmluZyYgZ2VuZXJh
dGVkRmlsZW5hbWUpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgU3RyaW5nIGdlbmVyYXRlUmVwbGFj
ZW1lbnRGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCkgb3ZlcnJpZGU7CiAgICAgCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCShyZXZpc2lvbiAxNjM3MTYpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxNC0wMi0wOCAgRGFuIEJlcm5z
dGVpbiAgPG1pdHpAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBjbGllbnQtZHJhd24gaGln
aGxpZ2h0cyAoLXdlYmtpdC1oaWdobGlnaHQsIFdlYkhUTUxIaWdobGlnaHRlcikKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODQ1NgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50Lm1tOiBSZW1vdmVkIGN1c3RvbUhpZ2hsaWdodFJlY3QgYW5kIHBhaW50Q3VzdG9tSGlnaGxp
Z2h0LgorICAgICAgICAqIFdlYlZpZXcvV2ViSFRNTFZpZXcubW06CisgICAgICAgICgtW1dlYkhU
TUxWaWV3UHJpdmF0ZSBkZWFsbG9jXSk6IFJlbW92ZWQgaGlnaGxpZ2h0ZXJzIGl2YXIuCisgICAg
ICAgICgtW1dlYkhUTUxWaWV3UHJpdmF0ZSBjbGVhcl0pOiBEaXR0by4KKyAgICAgICAgKiBXZWJW
aWV3L1dlYkhUTUxWaWV3SW50ZXJuYWwuaDogUmVtb3ZlZCBkZWNsYXJhdGlvbi4KKyAgICAgICAg
KiBXZWJWaWV3L1dlYkhUTUxWaWV3UHJpdmF0ZS5oOiBSZW1vdmVkIFdlYkhUTUxIaWdobGlnaHRl
ciBwcm90b2NvbCBhbmQgbWV0aG9kIGRlY2xhcmF0aW9ucy4KKwogMjAxNC0wMi0wOCAgRGFuIEJl
cm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIGlPUyBidWlsZCBmaXggYWZ0ZXIg
cjE2MzcxMi4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5oCShyZXZpc2lvbiAxNjM3MDMpCisrKyBTb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTM0
LDkgKzEzNCw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3Vyc29ySGlkZGVuVW50
aWxNb3VzZU1vdmVzKGJvb2wpIG92ZXJyaWRlOwogI2VuZGlmCiAKLSAgICB2aXJ0dWFsIFdlYkNv
cmU6OkZsb2F0UmVjdCBjdXN0b21IaWdobGlnaHRSZWN0KFdlYkNvcmU6Ok5vZGUqLCBjb25zdCBX
VEY6OkF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBsaW5lUmVj
dCkgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIHBhaW50Q3VzdG9tSGlnaGxpZ2h0KFdlYkNv
cmU6Ok5vZGUqLCBjb25zdCBXVEY6OkF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgV2ViQ29yZTo6
RmxvYXRSZWN0JiBib3hSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGxpbmVSZWN0LCBi
b29sIGJlaGluZFRleHQsIGJvb2wgZW50aXJlTGluZSkgb3ZlcnJpZGU7Ci0KICNpZiBFTkFCTEUo
SU5QVVRfVFlQRV9DT0xPUikKICAgICB2aXJ0dWFsIFBhc3NPd25QdHI8V2ViQ29yZTo6Q29sb3JD
aG9vc2VyPiBjcmVhdGVDb2xvckNob29zZXIoV2ViQ29yZTo6Q29sb3JDaG9vc2VyQ2xpZW50Kiwg
Y29uc3QgV2ViQ29yZTo6Q29sb3ImKSBvdmVycmlkZTsKICNlbmRpZgpJbmRleDogU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQkocmV2
aXNpb24gMTYzNzAzKQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC03MzksMzkgKzczOSw2IEBAIHZvaWQgV2Vi
Q2hyb21lQ2xpZW50Ojphbm5vdGF0ZWRSZWdpb25zQ2gKIAogI2VuZGlmCiAKLUZsb2F0UmVjdCBX
ZWJDaHJvbWVDbGllbnQ6OmN1c3RvbUhpZ2hsaWdodFJlY3QoTm9kZSogbm9kZSwgY29uc3QgQXRv
bWljU3RyaW5nJiB0eXBlLCBjb25zdCBGbG9hdFJlY3QmIGxpbmVSZWN0KQotewotICAgIEJFR0lO
X0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKLQotICAgIE5TVmlldyAqZG9jdW1lbnRWaWV3ID0gW1tr
aXQobm9kZS0+ZG9jdW1lbnQoKS5mcmFtZSgpKSBmcmFtZVZpZXddIGRvY3VtZW50Vmlld107Ci0g
ICAgaWYgKCFbZG9jdW1lbnRWaWV3IGlzS2luZE9mQ2xhc3M6W1dlYkhUTUxWaWV3IGNsYXNzXV0p
Ci0gICAgICAgIHJldHVybiBOU1plcm9SZWN0OwotCi0gICAgV2ViSFRNTFZpZXcgKndlYkhUTUxW
aWV3ID0gKFdlYkhUTUxWaWV3ICopZG9jdW1lbnRWaWV3OwotICAgIGlkPFdlYkhUTUxIaWdobGln
aHRlcj4gaGlnaGxpZ2h0ZXIgPSBbd2ViSFRNTFZpZXcgX2hpZ2hsaWdodGVyRm9yVHlwZTp0eXBl
XTsKLSAgICByZXR1cm4gW2hpZ2hsaWdodGVyIGhpZ2hsaWdodFJlY3RGb3JMaW5lOmxpbmVSZWN0
IHJlcHJlc2VudGVkTm9kZTpraXQobm9kZSldOwotCi0gICAgRU5EX0JMT0NLX09CSkNfRVhDRVBU
SU9OUzsKLQotICAgIHJldHVybiBOU1plcm9SZWN0OwotfQotCi12b2lkIFdlYkNocm9tZUNsaWVu
dDo6cGFpbnRDdXN0b21IaWdobGlnaHQoTm9kZSogbm9kZSwgY29uc3QgQXRvbWljU3RyaW5nJiB0
eXBlLCBjb25zdCBGbG9hdFJlY3QmIGJveFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgbGluZVJlY3Qs
Ci0gICAgYm9vbCBiZWhpbmRUZXh0LCBib29sIGVudGlyZUxpbmUpCi17Ci0gICAgQkVHSU5fQkxP
Q0tfT0JKQ19FWENFUFRJT05TOwotCi0gICAgTlNWaWV3ICpkb2N1bWVudFZpZXcgPSBbW2tpdChu
b2RlLT5kb2N1bWVudCgpLmZyYW1lKCkpIGZyYW1lVmlld10gZG9jdW1lbnRWaWV3XTsKLSAgICBp
ZiAoIVtkb2N1bWVudFZpZXcgaXNLaW5kT2ZDbGFzczpbV2ViSFRNTFZpZXcgY2xhc3NdXSkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgV2ViSFRNTFZpZXcgKndlYkhUTUxWaWV3ID0gKFdlYkhUTUxW
aWV3ICopZG9jdW1lbnRWaWV3OwotICAgIGlkPFdlYkhUTUxIaWdobGlnaHRlcj4gaGlnaGxpZ2h0
ZXIgPSBbd2ViSFRNTFZpZXcgX2hpZ2hsaWdodGVyRm9yVHlwZTp0eXBlXTsKLSAgICBbaGlnaGxp
Z2h0ZXIgcGFpbnRIaWdobGlnaHRGb3JCb3g6Ym94UmVjdCBvbkxpbmU6bGluZVJlY3QgYmVoaW5k
VGV4dDpiZWhpbmRUZXh0IGVudGlyZUxpbmU6ZW50aXJlTGluZSByZXByZXNlbnRlZE5vZGU6a2l0
KG5vZGUpXTsKLQotICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7Ci19Ci0KICNpZiBFTkFC
TEUoSU5QVVRfVFlQRV9DT0xPUikKIFBhc3NPd25QdHI8Q29sb3JDaG9vc2VyPiBXZWJDaHJvbWVD
bGllbnQ6OmNyZWF0ZUNvbG9yQ2hvb3NlcihDb2xvckNob29zZXJDbGllbnQqIGNsaWVudCwgY29u
c3QgQ29sb3ImIGluaXRpYWxDb2xvcikKIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViSFRNTFZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJIVE1MVmlldy5tbQkocmV2aXNpb24gMTYzNzAzKQorKysgU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJIVE1MVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtNTk0LDkgKzU5NCw2IEBA
IEBpbnRlcmZhY2UgV2ViSFRNTFZpZXdQcml2YXRlIDogTlNPYmplY3QKICAgICAKICAgICBOU0Fy
cmF5ICpwYWdlUmVjdHM7CiAKLSAgICBOU011dGFibGVEaWN0aW9uYXJ5ICpoaWdobGlnaHRlcnM7
Ci0KLSAgICAKICNpZiAhUExBVEZPUk0oSU9TKQogICAgIFdlYlRleHRDb21wbGV0aW9uQ29udHJv
bGxlciAqY29tcGxldGlvbkNvbnRyb2xsZXI7CiAjZW5kaWYKQEAgLTY5Miw3ICs2ODksNiBAQCAt
ICh2b2lkKWRlYWxsb2MKICAgICBbY29tcGxldGlvbkNvbnRyb2xsZXIgcmVsZWFzZV07CiAjZW5k
aWYKICAgICBbZGF0YVNvdXJjZSByZWxlYXNlXTsKLSAgICBbaGlnaGxpZ2h0ZXJzIHJlbGVhc2Vd
OwogI2lmICFQTEFURk9STShJT1MpCiAgICAgW3RyYWNraW5nQXJlYUZvck5vbktleVdpbmRvdyBy
ZWxlYXNlXTsKICAgICBpZiAocHJvbWlzZWREcmFnVElGRkRhdGFTb3VyY2UpCkBAIC03MzEsNyAr
NzI3LDYgQEAgLSAodm9pZCljbGVhcgogICAgIFtjb21wbGV0aW9uQ29udHJvbGxlciByZWxlYXNl
XTsKICNlbmRpZgogICAgIFtkYXRhU291cmNlIHJlbGVhc2VdOwotICAgIFtoaWdobGlnaHRlcnMg
cmVsZWFzZV07CiAjaWYgIVBMQVRGT1JNKElPUykKICAgICBbdHJhY2tpbmdBcmVhRm9yTm9uS2V5
V2luZG93IHJlbGVhc2VdOwogICAgIGlmIChwcm9taXNlZERyYWdUSUZGRGF0YVNvdXJjZSkKQEAg
LTc0Niw3ICs3NDEsNiBAQCAtICh2b2lkKWNsZWFyCiAgICAgY29tcGxldGlvbkNvbnRyb2xsZXIg
PSBuaWw7CiAjZW5kaWYKICAgICBkYXRhU291cmNlID0gbmlsOwotICAgIGhpZ2hsaWdodGVycyA9
IG5pbDsKICNpZiAhUExBVEZPUk0oSU9TKQogICAgIHRyYWNraW5nQXJlYUZvck5vbktleVdpbmRv
dyA9IG5pbDsKICAgICBwcm9taXNlZERyYWdUSUZGRGF0YVNvdXJjZSA9IDA7CkBAIC0yMDg4LDE4
ICsyMDgyLDYgQEAgLSAodm9pZClfZGVjcmVhc2VTZWxlY3Rpb25MaXN0TGV2ZWwKICAgICAgICAg
Y29yZUZyYW1lLT5lZGl0b3IoKS5kZWNyZWFzZVNlbGVjdGlvbkxpc3RMZXZlbCgpOwogfQogCi0t
ICh2b2lkKV9zZXRIaWdobGlnaHRlcjooaWQ8V2ViSFRNTEhpZ2hsaWdodGVyPiloaWdobGlnaHRl
ciBvZlR5cGU6KE5TU3RyaW5nKil0eXBlCi17Ci0gICAgaWYgKCFfcHJpdmF0ZS0+aGlnaGxpZ2h0
ZXJzKQotICAgICAgICBfcHJpdmF0ZS0+aGlnaGxpZ2h0ZXJzID0gW1tOU011dGFibGVEaWN0aW9u
YXJ5IGFsbG9jXSBpbml0XTsKLSAgICBbX3ByaXZhdGUtPmhpZ2hsaWdodGVycyBzZXRPYmplY3Q6
aGlnaGxpZ2h0ZXIgZm9yS2V5OnR5cGVdOwotfQotCi0tICh2b2lkKV9yZW1vdmVIaWdobGlnaHRl
ck9mVHlwZTooTlNTdHJpbmcqKXR5cGUKLXsKLSAgICBbX3ByaXZhdGUtPmhpZ2hsaWdodGVycyBy
ZW1vdmVPYmplY3RGb3JLZXk6dHlwZV07Ci19Ci0KICNpZiAhUExBVEZPUk0oSU9TKQogLSAodm9p
ZClfd3JpdGVTZWxlY3Rpb25Ub1Bhc3RlYm9hcmQ6KE5TUGFzdGVib2FyZCAqKXBhc3RlYm9hcmQK
IHsKQEAgLTU1MzcsMTEgKzU1MTksNiBAQCAtIChOU0V2ZW50ICopX21vdXNlRG93bkV2ZW50CiB9
CiAjZW5kaWYKIAotLSAoaWQ8V2ViSFRNTEhpZ2hsaWdodGVyPilfaGlnaGxpZ2h0ZXJGb3JUeXBl
OihOU1N0cmluZyopdHlwZQotewotICAgIHJldHVybiBbX3ByaXZhdGUtPmhpZ2hsaWdodGVycyBv
YmplY3RGb3JLZXk6dHlwZV07Ci19Ci0KIC0gKFdlYkZyYW1lICopX2ZyYW1lCiB7CiAgICAgcmV0
dXJuIFtfcHJpdmF0ZS0+ZGF0YVNvdXJjZSB3ZWJGcmFtZV07CkluZGV4OiBTb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3SW50ZXJuYWwuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3SW50ZXJuYWwuaAkocmV2aXNpb24gMTYzNzAz
KQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlld0ludGVybmFsLmgJKHdv
cmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDYgQEAgQGludGVyZmFjZSBXZWJIVE1MVmlldyAoV2Vi
SW50ZXJuYWwpCiAjZW5kaWYKIC0gKEJPT0wpX2NhblNtYXJ0Q29weU9yRGVsZXRlOwogCi0tIChp
ZCA8V2ViSFRNTEhpZ2hsaWdodGVyPilfaGlnaGxpZ2h0ZXJGb3JUeXBlOihOU1N0cmluZyopdHlw
ZTsKIC0gKFdlYkZyYW1lICopX2ZyYW1lOwogI2lmICFQTEFURk9STShJT1MpCiAtICh2b2lkKV9s
b29rVXBJbkRpY3Rpb25hcnlGcm9tTWVudTooaWQpc2VuZGVyOwpJbmRleDogU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJIVE1MVmlld1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3UHJpdmF0ZS5oCShyZXZpc2lvbiAxNjM3MDMp
CisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3UHJpdmF0ZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zOSwxMSArMzksNiBAQAogQGNsYXNzIERPTVJhbmdlOwogQGNsYXNzIFdl
YlBsdWdpbkNvbnRyb2xsZXI7CiAKLUBwcm90b2NvbCBXZWJIVE1MSGlnaGxpZ2h0ZXIKLS0gKE5T
UmVjdCloaWdobGlnaHRSZWN0Rm9yTGluZTooTlNSZWN0KWxpbmVSZWN0IHJlcHJlc2VudGVkTm9k
ZTooRE9NTm9kZSAqKW5vZGU7Ci0tICh2b2lkKXBhaW50SGlnaGxpZ2h0Rm9yQm94OihOU1JlY3Qp
Ym94UmVjdCBvbkxpbmU6KE5TUmVjdClsaW5lUmVjdCBiZWhpbmRUZXh0OihCT09MKXRleHQgZW50
aXJlTGluZTooQk9PTClsaW5lIHJlcHJlc2VudGVkTm9kZTooRE9NTm9kZSAqKW5vZGU7Ci1AZW5k
Ci0KIGV4dGVybiBjb25zdCBmbG9hdCBfV2ViSFRNTFZpZXdQcmludGluZ01pbmltdW1TaHJpbmtG
YWN0b3I7CiBleHRlcm4gY29uc3QgZmxvYXQgX1dlYkhUTUxWaWV3UHJpbnRpbmdNYXhpbXVtU2hy
aW5rRmFjdG9yOwogCkBAIC0xMTgsOCArMTEzLDYgQEAgQGludGVyZmFjZSBXZWJIVE1MVmlldyAo
V2ViUHJpdmF0ZSkKIC0gKERPTU5vZGUgKilfaW5jcmVhc2VTZWxlY3Rpb25MaXN0TGV2ZWxPcmRl
cmVkOwogLSAoRE9NTm9kZSAqKV9pbmNyZWFzZVNlbGVjdGlvbkxpc3RMZXZlbFVub3JkZXJlZDsK
IC0gKHZvaWQpX2RlY3JlYXNlU2VsZWN0aW9uTGlzdExldmVsOwotLSAodm9pZClfc2V0SGlnaGxp
Z2h0ZXI6KGlkIDxXZWJIVE1MSGlnaGxpZ2h0ZXI+KWhpZ2hsaWdodGVyIG9mVHlwZTooTlNTdHJp
bmcgKil0eXBlOwotLSAodm9pZClfcmVtb3ZlSGlnaGxpZ2h0ZXJPZlR5cGU6KE5TU3RyaW5nICop
dHlwZTsKIC0gKERPTURvY3VtZW50RnJhZ21lbnQgKilfZG9jdW1lbnRGcmFnbWVudEZyb21QYXN0
ZWJvYXJkOihOU1Bhc3RlYm9hcmQgKilwYXN0ZWJvYXJkIGZvclR5cGU6KE5TU3RyaW5nICopcGJv
YXJkVHlwZSBpbkNvbnRleHQ6KERPTVJhbmdlICopY29udGV4dCBzdWJyZXNvdXJjZXM6KE5TQXJy
YXkgKiopc3VicmVzb3VyY2VzOwogI2VuZGlmCiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MzcxNikK
KysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBA
CisyMDE0LTAyLTA4ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAg
UmVtb3ZlIGNsaWVudC1kcmF3biBoaWdobGlnaHRzICgtd2Via2l0LWhpZ2hsaWdodCwgV2ViSFRN
TEhpZ2hsaWdodGVyKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTI4NDU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBmYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBmYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxl
LXdpdGhvdXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN2Zy9jc3MvZ2V0Q29t
cHV0ZWRTdHlsZS1iYXNpYy1leHBlY3RlZC50eHQ6CisKIDIwMTQtMDItMDggIFphbiBEb2JlcnNl
ayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAgICAgIENvbnZlcnQgY3VycmVudCBNSFRN
TCB0ZXN0cyBpbnRvIHJlZnRlc3RzCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21w
dXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMTYzNzAzKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0
ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE1
Miw3ICsxNTIsNiBAQCB6b29tOiAxOwogLXdlYmtpdC1mb250LWtlcm5pbmc6IGF1dG87CiAtd2Vi
a2l0LWZvbnQtc21vb3RoaW5nOiBhdXRvOwogLXdlYmtpdC1mb250LXZhcmlhbnQtbGlnYXR1cmVz
OiBub3JtYWw7Ci0td2Via2l0LWhpZ2hsaWdodDogbm9uZTsKIC13ZWJraXQtaHlwaGVuYXRlLWNo
YXJhY3RlcjogYXV0bzsKIC13ZWJraXQtaHlwaGVuYXRlLWxpbWl0LWFmdGVyOiBhdXRvOwogLXdl
YmtpdC1oeXBoZW5hdGUtbGltaXQtYmVmb3JlOiBhdXRvOwpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRl
ZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAxNjM3MDMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2Nv
bXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xNTEsNyArMTUxLDYgQEAgem9vbTogMQogLXdlYmtpdC1mb250LWtlcm5pbmc6IGF1dG8K
IC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGF1dG8KIC13ZWJraXQtZm9udC12YXJpYW50LWxpZ2F0
dXJlczogbm9ybWFsCi0td2Via2l0LWhpZ2hsaWdodDogbm9uZQogLXdlYmtpdC1oeXBoZW5hdGUt
Y2hhcmFjdGVyOiBhdXRvCiAtd2Via2l0LWh5cGhlbmF0ZS1saW1pdC1hZnRlcjogYXV0bwogLXdl
YmtpdC1oeXBoZW5hdGUtbGltaXQtYmVmb3JlOiBhdXRvCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcv
Y3NzL2dldENvbXB1dGVkU3R5bGUtYmFzaWMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3N2Zy9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS1iYXNpYy1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDE2MzcwMykKKysrIExheW91dFRlc3RzL3N2Zy9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS1i
YXNpYy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMwMiw4ICszMDIsNiBAQCByZWN0
OiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQtZm9uCiByZWN0OiBzdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKC13ZWJraXQtZm9udC1zbW9vdGhpbmcpIDogW29iamVjdCBDU1NQcmltaXRp
dmVWYWx1ZV0KIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1mb250LXZhcmlh
bnQtbGlnYXR1cmVzKSA6IG5vcm1hbAogcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgt
d2Via2l0LWZvbnQtdmFyaWFudC1saWdhdHVyZXMpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1
ZV0KLXJlY3Q6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1oaWdobGlnaHQpIDogbm9u
ZQotcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgtd2Via2l0LWhpZ2hsaWdodCkgOiBb
b2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQogcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgt
d2Via2l0LWh5cGhlbmF0ZS1jaGFyYWN0ZXIpIDogYXV0bwogcmVjdDogc3R5bGUuZ2V0UHJvcGVy
dHlDU1NWYWx1ZSgtd2Via2l0LWh5cGhlbmF0ZS1jaGFyYWN0ZXIpIDogW29iamVjdCBDU1NQcmlt
aXRpdmVWYWx1ZV0KIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1oeXBoZW5h
dGUtbGltaXQtYWZ0ZXIpIDogYXV0bwpAQCAtNzk4LDggKzc5Niw2IEBAIGc6IHN0eWxlLmdldFBy
b3BlcnR5VmFsdWUoLXdlYmtpdC1mb250LXMKIGc6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUo
LXdlYmtpdC1mb250LXNtb290aGluZykgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQogZzog
c3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LWZvbnQtdmFyaWFudC1saWdhdHVyZXMpIDog
bm9ybWFsCiBnOiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtZm9udC12YXJpYW50
LWxpZ2F0dXJlcykgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQotZzogc3R5bGUuZ2V0UHJv
cGVydHlWYWx1ZSgtd2Via2l0LWhpZ2hsaWdodCkgOiBub25lCi1nOiBzdHlsZS5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKC13ZWJraXQtaGlnaGxpZ2h0KSA6IFtvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVd
CiBnOiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQtaHlwaGVuYXRlLWNoYXJhY3Rlcikg
OiBhdXRvCiBnOiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtaHlwaGVuYXRlLWNo
YXJhY3RlcikgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQogZzogc3R5bGUuZ2V0UHJvcGVy
dHlWYWx1ZSgtd2Via2l0LWh5cGhlbmF0ZS1saW1pdC1hZnRlcikgOiBhdXRvCg==
</data>
<flag name="review"
          id="247620"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>