One document matched: draft-ietf-vpim-cc-02.txt
Differences from draft-ietf-vpim-cc-01.txt
Network Working Group E. Burger
Internet Draft SnowShore Networks
Document: draft-ietf-vpim-cc-02.txt E. Candell
Category: Standards Track Comverse Network Systems
Expires May 2001 November 24, 2000
Critical Content of Internet Mail
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026 [1].
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts. Internet-Drafts are draft documents valid for a maximum of
six months and may be updated, replaced, or obsoleted by other
documents at any time. It is inappropriate to use Internet- Drafts
as reference material or to cite them other than as "work in
progress."
One can access the list of current Internet-Drafts at
http://www.ietf.org/ietf/1id-abstracts.txt
One can access the list of Internet-Draft Shadow Directories at
http://www.ietf.org/shadow.html.
This document is a work product of the IETF Voice Profile for
Internet Mail (vpim) Work Group. The URL for the VPIM website is
<http://www.vpim.org>.
1. Abstract
This document describes a mechanism for identifying the body parts
that the sender deems critical in a multi-part Internet mail
message.
By knowing what parts of a message the sender deems critical, a MTA
or UA can intelligently handle multi-part messages when gatewaying
(MTA) or presenting (UA) to systems of lesser capability. Critical
content can help a smart gateway decide what parts to forward. It
can indicate how hard a gateway should try to deliver a body part.
It can help an MTA to select body parts to silently delete when a
system of lesser capability receives a message. In addition,
critical content can help indicate the notification strategy of the
receiving system.
Expires 5/24/01 [Page 1]
Critical Content of Internet Mail November 2000
Table of Contents
1. ABSTRACT .........................................................1
2. CONVENTIONS USED IN THIS DOCUMENT ................................2
3. INTRODUCTION .....................................................3
4. CONTENT-CRITICALITY ENTITY .......................................5
4.1. CRITICAL .......................................................6
4.2. IGNORE .........................................................6
4.3. Other Values ...................................................6
4.4. Summary ........................................................7
5. STATUS CODE ......................................................7
6. BACKWARD COMPATIBILITY CONSIDERATIONS ............................8
7. MIME INTERACTIONS ................................................8
7.1. multipart/alternative ..........................................8
7.2. multipart/related ..............................................9
7.3. message/rfc822 .................................................9
8. IMPLEMENTATION EXAMPLES ..........................................9
8.1. Content Gateways ...............................................9
8.2. Non-Traditional UA ............................................10
9. SECURITY CONSIDERATIONS .........................................11
10. COLLECTED SYNTAX ................................................11
11. REFERENCES ......................................................11
12. ACKNOWLEDGMENTS .................................................12
13. AUTHOR'S ADDRESSES ..............................................13
2. Conventions used in this document
This document refers generically to the sender of a message in the
masculine (he/him/his) and the recipient of the message in the
feminine (she/her/hers). This convention is purely for convenience
and makes no assumption about the gender of a message sender or
recipient.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
this document are to be interpreted as described in RFC-2119 [2].
FORMATTING NOTE: Notes, such at this one, provide additional
nonessential information that the reader may skip without missing
anything essential. The primary purpose of these non-essential
notes is to convey information about the rationale of this document,
or to place this document in the proper historical or evolutionary
context. Readers whose sole purpose is to construct a conformant
implementation may skip such information. However, it may be of use
to those who wish to understand why we made certain design choices.
Burger and Candell Expires 5/24/01 [Page 2]
Critical Content of Internet Mail November 2000
3. Introduction
This document describes the Critical Content identification for
multi-part Internet mail.
The need for a critical content identification mechanism comes about
because of the internetworking of Internet mail systems with legacy
messaging systems that do not fulfil all of the semantics of
Internet mail. Such legacy systems have a limited ability to render
all parts of a given message. This document will use the case of an
Internet mail system exchanging electronic messages with a legacy
voice messaging system for illustrative purposes.
Electronic mail has historically been text-centric. Extensions such
as MIME [3] enable the desktop to send and receive multi-part,
multimedia messages. Popular multimedia data types include binary
word processing documents, binary business presentation graphics,
voice, and video.
Voice mail has historically been audio-centric. Many voice-
messaging systems only render voice. Extensions such as fax enable
the voice mail system to send and receive fax images as well as
create multi-part voice and fax messages. A few voice mail systems
can render text using text-to-speech or text-to-fax technology.
Although theoretically possible, none can today render video.
An important aspect of the interchange between voice messaging
services and desktop e-mail client applications is that the
rendering capability of the voice-messaging platform is often much
less than the rendering capability of a desktop e-mail client. In
the e-mail case, the sender has the expectation that the recipient
receives all components of a multimedia message. This is so even if
the recipient cannot render all body parts. In most cases, the
recipient can either find the appropriate rendering tool or tell the
sender that she cannot read the particular attachment.
This is an important issue. By definition, a MIME-enabled user
agent, conforming to [4] will present or make available all of the
body parts to the recipient. However, a voice mail system may not
be capable of storing non-voice objects. Moreover, the voice mail
system may not be capable of notifying the recipient that there were
undeliverable message parts.
The inability of the receiving system to render a body part is
usually a permanent failure. Retransmission of the message will not
improve the likelihood of a future successful delivery. Contrast
this to the case with normal data delivery. Traditional message
failures, such as a garbled message or disabled link will benefit
from retransmission.
This situation is fundamentally different from normal Internet mail.
In the Internet mail case, either the system delivered the message,
Burger and Candell Expires 5/24/01 [Page 3]
Critical Content of Internet Mail November 2000
or it didn't. There is no concept of a system partially delivering
a message.
In addition, the sender would not mind if the system did not deliver
non-critical parts of a message. In fact, the sender's user agent
may be silently adding body parts to a message unbeknownst to the
sender. For example, take Microsoft Outlook as a user agent.
Outlook often will attach a TNEF section or other body parts. If the
receiving system rejected the message because it could not render
TNEF, the sender would be understandably confused and upset.
Thus, there is a need for a method of indicating to a Mail Transfer
Agent (MTA) or User Agent (UA) that the sender considers parts of a
message to be critical. From the sender's perspective, he would not
consider the message delivered if the system did not deliver the
critical parts.
One method of indicating critical content of a message is to define
a profile. The profile defines discard rules based on knowledge of
the user population for silently deleting body parts. Citing the
example above, a voice profile can easily declare that MTAs or UAs
can silently delete TNEF data and yet consider the message
successfully delivered. This is, in fact, the approach taken by
VPIMv2 [5].
Since one aspect of the issue is deciding when to notify the sender
that the system cannot deliver part of a message, one could use a
partial non-delivery notification mechanism [6] to indicate a
problem with delivering a given body part. However, this requires
the user request a MDN. Moreover, the sender will receive PNDN
failures for objects the sender may not be aware he is sending. An
example would be the TNEF part.
Summarizing the needs, we need a mechanism that will let the sender
or sender's UA mark body parts he considers critical to the message
that the system must deliver. The mechanism MUST NOT burden the
sender with failure notifications for non-critical body parts. The
mechanism MUST conform to the general notification status request
mechanism for positive or negative notification. When requested,
the mechanism MUST indicate to the sender when a receiving system
cannot deliver a critical body part.
In short, we need a method of letting the sender indicate what body-
parts he considers to be critical.
This document describes a Critical Content marking mechanism that
satisfies these needs. Following the format for Internet message
bodies [3], this document introduces the Content-Criticality body
part header. Values for this header are CRITICAL, NOTIFY, or
IGNORE. The receiving MTA or UA will generate a delivery status
notification (DSN) [7] or Message Disposition Notification (MDN) [8]
at delivery time or reading time if it receives a request for
Burger and Candell Expires 5/24/01 [Page 4]
Critical Content of Internet Mail November 2000
notification and the (non-)delivery status of the parts marked
NOTIFY meet the criteria for notification.
NOTE: A straightforward alternative implementation method for
marking a body part critical is to use a content-disposition
parameter called "criticality".
NOTE: We could have made the critical content indicator a parameter
to content-disposition. This has the benefit of being very easy for
IMAP servers to implement. In particular, IMAP servers
automatically present the content-disposition entity when a UA
requests information on a message. On the other hand, the UA must
explicitly request the presence and value of different entities,
such as content-criticality. However, implementing the critical
content indicator as a parameter to content-disposition overloads
the meaning of the entity. Moreover, IMAP servers can present, in
the future, content-criticality by default. Lastly, most UA's that
have interest in content-criticality will explicitly request the
header in any event.
4. Content-Criticality Entity
The Content-Criticality field is a MIME body part header inserted by
the sending UA to indicate to the receiving MTA or UA whether to
consider this body part critical.
A CRITICAL body part is one the sender requires the receiving system
to deliver for him to consider the message delivered.
An IGNORE body part is one the sender doesn't care whether the
receiving system delivers it or not. The receiving system can
silently delete such body parts if the receiving system cannot
deliver the part.
The terms "entity" and "body part" have the meanings defined in [3].
One obvious application of critical content is generating a
(non-)delivery message. If the value of the field is IGNORE, the
receiving MTA or UA MUST NOT generate a notification. If the value
of the field is CRTITICAL, the receiving MTA or UA will generate a
notification, based on the normal notification request mechanisms.
Normal notification request mechanisms include the SMTP RCPT NOTIFY
command [9] and the Disposition-Notification-To header [8].
For example, if the sending system requests a notification, and a
CRITICAL part fails, the receiving system will generate a NDN for
the whole message. Conversely, if only an IGNORE part fails, the
receiving system will not generate a NDN.
The next sections examine the actions taken by an MTA or UA given
the different values of Content-Criticality.
Burger and Candell Expires 5/24/01 [Page 5]
Critical Content of Internet Mail November 2000
NOTE: This implies that the MTA must examine the entire message on
receipt to determine whether it needs to generate a notification.
However, the MTA need not examine the message if it knows it can
store and forward all media types. Said differently, Internet e-
mail MTA can, by default, handle any arbitrary MIME-encapsulated
type. Some voice mail systems, on the other hand, cannot store
binary attachments at all, such as application/ms-word. The voice
mail MTA, in this example, would be scanning for non-renderable body
parts in any event.
4.1. CRITICAL
"Content-Criticality: CRITICAL" signifies that this body part is
critical to the sender.
If the receiving system cannot render or store a body part marked
CRITICAL, then the entire message has failed. In this case, the
receiving system MUST take the appropriate failure action.
NOTE: We say "appropriate action", because the sender may have
suppressed all notifications. In this case, the appropriate action
is to simply discard the message.
4.2. IGNORE
"Content-Criticality: IGNORE" signifies that the sender does not
care about notification reports for this body part.
If the receiving system cannot render or store a body part marked
IGNORE, the receiving system may silently delete the body part. The
receiving system MUST NOT return a delivery failure, unless parts
marked IMPORTANT or CRITICAL have also failed.
4.3. Other Values
The receiving system MUST treat unrecognized values as CRITICAL.
This is to provide backward compatibility with future uses of the
Content-Criticality entity.
The most likely new value is IMPORTANT. An IMPORTANT body part is
something the sender wants the receiver to get, but would not want
the message rejected outright if the IMPORTANT body part fails. A
receiving system that does not understand IMPORTANT MUST take the
default value of CRITICAL. In this case, the MTA or UA MUST take
the conservative action of rejecting the message.
Burger and Candell Expires 5/24/01 [Page 6]
Critical Content of Internet Mail November 2000
4.4. Summary
The following table summarizes the actions expected of a conforming
MTA or UA.
NOTE: This section is normative: it suggests what to put into the
DSN or MDN.
+--------------------------------------+
| Sending UA Has Marked Body Part |
|---------------------+----------------|
| CRITICAL | IGNORE |
+--------------------+---------------------+----------------+
| Body Part is | | |
| Deliverable/read | Appropriate Action | ignore |
+--------------------+---------------------+----------------+
| Body Part is | | |
| Undeliverable / | | |
| Unreadable | Fail Entire Message | ignore |
+--------------------+--------------------------------------+
The distinction between deliverable/read is as follows. A MTA can
determine if a body part is deliverable. If the body part is not
deliverable and is critical, the MTA could generate a DSN. An
example of such a MTA is a content-converting gateway.
An UA can determine if a body part is readable. If the body part is
not readable and is critical the UA could generate a MDN.
The "Appropriate Action" is the action the MTA or UA would take
given the context of execution. For example, if a sender requests
return receipt and the receiver reads a CRITICAL body part, the
receiving UA must generate the appropriate MDN (following the rules
for MDN). Likewise, if the MTA or UA cannot deliver the body part
and the body part is critical, the MTA or UA MUST generate the
appropriate DSN or MDN.
"Ignore" means the MTA or UA MUST ignore the operation on the body
part. The MTA or UA MUST treat the message as if the body part was
not present in the message.
5. Status Code
The critical content indication, in itself, does not guarantee any
notification. Notification follows the rules described in [7] and
[8].
NOTE: The content of actual DSNs or MDNs are beyond the scope of
this document. This document only specifies how to mark a critical
body part. On the other hand, we do envision sensible DSN and MDN
contents. For example, DSNs should include the appropriate failure
Burger and Candell Expires 5/24/01 [Page 7]
Critical Content of Internet Mail November 2000
code as enumerated in [10]. Likewise, MDNs should include the
failure code in the MDN "Failure:" field.
If the receiving system is to generate a notification based on its
inability to render or store the media type, the notification MUST
include the status code 5.6.1, "Media not supported", from [10].
6. Backward Compatibility Considerations
If there are no Content-Criticality entities in the message, the
default value for Content-Criticality is CRITICAL. The standard
notification mechanisms work for sending user agents (UA) that do
not know about the content notification entity. All body parts are
critical, because they have the default marking of CRITICAL.
If there is at least one Content-Criticality entity in the message,
the default value for unspecified body parts is IGNORE. The
philosophy is that UAs, especially manually constructed messages,
will explicitly mark the critical body parts.
NOTE: We could choose the default value for Content-Criticality to
be IGNORE. This would make VPIMv2 automatically compliant with this
document, as VPIMv2 has provision to silently delete undeliverable
parts. However, VPIMv2 systems should not be receiving arbitrary e-
mail from the Internet. If they do, they should be compliant with
this series of documents. By defaulting to CRITICAL, this draft is
compliant with the rest of the Internet infrastructure.
NOTE: Some VPIMv2 implementations can receive arbitrary e-mail from
the Internet. However, these systems are really acting in the
capacity of an Internet Voice Mail system. In this case, one would
expect the implementation to provide Internet Voice Mail semantics
to Internet Voice Mail messages.
7. MIME Interactions
7.1. multipart/alternative
Content-Criticality is only in effect for the selected alternative.
If the selected alternative has the critical content indicator, then
the entire alternative takes on the criticality indicated. That is,
if the alternative selected has Content-Criticality: IGNORE, then
the receiving system MUST NOT generate any delivery notifications
(MDN, NDN, return-receipt, etc.).
It is unlikely for a selected alternative to fail, as the receiving
UA presumably picks the alternative specifically because it can
render it.
Burger and Candell Expires 5/24/01 [Page 8]
Critical Content of Internet Mail November 2000
If the selected alternative is a message/rfc822 that encloses a
multipart MIME message or the selected alternative is itself a
multipart MIME type, the individual top-level body parts follow the
Content-Criticality mechanism described in this document.
7.2. multipart/related
Content-Criticality fits in rather well with the multipart/related
construction. For example, consider a multipart/related message
consisting of a Macintosh data fork and a Macintosh resource fork.
For a Microsoft Word document, the data fork is likely to be
critical. The receiving system can safely ignore the resource fork.
7.3. message/rfc822
Content-Criticality only affects the outermost level of the message
or, in the case of multipart/alternative, the outermost level of the
selected alternative. Specifically, the receiving system ignores
Content-Criticality indicators in embedded body parts. This avoids
the situation of a forwarded message triggering or suppressing
undesired or desired reporting.
8. Implementation Examples
This section is not a normative part of the definition of Content-
Criticality. However, we hope it helps implementers to understand
the mechanics of the Content-Criticality mechanism.
We will examine two cases. They are how a content gateway processes
a message and how a UA processes a message.
8.1. Content Gateways
Content gateways examine the contents of a message from a first
network before the gateway forwards the message to a second network.
For the purposes of this example, we assume the second network has
less capability than the first network. In particular, we expect
there will be certain message body types that the gateway cannot
pass onto the second network.
Consider a gateway between the Internet and a text-only short
message service. A message comes through the gateway containing a
text part and a tnef part. The sender marks the text part CRITICAL.
The gateway, knowing the capability of the short message service,
silently deletes the non-critical, tnef part, passing the critical
content to the shore message service network. Any subsequent
notifications, such as failure notices or delivery notices, follow
the normal rules for notification.
Note the gateway, by silently deleting non-critical content, may
affect proprietary message correlation schemes. One can envision
Burger and Candell Expires 5/24/01 [Page 9]
Critical Content of Internet Mail November 2000
the sending UA inserting a body part for tracking purposes. By
deleting non-critical content, the content gateway will break such a
scheme. If a sending UA understands how to mark critical content,
it should use Internet standard mechanisms for tracking messages,
such as Message-ID [11].
What if no body parts have critical content indicators? In this
case, the entire message is critical. Thus, when the gateway sees
the tnef part, it will reject the entire message, generating a DSN
with a status code 5.6.1, "Media not supported".
Likewise, consider a three part message with a text annotation (part
1) to a voice message (part 2) with a vCard [12] (part 3). The
sender marks the first two parts CRITICAL. Now, let us assume the
receiving MTA (gateway) is a voice mail only system, without even
the capability to store text. In this case, the gateway (receiving
MTA) will reject the message, generating a DSN with a status code
5.6.1, "Media not supported".
8.2. Non-Traditional UA
For this example, we will examine the processing of a three-part
message. The first part is a text annotation of the second part, an
audio message. The third part is the sender's vCard. The sender
marks the first and second parts CRITICAL. In addition, the sender
marks the message for read receipt.
For the purposes of example, the telephone user interface (TUI) does
not perform text-to-speech conversion. A TUI is a mail user agent
(UA) that uses DTMF touch-tone digits for input and audio for output
(display).
The TUI is unable to render the first part of the message, the text
part. In addition, it is unable to render the third part of the
message, the vCard part. Since the sender did not mark the third
part of the message CRITICAL, the system ignores the failure of the
TUI to render the third part of the message. However, since the
sender did mark the first part CRITICAL, and the TUI is unable to
render text, the message fails.
What happens next is implementation dependent. If the TUI is part
of a unified messaging system, a reasonable action is to hold the
message for the user. The user can access the message at a later
time from a terminal that can render all of the critical body parts.
It would be reasonable for the TUI to notify the user about the
message.
If the TUI is part of a voice messaging system, or if the user does
not subscribe to a text-to-speech service, a reasonable action is
for the TUI to return a MDN with the disposition "failed" and the
failure modifier "5.6.1 (Media not supported)".
Burger and Candell Expires 5/24/01 [Page 10]
Critical Content of Internet Mail November 2000
9. Security Considerations
Receiving systems and users should not place any authentication
value on the Content-Criticality entity. Just because a message has
a particular Content-Criticality value doesn't mean that the message
really originated at a given type of system.
10. Collected Syntax
The format of the collected syntax is in accordance with the ABNF of
[13]. Note that per RFC 2045, none of the strings are case
sensitive.
"Content-Criticality" ":" notification-type CRLF
notification-type = "CRITICAL" / "IGNORE"
11. References
1 Bradner, S., "The Internet Standards Process -- Revision 3", BCP
9, RFC 2026, October 1996.
2 Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
3 Freed, N. and Borenstein, N., "Multipurpose Internet Mail
Extensions (MIME) Part One: Format of Internet Message Bodies",
RFC 2045, Innosoft and First Virtual, November 1996.
4 Freed, N. and Borenstein, N., "Multipurpose Internet Mail
Extensions (MIME) Part Two: Media Types", RFC 2046, Innosoft and
First Virtual, November 1996.
5 Vaudreuil, G. and Parsons, G., "Voice Profile for Internet Mail -
version 2", RFC 2321, Lucent Technologies and Nortel Networks,
September 1998.
6 Burger, E., "Partial Non-Delivery Notification", Work in
Progress, draft-ema-burger-pndn-01.txt, March 2000.
7 Moore, K. and Vaudreuil, G., "An Extensible Message Format for
Delivery Status Notifications", RFC 1894, University of Tennessee
and Octel Network Services, January 1996.
Burger and Candell Expires 5/24/01 [Page 11]
Critical Content of Internet Mail November 2000
8 Fajman, R., "An Extensible Message Format for Message Disposition
Notifications", RFC 2298, National Institutes of Health, March
1998.
9 Moore, K., "SMTP Service Extension for Delivery Status
Notifications", RFC 1981, University of Tennessee, January 1996.
10 Vaudreuil, G., "Enhanced Mail System Status Codes", RFC 1893,
Octel Network Services, January 1996.
11 Crocker, D., "Standard for the Format of ARPA Internet Text
Messages", RFC 822, University of Delaware, August 1982.
12 Dawson, F. and Howes, T., "vCard MIME Directory Profile", RFC
2426, Lotus Development Corporation and Netscape Communications,
September 1998.
13 Crocker, D. and Overell, P.(Editors), "Augmented BNF for Syntax
Specifications: ABNF", RFC 2234, Internet Mail Consortium and
Demon Internet Ltd., November 1997.
12. Acknowledgments
We'd like to thank Ned Freed for pointing out that this mechanism
was about criticality, not notification per se. That insight made
the concept and descriptions infinitely more straightforward. If
it's still confusing, it's our fault!
We'd also like to thank Keith Moore for helping us tighten-up our
explanations.
Dropping the IMPORTANT critical content type took away one of the
reasons for partial non-delivery notification. That makes Jutta
Degener very happy!
Harald Alvestrand and Chris Newman suggested we add implementation
examples, which we did.
Burger and Candell Expires 5/24/01 [Page 12]
Critical Content of Internet Mail November 2000
13. Author's Addresses
Eric Burger
SnowShore Networks
c/o CRV
1000 Winter St.
Waltham, MA 02451
USA
Phone: +1 703/304-3883
Email: e.burger@ieee.org
Emily Candell
Comverse Network Systems
200 Quannapowitt Pkwy.
Wakefield, MA 01880
USA
Phone: +1 781/213-2324
Email: emily@comversens.com
Burger and Candell Expires 5/24/01 [Page 13]
Critical Content of Internet Mail November 2000
Full Copyright Statement
The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; neither does it represent that it
has made any effort to identify any such rights. Information on the
IETF's procedures with respect to rights in standards-track and
standards-related documentation can be found in BCP-11. Copies of
claims of rights made available for publication and any assurances
of licenses to be made available, or the result of an attempt made
to obtain a general license or permission for the use of such
proprietary rights by implementers or users of this specification
can be obtained from the IETF Secretariat.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to practice
this standard. Please address the information to the IETF Executive
Director.
Copyright (C) 2000 The Internet Society. All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph
are included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Burger and Candell Expires 5/24/01 [Page 14]
| PAFTECH AB 2003-2026 | 2026-04-24 01:57:50 |