1/*
2 * COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
3 *
4 * If you modify libpng you may insert additional notices immediately following
5 * this sentence.
6 *
7 * This code is released under the libpng license.
8 *
9 * libpng versions 1.2.6, August 15, 2004, through 1.6.16, December 22, 2014, are
10 * Copyright (c) 2004, 2006-2014 Glenn Randers-Pehrson, and are
11 * distributed according to the same disclaimer and license as libpng-1.2.5
12 * with the following individual added to the list of Contributing Authors:
13 *
14 *    Cosmin Truta
15 *
16 * libpng versions 1.0.7, July 1, 2000, through 1.2.5, October 3, 2002, are
17 * Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
18 * distributed according to the same disclaimer and license as libpng-1.0.6
19 * with the following individuals added to the list of Contributing Authors:
20 *
21 *    Simon-Pierre Cadieux
22 *    Eric S. Raymond
23 *    Gilles Vollant
24 *
25 * and with the following additions to the disclaimer:
26 *
27 *    There is no warranty against interference with your enjoyment of the
28 *    library or against infringement.  There is no warranty that our
29 *    efforts or the library will fulfill any of your particular purposes
30 *    or needs.  This library is provided with all faults, and the entire
31 *    risk of satisfactory quality, performance, accuracy, and effort is with
32 *    the user.
33 *
34 * libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
35 * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson, and are
36 * distributed according to the same disclaimer and license as libpng-0.96,
37 * with the following individuals added to the list of Contributing Authors:
38 *
39 *    Tom Lane
40 *    Glenn Randers-Pehrson
41 *    Willem van Schaik
42 *
43 * libpng versions 0.89, June 1996, through 0.96, May 1997, are
44 * Copyright (c) 1996, 1997 Andreas Dilger
45 * Distributed according to the same disclaimer and license as libpng-0.88,
46 * with the following individuals added to the list of Contributing Authors:
47 *
48 *    John Bowler
49 *    Kevin Bracey
50 *    Sam Bushell
51 *    Magnus Holmgren
52 *    Greg Roelofs
53 *    Tom Tanner
54 *
55 * libpng versions 0.5, May 1995, through 0.88, January 1996, are
56 * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
57 *
58 * For the purposes of this copyright and license, "Contributing Authors"
59 * is defined as the following set of individuals:
60 *
61 *    Andreas Dilger
62 *    Dave Martindale
63 *    Guy Eric Schalnat
64 *    Paul Schmidt
65 *    Tim Wegner
66 *
67 * The PNG Reference Library is supplied "AS IS".  The Contributing Authors
68 * and Group 42, Inc. disclaim all warranties, expressed or implied,
69 * including, without limitation, the warranties of merchantability and of
70 * fitness for any purpose.  The Contributing Authors and Group 42, Inc.
71 * assume no liability for direct, indirect, incidental, special, exemplary,
72 * or consequential damages, which may result from the use of the PNG
73 * Reference Library, even if advised of the possibility of such damage.
74 *
75 * Permission is hereby granted to use, copy, modify, and distribute this
76 * source code, or portions hereof, for any purpose, without fee, subject
77 * to the following restrictions:
78 *
79 *   1. The origin of this source code must not be misrepresented.
80 *
81 *   2. Altered versions must be plainly marked as such and must not
82 *      be misrepresented as being the original source.
83 *
84 *   3. This Copyright notice may not be removed or altered from
85 *      any source or altered source distribution.
86 *
87 * The Contributing Authors and Group 42, Inc. specifically permit, without
88 * fee, and encourage the use of this source code as a component to
89 * supporting the PNG file format in commercial products.  If you use this
90 * source code in a product, acknowledgment is not required but would be
91 * appreciated.
92 */
93
94/*
95 * A "png_get_copyright" function is available, for convenient use in "about"
96 * boxes and the like:
97 *
98 *     printf("%s", png_get_copyright(NULL));
99 *
100 * Also, the PNG logo (in PNG format, of course) is supplied in the
101 * files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31).
102 */
103
104/*
105 * Libpng is OSI Certified Open Source Software.  OSI Certified is a
106 * certification mark of the Open Source Initiative.
107 */
108
109/*
110 * The contributing authors would like to thank all those who helped
111 * with testing, bug fixes, and patience.  This wouldn't have been
112 * possible without all of you.
113 *
114 * Thanks to Frank J. T. Wojcik for helping with the documentation.
115 */
116
117/*
118 * Y2K compliance in libpng:
119 * =========================
120 *
121 *    December 22, 2014
122 *
123 *    Since the PNG Development group is an ad-hoc body, we can't make
124 *    an official declaration.
125 *
126 *    This is your unofficial assurance that libpng from version 0.71 and
127 *    upward through 1.6.16 are Y2K compliant.  It is my belief that
128 *    earlier versions were also Y2K compliant.
129 *
130 *    Libpng only has two year fields.  One is a 2-byte unsigned integer
131 *    that will hold years up to 65535.  The other, which is deprecated,
132 *    holds the date in text format, and will hold years up to 9999.
133 *
134 *    The integer is
135 *        "png_uint_16 year" in png_time_struct.
136 *
137 *    The string is
138 *        "char time_buffer[29]" in png_struct.  This is no longer used
139 *    in libpng-1.6.x and will be removed from libpng-1.7.0.
140 *
141 *    There are seven time-related functions:
142 *        png.c: png_convert_to_rfc_1123_buffer() in png.c
143 *          (formerly png_convert_to_rfc_1123() prior to libpng-1.5.x and
144 *          png_convert_to_rfc_1152() in error prior to libpng-0.98)
145 *        png_convert_from_struct_tm() in pngwrite.c, called in pngwrite.c
146 *        png_convert_from_time_t() in pngwrite.c
147 *        png_get_tIME() in pngget.c
148 *        png_handle_tIME() in pngrutil.c, called in pngread.c
149 *        png_set_tIME() in pngset.c
150 *        png_write_tIME() in pngwutil.c, called in pngwrite.c
151 *
152 *    All handle dates properly in a Y2K environment.  The
153 *    png_convert_from_time_t() function calls gmtime() to convert from system
154 *    clock time, which returns (year - 1900), which we properly convert to
155 *    the full 4-digit year.  There is a possibility that libpng applications
156 *    are not passing 4-digit years into the png_convert_to_rfc_1123_buffer()
157 *    function, or that they are incorrectly passing only a 2-digit year
158 *    instead of "year - 1900" into the png_convert_from_struct_tm() function,
159 *    but this is not under our control.  The libpng documentation has always
160 *    stated that it works with 4-digit years, and the APIs have been
161 *    documented as such.
162 *
163 *    The tIME chunk itself is also Y2K compliant.  It uses a 2-byte unsigned
164 *    integer to hold the year, and can hold years as large as 65535.
165 *
166 *    zlib, upon which libpng depends, is also Y2K compliant.  It contains
167 *    no date-related code.
168 *
169 *       Glenn Randers-Pehrson
170 *       libpng maintainer
171 *       PNG Development Group
172 */
173