<?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>221190</bug_id>
          
          <creation_ts>2021-01-31 11:01:50 -0800</creation_ts>
          <short_desc>Add support for color(xyz ...) as part of CSS Color 4</short_desc>
          <delta_ts>2021-02-03 06:40:40 -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>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>221193</dependson>
          <blocked>220928</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>clopez</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1724094</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-01-31 11:01:50 -0800</bug_when>
    <thetext>Add support for color(xyz ...) as part of CSS Color 4 - https://drafts.csswg.org/css-color-4/#valdef-color-xyz.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724992</commentid>
    <comment_count>1</comment_count>
      <attachid>419096</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-02-02 20:20:06 -0800</bug_when>
    <thetext>Created attachment 419096
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724993</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-02-02 20:21:05 -0800</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725117</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-03 06:38:59 -0800</bug_when>
    <thetext>Committed r272311: &lt;https://trac.webkit.org/changeset/272311&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 419096.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725119</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-03 06:40:40 -0800</bug_when>
    <thetext>&lt;rdar://problem/73930020&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419096</attachid>
            <date>2021-02-02 20:20:06 -0800</date>
            <delta_ts>2021-02-03 06:39:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221190-20210202202005.patch</filename>
            <type>text/plain</type>
            <size>45692</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3MjI0NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDg3IEBACisyMDIxLTAyLTAyICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgY29sb3Io
eHl6IC4uLikgYXMgcGFydCBvZiBDU1MgQ29sb3IgNAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMTkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGZpbmFsIChmb3Igbm93KSBwcmVkZWZpbmVkIGNv
bG9yIHNwYWNlIHN1cHBvcnRlZCBieSBjb2xvcigpIGluIENTUyBDb2xvciA0LCBYWVouCisKKyAg
ICAgICAgVGhlIHNwZWNpZmljIFhZWiB1c2UgYnkgQ1NTIGlzIHRoZSBYWVogd2l0aCBENTAgd2hp
dGUgcG9pbnQuIFRvIG1ha2UgdGhlIGdlbmVyaWMKKyAgICAgICAgWFlaQTxULCBXaGl0ZVBvaW50
PiB0eXBlIHdvcmsgaW4gdGhlIGluZnJhc3RydWN1cmUsIHRoZSBjb2xvclNwYWNlIG1lbWJlciB3
YXMgcmVtb3ZlZAorICAgICAgICBmcm9tIHRoZSBjb2xvciB0eXBlcywgYW5kIHRoZSBtYXBwaW5n
IGZyb20gQ29sb3JTcGFjZSBlbnVtIHZhbHVlIHRvIENvbG9yVHlwZSB3YXMKKyAgICAgICAgY29u
dmVydGVkIHRvIHVzZSB0ZW1wbGF0ZSBzcGVjaWFsaXphdGlvbiBhbmQgY2FuIG5vdyBiZSBleHRy
YWN0ZWQgdXNpbmcgdGhlIHN5bnRheDoKKyAgICAgICAgCisgICAgICAgICAgICBDb2xvclNwYWNl
Rm9yPENvbG9yVHlwZT4KKworICAgICAgICBUaGlzIGNoYW5nZSBhbHNvIHJlbW92ZWQgdGhlIGlu
Y2x1c2lvbiBvZiBhbGwgb2YgdGhlIGNvbG9yIHR5cGUgc3BlY2lmaWMgc2VyaWFsaWF6YXRpb24K
KyAgICAgICAgZnVuY3Rpb24gZGVjbGFyYXRpb25zIGluIENvbG9yU2VyaWFsaXphdGlvbi5oLCBh
bmQgaW5zdGVhZCBtb3ZlZCB0aGVtIHRvIHRoZSBjcHAgZmlsZS4KKyAgICAgICAgVGhleSB3ZXJl
bid0IGJlaW5nIHVzZWQsIGFuZCB0byBzdXBwb3J0IHRoZSBYWVpBPGZsb2F0LCBXaGl0ZVBvaW50
OjpENTA+IHdvdWxkIGhhdmUgcmVxdWlyZWQKKyAgICAgICAgaW5jbHVpbmcgbW9yZSBoZWFkZXJz
LCB3aGljaCBzZWVtZWQgbGlrZSB0aGUgd3JvbmcgdHJhZGVvZmYuIElmIGFjY2Vzc2luZyBzZXJp
YWxpemF0aW9uCisgICAgICAgIHdpdGhvdXQgY29uc3RydWN0aW5nIGEgV2ViQ29yZTo6Q29sb3Ig
aXMgdXNlZnVsIGluIHRoZSBmdXR1cmUsIHdlIGNhbiBhbHdheXMgYWRkIHRoZW0gYmFjay4KKwor
ICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bG9yL3h5ei0wMDEuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbG9yL3h5ei0wMDIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3h5ei0wMDMuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9y
L3h5ei0wMDQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbG9yL3h5ei0wMDUuaHRtbAorCisgICAgICAgICogY3NzL0NTU1ZhbHVl
S2V5d29yZHMuaW46CisgICAgICAgIEFkZCB4eXoga2V5d29yZC4KKworICAgICAgICAqIGNzcy9w
YXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1Byb3BlcnR5UGFyc2VySGVscGVyczo6cGFyc2VDb2xvckZ1bmN0aW9uRm9yWFlaUGFyYW1ldGVy
cyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlQ29s
b3JGdW5jdGlvblBhcmFtZXRlcnMpOgorICAgICAgICBBZGQgcGFyc2luZyBmb3IgY29sb3IoeHl6
ICkgcGFyYW1ldGVycy4gVGhpcyBjYW4ndCByZXVzZSB0aGUgUkdCIHBhcmFtZXRlcgorICAgICAg
ICBwYXJzaW5nIGJlY2F1c2UgeHl6IGRvZXMgbm90IGFsbG93IHBlcmNlbnRhZ2VzIGZvciBhbnkg
cGFyYW1ldGVyLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JDb252ZXJzaW9u
Lmg6CisgICAgICAgIChXZWJDb3JlOjpjYWxsV2l0aENvbG9yVHlwZSk6IERlbGV0ZWQuCisgICAg
ICAgIE1vdmVkIGNhbGxXaXRoQ29sb3JUeXBlIHRvIENvbG9yU3BhY2UuaCwgd2hlcmUgaXQgbWFr
ZXMgYSBiaXQgbW9yZSBzZW5zZQorICAgICAgICBub3cgdGhhdCB0aGUgY29sb3IgbWFwcGluZyBp
cyBhbHNvIGRlZmluZWQgdGhlcmUuIFRoaXMgcHV0cyBtb3N0IG9mIHRoZQorICAgICAgICBjb2xv
ciBtYXBwaW5nIGluIG9uZSBwbGFjZS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Nv
bG9yTW9kZWxzLmg6CisgICAgICAgIEFkZCBzb21lIG5lZWRlZCBpbmNsdWRlcyB0aGF0IGZpZGRs
aW5nIHdpdGggaGVhZGVycyBleHBvc2VkLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Q29sb3JTZXJpYWxpemF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNlcmlhbGl6YXRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6c2VyaWFsaXphdGlvbkZvckNTUyk6CisgICAgICAgIChXZWJD
b3JlOjpzZXJpYWxpemF0aW9uRm9ySFRNTCk6CisgICAgICAgIChXZWJDb3JlOjpzZXJpYWxpemF0
aW9uRm9yUmVuZGVyVHJlZUFzVGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQ29s
b3JTZXJpYWxpemF0aW9uLmg6CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBzZXJpYWxpemluZyBY
WVpBPGZsb2F0LCBXaGl0ZVBvaW50OjpENTA+LCB0YWtpbmcgdGhlIGNoYW5jZQorICAgICAgICB0
byBtb3ZlIGFsbCB0aGUgdW5uZWNlc3NhcmlseSBleHBvc2VkIHR5cGUgc3BlY2lmaWMgc2VyaWFs
aXphdGlvbiBmdW5jdGlvbnMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Db2xvclNw
YWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yPDwpOgorICAgICAgICBBZGQgc3Vw
cG9ydCBmb3IgWFlaX0Q1MC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0NvbG9yU3Bh
Y2UuaDoKKyAgICAgICAgQWRkIGNvbG9yIG1hcHBpbmcgcmVwbGFjaW5nIHByZXZpb3VzIGV4cGxp
Y2l0IHN0YXRpYyBtZW1iZXJzIGZvciBjb2xvclNwYWNlCisgICAgICAgIG1hcHBpbmcgd2hpY2gg
YXJlIG5vIGxvbmdlciB1c2FibGUgZHVlIHRvIHRoZSBnZW5lcmljIG5hdHVyZSBvZiBYWVpBLgor
CisgICAgICAgIChXZWJDb3JlOjpjYWxsV2l0aENvbG9yVHlwZSk6CisgICAgICAgIE1vdmVkIGZy
b20gQ29sb3JDb252ZXJzaW9uLmguCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Db2xv
clR5cGVzLmg6CisgICAgICAgIFJlbW92ZSBjb2xvclNwYWNlIG1lbWJlcnMuIFJlcGxhY2VkIGJ5
IGNvbG9yIHNwYWNlIG1hcHBpbmcgaW4gQ29sb3JTcGFjZS5oCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9Db2xvclV0aWxpdGllcy5oOgorICAgICAgICAoV2ViQ29yZTo6aXNCbGFjayk6
CisgICAgICAgIChXZWJDb3JlOjppc1doaXRlKToKKyAgICAgICAgQWRkIG92ZXJsb2FkcyBmb3Ig
WFlaQSBuZWVkZWQgYnkgQ29sb3IuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9FeHRl
bmRlZENvbG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpFeHRlbmRlZENvbG9yOjpjcmVhdGUpOgor
ICAgICAgICBSZXBsYWNlIGNvbG9yLmNvbG9yU3BhY2Ugd2l0aCBDb2xvclNwYWNlRm9yPENvbG9y
VHlwZT4uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9Db2xvclNwYWNlQ0cuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6eHl6RDUwQ29sb3JTcGFjZVJlZik6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvQ29sb3JTcGFjZUNHLmg6CisgICAgICAgIChXZWJDb3JlOjpjYWNo
ZWRDR0NvbG9yU3BhY2UpOgorICAgICAgICBBZGQgQ29yZUdyYXBoaWNzIHN1cHBvcnQgZm9yIHRo
ZSBYWVogY29sb3Igc3BhY2UuIChrQ0dDb2xvclNwYWNlR2VuZXJpY1hZWiBtYXBzIHRvIFhZWiB3
aXRoIGEgRDUwIHdoaXRlIHBvaW50LikKKwogMjAyMS0wMi0wMiAgUGVyIEFybmUgVm9sbGFuICA8
cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVnaXN0ZXIgZm9yIHBvd2VyIG5vdGlmaWNh
dGlvbnMgaW4gdGhlIFVJIHByb2Nlc3MKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZUtleXdvcmRzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtl
eXdvcmRzLmluCShyZXZpc2lvbiAyNzIyNDQpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWVLZXl3b3Jkcy5pbgkod29ya2luZyBjb3B5KQpAQCAtMTQwOSw2ICsxNDA5LDcgQEAgZGlzcGxh
eS1wMwogcHJvcGhvdG8tcmdiCiAvLyByZWMyMDIwCiAvLyBzUkdCCit4eXoKIAogLy8gcHJlZmVy
cy1kZWZhdWx0LWFwcGVhcmFuY2UKIHByZWZlcnMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9w
YXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAJKHJldmlzaW9u
IDI3MjI0NCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJI
ZWxwZXJzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTQyLDYgKzk0MiwzNiBAQCBzdGF0aWMgQ29s
b3IgcGFyc2VDb2xvckZ1bmN0aW9uRm9yTGFiUGFyCiAgICAgcmV0dXJuIExhYjxmbG9hdD4geyBz
dGF0aWNfY2FzdDxmbG9hdD4oY2hhbm5lbHNbMF0pLCBzdGF0aWNfY2FzdDxmbG9hdD4oY2hhbm5l
bHNbMV0pLCBzdGF0aWNfY2FzdDxmbG9hdD4oY2hhbm5lbHNbMl0pLCAqYWxwaGEgfTsKIH0KIAor
c3RhdGljIENvbG9yIHBhcnNlQ29sb3JGdW5jdGlvbkZvclhZWlBhcmFtZXRlcnMoQ1NTUGFyc2Vy
VG9rZW5SYW5nZSYgYXJncykKK3sKKyAgICBBU1NFUlQoYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NW
YWx1ZVh5eik7CisgICAgY29uc3VtZUlkZW50UmF3KGFyZ3MpOworCisgICAgZG91YmxlIGNoYW5u
ZWxzWzNdID0geyAwLCAwLCAwIH07CisgICAgWyZdIHsKKyAgICAgICAgYXV0byB4ID0gY29uc3Vt
ZU51bWJlclJhdyhhcmdzLCBWYWx1ZVJhbmdlQWxsKTsKKyAgICAgICAgaWYgKCF4KQorICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICBjaGFubmVsc1swXSA9ICp4OworCisgICAgICAgIGF1dG8g
eSA9IGNvbnN1bWVOdW1iZXJSYXcoYXJncywgVmFsdWVSYW5nZUFsbCk7CisgICAgICAgIGlmICgh
eSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgY2hhbm5lbHNbMV0gPSAqeTsKKworICAg
ICAgICBhdXRvIHogPSBjb25zdW1lTnVtYmVyUmF3KGFyZ3MsIFZhbHVlUmFuZ2VBbGwpOworICAg
ICAgICBpZiAoIXopCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGNoYW5uZWxzWzJdID0g
Kno7CisgICAgfSgpOworCisgICAgYXV0byBhbHBoYSA9IHBhcnNlT3B0aW9uYWxBbHBoYShhcmdz
KTsKKyAgICBpZiAoIWFscGhhKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgcmV0dXJuIFhZ
WkE8ZmxvYXQsIFdoaXRlUG9pbnQ6OkQ1MD4geyBzdGF0aWNfY2FzdDxmbG9hdD4oY2hhbm5lbHNb
MF0pLCBzdGF0aWNfY2FzdDxmbG9hdD4oY2hhbm5lbHNbMV0pLCBzdGF0aWNfY2FzdDxmbG9hdD4o
Y2hhbm5lbHNbMl0pLCAqYWxwaGEgfTsKK30KKwogc3RhdGljIENvbG9yIHBhcnNlQ29sb3JGdW5j
dGlvblBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCiB7CiAgICAgQVNTRVJU
KHJhbmdlLnBlZWsoKS5mdW5jdGlvbklkKCkgPT0gQ1NTVmFsdWVDb2xvcik7CkBAIC05NjcsNiAr
OTk3LDkgQEAgc3RhdGljIENvbG9yIHBhcnNlQ29sb3JGdW5jdGlvblBhcmFtZXRlcgogICAgIGNh
c2UgQ1NTVmFsdWVTUkdCOgogICAgICAgICBjb2xvciA9IHBhcnNlQ29sb3JGdW5jdGlvbkZvclJH
QlR5cGVzPFNSR0JBPGZsb2F0Pj4oYXJncyk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NT
VmFsdWVYeXo6CisgICAgICAgIGNvbG9yID0gcGFyc2VDb2xvckZ1bmN0aW9uRm9yWFlaUGFyYW1l
dGVycyhhcmdzKTsKKyAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJu
IHsgfTsKICAgICB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xv
ckNvbnZlcnNpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Db2xvckNvbnZlcnNpb24uaAkocmV2aXNpb24gMjcyMjQ0KQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JDb252ZXJzaW9uLmgJKHdvcmtpbmcgY29weSkKQEAg
LTI1NiwyOCArMjU2LDQgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gU1JHQkE8ZmxvYXQ+IHRvU1JH
QgogICAgIHJldHVybiB0b1NSR0JBKHBlcmZvcm1DaG9tYXRpY0FkYXBhdGF0aW9uPFNSR0JBPGZs
b2F0Pj4odG9YWVpBKGNvbG9yKSkpOwogfQogCi0KLXRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVu
YW1lIEZ1bmN0b3I+IGNvbnN0ZXhwciBkZWNsdHlwZShhdXRvKSBjYWxsV2l0aENvbG9yVHlwZShj
b25zdCBDb2xvckNvbXBvbmVudHM8VD4mIGNvbXBvbmVudHMsIENvbG9yU3BhY2UgY29sb3JTcGFj
ZSwgRnVuY3RvciYmIGZ1bmN0b3IpCi17Ci0gICAgc3dpdGNoIChjb2xvclNwYWNlKSB7Ci0gICAg
Y2FzZSBDb2xvclNwYWNlOjpBOThSR0I6Ci0gICAgICAgIHJldHVybiBzdGQ6Omludm9rZShzdGQ6
OmZvcndhcmQ8RnVuY3Rvcj4oZnVuY3RvciksIG1ha2VGcm9tQ29tcG9uZW50czxBOThSR0I8VD4+
KGNvbXBvbmVudHMpKTsKLSAgICBjYXNlIENvbG9yU3BhY2U6OkRpc3BsYXlQMzoKLSAgICAgICAg
cmV0dXJuIHN0ZDo6aW52b2tlKHN0ZDo6Zm9yd2FyZDxGdW5jdG9yPihmdW5jdG9yKSwgbWFrZUZy
b21Db21wb25lbnRzPERpc3BsYXlQMzxUPj4oY29tcG9uZW50cykpOwotICAgIGNhc2UgQ29sb3JT
cGFjZTo6TGFiOgotICAgICAgICByZXR1cm4gc3RkOjppbnZva2Uoc3RkOjpmb3J3YXJkPEZ1bmN0
b3I+KGZ1bmN0b3IpLCBtYWtlRnJvbUNvbXBvbmVudHM8TGFiPFQ+Pihjb21wb25lbnRzKSk7Ci0g
ICAgY2FzZSBDb2xvclNwYWNlOjpMaW5lYXJSR0I6Ci0gICAgICAgIHJldHVybiBzdGQ6Omludm9r
ZShzdGQ6OmZvcndhcmQ8RnVuY3Rvcj4oZnVuY3RvciksIG1ha2VGcm9tQ29tcG9uZW50czxMaW5l
YXJTUkdCQTxUPj4oY29tcG9uZW50cykpOwotICAgIGNhc2UgQ29sb3JTcGFjZTo6UHJvUGhvdG9S
R0I6Ci0gICAgICAgIHJldHVybiBzdGQ6Omludm9rZShzdGQ6OmZvcndhcmQ8RnVuY3Rvcj4oZnVu
Y3RvciksIG1ha2VGcm9tQ29tcG9uZW50czxQcm9QaG90b1JHQjxUPj4oY29tcG9uZW50cykpOwot
ICAgIGNhc2UgQ29sb3JTcGFjZTo6UmVjMjAyMDoKLSAgICAgICAgcmV0dXJuIHN0ZDo6aW52b2tl
KHN0ZDo6Zm9yd2FyZDxGdW5jdG9yPihmdW5jdG9yKSwgbWFrZUZyb21Db21wb25lbnRzPFJlYzIw
MjA8VD4+KGNvbXBvbmVudHMpKTsKLSAgICBjYXNlIENvbG9yU3BhY2U6OlNSR0I6Ci0gICAgICAg
IHJldHVybiBzdGQ6Omludm9rZShzdGQ6OmZvcndhcmQ8RnVuY3Rvcj4oZnVuY3RvciksIG1ha2VG
cm9tQ29tcG9uZW50czxTUkdCQTxUPj4oY29tcG9uZW50cykpOwotICAgIH0KLQotICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBzdGQ6Omludm9rZShzdGQ6OmZvcndhcmQ8RnVu
Y3Rvcj4oZnVuY3RvciksIG1ha2VGcm9tQ29tcG9uZW50czxTUkdCQTxUPj4oY29tcG9uZW50cykp
OwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Db2xvck1vZGVscy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yTW9kZWxzLmgJKHJldmlzaW9uIDI3MjI0NCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yTW9kZWxzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI1LDYgKzI1LDkgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlIDxhcnJheT4K
KyNpbmNsdWRlIDxsaW1pdHM+CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdGVtcGxhdGU8dHlw
ZW5hbWU+IHN0cnVjdCBBbHBoYVRyYWl0czsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0NvbG9yU2VyaWFsaXphdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JTZXJpYWxpemF0aW9uLmNwcAkocmV2aXNpb24g
MjcyMjQ0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JTZXJpYWxp
emF0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsNDMgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCitzdGF0aWMgU3RyaW5nIHNlcmlhbGl6YXRpb25Gb3JDU1MoY29uc3QgQTk4
UkdCPGZsb2F0PiYpOworc3RhdGljIFN0cmluZyBzZXJpYWxpemF0aW9uRm9ySFRNTChjb25zdCBB
OThSR0I8ZmxvYXQ+Jik7CitzdGF0aWMgU3RyaW5nIHNlcmlhbGl6YXRpb25Gb3JSZW5kZXJUcmVl
QXNUZXh0KGNvbnN0IEE5OFJHQjxmbG9hdD4mKTsKKworc3RhdGljIFN0cmluZyBzZXJpYWxpemF0
aW9uRm9yQ1NTKGNvbnN0IERpc3BsYXlQMzxmbG9hdD4mKTsKK3N0YXRpYyBTdHJpbmcgc2VyaWFs
aXphdGlvbkZvckhUTUwoY29uc3QgRGlzcGxheVAzPGZsb2F0PiYpOworc3RhdGljIFN0cmluZyBz
ZXJpYWxpemF0aW9uRm9yUmVuZGVyVHJlZUFzVGV4dChjb25zdCBEaXNwbGF5UDM8ZmxvYXQ+Jik7
CisKK3N0YXRpYyBTdHJpbmcgc2VyaWFsaXphdGlvbkZvckNTUyhjb25zdCBMYWI8ZmxvYXQ+Jik7
CitzdGF0aWMgU3RyaW5nIHNlcmlhbGl6YXRpb25Gb3JIVE1MKGNvbnN0IExhYjxmbG9hdD4mKTsK
K3N0YXRpYyBTdHJpbmcgc2VyaWFsaXphdGlvbkZvclJlbmRlclRyZWVBc1RleHQoY29uc3QgTGFi
PGZsb2F0PiYpOworCitzdGF0aWMgU3RyaW5nIHNlcmlhbGl6YXRpb25Gb3JDU1MoY29uc3QgTGlu
ZWFyU1JHQkE8ZmxvYXQ+Jik7CitzdGF0aWMgU3RyaW5nIHNlcmlhbGl6YXRpb25Gb3JIVE1MKGNv
bnN0IExpbmVhclNSR0JBPGZsb2F0PiYpOworc3RhdGljIFN0cmluZyBzZXJpYWxpemF0aW9uRm9y
UmVuZGVyVHJlZUFzVGV4dChjb25zdCBMaW5lYXJTUkdCQTxmbG9hdD4mKTsKKworc3RhdGljIFN0
cmluZyBzZXJpYWxpemF0aW9uRm9yQ1NTKGNvbnN0IFByb1Bob3RvUkdCPGZsb2F0PiYpOworc3Rh
dGljIFN0cmluZyBzZXJpYWxpemF0aW9uRm9ySFRNTChjb25zdCBQcm9QaG90b1JHQjxmbG9hdD4m
KTsKK3N0YXRpYyBTdHJpbmcgc2VyaWFsaXphdGlvbkZvclJlbmRlclRyZWVBc1RleHQoY29uc3Qg
UHJvUGhvdG9SR0I8ZmxvYXQ+Jik7CisKK3N0YXRpYyBTdHJpbmcgc2VyaWFsaXphdGlvbkZvckNT
Uyhjb25zdCBSZWMyMDIwPGZsb2F0PiYpOworc3RhdGljIFN0cmluZyBzZXJpYWxpemF0aW9uRm9y
SFRNTChjb25zdCBSZWMyMDIwPGZsb2F0PiYpOworc3RhdGljIFN0cmluZyBzZXJpYWxpemF0aW9u
Rm9yUmVuZGVyVHJlZUFzVGV4dChjb25zdCBSZWMyMDIwPGZsb2F0PiYpOworCitzdGF0aWMgU3Ry
aW5nIHNlcmlhbGl6YXRpb25Gb3JDU1MoY29uc3QgU1JHQkE8ZmxvYXQ+Jik7CitzdGF0aWMgU3Ry
aW5nIHNlcmlhbGl6YXRpb25Gb3JIVE1MKGNvbnN0IFNSR0JBPGZsb2F0PiYpOworc3RhdGljIFN0
cmluZyBzZXJpYWxpemF0aW9uRm9yUmVuZGVyVHJlZUFzVGV4dChjb25zdCBTUkdCQTxmbG9hdD4m
KTsKKworc3RhdGljIFN0cmluZyBzZXJpYWxpemF0aW9uRm9yQ1NTKFNSR0JBPHVpbnQ4X3Q+KTsK
K3N0YXRpYyBTdHJpbmcgc2VyaWFsaXphdGlvbkZvckhUTUwoU1JHQkE8dWludDhfdD4pOworc3Rh
dGljIFN0cmluZyBzZXJpYWxpemF0aW9uRm9yUmVuZGVyVHJlZUFzVGV4dChTUkdCQTx1aW50OF90
Pik7CisKK3N0YXRpYyBTdHJpbmcgc2VyaWFsaXphdGlvbkZvckNTUyhjb25zdCBYWVpBPGZsb2F0
LCBXaGl0ZVBvaW50OjpENTA+Jik7CitzdGF0aWMgU3RyaW5nIHNlcmlhbGl6YXRpb25Gb3JIVE1M
KGNvbnN0IFhZWkE8ZmxvYXQsIFdoaXRlUG9pbnQ6OkQ1MD4mKTsKK3N0YXRpYyBTdHJpbmcgc2Vy
aWFsaXphdGlvbkZvclJlbmRlclRyZWVBc1RleHQoY29uc3QgWFlaQTxmbG9hdCwgV2hpdGVQb2lu
dDo6RDUwPiYpOworCisKIFN0cmluZyBzZXJpYWxpemF0aW9uRm9yQ1NTKGNvbnN0IENvbG9yJiBj
b2xvcikKIHsKICAgICByZXR1cm4gY29sb3IuY2FsbE9uVW5kZXJseWluZ1R5cGUoW10gKGF1dG8g
dW5kZXJseWluZ0NvbG9yKSB7CkBAIC03NCw2ICsxMTEsOCBAQCBzdGF0aWMgQVNDSUlMaXRlcmFs
IHNlcmlhbGl6YXRpb24oQ29sb3JTCiAgICAgICAgIHJldHVybiAicmVjMjAyMCJfczsKICAgICBj
YXNlIENvbG9yU3BhY2U6OlNSR0I6CiAgICAgICAgIHJldHVybiAic3JnYiJfczsKKyAgICBjYXNl
IENvbG9yU3BhY2U6OlhZWl9ENTA6CisgICAgICAgIHJldHVybiAieHl6Il9zOwogICAgIH0KIAog
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtODQsOCArMTIzLDggQEAgdGVtcGxhdGU8dHlw
ZW5hbWUgQ29sb3JUeXBlPiBzdGF0aWMgU3RyaQogewogICAgIGF1dG8gW2MxLCBjMiwgYzMsIGFs
cGhhXSA9IGNvbG9yOwogICAgIGlmIChXVEY6OmFyZUVzc2VudGlhbGx5RXF1YWwoYWxwaGEsIDEu
MGYpKQotICAgICAgICByZXR1cm4gbWFrZVN0cmluZygiY29sb3IoIiwgc2VyaWFsaXphdGlvbihj
b2xvci5jb2xvclNwYWNlKSwgJyAnLCBjMSwgJyAnLCBjMiwgJyAnLCBjMywgJyknKTsKLSAgICBy
ZXR1cm4gbWFrZVN0cmluZygiY29sb3IoIiwgc2VyaWFsaXphdGlvbihjb2xvci5jb2xvclNwYWNl
KSwgJyAnLCBjMSwgJyAnLCBjMiwgJyAnLCBjMywgIiAvICIsIGFscGhhLCAnKScpOworICAgICAg
ICByZXR1cm4gbWFrZVN0cmluZygiY29sb3IoIiwgc2VyaWFsaXphdGlvbihDb2xvclNwYWNlRm9y
PENvbG9yVHlwZT4pLCAnICcsIGMxLCAnICcsIGMyLCAnICcsIGMzLCAnKScpOworICAgIHJldHVy
biBtYWtlU3RyaW5nKCJjb2xvcigiLCBzZXJpYWxpemF0aW9uKENvbG9yU3BhY2VGb3I8Q29sb3JU
eXBlPiksICcgJywgYzEsICcgJywgYzIsICcgJywgYzMsICIgLyAiLCBhbHBoYSwgJyknKTsKIH0K
IAogLy8gTUFSSzogQTk4UkdCPGZsb2F0PiBvdmVybG9hZHMKQEAgLTI2MCw0ICsyOTksMjEgQEAg
U3RyaW5nIHNlcmlhbGl6YXRpb25Gb3JSZW5kZXJUcmVlQXNUZXh0KAogICAgIHJldHVybiBtYWtl
U3RyaW5nKCcjJywgaGV4KHJlZCwgMiksIGhleChncmVlbiwgMiksIGhleChibHVlLCAyKSk7CiB9
CiAKKy8vIE1BUks6IFhZWkE8ZmxvYXQsIFdoaXRlUG9pbnQ6OkQ1MD4gb3ZlcmxvYWRzCisKK1N0
cmluZyBzZXJpYWxpemF0aW9uRm9yQ1NTKGNvbnN0IFhZWkE8ZmxvYXQsIFdoaXRlUG9pbnQ6OkQ1
MD4mIGNvbG9yKQoreworICAgIHJldHVybiBzZXJpYWxpemF0aW9uKGNvbG9yKTsKK30KKworU3Ry
aW5nIHNlcmlhbGl6YXRpb25Gb3JIVE1MKGNvbnN0IFhZWkE8ZmxvYXQsIFdoaXRlUG9pbnQ6OkQ1
MD4mIGNvbG9yKQoreworICAgIHJldHVybiBzZXJpYWxpemF0aW9uKGNvbG9yKTsKK30KKworU3Ry
aW5nIHNlcmlhbGl6YXRpb25Gb3JSZW5kZXJUcmVlQXNUZXh0KGNvbnN0IFhZWkE8ZmxvYXQsIFdo
aXRlUG9pbnQ6OkQ1MD4mIGNvbG9yKQoreworICAgIHJldHVybiBzZXJpYWxpemF0aW9uKGNvbG9y
KTsKK30KKwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JT
ZXJpYWxpemF0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQ29sb3JTZXJpYWxpemF0aW9uLmgJKHJldmlzaW9uIDI3MjI0NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yU2VyaWFsaXphdGlvbi5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zMSw1NCArMzEsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDb2xv
cjsKIAotdGVtcGxhdGU8dHlwZW5hbWU+IHN0cnVjdCBBOThSR0I7Ci10ZW1wbGF0ZTx0eXBlbmFt
ZT4gc3RydWN0IERpc3BsYXlQMzsKLXRlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgTGFiOwotdGVt
cGxhdGU8dHlwZW5hbWU+IHN0cnVjdCBMaW5lYXJTUkdCQTsKLXRlbXBsYXRlPHR5cGVuYW1lPiBz
dHJ1Y3QgUHJvUGhvdG9SR0I7Ci10ZW1wbGF0ZTx0eXBlbmFtZT4gc3RydWN0IFJlYzIwMjA7Ci10
ZW1wbGF0ZTx0eXBlbmFtZT4gc3RydWN0IFNSR0JBOwotCi0vLyBzZXJpYWxpemF0aW9uRm9ySFRN
TCByZXR1cm5zIHRoZSBjb2xvciBzZXJpYWxpemVkIGFjY29yZGluZyB0byBIVE1MNSA8aHR0cHM6
Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc2NyaXB0aW5nLmh0bWwjZmlsbC1hbmQt
c3Ryb2tlLXN0eWxlcz4gKDEwIFNlcHRlbWJlciAyMDE1KQotLy8gc2VyaWFsaXphdGlvbkZvckNT
UyByZXR1cm5zIHRoZSBjb2xvciBzZXJpYWxpemVkIGFjY29yZGluZyB0byBDU1MKLS8vIHNlcmlh
bGl6YXRpb25Gb3JSZW5kZXJUcmVlQXNUZXh0IHJldHVybnMgdGhlIGNvbG9yIHNlcmlhbGl6ZWQg
Zm9yIER1bXBSZW5kZXJUcmVlLCAjUlJHR0JCLCAjUlJHR0JCQUEgb3IgdGhlIENTUyBzZXJpYWxp
emF0aW9uCisvLyBzZXJpYWxpemF0aW9uRm9yQ1NTIHJldHVybnMgdGhlIGNvbG9yIHNlcmlhbGl6
ZWQgYWNjb3JkaW5nIHRvIENTUyA8aHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1jb2xvci00
LyNzZXJpYWxpemluZy1jb2xvci12YWx1ZXM+LgorLy8gc2VyaWFsaXphdGlvbkZvckhUTUwgcmV0
dXJucyB0aGUgY29sb3Igc2VyaWFsaXplZCBhY2NvcmRpbmcgdG8gSFRNTDUgPGh0dHBzOi8vaHRt
bC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NjcmlwdGluZy5odG1sI2ZpbGwtYW5kLXN0cm9r
ZS1zdHlsZXM+ICgxMCBTZXB0ZW1iZXIgMjAxNSkuCisvLyBzZXJpYWxpemF0aW9uRm9yUmVuZGVy
VHJlZUFzVGV4dCByZXR1cm5zIHRoZSBjb2xvciBzZXJpYWxpemVkIGZvciBEdW1wUmVuZGVyVHJl
ZSwgI1JSR0dCQiwgI1JSR0dCQkFBIG9yIHRoZSBDU1Mgc2VyaWFsaXphdGlvbi4KIAogV0VCQ09S
RV9FWFBPUlQgU3RyaW5nIHNlcmlhbGl6YXRpb25Gb3JDU1MoY29uc3QgQ29sb3ImKTsKIFdFQkNP
UkVfRVhQT1JUIFN0cmluZyBzZXJpYWxpemF0aW9uRm9ySFRNTChjb25zdCBDb2xvciYpOwogV0VC
Q09SRV9FWFBPUlQgU3RyaW5nIHNlcmlhbGl6YXRpb25Gb3JSZW5kZXJUcmVlQXNUZXh0KGNvbnN0
IENvbG9yJik7CiAKLS8vIFBlci1Db2xvclR5cGUgc3BlY2lhbGl6YXRpb25zLgotCi1XRUJDT1JF
X0VYUE9SVCBTdHJpbmcgc2VyaWFsaXphdGlvbkZvckNTUyhjb25zdCBBOThSR0I8ZmxvYXQ+Jik7
Ci1XRUJDT1JFX0VYUE9SVCBTdHJpbmcgc2VyaWFsaXphdGlvbkZvckhUTUwoY29uc3QgQTk4UkdC
PGZsb2F0PiYpOwotV0VCQ09SRV9FWFBPUlQgU3RyaW5nIHNlcmlhbGl6YXRpb25Gb3JSZW5kZXJU
cmVlQXNUZXh0KGNvbnN0IEE5OFJHQjxmbG9hdD4mKTsKLQotV0VCQ09SRV9FWFBPUlQgU3RyaW5n
IHNlcmlhbGl6YXRpb25Gb3JDU1MoY29uc3QgRGlzcGxheVAzPGZsb2F0PiYpOwotV0VCQ09SRV9F
WFBPUlQgU3RyaW5nIHNlcmlhbGl6YXRpb25Gb3JIVE1MKGNvbnN0IERpc3BsYXlQMzxmbG9hdD4m
KTsKLVdFQkNPUkVfRVhQT1JUIFN0cmluZyBzZXJpYWxpemF0aW9uRm9yUmVuZGVyVHJlZUFzVGV4
dChjb25zdCBEaXNwbGF5UDM8ZmxvYXQ+Jik7Ci0KLVdFQkNPUkVfRVhQT1JUIFN0cmluZyBzZXJp
YWxpemF0aW9uRm9yQ1NTKGNvbnN0IExhYjxmbG9hdD4mKTsKLVdFQkNPUkVfRVhQT1JUIFN0cmlu
ZyBzZXJpYWxpemF0aW9uRm9ySFRNTChjb25zdCBMYWI8ZmxvYXQ+Jik7Ci1XRUJDT1JFX0VYUE9S
VCBTdHJpbmcgc2VyaWFsaXphdGlvbkZvclJlbmRlclRyZWVBc1RleHQoY29uc3QgTGFiPGZsb2F0
PiYpOwotCi1XRUJDT1JFX0VYUE9SVCBTdHJpbmcgc2VyaWFsaXphdGlvbkZvckNTUyhjb25zdCBM
aW5lYXJTUkdCQTxmbG9hdD4mKTsKLVdFQkNPUkVfRVhQT1JUIFN0cmluZyBzZXJpYWxpemF0aW9u
Rm9ySFRNTChjb25zdCBMaW5lYXJTUkdCQTxmbG9hdD4mKTsKLVdFQkNPUkVfRVhQT1JUIFN0cmlu
ZyBzZXJpYWxpemF0aW9uRm9yUmVuZGVyVHJlZUFzVGV4dChjb25zdCBMaW5lYXJTUkdCQTxmbG9h
dD4mKTsKLQotV0VCQ09SRV9FWFBPUlQgU3RyaW5nIHNlcmlhbGl6YXRpb25Gb3JDU1MoY29uc3Qg
UHJvUGhvdG9SR0I8ZmxvYXQ+Jik7Ci1XRUJDT1JFX0VYUE9SVCBTdHJpbmcgc2VyaWFsaXphdGlv
bkZvckhUTUwoY29uc3QgUHJvUGhvdG9SR0I8ZmxvYXQ+Jik7Ci1XRUJDT1JFX0VYUE9SVCBTdHJp
bmcgc2VyaWFsaXphdGlvbkZvclJlbmRlclRyZWVBc1RleHQoY29uc3QgUHJvUGhvdG9SR0I8Zmxv
YXQ+Jik7Ci0KLVdFQkNPUkVfRVhQT1JUIFN0cmluZyBzZXJpYWxpemF0aW9uRm9yQ1NTKGNvbnN0
IFJlYzIwMjA8ZmxvYXQ+Jik7Ci1XRUJDT1JFX0VYUE9SVCBTdHJpbmcgc2VyaWFsaXphdGlvbkZv
ckhUTUwoY29uc3QgUmVjMjAyMDxmbG9hdD4mKTsKLVdFQkNPUkVfRVhQT1JUIFN0cmluZyBzZXJp
YWxpemF0aW9uRm9yUmVuZGVyVHJlZUFzVGV4dChjb25zdCBSZWMyMDIwPGZsb2F0PiYpOwotCi1X
RUJDT1JFX0VYUE9SVCBTdHJpbmcgc2VyaWFsaXphdGlvbkZvckNTUyhjb25zdCBTUkdCQTxmbG9h
dD4mKTsKLVdFQkNPUkVfRVhQT1JUIFN0cmluZyBzZXJpYWxpemF0aW9uRm9ySFRNTChjb25zdCBT
UkdCQTxmbG9hdD4mKTsKLVdFQkNPUkVfRVhQT1JUIFN0cmluZyBzZXJpYWxpemF0aW9uRm9yUmVu
ZGVyVHJlZUFzVGV4dChjb25zdCBTUkdCQTxmbG9hdD4mKTsKLQotV0VCQ09SRV9FWFBPUlQgU3Ry
aW5nIHNlcmlhbGl6YXRpb25Gb3JDU1MoU1JHQkE8dWludDhfdD4pOwotV0VCQ09SRV9FWFBPUlQg
U3RyaW5nIHNlcmlhbGl6YXRpb25Gb3JIVE1MKFNSR0JBPHVpbnQ4X3Q+KTsKLVdFQkNPUkVfRVhQ
T1JUIFN0cmluZyBzZXJpYWxpemF0aW9uRm9yUmVuZGVyVHJlZUFzVGV4dChTUkdCQTx1aW50OF90
Pik7Ci0KIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yU3Bh
Y2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Nv
bG9yU3BhY2UuY3BwCShyZXZpc2lvbiAyNzIyNDQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Db2xvclNwYWNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQsNiArNTQsOSBA
QCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBDCiAgICAgY2FzZSBDb2xv
clNwYWNlOjpTUkdCOgogICAgICAgICB0cyA8PCAic1JHQiI7CiAgICAgICAgIGJyZWFrOworICAg
IGNhc2UgQ29sb3JTcGFjZTo6WFlaX0Q1MDoKKyAgICAgICAgdHMgPDwgIlhZWiI7CisgICAgICAg
IGJyZWFrOwogICAgIH0KICAgICByZXR1cm4gdHM7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Db2xvclNwYWNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JTcGFjZS5oCShyZXZpc2lvbiAyNzIyNDQpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvclNwYWNlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI1LDYgKzI1LDggQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJDb2xvclR5
cGVzLmgiCisKIG5hbWVzcGFjZSBXVEYgewogY2xhc3MgVGV4dFN0cmVhbTsKIH0KQEAgLTM5LDgg
KzQxLDQ4IEBAIGVudW0gY2xhc3MgQ29sb3JTcGFjZSA6IHVpbnQ4X3QgewogICAgIFByb1Bob3Rv
UkdCLAogICAgIFJlYzIwMjAsCiAgICAgU1JHQiwKKyAgICBYWVpfRDUwLAogfTsKIAogV0VCQ09S
RV9FWFBPUlQgV1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4dFN0cmVhbSYsIENv
bG9yU3BhY2UpOwogCisKK3RlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgQ29sb3JTcGFjZU1hcHBp
bmc7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQ29sb3JTcGFjZU1hcHBpbmc8QTk4UkdC
PFQ+PiB7IHN0YXRpYyBjb25zdGV4cHIgYXV0byBjb2xvclNwYWNlIHsgQ29sb3JTcGFjZTo6QTk4
UkdCIH07IH07Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQ29sb3JTcGFjZU1hcHBpbmc8
RGlzcGxheVAzPFQ+PiB7IHN0YXRpYyBjb25zdGV4cHIgYXV0byBjb2xvclNwYWNlIHsgQ29sb3JT
cGFjZTo6RGlzcGxheVAzIH07IH07Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQ29sb3JT
cGFjZU1hcHBpbmc8TGFiPFQ+PiB7IHN0YXRpYyBjb25zdGV4cHIgYXV0byBjb2xvclNwYWNlIHsg
Q29sb3JTcGFjZTo6TGFiIH07IH07Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQ29sb3JT
cGFjZU1hcHBpbmc8TGluZWFyU1JHQkE8VD4+IHsgc3RhdGljIGNvbnN0ZXhwciBhdXRvIGNvbG9y
U3BhY2UgeyBDb2xvclNwYWNlOjpMaW5lYXJSR0IgfTsgfTsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+
IHN0cnVjdCBDb2xvclNwYWNlTWFwcGluZzxQcm9QaG90b1JHQjxUPj4geyBzdGF0aWMgY29uc3Rl
eHByIGF1dG8gY29sb3JTcGFjZSB7IENvbG9yU3BhY2U6OlByb1Bob3RvUkdCIH07IH07Cit0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQ29sb3JTcGFjZU1hcHBpbmc8UmVjMjAyMDxUPj4geyBz
dGF0aWMgY29uc3RleHByIGF1dG8gY29sb3JTcGFjZSB7IENvbG9yU3BhY2U6OlJlYzIwMjAgfTsg
fTsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBDb2xvclNwYWNlTWFwcGluZzxTUkdCQTxU
Pj4geyBzdGF0aWMgY29uc3RleHByIGF1dG8gY29sb3JTcGFjZSB7IENvbG9yU3BhY2U6OlNSR0Ig
fTsgfTsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBDb2xvclNwYWNlTWFwcGluZzxYWVpB
PFQsIFdoaXRlUG9pbnQ6OkQ1MD4+IHsgc3RhdGljIGNvbnN0ZXhwciBhdXRvIGNvbG9yU3BhY2Ug
eyBDb2xvclNwYWNlOjpYWVpfRDUwIH07IH07CisKK3RlbXBsYXRlPHR5cGVuYW1lIENvbG9yVHlw
ZT4gY29uc3RleHByIENvbG9yU3BhY2UgQ29sb3JTcGFjZUZvciA9IENvbG9yU3BhY2VNYXBwaW5n
PENvbG9yVHlwZT46OmNvbG9yU3BhY2U7CisKKwordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5h
bWUgRnVuY3Rvcj4gY29uc3RleHByIGRlY2x0eXBlKGF1dG8pIGNhbGxXaXRoQ29sb3JUeXBlKGNv
bnN0IENvbG9yQ29tcG9uZW50czxUPiYgY29tcG9uZW50cywgQ29sb3JTcGFjZSBjb2xvclNwYWNl
LCBGdW5jdG9yJiYgZnVuY3RvcikKK3sKKyAgICBzd2l0Y2ggKGNvbG9yU3BhY2UpIHsKKyAgICBj
YXNlIENvbG9yU3BhY2U6OkE5OFJHQjoKKyAgICAgICAgcmV0dXJuIHN0ZDo6aW52b2tlKHN0ZDo6
Zm9yd2FyZDxGdW5jdG9yPihmdW5jdG9yKSwgbWFrZUZyb21Db21wb25lbnRzPEE5OFJHQjxUPj4o
Y29tcG9uZW50cykpOworICAgIGNhc2UgQ29sb3JTcGFjZTo6RGlzcGxheVAzOgorICAgICAgICBy
ZXR1cm4gc3RkOjppbnZva2Uoc3RkOjpmb3J3YXJkPEZ1bmN0b3I+KGZ1bmN0b3IpLCBtYWtlRnJv
bUNvbXBvbmVudHM8RGlzcGxheVAzPFQ+Pihjb21wb25lbnRzKSk7CisgICAgY2FzZSBDb2xvclNw
YWNlOjpMYWI6CisgICAgICAgIHJldHVybiBzdGQ6Omludm9rZShzdGQ6OmZvcndhcmQ8RnVuY3Rv
cj4oZnVuY3RvciksIG1ha2VGcm9tQ29tcG9uZW50czxMYWI8VD4+KGNvbXBvbmVudHMpKTsKKyAg
ICBjYXNlIENvbG9yU3BhY2U6OkxpbmVhclJHQjoKKyAgICAgICAgcmV0dXJuIHN0ZDo6aW52b2tl
KHN0ZDo6Zm9yd2FyZDxGdW5jdG9yPihmdW5jdG9yKSwgbWFrZUZyb21Db21wb25lbnRzPExpbmVh
clNSR0JBPFQ+Pihjb21wb25lbnRzKSk7CisgICAgY2FzZSBDb2xvclNwYWNlOjpQcm9QaG90b1JH
QjoKKyAgICAgICAgcmV0dXJuIHN0ZDo6aW52b2tlKHN0ZDo6Zm9yd2FyZDxGdW5jdG9yPihmdW5j
dG9yKSwgbWFrZUZyb21Db21wb25lbnRzPFByb1Bob3RvUkdCPFQ+Pihjb21wb25lbnRzKSk7Cisg
ICAgY2FzZSBDb2xvclNwYWNlOjpSZWMyMDIwOgorICAgICAgICByZXR1cm4gc3RkOjppbnZva2Uo
c3RkOjpmb3J3YXJkPEZ1bmN0b3I+KGZ1bmN0b3IpLCBtYWtlRnJvbUNvbXBvbmVudHM8UmVjMjAy
MDxUPj4oY29tcG9uZW50cykpOworICAgIGNhc2UgQ29sb3JTcGFjZTo6U1JHQjoKKyAgICAgICAg
cmV0dXJuIHN0ZDo6aW52b2tlKHN0ZDo6Zm9yd2FyZDxGdW5jdG9yPihmdW5jdG9yKSwgbWFrZUZy
b21Db21wb25lbnRzPFNSR0JBPFQ+Pihjb21wb25lbnRzKSk7CisgICAgY2FzZSBDb2xvclNwYWNl
OjpYWVpfRDUwOgorICAgICAgICByZXR1cm4gc3RkOjppbnZva2Uoc3RkOjpmb3J3YXJkPEZ1bmN0
b3I+KGZ1bmN0b3IpLCBtYWtlRnJvbUNvbXBvbmVudHM8WFlaQTxULCBXaGl0ZVBvaW50OjpENTA+
Pihjb21wb25lbnRzKSk7CisgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
cmV0dXJuIHN0ZDo6aW52b2tlKHN0ZDo6Zm9yd2FyZDxGdW5jdG9yPihmdW5jdG9yKSwgbWFrZUZy
b21Db21wb25lbnRzPFNSR0JBPFQ+Pihjb21wb25lbnRzKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yVHlw
ZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xv
clR5cGVzLmgJKHJldmlzaW9uIDI3MjI0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0NvbG9yVHlwZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNiBAQAogCiAj
aW5jbHVkZSAiQ29sb3JDb21wb25lbnRzLmgiCiAjaW5jbHVkZSAiQ29sb3JNb2RlbHMuaCIKLSNp
bmNsdWRlICJDb2xvclNwYWNlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTQ5LDkg
KzE0OCw2IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNvbnN0ZXhwciB2b2lkIGFzc2UKIAogI2Vu
ZGlmCiAKLXRlbXBsYXRlPHR5cGVuYW1lLCB0eXBlbmFtZSA9IHZvaWQ+IGlubGluZSBjb25zdGV4
cHIgYm9vbCBIYXNDb2xvclNwYWNlTWVtYmVyID0gZmFsc2U7Ci10ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBpbmxpbmUgY29uc3RleHByIGJvb2wgSGFzQ29sb3JTcGFjZU1lbWJlcjxULCBzdGQ6OnZvaWRf
dDxkZWNsdHlwZShzdGQ6OmRlY2x2YWw8VD4oKS5jb2xvclNwYWNlKT4+ID0gdHJ1ZTsKLQogdGVt
cGxhdGU8dHlwZW5hbWUsIHR5cGVuYW1lID0gdm9pZD4gaW5saW5lIGNvbnN0ZXhwciBib29sIElz
Q29udmVydGlibGVUb0NvbG9yQ29tcG9uZW50cyA9IGZhbHNlOwogdGVtcGxhdGU8dHlwZW5hbWUg
VD4gaW5saW5lIGNvbnN0ZXhwciBib29sIElzQ29udmVydGlibGVUb0NvbG9yQ29tcG9uZW50czxU
LCBzdGQ6OnZvaWRfdDxkZWNsdHlwZShhc0NvbG9yQ29tcG9uZW50cyhzdGQ6OmRlY2x2YWw8VD4o
KSkpPj4gPSB0cnVlOwogCkBAIC0xNjIsOCArMTU4LDggQEAgdGVtcGxhdGU8dHlwZW5hbWUgVCwg
dHlwZW5hbWUgVSwgYm9vbCBlbgogdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5s
aW5lIGNvbnN0ZXhwciBib29sIEhhc0NvbXBvbmVudFR5cGVWYWx1ZTxULCBVLCB0cnVlPiA9IHN0
ZDo6aXNfc2FtZV92PHR5cGVuYW1lIFQ6OkNvbXBvbmVudFR5cGUsIFU+OwogdGVtcGxhdGU8dHlw
ZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIGNvbnN0ZXhwciBib29sIEhhc0NvbXBvbmVudFR5
cGUgPSBIYXNDb21wb25lbnRUeXBlVmFsdWU8VCwgVSwgSGFzQ29tcG9uZW50VHlwZU1lbWJlcjxU
Pj47CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSBjb25zdGV4cHIgYm9vbCBJc0NvbG9y
VHlwZSA9IEhhc0NvbG9yU3BhY2VNZW1iZXI8VD4gJiYgSXNDb252ZXJ0aWJsZVRvQ29sb3JDb21w
b25lbnRzPFQ+ICYmIEhhc0NvbXBvbmVudFR5cGVNZW1iZXI8VD47Ci10ZW1wbGF0ZTx0eXBlbmFt
ZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgY29uc3RleHByIGJvb2wgSXNDb2xvclR5cGVXaXRoQ29t
cG9uZW50VHlwZSA9IEhhc0NvbG9yU3BhY2VNZW1iZXI8VD4gJiYgSXNDb252ZXJ0aWJsZVRvQ29s
b3JDb21wb25lbnRzPFQ+ICYmIEhhc0NvbXBvbmVudFR5cGU8VCwgVT47Cit0ZW1wbGF0ZTx0eXBl
bmFtZSBUPiBpbmxpbmUgY29uc3RleHByIGJvb2wgSXNDb2xvclR5cGUgPSBJc0NvbnZlcnRpYmxl
VG9Db2xvckNvbXBvbmVudHM8VD4gJiYgSGFzQ29tcG9uZW50VHlwZU1lbWJlcjxUPjsKK3RlbXBs
YXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBjb25zdGV4cHIgYm9vbCBJc0NvbG9y
VHlwZVdpdGhDb21wb25lbnRUeXBlID0gSXNDb252ZXJ0aWJsZVRvQ29sb3JDb21wb25lbnRzPFQ+
ICYmIEhhc0NvbXBvbmVudFR5cGU8VCwgVT47CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFBhcmVudD4g
c3RydWN0IENvbG9yV2l0aEFscGhhSGVscGVyIHsKICAgICAvLyBIZWxwZXIgdG8gYWxsb3cgY29u
dmVuaWVudCBzeW50YXggZm9yIHdvcmtpbmcgd2l0aCBjb2xvciB0eXBlcy4KQEAgLTIyOCw3ICsy
MjQsNiBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQTk4UkdCIDogUkdCCiAgICAgdXNp
bmcgUkdCQVR5cGU8QTk4UkdCLCBULCBSR0JNb2RlbDxUPj46OlJHQkFUeXBlOwogICAgIHVzaW5n
IExpbmVhckNvdW50ZXJwYXJ0ID0gTGluZWFyQTk4UkdCPFQ+OwogICAgIHVzaW5nIFJlZmVyZW5j
ZVhZWiA9IFhZWkE8VCwgV2hpdGVQb2ludDo6RDY1PjsKLSAgICBzdGF0aWMgY29uc3RleHByIGF1
dG8gY29sb3JTcGFjZSA9IENvbG9yU3BhY2U6OkE5OFJHQjsKIH07CiB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBBOThSR0IoVCwgVCwgVCwgVCkgLT4gQTk4UkdCPFQ+OwogCkBAIC0yMzYsNyArMjMxLDYg
QEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERpc3BsYXlQMyA6IAogICAgIHVzaW5nIFJH
QkFUeXBlPERpc3BsYXlQMywgVCwgUkdCTW9kZWw8VD4+OjpSR0JBVHlwZTsKICAgICB1c2luZyBM
aW5lYXJDb3VudGVycGFydCA9IExpbmVhckRpc3BsYXlQMzxUPjsKICAgICB1c2luZyBSZWZlcmVu
Y2VYWVogPSBYWVpBPFQsIFdoaXRlUG9pbnQ6OkQ2NT47Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBh
dXRvIGNvbG9yU3BhY2UgPSBDb2xvclNwYWNlOjpEaXNwbGF5UDM7CiB9OwogdGVtcGxhdGU8dHlw
ZW5hbWUgVD4gRGlzcGxheVAzKFQsIFQsIFQsIFQpIC0+IERpc3BsYXlQMzxUPjsKIApAQCAtMjg2
LDcgKzI4MCw2IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBMaW5lYXJTUkdCQSAKICAg
ICB1c2luZyBSR0JBVHlwZTxMaW5lYXJTUkdCQSwgVCwgUkdCTW9kZWw8VD4+OjpSR0JBVHlwZTsK
ICAgICB1c2luZyBHYW1tYUVuY29kZWRDb3VudGVycGFydCA9IFNSR0JBPFQ+OwogICAgIHVzaW5n
IFJlZmVyZW5jZVhZWiA9IFhZWkE8VCwgV2hpdGVQb2ludDo6RDY1PjsKLSAgICBzdGF0aWMgY29u
c3RleHByIGF1dG8gY29sb3JTcGFjZSA9IENvbG9yU3BhY2U6OkxpbmVhclJHQjsKIH07CiB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBMaW5lYXJTUkdCQShULCBULCBULCBUKSAtPiBMaW5lYXJTUkdCQTxU
PjsKIApAQCAtMjk0LDcgKzI4Nyw2IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBQcm9Q
aG90b1JHQiAKICAgICB1c2luZyBSR0JBVHlwZTxQcm9QaG90b1JHQiwgVCwgUkdCTW9kZWw8VD4+
OjpSR0JBVHlwZTsKICAgICB1c2luZyBMaW5lYXJDb3VudGVycGFydCA9IExpbmVhclByb1Bob3Rv
UkdCPFQ+OwogICAgIHVzaW5nIFJlZmVyZW5jZVhZWiA9IFhZWkE8VCwgV2hpdGVQb2ludDo6RDUw
PjsKLSAgICBzdGF0aWMgY29uc3RleHByIGF1dG8gY29sb3JTcGFjZSA9IENvbG9yU3BhY2U6OlBy
b1Bob3RvUkdCOwogfTsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFByb1Bob3RvUkdCKFQsIFQsIFQs
IFQpIC0+IFByb1Bob3RvUkdCPFQ+OwogCkBAIC0zMDIsNyArMjk0LDYgQEAgdGVtcGxhdGU8dHlw
ZW5hbWUgVD4gc3RydWN0IFJlYzIwMjAgOiBSRwogICAgIHVzaW5nIFJHQkFUeXBlPFJlYzIwMjAs
IFQsIFJHQk1vZGVsPFQ+Pjo6UkdCQVR5cGU7CiAgICAgdXNpbmcgTGluZWFyQ291bnRlcnBhcnQg
PSBMaW5lYXJSZWMyMDIwPFQ+OwogICAgIHVzaW5nIFJlZmVyZW5jZVhZWiA9IFhZWkE8VCwgV2hp
dGVQb2ludDo6RDY1PjsKLSAgICBzdGF0aWMgY29uc3RleHByIGF1dG8gY29sb3JTcGFjZSB7IENv
bG9yU3BhY2U6OlJlYzIwMjAgfTsKIH07CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBSZWMyMDIwKFQs
IFQsIFQsIFQpIC0+IFJlYzIwMjA8VD47CiAKQEAgLTMxMCw3ICszMDEsNiBAQCB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBzdHJ1Y3QgU1JHQkEgOiBSR0JBCiAgICAgdXNpbmcgUkdCQVR5cGU8U1JHQkEs
IFQsIFJHQk1vZGVsPFQ+Pjo6UkdCQVR5cGU7CiAgICAgdXNpbmcgTGluZWFyQ291bnRlcnBhcnQg
PSBMaW5lYXJTUkdCQTxUPjsKICAgICB1c2luZyBSZWZlcmVuY2VYWVogPSBYWVpBPFQsIFdoaXRl
UG9pbnQ6OkQ2NT47Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIGNvbG9yU3BhY2UgeyBDb2xv
clNwYWNlOjpTUkdCIH07CiB9OwogdGVtcGxhdGU8dHlwZW5hbWUgVD4gU1JHQkEoVCwgVCwgVCwg
VCkgLT4gU1JHQkE8VD47CiAKQEAgLTMyMCw3ICszMTAsNiBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBzdHJ1Y3QgTGFiIDogQ29sb3JXCiAgICAgdXNpbmcgQ29tcG9uZW50VHlwZSA9IFQ7CiAgICAg
dXNpbmcgTW9kZWwgPSBMYWJNb2RlbDxUPjsKICAgICB1c2luZyBSZWZlcmVuY2VYWVogPSBYWVpB
PFQsIFdoaXRlUG9pbnQ6OkQ1MD47Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIGNvbG9yU3Bh
Y2UgPSBDb2xvclNwYWNlOjpMYWI7CiAKICAgICBjb25zdGV4cHIgTGFiKFQgbGlnaHRuZXNzLCBU
IGEsIFQgYiwgVCBhbHBoYSA9IEFscGhhVHJhaXRzPFQ+OjpvcGFxdWUpCiAgICAgICAgIDogbGln
aHRuZXNzIHsgbGlnaHRuZXNzIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0NvbG9yVXRpbGl0aWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvQ29sb3JVdGlsaXRpZXMuaAkocmV2aXNpb24gMjcyMjQ0KQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JVdGlsaXRpZXMuaAkod29ya2luZyBjb3B5
KQpAQCAtMTcxLDYgKzE3MSwxMSBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBDb2xvclR5cGU+IENvbG9y
VHlwZSBpCiAgICAgcmV0dXJuIG1ha2VGcm9tQ29tcG9uZW50czxDb2xvclR5cGU+KGNvcHkpOwog
fQogCit0ZW1wbGF0ZTxXaGl0ZVBvaW50IFc+IGNvbnN0ZXhwciBib29sIGlzQmxhY2soY29uc3Qg
WFlaQTxmbG9hdCwgVz4mIGNvbG9yKQoreworICAgIHJldHVybiBjb2xvci55ID09IDAgJiYgY29s
b3IuYWxwaGEgPT0gQWxwaGFUcmFpdHM8ZmxvYXQ+OjpvcGFxdWU7Cit9CisKIGNvbnN0ZXhwciBi
b29sIGlzQmxhY2soY29uc3QgTGFiPGZsb2F0PiYgY29sb3IpCiB7CiAgICAgcmV0dXJuIGNvbG9y
LmxpZ2h0bmVzcyA9PSAwICYmIGNvbG9yLmFscGhhID09IEFscGhhVHJhaXRzPGZsb2F0Pjo6b3Bh
cXVlOwpAQCAtMTg0LDYgKzE4OSwxMSBAQCBjb25zdGV4cHIgYm9vbCBpc0JsYWNrKGNvbnN0IENv
bG9yVHlwZSYgCiAgICAgcmV0dXJuIGMxID09IHJhbmdlc1swXS5taW4gJiYgYzIgPT0gcmFuZ2Vz
WzFdLm1pbiAmJiBjMyA9PSByYW5nZXNbMl0ubWluICYmIGFscGhhID09IEFscGhhVHJhaXRzPHR5
cGVuYW1lIENvbG9yVHlwZTo6Q29tcG9uZW50VHlwZT46Om9wYXF1ZTsKIH0KIAordGVtcGxhdGU8
V2hpdGVQb2ludCBXPiBjb25zdGV4cHIgYm9vbCBpc1doaXRlKGNvbnN0IFhZWkE8ZmxvYXQsIFc+
JiBjb2xvcikKK3sKKyAgICByZXR1cm4gY29sb3IueSA9PSAxICYmIGNvbG9yLmFscGhhID09IEFs
cGhhVHJhaXRzPGZsb2F0Pjo6b3BhcXVlOworfQorCiBjb25zdGV4cHIgYm9vbCBpc1doaXRlKGNv
bnN0IExhYjxmbG9hdD4mIGNvbG9yKQogewogICAgIHJldHVybiBjb2xvci5saWdodG5lc3MgPT0g
MTAwICYmIGNvbG9yLmFscGhhID09IEFscGhhVHJhaXRzPGZsb2F0Pjo6b3BhcXVlOwpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5kZWRDb2xvci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0V4dGVuZGVkQ29sb3IuaAko
cmV2aXNpb24gMjcyMjQ0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0
ZW5kZWRDb2xvci5oCSh3b3JraW5nIGNvcHkpCkBAIC02Niw3ICs2Niw3IEBAIGlubGluZSBib29s
IG9wZXJhdG9yIT0oY29uc3QgRXh0ZW5kZWRDb2wKIAogdGVtcGxhdGU8dHlwZW5hbWUgQ29sb3JU
eXBlPiBpbmxpbmUgUmVmPEV4dGVuZGVkQ29sb3I+IEV4dGVuZGVkQ29sb3I6OmNyZWF0ZShjb25z
dCBDb2xvclR5cGUmIGNvbG9yKQogewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEV4dGVuZGVk
Q29sb3IoYXNDb2xvckNvbXBvbmVudHMoY29sb3IpLCBjb2xvci5jb2xvclNwYWNlKSk7CisgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgRXh0ZW5kZWRDb2xvcihhc0NvbG9yQ29tcG9uZW50cyhjb2xv
ciksIENvbG9yU3BhY2VGb3I8Q29sb3JUeXBlPikpOwogfQogCiBpbmxpbmUgUmVmPEV4dGVuZGVk
Q29sb3I+IEV4dGVuZGVkQ29sb3I6OmNyZWF0ZShDb2xvckNvbXBvbmVudHM8ZmxvYXQ+IGNvbXBv
bmVudHMsIENvbG9yU3BhY2UgY29sb3JTcGFjZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NnL0NvbG9yU3BhY2VDRy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvQ29sb3JTcGFjZUNHLmNwcAkocmV2aXNpb24gMjcy
MjQ0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvQ29sb3JTcGFjZUNH
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ4LDYgKzE0OCwyMCBAQCBDR0NvbG9yU3BhY2VSZWYg
c1JHQkNvbG9yU3BhY2VSZWYoKQogICAgIHJldHVybiBzUkdCQ29sb3JTcGFjZTsKIH0KIAorQ0dD
b2xvclNwYWNlUmVmIHh5ekQ1MENvbG9yU3BhY2VSZWYoKQoreworICAgIHN0YXRpYyBDR0NvbG9y
U3BhY2VSZWYgeHl6RDUwQ29sb3JTcGFjZTsKKyAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgb25j
ZUZsYWc7CisgICAgc3RkOjpjYWxsX29uY2Uob25jZUZsYWcsIFtdIHsKKyNpZiBQTEFURk9STShD
T0NPQSkKKyAgICAgICAgeHl6RDUwQ29sb3JTcGFjZSA9IENHQ29sb3JTcGFjZUNyZWF0ZVdpdGhO
YW1lKGtDR0NvbG9yU3BhY2VHZW5lcmljWFlaKTsKKyNlbHNlCisgICAgICAgIHh5ekQ1MENvbG9y
U3BhY2UgPSBzUkdCQ29sb3JTcGFjZVJlZigpOworI2VuZGlmCisgICAgfSk7CisgICAgcmV0dXJu
IHh5ekQ1MENvbG9yU3BhY2U7Cit9CisKIH0KIAogI2VuZGlmIC8vIFVTRShDRykKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0NvbG9yU3BhY2VDRy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0NvbG9yU3BhY2VDRy5o
CShyZXZpc2lvbiAyNzIyNDQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
Zy9Db2xvclNwYWNlQ0cuaAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzksNyBAQCBXRUJDT1JF
X0VYUE9SVCBDR0NvbG9yU3BhY2VSZWYgbGluZWFyUkdCCiBXRUJDT1JFX0VYUE9SVCBDR0NvbG9y
U3BhY2VSZWYgcHJvUGhvdG9SR0JDb2xvclNwYWNlUmVmKCk7CiBXRUJDT1JFX0VYUE9SVCBDR0Nv
bG9yU3BhY2VSZWYgcmVjMjAyMENvbG9yU3BhY2VSZWYoKTsKIFdFQkNPUkVfRVhQT1JUIENHQ29s
b3JTcGFjZVJlZiBzUkdCQ29sb3JTcGFjZVJlZigpOworV0VCQ09SRV9FWFBPUlQgQ0dDb2xvclNw
YWNlUmVmIHh5ekQ1MENvbG9yU3BhY2VSZWYoKTsKIAogc3RhdGljIGlubGluZSBDR0NvbG9yU3Bh
Y2VSZWYgY2FjaGVkQ0dDb2xvclNwYWNlKENvbG9yU3BhY2UgY29sb3JTcGFjZSkKIHsKQEAgLTU3
LDYgKzU4LDggQEAgc3RhdGljIGlubGluZSBDR0NvbG9yU3BhY2VSZWYgY2FjaGVkQ0dDbwogICAg
ICAgICByZXR1cm4gcmVjMjAyMENvbG9yU3BhY2VSZWYoKTsKICAgICBjYXNlIENvbG9yU3BhY2U6
OlNSR0I6CiAgICAgICAgIHJldHVybiBzUkdCQ29sb3JTcGFjZVJlZigpOworICAgIGNhc2UgQ29s
b3JTcGFjZTo6WFlaX0Q1MDoKKyAgICAgICAgcmV0dXJuIHh5ekQ1MENvbG9yU3BhY2VSZWYoKTsK
ICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIHNSR0JDb2xvclNw
YWNlUmVmKCk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzIyNDQpCisrKyBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAyMS0wMi0wMiAgU2FtIFdl
aW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGNvbG9y
KHh5eiAuLi4pIGFzIHBhcnQgb2YgQ1NTIENvbG9yIDQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTE5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgUmVt
b3ZlIG5vdyBwYXNzaW5nIHh5eiB0ZXN0LiBVcGRhdGUgY29tbWVudCBmb3IgdGhlIG90aGVyIHh5
eiB0ZXN0IHdoaWNoIGlzIGludmFsaWQuCisgICAgICAgIEdldHRpbmcgaXQgcmVtb3ZlZCBpbiBo
dHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9wdWxsLzI3NDE2LgorCisg
ICAgICAgICogZmFzdC9jc3MvcGFyc2luZy1jb2xvci1mdW5jdGlvbi1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogZmFzdC9jc3MvcGFyc2luZy1jb2xvci1mdW5jdGlvbi5odG1sOgorICAgICAgICBB
ZGQgeHl6IHNwZWNpZmljIHBhcnNpbmcgdGVzdHMsIGFzIHRoZSByZ2Igb25lcyBjYW4ndCBiZSBy
ZXVzdWVkIGR1ZSB0byB4eXoKKyAgICAgICAgbm90IHN1cHBvcnRpbmcgcGVyY2VudGFnZXMgZm9y
IGFueSBjb21wb25lbnQuCisKIDIwMjEtMDItMDIgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29t
PgogCiAgICAgICAgIFVwZGF0ZSBXZWJHTDIgVGVzdEV4cGVjdGF0aW9ucwpJbmRleDogTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zCShyZXZpc2lvbiAyNzIyNDQpCisrKyBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCSh3b3JraW5nIGNvcHkpCkBAIC00NjA2LDcgKzQ2MDYsNiBAQCB3ZWJraXQub3JnL2IvMjIw
OTI4IGltcG9ydGVkL3czYy93ZWItcGxhCiB3ZWJraXQub3JnL2IvMjIwOTI4IGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci9wcmVkZWZpbmVkLTAwNC5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdICMgSW52YWxpZCB0ZXN0LCBubyBjb2xvcnNwYWNlIHNwZWNpZmll
ZAogd2Via2l0Lm9yZy9iLzIyMDkyOCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29sb3IvcHJlZGVmaW5lZC0wMTQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXSAjIFJl
cXVpcmVzIGZhbGxiYWNrIChhdCBwYXJzZSB0aW1lKSBzdXBwb3J0CiB3ZWJraXQub3JnL2IvMjIw
OTI4IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci9wcmVkZWZp
bmVkLTAxNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdICMgUmVxdWlyZXMgZmFsbGJhY2sgKGF0
IHBhcnNlIHRpbWUpIHN1cHBvcnQgKHVuY2xlYXIgaWYgdGhpcyBtYWtlcyBzZW5zZSkKLXdlYmtp
dC5vcmcvYi8yMjA5MjggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bG9yL3ByZWRlZmluZWQtMDE2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0gIyBSZXF1aXJlcyB4
eXogc3VwcG9ydAotd2Via2l0Lm9yZy9iLzIyMDkyOCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29sb3IvcHJlZGVmaW5lZC0wMTcuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXSAjIFJlcXVpcmVzIHh5eiBzdXBwb3J0Cit3ZWJraXQub3JnL2IvMjIwOTI4IGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci9wcmVkZWZpbmVkLTAxNy5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdICMgSW52YWxpZCB0ZXN0LCBwZXJjZW50YWdlcyBhcmUgbm90
IGFsbG93ZWQgZm9yIGNvbG9yKHh5eikuCiAKIHdlYmtpdC5vcmcvYi8yMTg0OTYgaHR0cC90ZXN0
cy9sb2FkaW5nL3JlZGlyZWN0LXdpdGgtbm8tbG9jYXRpb24tY3Jhc2guaHRtbCBbIFNraXAgXQpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1jb2xvci1mdW5jdGlvbi1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1jb2xvci1m
dW5jdGlvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI3MjI0NCkKKysrIExheW91dFRlc3RzL2Zh
c3QvY3NzL3BhcnNpbmctY29sb3ItZnVuY3Rpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xMjMsNiArMTIzLDM4IEBAIFBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xv
ciIsICIKIFBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihwcm9w
aG90by1yZ2IgMCUgMCAwZGVnKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgogUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKHByb3Bob3RvLXJnYiAwJSAwJSAwZGVn
KSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgogUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5k
LWNvbG9yIiwgImNvbG9yKHByb3Bob3RvLXJnYiA0MCUgMCAwZGVnKSIpIGlzICJyZ2JhKDAsIDAs
IDAsIDApIgorCitUZXN0aW5nIGNvbG9yKHh5eiAuLi4pCitQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3IoeHl6IDAgMCAwKSIpIGlzICJjb2xvcih4eXogMCAwIDAp
IgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKHh5eiAwIDAg
MCAvIDEpIikgaXMgImNvbG9yKHh5eiAwIDAgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tn
cm91bmQtY29sb3IiLCAiY29sb3IoeHl6IDEgMSAxKSIpIGlzICJjb2xvcih4eXogMSAxIDEpIgor
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKHh5eiAxIDEgMSAv
IDEpIikgaXMgImNvbG9yKHh5eiAxIDEgMSkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91
bmQtY29sb3IiLCAiY29sb3IoeHl6IC0xIC0xIC0xKSIpIGlzICJjb2xvcih4eXogLTEgLTEgLTEp
IgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKHh5eiAwLjEg
MC4xIDAuMSkiKSBpcyAiY29sb3IoeHl6IDAuMSAwLjEgMC4xKSIKK1BBU1MgY29tcHV0ZWRTdHls
ZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcih4eXogMTAgMTAgMTApIikgaXMgImNvbG9yKHh5
eiAxMCAxMCAxMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoeHl6IC4yIC4yIC4yNSkiKSBpcyAiY29sb3IoeHl6IDAuMiAwLjIgMC4yNSkiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoeHl6IDAgMCAwIC8gMC41KSIp
IGlzICJjb2xvcih4eXogMCAwIDAgLyAwLjUpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3Jv
dW5kLWNvbG9yIiwgImNvbG9yKHh5eiAuMjAgMCAxMC8wLjUpIikgaXMgImNvbG9yKHh5eiAwLjIg
MCAxMCAvIDAuNSkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoeHl6IC4yMCAwIDEwLzUwJSkiKSBpcyAiY29sb3IoeHl6IDAuMiAwIDEwIC8gMC41KSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcih4eXogMCAwIDAgLyAt
MTAlKSIpIGlzICJjb2xvcih4eXogMCAwIDAgLyAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFj
a2dyb3VuZC1jb2xvciIsICJjb2xvcih4eXogMCAwIDAgLyAxMTAlKSIpIGlzICJjb2xvcih4eXog
MCAwIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKHh5
eiAwIDAgMCAvIDMwMCUpIikgaXMgImNvbG9yKHh5eiAwIDAgMCkiCitQQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoeHl6IDEgMSkiKSBpcyAiY29sb3IoeHl6IDEg
MSAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcih4eXog
MSkiKSBpcyAiY29sb3IoeHl6IDEgMCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3Vu
ZC1jb2xvciIsICJjb2xvcih4eXopIikgaXMgImNvbG9yKHh5eiAwIDAgMCkiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoeHl6IDEgMSAvIC41KSIpIGlzICJj
b2xvcih4eXogMSAxIDAgLyAwLjUpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKHh5eiAxIC8gMC41KSIpIGlzICJjb2xvcih4eXogMSAwIDAgLyAwLjUpIgor
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKHh5eiAvIDUwJSki
KSBpcyAiY29sb3IoeHl6IDAgMCAwIC8gMC41KSIKKworVGVzdCBpbnZhbGlkIHZhbHVlcworUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKHh5eiAwIDAgMCAwKSIp
IGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKHh5eiAwZGVnIDAlIDApIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoeHl6IDAlIDAgMCkiKSBp
cyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xv
ciIsICJjb2xvcih4eXogMCUgMCAwIDEpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoeHl6IDAlIDAgMCAxMCUpIikg
aXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3IoeHl6IDAlIDAgMGRlZykiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1Mg
Y29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcih4eXogMCUgMCUgMGRlZyki
KSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvcih4eXogNDAlIDAgMGRlZykiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1jb2xvci1mdW5jdGlvbi5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY29sb3ItZnVuY3Rpb24uaHRtbAkocmV2
aXNpb24gMjcyMjQ0KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1jb2xvci1mdW5j
dGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC02OCw2ICs2OCw0MiBAQAogICAgICAgICB0ZXN0
Q29tcHV0ZWQoImJhY2tncm91bmQtY29sb3IiLCBgY29sb3IoJHtjb2xvcn0gMCUgMCUgMGRlZylg
LCBgcmdiYSgwLCAwLCAwLCAwKWApOwogICAgICAgICB0ZXN0Q29tcHV0ZWQoImJhY2tncm91bmQt
Y29sb3IiLCBgY29sb3IoJHtjb2xvcn0gNDAlIDAgMGRlZylgLCBgcmdiYSgwLCAwLCAwLCAwKWAp
OwogICAgIH0KKworICAgIGRlYnVnKCcnKTsKKyAgICBkZWJ1ZyhgVGVzdGluZyBjb2xvcih4eXog
Li4uKWApOworICAgIAorICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsIGBjb2xv
cih4eXogMCAwIDApYCwgYGNvbG9yKHh5eiAwIDAgMClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoImJh
Y2tncm91bmQtY29sb3IiLCBgY29sb3IoeHl6IDAgMCAwIC8gMSlgLCBgY29sb3IoeHl6IDAgMCAw
KWApOworICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsIGBjb2xvcih4eXogMSAx
IDEpYCwgYGNvbG9yKHh5eiAxIDEgMSlgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoImJhY2tncm91bmQt
Y29sb3IiLCBgY29sb3IoeHl6IDEgMSAxIC8gMSlgLCBgY29sb3IoeHl6IDEgMSAxKWApOworICAg
IHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsIGBjb2xvcih4eXogLTEgLTEgLTEpYCwg
YGNvbG9yKHh5eiAtMSAtMSAtMSlgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoImJhY2tncm91bmQtY29s
b3IiLCBgY29sb3IoeHl6IDAuMSAwLjEgMC4xKWAsIGBjb2xvcih4eXogMC4xIDAuMSAwLjEpYCk7
CisgICAgdGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgYGNvbG9yKHh5eiAxMCAxMCAx
MClgLCBgY29sb3IoeHl6IDEwIDEwIDEwKWApOworICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3Vu
ZC1jb2xvciIsIGBjb2xvcih4eXogLjIgLjIgLjI1KWAsIGBjb2xvcih4eXogMC4yIDAuMiAwLjI1
KWApOworICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsIGBjb2xvcih4eXogMCAw
IDAgLyAwLjUpYCwgYGNvbG9yKHh5eiAwIDAgMCAvIDAuNSlgKTsKKyAgICB0ZXN0Q29tcHV0ZWQo
ImJhY2tncm91bmQtY29sb3IiLCBgY29sb3IoeHl6IC4yMCAwIDEwLzAuNSlgLCBgY29sb3IoeHl6
IDAuMiAwIDEwIC8gMC41KWApOworICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIs
IGBjb2xvcih4eXogLjIwIDAgMTAvNTAlKWAsIGBjb2xvcih4eXogMC4yIDAgMTAgLyAwLjUpYCk7
CisgICAgdGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgYGNvbG9yKHh5eiAwIDAgMCAv
IC0xMCUpYCwgYGNvbG9yKHh5eiAwIDAgMCAvIDApYCk7CisgICAgdGVzdENvbXB1dGVkKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgYGNvbG9yKHh5eiAwIDAgMCAvIDExMCUpYCwgYGNvbG9yKHh5eiAwIDAg
MClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoImJhY2tncm91bmQtY29sb3IiLCBgY29sb3IoeHl6IDAg
MCAwIC8gMzAwJSlgLCBgY29sb3IoeHl6IDAgMCAwKWApOworICAgIHRlc3RDb21wdXRlZCgiYmFj
a2dyb3VuZC1jb2xvciIsIGBjb2xvcih4eXogMSAxKWAsIGBjb2xvcih4eXogMSAxIDApYCk7Cisg
ICAgdGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgYGNvbG9yKHh5eiAxKWAsIGBjb2xv
cih4eXogMSAwIDApYCk7CisgICAgdGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgYGNv
bG9yKHh5eilgLCBgY29sb3IoeHl6IDAgMCAwKWApOworICAgIHRlc3RDb21wdXRlZCgiYmFja2dy
b3VuZC1jb2xvciIsIGBjb2xvcih4eXogMSAxIC8gLjUpYCwgYGNvbG9yKHh5eiAxIDEgMCAvIDAu
NSlgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoImJhY2tncm91bmQtY29sb3IiLCBgY29sb3IoeHl6IDEg
LyAwLjUpYCwgYGNvbG9yKHh5eiAxIDAgMCAvIDAuNSlgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoImJh
Y2tncm91bmQtY29sb3IiLCBgY29sb3IoeHl6IC8gNTAlKWAsIGBjb2xvcih4eXogMCAwIDAgLyAw
LjUpYCk7CisKKyAgICBkZWJ1ZygnJyk7CisgICAgZGVidWcoJ1Rlc3QgaW52YWxpZCB2YWx1ZXMn
KTsKKyAgICB0ZXN0Q29tcHV0ZWQoImJhY2tncm91bmQtY29sb3IiLCBgY29sb3IoeHl6IDAgMCAw
IDApYCwgYHJnYmEoMCwgMCwgMCwgMClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoImJhY2tncm91bmQt
Y29sb3IiLCBgY29sb3IoeHl6IDBkZWcgMCUgMClgLCBgcmdiYSgwLCAwLCAwLCAwKWApOworICAg
IHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsIGBjb2xvcih4eXogMCUgMCAwKWAsIGBy
Z2JhKDAsIDAsIDAsIDApYCk7CisgICAgdGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
YGNvbG9yKHh5eiAwJSAwIDAgMSlgLCBgcmdiYSgwLCAwLCAwLCAwKWApOworICAgIHRlc3RDb21w
dXRlZCgiYmFja2dyb3VuZC1jb2xvciIsIGBjb2xvcih4eXogMCUgMCAwIDEwJSlgLCBgcmdiYSgw
LCAwLCAwLCAwKWApOworICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsIGBjb2xv
cih4eXogMCUgMCAwZGVnKWAsIGByZ2JhKDAsIDAsIDAsIDApYCk7CisgICAgdGVzdENvbXB1dGVk
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgYGNvbG9yKHh5eiAwJSAwJSAwZGVnKWAsIGByZ2JhKDAsIDAs
IDAsIDApYCk7CisgICAgdGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgYGNvbG9yKHh5
eiA0MCUgMCAwZGVnKWAsIGByZ2JhKDAsIDAsIDAsIDApYCk7CisKIDwvc2NyaXB0PgogICAgIAog
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzIyNDQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMjMgQEAKKzIwMjEtMDItMDIgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgorCisg
ICAgICAgIEFkZCBzdXBwb3J0IGZvciBjb2xvcih4eXogLi4uKSBhcyBwYXJ0IG9mIENTUyBDb2xv
ciA0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjEx
OTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
c29tZSBuZXcgV1BUIHRlc3RzIGZvciBjb2xvcih4eXogKSB0aGF0IHdpbGwgYmUgdXBzdHJlYW1l
ZCBzaG9ydGx5LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3Iv
eHl6LTAwMS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb2xvci94eXotMDAxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3h5ei0wMDItZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IveHl6LTAwMi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci94eXotMDAz
LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbG9yL3h5ei0wMDMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29sb3IveHl6LTAwNC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci94eXotMDA0Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3h5ei0wMDUtZXhwZWN0
ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29s
b3IveHl6LTAwNS5odG1sOiBBZGRlZC4KKwogMjAyMS0wMi0wMiAgWXVzdWtlIFN1enVraSAgPHlz
dXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHVwZGF0ZSBleHBlY3QgZmls
ZXMgZm9yIHdhc20gdGVzdHMKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci94eXotMDAxLWV4cGVjdGVkLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbG9yL3h5ei0wMDEtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IveHl6LTAwMS1l
eHBlY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPkdyZWVuIHNxdWFyZSByZWZlcmVu
Y2U8L3RpdGxlPgorPHN0eWxlPgorICAgIC50ZXN0IHsgYmFja2dyb3VuZC1jb2xvcjogIzAwODAw
MDsgd2lkdGg6IDEyZW07IGhlaWdodDogMTJlbTt9Cis8L3N0eWxlPgorPGJvZHk+CisgICAgPHA+
VGVzdCBwYXNzZXMgaWYgeW91IHNlZSBhIGdyZWVuIHNxdWFyZSwgYW5kIG5vIHJlZC48L3A+Cisg
ICAgPGRpdiBjbGFzcz0idGVzdCI+PC9kaXY+Cis8L2JvZHk+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IveHl6LTAwMS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb2xvci94eXotMDAxLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3h5ei0wMDEu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5DU1MgQ29sb3IgNDogeHl6PC90aXRsZT4KKzxs
aW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iU2FtIFdlaW5pZyIgaHJlZj0ibWFpbHRvOndlaW5pZ0Bh
cHBsZS5jb20iPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5v
cmcvY3NzLWNvbG9yLTQvI3ZhbGRlZi1jb2xvci14eXoiPgorPGxpbmsgcmVsPSJtYXRjaCIgaHJl
Zj0iZ3JlZW5zcXVhcmUtcmVmLmh0bWwiPgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJ4
eXogd2l0aCBubyBhbHBoYSI+Cis8c3R5bGU+CisgICAgLnRlc3QgeyBiYWNrZ3JvdW5kLWNvbG9y
OiByZWQ7IHdpZHRoOiAxMmVtOyBoZWlnaHQ6IDEyZW07IH0KKyAgICAudGVzdCB7IGJhY2tncm91
bmQtY29sb3I6IGNvbG9yKHh5eiAwLjA4MzEyIDAuMTU0NzQ2IDAuMDIwOTYxKTsgfSAvKiBncmVl
biAoc1JHQiAjMDA4MDAwKSBjb252ZXJ0ZWQgdG8geHl6ICovCis8L3N0eWxlPgorPGJvZHk+Cisg
ICAgPHA+VGVzdCBwYXNzZXMgaWYgeW91IHNlZSBhIGdyZWVuIHNxdWFyZSwgYW5kIG5vIHJlZC48
L3A+CisgICAgPGRpdiBjbGFzcz0idGVzdCI+PC9kaXY+Cis8L2JvZHk+CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IveHl6LTAw
Mi1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci94eXotMDAyLWV4cGVjdGVkLmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbG9yL3h5ei0wMDItZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5CbGFjayBzcXVhcmUgcmVmZXJlbmNlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAudGVzdCB7
IGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IHdpZHRoOiAxMmVtOyBoZWlnaHQ6IDEyZW07IH0K
Kzwvc3R5bGU+Cis8Ym9keT4KKyAgICA8cD5UZXN0IHBhc3NlcyBpZiB5b3Ugc2VlIGEgYmxhY2sg
c3F1YXJlLCBhbmQgbm8gcmVkLjwvcD4KKyAgICA8ZGl2IGNsYXNzPSJ0ZXN0Ij48L2Rpdj4KKzwv
Ym9keT4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb2xvci94eXotMDAyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3h5ei0wMDIuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29sb3IveHl6LTAwMi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPkNT
UyBDb2xvciA0OiB4eXo8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJTYW0gV2Vp
bmlnIiBocmVmPSJtYWlsdG86d2VpbmlnQGFwcGxlLmNvbSI+Cis8bGluayByZWw9ImhlbHAiIGhy
ZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29sb3ItNC8jdmFsZGVmLWNvbG9yLXh5
eiI+Cis8bGluayByZWw9Im1hdGNoIiBocmVmPSJibGFja3NxdWFyZS1yZWYuaHRtbCI+Cis8bWV0
YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9Inh5eiB3aXRoIG5vIGFscGhhIj4KKzxzdHlsZT4KKyAg
ICAudGVzdCB7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgd2lkdGg6IDEyZW07IGhlaWdodDogMTJl
bTsgfQorICAgIC50ZXN0IHsgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoeHl6IDAgMCAwKTsgfSAv
KiBibGFjayAoc1JHQiAjMDAwMDAwKSBjb252ZXJ0ZWQgdG8geHl6ICovCis8L3N0eWxlPgorPGJv
ZHk+CisgICAgPHA+VGVzdCBwYXNzZXMgaWYgeW91IHNlZSBhIGJsYWNrIHNxdWFyZSwgYW5kIG5v
IHJlZC48L3A+CisgICAgPGRpdiBjbGFzcz0idGVzdCI+PC9kaXY+Cis8L2JvZHk+CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3Iv
eHl6LTAwMy1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci94eXotMDAzLWV4cGVjdGVkLmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbG9yL3h5ei0wMDMtZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDExIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5DU1MgQ29sb3IgNDogQ1NTIENvbG9yIDQ6IHh5ejwvdGl0bGU+Cis8c3R5bGU+
CisgICAgYm9keSB7IGJhY2tncm91bmQtY29sb3I6IGdyZXk7IH0KKyAgICAudGVzdCB7IGJhY2tn
cm91bmQtY29sb3I6IGxhYigxMDAlIDYuMTA5NyAtMTMuMjI2OCk7IHdpZHRoOiAxMmVtOyBoZWln
aHQ6IDEyZW07IH0gLyogY29sb3IoeHl6IDEgMSAxKSBjb252ZXJ0ZWQgdG8gTGFiICovCis8L3N0
eWxlPgorPGJvZHk+CisgICAgPHA+VGVzdCBwYXNzZXMgaWYgeW91IHNlZSBhIHNpbmdsZSBzcXVh
cmUsIGFuZCBub3QgdHdvIHJlY3RhbmdsZXMgb2YgZGlmZmVyZW50IGNvbG9ycy48L3A+CisgICAg
PGRpdiBjbGFzcz0idGVzdCI+PC9kaXY+Cis8L2JvZHk+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IveHl6LTAwMy5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb2xvci94eXotMDAzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3h5ei0wMDMuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5DU1MgQ29sb3IgNDogeHl6PC90aXRsZT4KKzxsaW5r
IHJlbD0iYXV0aG9yIiB0aXRsZT0iU2FtIFdlaW5pZyIgaHJlZj0ibWFpbHRvOndlaW5pZ0BhcHBs
ZS5jb20iPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcv
Y3NzLWNvbG9yLTQvI3ZhbGRlZi1jb2xvci14eXoiPgorPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0i
eHl6LTAwMy1yZWYuaHRtbCI+Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9Inh5eiB3aXRo
IG5vIGFscGhhIj4KKzxzdHlsZT4KKyAgICBib2R5IHsgYmFja2dyb3VuZC1jb2xvcjogZ3JleTsg
fQorICAgIC50ZXN0IHsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB3aWR0aDogMTJlbTsgaGVpZ2h0
OiA2ZW07IG1hcmdpbi10b3A6IDA7IH0KKyAgICAucmVmIHsgYmFja2dyb3VuZC1jb2xvcjogbGFi
KDEwMCUgNi4xMDk3IC0xMy4yMjY4KTsgd2lkdGg6IDEyZW07IGhlaWdodDogNmVtOyBtYXJnaW4t
Ym90dG9tOiAwOyB9IC8qIGNvbG9yKHh5eiAxIDEgMSkgY29udmVydGVkIHRvIExhYiAqLworICAg
IC50ZXN0IHsgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoeHl6IDEgMSAxKTsgfQorPC9zdHlsZT4K
Kzxib2R5PgorICAgIDxwPlRlc3QgcGFzc2VzIGlmIHlvdSBzZWUgYSBzaW5nbGUgc3F1YXJlLCBh
bmQgbm90IHR3byByZWN0YW5nbGVzIG9mIGRpZmZlcmVudCBjb2xvcnMuPC9wPgorICAgIDxkaXYg
Y2xhc3M9InJlZiI+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0idGVzdCI+PC9kaXY+Cis8L2JvZHk+
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29sb3IveHl6LTAwNC1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci94eXotMDA0LWV4
cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3h5ei0wMDQtZXhwZWN0ZWQuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzx0aXRsZT5DU1MgQ29sb3IgNDogQ1NTIENvbG9yIDQ6IHh5ejwvdGl0bGU+
Cis8c3R5bGU+CisgICAgLnRlc3QgeyBiYWNrZ3JvdW5kLWNvbG9yOiBsYWIoMTAwJSAtNDMxLjAz
NDUgMTcyLjQxMzgpOyB3aWR0aDogMTJlbTsgaGVpZ2h0OiAxMmVtOyB9IC8qIGNvbG9yKHh5eiAw
IDEgMCkgY29udmVydGVkIHRvIExhYiAqLworPC9zdHlsZT4KKzxib2R5PgorICAgIDxwPlRlc3Qg
cGFzc2VzIGlmIHlvdSBzZWUgYSBzaW5nbGUgc3F1YXJlLCBhbmQgbm90IHR3byByZWN0YW5nbGVz
IG9mIGRpZmZlcmVudCBjb2xvcnMuPC9wPgorICAgIDxkaXYgY2xhc3M9InRlc3QiPjwvZGl2Pgor
PC9ib2R5PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbG9yL3h5ei0wMDQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IveHl6LTAwNC5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb2xvci94eXotMDA0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwxNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+
Q1NTIENvbG9yIDQ6IHh5ejwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IlNhbSBX
ZWluaWciIGhyZWY9Im1haWx0bzp3ZWluaWdAYXBwbGUuY29tIj4KKzxsaW5rIHJlbD0iaGVscCIg
aHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1jb2xvci00LyN2YWxkZWYtY29sb3It
eHl6Ij4KKzxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9Inh5ei0wMDQtcmVmLmh0bWwiPgorPG1ldGEg
bmFtZT0iYXNzZXJ0IiBjb250ZW50PSJ4eXogd2l0aCBubyBhbHBoYSI+Cis8c3R5bGU+CisgICAg
LnRlc3QgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7IHdpZHRoOiAxMmVtOyBoZWlnaHQ6IDZlbTsg
bWFyZ2luLXRvcDogMDsgfQorICAgIC5yZWYgeyBiYWNrZ3JvdW5kLWNvbG9yOiBsYWIoMTAwJSAt
NDMxLjAzNDUgMTcyLjQxMzgpOyB3aWR0aDogMTJlbTsgaGVpZ2h0OiA2ZW07IG1hcmdpbi1ib3R0
b206IDA7IH0gLyogY29sb3IoeHl6IDAgMSAwKSBjb252ZXJ0ZWQgdG8gTGFiICovCisgICAgLnRl
c3QgeyBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih4eXogMCAxIDApOyB9Cis8L3N0eWxlPgorPGJv
ZHk+CisgICAgPHA+VGVzdCBwYXNzZXMgaWYgeW91IHNlZSBhIHNpbmdsZSBzcXVhcmUsIGFuZCBu
b3QgdHdvIHJlY3RhbmdsZXMgb2YgZGlmZmVyZW50IGNvbG9ycy48L3A+CisgICAgPGRpdiBjbGFz
cz0icmVmIj48L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJ0ZXN0Ij48L2Rpdj4KKzwvYm9keT4KSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b2xvci94eXotMDA1LWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3h5ei0wMDUtZXhwZWN0
ZWQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IveHl6LTAwNS1leHBlY3RlZC5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPHRpdGxlPkdyZWVuIHNxdWFyZSBjb2xvcihkaXNwbGF5LXAzIDAgMSAwKSByZWZl
cmVuY2U8L3RpdGxlPgorPHN0eWxlPgorICAgIC50ZXN0IHsgYmFja2dyb3VuZC1jb2xvcjogY29s
b3IoZGlzcGxheS1wMyAwIDEgMCk7IHdpZHRoOiAxMmVtOyBoZWlnaHQ6IDEyZW07IH0KKzwvc3R5
bGU+Cis8Ym9keT4KKyAgICA8cD5UZXN0IHBhc3NlcyBpZiB5b3Ugc2VlIGEgZ3JlZW4gc3F1YXJl
LCBhbmQgbm8gcmVkLjwvcD4KKyAgICA8ZGl2IGNsYXNzPSJ0ZXN0Ij48L2Rpdj4KKzwvYm9keT4K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb2xvci94eXotMDA1Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3h5ei0wMDUuaHRtbAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29sb3IveHl6LTAwNS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTUgQEAK
KzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPkNTUyBDb2xv
ciA0OiB4eXo8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJTYW0gV2VpbmlnIiBo
cmVmPSJtYWlsdG86d2VpbmlnQGFwcGxlLmNvbSI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0
dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29sb3ItNC8jdmFsZGVmLWNvbG9yLXh5eiI+Cis8
bGluayByZWw9Im1hdGNoIiBocmVmPSJncmVlbnNxdWFyZS1kaXNwbGF5LXAzLXJlZi5odG1sIj4K
KzxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0ieHl6IG91dHNpZGUgdGhlIHNSR0IgZ2FtdXQi
PgorPHN0eWxlPgorICAgIC50ZXN0IHsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB3aWR0aDogMTJl
bTsgaGVpZ2h0OiAxMmVtOyB9CisgICAgLnRlc3QgeyBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih4
eXogMC4yOTE5NCAwLjY5MjIzNiAwLjA0MTg4NCk7IH0gLyogZ3JlZW4gY29sb3IoZGlzcGxheS1w
MyAwIDEgMCkgY29udmVydGVkIHRvIHh5eiAqLworPC9zdHlsZT4KKzxib2R5PgorICAgIDxwPlRl
c3QgcGFzc2VzIGlmIHlvdSBzZWUgYSBncmVlbiBzcXVhcmUsIGFuZCBubyByZWQuPC9wPgorICAg
IDxkaXYgY2xhc3M9InRlc3QiPjwvZGl2PgorPC9ib2R5Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>