
TERMS AND CONDITIONS OF USE
----------------------------------------------------------------------

The MITRE Corporation (MITRE) licenses the Egress Filtering Diagnosis
Tool to you without charge .  As used in this License, the Term
"Egress Filtering Information Tool" includes any documentation and
test results provided.

The Egress Filtering Diagnosis Tool is the copyright work and the
proprietary intellectual property of MITRE.  No ownership or other
proprietary interest in the Egress Filtering Diagnosis Tool is
granted you other than what is granted in this license. You may not
sell the Egress Filtering Diagnosis Tool to a third party, or charge
for using it to provide services to a third party 

YOU ASSUME ALL RISK AS TO THE SELECTION, USE, PERFORMANCE AND QUALITY
OF THE EGRESS FILTERING DIAGNOSIS TOOL.  MITRE IS PROVID-ING THE
EGRESS FILTERING DIAGNOSIS TOOL "AS IS" AND MAKES NO WA-RRANTY,
EXPRESS OR IMPLIED, AS TO THE ACCURACY, CAPABILITY, EFFI-CIENCY,
MERCHANTABILITY, OR FUNCTIONING OF THE EGRESS FILTERING DIAGNOSIS
TOOL.  IN NO EVENT WILL MITRE BE LIABLE FOR ANY GENERAL,
CONSEQUENTIAL,  INDIRECT, INCIDENTAL, EXEMPLARY OR SPECIAL DAMAGES,
REGARDLESS OF THE CAUSE THEREOF, EVEN IF MITRE HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.  

You accept the Egress Filtering Diagnosis Tool on the condition that
you indemnify and hold harmless MITRE, its Board of Trustees,
officers, agents, and employees, from any and all liability or damages
to third parties, including attorneys' fees, court costs, and other
related costs and expenses, arising out of your use of the Egress
Filtering Diagnosis Tool irrespective of the cause of said liability.  

You remain solely responsible for the security of your systems and for
the consequences of the use of the Egress Filtering Diagnosis Tool.
You assume the entire risk of any servicing, repair, or correction of
your property or operations arising out of your use of the Egress
Filtering Diagnosis Tool. 

MITRE uses its best efforts to protect against the loss, misuse or
alteration of information and information systems under its control by
incorporating security systems.  However, if any MITRE server or
information system is penetrated or otherwise compromised, MITRE shall
have no liability to you or anyone claiming through you for any damage
or injury caused by the intentional, unintentional or negligent acts
of third parties. 

The export from the United States or the subsequent reexport of the
Egress Filtering Diagnosis Tool is subject to compliance with United
States export control and munitions control restrictions. You agree
that in the event you seek to export the Egress Filtering Diagnosis
Tool you assume full responsibility for obtaining all necessary export
licenses and approvals and for assuring compliance with applicable
reexport restrictions.  

If any provision of these terms is deemed unlawful, void, or for any
reason unenforceable, then that provision will be deemed severable
from these terms and will not affect the validity and enforceability
of the remaining provisions.  

This License shall be governed by the laws of the Commonwealth of
Virginia without regard to Virginia conflicts of laws rules.  Any
legal action concerning use of the Egress Filtering Diagnosis Tool or
this License must be filed in the U.S. District Court for the Eastern
District of Virginia. 

(c) 2000 The MITRE Corporation. All rights reserved.
----------------------------------------------------------------------
By using this software, you signify your acceptance of our Terms and
Conditions of Use.  If you do not agree to these terms, do not use the
tool.




