<?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>154119</bug_id>
          
          <creation_ts>2016-02-11 11:43:22 -0800</creation_ts>
          <short_desc>Remove legacy processes from WebKit2</short_desc>
          <delta_ts>2016-02-12 09:10:18 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1163804</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-02-11 11:43:22 -0800</bug_when>
    <thetext>Remove legacy processes from WebKit2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163937</commentid>
    <comment_count>1</comment_count>
      <attachid>271106</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-02-11 16:40:36 -0800</bug_when>
    <thetext>Created attachment 271106
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163963</commentid>
    <comment_count>2</comment_count>
      <attachid>271106</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-02-11 17:47:26 -0800</bug_when>
    <thetext>Comment on attachment 271106
Patch

Wow. Exciting day.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164164</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-02-12 09:10:18 -0800</bug_when>
    <thetext>Committed r196478: &lt;http://trac.webkit.org/changeset/196478&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271106</attachid>
            <date>2016-02-11 16:40:36 -0800</date>
            <delta_ts>2016-02-11 17:47:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-154119-20160211164014.patch</filename>
            <type>text/plain</type>
            <size>95052</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2NDIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMjZmNTgwZTg3MjQxZTFk
YmI4YzNjNTdhNzA1MTY2ZDRlYmEwYzI1Ny4uZjY1MzU1NjAwZDRhOWUzMDE4Y2VlYWI1NzEwZDAy
YjIyMTgwZTQ4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE2LTAyLTExICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGxlZ2Fj
eSBwcm9jZXNzZXMgZnJvbSBXZWJLaXQyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNTQxMTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Jhc2VMZWdhY3lQcm9jZXNzLnhjY29u
ZmlnOiBSZW1vdmVkLgorICAgICAgICAqIERhdGFiYXNlUHJvY2Vzcy9FbnRyeVBvaW50L21hYy9M
ZWdhY3lQcm9jZXNzL0RhdGFiYXNlUHJvY2Vzc01haW4ubW06IFJlbW92ZWQuCisgICAgICAgIChE
YXRhYmFzZVByb2Nlc3NNYWluKTogRGVsZXRlZC4KKyAgICAgICAgKiBEYXRhYmFzZVByb2Nlc3Mv
RW50cnlQb2ludC9tYWMvTGVnYWN5UHJvY2Vzcy9JbmZvLnBsaXN0OiBSZW1vdmVkLgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL0VudHJ5UG9pbnQvbWFjL0xlZ2FjeVByb2Nlc3MvSW5mby5wbGlz
dDogUmVtb3ZlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9FbnRyeVBvaW50L21hYy9MZWdh
Y3lQcm9jZXNzL05ldHdvcmtQcm9jZXNzTWFpbi5tbTogUmVtb3ZlZC4KKyAgICAgICAgKE5ldHdv
cmtQcm9jZXNzTWFpbik6IERlbGV0ZWQuCisgICAgICAgICogUGx1Z2luUHJvY2Vzcy9FbnRyeVBv
aW50L21hYy9MZWdhY3lQcm9jZXNzL0luZm8ucGxpc3Q6IFJlbW92ZWQuCisgICAgICAgICogUGx1
Z2luUHJvY2Vzcy9FbnRyeVBvaW50L21hYy9MZWdhY3lQcm9jZXNzL1BsdWdpblByb2Nlc3NNYWlu
Lm1tOiBSZW1vdmVkLgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Qcm9jZXNzTWFpbkRlbGVnYXRl
OjpQbHVnaW5Qcm9jZXNzTWFpbkRlbGVnYXRlKTogRGVsZXRlZC4KKyAgICAgICAgKFBsdWdpblBy
b2Nlc3NNYWluKTogRGVsZXRlZC4KKyAgICAgICAgKiBTaGFyZWQvRW50cnlQb2ludFV0aWxpdGll
cy9tYWMvTGVnYWN5UHJvY2Vzcy9DaGlsZFByb2Nlc3NFbnRyeVBvaW50Lmg6IFJlbW92ZWQuCisg
ICAgICAgIChXZWJLaXQ6OkNoaWxkUHJvY2Vzc01haW5EZWxlZ2F0ZTo6Q2hpbGRQcm9jZXNzTWFp
bkRlbGVnYXRlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6Q2hpbGRQcm9jZXNzTWFpbik6
IERlbGV0ZWQuCisgICAgICAgICogU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvbWFjL0xlZ2Fj
eVByb2Nlc3MvQ2hpbGRQcm9jZXNzRW50cnlQb2ludC5tbTogUmVtb3ZlZC4KKyAgICAgICAgKFdl
YktpdDo6Q2hpbGRQcm9jZXNzTWFpbkRlbGVnYXRlOjp+Q2hpbGRQcm9jZXNzTWFpbkRlbGVnYXRl
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6Q2hpbGRQcm9jZXNzTWFpbkRlbGVnYXRlOjpp
bnN0YWxsU2lnbmFsSGFuZGxlcnMpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpDaGlsZFBy
b2Nlc3NNYWluRGVsZWdhdGU6OmRvUHJlSW5pdGlhbGl6YXRpb25Xb3JrKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYktpdDo6Q2hpbGRQcm9jZXNzTWFpbkRlbGVnYXRlOjpnZXRDb25uZWN0aW9uSWRl
bnRpZmllcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OkNoaWxkUHJvY2Vzc01haW5EZWxl
Z2F0ZTo6Z2V0Q2xpZW50SWRlbnRpZmllcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OkNo
aWxkUHJvY2Vzc01haW5EZWxlZ2F0ZTo6Z2V0Q2xpZW50UHJvY2Vzc05hbWUpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViS2l0OjpDaGlsZFByb2Nlc3NNYWluRGVsZWdhdGU6OmdldEV4dHJhSW5pdGlh
bGl6YXRpb25EYXRhKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6Q2hpbGRQcm9jZXNzTWFp
bkRlbGVnYXRlOjpzdGFydFJ1bkxvb3ApOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpDaGls
ZFByb2Nlc3NNYWluRGVsZWdhdGU6OmRvUG9zdFJ1bldvcmspOiBEZWxldGVkLgorICAgICAgICAq
IFNoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL21hYy9MZWdhY3lQcm9jZXNzL0NoaWxkUHJvY2Vz
c01haW4ubW06IFJlbW92ZWQuCisgICAgICAgIChXZWJLaXQ6OmNsb3NlVW51c2VkRmlsZURlc2Ny
aXB0b3JzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6Qm9vdHN0cmFwTWFpbik6IERlbGV0
ZWQuCisgICAgICAgIChtYWluKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9FbnRyeVBvaW50L21hYy9M
ZWdhY3lQcm9jZXNzL0luZm8ucGxpc3Q6IFJlbW92ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9F
bnRyeVBvaW50L21hYy9MZWdhY3lQcm9jZXNzL1dlYkNvbnRlbnRQcm9jZXNzTWFpbi5tbTogUmVt
b3ZlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGVudFByb2Nlc3NNYWluRGVsZWdhdGU6Oldl
YkNvbnRlbnRQcm9jZXNzTWFpbkRlbGVnYXRlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvbnRl
bnRQcm9jZXNzTWFpbik6IERlbGV0ZWQuCisKIDIwMTYtMDItMTEgIEZyZWRlcmljIFdhbmcgIDxm
cmVkLndhbmdAZnJlZS5mcj4KIAogICAgICAgICBCdWcgMTU0MTAzIC0gW0dUS10gQnVpbGQgZXJy
b3IgYWZ0ZXIgYnVnIDE1NDA0NgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJh
dGlvbnMvQmFzZUxlZ2FjeVByb2Nlc3MueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1
cmF0aW9ucy9CYXNlTGVnYWN5UHJvY2Vzcy54Y2NvbmZpZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMjIzNGI4MTJhOTgzNjI0MWY0OTUxMWIyNjkwZjAxMjgzODZmMTk5ZS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
b25maWd1cmF0aW9ucy9CYXNlTGVnYWN5UHJvY2Vzcy54Y2NvbmZpZworKysgL2Rldi9udWxsCkBA
IC0xLDM4ICswLDAgQEAKLS8vIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0vLwotLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0vLyBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLS8vIGFyZSBtZXQ6
Ci0vLyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotLy8gICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotLy8gMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLS8vICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLS8vICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0vLwotLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0vLyBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotLy8gSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0vLyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgotLy8gQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCi0vLyBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0vLyBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLS8vIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKLS8vIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotLy8gKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0vLyBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLQotI2lu
Y2x1ZGUgIkJhc2VUYXJnZXQueGNjb25maWciCi0KLUlOU1RBTExfUEFUSCA9ICQoV0VCS0lUX0ZS
QU1FV09SS1NfRElSKS9XZWJLaXQuZnJhbWV3b3JrLyQoRlJBTUVXT1JLX0NPTlRFTlRfRElSRUNU
T1JZKTsKLQotQVBQX0lDT04gPSAkKEFQUF9JQ09OXyQoQ09ORklHVVJBVElPTikpOwotQVBQX0lD
T05fRGVidWcgPSBXZWJLaXQuaWNuczsKLUFQUF9JQ09OX1JlbGVhc2UgPSBXZWJLaXQuaWNuczsK
LUFQUF9JQ09OX1Byb2R1Y3Rpb24gPSA7Ci0KLUVYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTID0g
JChFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU18kKENPTkZJR1VSQVRJT04pKTsKLUVYQ0xVREVE
X1NPVVJDRV9GSUxFX05BTUVTX1Byb2R1Y3Rpb24gPSBXZWJLaXQuaWNuczsKLQotRVhDTFVERURf
U09VUkNFX0ZJTEVfTkFNRVNbc2RrPWlwaG9uZSpdID0gJChFWENMVURFRF9TT1VSQ0VfRklMRV9O
QU1FU18kKENPTkZJR1VSQVRJT04pKSAqLnhpYjsKLQotU0tJUF9JTlNUQUxMID0gWUVTOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0VudHJ5UG9pbnQvbWFjL0xl
Z2FjeVByb2Nlc3MvRGF0YWJhc2VQcm9jZXNzTWFpbi5tbSBiL1NvdXJjZS9XZWJLaXQyL0RhdGFi
YXNlUHJvY2Vzcy9FbnRyeVBvaW50L21hYy9MZWdhY3lQcm9jZXNzL0RhdGFiYXNlUHJvY2Vzc01h
aW4ubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMyMjQ4NTU4MGQ2OTI5Yjc0ODRk
NWMzNTM2OGJiMTk2MDA5YzIzNjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0VudHJ5UG9pbnQvbWFj
L0xlZ2FjeVByb2Nlc3MvRGF0YWJhc2VQcm9jZXNzTWFpbi5tbQorKysgL2Rldi9udWxsCkBAIC0x
LDQzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW1wb3J0ICJjb25maWcuaCIKLQotI2lmIEVOQUJM
RShEQVRBQkFTRV9QUk9DRVNTKQotCi0jaW1wb3J0ICJDaGlsZFByb2Nlc3NFbnRyeVBvaW50Lmgi
Ci0jaW1wb3J0ICJEYXRhYmFzZVByb2Nlc3MuaCIKLSNpbXBvcnQgIldLQmFzZS5oIgotCi11c2lu
ZyBuYW1lc3BhY2UgV2ViS2l0OwotCi1leHRlcm4gIkMiIFdLX0VYUE9SVCBpbnQgRGF0YWJhc2VQ
cm9jZXNzTWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpOwotCi1pbnQgRGF0YWJhc2VQcm9jZXNz
TWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCi17Ci0gICAgcmV0dXJuIENoaWxkUHJvY2Vzc01h
aW48RGF0YWJhc2VQcm9jZXNzLCBDaGlsZFByb2Nlc3NNYWluRGVsZWdhdGU+KGFyZ2MsIGFyZ3Yp
OwotfQotCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFX1BST0NFU1MpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvRW50cnlQb2ludC9tYWMvTGVnYWN5UHJvY2Vz
cy9JbmZvLnBsaXN0IGIvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0VudHJ5UG9pbnQv
bWFjL0xlZ2FjeVByb2Nlc3MvSW5mby5wbGlzdApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNmJmOTlmMDM5ODdhZWQ4MGYxNTYyZGFlMzVlZmU5MTBhYzA1ODMxZS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFz
ZVByb2Nlc3MvRW50cnlQb2ludC9tYWMvTGVnYWN5UHJvY2Vzcy9JbmZvLnBsaXN0CisrKyAvZGV2
L251bGwKQEAgLTEsMzQgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRG
LTgiPz4KLTwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1QgMS4wLy9F
TiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQiPgotPHBs
aXN0IHZlcnNpb249IjEuMCI+Ci08ZGljdD4KLQk8a2V5PkNGQnVuZGxlRXhlY3V0YWJsZTwva2V5
PgotCTxzdHJpbmc+JHtFWEVDVVRBQkxFX05BTUV9PC9zdHJpbmc+Ci0JPGtleT5DRkJ1bmRsZUdl
dEluZm9TdHJpbmc8L2tleT4KLQk8c3RyaW5nPiR7QlVORExFX1ZFUlNJT059LCBDb3B5cmlnaHQg
MjAwMy0yMDE2IEFwcGxlIEluYy48L3N0cmluZz4KLQk8a2V5PkNGQnVuZGxlSWNvbkZpbGU8L2tl
eT4KLQk8c3RyaW5nPiR7QVBQX0lDT059PC9zdHJpbmc+Ci0JPGtleT5DRkJ1bmRsZUlkZW50aWZp
ZXI8L2tleT4KLQk8c3RyaW5nPmNvbS5hcHBsZS5XZWJLaXQuJHtQUk9EVUNUX05BTUV9PC9zdHJp
bmc+Ci0JPGtleT5DRkJ1bmRsZUluZm9EaWN0aW9uYXJ5VmVyc2lvbjwva2V5PgotCTxzdHJpbmc+
Ni4wPC9zdHJpbmc+Ci0JPGtleT5DRkJ1bmRsZU5hbWU8L2tleT4KLQk8c3RyaW5nPiR7UFJPRFVD
VF9OQU1FfTwvc3RyaW5nPgotCTxrZXk+Q0ZCdW5kbGVQYWNrYWdlVHlwZTwva2V5PgotCTxzdHJp
bmc+QVBQTDwvc3RyaW5nPgotCTxrZXk+Q0ZCdW5kbGVTaG9ydFZlcnNpb25TdHJpbmc8L2tleT4K
LQk8c3RyaW5nPiR7U0hPUlRfVkVSU0lPTl9TVFJJTkd9PC9zdHJpbmc+Ci0JPGtleT5DRkJ1bmRs
ZVZlcnNpb248L2tleT4KLQk8c3RyaW5nPiR7QlVORExFX1ZFUlNJT059PC9zdHJpbmc+Ci0JPGtl
eT5MU0ZpbGVRdWFyYW50aW5lRW5hYmxlZDwva2V5PgotCTx0cnVlLz4KLQk8a2V5PkxTTWluaW11
bVN5c3RlbVZlcnNpb248L2tleT4KLQk8c3RyaW5nPiR7TUFDT1NYX0RFUExPWU1FTlRfVEFSR0VU
fTwvc3RyaW5nPgotCTxrZXk+TFNVSUVsZW1lbnQ8L2tleT4KLQk8dHJ1ZS8+Ci0JPGtleT5OU1By
aW5jaXBhbENsYXNzPC9rZXk+Ci0JPHN0cmluZz5OU0FwcGxpY2F0aW9uPC9zdHJpbmc+Ci0JPGtl
eT5XZWJLaXRFbnRyeVBvaW50PC9rZXk+Ci0JPHN0cmluZz5EYXRhYmFzZVByb2Nlc3NNYWluPC9z
dHJpbmc+Ci08L2RpY3Q+Ci08L3BsaXN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvRW50cnlQb2ludC9tYWMvTGVnYWN5UHJvY2Vzcy9JbmZvLnBsaXN0IGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvRW50cnlQb2ludC9tYWMvTGVnYWN5UHJvY2Vzcy9J
bmZvLnBsaXN0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4Y2FjNTYwYzBjYWFkMTFk
MzJiZDhkN2Q5MTFkMDNjNTM2YTA0ZTM3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0VudHJ5UG9pbnQv
bWFjL0xlZ2FjeVByb2Nlc3MvSW5mby5wbGlzdAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAg
QEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgcGxp
c3QgUFVCTElDICItLy9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxl
LmNvbS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KLTxwbGlzdCB2ZXJzaW9uPSIxLjAiPgot
PGRpY3Q+Ci0JPGtleT5DRkJ1bmRsZUV4ZWN1dGFibGU8L2tleT4KLQk8c3RyaW5nPiR7RVhFQ1VU
QUJMRV9OQU1FfTwvc3RyaW5nPgotCTxrZXk+Q0ZCdW5kbGVHZXRJbmZvU3RyaW5nPC9rZXk+Ci0J
PHN0cmluZz4ke0JVTkRMRV9WRVJTSU9OfSwgQ29weXJpZ2h0IDIwMDMtMjAxNiBBcHBsZSBJbmMu
PC9zdHJpbmc+Ci0JPGtleT5DRkJ1bmRsZUlkZW50aWZpZXI8L2tleT4KLQk8c3RyaW5nPmNvbS5h
cHBsZS5XZWJLaXQuJHtQUk9EVUNUX05BTUV9PC9zdHJpbmc+Ci0JPGtleT5DRkJ1bmRsZUluZm9E
aWN0aW9uYXJ5VmVyc2lvbjwva2V5PgotCTxzdHJpbmc+Ni4wPC9zdHJpbmc+Ci0JPGtleT5DRkJ1
bmRsZU5hbWU8L2tleT4KLQk8c3RyaW5nPiR7UFJPRFVDVF9OQU1FfTwvc3RyaW5nPgotCTxrZXk+
Q0ZCdW5kbGVQYWNrYWdlVHlwZTwva2V5PgotCTxzdHJpbmc+QVBQTDwvc3RyaW5nPgotCTxrZXk+
Q0ZCdW5kbGVTaG9ydFZlcnNpb25TdHJpbmc8L2tleT4KLQk8c3RyaW5nPiR7U0hPUlRfVkVSU0lP
Tl9TVFJJTkd9PC9zdHJpbmc+Ci0JPGtleT5DRkJ1bmRsZVZlcnNpb248L2tleT4KLQk8c3RyaW5n
PiR7QlVORExFX1ZFUlNJT059PC9zdHJpbmc+Ci0JPGtleT5MU0ZpbGVRdWFyYW50aW5lRW5hYmxl
ZDwva2V5PgotCTx0cnVlLz4KLQk8a2V5PkxTTWluaW11bVN5c3RlbVZlcnNpb248L2tleT4KLQk8
c3RyaW5nPiR7TUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUfTwvc3RyaW5nPgotCTxrZXk+TFNVSUVs
ZW1lbnQ8L2tleT4KLQk8dHJ1ZS8+Ci0JPGtleT5OU1ByaW5jaXBhbENsYXNzPC9rZXk+Ci0JPHN0
cmluZz5OU0FwcGxpY2F0aW9uPC9zdHJpbmc+Ci0JPGtleT5DRkJ1bmRsZUljb25GaWxlPC9rZXk+
Ci0JPHN0cmluZz4ke0FQUF9JQ09OfTwvc3RyaW5nPgotCTxrZXk+V2ViS2l0RW50cnlQb2ludDwv
a2V5PgotCTxzdHJpbmc+TmV0d29ya1Byb2Nlc3NNYWluPC9zdHJpbmc+Ci08L2RpY3Q+Ci08L3Bs
aXN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvRW50cnlQb2lu
dC9tYWMvTGVnYWN5UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc01haW4ubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9FbnRyeVBvaW50L21hYy9MZWdhY3lQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzTWFpbi5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDAzZmVhZjAzNTRlZWM4
MTg4N2E3MTU0ZWIyMzU1YmQ4MDAxNzVmZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9FbnRyeVBvaW50
L21hYy9MZWdhY3lQcm9jZXNzL05ldHdvcmtQcm9jZXNzTWFpbi5tbQorKysgL2Rldi9udWxsCkBA
IC0xLDM5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW1wb3J0ICJjb25maWcuaCIKLQotI2ltcG9y
dCAiQ2hpbGRQcm9jZXNzRW50cnlQb2ludC5oIgotI2ltcG9ydCAiTmV0d29ya1Byb2Nlc3MuaCIK
LSNpbXBvcnQgIldLQmFzZS5oIgotCi11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCi1leHRlcm4g
IkMiIFdLX0VYUE9SVCBpbnQgTmV0d29ya1Byb2Nlc3NNYWluKGludCBhcmdjLCBjaGFyKiogYXJn
dik7Ci0KLWludCBOZXR3b3JrUHJvY2Vzc01haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQotewot
ICAgIHJldHVybiBDaGlsZFByb2Nlc3NNYWluPE5ldHdvcmtQcm9jZXNzLCBDaGlsZFByb2Nlc3NN
YWluRGVsZWdhdGU+KGFyZ2MsIGFyZ3YpOwotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
UGx1Z2luUHJvY2Vzcy9FbnRyeVBvaW50L21hYy9MZWdhY3lQcm9jZXNzL0luZm8ucGxpc3QgYi9T
b3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL0VudHJ5UG9pbnQvbWFjL0xlZ2FjeVByb2Nlc3Mv
SW5mby5wbGlzdApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWFlYzQ5MDgyZWFhZDc2
NmVkYWU2OTc0YzY2YTEzZDAxOWZjYmM4ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL0VudHJ5UG9pbnQv
bWFjL0xlZ2FjeVByb2Nlc3MvSW5mby5wbGlzdAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAg
QEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgcGxp
c3QgUFVCTElDICItLy9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxl
LmNvbS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KLTxwbGlzdCB2ZXJzaW9uPSIxLjAiPgot
PGRpY3Q+Ci0JPGtleT5DRkJ1bmRsZUV4ZWN1dGFibGU8L2tleT4KLQk8c3RyaW5nPiR7UFJPRFVD
VF9OQU1FfTwvc3RyaW5nPgotCTxrZXk+Q0ZCdW5kbGVHZXRJbmZvU3RyaW5nPC9rZXk+Ci0JPHN0
cmluZz4ke0JVTkRMRV9WRVJTSU9OfSwgQ29weXJpZ2h0IDIwMDMtMjAxNiBBcHBsZSBJbmMuPC9z
dHJpbmc+Ci0JPGtleT5DRkJ1bmRsZUlkZW50aWZpZXI8L2tleT4KLQk8c3RyaW5nPmNvbS5hcHBs
ZS5XZWJLaXQuJHtQUk9EVUNUX05BTUV9PC9zdHJpbmc+Ci0JPGtleT5DRkJ1bmRsZUluZm9EaWN0
aW9uYXJ5VmVyc2lvbjwva2V5PgotCTxzdHJpbmc+Ni4wPC9zdHJpbmc+Ci0JPGtleT5DRkJ1bmRs
ZU5hbWU8L2tleT4KLQk8c3RyaW5nPiR7UFJPRFVDVF9OQU1FfTwvc3RyaW5nPgotCTxrZXk+Q0ZC
dW5kbGVQYWNrYWdlVHlwZTwva2V5PgotCTxzdHJpbmc+QVBQTDwvc3RyaW5nPgotCTxrZXk+Q0ZC
dW5kbGVTaG9ydFZlcnNpb25TdHJpbmc8L2tleT4KLQk8c3RyaW5nPiR7U0hPUlRfVkVSU0lPTl9T
VFJJTkd9PC9zdHJpbmc+Ci0JPGtleT5DRkJ1bmRsZVZlcnNpb248L2tleT4KLQk8c3RyaW5nPiR7
QlVORExFX1ZFUlNJT059PC9zdHJpbmc+Ci0JPGtleT5MU0ZpbGVRdWFyYW50aW5lRW5hYmxlZDwv
a2V5PgotCTx0cnVlLz4KLQk8a2V5PkxTTWluaW11bVN5c3RlbVZlcnNpb248L2tleT4KLQk8c3Ry
aW5nPiR7TUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUfTwvc3RyaW5nPgotCTxrZXk+TFNVSUVsZW1l
bnQ8L2tleT4KLQk8dHJ1ZS8+Ci0JPGtleT5OU1ByaW5jaXBhbENsYXNzPC9rZXk+Ci0JPHN0cmlu
Zz5OU0FwcGxpY2F0aW9uPC9zdHJpbmc+Ci0JPGtleT5XZWJLaXRFbnRyeVBvaW50PC9rZXk+Ci0J
PHN0cmluZz5QbHVnaW5Qcm9jZXNzTWFpbjwvc3RyaW5nPgotCTxrZXk+TlNTdXBwb3J0c0F1dG9t
YXRpY0dyYXBoaWNzU3dpdGNoaW5nPC9rZXk+Ci0JPHRydWUvPgotCTxrZXk+TlNTdXBwb3J0c0Fw
cE5hcDwva2V5PgotCTx0cnVlLz4KLTwvZGljdD4KLTwvcGxpc3Q+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL0VudHJ5UG9pbnQvbWFjL0xlZ2FjeVByb2Nlc3MvUGx1
Z2luUHJvY2Vzc01haW4ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL0VudHJ5UG9p
bnQvbWFjL0xlZ2FjeVByb2Nlc3MvUGx1Z2luUHJvY2Vzc01haW4ubW0KZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGFlYzc4ZDQzNmJmNjBhM2NjNDVkM2QyYjM4NzY5M2M1ZGU4MDljZmIu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YktpdDIvUGx1Z2luUHJvY2Vzcy9FbnRyeVBvaW50L21hYy9MZWdhY3lQcm9jZXNzL1BsdWdpblBy
b2Nlc3NNYWluLm1tCisrKyAvZGV2L251bGwKQEAgLTEsMTM1ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTAsIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jaW1wb3J0ICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5f
QVBJKQotCi0jaW1wb3J0ICJDaGlsZFByb2Nlc3NFbnRyeVBvaW50LmgiCi0jaW1wb3J0ICJFbnZp
cm9ubWVudFV0aWxpdGllcy5oIgotI2ltcG9ydCAiTmV0c2NhcGVQbHVnaW5Nb2R1bGUuaCIKLSNp
bXBvcnQgIlBsdWdpblByb2Nlc3MuaCIKLSNpbXBvcnQgIldLQmFzZS5oIgotI2ltcG9ydCA8d3Rm
L1J1bkxvb3AuaD4KLQotI2lmIFVTRShBUFBLSVQpCi1AaW50ZXJmYWNlIE5TQXBwbGljYXRpb24g
KFdlYk5TQXBwbGljYXRpb25EZXRhaWxzKQotLSh2b2lkKV9pbnN0YWxsQXV0b3JlbGVhc2VQb29s
c09uQ3VycmVudFRocmVhZElmTmVjZXNzYXJ5OwotQGVuZAotI2VuZGlmCi0KLXVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgUGx1Z2luUHJvY2Vz
c01haW5EZWxlZ2F0ZSA6IHB1YmxpYyBDaGlsZFByb2Nlc3NNYWluRGVsZWdhdGUgewotcHVibGlj
OgotICAgIFBsdWdpblByb2Nlc3NNYWluRGVsZWdhdGUoY29uc3QgQ29tbWFuZExpbmUmIGNvbW1h
bmRMaW5lKQotICAgICAgICA6IENoaWxkUHJvY2Vzc01haW5EZWxlZ2F0ZShjb21tYW5kTGluZSkK
LSAgICB7Ci0gICAgfQotCi0gICAgdmlydHVhbCB2b2lkIGRvUHJlSW5pdGlhbGl6YXRpb25Xb3Jr
KCkgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIC8vIFJlbW92ZSB0aGUgUGx1Z2luUHJvY2VzcyBz
aGltIGZyb20gdGhlIERZTERfSU5TRVJUX0xJQlJBUklFUyBlbnZpcm9ubWVudCB2YXJpYWJsZSBz
byBhbnkgcHJvY2Vzc2VzCi0gICAgICAgIC8vIHNwYXduZWQgYnkgdGhlIFBsdWdpblByb2Nlc3Mg
ZG9uJ3QgdHJ5IHRvIGluc2VydCB0aGUgc2hpbSBhbmQgY3Jhc2guCi0gICAgICAgIEVudmlyb25t
ZW50VXRpbGl0aWVzOjpzdHJpcFZhbHVlc0VuZGluZ1dpdGhTdHJpbmcoIkRZTERfSU5TRVJUX0xJ
QlJBUklFUyIsICIvUGx1Z2luUHJvY2Vzc1NoaW0uZHlsaWIiKTsKLQotI2lmIFVTRShBUFBLSVQp
Ci0jaWYgZGVmaW5lZChfX2kzODZfXykKLSAgICAgICAgLy8gV2UgbXVzdCBzZXQgdGhlIHN0YXRl
IG9mIEFwcGxlTWFnbmlmaWVkTW9kZSBiZWZvcmUgTlNBcHBsaWNhdGlvbiBpbml0aWFsaXphdGlv
biBzbyB0aGF0IHRoZSB2YWx1ZSB3aWxsIGJlIGluCi0gICAgICAgIC8vIHBsYWNlIGJlZm9yZSBD
b2NvYSBzdGFydHVwIGxvZ2ljIHJ1bnMgYW5kIGNhY2hlcyB0aGUgdmFsdWUuCi0gICAgICAgIE5T
RGljdGlvbmFyeSAqZGVmYXVsdHMgPSBbW05TRGljdGlvbmFyeSBhbGxvY10gaW5pdFdpdGhPYmpl
Y3RzQW5kS2V5czpbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgQCJBcHBsZU1hZ25pZmll
ZE1vZGUiLCBuaWxdOwotICAgICAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1
bHRzXSByZWdpc3RlckRlZmF1bHRzOmRlZmF1bHRzXTsKLSAgICAgICAgW2RlZmF1bHRzIHJlbGVh
c2VdOwotI2VuZGlmCi0KLSAgICAgICAgLy8gSW5pdGlhbGl6ZSBBcHBLaXQuCi0gICAgICAgIFtO
U0FwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXTsKLQotICAgICAgICAvLyBJbnN0YWxscyBh
dXRvcmVsZWFzZSBwb29scyBvbiB0aGUgY3VycmVudCBydW5sb29wIHdoaWNoIHByZXZlbnRzIG1l
bW9yeSBmcm9tIGFjY3VtdWxhdGluZyBiZXR3ZWVuIHVzZXIgZXZlbnRzLgotICAgICAgICAvLyBG
SVhNRTogUmVtb3ZlIHdoZW4gPHJkYXI6Ly9wcm9ibGVtLzg5Mjk0MjY+IGlzIGZpeGVkLgotICAg
ICAgICBbTlNBcHAgX2luc3RhbGxBdXRvcmVsZWFzZVBvb2xzT25DdXJyZW50VGhyZWFkSWZOZWNl
c3NhcnldOwotI2VuZGlmCi0KLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDw9
IDEwMTAwMAotICAgICAgICAvLyBDaGVjayBpZiB3ZSdyZSBiZWluZyBzcGF3bmVkIHRvIHdyaXRl
IGEgTUlNRSB0eXBlIHByZWZlcmVuY2VzIGZpbGUuCi0gICAgICAgIFN0cmluZyBwbHVnaW5QYXRo
ID0gbV9jb21tYW5kTGluZVsiY3JlYXRlUGx1Z2luTUlNRVR5cGVzUHJlZmVyZW5jZXMiXTsKLSAg
ICAgICAgaWYgKCFwbHVnaW5QYXRoLmlzRW1wdHkoKSkgewotICAgICAgICAgICAgLy8gV2UgYXJl
IG5ldmVyIGdvaW5nIHRvIGdldCB0byB0aGUgYWN0dWFsIGluaXRpYWxpemF0aW9uLCBzbyBpbml0
aWFsaXplIFdlYktpdDIgbm93LgotICAgICAgICAgICAgSW5pdGlhbGl6ZVdlYktpdDIoKTsKLQot
ICAgICAgICAgICAgaWYgKCFOZXRzY2FwZVBsdWdpbk1vZHVsZTo6Y3JlYXRlUGx1Z2luTUlNRVR5
cGVzUHJlZmVyZW5jZXMocGx1Z2luUGF0aCkpCi0gICAgICAgICAgICAgICAgZXhpdChFWElUX0ZB
SUxVUkUpOwotICAgICAgICAgICAgZXhpdChFWElUX1NVQ0NFU1MpOwotICAgICAgICB9Ci0jZW5k
aWYKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIGJvb2wgZ2V0RXh0cmFJbml0aWFsaXphdGlvbkRhdGEo
SGFzaE1hcDxTdHJpbmcsIFN0cmluZz4mIGV4dHJhSW5pdGlhbGl6YXRpb25EYXRhKSBvdmVycmlk
ZQotICAgIHsKLSAgICAgICAgU3RyaW5nIHBsdWdpblBhdGggPSBtX2NvbW1hbmRMaW5lWyJwbHVn
aW4tcGF0aCJdOwotICAgICAgICBpZiAocGx1Z2luUGF0aC5pc0VtcHR5KCkpCi0gICAgICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGV4dHJhSW5pdGlhbGl6YXRpb25EYXRhLmFkZCgicGx1
Z2luLXBhdGgiLCBwbHVnaW5QYXRoKTsKLQotICAgICAgICBTdHJpbmcgZGlzYWJsZVNhbmRib3gg
PSBtX2NvbW1hbmRMaW5lWyJkaXNhYmxlLXNhbmRib3giXTsKLSAgICAgICAgaWYgKCFkaXNhYmxl
U2FuZGJveC5pc0VtcHR5KCkpCi0gICAgICAgICAgICBleHRyYUluaXRpYWxpemF0aW9uRGF0YS5h
ZGQoImRpc2FibGUtc2FuZGJveCIsIGRpc2FibGVTYW5kYm94KTsKLQotICAgICAgICByZXR1cm4g
dHJ1ZTsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIHZvaWQgc3RhcnRSdW5Mb29wKCkgb3ZlcnJpZGUK
LSAgICB7Ci0gICAgICAgIEFTU0VSVChOU0FwcCk7Ci0gICAgICAgIFtOU0FwcCBydW5dOwotICAg
IH0KLQotICAgIHZpcnR1YWwgdm9pZCBkb1Bvc3RSdW5Xb3JrKCkgb3ZlcnJpZGUKLSAgICB7Ci0g
ICAgICAgIC8vIElmIHdlIGhhdmUgcHJpdmF0ZSB0ZW1wb3JhcnkgYW5kIGNhY2hlIGRpcmVjdG9y
aWVzLCBjbGVhbiB0aGVtIHVwLgotICAgICAgICBpZiAoZ2V0ZW52KCJESVJIRUxQRVJfVVNFUl9E
SVJfU1VGRklYIikpIHsKLSAgICAgICAgICAgIGNoYXIgZGFyd2luRGlyZWN0b3J5W1BBVEhfTUFY
XTsKLSAgICAgICAgICAgIGlmIChjb25mc3RyKF9DU19EQVJXSU5fVVNFUl9URU1QX0RJUiwgZGFy
d2luRGlyZWN0b3J5LCBzaXplb2YoZGFyd2luRGlyZWN0b3J5KSkpCi0gICAgICAgICAgICAgICAg
W1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSByZW1vdmVJdGVtQXRQYXRoOltbTlNGaWxl
TWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gc3RyaW5nV2l0aEZpbGVTeXN0ZW1SZXByZXNlbnRhdGlv
bjpkYXJ3aW5EaXJlY3RvcnkgbGVuZ3RoOnN0cmxlbihkYXJ3aW5EaXJlY3RvcnkpXSBlcnJvcjpu
aWxdOwotICAgICAgICAgICAgaWYgKGNvbmZzdHIoX0NTX0RBUldJTl9VU0VSX0NBQ0hFX0RJUiwg
ZGFyd2luRGlyZWN0b3J5LCBzaXplb2YoZGFyd2luRGlyZWN0b3J5KSkpCi0gICAgICAgICAgICAg
ICAgW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSByZW1vdmVJdGVtQXRQYXRoOltbTlNG
aWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gc3RyaW5nV2l0aEZpbGVTeXN0ZW1SZXByZXNlbnRh
dGlvbjpkYXJ3aW5EaXJlY3RvcnkgbGVuZ3RoOnN0cmxlbihkYXJ3aW5EaXJlY3RvcnkpXSBlcnJv
cjpuaWxdOwotICAgICAgICB9Ci0gICAgfQotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0K
LXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KLWV4dGVybiAiQyIgV0tfRVhQT1JUIGludCBQbHVn
aW5Qcm9jZXNzTWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpOwotCi1pbnQgUGx1Z2luUHJvY2Vz
c01haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQotewotICAgIHJldHVybiBDaGlsZFByb2Nlc3NN
YWluPFBsdWdpblByb2Nlc3MsIFBsdWdpblByb2Nlc3NNYWluRGVsZWdhdGU+KGFyZ2MsIGFyZ3Yp
OwotfQotCi0jZW5kaWYgLy8gRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9tYWMvTGVnYWN5UHJv
Y2Vzcy9DaGlsZFByb2Nlc3NFbnRyeVBvaW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRW50
cnlQb2ludFV0aWxpdGllcy9tYWMvTGVnYWN5UHJvY2Vzcy9DaGlsZFByb2Nlc3NFbnRyeVBvaW50
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFkNGNlM2Y2MjAxMzdkNjVmMWMxZjFk
YzllMzAwNzZhZjVhNmM3NjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvbWFjL0xl
Z2FjeVByb2Nlc3MvQ2hpbGRQcm9jZXNzRW50cnlQb2ludC5oCisrKyAvZGV2L251bGwKQEAgLTEs
MTA0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIENoaWxkUHJvY2Vzc0VudHJ5UG9pbnRf
aAotI2RlZmluZSBDaGlsZFByb2Nlc3NFbnRyeVBvaW50X2gKLQotI2ltcG9ydCAiQ2hpbGRQcm9j
ZXNzLmgiCi0jaW1wb3J0ICJDb21tYW5kTGluZS5oIgotI2ltcG9ydCAiV2ViS2l0MkluaXRpYWxp
emUuaCIKLSNpbXBvcnQgPFdlYktpdFN5c3RlbUludGVyZmFjZS5oPgotI2ltcG9ydCA8c3lzZXhp
dHMuaD4KLSNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1j
bGFzcyBDaGlsZFByb2Nlc3NNYWluRGVsZWdhdGUgewotcHVibGljOgotICAgIENoaWxkUHJvY2Vz
c01haW5EZWxlZ2F0ZShjb25zdCBDb21tYW5kTGluZSYgY29tbWFuZExpbmUpCi0gICAgICAgIDog
bV9jb21tYW5kTGluZShjb21tYW5kTGluZSkKLSAgICB7Ci0gICAgfQotCi0gICAgdmlydHVhbCB+
Q2hpbGRQcm9jZXNzTWFpbkRlbGVnYXRlKCk7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgaW5zdGFsbFNp
Z25hbEhhbmRsZXJzKCk7Ci0gICAgdmlydHVhbCB2b2lkIGRvUHJlSW5pdGlhbGl6YXRpb25Xb3Jr
KCk7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgZ2V0Q29ubmVjdGlvbklkZW50aWZpZXIoSVBDOjpDb25u
ZWN0aW9uOjpJZGVudGlmaWVyJiBpZGVudGlmaWVyKTsKLSAgICB2aXJ0dWFsIGJvb2wgZ2V0Q2xp
ZW50SWRlbnRpZmllcihTdHJpbmcmIGNsaWVudElkZW50aWZpZXIpOwotICAgIHZpcnR1YWwgYm9v
bCBnZXRDbGllbnRQcm9jZXNzTmFtZShTdHJpbmcmIGNsaWVudFByb2Nlc3NOYW1lKTsKLSAgICB2
aXJ0dWFsIGJvb2wgZ2V0RXh0cmFJbml0aWFsaXphdGlvbkRhdGEoSGFzaE1hcDxTdHJpbmcsIFN0
cmluZz4mIGV4dHJhSW5pdGlhbGl6YXRpb25EYXRhKTsKLQotICAgIHZpcnR1YWwgdm9pZCBzdGFy
dFJ1bkxvb3AoKTsKLSAgICB2aXJ0dWFsIHZvaWQgZG9Qb3N0UnVuV29yaygpOwotCi1wcm90ZWN0
ZWQ6Ci0gICAgY29uc3QgQ29tbWFuZExpbmUmIG1fY29tbWFuZExpbmU7Ci19OwotCi10ZW1wbGF0
ZTx0eXBlbmFtZSBDaGlsZFByb2Nlc3NUeXBlLCB0eXBlbmFtZSBDaGlsZFByb2Nlc3NNYWluRGVs
ZWdhdGVUeXBlPgotaW50IENoaWxkUHJvY2Vzc01haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQot
ewotICAgIENvbW1hbmRMaW5lIGNvbW1hbmRMaW5lOwotICAgIGlmICghY29tbWFuZExpbmUucGFy
c2UoYXJnYywgYXJndikpCi0gICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7Ci0KLSAgICBDaGls
ZFByb2Nlc3NNYWluRGVsZWdhdGVUeXBlIGRlbGVnYXRlKGNvbW1hbmRMaW5lKTsKLQotICAgIEBh
dXRvcmVsZWFzZXBvb2wgewotICAgICAgICBkZWxlZ2F0ZS5pbnN0YWxsU2lnbmFsSGFuZGxlcnMo
KTsKLSAgICAgICAgZGVsZWdhdGUuZG9QcmVJbml0aWFsaXphdGlvbldvcmsoKTsKLQotICAgICAg
ICBJbml0aWFsaXplV2ViS2l0MigpOwotCi0gICAgICAgIENoaWxkUHJvY2Vzc0luaXRpYWxpemF0
aW9uUGFyYW1ldGVycyBwYXJhbWV0ZXJzOwotICAgICAgICBpZiAoIWRlbGVnYXRlLmdldENvbm5l
Y3Rpb25JZGVudGlmaWVyKHBhcmFtZXRlcnMuY29ubmVjdGlvbklkZW50aWZpZXIpKQotICAgICAg
ICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKLQotICAgICAgICBpZiAoIWRlbGVnYXRlLmdldENs
aWVudElkZW50aWZpZXIocGFyYW1ldGVycy5jbGllbnRJZGVudGlmaWVyKSkKLSAgICAgICAgICAg
IHJldHVybiBFWElUX0ZBSUxVUkU7Ci0KLSAgICAgICAgaWYgKCFkZWxlZ2F0ZS5nZXRDbGllbnRQ
cm9jZXNzTmFtZShwYXJhbWV0ZXJzLnVpUHJvY2Vzc05hbWUpKQotICAgICAgICAgICAgcmV0dXJu
IEVYSVRfRkFJTFVSRTsKLQotICAgICAgICBpZiAoIWRlbGVnYXRlLmdldEV4dHJhSW5pdGlhbGl6
YXRpb25EYXRhKHBhcmFtZXRlcnMuZXh0cmFJbml0aWFsaXphdGlvbkRhdGEpKQotICAgICAgICAg
ICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKLQotICAgICAgICBDaGlsZFByb2Nlc3NUeXBlOjpzaW5n
bGV0b24oKS5pbml0aWFsaXplKHBhcmFtZXRlcnMpOwotICAgIH0KLQotICAgIGRlbGVnYXRlLnN0
YXJ0UnVuTG9vcCgpOwotCi0gICAgQGF1dG9yZWxlYXNlcG9vbCB7Ci0gICAgICAgIGRlbGVnYXRl
LmRvUG9zdFJ1bldvcmsoKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gMDsKLX0KLQotfSAvLyBuYW1l
c3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBDaGlsZFByb2Nlc3NFbnRyeVBvaW50X2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL21hYy9MZWdh
Y3lQcm9jZXNzL0NoaWxkUHJvY2Vzc0VudHJ5UG9pbnQubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvRW50cnlQb2ludFV0aWxpdGllcy9tYWMvTGVnYWN5UHJvY2Vzcy9DaGlsZFByb2Nlc3NFbnRy
eVBvaW50Lm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMDljZTU5YmI3YzU4MDBk
M2JlZDU2YzliNTY4ZTI3NTdkNjc2Y2FlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVz
L21hYy9MZWdhY3lQcm9jZXNzL0NoaWxkUHJvY2Vzc0VudHJ5UG9pbnQubW0KKysrIC9kZXYvbnVs
bApAQCAtMSwxMDggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQgImNvbmZpZy5oIgotI2lt
cG9ydCAiQ2hpbGRQcm9jZXNzRW50cnlQb2ludC5oIgotCi0jaW1wb3J0IDxXZWJDb3JlL1NlcnZl
cnNTUEkuaD4KLSNpbXBvcnQgPG1hY2gvbWFjaF9lcnJvci5oPgotI2ltcG9ydCA8c3RkaW8uaD4K
LSNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KLSNpbXBvcnQgPHd0Zi90ZXh0L0NTdHJpbmcuaD4K
LQotI2RlZmluZSBTSE9XX0NSQVNIX1JFUE9SVEVSIDEKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0K
LUNoaWxkUHJvY2Vzc01haW5EZWxlZ2F0ZTo6fkNoaWxkUHJvY2Vzc01haW5EZWxlZ2F0ZSgpCi17
Ci19Ci0KLXZvaWQgQ2hpbGRQcm9jZXNzTWFpbkRlbGVnYXRlOjppbnN0YWxsU2lnbmFsSGFuZGxl
cnMoKQotewotI2lmICFTSE9XX0NSQVNIX1JFUE9SVEVSCi0gICAgLy8gSW5zdGFsbHMgc2lnbmFs
IGhhbmRsZXJzIHRoYXQgZXhpdCBvbiBhIGNyYXNoIHNvIHRoYXQgQ3Jhc2hSZXBvcnRlciBkb2Vz
IG5vdCBzaG93IHVwLgotICAgIHNpZ25hbChTSUdJTEwsIF9leGl0KTsKLSAgICBzaWduYWwoU0lH
RlBFLCBfZXhpdCk7Ci0gICAgc2lnbmFsKFNJR0JVUywgX2V4aXQpOwotICAgIHNpZ25hbChTSUdT
RUdWLCBfZXhpdCk7Ci0jZW5kaWYKLX0KLQotdm9pZCBDaGlsZFByb2Nlc3NNYWluRGVsZWdhdGU6
OmRvUHJlSW5pdGlhbGl6YXRpb25Xb3JrKCkKLXsKLX0KLQotYm9vbCBDaGlsZFByb2Nlc3NNYWlu
RGVsZWdhdGU6OmdldENvbm5lY3Rpb25JZGVudGlmaWVyKElQQzo6Q29ubmVjdGlvbjo6SWRlbnRp
ZmllciYgaWRlbnRpZmllcikKLXsKLSAgICBTdHJpbmcgc2VydmljZU5hbWUgPSBtX2NvbW1hbmRM
aW5lWyJzZXJ2aWNlbmFtZSJdOwotICAgIGlmIChzZXJ2aWNlTmFtZS5pc0VtcHR5KCkpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICAKLSAgICBtYWNoX3BvcnRfdCBzZXJ2ZXJQb3J0OwotICAg
IGtlcm5fcmV0dXJuX3Qga3IgPSBib290c3RyYXBfbG9va191cChib290c3RyYXBfcG9ydCwgc2Vy
dmljZU5hbWUudXRmOCgpLmRhdGEoKSwgJnNlcnZlclBvcnQpOwotICAgIGlmIChrcikgewotICAg
ICAgICBXVEZMb2dBbHdheXMoImJvb3RzdHJhcF9sb29rX3VwIHJlc3VsdDogJXMgKCV4KVxuIiwg
bWFjaF9lcnJvcl9zdHJpbmcoa3IpLCBrcik7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9
Ci0KLSAgICBpZGVudGlmaWVyID0gc2VydmVyUG9ydDsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQot
Ym9vbCBDaGlsZFByb2Nlc3NNYWluRGVsZWdhdGU6OmdldENsaWVudElkZW50aWZpZXIoU3RyaW5n
JiBjbGllbnRJZGVudGlmaWVyKQotewotICAgIGNsaWVudElkZW50aWZpZXIgPSBtX2NvbW1hbmRM
aW5lWyJjbGllbnQtaWRlbnRpZmllciJdOwotICAgIGlmIChjbGllbnRJZGVudGlmaWVyLmlzRW1w
dHkoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiB0cnVlOwotfQotCi1ib29s
IENoaWxkUHJvY2Vzc01haW5EZWxlZ2F0ZTo6Z2V0Q2xpZW50UHJvY2Vzc05hbWUoU3RyaW5nJiBj
bGllbnRQcm9jZXNzTmFtZSkKLXsKLSAgICBjbGllbnRQcm9jZXNzTmFtZSA9IG1fY29tbWFuZExp
bmVbInVpLXByb2Nlc3MtbmFtZSJdOwotICAgIGlmIChjbGllbnRQcm9jZXNzTmFtZS5pc0VtcHR5
KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotYm9vbCBD
aGlsZFByb2Nlc3NNYWluRGVsZWdhdGU6OmdldEV4dHJhSW5pdGlhbGl6YXRpb25EYXRhKEhhc2hN
YXA8U3RyaW5nLCBTdHJpbmc+JiBleHRyYUluaXRpYWxpemF0aW9uRGF0YSkKLXsKLSAgICBTdHJp
bmcgaW5zcGVjdG9yUHJvY2VzcyA9IG1fY29tbWFuZExpbmVbImluc3BlY3Rvci1wcm9jZXNzIl07
Ci0gICAgaWYgKCFpbnNwZWN0b3JQcm9jZXNzLmlzRW1wdHkoKSkKLSAgICAgICAgZXh0cmFJbml0
aWFsaXphdGlvbkRhdGEuYWRkKEFTQ0lJTGl0ZXJhbCgiaW5zcGVjdG9yLXByb2Nlc3MiKSwgaW5z
cGVjdG9yUHJvY2Vzcyk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLXZvaWQgQ2hpbGRQcm9jZXNz
TWFpbkRlbGVnYXRlOjpzdGFydFJ1bkxvb3AoKQotewotICAgIFJ1bkxvb3A6OnJ1bigpOwotfQot
Ci12b2lkIENoaWxkUHJvY2Vzc01haW5EZWxlZ2F0ZTo6ZG9Qb3N0UnVuV29yaygpCi17Ci19Ci0K
LX0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L0VudHJ5UG9pbnRVdGlsaXRpZXMvbWFjL0xlZ2FjeVByb2Nlc3MvQ2hpbGRQcm9jZXNzTWFpbi5t
bSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL21hYy9MZWdhY3lQ
cm9jZXNzL0NoaWxkUHJvY2Vzc01haW4ubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDM2M2MwZDcyMDcwZmI2MWNkMzU2NzIwZGUwYmU5MjhjMmU5MjdkNjYuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Vu
dHJ5UG9pbnRVdGlsaXRpZXMvbWFjL0xlZ2FjeVByb2Nlc3MvQ2hpbGRQcm9jZXNzTWFpbi5tbQor
KysgL2Rldi9udWxsCkBAIC0xLDg5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
Ci0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
LSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW1wb3J0IDxGb3Vu
ZGF0aW9uL0ZvdW5kYXRpb24uaD4KLSNpbXBvcnQgPGRsZmNuLmg+Ci0jaW1wb3J0IDxzdGRpby5o
PgotI2ltcG9ydCA8c3RkbGliLmg+Ci0jaW1wb3J0IDxzeXMvZXZlbnQuaD4KLSNpbXBvcnQgPHVu
aXN0ZC5oPgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotc3RhdGljIHZvaWQgY2xvc2VVbnVzZWRG
aWxlRGVzY3JpcHRvcnMoKQotewotICAgIGludCBudW1GRHMgPSBnZXRkdGFibGVzaXplKCk7Ci0K
LSAgICAvLyBDbG9zZSBhbGwgZmlsZSBkZXNjcmlwdG9ycyBleGNlcHQgc3RkaW4sIHN0ZG91dCBh
bmQgc3RkZXJyLgotICAgIGZvciAoaW50IGZkID0gMzsgZmQgPCBudW1GRHM7ICsrZmQpIHsKLSAg
ICAgICAgLy8gQ2hlY2sgaWYgdGhpcyBpcyBhIGtxdWV1ZSBmaWxlIGRlc2NyaXB0b3IuIElmIGl0
IGlzLCB3ZSBkb24ndCB3YW50IHRvIGNsb3NlIGl0IGJlY2F1c2UgaXQgaGFzCi0gICAgICAgIC8v
IGJlZW4gY3JlYXRlZCBieSBpbml0aWFsaXppbmcgbGliZGlzcGF0Y2ggZnJvbSBhIGdsb2JhbCBp
bml0aWFsaXplci4gU2VlIDxyZGFyOi8vcHJvYmxlbS85ODI4NDc2PiBmb3IgbW9yZSBkZXRhaWxz
LgotICAgICAgICBzdHJ1Y3QgdGltZXNwZWMgdGltZVNwZWMgPSB7IDAsIDAgfTsKLSAgICAgICAg
aWYgKCFrZXZlbnQoZmQsIDAsIDAsIDAsIDAsICZ0aW1lU3BlYykpCi0gICAgICAgICAgICBjb250
aW51ZTsKLQotICAgICAgICBjbG9zZShmZCk7Ci0gICAgfQotfQotCi10eXBlZGVmIGludCAoKkJv
b3RzdHJhcE1haW5GdW5jdGlvbikoaW50IGFyZ2MsIGNoYXIqKiBhcmd2KTsKLQotc3RhdGljIGlu
dCBCb290c3RyYXBNYWluKGludCBhcmdjLCBjaGFyKiogYXJndikKLXsKLSAgICBjbG9zZVVudXNl
ZEZpbGVEZXNjcmlwdG9ycygpOwotCi0gICAgaWYgKGFyZ2MgPCAyKQotICAgICAgICByZXR1cm4g
RVhJVF9GQUlMVVJFOwotCi0gICAgc3RhdGljIHZvaWQqIGZyYW1ld29ya0xpYnJhcnkgPSBkbG9w
ZW4oYXJndlsxXSwgUlRMRF9OT1cpOwotICAgIGlmICghZnJhbWV3b3JrTGlicmFyeSkgewotICAg
ICAgICBOU0xvZyhAIlVuYWJsZSB0byBsb2FkIFdlYktpdC5mcmFtZXdvcms6ICVzXG4iLCBkbGVy
cm9yKCkpOwotICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOwotICAgIH0KLQotICAgIEJvb3Rz
dHJhcE1haW5GdW5jdGlvbiBib290c3RyYXBNYWluRnVuY3Rpb247Ci0gICAgQGF1dG9yZWxlYXNl
cG9vbCB7Ci0gICAgICAgIE5TU3RyaW5nICplbnRyeVBvaW50RnVuY3Rpb25OYW1lID0gKE5TU3Ry
aW5nICopQ0ZCdW5kbGVHZXRWYWx1ZUZvckluZm9EaWN0aW9uYXJ5S2V5KENGQnVuZGxlR2V0TWFp
bkJ1bmRsZSgpLCBDRlNUUigiV2ViS2l0RW50cnlQb2ludCIpKTsKLSAgICAgICAgaWYgKCFbZW50
cnlQb2ludEZ1bmN0aW9uTmFtZSBsZW5ndGhdKSB7Ci0gICAgICAgICAgICBOU0xvZyhAIkZhaWxl
ZCB0byBnZXQgdmFsdWUgZm9yIFwiV2ViS2l0RW50cnlQb2ludFwiIGZyb20gYnVuZGxlIGRpY3Rp
b25hcnkgJUAiLCBDRkJ1bmRsZUdldExvY2FsSW5mb0RpY3Rpb25hcnkoQ0ZCdW5kbGVHZXRNYWlu
QnVuZGxlKCkpKTsKLSAgICAgICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7Ci0gICAgICAgIH0K
LQotICAgICAgICBib290c3RyYXBNYWluRnVuY3Rpb24gPSByZWludGVycHJldF9jYXN0PEJvb3Rz
dHJhcE1haW5GdW5jdGlvbj4oZGxzeW0oZnJhbWV3b3JrTGlicmFyeSwgW2VudHJ5UG9pbnRGdW5j
dGlvbk5hbWUgVVRGOFN0cmluZ10pKTsKLSAgICAgICAgaWYgKCFib290c3RyYXBNYWluRnVuY3Rp
b24pIHsKLSAgICAgICAgICAgIE5TTG9nKEAiVW5hYmxlIHRvIGZpbmQgZW50cnkgcG9pbnQgJyVz
JyBpbiBXZWJLaXQuZnJhbWV3b3JrOiAlc1xuIiwgW2VudHJ5UG9pbnRGdW5jdGlvbk5hbWUgVVRG
OFN0cmluZ10sIGRsZXJyb3IoKSk7Ci0gICAgICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOwot
ICAgICAgICB9Ci0gICAgfQotCi0gICAgcmV0dXJuIGJvb3RzdHJhcE1haW5GdW5jdGlvbihhcmdj
LCBhcmd2KTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLWludCBtYWluKGludCBhcmdj
LCBjaGFyKiogYXJndikKLXsKLSAgICByZXR1cm4gV2ViS2l0OjpCb290c3RyYXBNYWluKGFyZ2Ms
IGFyZ3YpOwotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGQ5MDhlZGVlYjU0MDNkMTk3ZGM1YmJjNGFlNzI4NTU4ZThlMzc5N2Qu
LmViMWJjYTA0NzdlNzM0NTA0NTlmZjMyNjI5NDQ4YzNiZDY3MTZmYzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE1LDEwICsx
NSw2IEBACiAJCQkJQkNGRkNBOEIxNjBENkU3QjAwM0RGMzE1IC8qIENvcHkgWFBDIHNlcnZpY2Vz
IGZvciBlbmdpbmVlcmluZyBidWlsZHMgKi8sCiAJCQkpOwogCQkJZGVwZW5kZW5jaWVzID0gKAot
CQkJCTFBNTBEQjNDMTEwQTNDMTkwMDBEM0ZFNSAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAot
CQkJCTUxQTYwQjJDMTgwQ0NGMTIwMEYzQkY1MCAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAot
CQkJCTUxMENDODQ4MTYxM0M4NTMwMEQwM0VEMyAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAot
CQkJCUJDREUwQUMxMTMyNzI3MTIwMDEyNTlGQiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAog
CQkJCUJDQThENDY4MTVCQ0UwRDYwMDlEQzFGMSAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAog
CQkJCTUxQTYwQjJFMTgwQ0NGMTcwMEYzQkY1MCAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAog
CQkJCUJDNzdGOTU2MTZEMDQ1OTEwMEY4Rjc4QSAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLApA
QCAtMTAxNCw3ICsxMDEwLDYgQEAKIAkJNTFFMzUxRkYxODBGNUQwRjAwRTUzQkU5IC8qIERhdGFi
YXNlUHJvY2Vzcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MUUzNTFGQTE4MEY1RDBCMDBFNTNCRTkgLyogRGF0YWJhc2VQcm9jZXNzLmNwcCAqLzsg
fTsKIAkJNTFFMzUyMDAxODBGNUQwRjAwRTUzQkU5IC8qIERhdGFiYXNlVG9XZWJQcm9jZXNzQ29u
bmVjdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MUUzNTFGRDE4MEY1RDBCMDBFNTNCRTkgLyogRGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0
aW9uLmNwcCAqLzsgfTsKIAkJNTFFMzUyMDIxODBGNUQxRTAwRTUzQkU5IC8qIERhdGFiYXNlUHJv
Y2Vzc01hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUxRTM1MjAxMTgwRjVEMUUwMEU1M0JFOSAvKiBEYXRhYmFzZVByb2Nlc3NNYWMubW0gKi87IH07
Ci0JCTUxRTM1MjA1MTgwRjVENEYwMEU1M0JFOSAvKiBEYXRhYmFzZVByb2Nlc3NNYWluLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFFMzUyMDMxODBG
NUQ0QjAwRTUzQkU5IC8qIERhdGFiYXNlUHJvY2Vzc01haW4ubW0gKi87IH07CiAJCTUxRTM1MjA5
MTgwRjVENkIwMEU1M0JFOSAvKiBEYXRhYmFzZVNlcnZpY2VFbnRyeVBvaW50Lm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFFMzUyMDgxODBGNUQ2QjAw
RTUzQkU5IC8qIERhdGFiYXNlU2VydmljZUVudHJ5UG9pbnQubW0gKi87IH07CiAJCTUxRTNCNjdG
MTZGMjY2QjMwMDk5NjhEQyAvKiBOZXR3b3JrUmVzb3VyY2VMb2FkZXJNYWMubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUUzQjY3RTE2RjI2NkIzMDA5
OTY4REMgLyogTmV0d29ya1Jlc291cmNlTG9hZGVyTWFjLm1tICovOyB9OwogCQk1MUVGQzFDRjE1
MjRFNjI1MDBDOUE5MzggLyogV0tCdW5kbGVET01XaW5kb3dFeHRlbnNpb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRkEyRDU0MTUyMTExODYwMEMx
QkEwQiAvKiBXS0J1bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMDIzLDkgKzEwMTgsNiBAQAogCQk1MUY3
REM0MTE4MENDOTM2MDAyMTJDQTMgLyogWFBDU2VydmljZU1haW4ubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzgyODM5NjE2QjQ3RUM0MDBBMjc4RkUg
LyogWFBDU2VydmljZU1haW4ubW0gKi87IH07CiAJCTUxRjdEQzQzMTgwQ0M5MzYwMDIxMkNBMyAv
KiBGb3VuZGF0aW9uLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDM0RFNDY4MTVBOTE3NjMwMDhEMjZGQyAvKiBGb3VuZGF0aW9uLmZy
YW1ld29yayAqLzsgfTsKIAkJNTFGN0RDNDQxODBDQzkzNjAwMjEyQ0EzIC8qIFdlYktpdC5mcmFt
ZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
REMyRUY1QjA0ODZBNjk0MDA5OEIyMTYgLyogV2ViS2l0LmZyYW1ld29yayAqLzsgfTsKLQkJNTFG
QTFFMUQxODBDQ0FERTAwQzQ0QkU5IC8qIENoaWxkUHJvY2Vzc01haW4ubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzVEMjQ5RjE2Q0MzQjlFMDA3RDU0
NjEgLyogQ2hpbGRQcm9jZXNzTWFpbi5tbSAqLzsgfTsKLQkJNTFGQTFFMUYxODBDQ0FERTAwQzQ0
QkU5IC8qIFdlYktpdC5pY25zIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBFMTMzRkQ4OTE0MjNERDdGMDBGQzdCRkIgLyogV2ViS2l0LmljbnMgKi87IH07
Ci0JCTUxRkExRTIzMTgwQ0NBREUwMEM0NEJFOSAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayBpbiBG
cmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDM0RFNDY4MTVB
OTE3NjMwMDhEMjZGQyAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayAqLzsgfTsKIAkJNTFGQTJENzQx
NTIxMkRGMTAwQzFCQTBCIC8qIEluamVjdGVkQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRkEyRDVDMTUy
MTFBNTAwMEMxQkEwQiAvKiBJbmplY3RlZEJ1bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5jcHAgKi87
IH07CiAJCTUxRkEyRDc3MTUyMTJFMjYwMEMxQkEwQiAvKiBXS0J1bmRsZURPTVdpbmRvd0V4dGVu
c2lvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MUZBMkQ3NTE1MjEyRTFFMDBDMUJBMEIgLyogV0tCdW5kbGVET01XaW5kb3dFeHRlbnNpb24uY3Bw
ICovOyB9OwogCQk1MUZBRUMzQTFCMDY1NzYzMDAwOUM0RTcgLyogQ2hpbGRQcm9jZXNzTWVzc2Fn
ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRkFF
QzM3MUIwNjU3MzEwMDA5QzRFNyAvKiBDaGlsZFByb2Nlc3NNZXNzYWdlcy5oICovOyB9OwpAQCAt
MTQ1OCwxNiArMTQ1MCwxMCBAQAogCQlCQzU3NTA5ODEyNjhGM0M2MDA2RjBGMTIgLyogV2ViUG9w
dXBNZW51UHJveHlNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQzU3NTA5NjEyNjhGM0M2MDA2RjBGMTIgLyogV2ViUG9wdXBNZW51UHJveHlNYWMu
bW0gKi87IH07CiAJCUJDNTc1NjEzMTI2RTAxMzgwMDZGMEYxMiAvKiBBUElFcnJvci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzU3NTYxMjEyNkUw
MTM4MDA2RjBGMTIgLyogQVBJRXJyb3IuY3BwICovOyB9OwogCQlCQzVDNzVDODE0OTU0REE2MDBC
QzQ3NzUgLyogV0tDb25uZWN0aW9uSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNUM3NUM2MTQ5NTREQTYwMEJDNDc3NSAvKiBXS0Nvbm5l
Y3Rpb25JbnRlcm5hbC5oICovOyB9OwotCQlCQzVEMjRBMTE2Q0MzQjlFMDA3RDU0NjEgLyogQ2hp
bGRQcm9jZXNzTWFpbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDNUQyNDlGMTZDQzNCOUUwMDdENTQ2MSAvKiBDaGlsZFByb2Nlc3NNYWluLm1tICov
OyB9OwotCQlCQzVEMjRBMjE2Q0MzQjlFMDA3RDU0NjEgLyogQ2hpbGRQcm9jZXNzTWFpbi5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNUQyNDlGMTZD
QzNCOUUwMDdENTQ2MSAvKiBDaGlsZFByb2Nlc3NNYWluLm1tICovOyB9OwotCQlCQzVEMjRBMzE2
Q0MzQjlFMDA3RDU0NjEgLyogQ2hpbGRQcm9jZXNzTWFpbi5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNUQyNDlGMTZDQzNCOUUwMDdENTQ2MSAvKiBD
aGlsZFByb2Nlc3NNYWluLm1tICovOyB9OwogCQlCQzVEMjRBQjE2Q0MzRDYyMDA3RDU0NjEgLyog
WFBDU2VydmljZU1haW4ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQzgyODM5NjE2QjQ3RUM0MDBBMjc4RkUgLyogWFBDU2VydmljZU1haW4ubW0gKi87
IH07CiAJCUJDNUQyNEFDMTZDQzNENjMwMDdENTQ2MSAvKiBYUENTZXJ2aWNlTWFpbi5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDODI4Mzk2MTZCNDdF
QzQwMEEyNzhGRSAvKiBYUENTZXJ2aWNlTWFpbi5tbSAqLzsgfTsKIAkJQkM1RDI0QUUxNkNDM0Q2
NTAwN0Q1NDYxIC8qIFhQQ1NlcnZpY2VNYWluLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkM4MjgzOTYxNkI0N0VDNDAwQTI3OEZFIC8qIFhQQ1NlcnZp
Y2VNYWluLm1tICovOyB9OwogCQlCQzVEMjRBRjE2Q0MzRDY2MDA3RDU0NjEgLyogWFBDU2Vydmlj
ZU1haW4ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
QzgyODM5NjE2QjQ3RUM0MDBBMjc4RkUgLyogWFBDU2VydmljZU1haW4ubW0gKi87IH07Ci0JCUJD
NUQyNEIxMTZDQzNGMzYwMDdENTQ2MSAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayBpbiBGcmFtZXdv
cmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDM0RFNDY4MTVBOTE3NjMw
MDhEMjZGQyAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayAqLzsgfTsKLQkJQkM1RDI0QjMxNkNDM0Yz
RjAwN0Q1NDYxIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMzREU0NjgxNUE5MTc2MzAwOEQyNkZDIC8qIEZv
dW5kYXRpb24uZnJhbWV3b3JrICovOyB9OwotCQlCQzVEMjRCNTE2Q0MzRjQ2MDA3RDU0NjEgLyog
Rm91bmRhdGlvbi5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQzNERTQ2ODE1QTkxNzYzMDA4RDI2RkMgLyogRm91bmRhdGlvbi5mcmFt
ZXdvcmsgKi87IH07CiAJCUJDNUQyNEMyMTZDRDcwNkQwMDdENTQ2MSAvKiBXS0RPTU5vZGVQcml2
YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzVE
MjRDMTE2Q0Q3MDZEMDA3RDU0NjEgLyogV0tET01Ob2RlUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDNUQyNEM1MTZDRDcwODgwMDdE
NTQ2MSAvKiBXS0RPTVJhbmdlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkM1RDI0QzQxNkNENzA4ODAwN0Q1NDYxIC8qIFdLRE9NUmFuZ2VQ
cml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJQkM1RDI0QzcxNkNENzNDNTAwN0Q1NDYxIC8qIFdLQnVuZGxlUmFuZ2VIYW5kbGVQcml2YXRl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzVEMjRD
NjE2Q0Q3M0M1MDA3RDU0NjEgLyogV0tCdW5kbGVSYW5nZUhhbmRsZVByaXZhdGUuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTUwMCwxMSArMTQ4
Niw2IEBACiAJCUJDODE0N0FBMTJGNjRDREEwMDdCMkMzMiAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VQ
b2xpY3lDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkM4MTQ3QTgxMkY2NENEQTAwN0IyQzMyIC8qIEluamVjdGVkQnVuZGxlUGFnZVBvbGlj
eUNsaWVudC5jcHAgKi87IH07CiAJCUJDODE0N0Q1MTJGNjZEMzEwMDdCMkMzMiAvKiBJbmplY3Rl
ZEJ1bmRsZU5hdmlnYXRpb25BY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDODE0N0QzMTJGNjZEMzEwMDdCMkMzMiAvKiBJbmplY3RlZEJ1bmRs
ZU5hdmlnYXRpb25BY3Rpb24uaCAqLzsgfTsKIAkJQkM4MTQ3RDYxMkY2NkQzMTAwN0IyQzMyIC8q
IEluamVjdGVkQnVuZGxlTmF2aWdhdGlvbkFjdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzgxNDdENDEyRjY2RDMxMDA3QjJDMzIgLyogSW5q
ZWN0ZWRCdW5kbGVOYXZpZ2F0aW9uQWN0aW9uLmNwcCAqLzsgfTsKLQkJQkM4MjgzNjUxNkIzNTRG
NjAwQTI3OEZFIC8qIFdlYkNvbnRlbnRQcm9jZXNzTWFpbi5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDODI4MzY0MTZCMzU0RjYwMEEyNzhGRSAvKiBX
ZWJDb250ZW50UHJvY2Vzc01haW4ubW0gKi87IH07Ci0JCUJDODI4MzdBMTZCMzZBNEYwMEEyNzhG
RSAvKiBDaGlsZFByb2Nlc3NFbnRyeVBvaW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzgyODM3ODE2QjM2QTRGMDBBMjc4RkUgLyogQ2hpbGRQcm9j
ZXNzRW50cnlQb2ludC5oICovOyB9OwotCQlCQzgyODM3QjE2QjM2QTRGMDBBMjc4RkUgLyogQ2hp
bGRQcm9jZXNzRW50cnlQb2ludC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDODI4Mzc5MTZCMzZBNEYwMEEyNzhGRSAvKiBDaGlsZFByb2Nlc3NFbnRy
eVBvaW50Lm1tICovOyB9OwotCQlCQzgyODM4NDE2QjQ1REE1MDBBMjc4RkUgLyogTmV0d29ya1By
b2Nlc3NNYWluLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkM4MjgzODExNkI0NURBNTAwQTI3OEZFIC8qIE5ldHdvcmtQcm9jZXNzTWFpbi5tbSAqLzsg
fTsKLQkJQkM4MjgzOEMxNkI0NUYwNzAwQTI3OEZFIC8qIFBsdWdpblByb2Nlc3NNYWluLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM4MjgzOEExNkI0
NUVGMjAwQTI3OEZFIC8qIFBsdWdpblByb2Nlc3NNYWluLm1tICovOyB9OwogCQlCQzgyODM5OTE2
QjQ4REMwMDBBMjc4RkUgLyogV2ViQ29udGVudFNlcnZpY2VFbnRyeVBvaW50Lm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM4MjgzOTgxNkI0OERDMDAw
QTI3OEZFIC8qIFdlYkNvbnRlbnRTZXJ2aWNlRW50cnlQb2ludC5tbSAqLzsgfTsKIAkJQkM4Mjgz
QUMxNkI0QkYzRjAwQTI3OEZFIC8qIE5ldHdvcmtTZXJ2aWNlRW50cnlQb2ludC5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDODI4M0E4MTZCNEJEOTEw
MEEyNzhGRSAvKiBOZXR3b3JrU2VydmljZUVudHJ5UG9pbnQubW0gKi87IH07CiAJCUJDODI4M0RB
MTZCNERCOTMwMEEyNzhGRSAvKiBXZWJLaXQuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOERDMkVGNUIwNDg2QTY5NDAwOThCMjE2IC8q
IFdlYktpdC5mcmFtZXdvcmsgKi87IH07CkBAIC0xNzQzLDcgKzE3MjQsNiBAQAogCQlFMTE1Qzcx
NDE5MEY4OUU0MDBFQ0M1MTYgLyogRGF0YWJhc2VQcm9jZXNzSU9TLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFGRUYzOUMxOTBGNzkxQzAwNzMxNjU4
IC8qIERhdGFiYXNlUHJvY2Vzc0lPUy5tbSAqLzsgfTsKIAkJRTExNUM3MTYxOTBGOEEyNTAwRUND
NTE2IC8qIGNvbS5hcHBsZS5XZWJLaXQuRGF0YWJhc2VzLnNiIGluIFJlc291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTE1QzcxNTE5MEY4QTI1MDBFQ0M1MTYgLyog
Y29tLmFwcGxlLldlYktpdC5EYXRhYmFzZXMuc2IgKi87IH07CiAJCUUxMUQzNUFFMTZCNjNEMUIw
MDZEMjNENyAvKiBjb20uYXBwbGUuV2ViUHJvY2Vzcy5zYiBpbiBSZXNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTE5NjdFMzcxNTBBQjVFMjAwQzczMTY5IC8qIGNv
bS5hcHBsZS5XZWJQcm9jZXNzLnNiICovOyB9OwotCQlFMTMzRkQ4QTE0MjNERDdGMDBGQzdCRkIg
LyogV2ViS2l0LmljbnMgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUxMzNGRDg5MTQyM0REN0YwMEZDN0JGQiAvKiBXZWJLaXQuaWNucyAqLzsgfTsKIAkJ
RTE0QTk1NDkxNkUwMTZBNDAwNjhERTgyIC8qIE5ldHdvcmtQcm9jZXNzUGxhdGZvcm1TdHJhdGVn
aWVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUx
NEE5NTQ3MTZFMDE2QTQwMDY4REU4MiAvKiBOZXR3b3JrUHJvY2Vzc1BsYXRmb3JtU3RyYXRlZ2ll
cy5jcHAgKi87IH07CiAJCUUxNEE5NTRBMTZFMDE2QTQwMDY4REU4MiAvKiBOZXR3b3JrUHJvY2Vz
c1BsYXRmb3JtU3RyYXRlZ2llcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTE0QTk1NDgxNkUwMTZBNDAwNjhERTgyIC8qIE5ldHdvcmtQcm9jZXNzUGxh
dGZvcm1TdHJhdGVnaWVzLmggKi87IH07CiAJCUUxNTEzQzY2MTY2RUFCQjIwMDE0OUZDQiAvKiBD
aGlsZFByb2Nlc3NQcm94eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBFMTUxM0M2NDE2NkVBQkIyMDAxNDlGQ0IgLyogQ2hpbGRQcm9jZXNzUHJveHku
Y3BwICovOyB9OwpAQCAtMTc3NCwxNCArMTc1NCwxMiBAQAogCQlFMTlCREE4QjE5MzY4RDQ2MDBC
OTdGNTcgLyogU2FuZGJveFV0aWxpdGllcy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEUxOUJEQTg3MTkzNjg2QTQwMEI5N0Y1NyAvKiBTYW5kYm94VXRp
bGl0aWVzLm1tICovOyB9OwogCQlFMUEzMTczMjEzNENFQTZDMDA3QzlBNEYgLyogQXR0cmlidXRl
ZFN0cmluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTFBMzE3MzExMzRDRUE2QzAwN0M5QTRGIC8qIEF0dHJpYnV0ZWRTdHJpbmcuaCAqLzsgfTsKIAkJ
RTFBMzE3MzUxMzRDRUE4MDAwN0M5QTRGIC8qIEF0dHJpYnV0ZWRTdHJpbmcubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUEzMTczNDEzNENFQTgwMDA3
QzlBNEYgLyogQXR0cmlidXRlZFN0cmluZy5tbSAqLzsgfTsKLQkJRTFBOUE4NTIxNjlFMjAyNTAw
MkQ3MTc2IC8qIFdlYktpdC5pY25zIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFMTMzRkQ4OTE0MjNERDdGMDBGQzdCRkIgLyogV2ViS2l0LmljbnMgKi87
IH07CiAJCUUxQUVBMjJGMTQ2ODdCREIwMDgwNDU2OSAvKiBXS0Z1bGxLZXlib2FyZEFjY2Vzc1dh
dGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUx
QUVBMjJEMTQ2ODdCREIwMDgwNDU2OSAvKiBXS0Z1bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIuaCAq
LzsgfTsKIAkJRTFBRUEyMzAxNDY4N0JEQjAwODA0NTY5IC8qIFdLRnVsbEtleWJvYXJkQWNjZXNz
V2F0Y2hlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUxQUVBMjJFMTQ2ODdCREIwMDgwNDU2OSAvKiBXS0Z1bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIu
bW0gKi87IH07CiAJCUUxQjc4NDcxMTYzRjI0NjkwMDA3QjY5MiAvKiBSZW1vdGVOZXR3b3JraW5n
Q29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTFCNzg0NzAxNjNGMjQ2OTAwMDdCNjkyIC8qIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0LmggKi87
IH07CiAJCUUxQjc4NDczMTYzRjI1M0UwMDA3QjY5MiAvKiBSZW1vdGVOZXR3b3JraW5nQ29udGV4
dC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxQjc4
NDcyMTYzRjI1M0UwMDA3QjY5MiAvKiBSZW1vdGVOZXR3b3JraW5nQ29udGV4dC5tbSAqLzsgfTsK
IAkJRTFDQzFCOTAxMkQ3RUFERjAwNjI1ODM4IC8qIFByaW50SW5mby5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFDQzFCOEUxMkQ3RUFERjAwNjI1ODM4
IC8qIFByaW50SW5mby5oICovOyB9OwogCQlFMUNDMUI5MTEyRDdFQURGMDA2MjU4MzggLyogUHJp
bnRJbmZvTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTFDQzFCOEYxMkQ3RUFERjAwNjI1ODM4IC8qIFByaW50SW5mb01hYy5tbSAqLzsgfTsKLQkJ
RTFEMjZBNTExNzU5NjRENzAwOTVCRkQxIC8qIFdlYkNvbnRlbnRQcm9jZXNzLnhpYiBpbiBSZXNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFEMjZBNEMxNzU5NjM0
RTAwOTVCRkQxIC8qIFdlYkNvbnRlbnRQcm9jZXNzLnhpYiAqLzsgfTsKIAkJRTFEMjZBNTMxNzU5
NjREOTAwOTVCRkQxIC8qIFdlYkNvbnRlbnRQcm9jZXNzLnhpYiBpbiBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFEMjZBNEMxNzU5NjM0RTAwOTVCRkQxIC8q
IFdlYkNvbnRlbnRQcm9jZXNzLnhpYiAqLzsgfTsKIAkJRTFFNTUyQzQxNkFFMDY1RjAwNEVENjUz
IC8qIFNhbmRib3hJbml0aWFsaWF0aW9uUGFyYW1ldGVyc01hYy5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxRTU1MkMyMTZBRTA2NUUwMDRFRDY1MyAv
KiBTYW5kYm94SW5pdGlhbGlhdGlvblBhcmFtZXRlcnNNYWMubW0gKi87IH07CiAJCUUxRTU1MkM1
MTZBRTA2NUYwMDRFRDY1MyAvKiBTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUU1NTJDMzE2QUUw
NjVFMDA0RUQ2NTMgLyogU2FuZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVycy5oICovOyB9OwpA
QCAtMTgyNiwyMCArMTgwNCw2IEBACiAvKiBFbmQgUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8KIAog
LyogQmVnaW4gUEJYQ29udGFpbmVySXRlbVByb3h5IHNlY3Rpb24gKi8KLQkJMUE1MERCMjYxMTBB
M0JFRjAwMEQzRkU1IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKLQkJCWlzYSA9IFBC
WENvbnRhaW5lckl0ZW1Qcm94eTsKLQkJCWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAy
OEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsKLQkJCXByb3h5VHlwZSA9IDE7Ci0JCQly
ZW1vdGVHbG9iYWxJRFN0cmluZyA9IDhEQzJFRjRGMDQ4NkE2OTQwMDk4QjIxNjsKLQkJCXJlbW90
ZUluZm8gPSBXZWJLaXQyOwotCQl9OwotCQkxQTUwREIzQjExMEEzQzE5MDAwRDNGRTUgLyogUEJY
Q29udGFpbmVySXRlbVByb3h5ICovID0gewotCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5
OwotCQkJY29udGFpbmVyUG9ydGFsID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2pl
Y3Qgb2JqZWN0ICovOwotCQkJcHJveHlUeXBlID0gMTsKLQkJCXJlbW90ZUdsb2JhbElEU3RyaW5n
ID0gMUE1MERCMUQxMTBBM0JEQzAwMEQzRkU1OwotCQkJcmVtb3RlSW5mbyA9IFdlYlByb2Nlc3M7
Ci0JCX07CiAJCTM3NUUwNjI2MTkxRUE4Q0MwMDRFM0NBRiAvKiBQQlhDb250YWluZXJJdGVtUHJv
eHkgKi8gPSB7CiAJCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7CiAJCQljb250YWluZXJQ
b3J0YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi87CkBA
IC0xOTAzLDI3ICsxODY3LDYgQEAKIAkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gQzBDRTcyODUx
MjQ3RTY2ODAwQkMwRUM0OwogCQkJcmVtb3RlSW5mbyA9ICJEZXJpdmVkIFNvdXJjZXMiOwogCQl9
OwotCQk1MTBDQzg0NzE2MTNDODUzMDBEMDNFRDMgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICov
ID0gewotCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5OwotCQkJY29udGFpbmVyUG9ydGFs
ID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovOwotCQkJcHJv
eHlUeXBlID0gMTsKLQkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gNTEwQ0M4MEQxNjEzQzc5OTAw
RDAzRUQzOwotCQkJcmVtb3RlSW5mbyA9IE5ldHdvcmtQcm9jZXNzOwotCQl9OwotCQk1MTBDQzg1
MDE2MTNDOThEMDBEMDNFRDMgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovID0gewotCQkJaXNh
ID0gUEJYQ29udGFpbmVySXRlbVByb3h5OwotCQkJY29udGFpbmVyUG9ydGFsID0gMDg2N0Q2OTBG
RTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovOwotCQkJcHJveHlUeXBlID0gMTsK
LQkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gOERDMkVGNEYwNDg2QTY5NDAwOThCMjE2OwotCQkJ
cmVtb3RlSW5mbyA9IFdlYktpdDI7Ci0JCX07Ci0JCTUxQTYwQjJCMTgwQ0NGMTIwMEYzQkY1MCAv
KiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7Ci0JCQlpc2EgPSBQQlhDb250YWluZXJJdGVt
UHJveHk7Ci0JCQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyog
UHJvamVjdCBvYmplY3QgKi87Ci0JCQlwcm94eVR5cGUgPSAxOwotCQkJcmVtb3RlR2xvYmFsSURT
dHJpbmcgPSA1MUZBMUUxNzE4MENDQURFMDBDNDRCRTk7Ci0JCQlyZW1vdGVJbmZvID0gRGF0YWJh
c2VQcm9jZXNzOwotCQl9OwogCQk1MUE2MEIyRDE4MENDRjE3MDBGM0JGNTAgLyogUEJYQ29udGFp
bmVySXRlbVByb3h5ICovID0gewogCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5OwogCQkJ
Y29udGFpbmVyUG9ydGFsID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2Jq
ZWN0ICovOwpAQCAtMTkzMSwxMyArMTg3NCw2IEBACiAJCQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9
IDUxRjdEQzNGMTgwQ0M5MzYwMDIxMkNBMzsKIAkJCXJlbW90ZUluZm8gPSBEYXRhYmFzZXM7CiAJ
CX07Ci0JCTUxRkExRTFCMTgwQ0NBREUwMEM0NEJFOSAvKiBQQlhDb250YWluZXJJdGVtUHJveHkg
Ki8gPSB7Ci0JCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7Ci0JCQljb250YWluZXJQb3J0
YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi87Ci0JCQlw
cm94eVR5cGUgPSAxOwotCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcgPSA4REMyRUY0RjA0ODZBNjk0
MDA5OEIyMTY7Ci0JCQlyZW1vdGVJbmZvID0gV2ViS2l0MjsKLQkJfTsKIAkJQkM3N0Y5NTUxNkQw
NDU5MTAwRjhGNzhBIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKIAkJCWlzYSA9IFBC
WENvbnRhaW5lckl0ZW1Qcm94eTsKIAkJCWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAy
OEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsKQEAgLTE5NjYsMjAgKzE5MDIsNiBAQAog
CQkJcmVtb3RlR2xvYmFsSURTdHJpbmcgPSBCQzNERTQ2NTE1QTkxNzYzMDA4RDI2RkM7CiAJCQly
ZW1vdGVJbmZvID0gV2ViS2l0MlNlcnZpY2U7CiAJCX07Ci0JCUJDREUwOTM3MTMyNzI0OTYwMDEy
NTlGQiAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7Ci0JCQlpc2EgPSBQQlhDb250YWlu
ZXJJdGVtUHJveHk7Ci0JCQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFD
MDcgLyogUHJvamVjdCBvYmplY3QgKi87Ci0JCQlwcm94eVR5cGUgPSAxOwotCQkJcmVtb3RlR2xv
YmFsSURTdHJpbmcgPSA4REMyRUY0RjA0ODZBNjk0MDA5OEIyMTY7Ci0JCQlyZW1vdGVJbmZvID0g
V2ViS2l0MjsKLQkJfTsKLQkJQkNERTBBQzAxMzI3MjcxMjAwMTI1OUZCIC8qIFBCWENvbnRhaW5l
ckl0ZW1Qcm94eSAqLyA9IHsKLQkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKLQkJCWNv
bnRhaW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVj
dCAqLzsKLQkJCXByb3h5VHlwZSA9IDE7Ci0JCQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9IEJDREUw
OTMzMTMyNzI0OTYwMDEyNTlGQjsKLQkJCXJlbW90ZUluZm8gPSAiUGx1Z2luIFByb2Nlc3MiOwot
CQl9OwogLyogRW5kIFBCWENvbnRhaW5lckl0ZW1Qcm94eSBzZWN0aW9uICovCiAKIC8qIEJlZ2lu
IFBCWENvcHlGaWxlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwpAQCAtMjI2Myw3ICsyMTg1LDYgQEAK
IAkJMUE0Rjk3NkIxMDBFN0I2NjAwNjM3QTE4IC8qIERlYnVnUmVsZWFzZS54Y2NvbmZpZyAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBEZWJ1Z1JlbGVhc2UueGNjb25maWc7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBNEY5NzZDMTAwRTdCNjYwMDYzN0ExOCAvKiBGZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBGZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUE0Rjk3
NkUxMDBFN0I2NjAwNjM3QTE4IC8qIFZlcnNpb24ueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lnhj
Y29uZmlnOyBwYXRoID0gVmVyc2lvbi54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJMUE1MERCMUUxMTBBM0JEQzAwMEQzRkU1IC8qIFdlYlByb2Nlc3MuYXBwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSB3cmFwcGVyLmFwcGxpY2F0
aW9uOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBXZWJQcm9jZXNzLmFwcDsgc291cmNlVHJl
ZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJMUE1MkMwRjUxQTM4Q0RDNzAwMTYxNjBBIC8q
IFdlYlN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXZWJTdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkxQTUyQzBGNjFBMzhDREM3MDAxNjE2MEEgLyogV2ViU3RvcmFn
ZU5hbWVzcGFjZVByb3ZpZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdl
YlN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxQTUzQzJBNDFBMzI1NjlGMDA0RThDNzAgLyogV2Vic2l0ZURhdGFTdG9yZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJzaXRlRGF0YVN0b3JlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI5NDEsNyArMjg2Miw2IEBACiAJCTUxMENDN0Uw
MTYxMzhFMjkwMEQwM0VEMyAvKiBOZXR3b3JrUHJvY2Vzcy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBOZXR3b3JrUHJvY2Vzcy5oOyBwYXRoID0gTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEwQ0M3RUExNjEz
OEU3MjAwRDAzRUQzIC8qIE5ldHdvcmtQcm9jZXNzUHJveHkuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTmV0d29ya1Byb2Nlc3NQcm94eS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTUxMENDN0VCMTYxMzhFNzIwMEQwM0VEMyAvKiBOZXR3b3JrUHJv
Y2Vzc1Byb3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5ldHdvcmtQcm9j
ZXNzUHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTEwQ0M4MEUxNjEzQzc5
OTAwRDAzRUQzIC8qIE5ldHdvcmtQcm9jZXNzLmFwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBleHBsaWNpdEZpbGVUeXBlID0gd3JhcHBlci5hcHBsaWNhdGlvbjsgaW5jbHVkZUluSW5k
ZXggPSAwOyBwYXRoID0gTmV0d29ya1Byb2Nlc3MuYXBwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJP
RFVDVFNfRElSOyB9OwogCQk1MTBDQzg0NjE2MTNDN0M2MDBEMDNFRDMgLyogTmV0d29ya1Byb2Nl
c3MueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gTmV0d29ya1Byb2Nlc3MueGNjb25maWc7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMEZCQjk4MTI4OEM5NUUwMEFGRkRGNCAvKiBXZWJD
b250ZXh0TWVudUl0ZW1EYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFdlYkNvbnRleHRNZW51SXRlbURhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MTBGQkI5OTEyODhDOTVFMDBBRkZERjQgLyogV2ViQ29udGV4dE1lbnVJdGVtRGF0YS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb250ZXh0TWVudUl0ZW1EYXRh
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zMTA0LDE1ICszMDI0LDEyIEBACiAJ
CTUxRTM1MUZEMTgwRjVEMEIwMEU1M0JFOSAvKiBEYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rp
b24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9u
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFFMzUxRkUxODBGNUQwQjAwRTUz
QkU5IC8qIERhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBE
YXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNTFFMzUyMDExODBGNUQxRTAwRTUzQkU5IC8qIERhdGFiYXNlUHJvY2Vzc01hYy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERhdGFiYXNlUHJvY2Vzc01h
Yy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTFFMzUyMDMxODBGNUQ0QjAwRTUz
QkU5IC8qIERhdGFiYXNlUHJvY2Vzc01haW4ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBEYXRh
YmFzZVByb2Nlc3NNYWluLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1MUUzNTIw
NDE4MEY1RDRCMDBFNTNCRTkgLyogSW5mby5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQucGxpc3QueG1sOyBwYXRoID0gSW5mby5wbGlz
dDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFFMzUyMDcxODBGNUQ2MTAwRTUzQkU5
IC8qIEluZm8ucGxpc3QgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0LnBsaXN0LnhtbDsgcGF0aCA9IEluZm8ucGxpc3Q7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTUxRTM1MjA4MTgwRjVENkIwMEU1M0JFOSAvKiBEYXRhYmFzZVNlcnZp
Y2VFbnRyeVBvaW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
RGF0YWJhc2VTZXJ2aWNlRW50cnlQb2ludC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNTFFM0I2N0UxNkYyNjZCMzAwOTk2OERDIC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRlck1hYy5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IE5ldHdvcmtSZXNvdXJj
ZUxvYWRlck1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFGMDYwREQxNjU0
MzE3NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFGMDYwREUxNjU0MzE3NTAwRjMyODFCIC8qIFdl
YlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUmVzb3VyY2VMb2Fk
ZXJNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUY3REM0QTE4MEND
OTM2MDAyMTJDQTMgLyogY29tLmFwcGxlLldlYktpdC5EYXRhYmFzZXMuRGV2ZWxvcG1lbnQueHBj
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSAid3JhcHBl
ci54cGMtc2VydmljZSI7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IGNvbS5hcHBsZS5XZWJL
aXQuRGF0YWJhc2VzLkRldmVsb3BtZW50LnhwYzsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RT
X0RJUjsgfTsKLQkJNTFGQTFFMjgxODBDQ0FERTAwQzQ0QkU5IC8qIERhdGFiYXNlUHJvY2Vzcy5h
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHdyYXBw
ZXIuYXBwbGljYXRpb247IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IERhdGFiYXNlUHJvY2Vz
cy5hcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTUxRkEyRDU0MTUy
MTExODYwMEMxQkEwQiAvKiBXS0J1bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXS0J1bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUZBMkQ1QTE1MjExQTFFMDBDMUJBMEIgLyogSW5q
ZWN0ZWRCdW5kbGVET01XaW5kb3dFeHRlbnNpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSW5qZWN0ZWRCdW5kbGVET01XaW5kb3dFeHRlbnNpb24uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNTFGQTJENUMxNTIxMUE1MDAwQzFCQTBCIC8qIEluamVjdGVkQnVu
ZGxlRE9NV2luZG93RXh0ZW5zaW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEluamVjdGVkQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTM1ODgsOCArMzUwNSw2IEBACiAJCUJDNTc1MDk2MTI2OEYzQzYw
MDZGMEYxMiAvKiBXZWJQb3B1cE1lbnVQcm94eU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IFdlYlBvcHVwTWVudVByb3h5TWFjLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlCQzU3NTYxMjEyNkUwMTM4MDA2RjBGMTIgLyogQVBJRXJyb3IuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQVBJRXJyb3IuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzVDNzVDNjE0OTU0REE2MDBCQzQ3NzUgLyogV0tD
b25uZWN0aW9uSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tD
b25uZWN0aW9uSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkM1RDI0
OUYxNkNDM0I5RTAwN0Q1NDYxIC8qIENoaWxkUHJvY2Vzc01haW4ubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDaGlsZFByb2Nlc3NNYWluLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQlCQzVEMjRCODE2Q0M0MEJCMDA3RDU0NjEgLyogQmFzZUxlZ2Fj
eVByb2Nlc3MueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gQmFzZUxlZ2FjeVByb2Nlc3MueGNjb25m
aWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDNUQyNEMxMTZDRDcwNkQwMDdENTQ2
MSAvKiBXS0RPTU5vZGVQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdLRE9NTm9kZVByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM1RDI0
QzQxNkNENzA4ODAwN0Q1NDYxIC8qIFdLRE9NUmFuZ2VQcml2YXRlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdLRE9NUmFuZ2VQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUJDNUQyNEM2MTZDRDczQzUwMDdENTQ2MSAvKiBXS0J1bmRsZVJhbmdlSGFu
ZGxlUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0J1bmRsZVJh
bmdlSGFuZGxlUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzYyMiwx
NCArMzUzNyw2IEBACiAJCUJDODE0N0E4MTJGNjRDREEwMDdCMkMzMiAvKiBJbmplY3RlZEJ1bmRs
ZVBhZ2VQb2xpY3lDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSW5qZWN0ZWRCdW5kbGVQYWdlUG9saWN5Q2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+Ijsgd3JhcHNMaW5lcyA9IDA7IH07CiAJCUJDODE0N0QzMTJGNjZEMzEwMDdCMkMzMiAvKiBJ
bmplY3RlZEJ1bmRsZU5hdmlnYXRpb25BY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSW5qZWN0ZWRCdW5kbGVOYXZpZ2F0aW9uQWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUJDODE0N0Q0MTJGNjZEMzEwMDdCMkMzMiAvKiBJbmplY3RlZEJ1bmRs
ZU5hdmlnYXRpb25BY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSW5qZWN0ZWRCdW5kbGVOYXZpZ2F0aW9uQWN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJQkM4MjgzNjQxNkIzNTRGNjAwQTI3OEZFIC8qIFdlYkNvbnRlbnRQcm9jZXNz
TWFpbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkNvbnRl
bnRQcm9jZXNzTWFpbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkM4MjgzNzMx
NkIzNUFGOTAwQTI3OEZFIC8qIEluZm8ucGxpc3QgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnBsaXN0LnhtbDsgcGF0aCA9IEluZm8ucGxpc3Q7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDODI4Mzc4MTZCMzZBNEYwMEEyNzhGRSAv
KiBDaGlsZFByb2Nlc3NFbnRyeVBvaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IENoaWxkUHJvY2Vzc0VudHJ5UG9pbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJQkM4MjgzNzkxNkIzNkE0RjAwQTI3OEZFIC8qIENoaWxkUHJvY2Vzc0VudHJ5UG9pbnQubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDaGlsZFByb2Nlc3NFbnRy
eVBvaW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQzgyODM3RjE2QjQ1REE1
MDBBMjc4RkUgLyogSW5mby5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQucGxpc3QueG1sOyBwYXRoID0g
SW5mby5wbGlzdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkM4MjgzODExNkI0NURB
NTAwQTI3OEZFIC8qIE5ldHdvcmtQcm9jZXNzTWFpbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzTWFpbi5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJQkM4MjgzOEExNkI0NUVGMjAwQTI3OEZFIC8qIFBsdWdpblByb2Nlc3NN
YWluLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGx1Z2luUHJvY2Vzc01haW4ubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDODI4MzhEMTZCNDVGQTYwMEEyNzhGRSAvKiBJbmZv
LnBsaXN0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dC5wbGlzdC54bWw7IHBhdGggPSBJbmZvLnBsaXN0OyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlCQzgyODM5NjE2QjQ3RUM0MDBBMjc4RkUgLyogWFBDU2VydmljZU1haW4ubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBYUENTZXJ2aWNlTWFpbi5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQkM4MjgzOTgxNkI0OERDMDAwQTI3OEZFIC8qIFdlYkNvbnRlbnRTZXJ2aWNl
RW50cnlQb2ludC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdl
YkNvbnRlbnRTZXJ2aWNlRW50cnlQb2ludC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQkM4MjgzQTMxNkI0QkQ5MTAwQTI3OEZFIC8qIEluZm8tT1NYLnBsaXN0ICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5wbGlzdC54bWw7IHBh
dGggPSAiSW5mby1PU1gucGxpc3QiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzc0
NSw3ICszNjUyLDYgQEAKIAkJQkNEREIzMkMxMjRFQzJFMTAwNDhEMTNDIC8qIFdLQVBJQ2FzdC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0FQSUNhc3QuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNERTA1OTkxMUNEQThBRTAwRTQxQUYxIC8qIFdlYkNvbnRl
eHRJbmplY3RlZEJ1bmRsZUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQkNERTA1OUExMUNEQThBRTAwRTQxQUYxIC8qIFdlYkNvbnRleHRJbmplY3RlZEJ1
bmRsZUNsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJD
b250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQlCQ0RFMDk0MjEzMjcyNDk2MDAxMjU5RkIgLyogUGx1Z2luUHJvY2Vzcy5hcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHdyYXBwZXIuYXBwbGlj
YXRpb247IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IFBsdWdpblByb2Nlc3MuYXBwOyBzb3Vy
Y2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQlCQ0UwOTM3NTE0RkIxMjhCMDAxMTM4
RDkgLyogTGF5ZXJIb3N0aW5nQ29udGV4dC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IExheWVySG9zdGluZ0NvbnRleHQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUJDRTA5Mzc2MTRGQjEyOEIwMDExMzhEOSAvKiBMYXllckhvc3RpbmdDb250ZXh0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheWVySG9zdGluZ0NvbnRleHQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNFMEU0MjQxNjhCN0EyODAwNTdFNjZB
IC8qIFdlYlByb2Nlc3NTdXBwbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYlByb2Nlc3NTdXBwbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC00MDAzLDE0ICszOTA5LDYgQEAKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rw
cm9jZXNzaW5nID0gMDsKIAkJfTsKLQkJNTFGQTFFMjIxODBDQ0FERTAwQzQ0QkU5IC8qIEZyYW1l
d29ya3MgKi8gPSB7Ci0JCQlpc2EgPSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsKLQkJCWJ1aWxk
QWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7Ci0JCQlmaWxlcyA9ICgKLQkJCQk1MUZBMUUyMzE4MEND
QURFMDBDNDRCRTkgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKLQkJ
CSk7Ci0JCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKLQkJfTsKIAkJ
OERDMkVGNTYwNDg2QTY5NDAwOThCMjE2IC8qIEZyYW1ld29ya3MgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7
CkBAIC00MDIzLDMwICszOTIxLDYgQEAKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKLQkJQkM1RDI0QjAxNkNDM0YyODAwN0Q1NDYxIC8qIEZy
YW1ld29ya3MgKi8gPSB7Ci0JCQlpc2EgPSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsKLQkJCWJ1
aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7Ci0JCQlmaWxlcyA9ICgKLQkJCQlCQzVEMjRCMTE2
Q0MzRjM2MDA3RDU0NjEgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywK
LQkJCSk7Ci0JCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKLQkJfTsK
LQkJQkM1RDI0QjIxNkNDM0YzQjAwN0Q1NDYxIC8qIEZyYW1ld29ya3MgKi8gPSB7Ci0JCQlpc2Eg
PSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsKLQkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2
NDc7Ci0JCQlmaWxlcyA9ICgKLQkJCQlCQzVEMjRCMzE2Q0MzRjNGMDA3RDU0NjEgLyogRm91bmRh
dGlvbi5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKLQkJCSk7Ci0JCQlydW5Pbmx5Rm9yRGVw
bG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKLQkJfTsKLQkJQkM1RDI0QjQxNkNDM0Y0MzAwN0Q1
NDYxIC8qIEZyYW1ld29ya3MgKi8gPSB7Ci0JCQlpc2EgPSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFz
ZTsKLQkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7Ci0JCQlmaWxlcyA9ICgKLQkJCQlC
QzVEMjRCNTE2Q0MzRjQ2MDA3RDU0NjEgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsgaW4gRnJhbWV3
b3JrcyAqLywKLQkJCSk7Ci0JCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0g
MDsKLQkJfTsKIAkJQkM4MjgzQUUxNkI0QkY3NzAwQTI3OEZFIC8qIEZyYW1ld29ya3MgKi8gPSB7
CiAJCQlpc2EgPSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9
IDIxNDc0ODM2NDc7CkBAIC00MTAxLDEzICszOTc1LDkgQEAKIAkJCQlCQzgyODNGOTE2QjRGRERF
MDBBMjc4RkUgLyogY29tLmFwcGxlLldlYktpdC5QbHVnaW4uMzIuRGV2ZWxvcG1lbnQueHBjICov
LAogCQkJCUJDODI4NDFGMTZCNEZERjYwMEEyNzhGRSAvKiBjb20uYXBwbGUuV2ViS2l0LlBsdWdp
bi42NC5EZXZlbG9wbWVudC54cGMgKi8sCiAJCQkJQkMzREU0NjYxNUE5MTc2MzAwOEQyNkZDIC8q
IGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5EZXZlbG9wbWVudC54cGMgKi8sCi0JCQkJNTFG
QTFFMjgxODBDQ0FERTAwQzQ0QkU5IC8qIERhdGFiYXNlUHJvY2Vzcy5hcHAgKi8sCi0JCQkJNTEw
Q0M4MEUxNjEzQzc5OTAwRDAzRUQzIC8qIE5ldHdvcmtQcm9jZXNzLmFwcCAqLywKLQkJCQlCQ0RF
MDk0MjEzMjcyNDk2MDAxMjU5RkIgLyogUGx1Z2luUHJvY2Vzcy5hcHAgKi8sCiAJCQkJMUFDMjVG
QjAxMkE0OEVBNzAwQkQyNjcxIC8qIFBsdWdpblByb2Nlc3NTaGltLmR5bGliICovLAogCQkJCTUx
MDAzMUY2MTM3OUNBQ0IwMEM4REZFNCAvKiBTZWNJdGVtU2hpbS5keWxpYiAqLywKIAkJCQk4REMy
RUY1QjA0ODZBNjk0MDA5OEIyMTYgLyogV2ViS2l0LmZyYW1ld29yayAqLywKLQkJCQkxQTUwREIx
RTExMEEzQkRDMDAwRDNGRTUgLyogV2ViUHJvY2Vzcy5hcHAgKi8sCiAJCQkJQ0RDMzgzMDYxNzIx
MTc5OTAwOEEyRkMzIC8qIFdlYlByb2Nlc3NTaGltLmR5bGliICovLAogCQkJKTsKIAkJCW5hbWUg
PSBQcm9kdWN0czsKQEAgLTQzNTksNyArNDIyOSw2IEBACiAJCQljaGlsZHJlbiA9ICgKIAkJCQlB
MUVERDJEOTE4ODRBQ0UwMDBCQkZFOTggLyogQWxsLnhjY29uZmlnICovLAogCQkJCTFBNEY5NzZB
MTAwRTdCNjYwMDYzN0ExOCAvKiBCYXNlLnhjY29uZmlnICovLAotCQkJCUJDNUQyNEI4MTZDQzQw
QkIwMDdENTQ2MSAvKiBCYXNlTGVnYWN5UHJvY2Vzcy54Y2NvbmZpZyAqLywKIAkJCQk1REFENzNG
MTExNkZGOTBDMDBFRTUzOTYgLyogQmFzZVRhcmdldC54Y2NvbmZpZyAqLywKIAkJCQlCQ0FDQzQw
RDE2QjBCN0JFMDBCNkUwOTIgLyogQmFzZVhQQ1NlcnZpY2UueGNjb25maWcgKi8sCiAJCQkJNTFB
NjBCMjcxODBDQ0Q5MDAwRjNCRjUwIC8qIERhdGFiYXNlUHJvY2Vzcy54Y2NvbmZpZyAqLywKQEAg
LTU0NjgsMTYgKzUzMzcsNiBAQAogCQkJcGF0aCA9IEF1dGhlbnRpY2F0aW9uOwogCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKLQkJNTEzMEYwRTIxODBDQ0IzQjAwNjAyQzE4IC8qIExl
Z2FjeVByb2Nlc3MgKi8gPSB7Ci0JCQlpc2EgPSBQQlhHcm91cDsKLQkJCWNoaWxkcmVuID0gKAot
CQkJCTUxRTM1MjAzMTgwRjVENEIwMEU1M0JFOSAvKiBEYXRhYmFzZVByb2Nlc3NNYWluLm1tICov
LAotCQkJCTUxRTM1MjA0MTgwRjVENEIwMEU1M0JFOSAvKiBJbmZvLnBsaXN0ICovLAotCQkJKTsK
LQkJCW5hbWUgPSBMZWdhY3lQcm9jZXNzOwotCQkJcGF0aCA9IG1hYy9MZWdhY3lQcm9jZXNzOwot
CQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKLQkJfTsKIAkJNTE2MzE5OTMxNjI4OTgwRTAwRTIy
RjAwIC8qIG1hYyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBA
IC01NjE1LDcgKzU0NzQsNiBAQAogCQk1MUY3REMwQjE4MENDNDIyMDAyMTJDQTMgLyogRW50cnlQ
b2ludCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJNTEz
MEYwRTIxODBDQ0IzQjAwNjAyQzE4IC8qIExlZ2FjeVByb2Nlc3MgKi8sCiAJCQkJNTFGN0RDMEMx
ODBDQzQzMTAwMjEyQ0EzIC8qIFhQQ1NlcnZpY2UgKi8sCiAJCQkpOwogCQkJcGF0aCA9IEVudHJ5
UG9pbnQ7CkBAIC02NjExLDIzICs2NDY5LDExIEBACiAJCUJDODI4MzY4MTZCMzU4NzkwMEEyNzhG
RSAvKiBFbnRyeVBvaW50VXRpbGl0aWVzICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQlj
aGlsZHJlbiA9ICgKLQkJCQlCQzgyODM2QTE2QjM1ODc5MDBBMjc4RkUgLyogTGVnYWN5UHJvY2Vz
cyAqLywKIAkJCQlCQzgyODM2QjE2QjM1ODc5MDBBMjc4RkUgLyogWFBDU2VydmljZSAqLywKIAkJ
CSk7CiAJCQlwYXRoID0gRW50cnlQb2ludFV0aWxpdGllczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CiAJCX07Ci0JCUJDODI4MzZBMTZCMzU4NzkwMEEyNzhGRSAvKiBMZWdhY3lQcm9jZXNz
ICovID0gewotCQkJaXNhID0gUEJYR3JvdXA7Ci0JCQljaGlsZHJlbiA9ICgKLQkJCQlCQzgyODM3
ODE2QjM2QTRGMDBBMjc4RkUgLyogQ2hpbGRQcm9jZXNzRW50cnlQb2ludC5oICovLAotCQkJCUJD
ODI4Mzc5MTZCMzZBNEYwMEEyNzhGRSAvKiBDaGlsZFByb2Nlc3NFbnRyeVBvaW50Lm1tICovLAot
CQkJCUJDNUQyNDlGMTZDQzNCOUUwMDdENTQ2MSAvKiBDaGlsZFByb2Nlc3NNYWluLm1tICovLAot
CQkJKTsKLQkJCW5hbWUgPSBMZWdhY3lQcm9jZXNzOwotCQkJcGF0aCA9IG1hYy9MZWdhY3lQcm9j
ZXNzOwotCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKLQkJfTsKIAkJQkM4MjgzNkIxNkIzNTg3
OTAwQTI3OEZFIC8qIFhQQ1NlcnZpY2UgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNo
aWxkcmVuID0gKApAQCAtNjY0Miw0MiArNjQ4OCwyMCBAQAogCQlCQzgyODM3QzE2QjQ1REE1MDBB
Mjc4RkUgLyogRW50cnlQb2ludCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRy
ZW4gPSAoCi0JCQkJQkM4MjgzN0UxNkI0NURBNTAwQTI3OEZFIC8qIExlZ2FjeVByb2Nlc3MgKi8s
CiAJCQkJQkM4MjgzQTExNkI0QkQ5MTAwQTI3OEZFIC8qIFhQQ1NlcnZpY2UgKi8sCiAJCQkpOwog
CQkJbmFtZSA9IEVudHJ5UG9pbnQ7CiAJCQlwYXRoID0gTmV0d29ya1Byb2Nlc3MvRW50cnlQb2lu
dDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07Ci0JCUJDODI4MzdFMTZCNDVEQTUw
MEEyNzhGRSAvKiBMZWdhY3lQcm9jZXNzICovID0gewotCQkJaXNhID0gUEJYR3JvdXA7Ci0JCQlj
aGlsZHJlbiA9ICgKLQkJCQlCQzgyODM3RjE2QjQ1REE1MDBBMjc4RkUgLyogSW5mby5wbGlzdCAq
LywKLQkJCQlCQzgyODM4MTE2QjQ1REE1MDBBMjc4RkUgLyogTmV0d29ya1Byb2Nlc3NNYWluLm1t
ICovLAotCQkJKTsKLQkJCW5hbWUgPSBMZWdhY3lQcm9jZXNzOwotCQkJcGF0aCA9IG1hYy9MZWdh
Y3lQcm9jZXNzOwotCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKLQkJfTsKIAkJQkM4MjgzODYx
NkI0NUVGMjAwQTI3OEZFIC8qIEVudHJ5UG9pbnQgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsK
IAkJCWNoaWxkcmVuID0gKAotCQkJCUJDODI4Mzg4MTZCNDVFRjIwMEEyNzhGRSAvKiBMZWdhY3lQ
cm9jZXNzICovLAogCQkJCUJDODI4M0UyMTZCNEY4RTIwMEEyNzhGRSAvKiBYUENTZXJ2aWNlICov
LAogCQkJKTsKIAkJCXBhdGggPSBFbnRyeVBvaW50OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsKIAkJfTsKLQkJQkM4MjgzODgxNkI0NUVGMjAwQTI3OEZFIC8qIExlZ2FjeVByb2Nlc3MgKi8g
PSB7Ci0JCQlpc2EgPSBQQlhHcm91cDsKLQkJCWNoaWxkcmVuID0gKAotCQkJCUJDODI4MzhEMTZC
NDVGQTYwMEEyNzhGRSAvKiBJbmZvLnBsaXN0ICovLAotCQkJCUJDODI4MzhBMTZCNDVFRjIwMEEy
NzhGRSAvKiBQbHVnaW5Qcm9jZXNzTWFpbi5tbSAqLywKLQkJCSk7Ci0JCQluYW1lID0gTGVnYWN5
UHJvY2VzczsKLQkJCXBhdGggPSBtYWMvTGVnYWN5UHJvY2VzczsKLQkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7Ci0JCX07CiAJCUJDODI4M0ExMTZCNEJEOTEwMEEyNzhGRSAvKiBYUENTZXJ2aWNl
ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTY3NzUsMjIg
KzY1OTksMTEgQEAKIAkJQkNBQ0M0M0IxNkIyNEM1RDAwQjZFMDkyIC8qIEVudHJ5UG9pbnQgKi8g
PSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCUJDQUNDNDNEMTZC
MjRDN0QwMEI2RTA5MiAvKiBMZWdhY3lQcm9jZXNzICovLAogCQkJCUJDQUNDNDNFMTZCMjRDOEIw
MEI2RTA5MiAvKiBYUENTZXJ2aWNlICovLAogCQkJKTsKIAkJCXBhdGggPSBFbnRyeVBvaW50Owog
CQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKLQkJQkNBQ0M0M0QxNkIyNEM3RDAwQjZF
MDkyIC8qIExlZ2FjeVByb2Nlc3MgKi8gPSB7Ci0JCQlpc2EgPSBQQlhHcm91cDsKLQkJCWNoaWxk
cmVuID0gKAotCQkJCUJDODI4MzczMTZCMzVBRjkwMEEyNzhGRSAvKiBJbmZvLnBsaXN0ICovLAot
CQkJCUJDODI4MzY0MTZCMzU0RjYwMEEyNzhGRSAvKiBXZWJDb250ZW50UHJvY2Vzc01haW4ubW0g
Ki8sCi0JCQkpOwotCQkJbmFtZSA9IExlZ2FjeVByb2Nlc3M7Ci0JCQlwYXRoID0gbWFjL0xlZ2Fj
eVByb2Nlc3M7Ci0JCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwotCQl9OwogCQlCQ0FDQzQzRTE2
QjI0QzhCMDBCNkUwOTIgLyogWFBDU2VydmljZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwog
CQkJY2hpbGRyZW4gPSAoCkBAIC03NDkwLDcgKzczMDMsNiBAQAogCQkJCUJDMzA2NUZBMTI1OTM0
NEUwMEU3MTI3OCAvKiBDYWNoZU1vZGVsLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUEyRTUxRDEy
RTRDMDVFMDBCQzQ5NjYgLyogQ0dVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMkQ5
NTZGMTI4NDg1NjQwMDFFQjk2MiAvKiBDaGlsZFByb2Nlc3MuaCBpbiBIZWFkZXJzICovLAotCQkJ
CUJDODI4MzdBMTZCMzZBNEYwMEEyNzhGRSAvKiBDaGlsZFByb2Nlc3NFbnRyeVBvaW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQk1MUZBRUMzQTFCMDY1NzYzMDAwOUM0RTcgLyogQ2hpbGRQcm9jZXNz
TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNTEzQzY3MTY2RUFCQjIwMDE0OUZDQiAv
KiBDaGlsZFByb2Nlc3NQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjkwRjQyNzIxNzJBMEM3
NDAwOTM5RkYwIC8qIENoaWxkUHJvY2Vzc1N1cHBsZW1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAt
ODI4MywyNCArODA5NSw2IEBACiAvKiBFbmQgUEJYSGVhZGVyc0J1aWxkUGhhc2Ugc2VjdGlvbiAq
LwogCiAvKiBCZWdpbiBQQlhOYXRpdmVUYXJnZXQgc2VjdGlvbiAqLwotCQkxQTUwREIxRDExMEEz
QkRDMDAwRDNGRTUgLyogV2ViUHJvY2VzcyAqLyA9IHsKLQkJCWlzYSA9IFBCWE5hdGl2ZVRhcmdl
dDsKLQkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAxQTUwREIyMzExMEEzQkRFMDAwRDNGRTUg
LyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIldlYlByb2Nl
c3MiICovOwotCQkJYnVpbGRQaGFzZXMgPSAoCi0JCQkJMUE1MERCMUExMTBBM0JEQzAwMEQzRkU1
IC8qIFJlc291cmNlcyAqLywKLQkJCQkxQTUwREIxQjExMEEzQkRDMDAwRDNGRTUgLyogU291cmNl
cyAqLywKLQkJCQlCQzVEMjRCMDE2Q0MzRjI4MDA3RDU0NjEgLyogRnJhbWV3b3JrcyAqLywKLQkJ
CSk7Ci0JCQlidWlsZFJ1bGVzID0gKAotCQkJKTsKLQkJCWRlcGVuZGVuY2llcyA9ICgKLQkJCQkx
QTUwREIyNzExMEEzQkVGMDAwRDNGRTUgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKLQkJCSk7
Ci0JCQluYW1lID0gV2ViUHJvY2VzczsKLQkJCXByb2R1Y3ROYW1lID0gV2ViUHJvY2VzczsKLQkJ
CXByb2R1Y3RSZWZlcmVuY2UgPSAxQTUwREIxRTExMEEzQkRDMDAwRDNGRTUgLyogV2ViUHJvY2Vz
cy5hcHAgKi87Ci0JCQlwcm9kdWN0VHlwZSA9ICJjb20uYXBwbGUucHJvZHVjdC10eXBlLmFwcGxp
Y2F0aW9uIjsKLQkJfTsKIAkJMUFDMjVGQUYxMkE0OEVBNzAwQkQyNjcxIC8qIFBsdWdpblByb2Nl
c3NTaGltICovID0gewogCQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0OwogCQkJYnVpbGRDb25maWd1
cmF0aW9uTGlzdCA9IDFBQzI1RkJBMTJBNDhFQjYwMEJEMjY3MSAvKiBCdWlsZCBjb25maWd1cmF0
aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiUGx1Z2luUHJvY2Vzc1NoaW0iICovOwpAQCAt
ODMzNSwyNCArODEyOSw2IEBACiAJCQlwcm9kdWN0UmVmZXJlbmNlID0gNTEwMDMxRjYxMzc5Q0FD
QjAwQzhERkU0IC8qIFNlY0l0ZW1TaGltLmR5bGliICovOwogCQkJcHJvZHVjdFR5cGUgPSAiY29t
LmFwcGxlLnByb2R1Y3QtdHlwZS5saWJyYXJ5LmR5bmFtaWMiOwogCQl9OwotCQk1MTBDQzgwRDE2
MTNDNzk5MDBEMDNFRDMgLyogTmV0d29ya1Byb2Nlc3MgKi8gPSB7Ci0JCQlpc2EgPSBQQlhOYXRp
dmVUYXJnZXQ7Ci0JCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gNTEwQ0M4NDMxNjEzQzc5OTAw
RDAzRUQzIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJO
ZXR3b3JrUHJvY2VzcyIgKi87Ci0JCQlidWlsZFBoYXNlcyA9ICgKLQkJCQk1MTBDQzgwQTE2MTND
Nzk5MDBEMDNFRDMgLyogU291cmNlcyAqLywKLQkJCQk1MTBDQzgwQzE2MTNDNzk5MDBEMDNFRDMg
LyogUmVzb3VyY2VzICovLAotCQkJCUJDNUQyNEI0MTZDQzNGNDMwMDdENTQ2MSAvKiBGcmFtZXdv
cmtzICovLAotCQkJKTsKLQkJCWJ1aWxkUnVsZXMgPSAoCi0JCQkpOwotCQkJZGVwZW5kZW5jaWVz
ID0gKAotCQkJCTUxMENDODUxMTYxM0M5OEQwMEQwM0VEMyAvKiBQQlhUYXJnZXREZXBlbmRlbmN5
ICovLAotCQkJKTsKLQkJCW5hbWUgPSBOZXR3b3JrUHJvY2VzczsKLQkJCXByb2R1Y3ROYW1lID0g
TmV0d29ya1Byb2Nlc3M7Ci0JCQlwcm9kdWN0UmVmZXJlbmNlID0gNTEwQ0M4MEUxNjEzQzc5OTAw
RDAzRUQzIC8qIE5ldHdvcmtQcm9jZXNzLmFwcCAqLzsKLQkJCXByb2R1Y3RUeXBlID0gImNvbS5h
cHBsZS5wcm9kdWN0LXR5cGUuYXBwbGljYXRpb24iOwotCQl9OwogCQk1MUY3REMzRjE4MENDOTM2
MDAyMTJDQTMgLyogRGF0YWJhc2VzICovID0gewogCQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0Owog
CQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDUxRjdEQzQ2MTgwQ0M5MzYwMDIxMkNBMyAvKiBC
dWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiRGF0YWJhc2VzIiAq
LzsKQEAgLTgzNzEsMjQgKzgxNDcsNiBAQAogCQkJcHJvZHVjdFJlZmVyZW5jZSA9IDUxRjdEQzRB
MTgwQ0M5MzYwMDIxMkNBMyAvKiBjb20uYXBwbGUuV2ViS2l0LkRhdGFiYXNlcy5EZXZlbG9wbWVu
dC54cGMgKi87CiAJCQlwcm9kdWN0VHlwZSA9ICJjb20uYXBwbGUucHJvZHVjdC10eXBlLnhwYy1z
ZXJ2aWNlIjsKIAkJfTsKLQkJNTFGQTFFMTcxODBDQ0FERTAwQzQ0QkU5IC8qIERhdGFiYXNlUHJv
Y2VzcyAqLyA9IHsKLQkJCWlzYSA9IFBCWE5hdGl2ZVRhcmdldDsKLQkJCWJ1aWxkQ29uZmlndXJh
dGlvbkxpc3QgPSA1MUZBMUUyNDE4MENDQURFMDBDNDRCRTkgLyogQnVpbGQgY29uZmlndXJhdGlv
biBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIkRhdGFiYXNlUHJvY2VzcyIgKi87Ci0JCQlidWls
ZFBoYXNlcyA9ICgKLQkJCQk1MUZBMUUxQzE4MENDQURFMDBDNDRCRTkgLyogU291cmNlcyAqLywK
LQkJCQk1MUZBMUUxRTE4MENDQURFMDBDNDRCRTkgLyogUmVzb3VyY2VzICovLAotCQkJCTUxRkEx
RTIyMTgwQ0NBREUwMEM0NEJFOSAvKiBGcmFtZXdvcmtzICovLAotCQkJKTsKLQkJCWJ1aWxkUnVs
ZXMgPSAoCi0JCQkpOwotCQkJZGVwZW5kZW5jaWVzID0gKAotCQkJCTUxRkExRTFBMTgwQ0NBREUw
MEM0NEJFOSAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAotCQkJKTsKLQkJCW5hbWUgPSBEYXRh
YmFzZVByb2Nlc3M7Ci0JCQlwcm9kdWN0TmFtZSA9IE5ldHdvcmtQcm9jZXNzOwotCQkJcHJvZHVj
dFJlZmVyZW5jZSA9IDUxRkExRTI4MTgwQ0NBREUwMEM0NEJFOSAvKiBEYXRhYmFzZVByb2Nlc3Mu
YXBwICovOwotCQkJcHJvZHVjdFR5cGUgPSAiY29tLmFwcGxlLnByb2R1Y3QtdHlwZS5hcHBsaWNh
dGlvbiI7Ci0JCX07CiAJCThEQzJFRjRGMDQ4NkE2OTQwMDk4QjIxNiAvKiBXZWJLaXQgKi8gPSB7
CiAJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7CiAJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0g
MURFQjkxQUQwODczM0RBNTAwMTBFOUNEIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3Ig
UEJYTmF0aXZlVGFyZ2V0ICJXZWJLaXQiICovOwpAQCAtODUwMCwyNCArODI1OCw2IEBACiAJCQlw
cm9kdWN0UmVmZXJlbmNlID0gQkM4Mjg0MUYxNkI0RkRGNjAwQTI3OEZFIC8qIGNvbS5hcHBsZS5X
ZWJLaXQuUGx1Z2luLjY0LkRldmVsb3BtZW50LnhwYyAqLzsKIAkJCXByb2R1Y3RUeXBlID0gImNv
bS5hcHBsZS5wcm9kdWN0LXR5cGUueHBjLXNlcnZpY2UiOwogCQl9OwotCQlCQ0RFMDkzMzEzMjcy
NDk2MDAxMjU5RkIgLyogUGx1Z2luUHJvY2VzcyAqLyA9IHsKLQkJCWlzYSA9IFBCWE5hdGl2ZVRh
cmdldDsKLQkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSBCQ0RFMDkzRTEzMjcyNDk2MDAxMjU5
RkIgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIlBsdWdp
blByb2Nlc3MiICovOwotCQkJYnVpbGRQaGFzZXMgPSAoCi0JCQkJQkNERTA5MzgxMzI3MjQ5NjAw
MTI1OUZCIC8qIFJlc291cmNlcyAqLywKLQkJCQlCQ0RFMDkzQTEzMjcyNDk2MDAxMjU5RkIgLyog
U291cmNlcyAqLywKLQkJCQlCQzVEMjRCMjE2Q0MzRjNCMDA3RDU0NjEgLyogRnJhbWV3b3JrcyAq
LywKLQkJCSk7Ci0JCQlidWlsZFJ1bGVzID0gKAotCQkJKTsKLQkJCWRlcGVuZGVuY2llcyA9ICgK
LQkJCQlCQ0RFMDkzNjEzMjcyNDk2MDAxMjU5RkIgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywK
LQkJCSk7Ci0JCQluYW1lID0gUGx1Z2luUHJvY2VzczsKLQkJCXByb2R1Y3ROYW1lID0gV2ViUHJv
Y2VzczsKLQkJCXByb2R1Y3RSZWZlcmVuY2UgPSBCQ0RFMDk0MjEzMjcyNDk2MDAxMjU5RkIgLyog
UGx1Z2luUHJvY2Vzcy5hcHAgKi87Ci0JCQlwcm9kdWN0VHlwZSA9ICJjb20uYXBwbGUucHJvZHVj
dC10eXBlLmFwcGxpY2F0aW9uIjsKLQkJfTsKIAkJQ0RDMzgyRkIxNzIxMTc5OTAwOEEyRkMzIC8q
IFdlYlByb2Nlc3NTaGltICovID0gewogCQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0OwogCQkJYnVp
bGRDb25maWd1cmF0aW9uTGlzdCA9IENEQzM4MzAyMTcyMTE3OTkwMDhBMkZDMyAvKiBCdWlsZCBj
b25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiV2ViUHJvY2Vzc1NoaW0iICov
OwpAQCAtODU2MiwxMCArODMwMiw2IEBACiAJCQl0YXJnZXRzID0gKAogCQkJCTFBNTBEQjM4MTEw
QTNDMTMwMDBEM0ZFNSAvKiBBbGwgKi8sCiAJCQkJOERDMkVGNEYwNDg2QTY5NDAwOThCMjE2IC8q
IFdlYktpdCAqLywKLQkJCQkxQTUwREIxRDExMEEzQkRDMDAwRDNGRTUgLyogV2ViUHJvY2VzcyAq
LywKLQkJCQlCQ0RFMDkzMzEzMjcyNDk2MDAxMjU5RkIgLyogUGx1Z2luUHJvY2VzcyAqLywKLQkJ
CQk1MUZBMUUxNzE4MENDQURFMDBDNDRCRTkgLyogRGF0YWJhc2VQcm9jZXNzICovLAotCQkJCTUx
MENDODBEMTYxM0M3OTkwMEQwM0VEMyAvKiBOZXR3b3JrUHJvY2VzcyAqLywKIAkJCQlDMENFNzI4
NTEyNDdFNjY4MDBCQzBFQzQgLyogRGVyaXZlZCBTb3VyY2VzICovLAogCQkJCTFBQzI1RkFGMTJB
NDhFQTcwMEJEMjY3MSAvKiBQbHVnaW5Qcm9jZXNzU2hpbSAqLywKIAkJCQk1MTAwMzFFQTEzNzlD
QUNCMDBDOERGRTQgLyogU2VjSXRlbVNoaW0gKi8sCkBAIC04NTgxLDIzICs4MzE3LDYgQEAKIC8q
IEVuZCBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYUmVzb3VyY2VzQnVpbGRQ
aGFzZSBzZWN0aW9uICovCi0JCTFBNTBEQjFBMTEwQTNCREMwMDBEM0ZFNSAvKiBSZXNvdXJjZXMg
Ki8gPSB7Ci0JCQlpc2EgPSBQQlhSZXNvdXJjZXNCdWlsZFBoYXNlOwotCQkJYnVpbGRBY3Rpb25N
YXNrID0gMjE0NzQ4MzY0NzsKLQkJCWZpbGVzID0gKAotCQkJCUUxRDI2QTUxMTc1OTY0RDcwMDk1
QkZEMSAvKiBXZWJDb250ZW50UHJvY2Vzcy54aWIgaW4gUmVzb3VyY2VzICovLAotCQkJCUUxMzNG
RDhBMTQyM0REN0YwMEZDN0JGQiAvKiBXZWJLaXQuaWNucyBpbiBSZXNvdXJjZXMgKi8sCi0JCQkp
OwotCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7Ci0JCX07Ci0JCTUx
MENDODBDMTYxM0M3OTkwMEQwM0VEMyAvKiBSZXNvdXJjZXMgKi8gPSB7Ci0JCQlpc2EgPSBQQlhS
ZXNvdXJjZXNCdWlsZFBoYXNlOwotCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKLQkJ
CWZpbGVzID0gKAotCQkJCUUxQTlBODUyMTY5RTIwMjUwMDJENzE3NiAvKiBXZWJLaXQuaWNucyBp
biBSZXNvdXJjZXMgKi8sCi0JCQkpOwotCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7Ci0JCX07CiAJCTUxRjdEQzQ1MTgwQ0M5MzYwMDIxMkNBMyAvKiBSZXNvdXJjZXMg
Ki8gPSB7CiAJCQlpc2EgPSBQQlhSZXNvdXJjZXNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25N
YXNrID0gMjE0NzQ4MzY0NzsKQEAgLTg2MDUsMTQgKzgzMjQsNiBAQAogCQkJKTsKIAkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwotCQk1MUZBMUUxRTE4MEND
QURFMDBDNDRCRTkgLyogUmVzb3VyY2VzICovID0gewotCQkJaXNhID0gUEJYUmVzb3VyY2VzQnVp
bGRQaGFzZTsKLQkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7Ci0JCQlmaWxlcyA9ICgK
LQkJCQk1MUZBMUUxRjE4MENDQURFMDBDNDRCRTkgLyogV2ViS2l0LmljbnMgaW4gUmVzb3VyY2Vz
ICovLAotCQkJKTsKLQkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwot
CQl9OwogCQk4REMyRUY1MjA0ODZBNjk0MDA5OEIyMTYgLyogUmVzb3VyY2VzICovID0gewogCQkJ
aXNhID0gUEJYUmVzb3VyY2VzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0
ODM2NDc7CkBAIC04NjUzLDEzICs4MzY0LDYgQEAKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKLQkJQkNERTA5MzgxMzI3MjQ5NjAwMTI1OUZC
IC8qIFJlc291cmNlcyAqLyA9IHsKLQkJCWlzYSA9IFBCWFJlc291cmNlc0J1aWxkUGhhc2U7Ci0J
CQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwotCQkJZmlsZXMgPSAoCi0JCQkpOwotCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7Ci0JCX07CiAvKiBFbmQgUEJY
UmVzb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWFNoZWxsU2NyaXB0
QnVpbGRQaGFzZSBzZWN0aW9uICovCkBAIC04OTM2LDE0ICs4NjQwLDYgQEAKIC8qIEVuZCBQQlhT
aGVsbFNjcmlwdEJ1aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhTb3VyY2VzQnVp
bGRQaGFzZSBzZWN0aW9uICovCi0JCTFBNTBEQjFCMTEwQTNCREMwMDBEM0ZFNSAvKiBTb3VyY2Vz
ICovID0gewotCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7Ci0JCQlidWlsZEFjdGlvbk1h
c2sgPSAyMTQ3NDgzNjQ3OwotCQkJZmlsZXMgPSAoCi0JCQkJQkM1RDI0QTExNkNDM0I5RTAwN0Q1
NDYxIC8qIENoaWxkUHJvY2Vzc01haW4ubW0gaW4gU291cmNlcyAqLywKLQkJCSk7Ci0JCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKLQkJfTsKIAkJMUFDMjVGQUQxMkE0
OEVBNzAwQkQyNjcxIC8qIFNvdXJjZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQ
aGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CkBAIC04OTYwLDE0ICs4NjU2
LDYgQEAKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsK
IAkJfTsKLQkJNTEwQ0M4MEExNjEzQzc5OTAwRDAzRUQzIC8qIFNvdXJjZXMgKi8gPSB7Ci0JCQlp
c2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsKLQkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2
NDc7Ci0JCQlmaWxlcyA9ICgKLQkJCQlCQzVEMjRBMzE2Q0MzQjlFMDA3RDU0NjEgLyogQ2hpbGRQ
cm9jZXNzTWFpbi5tbSBpbiBTb3VyY2VzICovLAotCQkJKTsKLQkJCXJ1bk9ubHlGb3JEZXBsb3lt
ZW50UG9zdHByb2Nlc3NpbmcgPSAwOwotCQl9OwogCQk1MUY3REM0MDE4MENDOTM2MDAyMTJDQTMg
LyogU291cmNlcyAqLyA9IHsKIAkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOwogCQkJYnVp
bGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKQEAgLTg5NzYsMTQgKzg2NjQsNiBAQAogCQkJKTsK
IAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwotCQk1MUZB
MUUxQzE4MENDQURFMDBDNDRCRTkgLyogU291cmNlcyAqLyA9IHsKLQkJCWlzYSA9IFBCWFNvdXJj
ZXNCdWlsZFBoYXNlOwotCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKLQkJCWZpbGVz
ID0gKAotCQkJCTUxRkExRTFEMTgwQ0NBREUwMEM0NEJFOSAvKiBDaGlsZFByb2Nlc3NNYWluLm1t
IGluIFNvdXJjZXMgKi8sCi0JCQkpOwotCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7Ci0JCX07CiAJCThEQzJFRjU0MDQ4NkE2OTQwMDk4QjIxNiAvKiBTb3VyY2VzICov
ID0gewogCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sg
PSAyMTQ3NDgzNjQ3OwpAQCAtOTA2NSw3ICs4NzQ1LDYgQEAKIAkJCQlCQ0YxODYzODE2N0QwNzFF
MDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUEyRTUxRTEy
RTRDMDVFMDBCQzQ5NjYgLyogQ0dVdGlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUEy
RDk1NzAxMjg0ODU2NDAwMUVCOTYyIC8qIENoaWxkUHJvY2Vzcy5jcHAgaW4gU291cmNlcyAqLywK
LQkJCQlCQzgyODM3QjE2QjM2QTRGMDBBMjc4RkUgLyogQ2hpbGRQcm9jZXNzRW50cnlQb2ludC5t
bSBpbiBTb3VyY2VzICovLAogCQkJCUE3RTkzQ0VEMTkyNTMzMTEwMEExREM0OCAvKiBDaGlsZFBy
b2Nlc3NJT1MubW0gaW4gU291cmNlcyAqLywKIAkJCQk5RjU0Rjg4RjE2NDg4RTg3MDA3REY4MUEg
LyogQ2hpbGRQcm9jZXNzTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGQUVDM0IxQjA2NTc2
ODAwMDlDNEU3IC8qIENoaWxkUHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LywKQEAgLTkwODgsNyArODc2Nyw2IEBACiAJCQkJNTFEMEQ0MzYxODNCMzUzRDAwOTcwNDFEIC8q
IERhdGFiYXNlUHJvY2Vzc0lEQkNvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJRTExNUM3MTQxOTBGODlFNDAwRUNDNTE2IC8qIERhdGFiYXNlUHJvY2Vzc0lP
Uy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxRTM1MjAyMTgwRjVEMUUwMEU1M0JFOSAvKiBEYXRh
YmFzZVByb2Nlc3NNYWMubW0gaW4gU291cmNlcyAqLywKLQkJCQk1MUUzNTIwNTE4MEY1RDRGMDBF
NTNCRTkgLyogRGF0YWJhc2VQcm9jZXNzTWFpbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxMkE5
NzYwMTgwRTAzMUQwMDM5QTE0OSAvKiBEYXRhYmFzZVByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNTE3REQ1QkUxODBEQTdEMzAwODE2NjBCIC8qIERhdGFiYXNl
UHJvY2Vzc1Byb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxN0RENUM1MTgwREMzRTEwMDgx
NjYwQiAvKiBEYXRhYmFzZVByb2Nlc3NQcm94eU1hYy5tbSBpbiBTb3VyY2VzICovLApAQCAtOTIx
Miw3ICs4ODkwLDYgQEAKIAkJCQk1MTdDRjBFMzE2M0E0ODZDMDBDMjk1MEUgLyogTmV0d29ya1By
b2Nlc3NDb25uZWN0aW9uTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJE
QTk0NEJEMTg4NTExRTcwMEVEODZEQiAvKiBOZXR3b3JrUHJvY2Vzc0lPUy5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCTUxNzk1NTY3MTYyODc2Q0IwMEZBNDNCNiAvKiBOZXR3b3JrUHJvY2Vzc01hYy5t
bSBpbiBTb3VyY2VzICovLAotCQkJCUJDODI4Mzg0MTZCNDVEQTUwMEEyNzhGRSAvKiBOZXR3b3Jr
UHJvY2Vzc01haW4ubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MTYzMTk5NDE2Mjg5QTYwMDBFMjJG
MDAgLyogTmV0d29ya1Byb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRTE0QTk1NDkxNkUwMTZBNDAwNjhERTgyIC8qIE5ldHdvcmtQcm9jZXNzUGxhdGZvcm1TdHJh
dGVnaWVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxNzk1NTZEMTYyODc3QjEwMEZBNDNCNiAv
KiBOZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCBpbiBTb3VyY2VzICovLApAQCAtOTI3NCw3ICs4OTUx
LDYgQEAKIAkJCQk1Q0JDOUI4RDFDNjUyNzlDMDBBOEZEQ0YgLyogTmV0d29ya0RhdGFUYXNrQ29j
b2EubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQTJEOTBEMzEyODFDOTY2MDAxRUI5NjIgLyogUGx1
Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUE0
NzkyMzEyQTU5RkQ5MDA4MjM2QzMgLyogUGx1Z2luUHJvY2Vzc01hYy5tbSBpbiBTb3VyY2VzICov
LAotCQkJCUJDODI4MzhDMTZCNDVGMDcwMEEyNzhGRSAvKiBQbHVnaW5Qcm9jZXNzTWFpbi5tbSBp
biBTb3VyY2VzICovLAogCQkJCTFBMEVDNjA0MTI0QTlGMkMwMDdFRjRBNSAvKiBQbHVnaW5Qcm9j
ZXNzTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5RjU0Rjg5NTE2NDhBRTBGMDA3REY4
MUEgLyogUGx1Z2luUHJvY2Vzc01hbmFnZXJNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQTA0
M0NFQjEyNEZFMzhGMDBGRkJGQjUgLyogUGx1Z2luUHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAg
aW4gU291cmNlcyAqLywKQEAgLTk0MDEsNyArOTA3Nyw2IEBACiAJCQkJMUExRkVDMUMxNjI3QjQ1
NzAwNzAwRjZEIC8qIFdlYkNvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQkNEMzY3NUMxNDhDMjZDMDAwNDQ3RTg3IC8qIFdlYkNvbm5lY3Rpb25Ub1VJUHJv
Y2Vzcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzRBNjJBNzE0NzQ0RUM3MDA2QzY4MUEgLyog
V2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlCQzgyODM2
NTE2QjM1NEY2MDBBMjc4RkUgLyogV2ViQ29udGVudFByb2Nlc3NNYWluLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQkM4MjgzOTkxNkI0OERDMDAwQTI3OEZFIC8qIFdlYkNvbnRlbnRTZXJ2aWNlRW50
cnlQb2ludC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTMxQTUwNUY5MTY4MDAyNTUwMEE5MzBFQiAv
KiBXZWJDb250ZXh0Q2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMDlCOEY4MTQ3NDYw
RjcwMDVGNTYyNSAvKiBXZWJDb250ZXh0Q29ubmVjdGlvbkNsaWVudC5jcHAgaW4gU291cmNlcyAq
LywKQEAgLTk4MjMsMTQgKzk0OTgsNiBAQAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50
UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwotCQlCQ0RFMDkzQTEzMjcyNDk2MDAxMjU5RkIgLyog
U291cmNlcyAqLyA9IHsKLQkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOwotCQkJYnVpbGRB
Y3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKLQkJCWZpbGVzID0gKAotCQkJCUJDNUQyNEEyMTZDQzNC
OUUwMDdENTQ2MSAvKiBDaGlsZFByb2Nlc3NNYWluLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkpOwot
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7Ci0JCX07CiAJCUNEQzM4
MkZEMTcyMTE3OTkwMDhBMkZDMyAvKiBTb3VyY2VzICovID0gewogCQkJaXNhID0gUEJYU291cmNl
c0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwpAQCAtOTg0Mywx
NiArOTUxMCw2IEBACiAvKiBFbmQgUEJYU291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAv
KiBCZWdpbiBQQlhUYXJnZXREZXBlbmRlbmN5IHNlY3Rpb24gKi8KLQkJMUE1MERCMjcxMTBBM0JF
RjAwMEQzRkU1IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7Ci0JCQlpc2EgPSBQQlhUYXJn
ZXREZXBlbmRlbmN5OwotCQkJdGFyZ2V0ID0gOERDMkVGNEYwNDg2QTY5NDAwOThCMjE2IC8qIFdl
YktpdCAqLzsKLQkJCXRhcmdldFByb3h5ID0gMUE1MERCMjYxMTBBM0JFRjAwMEQzRkU1IC8qIFBC
WENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKLQkJfTsKLQkJMUE1MERCM0MxMTBBM0MxOTAwMEQzRkU1
IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7Ci0JCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRl
bmN5OwotCQkJdGFyZ2V0ID0gMUE1MERCMUQxMTBBM0JEQzAwMEQzRkU1IC8qIFdlYlByb2Nlc3Mg
Ki87Ci0JCQl0YXJnZXRQcm94eSA9IDFBNTBEQjNCMTEwQTNDMTkwMDBEM0ZFNSAvKiBQQlhDb250
YWluZXJJdGVtUHJveHkgKi87Ci0JCX07CiAJCTM3NUUwNjI3MTkxRUE4Q0MwMDRFM0NBRiAvKiBQ
QlhUYXJnZXREZXBlbmRlbmN5ICovID0gewogCQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsK
IAkJCXRhcmdldCA9IDhEQzJFRjRGMDQ4NkE2OTQwMDk4QjIxNiAvKiBXZWJLaXQgKi87CkBAIC05
ODk4LDMxICs5NTU1LDExIEBACiAJCQl0YXJnZXQgPSBDMENFNzI4NTEyNDdFNjY4MDBCQzBFQzQg
LyogRGVyaXZlZCBTb3VyY2VzICovOwogCQkJdGFyZ2V0UHJveHkgPSAzN0Y3NDA3ODEyNzIxRjc0
MDA5Mzg2OUIgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovOwogCQl9OwotCQk1MTBDQzg0ODE2
MTNDODUzMDBEMDNFRDMgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKLQkJCWlzYSA9IFBC
WFRhcmdldERlcGVuZGVuY3k7Ci0JCQl0YXJnZXQgPSA1MTBDQzgwRDE2MTNDNzk5MDBEMDNFRDMg
LyogTmV0d29ya1Byb2Nlc3MgKi87Ci0JCQl0YXJnZXRQcm94eSA9IDUxMENDODQ3MTYxM0M4NTMw
MEQwM0VEMyAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87Ci0JCX07Ci0JCTUxMENDODUxMTYx
M0M5OEQwMEQwM0VEMyAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0gewotCQkJaXNhID0gUEJY
VGFyZ2V0RGVwZW5kZW5jeTsKLQkJCXRhcmdldCA9IDhEQzJFRjRGMDQ4NkE2OTQwMDk4QjIxNiAv
KiBXZWJLaXQgKi87Ci0JCQl0YXJnZXRQcm94eSA9IDUxMENDODUwMTYxM0M5OEQwMEQwM0VEMyAv
KiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87Ci0JCX07Ci0JCTUxQTYwQjJDMTgwQ0NGMTIwMEYz
QkY1MCAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0gewotCQkJaXNhID0gUEJYVGFyZ2V0RGVw
ZW5kZW5jeTsKLQkJCXRhcmdldCA9IDUxRkExRTE3MTgwQ0NBREUwMEM0NEJFOSAvKiBEYXRhYmFz
ZVByb2Nlc3MgKi87Ci0JCQl0YXJnZXRQcm94eSA9IDUxQTYwQjJCMTgwQ0NGMTIwMEYzQkY1MCAv
KiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87Ci0JCX07CiAJCTUxQTYwQjJFMTgwQ0NGMTcwMEYz
QkY1MCAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0gewogCQkJaXNhID0gUEJYVGFyZ2V0RGVw
ZW5kZW5jeTsKIAkJCXRhcmdldCA9IDUxRjdEQzNGMTgwQ0M5MzYwMDIxMkNBMyAvKiBEYXRhYmFz
ZXMgKi87CiAJCQl0YXJnZXRQcm94eSA9IDUxQTYwQjJEMTgwQ0NGMTcwMEYzQkY1MCAvKiBQQlhD
b250YWluZXJJdGVtUHJveHkgKi87CiAJCX07Ci0JCTUxRkExRTFBMTgwQ0NBREUwMEM0NEJFOSAv
KiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0gewotCQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5j
eTsKLQkJCXRhcmdldCA9IDhEQzJFRjRGMDQ4NkE2OTQwMDk4QjIxNiAvKiBXZWJLaXQgKi87Ci0J
CQl0YXJnZXRQcm94eSA9IDUxRkExRTFCMTgwQ0NBREUwMEM0NEJFOSAvKiBQQlhDb250YWluZXJJ
dGVtUHJveHkgKi87Ci0JCX07CiAJCUJDNzdGOTU2MTZEMDQ1OTEwMEY4Rjc4QSAvKiBQQlhUYXJn
ZXREZXBlbmRlbmN5ICovID0gewogCQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsKIAkJCXRh
cmdldCA9IEJDODI4M0Y4MTZCNEZEREUwMEEyNzhGRSAvKiBQbHVnaW4uMzIgKi87CkBAIC05OTQz
LDE2ICs5NTgwLDYgQEAKIAkJCXRhcmdldCA9IEJDM0RFNDY1MTVBOTE3NjMwMDhEMjZGQyAvKiBX
ZWJDb250ZW50ICovOwogCQkJdGFyZ2V0UHJveHkgPSBCQ0E4RDQ2NzE1QkNFMEQ2MDA5REMxRjEg
LyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovOwogCQl9OwotCQlCQ0RFMDkzNjEzMjcyNDk2MDAx
MjU5RkIgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKLQkJCWlzYSA9IFBCWFRhcmdldERl
cGVuZGVuY3k7Ci0JCQl0YXJnZXQgPSA4REMyRUY0RjA0ODZBNjk0MDA5OEIyMTYgLyogV2ViS2l0
ICovOwotCQkJdGFyZ2V0UHJveHkgPSBCQ0RFMDkzNzEzMjcyNDk2MDAxMjU5RkIgLyogUEJYQ29u
dGFpbmVySXRlbVByb3h5ICovOwotCQl9OwotCQlCQ0RFMEFDMTEzMjcyNzEyMDAxMjU5RkIgLyog
UEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKLQkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVuY3k7
Ci0JCQl0YXJnZXQgPSBCQ0RFMDkzMzEzMjcyNDk2MDAxMjU5RkIgLyogUGx1Z2luUHJvY2VzcyAq
LzsKLQkJCXRhcmdldFByb3h5ID0gQkNERTBBQzAxMzI3MjcxMjAwMTI1OUZCIC8qIFBCWENvbnRh
aW5lckl0ZW1Qcm94eSAqLzsKLQkJfTsKIC8qIEVuZCBQQlhUYXJnZXREZXBlbmRlbmN5IHNlY3Rp
b24gKi8KIAogLyogQmVnaW4gUEJYVmFyaWFudEdyb3VwIHNlY3Rpb24gKi8KQEAgLTk5NjcsMjAg
Kzk1OTQsNiBAQAogLyogRW5kIFBCWFZhcmlhbnRHcm91cCBzZWN0aW9uICovCiAKIC8qIEJlZ2lu
IFhDQnVpbGRDb25maWd1cmF0aW9uIHNlY3Rpb24gKi8KLQkJMUE1MERCMjExMTBBM0JERDAwMEQz
RkU1IC8qIERlYnVnICovID0gewotCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247Ci0JCQli
YXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDVEQUQ3Mjk0MTE2RkY3MEIwMEVFNTM5NiAvKiBX
ZWJDb250ZW50UHJvY2Vzcy54Y2NvbmZpZyAqLzsKLQkJCWJ1aWxkU2V0dGluZ3MgPSB7Ci0JCQl9
OwotCQkJbmFtZSA9IERlYnVnOwotCQl9OwotCQkxQTUwREIyMjExMEEzQkREMDAwRDNGRTUgLyog
UmVsZWFzZSAqLyA9IHsKLQkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwotCQkJYmFzZUNv
bmZpZ3VyYXRpb25SZWZlcmVuY2UgPSA1REFENzI5NDExNkZGNzBCMDBFRTUzOTYgLyogV2ViQ29u
dGVudFByb2Nlc3MueGNjb25maWcgKi87Ci0JCQlidWlsZFNldHRpbmdzID0gewotCQkJfTsKLQkJ
CW5hbWUgPSBSZWxlYXNlOwotCQl9OwogCQkxQTUwREIzOTExMEEzQzEzMDAwRDNGRTUgLyogRGVi
dWcgKi8gPSB7CiAJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKIAkJCWJhc2VDb25maWd1
cmF0aW9uUmVmZXJlbmNlID0gQTFFREQyRDkxODg0QUNFMDAwQkJGRTk4IC8qIEFsbC54Y2NvbmZp
ZyAqLzsKQEAgLTEwMDk1LDI3ICs5NzA4LDYgQEAKIAkJCX07CiAJCQluYW1lID0gUHJvZHVjdGlv
bjsKIAkJfTsKLQkJNTEwQ0M4M0QxNjEzQzc5OTAwRDAzRUQzIC8qIERlYnVnICovID0gewotCQkJ
aXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247Ci0JCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5j
ZSA9IDUxMENDODQ2MTYxM0M3QzYwMEQwM0VEMyAvKiBOZXR3b3JrUHJvY2Vzcy54Y2NvbmZpZyAq
LzsKLQkJCWJ1aWxkU2V0dGluZ3MgPSB7Ci0JCQl9OwotCQkJbmFtZSA9IERlYnVnOwotCQl9Owot
CQk1MTBDQzgzRTE2MTNDNzk5MDBEMDNFRDMgLyogUmVsZWFzZSAqLyA9IHsKLQkJCWlzYSA9IFhD
QnVpbGRDb25maWd1cmF0aW9uOwotCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSA1MTBD
Qzg0NjE2MTNDN0M2MDBEMDNFRDMgLyogTmV0d29ya1Byb2Nlc3MueGNjb25maWcgKi87Ci0JCQli
dWlsZFNldHRpbmdzID0gewotCQkJfTsKLQkJCW5hbWUgPSBSZWxlYXNlOwotCQl9OwotCQk1MTBD
QzgzRjE2MTNDNzk5MDBEMDNFRDMgLyogUHJvZHVjdGlvbiAqLyA9IHsKLQkJCWlzYSA9IFhDQnVp
bGRDb25maWd1cmF0aW9uOwotCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSA1MTBDQzg0
NjE2MTNDN0M2MDBEMDNFRDMgLyogTmV0d29ya1Byb2Nlc3MueGNjb25maWcgKi87Ci0JCQlidWls
ZFNldHRpbmdzID0gewotCQkJfTsKLQkJCW5hbWUgPSBQcm9kdWN0aW9uOwotCQl9OwogCQk1MUY3
REM0NzE4MENDOTM2MDAyMTJDQTMgLyogRGVidWcgKi8gPSB7CiAJCQlpc2EgPSBYQ0J1aWxkQ29u
ZmlndXJhdGlvbjsKIAkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gNTFBNjBCMjkxODBD
Q0Q5MDAwRjNCRjUwIC8qIERhdGFiYXNlU2VydmljZS54Y2NvbmZpZyAqLzsKQEAgLTEwMTM3LDI3
ICs5NzI5LDYgQEAKIAkJCX07CiAJCQluYW1lID0gUHJvZHVjdGlvbjsKIAkJfTsKLQkJNTFGQTFF
MjUxODBDQ0FERTAwQzQ0QkU5IC8qIERlYnVnICovID0gewotCQkJaXNhID0gWENCdWlsZENvbmZp
Z3VyYXRpb247Ci0JCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDUxQTYwQjI3MTgwQ0NE
OTAwMEYzQkY1MCAvKiBEYXRhYmFzZVByb2Nlc3MueGNjb25maWcgKi87Ci0JCQlidWlsZFNldHRp
bmdzID0gewotCQkJfTsKLQkJCW5hbWUgPSBEZWJ1ZzsKLQkJfTsKLQkJNTFGQTFFMjYxODBDQ0FE
RTAwQzQ0QkU5IC8qIFJlbGVhc2UgKi8gPSB7Ci0JCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlv
bjsKLQkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gNTFBNjBCMjcxODBDQ0Q5MDAwRjNC
RjUwIC8qIERhdGFiYXNlUHJvY2Vzcy54Y2NvbmZpZyAqLzsKLQkJCWJ1aWxkU2V0dGluZ3MgPSB7
Ci0JCQl9OwotCQkJbmFtZSA9IFJlbGVhc2U7Ci0JCX07Ci0JCTUxRkExRTI3MTgwQ0NBREUwMEM0
NEJFOSAvKiBQcm9kdWN0aW9uICovID0gewotCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247
Ci0JCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDUxQTYwQjI3MTgwQ0NEOTAwMEYzQkY1
MCAvKiBEYXRhYmFzZVByb2Nlc3MueGNjb25maWcgKi87Ci0JCQlidWlsZFNldHRpbmdzID0gewot
CQkJfTsKLQkJCW5hbWUgPSBQcm9kdWN0aW9uOwotCQl9OwogCQk1RDIyRDY5QjExQTc1MzQ2MDBC
RjMwRTUgLyogUHJvZHVjdGlvbiAqLyA9IHsKIAkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9u
OwogCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSAxQTRGOTc2QTEwMEU3QjY2MDA2MzdB
MTggLyogQmFzZS54Y2NvbmZpZyAqLzsKQEAgLTEwMTg0LDEzICs5NzU1LDYgQEAKIAkJCX07CiAJ
CQluYW1lID0gUHJvZHVjdGlvbjsKIAkJfTsKLQkJNUQyMkQ2OUUxMUE3NTM0NjAwQkYzMEU1IC8q
IFByb2R1Y3Rpb24gKi8gPSB7Ci0JCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKLQkJCWJh
c2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gNURBRDcyOTQxMTZGRjcwQjAwRUU1Mzk2IC8qIFdl
YkNvbnRlbnRQcm9jZXNzLnhjY29uZmlnICovOwotCQkJYnVpbGRTZXR0aW5ncyA9IHsKLQkJCX07
Ci0JCQluYW1lID0gUHJvZHVjdGlvbjsKLQkJfTsKIAkJQTdBQURBMTExOTM5NUNBOTAwM0VBMUM3
IC8qIERlYnVnICovID0gewogCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CiAJCQliYXNl
Q29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDM3RTgzRDQwMUIzN0QyN0IwMDIwNzlFRSAvKiBTYW5k
Ym94UHJvZmlsZXMueGNjb25maWcgKi87CkBAIC0xMDI5OSwyNyArOTg2Myw2IEBACiAJCQl9Owog
CQkJbmFtZSA9IFByb2R1Y3Rpb247CiAJCX07Ci0JCUJDREUwOTNGMTMyNzI0OTYwMDEyNTlGQiAv
KiBEZWJ1ZyAqLyA9IHsKLQkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwotCQkJYmFzZUNv
bmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBCQzEyMkZBMzEzMjcwN0YzMDBGN0VBQzEgLyogUGx1Z2lu
UHJvY2Vzcy54Y2NvbmZpZyAqLzsKLQkJCWJ1aWxkU2V0dGluZ3MgPSB7Ci0JCQl9OwotCQkJbmFt
ZSA9IERlYnVnOwotCQl9OwotCQlCQ0RFMDk0MDEzMjcyNDk2MDAxMjU5RkIgLyogUmVsZWFzZSAq
LyA9IHsKLQkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwotCQkJYmFzZUNvbmZpZ3VyYXRp
b25SZWZlcmVuY2UgPSBCQzEyMkZBMzEzMjcwN0YzMDBGN0VBQzEgLyogUGx1Z2luUHJvY2Vzcy54
Y2NvbmZpZyAqLzsKLQkJCWJ1aWxkU2V0dGluZ3MgPSB7Ci0JCQl9OwotCQkJbmFtZSA9IFJlbGVh
c2U7Ci0JCX07Ci0JCUJDREUwOTQxMTMyNzI0OTYwMDEyNTlGQiAvKiBQcm9kdWN0aW9uICovID0g
ewotCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247Ci0JCQliYXNlQ29uZmlndXJhdGlvblJl
ZmVyZW5jZSA9IEJDMTIyRkEzMTMyNzA3RjMwMEY3RUFDMSAvKiBQbHVnaW5Qcm9jZXNzLnhjY29u
ZmlnICovOwotCQkJYnVpbGRTZXR0aW5ncyA9IHsKLQkJCX07Ci0JCQluYW1lID0gUHJvZHVjdGlv
bjsKLQkJfTsKIAkJQzBDRTcyODYxMjQ3RTY2ODAwQkMwRUM0IC8qIERlYnVnICovID0gewogCQkJ
aXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CiAJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5j
ZSA9IDVEQUQ3M0YxMTE2RkY5MEMwMEVFNTM5NiAvKiBCYXNlVGFyZ2V0LnhjY29uZmlnICovOwpA
QCAtMTAzNzYsMTYgKzk5MTksNiBAQAogLyogRW5kIFhDQnVpbGRDb25maWd1cmF0aW9uIHNlY3Rp
b24gKi8KIAogLyogQmVnaW4gWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9uICovCi0JCTFBNTBE
QjIzMTEwQTNCREUwMDBEM0ZFNSAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5h
dGl2ZVRhcmdldCAiV2ViUHJvY2VzcyIgKi8gPSB7Ci0JCQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25M
aXN0OwotCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKLQkJCQkxQTUwREIyMTExMEEzQkREMDAw
RDNGRTUgLyogRGVidWcgKi8sCi0JCQkJMUE1MERCMjIxMTBBM0JERDAwMEQzRkU1IC8qIFJlbGVh
c2UgKi8sCi0JCQkJNUQyMkQ2OUUxMUE3NTM0NjAwQkYzMEU1IC8qIFByb2R1Y3Rpb24gKi8sCi0J
CQkpOwotCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOwotCQkJZGVmYXVsdENv
bmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsKLQkJfTsKIAkJMUE1MERCNDgxMTBBM0MyNzAw
MEQzRkU1IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRlVGFyZ2V0
ICJBbGwiICovID0gewogCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKIAkJCWJ1aWxkQ29u
ZmlndXJhdGlvbnMgPSAoCkBAIC0xMDQzNiwxNiArOTk2OSw2IEBACiAJCQlkZWZhdWx0Q29uZmln
dXJhdGlvbklzVmlzaWJsZSA9IDA7CiAJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBQcm9k
dWN0aW9uOwogCQl9OwotCQk1MTBDQzg0MzE2MTNDNzk5MDBEMDNFRDMgLyogQnVpbGQgY29uZmln
dXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIk5ldHdvcmtQcm9jZXNzIiAqLyA9IHsK
LQkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7Ci0JCQlidWlsZENvbmZpZ3VyYXRpb25zID0g
KAotCQkJCTUxMENDODNEMTYxM0M3OTkwMEQwM0VEMyAvKiBEZWJ1ZyAqLywKLQkJCQk1MTBDQzgz
RTE2MTNDNzk5MDBEMDNFRDMgLyogUmVsZWFzZSAqLywKLQkJCQk1MTBDQzgzRjE2MTNDNzk5MDBE
MDNFRDMgLyogUHJvZHVjdGlvbiAqLywKLQkJCSk7Ci0JCQlkZWZhdWx0Q29uZmlndXJhdGlvbklz
VmlzaWJsZSA9IDA7Ci0JCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBQcm9kdWN0aW9uOwot
CQl9OwogCQk1MUY3REM0NjE4MENDOTM2MDAyMTJDQTMgLyogQnVpbGQgY29uZmlndXJhdGlvbiBs
aXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIkRhdGFiYXNlcyIgKi8gPSB7CiAJCQlpc2EgPSBYQ0Nv
bmZpZ3VyYXRpb25MaXN0OwogCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKQEAgLTEwNDU2LDE2
ICs5OTc5LDYgQEAKIAkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKIAkJCWRl
ZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9IFByb2R1Y3Rpb247CiAJCX07Ci0JCTUxRkExRTI0MTgw
Q0NBREUwMEM0NEJFOSAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRh
cmdldCAiRGF0YWJhc2VQcm9jZXNzIiAqLyA9IHsKLQkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxp
c3Q7Ci0JCQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAotCQkJCTUxRkExRTI1MTgwQ0NBREUwMEM0
NEJFOSAvKiBEZWJ1ZyAqLywKLQkJCQk1MUZBMUUyNjE4MENDQURFMDBDNDRCRTkgLyogUmVsZWFz
ZSAqLywKLQkJCQk1MUZBMUUyNzE4MENDQURFMDBDNDRCRTkgLyogUHJvZHVjdGlvbiAqLywKLQkJ
CSk7Ci0JCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7Ci0JCQlkZWZhdWx0Q29u
ZmlndXJhdGlvbk5hbWUgPSBQcm9kdWN0aW9uOwotCQl9OwogCQlBN0FBREExNDE5Mzk1Q0E5MDAz
RUExQzcgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQg
IlNhbmRib3ggUHJvZmlsZXMiICovID0gewogCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsK
IAkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCkBAIC0xMDUxNiwxNiArMTAwMjksNiBAQAogCQkJ
ZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOwogCQkJZGVmYXVsdENvbmZpZ3VyYXRp
b25OYW1lID0gUHJvZHVjdGlvbjsKIAkJfTsKLQkJQkNERTA5M0UxMzI3MjQ5NjAwMTI1OUZCIC8q
IEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJQbHVnaW5Qcm9j
ZXNzIiAqLyA9IHsKLQkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7Ci0JCQlidWlsZENvbmZp
Z3VyYXRpb25zID0gKAotCQkJCUJDREUwOTNGMTMyNzI0OTYwMDEyNTlGQiAvKiBEZWJ1ZyAqLywK
LQkJCQlCQ0RFMDk0MDEzMjcyNDk2MDAxMjU5RkIgLyogUmVsZWFzZSAqLywKLQkJCQlCQ0RFMDk0
MTEzMjcyNDk2MDAxMjU5RkIgLyogUHJvZHVjdGlvbiAqLywKLQkJCSk7Ci0JCQlkZWZhdWx0Q29u
ZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7Ci0JCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBQ
cm9kdWN0aW9uOwotCQl9OwogCQlDMENFNzI4OTEyNDdFNjg2MDBCQzBFQzQgLyogQnVpbGQgY29u
ZmlndXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIkRlcml2ZWQgU291cmNlcyIg
Ki8gPSB7CiAJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OwogCQkJYnVpbGRDb25maWd1cmF0
aW9ucyA9ICgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRW50cnlQb2lu
dC9tYWMvTGVnYWN5UHJvY2Vzcy9JbmZvLnBsaXN0IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9FbnRyeVBvaW50L21hYy9MZWdhY3lQcm9jZXNzL0luZm8ucGxpc3QKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDFkNjBlNTZhM2ViYTVjYzU0OWJkNDY5YTk5Nzg0NTRjNDFiNTQwOTAu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9FbnRyeVBvaW50L21hYy9MZWdhY3lQcm9jZXNzL0luZm8ucGxpc3QK
KysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29k
aW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElT
VCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0
ZCI+Ci08cGxpc3QgdmVyc2lvbj0iMS4wIj4KLTxkaWN0PgotCTxrZXk+Q0ZCdW5kbGVFeGVjdXRh
YmxlPC9rZXk+Ci0JPHN0cmluZz4ke1BST0RVQ1RfTkFNRX08L3N0cmluZz4KLQk8a2V5PkNGQnVu
ZGxlR2V0SW5mb1N0cmluZzwva2V5PgotCTxzdHJpbmc+JHtCVU5ETEVfVkVSU0lPTn0sIENvcHly
aWdodCAyMDAzLTIwMTYgQXBwbGUgSW5jLjwvc3RyaW5nPgotCTxrZXk+Q0ZCdW5kbGVJY29uRmls
ZTwva2V5PgotCTxzdHJpbmc+JHtBUFBfSUNPTn08L3N0cmluZz4KLQk8a2V5PkNGQnVuZGxlSWRl
bnRpZmllcjwva2V5PgotCTxzdHJpbmc+Y29tLmFwcGxlLiR7UFJPRFVDVF9OQU1FfTwvc3RyaW5n
PgotCTxrZXk+Q0ZCdW5kbGVJbmZvRGljdGlvbmFyeVZlcnNpb248L2tleT4KLQk8c3RyaW5nPjYu
MDwvc3RyaW5nPgotCTxrZXk+Q0ZCdW5kbGVOYW1lPC9rZXk+Ci0JPHN0cmluZz4ke1BST0RVQ1Rf
TkFNRX08L3N0cmluZz4KLQk8a2V5PkNGQnVuZGxlUGFja2FnZVR5cGU8L2tleT4KLQk8c3RyaW5n
PkFQUEw8L3N0cmluZz4KLQk8a2V5PkNGQnVuZGxlU2hvcnRWZXJzaW9uU3RyaW5nPC9rZXk+Ci0J
PHN0cmluZz4ke1NIT1JUX1ZFUlNJT05fU1RSSU5HfTwvc3RyaW5nPgotCTxrZXk+Q0ZCdW5kbGVW
ZXJzaW9uPC9rZXk+Ci0JPHN0cmluZz4ke0JVTkRMRV9WRVJTSU9OfTwvc3RyaW5nPgotCTxrZXk+
TFNGaWxlUXVhcmFudGluZUVuYWJsZWQ8L2tleT4KLQk8dHJ1ZS8+Ci0JPGtleT5MU01pbmltdW1T
eXN0ZW1WZXJzaW9uPC9rZXk+Ci0JPHN0cmluZz4ke01BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVH08
L3N0cmluZz4KLQk8a2V5PkxTVUlFbGVtZW50PC9rZXk+Ci0JPHRydWUvPgotCTxrZXk+TlNQcmlu
Y2lwYWxDbGFzczwva2V5PgotCTxzdHJpbmc+TlNBcHBsaWNhdGlvbjwvc3RyaW5nPgotCTxrZXk+
Q0ZCdW5kbGVBbGxvd01peGVkTG9jYWxpemF0aW9uczwva2V5PgotCTx0cnVlLz4KLQk8a2V5Pldl
YktpdEVudHJ5UG9pbnQ8L2tleT4KLQk8c3RyaW5nPldlYkNvbnRlbnRQcm9jZXNzTWFpbjwvc3Ry
aW5nPgotCTxrZXk+TlNTdXBwb3J0c0F1dG9tYXRpY0dyYXBoaWNzU3dpdGNoaW5nPC9rZXk+Ci0J
PHRydWUvPgotCTxrZXk+TlNTdXBwb3J0c0FwcE5hcDwva2V5PgotCTx0cnVlLz4KLQk8a2V5Pk5T
TWFpbk5pYkZpbGU8L2tleT4KLQk8c3RyaW5nPldlYkNvbnRlbnRQcm9jZXNzPC9zdHJpbmc+Ci08
L2RpY3Q+Ci08L3BsaXN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9F
bnRyeVBvaW50L21hYy9MZWdhY3lQcm9jZXNzL1dlYkNvbnRlbnRQcm9jZXNzTWFpbi5tbSBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRW50cnlQb2ludC9tYWMvTGVnYWN5UHJvY2Vzcy9XZWJD
b250ZW50UHJvY2Vzc01haW4ubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY4Njg2
ZGRmNzIyMzNhNzEzZGFkYTYyZjM2YjA3MDYzNjNkMzIwNmMuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9FbnRy
eVBvaW50L21hYy9MZWdhY3lQcm9jZXNzL1dlYkNvbnRlbnRQcm9jZXNzTWFpbi5tbQorKysgL2Rl
di9udWxsCkBAIC0xLDIwMSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEx
LCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9y
dCAiY29uZmlnLmgiCi0KLSNpbXBvcnQgIkNoaWxkUHJvY2Vzc0VudHJ5UG9pbnQuaCIKLSNpbXBv
cnQgIkVudmlyb25tZW50VXRpbGl0aWVzLmgiCi0jaW1wb3J0ICJFbnZpcm9ubWVudFZhcmlhYmxl
cy5oIgotI2ltcG9ydCAiU3RyaW5nVXRpbGl0aWVzLmgiCi0jaW1wb3J0ICJXS0Jhc2UuaCIKLSNp
bXBvcnQgIldlYlByb2Nlc3MuaCIKLSNpbXBvcnQgPFdlYkNvcmUvU2VydmVyc1NQSS5oPgotI2lt
cG9ydCA8bWFjaC9tYWNoX2Vycm9yLmg+Ci0jaW1wb3J0IDxzcGF3bi5oPgotI2ltcG9ydCA8c3Rk
aW8uaD4KLSNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KLSNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+
Ci0jaW1wb3J0IDx3dGYvdGV4dC9DU3RyaW5nLmg+Ci0jaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KLQotI2lmIFBMQVRGT1JNKElPUykKLSNpbXBvcnQgPFdlYkNvcmUvR3JhcGhpY3NTZXJ2
aWNlc1NQSS5oPgotI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlVGhyZWFkU3lzdGVtSW50ZXJmYWNl
Lmg+Ci0jZW5kaWYKLQotI2lmIFVTRShBUFBLSVQpCi1AaW50ZXJmYWNlIE5TQXBwbGljYXRpb24g
KFdlYk5TQXBwbGljYXRpb25EZXRhaWxzKQotLSh2b2lkKV9pbnN0YWxsQXV0b3JlbGVhc2VQb29s
c09uQ3VycmVudFRocmVhZElmTmVjZXNzYXJ5OwotQGVuZAotI2VuZGlmCi0KLXVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgV2ViQ29udGVudFBy
b2Nlc3NNYWluRGVsZWdhdGUgOiBwdWJsaWMgQ2hpbGRQcm9jZXNzTWFpbkRlbGVnYXRlIHsKLXB1
YmxpYzoKLSAgICBXZWJDb250ZW50UHJvY2Vzc01haW5EZWxlZ2F0ZShjb25zdCBDb21tYW5kTGlu
ZSYgY29tbWFuZExpbmUpCi0gICAgICAgIDogQ2hpbGRQcm9jZXNzTWFpbkRlbGVnYXRlKGNvbW1h
bmRMaW5lKQotICAgIHsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIHZvaWQgZG9QcmVJbml0aWFsaXph
dGlvbldvcmsoKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgLy8gUmVtb3ZlIHRoZSBXZWJQcm9j
ZXNzIGFuZCBTZWNJdGVtIHNoaW1zIGZyb20gdGhlIERZTERfSU5TRVJUX0xJQlJBUklFUyBlbnZp
cm9ubWVudCB2YXJpYWJsZSBzbyBhbnkgcHJvY2Vzc2VzCi0gICAgICAgIC8vIHNwYXduZWQgYnkg
dGhlIFdlYlByb2Nlc3MgZG9uJ3QgdHJ5IHRvIGluc2VydCB0aGUgc2hpbXMgYW5kIGNyYXNoLgot
ICAgICAgICBFbnZpcm9ubWVudFV0aWxpdGllczo6c3RyaXBWYWx1ZXNFbmRpbmdXaXRoU3RyaW5n
KCJEWUxEX0lOU0VSVF9MSUJSQVJJRVMiLCAiL1dlYlByb2Nlc3NTaGltLmR5bGliIik7Ci0gICAg
ICAgIEVudmlyb25tZW50VXRpbGl0aWVzOjpzdHJpcFZhbHVlc0VuZGluZ1dpdGhTdHJpbmcoIkRZ
TERfSU5TRVJUX0xJQlJBUklFUyIsICIvU2VjSXRlbVNoaW0uZHlsaWIiKTsKLSAgICAKLSNpZiBV
U0UoQVBQS0lUKQotICAgICAgICAvLyBJbml0aWFsaXplIEFwcEtpdC4KLSAgICAgICAgW05TQXBw
bGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dOwotCi0gICAgICAgIC8vIEluc3RhbGxzIGF1dG9y
ZWxlYXNlIHBvb2xzIG9uIHRoZSBjdXJyZW50IHJ1bmxvb3Agd2hpY2ggcHJldmVudHMgbWVtb3J5
IGZyb20gYWNjdW11bGF0aW5nIGJldHdlZW4gdXNlciBldmVudHMuCi0gICAgICAgIC8vIEZJWE1F
OiBSZW1vdmUgd2hlbiA8cmRhcjovL3Byb2JsZW0vODkyOTQyNj4gaXMgZml4ZWQuCi0gICAgICAg
IFtOU0FwcCBfaW5zdGFsbEF1dG9yZWxlYXNlUG9vbHNPbkN1cnJlbnRUaHJlYWRJZk5lY2Vzc2Fy
eV07Ci0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKElPUykKLSAgICAgICAgR1NJbml0aWFsaXplKCk7
Ci0gICAgICAgIEluaXRXZWJDb3JlVGhyZWFkU3lzdGVtSW50ZXJmYWNlKCk7Ci0jZW5kaWYgLy8g
UExBVEZPUk0oSU9TKQotICAgIH0KLQotICAgIHZpcnR1YWwgYm9vbCBnZXRDb25uZWN0aW9uSWRl
bnRpZmllcihJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXImIGlkZW50aWZpZXIpIG92ZXJyaWRl
Ci0gICAgewotICAgICAgICBTdHJpbmcgY2xpZW50RXhlY3V0YWJsZSA9IG1fY29tbWFuZExpbmVb
ImNsaWVudC1leGVjdXRhYmxlIl07Ci0gICAgICAgIGlmIChjbGllbnRFeGVjdXRhYmxlLmlzRW1w
dHkoKSkKLSAgICAgICAgICAgIHJldHVybiBDaGlsZFByb2Nlc3NNYWluRGVsZWdhdGU6OmdldENv
bm5lY3Rpb25JZGVudGlmaWVyKGlkZW50aWZpZXIpOwotCi0gICAgICAgIG1hY2hfcG9ydF9uYW1l
X3QgcHVibGlzaGVkU2VydmljZTsKLSAgICAgICAgbWFjaF9wb3J0X2FsbG9jYXRlKG1hY2hfdGFz
a19zZWxmKCksIE1BQ0hfUE9SVF9SSUdIVF9SRUNFSVZFLCAmcHVibGlzaGVkU2VydmljZSk7Ci0g
ICAgICAgIG1hY2hfcG9ydF9pbnNlcnRfcmlnaHQobWFjaF90YXNrX3NlbGYoKSwgcHVibGlzaGVk
U2VydmljZSwgcHVibGlzaGVkU2VydmljZSwgTUFDSF9NU0dfVFlQRV9NQUtFX1NFTkQpOwotICAg
ICAgICAvLyBNYWtlIGl0IHBvc3NpYmxlIHRvIGxvb2sgdXAuCi0gICAgICAgIFN0cmluZyBzZXJ2
aWNlTmFtZSA9IFN0cmluZzo6Zm9ybWF0KCJjb20uYXBwbGUuV2ViS2l0LldlYlByb2Nlc3MtJWQi
LCBnZXRwaWQoKSk7Ci0KLSNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCi0jcHJhZ21hIGNs
YW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIKLSAgICAg
ICAgaWYgKGtlcm5fcmV0dXJuX3Qga3IgPSBib290c3RyYXBfcmVnaXN0ZXIyKGJvb3RzdHJhcF9w
b3J0LCBjb25zdF9jYXN0PGNoYXIqPihzZXJ2aWNlTmFtZS51dGY4KCkuZGF0YSgpKSwgcHVibGlz
aGVkU2VydmljZSwgMCkpIHsKLSAgICAgICAgICAgIFdURkxvZ0Fsd2F5cygiRmFpbGVkIHRvIHJl
Z2lzdGVyIHNlcnZpY2UgbmFtZSBcIiVzXCIuICVzICgleClcbiIsIHNlcnZpY2VOYW1lLnV0Zjgo
KS5kYXRhKCksIG1hY2hfZXJyb3Jfc3RyaW5nKGtyKSwga3IpOwotICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgICAgICB9Ci0jcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCi0KLSAgICAg
ICAgQ1N0cmluZyBjb21tYW5kID0gY2xpZW50RXhlY3V0YWJsZS51dGY4KCk7Ci0gICAgICAgIGNv
bnN0IGNoYXIqIGFyZ3NbXSA9IHsgY29tbWFuZC5kYXRhKCksIDAgfTsKLQotICAgICAgICBFbnZp
cm9ubWVudFZhcmlhYmxlcyBlbnZpcm9ubWVudFZhcmlhYmxlczsKLSAgICAgICAgZW52aXJvbm1l
bnRWYXJpYWJsZXMuc2V0KEVudmlyb25tZW50VmFyaWFibGVzOjpwcmVleGlzdGluZ1Byb2Nlc3NT
ZXJ2aWNlTmFtZUtleSgpLCBzZXJ2aWNlTmFtZS51dGY4KCkuZGF0YSgpKTsKLSAgICAgICAgZW52
aXJvbm1lbnRWYXJpYWJsZXMuc2V0KEVudmlyb25tZW50VmFyaWFibGVzOjpwcmVleGlzdGluZ1By
b2Nlc3NUeXBlS2V5KCksIG1fY29tbWFuZExpbmVbInR5cGUiXS51dGY4KCkuZGF0YSgpKTsKLQot
ICAgICAgICBwb3NpeF9zcGF3bl9maWxlX2FjdGlvbnNfdCBmaWxlQWN0aW9uczsKLSAgICAgICAg
cG9zaXhfc3Bhd25fZmlsZV9hY3Rpb25zX2luaXQoJmZpbGVBY3Rpb25zKTsKLSAgICAgICAgcG9z
aXhfc3Bhd25fZmlsZV9hY3Rpb25zX2FkZGluaGVyaXRfbnAoJmZpbGVBY3Rpb25zLCBTVERJTl9G
SUxFTk8pOwotICAgICAgICBwb3NpeF9zcGF3bl9maWxlX2FjdGlvbnNfYWRkaW5oZXJpdF9ucCgm
ZmlsZUFjdGlvbnMsIFNURE9VVF9GSUxFTk8pOwotICAgICAgICBwb3NpeF9zcGF3bl9maWxlX2Fj
dGlvbnNfYWRkaW5oZXJpdF9ucCgmZmlsZUFjdGlvbnMsIFNUREVSUl9GSUxFTk8pOwotCi0gICAg
ICAgIHBvc2l4X3NwYXduYXR0cl90IGF0dHJpYnV0ZXM7Ci0gICAgICAgIHBvc2l4X3NwYXduYXR0
cl9pbml0KCZhdHRyaWJ1dGVzKTsKLSAgICAgICAgcG9zaXhfc3Bhd25hdHRyX3NldGZsYWdzKCZh
dHRyaWJ1dGVzLCBQT1NJWF9TUEFXTl9DTE9FWEVDX0RFRkFVTFQgfCBQT1NJWF9TUEFXTl9TRVRQ
R1JPVVApOwotCi0gICAgICAgIGludCBzcGF3blJlc3VsdCA9IHBvc2l4X3NwYXduKDAsIGNvbW1h
bmQuZGF0YSgpLCAmZmlsZUFjdGlvbnMsICZhdHRyaWJ1dGVzLCBjb25zdF9jYXN0PGNoYXIqKj4o
YXJncyksIGVudmlyb25tZW50VmFyaWFibGVzLmVudmlyb25tZW50UG9pbnRlcigpKTsKLQotICAg
ICAgICBwb3NpeF9zcGF3bmF0dHJfZGVzdHJveSgmYXR0cmlidXRlcyk7Ci0gICAgICAgIHBvc2l4
X3NwYXduX2ZpbGVfYWN0aW9uc19kZXN0cm95KCZmaWxlQWN0aW9ucyk7Ci0KLSAgICAgICAgaWYg
KHNwYXduUmVzdWx0KQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgICAgIG1hY2hf
bXNnX2VtcHR5X3Jjdl90IG1lc3NhZ2U7Ci0gICAgICAgIGlmIChrZXJuX3JldHVybl90IGtyID0g
bWFjaF9tc2coJm1lc3NhZ2UuaGVhZGVyLCBNQUNIX1JDVl9NU0csIDAsIHNpemVvZihtZXNzYWdl
KSwgcHVibGlzaGVkU2VydmljZSwgTUFDSF9NU0dfVElNRU9VVF9OT05FLCBNQUNIX1BPUlRfTlVM
TCkpIHsKLSAgICAgICAgICAgIFdURkxvZ0Fsd2F5cygiRmFpbGVkIHRvIHJlY2VpdmUgcG9ydCBm
cm9tIHRoZSBVSSBwcm9jZXNzLiAlcyAoJXgpXG4iLCBtYWNoX2Vycm9yX3N0cmluZyhrciksIGty
KTsKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotCi0gICAgICAgIG1hY2hf
cG9ydF9tb2RfcmVmcyhtYWNoX3Rhc2tfc2VsZigpLCBwdWJsaXNoZWRTZXJ2aWNlLCBNQUNIX1BP
UlRfUklHSFRfUkVDRUlWRSwgLTEpOwotICAgICAgICBtYWNoX3BvcnRfdCBzZXJ2ZXJQb3J0ID0g
bWVzc2FnZS5oZWFkZXIubXNnaF9yZW1vdGVfcG9ydDsKLSAgICAgICAgbWFjaF9wb3J0X3R5cGVf
dCBwb3J0VHlwZTsKLSAgICAgICAga2Vybl9yZXR1cm5fdCBrciA9IG1hY2hfcG9ydF90eXBlKG1h
Y2hfdGFza19zZWxmKCksIHNlcnZlclBvcnQsICZwb3J0VHlwZSk7Ci0gICAgICAgIGlmIChrciB8
fCAhKHBvcnRUeXBlICYgTUFDSF9QT1JUX1RZUEVfU0VORCkpIHsKLSAgICAgICAgICAgIFdURkxv
Z0Fsd2F5cygiRmFpbGVkIHRvIG9idGFpbiBzZW5kIHJpZ2h0IGZvciBwb3J0IHJlY2VpdmVkIGZy
b20gdGhlIFVJIHByb2Nlc3MuXG4iKTsKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAg
ICAgfQotCi0gICAgICAgIGlkZW50aWZpZXIgPSBzZXJ2ZXJQb3J0OwotICAgICAgICByZXR1cm4g
dHJ1ZTsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIGJvb2wgZ2V0Q2xpZW50SWRlbnRpZmllcihTdHJp
bmcmIGNsaWVudElkZW50aWZpZXIpIG92ZXJyaWRlCi0gICAgewotICAgICAgICBTdHJpbmcgY2xp
ZW50RXhlY3V0YWJsZSA9IG1fY29tbWFuZExpbmVbImNsaWVudC1leGVjdXRhYmxlIl07Ci0gICAg
ICAgIGlmIChjbGllbnRFeGVjdXRhYmxlLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIHJldHVybiBD
aGlsZFByb2Nlc3NNYWluRGVsZWdhdGU6OmdldENsaWVudElkZW50aWZpZXIoY2xpZW50SWRlbnRp
Zmllcik7Ci0KLSAgICAgICAgUmV0YWluUHRyPE5TVVJMPiBjbGllbnRFeGVjdXRhYmxlVVJMID0g
YWRvcHROUyhbW05TVVJMIGFsbG9jXSBpbml0RmlsZVVSTFdpdGhQYXRoOm5zU3RyaW5nRnJvbVdl
YkNvcmVTdHJpbmcoY2xpZW50RXhlY3V0YWJsZSldKTsKLSAgICAgICAgUmV0YWluUHRyPENGVVJM
UmVmPiBjbGllbnRCdW5kbGVVUkwgPSBhZG9wdENGKFdLQ29weUJ1bmRsZVVSTEZvckV4ZWN1dGFi
bGVVUkwoKENGVVJMUmVmKWNsaWVudEV4ZWN1dGFibGVVUkwuZ2V0KCkpKTsKLSAgICAgICAgUmV0
YWluUHRyPE5TQnVuZGxlPiBjbGllbnRCdW5kbGUgPSBhZG9wdE5TKFtbTlNCdW5kbGUgYWxsb2Nd
IGluaXRXaXRoVVJMOihOU1VSTCAqKWNsaWVudEJ1bmRsZVVSTC5nZXQoKV0pOwotICAgICAgICBj
bGllbnRJZGVudGlmaWVyID0gW2NsaWVudEJ1bmRsZSBidW5kbGVJZGVudGlmaWVyXTsKLSAgICAg
ICAgaWYgKGNsaWVudElkZW50aWZpZXIuaXNFbXB0eSgpKQotICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIGJvb2wgZ2V0
Q2xpZW50UHJvY2Vzc05hbWUoU3RyaW5nJiBjbGllbnRQcm9jZXNzTmFtZSkgb3ZlcnJpZGUKLSAg
ICB7Ci0gICAgICAgIFN0cmluZyBjbGllbnRFeGVjdXRhYmxlID0gbV9jb21tYW5kTGluZVsiY2xp
ZW50LWV4ZWN1dGFibGUiXTsKLSAgICAgICAgaWYgKGNsaWVudEV4ZWN1dGFibGUuaXNFbXB0eSgp
KQotICAgICAgICAgICAgcmV0dXJuIENoaWxkUHJvY2Vzc01haW5EZWxlZ2F0ZTo6Z2V0Q2xpZW50
UHJvY2Vzc05hbWUoY2xpZW50UHJvY2Vzc05hbWUpOwotCi0gICAgICAgIC8vIENvbmp1cmUgdXAg
YSBwcm9jZXNzIG5hbWUgYnkgdXNpbmcgZXZlcnl0aGluZyBhZnRlciB0aGUgbGFzdCBzbGFzaCBm
cm9tIHRoZSBjbGllbnQtZXhlY3V0YWJsZSwKLSAgICAgICAgLy8gZS5nLiAvQXBwbGljYXRpb25z
L1NhZmFyaS5hcHAvQ29udGVudHMvTWFjT1MvU2FmYXJpIGJlY29tZXMgU2FmYXJpLgotICAgICAg
ICBzaXplX3QgbGFzdFNsYXNoID0gY2xpZW50RXhlY3V0YWJsZS5yZXZlcnNlRmluZCgnLycpOwot
ICAgICAgICBjbGllbnRQcm9jZXNzTmFtZSA9IGNsaWVudEV4ZWN1dGFibGUuc3Vic3RyaW5nKGxh
c3RTbGFzaCArIDEpOwotICAgICAgICBpZiAoY2xpZW50UHJvY2Vzc05hbWUuaXNFbXB0eSgpKQot
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0K
LSAgICB2aXJ0dWFsIHZvaWQgc3RhcnRSdW5Mb29wKCkgb3ZlcnJpZGUKLSAgICB7Ci0jaWYgVVNF
KEFQUEtJVCkKLSAgICAgICAgQVNTRVJUKE5TQXBwKTsKLSAgICAgICAgW05TQXBwIHJ1bl07Ci0j
ZWxzZQotICAgICAgICBSdW5Mb29wOjpydW4oKTsKLSNlbmRpZgotICAgIH0KLX07Ci0KLX0gLy8g
bmFtZXNwYWNlIFdlYktpdAotCi11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCi1leHRlcm4gIkMi
IFdLX0VYUE9SVCBpbnQgV2ViQ29udGVudFByb2Nlc3NNYWluKGludCBhcmdjLCBjaGFyKiogYXJn
dik7Ci0KLWludCBXZWJDb250ZW50UHJvY2Vzc01haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQot
ewotICAgIHJldHVybiBDaGlsZFByb2Nlc3NNYWluPFdlYlByb2Nlc3MsIFdlYkNvbnRlbnRQcm9j
ZXNzTWFpbkRlbGVnYXRlPihhcmdjLCBhcmd2KTsKLX0K
</data>
<flag name="review"
          id="295940"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>