[Zope] Problems in updating ZClass instance property sheets

Per Hörnfeldt Per.Hornfeldt@reachin.se
Tue, 4 Sep 2001 15:45:52 +0200


This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_000_01C13547.E9BE2F70
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi,
In general, the problems concerns updating properties in propertysheets
belonging to certain ZClass.=20

We have a dtml-document called "UserRegistration" and a python script =
called
"registerUser". The dtml doc is=20
a form that is filled in with user data. Then the script is called to
proccess the data. We are using the standard
acl_users for storage of user data. Because we want to have some =
additional
information in the user object (and
the acl_user can not be extended with more properties), we are using a
product called "userinfo folder" found
on www.zope.org. For each acl_user, there will be a zclass instance of
UserInfo class in the userinfo folder.
So when acl_users.manage_user(...) is run, a userinfo for this object =
will
also be created.

The problem appears when we want add the additional information in the
userinfo object with the method manage_editProperties.
The property belongs to a propertysheet. We get the following error =
message
"you are not authorized to access propertysheets"
even though our user is a manager with all rights. And the funny thing =
is
that if we restart the server it executes
one time but following attempts fail.

The code that breaks looks like:

Note that the data is in the request
=20
=3D=3D=3D=3D=3D=3D=3D=3D
# create the user and save user data
  context.acl_users.manage_users('Add', request)

# save the additional properties for the user in its userinfo instance
  for object in container.data.user_info.objectValues('UserInfo'):
    if object.getId() =3D=3D request.name:
      =
object.propertysheets.get('student').manage_editProperties(request) //
student is the propertysheet name, it breaks here=20
   	=20
=3D=3D=3D=3D=3D=3D=3D=3D

We are running:
Zope 2.4.1 beta 1=20
UserInfoFolder-1-0-0 http://www.zope.org/Members/did/UserInfoFolder
on Windows NT

ZClass UserInfo (UserInfo.zexp) and script and DTML-doc =
(createUser.zexp)
are attached.
hope you guys can help us.

A UserInfoFolder data.user_info instance must be able to aquire in =
order to
be able to execute the code.


The entry point is the "userRegistration" DTML Document.

/Johan Parmar and Per H=F6rnfeldt

 <<createUser.zexp>>  <<UserInfo.zexp>>=20



               _  _ _ _ _ __________________________ _ _ _  _  _
         - - - - ReachIn ---------------------- - - - -=20
   =AF  =AF =AF =AF =
=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=
=AF=AF=AF =AF =AF =AF =20
Per H=F6rnfeldt
Reachin Technologies AB
=C5rsta=E4ngsv=E4gen 24
117 43 Stockholm
Sweden

Direct: +46 (8) 556 766 19
Phone:  +46 (8) 556 766 00
Fax:    +46 (8) 556 766 01
mailto:per.hornfeldt@reachin.se
Web:    www.reachin.se



------_=_NextPart_000_01C13547.E9BE2F70
Content-Type: application/octet-stream;
	name="createUser.zexp"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="createUser.zexp"

WkVYUAAAAAAAAGmRAAAAAAAAAlooKFUKT0ZTLkZvbGRlcnEBVQZGb2xkZXJxAnRxA050Ln1xBChV
AmlkcQVVCmNyZWF0ZVVzZXJxBlUSX19hY19sb2NhbF9yb2xlc19fcQd9cQhVBHBlcmhxCV1xClUF
T3duZXJxC2FzVQppbmRleF9odG1scQwoVQgAAAAAAABsWXENKFUQT0ZTLkRUTUxEb2N1bWVudHEO
VQxEVE1MRG9jdW1lbnRxD3R0UVUQdXNlclJlZ2lzdHJhdGlvbnEQKFUIAAAAAAAAioBxEShoDlUM
RFRNTERvY3VtZW50cRJ0dFFVCF9vYmplY3RzcRMofXEUKFUJbWV0YV90eXBlcRVVDURUTUwgRG9j
dW1lbnRxFlUCaWRxF1UKaW5kZXhfaHRtbHEYdX1xGShVCW1ldGFfdHlwZXEaVQ9TY3JpcHQgKFB5
dGhvbilxG1UCaWRxHFUIYWRkX1VzZXJxHXV9cR4oVQltZXRhX3R5cGVxH1UNRFRNTCBEb2N1bWVu
dHEgVQJpZHEhaBB1fXEiKFUJbWV0YV90eXBlcSNVD1NjcmlwdCAoUHl0aG9uKXEkVQJpZHElVQxy
ZWdpc3RlclVzZXJxJnV0VQV0aXRsZXEnVQtDcmVhdGUgVXNlcnEoaB0oVQgAAAAAAABwtHEpKFUj
UHJvZHVjdHMuUHl0aG9uU2NyaXB0cy5QeXRob25TY3JpcHRxKlUMUHl0aG9uU2NyaXB0cSt0dFFV
DHJlZ2lzdGVyVXNlcnEsKFUIAAAAAAAAipZxLShoKlUMUHl0aG9uU2NyaXB0cS50dFF1LgAAAAAA
AGxZAAAAAAAABYAoKFUQT0ZTLkRUTUxEb2N1bWVudHEBVQxEVE1MRG9jdW1lbnRxAnRxA050Ln1x
BChVEl9fYWNfbG9jYWxfcm9sZXNfX3EFfXEGVQRwZXJocQddcQhVBU93bmVycQlhc1UIX19uYW1l
X19xClUKaW5kZXhfaHRtbHELVQV0aXRsZXEMVQBVB2dsb2JhbHNxDX1xDlUDcmF3cQ9U0gQAADxk
dG1sLXZhciBzdGFuZGFyZF9odG1sX2hlYWRlcj4KPHA+Cjxmb3JtIGFjdGlvbj0iYWRkX1VzZXIi
IG1ldGhvZD0icG9zdCI+CiAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ic3VjY2Vzc191cmwi
IHZhbHVlPSJodHRwOi8vcHVnOjgwODAvTE1TL3VpL2NyZWF0ZVVzZXIvdXNlclByb3BlcnRpZXMi
PgogIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImVycm9yX3VybCIgdmFsdWU9Imh0dHA6Ly9w
dWc6ODA4MC9MTVMvdWkvY3JlYXRlVXNlci9lcnJvcl9odG1sIj4KICBOYW1lOiAgPGlucHV0IHR5
cGU9InRleHQiIG5hbWU9Im5hbWUiPjxicj4KICBQYXNzd29yZDogPGlucHV0IHR5cGU9InBhc3N3
b3JkIiBuYW1lPSJwYXNzd29yZCIgPjxicj4KICBDb25maXJtIHBhc3N3b3JkOiA8aW5wdXQgdHlw
ZT0icGFzc3dvcmQiIG5hbWU9ImNvbmZpcm0iPjxicj4KICA8ZHRtbC1jb21tZW50PgogIHRvIGN5
Y2xlIHRocm91Z2ggYWxsIGF2YWlsYWJsZSByb2xlcyBhbmQgYWRkIHRoZW0gdG8gYSBzZWxlY3Rp
b24gYm94CiAgZG8gdGhlIGZvbGxvd2luZzoKICA8L2R0bWwtY29tbWVudD4KCiAgVXNlciByb2xl
czogPGJyPgogICAgPHNlbGVjdCBuYW1lPSJyb2xlczpsaXN0IiBzaXplPSI0IiBtdWx0aXBsZT4K
ICAgICAgPGR0bWwtaW4gdmFsaWRfcm9sZXM+CiAgICAgIDxkdG1sLWlmIGV4cHI9Il9bJ3NlcXVl
bmNlLWl0ZW0nXSAhPSAnQW5vbnltb3VzJyI+CiAgICAgIDxkdG1sLWlmIGV4cHI9Il9bJ3NlcXVl
bmNlLWl0ZW0nXSAhPSAnQXV0aGVudGljYXRlZCciPgogICAgICA8ZHRtbC1pZiBleHByPSJfWydz
ZXF1ZW5jZS1pdGVtJ10gIT0gJ093bmVyJyI+CiAgICAgIDxkdG1sLWlmIGV4cHI9Il9bJ3NlcXVl
bmNlLWl0ZW0nXSAhPSAnU2hhcmVkJyI+CiAgICAgICAgPG9wdGlvbiB2YWx1ZT0iPGR0bWwtdmFy
IHNlcXVlbmNlLWl0ZW0gaHRtbF9xdW90ZT4iPjxkdG1sLXZhciBzZXF1ZW5jZS1pdGVtPgogICAg
ICA8L2R0bWwtaWY+CiAgICAgIDwvZHRtbC1pZj4KICAgICAgPC9kdG1sLWlmPgogICAgICA8L2R0
bWwtaWY+CiAgICAgIDwvZHRtbC1pbiB2YWxpZF9yb2xlcz4KICAgIDwvc2VsZWN0PgogIENsYXNz
ZXM6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJjbGFzc2VzIiA+PGJyPgoKICA8YnI+CiAgPGlu
cHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ic3VibWl0IiB2YWx1ZT0iQWRkIiAvPgo8L2Zvcm0+Cgo8
L3A+CjxkdG1sLXZhciBzdGFuZGFyZF9odG1sX2Zvb3Rlcj5xEFUFX3ZhcnNxEX1xEnUuAAAAAAAA
ioAAAAAAAAAH0SgoVRBPRlMuRFRNTERvY3VtZW50cQFVDERUTUxEb2N1bWVudHECdHEDTnQufXEE
KFUSX19hY19sb2NhbF9yb2xlc19fcQV9cQZVBmpvaGFucHEHXXEIVQVPd25lcnEJYXNVCF9fbmFt
ZV9fcQpVEHVzZXJSZWdpc3RyYXRpb25xC1UFdGl0bGVxDFUAVQdnbG9iYWxzcQ19cQ5VBl9vd25l
cnEPKF1xEFUJYWNsX3VzZXJzcRFhaAd0cRJVA3Jhd3ETVPoGAAA8RFRNTC1WQVIgc3RhbmRhcmRf
aHRtbF9oZWFkZXI+Cgo8SDI+VXNlciBSZWdpc3RyYXRpb24gPC9IMj4KPFA+CjxEVE1MLUNPTU1F
TlQ+ClRoaXMgcGFnZXMgaXMgcmVnaXN0cmVyaW5nIG5ldyB1c2VyJ3MgaW4gdGhlIExNUwo8L0RU
TUwtQ09NTUVOVD4KPC9QPgoKCjwhLS0jaWYgbWVzc2FnZS0tPgo8aHI+Cjxmb250IGNvbG9yPSJy
ZWQiPgo8IS0tI3ZhciBtZXNzYWdlLS0+CjwvZm9udD4KPC9ocj4KPCEtLSNlbmRpZi0tPgoKCjxm
b3JtIGFjdGlvbj0icmVnaXN0ZXJVc2VyIiBtZXRob2Q9InBvc3QiPgogIDxpbnB1dCB0eXBlPSJo
aWRkZW4iIG5hbWU9InN1Y2Nlc3NfdXJsIiB2YWx1ZT0iaHR0cDovL3B1Zzo4MDgwL0xNUy91aS9j
cmVhdGVVc2VyL3VzZXJQcm9wZXJ0aWVzIj4KICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJl
cnJvcl91cmwiIHZhbHVlPSJodHRwOi8vcHVnOjgwODAvTE1TL3VpL2NyZWF0ZVVzZXIvZXJyb3Jf
aHRtbCI+CiAgTmFtZTogIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJuYW1lIj48YnI+CiAgUGFz
c3dvcmQ6IDxpbnB1dCB0eXBlPSJwYXNzd29yZCIgbmFtZT0icGFzc3dvcmQiID48YnI+CiAgQ29u
ZmlybSBwYXNzd29yZDogPGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJjb25maXJtIj48YnI+
CiAgCiAgPGR0bWwtY29tbWVudD4KICB0byBjeWNsZSB0aHJvdWdoIGFsbCBhdmFpbGFibGUgcm9s
ZXMgYW5kIGFkZCB0aGVtIHRvIGEgc2VsZWN0aW9uIGJveAogIGRvIHRoZSBmb2xsb3dpbmc6CiAg
PC9kdG1sLWNvbW1lbnQ+CgogIFVzZXIgcm9sZXM6IDxicj4KICAgIDxzZWxlY3QgbmFtZT0icm9s
ZXM6bGlzdCIgc2l6ZT0iNCIgbXVsdGlwbGU+CiAgICAgIDxkdG1sLWluIHZhbGlkX3JvbGVzPgog
ICAgICA8ZHRtbC1pZiBleHByPSJfWydzZXF1ZW5jZS1pdGVtJ10gIT0gJ0Fub255bW91cyciPgog
ICAgICA8ZHRtbC1pZiBleHByPSJfWydzZXF1ZW5jZS1pdGVtJ10gIT0gJ0F1dGhlbnRpY2F0ZWQn
Ij4KICAgICAgPGR0bWwtaWYgZXhwcj0iX1snc2VxdWVuY2UtaXRlbSddICE9ICdPd25lciciPgog
ICAgICA8ZHRtbC1pZiBleHByPSJfWydzZXF1ZW5jZS1pdGVtJ10gIT0gJ1NoYXJlZCciPgogICAg
ICAgIDxvcHRpb24gdmFsdWU9IjxkdG1sLXZhciBzZXF1ZW5jZS1pdGVtIGh0bWxfcXVvdGU+Ij48
ZHRtbC12YXIgc2VxdWVuY2UtaXRlbT4KICAgICAgPC9kdG1sLWlmPgogICAgICA8L2R0bWwtaWY+
CiAgICAgIDwvZHRtbC1pZj4KICAgICAgPC9kdG1sLWlmPgogICAgICA8L2R0bWwtaW4gdmFsaWRf
cm9sZXM+CiAgICA8L3NlbGVjdD4KICAKICA8ZHRtbC1jb21tZW50PgogIHRvIGN5Y2xlIHRocm91
Z2ggYWxsIGF2YWlsYWJsZSBncm91cHMgYW5kIGFkZCB0aGVtIHRvIGEgc2VsZWN0aW9uIGJveAog
IGRvIHRoZSBmb2xsb3dpbmc6CiAgPC9kdG1sLWNvbW1lbnQ+CiAgCiBHcm91cHM6IDxicj4KPHNl
bGVjdCBuYW1lPSJncm91cHM6bGlzdCIgc2l6ZT0iNiIgbXVsdGlwbGU+IAogICAgPGR0bWwtaW4g
ZXhwcj0iTE1TLmRhdGEudGhlR3JvdXBNYW5hZ2VyLmdldEdyb3VwSWRzKCkiIHByZWZpeD0iYWci
PiAgICAgICAKICAgICAgIDxvcHRpb24gPjxkdG1sLXZhciBhZ19pdGVtPjwvb3B0aW9uPiAgCiAg
ICA8L2R0bWwtaW4+Cjwvc2VsZWN0PgoKICA8YnI+CiAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFt
ZT0ic3VibWl0IiB2YWx1ZT0iQWRkIiAvPiA8YnI+CiAgPGlucHV0IHR5cGU9InJlc2V0IiB2YWx1
ZT0iUmVzZXQiPiA8YnI+CjwvZm9ybT4KCjxEVE1MLVZBUiBzdGFuZGFyZF9odG1sX2Zvb3Rlcj4K
cRRVBV92YXJzcRV9cRZ1LgAAAAAAAHC0AAAAAAAACKwoKFUjUHJvZHVjdHMuUHl0aG9uU2NyaXB0
cy5QeXRob25TY3JpcHRxAVUMUHl0aG9uU2NyaXB0cQJ0cQNOdC59cQQoVQlmdW5jX2NvZGVxBShj
U2hhcmVkLkRDLlNjcmlwdHMuU2lnbmF0dXJlCkZ1bmNDb2RlCnEGb3EHfXEIKFULY29fdmFybmFt
ZXNxCShVCF9nZXRhdHRycQpVCmh0bWxfcXVvdGVxC1UHcmVxdWVzdHEMVQhyZXNwb25zZXENVQZv
YmplY3RxDlUEcGF0aHEPdHEQVQtjb19hcmdjb3VudHERSwB1YlUHX3BhcmFtc3ESVQBVAmlkcRNV
CGFkZF9Vc2VycRRVEl9fYWNfbG9jYWxfcm9sZXNfX3EVfXEWVQZqb2hhbnBxF11xGFUFT3duZXJx
GWFzVQtfYmluZF9uYW1lc3EaKGNTaGFyZWQuREMuU2NyaXB0cy5CaW5kaW5ncwpOYW1lQXNzaWdu
bWVudHMKcRtvcRx9cR1VBl9hc2duc3EefXEfKFUObmFtZV9jb250YWluZXJxIFUJY29udGFpbmVy
cSFVDG5hbWVfc3VicGF0aHEiVRB0cmF2ZXJzZV9zdWJwYXRocSNVDG5hbWVfY29udGV4dHEkVQdj
b250ZXh0cSVVC25hbWVfbV9zZWxmcSZVBnNjcmlwdHEndXNiVQZfb3duZXJxKChdcSlVCWFjbF91
c2Vyc3EqYWgXdHErVQVfY29kZXEsVIcDAABjAAAAAAEAEABzEwAAAH8AAH8BAGQBAIQAAFoAAGQA
AFMoAgAAAE5jAAAGADkAEwBz/wAAAH8BAHQAAH0AAH8EAGQBAGsCAGwDAH0BAAF/BQB8AAB0BABk
AgCDAgB9AgB/BgB8AAB8AgBkAwCDAgB9AwB8AAB8AAB/CAB0BwBkBACDAgBkBQCDAgBkBgB8AAB0
BwBkAgCDAgCDAgABfwsAeHcAfAAAfAAAfAAAdAcAZAcAgwIAZAgAgwIAZAkAgwIAZAoAgwEAZAsA
fwsAckkAfQQAfwwAfAAAfAQAZAwAgwIAgwAAfAAAfAIAZA0AgwIAagIAbx4AAX8NAGQOAHwAAHwC
AGQNAIMCABdkDwAXfQUAbgEAAXGVAFd/DgB8AAB8AwBkEACDAgB8BQCDAQBTZAAAUygRAAAATigB
AAAAcwoAAABodG1sX3F1b3RlcwcAAABSRVFVRVNUcwgAAABSRVNQT05TRXMJAAAAYWNsX3VzZXJz
cwwAAABtYW5hZ2VfdXNlcnNzAwAAAEFkZHMEAAAAZGF0YXMJAAAAdXNlcl9pbmZvcwwAAABvYmpl
Y3RWYWx1ZXNzCAAAAFVzZXJJbmZvaQAAAABzBQAAAGdldElkcwQAAABuYW1lcxMAAABMTVMvZGF0
YS91c2VyX2luZm8vcw8AAAAvZWRpdFByb3BlcnRpZXNzCAAAAHJlZGlyZWN0KAoAAABzCQAAAF9n
ZXRhdHRyX3MIAAAAX2dldGF0dHJzHwAAAFByb2R1Y3RzLlB5dGhvblNjcmlwdHMuc3RhbmRhcmRz
CgAAAGh0bWxfcXVvdGVzCQAAAGNvbnRhaW5lcnMHAAAAcmVxdWVzdHMIAAAAcmVzcG9uc2VzBwAA
AGNvbnRleHRzBgAAAG9iamVjdHMEAAAAcGF0aCgGAAAAcwgAAABfZ2V0YXR0cnMKAAAAaHRtbF9x
dW90ZXMHAAAAcmVxdWVzdHMIAAAAcmVzcG9uc2VzBgAAAG9iamVjdHMEAAAAcGF0aCgAAAAAKAAA
AABzDwAAAFNjcmlwdCAoUHl0aG9uKXMIAAAAYWRkX1VzZXIBAHMQAAAACQMQARIBGAIlAzYBJQEi
ASgBAAAAcwgAAABhZGRfVXNlcigAAAAAKAAAAAAoAAAAAHMPAAAAU2NyaXB0IChQeXRob24pcwgA
AAA8bW9kdWxlPgEAcwAAAABxLVUFX2JvZHlxLlSJAgAAIyBFeGFtcGxlIGNvZGU6CgojIEltcG9y
dCBhIHN0YW5kYXJkIGZ1bmN0aW9uLCBhbmQgZ2V0IHRoZSBIVE1MIHJlcXVlc3QgYW5kIHJlc3Bv
bnNlIG9iamVjdHMuCmZyb20gUHJvZHVjdHMuUHl0aG9uU2NyaXB0cy5zdGFuZGFyZCBpbXBvcnQg
aHRtbF9xdW90ZQpyZXF1ZXN0ID0gY29udGFpbmVyLlJFUVVFU1QKcmVzcG9uc2UgPSAgcmVxdWVz
dC5SRVNQT05TRQojIGNyZWF0aW5nIGEgbmV3IHVzZXIKY29udGV4dC5hY2xfdXNlcnMubWFuYWdl
X3VzZXJzKCdBZGQnLCBjb250ZXh0LlJFUVVFU1QpCiMgc2V0dGluZyB0aGUgbmV3IHVzZXIncyBl
eHRyYSBpbmZvCiMgcmVkaXJlY3QgdG8gdGhlIG1hbmFnZW1lbnQgd29yayBzcGFjZQpmb3Igb2Jq
ZWN0IGluIGNvbnRleHQuZGF0YS51c2VyX2luZm8ub2JqZWN0VmFsdWVzKCdVc2VySW5mbycpOgog
IGlmIG9iamVjdC5nZXRJZCgpID09IHJlcXVlc3QubmFtZToKICAgIHBhdGggPSAnTE1TL2RhdGEv
dXNlcl9pbmZvLycgKyByZXF1ZXN0Lm5hbWUgKyAnL2VkaXRQcm9wZXJ0aWVzJwpyZXR1cm4gcmVz
cG9uc2UucmVkaXJlY3QocGF0aCkKI3JldHVybiByZXNwb25zZS5yZWRpcmVjdChvYmplY3QubWFu
YWdlX3dvcmtzcGFjZSkKI3Jlc3BvbnNlLnJlZGlyZWN0KHJlcXVlc3Quc3VjY2Vzc191cmwpCnEv
VQxTY3JpcHRfbWFnaWNxMEsCVQh3YXJuaW5nc3ExKVUNZnVuY19kZWZhdWx0c3EyTlUGZXJyb3Jz
cTMpVQxQeXRob25fbWFnaWNxNFUEKusNCnE1dS4AAAAAAACKlgAAAAAAAAx/KChVI1Byb2R1Y3Rz
LlB5dGhvblNjcmlwdHMuUHl0aG9uU2NyaXB0cQFVDFB5dGhvblNjcmlwdHECdHEDTnQufXEEKFUJ
ZnVuY19jb2RlcQUoY1NoYXJlZC5EQy5TY3JpcHRzLlNpZ25hdHVyZQpGdW5jQ29kZQpxBm9xB31x
CChVC2NvX3Zhcm5hbWVzcQkoVQhfZ2V0YXR0cnEKVQZfcHJpbnRxC1UHcmVxdWVzdHEMVQhyZXNw
b25zZXENVQdtZXNzYWdlcQ5VBGZsYWdxD1UGb2JqZWN0cRB0VQtjb19hcmdjb3VudHERSwB1YlUH
X3BhcmFtc3ESVQBVAmlkcRNVDHJlZ2lzdGVyVXNlcnEUVRJfX2FjX2xvY2FsX3JvbGVzX19xFX1x
FlUGam9oYW5wcRddcRhVBU93bmVycRlhc1ULX2JpbmRfbmFtZXNxGihjU2hhcmVkLkRDLlNjcmlw
dHMuQmluZGluZ3MKTmFtZUFzc2lnbm1lbnRzCnEbb3EcfXEdVQZfYXNnbnNxHn1xHyhVDm5hbWVf
Y29udGFpbmVycSBVCWNvbnRhaW5lcnEhVQxuYW1lX3N1YnBhdGhxIlUQdHJhdmVyc2Vfc3VicGF0
aHEjVQxuYW1lX2NvbnRleHRxJFUHY29udGV4dHElVQtuYW1lX21fc2VsZnEmVQZzY3JpcHRxJ3Vz
YlUGX293bmVycSgoXXEpVQlhY2xfdXNlcnNxKmFoF3RxK1UFX2NvZGVxLFRKBQAAYwAAAAABABAA
cxMAAAB/AAB/AQBkAQCEAABaAABkAgBTKAMAAABzSgAAAApUaGlzIHNjcmlwdCBoYW5kbGVzIHRo
ZSBpbmZvcm1hdGlvbiBwYXNzZWQgYnkgdGhlIApmb3JtIFVzZXJSZWdpc3RyYXRpb24KYwAABwA5
ABMAc60BAAB/AQB0AAB9AAB0AgCDAAB9AQB/BABkAAABfwYAfAAAdAQAZAEAgwIAfQIAfwcAfAAA
fAIAZAIAgwIAfQMAfwoAZAMAfQQAfwsAZAQAfQUAfw0AfAAAfAIAZAUAgwIAZAYAagIAbxYAAX8O
AGQHAH0EAH8PAGQIAH0FAG4BAAF/EQB8AAB8AgBkCQCDAgBkBgBqAgBvFgABfxIAZAoAfQQAfxMA
ZAgAfQUAbgEAAX8VAHwAAHwCAGQLAIMCAGQGAGoCAG8WAAF/FgBkDAB9BAB/FwBkCAB9BQBuAQAB
fxkAfAAAfAIAZAkAgwIAfAAAfAIAZAsAgwIAagIADG8WAAF/GgBkDQB9BAB/GwBkCAB9BQBuAQAB
fyMAfAUAZAgAagIADG95AAF8AAB8AAB/JQB0CQBkDgCDAgBkDwCDAgBkEAB8AgCDAgABfycAeE0A
fAAAfAAAfAAAdAQAZBEAgwIAZBIAgwIAZBMAgwIAZBQAgwEAZAQAfycAch8AfQYAfygAfAEABHwA
AHwGAGQVAIMCAIMAAAJJSnF1AVduAQABfzEAfAEAgwAAU2QWAFMoFwAAAHNKAAAAClRoaXMgc2Ny
aXB0IGhhbmRsZXMgdGhlIGluZm9ybWF0aW9uIHBhc3NlZCBieSB0aGUgCmZvcm0gVXNlclJlZ2lz
dHJhdGlvbgpzBwAAAFJFUVVFU1RzCAAAAFJFU1BPTlNFcxwAAABUaGUgbmV3IHVzZXIgaXMgcmVn
aXN0cmVyZWQhaQAAAABzBAAAAG5hbWVzAAAAAHMKAAAAZW50ZXIgbmFtZWkBAAAAcwgAAABwYXNz
d29yZHMOAAAAZW50ZXIgcGFzc3dvcmRzBwAAAGNvbmZpcm1zDQAAAGVudGVyIGNvbmZpcm1zLAAA
AGVudGVyZWQgcGFzc3dvcmQgaXMgbm90IHNhbWUgZW50ZXJlZCBjb25maXJtcwkAAABhY2xfdXNl
cnNzDAAAAG1hbmFnZV91c2Vyc3MDAAAAQWRkcwQAAABkYXRhcwkAAAB1c2VyX2luZm9zDAAAAG9i
amVjdFZhbHVlc3MIAAAAVXNlckluZm9zBAAAAHRlc3ROKAsAAABzCQAAAF9nZXRhdHRyX3MIAAAA
X2dldGF0dHJzBwAAAF9wcmludF9zBgAAAF9wcmludHMJAAAAY29udGFpbmVycwcAAAByZXF1ZXN0
cwgAAAByZXNwb25zZXMHAAAAbWVzc2FnZXMEAAAAZmxhZ3MHAAAAY29udGV4dHMGAAAAb2JqZWN0
KAcAAABzCAAAAF9nZXRhdHRycwYAAABfcHJpbnRzBwAAAHJlcXVlc3RzCAAAAHJlc3BvbnNlcwcA
AABtZXNzYWdlcwQAAABmbGFncwYAAABvYmplY3QoAAAAACgAAAAAcw8AAABTY3JpcHQgKFB5dGhv
bilzDAAAAHJlZ2lzdGVyVXNlcgEAcywAAAASAwcCEgESAwkBCQIZAQkBDQIZAQkBDQIZAQkBDQIj
AQkBDQgXAhwCNgEhCU4oAQAAAHMMAAAAcmVnaXN0ZXJVc2VyKAAAAAAoAAAAACgAAAAAcw8AAABT
Y3JpcHQgKFB5dGhvbilzCAAAADxtb2R1bGU+AQBzAAAAAHEtVQVfYm9keXEuVJAEAAAiIiIKVGhp
cyBzY3JpcHQgaGFuZGxlcyB0aGUgaW5mb3JtYXRpb24gcGFzc2VkIGJ5IHRoZSAKZm9ybSBVc2Vy
UmVnaXN0cmF0aW9uCiIiIgoKcmVxdWVzdCA9IGNvbnRhaW5lci5SRVFVRVNUCnJlc3BvbnNlID0g
IHJlcXVlc3QuUkVTUE9OU0UKCgptZXNzYWdlID0gIlRoZSBuZXcgdXNlciBpcyByZWdpc3RyZXJl
ZCEiCmZsYWcgPSAwCgppZiByZXF1ZXN0Lm5hbWUgPT0gIiI6CiAgbWVzc2FnZSA9ICJlbnRlciBu
YW1lIgogIGZsYWcgPSAxCgppZiByZXF1ZXN0LnBhc3N3b3JkID09ICIiOgogIG1lc3NhZ2UgPSAi
ZW50ZXIgcGFzc3dvcmQiCiAgZmxhZyA9IDEKCmlmIHJlcXVlc3QuY29uZmlybSA9PSAiIjoKICBt
ZXNzYWdlID0gImVudGVyIGNvbmZpcm0iCiAgZmxhZyA9IDEKCmlmIG5vdCByZXF1ZXN0LnBhc3N3
b3JkID09IHJlcXVlc3QuY29uZmlybToKICBtZXNzYWdlID0gImVudGVyZWQgcGFzc3dvcmQgaXMg
bm90IHNhbWUgZW50ZXJlZCBjb25maXJtIiAKICBmbGFnID0gMQoKI2lmIHJlcXVlc3Qucm9sZXMg
PT1bXToKIyAgbWVzc2FnZSA9ICJlbnRlciBhIHJvbGUiIAojICBmbGFnID0gMQoKIyBhbGwgdGhl
IGZpZWxkcyBzaG91bGQgYmUgcHJvcGVybHkgZW50ZXJlZCBvbiB0byB0aGlzIHBvaW50CgppZiBu
b3QgZmxhZyA9PSAxOgojIGNyZWF0ZSB0aGUgdXNlcgogIGNvbnRleHQuYWNsX3VzZXJzLm1hbmFn
ZV91c2VycygnQWRkJywgcmVxdWVzdCkKIyBzYXZlIHRoZSBhZGRpdGlvbmFsIHByb3BlcnRpZXMg
Zm9yIHRoZSB1c2VyCiAgZm9yIG9iamVjdCBpbiBjb250YWluZXIuZGF0YS51c2VyX2luZm8ub2Jq
ZWN0VmFsdWVzKCdVc2VySW5mbycpOgogICAgcHJpbnQgb2JqZWN0LnRlc3QoKQojICAgIGlmIG9i
amVjdC5nZXRJZCgpID09IHJlcXVlc3QubmFtZToKIyAgICAgIG9iamVjdC5wcm9wZXJ0eXNoZWV0
cy5nZXQoJ3N0dWRlbnQnKS5tYW5hZ2VfZWRpdFByb3BlcnRpZXMocmVxdWVzdCkKIyAgICAgIHBy
aW50IG9iamVjdC5wcm9wZXJ0eXNoZWV0cy5zdHVkZW50LmdldFByb3BlcnR5KCdncm91cHMnKSAK
IyAgICAgIHByaW50IG9iamVjdC5nZXRJZCgpCiMgICAgICBwYXNzCgojcmVzcG9uc2UuYWRkSGVh
ZGVyKCdtZXNzYWdlJywgbWVzc2FnZSkKI3JldHVybiByZXNwb25zZS5yZWRpcmVjdChyZXF1ZXN0
LlVSTCkKcmV0dXJuIHByaW50ZWQKcS9VDFNjcmlwdF9tYWdpY3EwSwJVCHdhcm5pbmdzcTEpVQ1m
dW5jX2RlZmF1bHRzcTJOVQZlcnJvcnNxMylVDFB5dGhvbl9tYWdpY3E0VQQq6w0KcTV1Lv//////
//////////////8=

------_=_NextPart_000_01C13547.E9BE2F70
Content-Type: application/octet-stream;
	name="UserInfo.zexp"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="UserInfo.zexp"

WkVYUAAAAAAAAGzHAAAAAAAAAkooKFUPWkNsYXNzZXMuWkNsYXNzcQFVBlpDbGFzc3ECdHEDTnQu
fXEEKFURX3Blcm1pc3Npb25NYXBwZXJxBWNBY2Nlc3NDb250cm9sLlBlcm1pc3Npb25NYXBwaW5n
ClBNCnEGTlJxB31xCChVEF9WaWV3X1Blcm1pc3Npb25xCVUQX1ZpZXdfUGVybWlzc2lvbnEKVSJf
Q3JlYXRlX2NsYXNzX2luc3RhbmNlc19QZXJtaXNzaW9ucQtVGV9BZGRfVXNlckluZm9zX1Blcm1p
c3Npb25xDFUdX01hbmFnZV9wcm9wZXJ0aWVzX1Blcm1pc3Npb25xDVUdX01hbmFnZV9wcm9wZXJ0
aWVzX1Blcm1pc3Npb25xDnViVRxfemNsYXNzX3Byb3BlcnR5c2hlZXRzX2NsYXNzcQ9VCAAAAAAA
AGzMcRBRVQJpZHERVQhVc2VySW5mb3ESVQdfemJhc2VzcRNdcRQoY1pDbGFzc2VzLlpDbGFzcwpa
T2JqZWN0CnEVY1Byb2R1Y3RzLlpDYXRhbG9nCkNhdGFsb2dBd2FyZUJhc2UKcRZjWkNsYXNzZXMu
T2JqZWN0TWFuYWdlcgpaT2JqZWN0TWFuYWdlcgpxF2VVEl9fYWNfbG9jYWxfcm9sZXNfX3EYfXEZ
VQZqb2hhbnBxGl1xG1UFT3duZXJxHGFzVQhfemNsYXNzX3EdVQgAAAAAAABszXEeUVUFdGl0bGVx
H1UAVQ5wcm9wZXJ0eXNoZWV0c3EgVQgAAAAAAABsznEhUXUuAAAAAAAAbMwAAAAAAAABsyhjRXh0
ZW5zaW9uQ2xhc3MKRXh0ZW5zaW9uQ2xhc3MKcQEoVRxVc2VySW5mb19Qcm9wZXJ0eVNoZWV0c0Ns
YXNzcQIoY1pDbGFzc2VzLlpDbGFzcwpQZXJzaXN0ZW50Q2xhc3MKcQNjWkNsYXNzZXMuUHJvcGVy
dHkKWkluc3RhbmNlU2hlZXRzCnEEdHEFfXEGKFUEaWNvbnEHVQBVCl9wX2NoYW5nZWRxCEsBVQdf
X2RvY19fcQlVGFVzZXJJbmZvIFByb3BlcnR5IFNoZWV0c3EKVRFfX3Byb3BzZXRfYXR0cnNfX3EL
KFUHdGVhY2hlcnEMVQdzdHVkZW50cQ10cQ5oDChVCAAAAAAAAHFgcQ8oVRFaQ2xhc3Nlcy5Qcm9w
ZXJ0eXEQVQ5aSW5zdGFuY2VTaGVldHERdHRRVQdzdHVkZW50cRIoVQgAAAAAAABxZHETKGgQVQ5a
SW5zdGFuY2VTaGVldHEUdHRRVQZfcF9vaWRxFVUIAAAAAAAAbMxxFlUKX19tb2R1bGVfX3EXTlUJ
X3Bfc2VyaWFscRhVCAM++HKq7mMicRl1dHEadC5OLgAAAAAAAGzNAAAAAAAABJIoY0V4dGVuc2lv
bkNsYXNzCkV4dGVuc2lvbkNsYXNzCnEBKFUIVXNlckluZm9xAihjWkNsYXNzZXMuWkNsYXNzClBl
cnNpc3RlbnRDbGFzcwpxA2NQcm9kdWN0cy5aQ2F0YWxvZy5DYXRhbG9nQXdhcmVuZXNzCkNhdGFs
b2dBd2FyZQpxBGNaQ2xhc3Nlcy5PYmplY3RNYW5hZ2VyCk9iamVjdE1hbmFnZXIKcQVjT0ZTLlNp
bXBsZUl0ZW0KU2ltcGxlSXRlbQpxBnRxB31xCChVBGljb25xCVUAVQpfcF9jaGFuZ2VkcQpLAVUH
X19kb2NfX3ELVQhVc2VySW5mb3EMVQZlX3Byb3BxDShVCAAAAAAAAHHjcQ4oVQ9aQ2xhc3Nlcy5N
ZXRob2RxD1UDTVdwcRB0dFFVCmdldENsYXNzZXNxEShVCAAAAAAAAG7KcRIoaA9VA01XcHETdHRR
VQR0ZXN0cRQoVQgAAAAAAACKznEVKGgPVQNNV3BxFnR0UVUUX3ZfbWFuYWdlX3BhdGhfcm9sZXNx
F1UUTE1TX0NsYXNzZXMvVXNlckluZm9xGFUGZ3JvdXBzcRldcRpVCW1ldGFfdHlwZXEbaAxVEmdl
dEF2YWlsYWJsZUdyb3Vwc3EcKFUIAAAAAAAAccpxHShoD1UDTVdwcR50dFFVDnByb3BlcnR5c2hl
ZXRzcR9VCAAAAAAAAGzScSBRVQZfcF9vaWRxIVUIAAAAAAAAbM1xIlUOZWRpdFByb3BlcnRpZXNx
IyhVCAAAAAAAAHHacSQoaA9VA01XcHEldHRRVQ5tYW5hZ2Vfb3B0aW9uc3EmKH1xJyhVBWxhYmVs
cShVCENvbnRlbnRzcSlVBmFjdGlvbnEqVQttYW5hZ2VfbWFpbnErdX1xLChVBWxhYmVscS1VD3N0
dWRlbnQtZGVmYXVsdHEuVQZhY3Rpb25xL1UdcHJvcGVydHlzaGVldHMvc3R1ZGVudC9tYW5hZ2Vx
MHV9cTEoVQVsYWJlbHEyVQVkZWJ1Z3EzVQZhY3Rpb25xNFUKaW5kZXhfaHRtbHE1dX1xNihVBWxh
YmVscTdVDmVkaXRQcm9wZXJ0aWVzcThVBmFjdGlvbnE5VQ5lZGl0UHJvcGVydGllc3E6dX1xOyhV
BWxhYmVscTxVCFNlY3VyaXR5cT1VBmFjdGlvbnE+VQ1tYW5hZ2VfYWNjZXNzcT91dHFAVQppbmRl
eF9odG1scUEoVQgAAAAAAABx1HFCKGgPVQNNV3BxQ3R0UVUKc2V0Q2xhc3Nlc3FEKFUIAAAAAAAA
cOxxRShoD1UDTVdwcUZ0dFFVEl9fYWNfcGVybWlzc2lvbnNfX3FHKChVDUFkZCBVc2VySW5mb3Nx
SCkoVQdNYW5hZ2VycUl0dHRxSlUJZ2V0R3JvdXBzcUsoVQgAAAAAAABxzXFMKGgPVQNNV3BxTXR0
UVUJX3Bfc2VyaWFscU5VCAM/FJB3h9nEcU9VCl9fbW9kdWxlX19xUFUZKmhrZSt2LzNPaUViTTRC
RTFIRU9adWc9PXFRdXRxUnQuTi4AAAAAAABszgAAAAAAAACkKFUIAAAAAAAAbM9xAVFOdC59cQIo
VQZjb21tb25xAyhVCAAAAAAAAGzQcQQoVRFaQ2xhc3Nlcy5Qcm9wZXJ0eXEFVRRaSW5zdGFuY2VT
aGVldHNTaGVldHEGdHRRVQdtZXRob2RzcQcoVQgAAAAAAABs0XEIKFUPWkNsYXNzZXMuTWV0aG9k
cQlVElpDbGFzc01ldGhvZHNTaGVldHEKdHRRdS4AAAAAAABxYAAAAAAAAAB8KChVEVpDbGFzc2Vz
LlByb3BlcnR5cQFVDlpJbnN0YW5jZVNoZWV0cQJ0cQNOdC59cQQoVQNfbWRxBX1xBlUCaWRxB1UH
dGVhY2hlcnEIVQVfYmFzZXEJKFUIAAAAAAAAcV9xCihoAVUMWkNvbW1vblNoZWV0cQt0dFF1LgAA
AAAAAHFkAAAAAAAAAL4oKFURWkNsYXNzZXMuUHJvcGVydHlxAVUOWkluc3RhbmNlU2hlZXRxAnRx
A050Ln1xBChVA19tZHEFfXEGVQJpZHEHVQdzdHVkZW50cQhVBV9iYXNlcQkoVQgAAAAAAABxY3EK
KGgBVQxaQ29tbW9uU2hlZXRxC3R0UVUdX01hbmFnZV9wcm9wZXJ0aWVzX1Blcm1pc3Npb25xDFUd
X01hbmFnZV9wcm9wZXJ0aWVzX1Blcm1pc3Npb25xDXUuAAAAAAAAceMAAAAAAAAAWCgoVQ9aQ2xh
c3Nlcy5NZXRob2RxAVUDTVdwcQJ0cQNOdC4oVQgAAAAAAABx5HEEKFUQT0ZTLkRUTUxEb2N1bWVu
dHEFVQxEVE1MRG9jdW1lbnRxBnR0US4AAAAAAABuygAAAAAAAABrKChVD1pDbGFzc2VzLk1ldGhv
ZHEBVQNNV3BxAnRxA050LihVCAAAAAAAAG7LcQQoVSNQcm9kdWN0cy5QeXRob25TY3JpcHRzLlB5
dGhvblNjcmlwdHEFVQxQeXRob25TY3JpcHRxBnR0US4AAAAAAACKzgAAAAAAAABrKChVD1pDbGFz
c2VzLk1ldGhvZHEBVQNNV3BxAnRxA050LihVCAAAAAAAAIrPcQQoVSNQcm9kdWN0cy5QeXRob25T
Y3JpcHRzLlB5dGhvblNjcmlwdHEFVQxQeXRob25TY3JpcHRxBnR0US4AAAAAAABxygAAAAAAAABr
KChVD1pDbGFzc2VzLk1ldGhvZHEBVQNNV3BxAnRxA050LihVCAAAAAAAAHD/cQQoVSNQcm9kdWN0
cy5QeXRob25TY3JpcHRzLlB5dGhvblNjcmlwdHEFVQxQeXRob25TY3JpcHRxBnR0US4AAAAAAABs
0gAAAAAAAAAVKFUIAAAAAAAAbMxxAVFOdC59cQIuAAAAAAAAcdoAAAAAAAAAVCgoVQ9aQ2xhc3Nl
cy5NZXRob2RxAVUDTVdwcQJ0cQNOdC4oVQgAAAAAAABx23EEKFUOT0ZTLkRUTUxNZXRob2RxBVUK
RFRNTE1ldGhvZHEGdHRRLgAAAAAAAHHUAAAAAAAAAFQoKFUPWkNsYXNzZXMuTWV0aG9kcQFVA01X
cHECdHEDTnQuKFUIAAAAAAAAcdVxBChVDk9GUy5EVE1MTWV0aG9kcQVVCkRUTUxNZXRob2RxBnR0
US4AAAAAAABw7AAAAAAAAABrKChVD1pDbGFzc2VzLk1ldGhvZHEBVQNNV3BxAnRxA050LihVCAAA
AAAAAHDtcQQoVSNQcm9kdWN0cy5QeXRob25TY3JpcHRzLlB5dGhvblNjcmlwdHEFVQxQeXRob25T
Y3JpcHRxBnR0US4AAAAAAABxzQAAAAAAAABrKChVD1pDbGFzc2VzLk1ldGhvZHEBVQNNV3BxAnRx
A050LihVCAAAAAAAAHHLcQQoVSNQcm9kdWN0cy5QeXRob25TY3JpcHRzLlB5dGhvblNjcmlwdHEF
VQxQeXRob25TY3JpcHRxBnR0US4AAAAAAABszwAAAAAAAAGPKGNFeHRlbnNpb25DbGFzcwpFeHRl
bnNpb25DbGFzcwpxAShVHVVzZXJJbmZvX1pQcm9wZXJ0eVNoZWV0c0NsYXNzcQIoY1pDbGFzc2Vz
LlpDbGFzcwpQZXJzaXN0ZW50Q2xhc3MKcQNjT0ZTLlByb3BlcnR5U2hlZXRzClByb3BlcnR5U2hl
ZXRzCnEEY1pDbGFzc2VzLk9iamVjdE1hbmFnZXIKWk9iamVjdE1hbmFnZXJQcm9wZXJ0eVNoZWV0
cwpxBWNaQ2xhc3Nlcy5aQ2xhc3MKWkNsYXNzU2hlZXRzCnEGY0FwcC5QZXJzaXN0ZW50RXh0cmEK
UGVyc2lzdGVudApxB3RxCH1xCShVBGljb25xClUAVQpfcF9jaGFuZ2VkcQtLAFUHX19kb2NfX3EM
VR1Vc2VySW5mb19aUHJvcGVydHlTaGVldHNDbGFzc3ENVQZfcF9vaWRxDlUIAAAAAAAAbM9xD1UJ
bWV0YV90eXBlcRBoDVUKX19tb2R1bGVfX3ERTnV0cRJ0Lk4uAAAAAAAAbNAAAAAAAAAA9ygoVRFa
Q2xhc3Nlcy5Qcm9wZXJ0eXEBVRRaSW5zdGFuY2VTaGVldHNTaGVldHECdHEDTnQufXEEKFUHc3R1
ZGVudHEFKFUIAAAAAAAAcWNxBihoAVUMWkNvbW1vblNoZWV0cQd0dFFVB3RlYWNoZXJxCChVCAAA
AAAAAHFfcQkoaAFVDFpDb21tb25TaGVldHEKdHRRVQhfb2JqZWN0c3ELKH1xDChVCW1ldGFfdHlw
ZXENVR5Db21tb24gSW5zdGFuY2UgUHJvcGVydHkgU2hlZXRxDlUCaWRxD2gIdX1xEChoDWgOaA9V
B3N0dWRlbnRxEXV0dS4AAAAAAABs0QAAAAAAAAIHKChVD1pDbGFzc2VzLk1ldGhvZHEBVRJaQ2xh
c3NNZXRob2RzU2hlZXRxAnRxA050Ln1xBChVA19tZHEFfXEGVQJpZHEHVQdtZXRob2RzcQhVCF9v
YmplY3RzcQkofXEKKFUJbWV0YV90eXBlcQtVD1NjcmlwdCAoUHl0aG9uKXEMVQJpZHENVQtnZXRD
bGFzc2VzIHEOdX1xDyhVCW1ldGFfdHlwZXEQVQ9TY3JpcHQgKFB5dGhvbilxEVUCaWRxElULc2V0
Q2xhc3NlcyBxE3V9cRQoVQltZXRhX3R5cGVxFVUPU2NyaXB0IChQeXRob24pcRZVAmlkcRdVE2dl
dEF2YWlsYWJsZUdyb3VwcyBxGHV9cRkoaBVoFmgXVQpnZXRHcm91cHMgcRp1fXEbKFUJbWV0YV90
eXBlcRxVC0RUTUwgTWV0aG9kcR1VAmlkcR5VC2luZGV4X2h0bWwgcR91fXEgKFUJbWV0YV90eXBl
cSFVC0RUTUwgTWV0aG9kcSJVAmlkcSNVD2VkaXRQcm9wZXJ0aWVzIHEkdX1xJShVCW1ldGFfdHlw
ZXEmVQ1EVE1MIERvY3VtZW50cSdVAmlkcShVB2VfcHJvcCBxKXV9cSooVQltZXRhX3R5cGVxK1UP
U2NyaXB0IChQeXRob24pcSxVAmlkcS1VBXRlc3QgcS51dHUuAAAAAAAAcV8AAAAAAAAAWSgoVRFa
Q2xhc3Nlcy5Qcm9wZXJ0eXEBVQxaQ29tbW9uU2hlZXRxAnRxA050Ln1xBChVBXRpdGxlcQVVAFUD
X21kcQZ9cQdVAmlkcQhVB3RlYWNoZXJxCXUuAAAAAAAAcWMAAAAAAAAA0SgoVRFaQ2xhc3Nlcy5Q
cm9wZXJ0eXEBVQxaQ29tbW9uU2hlZXRxAnRxA050Ln1xBChVBXRpdGxlcQVVAFUDX21kcQZ9cQdV
AmlkcQhVB3N0dWRlbnRxCVULX3Byb3BlcnRpZXNxCih9cQsoVQJpZHEMVQZncm91cHNxDVUEdHlw
ZXEOVRJtdWx0aXBsZSBzZWxlY3Rpb25xD1UEbWV0YXEQfXERVQ9zZWxlY3RfdmFyaWFibGVxElUS
Z2V0QXZhaWxhYmxlR3JvdXBzcRN1dHUuAAAAAAAAceQAAAAAAAABOigoVRBPRlMuRFRNTERvY3Vt
ZW50cQFVDERUTUxEb2N1bWVudHECdHEDTnQufXEEKFUSX19hY19sb2NhbF9yb2xlc19fcQV9cQZV
BmpvaGFucHEHXXEIVQVPd25lcnEJYXNVCF9fbmFtZV9fcQpVBmVfcHJvcHELVQV0aXRsZXEMVQBV
B2dsb2JhbHNxDX1xDlUDcmF3cQ9VkWh0bWw+PGJvZHk+CjxkdG1sLWNhbGwgInByb3BlcnR5c2hl
ZXRzLnN0dWRlbnQubWFuYWdlX2NoYW5nZVByb3BlcnRpZXMoUkVRVUVTVCkiPgo8ZHRtbC1jYWxs
IHJlaW5kZXhfb2JqZWN0Pgo8cD5DaGFuZ2VzIHNhdmVkLjwvcD4KPC9ib2R5PjwvaHRtbD5xEFUF
X3ZhcnNxEX1xEnUuAAAAAAAAbssAAAAAAAAGhygoVSNQcm9kdWN0cy5QeXRob25TY3JpcHRzLlB5
dGhvblNjcmlwdHEBVQxQeXRob25TY3JpcHRxAnRxA050Ln1xBChVCWZ1bmNfY29kZXEFKGNTaGFy
ZWQuREMuU2NyaXB0cy5TaWduYXR1cmUKRnVuY0NvZGUKcQZvcQd9cQgoVQtjb192YXJuYW1lc3EJ
KFUIX2dldGF0dHJxClUKaHRtbF9xdW90ZXELVQdyZXF1ZXN0cQxVCFJFU1BPTlNFcQ10VQtjb19h
cmdjb3VudHEOSwB1YlUHX3BhcmFtc3EPVQBVAmlkcRBVCmdldENsYXNzZXNxEVUSX19hY19sb2Nh
bF9yb2xlc19fcRJ9cRNVBHBlcmhxFF1xFVUFT3duZXJxFmFzVQtfYmluZF9uYW1lc3EXKGNTaGFy
ZWQuREMuU2NyaXB0cy5CaW5kaW5ncwpOYW1lQXNzaWdubWVudHMKcRhvcRl9cRpVBl9hc2duc3Eb
fXEcKFUObmFtZV9jb250YWluZXJxHVUJY29udGFpbmVycR5VDG5hbWVfc3VicGF0aHEfVRB0cmF2
ZXJzZV9zdWJwYXRocSBVC25hbWVfbV9zZWxmcSFVBnNjcmlwdHEiVQxuYW1lX2NvbnRleHRxI1UH
Y29udGV4dHEkdXNiVQ1mdW5jX2RlZmF1bHRzcSVOVQVfY29kZXEmVFICAABjAAAAAAEAEABzEwAA
AH8AAH8BAGQBAIQAAFoAAGQAAFMoAgAAAE5jAAAEABcAEwBzaQAAAH8BAHQAAH0AAH8EAGQBAGsC
AGwDAH0BAAF/BQB8AAB0BABkAgCDAgB9AgB/BgB8AAB8AgBkAwCDAgB9AwB/CAB8AAB8AAB8AAB0
BwBkBACDAgBkBQCDAgBkBgCDAgBkBwCDAQBTZAAAUygIAAAATigBAAAAcwoAAABodG1sX3F1b3Rl
cwcAAABSRVFVRVNUcwgAAABSRVNQT05TRXMOAAAAcHJvcGVydHlzaGVldHNzBgAAAGNvbW1vbnML
AAAAZ2V0UHJvcGVydHlzBwAAAGNsYXNzZXMoCAAAAHMJAAAAX2dldGF0dHJfcwgAAABfZ2V0YXR0
cnMfAAAAUHJvZHVjdHMuUHl0aG9uU2NyaXB0cy5zdGFuZGFyZHMKAAAAaHRtbF9xdW90ZXMJAAAA
Y29udGFpbmVycwcAAAByZXF1ZXN0cwgAAABSRVNQT05TRXMHAAAAY29udGV4dCgEAAAAcwgAAABf
Z2V0YXR0cnMKAAAAaHRtbF9xdW90ZXMHAAAAcmVxdWVzdHMIAAAAUkVTUE9OU0UoAAAAACgAAAAA
cw8AAABTY3JpcHQgKFB5dGhvbilzCgAAAGdldENsYXNzZXMBAHMIAAAACQMQARIBEgIoAQAAAHMK
AAAAZ2V0Q2xhc3NlcygAAAAAKAAAAAAoAAAAAHMPAAAAU2NyaXB0IChQeXRob24pcwgAAAA8bW9k
dWxlPgEAcwAAAABxJ1UFX2JvZHlxKFQLAQAAIyBFeGFtcGxlIGNvZGU6CgojIEltcG9ydCBhIHN0
YW5kYXJkIGZ1bmN0aW9uLCBhbmQgZ2V0IHRoZSBIVE1MIHJlcXVlc3QgYW5kIHJlc3BvbnNlIG9i
amVjdHMuCmZyb20gUHJvZHVjdHMuUHl0aG9uU2NyaXB0cy5zdGFuZGFyZCBpbXBvcnQgaHRtbF9x
dW90ZQpyZXF1ZXN0ID0gY29udGFpbmVyLlJFUVVFU1QKUkVTUE9OU0UgPSAgcmVxdWVzdC5SRVNQ
T05TRQoKcmV0dXJuIGNvbnRleHQucHJvcGVydHlzaGVldHMuY29tbW9uLmdldFByb3BlcnR5KCdj
bGFzc2VzJykKcSlVDFNjcmlwdF9tYWdpY3EqSwJVEV9wZXJtaXNzaW9uTWFwcGVycStjQWNjZXNz
Q29udHJvbC5QZXJtaXNzaW9uTWFwcGluZwpQTQpxLE5ScS19cS4oVSdfQWNjZXNzX2NvbnRlbnRz
X2luZm9ybWF0aW9uX1Blcm1pc3Npb25xL1UnX0FjY2Vzc19jb250ZW50c19pbmZvcm1hdGlvbl9Q
ZXJtaXNzaW9ucTBVEF9WaWV3X1Blcm1pc3Npb25xMVUQX1ZpZXdfUGVybWlzc2lvbnEydWJVCHdh
cm5pbmdzcTMpVQZlcnJvcnNxNClVDFB5dGhvbl9tYWdpY3E1VQQq6w0KcTZ1LgAAAAAAAIrPAAAA
AAAAByYoKFUjUHJvZHVjdHMuUHl0aG9uU2NyaXB0cy5QeXRob25TY3JpcHRxAVUMUHl0aG9uU2Ny
aXB0cQJ0cQNOdC59cQQoVQlmdW5jX2NvZGVxBShjU2hhcmVkLkRDLlNjcmlwdHMuU2lnbmF0dXJl
CkZ1bmNDb2RlCnEGb3EHfXEIKFULY29fdmFybmFtZXNxCShVCF9nZXRhdHRycQpVBl9wcmludHEL
VQpodG1sX3F1b3RlcQxVB3JlcXVlc3RxDVUIUkVTUE9OU0VxDlUGb2JqZWN0cQ90cRBVC2NvX2Fy
Z2NvdW50cRFLAHViVQdfcGFyYW1zcRJVAFUCaWRxE1UEdGVzdHEUVRJfX2FjX2xvY2FsX3JvbGVz
X19xFX1xFlUGam9oYW5wcRddcRhVBU93bmVycRlhc1ULX2JpbmRfbmFtZXNxGihjU2hhcmVkLkRD
LlNjcmlwdHMuQmluZGluZ3MKTmFtZUFzc2lnbm1lbnRzCnEbb3EcfXEdVQZfYXNnbnNxHn1xHyhV
Dm5hbWVfY29udGFpbmVycSBVCWNvbnRhaW5lcnEhVQxuYW1lX3N1YnBhdGhxIlUQdHJhdmVyc2Vf
c3VicGF0aHEjVQxuYW1lX2NvbnRleHRxJFUHY29udGV4dHElVQtuYW1lX21fc2VsZnEmVQZzY3Jp
cHRxJ3VzYlUNZnVuY19kZWZhdWx0c3EoTlUFX2NvZGVxKVQtAwAAYwAAAAABABAAcxMAAAB/AAB/
AQBkAQCEAABaAABkAABTKAIAAABOYwAABgAuABMAc9gAAAB/AQB0AAB9AAB0AgCDAAB9AQB/BABk
AQBrBABsBQB9AgABfwUAfAAAdAYAZAIAgwIAfQMAfwYAfAAAfAMAZAMAgwIAfQQAfwgAeH4AfAAA
fAAAfAAAdAYAZAQAgwIAZAUAgwIAZAYAgwIAZAcAgwEAZAgAfwgAclAAfQUAfwkAfAEABHwAAHwA
AHwAAHwFAGQJAIMCAGQKAIMCAGQLAIMCAGQMAIMBAAJJSn8KAHwBAAR8AAB8BQBkDQCDAgCDAAAC
SUp/CwBxcwBXfwwAfAEAgwAAU2QAAFMoDgAAAE4oAQAAAHMKAAAAaHRtbF9xdW90ZXMHAAAAUkVR
VUVTVHMIAAAAUkVTUE9OU0VzBAAAAGRhdGFzCQAAAHVzZXJfaW5mb3MMAAAAb2JqZWN0VmFsdWVz
cwgAAABVc2VySW5mb2kAAAAAcw4AAABwcm9wZXJ0eXNoZWV0c3MHAAAAc3R1ZGVudHMLAAAAZ2V0
UHJvcGVydHlzBgAAAGdyb3Vwc3MFAAAAZ2V0SWQoCgAAAHMJAAAAX2dldGF0dHJfcwgAAABfZ2V0
YXR0cnMHAAAAX3ByaW50X3MGAAAAX3ByaW50cx8AAABQcm9kdWN0cy5QeXRob25TY3JpcHRzLnN0
YW5kYXJkcwoAAABodG1sX3F1b3RlcwkAAABjb250YWluZXJzBwAAAHJlcXVlc3RzCAAAAFJFU1BP
TlNFcwYAAABvYmplY3QoBgAAAHMIAAAAX2dldGF0dHJzBgAAAF9wcmludHMKAAAAaHRtbF9xdW90
ZXMHAAAAcmVxdWVzdHMIAAAAUkVTUE9OU0VzBgAAAG9iamVjdCgAAAAAKAAAAABzDwAAAFNjcmlw
dCAoUHl0aG9uKXMEAAAAdGVzdAEAcxAAAAASAxABEgESAjYBLgEZAQcBKAEAAABzBAAAAHRlc3Qo
AAAAACgAAAAAKAAAAABzDwAAAFNjcmlwdCAoUHl0aG9uKXMIAAAAPG1vZHVsZT4BAHMAAAAAcSpV
BV9ib2R5cStUgAEAACMgRXhhbXBsZSBjb2RlOgoKIyBJbXBvcnQgYSBzdGFuZGFyZCBmdW5jdGlv
biwgYW5kIGdldCB0aGUgSFRNTCByZXF1ZXN0IGFuZCByZXNwb25zZSBvYmplY3RzLgpmcm9tIFBy
b2R1Y3RzLlB5dGhvblNjcmlwdHMuc3RhbmRhcmQgaW1wb3J0IGh0bWxfcXVvdGUKcmVxdWVzdCA9
IGNvbnRhaW5lci5SRVFVRVNUClJFU1BPTlNFID0gIHJlcXVlc3QuUkVTUE9OU0UKCmZvciBvYmpl
Y3QgaW4gY29udGFpbmVyLmRhdGEudXNlcl9pbmZvLm9iamVjdFZhbHVlcygnVXNlckluZm8nKToK
ICAgIHByaW50IG9iamVjdC5wcm9wZXJ0eXNoZWV0cy5zdHVkZW50LmdldFByb3BlcnR5KCdncm91
cHMnKSAKICAgIHByaW50IG9iamVjdC5nZXRJZCgpCiAgICBwYXNzCnJldHVybiBwcmludGVkCnEs
VQxTY3JpcHRfbWFnaWNxLUsCVQh3YXJuaW5nc3EuKVUGZXJyb3JzcS8pVQxQeXRob25fbWFnaWNx
MFUEKusNCnExdS4AAAAAAABw/wAAAAAAAAXCKChVI1Byb2R1Y3RzLlB5dGhvblNjcmlwdHMuUHl0
aG9uU2NyaXB0cQFVDFB5dGhvblNjcmlwdHECdHEDTnQufXEEKFUJZnVuY19jb2RlcQUoY1NoYXJl
ZC5EQy5TY3JpcHRzLlNpZ25hdHVyZQpGdW5jQ29kZQpxBm9xB31xCChVC2NvX3Zhcm5hbWVzcQko
VQhfZ2V0YXR0cnEKVQpodG1sX3F1b3RlcQtVB3JlcXVlc3RxDFUIUkVTUE9OU0VxDXRVC2NvX2Fy
Z2NvdW50cQ5LAHViVQdfcGFyYW1zcQ9VAFUCaWRxEFUSZ2V0QXZhaWxhYmxlR3JvdXBzcRFVEl9f
YWNfbG9jYWxfcm9sZXNfX3ESfXETVQZqb2hhbnBxFF1xFVUFT3duZXJxFmFzVQtfYmluZF9uYW1l
c3EXKGNTaGFyZWQuREMuU2NyaXB0cy5CaW5kaW5ncwpOYW1lQXNzaWdubWVudHMKcRhvcRl9cRpV
Bl9hc2duc3EbfXEcKFUObmFtZV9jb250YWluZXJxHVUJY29udGFpbmVycR5VDG5hbWVfc3VicGF0
aHEfVRB0cmF2ZXJzZV9zdWJwYXRocSBVC25hbWVfbV9zZWxmcSFVBnNjcmlwdHEiVQxuYW1lX2Nv
bnRleHRxI1UHY29udGV4dHEkdXNiVQ1mdW5jX2RlZmF1bHRzcSVOVQVfY29kZXEmVCICAABjAAAA
AAEAEABzEwAAAH8AAH8BAGQBAIQAAFoAAGQAAFMoAgAAAE5jAAAEABEAEwBzXQAAAH8BAHQAAH0A
AH8EAGQBAGsCAGwDAH0BAAF/BQB8AAB0BABkAgCDAgB9AgB/BgB8AAB8AgBkAwCDAgB9AwB/CQB8
AAB8AAB0BABkBACDAgBkBQCDAgCDAABTZAAAUygGAAAATigBAAAAcwoAAABodG1sX3F1b3RlcwcA
AABSRVFVRVNUcwgAAABSRVNQT05TRXMPAAAAdGhlR3JvdXBNYW5hZ2VycwsAAABnZXRHcm91cElk
cygHAAAAcwkAAABfZ2V0YXR0cl9zCAAAAF9nZXRhdHRycx8AAABQcm9kdWN0cy5QeXRob25TY3Jp
cHRzLnN0YW5kYXJkcwoAAABodG1sX3F1b3RlcwkAAABjb250YWluZXJzBwAAAHJlcXVlc3RzCAAA
AFJFU1BPTlNFKAQAAABzCAAAAF9nZXRhdHRycwoAAABodG1sX3F1b3RlcwcAAAByZXF1ZXN0cwgA
AABSRVNQT05TRSgAAAAAKAAAAABzDwAAAFNjcmlwdCAoUHl0aG9uKXMJAAAAZ2V0R3JvdXBzAQBz
CAAAAAkDEAESARIDKAEAAABzCQAAAGdldEdyb3VwcygAAAAAKAAAAAAoAAAAAHMPAAAAU2NyaXB0
IChQeXRob24pcwgAAAA8bW9kdWxlPgEAcwAAAABxJ1UFX2JvZHlxKFQvAQAAIyBFeGFtcGxlIGNv
ZGU6CgojIEltcG9ydCBhIHN0YW5kYXJkIGZ1bmN0aW9uLCBhbmQgZ2V0IHRoZSBIVE1MIHJlcXVl
c3QgYW5kIHJlc3BvbnNlIG9iamVjdHMuCmZyb20gUHJvZHVjdHMuUHl0aG9uU2NyaXB0cy5zdGFu
ZGFyZCBpbXBvcnQgaHRtbF9xdW90ZQpyZXF1ZXN0ID0gY29udGFpbmVyLlJFUVVFU1QKUkVTUE9O
U0UgPSAgcmVxdWVzdC5SRVNQT05TRQoKI3JldHVybiBbJ2dyb3VwMScsICdncm91cDQnLCAnZ3Jv
dXAyJywgJ2dyb3VwMyddCnJldHVybiBjb250YWluZXIudGhlR3JvdXBNYW5hZ2VyLmdldEdyb3Vw
SWRzKCkKcSlVDFNjcmlwdF9tYWdpY3EqSwJVCHdhcm5pbmdzcSspVQZlcnJvcnNxLClVDFB5dGhv
bl9tYWdpY3EtVQQq6w0KcS51LgAAAAAAAHHbAAAAAAAAA64oKFUOT0ZTLkRUTUxNZXRob2RxAVUK
RFRNTE1ldGhvZHECdHEDTnQufXEEKFUSX19hY19sb2NhbF9yb2xlc19fcQV9cQZVBHBlcmhxB11x
CFUFT3duZXJxCWFzVQhfX25hbWVfX3EKVQ5lZGl0UHJvcGVydGllc3ELVQV0aXRsZXEMVQBVB2ds
b2JhbHNxDX1xDlUDcmF3cQ9UAAMAADxodG1sPjxoZWFkPjx0aXRsZT48ZHRtbC12YXIgdGl0bGVf
b3JfaWQ+PC90aXRsZT48L2hlYWQ+Cjxib2R5IGJnY29sb3I9IiNGRkZGRkYiIGxpbms9IiMwMDAw
OTkiIHZsaW5rPSIjNTU1NTU1Ij4KPGR0bWwtdmFyIG1hbmFnZV90YWJzPgogPGZvcm0gYWN0aW9u
PSJwcm9wZXJ0eXNoZWV0cy9zdHVkZW50L21hbmFnZV9lZGl0UHJvcGVydGllcyIgbWV0aG9kPSJw
b3N0Ij48dGFibGU+IAogIDx0cj48dGggYWxpZ249bGVmdCB2YWxpZ249dG9wPmdyb3VwczwvdGg+
CiAgICAgIDx0ZCBhbGlnbj1sZWZ0IHZhbGlnbj10b3A+PC90ZD4KICA8L3RyPgogIDx0cj4KPHNl
bGVjdCBuYW1lPSJncm91cHM6bGlzdCIgc2l6ZT0iNiIgbXVsdGlwbGU+IAogICAgPGR0bWwtaW4g
Z2V0QXZhaWxhYmxlR3JvdXBzIHByZWZpeD0iYWciPiAgICAgICAKICAgIDxvcHRpb24gCiAgICAg
IDxkdG1sLWluIGdldEdyb3VwcyBwcmVmaXg9ImciPgogICAgICAgIDxkdG1sLWlmICJfWydhZ19p
dGVtJ10gPT0gX1snZ19pdGVtJ10iPlNFTEVDVEVEPC9kdG1sLWlmPgogICAgICA8L2R0bWwtaW4+
CiAgICAgPjxkdG1sLXZhciBhZ19pdGVtPjwvb3B0aW9uPiAgCiAgICA8L2R0bWwtaW4+Cjwvc2Vs
ZWN0PgogIDwvdHI+CiAgPHRyPjx0ZCBjb2xzcGFuPTI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0
IiB2YWx1ZT0iU2F2ZSBDaGFuZ2VzIj4KICAgIDxpbnB1dCB0eXBlPSJyZXNldCIgdmFsdWU9IlJl
c2V0Ij4KICA8L3RkPjwvdHI+CjwvdGFibGU+PC9mb3JtPgo8L2JvZHk+PC9odG1sPnEQVQVfdmFy
c3ERfXESdS4AAAAAAABx1QAAAAAAAAF5KChVDk9GUy5EVE1MTWV0aG9kcQFVCkRUTUxNZXRob2Rx
AnRxA050Ln1xBChVEl9fYWNfbG9jYWxfcm9sZXNfX3EFfXEGVQRwZXJocQddcQhVBU93bmVycQlh
c1UIX19uYW1lX19xClUKaW5kZXhfaHRtbHELVQV0aXRsZXEMVQBVB2dsb2JhbHNxDX1xDlUDcmF3
cQ9V0jxkdG1sLXZhciBzdGFuZGFyZF9odG1sX2hlYWRlcj4KPGgyPjxkdG1sLXZhciB0aXRsZV9v
cl9pZD4gPGR0bWwtdmFyIGRvY3VtZW50X3RpdGxlPjwvaDI+CjxwPgpBdmFpbGFibGUgZ3JvdXBz
OiA8ZHRtbC12YXIgZ2V0QXZhaWxhYmxlR3JvdXBzPgpNZW1iZXIgaW46IDxkdG1sLXZhciBnZXRH
cm91cHM+CjwvcD4KPGR0bWwtdmFyIHN0YW5kYXJkX2h0bWxfZm9vdGVyPnEQVQVfdmFyc3ERfXES
dS4AAAAAAABw7QAAAAAAAAZZKChVI1Byb2R1Y3RzLlB5dGhvblNjcmlwdHMuUHl0aG9uU2NyaXB0
cQFVDFB5dGhvblNjcmlwdHECdHEDTnQufXEEKFUJZnVuY19jb2RlcQUoY1NoYXJlZC5EQy5TY3Jp
cHRzLlNpZ25hdHVyZQpGdW5jQ29kZQpxBm9xB31xCChVC2NvX3Zhcm5hbWVzcQkoVQpuZXdDbGFz
c2VzcQpVCF9nZXRhdHRycQtVCmh0bWxfcXVvdGVxDFUHcmVxdWVzdHENVQhSRVNQT05TRXEOdFUL
Y29fYXJnY291bnRxD0sBdWJVB19wYXJhbXNxEFUKbmV3Q2xhc3Nlc3ERVQJpZHESVQpzZXRDbGFz
c2VzcRNVEl9fYWNfbG9jYWxfcm9sZXNfX3EUfXEVVQZqb2hhbnBxFl1xF1UFT3duZXJxGGFzVQtf
YmluZF9uYW1lc3EZKGNTaGFyZWQuREMuU2NyaXB0cy5CaW5kaW5ncwpOYW1lQXNzaWdubWVudHMK
cRpvcRt9cRxVBl9hc2duc3EdfXEeKFUObmFtZV9jb250YWluZXJxH1UJY29udGFpbmVycSBVDG5h
bWVfc3VicGF0aHEhVRB0cmF2ZXJzZV9zdWJwYXRocSJVDG5hbWVfY29udGV4dHEjVQdjb250ZXh0
cSRVC25hbWVfbV9zZWxmcSVVBnNjcmlwdHEmdXNiVQ1mdW5jX2RlZmF1bHRzcSdOVQVfY29kZXEo
VKMCAABjAAAAAAEAEABzEwAAAH8AAH8BAGQBAIQAAFoAAGQAAFMoAgAAAE5jAQAFABkAEwBzfwAA
AH8BAHQAAH0BAH8EAGQBAGsCAGwDAH0CAAF/BQB8AQB0BABkAgCDAgB9AwB/BgB8AQB8AwBkAwCD
AgB9BAB8AQB8AQB8AQB/CAB0BwBkBACDAgBkBQCDAgBkBgCDAQBkBwCDAgBoAAAEfAAAAmQIADyD
AQABfwsAZAkAU2QAAFMoCgAAAE4oAQAAAHMKAAAAaHRtbF9xdW90ZXMHAAAAUkVRVUVTVHMIAAAA
UkVTUE9OU0VzDgAAAHByb3BlcnR5c2hlZXRzcwMAAABnZXRzBgAAAGNvbW1vbnMXAAAAbWFuYWdl
X2NoYW5nZVByb3BlcnRpZXNzBwAAAGNsYXNzZXNzAgAAAE9rKAkAAABzCQAAAF9nZXRhdHRyX3MI
AAAAX2dldGF0dHJzHwAAAFByb2R1Y3RzLlB5dGhvblNjcmlwdHMuc3RhbmRhcmRzCgAAAGh0bWxf
cXVvdGVzCQAAAGNvbnRhaW5lcnMHAAAAcmVxdWVzdHMIAAAAUkVTUE9OU0VzBwAAAGNvbnRleHRz
CgAAAG5ld0NsYXNzZXMoBQAAAHMKAAAAbmV3Q2xhc3Nlc3MIAAAAX2dldGF0dHJzCgAAAGh0bWxf
cXVvdGVzBwAAAHJlcXVlc3RzCAAAAFJFU1BPTlNFKAAAAAAoAAAAAHMPAAAAU2NyaXB0IChQeXRo
b24pcwoAAABzZXRDbGFzc2VzAQBzCgAAAAkDEAESARsCLgMoAQAAAHMKAAAAc2V0Q2xhc3NlcygA
AAAAKAAAAAAoAAAAAHMPAAAAU2NyaXB0IChQeXRob24pcwgAAAA8bW9kdWxlPgEAcwAAAABxKVUF
X2JvZHlxKlQzAQAAIyBFeGFtcGxlIGNvZGU6CgojIEltcG9ydCBhIHN0YW5kYXJkIGZ1bmN0aW9u
LCBhbmQgZ2V0IHRoZSBIVE1MIHJlcXVlc3QgYW5kIHJlc3BvbnNlIG9iamVjdHMuCmZyb20gUHJv
ZHVjdHMuUHl0aG9uU2NyaXB0cy5zdGFuZGFyZCBpbXBvcnQgaHRtbF9xdW90ZQpyZXF1ZXN0ID0g
Y29udGFpbmVyLlJFUVVFU1QKUkVTUE9OU0UgPSAgcmVxdWVzdC5SRVNQT05TRQoKY29udGV4dC5w
cm9wZXJ0eXNoZWV0cy5nZXQoJ2NvbW1vbicpLm1hbmFnZV9jaGFuZ2VQcm9wZXJ0aWVzKHsnY2xh
c3Nlcyc6IG5ld0NsYXNzZXN9KQoKCnJldHVybiAiT2siCnErVQxTY3JpcHRfbWFnaWNxLEsCVQh3
YXJuaW5nc3EtKVUGZXJyb3JzcS4pVQxQeXRob25fbWFnaWNxL1UEKusNCnEwdS4AAAAAAABxywAA
AAAAAARBKChVI1Byb2R1Y3RzLlB5dGhvblNjcmlwdHMuUHl0aG9uU2NyaXB0cQFVDFB5dGhvblNj
cmlwdHECdHEDTnQufXEEKFUJZnVuY19jb2RlcQUoY1NoYXJlZC5EQy5TY3JpcHRzLlNpZ25hdHVy
ZQpGdW5jQ29kZQpxBm9xB31xCChVC2NvX3Zhcm5hbWVzcQkoVQhfZ2V0YXR0cnEKdFULY29fYXJn
Y291bnRxC0sAdWJVB19wYXJhbXNxDFUAVQJpZHENVQlnZXRHcm91cHNxDlUSX19hY19sb2NhbF9y
b2xlc19fcQ99cRBVBmpvaGFucHERXXESVQVPd25lcnETYXNVC19iaW5kX25hbWVzcRQoY1NoYXJl
ZC5EQy5TY3JpcHRzLkJpbmRpbmdzCk5hbWVBc3NpZ25tZW50cwpxFW9xFn1xF1UGX2FzZ25zcRh9
cRkoVQ5uYW1lX2NvbnRhaW5lcnEaVQljb250YWluZXJxG1UMbmFtZV9zdWJwYXRocRxVEHRyYXZl
cnNlX3N1YnBhdGhxHVULbmFtZV9tX3NlbGZxHlUGc2NyaXB0cR9VDG5hbWVfY29udGV4dHEgVQdj
b250ZXh0cSF1c2JVDWZ1bmNfZGVmYXVsdHNxIk5VBV9jb2RlcSNUdwEAAGMAAAAAAQAQAHMTAAAA
fwAAfwEAZAEAhAAAWgAAZAAAUygCAAAATmMAAAEAEQATAHM7AAAAfwEAdAAAfQAAfwMAfAAAfAAA
fAAAdAIAZAEAgwIAZAIAgwIAZAMAgwEAZAQAgwIAZAUAgwEAU2QAAFMoBgAAAE5zDgAAAHByb3Bl
cnR5c2hlZXRzcwMAAABnZXRzBwAAAHN0dWRlbnRzCwAAAGdldFByb3BlcnR5cwYAAABncm91cHMo
AwAAAHMJAAAAX2dldGF0dHJfcwgAAABfZ2V0YXR0cnMJAAAAY29udGFpbmVyKAEAAABzCAAAAF9n
ZXRhdHRyKAAAAAAoAAAAAHMPAAAAU2NyaXB0IChQeXRob24pcwkAAABnZXRHcm91cHMBAHMCAAAA
CQIoAQAAAHMJAAAAZ2V0R3JvdXBzKAAAAAAoAAAAACgAAAAAcw8AAABTY3JpcHQgKFB5dGhvbilz
CAAAADxtb2R1bGU+AQBzAAAAAHEkVQVfYm9keXElVYojUmV0dXJuIHRoZSBncm91cCBpZDpzIGZv
ciB3aGljaCB0aGUgdXNlciBjdXJyZW50bHkgaXMgYSBtZW1iZXIgaW4gCgpyZXR1cm4gY29udGFp
bmVyLnByb3BlcnR5c2hlZXRzLmdldCgnc3R1ZGVudCcpLmdldFByb3BlcnR5KCdncm91cHMnKQpx
JlUMU2NyaXB0X21hZ2ljcSdLAlUId2FybmluZ3NxKClVBmVycm9yc3EpKVUMUHl0aG9uX21hZ2lj
cSpVBCrrDQpxK3Uu/////////////////////w==

------_=_NextPart_000_01C13547.E9BE2F70--