EA TOOLS END USER LICENSE

Electronic Arts Inc, and its subsidiaries, affiliates and licensors
(collectively, "EA") grants you a non- transferable non-exclusive license to
download and/or install and use one copy of the software tool ("Tool") and/or
materials ("Materials") (collectively the "Tools & Materials") solely for your
personal noncommercial use in connection with EA's products, in accordance with
the terms below.

EA owns all of the rights, title and interest in the Tools & Materials. You may
not alter any of EA's trademarks or logos, or alter or remove any of EA's
trademark or copyright notices included in or with the Tools & Materials or
EA's products. Your right to use Tools & Materials is limited to the license
grant above, and you may not otherwise copy, display, distribute, perform,
publish, modify, create works from, or use any of the Tools & Materials.
Without limiting the preceding sentence, you may not modify, reverse engineer,
disassemble, license, transfer, distribute, create works from, or sell the
Tool, or use the Tools & Materials to further any commercial purpose.  Without
limiting the foregoing, you may not use the Tools & Materials to promote
another product or business, or on any site that operates or promotes a server
emulator.

You may include materials created with the Tools & Materials on your personal
noncommercial website for the noncommercial benefit of the fan community for
EA's products and provided that if you do so, you must also post the following
notice on your site on the same web page(s) where those materials are located:
"This site is not endorsed by or affiliated with Electronic Arts, or its
licensors.  Trademarks are the property of their respective owners.  Game
content and materials copyright Electronic Arts Inc. and its licensors.  All
Rights Reserved."  You will not represent that your site is endorsed or
approved by or affiliated with EA or our licensors or that any other content on
your site is endorsed or approved by or affiliated with EA or our licensors.

THESE TOOLS & MATERIALS ARE PROVIDED "AS IS" WITHOUT ANY WARRANTIES OF ANY
KIND, EXPRESS OR IMPLIED.  EA SPECIFICALLY DISCLAIMS ANY WARRANTIES OF FITNESS
FOR A PARTICULAR PURPOSE, MERCHANTABILITY AND NONINFRINGEMENT.

ANY USE YOU CHOOSE TO MAKE OF THESE TOOLS & MATERIALS IS UNDERTAKEN BY YOU
ENTIRELY AT YOUR OWN RISK.  EA DOES NOT WARRANT THAT THESE TOOLS & MATERIALS
WILL NOT CAUSE DAMAGE TO YOUR COMPUTER SYSTEM, NETWORK, SOFTWARE OR OTHER
TECHNOLOGY.

EA WILL NOT PROVIDE SUPPORT FOR THESE TOOLS & MATERIALS.  PLEASE DO NOT CALL OR
SEND EMAIL TO EA CUSTOMER SUPPORT REGARDING THESE TOOLS & MATERIALS, AS EA WILL
NOT BE ABLE TO ANSWER THESE INQUIRIES.

IN NO EVENT SHALL EA BE LIABLE FOR ANY DIRECT, CONSEQUENTIAL, INCIDENTAL,
SPECIAL, PUNITIVE OR OTHER DAMAGES WHATSOEVER, ARISING OUT OF OR RELATED TO
THIS LICENSE EVEN IF EA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

EA RESERVES THE RIGHT TO DISCONTINUE THE AVAILABILITY OF THESE TOOLS &
MATERIALS, OR MODIFY THEM, AT ANY TIME, WITHOUT OBLIGATION TO ANYONE.

At EA's request, you agree to defend, indemnify and hold harmless EA from all
liabilities, claims and expenses, including attorneys' fees, arising from any
breach of this License by you and/or your use or misuse of the Tools &
Materials.

EA may make the Tools & Materials available at its site(s) located in the
United States and/or Canada and/or the European Union.  You are solely
responsible for knowing and complying with all federal, state, and local laws
that may apply to your use of Tools & Materials in your own locale. By
downloading any Tools & Materials, you warrant that you are not located in any
country, or exporting the Tools & Materials to any person or place, to which
the United States and/or Canada and/or European Union or its member countries
has embargoed goods.

EA may revoke or terminate this license at any time, for any reason or no
reason, in its sole discretion.  Upon termination, you must destroy or return
to EA all Tools & Materials.  This License is governed by United States
Copyright and California law (without regard to conflicts of law), and is the
entire agreement between EA and you regarding the Tools & Materials.

Please type "accept" if you agree to the above terms, or "decline" to
discontinue. If you decline, you may not use the Tools & Materials.

---

SOFTWARE LICENSE AGREEMENT

The terms of this Software License Agreement (this "Agreement") shall apply to
all versions, editions, and future updates of PunkBuster software and
constitute a legal agreement between you (the "Licensee") and Even Balance,
Inc. (the "Licensor").

BY INSTALLING, ENABLING OR USING PUNKBUSTER SOFTWARE, THE LICENSEE IS
CONSENTING TO BE BOUND BY AND IS BECOMING A PARTY TO THIS AGREEMENT. IF
LICENSEE DOES NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, ACCEPTANCE MUST
NOT BE SPECIFIED BELOW AND LICENSEE MUST NOT INSTALL OR USE THE SOFTWARE.

EVEN BALANCE, INC. RESERVES ALL RIGHTS NOT SPECIFICALLY GRANTED HEREIN.

Licensor grants Licensee a non-exclusive and non-transferable license to use
PunkBuster software only for non-commercial entertainment purposes. Licensee
may not disassemble, decompile, reverse engineer, redistribute (in any form),
create derivative works of, or modify PunkBuster software in any way. Licensor
reserves the right to terminate the license at any time and for any reason, or
no reason at all, and without notice to licensee. Additionally, upon breach of
any term of this Agreement, the license granted under this Agreement shall
automatically terminate without any additional notice to Licensee. Upon
termination of the license, Licensee shall destroy all copies of PunkBuster
software in Licensee's possession.

Licensee acknowledges that PunkBuster software is optional and is not a
requirement in any respect for using or enjoying games that integrate
PunkBuster software technology. Licensee also acknowledges and agrees that
PunkBuster software is self-updating, which means that future updates will,
from time to time and without any notice, automatically be downloaded and
installed as a normal and expected function of PunkBuster software. Licensee
further acknowledges and accepts that PunkBuster software may be considered
invasive. Licensee understands that PunkBuster software inspects and reports
information about the computer on which it is installed to other connected
computers and Licensee agrees to allow PunkBuster software to inspect and
report such information about the computer on which Licensee installs
PunkBuster software. Licensee understands and agrees that the information that
may be inspected and reported by PunkBuster software includes, but is not
limited to, devices and any files residing on the hard-drive and in the memory
of the computer on which PunkBuster software is installed.  Further, Licensee
consents to allow PunkBuster software to transfer actual screenshots taken of
Licensee's computer during the operation of PunkBuster software for possible
publication. Licensee understands that the purpose and goal of PunkBuster is to
ensure a cheat-free environment for all participants in online games. Licensee
agrees that the invasive nature of PunkBuster software is necessary to meet
this purpose and goal. Licensee agrees that any harm or lack of privacy
resulting from the installation and use of PunkBuster software is not as
valuable to Licensee as the potential ability to play interactive online games
with the benefits afforded by using PunkBuster software.

Licensee agrees not to export or re-export into any country subject to U.S.
trade sanctions or to which the U.S. has embargoed goods or to any nationals or
residents of such countries unless such nationals are permanent residents of a
country that is not subject either to such sanctions or embargoed goods.
LICENSEE AGREES NOT TO DOWNLOAD, INSTALL, OR USE PUNKBUSTER SOFTWARE IN A
COUNTRY OR LOCALE WHERE SUCH ACTION WOULD VIOLATE ANY LAW OR ORDINANCE.

This Software License Agreement shall be construed in accordance with and
governed by the applicable laws of the State of Texas and applicable United
States federal law. Exclusive venue for all litigation regarding this Agreement
shall be in Harris County, Texas. Licensee agrees that any portion of this
Agreement found to be invalid or unenforceable shall be modified, to the extent
allowed by law, so as to allow for the enforcement of the original intended
meaning of the portion found to be invalid or unenforceable.

PUNKBUSTER SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY
KIND INCLUDING, BUT NOT LIMITED TO, AND WITHOUT LIMITATION, THAT IT IS FREE OF
DEFECTS, FIT FOR A PARTICULAR PURPOSE, OR THAT IT IS MERCHANTABLE. LICENSOR
DOES NOT WARRANT THAT THE OPERATION OF PUNKBUSTER SOFTWARE WILL BE
UNINTERRUPTED OR ERROR-FREE OR THAT IT WILL MEET LICENSEE'S SPECIFIC
REQUIREMENTS OR DESIRES. LICENSEE AGREES THAT NEITHER EVEN BALANCE, INC., ITS
OFFICERS, DIRECTORS, SHAREHOLDERS, EMPLOYEES, CONTRACTORS, LICENSORS, BUSINESS
PARTNERS, SUCCESSORS NOR ASSIGNS SHALL BE LIABLE FOR ANY CLAIM WHATSOEVER
INVOLVING PUNKBUSTER SOFTWARE IN ANY WAY. FURTHERMORE, SHOULD ANY VERSION OF
PUNKBUSTER SOFTWARE, INCLUDING FUTURE VERSIONS, PROVE DEFECTIVE IN ANY WAY,
LICENSEE ASSUMES THE ENTIRE COST, IF ANY, OF LOSS OR DAMAGE OF ANY TYPE AND TO
ANY DEGREE. THIS WARRANTY DISCLAIMER SHALL SURVIVE TERMINATION OF THE LICENSE
OF PUNKBUSTER SOFTWARE BY LICENSEE, REGARDLESS OF WHETHER THE LICENSE IS
TERMINATED BY EVENBALANCE, INC. OR LICENSEE.

This Agreement constitutes the entire agreement between Licensor and Licensee
and supercedes any prior statements, whether written or oral.
