12b15cb3dSCy Schubert GNU LESSER GENERAL PUBLIC LICENSE 22b15cb3dSCy Schubert Version 3, 29 June 2007 32b15cb3dSCy Schubert 4*a466cc55SCy Schubert Copyright (C) 1992-2018 by Bruce Korb - all rights reserved 52b15cb3dSCy Schubert Everyone is permitted to copy and distribute verbatim copies 62b15cb3dSCy Schubert of this license document, but changing it is not allowed. 72b15cb3dSCy Schubert 82b15cb3dSCy Schubert 92b15cb3dSCy Schubert This version of the GNU Lesser General Public License incorporates 102b15cb3dSCy Schubertthe terms and conditions of version 3 of the GNU General Public 112b15cb3dSCy SchubertLicense, supplemented by the additional permissions listed below. 122b15cb3dSCy Schubert 132b15cb3dSCy Schubert 0. Additional Definitions. 142b15cb3dSCy Schubert 152b15cb3dSCy Schubert As used herein, "this License" refers to version 3 of the GNU Lesser 162b15cb3dSCy SchubertGeneral Public License, and the "GNU GPL" refers to version 3 of the GNU 172b15cb3dSCy SchubertGeneral Public License. 182b15cb3dSCy Schubert 192b15cb3dSCy Schubert "The Library" refers to a covered work governed by this License, 202b15cb3dSCy Schubertother than an Application or a Combined Work as defined below. 212b15cb3dSCy Schubert 222b15cb3dSCy Schubert An "Application" is any work that makes use of an interface provided 232b15cb3dSCy Schubertby the Library, but which is not otherwise based on the Library. 242b15cb3dSCy SchubertDefining a subclass of a class defined by the Library is deemed a mode 252b15cb3dSCy Schubertof using an interface provided by the Library. 262b15cb3dSCy Schubert 272b15cb3dSCy Schubert A "Combined Work" is a work produced by combining or linking an 282b15cb3dSCy SchubertApplication with the Library. The particular version of the Library 292b15cb3dSCy Schubertwith which the Combined Work was made is also called the "Linked 302b15cb3dSCy SchubertVersion". 312b15cb3dSCy Schubert 322b15cb3dSCy Schubert The "Minimal Corresponding Source" for a Combined Work means the 332b15cb3dSCy SchubertCorresponding Source for the Combined Work, excluding any source code 342b15cb3dSCy Schubertfor portions of the Combined Work that, considered in isolation, are 352b15cb3dSCy Schubertbased on the Application, and not on the Linked Version. 362b15cb3dSCy Schubert 372b15cb3dSCy Schubert The "Corresponding Application Code" for a Combined Work means the 382b15cb3dSCy Schubertobject code and/or source code for the Application, including any data 392b15cb3dSCy Schubertand utility programs needed for reproducing the Combined Work from the 402b15cb3dSCy SchubertApplication, but excluding the System Libraries of the Combined Work. 412b15cb3dSCy Schubert 422b15cb3dSCy Schubert 1. Exception to Section 3 of the GNU GPL. 432b15cb3dSCy Schubert 442b15cb3dSCy Schubert You may convey a covered work under sections 3 and 4 of this License 452b15cb3dSCy Schubertwithout being bound by section 3 of the GNU GPL. 462b15cb3dSCy Schubert 472b15cb3dSCy Schubert 2. Conveying Modified Versions. 482b15cb3dSCy Schubert 492b15cb3dSCy Schubert If you modify a copy of the Library, and, in your modifications, a 502b15cb3dSCy Schubertfacility refers to a function or data to be supplied by an Application 512b15cb3dSCy Schubertthat uses the facility (other than as an argument passed when the 522b15cb3dSCy Schubertfacility is invoked), then you may convey a copy of the modified 532b15cb3dSCy Schubertversion: 542b15cb3dSCy Schubert 552b15cb3dSCy Schubert a) under this License, provided that you make a good faith effort to 562b15cb3dSCy Schubert ensure that, in the event an Application does not supply the 572b15cb3dSCy Schubert function or data, the facility still operates, and performs 582b15cb3dSCy Schubert whatever part of its purpose remains meaningful, or 592b15cb3dSCy Schubert 602b15cb3dSCy Schubert b) under the GNU GPL, with none of the additional permissions of 612b15cb3dSCy Schubert this License applicable to that copy. 622b15cb3dSCy Schubert 632b15cb3dSCy Schubert 3. Object Code Incorporating Material from Library Header Files. 642b15cb3dSCy Schubert 652b15cb3dSCy Schubert The object code form of an Application may incorporate material from 662b15cb3dSCy Schuberta header file that is part of the Library. You may convey such object 672b15cb3dSCy Schubertcode under terms of your choice, provided that, if the incorporated 682b15cb3dSCy Schubertmaterial is not limited to numerical parameters, data structure 692b15cb3dSCy Schubertlayouts and accessors, or small macros, inline functions and templates 702b15cb3dSCy Schubert(ten or fewer lines in length), you do both of the following: 712b15cb3dSCy Schubert 722b15cb3dSCy Schubert a) Give prominent notice with each copy of the object code that the 732b15cb3dSCy Schubert Library is used in it and that the Library and its use are 742b15cb3dSCy Schubert covered by this License. 752b15cb3dSCy Schubert 762b15cb3dSCy Schubert b) Accompany the object code with a copy of the GNU GPL and this license 772b15cb3dSCy Schubert document. 782b15cb3dSCy Schubert 792b15cb3dSCy Schubert 4. Combined Works. 802b15cb3dSCy Schubert 812b15cb3dSCy Schubert You may convey a Combined Work under terms of your choice that, 822b15cb3dSCy Schuberttaken together, effectively do not restrict modification of the 832b15cb3dSCy Schubertportions of the Library contained in the Combined Work and reverse 842b15cb3dSCy Schubertengineering for debugging such modifications, if you also do each of 852b15cb3dSCy Schubertthe following: 862b15cb3dSCy Schubert 872b15cb3dSCy Schubert a) Give prominent notice with each copy of the Combined Work that 882b15cb3dSCy Schubert the Library is used in it and that the Library and its use are 892b15cb3dSCy Schubert covered by this License. 902b15cb3dSCy Schubert 912b15cb3dSCy Schubert b) Accompany the Combined Work with a copy of the GNU GPL and this license 922b15cb3dSCy Schubert document. 932b15cb3dSCy Schubert 942b15cb3dSCy Schubert c) For a Combined Work that displays copyright notices during 952b15cb3dSCy Schubert execution, include the copyright notice for the Library among 962b15cb3dSCy Schubert these notices, as well as a reference directing the user to the 972b15cb3dSCy Schubert copies of the GNU GPL and this license document. 982b15cb3dSCy Schubert 992b15cb3dSCy Schubert d) Do one of the following: 1002b15cb3dSCy Schubert 1012b15cb3dSCy Schubert 0) Convey the Minimal Corresponding Source under the terms of this 1022b15cb3dSCy Schubert License, and the Corresponding Application Code in a form 1032b15cb3dSCy Schubert suitable for, and under terms that permit, the user to 1042b15cb3dSCy Schubert recombine or relink the Application with a modified version of 1052b15cb3dSCy Schubert the Linked Version to produce a modified Combined Work, in the 1062b15cb3dSCy Schubert manner specified by section 6 of the GNU GPL for conveying 1072b15cb3dSCy Schubert Corresponding Source. 1082b15cb3dSCy Schubert 1092b15cb3dSCy Schubert 1) Use a suitable shared library mechanism for linking with the 1102b15cb3dSCy Schubert Library. A suitable mechanism is one that (a) uses at run time 1112b15cb3dSCy Schubert a copy of the Library already present on the user's computer 1122b15cb3dSCy Schubert system, and (b) will operate properly with a modified version 1132b15cb3dSCy Schubert of the Library that is interface-compatible with the Linked 1142b15cb3dSCy Schubert Version. 1152b15cb3dSCy Schubert 1162b15cb3dSCy Schubert e) Provide Installation Information, but only if you would otherwise 1172b15cb3dSCy Schubert be required to provide such information under section 6 of the 1182b15cb3dSCy Schubert GNU GPL, and only to the extent that such information is 1192b15cb3dSCy Schubert necessary to install and execute a modified version of the 1202b15cb3dSCy Schubert Combined Work produced by recombining or relinking the 1212b15cb3dSCy Schubert Application with a modified version of the Linked Version. (If 1222b15cb3dSCy Schubert you use option 4d0, the Installation Information must accompany 1232b15cb3dSCy Schubert the Minimal Corresponding Source and Corresponding Application 1242b15cb3dSCy Schubert Code. If you use option 4d1, you must provide the Installation 1252b15cb3dSCy Schubert Information in the manner specified by section 6 of the GNU GPL 1262b15cb3dSCy Schubert for conveying Corresponding Source.) 1272b15cb3dSCy Schubert 1282b15cb3dSCy Schubert 5. Combined Libraries. 1292b15cb3dSCy Schubert 1302b15cb3dSCy Schubert You may place library facilities that are a work based on the 1312b15cb3dSCy SchubertLibrary side by side in a single library together with other library 1322b15cb3dSCy Schubertfacilities that are not Applications and are not covered by this 1332b15cb3dSCy SchubertLicense, and convey such a combined library under terms of your 1342b15cb3dSCy Schubertchoice, if you do both of the following: 1352b15cb3dSCy Schubert 1362b15cb3dSCy Schubert a) Accompany the combined library with a copy of the same work based 1372b15cb3dSCy Schubert on the Library, uncombined with any other library facilities, 1382b15cb3dSCy Schubert conveyed under the terms of this License. 1392b15cb3dSCy Schubert 1402b15cb3dSCy Schubert b) Give prominent notice with the combined library that part of it 1412b15cb3dSCy Schubert is a work based on the Library, and explaining where to find the 1422b15cb3dSCy Schubert accompanying uncombined form of the same work. 1432b15cb3dSCy Schubert 1442b15cb3dSCy Schubert 6. Revised Versions of the GNU Lesser General Public License. 1452b15cb3dSCy Schubert 1462b15cb3dSCy Schubert The Free Software Foundation may publish revised and/or new versions 1472b15cb3dSCy Schubertof the GNU Lesser General Public License from time to time. Such new 1482b15cb3dSCy Schubertversions will be similar in spirit to the present version, but may 1492b15cb3dSCy Schubertdiffer in detail to address new problems or concerns. 1502b15cb3dSCy Schubert 1512b15cb3dSCy Schubert Each version is given a distinguishing version number. If the 1522b15cb3dSCy SchubertLibrary as you received it specifies that a certain numbered version 1532b15cb3dSCy Schubertof the GNU Lesser General Public License "or any later version" 1542b15cb3dSCy Schubertapplies to it, you have the option of following the terms and 1552b15cb3dSCy Schubertconditions either of that published version or of any later version 1562b15cb3dSCy Schubertpublished by the Free Software Foundation. If the Library as you 1572b15cb3dSCy Schubertreceived it does not specify a version number of the GNU Lesser 1582b15cb3dSCy SchubertGeneral Public License, you may choose any version of the GNU Lesser 1592b15cb3dSCy SchubertGeneral Public License ever published by the Free Software Foundation. 1602b15cb3dSCy Schubert 1612b15cb3dSCy Schubert If the Library as you received it specifies that a proxy can decide 1622b15cb3dSCy Schubertwhether future versions of the GNU Lesser General Public License shall 1632b15cb3dSCy Schubertapply, that proxy's public statement of acceptance of any version is 1642b15cb3dSCy Schubertpermanent authorization for you to choose that version for the 1652b15cb3dSCy SchubertLibrary. 166