1*9c5db199SXin Li GNU LESSER GENERAL PUBLIC LICENSE 2*9c5db199SXin Li Version 3, 29 June 2007 3*9c5db199SXin Li 4*9c5db199SXin Li Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> 5*9c5db199SXin Li Everyone is permitted to copy and distribute verbatim copies 6*9c5db199SXin Li of this license document, but changing it is not allowed. 7*9c5db199SXin Li 8*9c5db199SXin Li 9*9c5db199SXin Li This version of the GNU Lesser General Public License incorporates 10*9c5db199SXin Lithe terms and conditions of version 3 of the GNU General Public 11*9c5db199SXin LiLicense, supplemented by the additional permissions listed below. 12*9c5db199SXin Li 13*9c5db199SXin Li 0. Additional Definitions. 14*9c5db199SXin Li 15*9c5db199SXin Li As used herein, "this License" refers to version 3 of the GNU Lesser 16*9c5db199SXin LiGeneral Public License, and the "GNU GPL" refers to version 3 of the GNU 17*9c5db199SXin LiGeneral Public License. 18*9c5db199SXin Li 19*9c5db199SXin Li "The Library" refers to a covered work governed by this License, 20*9c5db199SXin Liother than an Application or a Combined Work as defined below. 21*9c5db199SXin Li 22*9c5db199SXin Li An "Application" is any work that makes use of an interface provided 23*9c5db199SXin Liby the Library, but which is not otherwise based on the Library. 24*9c5db199SXin LiDefining a subclass of a class defined by the Library is deemed a mode 25*9c5db199SXin Liof using an interface provided by the Library. 26*9c5db199SXin Li 27*9c5db199SXin Li A "Combined Work" is a work produced by combining or linking an 28*9c5db199SXin LiApplication with the Library. The particular version of the Library 29*9c5db199SXin Liwith which the Combined Work was made is also called the "Linked 30*9c5db199SXin LiVersion". 31*9c5db199SXin Li 32*9c5db199SXin Li The "Minimal Corresponding Source" for a Combined Work means the 33*9c5db199SXin LiCorresponding Source for the Combined Work, excluding any source code 34*9c5db199SXin Lifor portions of the Combined Work that, considered in isolation, are 35*9c5db199SXin Libased on the Application, and not on the Linked Version. 36*9c5db199SXin Li 37*9c5db199SXin Li The "Corresponding Application Code" for a Combined Work means the 38*9c5db199SXin Liobject code and/or source code for the Application, including any data 39*9c5db199SXin Liand utility programs needed for reproducing the Combined Work from the 40*9c5db199SXin LiApplication, but excluding the System Libraries of the Combined Work. 41*9c5db199SXin Li 42*9c5db199SXin Li 1. Exception to Section 3 of the GNU GPL. 43*9c5db199SXin Li 44*9c5db199SXin Li You may convey a covered work under sections 3 and 4 of this License 45*9c5db199SXin Liwithout being bound by section 3 of the GNU GPL. 46*9c5db199SXin Li 47*9c5db199SXin Li 2. Conveying Modified Versions. 48*9c5db199SXin Li 49*9c5db199SXin Li If you modify a copy of the Library, and, in your modifications, a 50*9c5db199SXin Lifacility refers to a function or data to be supplied by an Application 51*9c5db199SXin Lithat uses the facility (other than as an argument passed when the 52*9c5db199SXin Lifacility is invoked), then you may convey a copy of the modified 53*9c5db199SXin Liversion: 54*9c5db199SXin Li 55*9c5db199SXin Li a) under this License, provided that you make a good faith effort to 56*9c5db199SXin Li ensure that, in the event an Application does not supply the 57*9c5db199SXin Li function or data, the facility still operates, and performs 58*9c5db199SXin Li whatever part of its purpose remains meaningful, or 59*9c5db199SXin Li 60*9c5db199SXin Li b) under the GNU GPL, with none of the additional permissions of 61*9c5db199SXin Li this License applicable to that copy. 62*9c5db199SXin Li 63*9c5db199SXin Li 3. Object Code Incorporating Material from Library Header Files. 64*9c5db199SXin Li 65*9c5db199SXin Li The object code form of an Application may incorporate material from 66*9c5db199SXin Lia header file that is part of the Library. You may convey such object 67*9c5db199SXin Licode under terms of your choice, provided that, if the incorporated 68*9c5db199SXin Limaterial is not limited to numerical parameters, data structure 69*9c5db199SXin Lilayouts and accessors, or small macros, inline functions and templates 70*9c5db199SXin Li(ten or fewer lines in length), you do both of the following: 71*9c5db199SXin Li 72*9c5db199SXin Li a) Give prominent notice with each copy of the object code that the 73*9c5db199SXin Li Library is used in it and that the Library and its use are 74*9c5db199SXin Li covered by this License. 75*9c5db199SXin Li 76*9c5db199SXin Li b) Accompany the object code with a copy of the GNU GPL and this license 77*9c5db199SXin Li document. 78*9c5db199SXin Li 79*9c5db199SXin Li 4. Combined Works. 80*9c5db199SXin Li 81*9c5db199SXin Li You may convey a Combined Work under terms of your choice that, 82*9c5db199SXin Litaken together, effectively do not restrict modification of the 83*9c5db199SXin Liportions of the Library contained in the Combined Work and reverse 84*9c5db199SXin Liengineering for debugging such modifications, if you also do each of 85*9c5db199SXin Lithe following: 86*9c5db199SXin Li 87*9c5db199SXin Li a) Give prominent notice with each copy of the Combined Work that 88*9c5db199SXin Li the Library is used in it and that the Library and its use are 89*9c5db199SXin Li covered by this License. 90*9c5db199SXin Li 91*9c5db199SXin Li b) Accompany the Combined Work with a copy of the GNU GPL and this license 92*9c5db199SXin Li document. 93*9c5db199SXin Li 94*9c5db199SXin Li c) For a Combined Work that displays copyright notices during 95*9c5db199SXin Li execution, include the copyright notice for the Library among 96*9c5db199SXin Li these notices, as well as a reference directing the user to the 97*9c5db199SXin Li copies of the GNU GPL and this license document. 98*9c5db199SXin Li 99*9c5db199SXin Li d) Do one of the following: 100*9c5db199SXin Li 101*9c5db199SXin Li 0) Convey the Minimal Corresponding Source under the terms of this 102*9c5db199SXin Li License, and the Corresponding Application Code in a form 103*9c5db199SXin Li suitable for, and under terms that permit, the user to 104*9c5db199SXin Li recombine or relink the Application with a modified version of 105*9c5db199SXin Li the Linked Version to produce a modified Combined Work, in the 106*9c5db199SXin Li manner specified by section 6 of the GNU GPL for conveying 107*9c5db199SXin Li Corresponding Source. 108*9c5db199SXin Li 109*9c5db199SXin Li 1) Use a suitable shared library mechanism for linking with the 110*9c5db199SXin Li Library. A suitable mechanism is one that (a) uses at run time 111*9c5db199SXin Li a copy of the Library already present on the user's computer 112*9c5db199SXin Li system, and (b) will operate properly with a modified version 113*9c5db199SXin Li of the Library that is interface-compatible with the Linked 114*9c5db199SXin Li Version. 115*9c5db199SXin Li 116*9c5db199SXin Li e) Provide Installation Information, but only if you would otherwise 117*9c5db199SXin Li be required to provide such information under section 6 of the 118*9c5db199SXin Li GNU GPL, and only to the extent that such information is 119*9c5db199SXin Li necessary to install and execute a modified version of the 120*9c5db199SXin Li Combined Work produced by recombining or relinking the 121*9c5db199SXin Li Application with a modified version of the Linked Version. (If 122*9c5db199SXin Li you use option 4d0, the Installation Information must accompany 123*9c5db199SXin Li the Minimal Corresponding Source and Corresponding Application 124*9c5db199SXin Li Code. If you use option 4d1, you must provide the Installation 125*9c5db199SXin Li Information in the manner specified by section 6 of the GNU GPL 126*9c5db199SXin Li for conveying Corresponding Source.) 127*9c5db199SXin Li 128*9c5db199SXin Li 5. Combined Libraries. 129*9c5db199SXin Li 130*9c5db199SXin Li You may place library facilities that are a work based on the 131*9c5db199SXin LiLibrary side by side in a single library together with other library 132*9c5db199SXin Lifacilities that are not Applications and are not covered by this 133*9c5db199SXin LiLicense, and convey such a combined library under terms of your 134*9c5db199SXin Lichoice, if you do both of the following: 135*9c5db199SXin Li 136*9c5db199SXin Li a) Accompany the combined library with a copy of the same work based 137*9c5db199SXin Li on the Library, uncombined with any other library facilities, 138*9c5db199SXin Li conveyed under the terms of this License. 139*9c5db199SXin Li 140*9c5db199SXin Li b) Give prominent notice with the combined library that part of it 141*9c5db199SXin Li is a work based on the Library, and explaining where to find the 142*9c5db199SXin Li accompanying uncombined form of the same work. 143*9c5db199SXin Li 144*9c5db199SXin Li 6. Revised Versions of the GNU Lesser General Public License. 145*9c5db199SXin Li 146*9c5db199SXin Li The Free Software Foundation may publish revised and/or new versions 147*9c5db199SXin Liof the GNU Lesser General Public License from time to time. Such new 148*9c5db199SXin Liversions will be similar in spirit to the present version, but may 149*9c5db199SXin Lidiffer in detail to address new problems or concerns. 150*9c5db199SXin Li 151*9c5db199SXin Li Each version is given a distinguishing version number. If the 152*9c5db199SXin LiLibrary as you received it specifies that a certain numbered version 153*9c5db199SXin Liof the GNU Lesser General Public License "or any later version" 154*9c5db199SXin Liapplies to it, you have the option of following the terms and 155*9c5db199SXin Liconditions either of that published version or of any later version 156*9c5db199SXin Lipublished by the Free Software Foundation. If the Library as you 157*9c5db199SXin Lireceived it does not specify a version number of the GNU Lesser 158*9c5db199SXin LiGeneral Public License, you may choose any version of the GNU Lesser 159*9c5db199SXin LiGeneral Public License ever published by the Free Software Foundation. 160*9c5db199SXin Li 161*9c5db199SXin Li If the Library as you received it specifies that a proxy can decide 162*9c5db199SXin Liwhether future versions of the GNU Lesser General Public License shall 163*9c5db199SXin Liapply, that proxy's public statement of acceptance of any version is 164*9c5db199SXin Lipermanent authorization for you to choose that version for the 165*9c5db199SXin LiLibrary. 166