force re-planning of prepared statements?

force re-planning of prepared statements?

am 29.12.2008 23:17:05 von pgdba

Hi all, I am experiencing some performance issues that I think are
stemming from the PDO prepared statements functions.

I have a pretty simple query that runs:

- sub-second when issued from the command line (not prepared)

- takes 200+ seconds when run from the command line inside a
prepared statement (eg.
http://www.postgresql.org/docs/8.2/interactive/sql-prepare.h tml)

- takes over 200s when run from our application, within the pdo
prepared functions

- runs sub-second from our application if I prepend the query with
"explain analyze" and looking at the resulting plan, it shows the
same plan as when it runs quickly from the command line.

postgresql 8.2.11, php 5.2.1

What are my options here? I would like to continue to use bind
variables to prevent sql injection, but I'd like to force a plan re-
parse for every single query.

Any ideas?


--
Click to become a massage therapist and work for yourself.
http://tagline.hushmail.com/fc/PnY6qxsbda5xAD52Aya1On7VD40YO QA3qlB2S2RuRhpQuc9Grmy1V/


--
Sent via pgsql-php mailing list (pgsql-php@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-php

Re: force re-planning of prepared statements?

am 30.12.2008 01:47:10 von V S P

Hi,
I do not have an answer for you

but, it is my understanding that
a) PHP drops the DB connection for every HTTP request
and then creates a new one (unless a proxy is used)
That means that prepare statement has a perfromance benefit
if the same SQL is used more than once per session

b) if prepare by itself takes long, than may be analyzing
tables/updating
statistics/vaccuming at least the tables involved in the query might
help

c) if b) does not help -- personally I would think that the problem
is somewhere outside the 'prepare' call (unless there is a PG bug in
that
functionality on that version of the server)




On Mon, 29 Dec 2008 14:17:05 -0800, pgdba@hush.com said:
> Hi all, I am experiencing some performance issues that I think are
> stemming from the PDO prepared statements functions.
>
> I have a pretty simple query that runs:
>
> - sub-second when issued from the command line (not prepared)
>
> - takes 200+ seconds when run from the command line inside a
> prepared statement (eg.
> http://www.postgresql.org/docs/8.2/interactive/sql-prepare.h tml)
>
> - takes over 200s when run from our application, within the pdo
> prepared functions
>
> - runs sub-second from our application if I prepend the query with
> "explain analyze" and looking at the resulting plan, it shows the
> same plan as when it runs quickly from the command line.
>
> postgresql 8.2.11, php 5.2.1
>
> What are my options here? I would like to continue to use bind
> variables to prevent sql injection, but I'd like to force a plan re-
> parse for every single query.
>
> Any ideas?
>
>
> --
> Click to become a massage therapist and work for yourself.
> http://tagline.hushmail.com/fc/PnY6qxsbda5xAD52Aya1On7VD40YO QA3qlB2S2RuRhpQuc9Grmy1V/
>
>
> --
> Sent via pgsql-php mailing list (pgsql-php@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-php
--
V S P
toreason@fastmail.fm

--
http://www.fastmail.fm - Access all of your messages and folders
wherever you are


--
Sent via pgsql-php mailing list (pgsql-php@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-php

Re: force re-planning of prepared statements?

am 30.12.2008 03:00:21 von Andrew McMillan

On Mon, 2008-12-29 at 14:17 -0800, pgdba@hush.com wrote:
> Hi all, I am experiencing some performance issues that I think are
> stemming from the PDO prepared statements functions.
>
> I have a pretty simple query that runs:
>
> - sub-second when issued from the command line (not prepared)
>
> - takes 200+ seconds when run from the command line inside a
> prepared statement (eg.
> http://www.postgresql.org/docs/8.2/interactive/sql-prepare.h tml)
>
> - takes over 200s when run from our application, within the pdo
> prepared functions
>
> - runs sub-second from our application if I prepend the query with
> "explain analyze" and looking at the resulting plan, it shows the
> same plan as when it runs quickly from the command line.
>
> postgresql 8.2.11, php 5.2.1
>
> What are my options here? I would like to continue to use bind
> variables to prevent sql injection, but I'd like to force a plan re-
> parse for every single query.

I would imagine that there's some element of the supplied data which is
giving the planner some kind of unexpected selectivity, so the plan used
by the prepared statement is entirely the wrong one.

If you could post the statement itself we might have some useful
comment. Also consider asking on the pg-performance list, where these
sorts of questions are much more common, and people who really
understand query planning (i.e. Tom) are watching.

Have you tried to work out which parameter causes the difference in
performance? Also, does it make a difference if you call:

PDO::Statementexecute( array( $p1, $p2, ...) );

vs. using

PDOStatement::bindParam()

to bind them to named variables...

In general the 'prepare / execute / execute / ...' approach is
*supposed* to be faster, so if there is no special reason why you are
seeing bad performance the people on the 'performance' mailing list will
likely be very interested in your problem.

Regards,
Andrew McMillan.

------------------------------------------------------------ ------------
andrew (AT) morphoss (DOT) com +64(272)DEBIAN
You are confused; but this is your normal state.
------------------------------------------------------------ ------------



--
Sent via pgsql-php mailing list (pgsql-php@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-php

Re: force re-planning of prepared statements?

am 30.12.2008 16:24:36 von pgdba

All my data has been fully vacuumed and analyzed, so that isn't the
problem. The problem is specifically that the incorrect plan is
being selected, and I think that that is due to the re-use of a sub-
optimal plan.

On Mon, 29 Dec 2008 16:47:10 -0800 V S P
wrote:
>Hi,
>I do not have an answer for you
>
>but, it is my understanding that
>a) PHP drops the DB connection for every HTTP request
>and then creates a new one (unless a proxy is used)
>That means that prepare statement has a perfromance benefit
>if the same SQL is used more than once per session
>
>b) if prepare by itself takes long, than may be analyzing
>tables/updating
>statistics/vaccuming at least the tables involved in the query
>might
>help
>
>c) if b) does not help -- personally I would think that the
>problem
>is somewhere outside the 'prepare' call (unless there is a PG bug
>in
>that
>functionality on that version of the server)
>
>
>
>
>On Mon, 29 Dec 2008 14:17:05 -0800, pgdba@hush.com said:
>> Hi all, I am experiencing some performance issues that I think
>are
>> stemming from the PDO prepared statements functions.
>>
>> I have a pretty simple query that runs:
>>
>> - sub-second when issued from the command line (not prepared)
>>
>> - takes 200+ seconds when run from the command line inside a
>> prepared statement (eg.
>> http://www.postgresql.org/docs/8.2/interactive/sql-prepare.h tml)
>>
>> - takes over 200s when run from our application, within the pdo
>> prepared functions
>>
>> - runs sub-second from our application if I prepend the query
>with
>> "explain analyze" and looking at the resulting plan, it shows
>the
>> same plan as when it runs quickly from the command line.
>>
>> postgresql 8.2.11, php 5.2.1
>>
>> What are my options here? I would like to continue to use bind
>> variables to prevent sql injection, but I'd like to force a plan
>re-
>> parse for every single query.
>>
>> Any ideas?
>>
>>
>> --
>> Click to become a massage therapist and work for yourself.
>>
>http://tagline.hushmail.com/fc/PnY6qxsbda5xAD52Aya1On7VD40Y OQA3qlB2
>S2RuRhpQuc9Grmy1V/
>>
>>
>> --
>> Sent via pgsql-php mailing list (pgsql-php@postgresql.org)
>> To make changes to your subscription:
>> http://www.postgresql.org/mailpref/pgsql-php
>--
> V S P
> toreason@fastmail.fm
>
>--
>http://www.fastmail.fm - Access all of your messages and folders
> wherever you are

--
Click for free info on getting an MBA, $200K/ year potential.
http://tagline.hushmail.com/fc/PnY6qxsZwTcf7Oemn5WzFssWfYRzs 4nJk5s2I9IYZS8jYesUJITCb/


--
Sent via pgsql-php mailing list (pgsql-php@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-php

Re: force re-planning of prepared statements?

am 30.12.2008 16:34:01 von Jason Minion

If you peek at the notes section of the link to the documentation, it
states that sometimes the query plan for the prepared statement will be
inferior, because the values of the parameters are unavailable for the
planner to use. It may be more useful to try to make some explicit casts
or reorganize some of the WHERE/ON clauses to try and help the planner
ascertain types and/or values. It may also be the case that you have one
or more partial indexes on the tables, and those are not being used by
the planner because the conditions are not being met with the unknown
status of the parameters?

HTH,

Jason Minion
jason.minion@sigler.com


-----Original Message-----
From: pgsql-php-owner@postgresql.org
[mailto:pgsql-php-owner@postgresql.org] On Behalf Of pgdba@hush.com
Sent: Tuesday, December 30, 2008 9:25 AM
To: pgsql-php@postgresql.org; toreason@fastmail.fm
Subject: Re: [PHP] force re-planning of prepared statements?

All my data has been fully vacuumed and analyzed, so that isn't the
problem. The problem is specifically that the incorrect plan is being
selected, and I think that that is due to the re-use of a sub- optimal
plan.

On Mon, 29 Dec 2008 16:47:10 -0800 V S P
wrote:
>Hi,
>I do not have an answer for you
>
>but, it is my understanding that
>a) PHP drops the DB connection for every HTTP request and then creates=20
>a new one (unless a proxy is used) That means that prepare statement=20
>has a perfromance benefit if the same SQL is used more than once per=20
>session
>
>b) if prepare by itself takes long, than may be analyzing=20
>tables/updating statistics/vaccuming at least the tables involved in=20
>the query might help
>
>c) if b) does not help -- personally I would think that the problem is=20
>somewhere outside the 'prepare' call (unless there is a PG bug in that=20
>functionality on that version of the server)
>
>
>
>
>On Mon, 29 Dec 2008 14:17:05 -0800, pgdba@hush.com said:
>> Hi all, I am experiencing some performance issues that I think
>are
>> stemming from the PDO prepared statements functions.
>>=20
>> I have a pretty simple query that runs:
>>=20
>> - sub-second when issued from the command line (not prepared)
>>=20
>> - takes 200+ seconds when run from the command line inside a prepared

>> statement (eg.
>> http://www.postgresql.org/docs/8.2/interactive/sql-prepare.h tml)
>>=20
>> - takes over 200s when run from our application, within the pdo=20
>> prepared functions
>>=20
>> - runs sub-second from our application if I prepend the query
>with
>> "explain analyze" and looking at the resulting plan, it shows
>the
>> same plan as when it runs quickly from the command line.
>>=20
>> postgresql 8.2.11, php 5.2.1
>>=20
>> What are my options here? I would like to continue to use bind=20
>> variables to prevent sql injection, but I'd like to force a plan
>re-
>> parse for every single query.
>>=20
>> Any ideas?
>>=20
>>=20
>> --
>> Click to become a massage therapist and work for yourself.
>>
>http://tagline.hushmail.com/fc/PnY6qxsbda5xAD52Aya1On7VD40Y OQA3qlB2
>S2RuRhpQuc9Grmy1V/
>>=20
>>=20
>> --
>> Sent via pgsql-php mailing list (pgsql-php@postgresql.org) To make=20
>> changes to your subscription:
>> http://www.postgresql.org/mailpref/pgsql-php
>--
> V S P
> toreason@fastmail.fm
>
>--
>http://www.fastmail.fm - Access all of your messages and folders
> wherever you are

--
Click for free info on getting an MBA, $200K/ year potential.
=20
http://tagline.hushmail.com/fc/PnY6qxsZwTcf7Oemn5WzFssWfYRzs 4nJk5s2I9IYZ
S8jYesUJITCb/


--
Sent via pgsql-php mailing list (pgsql-php@postgresql.org) To make
changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-php

--=20
Sent via pgsql-php mailing list (pgsql-php@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-php

Re: force re-planning of prepared statements?

am 30.12.2008 16:34:44 von pgdba

On Mon, 29 Dec 2008 18:00:21 -0800 Andrew McMillan
wrote:
>On Mon, 2008-12-29 at 14:17 -0800, pgdba@hush.com wrote:
>> Hi all, I am experiencing some performance issues that I think
>are
>> stemming from the PDO prepared statements functions.
>>
>> I have a pretty simple query that runs:
>>
>> - sub-second when issued from the command line (not prepared)
>>
>> - takes 200+ seconds when run from the command line inside a
>> prepared statement (eg.
>> http://www.postgresql.org/docs/8.2/interactive/sql-prepare.h tml)
>>
>> - takes over 200s when run from our application, within the pdo
>> prepared functions
>>
>> - runs sub-second from our application if I prepend the query
>with
>> "explain analyze" and looking at the resulting plan, it shows
>the
>> same plan as when it runs quickly from the command line.
>>
>> postgresql 8.2.11, php 5.2.1
>>
>> What are my options here? I would like to continue to use bind
>> variables to prevent sql injection, but I'd like to force a plan
>re-
>> parse for every single query.
>
>I would imagine that there's some element of the supplied data
>which is
>giving the planner some kind of unexpected selectivity, so the
>plan used
>by the prepared statement is entirely the wrong one.
>
>If you could post the statement itself we might have some useful
>comment. Also consider asking on the pg-performance list, where
>these
>sorts of questions are much more common, and people who really
>understand query planning (i.e. Tom) are watching.
>
>Have you tried to work out which parameter causes the difference
>in
>performance? Also, does it make a difference if you call:
>
> PDO::Statementexecute( array( $p1, $p2, ...) );
>
>vs. using
>
> PDOStatement::bindParam()
>
>to bind them to named variables...
>
>In general the 'prepare / execute / execute / ...' approach is
>*supposed* to be faster, so if there is no special reason why you
>are
>seeing bad performance the people on the 'performance' mailing
>list will
>likely be very interested in your problem.
>
>Regards,
> Andrew McMillan.

Hi Andrew,

You are correct in assuming that there is some unexpected
selectivity. It hinges on the client id being used as the filter,
in this case, that id comprises only a very small fraction of the
table (448 rows out of 43352606). My question isn't really whether
or not the incorrect plan is being chosen, that part is pretty
obvious by looking at the plan, but more along the lines of what I
can do about it.
I'll try your suggestion about "PDO::Statementexecute" vs
"PDOStatement::bindParam()" and see if that makes a difference. If
not, I'll re-post on the pgsql-perf list.

Thanks!








--
Click for information on the top Adult Education programs. Advance your career.
http://tagline.hushmail.com/fc/PnY6qxtpbT1LMUDT2gOnN2zGYrIxT 88yeX6GMgSkDLj8DzNS2Ra9t/


--
Sent via pgsql-php mailing list (pgsql-php@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-php

Re: force re-planning of prepared statements?

am 30.12.2008 17:36:02 von pgdba

Hi Jason,

Yeah, I came across that in the docs. Comparing the plans between
the two, I can definitively say that the problem is because the
inferior plan is using a date index, whereas the good plan is using
the "id" index for maximum selectivity. I don't think it has
anything to do with datatype either, because my test from the
command line (prepare'ing the statement) explicitly stated the
datatypes, and the bad plan was the same as what is selected via
the php application.

The indices in use (the date and id ones) are both normal b-trees.

Note also that this query is only the most obvious that I've
discovered, there are others that crop up with bad plans too (but
they are a bit more elusive).


On Tue, 30 Dec 2008 07:34:01 -0800 Jason Minion
wrote:
>If you peek at the notes section of the link to the documentation,
>it
>states that sometimes the query plan for the prepared statement
>will be
>inferior, because the values of the parameters are unavailable for
>the
>planner to use. It may be more useful to try to make some explicit
>casts
>or reorganize some of the WHERE/ON clauses to try and help the
>planner
>ascertain types and/or values. It may also be the case that you
>have one
>or more partial indexes on the tables, and those are not being
>used by
>the planner because the conditions are not being met with the
>unknown
>status of the parameters?
>
>HTH,
>
>Jason Minion
>jason.minion@sigler.com
>
>
>-----Original Message-----
>From: pgsql-php-owner@postgresql.org
>[mailto:pgsql-php-owner@postgresql.org] On Behalf Of
>pgdba@hush.com
>Sent: Tuesday, December 30, 2008 9:25 AM
>To: pgsql-php@postgresql.org; toreason@fastmail.fm
>Subject: Re: [PHP] force re-planning of prepared statements?
>
>All my data has been fully vacuumed and analyzed, so that isn't
>the
>problem. The problem is specifically that the incorrect plan is
>being
>selected, and I think that that is due to the re-use of a sub-
>optimal
>plan.
>
>On Mon, 29 Dec 2008 16:47:10 -0800 V S P
>wrote:
>>Hi,
>>I do not have an answer for you
>>
>>but, it is my understanding that
>>a) PHP drops the DB connection for every HTTP request and then
>creates
>>a new one (unless a proxy is used) That means that prepare
>statement
>>has a perfromance benefit if the same SQL is used more than once
>per
>>session
>>
>>b) if prepare by itself takes long, than may be analyzing
>>tables/updating statistics/vaccuming at least the tables involved
>in
>>the query might help
>>
>>c) if b) does not help -- personally I would think that the
>problem is
>>somewhere outside the 'prepare' call (unless there is a PG bug in
>that
>>functionality on that version of the server)
>>
>>
>>
>>
>>On Mon, 29 Dec 2008 14:17:05 -0800, pgdba@hush.com said:
>>> Hi all, I am experiencing some performance issues that I think
>>are
>>> stemming from the PDO prepared statements functions.
>>>
>>> I have a pretty simple query that runs:
>>>
>>> - sub-second when issued from the command line (not prepared)
>>>
>>> - takes 200+ seconds when run from the command line inside a
>prepared
>
>>> statement (eg.
>>> http://www.postgresql.org/docs/8.2/interactive/sql-
>prepare.html)
>>>
>>> - takes over 200s when run from our application, within the pdo
>
>>> prepared functions
>>>
>>> - runs sub-second from our application if I prepend the query
>>with
>>> "explain analyze" and looking at the resulting plan, it shows
>>the
>>> same plan as when it runs quickly from the command line.
>>>
>>> postgresql 8.2.11, php 5.2.1
>>>
>>> What are my options here? I would like to continue to use bind
>>> variables to prevent sql injection, but I'd like to force a
>plan
>>re-
>>> parse for every single query.
>>>
>>> Any ideas?
>>>
>>>
>>> --
>>> Click to become a massage therapist and work for yourself.
>>>
>>http://tagline.hushmail.com/fc/PnY6qxsbda5xAD52Aya1On7VD40 YOQA3qlB
>2
>>S2RuRhpQuc9Grmy1V/
>>>
>>>
>>> --
>>> Sent via pgsql-php mailing list (pgsql-php@postgresql.org) To
>make
>>> changes to your subscription:
>>> http://www.postgresql.org/mailpref/pgsql-php
>>--
>> V S P
>> toreason@fastmail.fm
>>
>>--
>>http://www.fastmail.fm - Access all of your messages and folders
>> wherever you are
>
>--
>Click for free info on getting an MBA, $200K/ year potential.
>
>http://tagline.hushmail.com/fc/PnY6qxsZwTcf7Oemn5WzFssWfYRz s4nJk5s2
>I9IYZ
>S8jYesUJITCb/
>
>
>--
>Sent via pgsql-php mailing list (pgsql-php@postgresql.org) To make
>changes to your subscription:
>http://www.postgresql.org/mailpref/pgsql-php
>
>--
>Sent via pgsql-php mailing list (pgsql-php@postgresql.org)
>To make changes to your subscription:
>http://www.postgresql.org/mailpref/pgsql-php

--
Be your own boss! Buy the business of your dreams.
http://tagline.hushmail.com/fc/PnY6qxtYiNyIRKECCe7Pu7B6fjD2B If9IyUJsJQywidOI0GCsmmyv/


--
Sent via pgsql-php mailing list (pgsql-php@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-php

Re: force re-planning of prepared statements?

am 30.12.2008 22:31:46 von Andrew McMillan

On Tue, 2008-12-30 at 07:34 -0800, pgdba@hush.com wrote:
>
> Hi Andrew,
>
> You are correct in assuming that there is some unexpected
> selectivity. It hinges on the client id being used as the filter,
> in this case, that id comprises only a very small fraction of the
> table (448 rows out of 43352606). My question isn't really whether
> or not the incorrect plan is being chosen, that part is pretty
> obvious by looking at the plan, but more along the lines of what I
> can do about it.
> I'll try your suggestion about "PDO::Statementexecute" vs
> "PDOStatement::bindParam()" and see if that makes a difference. If
> not, I'll re-post on the pgsql-perf list.

It seems to me that if PDO can *only* do prepared statements with
positional/named parameters then that is a pretty serious bug.

Potentially it can be fixed in the PostgreSQL driver, or in a wrapper
layer, but there should really be a way of calling PDO::query with
positional parameters as well, without the need for a prepare, as you
can in DBI.

I haven't used PDO myself yet, and was hoping to switch to it in a month
or two, but I can imagine a lot of circumstances where this would be
problematic.

A couple of maybe helpful suggestions, from further reading the PDO
documentation:

- Perhaps PDO::BindValue gives a different effect (I wouldn't hold my
breath though).

- Perhaps a partial index on client id would solve your bad plan.

CREATE INDEX client_id_partial ON client_whatsist(client_id) WHERE
client_id > 0;

Or something like that. Then in your query you can add a static part to
the WHERE clause that says client_id > 0 AND ... so that gets picked as
a high selectivity index.

It's a complete hack, but it's about the most likely thing I can think
of to work. In fact it may just be sufficient to add that in there.

Of course equally you can put the " ... WHERE client_id =
".intval($client_id)." ..." into the statement directly, so the client
ID is part of the preparation (or use PDO::quote if it isn't an intval,
of course). Sometimes a bit of pragmatism is easier than tracking down
the purist's solution.

Regards,
Andrew McMillan.

------------------------------------------------------------ ------------
andrew (AT) morphoss (DOT) com +64(272)DEBIAN
Q: What's a WASP's idea of open-mindedness?
A: Dating a Canadian.

------------------------------------------------------------ ------------



--
Sent via pgsql-php mailing list (pgsql-php@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-php

Please help me for mysouce installation

am 31.12.2008 00:32:36 von Umesh Wani

This is a multi-part message in MIME format.

------=_NextPart_000_0045_01C96B05.014AFD30
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_0046_01C96B05.014AFD30"


------=_NextPart_001_0046_01C96B05.014AFD30
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: 7bit

Hi,



I am installing mysource matrix



For installation step 2



I got following errors please can you help me.
















------=_NextPart_001_0046_01C96B05.014AFD30
Content-Type: text/html;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns=3D"http://www.w3.org/TR/REC-html40">


charset=3Dus-ascii">










style=3D'font-size:
10.0pt'>Hi,



style=3D'font-size:
10.0pt'> 



style=3D'font-size:
10.0pt'> I am installing mysource matrix =



style=3D'font-size:
10.0pt'> 



style=3D'font-size:
10.0pt'>For installation step 2  



style=3D'font-size:
10.0pt'> 



style=3D'font-size:
10.0pt'>I got following errors please can you help me. =



style=3D'font-size:
10.0pt'> 



style=3D'font-size:
10.0pt'>  src=3D"cid:image002.jpg@01C96B04.FF624000">



style=3D'font-size:
10.0pt'> 



style=3D'font-size:
10.0pt'> 



style=3D'font-size:
10.0pt'> 



style=3D'font-size:
10.0pt'> 



style=3D'font-size:
10.0pt'> 









------=_NextPart_001_0046_01C96B05.014AFD30--

------=_NextPart_000_0045_01C96B05.014AFD30
Content-Type: image/jpeg;
name="image002.jpg"
Content-Transfer-Encoding: base64
Content-ID:

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0N Dh0VFhEYIx8lJCIf
IiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv/2wBDAQoLCw4NDhwQ EBw7KCIoOzs7Ozs7
Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/ wAARCADeAuIDASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAA AgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcY GRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKT lJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP0 9fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQA AQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2 Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOk paanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMB AAIRAxEAPwDstZvb
1NbuYo76eJE27URgAMjmqf23UR/zErr/AL7H+FaF1L5Piq8k2htiBtpGQcJV i2hhtZ5RHtcXUTvH
/soFyPxz/KvFrOrKq+WdjvjKMYLQx/tuo/8AQTuv++x/hR9u1D/oJ3X/AH2P 8KuC1g+x/atn7oW2
SNxz5mcZ/PnFTxnMaRRHypFhP+jPH8hGOW3e/UZrFPEdZmjlT/lMz7dqOcf2 ldf99j/Cj7dqP/QS
uv8Avsf4VdgtLcta27Ju+0RbzNkjYeenbjFMjtYml01SmfPH7wZPzfNjNS3i f5x81LsVftuo/wDQ
Suv++x/hR9u1D/oJ3X/fY/wq5Mlpa2aSPbeY8jyJnzCMbTgUk1tCl0lkIyT8 mbjJzzjLY6Y5ocsQ
n8Yc1P8AlKn27Uf+gndf99j/AAo+3ah/0E7rPpvH+FWr6K0jR1hUiSOXbwGx jHcnjP0p2nxxXNm8
MpwsMqyNj+7jnPqOKFOvz8nPqD5OXm5SmL3UT01K6/77H+FH27UP+gndf99j /CtFpI5LS41LChpI
vLKhfl3Zxx77cGoxZxLazpL5YmitxKNm7cM9Mk8Hg1Tde9lUuJSp9UUje6iD j+0rr/vsf4Uou9SZ
gq6ldsx6AMCT+laZt7H+1o7EWvBIJfzD/dyRio7GGCbyJhGY2F2kfyueQRQn iG0uf+uvQXPC1+Uz
/tuog4/tO6465cf4UC91E/8AMTuv++x/hV5obdFtS0O955nRiznoHx+dNmtY bVXKx+cTctEqsT8o
B9upNJyxHSbK5qfYp/bdR/6CV1/32P8ACj7bqP8A0E7r/vsf4U/UIo4NQnii GERsKM5qvWEsRXjJ
xcmaRhBq9iX7bqP/AEE7r/vsf4UfbdR/6Cd1/wB9j/CoqKn61W/mZXs4diX7 bqP/AEE7r/vsf4Uf
bdR/6Cd1/wB9j/CoqKPrVb+Zh7OHYl+26j/0E7r/AL7H+FH23Uf+gndf99j/ AAqKij61W/mYezh2
Jftuo/8AQTuv++x/hR9t1H/oJ3X/AH2P8Kioo+tVv5mHs4diX7bqP/QTuv8A vsf4UfbdR/6Cd1/3
2P8ACoqKPrVb+Zh7OHYl+26j/wBBO6/77H+FH23Uf+gndf8AfY/wqKij61W/ mYezh2Jftuo/9BO6
/wC+x/hR9t1H/oJ3X/fY/wAKioo+tVv5mHs4diX7bqP/AEE7r/vsf4UfbdR/ 6Cd1/wB9j/CoqKPr
Vb+Zh7OHYl+26j/0E7r/AL7H+FH23Uf+gndf99j/AAqKij61W/mYezh2Jftu o/8AQTuv++x/hVvS
bq8k1mwSW9uJVaVwQ78EeUx6D3A/Ks+rmj/8hzTv+u0n/op66sHXqyrRUpNo yrQioNpHbilFIKUd
K+gPKFooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigDh9
YcJ4hvSZooyQg+dwCRt96qpMI2yl7CDjb/rl6dx1q5qcfneJL1CxUbVYkDPR M9KrfZzI5EDGQKMs
WGzbzjPJ6V8/ibKtJ2/E9On8CHfa4/7PFoLi3x5m9j56kH0+lMN0xi8o38JT GNpnXp6U77JONoKA
bhkZYdPX6e9J9lny2E4QAsdwxz05/CsJSXZlJLuhFuSkJhW/hEZzlROvfrSx 3bxKqx6hEoU5UCde
KI7aSS2adSuFbBBYA9M0G1mBUbQSxxgMCc+/pQnZXSY/JtDHmEihXvYGVSSA Zlxk9acbktB5BvoT
GONvnrTorSWWJpBtUAAjcwGecdzTI4ZJQxUDCffYkAL+JpXV72f3h80LLcmd Akt/C6joDMtMWRFD
Kt5AA4ww89eR6daeLeVmYbQCpwcsBz7Z6mlltpIYUlYrtZckbhkc4xjr2o0e rTBPpdEYlQRmMXlv
sJ3FfOXBNSfbH8oxf2hDsK7Svnrgj0p72UixxFRuZ13E7xgD+n1qJ4ZI8llw FIBOfXpRdR6MN+qF
+0nzhP8Ab4fNH8fnrnpj+VJHceUAsd9AoDbwBOv3vWnizuCCfL6Er94dR1A9 6IrV3RpGwFCM33hk
4HYdcU1bswe26GG43bM30B2Esv79eCTkmpre8jjd3ku0dnbLBblQG+tMitjL bSTD5tpChQwyT1/G
k+yT7wgQMxzjawPTqOO9ClFa2Ymr6XQ2edLid5pLm23ucnEy4qPMX/P1bf8A f5amitZJZniDKGRS
xywxx75p72cqxq4AbKkkBh2JHHr07Uvdk7uLHe2iaK+Yv+fq2/7/AC/40mYv +fq3/wC/y1N9mlYn
au0ADJdgOoz+NMijeYkIBwM8nAH41LUE/hZSbtfmQ3MX/P1b/wDf5f8AGkzF /wA/Vv8A9/l/xqb7
NNsL7MAdiQDj1xnOKVbWTyXkYfdUEKGGTkgdOvehRi/ssTk/5kQ5i/5+rb/v 8v8AjRmL/n6tv+/y
/wCNPlglhALgYzjhgcfXHShYXaIyKAVUZPzDOPp1o9xO3Kx3f8yI8xf8/Vv/ AN/l/wAaXMX/AD9W
/wD3+X/GpXtZ4wN0fJxwDk89OOopZLZorfzHYbt+wAMD2z2o5Y/ysXM725kQ 5i/5+rb/AL/LRmL/
AJ+rf/v8v+NTfZnbZ5fIMYcliFAznjJ+lN+zzYf5CNhwc8En2HehqP8AKw5n /MiPMX/P1b/9/l/x
ozF/z9W3/f5f8amitXd4t2AkjAblYHGfXB4pnkSmLft4xn7wzj1x1xT5Y2+F hzP+ZDMxf8/Vt/3+
X/GjMX/P1bf9/l/xqREQ2zSHcX3hFA6dM809rVRKIhN8+dpDLjn2PcUcsHqo /iHM9rkGYv8An6tv
+/y/40mYv+fq2/7/AC1YW1O3dI+wBdzDbkqM4HFIsCEFmlwm/YCFyc4zyM8U 1GL6fiHM+5BmL/n6
t/8Av8v+NLmL/n6tv+/y/wCNTi1y3lmQeaSwVQM9PU9ulJ9nHlkiT5xGJNu3 jB9/xFHLDfl/EXM+
5BmL/n6t/wDv8v8AjVzSNh1zTtssb/vnzscNj90/pUckCRbyZC/lMFlVVwR1 6evSrGnoIvEdjGpJ
VZ3wT1/1LGunCRgq0dNSKkm4PU7MUo6UgpR0r3zzBaKKKACiiigAooooAKKK KACiiigAooooAKKK
KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAoooo
AKKKKACiiigAooooAKKKKACiiigAooooA4vUZhB4mvHyw+VRlOoymM1WkuQy yLvmk3qBmQgkYOfy
qfVk8zxJdrjI+QkZxxtyTntTHtrdEaVizJ5YYKjg87tv3sV89ied1ZpP+rHp 0+VRjci+0I0rFlbY
8QjbH3hwOn5US3CPEYlVsYULn0UHr+dPMEXmqgRjhQ8hZwowR0zjjk9aebOI zbFfA2q+dwIwevPc
9P1rntNpou8SskkfktHIGOWDgrjrjHNWJr1JiNyuQzh3UBV6ehAyfqahtyBJ JIo/1aMyA9j2z+f6
VDU88lErlUmWftKSbvOVsyIFcrjqDkYB7VCJAsMsYHMhGDnpgn9eaZRUObep SgkWjdQu2ZFkAVgy
7cckADB/Ko5ZklQEqyyKTjHI5JJ/HmoaKbqSa1BQSZOs8fCsjbfK8ttvX72Q aUzwuhjZZPLAQKQR
n5QevbnJqvRR7WWwciLT3iPNHJsIVZjJgn3HH6daRLiILlkk8wRGMYIx0P49 6rUUe1le4ciJYphE
gXbuYSq498Z4/WpPtMUY2RJIQSzHdgEErjt9arUUlUlawciHwusbHcDtKlW2 4yAR2qUXEavHsVts
aMo3Yzzn/Gq9FCqSSBwT1LS3URZmdHIIUBMKQcKB+B+lQwyKqukgYrIACV65 BzUdFHtJNhyIs/aY
jhtj70RkUZBGDnknr3NL9qiXdIqMZXC5yflGCOnrnFVcUVXtpC9mizdXQnj2 Ddy245VQAfw6/jSx
XccduU2sGKMvCrgkg856/wD6qq0UvayvcfIrWLP2sCaSUITu2kAn0IP9KbLN E0Hlxo+TJvYtjrjo
AKgope0lawcivcsefE8XkyK4TaoJXGcjP+NEtzHPuMiPu3FlCnjkAc/lVein 7VhyK5eF9EqrtRs+
YrbdqgDHYHqfxqM3qm28v5gRH5fRcEfXGfwqrRT9tKwvZxJl2tZOpdQyyBtr HBPHalnuFkgMatK2
cY8w52Y9D/npUFFTzuyRXKiwblTcvNmVN3Ro2ww/zila5icsJFfbvDDbjLYG Oc+uM1WopqpJC5EW
TcRMkhKyLJIzFioBByeOvOKT7RGUYhWMhiERz90D19c8VXoo9rIXIizLdefA Id2SxBZ5AByPcDp9
as2TK/iayZW3Dz3AYdD+5as2rmj/APIc07/rs/8A6KeuvBzbrxuZ1YpQdjtx SjpSClHSvojyhaKK
KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAoooo
AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooA4nVRIfE135X
D/IQfT5eST6VXuHuAcTSFsr1DAggH29/1q1qTKviW+3MFUoq5PQEpiqk7KEh jVw/lqQSuccknvXz
uL/iT1PUpXtEjWeRZA4kO8ADOefSnm4lMjGQ7nKbMt1A/wA/zqaW+MsJj8sL nHzZyf5UyeVTF5bP
50g6Sentnqfxrm0s7SNNb6ojj3w7Jlw2SRt9R3z7HNRkEZGCMe3SrNkSJZSr iM+U2GPQdKdI6SRv
CZlztT5zkhiM556k8j8qFFOO4OVnYrmJvLEnUFiMAcjGOv50NEURXZh867gO fUj+lX2uUZxsugii
bcwORvXC+n0PFRpcw7VJPyjZlSOwcn+RFV7OPclTl2KJBBwQQfcUY9qsyQzz EFC9zjgsoJA9s0+I
LGYVmbyWhl3srqckHHQfhWap3lYvn0Km1sZ2nA744oKsMfKRnpx1q0ZkNsA8 nQ5CIxyfmzyvT15+
lWGu4VnVw648wsMMzFRg+vA6jgVapRte5PtJdjOaMoiuf4iQB3H1/Om1Iivc OS7nO0szHnoP8io6
xaXQ1XmFFFFSMKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACrmj/8hzTv
+u0n/op6p1c0f/kOad/12k/9FPXZgv48TGt/DZ24pR0pBSjpX0x5AtFFFABR RRQAUUUUAFFFFABR
RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFF
FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAcTqmw+JrkOpZSYw QPde3vVF12SMhOSp
I/Wrmqywp4lu2lki+TYdrSqpPy8dT0qiZI2Ysbm3JYkk+cn+NfO4unJ1ZWR6 tJpRXoLRSb4v+fi3
/wC/6f40b4v+fi3/AO/6f41yexqfys25o9xe1FJvi/5+Lf8A7/p/jRvi/wCf i3/7/p/jR7Gp/Kw5
o9xaKTfF/wA/Fv8A9/0/xo3xf8/Fv/3/AE/xo9jU/lYc0e4v+T70cnr1pN8X /Pxb/wDf9P8AGjfF
/wA/Fv8A9/0/xp+yqdmLmiLRSb4v+fi3/wC/6f40b4v+fi3/AO/6f40vY1P5 WPmXcWik3xf8/Fv/
AN/0/wAaN8X/AD8W/wD3/T/Gn7Gp2Dmj3FopN8X/AD8W/wD3/T/GjfF/z8W/ /f8AT/Gl7Gp/Kw5o
9xaKTfF/z8W//f8AT/GjfF/z8W//AH/T/Gj2NT+VhzR7i0Um+L/n4t/+/wCn +NG+L/n4t/8Av+n+
NHsan8rDmj3FopN8X/Pxb/8Af9P8aN8X/Pxb/wDf9P8AGj2NT+VhzR7i0Um+ L/n4t/8Av+n+NG+L
/n4t/wDv+n+NHsan8rDmj3FopN8X/Pxb/wDf9P8AGjfF/wA/Fv8A9/0/xo9j U/lYc0e4tFJvi/5+
Lf8A7/p/jRvi/wCfi3/7/p/jR7Gp/Kw5o9xaKTfF/wA/Fv8A9/0/xo3xf8/F v/3/AE/xo9jU/lYc
0e4tFJvi/wCfi3/7/p/jRvi/5+Lf/v8Ap/jR7Gp/Kw5o9xaKTfF/z8W//f8A T/GjfF/z8W//AH/T
/Gj2NT+VhzR7i0Um+L/n4t/+/wCn+NG+L/n4t/8Av+n+NHsan8rDmj3Fq5o/ /Ic07/rtJ/6KeqW+
L/n4t/8Av+n+NW9Hkj/t7TlE0TN5sh2pIrHHlPzwa68HTmq8W0ZVpJ02dyKU dKQUor6I8kWiiigA
ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACi
iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KAKsthZzPvltLeRu
m54wT+ZFM/svTv8AoH2v/flf8KuYoxRoO7Kn9l6b/wBA+1/78r/hR/Zem/8A QPtf+/K/4VbxRiiy
FdlT+y9N/wCgfa/9+V/wo/svTf8AoH2v/flf8Kt4oxRZBdlT+y9N/wCgfa/9 +V/wo/svTf8AoH2v
/flf8Kt4oxRZBdlT+y9N/wCgfa/9+V/wo/svTf8AoH2v/flf8Kt4oxRZBdlT +y9N/wCgfa/9+V/w
o/svTf8AoH2v/flf8Kt4oxRZBdlT+y9N/wCgfa/9+V/wo/svTf8AoH2v/flf 8Kt4oxRZBdlT+y9N
/wCgfa/9+V/wo/svTf8AoH2v/flf8Kt4oxRZBdlT+y9N/wCgfa/9+V/wo/sv Tf8AoH2v/flf8Kt4
oxRZBdlT+y9N/wCgfa/9+V/wo/svTf8AoH2v/flf8Kt4oxRZBdlT+y9N/wCg fa/9+V/wo/svTf8A
oH2v/flf8Kt4oxRZBdlT+y9N/wCgfa/9+V/wo/svTf8AoH2v/flf8Kt4oxRZ BdlT+y9N/wCgfa/9
+V/wo/svTf8AoH2v/flf8Kt4oxRZBdlT+y9N/wCgfa/9+V/wo/svTf8AoH2v /flf8Kt4oxRZBdlT
+y9N/wCgfa/9+V/wo/svTf8AoH2v/flf8Kt4oxRZBdlT+y9N/wCgfa/9+V/w o/svTf8AoH2v/flf
8Kt4oxRZBdlT+y9N/wCgfa/9+V/wo/svTf8AoH2v/flf8Kt4oxRZBdlT+y9N /wCgfa/9+V/wo/sv
Tf8AoH2v/flf8Kt4oxRZBdlT+y9N/wCgfa/9+V/wp0VhZQvvhtIInHG5I1B/ MCrOKMUBdgBiiilo
AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigA
ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKbmlzR
cBaKTNGaAFopM0ZoAWikzRmgBaKTNGaAFopM0ZoAWikzRmgBaKTNGaAFopM0 ZoAWikzRmgBaKTNG
aAFopM0ZoAWim5pQaAFooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKK
ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooA
KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAwdS8YaRpF61n eTOkqgEjbkc1U/4W
F4d/5+X/AO+DXK+LdNOr+PvsQm8kvBu37c4CqW6d+lYVr4fGoS2TWd4Htruc 2/mvEVaKTG7BXPPH
PBr0qWFoypqUpWf9f5HBWxNSFRxjG6PR/wDhYXh7/n5f/vg0f8LC8Pf8/L/9 8GvLbXSZLm1v52cx
CyVSwKH59zheP51cv/DotbjULaC9FxcacN88Zi2fJ3KnJzjI9Otb/UaHNy87 /q3+Zj9cq2vyI9G/
4WF4e/5+X/74NH/CwvD3/Py//fBry3S9LfVPPVJ0ikjVfLV+krMcBc9AT/hU a6dO0IKoxmNybcQ7
Du3gA/1xiq/s+jzcvOyfr1S1+RHq3/CwvD3/AD8v/wB8Gj/hYXh7/n5f/vg1 5raeHL2fVbSwm2Q/
a3KpKHV1GPvcg4JGOnWo5dIe3065uJAzyQzJGpidHjIbPXBJzx0FT9Sw97c5 SxtVq/Ij07/hYXh7
/n5f/vg0f8LC8Pf8/L/98GvLptE1KB0V7Q75JBGERgxDkZCkDocHviobzT7q w2G4jAWTOx1cOrYO
D8ykjIPBqll9BuymS8fVSu4Hq/8AwsLw9/z8v/3waP8AhYXh7/n5f/vg149R Wn9lQ/mZH9py/lR7
D/wsLw9/z8v/AN8Gj/hYXh7/AJ+X/wC+DXj1FH9lQ/mYf2nL+VHsP/CwvD3/ AD8v/wB8Gj/hYXh7
/n5f/vg149RR/ZUP5mH9py/lR7D/AMLC8Pf8/L/98Gj/AIWF4e/5+X/74NeP UUf2VD+Zh/acv5Ue
w/8ACwvD3/Py/wD3waP+FheHv+fl/wDvg149RR/ZUP5mH9py/lR7D/wsLw9/ z8v/AN8Gj/hYXh7/
AJ+X/wC+DXj1FH9lQ/mYf2nL+VHsP/CwvD3/AD8v/wB8Gj/hYXh7/n5f/vg1 49RR/ZUP5mH9py/l
R7HH4+0GaRIo7hy7sFUbOpJwK3dOvF1CxhvI1ZUmQOqt1APrXhGnc6nZ/wDX xH/6EK9s8M/8i3p/
/XBa87G4WOHkkne56GFxDrwbatZmrRRRXCdQUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFF
FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUU
AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB 5j4j1CDS/iMLy5z5
UcBBwufvIVH6mue0vXjBqumyXEccFnZymTyreMgZI5bGck+5PStfx5dwW3ii YT2MFwSiENKzDHHb
BFc7/aVmemjWZ/4HJ/8AFV7uFpqVGLcG9LdPM8XFSarO0l+PZFu216T7Bqtv eXVzMbpUEIdiwBEg
Y9TxwKdrviH7ff6g1jFHDBeON7hCssqgdGOTxn0x0FUxqFqxwuiWhOM4DSf/ ABVJ/aVp/wBAWz/7
7k/+KrrVNKfMoP8ADy/yOZzbjbm/P+upDbXSwWt0gdlll8sxsvUFX3Zz2rdi 8T2sdxZX4t2+1CRj
eIAArZj2Fwf7xHOPWsj+0rP/AKAtn/33J/8AFUf2laHpotn/AN9yf/FU50+d 3lB/eu1u4oy5VZSX
4/5GpYa3p+jLp9tbmW6hgv8A7XLKY9h+7sChc+nJz+FRW2r2emWc0dvI1zIb +G6jBiKKQpYkH06i
qH9pWn/QFs/++5P/AIql/tK0/wCgNZ/99yf/ABVR7L+6/wACvaf3l+JoQ6rp lhr51a3kuJnmldni
aML5SODnnOGYFjjtgVR1a9W6W2iS+lu0hDY3wLCiZPQKPoM+9M/tKz/6Atn/ AN9yf/FUf2lZ/wDQ
Fs/++5P/AIqqjT5ZKXI7r0/zFKV425l+Jn0Vo/2jaf8AQFs/++5P/iqT+0rT /oDWf/fcn/xVdHtJ
/wAj/D/Mw9nH+b8zPorR/tG0/wCgLZ/99yf/ABVH9o2n/QFs/wDvuT/4qj2k /wCR/h/mP2cf5l+J
nUVof2laf9AWz/77k/8AiqP7Rs/+gLZ/99yf/FUe0n/I/wAP8xezj/N+Zn0V pLf20jhE0O1ZmOAq
tKST7DdSf2jaA4Oi2gP+9J/8VR7SX8r/AA/zH7OP835mdRWh/aVn/wBAWz/7 7k/+Kpf7RtP+gLZ/
99yf/FUe0l/I/wAP8w9nH+ZfiZ1FaH9pWf8A0BbP/vuT/wCKpf7Qtdpb+xLT A4J3SYH/AI9R7Sf8
j/D/ADF7OP8AN+ZnUVo/2ha7d39iWm3OM7pMZ/76oGo2mcf2LZ/99yf/ABVH tJv7D/D/ADG6cf5l
+JX07/kJ2n/XxH/6EK9t8Nf8i3p//XBa8hsdRtG1G1UaRaITOg3B5Mj5hz96 vXfDPHhzT+c/6Ote
JmknKcbqx7OXxUacrO+q/I1aKKK8o9AKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA8o8Z3 E1t46VoJWRnWNWK9
wSMise+lWVdQuryNrmaK78iEu5VUU7z0H04rqvFvhXUdX8Qy3UNvcGPYoR41 RgeOerqR+VYp8Cau
Qd0F8QTkjy4+T6/63rXs4evQjTinKzS7PueXiMNWnVbirp+a7Ge1lZJLH5YJ 8+KWddrn92oiJVev
PzZ577SKWSxsZJ57WO28nyFhYy+YSTvKBuvGPnJHHatOTwTrEhTdBeARp5ah YYgAv/f3vk/maZ/w
gmrMGBhvjuwDmOPkf9/a1+tUd/afgzH6nX/k/FGVqNpGlg8q6f8AZTHd+Qr7 3PmKFYnO4n0HPvVh
o4LpdPQ6chUWW8yIX+dlDnYecckDpzzWvd+FNdvokimt7kImMBIIxuIGBn97 zjJ/Oq6+CdaRFRV1
FVVtwVUjADeo/e9feksVScVeevoxvB1r6R09Uc9qMMccdtMlv9maaNmaHJIQ hiP4snkDvWr/AGVa
yTTW7WhhjiuoYVutzAyBmwScnHTngVbk8DaxNIXlivpXIwWeONifxMtWJvCe uT2iWrW9ysagD5YI
8kDpk+d+NOWLpWioz/BhHB1rtuP4oz44LGCQyJaRSu8E6GMLMqthMj7+G3Hk cdvesqxhhub2682z
ZljgeRbdGYEEYwPWt9/BWuSSrK41F5E+67KhZfofNyKdD4O1y3mkmiS/Esil Gk8uPdg9efNzn3pL
E0Un7+r9RPB1m/h/FGRLbWdtZzXj2WW8qFxCZHCxszOCDznooOCc5PpUn9nW rTtbm1KpE0O2fc37
7eyBgedv8R6Y6VffwNrEhZpI79y5BYtHGSxHQn971qRPBmtp5Py35WBw6IY4 yqkHPA83FP61R/5+
fmH1Stf4PxRmx6dZz3CK9q9oiXDxgOXzKoRmBbuTlQPl9fWkls9PiWWc2wk8 u2MnloZETd5iqPv/
ADEYPP6VpTeDNduJRLONRkcMSGZIzt5ydv73jmmyeCNZmctKmoOzDBZ0jORn ocy1KxNLS9Tp2ZTw
lW+kPxRn3SW15c2kI0+OBZrVFSZC5AcpwOTg88Y6nNURbW0uvJZoxEBlWIuG 5PQE59zk+2a6GLwZ
rcLRssd8RE+9EaOMqreoHm4znnNQnwFqpO4296TnOfKi6/8Af2rhiqEdqnTs yJYOu/s/iirYiCFH
vTpqwSGG4Xyi0gGFQENycg8kVmWQt/st9dXFsJzCEKIzkDJbHOOSP1966GTw Trcr7pRqEjYIy6Ix
x6cy1GPAeqhSPs96AeoEUeD9f3tEcTh0n7+/kweEr3Vofiii1hbQyEpY/aPN njj2Fn/dK0atn5T6
sRk+lAsbBJrey8gu0/ngzmQ5ARnCkAcfw89fpWkngnW42YxjUULABiqoMgdP +WvNMXwJqy7cQ3w2
8DEUfH/kWl9ao9an4Mbwdb+T8UYtjaW7o03mpeOkBk+zqrqc5AweBn7x6HtV 5oYoNNuXTTmm8wW8
pttz4RiJM5x82OPXqauR+BdXicPHDfI46MscYI/ES1IvgzXY5HljOpo7nLMq oGb6nzeaJ4mhJ6T/
AAYRwlZbw/FGfHpdk91JanKol9s3l25XymbBA91xxzjIpktlZg+bHbCRlt2k MCCVUdg6qAN2HPDE
nHoK0z4L1n7OkC292iq/mZWCIMzf3ifN5IzxSHwVrZnE5GomVRgSFU3D8fOz UrE0r39p+DH9Uq2+
D8UUZNiHSEXTRAVlG5yzFo/33Q8459xmvVfDX/Iuaf8A9cFrzu28Gazbzoxj 1BoxMsrpsjAcgg8/
vcZ4616NoEE1roVlBcRmOaOBVdDj5TjkccVwYypCbjyO+/f9TvwtKdOMudW1 XbsaVFFFcR1BRRRQ
AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFFFFAB
RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFF
FFABRRRQAUUUUAFFFFADcGgDnmnUUrAJgUYpaKYCYopaKAEoxS0UAJRS0UAJ RS0UAJiilooASjFL
RQAlFLRQAmKKWigBMUYpaKAExQRxS0UANwcUoGKWigAooooAKKKKACiiigAo oooAKKKKACiiigAo
oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACii
igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKK
ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooA
KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAo
oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACii
igAooooAKKKKACiiigDFu/Fmj2WpNp09zKLtV3+UlrK5K+o2qcjnqK0bK+t9 Rsor20lEtvMu6NwC
Nw+h5rgfFM09z8RYrXStVt7W8OjyRDLjcWMqERg5G1iOh5PtVzxLr11oWqJH p0zRQ28tsklt5KpA
qSybTk9WPU5XAXHOc0AdyrA55HBwfaqdxq9lbapbaXLOEvLpWaGMo3zhRk4O McAetcNpeoXdnZ+I
ZZdVvhN/bcluqCNGKqXVVIyMLkfxHKgDOKq6br02q+K/CjajcRG6gudStzkh WYKoVSR6nHbqelAH
qAORS1w3ivWvElr4kisNJEUaNaCaAyuiJLLvwytu5I2/wrg85qhe6/qQtPGj w+IGRtHkLW2PKJX9
3nYfl5G/j14x1oA9Iorz7VvEOq2tjo8kWqEQX9pLcyXYRMLIkSlIwcYwzZ46 noKk8P69qmreJRaX
epm2MmkWt49qFQeVKx/eKARuAxjg8jNAHdSOsaF2YKqglmJwAB6ms218SaXe 3UdrBckzy58tHidD
IAMkruUZGO446etQ63G8+hw+UzXcUcsMk2MMZolZS3A4bKgnA61Feaxos4F3 Fcxzy2UEs6Sw/vRb
jYclgD6dj1oA077VrHTRGb27ithIW2GRsbtqlm/IAk1PDcR3NvFcQuHimVXR v7wIyDXnX/CQpcSp
bajqVu6wXQeJp7iJnCtbTZyygKRnHTI5xkmtbUHjfwP4fmXUXtYlksy08Lrw MAdSCOP5j8KAO1or
l7fVrx9XiQXJkd7hoXsSo/dwAHbN0zk/Kc9PmxgEVV8Z+IrjSJ1FtfCGSGET mNigRl3Y+bILNnBG
FxjqSB0AOyornPEF9OuqaRbQazHYQXjS+aQELuoQsCpbgYx1wetYEXifU5NO DR6rbS3N7YQ3PO1V
ty8qxsRjOFCkkk7sEE9OKAPQqq3F/bWk1vFcTJG9zJ5cKnq7YJwPwBripdZ1 SJIUl8TWhEdndTsY
NhMhjKbPnYDPUgkKAQDj1Edxqkt5JbQTa1G5Sazu2uRs/cCRZN2OwUYXG7ON 3JPAoA9DprEgcVw+
o61rDW1rFbajBbQmSYLqFwwRZ1QJsOdpGTubgD5tpIwK09AvL3UdX1BrjWUu EtHjVbeCNVUbokY7
s5bqTjp3+gANf+2bL+0Bp/2gfaT/AA7W25xnbuxjdjnbnOOcVfByM1wkF2LL xBezR665j/trZcwM
8RjRDAOW+XK4YBQSe2OtZ9t4svWtJro+IkZLS0EwjkREMjid0+ckA4KheAB1 GD6gHpTNtqNJ1eV4
wTuTG4FSBz0wehrjdTvZL/StdD640cvlXaCzQJ8saBtjDjK5ABJOQd3GMim2 Wuzbrqzj1z7RbJJb
o14dm+1jZG3McDH3lA3EYG4HHHIB3VNY4x7nFcLea9qWRnWo7eOKxup0+RA1 x5TL5ch3dFYE9ByA
cdeL/iS5W60zQr1tSktI3u43aa3ZcfNGx4yCD7fXvQB1gpa88u9R161g1CNN auVudIgkknklgjdJ
dz/ujgKP4Ae/p1q9f6zqMWnzx2GppcRefCi6jJtVU37jIpYAqNuF5wcbwDyM 0AdVf6jbabAZ7qXy
49wUfKWJPoAASfw9Ce1TRyiVVdGV43AKspyCD0Oa5nRpbi51uxN9dRXbx2Ej RzRZ2M3mbSVOBuO0
Lk4x3AANWtCklt9H1H7LD5y21zcLaxA8MoJKqD3BORmgDoaK4O98QajBpzvb 61Fh/IkkuZI1It5H
lVWhxx2JOD8w2nJ5GNzRdVaWw1MPfC5On3EkXnfK77VUHLBcAnk9MdKAOgor kfB2vy6nfXtvJfrd
xrDFcQ7nRpMOWB+6AMfKpwM4zgnPAo2PiPUoyj/2pDqk9x9uEVsoRQxhY7Ao U5ye/J4x9SAd5RXE
Xmt3scSRWmvRvC93bJ9ueNOTIxDxAcDgYbuQDg9M1qaRrN9cWypDENTWO7mt 5blZ41KKkhUMw7nb
gnAH05oA3rq5is7aS5uJFiiiUu7ucBQBkk0xbuJ7NbtG3QtH5gZVJyuM5x16 dq5l9UvLmaeF5TJJ
MZ4ptP2D/R41VtknTPzYXrwd4x92qen6hfweG5YrLU1uWh0kzNN5asLSVVGI 8D1GeCSQVJPXFAHb
xtvQMM4PIyMUpbBxXHW2ravL4iIOo2qW6FUW0c5klXyQ+4KFz94n5t2OCMZq leXv2zw9aXE/iOXe
biznuQnlg2rM43LnbgAE/dIJBHJOcUAd286pNHE2d0hIXCkjgZ5PQfjUhrkP GGuXGlQWrWmrQ2ol
tbhwZlXLssW5G5x37Y6kfQ3fDuqyT3l/Zz6nHe/Z44ZvMyoI3qWbhei9MdeD 1NAG/HMkryIjAmM7
WHocZqSuM1G81HSf7M1hJrgWdzcsl3bRhWB8zcI3yQT125wehqj4r13VvDVg PI1G5ubuztBcyLJC
gSTMgB3kDngkbVwRjJNAHfk++KbDMk8KyxtuRhkH1ri9L1i8vr7xJD/a32pL K88qCLMfKugwuVAP
DE4PtiqurarrGgale2i3V7Pa2ht7tSkaEi1yUeMfLy27n1x3FAHoVFedatqP iHRrm6g/tC+ulazS
+RhHHmJEf98nCYLFSAKfqmoeIbSXNtf30i6nYyXNqrxx/wCjMjB2B+TvGQBn POaAO31PU7PSLJ7y
+m8mBOWfYzYH0AJp9teQ3dnFeQSK9vMiyJIOAykZB59q43Urp73wnqF/PcT+ VJplxcILnapiEiFU
QgAdRk885rlrjXL9/CFzpVvqLeXBpemzQmIrvAZlSQDA5UAc+nrQB7FVG61i ys9StdPuJwlzeFhA
hRvnIGSAcY6eprz298V6ppeqa1b2uvi5isrixSFroRthZsiQttC9CQe2OKhX xIbvxFokeo38Ek2m
a1e2xkLKjOiREK7DsTnHoaAPUop0m3GNgwVyh+o61LXmet+IdS0LVbi3ttS8 sQaE1/8AZX2MPPEg
JXpu5BPGfcU+PX/EF+mrxWuqiWfSfs14iwRx5uonQPJHg545wpHPTJNAHpNF cHreq6nZ6LDqMWrX
MSXTvdPA6xi4S328LGCuCV3KSDknpnNVtT8T65aa08EVyxFv9hW3haEA3ol4 mYjGcr1+XAXvQB6L
RXmC+I9Xg1mGzvddkhi/tm8s3MvlJ+4WLdGxJXg56Hv71c0nX9YvfA2jao+q 7nvpo4by4xGotl3N
ufOMA8KORjkUAeh0VwXiPWvEtrrFrYaXPE4ayE0M0pSJLiYPhlbd1G3nauDz npXcBiY/mbb8vJHb
jrQBLRXk9p4x1qS3s4U11JDdSagjTMkbMBB80e3AAyw46cg5Aq5qvjjUh4Ys dYtLo/af7NS8khjj
XySxdVYMxyT1I2rgjGSaAPSgwLEAjI6+1RC6hN2bTzB54TzCmP4c4z+deX61 rGoaTP4o1CHXbi3m
h1K2SCJzHseNhGDwy8jBboR0z2Nbd1q9zB4y1DSJfFAgtW0n7TFM/lfuJDJg Eccjbg4OeDnvQB3E
0yQQtLI21EGSaeM1xnhvVJtYsY4by/ee/FysN5bMyfuDFySAoBw21T/wLHam /wBu6zHomv6p5we+
tfPEOnbAwjCHEZwPmyRzg9c8UAdtRXltz4u1aGJgus5t4NSsoo7tlj/fpKoM yk4wdpJHGCO9amt6
t4ntPEw0ywnRljgikgado0W4Jc+YGyMthRwEwQcE9aAOzm1G3guEt5JQssjB VXB5JyQPyBq12rht
f1iXT9S0qdNSFlFqOqNDMCybXhCEBvmBxgqOffnrWP4c8Z6zPBp7SX66hPd6 beyCJgg3zxSERgbQ
OSuMj05oA9DvtYstNmtIbyfyXvZfJgBRjvfsuQMA/WrpYjnr9K831q7MmneE Zb3V0uZZtYt5GkLI
PLJjbcARgEBj6ccA1W03xXrsUunLcai9xcyW2o+ZayogLywufKGAAdxGOB14 oA9Eg1eyudUudMin
DXdqqtLEUYFQ3Q5IwQfarUs6QRmSVgqggZ+pwK8ntte1OGbV9XtJ1utVfQ7K YqwGVJc+YAo/uBj9
MDNddo11qV/ZLHqc8ZT7U0kM6To7CBVyGZl+QkMewx0oA6+ivIrPxtrsmh2c g1uJ5ZrG+uXd40LF
7dyVUYwPmXGeOnIroLfUtcvbmxZdRuTba9ZRywSWyRlbKVQGkGSpypB4znoR QB3tFcIdb1SDxFfx
DUXulht55LSCKNWjk8tcFJMDcrh+c5w2cDpWI/ivxHJ4dv7m2v5JZYLKzvDK kSHypZHAmhPGMKM8
H5hjk0AerUV5g3ivUE1z7L/wkHyjxGLMIxiybZot3TGcBuA3vjmuosrvUm8U 3VldagUitEiEERVc
3YKEu5GMj5sDI4496AOnqCO6hluZbdJA0sO3zFx93PIrifB3iDxBezSXetPD HaLBI10jSJut5VfG
Ao+ZV2/3snv0rL1zxde2muaxb2/iBY47e+sBAhMXCS581eRkgZHuMdaAPUaK 89s/Euq3YazOopHH
DrlxZzXnyb44lyY88YyxwOnIHrXWateXNnoyywyZYmNZJ9n+rQkBpNvsMnFA GtVa7vraxERuZ0hE
sqwx7z992OFUepJrkptXvZL2xs015YbR5Z4xc7Y991GkYYOGPAw25SQMHbmr N7q0d74M0nUrq5tk
NxPZO0pYBA/mIWxz2579jQB08Nws8YkTO1umVK/oalPArze28VXz2sl6/iO2 dbW2glaNRGA7tM6N
uOTxgA4GOq8+u7o2o6ndeJbgXGp2jW5knVbMNmRVRyEbG35QQM5JOcjFAG9N rFjb6pb6XNcBLu6D
GGMo3zhRlsHGOB71FB4h0u61SfTIL+B7u1XdPCG5Qe/9fSud8S39lF8RPCSy XcEbRm73q0gBXdEA
uQemT09ag1PyZPFEF3aQW2qWRguLSa3t49stquzLkkHksVxggdeKAOptvEGm XjSLBeoxjTzDkFcp
/eGR8y+4yKboniTSPEcEs+kXq3ccL7HZUYYOM45ArgNDhtXUW93eSyWDaJtj vVYJNpsZYZgdgMZ6
c4yNprsvDMN1ame2Gpf2ppwRHtbt2VnOchkZl4bGAc/7XtQB0VFFFAEJs7Vp fNNtEZM7t5QZz65p
7xRyffjVu3IzT6KAGeWnzfIvzfe46/WmfZLbzBJ9ni3g5DbBkH61NRQAx4o5 CpeNWKHKkjO0+opn
2O1+f/Rov3n3/kHzc559eamooAiNvAYliMMZjUghNowMe1H2aDzTL5EfmN1f aMn8alooAaqKqhVU
AAYAA6UxLW3iDiOCNBJ9/agG76+tS0UAV20+yYKGs4CFGBmMcD8qk+zw+WI/ JTYMYXaMD8KkooAb
5aeYZNi7yMFsc49M0x7aCR98kMbsARllBOD1FS0UARNbQPt3wRtsGFyoO0e1 NFnar922hHy7OEH3
fT6VPRQBAbO1IANtDhV2geWOB6fSj7FagMPs0OGXaR5Y5Hp9KnooAje3gkjW N4Y2RcbVKggY6YFK
kMUbs6RorOcsQoBb6+tPooAg+x2uXP2aHMn3/kHzc559eaV7O1kJL20TEjBJ QHIqaigCIW0AZmEM
YZ12sdoyR6H2pFtbZQwW3iG9drYQfMMYwfUYqaigCF7W3cgvbxMQu0EoDx6f SlaGLy1jEaBVI2ja
MKR0I+lS0lAGJP4diuNJu7F7658y8I8+7+TzXxj/AGdo4GMAcVrJbxC3EDIj pjDAqMN6kjGOTzUt
LQBnX+mRXixbJHtZoM+TNAAGjBGCBkEYI7Y9O4FWLO0gsbaK2t49kUYwq/19 z79yasUUARta27qy
NBGys25gUGC3r9aVIIY93lxIm85baoG4+9SUUARR21vDjyoI0wMDaoGBnP8A OkSztY2VktolK8qQ
gBH0qaigCI2tuyhTBGVDbgCgwD6/WljhihBEUSICckKoGT61JRQAwRxhy4RQ xABbHJA6VR1HSkvL
NrSKZrSKUnzxAiDzQRhlOQeo7jB960aSgCGG2gj2MsKBkQIrY+YKO2etOFrb hWUQR7Xbcw2DBPqf
epaKAIpbW3nIM0EcmOm9AcfnRHbQREtHBGhYAEqgGR6VLRQA3YuANowOgx0p HjjkGHRWHuM0+igC
JLW3iLGOCNC3JKoBmn7FPVR0x0p1FADSqnqoPGOlGxePlHHTinUUARvDFIpV 4kZTwQVBBpq2lshy
tvEp27eEA49PpU1FAEBsrVixNtCS/wB7MY5+tIbCzLlzaQFic7jGM1YooAhe 1t3cyPbxM5GCxQEk
VUvNJguVjCM1sEb5xAAvmrgjY3HK89PYVo0lAEYijYANGrbRgZAOKcYo2kWQ xqXTO1iOVz1wadS0
AQyWltLnzbeJ89dyA5pRbQCIxCCMRnkoFGD+FS0UARyRRuFLRqxQ5QkfdPqP SsuXSr+SZ3XxBfIj
MSIligIA9OY84+pzWxSUAQR2dqv3baEYORiMDBp4t4BGIxDGEGcLtGOevFS0 UARSWtvKMSQRuP8A
aQGmtZWjsWe1hYkYyYweKnooAiS2gicvHDGjN1ZVAJpwjjVmZUUM33iByfrT 6KAITZ2rRiM20RQE
kKUGAT14p7RRu6O0asycqSMlfp6U+igCGS0tpgBLbxSAdAyA4oS0toypS3iU ocqQgGD7VNRQBC1p
bMFDW8RCklQUHBPXFKbaAyCQwx7wchtoyD65qWigCJba3Vy6wRhiCCwQZwet KsEKRiNYkVAMBQoA
A9MVJRQBALK0AAFrCMZxiMcZ61Wt9NS2vpLlZpXDn93E2NkIwAQgA4zgGtCk oAaIo1Yusahj1IHJ
pFhiVWVYkCuSWAUYJPUmpKKAK5sbNn3m0gLf3jGM1N5aeYJNi7wMBsc49M06 igCMQQguREgMn3zt
HzfX1qN7Czdiz2kDMepMYJqxRQBELW3AYCCMBiC3yDk+pqQgEEEAg9RS0UAQ m0tiEBt4iIxtQFB8
o9B6UNaWzQiFreIxL0QoNo/CpqKAK40+yAIFnAA3UeUvP6VIsEKSNIsSK7AB mCgEgdMmpKKAIZLO
1lk8yS2hdzj5mQE8dOaekMUbs6RorPyxCgE/Wn0UARrBCocLEgDnLAKPmPv6 0scUcSBI41RB0VRg
Cn0UAFFFFAH/2Q==

------=_NextPart_000_0045_01C96B05.014AFD30--

Re: Please help me for mysouce installation

am 31.12.2008 00:56:21 von Andrew McMillan

Hi,

This mailing list is about using PostgreSQL in PHP, rather than general
PHP support questions. I doubt that any of us have ever had to deal
with mysource matrix.

Regards,
Andrew McMillan.

On Wed, 2008-12-31 at 05:02 +0530, Umesh Wani wrote:
> Hi,
>
>
>
> I am installing mysource matrix
>
>
>
> For installation step 2
>
>
>
> I got following errors please can you help me.
>
>
>
>
>

------------------------------------------------------------ ------------
andrew (AT) morphoss (DOT) com +64(272)DEBIAN
If you stand on your head, you will get footprints in your hair.
------------------------------------------------------------ ------------



--
Sent via pgsql-php mailing list (pgsql-php@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-php

Re: Please help me for mysouce installation

am 31.12.2008 01:05:17 von Frank Bax

Umesh Wani wrote:
> Hi,
> I am installing mysource matrix
> For installation step 2
> I got following errors please can you help me.


I've never heard of this product; but this might help:

http://www.google.ca/search?q=mysource+matrix+sys0209

Wow; first hit is the "MySource Matrix support forum"!

--
Sent via pgsql-php mailing list (pgsql-php@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-php