<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.21 (Ruby 3.2.2) -->
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc inline="yes"?>
<?rfc strict="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-opsawg-pcap-05" category="info" tocInclude="true" sortRefs="false" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.27.0 -->
  <front>
    <title abbrev="pcap">PCAP Capture File Format</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-pcap-05"/>
    <author initials="G." surname="Harris" fullname="Guy Harris" role="editor">
      <organization/>
      <address>
        <email>gharris@sonic.net</email>
      </address>
    </author>
    <author initials="M." surname="Richardson" fullname="Michael C. Richardson">
      <organization abbrev="Sandelman">Sandelman Software Works Inc</organization>
      <address>
        <email>mcr+ietf@sandelman.ca</email>
        <uri>http://www.sandelman.ca/</uri>
      </address>
    </author>
    <date year="2025" month="March" day="03"/>
    <abstract>
      <?line 40?>

<t>This document describes the format used by the libpcap library to
record captured packets to a file.  Programs using the libpcap
library to read and write those files, and thus reading and writing
files in that format, include tcpdump.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-opsawg-pcap/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        opsawg Working Group mailing list (<eref target="mailto:opsawg@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/opsawg/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/opsawg/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/IETF-OPSAWG-WG/pcapng"/>.</t>
    </note>
  </front>
  <middle>
    <?line 47?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>In the late 1980's, Van Jacobson, Steve McCanne, and others at the
Network Research Group at Lawrence Berkeley National Laboratory
developed the tcpdump program to capture and dissect network traces.
The code to capture traffic, using low-level mechanisms in various
operating systems, and to read and write network traces to a file was
later put into a library named libpcap.</t>
      <t>This document describes the format used by tcpdump, and other
programs using libpcap, to read and write network traces.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.
<?line -6?>
      </t>
    </section>
    <section anchor="general-file-structure">
      <name>General File Structure</name>
      <t>A capture file begins with a File Header, followed by zero or more
Packet Records, one per packet.</t>
      <t>All fields in the File Header and in the headers of Packet Records will
always be written according to the characteristics (little-endian / big-
endian) of the machine that is writing the file.  This refers to all the
fields that are written as numbers and that span over two or more
octets.</t>
      <t>The approach of having the file written in the native format of the host
writing the file is more efficient because it avoids translation of data
when writing the file or reading the file on the host that wrote the
file, which is the most common case when generating or processing
capture captures.</t>
    </section>
    <section anchor="file-header">
      <name>File Header</name>
      <t>The File Header has the following format, with the octet offset of
fields shown to the left of the field:</t>
      <figure anchor="fig-header">
        <name>File Header</name>
        <artwork align="left"><![CDATA[
                           1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    0 |                          Magic Number                         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    4 |         Major Version         |         Minor Version         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    8 |                           Reserved1                           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   12 |                           Reserved2                           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   16 |                            SnapLen                            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   20 |               LinkType and additional information             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <t>The File Header length is 24 octets.</t>
      <t>The meaning of the fields in the File Header is:</t>
      <dl>
        <dt>Magic Number (32 bits):</dt>
        <dd>
          <t>an unsigned magic number, whose value is either the hexadecimal number
0xA1B2C3D4 or the hexadecimal number 0xA1B23C4D.</t>
        </dd>
        <dt/>
        <dd>
          <t>If the value is 0xA1B2C3D4, timestamps in Packet Records (see Figure
3) are in seconds and microseconds; if it is 0xA1B23C4D, timestamps in
Packet Records are in seconds and nanoseconds.</t>
        </dd>
        <dt/>
        <dd>
          <t>These numbers can be used to distinguish sessions that have been
written on little-endian machines from the ones written on big-endian
machines, and to heuristically identify pcap files.</t>
        </dd>
        <dt>Major Version (16 bits):</dt>
        <dd>
          <t>an unsigned integer, giving the number of the current major version of
the format.  The value for the current version of the format is 2
(big-endian 0x00 0x02 or little-endian 0x02 0x00).  This
value should change if the format changes in such a way that code that
reads the new format could not read the old format (i.e., code to read
both formats would have to check the version number and use different
code paths for the two formats) and code that reads the old format could
not read the new format.</t>
        </dd>
        <dt>Minor Version (16 bits):</dt>
        <dd>
          <t>an unsigned integer, giving the number of the current minor version of
the format.  The value for the current version of the format is 4
(big-endian 0x00 0x04 or little-endian 0x04 0x00).
This value should change if the format changes in such a way that code
that reads the new format could read the old format without checking the
version number but code that reads the old format could not read all
files in the new format.</t>
        </dd>
        <dt>Reserved1 (32 bits):</dt>
        <dd>
          <t>not used - SHOULD be filled with 0 by pcap file writers, and MUST be
ignored by pcap file readers.  This value was documented by some older
implementations as "gmt to local correction" or "time zone offset".
Some older pcap file writers stored non-zero values in this field.</t>
        </dd>
        <dt>Reserved2 (32 bits):</dt>
        <dd>
          <t>not used - SHOULD be filled with 0 by pcap file writers, and MUST be
ignored by pcap file readers.  This value was documented by some older
implementations as "accuracy of timestamps".  Some older pcap file
writers stored non-zero values in this field.</t>
        </dd>
        <dt>SnapLen (32 bits):</dt>
        <dd>
          <t>an unsigned integer indicating the maximum number of octets captured
from each packet.  The portion of each packet that exceeds this value
will not be stored in the file.  This value MUST NOT be zero; if no
limit was specified, the value SHOULD be a number greater than or equal
to the largest packet length in the file.</t>
        </dd>
        <dt>LinkType and additional information (32 bits):</dt>
        <dd>
          <t>an unsigned integer that contains the link-layer type of packets
in the file and may contain additional information.</t>
        </dd>
      </dl>
      <t>The LinkType and additional information field is in the form</t>
      <figure anchor="fig-linktype">
        <name>LinkType and additional information</name>
        <artwork align="left"><![CDATA[
                           1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |FCS len|R|P|     Reserved3     |        Link-layer type        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <t>The field is shown as if it were in the byte order of the host reading
or writing the file, with bit 0 being the most-significant bit of the
field and bit 31 being the least-significant bit of the field.</t>
      <dl>
        <dt>Link-layer type (16 bits):</dt>
        <dd>
          <t>an unsigned integer indicating link-layer type for packets in the file;
it is a value as defined in the PCAP LinkType list registry, as defined in <xref target="I-D.ietf-opsawg-pcaplinktype"/>.</t>
        </dd>
        <dt>Reserved3 (10 bits):</dt>
        <dd>
          <t>not used - MUST be set to zero by pcap writers, and MUST NOT be
interpreted by pcap readers; a reader SHOULD treat a non-zero value as
an error.</t>
        </dd>
        <dt>P (1 bit):</dt>
        <dd>
          <t>a bit that, if set, indicates that the Frame Check Sequence (FCS)
length value is present and, if not set, indicates that the FCS value is
not present.</t>
        </dd>
        <dt>R (1 bit):</dt>
        <dd>
          <t>not used - MUST be set to zero by pcap writers, and MUST NOT be
interpreted by pcap readers; a reader SHOULD treat a non-zero value as
an error.</t>
        </dd>
        <dt>FCS len (4 bits):</dt>
        <dd>
          <t>an unsigned integer indicating the number of 16-bit (2-octet) words
of FCS that are appended to each packet, if the P bit is set; if the P
bit is not set, and the FCS length is not indicated by the link-layer
type value, the FCS length is unknown.  The valid values of the FCS len
field are between 0 and 15; Ethernet, for example, would have an FCS
length value of 2, corresponding to a 4-octet FCS.</t>
        </dd>
      </dl>
    </section>
    <section anchor="packet-record">
      <name>Packet Record</name>
      <t>A Packet Record is the standard container for storing the packets
coming from the network.</t>
      <figure anchor="fig-record">
        <name>Packet Record</name>
        <artwork align="left"><![CDATA[
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    0 |                      Timestamp (Seconds)                      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    4 |            Timestamp (Microseconds or nanoseconds)            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    8 |                    Captured Packet Length                     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   12 |                    Original Packet Length                     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   16 /                                                               /
      /                          Packet Data                          /
      /                  variable length, not padded                  /
      /                                                               /
]]></artwork>
      </figure>
      <t>The Packet Record begins with a 16-octet header, followed by data from
the packet.</t>
      <t>The meaning of the fields in the Packet Record is:</t>
      <dl>
        <dt>Timestamp (Seconds) and Timestamp (Microseconds or nanoseconds):</dt>
        <dd>
          <t>seconds and fraction of a seconds values of a timestamp.</t>
        </dd>
        <dt/>
        <dd>
          <t>The seconds value is a 32-bit unsigned integer that represents the
number of seconds that have elapsed since 1970-01-01 00:00:00 UTC, and
the microseconds or nanoseconds value is a 32-bit unsigned integer that
represents the number of microseconds or nanoseconds that have elapsed
since that seconds.</t>
        </dd>
        <dt/>
        <dd>
          <t>The Magic Number field in the File Header of a file indicates
whether the values of the Timestamp (Microseconds or nanoseconds) fields
of packets in that file are in units of microseconds or nanoseconds.</t>
        </dd>
        <dt>Captured Packet Length (32 bits):</dt>
        <dd>
          <t>an unsigned integer that indicates the number of octets captured from
the packet (i.e., the length of the Packet Data field).  It will be the
minimum value among the Original Packet Length and the snapshot length
for the interface (SnapLen, defined in Figure 1).</t>
        </dd>
        <dt>Original Packet Length (32 bits):</dt>
        <dd>
          <t>an unsigned integer that indicates the number of octets of packet data
that would have been provided had the packet not been truncated to the
snapshot length for the interface or to a length limit imposed by the
capture mechanism. If no truncation was done, it will be the same as
the Captured Packet Length, but it will be different from the Captured
Packet Length if the packet has been truncated by the capture process.
It SHOULD NOT be less than the Captured Packet Length.</t>
        </dd>
        <dt/>
        <dd>
          <t>A pcap file writer MAY write an Original Packet Length that is less
than the Captured Packet Length if both the Captured Packet Length and
the Original Packet length came from a file in which a packet had an
Original Packet Length less than the Captured Packet Length; otherwise,
it MUST write an Original Packet Length that is greater than or equal to
the Captured Packet Length.</t>
        </dd>
        <dt/>
        <dd>
          <t>A pcap file reader MAY convert an Original Packet Length that is less
than the Captured Packet Length to a value that is greater than or equal
to the Captured Packet Length.</t>
        </dd>
        <dt>Packet Data:</dt>
        <dd>
          <t>the data coming from the network, including link-layer headers. The
actual length of this field is the Captured Packet Length. The format
of the link-layer headers depends on the LinkType field specified in the
file header (see Figure 1) and it is specified in
<xref target="I-D.ietf-opsawg-pcaplinktype"/>.</t>
        </dd>
      </dl>
      <t>Packet Records are not padded to a 4-octet boundary; if the number of
octets of packet data is not a multiple of 4, there are no padding
octets following it, so Packet Records are not guaranteed to begin on a
4-octet boundary within a file.</t>
    </section>
    <section anchor="recommended-file-name-extension-pcap">
      <name>Recommended File Name Extension: .pcap</name>
      <t>The recommended file name extension for the "PCAP Capture File Format"
specified in this document is ".pcap".</t>
      <t>On Windows and macOS, files are distinguished by an extension to their
filename. Such an extension is technically not actually required, as
applications should be able to automatically detect the pcap file format
through the Magic Number field in the File Header, as some desktop
environments other than those of Windows and macOS do. However, using
name extensions makes it easier to work with files (e.g. visually
distinguish file formats) so it is recommended - though not required -
to use .pcap as the name extension for files following this
specification.</t>
      <t>Please note: To avoid confusion (such as the current usage of .cap for a
plethora of different capture file formats) file name extensions other
than .pcap should be avoided.</t>
      <t>There is new work to create the PCAP Next Generation capture File Format
(see <xref target="I-D.ietf-opsawg-pcapng"/>).  The new file format is not
compatible with this specification, but many programs read both
transparently.  Files of that type will start with a Section
Header Block, the first four octets of which are 0x0A 0x0D 0x0D 0x0A,
which does not match any of the Magic Number values in a pcap File
Header, allowing code that reads both file formats to determine the
format of a file.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>A pcap file reader MUST do invalid header and packet checks.
It can receive as input not only valid headers or packets, but any arbitrary
random sequence of octets:
Headers or packets originally malformed by the sender or by a fuzz tester,
corrupted in transit or for some other reason.</t>
      <t>See also:
https://www.iana.org/assignments/media-types/application/vnd.tcpdump.pcap</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requires the following IANA actions:</t>
      <section anchor="media-type-registry">
        <name>Media-Type Registry</name>
        <t>This section registers the 'application/pcap' in the "Media Types"
registry.  These media types are used to indicate that the content is
packet capture as described in this document.</t>
        <section anchor="applicationpcap">
          <name>application/pcap</name>
          <artwork><![CDATA[
    Type name:  application
    Subtype name:  pcap
    Required parameters:  none
    Optional parameters:  none
    Encoding considerations:  PCAP files contain network packets
    Security considerations:  See Security Considerations, Section
    Interoperability considerations:  The format is designed to be broadly interoperable.
    Published specification:  THIS RFC.
    Applications that use this media type: tcpdump, wireshark, others.
    Additional information:
      Magic number(s): 0xA1B2C3D4, and 0xA1B23C4D in both endian orders
      File extension(s):  .pcap
      Macintosh file type code(s):  none
    Person & email address to contact for further information: The Tcpdump Group, www.tcpdump.org
    Intended usage:  LIMITED
    Restrictions on usage:  NONE
    Author:  Guy Harris and Michael Richardson
    Change controller:  The Tcpdump Group
    Provisional registration? (standards tree only):  NO
]]></artwork>
        </section>
      </section>
    </section>
    <section anchor="contributors">
      <name>Contributors</name>
      <t>Insert pcap developers etc. here</t>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors wish to thank (many reviewers) and many others for
their invaluable comments.</t>
      <!--
COMMENTS.
1) if editing with emacs, please use markdown-mode
2) with gin (auto-wrap) *TURNED OFF*,
3) and visual-line-mode *ON*
4) start each sentence on a new line, and mostly keep it on one line.

INSERT GVIM settings.
-->

</section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.ietf-opsawg-pcaplinktype">
          <front>
            <title>Link-Layer Types for PCAP and PCAPNG Capture File Formats</title>
            <author fullname="Guy Harris" initials="G." surname="Harris">
         </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works Inc</organization>
            </author>
            <date day="22" month="November" year="2024"/>
            <abstract>
              <t>   This document creates an IANA registry for the PCAP and PCAPNG
   LINKTYPE values.  The PCAP and PCAPNG formats are used to save
   network captures from programs such as tcpdump and wireshark, when
   using libraries such as libpcap.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-pcaplinktype-08"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-opsawg-pcapng">
          <front>
            <title>PCAP Next Generation (pcapng) Capture File Format</title>
            <author fullname="Michael Tüxen" initials="M." surname="Tüxen">
              <organization>Muenster University of Applied Sciences</organization>
            </author>
            <author fullname="Fulvio Risso" initials="F." surname="Risso">
              <organization>Politecnico di Torino</organization>
            </author>
            <author fullname="Jasper Bongertz" initials="J." surname="Bongertz">
              <organization>Airbus Defence and Space CyberSecurity</organization>
            </author>
            <author fullname="Gerald Combs" initials="G." surname="Combs">
              <organization>Wireshark Foundation</organization>
            </author>
            <author fullname="Guy Harris" initials="G." surname="Harris">
         </author>
            <author fullname="Eelco Chaudron" initials="E." surname="Chaudron">
              <organization>Red Hat</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="4" month="August" year="2024"/>
            <abstract>
              <t>   This document describes a format to record captured packets to a
   file.  This format is extensible; Wireshark can currently read and
   write it, and libpcap can currently read some pcapng files.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-pcapng-02"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA91b63IbN5b+j6fAyFVrKUNSFytOQs9MosiyrSnrsqKS1Pza
ArtBEqtudC/QLZpxPM+yz7JPtucC9IUibWXG3tpd2SWR3eiDg3MOvnNDD4dD
4Stl039TWWH1WFau1sKUjj756ujg4LuDI5EWiVU53E6dmlVDo6vZsCi9Ws6H
ZaLK4cHXIlHVWBo7K0RpxkJKv8qdnvmxfLrS/ilcqIqk/ZIUeamSqr3g62l7
zRZ4ydjMIEvNkMJVgSQP8JUzLY3KVBmMvj49uZanqqxqp+Urk8GvwuWqEmo6
dfp+LJFhoepqUbixGEpX4FM6NVXhaFKg/3ok3yjnjIcLvO7X9aq9VLg5TIoc
6FyZbCznC7r1gy+sSUZWV0CXCF2M5I1J4G4KtxpiF3hJZ/J07S7RnYAydJYr
KyfFrFoqWMUvhbvz8twmMCauohnWcpEn7o+omR98vDdKFNyunRnLRVWV4/39
5XI56t7eF+Je21qjxuauqMuxZL3Cd6bKX39AwiNgEMeZalFPx/L87PbV8Op6
cvLL6+Evr/dRrnYuhCVxm3uieT58OVq3FtDqXbUq4b5Ae/nEaDuHccPhEFYO
+gb7EOJ2YbwEk6xzbSuZap84M9VeVgstmZ6svU7ldEWXMjNFQvjXKQfXCuF0
UrhUJmwmqQS7u9MVUCikkjMwmpGU166YO5V7oGXsvEtJtJSk0yqVIFC5dKbS
MKrwmij4AV0GUXkahDTiOPgsaAxYCYwAfpntAXxPsjoFOkmZ1nk54qXnJk0z
LcQTMILKFWmdVAYsRpxbZkvBzIfffXvwFCb9GSznryoppmBTAzmp9L2WF8mp
slYzRwU84ryESeGDuNTVEsxL3mivlUsW8jVaAd59q5ZO20TLH7W705leyUuF
06oMbk0Lp2DDrEQK9LOi1ClxEtiWJcsOBRRkTFOnxnudVNKGSVGf2o9AoRoQ
AZfdjod7s5lJBkH8WbEcZjiXzDVsGWt8TtK7V84UtRfAAnCEI/3KVzqP4n+g
of7crcblUnmBknSyrCsgTXeipnHjplH/o99ngiyTjvBF2TetQHbwSW5HaAK3
2uXGFlkxXwmS3B2oBgalXu5c/DS53RnwX3l5RZ9vzv71p/Obs5f4efLm5O3b
5oMIIyZvrn56+7L91D55enVxcXb5kh+Gq7J3SexcnPxthxe2c3V9e351efJ2
h226Kx7EMFjaVKNUtSudrkA0IO4otxSf+fH0+r/+8/BYvn//h5tXp0eHh999
+BC+fHv4zTF8WS60DWK02Sp8BYGuhCpLsF6korIMTchUKkMT8NIviqWVIHU9
En/6Hj2KHD7//i8CRflaW7CajN3EBBxegqYnxEljhWQZUz0HNJdLwD0wCRr8
BtSk3QB0nYFlsqJ/1a4ADJd5ATSuCVFgWyHQACfgXGWJtkXXQZEnwOjM6CwN
IKC7hGmR4fKCrnhZzGSfKDCUZUJlS7XyKFy0mEqDCBK8TZhVEAV0MQCcGlxU
ZRIvdzMYmOmhtqkBtNiXUzMfCv62h/PgQ7lKFigsgifQZsAttnBGSNoE4JGR
O9wtsCKElLAqehBV3/Dlpa3zKYEPISPc9yUwUNzDisHOG+EVwGzlR2zeoFtX
ADPI2ELdd3loSAdRWfIkcQOGhQAiV2Kde1wRTiU1goxBK53qRMGelQa4vi8M
rsAp6zMCPSSWqkoJNLoHskDGI8a312wzPa916QryEJqwfwD2C84fGSFx4zCI
gHJ4LFHABk00JwOluWAKkAOAAEKGiPYZ/jIydAyIRde1qIWK6IQWixSjzyG7
xlskdljpzNOfqEjeQcGWMj1rJEv3wTv/HX7Ae2/9Odxw7WjDtWeRyAE8ciSf
yWP5tXwuv5Hfyu9+z7VA5o/Df/KfYF5+276yCzU3ibwkq9466LfPys9xh58L
9e9gFj/DjkITbeZr74Of2HD/s/Lz7cfkQ2GFu9fpJhP4IvwcHj2Kn03m92X4
ef5RfuTEqvKtth8b8ln5OXpoz28hHr+FeJxQWaWQCXGU1wTnhf1C/BBwvB/L
JzNwQOznJKVxf37aga6n4FnM3P55B7Fn58NDaMu0nVeEpEfHsuc7cg2RIoJn
B7A2+lvjAcd6u3n32RH4xcrvjcUYJCNr64EJ8PQ5jWJPhiCOAf+9ymryKdpg
gBf89jsgnZgcRMmjxcG7k8Mfj06fvTxGON88SPKgZ6fHL0cw8zlz3kzQkoDQ
x+Qakve8pCWtBQe7XuMS5xjQPNsjRwyDIPwubMoOODeJK8KFF9LM0PM1M+D8
azOsxTSbSFplI0VkHlQAwolOPwEpQphCcTF4kxSjETuvjV8ADY8QFYIG8PIY
dGkron8HC+zHLCE68XLmipydF37rjMeYhgeLOLhJCRa65lgIQpaVNCm4fzNb
UWWAc7cRGkMXW3dhH2+0Boxo52gIc9OEJkGRweiS2jmML3IieB8IgnttcwWK
paKSZ8E04nPtE93sAo1d7LaLBLUdHOCvIzStvrDoKt7fC0Gb4JnAsddZiuGh
nWs0gA59vkiG5esE414IM1k9nKnBJ4ExD0cVVi+bJ4moLSrOZUg3cCHc3TUj
PRo02R4OEVPIisJ9UCE9TiaA2eBCJ3e8A4IYgnBRkxitpWYG8SfISRDJUlUL
34gQY8pAd4+eaFiXLesd5oh10WO9XRjaRM+ffg6bIIKf0SaON9rE8UabOA42
wcnsP20SYk2uD0xikzlg7FnUFes5yEqsqXpaV49SXGtzsK279ZU1LbYxSQ/j
8WnCpqEMafCUIvkMLlGIfIBJXoMRnKC7ACqUcE+1AAMoHKeD7UjHGVzMmFjS
S9VmyPyAL3JaFDgKk5eZxjvkfT2mTjvzvMIdkRWAWrBgMASqAu2gbncQqOWv
mGRy+L4zEpOG3EOmpa+ITVvYIaWtxJNvUndylB1RHf3fEhVkwDVkvCvaH40L
2wGqm4QifqdQYsi2NUII+x/+puBimkwxV+9MXucdKOBYpSlDCnJmGnPdUCZg
DCgLF3PQzk3eDvpdojVtiCgugWUBUhEoJSwpbINu3s6ijYUiHItrpjjAFiIz
OUQDKHhfQngCS08HnUCk1bqKy5mD6ioKfTCjd1L/R60yEbNG5QA5qsh5DNg6
XAnxmDD0kyIPaATWYKwPNVt7N8zUCm8idRBiqPaKzvwcEAGchWe3MBDCysew
StaCkBxngTv/z1NlSA1enU5Qu7/d/HbNaUZEkGd8v5tzdLXyZVOL2HGIycUj
9Lcx6Wh0yiUR2B0cNS81h8Ko5+mqwnpQ2jp7qgCF8pCAnbFePQoVGLBrxE3d
wAU8NkTzht0HoXNFA5gkV2aIe7z47LDzWKbV1ucaCFsX/6dCmS6UrW8ojE1i
/6Szo14ITidUgAzEcD0ztkUj6tQ1qsgMSWkOf9xqsDb8/fuPNZI+fOi4qmew
mIONrio4HonVLcAlgvjofB56KAZF0a1Yx8HBSb2AtfHHiIcVYiBCYs+DYKUb
ZKqdKxwweg0MIn8sa9IOotYAbQlYG0RZ65ANUarqFPitUwqGJ4Cs1JfZhc22
JwKWNgki8Oqp6G7TAYN5tZ0s7Nb4IIW94WEUZ5fL/31CDDgjd49/lwtuXe/h
8yFKfvdoSE54jzsoAu4g6aZ2jY0Fm3LC2vG9gxgaX5P+EBF09aK5KMLFRvZc
72aBt9UKvB210ulWxu0laHvR6gcbnq7tnQUUavMEk8aIJez2MD6ihcOkulpC
Xg04gxwdfv1CnmG9wiKPuI/1O4Xh1KCbhYFYgVDfzmCCowEHob6EbD80G5Q8
ZnHiE1SS7pUMsLHSuxCL33QCQWFDlr0vqAi5weAlai767KTIqXYd0/7QIBv1
XOvncWdbK7+3MaSUuxMuduxtHvjlKr99Li46lRyMvTplmL0vx8+Wyu9pbKoH
Vb9lw/ni8tlW+b1yZm7Qu/9P8/Nc7m+c5fE/+4Gfj9AJi3qpKvUP0cH+uZpm
OgDLgECphJgIFPiP8POon/1+eBZOY4TgrIcQG8OwPob0u7OA64xAiw0dWuzg
EXSIFlIeUyleB60xPLMBAxBTH7kr0V91C6czbNCGHE81d1o4V20eGwqr/UEc
aT07Iqe2OStyOnh3wlzRusJIqK296kyV6O69wTjj8LtvDoYHh/BfHhyM6b/8
6faUvBoJMt++0MdyJ/rcdRz1x4g/4Fgwx9xa7tWh+626EMg/7AOQqLlBHMMl
bPk2Rf2+g30sBLM1iTb1bM/9UO7J2UNtIZL5xJLBWrfg6+NS424QqLdXItY3
SSzbcoJB8wURdPGHlok15vOKziZgnIimBh6bCh8hkMuL4NO3IHMMlrwFnS6K
WC4QsQhK0eRMYQQcSjGDbq7APQ95uAey2jLDZ5FVo00+GMAt/jZswv4Fduzv
DULpIpQ+wxNcnYEBlasth39cKRFri5YPF40X6GgSD+BKjcnLoj3y1hwPaM5K
jbCRZIs4HyINV9XwVJjpqUt6zDUg3MbPm41tQDXZzmNNFb4NzOKToi/6ECIH
OeChhDU5hDA4riCceRgJsKn2dBLOmcFlrjZtZxQ3/8mDQqS8OPlbOF8FT2+x
kXjuBacRn5gGV0VNjI8MiWC5Pl1QY4JCJ+E1+BMOiKhWWJjyb7Ppx4jjBZ8/
WxqvB5ieU472WEFsLPDhYcrHiz8keih+QLN77arPpQDaEYwvH+U3FiS38Ss6
eIbggGMpatiSd8QTm2uFkUUsY4PnEeDZUVJd3IzV5JgAbWGHHBeXpETA24eT
APZhjurjgaOmosIzNPXb4O6oMRKe7TaJATD51Bmns52nxCOqLxtaw51Aspca
Tosak71Vky43yCo2ImvMlJXM66wyZUbp5zE5I6fDVDQT1deYRHvKyUBq64v1
7nhkcF4rpwBamUkKJVGOSqxzS/El1oVjufoJ0cpzLg9QDHGJe/jsXaUttq/G
ckSHhSm8dJ2xpAA8UArpdhjbwPzOtuPrO2JNkd0DlvB5hybbQZ9n5S/guopl
6PKr5Goy4LY2LbvTd2e4xbJKwwjvD+PITJDJkZxQs687CK0WPIsNDXTSDhk5
fHGwz4zDdgFWbEowkyR0ZkJvEZsGmHCgUdRVgeVWJpPqCg8Hk3toICNYf7Vw
RT1ngH1UJMdnP7Hbk2p/VxWl0PbeuMLmFGMWIaIjVMETHGBSD6QGAh7JN5A8
3CM9Oqsr+nrzMPAOW0SV1MobTa6ZDuxSOsJC39Wj+UjeG08CEt1zD50lQpgI
Zsq7r2stQ2QQl87dTRauHCKQYf+b1C7D2b4NRsUstNsBDSeaUhJ7GtdYNKYN
oSFYLvj8I0L0rOZON/d7fa8HXXs1J7mNSFkwlxKwOfG9CkXHJZuYoHeYtlnt
hm0Q9MJozyvrGA0ypVPO1xzlFNjW5ePRhUwI7tvC8iVQDQd8KdxJNrwSQvC3
Gd3s/MOHvVBbo+5xy3sAJEHvq1QGbTkcoWyBk0XLcVKu7Eo2R76pQY3BgqDj
paVCEWUrmOoVqYpwHuuzCOEUX0GG4aqY30646ytCvvJjViR3g5CyOo8vEtSu
E6GGEALWffDu4AR/vWx+nQwE304LzRALi6OtvorRfW+rte1QxRsUGRbNdosW
tt6q59MdHdXT4R/Y63iMPZyHbQ7sduAVl1pDbLKSp2AZoHpWpMcq4sOQAiOZ
FPaP5ULooj1GHVwJnTDgOBIPIsEW03hWGHs4Fg/84/rpWHmXAKVfIWdjZaJw
lIPkAV8LEKDBFAICH0vyTXYwDnLpEoCPHOjAJLnKcNFtvOtxtzscjYgsZ/Wv
vwLGepDSQGCdtS6rgPxoNdjRCTVSamgTmoEoPG3nCVi1ynwxFvjWjw+v/Rhl
Fb7Bs688ZjuEg/vAgVFDtDW/3wHr/XubjuI7KOzFQCHnJ5cnD5TRfxMiANT6
UWN6kiscWDx58kRe0MQUp9yEpk+g5dnCQy+IzpYDradd7pCjpxH0d4iURFJ+
R8QOEm9djykQ3qUV0j6Ix89idtd2Q7D4zN5URJuJ76542XtVoed90VhhQev8
dQrStEp+9as7jO5N6mnVuU1P4vWbiPQAEHAL5QC3LeRrdPuqDC3LzbfPLOxC
3oxdbcEQwkZ2CrHVHd8xiSV2YivuvQcE0Li27MxBg05I4hwzVnotZ2qyjaTa
6BYhFSTMSTi/KjJ1hUrxdF5LBoEBKV/X04yjlx7aIsU35xN58+qUx510ow9S
M3pMUl5rFeP2BZ0lWu5CYVTPL0kFMhsbxONQC73oHAfd9Xvj3glNxJ/2PCWa
DqFhOINFXWIf6JBfajwhUQoBZJwnwXeSYtBARoNQyyMbzV8DRdg8/8IvBWJz
21FiWLC6k4qjgtoRZHTXQ+q4DS9w0VtgIBHAjQgD/PIf65UiEwoAYO635xfn
t2cvg9nyS5nszG0z5vLq8oyFyS9eys4bldwuDO9E9l6IlPKUD6Ih7w7QRLtg
Nj0+eeFYavGspgACtK7vIXoJ7SV8o0NrQvk94om3KELbKU5gAOALUIg4tx5z
U/Iy8QU3wCFdJSN6k4geOUmw/5bpdE5QGl5WoeVhNdovOJZW9k7uUgjg9L3R
SyC0F0JM9LNkZ6gTQWE3O7CaAmSOAeks85/+MBwKfvPqdjISkKpB7oTvrOIe
p8gA1J3ABiw5kkM7z8GQIZ61wxwP5x3t8ThMcHYx7h4unSr35Fe3P91cnr2U
V69efTWgg8LAGseqeGxC09Pyq6vLr8TxXghFqBGKtVr2eRgPYIiEw9nk8egC
bN07rUuMaLGsbSl1Rc9+fjk5u7mVr38+v8DmKC4Bljgc/kX8NwVOMs6NPAAA

-->

</rfc>
