starting multiple instances with mysqld_multi

starting multiple instances with mysqld_multi

am 11.05.2010 06:24:31 von Nitin Mehta

--0-309841028-1273551871=:50896
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

Hi, I am exploring multiple instances with MySQL which will be running=
using the same set of binaries (single MySQL base). Two things which I'm n=
ot able to work out are - =091. Why mysqld_multi stop doesn'=
t work? Well, I know why it doesn't because there is nothing in the script =
to handle a 'stop' call; the actual question would be - why it doesn't work=
when it is mentioned in the MySQL reference manual? 2. how to (auto) =
restart the instances after a server restart? do I need to write my own scr=
ipt for this or is there anything available which I'm not aware of?=0AIf yo=
u have resolved these issues, please let me know.    =0ABest Regard=
s,=0ANitin =0A
--0-309841028-1273551871=:50896--

Re: starting multiple instances with mysqld_multi

am 11.05.2010 08:24:22 von prabhat kumar

--0016362835188fe2bf04864b9351
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

Hi,

You can run multiple instances on the same host and specify configuration
options either by adding the options as arguments on the command line, or b=
y
storing them in configuration files.

for example, from the command line:

shell> mysqld --port 3306 --log=3D/path/to/server1/log
shell> mysqld --port 3307 --log=3D/path/to/server2/log


So, when MySQL starts up it reads various config files in sequence. This
means that you can set global options for all instances in one file and the=
n
specific options for individual instances in separate files.

The files it reads by default are (on linux)

/etc/my.cnf
> the_mysql_data_dir/my.cnf
> ~/.my.cnf
>

You can direct the server to read specific config files after it reads the
default /etc/my.cnf file with the following directive.

--defaults-extra-file=3D/path/to/extra/config/file

So, if you wanted 2 instances running with some shared options and some
specific options, you could create additional configuration files in /etc
say:

/etc/my.server1.cnf
/etc/my.server2.cnf

where my.server1.cnf has the following lines:

port=3D3306
log=3D/path/to/log/file/for/server1
(other options here)

and my.server2.cnf is:

port=3D3307
log=3D/path/to/log/file/for/server2
(other options here)

then you could start the separate instances of mysqld as follows:

shell> mysqld --defaults-extra-file=3D/etc/my.server1.cnf
shell> mysqld --defaults-extra-file=3D/etc/my.server2.cnf

about *mysqld_multi*

> *mysqld_multi*
> mysqld_multi [ options] {start| stop| report} [ server_id]
> Use this to run multiple MySQL servers on different socket files and port=
s.
> To set up
> multiple servers, a different section of server options must be entered
> into a configuration file (e.g., /etc/my.cnf). The naming scheme for each
> section must be [mysqldn]
> where n is a different number for each server. Options must be entered
> separately for
> each server in its own section, even when servers use the same options. A=
t
> a minimum,
> each server should use a different socket file and a different TCP/IP por=
t.
> To see an
> example of how a configuration file might be set up for multiple servers,
> enter the
> following from the command line:
> mysqld_multi --example
> Once multiple servers have been configured, to start a server, you can
> enter something
> like the following from the command line:
> mysqld_multi start 3
> This line would start server number 3 listed in the configuration file as
> [mysqld3]. By
> entering report for the first argument, you can obtain the status on the
> server. For
> starting and stopping the server, this script uses the mysqladmin utility=
..
> Here is an
> alphabetical list of options specific to mysqld_multi that you can enter
> from the
> command line, along with a brief explanation of each:
> --config-file=3Dfilename
> Specifies the path and name of the server=92s configuration file if it is
> different from
> the default.
> --example
> Displays a sample configuration file.
> --help
> Displays basic help information.
> --log=3Dfilename
> Sets the path and name of the logfile. The default is
> /tmp/mysqld_multi.log.
> --mysqladmin=3Dpath
> Sets the path to the mysqladmin utility.
> --mysqld=3Dpath
> Specifies the path to mysqld.
> --no-log
> Instructs the utility not to save messages to a log, but to send them to
> stdout
> instead.
> --password=3Dpassword
> Provides the password for using mysqladmin.
> --tcp-ip
> Enables TCP/IP communication with the server instead of using a Unix-doma=
in
> socket.
> --user=3Duser
> Provides the username for using mysqladmin. The same user must be used fo=
r
> all
> servers.
> --version
> Displays the version of the utility.
>

Thanks,


On Tue, May 11, 2010 at 9:54 AM, Nitin Mehta wrote:

> Hi,
>
> I am exploring multiple instances with MySQL which will be running using
> the same set of binaries (single MySQL base). Two things which I'm not ab=
le
> to work out are -
>
> 1. Why mysqld_multi stop doesn't work? Well, I know why i=
t
> doesn't because there is nothing in the script to handle a 'stop' call; t=
he
> actual question would be - why it doesn't work when it is mentioned in th=
e
> MySQL reference manual?
> 2. how to (auto) restart the instances after a server restart? do =
I
> need to write my own script for this or is there anything available which
> I'm not aware of?
> If you have resolved these issues, please let me know.
>
>
> Best Regards,
> Nitin
>
>
>




--=20
Best Regards,

Prabhat Kumar
MySQL DBA
Datavail-India Mumbai
Mobile : 91-9987681929
www.datavail.com

My Blog: http://adminlinux.blogspot.com
My LinkedIn: http://www.linkedin.com/in/profileprabhat

--0016362835188fe2bf04864b9351--

Re: starting multiple instances with mysqld_multi

am 11.05.2010 12:19:20 von Nitin Mehta

--0-1420454395-1273573160=:90226
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Thanks, Prabhat! You're very right, but did you read the questions I asked?=
=0A________________________________=0AFrom : Prabhat Kumar=
=0ATo: Nitin Mehta =0ACc: mysql@l=
ists.mysql.com=0ASent: Tue, May 11, 2010 11:54:22 AM=0ASubject: Re: startin=
g multiple instances with mysqld_multi Hi, You can run multiple i=
nstances on the same host and specify configuration options either by addin=
g the options as arguments on the command line, or by storing them in confi=
guration files. for example, from the command line: shell> mysqld=
--port 3306 --log=3D/path/to/server1/log=0Ashell> mysqld --port 3307 --log=
=3D/path/to/server2/log =0ASo, when MySQL starts up it reads various c=
onfig files in sequence. This means that you can set global options for all=
instances in one file and then specific options for individual instances i=
n separate files. The files it reads by default are (on linux) =
=0A>>/etc/my.cnf=0A>>the_mysql_data_dir/my.cnf=0A>>~/.my.cnf =0A>>=0AYou can=
direct the server to read specific config files after it reads the default=
/etc/my.cnf file with the following directive. --defaults-extra-file=
=3D/path/to/extra/config/file So, if you wanted 2 instances running wi=
th some shared options and some specific options, you could create addition=
al configuration files in /etc say: /etc/my.server1.cnf=0A/etc/my.serv=
er2.cnf where my.server1.cnf has the following lines: port=3D3306=
=0Alog=3D/path/to/log/file/for/server1=0A(other options here) and my.s=
erver2.cnf is: port=3D3307=0Alog=3D/path/to/log/file/for/server2=0 A(ot=
her options here) then you could start the separate instances of mysql=
d as follows: shell> mysqld --defaults-extra-file=3D/etc/my.server1.cn=
f=0Ashell> mysqld --defaults-extra-file=3D/etc/my.server2.cnf about my=
sqld_multi=0Amysqld_multi=0A>>mysqld_multi [ options] {start| stop| report}=
[ server_id]=0A>Use this to run multiple MySQL servers on different socket=
files and ports. To set up=0A>multiple servers, a different section of ser=
ver options must be entered into a configuration file (e.g., /etc/my.cnf). =
The naming scheme for each section must be [mysqldn]=0A>>where n is a diffe=
rent number for each server. Options must be entered separately for=0A>each=
server in its own section, even when servers use the same options. At a mi=
nimum,=0A>each server should use a different socket file and a different TC=
P/IP port. To see an=0A>>example of how a configuration file might be set u=
p for multiple servers, enter the=0A>following from the command line:=0A>my=
sqld_multi --example=0A>Once multiple servers have been configured, to star=
t a server, you can enter something=0A>>like the following from the command=
line:=0A>mysqld_multi start 3=0A>This line would start server number 3 lis=
ted in the configuration file as [mysqld3]. By=0A>entering report for the f=
irst argument, you can obtain the status on the server. For=0A>>starting an=
d stopping the server, this script uses the mysqladmin utility. Here is an=
=0A>alphabetical list of options specific to mysqld_multi that you can ente=
r from the=0A>command line, along with a brief explanation of each:=0A>>--c=
onfig-file=3Dfilename=0A>Specifies the path and name of the serverâ€=99=
s configuration file if it is different from=0A>the default.=0A>--example=
=0A>Displays a sample configuration file.=0A>--help=0A>Displays basic help =
information.=0A>>--log=3Dfilename=0A>Sets the path and name of the logfile.=
The default is /tmp/mysqld_multi.log.=0A>--mysqladmin=3Dpath=0A>Sets the p=
ath to the mysqladmin utility.=0A>--mysqld=3Dpath=0A>Specifies the path to =
mysqld.=0A>--no-log=0A>>Instructs the utility not to save messages to a log=
, but to send them to stdout=0A>instead.=0A>--password=3Dpassword=0A>Provid=
es the password for using mysqladmin.=0A>--tcp-ip=0A>Enables TCP/IP communi=
cation with the server instead of using a Unix-domain=0A>>socket.=0A>--user=
=3Duser=0A>Provides the username for using mysqladmin. The same user must b=
e used for all=0A>servers.=0A>--version=0A>Displays the version of the util=
ity.=0A>=0AThanks, On Tue, May 11, 2010 at 9:54 AM, Nitin Mehta =
wrote: >Hi,=0A>=0A>>I am exploring multiple instanc=
es with MySQL which will be running using the same set of binaries (single =
MySQL base). Two things which I'm not able to work out are -=0A>=0A>> =
1. Why mysqld_multi stop doesn't work? Well, I know why it doesn=
't because there is nothing in the script to handle a 'stop' call; the actu=
al question would be - why it doesn't work when it is mentioned in the MySQ=
L reference manual?=0A>>=0A> 2. how to (auto) restart the instances =
after a server restart? do I need to write my own script for this or is the=
re anything available which I'm not aware of?=0A>>If you have resolved thes=
e issues, please let me know.=0A>> =0A>> =0A>>Best Regards,=0A>Nitin=0A>=0A=
>=0A>> =0A-- =0ABest Regards, Prabhat Kumar=0AMySQL DBA=0AD=
atavail-India Mumbai=0AMobile : 91-9987681929=0Awww.datavail.com M=
y Blog: http://adminlinux.blogspot.com=0AMy LinkedIn: http://www.linkedin.c=
om/in/profileprabhat
--0-1420454395-1273573160=:90226--

Re: starting multiple instances with mysqld_multi

am 14.05.2010 12:04:05 von Yang Wang

SGksTml0aW4NCg0KICAgIEJlbG93IGluZm9ybWF0aW9uIGZvciB5b3VyIHJl ZmVyZW5jZS4NCg0K
Zm9yIG15LmNuZg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0NCltteXNxbGQ1MTI5XQ0KcG9ydD01NTA2DQpzb2NrZXQ9 L3RtcC9teXNxbDUx
Mjkuc29jaw0KYmFzZWRpcj0vb3B0L015U1FMNTEyOQ0KZGF0YWRpcj0vb3B0 L015U1FMNTEyOS92
YXINCnVzZXI9bXlzcWwNCmxvZy1lcnJvcj0vdmFyL2xvZy9teXNxbGQ1MTI5 LmxvZw0KcGlkLWZp
bGU9L3RtcC9teXNxbGQ1MTI5LnBpZA0KI2xvZy1iaW49L29wdC9NeVNRTDUx MjkvYmlubG9nDQps
b25nX3F1ZXJ5X3RpbWU9Mg0KbG9nLXNsb3ctcXVlcmllcz0vb3B0L015U1FM NTEyOS9zbG93bG9n
DQpkZWZhdWx0LWNoYXJhY3Rlci1zZXQ9dXRmOA0KDQoNCltteXNxbGQ2MDdd DQpwb3J0PTU1MDcN
CnNvY2tldD0vdG1wL215c3FsNjA3LnNvY2sNCmJhc2VkaXI9L29wdC9NeVNR TDYwNw0KZGF0YWRp
cj0vb3B0L015U1FMNjA3L3Zhcg0KdXNlcj1teXNxbA0KbG9nLWVycm9yPS92 YXIvbG9nL215c3Fs
ZDYwNy5sb2cNCnBpZC1maWxlPS90bXAvbXlzcWxkNjA3LnBpZA0KYmluZC1h ZGRyZXNzPTEyNy4w
LjAuMQ0Kc2tpcC1uYW1lLXJlc29sdmUNCi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQ0KDQpGb3Igc3RhcnQvc3RvcCANCj09PT09PT09 PT09PT09PT09PT09
PT09PT09PT09PQ0KLWJhc2gtMy4xIyBjYXQgL29wdC9NeVNRTDUxMjlzdGFy dC5zaA0KL29wdC9N
eVNRTDUxMjkvYmluL215c3FsZF9tdWx0aSBzdGFydCA1MTI5DQotYmFzaC0z LjEjIGNhdCAvb3B0
L015U1FMNTEyOXN0b3Auc2gNCi9vcHQvTXlTUUw1MTI5L2Jpbi9teXNxbGRf bXVsdGkgc3RvcCA1
MTI5DQoNCi1iYXNoLTMuMSMgY2F0IC9vcHQvTXlTUUw2MDdzdGFydC5zaA0K L29wdC9NeVNRTDYw
Ny9iaW4vbXlzcWxkX211bHRpIHN0YXJ0IDYwNw0KLWJhc2gtMy4xIyBjYXQg L29wdC9NeVNRTDYw
N3N0b3Auc2gNCi9vcHQvTXlTUUw2MDcvYmluL215c3FsZF9tdWx0aSBzdG9w IDYwNw0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09DQoNCg0KQmVzdCBSZWdhcmRzIQ0K WWFuZyBXYW5nDQog
DQpFbWFpbDogeXdhbmdAbGZtLWFnaWxlLmNvbS5oaw0KLS0tLS0gT3JpZ2lu YWwgTWVzc2FnZSAt
LS0tLSANCkZyb206ICJOaXRpbiBNZWh0YSIgPG50bm1odEB5YWhvby5jb20+ DQpUbzogIlByYWJo
YXQgS3VtYXIiIDxhaW0ucHJhYmhhdEBnbWFpbC5jb20+DQpDYzogPG15c3Fs QGxpc3RzLm15c3Fs
LmNvbT4NClNlbnQ6IFR1ZXNkYXksIE1heSAxMSwgMjAxMCA2OjE5IFBNDQpT dWJqZWN0OiBSZTog
c3RhcnRpbmcgbXVsdGlwbGUgaW5zdGFuY2VzIHdpdGggbXlzcWxkX211bHRp DQoNCg0KVGhhbmtz
LCBQcmFiaGF0ISBZb3UncmUgdmVyeSByaWdodCwgYnV0IGRpZCB5b3UgcmVh ZCB0aGUgcXVlc3Rp
b25zIEkgYXNrZWQ/DQoNCg0KDQoNCg0KDQpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19f
Xw0KRnJvbTogUHJhYmhhdCBLdW1hciA8YWltLnByYWJoYXRAZ21haWwuY29t Pg0KVG86IE5pdGlu
IE1laHRhIDxudG5taHRAeWFob28uY29tPg0KQ2M6IG15c3FsQGxpc3RzLm15 c3FsLmNvbQ0KU2Vu
dDogVHVlLCBNYXkgMTEsIDIwMTAgMTE6NTQ6MjIgQU0NClN1YmplY3Q6IFJl OiBzdGFydGluZyBt
dWx0aXBsZSBpbnN0YW5jZXMgd2l0aCBteXNxbGRfbXVsdGkNCg0KSGksDQoN CllvdSBjYW4gcnVu
IG11bHRpcGxlIGluc3RhbmNlcyBvbiB0aGUgc2FtZSBob3N0IGFuZCBzcGVj aWZ5IGNvbmZpZ3Vy
YXRpb24gb3B0aW9ucyBlaXRoZXIgYnkgYWRkaW5nIHRoZSBvcHRpb25zIGFz IGFyZ3VtZW50cyBv
biB0aGUgY29tbWFuZCBsaW5lLCBvciBieSBzdG9yaW5nIHRoZW0gaW4gY29u ZmlndXJhdGlvbiBm
aWxlcy4NCg0KZm9yIGV4YW1wbGUsIGZyb20gdGhlIGNvbW1hbmQgbGluZToN Cg0Kc2hlbGw+IG15
c3FsZCAtLXBvcnQgMzMwNiAtLWxvZz0vcGF0aC90by9zZXJ2ZXIxL2xvZw0K c2hlbGw+IG15c3Fs
ZCAtLXBvcnQgMzMwNyAtLWxvZz0vcGF0aC90by9zZXJ2ZXIyL2xvZw0KDQoN ClNvLCB3aGVuIE15
U1FMIHN0YXJ0cyB1cCBpdCByZWFkcyB2YXJpb3VzIGNvbmZpZyBmaWxlcyBp biBzZXF1ZW5jZS4g
VGhpcyBtZWFucyB0aGF0IHlvdSBjYW4gc2V0IGdsb2JhbCBvcHRpb25zIGZv ciBhbGwgaW5zdGFu
Y2VzIGluIG9uZSBmaWxlIGFuZCB0aGVuIHNwZWNpZmljIG9wdGlvbnMgZm9y IGluZGl2aWR1YWwg
aW5zdGFuY2VzIGluIHNlcGFyYXRlIGZpbGVzLg0KDQpUaGUgZmlsZXMgaXQg cmVhZHMgYnkgZGVm
YXVsdCBhcmUgKG9uIGxpbnV4KQ0KDQoNCj4+L2V0Yy9teS5jbmYNCj4+dGhl X215c3FsX2RhdGFf
ZGlyL215LmNuZg0KPj5+Ly5teS5jbmYNCj4+DQpZb3UgY2FuIGRpcmVjdCB0 aGUgc2VydmVyIHRv
IHJlYWQgc3BlY2lmaWMgY29uZmlnIGZpbGVzIGFmdGVyIGl0IHJlYWRzIHRo ZSBkZWZhdWx0IC9l
dGMvbXkuY25mIGZpbGUgd2l0aCB0aGUgZm9sbG93aW5nIGRpcmVjdGl2ZS4N Cg0KLS1kZWZhdWx0
cy1leHRyYS1maWxlPS9wYXRoL3RvL2V4dHJhL2NvbmZpZy9maWxlDQoNClNv LCBpZiB5b3Ugd2Fu
dGVkIDIgaW5zdGFuY2VzIHJ1bm5pbmcgd2l0aCBzb21lIHNoYXJlZCBvcHRp b25zIGFuZCBzb21l
IHNwZWNpZmljIG9wdGlvbnMsIHlvdSBjb3VsZCBjcmVhdGUgYWRkaXRpb25h bCBjb25maWd1cmF0
aW9uIGZpbGVzIGluIC9ldGMgc2F5Og0KDQovZXRjL215LnNlcnZlcjEuY25m DQovZXRjL215LnNl
cnZlcjIuY25mDQoNCndoZXJlIG15LnNlcnZlcjEuY25mIGhhcyB0aGUgZm9s bG93aW5nIGxpbmVz
Og0KDQpwb3J0PTMzMDYNCmxvZz0vcGF0aC90by9sb2cvZmlsZS9mb3Ivc2Vy dmVyMQ0KKG90aGVy
IG9wdGlvbnMgaGVyZSkNCg0KYW5kIG15LnNlcnZlcjIuY25mIGlzOg0KDQpw b3J0PTMzMDcNCmxv
Zz0vcGF0aC90by9sb2cvZmlsZS9mb3Ivc2VydmVyMg0KKG90aGVyIG9wdGlv bnMgaGVyZSkNCg0K
dGhlbiB5b3UgY291bGQgc3RhcnQgdGhlIHNlcGFyYXRlIGluc3RhbmNlcyBv ZiBteXNxbGQgYXMg
Zm9sbG93czoNCg0Kc2hlbGw+IG15c3FsZCAtLWRlZmF1bHRzLWV4dHJhLWZp bGU9L2V0Yy9teS5z
ZXJ2ZXIxLmNuZg0Kc2hlbGw+IG15c3FsZCAtLWRlZmF1bHRzLWV4dHJhLWZp bGU9L2V0Yy9teS5z
ZXJ2ZXIyLmNuZg0KDQphYm91dCBteXNxbGRfbXVsdGkNCm15c3FsZF9tdWx0 aQ0KPj5teXNxbGRf
bXVsdGkgWyBvcHRpb25zXSB7c3RhcnR8IHN0b3B8IHJlcG9ydH0gWyBzZXJ2 ZXJfaWRdDQo+VXNl
IHRoaXMgdG8gcnVuIG11bHRpcGxlIE15U1FMIHNlcnZlcnMgb24gZGlmZmVy ZW50IHNvY2tldCBm
aWxlcyBhbmQgcG9ydHMuIFRvIHNldCB1cA0KPm11bHRpcGxlIHNlcnZlcnMs IGEgZGlmZmVyZW50
IHNlY3Rpb24gb2Ygc2VydmVyIG9wdGlvbnMgbXVzdCBiZSBlbnRlcmVkIGlu dG8gYSBjb25maWd1
cmF0aW9uIGZpbGUgKGUuZy4sIC9ldGMvbXkuY25mKS4gVGhlIG5hbWluZyBz Y2hlbWUgZm9yIGVh
Y2ggc2VjdGlvbiBtdXN0IGJlIFtteXNxbGRuXQ0KPj53aGVyZSBuIGlzIGEg ZGlmZmVyZW50IG51
bWJlciBmb3IgZWFjaCBzZXJ2ZXIuIE9wdGlvbnMgbXVzdCBiZSBlbnRlcmVk IHNlcGFyYXRlbHkg
Zm9yDQo+ZWFjaCBzZXJ2ZXIgaW4gaXRzIG93biBzZWN0aW9uLCBldmVuIHdo ZW4gc2VydmVycyB1
c2UgdGhlIHNhbWUgb3B0aW9ucy4gQXQgYSBtaW5pbXVtLA0KPmVhY2ggc2Vy dmVyIHNob3VsZCB1
c2UgYSBkaWZmZXJlbnQgc29ja2V0IGZpbGUgYW5kIGEgZGlmZmVyZW50IFRD UC9JUCBwb3J0LiBU
byBzZWUgYW4NCj4+ZXhhbXBsZSBvZiBob3cgYSBjb25maWd1cmF0aW9uIGZp bGUgbWlnaHQgYmUg
c2V0IHVwIGZvciBtdWx0aXBsZSBzZXJ2ZXJzLCBlbnRlciB0aGUNCj5mb2xs b3dpbmcgZnJvbSB0
aGUgY29tbWFuZCBsaW5lOg0KPm15c3FsZF9tdWx0aSAtLWV4YW1wbGUNCj5P bmNlIG11bHRpcGxl
IHNlcnZlcnMgaGF2ZSBiZWVuIGNvbmZpZ3VyZWQsIHRvIHN0YXJ0IGEgc2Vy dmVyLCB5b3UgY2Fu
IGVudGVyIHNvbWV0aGluZw0KPj5saWtlIHRoZSBmb2xsb3dpbmcgZnJvbSB0 aGUgY29tbWFuZCBs
aW5lOg0KPm15c3FsZF9tdWx0aSBzdGFydCAzDQo+VGhpcyBsaW5lIHdvdWxk IHN0YXJ0IHNlcnZl
ciBudW1iZXIgMyBsaXN0ZWQgaW4gdGhlIGNvbmZpZ3VyYXRpb24gZmlsZSBh cyBbbXlzcWxkM10u
IEJ5DQo+ZW50ZXJpbmcgcmVwb3J0IGZvciB0aGUgZmlyc3QgYXJndW1lbnQs IHlvdSBjYW4gb2J0
YWluIHRoZSBzdGF0dXMgb24gdGhlIHNlcnZlci4gRm9yDQo+PnN0YXJ0aW5n IGFuZCBzdG9wcGlu
ZyB0aGUgc2VydmVyLCB0aGlzIHNjcmlwdCB1c2VzIHRoZSBteXNxbGFkbWlu IHV0aWxpdHkuIEhl
cmUgaXMgYW4NCj5hbHBoYWJldGljYWwgbGlzdCBvZiBvcHRpb25zIHNwZWNp ZmljIHRvIG15c3Fs
ZF9tdWx0aSB0aGF0IHlvdSBjYW4gZW50ZXIgZnJvbSB0aGUNCj5jb21tYW5k IGxpbmUsIGFsb25n
IHdpdGggYSBicmllZiBleHBsYW5hdGlvbiBvZiBlYWNoOg0KPj4tLWNvbmZp Zy1maWxlPWZpbGVu
YW1lDQo+U3BlY2lmaWVzIHRoZSBwYXRoIGFuZCBuYW1lIG9mIHRoZSBzZXJ2 ZXLigJlzIGNvbmZp
Z3VyYXRpb24gZmlsZSBpZiBpdCBpcyBkaWZmZXJlbnQgZnJvbQ0KPnRoZSBk ZWZhdWx0Lg0KPi0t
ZXhhbXBsZQ0KPkRpc3BsYXlzIGEgc2FtcGxlIGNvbmZpZ3VyYXRpb24gZmls ZS4NCj4tLWhlbHAN
Cj5EaXNwbGF5cyBiYXNpYyBoZWxwIGluZm9ybWF0aW9uLg0KPj4tLWxvZz1m aWxlbmFtZQ0KPlNl
dHMgdGhlIHBhdGggYW5kIG5hbWUgb2YgdGhlIGxvZ2ZpbGUuIFRoZSBkZWZh dWx0IGlzIC90bXAv
bXlzcWxkX211bHRpLmxvZy4NCj4tLW15c3FsYWRtaW49cGF0aA0KPlNldHMg dGhlIHBhdGggdG8g
dGhlIG15c3FsYWRtaW4gdXRpbGl0eS4NCj4tLW15c3FsZD1wYXRoDQo+U3Bl Y2lmaWVzIHRoZSBw
YXRoIHRvIG15c3FsZC4NCj4tLW5vLWxvZw0KPj5JbnN0cnVjdHMgdGhlIHV0 aWxpdHkgbm90IHRv
IHNhdmUgbWVzc2FnZXMgdG8gYSBsb2csIGJ1dCB0byBzZW5kIHRoZW0gdG8g c3Rkb3V0DQo+aW5z
dGVhZC4NCj4tLXBhc3N3b3JkPXBhc3N3b3JkDQo+UHJvdmlkZXMgdGhlIHBh c3N3b3JkIGZvciB1
c2luZyBteXNxbGFkbWluLg0KPi0tdGNwLWlwDQo+RW5hYmxlcyBUQ1AvSVAg Y29tbXVuaWNhdGlv
biB3aXRoIHRoZSBzZXJ2ZXIgaW5zdGVhZCBvZiB1c2luZyBhIFVuaXgtZG9t YWluDQo+PnNvY2tl
dC4NCj4tLXVzZXI9dXNlcg0KPlByb3ZpZGVzIHRoZSB1c2VybmFtZSBmb3Ig dXNpbmcgbXlzcWxh
ZG1pbi4gVGhlIHNhbWUgdXNlciBtdXN0IGJlIHVzZWQgZm9yIGFsbA0KPnNl cnZlcnMuDQo+LS12
ZXJzaW9uDQo+RGlzcGxheXMgdGhlIHZlcnNpb24gb2YgdGhlIHV0aWxpdHku DQo+DQpUaGFua3Ms
DQoNCg0KDQpPbiBUdWUsIE1heSAxMSwgMjAxMCBhdCA5OjU0IEFNLCBOaXRp biBNZWh0YSA8bnRu
bWh0QHlhaG9vLmNvbT4gd3JvdGU6DQoNCj5IaSwNCj4NCj4+SSBhbSBleHBs b3JpbmcgbXVsdGlw
bGUgaW5zdGFuY2VzIHdpdGggTXlTUUwgd2hpY2ggd2lsbCBiZSBydW5uaW5n IHVzaW5nIHRoZSBz
YW1lIHNldCBvZiBiaW5hcmllcyAoc2luZ2xlIE15U1FMIGJhc2UpLiBUd28g dGhpbmdzIHdoaWNo
IEknbSBub3QgYWJsZSB0byB3b3JrIG91dCBhcmUgLQ0KPg0KPj4gICAgICAg IDEuIFdoeSBteXNx
bGRfbXVsdGkgc3RvcCA8Z3JwX2lkPiBkb2Vzbid0IHdvcms/IFdlbGwsIEkg a25vdyB3aHkgaXQg
ZG9lc24ndCBiZWNhdXNlIHRoZXJlIGlzIG5vdGhpbmcgaW4gdGhlIHNjcmlw dCB0byBoYW5kbGUg
YSAnc3RvcCcgY2FsbDsgdGhlIGFjdHVhbCBxdWVzdGlvbiB3b3VsZCBiZSAt IHdoeSBpdCBkb2Vz
bid0IHdvcmsgd2hlbiBpdCBpcyBtZW50aW9uZWQgaW4gdGhlIE15U1FMIHJl ZmVyZW5jZSBtYW51
YWw/DQo+Pg0KPiAgICAgICAgMi4gaG93IHRvIChhdXRvKSByZXN0YXJ0IHRo ZSBpbnN0YW5jZXMg
YWZ0ZXIgYSBzZXJ2ZXIgcmVzdGFydD8gZG8gSSBuZWVkIHRvIHdyaXRlIG15 IG93biBzY3JpcHQg
Zm9yIHRoaXMgb3IgaXMgdGhlcmUgYW55dGhpbmcgYXZhaWxhYmxlIHdoaWNo IEknbSBub3QgYXdh
cmUgb2Y/DQo+PklmIHlvdSBoYXZlIHJlc29sdmVkIHRoZXNlIGlzc3Vlcywg cGxlYXNlIGxldCBt
ZSBrbm93Lg0KPj4gDQo+PiANCj4+QmVzdCBSZWdhcmRzLA0KPk5pdGluDQo+ DQo+DQo+PiAgICAg
IA0KDQoNCi0tIA0KQmVzdCBSZWdhcmRzLA0KDQpQcmFiaGF0IEt1bWFyDQpN eVNRTCBEQkENCkRh
dGF2YWlsLUluZGlhIE11bWJhaQ0KTW9iaWxlICAgICA6IDkxLTk5ODc2ODE5 MjkNCnd3dy5kYXRh
dmFpbC5jb20NCg0KTXkgQmxvZzogaHR0cDovL2FkbWlubGludXguYmxvZ3Nw b3QuY29tDQpNeSBM
aW5rZWRJbjogaHR0cDovL3d3dy5saW5rZWRpbi5jb20vaW4vcHJvZmlsZXBy YWJoYXQNCg0KDQoN
Cg==