pax_global_header00006660000000000000000000000064117524611410014514gustar00rootroot0000000000000052 comment=3110d8e27c609482f856e2b404be52a5af8b276b gtg-trace-0.2+dfsg/000077500000000000000000000000001175246114100141515ustar00rootroot00000000000000gtg-trace-0.2+dfsg/AUTHORS000066400000000000000000000002721175246114100152220ustar00rootroot00000000000000 Francois Rue Francois Trahay Johnny Jazeix Kevin Coulomb Mathieu Faverge Olivier Lagrasse gtg-trace-0.2+dfsg/COPYING000066400000000000000000000026701175246114100152110ustar00rootroot00000000000000Copyright © CNRS, INRIA, Université Bordeaux 1. This software is governed by the CeCILL-C license under French law and abiding by the rules of distribution of free software. You can use, modify and/ or redistribute the software under the terms of the CeCILL-C license as circulated by CEA, CNRS and INRIA at the following URL "http://www.cecill.info". As a counterpart to the access to the source code and rights to copy, modify and redistribute granted by the license, users are provided only with a limited warranty and the software's author, the holder of the economic rights, and the successive licensors have only limited liability. In this respect, the user's attention is drawn to the risks associated with loading, using, modifying and/or developing or reproducing the software by the user in light of its specific status of free software, that may mean that it is complicated to manipulate, and that also therefore means that it is reserved for developers and experienced professionals having in-depth computer knowledge. Users are therefore encouraged to load and test the software's suitability as regards their requirements in conditions enabling the security of their systems and/or data to be ensured and, more generally, to use and operate it in the same conditions as regards security. The fact that you are presently reading this means that you have had knowledge of the CeCILL-C license and that you accept its terms. gtg-trace-0.2+dfsg/ChangeLog000066400000000000000000000003621175246114100157240ustar00rootroot00000000000000Version 0.2 ----------- * Events can now be recorded out of order * Add an AddComment function (not implemented for OTF files) * Improved Vampir/Triva compatibility * Paje traces can now be compressed Version 0.1 ----------- * First release gtg-trace-0.2+dfsg/INSTALL000066400000000000000000000366001175246114100152070ustar00rootroot00000000000000Installation Instructions ************************* Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without warranty of any kind. Basic Installation ================== Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for instructions specific to this package. Some packages provide this `INSTALL' file but do not implement all of the features documented below. The lack of an optional feature in a given package is not necessarily a bug. More recommendations for GNU packages can be found in *note Makefile Conventions: (standards)Makefile Conventions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale cache files. If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. Running `configure' might take a while. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package, generally using the just-built uninstalled binaries. 4. Type `make install' to install the programs and any data files and documentation. When installing into a prefix owned by root, it is recommended that the package be configured and built as a regular user, and only the `make install' phase executed with root privileges. 5. Optionally, type `make installcheck' to repeat any self-tests, but this time using the binaries in their final installed location. This target does not install anything. Running this target as a regular user, particularly if the prior `make install' required root privileges, verifies that the installation completed correctly. 6. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. 7. Often, you can also type `make uninstall' to remove the installed files again. In practice, not all packages have tested that uninstallation works correctly, even though it is required by the GNU Coding Standards. 8. Some packages, particularly those that use Automake, provide `make distcheck', which can by used by developers to test that all other targets like `make install' and `make uninstall' work correctly. This target is generally not run by end users. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. This is known as a "VPATH" build. With a non-GNU `make', it is safer to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. On MacOS X 10.5 and later systems, you can create libraries and executables that work on multiple system types--known as "fat" or "universal" binaries--by specifying multiple `-arch' options to the compiler but only a single `-arch' option to the preprocessor. Like this: ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CPP="gcc -E" CXXCPP="g++ -E" This is not guaranteed to produce working output in all cases, you may have to build one architecture at a time and combine the results using the `lipo' tool if you have problems. Installation Names ================== By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PREFIX', where PREFIX must be an absolute file name. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you pass the option `--exec-prefix=PREFIX' to `configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. In general, the default for these options is expressed in terms of `${prefix}', so that specifying just `--prefix' will affect all of the other directory specifications that were not explicitly provided. The most portable way to affect installation locations is to pass the correct locations to `configure'; however, many packages provide one or both of the following shortcuts of passing variable assignments to the `make install' command line to change installation locations without having to reconfigure or recompile. The first method involves providing an override variable for each affected directory. For example, `make install prefix=/alternate/directory' will choose an alternate location for all directory configuration variables that were expressed in terms of `${prefix}'. Any directories that were specified during `configure', but not in terms of `${prefix}', must each be overridden at install time for the entire installation to be relocated. The approach of makefile variable overrides for each directory variable is required by the GNU Coding Standards, and ideally causes no recompilation. However, some platforms have known limitations with the semantics of shared libraries that end up requiring recompilation when using this method, particularly noticeable in packages that use GNU Libtool. The second method involves providing the `DESTDIR' variable. For example, `make install DESTDIR=/alternate/directory' will prepend `/alternate/directory' before all installation names. The approach of `DESTDIR' overrides is not required by the GNU Coding Standards, and does not work on platforms that have drive letters. On the other hand, it does better at avoiding recompilation issues, and works well even when some directory options were not specified in terms of `${prefix}' at `configure' time. Optional Features ================= If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Some packages offer the ability to configure how verbose the execution of `make' will be. For these packages, running `./configure --enable-silent-rules' sets the default to minimal output, which can be overridden with `make V=1'; while running `./configure --disable-silent-rules' sets the default to verbose, which can be overridden with `make V=0'. Particular systems ================== On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC is not installed, it is recommended to use the following options in order to use an ANSI C compiler: ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" and if that doesn't work, install pre-built binaries of GCC for HP-UX. HP-UX `make' updates targets which have the same time stamps as their prerequisites, which makes it generally unusable when shipped generated files such as `configure' are involved. Use GNU `make' instead. On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its `' header file. The option `-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended to try ./configure CC="cc" and if that doesn't work, try ./configure CC="cc -nodtk" On Solaris, don't put `/usr/ucb' early in your `PATH'. This directory contains several dysfunctional programs; working variants of these programs are available in `/usr/bin'. So, if you need `/usr/ucb' in your `PATH', put it _after_ `/usr/bin'. On Haiku, software installed for all users goes in `/boot/common', not `/usr/local'. It is recommended to use the following options: ./configure --prefix=/boot/common Specifying the System Type ========================== There may be some features `configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the option `--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). Unfortunately, this technique does not work for `CONFIG_SHELL' due to an Autoconf bug. Until the bug is fixed you can use this workaround: CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of all of the options to `configure', and exit. `--help=short' `--help=recursive' Print a summary of the options unique to this package's `configure', and exit. The `short' variant lists options used only in the top level, while the `recursive' variant lists options also present in any nested packages. `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `--prefix=DIR' Use DIR as the installation prefix. *note Installation Names:: for more details, including other options available for fine-tuning the installation locations. `--no-create' `-n' Run the configure checks, but stop before creating any output files. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. gtg-trace-0.2+dfsg/Makefile.am000066400000000000000000000004631175246114100162100ustar00rootroot00000000000000SUBDIRS = extlib/ inc/ src/ doc/ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = gtg.pc EXTRA_DIST = exm/gtg_color.c \ exm/Makefile \ exm/otf_example.c \ exm/paje_example2.c \ exm/paje_example.c \ exm/paje_example.F90 \ exm/vite_example.c gtg-trace-0.2+dfsg/Makefile.in000066400000000000000000000616021175246114100162230ustar00rootroot00000000000000# Makefile.in generated by automake 1.11.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/gtg.pc.in \ $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \ compile config.guess config.sub depcomp install-sh ltmain.sh \ missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = gtg.pc CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(pkgconfigdir)" DATA = $(pkgconfig_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir dist dist-all distcheck ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ if test -d "$(distdir)"; then \ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -rf "$(distdir)" \ || { sleep 5 && rm -rf "$(distdir)"; }; \ else :; fi am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ FGREP = @FGREP@ GREP = @GREP@ HAVE_DOXYGEN = @HAVE_DOXYGEN@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MPIDIR = @MPIDIR@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTFDIR = @OTFDIR@ OTF_INC = @OTF_INC@ OTF_LIB = @OTF_LIB@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PDFLATEX = @PDFLATEX@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_MPIDIR_FROM_USER = @USE_MPIDIR_FROM_USER@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = extlib/ inc/ src/ doc/ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = gtg.pc EXTRA_DIST = exm/gtg_color.c \ exm/Makefile \ exm/otf_example.c \ exm/paje_example2.c \ exm/paje_example.c \ exm/paje_example.F90 \ exm/vite_example.c all: all-recursive .SUFFIXES: am--refresh: Makefile @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): gtg.pc: $(top_builddir)/config.status $(srcdir)/gtg.pc.in cd $(top_builddir) && $(SHELL) ./config.status $@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool config.lt install-pkgconfigDATA: $(pkgconfig_DATA) @$(NORMAL_INSTALL) test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ done uninstall-pkgconfigDATA: @$(NORMAL_UNINSTALL) @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 $(am__remove_distdir) dist-lzip: distdir tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__remove_distdir) dist-lzma: distdir tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma $(am__remove_distdir) dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__remove_distdir) dist dist-all: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lzma*) \ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ *.tar.lz*) \ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @test -n '$(distuninstallcheck_dir)' || { \ echo 'ERROR: trying to run $@ with an empty' \ '$$(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ $(am__cd) '$(distuninstallcheck_dir)' || { \ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(pkgconfigdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-libtool \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-pkgconfigDATA install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-pkgconfigDATA .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ install-am install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am am--refresh check check-am clean clean-generic \ clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \ dist-gzip dist-lzip dist-lzma dist-shar dist-tarZ dist-xz \ dist-zip distcheck distclean distclean-generic \ distclean-libtool distclean-tags distcleancheck distdir \ distuninstallcheck dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-pkgconfigDATA install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am uninstall-pkgconfigDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtg-trace-0.2+dfsg/NEWS000066400000000000000000000000001175246114100146360ustar00rootroot00000000000000gtg-trace-0.2+dfsg/README000066400000000000000000000051331175246114100150330ustar00rootroot00000000000000============================================== === Introduction : == ============================================== This directory contains the Generic Trace Generator (GTG) project. Authors are : Francois Rue , Francois Trahay , Johnny Jazeix , Kevin Coulomb, Mathieu Faverge, Olivier Lagrasse ============================================== === Files : == ============================================== -- Files README : This file, presenting the project AUTHORS : The authors of the project ChangeLog : The list of the changes by version configure.ac : Used to create the configure file with autoreconf COPYING : The copying rule COPYRIGHT : The licence of the library INSTALL : How to install the GTG library Makefile.am : Some hints to generate the Makefile throught configure NEWS : News about the project -- Directories *exm* : Contains examples of programm using the library *inc* : Contains files to include *src/C* : Contains the C implementation of the API *src/FORTRAN* : Contains the Fortran implementation of the API *test* : Regular developers test ============================================== === Building from the SVN repository: == ============================================== First, you need to generate the configure files by running autoreconf: $ autoreconf -vfi Then, simply run configure && make && make install ============================================== === Examples : == ============================================== The examples show code using the library. You can compile them with *make examples*. Their execution enables the creation of traces : gtg_color creates the gtg_color.trace trace cpaje creates the cpaje.trace using the C API fpaje creates the fpaje.trace using the Fortran API cpaje2 creates the cpaje2.trace using the C API cvite creates the cvite_root.ept trace (with cvite_proc*.ept) using the C API The traces can be viewed using the ViTE tool. This API is used by the eztrace that automatically generate traces for code, without modifying it manually. ============================================== === Support : == ============================================== If you encounter any problem, please contact the GTG developper mailing list (gtg-devel@lists.gforge.inria.fr) so that we can fix the feature as soon as possible. You can also give us some feedback to help us improve the API. gtg-trace-0.2+dfsg/aclocal.m4000066400000000000000000012426401175246114100160220ustar00rootroot00000000000000# generated automatically by aclocal 1.11.3 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, # Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],, [m4_warning([this file was generated for autoconf 2.68. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. m4_define([_LT_COPYING], [dnl # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. # # GNU Libtool is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of # the License, or (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, or # obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ]) # serial 57 LT_INIT # LT_PREREQ(VERSION) # ------------------ # Complain and exit if this libtool version is less that VERSION. m4_defun([LT_PREREQ], [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, [m4_default([$3], [m4_fatal([Libtool version $1 or higher is required], 63)])], [$2])]) # _LT_CHECK_BUILDDIR # ------------------ # Complain if the absolute build directory name contains unusual characters m4_defun([_LT_CHECK_BUILDDIR], [case `pwd` in *\ * | *\ *) AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; esac ]) # LT_INIT([OPTIONS]) # ------------------ AC_DEFUN([LT_INIT], [AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl AC_BEFORE([$0], [LT_LANG])dnl AC_BEFORE([$0], [LT_OUTPUT])dnl AC_BEFORE([$0], [LTDL_INIT])dnl m4_require([_LT_CHECK_BUILDDIR])dnl dnl Autoconf doesn't catch unexpanded LT_ macros by default: m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 dnl unless we require an AC_DEFUNed macro: AC_REQUIRE([LTOPTIONS_VERSION])dnl AC_REQUIRE([LTSUGAR_VERSION])dnl AC_REQUIRE([LTVERSION_VERSION])dnl AC_REQUIRE([LTOBSOLETE_VERSION])dnl m4_require([_LT_PROG_LTMAIN])dnl _LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) dnl Parse OPTIONS _LT_SET_OPTIONS([$0], [$1]) # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' AC_SUBST(LIBTOOL)dnl _LT_SETUP # Only expand once: m4_define([LT_INIT]) ])# LT_INIT # Old names: AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PROG_LIBTOOL], []) dnl AC_DEFUN([AM_PROG_LIBTOOL], []) # _LT_CC_BASENAME(CC) # ------------------- # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. m4_defun([_LT_CC_BASENAME], [for cc_temp in $1""; do case $cc_temp in compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` ]) # _LT_FILEUTILS_DEFAULTS # ---------------------- # It is okay to use these file commands and assume they have been set # sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. m4_defun([_LT_FILEUTILS_DEFAULTS], [: ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} ])# _LT_FILEUTILS_DEFAULTS # _LT_SETUP # --------- m4_defun([_LT_SETUP], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl _LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl dnl _LT_DECL([], [host_alias], [0], [The host system])dnl _LT_DECL([], [host], [0])dnl _LT_DECL([], [host_os], [0])dnl dnl _LT_DECL([], [build_alias], [0], [The build system])dnl _LT_DECL([], [build], [0])dnl _LT_DECL([], [build_os], [0])dnl dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl dnl AC_REQUIRE([AC_PROG_LN_S])dnl test -z "$LN_S" && LN_S="ln -s" _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl dnl AC_REQUIRE([LT_CMD_MAX_LEN])dnl _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl m4_require([_LT_CMD_RELOAD])dnl m4_require([_LT_CHECK_MAGIC_METHOD])dnl m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl m4_require([_LT_CMD_OLD_ARCHIVE])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_WITH_SYSROOT])dnl _LT_CONFIG_LIBTOOL_INIT([ # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi ]) if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi _LT_CHECK_OBJDIR m4_require([_LT_TAG_COMPILER])dnl case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o _LT_CC_BASENAME([$compiler]) # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then _LT_PATH_MAGIC fi ;; esac # Use C for the default configuration in the libtool script LT_SUPPORTED_TAG([CC]) _LT_LANG_C_CONFIG _LT_LANG_DEFAULT_CONFIG _LT_CONFIG_COMMANDS ])# _LT_SETUP # _LT_PREPARE_SED_QUOTE_VARS # -------------------------- # Define a few sed substitution that help us do robust quoting. m4_defun([_LT_PREPARE_SED_QUOTE_VARS], [# Backslashify metacharacters that are still active within # double-quoted strings. sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\([["`\\]]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' ]) # _LT_PROG_LTMAIN # --------------- # Note that this code is called both from `configure', and `config.status' # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, # `config.status' has no value for ac_aux_dir unless we are using Automake, # so we pass a copy along to make sure it has a sensible value anyway. m4_defun([_LT_PROG_LTMAIN], [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) ltmain="$ac_aux_dir/ltmain.sh" ])# _LT_PROG_LTMAIN # So that we can recreate a full libtool script including additional # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS # in macros and then make a single call at the end using the `libtool' # label. # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) # ---------------------------------------- # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL_INIT], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_INIT], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_INIT]) # _LT_CONFIG_LIBTOOL([COMMANDS]) # ------------------------------ # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) # ----------------------------------------------------- m4_defun([_LT_CONFIG_SAVE_COMMANDS], [_LT_CONFIG_LIBTOOL([$1]) _LT_CONFIG_LIBTOOL_INIT([$2]) ]) # _LT_FORMAT_COMMENT([COMMENT]) # ----------------------------- # Add leading comment marks to the start of each line, and a trailing # full-stop to the whole comment if one is not present already. m4_define([_LT_FORMAT_COMMENT], [m4_ifval([$1], [ m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) )]) # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) # ------------------------------------------------------------------- # CONFIGNAME is the name given to the value in the libtool script. # VARNAME is the (base) name used in the configure script. # VALUE may be 0, 1 or 2 for a computed quote escaped value based on # VARNAME. Any other value will be used directly. m4_define([_LT_DECL], [lt_if_append_uniq([lt_decl_varnames], [$2], [, ], [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], [m4_ifval([$1], [$1], [$2])]) lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) m4_ifval([$4], [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) lt_dict_add_subkey([lt_decl_dict], [$2], [tagged?], [m4_ifval([$5], [yes], [no])])]) ]) # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) # -------------------------------------------------------- m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_tag_varnames], [_lt_decl_filter([tagged?], [yes], $@)]) # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) # --------------------------------------------------------- m4_define([_lt_decl_filter], [m4_case([$#], [0], [m4_fatal([$0: too few arguments: $#])], [1], [m4_fatal([$0: too few arguments: $#: $1])], [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], [lt_dict_filter([lt_decl_dict], $@)])[]dnl ]) # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) # -------------------------------------------------- m4_define([lt_decl_quote_varnames], [_lt_decl_filter([value], [1], $@)]) # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_dquote_varnames], [_lt_decl_filter([value], [2], $@)]) # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_varnames_tagged], [m4_assert([$# <= 2])dnl _$0(m4_quote(m4_default([$1], [[, ]])), m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) m4_define([_lt_decl_varnames_tagged], [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) # lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_all_varnames], [_$0(m4_quote(m4_default([$1], [[, ]])), m4_if([$2], [], m4_quote(lt_decl_varnames), m4_quote(m4_shift($@))))[]dnl ]) m4_define([_lt_decl_all_varnames], [lt_join($@, lt_decl_varnames_tagged([$1], lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl ]) # _LT_CONFIG_STATUS_DECLARE([VARNAME]) # ------------------------------------ # Quote a variable value, and forward it to `config.status' so that its # declaration there will have the same value as in `configure'. VARNAME # must have a single quote delimited value for this to work. m4_define([_LT_CONFIG_STATUS_DECLARE], [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) # _LT_CONFIG_STATUS_DECLARATIONS # ------------------------------ # We delimit libtool config variables with single quotes, so when # we write them to config.status, we have to be sure to quote all # embedded single quotes properly. In configure, this macro expands # each variable declared with _LT_DECL (and _LT_TAGDECL) into: # # ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAGS # ---------------- # Output comment and list of tags supported by the script m4_defun([_LT_LIBTOOL_TAGS], [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl available_tags="_LT_TAGS"dnl ]) # _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) # ----------------------------------- # Extract the dictionary values for VARNAME (optionally with TAG) and # expand to a commented shell variable setting: # # # Some comment about what VAR is for. # visible_name=$lt_internal_name m4_define([_LT_LIBTOOL_DECLARE], [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [description])))[]dnl m4_pushdef([_libtool_name], m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), [0], [_libtool_name=[$]$1], [1], [_libtool_name=$lt_[]$1], [2], [_libtool_name=$lt_[]$1], [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl ]) # _LT_LIBTOOL_CONFIG_VARS # ----------------------- # Produce commented declarations of non-tagged libtool config variables # suitable for insertion in the LIBTOOL CONFIG section of the `libtool' # script. Tagged libtool config variables (even for the LIBTOOL CONFIG # section) are produced by _LT_LIBTOOL_TAG_VARS. m4_defun([_LT_LIBTOOL_CONFIG_VARS], [m4_foreach([_lt_var], m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAG_VARS(TAG) # ------------------------- m4_define([_LT_LIBTOOL_TAG_VARS], [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) # _LT_TAGVAR(VARNAME, [TAGNAME]) # ------------------------------ m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) # _LT_CONFIG_COMMANDS # ------------------- # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of # variables for single and double quote escaping we saved from calls # to _LT_DECL, we can put quote escaped variables declarations # into `config.status', and then the shell code to quote escape them in # for loops in `config.status'. Finally, any additional code accumulated # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. m4_defun([_LT_CONFIG_COMMANDS], [AC_PROVIDE_IFELSE([LT_OUTPUT], dnl If the libtool generation code has been placed in $CONFIG_LT, dnl instead of duplicating it all over again into config.status, dnl then we will have config.status run $CONFIG_LT later, so it dnl needs to know what name is stored there: [AC_CONFIG_COMMANDS([libtool], [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], dnl If the libtool generation code is destined for config.status, dnl expand the accumulated commands and init code now: [AC_CONFIG_COMMANDS([libtool], [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) ])#_LT_CONFIG_COMMANDS # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], [ # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' _LT_CONFIG_STATUS_DECLARATIONS LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$[]1 _LTECHO_EOF' } # Quote evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_quote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_dquote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done _LT_OUTPUT_LIBTOOL_INIT ]) # _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) # ------------------------------------ # Generate a child script FILE with all initialization necessary to # reuse the environment learned by the parent script, and make the # file executable. If COMMENT is supplied, it is inserted after the # `#!' sequence but before initialization text begins. After this # macro, additional text can be appended to FILE to form the body of # the child script. The macro ends with non-zero status if the # file could not be fully written (such as if the disk is full). m4_ifdef([AS_INIT_GENERATED], [m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], [m4_defun([_LT_GENERATED_FILE_INIT], [m4_require([AS_PREPARE])]dnl [m4_pushdef([AS_MESSAGE_LOG_FD])]dnl [lt_write_fail=0 cat >$1 <<_ASEOF || lt_write_fail=1 #! $SHELL # Generated by $as_me. $2 SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$1 <<\_ASEOF || lt_write_fail=1 AS_SHELL_SANITIZE _AS_PREPARE exec AS_MESSAGE_FD>&1 _ASEOF test $lt_write_fail = 0 && chmod +x $1[]dnl m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT # LT_OUTPUT # --------- # This macro allows early generation of the libtool script (before # AC_OUTPUT is called), incase it is used in configure for compilation # tests. AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} AC_MSG_NOTICE([creating $CONFIG_LT]) _LT_GENERATED_FILE_INIT(["$CONFIG_LT"], [# Run this file to recreate a libtool stub with the current configuration.]) cat >>"$CONFIG_LT" <<\_LTEOF lt_cl_silent=false exec AS_MESSAGE_LOG_FD>>config.log { echo AS_BOX([Running $as_me.]) } >&AS_MESSAGE_LOG_FD lt_cl_help="\ \`$as_me' creates a local libtool stub from the current configuration, for use in further configure time tests before the real libtool is generated. Usage: $[0] [[OPTIONS]] -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files Report bugs to ." lt_cl_version="\ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) configured by $[0], generated by m4_PACKAGE_STRING. Copyright (C) 2011 Free Software Foundation, Inc. This config.lt script is free software; the Free Software Foundation gives unlimited permision to copy, distribute and modify it." while test $[#] != 0 do case $[1] in --version | --v* | -V ) echo "$lt_cl_version"; exit 0 ;; --help | --h* | -h ) echo "$lt_cl_help"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --quiet | --q* | --silent | --s* | -q ) lt_cl_silent=: ;; -*) AC_MSG_ERROR([unrecognized option: $[1] Try \`$[0] --help' for more information.]) ;; *) AC_MSG_ERROR([unrecognized argument: $[1] Try \`$[0] --help' for more information.]) ;; esac shift done if $lt_cl_silent; then exec AS_MESSAGE_FD>/dev/null fi _LTEOF cat >>"$CONFIG_LT" <<_LTEOF _LT_OUTPUT_LIBTOOL_COMMANDS_INIT _LTEOF cat >>"$CONFIG_LT" <<\_LTEOF AC_MSG_NOTICE([creating $ofile]) _LT_OUTPUT_LIBTOOL_COMMANDS AS_EXIT(0) _LTEOF chmod +x "$CONFIG_LT" # configure is writing to config.log, but config.lt does its own redirection, # appending to config.log, which fails on DOS, as config.log is still kept # open by configure. Here we exec the FD to /dev/null, effectively closing # config.log, so it can be properly (re)opened and appended to by config.lt. lt_cl_success=: test "$silent" = yes && lt_config_lt_args="$lt_config_lt_args --quiet" exec AS_MESSAGE_LOG_FD>/dev/null $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false exec AS_MESSAGE_LOG_FD>>config.log $lt_cl_success || AS_EXIT(1) ])# LT_OUTPUT # _LT_CONFIG(TAG) # --------------- # If TAG is the built-in tag, create an initial libtool script with a # default configuration from the untagged config vars. Otherwise add code # to config.status for appending the configuration named by TAG from the # matching tagged config vars. m4_defun([_LT_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_CONFIG_SAVE_COMMANDS([ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl m4_if(_LT_TAG, [C], [ # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # _LT_COPYING _LT_LIBTOOL_TAGS # ### BEGIN LIBTOOL CONFIG _LT_LIBTOOL_CONFIG_VARS _LT_LIBTOOL_TAG_VARS # ### END LIBTOOL CONFIG _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac _LT_PROG_LTMAIN # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) _LT_PROG_REPLACE_SHELLFNS mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ], [cat <<_LT_EOF >> "$ofile" dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded dnl in a comment (ie after a #). # ### BEGIN LIBTOOL TAG CONFIG: $1 _LT_LIBTOOL_TAG_VARS(_LT_TAG) # ### END LIBTOOL TAG CONFIG: $1 _LT_EOF ])dnl /m4_if ], [m4_if([$1], [], [ PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile'], []) ])dnl /_LT_CONFIG_SAVE_COMMANDS ])# _LT_CONFIG # LT_SUPPORTED_TAG(TAG) # --------------------- # Trace this macro to discover what tags are supported by the libtool # --tag option, using: # autoconf --trace 'LT_SUPPORTED_TAG:$1' AC_DEFUN([LT_SUPPORTED_TAG], []) # C support is built-in for now m4_define([_LT_LANG_C_enabled], []) m4_define([_LT_TAGS], []) # LT_LANG(LANG) # ------------- # Enable libtool support for the given language if not already enabled. AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl m4_case([$1], [C], [_LT_LANG(C)], [C++], [_LT_LANG(CXX)], [Go], [_LT_LANG(GO)], [Java], [_LT_LANG(GCJ)], [Fortran 77], [_LT_LANG(F77)], [Fortran], [_LT_LANG(FC)], [Windows Resource], [_LT_LANG(RC)], [m4_ifdef([_LT_LANG_]$1[_CONFIG], [_LT_LANG($1)], [m4_fatal([$0: unsupported language: "$1"])])])dnl ])# LT_LANG # _LT_LANG(LANGNAME) # ------------------ m4_defun([_LT_LANG], [m4_ifdef([_LT_LANG_]$1[_enabled], [], [LT_SUPPORTED_TAG([$1])dnl m4_append([_LT_TAGS], [$1 ])dnl m4_define([_LT_LANG_]$1[_enabled], [])dnl _LT_LANG_$1_CONFIG($1)])dnl ])# _LT_LANG m4_ifndef([AC_PROG_GO], [ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_GO. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # m4_defun([AC_PROG_GO], [AC_LANG_PUSH(Go)dnl AC_ARG_VAR([GOC], [Go compiler command])dnl AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl _AC_ARG_VAR_LDFLAGS()dnl AC_CHECK_TOOL(GOC, gccgo) if test -z "$GOC"; then if test -n "$ac_tool_prefix"; then AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) fi fi if test -z "$GOC"; then AC_CHECK_PROG(GOC, gccgo, gccgo, false) fi ])#m4_defun ])#m4_ifndef # _LT_LANG_DEFAULT_CONFIG # ----------------------- m4_defun([_LT_LANG_DEFAULT_CONFIG], [AC_PROVIDE_IFELSE([AC_PROG_CXX], [LT_LANG(CXX)], [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) AC_PROVIDE_IFELSE([AC_PROG_F77], [LT_LANG(F77)], [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) AC_PROVIDE_IFELSE([AC_PROG_FC], [LT_LANG(FC)], [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal dnl pulling things in needlessly. AC_PROVIDE_IFELSE([AC_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([LT_PROG_GCJ], [LT_LANG(GCJ)], [m4_ifdef([AC_PROG_GCJ], [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([A][M_PROG_GCJ], [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([LT_PROG_GCJ], [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) AC_PROVIDE_IFELSE([AC_PROG_GO], [LT_LANG(GO)], [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) AC_PROVIDE_IFELSE([LT_PROG_RC], [LT_LANG(RC)], [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) ])# _LT_LANG_DEFAULT_CONFIG # Obsolete macros: AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_CXX], []) dnl AC_DEFUN([AC_LIBTOOL_F77], []) dnl AC_DEFUN([AC_LIBTOOL_FC], []) dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) dnl AC_DEFUN([AC_LIBTOOL_RC], []) # _LT_TAG_COMPILER # ---------------- m4_defun([_LT_TAG_COMPILER], [AC_REQUIRE([AC_PROG_CC])dnl _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_TAG_COMPILER # _LT_COMPILER_BOILERPLATE # ------------------------ # Check for compiler boilerplate output or warnings with # the simple compiler test code. m4_defun([_LT_COMPILER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ])# _LT_COMPILER_BOILERPLATE # _LT_LINKER_BOILERPLATE # ---------------------- # Check for linker boilerplate output or warnings with # the simple link test code. m4_defun([_LT_LINKER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ])# _LT_LINKER_BOILERPLATE # _LT_REQUIRED_DARWIN_CHECKS # ------------------------- m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ case $host_os in rhapsody* | darwin*) AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) AC_CHECK_TOOL([LIPO], [lipo], [:]) AC_CHECK_TOOL([OTOOL], [otool], [:]) AC_CHECK_TOOL([OTOOL64], [otool64], [:]) _LT_DECL([], [DSYMUTIL], [1], [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) _LT_DECL([], [NMEDIT], [1], [Tool to change global to local symbols on Mac OS X]) _LT_DECL([], [LIPO], [1], [Tool to manipulate fat objects and archives on Mac OS X]) _LT_DECL([], [OTOOL], [1], [ldd/readelf like tool for Mach-O binaries on Mac OS X]) _LT_DECL([], [OTOOL64], [1], [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], [lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? # If there is a non-empty error log, and "single_module" # appears in it, assume the flag caused a linker warning if test -s conftest.err && $GREP single_module conftest.err; then cat conftest.err >&AS_MESSAGE_LOG_FD # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. elif test -f libconftest.dylib && test $_lt_result -eq 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -rf libconftest.dylib* rm -f conftest.* fi]) AC_CACHE_CHECK([for -exported_symbols_list linker flag], [lt_cv_ld_exported_symbols_list], [lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [lt_cv_ld_exported_symbols_list=yes], [lt_cv_ld_exported_symbols_list=no]) LDFLAGS="$save_LDFLAGS" ]) AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], [lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&AS_MESSAGE_LOG_FD elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then lt_cv_ld_force_load=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM ]) case $host_os in rhapsody* | darwin1.[[012]]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[[012]]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac ]) # _LT_DARWIN_LINKER_FEATURES([TAG]) # --------------------------------- # Checks for linker and compiler features on darwin m4_defun([_LT_DARWIN_LINKER_FEATURES], [ m4_require([_LT_REQUIRED_DARWIN_CHECKS]) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported if test "$lt_cv_ld_force_load" = "yes"; then _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) else _LT_TAGVAR(whole_archive_flag_spec, $1)='' fi _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=func_echo_all _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" m4_if([$1], [CXX], [ if test "$lt_cv_apple_cc_single_mod" != "yes"; then _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" fi ],[]) else _LT_TAGVAR(ld_shlibs, $1)=no fi ]) # _LT_SYS_MODULE_PATH_AIX([TAGNAME]) # ---------------------------------- # Links a minimal program and checks the executable # for the system default hardcoded library path. In most cases, # this is /usr/lib:/lib, but when the MPI compilers are used # the location of the communication and MPI libs are included too. # If we don't find anything, use the default library path according # to the aix ld manual. # Store the results from the different compilers for each TAGNAME. # Allow to override them for all tags through lt_cv_aix_libpath. m4_defun([_LT_SYS_MODULE_PATH_AIX], [m4_require([_LT_DECL_SED])dnl if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ lt_aix_libpath_sed='[ /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }]' _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi],[]) if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib" fi ]) aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) fi ])# _LT_SYS_MODULE_PATH_AIX # _LT_SHELL_INIT(ARG) # ------------------- m4_define([_LT_SHELL_INIT], [m4_divert_text([M4SH-INIT], [$1 ])])# _LT_SHELL_INIT # _LT_PROG_ECHO_BACKSLASH # ----------------------- # Find how we can fake an echo command that does not interpret backslash. # In particular, with Autoconf 2.60 or later we add some code to the start # of the generated configure script which will find a shell with a builtin # printf (which we can use as an echo command). m4_defun([_LT_PROG_ECHO_BACKSLASH], [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO AC_MSG_CHECKING([how to print strings]) # Test print first, because it will be a builtin if present. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='print -r --' elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='printf %s\n' else # Use this function as a fallback that always works. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $[]1 _LTECHO_EOF' } ECHO='func_fallback_echo' fi # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "$*" } case "$ECHO" in printf*) AC_MSG_RESULT([printf]) ;; print*) AC_MSG_RESULT([print -r]) ;; *) AC_MSG_RESULT([cat]) ;; esac m4_ifdef([_AS_DETECT_SUGGESTED], [_AS_DETECT_SUGGESTED([ test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO PATH=/empty FPATH=/empty; export PATH FPATH test "X`printf %s $ECHO`" = "X$ECHO" \ || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) ])# _LT_PROG_ECHO_BACKSLASH # _LT_WITH_SYSROOT # ---------------- AC_DEFUN([_LT_WITH_SYSROOT], [AC_MSG_CHECKING([for sysroot]) AC_ARG_WITH([sysroot], [ --with-sysroot[=DIR] Search for dependent libraries within DIR (or the compiler's sysroot if not specified).], [], [with_sysroot=no]) dnl lt_sysroot will always be passed unquoted. We quote it here dnl in case the user passed a directory name. lt_sysroot= case ${with_sysroot} in #( yes) if test "$GCC" = yes; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( /*) lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` ;; #( no|'') ;; #( *) AC_MSG_RESULT([${with_sysroot}]) AC_MSG_ERROR([The sysroot must be an absolute path.]) ;; esac AC_MSG_RESULT([${lt_sysroot:-no}]) _LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl [dependent libraries, and in which our libraries should be installed.])]) # _LT_ENABLE_LOCK # --------------- m4_defun([_LT_ENABLE_LOCK], [AC_ARG_ENABLE([libtool-lock], [AS_HELP_STRING([--disable-libtool-lock], [avoid locking (might break parallel builds)])]) test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, [AC_LANG_PUSH(C) AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) AC_LANG_POP]) if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; *-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) case $host in i?86-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) LD="${LD-ld} -m elf64_sparc" ;; esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then LD="${LD-ld}_sol2" fi ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" ])# _LT_ENABLE_LOCK # _LT_PROG_AR # ----------- m4_defun([_LT_PROG_AR], [AC_CHECK_TOOLS(AR, [ar], false) : ${AR=ar} : ${AR_FLAGS=cru} _LT_DECL([], [AR], [1], [The archiver]) _LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], [lt_cv_ar_at_file=no AC_COMPILE_IFELSE([AC_LANG_PROGRAM], [echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' AC_TRY_EVAL([lt_ar_try]) if test "$ac_status" -eq 0; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a AC_TRY_EVAL([lt_ar_try]) if test "$ac_status" -ne 0; then lt_cv_ar_at_file=@ fi fi rm -f conftest.* libconftest.a ]) ]) if test "x$lt_cv_ar_at_file" = xno; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file fi _LT_DECL([], [archiver_list_spec], [1], [How to feed a file listing to the archiver]) ])# _LT_PROG_AR # _LT_CMD_OLD_ARCHIVE # ------------------- m4_defun([_LT_CMD_OLD_ARCHIVE], [_LT_PROG_AR AC_CHECK_TOOL(STRIP, strip, :) test -z "$STRIP" && STRIP=: _LT_DECL([], [STRIP], [1], [A symbol stripping program]) AC_CHECK_TOOL(RANLIB, ranlib, :) test -z "$RANLIB" && RANLIB=: _LT_DECL([], [RANLIB], [1], [Commands used to install an old-style archive]) # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in darwin*) lock_old_archive_extraction=yes ;; *) lock_old_archive_extraction=no ;; esac _LT_DECL([], [old_postinstall_cmds], [2]) _LT_DECL([], [old_postuninstall_cmds], [2]) _LT_TAGDECL([], [old_archive_cmds], [2], [Commands used to build an old-style archive]) _LT_DECL([], [lock_old_archive_extraction], [0], [Whether to use a lock for old archive extraction]) ])# _LT_CMD_OLD_ARCHIVE # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------------------- # Check whether the given compiler option works AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$3" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi fi $RM conftest* ]) if test x"[$]$2" = xyes; then m4_if([$5], , :, [$5]) else m4_if([$6], , :, [$6]) fi ])# _LT_COMPILER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------- # Check whether the given linker option works AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&AS_MESSAGE_LOG_FD $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi else $2=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" ]) if test x"[$]$2" = xyes; then m4_if([$4], , :, [$4]) else m4_if([$5], , :, [$5]) fi ])# _LT_LINKER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) # LT_CMD_MAX_LEN #--------------- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl # find the maximum length of command line arguments AC_MSG_CHECKING([the maximum length of command line arguments]) AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; mint*) # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; os2*) # The test takes a long time on OS/2. lt_cv_sys_max_cmd_len=8192 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac ]) if test -n $lt_cv_sys_max_cmd_len ; then AC_MSG_RESULT($lt_cv_sys_max_cmd_len) else AC_MSG_RESULT(none) fi max_cmd_len=$lt_cv_sys_max_cmd_len _LT_DECL([], [max_cmd_len], [0], [What is the maximum length of a command?]) ])# LT_CMD_MAX_LEN # Old name: AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) # _LT_HEADER_DLFCN # ---------------- m4_defun([_LT_HEADER_DLFCN], [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl ])# _LT_HEADER_DLFCN # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) # ---------------------------------------------------------------- m4_defun([_LT_TRY_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test "$cross_compiling" = yes; then : [$4] else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF [#line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisbility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; }] _LT_EOF if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; x$lt_dlunknown|x*) $3 ;; esac else : # compilation failed $3 fi fi rm -fr conftest* ])# _LT_TRY_DLOPEN_SELF # LT_SYS_DLOPEN_SELF # ------------------ AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ]) ;; *) AC_CHECK_FUNC([shl_load], [lt_cv_dlopen="shl_load"], [AC_CHECK_LIB([dld], [shl_load], [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], [AC_CHECK_FUNC([dlopen], [lt_cv_dlopen="dlopen"], [AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], [AC_CHECK_LIB([svld], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], [AC_CHECK_LIB([dld], [dld_link], [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) ]) ]) ]) ]) ]) ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" AC_CACHE_CHECK([whether a program can dlopen itself], lt_cv_dlopen_self, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) ]) if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" AC_CACHE_CHECK([whether a statically linked program can dlopen itself], lt_cv_dlopen_self_static, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) ]) fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi _LT_DECL([dlopen_support], [enable_dlopen], [0], [Whether dlopen is supported]) _LT_DECL([dlopen_self], [enable_dlopen_self], [0], [Whether dlopen of programs is supported]) _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], [Whether dlopen of statically linked programs is supported]) ])# LT_SYS_DLOPEN_SELF # Old name: AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) # _LT_COMPILER_C_O([TAGNAME]) # --------------------------- # Check to see if options -c and -o are simultaneously supported by compiler. # This macro does not hard code the compiler like AC_PROG_CC_C_O. m4_defun([_LT_COMPILER_C_O], [m4_require([_LT_DECL_SED])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi chmod u+w . 2>&AS_MESSAGE_LOG_FD $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* ]) _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], [Does compiler simultaneously support -c and -o options?]) ])# _LT_COMPILER_C_O # _LT_COMPILER_FILE_LOCKS([TAGNAME]) # ---------------------------------- # Check to see if we can do hard links to lock some files if needed m4_defun([_LT_COMPILER_FILE_LOCKS], [m4_require([_LT_ENABLE_LOCK])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_COMPILER_C_O([$1]) hard_links="nottested" if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user AC_MSG_CHECKING([if we can lock with hard links]) hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no AC_MSG_RESULT([$hard_links]) if test "$hard_links" = no; then AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) need_locks=warn fi else need_locks=no fi _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) ])# _LT_COMPILER_FILE_LOCKS # _LT_CHECK_OBJDIR # ---------------- m4_defun([_LT_CHECK_OBJDIR], [AC_CACHE_CHECK([for objdir], [lt_cv_objdir], [rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null]) objdir=$lt_cv_objdir _LT_DECL([], [objdir], [0], [The name of the directory that contains temporary libtool files])dnl m4_pattern_allow([LT_OBJDIR])dnl AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", [Define to the sub-directory in which libtool stores uninstalled libraries.]) ])# _LT_CHECK_OBJDIR # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) # -------------------------------------- # Check hardcoding attributes. m4_defun([_LT_LINKER_HARDCODE_LIBPATH], [AC_MSG_CHECKING([how to hardcode library paths into programs]) _LT_TAGVAR(hardcode_action, $1)= if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || test -n "$_LT_TAGVAR(runpath_var, $1)" || test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then # We can hardcode non-existent directories. if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then # Linking always hardcodes the temporary library directory. _LT_TAGVAR(hardcode_action, $1)=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. _LT_TAGVAR(hardcode_action, $1)=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. _LT_TAGVAR(hardcode_action, $1)=unsupported fi AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi _LT_TAGDECL([], [hardcode_action], [0], [How to hardcode a shared library path into an executable]) ])# _LT_LINKER_HARDCODE_LIBPATH # _LT_CMD_STRIPLIB # ---------------- m4_defun([_LT_CMD_STRIPLIB], [m4_require([_LT_DECL_EGREP]) striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" AC_MSG_RESULT([yes]) else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi ;; *) AC_MSG_RESULT([no]) ;; esac fi _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) _LT_DECL([], [striplib], [1]) ])# _LT_CMD_STRIPLIB # _LT_SYS_DYNAMIC_LINKER([TAG]) # ----------------------------- # PORTME Fill in your ld.so characteristics m4_defun([_LT_SYS_DYNAMIC_LINKER], [AC_REQUIRE([AC_CANONICAL_HOST])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_OBJDUMP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl AC_MSG_CHECKING([dynamic linker characteristics]) m4_if([$1], [], [ if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac case $host_os in mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;; *) lt_sed_strip_eq="s,=/,/,g" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ;; *) lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ;; esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[[lt_foo]]++; } if (lt_freq[[lt_foo]] == 1) { print lt_foo; } }'` # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's,/\([[A-Za-z]]:\),\1,g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi]) library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[[4-9]]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[[01]] | aix4.[[01]].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[[45]]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl*) # Native MSVC libname_spec='$name' soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' library_names_spec='${libname}.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec="$LIB" if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC wrapper library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[[23]].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[[01]]* | freebsdelf3.[[01]]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[[3-9]]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], [lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], [lt_cv_shlibpath_overrides_runpath=yes])]) LDFLAGS=$save_LDFLAGS libdir=$save_libdir ]) shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[[89]] | openbsd2.[[89]].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac AC_MSG_RESULT([$dynamic_linker]) test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi _LT_DECL([], [variables_saved_for_relink], [1], [Variables whose values should be saved in libtool wrapper scripts and restored at link time]) _LT_DECL([], [need_lib_prefix], [0], [Do we need the "lib" prefix for modules?]) _LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) _LT_DECL([], [version_type], [0], [Library versioning type]) _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) _LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) _LT_DECL([], [shlibpath_overrides_runpath], [0], [Is shlibpath searched before the hard-coded library search path?]) _LT_DECL([], [libname_spec], [1], [Format of library name prefix]) _LT_DECL([], [library_names_spec], [1], [[List of archive names. First name is the real one, the rest are links. The last name is the one that the linker finds with -lNAME]]) _LT_DECL([], [soname_spec], [1], [[The coded name of the library, if different from the real name]]) _LT_DECL([], [install_override_mode], [1], [Permission mode override for installation of shared libraries]) _LT_DECL([], [postinstall_cmds], [2], [Command to use after installation of a shared archive]) _LT_DECL([], [postuninstall_cmds], [2], [Command to use after uninstallation of a shared archive]) _LT_DECL([], [finish_cmds], [2], [Commands used to finish a libtool library installation in a directory]) _LT_DECL([], [finish_eval], [1], [[As "finish_cmds", except a single script fragment to be evaled but not shown]]) _LT_DECL([], [hardcode_into_libs], [0], [Whether we should hardcode library paths into libraries]) _LT_DECL([], [sys_lib_search_path_spec], [2], [Compile-time system search path for libraries]) _LT_DECL([], [sys_lib_dlsearch_path_spec], [2], [Run-time system search path for libraries]) ])# _LT_SYS_DYNAMIC_LINKER # _LT_PATH_TOOL_PREFIX(TOOL) # -------------------------- # find a file program which can recognize shared library AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl AC_MSG_CHECKING([for $1]) AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, [case $MAGIC_CMD in [[\\/*] | ?:[\\/]*]) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR dnl $ac_dummy forces splitting on constant user-supplied paths. dnl POSIX.2 word splitting is done only on the output of word expansions, dnl not every word. This closes a longstanding sh security hole. ac_dummy="m4_if([$2], , $PATH, [$2])" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$1; then lt_cv_path_MAGIC_CMD="$ac_dir/$1" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac]) MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then AC_MSG_RESULT($MAGIC_CMD) else AC_MSG_RESULT(no) fi _LT_DECL([], [MAGIC_CMD], [0], [Used to examine libraries when file_magic_cmd begins with "file"])dnl ])# _LT_PATH_TOOL_PREFIX # Old name: AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) # _LT_PATH_MAGIC # -------------- # find a file program which can recognize a shared library m4_defun([_LT_PATH_MAGIC], [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) else MAGIC_CMD=: fi fi ])# _LT_PATH_MAGIC # LT_PATH_LD # ---------- # find the pathname to the GNU or non-GNU linker AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_PROG_ECHO_BACKSLASH])dnl AC_ARG_WITH([gnu-ld], [AS_HELP_STRING([--with-gnu-ld], [assume the C compiler uses GNU ld @<:@default=no@:>@])], [test "$withval" = no || with_gnu_ld=yes], [with_gnu_ld=no])dnl ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]]* | ?:[[\\/]]*) re_direlt='/[[^/]][[^/]]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(lt_cv_path_LD, [if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; gnu*) lt_cv_deplibs_check_method=pass_all ;; haiku*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[[3-9]]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac ]) file_magic_glob= want_nocaseglob=no if test "$build" = "$host"; then case $host_os in mingw* | pw32*) if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then want_nocaseglob=yes else file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` fi ;; esac fi file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown _LT_DECL([], [deplibs_check_method], [1], [Method to check whether dependent libraries are shared objects]) _LT_DECL([], [file_magic_cmd], [1], [Command to use when deplibs_check_method = "file_magic"]) _LT_DECL([], [file_magic_glob], [1], [How to find potential files when deplibs_check_method = "file_magic"]) _LT_DECL([], [want_nocaseglob], [1], [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) ])# _LT_CHECK_MAGIC_METHOD # LT_PATH_NM # ---------- # find the pathname to a BSD- or MS-compatible name lister AC_DEFUN([LT_PATH_NM], [AC_REQUIRE([AC_PROG_CC])dnl AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, [if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi]) if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : # Let the user override the test. else AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols" ;; *) DUMPBIN=: ;; esac fi AC_SUBST([DUMPBIN]) if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm AC_SUBST([NM]) _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], [lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) cat conftest.out >&AS_MESSAGE_LOG_FD if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest*]) ])# LT_PATH_NM # Old names: AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_PROG_NM], []) dnl AC_DEFUN([AC_PROG_NM], []) # _LT_CHECK_SHAREDLIB_FROM_LINKLIB # -------------------------------- # how to determine the name of the shared library # associated with a specific link library. # -- PORTME fill in with the dynamic library characteristics m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], [m4_require([_LT_DECL_EGREP]) m4_require([_LT_DECL_OBJDUMP]) m4_require([_LT_DECL_DLLTOOL]) AC_CACHE_CHECK([how to associate runtime and link libraries], lt_cv_sharedlib_from_linklib_cmd, [lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in cygwin* | mingw* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh # decide which to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib ;; *) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback ;; esac ;; *) # fallback: assume linklib IS sharedlib lt_cv_sharedlib_from_linklib_cmd="$ECHO" ;; esac ]) sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO _LT_DECL([], [sharedlib_from_linklib_cmd], [1], [Command to associate shared and link libraries]) ])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB # _LT_PATH_MANIFEST_TOOL # ---------------------- # locate the manifest tool m4_defun([_LT_PATH_MANIFEST_TOOL], [AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], [lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&AS_MESSAGE_LOG_FD if $GREP 'Manifest Tool' conftest.out > /dev/null; then lt_cv_path_mainfest_tool=yes fi rm -f conftest*]) if test "x$lt_cv_path_mainfest_tool" != xyes; then MANIFEST_TOOL=: fi _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl ])# _LT_PATH_MANIFEST_TOOL # LT_LIB_M # -------- # check for math library AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case $host in *-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") ;; *) AC_CHECK_LIB(m, cos, LIBM="-lm") ;; esac AC_SUBST([LIBM]) ])# LT_LIB_M # Old name: AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_CHECK_LIBM], []) # _LT_COMPILER_NO_RTTI([TAGNAME]) # ------------------------------- m4_defun([_LT_COMPILER_NO_RTTI], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= if test "$GCC" = yes; then case $cc_basename in nvcc*) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; *) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; esac _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], lt_cv_prog_compiler_rtti_exceptions, [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) fi _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], [Compiler flag to turn off builtin functions]) ])# _LT_COMPILER_NO_RTTI # _LT_CMD_GLOBAL_SYMBOLS # ---------------------- m4_defun([_LT_CMD_GLOBAL_SYMBOLS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([LT_PATH_NM])dnl AC_REQUIRE([LT_PATH_LD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_TAG_COMPILER])dnl # Check for command to grab the raw symbol name followed by C symbol from nm. AC_MSG_CHECKING([command to parse $NM output from $compiler object]) AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [ # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[[BCDEGRST]]' # Regexp to match symbols that can be accessed directly from C. sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[[BCDT]]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[[ABCDGISTW]]' ;; hpux*) if test "$host_cpu" = ia64; then symcode='[[ABCDEGRST]]' fi ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; osf*) symcode='[[BCDEGQRST]]' ;; solaris*) symcode='[[BDRT]]' ;; sco3.2v5*) symcode='[[DT]]' ;; sysv4.2uw2*) symcode='[[DT]]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[[ABDT]]' ;; sysv4) symcode='[[DFNSTU]]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[[ABCDGIRSTW]]' ;; esac # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function # and D for any global variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ " s[1]~/^[@?]/{print s[1], s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx]" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. nlist=conftest.nm if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) /* DATA imports from DLLs on WIN32 con't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT@&t@_DLSYM_CONST #elif defined(__osf__) /* This system does not cope well with relocations in const data. */ # define LT@&t@_DLSYM_CONST #else # define LT@&t@_DLSYM_CONST const #endif #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ LT@&t@_DLSYM_CONST struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[[]] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS CFLAGS=$lt_globsym_save_CFLAGS else echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD fi else echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done ]) if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then AC_MSG_RESULT(failed) else AC_MSG_RESULT(ok) fi # Response file support. if test "$lt_cv_nm_interface" = "MS dumpbin"; then nm_file_list_spec='@' elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then nm_file_list_spec='@' fi _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], [Take the output of nm and produce a listing of raw symbols and C names]) _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], [Transform the output of nm in a proper C declaration]) _LT_DECL([global_symbol_to_c_name_address], [lt_cv_sys_global_symbol_to_c_name_address], [1], [Transform the output of nm in a C name address pair]) _LT_DECL([global_symbol_to_c_name_address_lib_prefix], [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], [Transform the output of nm in a C name address pair when lib prefix is needed]) _LT_DECL([], [nm_file_list_spec], [1], [Specify filename containing input files for $NM]) ]) # _LT_CMD_GLOBAL_SYMBOLS # _LT_COMPILER_PIC([TAGNAME]) # --------------------------- m4_defun([_LT_COMPILER_PIC], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_wl, $1)= _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)= m4_if([$1], [CXX], [ # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. _LT_TAGVAR(lt_prog_compiler_static, $1)= ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else case $host_os in aix[[4-9]]*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; dgux*) case $cc_basename in ec++*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; ghcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' fi ;; aCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in KCC*) # KAI C++ Compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; ecpc* ) # old Intel C++ for x86_64 which still supported -KPIC. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL 8.0, 9.0 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; cxx*) # Digital/Compaq C++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; lcc*) # Lucid _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ], [ if test "$GCC" = yes; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. _LT_TAGVAR(lt_prog_compiler_static, $1)= ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" fi ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; hpux9* | hpux10* | hpux11*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC (with -KPIC) is the default. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # Lahey Fortran 8.1. lf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' ;; nagfor*) # NAG Fortran compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; ccc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All Alpha code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='' ;; *Sun\ F* | *Sun*Fortran*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; *Intel*\ [[CF]]*Compiler*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; *Portland\ Group*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; esac ;; newsos6) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All OSF/1 code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; rdos*) _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; solaris*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; *) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; esac ;; sunos4*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; unicos*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; uts4*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ]) case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" ;; esac AC_CACHE_CHECK([for $compiler option to produce PIC], [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) _LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) # # Check to make sure the PIC flag actually works. # if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in "" | " "*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; esac], [_LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) fi _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], [Additional compiler flags for building library objects]) _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], [How to pass a linker flag through the compiler]) # # Check to make sure the static flag actually works. # wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), $lt_tmp_static_flag, [], [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], [Compiler flag to prevent dynamic linking]) ])# _LT_COMPILER_PIC # _LT_LINKER_SHLIBS([TAGNAME]) # ---------------------------- # See if the linker supports building shared libraries. m4_defun([_LT_LINKER_SHLIBS], [AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl m4_require([_LT_PATH_MANIFEST_TOOL])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) m4_if([$1], [CXX], [ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] case $host_os in aix[[4-9]]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global defined # symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" ;; cygwin* | mingw* | cegcc*) case $cc_basename in cl*) _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] ;; esac ;; linux* | k*bsd*-gnu | gnu*) _LT_TAGVAR(link_all_deplibs, $1)=no ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac ], [ runpath_var= _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_cmds, $1)= _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(old_archive_from_new_cmds, $1)= _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= _LT_TAGVAR(thread_safe_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list _LT_TAGVAR(include_expsyms, $1)= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. dnl Note also adjust exclude_expsyms for C++ above. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; linux* | k*bsd*-gnu | gnu*) _LT_TAGVAR(link_all_deplibs, $1)=no ;; esac _LT_TAGVAR(ld_shlibs, $1)=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test "$with_gnu_ld" = yes; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test "$lt_use_gnu_ld_interface" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no case `$LD -v 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[[3-9]]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; haiku*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 _LT_TAGVAR(whole_archive_flag_spec, $1)= tmp_sharedflag='--shared' ;; xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; sunos4*) _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then runpath_var= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. _LT_TAGVAR(hardcode_minus_L, $1)=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. _LT_TAGVAR(hardcode_direct, $1)=unsupported fi ;; aix[[4-9]]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global # defined symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi _LT_TAGVAR(link_all_deplibs, $1)=no else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; bsdi[[45]]*) _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in cl*) # Native MSVC _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(file_list_spec, $1)='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; else sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile="$lt_outputfile.exe" lt_tool_outputfile="$lt_tool_outputfile.exe" ;; esac~ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # Assume MSVC wrapper _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' # FIXME: Should let the user specify the lib program. _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; esac ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2.*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; hpux9*) if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; hpux10*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes fi ;; hpux11*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) m4_if($1, [], [ # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) _LT_LINKER_OPTION([if $CC understands -b], _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) ;; esac fi if test "$with_gnu_ld" = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], [lt_cv_irix_exported_symbol], [save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" AC_LINK_IFELSE( [AC_LANG_SOURCE( [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], [C++], [[int foo (void) { return 0; }]], [Fortran 77], [[ subroutine foo end]], [Fortran], [[ subroutine foo end]])])], [lt_cv_irix_exported_symbol=yes], [lt_cv_irix_exported_symbol=no]) LDFLAGS="$save_LDFLAGS"]) if test "$lt_cv_irix_exported_symbol" = yes; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' fi else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes _LT_TAGVAR(link_all_deplibs, $1)=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; newsos6) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' else case $host_os in openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ;; esac fi else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; os2*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; solaris*) _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4) case $host_vendor in sni) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' _LT_TAGVAR(hardcode_direct, $1)=no ;; motorola) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4.3*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes _LT_TAGVAR(ld_shlibs, $1)=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(ld_shlibs, $1)=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' ;; esac fi fi ]) AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl _LT_DECL([], [extract_expsyms_cmds], [2], [The commands to extract the exported symbol list from a shared archive]) # # Do we need to explicitly link libc? # case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in x|xyes) # Assume -lc should be added _LT_TAGVAR(archive_cmds_need_lc, $1)=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $_LT_TAGVAR(archive_cmds, $1) in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. AC_CACHE_CHECK([whether -lc should be explicitly linked in], [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), [$RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if AC_TRY_EVAL(ac_compile) 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) _LT_TAGVAR(allow_undefined_flag, $1)= if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) then lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no else lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes fi _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* ]) _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) ;; esac fi ;; esac _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], [Whether or not to add -lc for building shared libraries]) _LT_TAGDECL([allow_libtool_libs_with_static_runtimes], [enable_shared_with_static_runtimes], [0], [Whether or not to disallow shared libs when runtime libs are static]) _LT_TAGDECL([], [export_dynamic_flag_spec], [1], [Compiler flag to allow reflexive dlopens]) _LT_TAGDECL([], [whole_archive_flag_spec], [1], [Compiler flag to generate shared objects directly from archives]) _LT_TAGDECL([], [compiler_needs_object], [1], [Whether the compiler copes with passing no objects directly]) _LT_TAGDECL([], [old_archive_from_new_cmds], [2], [Create an old-style archive from a shared archive]) _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], [Create a temporary old-style archive to link instead of a shared archive]) _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) _LT_TAGDECL([], [archive_expsym_cmds], [2]) _LT_TAGDECL([], [module_cmds], [2], [Commands used to build a loadable module if different from building a shared archive.]) _LT_TAGDECL([], [module_expsym_cmds], [2]) _LT_TAGDECL([], [with_gnu_ld], [1], [Whether we are building with GNU ld or not]) _LT_TAGDECL([], [allow_undefined_flag], [1], [Flag that allows shared libraries with undefined symbols to be built]) _LT_TAGDECL([], [no_undefined_flag], [1], [Flag that enforces no undefined symbols]) _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], [Flag to hardcode $libdir into a binary during linking. This must work even if $libdir does not exist]) _LT_TAGDECL([], [hardcode_libdir_separator], [1], [Whether we need a single "-rpath" flag with a separated argument]) _LT_TAGDECL([], [hardcode_direct], [0], [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_direct_absolute], [0], [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the resulting binary and the resulting library dependency is "absolute", i.e impossible to change by setting ${shlibpath_var} if the library is relocated]) _LT_TAGDECL([], [hardcode_minus_L], [0], [Set to "yes" if using the -LDIR flag during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_shlibpath_var], [0], [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_automatic], [0], [Set to "yes" if building a shared library automatically hardcodes DIR into the library and all subsequent libraries and executables linked against it]) _LT_TAGDECL([], [inherit_rpath], [0], [Set to yes if linker adds runtime paths of dependent libraries to runtime path list]) _LT_TAGDECL([], [link_all_deplibs], [0], [Whether libtool must link a program against all its dependency libraries]) _LT_TAGDECL([], [always_export_symbols], [0], [Set to "yes" if exported symbols are required]) _LT_TAGDECL([], [export_symbols_cmds], [2], [The commands to list exported symbols]) _LT_TAGDECL([], [exclude_expsyms], [1], [Symbols that should not be listed in the preloaded symbols]) _LT_TAGDECL([], [include_expsyms], [1], [Symbols that must always be exported]) _LT_TAGDECL([], [prelink_cmds], [2], [Commands necessary for linking programs (against libraries) with templates]) _LT_TAGDECL([], [postlink_cmds], [2], [Commands necessary for finishing linking programs]) _LT_TAGDECL([], [file_list_spec], [1], [Specify filename containing input files]) dnl FIXME: Not yet implemented dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], dnl [Compiler flag to generate thread safe objects]) ])# _LT_LINKER_SHLIBS # _LT_LANG_C_CONFIG([TAG]) # ------------------------ # Ensure that the configuration variables for a C compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to `libtool'. m4_defun([_LT_LANG_C_CONFIG], [m4_require([_LT_DECL_EGREP])dnl lt_save_CC="$CC" AC_LANG_PUSH(C) # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' _LT_TAG_COMPILER # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) LT_SYS_DLOPEN_SELF _LT_CMD_STRIPLIB # Report which library types will actually be built AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_CONFIG($1) fi AC_LANG_POP CC="$lt_save_CC" ])# _LT_LANG_C_CONFIG # _LT_LANG_CXX_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a C++ compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to `libtool'. m4_defun([_LT_LANG_CXX_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_PATH_MANIFEST_TOOL])dnl if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then AC_PROG_CXXCPP else _lt_caught_CXX_error=yes fi AC_LANG_PUSH(C++) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_caught_CXX_error" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} CFLAGS=$CXXFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' else _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration LT_PATH_LD # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='${wl}' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) _LT_TAGVAR(ld_shlibs, $1)=yes case $host_os in aix3*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aix[[4-9]]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' if test "$GXX" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. _LT_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an empty # executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared # libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in ,cl* | no,cl*) # Native MSVC # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(file_list_spec, $1)='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; else $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile="$lt_outputfile.exe" lt_tool_outputfile="$lt_tool_outputfile.exe" ;; esac~ func_to_tool_file "$lt_outputfile"~ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # g++ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; freebsd2.*) # C++ shared libraries reported to be fairly broken before # switch to ELF _LT_TAGVAR(ld_shlibs, $1)=no ;; freebsd-elf*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_TAGVAR(ld_shlibs, $1)=yes ;; gnu*) ;; haiku*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes ;; hpux9*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) ;; *) _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes; then if test $with_gnu_ld = no; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' fi fi _LT_TAGVAR(link_all_deplibs, $1)=yes ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ $RANLIB $oldlib' _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; *) # Version 6 and above use weak symbols _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' ;; xl* | mpixl* | bgxl*) # IBM XL 8.0 on PPC, with GNU ld _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; m88k*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) _LT_TAGVAR(ld_shlibs, $1)=yes ;; openbsd2*) # C++ shared libraries are fairly broken _LT_TAGVAR(ld_shlibs, $1)=no ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd=func_echo_all else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; cxx*) case $host in osf3*) _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' ;; *) _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ $RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' ;; esac _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' case $host in osf3*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # g++ 2.7 appears to require `-G' NOT `-shared' on this # platform. _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ '"$_LT_TAGVAR(old_archive_cmds, $1)" _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ '"$_LT_TAGVAR(reload_cmds, $1)" ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_TAGVAR(GCC, $1)="$GXX" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test "$_lt_caught_CXX_error" != yes AC_LANG_POP ])# _LT_LANG_CXX_CONFIG # _LT_FUNC_STRIPNAME_CNF # ---------------------- # func_stripname_cnf prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # # This function is identical to the (non-XSI) version of func_stripname, # except this one can be used by m4 code that may be executed by configure, # rather than the libtool script. m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl AC_REQUIRE([_LT_DECL_SED]) AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) func_stripname_cnf () { case ${2} in .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; esac } # func_stripname_cnf ])# _LT_FUNC_STRIPNAME_CNF # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) # --------------------------------- # Figure out "hidden" library dependencies from verbose # compiler output when linking a shared library. # Parse the compiler output and extract the necessary # objects, libraries and library flags. m4_defun([_LT_SYS_HIDDEN_LIBDEPS], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl # Dependencies to place before and after the object being linked: _LT_TAGVAR(predep_objects, $1)= _LT_TAGVAR(postdep_objects, $1)= _LT_TAGVAR(predeps, $1)= _LT_TAGVAR(postdeps, $1)= _LT_TAGVAR(compiler_lib_search_path, $1)= dnl we can't use the lt_simple_compile_test_code here, dnl because it contains code intended for an executable, dnl not a library. It's possible we should let each dnl tag define a new lt_????_link_test_code variable, dnl but it's only used here... m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF int a; void foo (void) { a = 0; } _LT_EOF ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer*4 a a=0 return end _LT_EOF ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer a a=0 return end _LT_EOF ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF public class foo { private int a; public void bar (void) { a = 0; } }; _LT_EOF ], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF package foo func foo() { } _LT_EOF ]) _lt_libdeps_save_CFLAGS=$CFLAGS case "$CC $CFLAGS " in #( *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; esac dnl Parse the compiler output and extract the necessary dnl objects, libraries and library flags. if AC_TRY_EVAL(ac_compile); then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do case ${prev}${p} in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test $p = "-L" || test $p = "-R"; then prev=$p continue fi # Expand the sysroot to ease extracting the directories later. if test -z "$prev"; then case $p in -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; esac fi case $p in =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; esac if test "$pre_test_object_deps_done" = no; then case ${prev} in -L | -R) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" else _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$_LT_TAGVAR(postdeps, $1)"; then _LT_TAGVAR(postdeps, $1)="${prev}${p}" else _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" fi fi prev= ;; *.lto.$objext) ;; # Ignore GCC LTO objects *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test "$pre_test_object_deps_done" = no; then if test -z "$_LT_TAGVAR(predep_objects, $1)"; then _LT_TAGVAR(predep_objects, $1)="$p" else _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" fi else if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then _LT_TAGVAR(postdep_objects, $1)="$p" else _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling $1 test program" fi $RM -f confest.$objext CFLAGS=$_lt_libdeps_save_CFLAGS # PORTME: override above test on systems where it is broken m4_if([$1], [CXX], [case $host_os in interix[[3-9]]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. _LT_TAGVAR(predep_objects,$1)= _LT_TAGVAR(postdep_objects,$1)= _LT_TAGVAR(postdeps,$1)= ;; linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; esac ]) case " $_LT_TAGVAR(postdeps, $1) " in *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; esac _LT_TAGVAR(compiler_lib_search_dirs, $1)= if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` fi _LT_TAGDECL([], [compiler_lib_search_dirs], [1], [The directories searched by this compiler when creating a shared library]) _LT_TAGDECL([], [predep_objects], [1], [Dependencies to place before and after the objects being linked to create a shared library]) _LT_TAGDECL([], [postdep_objects], [1]) _LT_TAGDECL([], [predeps], [1]) _LT_TAGDECL([], [postdeps], [1]) _LT_TAGDECL([], [compiler_lib_search_path], [1], [The library search path used internally by the compiler when linking a shared library]) ])# _LT_SYS_HIDDEN_LIBDEPS # _LT_LANG_F77_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a Fortran 77 compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_F77_CONFIG], [AC_LANG_PUSH(Fortran 77) if test -z "$F77" || test "X$F77" = "Xno"; then _lt_disable_F77=yes fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the F77 compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_disable_F77" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${F77-"f77"} CFLAGS=$FFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) GCC=$G77 if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)="$G77" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC="$lt_save_CC" CFLAGS="$lt_save_CFLAGS" fi # test "$_lt_disable_F77" != yes AC_LANG_POP ])# _LT_LANG_F77_CONFIG # _LT_LANG_FC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for a Fortran compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_FC_CONFIG], [AC_LANG_PUSH(Fortran) if test -z "$FC" || test "X$FC" = "Xno"; then _lt_disable_FC=yes fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for fc test sources. ac_ext=${ac_fc_srcext-f} # Object file extension for compiled fc test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the FC compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_disable_FC" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${FC-"f95"} CFLAGS=$FCFLAGS compiler=$CC GCC=$ac_cv_fc_compiler_gnu _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS fi # test "$_lt_disable_FC" != yes AC_LANG_POP ])# _LT_LANG_FC_CONFIG # _LT_LANG_GCJ_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Java Compiler compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_GCJ_CONFIG], [AC_REQUIRE([LT_PROG_GCJ])dnl AC_LANG_SAVE # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC=yes CC=${GCJ-"gcj"} CFLAGS=$GCJFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)="$LD" _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_GCJ_CONFIG # _LT_LANG_GO_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Go compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_GO_CONFIG], [AC_REQUIRE([LT_PROG_GO])dnl AC_LANG_SAVE # Source file extension for Go test sources. ac_ext=go # Object file extension for compiled Go test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="package main; func main() { }" # Code to be used in simple link tests lt_simple_link_test_code='package main; func main() { }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC=yes CC=${GOC-"gccgo"} CFLAGS=$GOFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)="$LD" _LT_CC_BASENAME([$compiler]) # Go did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_GO_CONFIG # _LT_LANG_RC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for the Windows resource compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_RC_CONFIG], [AC_REQUIRE([LT_PROG_RC])dnl AC_LANG_SAVE # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # Code to be used in simple link tests lt_simple_link_test_code="$lt_simple_compile_test_code" # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC= CC=${RC-"windres"} CFLAGS= compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes if test -n "$compiler"; then : _LT_CONFIG($1) fi GCC=$lt_save_GCC AC_LANG_RESTORE CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_RC_CONFIG # LT_PROG_GCJ # ----------- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], [AC_CHECK_TOOL(GCJ, gcj,) test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" AC_SUBST(GCJFLAGS)])])[]dnl ]) # Old name: AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_GCJ], []) # LT_PROG_GO # ---------- AC_DEFUN([LT_PROG_GO], [AC_CHECK_TOOL(GOC, gccgo,) ]) # LT_PROG_RC # ---------- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,) ]) # Old name: AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_RC], []) # _LT_DECL_EGREP # -------------- # If we don't have a new enough Autoconf to choose the best grep # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_EGREP], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_REQUIRE([AC_PROG_FGREP])dnl test -z "$GREP" && GREP=grep _LT_DECL([], [GREP], [1], [A grep program that handles long lines]) _LT_DECL([], [EGREP], [1], [An ERE matcher]) _LT_DECL([], [FGREP], [1], [A literal string matcher]) dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too AC_SUBST([GREP]) ]) # _LT_DECL_OBJDUMP # -------------- # If we don't have a new enough Autoconf to choose the best objdump # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_OBJDUMP], [AC_CHECK_TOOL(OBJDUMP, objdump, false) test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) AC_SUBST([OBJDUMP]) ]) # _LT_DECL_DLLTOOL # ---------------- # Ensure DLLTOOL variable is set. m4_defun([_LT_DECL_DLLTOOL], [AC_CHECK_TOOL(DLLTOOL, dlltool, false) test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [1], [DLL creation program]) AC_SUBST([DLLTOOL]) ]) # _LT_DECL_SED # ------------ # Check for a fully-functional sed program, that truncates # as few characters as possible. Prefer GNU sed if found. m4_defun([_LT_DECL_SED], [AC_PROG_SED test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" _LT_DECL([], [SED], [1], [A sed program that does not truncate output]) _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], [Sed that helps us avoid accidentally triggering echo(1) options like -n]) ])# _LT_DECL_SED m4_ifndef([AC_PROG_SED], [ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_SED. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # m4_defun([AC_PROG_SED], [AC_MSG_CHECKING([for a sed that does not truncate output]) AC_CACHE_VAL(lt_cv_path_SED, [# Loop through the user's path and test for sed and gsed. # Then use that list of sed's as ones to test for truncation. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for lt_ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done done done IFS=$as_save_IFS lt_ac_max=0 lt_ac_count=0 # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do test ! -f $lt_ac_sed && continue cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in # Check for GNU sed and select it if it is found. if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then lt_cv_path_SED=$lt_ac_sed break fi while true; do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo >>conftest.nl $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break cmp -s conftest.out conftest.nl || break # 10000 chars as input seems more than enough test $lt_ac_count -gt 10 && break lt_ac_count=`expr $lt_ac_count + 1` if test $lt_ac_count -gt $lt_ac_max; then lt_ac_max=$lt_ac_count lt_cv_path_SED=$lt_ac_sed fi done done ]) SED=$lt_cv_path_SED AC_SUBST([SED]) AC_MSG_RESULT([$SED]) ])#AC_PROG_SED ])#m4_ifndef # Old name: AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_SED], []) # _LT_CHECK_SHELL_FEATURES # ------------------------ # Find out whether the shell is Bourne or XSI compatible, # or has some other useful features. m4_defun([_LT_CHECK_SHELL_FEATURES], [AC_MSG_CHECKING([whether the shell understands some XSI constructs]) # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ = c,a/b,b/c, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes AC_MSG_RESULT([$xsi_shell]) _LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) AC_MSG_CHECKING([whether the shell understands "+="]) lt_shell_append=no ( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes AC_MSG_RESULT([$lt_shell_append]) _LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl ])# _LT_CHECK_SHELL_FEATURES # _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY) # ------------------------------------------------------ # In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and # '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY. m4_defun([_LT_PROG_FUNCTION_REPLACE], [dnl { sed -e '/^$1 ()$/,/^} # $1 /c\ $1 ()\ {\ m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1]) } # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: ]) # _LT_PROG_REPLACE_SHELLFNS # ------------------------- # Replace existing portable implementations of several shell functions with # equivalent extended shell implementations where those features are available.. m4_defun([_LT_PROG_REPLACE_SHELLFNS], [if test x"$xsi_shell" = xyes; then _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac]) _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl func_basename_result="${1##*/}"]) _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac func_basename_result="${1##*/}"]) _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are # positional parameters, so assign one to ordinary parameter first. func_stripname_result=${3} func_stripname_result=${func_stripname_result#"${1}"} func_stripname_result=${func_stripname_result%"${2}"}]) _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl func_split_long_opt_name=${1%%=*} func_split_long_opt_arg=${1#*=}]) _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl func_split_short_opt_arg=${1#??} func_split_short_opt_name=${1%"$func_split_short_opt_arg"}]) _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl case ${1} in *.lo) func_lo2o_result=${1%.lo}.${objext} ;; *) func_lo2o_result=${1} ;; esac]) _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo]) _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))]) _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}]) fi if test x"$lt_shell_append" = xyes; then _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"]) _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl func_quote_for_eval "${2}" dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \ eval "${1}+=\\\\ \\$func_quote_for_eval_result"]) # Save a `func_append' function call where possible by direct use of '+=' sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: else # Save a `func_append' function call even when '+=' is not available sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: fi if test x"$_lt_function_replace_fail" = x":"; then AC_MSG_WARN([Unable to substitute extended shell functions in $ofile]) fi ]) # _LT_PATH_CONVERSION_FUNCTIONS # ----------------------------- # Determine which file name conversion functions should be used by # func_to_host_file (and, implicitly, by func_to_host_path). These are needed # for certain cross-compile configurations and native mingw. m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_MSG_CHECKING([how to convert $build file names to $host format]) AC_CACHE_VAL(lt_cv_to_host_file_cmd, [case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 ;; esac ;; *-*-cygwin* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_noop ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin ;; esac ;; * ) # unhandled hosts (and "normal" native builds) lt_cv_to_host_file_cmd=func_convert_file_noop ;; esac ]) to_host_file_cmd=$lt_cv_to_host_file_cmd AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) _LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], [0], [convert $build file names to $host format])dnl AC_MSG_CHECKING([how to convert $build file names to toolchain format]) AC_CACHE_VAL(lt_cv_to_tool_file_cmd, [#assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ;; esac ;; esac ]) to_tool_file_cmd=$lt_cv_to_tool_file_cmd AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) _LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], [0], [convert $build files to toolchain format])dnl ])# _LT_PATH_CONVERSION_FUNCTIONS # Helper functions for option handling. -*- Autoconf -*- # # Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, # Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 7 ltoptions.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) # _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) # ------------------------------------------ m4_define([_LT_MANGLE_OPTION], [[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) # _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) # --------------------------------------- # Set option OPTION-NAME for macro MACRO-NAME, and if there is a # matching handler defined, dispatch to it. Other OPTION-NAMEs are # saved as a flag. m4_define([_LT_SET_OPTION], [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), _LT_MANGLE_DEFUN([$1], [$2]), [m4_warning([Unknown $1 option `$2'])])[]dnl ]) # _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) # ------------------------------------------------------------ # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. m4_define([_LT_IF_OPTION], [m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) # _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) # ------------------------------------------------------- # Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME # are set. m4_define([_LT_UNLESS_OPTIONS], [m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), [m4_define([$0_found])])])[]dnl m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 ])[]dnl ]) # _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) # ---------------------------------------- # OPTION-LIST is a space-separated list of Libtool options associated # with MACRO-NAME. If any OPTION has a matching handler declared with # LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about # the unknown option and exit. m4_defun([_LT_SET_OPTIONS], [# Set options m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [_LT_SET_OPTION([$1], _LT_Option)]) m4_if([$1],[LT_INIT],[ dnl dnl Simply set some default values (i.e off) if boolean options were not dnl specified: _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no ]) _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no ]) dnl dnl If no reference was made to various pairs of opposing options, then dnl we run the default mode handler for the pair. For example, if neither dnl `shared' nor `disable-shared' was passed, we enable building of shared dnl archives by default: _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], [_LT_ENABLE_FAST_INSTALL]) ]) ])# _LT_SET_OPTIONS # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) # ----------------------------------------- m4_define([_LT_MANGLE_DEFUN], [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) # LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) # ----------------------------------------------- m4_define([LT_OPTION_DEFINE], [m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl ])# LT_OPTION_DEFINE # dlopen # ------ LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes ]) AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `dlopen' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) # win32-dll # --------- # Declare package support for building win32 dll's. LT_OPTION_DEFINE([LT_INIT], [win32-dll], [enable_win32_dll=yes case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) AC_CHECK_TOOL(AS, as, false) AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(OBJDUMP, objdump, false) ;; esac test -z "$AS" && AS=as _LT_DECL([], [AS], [1], [Assembler program])dnl test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl ])# win32-dll AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl _LT_SET_OPTION([LT_INIT], [win32-dll]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `win32-dll' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) # _LT_ENABLE_SHARED([DEFAULT]) # ---------------------------- # implement the --enable-shared flag, and supports the `shared' and # `disable-shared' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_SHARED], [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([shared], [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) _LT_DECL([build_libtool_libs], [enable_shared], [0], [Whether or not to build shared libraries]) ])# _LT_ENABLE_SHARED LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) # Old names: AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) ]) AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) ]) AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_SHARED], []) dnl AC_DEFUN([AM_DISABLE_SHARED], []) # _LT_ENABLE_STATIC([DEFAULT]) # ---------------------------- # implement the --enable-static flag, and support the `static' and # `disable-static' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_STATIC], [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([static], [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_static=]_LT_ENABLE_STATIC_DEFAULT) _LT_DECL([build_old_libs], [enable_static], [0], [Whether or not to build static libraries]) ])# _LT_ENABLE_STATIC LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) # Old names: AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) ]) AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) ]) AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_STATIC], []) dnl AC_DEFUN([AM_DISABLE_STATIC], []) # _LT_ENABLE_FAST_INSTALL([DEFAULT]) # ---------------------------------- # implement the --enable-fast-install flag, and support the `fast-install' # and `disable-fast-install' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_FAST_INSTALL], [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([fast-install], [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) _LT_DECL([fast_install], [enable_fast_install], [0], [Whether or not to optimize for fast installation])dnl ])# _LT_ENABLE_FAST_INSTALL LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) # Old names: AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `fast-install' option into LT_INIT's first parameter.]) ]) AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `disable-fast-install' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) # _LT_WITH_PIC([MODE]) # -------------------- # implement the --with-pic flag, and support the `pic-only' and `no-pic' # LT_INIT options. # MODE is either `yes' or `no'. If omitted, it defaults to `both'. m4_define([_LT_WITH_PIC], [AC_ARG_WITH([pic], [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], [lt_p=${PACKAGE-default} case $withval in yes|no) pic_mode=$withval ;; *) pic_mode=default # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for lt_pkg in $withval; do IFS="$lt_save_ifs" if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done IFS="$lt_save_ifs" ;; esac], [pic_mode=default]) test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl ])# _LT_WITH_PIC LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) # Old name: AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `pic-only' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) m4_define([_LTDL_MODE], []) LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], [m4_define([_LTDL_MODE], [nonrecursive])]) LT_OPTION_DEFINE([LTDL_INIT], [recursive], [m4_define([_LTDL_MODE], [recursive])]) LT_OPTION_DEFINE([LTDL_INIT], [subproject], [m4_define([_LTDL_MODE], [subproject])]) m4_define([_LTDL_TYPE], []) LT_OPTION_DEFINE([LTDL_INIT], [installable], [m4_define([_LTDL_TYPE], [installable])]) LT_OPTION_DEFINE([LTDL_INIT], [convenience], [m4_define([_LTDL_TYPE], [convenience])]) # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # # Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 6 ltsugar.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) # lt_join(SEP, ARG1, [ARG2...]) # ----------------------------- # Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their # associated separator. # Needed until we can rely on m4_join from Autoconf 2.62, since all earlier # versions in m4sugar had bugs. m4_define([lt_join], [m4_if([$#], [1], [], [$#], [2], [[$2]], [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) m4_define([_lt_join], [m4_if([$#$2], [2], [], [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) # lt_car(LIST) # lt_cdr(LIST) # ------------ # Manipulate m4 lists. # These macros are necessary as long as will still need to support # Autoconf-2.59 which quotes differently. m4_define([lt_car], [[$1]]) m4_define([lt_cdr], [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], [$#], 1, [], [m4_dquote(m4_shift($@))])]) m4_define([lt_unquote], $1) # lt_append(MACRO-NAME, STRING, [SEPARATOR]) # ------------------------------------------ # Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. # Note that neither SEPARATOR nor STRING are expanded; they are appended # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). # No SEPARATOR is output if MACRO-NAME was previously undefined (different # than defined and empty). # # This macro is needed until we can rely on Autoconf 2.62, since earlier # versions of m4sugar mistakenly expanded SEPARATOR but not STRING. m4_define([lt_append], [m4_define([$1], m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) # lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) # ---------------------------------------------------------- # Produce a SEP delimited list of all paired combinations of elements of # PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list # has the form PREFIXmINFIXSUFFIXn. # Needed until we can rely on m4_combine added in Autoconf 2.62. m4_define([lt_combine], [m4_if(m4_eval([$# > 3]), [1], [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl [[m4_foreach([_Lt_prefix], [$2], [m4_foreach([_Lt_suffix], ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) # lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) # ----------------------------------------------------------------------- # Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited # by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. m4_define([lt_if_append_uniq], [m4_ifdef([$1], [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], [lt_append([$1], [$2], [$3])$4], [$5])], [lt_append([$1], [$2], [$3])$4])]) # lt_dict_add(DICT, KEY, VALUE) # ----------------------------- m4_define([lt_dict_add], [m4_define([$1($2)], [$3])]) # lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) # -------------------------------------------- m4_define([lt_dict_add_subkey], [m4_define([$1($2:$3)], [$4])]) # lt_dict_fetch(DICT, KEY, [SUBKEY]) # ---------------------------------- m4_define([lt_dict_fetch], [m4_ifval([$3], m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) # lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) # ----------------------------------------------------------------- m4_define([lt_if_dict_fetch], [m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], [$5], [$6])]) # lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) # -------------------------------------------------------------- m4_define([lt_dict_filter], [m4_if([$5], [], [], [lt_join(m4_quote(m4_default([$4], [[, ]])), lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl ]) # ltversion.m4 -- version numbers -*- Autoconf -*- # # Copyright (C) 2004 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # @configure_input@ # serial 3337 ltversion.m4 # This file is part of GNU Libtool m4_define([LT_PACKAGE_VERSION], [2.4.2]) m4_define([LT_PACKAGE_REVISION], [1.3337]) AC_DEFUN([LTVERSION_VERSION], [macro_version='2.4.2' macro_revision='1.3337' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # # Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004. # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 5 lt~obsolete.m4 # These exist entirely to fool aclocal when bootstrapping libtool. # # In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) # which have later been changed to m4_define as they aren't part of the # exported API, or moved to Autoconf or Automake where they belong. # # The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN # in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us # using a macro with the same name in our local m4/libtool.m4 it'll # pull the old libtool.m4 in (it doesn't see our shiny new m4_define # and doesn't know about Autoconf macros at all.) # # So we provide this file, which has a silly filename so it's always # included after everything else. This provides aclocal with the # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything # because those macros already exist, or will be overwritten later. # We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. # # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. # Yes, that means every name once taken will need to remain here until # we give up compatibility with versions before 1.7, at which point # we need to keep only those names which we still refer to. # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software # Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 1 # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.11' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.11.3], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.11.3])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 1 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 9 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, # 2010, 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 12 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "GCJ", or "OBJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], UPC, [depcc="$UPC" am_compiler_list=], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl AC_SUBST([am__nodep])dnl _AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. #serial 5 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each `.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2008, 2009 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 16 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.62])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES(OBJC)], [define([AC_PROG_OBJC], defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl ]) _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl dnl The `parallel-tests' driver may need to know about EXEEXT, so add the dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl ]) dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation, # Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 1 # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from `make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 6 # AM_PROG_CC_C_O # -------------- # Like AC_PROG_CC_C_O, but changed for automake. AC_DEFUN([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC_C_O])dnl AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([compile])dnl # FIXME: we rely on the cache variable name because # there is no other way. set dummy $CC am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o if test "$am_t" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi dnl Make sure AC_PROG_CC is never called again, or it will override our dnl setting of CC. m4_define([AC_PROG_CC], [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])]) ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 6 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation, # Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 1 # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of dnl Makefile.ins that do not define MKDIR_P, so we do our own dnl adjustment using top_builddir (which is defined more often than dnl MKDIR_P). AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software # Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; esac # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 1 # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) # -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of `v7', `ustar', or `pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AC_SUBST([AMTAR], ['$${TAR-tar}']) m4_if([$1], [v7], [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR gtg-trace-0.2+dfsg/compile000077500000000000000000000153371175246114100155400ustar00rootroot00000000000000#! /bin/sh # Wrapper for compilers which do not understand '-c -o'. scriptversion=2012-01-04.17; # UTC # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010, 2012 Free # Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . nl=' ' # We need space, tab and new line, in precisely that order. Quoting is # there to prevent tools from complaining about whitespace usage. IFS=" "" $nl" file_conv= # func_file_conv build_file lazy # Convert a $build file to $host form and store it in $file # Currently only supports Windows hosts. If the determined conversion # type is listed in (the comma separated) LAZY, no conversion will # take place. func_file_conv () { file=$1 case $file in / | /[!/]*) # absolute file, and not a UNC file if test -z "$file_conv"; then # lazily determine how to convert abs files case `uname -s` in MINGW*) file_conv=mingw ;; CYGWIN*) file_conv=cygwin ;; *) file_conv=wine ;; esac fi case $file_conv/,$2, in *,$file_conv,*) ;; mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; cygwin/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) file=`winepath -w "$file" || echo "$file"` ;; esac ;; esac } # func_cl_wrapper cl arg... # Adjust compile command to suit cl func_cl_wrapper () { # Assume a capable shell lib_path= shared=: linker_opts= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. eat=1 case $2 in *.o | *.[oO][bB][jJ]) func_file_conv "$2" set x "$@" -Fo"$file" shift ;; *) func_file_conv "$2" set x "$@" -Fe"$file" shift ;; esac ;; -I*) func_file_conv "${1#-I}" mingw set x "$@" -I"$file" shift ;; -l*) lib=${1#-l} found=no save_IFS=$IFS IFS=';' for dir in $lib_path $LIB do IFS=$save_IFS if $shared && test -f "$dir/$lib.dll.lib"; then found=yes set x "$@" "$dir/$lib.dll.lib" break fi if test -f "$dir/$lib.lib"; then found=yes set x "$@" "$dir/$lib.lib" break fi done IFS=$save_IFS test "$found" != yes && set x "$@" "$lib.lib" shift ;; -L*) func_file_conv "${1#-L}" if test -z "$lib_path"; then lib_path=$file else lib_path="$lib_path;$file" fi linker_opts="$linker_opts -LIBPATH:$file" ;; -static) shared=false ;; -Wl,*) arg=${1#-Wl,} save_ifs="$IFS"; IFS=',' for flag in $arg; do IFS="$save_ifs" linker_opts="$linker_opts $flag" done IFS="$save_ifs" ;; -Xlinker) eat=1 linker_opts="$linker_opts $2" ;; -*) set x "$@" "$1" shift ;; *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) func_file_conv "$1" set x "$@" -Tp"$file" shift ;; *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) func_file_conv "$1" mingw set x "$@" "$file" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -n "$linker_opts"; then linker_opts="-link$linker_opts" fi exec "$@" $linker_opts exit 1 } eat= case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: compile [--help] [--version] PROGRAM [ARGS] Wrapper for compilers which do not understand '-c -o'. Remove '-o dest.o' from ARGS, run PROGRAM with the remaining arguments, and rename the output as expected. If you are trying to build a whole package this is not the right script to run: please start by reading the file 'INSTALL'. Report bugs to . EOF exit $? ;; -v | --v*) echo "compile $scriptversion" exit $? ;; cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac ofile= cfile= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. # So we strip '-o arg' only if arg is an object. eat=1 case $2 in *.o | *.obj) ofile=$2 ;; *) set x "$@" -o "$2" shift ;; esac ;; *.c) cfile=$1 set x "$@" "$1" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -z "$ofile" || test -z "$cfile"; then # If no '-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no # '.c' file was seen then we are probably linking. That is also # ok. exec "$@" fi # Name of file we expect compiler to create. cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` # Create the lock directory. # Note: use '[/\\:.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d while true; do if mkdir "$lockdir" >/dev/null 2>&1; then break fi sleep 1 done # FIXME: race condition here if user kills between mkdir and trap. trap "rmdir '$lockdir'; exit 1" 1 2 15 # Run the compile. "$@" ret=$? if test -f "$cofile"; then test "$cofile" = "$ofile" || mv "$cofile" "$ofile" elif test -f "${cofile}bj"; then test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" fi rmdir "$lockdir" exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: gtg-trace-0.2+dfsg/config.guess000077500000000000000000001274321175246114100165020ustar00rootroot00000000000000#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, # 2011, 2012 Free Software Foundation, Inc. timestamp='2012-02-10' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Per Bothner. Please send patches (context # diff format) to and include a ChangeLog # entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 exit $exitcode ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm:riscos:*:*|arm:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux${UNAME_RELEASE} exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH="x86_64" fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` case ${UNAME_PROCESSOR} in amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:MSYS*:*) echo ${UNAME_MACHINE}-pc-msys exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; 8664:Windows_NT:*) echo x86_64-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; aarch64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-gnu else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then echo ${UNAME_MACHINE}-unknown-linux-gnueabi else echo ${UNAME_MACHINE}-unknown-linux-gnueabihf fi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-gnu exit ;; frv:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; hexagon:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:Linux:*:*) LIBC=gnu eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; tile*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configury will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in i386) eval $set_cc_for_build if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then UNAME_PROCESSOR="x86_64" fi fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NEO-?:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk${UNAME_RELEASE} exit ;; NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; x86_64:VMkernel:*:*) echo ${UNAME_MACHINE}-unknown-esx exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: gtg-trace-0.2+dfsg/config.sub000077500000000000000000001051761175246114100161460ustar00rootroot00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, # 2011, 2012 Free Software Foundation, Inc. timestamp='2012-02-10' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Please send patches to . Submit a context # diff and a properly formatted GNU ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ knetbsd*-gnu* | netbsd*-gnu* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; android-linux) os=-linux-android basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray | -microblaze) os= basic_machine=$1 ;; -bluegene*) os=-cnk ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | aarch64 | aarch64_be \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | be32 | be64 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | epiphany \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nds32 | nds32le | nds32be \ | nios | nios2 \ | ns16k | ns32k \ | open8 \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu \ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; c54x) basic_machine=tic54x-unknown ;; c55x) basic_machine=tic55x-unknown ;; c6x) basic_machine=tic6x-unknown ;; m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; strongarm | thumb | xscale) basic_machine=arm-unknown ;; xgate) basic_machine=$basic_machine-unknown os=-none ;; xscaleeb) basic_machine=armeb-unknown ;; xscaleel) basic_machine=armel-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nds32-* | nds32le-* | nds32be-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pyramid-* \ | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile*-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aros) basic_machine=i386-pc os=-aros ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; bluegene*) basic_machine=powerpc-ibm os=-cnk ;; c54x-*) basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c55x-*) basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c6x-*) basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c90) basic_machine=c90-cray os=-unicos ;; cegcc) basic_machine=arm-unknown os=-cegcc ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16 | cr16-*) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dicos) basic_machine=i686-pc os=-dicos ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; microblaze) basic_machine=microblaze-xilinx ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; msys) basic_machine=i386-pc os=-msys ;; mvs) basic_machine=i370-ibm os=-mvs ;; nacl) basic_machine=le32-unknown os=-nacl ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; neo-tandem) basic_machine=neo-tandem ;; nse-tandem) basic_machine=nse-tandem ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc | ppcbe) basic_machine=powerpc-unknown ;; ppc-* | ppcbe-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; strongarm-* | thumb-*) basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tile*) basic_machine=$basic_machine-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; xscale-* | xscalee[bl]-*) basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; z80-*-coff) basic_machine=z80-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -auroraux) os=-auroraux ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; -nacl*) ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; tic54x-*) os=-coff ;; tic55x-*) os=-coff ;; tic6x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -cnk*|-aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: gtg-trace-0.2+dfsg/configure000077500000000000000000020545741175246114100161010ustar00rootroot00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.68 for GTG 0.2. # # Report bugs to . # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO PATH=/empty FPATH=/empty; export PATH FPATH test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV export CONFIG_SHELL case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org and $0: gtg-devel@lists.gforge.inria.fr about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" SHELL=${CONFIG_SHELL-/bin/sh} test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='GTG' PACKAGE_TARNAME='gtg' PACKAGE_VERSION='0.2' PACKAGE_STRING='GTG 0.2' PACKAGE_BUGREPORT='gtg-devel@lists.gforge.inria.fr' PACKAGE_URL='' # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" enable_option_checking=no ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS subdirs USE_DOXYGEN_FALSE USE_DOXYGEN_TRUE USE_PDFLATEX_FALSE USE_PDFLATEX_TRUE PDFLATEX HAVE_DOXYGEN DONT_USE_INTERNAL_OTF_FALSE DONT_USE_INTERNAL_OTF_TRUE USE_OTF_FALSE USE_OTF_TRUE OTF_LIB OTF_INC OTFDIR USE_MPI_FALSE USE_MPI_TRUE USE_MPIDIR_FROM_USER MPIDIR FORTRAN_FALSE FORTRAN_TRUE HAVE_LIBZ_FALSE HAVE_LIBZ_TRUE CPP OTOOL64 OTOOL LIPO NMEDIT DSYMUTIL MANIFEST_TOOL RANLIB ac_ct_AR AR DLLTOOL OBJDUMP LN_S NM ac_ct_DUMPBIN DUMPBIN LD FGREP EGREP GREP SED host_os host_vendor host_cpu host build_os build_vendor build_cpu build LIBTOOL ac_ct_F77 FFLAGS F77 am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_dependency_tracking enable_shared enable_static with_pic enable_fast_install with_gnu_ld with_sysroot enable_libtool_lock with_libz with_fortran with_mpi with_otf with_otf_include with_otf_lib ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS F77 FFLAGS CPP PDFLATEX' ac_subdirs_all='extlib/otf' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures GTG 0.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/gtg] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of GTG 0.2:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-sysroot=DIR Search for dependent libraries within DIR (or the compiler's sysroot if not specified). --with-libz= Enable libZ --with-fortran= Enable fortran --with-mpi= Use a specific MPI installation --with-otf= Use a specific OTF installation --with-otf-include= Use a specific OTF header directory --with-otf-lib= Use a specific libotf.so directory Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory F77 Fortran 77 compiler command FFLAGS Fortran 77 compiler flags CPP C preprocessor PDFLATEX Location of the pdflatex program (required for building the hwloc doxygen documentation) Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF GTG configure 0.2 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_f77_try_compile LINENO # ---------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_f77_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_f77_try_compile # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func # ac_fn_f77_try_link LINENO # ------------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_f77_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_f77_try_link # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ( $as_echo "## ---------------------------------------------- ## ## Report this to gtg-devel@lists.gforge.inria.fr ## ## ---------------------------------------------- ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by GTG $as_me 0.2, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu am__api_version='1.11' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Just in case sleep 1 echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; esac # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi test "$2" = conftest.file ) then # Ok. : else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if ${ac_cv_path_mkdir+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='gtg' VERSION='0.2' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AMTAR='$${TAR-tar}' am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' # Checks for programs. ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from `make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi ac_ext=f ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_f77_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_F77+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$F77"; then ac_cv_prog_F77="$F77" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_F77="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi F77=$ac_cv_prog_F77 if test -n "$F77"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $F77" >&5 $as_echo "$F77" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$F77" && break done fi if test -z "$F77"; then ac_ct_F77=$F77 for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_F77+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_F77"; then ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_F77="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_F77=$ac_cv_prog_ac_ct_F77 if test -n "$ac_ct_F77"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_F77" >&5 $as_echo "$ac_ct_F77" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_F77" && break done if test "x$ac_ct_F77" = x; then F77="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac F77=$ac_ct_F77 fi fi # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran 77 compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done rm -f a.out # If we don't use `.F' as extension, the preprocessor is not run on the # input file. (Note that this only needs to work for GNU compilers.) ac_save_ext=$ac_ext ac_ext=F { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Fortran 77 compiler" >&5 $as_echo_n "checking whether we are using the GNU Fortran 77 compiler... " >&6; } if ${ac_cv_f77_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat > conftest.$ac_ext <<_ACEOF program main #ifndef __GNUC__ choke me #endif end _ACEOF if ac_fn_f77_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_f77_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_f77_compiler_gnu" >&5 $as_echo "$ac_cv_f77_compiler_gnu" >&6; } ac_ext=$ac_save_ext ac_test_FFLAGS=${FFLAGS+set} ac_save_FFLAGS=$FFLAGS FFLAGS= { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $F77 accepts -g" >&5 $as_echo_n "checking whether $F77 accepts -g... " >&6; } if ${ac_cv_prog_f77_g+:} false; then : $as_echo_n "(cached) " >&6 else FFLAGS=-g cat > conftest.$ac_ext <<_ACEOF program main end _ACEOF if ac_fn_f77_try_compile "$LINENO"; then : ac_cv_prog_f77_g=yes else ac_cv_prog_f77_g=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_f77_g" >&5 $as_echo "$ac_cv_prog_f77_g" >&6; } if test "$ac_test_FFLAGS" = set; then FFLAGS=$ac_save_FFLAGS elif test $ac_cv_prog_f77_g = yes; then if test "x$ac_cv_f77_compiler_gnu" = xyes; then FFLAGS="-g -O2" else FFLAGS="-g" fi else if test "x$ac_cv_f77_compiler_gnu" = xyes; then FFLAGS="-O2" else FFLAGS= fi fi if test $ac_compiler_gnu = yes; then G77=yes else G77= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi case `pwd` in *\ * | *\ *) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 $as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; esac macro_version='2.4.2' macro_revision='1.3337' ltmain="$ac_aux_dir/ltmain.sh" # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac # Backslashify metacharacters that are still active within # double-quoted strings. sed_quote_subst='s/\(["`$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 $as_echo_n "checking how to print strings... " >&6; } # Test print first, because it will be a builtin if present. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='print -r --' elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='printf %s\n' else # Use this function as a fallback that always works. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO='func_fallback_echo' fi # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "" } case "$ECHO" in printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 $as_echo "printf" >&6; } ;; print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 $as_echo "print -r" >&6; } ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 $as_echo "cat" >&6; } ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } if ${ac_cv_path_SED+:} false; then : $as_echo_n "(cached) " >&6 else ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" done echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed { ac_script=; unset ac_script;} if test -z "$SED"; then ac_path_SED_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED case `"$ac_path_SED" --version 2>&1` in *GNU*) ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_SED_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_SED="$ac_path_SED" ac_path_SED_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_SED_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 $as_echo "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 $as_echo_n "checking for fgrep... " >&6; } if ${ac_cv_path_FGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 then ac_cv_path_FGREP="$GREP -F" else if test -z "$FGREP"; then ac_path_FGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in fgrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue # Check for GNU ac_path_FGREP and select it if it is found. # Check for GNU $ac_path_FGREP case `"$ac_path_FGREP" --version 2>&1` in *GNU*) ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'FGREP' >> "conftest.nl" "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_FGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_FGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_FGREP=$FGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 $as_echo "$ac_cv_path_FGREP" >&6; } FGREP="$ac_cv_path_FGREP" test -z "$GREP" && GREP=grep # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if ${lt_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if ${lt_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } if ${lt_cv_path_NM+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 $as_echo "$lt_cv_path_NM" >&6; } if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : # Let the user override the test. else if test -n "$ac_tool_prefix"; then for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DUMPBIN"; then ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DUMPBIN=$ac_cv_prog_DUMPBIN if test -n "$DUMPBIN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 $as_echo "$DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$DUMPBIN" && break done fi if test -z "$DUMPBIN"; then ac_ct_DUMPBIN=$DUMPBIN for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DUMPBIN"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN if test -n "$ac_ct_DUMPBIN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 $as_echo "$ac_ct_DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_DUMPBIN" && break done if test "x$ac_ct_DUMPBIN" = x; then DUMPBIN=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DUMPBIN=$ac_ct_DUMPBIN fi fi case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols" ;; *) DUMPBIN=: ;; esac fi if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 $as_echo_n "checking the name lister ($NM) interface... " >&6; } if ${lt_cv_nm_interface+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 (eval echo "\"\$as_me:$LINENO: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 $as_echo "$lt_cv_nm_interface" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi # find the maximum length of command line arguments { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 $as_echo_n "checking the maximum length of command line arguments... " >&6; } if ${lt_cv_sys_max_cmd_len+:} false; then : $as_echo_n "(cached) " >&6 else i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; mint*) # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; os2*) # The test takes a long time on OS/2. lt_cv_sys_max_cmd_len=8192 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac fi if test -n $lt_cv_sys_max_cmd_len ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 $as_echo "$lt_cv_sys_max_cmd_len" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 $as_echo "none" >&6; } fi max_cmd_len=$lt_cv_sys_max_cmd_len : ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ = c,a/b,b/c, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 $as_echo "$xsi_shell" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 $as_echo_n "checking whether the shell understands \"+=\"... " >&6; } lt_shell_append=no ( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 $as_echo "$lt_shell_append" >&6; } if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 $as_echo_n "checking how to convert $build file names to $host format... " >&6; } if ${lt_cv_to_host_file_cmd+:} false; then : $as_echo_n "(cached) " >&6 else case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 ;; esac ;; *-*-cygwin* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_noop ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin ;; esac ;; * ) # unhandled hosts (and "normal" native builds) lt_cv_to_host_file_cmd=func_convert_file_noop ;; esac fi to_host_file_cmd=$lt_cv_to_host_file_cmd { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 $as_echo "$lt_cv_to_host_file_cmd" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 $as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } if ${lt_cv_to_tool_file_cmd+:} false; then : $as_echo_n "(cached) " >&6 else #assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ;; esac ;; esac fi to_tool_file_cmd=$lt_cv_to_tool_file_cmd { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 $as_echo "$lt_cv_to_tool_file_cmd" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 $as_echo_n "checking for $LD option to reload object files... " >&6; } if ${lt_cv_ld_reload_flag+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_reload_flag='-r' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 $as_echo "$lt_cv_ld_reload_flag" >&6; } reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in cygwin* | mingw* | pw32* | cegcc*) if test "$GCC" != yes; then reload_cmds=false fi ;; darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 $as_echo "$OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_OBJDUMP="objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 $as_echo "$ac_ct_OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi test -z "$OBJDUMP" && OBJDUMP=objdump { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 $as_echo_n "checking how to recognize dependent libraries... " >&6; } if ${lt_cv_deplibs_check_method+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # `unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # which responds to the $file_magic_cmd with a given extended regex. # If you have `file' or equivalent on your system and you're not sure # whether `pass_all' will *always* work, you probably want this one. case $host_os in aix[4-9]*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; gnu*) lt_cv_deplibs_check_method=pass_all ;; haiku*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[3-9]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 $as_echo "$lt_cv_deplibs_check_method" >&6; } file_magic_glob= want_nocaseglob=no if test "$build" = "$host"; then case $host_os in mingw* | pw32*) if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then want_nocaseglob=yes else file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` fi ;; esac fi file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ac_tool_prefix}dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DLLTOOL"; then ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DLLTOOL=$ac_cv_prog_DLLTOOL if test -n "$DLLTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 $as_echo "$DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DLLTOOL"; then ac_ct_DLLTOOL=$DLLTOOL # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DLLTOOL"; then ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_DLLTOOL="dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL if test -n "$ac_ct_DLLTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 $as_echo "$ac_ct_DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DLLTOOL" = x; then DLLTOOL="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DLLTOOL=$ac_ct_DLLTOOL fi else DLLTOOL="$ac_cv_prog_DLLTOOL" fi test -z "$DLLTOOL" && DLLTOOL=dlltool { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 $as_echo_n "checking how to associate runtime and link libraries... " >&6; } if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in cygwin* | mingw* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh # decide which to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib ;; *) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback ;; esac ;; *) # fallback: assume linklib IS sharedlib lt_cv_sharedlib_from_linklib_cmd="$ECHO" ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 $as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO if test -n "$ac_tool_prefix"; then for ac_prog in ar do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AR="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 $as_echo "$AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AR" && break done fi if test -z "$AR"; then ac_ct_AR=$AR for ac_prog in ar do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_AR="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 $as_echo "$ac_ct_AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_AR" && break done if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi fi : ${AR=ar} : ${AR_FLAGS=cru} { $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 $as_echo_n "checking for archiver @FILE support... " >&6; } if ${lt_cv_ar_at_file+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ar_at_file=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test "$ac_status" -eq 0; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test "$ac_status" -ne 0; then lt_cv_ar_at_file=@ fi fi rm -f conftest.* libconftest.a fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 $as_echo "$lt_cv_ar_at_file" >&6; } if test "x$lt_cv_ar_at_file" = xno; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi test -z "$STRIP" && STRIP=: if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi test -z "$RANLIB" && RANLIB=: # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in darwin*) lock_old_archive_extraction=yes ;; *) lock_old_archive_extraction=no ;; esac # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check for command to grab the raw symbol name followed by C symbol from nm. { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } if ${lt_cv_sys_global_symbol_pipe+:} false; then : $as_echo_n "(cached) " >&6 else # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[BCDEGRST]' # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[BCDT]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[ABCDGISTW]' ;; hpux*) if test "$host_cpu" = ia64; then symcode='[ABCDEGRST]' fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; sysv4) symcode='[DFNSTU]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[ABCDGIRSTW]' ;; esac # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function # and D for any global variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ " s[1]~/^[@?]/{print s[1], s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Now try to grab the symbols. nlist=conftest.nm if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) /* DATA imports from DLLs on WIN32 con't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT_DLSYM_CONST #elif defined(__osf__) /* This system does not cope well with relocations in const data. */ # define LT_DLSYM_CONST #else # define LT_DLSYM_CONST const #endif #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ LT_DLSYM_CONST struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS CFLAGS=$lt_globsym_save_CFLAGS else echo "cannot find nm_test_func in $nlist" >&5 fi else echo "cannot find nm_test_var in $nlist" >&5 fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi else echo "$progname: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done fi if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 $as_echo "failed" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } fi # Response file support. if test "$lt_cv_nm_interface" = "MS dumpbin"; then nm_file_list_spec='@' elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then nm_file_list_spec='@' fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 $as_echo_n "checking for sysroot... " >&6; } # Check whether --with-sysroot was given. if test "${with_sysroot+set}" = set; then : withval=$with_sysroot; else with_sysroot=no fi lt_sysroot= case ${with_sysroot} in #( yes) if test "$GCC" = yes; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( /*) lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` ;; #( no|'') ;; #( *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5 $as_echo "${with_sysroot}" >&6; } as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 $as_echo "${lt_sysroot:-no}" >&6; } # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then : enableval=$enable_libtool_lock; fi test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '#line '$LINENO' "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 $as_echo_n "checking whether the C compiler needs -belf... " >&6; } if ${lt_cv_cc_needs_belf+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_cc_needs_belf=yes else lt_cv_cc_needs_belf=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 $as_echo "$lt_cv_cc_needs_belf" >&6; } if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; *-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) case $host in i?86-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) LD="${LD-ld} -m elf64_sparc" ;; esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then LD="${LD-ld}_sol2" fi ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. set dummy ${ac_tool_prefix}mt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$MANIFEST_TOOL"; then ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL if test -n "$MANIFEST_TOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 $as_echo "$MANIFEST_TOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_MANIFEST_TOOL"; then ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL # Extract the first word of "mt", so it can be a program name with args. set dummy mt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_MANIFEST_TOOL"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL if test -n "$ac_ct_MANIFEST_TOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 $as_echo "$ac_ct_MANIFEST_TOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_MANIFEST_TOOL" = x; then MANIFEST_TOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL fi else MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" fi test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 $as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } if ${lt_cv_path_mainfest_tool+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&5 if $GREP 'Manifest Tool' conftest.out > /dev/null; then lt_cv_path_mainfest_tool=yes fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 $as_echo "$lt_cv_path_mainfest_tool" >&6; } if test "x$lt_cv_path_mainfest_tool" != xyes; then MANIFEST_TOOL=: fi case $host_os in rhapsody* | darwin*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DSYMUTIL"; then ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 $as_echo "$DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DSYMUTIL"; then ac_ct_DSYMUTIL=$DSYMUTIL # Extract the first word of "dsymutil", so it can be a program name with args. set dummy dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DSYMUTIL"; then ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 $as_echo "$ac_ct_DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DSYMUTIL" = x; then DSYMUTIL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DSYMUTIL=$ac_ct_DSYMUTIL fi else DSYMUTIL="$ac_cv_prog_DSYMUTIL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. set dummy ${ac_tool_prefix}nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NMEDIT"; then ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 $as_echo "$NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_NMEDIT"; then ac_ct_NMEDIT=$NMEDIT # Extract the first word of "nmedit", so it can be a program name with args. set dummy nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_NMEDIT"; then ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_NMEDIT="nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 $as_echo "$ac_ct_NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_NMEDIT" = x; then NMEDIT=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac NMEDIT=$ac_ct_NMEDIT fi else NMEDIT="$ac_cv_prog_NMEDIT" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. set dummy ${ac_tool_prefix}lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$LIPO"; then ac_cv_prog_LIPO="$LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_LIPO="${ac_tool_prefix}lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi LIPO=$ac_cv_prog_LIPO if test -n "$LIPO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 $as_echo "$LIPO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_LIPO"; then ac_ct_LIPO=$LIPO # Extract the first word of "lipo", so it can be a program name with args. set dummy lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_LIPO"; then ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_LIPO="lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO if test -n "$ac_ct_LIPO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 $as_echo "$ac_ct_LIPO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_LIPO" = x; then LIPO=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac LIPO=$ac_ct_LIPO fi else LIPO="$ac_cv_prog_LIPO" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. set dummy ${ac_tool_prefix}otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL"; then ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OTOOL="${ac_tool_prefix}otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL=$ac_cv_prog_OTOOL if test -n "$OTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 $as_echo "$OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL"; then ac_ct_OTOOL=$OTOOL # Extract the first word of "otool", so it can be a program name with args. set dummy otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL"; then ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_OTOOL="otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL if test -n "$ac_ct_OTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 $as_echo "$ac_ct_OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL" = x; then OTOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL=$ac_ct_OTOOL fi else OTOOL="$ac_cv_prog_OTOOL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. set dummy ${ac_tool_prefix}otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OTOOL64+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL64"; then ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL64=$ac_cv_prog_OTOOL64 if test -n "$OTOOL64"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 $as_echo "$OTOOL64" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL64"; then ac_ct_OTOOL64=$OTOOL64 # Extract the first word of "otool64", so it can be a program name with args. set dummy otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL64"; then ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_OTOOL64="otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 if test -n "$ac_ct_OTOOL64"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 $as_echo "$ac_ct_OTOOL64" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL64" = x; then OTOOL64=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL64=$ac_ct_OTOOL64 fi else OTOOL64="$ac_cv_prog_OTOOL64" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 $as_echo_n "checking for -single_module linker flag... " >&6; } if ${lt_cv_apple_cc_single_mod+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&5 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? # If there is a non-empty error log, and "single_module" # appears in it, assume the flag caused a linker warning if test -s conftest.err && $GREP single_module conftest.err; then cat conftest.err >&5 # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. elif test -f libconftest.dylib && test $_lt_result -eq 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&5 fi rm -rf libconftest.dylib* rm -f conftest.* fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 $as_echo "$lt_cv_apple_cc_single_mod" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } if ${lt_cv_ld_exported_symbols_list+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_ld_exported_symbols_list=yes else lt_cv_ld_exported_symbols_list=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 $as_echo_n "checking for -force_load linker flag... " >&6; } if ${lt_cv_ld_force_load+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 echo "$AR cru libconftest.a conftest.o" >&5 $AR cru libconftest.a conftest.o 2>&5 echo "$RANLIB libconftest.a" >&5 $RANLIB libconftest.a 2>&5 cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&5 elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then lt_cv_ld_force_load=yes else cat conftest.err >&5 fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 $as_echo "$lt_cv_ld_force_load" >&6; } case $host_os in rhapsody* | darwin1.[012]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[91]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[012]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in dlfcn.h do : ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default " if test "x$ac_cv_header_dlfcn_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_DLFCN_H 1 _ACEOF fi done # Set options enable_dlopen=no enable_win32_dll=no # Check whether --enable-shared was given. if test "${enable_shared+set}" = set; then : enableval=$enable_shared; p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac else enable_shared=yes fi # Check whether --enable-static was given. if test "${enable_static+set}" = set; then : enableval=$enable_static; p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac else enable_static=yes fi # Check whether --with-pic was given. if test "${with_pic+set}" = set; then : withval=$with_pic; lt_p=${PACKAGE-default} case $withval in yes|no) pic_mode=$withval ;; *) pic_mode=default # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for lt_pkg in $withval; do IFS="$lt_save_ifs" if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done IFS="$lt_save_ifs" ;; esac else pic_mode=default fi test -z "$pic_mode" && pic_mode=default # Check whether --enable-fast-install was given. if test "${enable_fast_install+set}" = set; then : enableval=$enable_fast_install; p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac else enable_fast_install=yes fi # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' test -z "$LN_S" && LN_S="ln -s" if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 $as_echo_n "checking for objdir... " >&6; } if ${lt_cv_objdir+:} false; then : $as_echo_n "(cached) " >&6 else rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 $as_echo "$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir cat >>confdefs.h <<_ACEOF #define LT_OBJDIR "$lt_cv_objdir/" _ACEOF case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/${ac_tool_prefix}file; then lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 $as_echo_n "checking for file... " >&6; } if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/file; then lt_cv_path_MAGIC_CMD="$ac_dir/file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac # Use C for the default configuration in the libtool script lt_save_CC="$CC" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* if test -n "$compiler"; then lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then case $cc_basename in nvcc*) lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; *) lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. lt_prog_compiler_static= ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) lt_prog_compiler_pic='-fPIC' ;; esac ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-Kconform_pic fi ;; *) lt_prog_compiler_pic='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 lt_prog_compiler_wl='-Xlinker ' if test -n "$lt_prog_compiler_pic"; then lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" fi ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; # Lahey Fortran 8.1. lf95*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; nagfor*) # NAG Fortran compiler lt_prog_compiler_wl='-Wl,-Wl,,' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-qpic' lt_prog_compiler_static='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; *Sun\ F* | *Sun*Fortran*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Qoption ld ' ;; *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; *Intel*\ [CF]*Compiler*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; *Portland\ Group*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; esac ;; esac ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&6; } if ${lt_cv_prog_compiler_pic+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic=$lt_prog_compiler_pic fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 $as_echo "$lt_cv_prog_compiler_pic" >&6; } lt_prog_compiler_pic=$lt_cv_prog_compiler_pic # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } if ${lt_cv_prog_compiler_pic_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; } if test x"$lt_cv_prog_compiler_pic_works" = xyes; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if ${lt_cv_prog_compiler_static_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works=yes fi else lt_cv_prog_compiler_static_works=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 $as_echo "$lt_cv_prog_compiler_static_works" >&6; } if test x"$lt_cv_prog_compiler_static_works" = xyes; then : else lt_prog_compiler_static= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag= always_export_symbols=no archive_cmds= archive_expsym_cmds= compiler_needs_object=no enable_shared_with_static_runtimes=no export_dynamic_flag_spec= export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' hardcode_automatic=no hardcode_direct=no hardcode_direct_absolute=no hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_minus_L=no hardcode_shlibpath_var=unsupported inherit_rpath=no link_all_deplibs=unknown module_cmds= module_expsym_cmds= old_archive_from_new_cmds= old_archive_from_expsyms_cmds= thread_safe_flag_spec= whole_archive_flag_spec= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; linux* | k*bsd*-gnu | gnu*) link_all_deplibs=no ;; esac ld_shlibs=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test "$with_gnu_ld" = yes; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; *\ \(GNU\ Binutils\)\ [3-9]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test "$lt_use_gnu_ld_interface" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' export_dynamic_flag_spec='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no case `$LD -v 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' export_dynamic_flag_spec='${wl}--export-all-symbols' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; haiku*) archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' link_all_deplibs=yes ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 whole_archive_flag_spec= tmp_sharedflag='--shared' ;; xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else ld_shlibs=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= whole_archive_flag_spec= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag=unsupported always_export_symbols=yes archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global # defined symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds='' hardcode_direct=yes hardcode_direct_absolute=yes hardcode_libdir_separator=':' link_all_deplibs=yes file_list_spec='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi link_all_deplibs=no else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi export_dynamic_flag_spec='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath_+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_="/usr/lib:/lib" fi fi aix_libpath=$lt_cv_aix_libpath_ fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath_+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_="/usr/lib:/lib" fi fi aix_libpath=$lt_cv_aix_libpath_ fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag=' ${wl}-bernotok' allow_undefined_flag=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' fi archive_cmds_need_lc=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; bsdi[45]*) export_dynamic_flag_spec=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in cl*) # Native MSVC hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported always_export_symbols=yes file_list_spec='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; else sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, )='true' enable_shared_with_static_runtimes=yes exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib old_postinstall_cmds='chmod 644 $oldlib' postlink_cmds='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile="$lt_outputfile.exe" lt_tool_outputfile="$lt_tool_outputfile.exe" ;; esac~ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # Assume MSVC wrapper hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_from_new_cmds='true' # FIXME: Should let the user specify the lib program. old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' enable_shared_with_static_runtimes=yes ;; esac ;; darwin* | rhapsody*) archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported if test "$lt_cv_ld_force_load" = "yes"; then whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' else whole_archive_flag_spec='' fi link_all_deplibs=yes allow_undefined_flag="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=func_echo_all archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" else ld_shlibs=no fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2.*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes export_dynamic_flag_spec='${wl}-E' ;; hpux10*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 $as_echo_n "checking if $CC understands -b... " >&6; } if ${lt_cv_prog_compiler__b+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler__b=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -b" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler__b=yes fi else lt_cv_prog_compiler__b=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 $as_echo "$lt_cv_prog_compiler__b" >&6; } if test x"$lt_cv_prog_compiler__b" = xyes; then archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 $as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } if ${lt_cv_irix_exported_symbol+:} false; then : $as_echo_n "(cached) " >&6 else save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int foo (void) { return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_irix_exported_symbol=yes else lt_cv_irix_exported_symbol=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 $as_echo "$lt_cv_irix_exported_symbol" >&6; } if test "$lt_cv_irix_exported_symbol" = yes; then archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' fi else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: inherit_rpath=yes link_all_deplibs=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no hardcode_direct_absolute=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-R$libdir' ;; *) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi archive_cmds_need_lc='no' hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='${wl}-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='${wl}-z,text' allow_undefined_flag='${wl}-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-R,$libdir' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) export_dynamic_flag_spec='${wl}-Blargedynsym' ;; esac fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 $as_echo "$ld_shlibs" >&6; } test "$ld_shlibs" = no && can_build_shared=no with_gnu_ld=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } if ${lt_cv_archive_cmds_need_lc+:} false; then : $as_echo_n "(cached) " >&6 else $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl pic_flag=$lt_prog_compiler_pic compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then lt_cv_archive_cmds_need_lc=no else lt_cv_archive_cmds_need_lc=yes fi allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 $as_echo "$lt_cv_archive_cmds_need_lc" >&6; } archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc ;; esac fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac case $host_os in mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;; *) lt_sed_strip_eq="s,=/,/,g" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ;; *) lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ;; esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[lt_foo]++; } if (lt_freq[lt_foo] == 1) { print lt_foo; } }'` # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's,/\([A-Za-z]:\),\1,g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[4-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl*) # Native MSVC libname_spec='$name' soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' library_names_spec='${libname}.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec="$LIB" if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC wrapper library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[3-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH if ${lt_cv_shlibpath_overrides_runpath+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : lt_cv_shlibpath_overrides_runpath=yes fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir fi shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || test -n "$runpath_var" || test "X$hardcode_automatic" = "Xyes" ; then # We can hardcode non-existent directories. if test "$hardcode_direct" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 $as_echo "$hardcode_action" >&6; } if test "$hardcode_action" = relink || test "$inherit_rpath" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes fi ;; *) ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" if test "x$ac_cv_func_shl_load" = xyes; then : lt_cv_dlopen="shl_load" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 $as_echo_n "checking for shl_load in -ldld... " >&6; } if ${ac_cv_lib_dld_shl_load+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); int main () { return shl_load (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_shl_load=yes else ac_cv_lib_dld_shl_load=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = xyes; then : lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" else ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" if test "x$ac_cv_func_dlopen" = xyes; then : lt_cv_dlopen="dlopen" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 $as_echo_n "checking for dlopen in -lsvld... " >&6; } if ${ac_cv_lib_svld_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_svld_dlopen=yes else ac_cv_lib_svld_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 $as_echo "$ac_cv_lib_svld_dlopen" >&6; } if test "x$ac_cv_lib_svld_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 $as_echo_n "checking for dld_link in -ldld... " >&6; } if ${ac_cv_lib_dld_dld_link+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dld_link (); int main () { return dld_link (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_dld_link=yes else ac_cv_lib_dld_dld_link=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 $as_echo "$ac_cv_lib_dld_dld_link" >&6; } if test "x$ac_cv_lib_dld_dld_link" = xyes; then : lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" fi fi fi fi fi fi ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 $as_echo_n "checking whether a program can dlopen itself... " >&6; } if ${lt_cv_dlopen_self+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisbility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 $as_echo "$lt_cv_dlopen_self" >&6; } if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } if ${lt_cv_dlopen_self_static+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisbility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 $as_echo "$lt_cv_dlopen_self_static" >&6; } fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi striplib= old_striplib= { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 $as_echo_n "checking whether stripping libraries is possible... " >&6; } if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ;; esac fi # Report which library types will actually be built { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 $as_echo_n "checking if libtool supports shared libraries... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 $as_echo "$can_build_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 $as_echo_n "checking whether to build shared libraries... " >&6; } test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[4-9]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 $as_echo "$enable_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 $as_echo_n "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 $as_echo "$enable_static" >&6; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" ac_ext=f ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_f77_compiler_gnu if test -z "$F77" || test "X$F77" = "Xno"; then _lt_disable_F77=yes fi archive_cmds_need_lc_F77=no allow_undefined_flag_F77= always_export_symbols_F77=no archive_expsym_cmds_F77= export_dynamic_flag_spec_F77= hardcode_direct_F77=no hardcode_direct_absolute_F77=no hardcode_libdir_flag_spec_F77= hardcode_libdir_separator_F77= hardcode_minus_L_F77=no hardcode_automatic_F77=no inherit_rpath_F77=no module_cmds_F77= module_expsym_cmds_F77= link_all_deplibs_F77=unknown old_archive_cmds_F77=$old_archive_cmds reload_flag_F77=$reload_flag reload_cmds_F77=$reload_cmds no_undefined_flag_F77= whole_archive_flag_spec_F77= enable_shared_with_static_runtimes_F77=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o objext_F77=$objext # No sense in running all these tests if we already determined that # the F77 compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_disable_F77" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${F77-"f77"} CFLAGS=$FFLAGS compiler=$CC compiler_F77=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` GCC=$G77 if test -n "$compiler"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 $as_echo_n "checking if libtool supports shared libraries... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 $as_echo "$can_build_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 $as_echo_n "checking whether to build shared libraries... " >&6; } test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[4-9]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 $as_echo "$enable_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 $as_echo_n "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 $as_echo "$enable_static" >&6; } GCC_F77="$G77" LD_F77="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... lt_prog_compiler_wl_F77= lt_prog_compiler_pic_F77= lt_prog_compiler_static_F77= if test "$GCC" = yes; then lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_static_F77='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_F77='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic_F77='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_F77='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_F77='-fno-common' ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. lt_prog_compiler_static_F77= ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) lt_prog_compiler_pic_F77='-fPIC' ;; esac ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared_F77=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic_F77='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_F77=-Kconform_pic fi ;; *) lt_prog_compiler_pic_F77='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 lt_prog_compiler_wl_F77='-Xlinker ' if test -n "$lt_prog_compiler_pic_F77"; then lt_prog_compiler_pic_F77="-Xcompiler $lt_prog_compiler_pic_F77" fi ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl_F77='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_F77='-Bstatic' else lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic_F77='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl_F77='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_F77='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static_F77='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl_F77='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static_F77='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-fPIC' lt_prog_compiler_static_F77='-static' ;; # Lahey Fortran 8.1. lf95*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='--shared' lt_prog_compiler_static_F77='--static' ;; nagfor*) # NAG Fortran compiler lt_prog_compiler_wl_F77='-Wl,-Wl,,' lt_prog_compiler_pic_F77='-PIC' lt_prog_compiler_static_F77='-Bstatic' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-fpic' lt_prog_compiler_static_F77='-Bstatic' ;; ccc*) lt_prog_compiler_wl_F77='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static_F77='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-qpic' lt_prog_compiler_static_F77='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' lt_prog_compiler_wl_F77='' ;; *Sun\ F* | *Sun*Fortran*) lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' lt_prog_compiler_wl_F77='-Qoption ld ' ;; *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' lt_prog_compiler_wl_F77='-Wl,' ;; *Intel*\ [CF]*Compiler*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-fPIC' lt_prog_compiler_static_F77='-static' ;; *Portland\ Group*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-fpic' lt_prog_compiler_static_F77='-Bstatic' ;; esac ;; esac ;; newsos6) lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic_F77='-fPIC -shared' ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl_F77='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static_F77='-non_shared' ;; rdos*) lt_prog_compiler_static_F77='-non_shared' ;; solaris*) lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) lt_prog_compiler_wl_F77='-Qoption ld ';; *) lt_prog_compiler_wl_F77='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl_F77='-Qoption ld ' lt_prog_compiler_pic_F77='-PIC' lt_prog_compiler_static_F77='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic_F77='-Kconform_pic' lt_prog_compiler_static_F77='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; unicos*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_can_build_shared_F77=no ;; uts4*) lt_prog_compiler_pic_F77='-pic' lt_prog_compiler_static_F77='-Bstatic' ;; *) lt_prog_compiler_can_build_shared_F77=no ;; esac fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_F77= ;; *) lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&6; } if ${lt_cv_prog_compiler_pic_F77+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_F77=$lt_prog_compiler_pic_F77 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_F77" >&5 $as_echo "$lt_cv_prog_compiler_pic_F77" >&6; } lt_prog_compiler_pic_F77=$lt_cv_prog_compiler_pic_F77 # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_F77"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... " >&6; } if ${lt_cv_prog_compiler_pic_works_F77+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works_F77=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_F77" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works_F77=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_F77" >&5 $as_echo "$lt_cv_prog_compiler_pic_works_F77" >&6; } if test x"$lt_cv_prog_compiler_pic_works_F77" = xyes; then case $lt_prog_compiler_pic_F77 in "" | " "*) ;; *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; esac else lt_prog_compiler_pic_F77= lt_prog_compiler_can_build_shared_F77=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if ${lt_cv_prog_compiler_static_works_F77+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works_F77=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works_F77=yes fi else lt_cv_prog_compiler_static_works_F77=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_F77" >&5 $as_echo "$lt_cv_prog_compiler_static_works_F77" >&6; } if test x"$lt_cv_prog_compiler_static_works_F77" = xyes; then : else lt_prog_compiler_static_F77= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o_F77+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o_F77=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_F77=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_F77" >&5 $as_echo "$lt_cv_prog_compiler_c_o_F77" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o_F77+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o_F77=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_F77=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_F77" >&5 $as_echo "$lt_cv_prog_compiler_c_o_F77" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag_F77= always_export_symbols_F77=no archive_cmds_F77= archive_expsym_cmds_F77= compiler_needs_object_F77=no enable_shared_with_static_runtimes_F77=no export_dynamic_flag_spec_F77= export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' hardcode_automatic_F77=no hardcode_direct_F77=no hardcode_direct_absolute_F77=no hardcode_libdir_flag_spec_F77= hardcode_libdir_separator_F77= hardcode_minus_L_F77=no hardcode_shlibpath_var_F77=unsupported inherit_rpath_F77=no link_all_deplibs_F77=unknown module_cmds_F77= module_expsym_cmds_F77= old_archive_from_new_cmds_F77= old_archive_from_expsyms_cmds_F77= thread_safe_flag_spec_F77= whole_archive_flag_spec_F77= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms_F77= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. exclude_expsyms_F77='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; linux* | k*bsd*-gnu | gnu*) link_all_deplibs_F77=no ;; esac ld_shlibs_F77=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test "$with_gnu_ld" = yes; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; *\ \(GNU\ Binutils\)\ [3-9]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test "$lt_use_gnu_ld_interface" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' export_dynamic_flag_spec_F77='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_F77= fi supports_anon_versioning=no case `$LD -v 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs_F77=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='' ;; m68k) archive_cmds_F77='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_F77=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_F77=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_F77='-L$libdir' export_dynamic_flag_spec_F77='${wl}--export-all-symbols' allow_undefined_flag_F77=unsupported always_export_symbols_F77=no enable_shared_with_static_runtimes_F77=yes export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms_F77='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_F77=no fi ;; haiku*) archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' link_all_deplibs_F77=yes ;; interix[3-9]*) hardcode_direct_F77=no hardcode_shlibpath_var_F77=no hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' export_dynamic_flag_spec_F77='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 whole_archive_flag_spec_F77= tmp_sharedflag='--shared' ;; xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object_F77=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object_F77=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds_F77='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec_F77='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds_F77='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else ld_shlibs_F77=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then ld_shlibs_F77=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs_F77=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; esac ;; sunos4*) archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; esac if test "$ld_shlibs_F77" = no; then runpath_var= hardcode_libdir_flag_spec_F77= export_dynamic_flag_spec_F77= whole_archive_flag_spec_F77= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag_F77=unsupported always_export_symbols_F77=yes archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L_F77=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct_F77=unsupported fi ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global # defined symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds_F77='' hardcode_direct_F77=yes hardcode_direct_absolute_F77=yes hardcode_libdir_separator_F77=':' link_all_deplibs_F77=yes file_list_spec_F77='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct_F77=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L_F77=yes hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_libdir_separator_F77= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi link_all_deplibs_F77=no else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi export_dynamic_flag_spec_F77='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_F77=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag_F77='-berok' # Determine the default libpath from the value encoded in an # empty executable. if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath__F77+:} false; then : $as_echo_n "(cached) " >&6 else cat > conftest.$ac_ext <<_ACEOF program main end _ACEOF if ac_fn_f77_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath__F77=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath__F77"; then lt_cv_aix_libpath__F77=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath__F77"; then lt_cv_aix_libpath__F77="/usr/lib:/lib" fi fi aix_libpath=$lt_cv_aix_libpath__F77 fi hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_F77='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_F77="-z nodefs" archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath__F77+:} false; then : $as_echo_n "(cached) " >&6 else cat > conftest.$ac_ext <<_ACEOF program main end _ACEOF if ac_fn_f77_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath__F77=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath__F77"; then lt_cv_aix_libpath__F77=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath__F77"; then lt_cv_aix_libpath__F77="/usr/lib:/lib" fi fi aix_libpath=$lt_cv_aix_libpath__F77 fi hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag_F77=' ${wl}-bernotok' allow_undefined_flag_F77=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. whole_archive_flag_spec_F77='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_F77='$convenience' fi archive_cmds_need_lc_F77=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='' ;; m68k) archive_cmds_F77='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes ;; esac ;; bsdi[45]*) export_dynamic_flag_spec_F77=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in cl*) # Native MSVC hardcode_libdir_flag_spec_F77=' ' allow_undefined_flag_F77=unsupported always_export_symbols_F77=yes file_list_spec_F77='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds_F77='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; else sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, F77)='true' enable_shared_with_static_runtimes_F77=yes exclude_expsyms_F77='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib old_postinstall_cmds_F77='chmod 644 $oldlib' postlink_cmds_F77='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile="$lt_outputfile.exe" lt_tool_outputfile="$lt_tool_outputfile.exe" ;; esac~ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # Assume MSVC wrapper hardcode_libdir_flag_spec_F77=' ' allow_undefined_flag_F77=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_from_new_cmds_F77='true' # FIXME: Should let the user specify the lib program. old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' enable_shared_with_static_runtimes_F77=yes ;; esac ;; darwin* | rhapsody*) archive_cmds_need_lc_F77=no hardcode_direct_F77=no hardcode_automatic_F77=yes hardcode_shlibpath_var_F77=unsupported if test "$lt_cv_ld_force_load" = "yes"; then whole_archive_flag_spec_F77='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' compiler_needs_object_F77=yes else whole_archive_flag_spec_F77='' fi link_all_deplibs_F77=yes allow_undefined_flag_F77="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=func_echo_all archive_cmds_F77="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds_F77="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds_F77="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds_F77="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" else ld_shlibs_F77=no fi ;; dgux*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_shlibpath_var_F77=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2.*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes hardcode_minus_L_F77=yes hardcode_shlibpath_var_F77=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds_F77='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds_F77='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_direct_F77=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes export_dynamic_flag_spec_F77='${wl}-E' ;; hpux10*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then archive_cmds_F77='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_direct_F77=yes hardcode_direct_absolute_F77=yes export_dynamic_flag_spec_F77='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes fi ;; hpux11*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_F77='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_F77='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: case $host_cpu in hppa*64*|ia64*) hardcode_direct_F77=no hardcode_shlibpath_var_F77=no ;; *) hardcode_direct_F77=yes hardcode_direct_absolute_F77=yes export_dynamic_flag_spec_F77='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 $as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } if ${lt_cv_irix_exported_symbol+:} false; then : $as_echo_n "(cached) " >&6 else save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" cat > conftest.$ac_ext <<_ACEOF subroutine foo end _ACEOF if ac_fn_f77_try_link "$LINENO"; then : lt_cv_irix_exported_symbol=yes else lt_cv_irix_exported_symbol=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 $as_echo "$lt_cv_irix_exported_symbol" >&6; } if test "$lt_cv_irix_exported_symbol" = yes; then archive_expsym_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' fi else archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi archive_cmds_need_lc_F77='no' hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: inherit_rpath_F77=yes link_all_deplibs_F77=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; newsos6) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_shlibpath_var_F77=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no hardcode_direct_absolute_F77=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' export_dynamic_flag_spec_F77='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-R$libdir' ;; *) archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs_F77=no fi ;; os2*) hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes allow_undefined_flag_F77=unsupported archive_cmds_F77='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_from_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag_F77=' -expect_unresolved \*' archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' fi archive_cmds_need_lc_F77='no' hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_F77='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' else allow_undefined_flag_F77=' -expect_unresolved \*' archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec_F77='-rpath $libdir' fi archive_cmds_need_lc_F77='no' hardcode_libdir_separator_F77=: ;; solaris*) no_undefined_flag_F77=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds_F77='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds_F77='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' archive_cmds_F77='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_shlibpath_var_F77=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs_F77=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_direct_F77=yes hardcode_minus_L_F77=yes hardcode_shlibpath_var_F77=no ;; sysv4) case $host_vendor in sni) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds_F77='$CC -r -o $output$reload_objs' hardcode_direct_F77=no ;; motorola) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var_F77=no ;; sysv4.3*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_F77=no export_dynamic_flag_spec_F77='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_F77=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs_F77=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_F77='${wl}-z,text' archive_cmds_need_lc_F77=no hardcode_shlibpath_var_F77=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_F77='${wl}-z,text' allow_undefined_flag_F77='${wl}-z,nodefs' archive_cmds_need_lc_F77=no hardcode_shlibpath_var_F77=no hardcode_libdir_flag_spec_F77='${wl}-R,$libdir' hardcode_libdir_separator_F77=':' link_all_deplibs_F77=yes export_dynamic_flag_spec_F77='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_shlibpath_var_F77=no ;; *) ld_shlibs_F77=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) export_dynamic_flag_spec_F77='${wl}-Blargedynsym' ;; esac fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_F77" >&5 $as_echo "$ld_shlibs_F77" >&6; } test "$ld_shlibs_F77" = no && can_build_shared=no with_gnu_ld_F77=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_F77" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_F77=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_F77 in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } if ${lt_cv_archive_cmds_need_lc_F77+:} false; then : $as_echo_n "(cached) " >&6 else $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_F77 pic_flag=$lt_prog_compiler_pic_F77 compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_F77 allow_undefined_flag_F77= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_F77 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds_F77 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then lt_cv_archive_cmds_need_lc_F77=no else lt_cv_archive_cmds_need_lc_F77=yes fi allow_undefined_flag_F77=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_F77" >&5 $as_echo "$lt_cv_archive_cmds_need_lc_F77" >&6; } archive_cmds_need_lc_F77=$lt_cv_archive_cmds_need_lc_F77 ;; esac fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[4-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl*) # Native MSVC libname_spec='$name' soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' library_names_spec='${libname}.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec="$LIB" if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC wrapper library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[3-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH if ${lt_cv_shlibpath_overrides_runpath+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_F77\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_F77\"" cat > conftest.$ac_ext <<_ACEOF program main end _ACEOF if ac_fn_f77_try_link "$LINENO"; then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : lt_cv_shlibpath_overrides_runpath=yes fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir fi shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action_F77= if test -n "$hardcode_libdir_flag_spec_F77" || test -n "$runpath_var_F77" || test "X$hardcode_automatic_F77" = "Xyes" ; then # We can hardcode non-existent directories. if test "$hardcode_direct_F77" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, F77)" != no && test "$hardcode_minus_L_F77" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_F77=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_F77=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_F77=unsupported fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_F77" >&5 $as_echo "$hardcode_action_F77" >&6; } if test "$hardcode_action_F77" = relink || test "$inherit_rpath_F77" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi fi # test -n "$compiler" GCC=$lt_save_GCC CC="$lt_save_CC" CFLAGS="$lt_save_CFLAGS" fi # test "$_lt_disable_F77" != yes ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_config_commands="$ac_config_commands libtool" # Only expand once: if test "x$CC" != xcc; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5 $as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5 $as_echo_n "checking whether cc understands -c and -o together... " >&6; } fi set dummy $CC; ac_cc=`$as_echo "$2" | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF # Make sure it works both with $CC and with simple cc. # We do the test twice because some compilers refuse to overwrite an # existing .o file with -o, though they will create one. ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' rm -f conftest2.* if { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -f conftest2.$ac_objext && { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then eval ac_cv_prog_cc_${ac_cc}_c_o=yes if test "x$CC" != xcc; then # Test first that cc exists at all. if { ac_try='cc -c conftest.$ac_ext >&5' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' rm -f conftest2.* if { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -f conftest2.$ac_objext && { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # cc works too. : else # cc exists but doesn't like -o. eval ac_cv_prog_cc_${ac_cc}_c_o=no fi fi fi else eval ac_cv_prog_cc_${ac_cc}_c_o=no fi rm -f core conftest* fi if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h fi # FIXME: we rely on the cache variable name because # there is no other way. set dummy $CC am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o if test "$am_t" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi # Correct install paths if test x"$prefix" = x -o x"$prefix" = "xNONE"; then : prefix="/usr/local" fi if test x"$exec_prefix" = x -o x"$exec_prefix" = "xNONE"; then : exec_prefix="\${prefix}" fi if test "$docdir" = "\${datarootdir}/doc/\${PACKAGE_TARNAME}"; then : docdir="\${datarootdir}/doc" fi # Checks for header files. for ac_header in stdio.h string.h stdlib.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in getline do : ac_fn_c_check_func "$LINENO" "getline" "ac_cv_func_getline" if test "x$ac_cv_func_getline" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETLINE 1 _ACEOF have_getline=yes fi done if test "x$have_getline" = xyes ; then CFLAGS="${CFLAGS} -DHAVE_GETLINE" fi use_libz=yes # Check whether --with-libz was given. if test "${with_libz+set}" = set; then : withval=$with_libz; if test x$withval != xno; then use_libz=yes else use_libz=no fi fi if test $use_libz = yes ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for deflate in -lz" >&5 $as_echo_n "checking for deflate in -lz... " >&6; } if ${ac_cv_lib_z_deflate+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char deflate (); int main () { return deflate (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_z_deflate=yes else ac_cv_lib_z_deflate=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_deflate" >&5 $as_echo "$ac_cv_lib_z_deflate" >&6; } if test "x$ac_cv_lib_z_deflate" = xyes; then : have_libz=yes fi fi if test "x$have_libz" = xyes; then HAVE_LIBZ_TRUE= HAVE_LIBZ_FALSE='#' else HAVE_LIBZ_TRUE='#' HAVE_LIBZ_FALSE= fi # crappy hack: of the macros AC_PROG_{CC,CXX,F77,FC}, only the # first expanded one will check for object file extension etc, # and fail if that doesn't work. ### No fortran by default. # use --with-fortran to build fortran interface use_fortran=yes # Check whether --with-fortran was given. if test "${with_fortran+set}" = set; then : withval=$with_fortran; if test x$withval != xno; then use_fortran=yes else use_fortran=no fi fi if test $use_fortran = yes ; then if test x$F77 = x; then as_fn_error $? "A Fortran compiler is required" "$LINENO" 5 fi fi if test "x$use_fortran" = xyes; then FORTRAN_TRUE= FORTRAN_FALSE='#' else FORTRAN_TRUE='#' FORTRAN_FALSE= fi # MPI stuff use_mpi=yes # Check whether --with-mpi was given. if test "${with_mpi+set}" = set; then : withval=$with_mpi; if test x$withval != xno; then if test x$withval = xyes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } use_mpi_from_system=yes else # use specified path use_mpi_from_system=no mpidir=$withval { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes using $mpidir" >&5 $as_echo "yes using $mpidir" >&6; } MPIDIR=$mpidir fi else # either --without-mpi or --with-mpi=no is set use_mpi=no fi fi if test $use_mpi = yes ; then USE_MPIDIR_FROM_USER=$use_mpi_from_system if test x$use_mpi_from_system = xno; then CPPFLAGS="${CPPFLAGS} -I$mpidir/include " LDFLAGS="${LDFLAGS} -L$mpidir/lib " fi # MPI header ac_fn_c_check_header_mongrel "$LINENO" "mpi.h" "ac_cv_header_mpi_h" "$ac_includes_default" if test "x$ac_cv_header_mpi_h" = xyes; then : enable_mpi=yes fi else enable_mpi=no fi if test "x$enable_mpi" = xyes; then USE_MPI_TRUE= USE_MPI_FALSE='#' else USE_MPI_TRUE='#' USE_MPI_FALSE= fi # OTF stuff use_internal_otf=yes otf_asked=no use_otf=yes # Check whether --with-otf was given. if test "${with_otf+set}" = set; then : withval=$with_otf; if test x$withval != xno; then otf_asked=yes if test x$withval = xyes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } use_internal_otf=yes else # use specified path use_internal_otf=no otfdir=$withval { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes using $otfdir" >&5 $as_echo "yes using $otfdir" >&6; } OTFDIR=$otfdir OTF_INC=$otfdir/include OTF_LIB=$otfdir/lib fi else # either --without-otf or --with-otf=no is set use_internal_otf=no use_otf=no fi fi # Check whether --with-otf-include was given. if test "${with_otf_include+set}" = set; then : withval=$with_otf_include; if test x$withval != xno; then otf_asked=yes if test x$withval = xyes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } use_internal_otf=yes else # use specified path use_internal_otf=no otf_inc_dir=$withval { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes using $otf_inc_dir" >&5 $as_echo "yes using $otf_inc_dir" >&6; } OTF_INC=$otf_inc_dir OTF_INC=$otf_inc_dir fi fi fi # Check whether --with-otf-lib was given. if test "${with_otf_lib+set}" = set; then : withval=$with_otf_lib; if test x$withval != xno; then otf_asked=yes if test x$withval = xyes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } use_internal_otf=yes else # use specified path use_internal_otf=no otf_lib_dir=$withval { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes using $otf_lib_dir" >&5 $as_echo "yes using $otf_lib_dir" >&6; } OTF_LIB=$otf_lib_dir OTF_LIB=$otf_lib_dir fi fi fi if test $use_otf = yes ; then enable_otf=yes if test x$use_internal_otf = xno; then CPPFLAGS="${CPPFLAGS} -I$OTF_INC/" LDFLAGS="${LDFLAGS} -L$OTF_LIB" # Check for OTF header ac_fn_c_check_header_mongrel "$LINENO" "otf.h" "ac_cv_header_otf_h" "$ac_includes_default" if test "x$ac_cv_header_otf_h" = xyes; then : enable_otf=yes else { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find libOTF." >&5 $as_echo "$as_me: WARNING: Cannot find libOTF." >&2;} fi if test $enable_otf = no && test $otf_asked = yes ; then as_fn_error $? "Cannot find libOTF." "$LINENO" 5 fi else otf_parent_dir=`pwd` otf_dir="extlib/otf" { $as_echo "$as_me:${as_lineno-$LINENO}: configuring in otf_dir ($otf_parent_dir/$otf_dir)" >&5 $as_echo "$as_me: configuring in otf_dir ($otf_parent_dir/$otf_dir)" >&6;} if test "$srcdir" != "."; then : test -d "$otf_dir" || mkdir -p "$otf_dir" || as_fn_error $? "cannot create $otf_dir" "$LINENO" 5 fi cd $otf_dir case $srcdir in .) otf_srcdir="$srcdir" ;; /*) otf_srcdir="$srcdir/$otf_dir" ;; *) otf_srcdir="../../$srcdir/$otf_dir" ;; esac otf_conf_cmd="$otf_srcdir/configure" otf_conf_args="$otf_conf_args --prefix=\"$prefix\" --exec-prefix=\"$exec_prefix\" --bindir=\"$bindir\" --libdir=\"$libdir\" --includedir=\"$includedir\" --docdir=\"$docdir/otf\" $OTFFLAGS --cache-file=\"/dev/null\" --srcdir=\"$otf_srcdir\"" { $as_echo "$as_me:${as_lineno-$LINENO}: running $SHELL $otf_conf_cmd $otf_conf_args" >&5 $as_echo "$as_me: running $SHELL $otf_conf_cmd $otf_conf_args" >&6;} eval "$SHELL '$otf_conf_cmd' $otf_conf_args" if test $? != "0"; then : as_fn_error $? "$otf_conf_cmd failed for $otf_dir" "$LINENO" 5 fi cd $otf_parent_dir if test x"$OTFLIB" = x; then : OTF_LDFLAGS="-lotf" fi # OTF_CPPFLAGS="$OTF_CPPFLAGS -I${prefix}/include/otf" # CPPFLAGS="${CPPFLAGS} -I${prefix}/include/otf" fi else enable_otf=no fi if test "x$enable_otf" = xyes; then USE_OTF_TRUE= USE_OTF_FALSE='#' else USE_OTF_TRUE='#' USE_OTF_FALSE= fi { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: use otf = $use_internal_otf" >&5 $as_echo "$as_me: WARNING: use otf = $use_internal_otf" >&2;} if test x"$use_internal_otf" != "xyes"; then DONT_USE_INTERNAL_OTF_TRUE= DONT_USE_INTERNAL_OTF_FALSE='#' else DONT_USE_INTERNAL_OTF_TRUE='#' DONT_USE_INTERNAL_OTF_FALSE= fi # Checks for programs # Extract the first word of "doxygen", so it can be a program name with args. set dummy doxygen; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_HAVE_DOXYGEN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$HAVE_DOXYGEN"; then ac_cv_prog_HAVE_DOXYGEN="$HAVE_DOXYGEN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_HAVE_DOXYGEN="yes" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_prog_HAVE_DOXYGEN" && ac_cv_prog_HAVE_DOXYGEN="no" fi fi HAVE_DOXYGEN=$ac_cv_prog_HAVE_DOXYGEN if test -n "$HAVE_DOXYGEN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HAVE_DOXYGEN" >&5 $as_echo "$HAVE_DOXYGEN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test x$HAVE_DOXYGEN = xno ; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find doxygen" >&5 $as_echo "$as_me: WARNING: Cannot find doxygen" >&2;} fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pdflatex", so it can be a program name with args. set dummy ${ac_tool_prefix}pdflatex; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_PDFLATEX+:} false; then : $as_echo_n "(cached) " >&6 else case $PDFLATEX in [\\/]* | ?:[\\/]*) ac_cv_path_PDFLATEX="$PDFLATEX" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PDFLATEX="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PDFLATEX=$ac_cv_path_PDFLATEX if test -n "$PDFLATEX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PDFLATEX" >&5 $as_echo "$PDFLATEX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_path_PDFLATEX"; then ac_pt_PDFLATEX=$PDFLATEX # Extract the first word of "pdflatex", so it can be a program name with args. set dummy pdflatex; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_ac_pt_PDFLATEX+:} false; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PDFLATEX in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PDFLATEX="$ac_pt_PDFLATEX" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_PDFLATEX="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PDFLATEX=$ac_cv_path_ac_pt_PDFLATEX if test -n "$ac_pt_PDFLATEX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PDFLATEX" >&5 $as_echo "$ac_pt_PDFLATEX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_pt_PDFLATEX" = x; then PDFLATEX="no" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PDFLATEX=$ac_pt_PDFLATEX fi else PDFLATEX="$ac_cv_path_PDFLATEX" fi if test "x$PDFLATEX" != xno; then USE_PDFLATEX_TRUE= USE_PDFLATEX_FALSE='#' else USE_PDFLATEX_TRUE='#' USE_PDFLATEX_FALSE= fi if test "x$HAVE_DOXYGEN" = xyes; then USE_DOXYGEN_TRUE= USE_DOXYGEN_FALSE='#' else USE_DOXYGEN_TRUE='#' USE_DOXYGEN_FALSE= fi subdirs="$subdirs extlib/otf" ac_config_files="$ac_config_files Makefile gtg.pc extlib/Makefile inc/Makefile src/Makefile doc/Makefile doc/Doxyfile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. # # If the first sed substitution is executed (which looks for macros that # take arguments), then branch to the quote section. Otherwise, # look for a macro that doesn't take arguments. ac_script=' :mline /\\$/{ N s,\\\n,, b mline } t clear :clear s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g t quote s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g t quote b any :quote s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g s/\[/\\&/g s/\]/\\&/g s/\$/$$/g H :any ${ g s/^\n// s/\n/ /g p } ' DEFS=`sed -n "$ac_script" confdefs.h` ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${HAVE_LIBZ_TRUE}" && test -z "${HAVE_LIBZ_FALSE}"; then as_fn_error $? "conditional \"HAVE_LIBZ\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${FORTRAN_TRUE}" && test -z "${FORTRAN_FALSE}"; then as_fn_error $? "conditional \"FORTRAN\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${USE_MPI_TRUE}" && test -z "${USE_MPI_FALSE}"; then as_fn_error $? "conditional \"USE_MPI\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${USE_OTF_TRUE}" && test -z "${USE_OTF_FALSE}"; then as_fn_error $? "conditional \"USE_OTF\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${DONT_USE_INTERNAL_OTF_TRUE}" && test -z "${DONT_USE_INTERNAL_OTF_FALSE}"; then as_fn_error $? "conditional \"DONT_USE_INTERNAL_OTF\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${USE_PDFLATEX_TRUE}" && test -z "${USE_PDFLATEX_FALSE}"; then as_fn_error $? "conditional \"USE_PDFLATEX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${USE_DOXYGEN_TRUE}" && test -z "${USE_DOXYGEN_FALSE}"; then as_fn_error $? "conditional \"USE_DOXYGEN\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by GTG $as_me 0.2, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE Configuration files: $config_files Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ GTG config.status 0.2 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --he | --h | --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`' hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' LD_F77='`$ECHO "$LD_F77" | $SED "$delay_single_quote_subst"`' reload_flag_F77='`$ECHO "$reload_flag_F77" | $SED "$delay_single_quote_subst"`' reload_cmds_F77='`$ECHO "$reload_cmds_F77" | $SED "$delay_single_quote_subst"`' old_archive_cmds_F77='`$ECHO "$old_archive_cmds_F77" | $SED "$delay_single_quote_subst"`' compiler_F77='`$ECHO "$compiler_F77" | $SED "$delay_single_quote_subst"`' GCC_F77='`$ECHO "$GCC_F77" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag_F77='`$ECHO "$lt_prog_compiler_no_builtin_flag_F77" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_pic_F77='`$ECHO "$lt_prog_compiler_pic_F77" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_wl_F77='`$ECHO "$lt_prog_compiler_wl_F77" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_static_F77='`$ECHO "$lt_prog_compiler_static_F77" | $SED "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o_F77='`$ECHO "$lt_cv_prog_compiler_c_o_F77" | $SED "$delay_single_quote_subst"`' archive_cmds_need_lc_F77='`$ECHO "$archive_cmds_need_lc_F77" | $SED "$delay_single_quote_subst"`' enable_shared_with_static_runtimes_F77='`$ECHO "$enable_shared_with_static_runtimes_F77" | $SED "$delay_single_quote_subst"`' export_dynamic_flag_spec_F77='`$ECHO "$export_dynamic_flag_spec_F77" | $SED "$delay_single_quote_subst"`' whole_archive_flag_spec_F77='`$ECHO "$whole_archive_flag_spec_F77" | $SED "$delay_single_quote_subst"`' compiler_needs_object_F77='`$ECHO "$compiler_needs_object_F77" | $SED "$delay_single_quote_subst"`' old_archive_from_new_cmds_F77='`$ECHO "$old_archive_from_new_cmds_F77" | $SED "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds_F77='`$ECHO "$old_archive_from_expsyms_cmds_F77" | $SED "$delay_single_quote_subst"`' archive_cmds_F77='`$ECHO "$archive_cmds_F77" | $SED "$delay_single_quote_subst"`' archive_expsym_cmds_F77='`$ECHO "$archive_expsym_cmds_F77" | $SED "$delay_single_quote_subst"`' module_cmds_F77='`$ECHO "$module_cmds_F77" | $SED "$delay_single_quote_subst"`' module_expsym_cmds_F77='`$ECHO "$module_expsym_cmds_F77" | $SED "$delay_single_quote_subst"`' with_gnu_ld_F77='`$ECHO "$with_gnu_ld_F77" | $SED "$delay_single_quote_subst"`' allow_undefined_flag_F77='`$ECHO "$allow_undefined_flag_F77" | $SED "$delay_single_quote_subst"`' no_undefined_flag_F77='`$ECHO "$no_undefined_flag_F77" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_F77='`$ECHO "$hardcode_libdir_flag_spec_F77" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator_F77='`$ECHO "$hardcode_libdir_separator_F77" | $SED "$delay_single_quote_subst"`' hardcode_direct_F77='`$ECHO "$hardcode_direct_F77" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute_F77='`$ECHO "$hardcode_direct_absolute_F77" | $SED "$delay_single_quote_subst"`' hardcode_minus_L_F77='`$ECHO "$hardcode_minus_L_F77" | $SED "$delay_single_quote_subst"`' hardcode_shlibpath_var_F77='`$ECHO "$hardcode_shlibpath_var_F77" | $SED "$delay_single_quote_subst"`' hardcode_automatic_F77='`$ECHO "$hardcode_automatic_F77" | $SED "$delay_single_quote_subst"`' inherit_rpath_F77='`$ECHO "$inherit_rpath_F77" | $SED "$delay_single_quote_subst"`' link_all_deplibs_F77='`$ECHO "$link_all_deplibs_F77" | $SED "$delay_single_quote_subst"`' always_export_symbols_F77='`$ECHO "$always_export_symbols_F77" | $SED "$delay_single_quote_subst"`' export_symbols_cmds_F77='`$ECHO "$export_symbols_cmds_F77" | $SED "$delay_single_quote_subst"`' exclude_expsyms_F77='`$ECHO "$exclude_expsyms_F77" | $SED "$delay_single_quote_subst"`' include_expsyms_F77='`$ECHO "$include_expsyms_F77" | $SED "$delay_single_quote_subst"`' prelink_cmds_F77='`$ECHO "$prelink_cmds_F77" | $SED "$delay_single_quote_subst"`' postlink_cmds_F77='`$ECHO "$postlink_cmds_F77" | $SED "$delay_single_quote_subst"`' file_list_spec_F77='`$ECHO "$file_list_spec_F77" | $SED "$delay_single_quote_subst"`' hardcode_action_F77='`$ECHO "$hardcode_action_F77" | $SED "$delay_single_quote_subst"`' LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$1 _LTECHO_EOF' } # Quote evaled strings. for var in SHELL \ ECHO \ PATH_SEPARATOR \ SED \ GREP \ EGREP \ FGREP \ LD \ NM \ LN_S \ lt_SP2NL \ lt_NL2SP \ reload_flag \ OBJDUMP \ deplibs_check_method \ file_magic_cmd \ file_magic_glob \ want_nocaseglob \ DLLTOOL \ sharedlib_from_linklib_cmd \ AR \ AR_FLAGS \ archiver_list_spec \ STRIP \ RANLIB \ CC \ CFLAGS \ compiler \ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ nm_file_list_spec \ lt_prog_compiler_no_builtin_flag \ lt_prog_compiler_pic \ lt_prog_compiler_wl \ lt_prog_compiler_static \ lt_cv_prog_compiler_c_o \ need_locks \ MANIFEST_TOOL \ DSYMUTIL \ NMEDIT \ LIPO \ OTOOL \ OTOOL64 \ shrext_cmds \ export_dynamic_flag_spec \ whole_archive_flag_spec \ compiler_needs_object \ with_gnu_ld \ allow_undefined_flag \ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_separator \ exclude_expsyms \ include_expsyms \ file_list_spec \ variables_saved_for_relink \ libname_spec \ library_names_spec \ soname_spec \ install_override_mode \ finish_eval \ old_striplib \ striplib \ LD_F77 \ reload_flag_F77 \ compiler_F77 \ lt_prog_compiler_no_builtin_flag_F77 \ lt_prog_compiler_pic_F77 \ lt_prog_compiler_wl_F77 \ lt_prog_compiler_static_F77 \ lt_cv_prog_compiler_c_o_F77 \ export_dynamic_flag_spec_F77 \ whole_archive_flag_spec_F77 \ compiler_needs_object_F77 \ with_gnu_ld_F77 \ allow_undefined_flag_F77 \ no_undefined_flag_F77 \ hardcode_libdir_flag_spec_F77 \ hardcode_libdir_separator_F77 \ exclude_expsyms_F77 \ include_expsyms_F77 \ file_list_spec_F77; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in reload_cmds \ old_postinstall_cmds \ old_postuninstall_cmds \ old_archive_cmds \ extract_expsyms_cmds \ old_archive_from_new_cmds \ old_archive_from_expsyms_cmds \ archive_cmds \ archive_expsym_cmds \ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ postlink_cmds \ postinstall_cmds \ postuninstall_cmds \ finish_cmds \ sys_lib_search_path_spec \ sys_lib_dlsearch_path_spec \ reload_cmds_F77 \ old_archive_cmds_F77 \ old_archive_from_new_cmds_F77 \ old_archive_from_expsyms_cmds_F77 \ archive_cmds_F77 \ archive_expsym_cmds_F77 \ module_cmds_F77 \ module_expsym_cmds_F77 \ export_symbols_cmds_F77 \ prelink_cmds_F77 \ postlink_cmds_F77; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done ac_aux_dir='$ac_aux_dir' xsi_shell='$xsi_shell' lt_shell_append='$lt_shell_append' # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "gtg.pc") CONFIG_FILES="$CONFIG_FILES gtg.pc" ;; "extlib/Makefile") CONFIG_FILES="$CONFIG_FILES extlib/Makefile" ;; "inc/Makefile") CONFIG_FILES="$CONFIG_FILES inc/Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; "doc/Doxyfile") CONFIG_FILES="$CONFIG_FILES doc/Doxyfile" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" eval set X " :F $CONFIG_FILES :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir=$dirpart/$fdir; as_fn_mkdir_p # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ;; "libtool":C) # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. # # GNU Libtool is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of # the License, or (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, or # obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # The names of the tagged configurations supported by this script. available_tags="F77 " # ### BEGIN LIBTOOL CONFIG # Which release of libtool.m4 was used? macro_version=$macro_version macro_revision=$macro_revision # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Whether or not to build static libraries. build_old_libs=$enable_static # What type of objects to build. pic_mode=$pic_mode # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # An echo program that protects backslashes. ECHO=$lt_ECHO # The PATH separator for the build system. PATH_SEPARATOR=$lt_PATH_SEPARATOR # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="\$SED -e 1s/^X//" # A grep program that handles long lines. GREP=$lt_GREP # An ERE matcher. EGREP=$lt_EGREP # A literal string matcher. FGREP=$lt_FGREP # A BSD- or MS-compatible name lister. NM=$lt_NM # Whether we need soft or hard links. LN_S=$lt_LN_S # What is the maximum length of a command? max_cmd_len=$max_cmd_len # Object file suffix (normally "o"). objext=$ac_objext # Executable file suffix (normally ""). exeext=$exeext # whether the shell understands "unset". lt_unset=$lt_unset # turn spaces into newlines. SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP # convert \$build file names to \$host format. to_host_file_cmd=$lt_cv_to_host_file_cmd # convert \$build files to toolchain format. to_tool_file_cmd=$lt_cv_to_tool_file_cmd # An object symbol dumper. OBJDUMP=$lt_OBJDUMP # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method = "file_magic". file_magic_cmd=$lt_file_magic_cmd # How to find potential files when deplibs_check_method = "file_magic". file_magic_glob=$lt_file_magic_glob # Find potential files using nocaseglob when deplibs_check_method = "file_magic". want_nocaseglob=$lt_want_nocaseglob # DLL creation program. DLLTOOL=$lt_DLLTOOL # Command to associate shared and link libraries. sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd # The archiver. AR=$lt_AR # Flags to create an archive. AR_FLAGS=$lt_AR_FLAGS # How to feed a file listing to the archiver. archiver_list_spec=$lt_archiver_list_spec # A symbol stripping program. STRIP=$lt_STRIP # Commands used to install an old-style archive. RANLIB=$lt_RANLIB old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Whether to use a lock for old archive extraction. lock_old_archive_extraction=$lock_old_archive_extraction # A C compiler. LTCC=$lt_CC # LTCC compiler flags. LTCFLAGS=$lt_CFLAGS # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration. global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair. global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix # Specify filename containing input files for \$NM. nm_file_list_spec=$lt_nm_file_list_spec # The root where to search for dependent libraries,and in which our libraries should be installed. lt_sysroot=$lt_sysroot # The name of the directory that contains temporary libtool files. objdir=$objdir # Used to examine libraries when file_magic_cmd begins with "file". MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks # Manifest tool. MANIFEST_TOOL=$lt_MANIFEST_TOOL # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL # Tool to change global to local symbols on Mac OS X. NMEDIT=$lt_NMEDIT # Tool to manipulate fat objects and archives on Mac OS X. LIPO=$lt_LIPO # ldd/readelf like tool for Mach-O binaries on Mac OS X. OTOOL=$lt_OTOOL # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. OTOOL64=$lt_OTOOL64 # Old archive suffix (normally "a"). libext=$libext # Shared library suffix (normally ".so"). shrext_cmds=$lt_shrext_cmds # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Variables whose values should be saved in libtool wrapper scripts and # restored at link time. variables_saved_for_relink=$lt_variables_saved_for_relink # Do we need the "lib" prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Library versioning type. version_type=$version_type # Shared library runtime path variable. runpath_var=$runpath_var # Shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Permission mode override for installation of shared libraries. install_override_mode=$lt_install_override_mode # Command to use after installation of a shared archive. postinstall_cmds=$lt_postinstall_cmds # Command to use after uninstallation of a shared archive. postuninstall_cmds=$lt_postuninstall_cmds # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # As "finish_cmds", except a single script fragment to be evaled but # not shown. finish_eval=$lt_finish_eval # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Compile-time system search path for libraries. sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries. sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # The linker used to build libraries. LD=$lt_LD # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds # A language specific compiler. CC=$lt_compiler # Is the compiler the GNU compiler? with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \${shlibpath_var} if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds # Commands necessary for finishing linking programs. postlink_cmds=$lt_postlink_cmds # Specify filename containing input files. file_list_spec=$lt_file_list_spec # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action # ### END LIBTOOL CONFIG _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac ltmain="$ac_aux_dir/ltmain.sh" # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) if test x"$xsi_shell" = xyes; then sed -e '/^func_dirname ()$/,/^} # func_dirname /c\ func_dirname ()\ {\ \ case ${1} in\ \ */*) func_dirname_result="${1%/*}${2}" ;;\ \ * ) func_dirname_result="${3}" ;;\ \ esac\ } # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_basename ()$/,/^} # func_basename /c\ func_basename ()\ {\ \ func_basename_result="${1##*/}"\ } # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\ func_dirname_and_basename ()\ {\ \ case ${1} in\ \ */*) func_dirname_result="${1%/*}${2}" ;;\ \ * ) func_dirname_result="${3}" ;;\ \ esac\ \ func_basename_result="${1##*/}"\ } # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_stripname ()$/,/^} # func_stripname /c\ func_stripname ()\ {\ \ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\ \ # positional parameters, so assign one to ordinary parameter first.\ \ func_stripname_result=${3}\ \ func_stripname_result=${func_stripname_result#"${1}"}\ \ func_stripname_result=${func_stripname_result%"${2}"}\ } # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\ func_split_long_opt ()\ {\ \ func_split_long_opt_name=${1%%=*}\ \ func_split_long_opt_arg=${1#*=}\ } # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\ func_split_short_opt ()\ {\ \ func_split_short_opt_arg=${1#??}\ \ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\ } # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\ func_lo2o ()\ {\ \ case ${1} in\ \ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\ \ *) func_lo2o_result=${1} ;;\ \ esac\ } # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_xform ()$/,/^} # func_xform /c\ func_xform ()\ {\ func_xform_result=${1%.*}.lo\ } # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_arith ()$/,/^} # func_arith /c\ func_arith ()\ {\ func_arith_result=$(( $* ))\ } # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_len ()$/,/^} # func_len /c\ func_len ()\ {\ func_len_result=${#1}\ } # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: fi if test x"$lt_shell_append" = xyes; then sed -e '/^func_append ()$/,/^} # func_append /c\ func_append ()\ {\ eval "${1}+=\\${2}"\ } # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\ func_append_quoted ()\ {\ \ func_quote_for_eval "${2}"\ \ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\ } # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: # Save a `func_append' function call where possible by direct use of '+=' sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: else # Save a `func_append' function call even when '+=' is not available sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: fi if test x"$_lt_function_replace_fail" = x":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5 $as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;} fi mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" cat <<_LT_EOF >> "$ofile" # ### BEGIN LIBTOOL TAG CONFIG: F77 # The linker used to build libraries. LD=$lt_LD_F77 # How to create reloadable object files. reload_flag=$lt_reload_flag_F77 reload_cmds=$lt_reload_cmds_F77 # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds_F77 # A language specific compiler. CC=$lt_compiler_F77 # Is the compiler the GNU compiler? with_gcc=$GCC_F77 # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_F77 # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl_F77 # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static_F77 # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc_F77 # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object_F77 # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds_F77 archive_expsym_cmds=$lt_archive_expsym_cmds_F77 # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds_F77 module_expsym_cmds=$lt_module_expsym_cmds_F77 # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld_F77 # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag_F77 # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_F77 # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct_F77 # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \${shlibpath_var} if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute_F77 # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L_F77 # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic_F77 # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath_F77 # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs_F77 # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols_F77 # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_F77 # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms_F77 # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_F77 # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds_F77 # Commands necessary for finishing linking programs. postlink_cmds=$lt_postlink_cmds_F77 # Specify filename containing input files. file_list_spec=$lt_file_list_spec_F77 # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action_F77 # ### END LIBTOOL TAG CONFIG: F77 _LT_EOF ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi # # CONFIG_SUBDIRS section. # if test "$no_recursion" != yes; then # Remove --cache-file, --srcdir, and --disable-option-checking arguments # so they do not pile up. ac_sub_configure_args= ac_prev= eval "set x $ac_configure_args" shift for ac_arg do if test -n "$ac_prev"; then ac_prev= continue fi case $ac_arg in -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \ | --c=*) ;; --config-cache | -C) ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) ;; --disable-option-checking) ;; *) case $ac_arg in *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append ac_sub_configure_args " '$ac_arg'" ;; esac done # Always prepend --prefix to ensure using the same prefix # in subdir configurations. ac_arg="--prefix=$prefix" case $ac_arg in *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac ac_sub_configure_args="'$ac_arg' $ac_sub_configure_args" # Pass --silent if test "$silent" = yes; then ac_sub_configure_args="--silent $ac_sub_configure_args" fi # Always prepend --disable-option-checking to silence warnings, since # different subdirs can have different --enable and --with options. ac_sub_configure_args="--disable-option-checking $ac_sub_configure_args" ac_popdir=`pwd` for ac_dir in : $subdirs; do test "x$ac_dir" = x: && continue # Do not complain, so a configure script can configure whichever # parts of a large source tree are present. test -d "$srcdir/$ac_dir" || continue ac_msg="=== configuring in $ac_dir (`pwd`/$ac_dir)" $as_echo "$as_me:${as_lineno-$LINENO}: $ac_msg" >&5 $as_echo "$ac_msg" >&6 as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" # Check for guested configure; otherwise get Cygnus style configure. if test -f "$ac_srcdir/configure.gnu"; then ac_sub_configure=$ac_srcdir/configure.gnu elif test -f "$ac_srcdir/configure"; then ac_sub_configure=$ac_srcdir/configure elif test -f "$ac_srcdir/configure.in"; then # This should be Cygnus configure. ac_sub_configure=$ac_aux_dir/configure else { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: no configuration information is in $ac_dir" >&5 $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;} ac_sub_configure= fi # The recursion is here. if test -n "$ac_sub_configure"; then # Make the cache file name correct relative to the subdirectory. case $cache_file in [\\/]* | ?:[\\/]* ) ac_sub_cache_file=$cache_file ;; *) # Relative name. ac_sub_cache_file=$ac_top_build_prefix$cache_file ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5 $as_echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;} # The eval makes quoting arguments work. eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \ --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" || as_fn_error $? "$ac_sub_configure failed for $ac_dir" "$LINENO" 5 fi cd "$ac_popdir" done fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi gtg-trace-0.2+dfsg/configure.ac000066400000000000000000000201101175246114100164310ustar00rootroot00000000000000# Copyright © CNRS, INRIA, Université Bordeaux 1 # See COPYING in top-level directory. # -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ([2.61]) AC_INIT([GTG], [0.2], [gtg-devel@lists.gforge.inria.fr]) AM_INIT_AUTOMAKE # Checks for programs. AC_PROG_CC AC_PROG_F77 AC_PROG_INSTALL AC_PROG_MAKE_SET AC_PROG_LIBTOOL AM_PROG_CC_C_O # Correct install paths AS_IF([test x"$prefix" = x -o x"$prefix" = "xNONE"], [prefix="/usr/local"]) AS_IF([test x"$exec_prefix" = x -o x"$exec_prefix" = "xNONE"], [exec_prefix="\${prefix}"]) AS_IF([test "$docdir" = "\${datarootdir}/doc/\${PACKAGE_TARNAME}"], [docdir="\${datarootdir}/doc"]) # Checks for header files. AC_CHECK_HEADERS([stdio.h string.h stdlib.h]) AC_CHECK_FUNCS([getline], have_getline=yes) if [ test "x$have_getline" = xyes ]; then CFLAGS="${CFLAGS} -DHAVE_GETLINE" fi use_libz=yes AC_ARG_WITH(libz, [AS_HELP_STRING([--with-libz[=]], [Enable libZ])], [ if test x$withval != xno; then use_libz=yes else use_libz=no fi ]) if [ test $use_libz = yes ]; then AC_CHECK_LIB(z, deflate, have_libz=yes) fi AM_CONDITIONAL([HAVE_LIBZ], [ test "x$have_libz" = xyes]) # crappy hack: of the macros AC_PROG_{CC,CXX,F77,FC}, only the # first expanded one will check for object file extension etc, # and fail if that doesn't work. ### No fortran by default. # use --with-fortran to build fortran interface use_fortran=yes AC_ARG_WITH(fortran, [AS_HELP_STRING([--with-fortran[=]], [Enable fortran])], [ if test x$withval != xno; then use_fortran=yes else use_fortran=no fi ]) if [ test $use_fortran = yes ]; then if test x$F77 = x; then AC_MSG_ERROR(A Fortran compiler is required) fi fi AM_CONDITIONAL([FORTRAN], [test "x$use_fortran" = xyes]) # MPI stuff use_mpi=yes AC_ARG_WITH(mpi, [AS_HELP_STRING([--with-mpi[=]], [Use a specific MPI installation])], [ if test x$withval != xno; then if test x$withval = xyes; then AC_MSG_RESULT(yes) use_mpi_from_system=yes else # use specified path use_mpi_from_system=no mpidir=$withval AC_MSG_RESULT(yes using $mpidir) AC_SUBST(MPIDIR, $mpidir) fi else # either --without-mpi or --with-mpi=no is set use_mpi=no fi ]) if test $use_mpi = yes ; then AC_SUBST(USE_MPIDIR_FROM_USER,$use_mpi_from_system) if test x$use_mpi_from_system = xno; then CPPFLAGS="${CPPFLAGS} -I$mpidir/include " LDFLAGS="${LDFLAGS} -L$mpidir/lib " fi # MPI header AC_CHECK_HEADER([mpi.h],[enable_mpi=yes],) else enable_mpi=no fi AM_CONDITIONAL([USE_MPI], [test "x$enable_mpi" = xyes]) # OTF stuff use_internal_otf=yes otf_asked=no use_otf=yes AC_ARG_WITH(otf, [AS_HELP_STRING([--with-otf[=]], [Use a specific OTF installation])], [ if test x$withval != xno; then otf_asked=yes if test x$withval = xyes; then AC_MSG_RESULT(yes) use_internal_otf=yes else # use specified path use_internal_otf=no otfdir=$withval AC_MSG_RESULT(yes using $otfdir) AC_SUBST(OTFDIR, $otfdir) OTF_INC=$otfdir/include OTF_LIB=$otfdir/lib fi else # either --without-otf or --with-otf=no is set use_internal_otf=no use_otf=no fi ]) AC_ARG_WITH(otf-include, [AS_HELP_STRING([--with-otf-include[=]], [Use a specific OTF header directory])], [ if test x$withval != xno; then otf_asked=yes if test x$withval = xyes; then AC_MSG_RESULT(yes) use_internal_otf=yes else # use specified path use_internal_otf=no otf_inc_dir=$withval AC_MSG_RESULT(yes using $otf_inc_dir) OTF_INC=$otf_inc_dir AC_SUBST(OTF_INC, $otf_inc_dir) fi fi ]) AC_ARG_WITH(otf-lib, [AS_HELP_STRING([--with-otf-lib[=]], [Use a specific libotf.so directory])], [ if test x$withval != xno; then otf_asked=yes if test x$withval = xyes; then AC_MSG_RESULT(yes) use_internal_otf=yes else # use specified path use_internal_otf=no otf_lib_dir=$withval AC_MSG_RESULT(yes using $otf_lib_dir) OTF_LIB=$otf_lib_dir AC_SUBST(OTF_LIB, $otf_lib_dir) fi fi ]) if test $use_otf = yes ; then enable_otf=yes if test x$use_internal_otf = xno; then CPPFLAGS="${CPPFLAGS} -I$OTF_INC/" LDFLAGS="${LDFLAGS} -L$OTF_LIB" # Check for OTF header AC_CHECK_HEADER([otf.h],[enable_otf=yes], AC_MSG_WARN([Cannot find libOTF.])) if test $enable_otf = no && test $otf_asked = yes ; then AC_MSG_ERROR(Cannot find libOTF.) fi else dnl configure otf from extlib otf_parent_dir=`pwd` otf_dir="extlib/otf" AC_MSG_NOTICE([configuring in otf_dir ($otf_parent_dir/$otf_dir)]) AS_IF([test "$srcdir" != "."], [ test -d "$otf_dir" || mkdir -p "$otf_dir" || AC_MSG_ERROR([cannot create $otf_dir]) ]) cd $otf_dir case $srcdir in .) otf_srcdir="$srcdir" ;; /*) otf_srcdir="$srcdir/$otf_dir" ;; *) otf_srcdir="../../$srcdir/$otf_dir" ;; esac otf_conf_cmd="$otf_srcdir/configure" otf_conf_args="$otf_conf_args --prefix=\"$prefix\" --exec-prefix=\"$exec_prefix\" --bindir=\"$bindir\" --libdir=\"$libdir\" --includedir=\"$includedir\" --docdir=\"$docdir/otf\" $OTFFLAGS --cache-file=\"/dev/null\" --srcdir=\"$otf_srcdir\"" AC_MSG_NOTICE([running $SHELL $otf_conf_cmd $otf_conf_args]) eval "$SHELL '$otf_conf_cmd' $otf_conf_args" AS_IF([test $? != "0"], [AC_MSG_ERROR([$otf_conf_cmd failed for $otf_dir])]) cd $otf_parent_dir AS_IF([test x"$OTFLIB" = x], [OTF_LDFLAGS="-lotf"]) # OTF_CPPFLAGS="$OTF_CPPFLAGS -I${prefix}/include/otf" # CPPFLAGS="${CPPFLAGS} -I${prefix}/include/otf" fi else enable_otf=no fi AM_CONDITIONAL([USE_OTF], [test "x$enable_otf" = xyes]) AC_MSG_WARN([use otf = $use_internal_otf]) AM_CONDITIONAL(DONT_USE_INTERNAL_OTF, test x"$use_internal_otf" != "xyes") # Checks for programs AC_CHECK_PROG(HAVE_DOXYGEN, [doxygen], yes, no) if test x$HAVE_DOXYGEN = xno ; then AC_MSG_WARN([Cannot find doxygen]) fi AC_ARG_VAR([PDFLATEX], [Location of the pdflatex program (required for building the hwloc doxygen documentation)]) AC_PATH_TOOL([PDFLATEX], [pdflatex], no) AM_CONDITIONAL([USE_PDFLATEX], [test "x$PDFLATEX" != xno]) AM_CONDITIONAL([USE_DOXYGEN], [test "x$HAVE_DOXYGEN" = xyes]) AC_CONFIG_SUBDIRS([extlib/otf]) AC_OUTPUT([Makefile \ gtg.pc \ extlib/Makefile \ inc/Makefile \ src/Makefile \ doc/Makefile \ doc/Doxyfile]) gtg-trace-0.2+dfsg/depcomp000077500000000000000000000475561175246114100155470ustar00rootroot00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2011-12-04.11; # UTC # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010, # 2011 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try \`$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by `PROGRAMS ARGS'. object Object file output by `PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputting dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvisualcpp fi if test "$depmode" = msvc7msys; then # This is just like msvc7 but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvc7 fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ## The second -e expression handles DOS-style file names with drive letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the `deleted header file' problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. tr ' ' ' ' < "$tmpdepfile" | ## Some versions of gcc put a space before the `:'. On the theory ## that the space means something, we add a space to the output as ## well. hp depmode also adds that space, but also prefixes the VPATH ## to the object. Take care to not repeat it in the output. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like `#:fec' to the end of the # dependency line. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ tr ' ' ' ' >> "$depfile" echo >> "$depfile" # The second pass generates a dummy entry for each header file. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts `$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else tmpdepfile1=$dir$base.u tmpdepfile2=$dir$base.u tmpdepfile3=$dir$base.u "$@" -M fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then # Each line is of the form `foo.o: dependent.h'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a tab and a space in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; icc) # Intel's C compiler understands `-MD -MF file'. However on # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c # ICC 7.0 will fill foo.d with something like # foo.o: sub/foo.c # foo.o: sub/foo.h # which is wrong. We want: # sub/foo.o: sub/foo.c # sub/foo.o: sub/foo.h # sub/foo.c: # sub/foo.h: # ICC 7.1 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using \ : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" # Add `dependent.h:' lines. sed -ne '2,${ s/^ *// s/ \\*$// s/$/:/ p }' "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in `foo.d' instead, so we check for that too. # Subdirectories are respected. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then # With Tru64 cc, shared objects can also be used to make a # static library. This mechanism is used in libtool 1.4 series to # handle both shared and static libraries in a single compilation. # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. # # With libtool 1.5 this exception was removed, and libtool now # generates 2 separate objects for the 2 libraries. These two # compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 tmpdepfile2=$dir$base.o.d # libtool 1.5 tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.o.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d tmpdepfile4=$dir$base.d "$@" -MD fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a tab and a space in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; msvc7) if test "$libtool" = yes; then showIncludes=-Wc,-showIncludes else showIncludes=-showIncludes fi "$@" $showIncludes > "$tmpdepfile" stat=$? grep -v '^Note: including file: ' "$tmpdepfile" if test "$stat" = 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The first sed program below extracts the file names and escapes # backslashes for cygpath. The second sed program outputs the file # name when reading, but also accumulates all include files in the # hold buffer in order to output them again at the end. This only # works with sed implementations that can handle large buffers. sed < "$tmpdepfile" -n ' /^Note: including file: *\(.*\)/ { s//\1/ s/\\/\\\\/g p }' | $cygpath_u | sort -u | sed -n ' s/ /\\ /g s/\(.*\)/ \1 \\/p s/.\(.*\) \\/\1:/ H $ { s/.*/ / G p }' >> "$depfile" rm -f "$tmpdepfile" ;; msvc7msys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for `:' # in the target name. This is to cope with DOS-style filenames: # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. "$@" $dashmflag | sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" tr ' ' ' ' < "$tmpdepfile" | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # X makedepend shift cleared=no eat=no for arg do case $cleared in no) set ""; shift cleared=yes ;; esac if test $eat = yes; then eat=no continue fi case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -arch) eat=yes ;; -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix=`echo "$object" | sed 's/^.*\././'` touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" # makedepend may prepend the VPATH from the source file name to the object. # No need to regex-escape $object, excess matching of '.' is harmless. sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" sed '1,2d' "$tmpdepfile" | tr ' ' ' ' | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi IFS=" " for arg do case "$arg" in -o) shift ;; $object) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" echo " " >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; msvcmsys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: gtg-trace-0.2+dfsg/doc/000077500000000000000000000000001175246114100147165ustar00rootroot00000000000000gtg-trace-0.2+dfsg/doc/Doxyfile000066400000000000000000001563521175246114100164400ustar00rootroot00000000000000# Doxyfile 1.5.5 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project # # All text after a hash (#) is considered a comment and will be ignored # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" ") #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # This tag specifies the encoding used for all characters in the config file # that follow. The default is UTF-8 which is also the encoding used for all # text before the first occurrence of this tag. Doxygen uses libiconv (or the # iconv built into libc) for the transcoding. See # http://www.gnu.org/software/libiconv for the list of possible encodings. DOXYFILE_ENCODING = UTF-8 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = "Generic Trace Generator (GTG)" # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = 0.1 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = . # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of # source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, # Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, # Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), # Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, # Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, # and Ukrainian. OUTPUT_LANGUAGE = English # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = YES # This tag implements a quasi-intelligent brief description abbreviator # that is used to form the text in various listings. Each string # in this list, if found as the leading text of the brief description, will be # stripped from the text and the result after processing the whole list, is # used as the annotated text. Otherwise, the brief description is used as-is. # If left blank, the following values are used ("$name" is automatically # replaced with the name of the entity): "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = NO # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = NO # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the # path to strip. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells # the reader which header file to include in order to use a class. # If left blank only the name of the header file containing the class # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like regular Qt-style comments # (thus requiring an explicit @brief command for a brief description.) JAVADOC_AUTOBRIEF = NO # If the QT_AUTOBRIEF tag is set to YES then Doxygen will # interpret the first line (until the first dot) of a Qt-style # comment as the brief description. If set to NO, the comments # will behave just like regular Qt-style comments (thus requiring # an explicit \brief command for a brief description.) QT_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # treat a multi-line C++ special comment block (i.e. a block of //! or /// # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO # If the DETAILS_AT_TOP tag is set to YES then Doxygen # will output the detailed description near the top, like JavaDoc. # If set to NO, the detailed description appears after the member # documentation. DETAILS_AT_TOP = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce # a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 8 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". # For example adding "sideeffect=\par Side Effects:\n" will allow you to # put the command \sideeffect (or @sideeffect) in the documentation, which # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. ALIASES = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = YES # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java # sources only. Doxygen will then generate output that is more tailored for # Java. For instance, namespaces will be presented as packages, qualified # scopes will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran # sources only. Doxygen will then generate output that is more tailored for # Fortran. OPTIMIZE_FOR_FORTRAN = NO # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL # sources. Doxygen will then generate output that is tailored for # VHDL. OPTIMIZE_OUTPUT_VHDL = NO # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. # func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = NO # If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. # Doxygen will parse them like normal C++ but will assume all classes use public # instead of private inheritance when no explicit protection keyword is present. SIP_SUPPORT = NO # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum # is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct # with name TypeT. When disabled the typedef will appear as a member of a file, # namespace, or class. And the struct will be named TypeS. This can typically # be useful for C code in case the coding convention dictates that all compound # types are typedef'ed and only the typedef is referenced, never the tag name. TYPEDEF_HIDES_STRUCT = NO #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = YES # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = NO # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = YES # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = NO # If this flag is set to YES, the members of anonymous namespaces will be # extracted and appear in the documentation as a namespace called # 'anonymous_namespace{file}', where file will be replaced with the base # name of the file that contains the anonymous namespace. By default # anonymous namespace are hidden. EXTRACT_ANON_NSPACES = NO # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = YES # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the # hierarchy of group names into alphabetical order. If set to NO (the default) # the group names will appear in their defined order. SORT_GROUP_NAMES = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or define consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and defines in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES # If the sources in your project are distributed over multiple directories # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy # in the documentation. The default is NO. SHOW_DIRECTORIES = NO # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from # the version control system). Doxygen will invoke the program by executing (via # popen()) the command , where is the value of # the FILE_VERSION_FILTER tag, and is the name of an input file # provided by doxygen. Whatever the program writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be abled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = YES # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text" # The WARN_LOGFILE tag can be used to specify a file to which warning # and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = "../../doc/../inc/" "../../doc/../src/FORTRAN/" # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is # also the default input encoding. Doxygen uses libiconv (or the iconv built # into libc) for the transcoding. See http://www.gnu.org/software/libiconv for # the list of possible encodings. INPUT_ENCODING = UTF-8 # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 FILE_PATTERNS = *.h *.f90 # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = NO # The EXCLUDE tag can be used to specify files and/or directories that should # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. Note that the wildcards are matched # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* EXCLUDE_PATTERNS = # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, # AClass::ANamespace, ANamespace::*Test EXCLUDE_SYMBOLS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the # filter if there is a match. The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = NO # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES (the default) # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = NO # If the REFERENCES_RELATION tag is set to YES (the default) # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = NO # If the REFERENCES_LINK_SOURCE tag is set to YES (the default) # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from # functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will # link to the source code. Otherwise they will link to the documentstion. REFERENCES_LINK_SOURCE = YES # If the USE_HTAGS tag is set to YES then the references to source code # will point to the HTML generated by the htags(1) tool instead of doxygen # built-in source browser. The htags tool is part of GNU's global source # tagging system (see http://www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = NO # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_DOCSET tag is set to YES, additional index files # will be generated that can be used as input for Apple's Xcode 3 # integrated development environment, introduced with OSX 10.5 (Leopard). # To create a documentation set, doxygen will generate a Makefile in the # HTML output directory. Running make will produce the docset in that # directory and running "make install" will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # it at startup. GENERATE_DOCSET = NO # When GENERATE_DOCSET tag is set to YES, this tag determines the name of the # feed. A documentation feed provides an umbrella under which multiple # documentation sets from a single provider (such as a company or product suite) # can be grouped. DOCSET_FEEDNAME = "Doxygen generated docs" # When GENERATE_DOCSET tag is set to YES, this tag specifies a string that # should uniquely identify the documentation set bundle. This should be a # reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen # will append .docset to the name. DOCSET_BUNDLE_ID = org.doxygen.Project # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the # page has loaded. For this to work a browser that supports # JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox # Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). HTML_DYNAMIC_SECTIONS = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # The DISABLE_INDEX tag can be used to turn on/off the condensed index at # top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO # This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 4 # If the GENERATE_TREEVIEW tag is set to YES, a side panel will be # generated containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, # Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are # probably better off using the HTML help feature. GENERATE_TREEVIEW = NO # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = YES # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = YES # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = YES # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load stylesheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. This is useful # if you want to understand what is going on. On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = NO # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all function-like macros that are alone # on a line, have an all uppercase name, and do not end with a semicolon. Such # function macros are typically used for boiler-plate code, and will confuse # the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. # Optionally an initial location of the external documentation # can be added for each tagfile. The format of a tag file without # this location is as follows: # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths or # URLs. If a location is present for each tag, the installdox tool # does not have to be run to correct the links. # Note that each tag file must have a unique name # (where the name does NOT include the path) # If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that # this option is superseded by the HAVE_DOT option below. This is only a # fallback. It is recommended to install and use dot, since it yields more # powerful graphs. CLASS_DIAGRAMS = YES # You can define message sequence charts within doxygen comments using the \msc # command. Doxygen will then run the mscgen tool (see # http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the # documentation. The MSCGEN_PATH tag allows you to specify the directory where # the mscgen tool resides. If left empty the tool is assumed to be found in the # default search path. MSCGEN_PATH = # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = NO # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = NO # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = NO # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT options are set to YES then # doxygen will generate a call dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable call graphs # for selected functions only using the \callgraph command. CALL_GRAPH = NO # If the CALLER_GRAPH and HAVE_DOT tags are set to YES then # doxygen will generate a caller dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable caller # graphs for selected functions only using the \callergraph command. CALLER_GRAPH = NO # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = png # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The MAX_DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of # nodes that will be shown in the graph. If the number of nodes in a graph # becomes larger than this value, doxygen will truncate the graph, which is # visualized by representing a node as a red box. Note that doxygen if the # number of direct children of the root node in a graph is already larger than # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note # that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. DOT_GRAPH_MAX_NODES = 50 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes # that lay further from the root node will be omitted. Note that setting this # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that the size of a graph can be further restricted by # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. MAX_DOT_GRAPH_DEPTH = 0 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # background. This is enabled by default, which results in a transparent # background. Warning: Depending on the platform used, enabling this option # may lead to badly anti-aliased labels on the edges of a graph (i.e. they # become hard to read). DOT_TRANSPARENT = YES # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Configuration::additions related to the search engine #--------------------------------------------------------------------------- # The SEARCHENGINE tag specifies whether or not a search engine should be # used. If set to NO the values of all tags below this one will be ignored. SEARCHENGINE = NO gtg-trace-0.2+dfsg/doc/Doxyfile.in000066400000000000000000001563501175246114100170430ustar00rootroot00000000000000# Doxyfile 1.5.5 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project # # All text after a hash (#) is considered a comment and will be ignored # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" ") #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # This tag specifies the encoding used for all characters in the config file # that follow. The default is UTF-8 which is also the encoding used for all # text before the first occurrence of this tag. Doxygen uses libiconv (or the # iconv built into libc) for the transcoding. See # http://www.gnu.org/software/libiconv for the list of possible encodings. DOXYFILE_ENCODING = UTF-8 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = "Generic Trace Generator (GTG)" # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = 0.1 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = . # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of # source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, # Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, # Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), # Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, # Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, # and Ukrainian. OUTPUT_LANGUAGE = English # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = YES # This tag implements a quasi-intelligent brief description abbreviator # that is used to form the text in various listings. Each string # in this list, if found as the leading text of the brief description, will be # stripped from the text and the result after processing the whole list, is # used as the annotated text. Otherwise, the brief description is used as-is. # If left blank, the following values are used ("$name" is automatically # replaced with the name of the entity): "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = NO # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = NO # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the # path to strip. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells # the reader which header file to include in order to use a class. # If left blank only the name of the header file containing the class # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like regular Qt-style comments # (thus requiring an explicit @brief command for a brief description.) JAVADOC_AUTOBRIEF = NO # If the QT_AUTOBRIEF tag is set to YES then Doxygen will # interpret the first line (until the first dot) of a Qt-style # comment as the brief description. If set to NO, the comments # will behave just like regular Qt-style comments (thus requiring # an explicit \brief command for a brief description.) QT_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # treat a multi-line C++ special comment block (i.e. a block of //! or /// # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO # If the DETAILS_AT_TOP tag is set to YES then Doxygen # will output the detailed description near the top, like JavaDoc. # If set to NO, the detailed description appears after the member # documentation. DETAILS_AT_TOP = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce # a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 8 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". # For example adding "sideeffect=\par Side Effects:\n" will allow you to # put the command \sideeffect (or @sideeffect) in the documentation, which # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. ALIASES = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = YES # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java # sources only. Doxygen will then generate output that is more tailored for # Java. For instance, namespaces will be presented as packages, qualified # scopes will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran # sources only. Doxygen will then generate output that is more tailored for # Fortran. OPTIMIZE_FOR_FORTRAN = NO # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL # sources. Doxygen will then generate output that is tailored for # VHDL. OPTIMIZE_OUTPUT_VHDL = NO # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. # func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = NO # If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. # Doxygen will parse them like normal C++ but will assume all classes use public # instead of private inheritance when no explicit protection keyword is present. SIP_SUPPORT = NO # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum # is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct # with name TypeT. When disabled the typedef will appear as a member of a file, # namespace, or class. And the struct will be named TypeS. This can typically # be useful for C code in case the coding convention dictates that all compound # types are typedef'ed and only the typedef is referenced, never the tag name. TYPEDEF_HIDES_STRUCT = NO #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = YES # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = NO # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = YES # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = NO # If this flag is set to YES, the members of anonymous namespaces will be # extracted and appear in the documentation as a namespace called # 'anonymous_namespace{file}', where file will be replaced with the base # name of the file that contains the anonymous namespace. By default # anonymous namespace are hidden. EXTRACT_ANON_NSPACES = NO # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = YES # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the # hierarchy of group names into alphabetical order. If set to NO (the default) # the group names will appear in their defined order. SORT_GROUP_NAMES = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or define consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and defines in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES # If the sources in your project are distributed over multiple directories # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy # in the documentation. The default is NO. SHOW_DIRECTORIES = NO # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from # the version control system). Doxygen will invoke the program by executing (via # popen()) the command , where is the value of # the FILE_VERSION_FILTER tag, and is the name of an input file # provided by doxygen. Whatever the program writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be abled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = YES # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text" # The WARN_LOGFILE tag can be used to specify a file to which warning # and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = "@srcdir@/../inc/" "@srcdir@/../src/FORTRAN/" # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is # also the default input encoding. Doxygen uses libiconv (or the iconv built # into libc) for the transcoding. See http://www.gnu.org/software/libiconv for # the list of possible encodings. INPUT_ENCODING = UTF-8 # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 FILE_PATTERNS = *.h *.f90 # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = NO # The EXCLUDE tag can be used to specify files and/or directories that should # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. Note that the wildcards are matched # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* EXCLUDE_PATTERNS = # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, # AClass::ANamespace, ANamespace::*Test EXCLUDE_SYMBOLS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the # filter if there is a match. The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = NO # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES (the default) # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = NO # If the REFERENCES_RELATION tag is set to YES (the default) # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = NO # If the REFERENCES_LINK_SOURCE tag is set to YES (the default) # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from # functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will # link to the source code. Otherwise they will link to the documentstion. REFERENCES_LINK_SOURCE = YES # If the USE_HTAGS tag is set to YES then the references to source code # will point to the HTML generated by the htags(1) tool instead of doxygen # built-in source browser. The htags tool is part of GNU's global source # tagging system (see http://www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = NO # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_DOCSET tag is set to YES, additional index files # will be generated that can be used as input for Apple's Xcode 3 # integrated development environment, introduced with OSX 10.5 (Leopard). # To create a documentation set, doxygen will generate a Makefile in the # HTML output directory. Running make will produce the docset in that # directory and running "make install" will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # it at startup. GENERATE_DOCSET = NO # When GENERATE_DOCSET tag is set to YES, this tag determines the name of the # feed. A documentation feed provides an umbrella under which multiple # documentation sets from a single provider (such as a company or product suite) # can be grouped. DOCSET_FEEDNAME = "Doxygen generated docs" # When GENERATE_DOCSET tag is set to YES, this tag specifies a string that # should uniquely identify the documentation set bundle. This should be a # reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen # will append .docset to the name. DOCSET_BUNDLE_ID = org.doxygen.Project # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the # page has loaded. For this to work a browser that supports # JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox # Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). HTML_DYNAMIC_SECTIONS = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # The DISABLE_INDEX tag can be used to turn on/off the condensed index at # top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO # This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 4 # If the GENERATE_TREEVIEW tag is set to YES, a side panel will be # generated containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, # Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are # probably better off using the HTML help feature. GENERATE_TREEVIEW = NO # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = YES # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = YES # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = YES # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load stylesheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. This is useful # if you want to understand what is going on. On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = NO # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all function-like macros that are alone # on a line, have an all uppercase name, and do not end with a semicolon. Such # function macros are typically used for boiler-plate code, and will confuse # the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. # Optionally an initial location of the external documentation # can be added for each tagfile. The format of a tag file without # this location is as follows: # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths or # URLs. If a location is present for each tag, the installdox tool # does not have to be run to correct the links. # Note that each tag file must have a unique name # (where the name does NOT include the path) # If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that # this option is superseded by the HAVE_DOT option below. This is only a # fallback. It is recommended to install and use dot, since it yields more # powerful graphs. CLASS_DIAGRAMS = YES # You can define message sequence charts within doxygen comments using the \msc # command. Doxygen will then run the mscgen tool (see # http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the # documentation. The MSCGEN_PATH tag allows you to specify the directory where # the mscgen tool resides. If left empty the tool is assumed to be found in the # default search path. MSCGEN_PATH = # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = NO # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = NO # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = NO # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT options are set to YES then # doxygen will generate a call dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable call graphs # for selected functions only using the \callgraph command. CALL_GRAPH = NO # If the CALLER_GRAPH and HAVE_DOT tags are set to YES then # doxygen will generate a caller dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable caller # graphs for selected functions only using the \callergraph command. CALLER_GRAPH = NO # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = png # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The MAX_DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of # nodes that will be shown in the graph. If the number of nodes in a graph # becomes larger than this value, doxygen will truncate the graph, which is # visualized by representing a node as a red box. Note that doxygen if the # number of direct children of the root node in a graph is already larger than # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note # that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. DOT_GRAPH_MAX_NODES = 50 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes # that lay further from the root node will be omitted. Note that setting this # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that the size of a graph can be further restricted by # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. MAX_DOT_GRAPH_DEPTH = 0 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # background. This is enabled by default, which results in a transparent # background. Warning: Depending on the platform used, enabling this option # may lead to badly anti-aliased labels on the edges of a graph (i.e. they # become hard to read). DOT_TRANSPARENT = YES # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Configuration::additions related to the search engine #--------------------------------------------------------------------------- # The SEARCHENGINE tag specifies whether or not a search engine should be # used. If set to NO the values of all tags below this one will be ignored. SEARCHENGINE = NO gtg-trace-0.2+dfsg/doc/Makefile.am000066400000000000000000000032311175246114100167510ustar00rootroot00000000000000# Copyright © CNRS, INRIA, Université Bordeaux 1 # See COPYING in top-level directory. if USE_DOXYGEN DOX_DIR = . DOC_DIR = $(builddir) DOX_CONFIG = $(DOX_DIR)/Doxyfile DOX_MAN_DIR = $(DOC_DIR)/man DOX_LATEX_DIR = $(DOC_DIR)/latex DOX_PDF = $(DOC_DIR)/gtg_refmanual.pdf DOX_HTML_DIR = $(DOC_DIR)/html/ DOX_TAG = $(DOC_DIR)/gtg.tag # TODO: we should add source files so that the documentation is # regenerated when a file changes docx_inputs = $(DOX_CONFIG) $(DOX_TAG): $(docx_inputs) doxygen $(DOX_CONFIG) touch $(DOX_TAG) $(DOX_HTML_DIR): $(DOX_TAG) $(DOX_PDF): $(DOX_TAG) cd $(DOX_LATEX_DIR) &&\ rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \ $(PDFLATEX) refman.tex; \ $(MAKEINDEX) refman.idx; \ $(PDFLATEX) refman.tex; \ done=0; repeat=5; \ while test $$done = 0 -a $$repeat -gt 0; do \ if $(EGREP) 'Rerun (LaTeX|to get cross-references right)' refman.log > /dev/null 2>&1; then \ $(PDFLATEX) refman.tex; \ repeat=`expr $$repeat - 1`; \ else \ done=1; \ fi; \ done; \ cd -; \ mv $(DOX_LATEX_DIR)/refman.pdf $(DOX_PDF) EXTRA_DIST = $(DOX_HTML_DIR) if USE_PDFLATEX EXTRA_DIST += $(DOX_PDF) endif # Crappy hack: automake cannot copy a directory, so we have to do it by hand. install_html: $(DOX_TAG) $(DOX_HTML_DIR)/index.html mkdir -p $(DESTDIR)$(htmldir) cp -r $(DOX_HTML_DIR) $(DESTDIR)$(htmldir) install_pdf: $(DOX_PDF) mkdir -p $(DESTDIR)$(pdfdir) cp -r $(DOX_PDF) $(DESTDIR)$(pdfdir) if USE_PDFLATEX install-data-am: install_pdf install_html else install-data-am: install_html endif include_HEADERS = Doxyfile endif gtg-trace-0.2+dfsg/doc/Makefile.in000066400000000000000000000343641175246114100167750ustar00rootroot00000000000000# Makefile.in generated by automake 1.11.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # Copyright © CNRS, INRIA, Université Bordeaux 1 # See COPYING in top-level directory. VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ @USE_DOXYGEN_TRUE@@USE_PDFLATEX_TRUE@am__append_1 = $(DOX_PDF) subdir = doc DIST_COMMON = $(am__include_HEADERS_DIST) $(srcdir)/Doxyfile.in \ $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = Doxyfile CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = am__include_HEADERS_DIST = Doxyfile am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(includedir)" HEADERS = $(include_HEADERS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ FGREP = @FGREP@ GREP = @GREP@ HAVE_DOXYGEN = @HAVE_DOXYGEN@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MPIDIR = @MPIDIR@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTFDIR = @OTFDIR@ OTF_INC = @OTF_INC@ OTF_LIB = @OTF_LIB@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PDFLATEX = @PDFLATEX@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_MPIDIR_FROM_USER = @USE_MPIDIR_FROM_USER@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ @USE_DOXYGEN_TRUE@DOX_DIR = . @USE_DOXYGEN_TRUE@DOC_DIR = $(builddir) @USE_DOXYGEN_TRUE@DOX_CONFIG = $(DOX_DIR)/Doxyfile @USE_DOXYGEN_TRUE@DOX_MAN_DIR = $(DOC_DIR)/man @USE_DOXYGEN_TRUE@DOX_LATEX_DIR = $(DOC_DIR)/latex @USE_DOXYGEN_TRUE@DOX_PDF = $(DOC_DIR)/gtg_refmanual.pdf @USE_DOXYGEN_TRUE@DOX_HTML_DIR = $(DOC_DIR)/html/ @USE_DOXYGEN_TRUE@DOX_TAG = $(DOC_DIR)/gtg.tag # TODO: we should add source files so that the documentation is # regenerated when a file changes @USE_DOXYGEN_TRUE@docx_inputs = $(DOX_CONFIG) @USE_DOXYGEN_TRUE@EXTRA_DIST = $(DOX_HTML_DIR) $(am__append_1) @USE_DOXYGEN_TRUE@include_HEADERS = Doxyfile all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): Doxyfile: $(top_builddir)/config.status $(srcdir)/Doxyfile.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-includeHEADERS: $(include_HEADERS) @$(NORMAL_INSTALL) test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)" @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \ $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \ done uninstall-includeHEADERS: @$(NORMAL_UNINSTALL) @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir) tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(HEADERS) installdirs: for dir in "$(DESTDIR)$(includedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: @USE_DOXYGEN_FALSE@install-data-am: install-includeHEADERS install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-includeHEADERS .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-includeHEADERS install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am uninstall uninstall-am uninstall-includeHEADERS @USE_DOXYGEN_TRUE@$(DOX_TAG): $(docx_inputs) @USE_DOXYGEN_TRUE@ doxygen $(DOX_CONFIG) @USE_DOXYGEN_TRUE@ touch $(DOX_TAG) @USE_DOXYGEN_TRUE@$(DOX_HTML_DIR): $(DOX_TAG) @USE_DOXYGEN_TRUE@$(DOX_PDF): $(DOX_TAG) @USE_DOXYGEN_TRUE@ cd $(DOX_LATEX_DIR) &&\ @USE_DOXYGEN_TRUE@ rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \ @USE_DOXYGEN_TRUE@ $(PDFLATEX) refman.tex; \ @USE_DOXYGEN_TRUE@ $(MAKEINDEX) refman.idx; \ @USE_DOXYGEN_TRUE@ $(PDFLATEX) refman.tex; \ @USE_DOXYGEN_TRUE@ done=0; repeat=5; \ @USE_DOXYGEN_TRUE@ while test $$done = 0 -a $$repeat -gt 0; do \ @USE_DOXYGEN_TRUE@ if $(EGREP) 'Rerun (LaTeX|to get cross-references right)' refman.log > /dev/null 2>&1; then \ @USE_DOXYGEN_TRUE@ $(PDFLATEX) refman.tex; \ @USE_DOXYGEN_TRUE@ repeat=`expr $$repeat - 1`; \ @USE_DOXYGEN_TRUE@ else \ @USE_DOXYGEN_TRUE@ done=1; \ @USE_DOXYGEN_TRUE@ fi; \ @USE_DOXYGEN_TRUE@ done; \ @USE_DOXYGEN_TRUE@ cd -; \ @USE_DOXYGEN_TRUE@ mv $(DOX_LATEX_DIR)/refman.pdf $(DOX_PDF) # Crappy hack: automake cannot copy a directory, so we have to do it by hand. @USE_DOXYGEN_TRUE@install_html: $(DOX_TAG) $(DOX_HTML_DIR)/index.html @USE_DOXYGEN_TRUE@ mkdir -p $(DESTDIR)$(htmldir) @USE_DOXYGEN_TRUE@ cp -r $(DOX_HTML_DIR) $(DESTDIR)$(htmldir) @USE_DOXYGEN_TRUE@install_pdf: $(DOX_PDF) @USE_DOXYGEN_TRUE@ mkdir -p $(DESTDIR)$(pdfdir) @USE_DOXYGEN_TRUE@ cp -r $(DOX_PDF) $(DESTDIR)$(pdfdir) @USE_DOXYGEN_TRUE@@USE_PDFLATEX_TRUE@install-data-am: install_pdf install_html @USE_DOXYGEN_TRUE@@USE_PDFLATEX_FALSE@install-data-am: install_html # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtg-trace-0.2+dfsg/doc/gtg_refmanual.pdf000066400000000000000000032206171175246114100202370ustar00rootroot00000000000000%PDF-1.4 %ĐÔĹŘ 1 0 obj << /S /GoTo /D (chapter.1) >> endobj 4 0 obj (\376\377\000T\000h\000e\000\040\000G\000T\000G\000\040\000l\000i\000b\000r\000a\000r\000y) endobj 5 0 obj << /S /GoTo /D (section.1.1) >> endobj 8 0 obj (\376\377\000P\000r\000e\000s\000e\000n\000t\000a\000t\000i\000o\000n) endobj 9 0 obj << /S /GoTo /D (chapter.2) >> endobj 12 0 obj (\376\377\000M\000o\000d\000u\000l\000e\000\040\000I\000n\000d\000e\000x) endobj 13 0 obj << /S /GoTo /D (section.2.1) >> endobj 16 0 obj (\376\377\000M\000o\000d\000u\000l\000e\000s) endobj 17 0 obj << /S /GoTo /D (chapter.3) >> endobj 20 0 obj (\376\377\000D\000a\000t\000a\000\040\000S\000t\000r\000u\000c\000t\000u\000r\000e\000\040\000I\000n\000d\000e\000x) endobj 21 0 obj << /S /GoTo /D (section.3.1) >> endobj 24 0 obj (\376\377\000D\000a\000t\000a\000\040\000S\000t\000r\000u\000c\000t\000u\000r\000e\000s) endobj 25 0 obj << /S /GoTo /D (chapter.4) >> endobj 28 0 obj (\376\377\000F\000i\000l\000e\000\040\000I\000n\000d\000e\000x) endobj 29 0 obj << /S /GoTo /D (section.4.1) >> endobj 32 0 obj (\376\377\000F\000i\000l\000e\000\040\000L\000i\000s\000t) endobj 33 0 obj << /S /GoTo /D (chapter.5) >> endobj 36 0 obj (\376\377\000M\000o\000d\000u\000l\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 37 0 obj << /S /GoTo /D (section.5.1) >> endobj 40 0 obj (\376\377\000T\000r\000a\000c\000e\000\040\000t\000y\000p\000e\000\040\000h\000a\000n\000d\000l\000e\000r) endobj 41 0 obj << /S /GoTo /D (subsection.5.1.1) >> endobj 44 0 obj (\376\377\000E\000n\000u\000m\000e\000r\000a\000t\000i\000o\000n\000\040\000T\000y\000p\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 45 0 obj << /S /GoTo /D (subsubsection.5.1.1.1) >> endobj 48 0 obj (\376\377\000t\000r\000a\000c\000e\000T\000y\000p\000e) endobj 49 0 obj << /S /GoTo /D (subsection.5.1.2) >> endobj 52 0 obj (\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 53 0 obj << /S /GoTo /D (subsubsection.5.1.2.1) >> endobj 56 0 obj (\376\377\000b\000u\000f\000f\000e\000r\000e\000d\000M\000o\000d\000e\000A\000c\000t\000i\000v\000a\000t\000e\000d) endobj 57 0 obj << /S /GoTo /D (subsubsection.5.1.2.2) >> endobj 60 0 obj (\376\377\000g\000e\000t\000N\000a\000m\000e) endobj 61 0 obj << /S /GoTo /D (subsubsection.5.1.2.3) >> endobj 64 0 obj (\376\377\000g\000e\000t\000T\000r\000a\000c\000e\000T\000y\000p\000e) endobj 65 0 obj << /S /GoTo /D (subsubsection.5.1.2.4) >> endobj 68 0 obj (\376\377\000s\000e\000t\000T\000r\000a\000c\000e\000T\000y\000p\000e) endobj 69 0 obj << /S /GoTo /D (section.5.2) >> endobj 72 0 obj (\376\377\000T\000o\000\040\000i\000n\000i\000t\000\040\000t\000h\000e\000\040\000g\000e\000n\000e\000r\000a\000t\000e\000d\000\040\000t\000r\000a\000c\000e\000\040\000f\000i\000l\000e\000\050\000s\000\051) endobj 73 0 obj << /S /GoTo /D (subsection.5.2.1) >> endobj 76 0 obj (\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 77 0 obj << /S /GoTo /D (subsubsection.5.2.1.1) >> endobj 80 0 obj (\376\377\000a\000d\000d\000E\000n\000t\000i\000t\000y\000V\000a\000l\000u\000e) endobj 81 0 obj << /S /GoTo /D (subsubsection.5.2.1.2) >> endobj 84 0 obj (\376\377\000e\000n\000d\000T\000r\000a\000c\000e) endobj 85 0 obj << /S /GoTo /D (subsubsection.5.2.1.3) >> endobj 88 0 obj (\376\377\000i\000n\000i\000t\000T\000r\000a\000c\000e) endobj 89 0 obj << /S /GoTo /D (subsubsection.5.2.1.4) >> endobj 92 0 obj (\376\377\000s\000e\000t\000C\000o\000m\000p\000r\000e\000s\000s) endobj 93 0 obj << /S /GoTo /D (section.5.3) >> endobj 96 0 obj (\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000s\000\040\000r\000e\000l\000a\000t\000e\000d\000\040\000t\000o\000\040\000t\000h\000e\000\040\000c\000o\000n\000t\000a\000i\000n\000e\000r\000s) endobj 97 0 obj << /S /GoTo /D (subsection.5.3.1) >> endobj 100 0 obj (\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 101 0 obj << /S /GoTo /D (subsubsection.5.3.1.1) >> endobj 104 0 obj (\376\377\000A\000d\000d\000C\000o\000m\000m\000e\000n\000t) endobj 105 0 obj << /S /GoTo /D (subsubsection.5.3.1.2) >> endobj 108 0 obj (\376\377\000a\000d\000d\000C\000o\000n\000t\000a\000i\000n\000e\000r) endobj 109 0 obj << /S /GoTo /D (subsubsection.5.3.1.3) >> endobj 112 0 obj (\376\377\000a\000d\000d\000C\000o\000n\000t\000T\000y\000p\000e) endobj 113 0 obj << /S /GoTo /D (subsubsection.5.3.1.4) >> endobj 116 0 obj (\376\377\000d\000e\000s\000t\000r\000o\000y\000C\000o\000n\000t\000a\000i\000n\000e\000r) endobj 117 0 obj << /S /GoTo /D (section.5.4) >> endobj 120 0 obj (\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000s\000\040\000r\000e\000l\000a\000t\000e\000d\000\040\000t\000o\000\040\000t\000h\000e\000\040\000s\000t\000a\000t\000e\000s) endobj 121 0 obj << /S /GoTo /D (subsection.5.4.1) >> endobj 124 0 obj (\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 125 0 obj << /S /GoTo /D (subsubsection.5.4.1.1) >> endobj 128 0 obj (\376\377\000a\000d\000d\000S\000t\000a\000t\000e\000T\000y\000p\000e) endobj 129 0 obj << /S /GoTo /D (subsubsection.5.4.1.2) >> endobj 132 0 obj (\376\377\000p\000o\000p\000S\000t\000a\000t\000e) endobj 133 0 obj << /S /GoTo /D (subsubsection.5.4.1.3) >> endobj 136 0 obj (\376\377\000p\000u\000s\000h\000S\000t\000a\000t\000e) endobj 137 0 obj << /S /GoTo /D (subsubsection.5.4.1.4) >> endobj 140 0 obj (\376\377\000s\000e\000t\000S\000t\000a\000t\000e) endobj 141 0 obj << /S /GoTo /D (section.5.5) >> endobj 144 0 obj (\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000s\000\040\000r\000e\000l\000a\000t\000e\000d\000\040\000t\000o\000\040\000t\000h\000e\000\040\000e\000v\000e\000n\000t\000s) endobj 145 0 obj << /S /GoTo /D (subsection.5.5.1) >> endobj 148 0 obj (\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 149 0 obj << /S /GoTo /D (subsubsection.5.5.1.1) >> endobj 152 0 obj (\376\377\000a\000d\000d\000E\000v\000e\000n\000t) endobj 153 0 obj << /S /GoTo /D (subsubsection.5.5.1.2) >> endobj 156 0 obj (\376\377\000a\000d\000d\000E\000v\000e\000n\000t\000T\000y\000p\000e) endobj 157 0 obj << /S /GoTo /D (section.5.6) >> endobj 160 0 obj (\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000s\000\040\000r\000e\000l\000a\000t\000e\000d\000\040\000t\000o\000\040\000l\000i\000n\000k\000s) endobj 161 0 obj << /S /GoTo /D (subsection.5.6.1) >> endobj 164 0 obj (\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 165 0 obj << /S /GoTo /D (subsubsection.5.6.1.1) >> endobj 168 0 obj (\376\377\000a\000d\000d\000L\000i\000n\000k\000T\000y\000p\000e) endobj 169 0 obj << /S /GoTo /D (subsubsection.5.6.1.2) >> endobj 172 0 obj (\376\377\000e\000n\000d\000L\000i\000n\000k) endobj 173 0 obj << /S /GoTo /D (subsubsection.5.6.1.3) >> endobj 176 0 obj (\376\377\000s\000t\000a\000r\000t\000L\000i\000n\000k) endobj 177 0 obj << /S /GoTo /D (section.5.7) >> endobj 180 0 obj (\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000s\000\040\000r\000e\000l\000a\000t\000e\000d\000\040\000t\000o\000\040\000v\000a\000r\000i\000a\000b\000l\000e\000s) endobj 181 0 obj << /S /GoTo /D (subsection.5.7.1) >> endobj 184 0 obj (\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 185 0 obj << /S /GoTo /D (subsubsection.5.7.1.1) >> endobj 188 0 obj (\376\377\000a\000d\000d\000V\000a\000r) endobj 189 0 obj << /S /GoTo /D (subsubsection.5.7.1.2) >> endobj 192 0 obj (\376\377\000a\000d\000d\000V\000a\000r\000T\000y\000p\000e) endobj 193 0 obj << /S /GoTo /D (subsubsection.5.7.1.3) >> endobj 196 0 obj (\376\377\000s\000e\000t\000V\000a\000r) endobj 197 0 obj << /S /GoTo /D (subsubsection.5.7.1.4) >> endobj 200 0 obj (\376\377\000s\000u\000b\000V\000a\000r) endobj 201 0 obj << /S /GoTo /D (section.5.8) >> endobj 204 0 obj (\376\377\000D\000e\000f\000i\000n\000e\000d\000\040\000c\000o\000l\000o\000r\000s\000\040\000f\000o\000r\000\040\000G\000T\000G) endobj 205 0 obj << /S /GoTo /D (subsection.5.8.1) >> endobj 208 0 obj (\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 209 0 obj << /S /GoTo /D (subsubsection.5.8.1.1) >> endobj 212 0 obj (\376\377\000G\000T\000G\000\137\000C\000O\000L\000O\000R\000\137\000G\000E\000T\000\137\000B\000L\000U\000E) endobj 213 0 obj << /S /GoTo /D (subsubsection.5.8.1.2) >> endobj 216 0 obj (\376\377\000G\000T\000G\000\137\000C\000O\000L\000O\000R\000\137\000G\000E\000T\000\137\000G\000R\000E\000E\000N) endobj 217 0 obj << /S /GoTo /D (subsubsection.5.8.1.3) >> endobj 220 0 obj (\376\377\000G\000T\000G\000\137\000C\000O\000L\000O\000R\000\137\000G\000E\000T\000\137\000R\000E\000D) endobj 221 0 obj << /S /GoTo /D (subsubsection.5.8.1.4) >> endobj 224 0 obj (\376\377\000G\000T\000G\000\137\000C\000O\000L\000O\000R\000\137\000S\000E\000T\000\137\000C\000O\000L\000O\000R) endobj 225 0 obj << /S /GoTo /D (subsection.5.8.2) >> endobj 228 0 obj (\376\377\000V\000a\000r\000i\000a\000b\000l\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 229 0 obj << /S /GoTo /D (subsubsection.5.8.2.1) >> endobj 232 0 obj (\376\377\000G\000T\000G\000\137\000B\000L\000A\000C\000K) endobj 233 0 obj << /S /GoTo /D (subsubsection.5.8.2.2) >> endobj 236 0 obj (\376\377\000G\000T\000G\000\137\000B\000L\000U\000E) endobj 237 0 obj << /S /GoTo /D (subsubsection.5.8.2.3) >> endobj 240 0 obj (\376\377\000G\000T\000G\000\137\000B\000R\000O\000W\000N) endobj 241 0 obj << /S /GoTo /D (subsubsection.5.8.2.4) >> endobj 244 0 obj (\376\377\000G\000T\000G\000\137\000D\000A\000R\000K\000B\000L\000U\000E) endobj 245 0 obj << /S /GoTo /D (subsubsection.5.8.2.5) >> endobj 248 0 obj (\376\377\000G\000T\000G\000\137\000D\000A\000R\000K\000G\000R\000E\000Y) endobj 249 0 obj << /S /GoTo /D (subsubsection.5.8.2.6) >> endobj 252 0 obj (\376\377\000G\000T\000G\000\137\000D\000A\000R\000K\000P\000I\000N\000K) endobj 253 0 obj << /S /GoTo /D (subsubsection.5.8.2.7) >> endobj 256 0 obj (\376\377\000G\000T\000G\000\137\000G\000R\000E\000E\000N) endobj 257 0 obj << /S /GoTo /D (subsubsection.5.8.2.8) >> endobj 260 0 obj (\376\377\000G\000T\000G\000\137\000G\000R\000E\000N\000A\000T) endobj 261 0 obj << /S /GoTo /D (subsubsection.5.8.2.9) >> endobj 264 0 obj (\376\377\000G\000T\000G\000\137\000K\000A\000K\000I) endobj 265 0 obj << /S /GoTo /D (subsubsection.5.8.2.10) >> endobj 268 0 obj (\376\377\000G\000T\000G\000\137\000L\000I\000G\000H\000T\000B\000R\000O\000W\000N) endobj 269 0 obj << /S /GoTo /D (subsubsection.5.8.2.11) >> endobj 272 0 obj (\376\377\000G\000T\000G\000\137\000L\000I\000G\000H\000T\000G\000R\000E\000Y) endobj 273 0 obj << /S /GoTo /D (subsubsection.5.8.2.12) >> endobj 276 0 obj (\376\377\000G\000T\000G\000\137\000L\000I\000G\000H\000T\000P\000I\000N\000K) endobj 277 0 obj << /S /GoTo /D (subsubsection.5.8.2.13) >> endobj 280 0 obj (\376\377\000G\000T\000G\000\137\000M\000A\000U\000V\000E) endobj 281 0 obj << /S /GoTo /D (subsubsection.5.8.2.14) >> endobj 284 0 obj (\376\377\000G\000T\000G\000\137\000O\000R\000A\000N\000G\000E) endobj 285 0 obj << /S /GoTo /D (subsubsection.5.8.2.15) >> endobj 288 0 obj (\376\377\000G\000T\000G\000\137\000P\000I\000N\000K) endobj 289 0 obj << /S /GoTo /D (subsubsection.5.8.2.16) >> endobj 292 0 obj (\376\377\000G\000T\000G\000\137\000P\000U\000R\000P\000L\000E) endobj 293 0 obj << /S /GoTo /D (subsubsection.5.8.2.17) >> endobj 296 0 obj (\376\377\000G\000T\000G\000\137\000R\000E\000D) endobj 297 0 obj << /S /GoTo /D (subsubsection.5.8.2.18) >> endobj 300 0 obj (\376\377\000G\000T\000G\000\137\000R\000E\000D\000B\000L\000O\000O\000D) endobj 301 0 obj << /S /GoTo /D (subsubsection.5.8.2.19) >> endobj 304 0 obj (\376\377\000G\000T\000G\000\137\000S\000E\000A\000B\000L\000U\000E) endobj 305 0 obj << /S /GoTo /D (subsubsection.5.8.2.20) >> endobj 308 0 obj (\376\377\000G\000T\000G\000\137\000T\000E\000A\000L) endobj 309 0 obj << /S /GoTo /D (subsubsection.5.8.2.21) >> endobj 312 0 obj (\376\377\000G\000T\000G\000\137\000W\000H\000I\000T\000E) endobj 313 0 obj << /S /GoTo /D (subsubsection.5.8.2.22) >> endobj 316 0 obj (\376\377\000G\000T\000G\000\137\000Y\000E\000L\000L\000O\000W) endobj 317 0 obj << /S /GoTo /D (section.5.9) >> endobj 320 0 obj (\376\377\000M\000e\000m\000o\000r\000y\000\040\000m\000a\000n\000a\000g\000e\000m\000e\000n\000t) endobj 321 0 obj << /S /GoTo /D (subsection.5.9.1) >> endobj 324 0 obj (\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 325 0 obj << /S /GoTo /D (subsubsection.5.9.1.1) >> endobj 328 0 obj (\376\377\000g\000t\000g\000\137\000b\000l\000o\000c\000k\000\137\000f\000r\000e\000e) endobj 329 0 obj << /S /GoTo /D (subsubsection.5.9.1.2) >> endobj 332 0 obj (\376\377\000g\000t\000g\000\137\000b\000l\000o\000c\000k\000\137\000m\000a\000l\000l\000o\000c) endobj 333 0 obj << /S /GoTo /D (subsubsection.5.9.1.3) >> endobj 336 0 obj (\376\377\000g\000t\000g\000\137\000b\000l\000o\000c\000k\000\137\000m\000e\000m\000o\000r\000y\000\137\000i\000n\000i\000t) endobj 337 0 obj << /S /GoTo /D (section.5.10) >> endobj 340 0 obj (\376\377\000O\000T\000F\000\040\000i\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000i\000n\000\040\000C\000\040\000o\000f\000\040\000t\000h\000e\000\040\000t\000r\000a\000c\000e\000G\000e\000n\000e\000r\000a\000t\000o\000r\000B\000a\000s\000i\000c\000\040\000A\000P\000I) endobj 341 0 obj << /S /GoTo /D (subsection.5.10.1) >> endobj 344 0 obj (\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 345 0 obj << /S /GoTo /D (subsubsection.5.10.1.1) >> endobj 348 0 obj (\376\377\000O\000T\000F\000\137\000g\000e\000t\000\137\000c\000o\000l\000o\000r) endobj 349 0 obj << /S /GoTo /D (subsubsection.5.10.1.2) >> endobj 352 0 obj (\376\377\000O\000T\000F\000A\000d\000d\000C\000o\000m\000m\000e\000n\000t) endobj 353 0 obj << /S /GoTo /D (subsubsection.5.10.1.3) >> endobj 356 0 obj (\376\377\000O\000T\000F\000A\000d\000d\000C\000o\000n\000t\000T\000y\000p\000e) endobj 357 0 obj << /S /GoTo /D (subsubsection.5.10.1.4) >> endobj 360 0 obj (\376\377\000O\000T\000F\000A\000d\000d\000E\000n\000t\000i\000t\000y\000V\000a\000l\000u\000e) endobj 361 0 obj << /S /GoTo /D (subsubsection.5.10.1.5) >> endobj 364 0 obj (\376\377\000O\000T\000F\000A\000d\000d\000E\000v\000e\000n\000t) endobj 365 0 obj << /S /GoTo /D (subsubsection.5.10.1.6) >> endobj 368 0 obj (\376\377\000O\000T\000F\000A\000d\000d\000E\000v\000e\000n\000t\000T\000y\000p\000e) endobj 369 0 obj << /S /GoTo /D (subsubsection.5.10.1.7) >> endobj 372 0 obj (\376\377\000O\000T\000F\000A\000d\000d\000L\000i\000n\000k\000T\000y\000p\000e) endobj 373 0 obj << /S /GoTo /D (subsubsection.5.10.1.8) >> endobj 376 0 obj (\376\377\000O\000T\000F\000A\000d\000d\000S\000t\000a\000t\000e\000T\000y\000p\000e) endobj 377 0 obj << /S /GoTo /D (subsubsection.5.10.1.9) >> endobj 380 0 obj (\376\377\000O\000T\000F\000A\000d\000d\000V\000a\000r) endobj 381 0 obj << /S /GoTo /D (subsubsection.5.10.1.10) >> endobj 384 0 obj (\376\377\000O\000T\000F\000A\000d\000d\000V\000a\000r\000T\000y\000p\000e) endobj 385 0 obj << /S /GoTo /D (subsubsection.5.10.1.11) >> endobj 388 0 obj (\376\377\000O\000T\000F\000D\000e\000s\000t\000r\000o\000y\000C\000o\000n\000t\000a\000i\000n\000e\000r) endobj 389 0 obj << /S /GoTo /D (subsubsection.5.10.1.12) >> endobj 392 0 obj (\376\377\000O\000T\000F\000E\000n\000d\000L\000i\000n\000k) endobj 393 0 obj << /S /GoTo /D (subsubsection.5.10.1.13) >> endobj 396 0 obj (\376\377\000O\000T\000F\000E\000n\000d\000T\000r\000a\000c\000e) endobj 397 0 obj << /S /GoTo /D (subsubsection.5.10.1.14) >> endobj 400 0 obj (\376\377\000O\000T\000F\000I\000n\000i\000t\000T\000r\000a\000c\000e) endobj 401 0 obj << /S /GoTo /D (subsubsection.5.10.1.15) >> endobj 404 0 obj (\376\377\000O\000T\000F\000P\000o\000p\000S\000t\000a\000t\000e) endobj 405 0 obj << /S /GoTo /D (subsubsection.5.10.1.16) >> endobj 408 0 obj (\376\377\000O\000T\000F\000P\000u\000s\000h\000S\000t\000a\000t\000e) endobj 409 0 obj << /S /GoTo /D (subsubsection.5.10.1.17) >> endobj 412 0 obj (\376\377\000O\000T\000F\000S\000e\000t\000C\000o\000m\000p\000r\000e\000s\000s) endobj 413 0 obj << /S /GoTo /D (subsubsection.5.10.1.18) >> endobj 416 0 obj (\376\377\000O\000T\000F\000S\000e\000t\000S\000t\000a\000t\000e) endobj 417 0 obj << /S /GoTo /D (subsubsection.5.10.1.19) >> endobj 420 0 obj (\376\377\000O\000T\000F\000S\000e\000t\000V\000a\000r) endobj 421 0 obj << /S /GoTo /D (subsubsection.5.10.1.20) >> endobj 424 0 obj (\376\377\000O\000T\000F\000S\000t\000a\000r\000t\000C\000o\000n\000t\000a\000i\000n\000e\000r) endobj 425 0 obj << /S /GoTo /D (subsubsection.5.10.1.21) >> endobj 428 0 obj (\376\377\000O\000T\000F\000S\000t\000a\000r\000t\000L\000i\000n\000k) endobj 429 0 obj << /S /GoTo /D (subsubsection.5.10.1.22) >> endobj 432 0 obj (\376\377\000O\000T\000F\000S\000u\000b\000V\000a\000r) endobj 433 0 obj << /S /GoTo /D (section.5.11) >> endobj 436 0 obj (\376\377\000P\000a\000j\000e\000\040\000i\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000i\000n\000\040\000C\000\040\000o\000f\000\040\000t\000h\000e\000\040\000G\000T\000G\000B\000a\000s\000i\000c\0001\000\040\000A\000P\000I) endobj 437 0 obj << /S /GoTo /D (subsection.5.11.1) >> endobj 440 0 obj (\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 441 0 obj << /S /GoTo /D (subsubsection.5.11.1.1) >> endobj 444 0 obj (\376\377\000P\000a\000j\000e\000\137\000g\000e\000t\000\137\000c\000o\000l\000o\000r) endobj 445 0 obj << /S /GoTo /D (subsubsection.5.11.1.2) >> endobj 448 0 obj (\376\377\000p\000a\000j\000e\000A\000d\000d\000C\000o\000m\000m\000e\000n\000t) endobj 449 0 obj << /S /GoTo /D (subsubsection.5.11.1.3) >> endobj 452 0 obj (\376\377\000p\000a\000j\000e\000A\000d\000d\000C\000o\000n\000t\000a\000i\000n\000e\000r) endobj 453 0 obj << /S /GoTo /D (subsubsection.5.11.1.4) >> endobj 456 0 obj (\376\377\000p\000a\000j\000e\000A\000d\000d\000C\000o\000n\000t\000T\000y\000p\000e) endobj 457 0 obj << /S /GoTo /D (subsubsection.5.11.1.5) >> endobj 460 0 obj (\376\377\000p\000a\000j\000e\000A\000d\000d\000E\000n\000t\000i\000t\000y\000V\000a\000l\000u\000e) endobj 461 0 obj << /S /GoTo /D (subsubsection.5.11.1.6) >> endobj 464 0 obj (\376\377\000p\000a\000j\000e\000A\000d\000d\000E\000v\000e\000n\000t) endobj 465 0 obj << /S /GoTo /D (subsubsection.5.11.1.7) >> endobj 468 0 obj (\376\377\000p\000a\000j\000e\000A\000d\000d\000E\000v\000e\000n\000t\000T\000y\000p\000e) endobj 469 0 obj << /S /GoTo /D (subsubsection.5.11.1.8) >> endobj 472 0 obj (\376\377\000p\000a\000j\000e\000A\000d\000d\000L\000i\000n\000k\000T\000y\000p\000e) endobj 473 0 obj << /S /GoTo /D (subsubsection.5.11.1.9) >> endobj 476 0 obj (\376\377\000p\000a\000j\000e\000A\000d\000d\000S\000t\000a\000t\000e\000T\000y\000p\000e) endobj 477 0 obj << /S /GoTo /D (subsubsection.5.11.1.10) >> endobj 480 0 obj (\376\377\000p\000a\000j\000e\000A\000d\000d\000V\000a\000r) endobj 481 0 obj << /S /GoTo /D (subsubsection.5.11.1.11) >> endobj 484 0 obj (\376\377\000p\000a\000j\000e\000A\000d\000d\000V\000a\000r\000T\000y\000p\000e) endobj 485 0 obj << /S /GoTo /D (subsubsection.5.11.1.12) >> endobj 488 0 obj (\376\377\000p\000a\000j\000e\000D\000e\000s\000t\000r\000o\000y\000C\000o\000n\000t\000a\000i\000n\000e\000r) endobj 489 0 obj << /S /GoTo /D (subsubsection.5.11.1.13) >> endobj 492 0 obj (\376\377\000p\000a\000j\000e\000E\000n\000d\000L\000i\000n\000k) endobj 493 0 obj << /S /GoTo /D (subsubsection.5.11.1.14) >> endobj 496 0 obj (\376\377\000p\000a\000j\000e\000E\000n\000d\000T\000r\000a\000c\000e) endobj 497 0 obj << /S /GoTo /D (subsubsection.5.11.1.15) >> endobj 500 0 obj (\376\377\000p\000a\000j\000e\000G\000e\000t\000N\000a\000m\000e) endobj 501 0 obj << /S /GoTo /D (subsubsection.5.11.1.16) >> endobj 504 0 obj (\376\377\000p\000a\000j\000e\000I\000n\000i\000t\000T\000r\000a\000c\000e) endobj 505 0 obj << /S /GoTo /D (subsubsection.5.11.1.17) >> endobj 508 0 obj (\376\377\000p\000a\000j\000e\000P\000o\000p\000S\000t\000a\000t\000e) endobj 509 0 obj << /S /GoTo /D (subsubsection.5.11.1.18) >> endobj 512 0 obj (\376\377\000p\000a\000j\000e\000P\000u\000s\000h\000S\000t\000a\000t\000e) endobj 513 0 obj << /S /GoTo /D (subsubsection.5.11.1.19) >> endobj 516 0 obj (\376\377\000p\000a\000j\000e\000S\000e\000q\000A\000d\000d\000C\000o\000n\000t\000a\000i\000n\000e\000r) endobj 517 0 obj << /S /GoTo /D (subsubsection.5.11.1.20) >> endobj 520 0 obj (\376\377\000p\000a\000j\000e\000S\000e\000t\000C\000o\000m\000p\000r\000e\000s\000s) endobj 521 0 obj << /S /GoTo /D (subsubsection.5.11.1.21) >> endobj 524 0 obj (\376\377\000p\000a\000j\000e\000S\000e\000t\000S\000t\000a\000t\000e) endobj 525 0 obj << /S /GoTo /D (subsubsection.5.11.1.22) >> endobj 528 0 obj (\376\377\000p\000a\000j\000e\000S\000e\000t\000V\000a\000r) endobj 529 0 obj << /S /GoTo /D (subsubsection.5.11.1.23) >> endobj 532 0 obj (\376\377\000p\000a\000j\000e\000S\000t\000a\000r\000t\000L\000i\000n\000k) endobj 533 0 obj << /S /GoTo /D (subsubsection.5.11.1.24) >> endobj 536 0 obj (\376\377\000p\000a\000j\000e\000S\000u\000b\000V\000a\000r) endobj 537 0 obj << /S /GoTo /D (subsubsection.5.11.1.25) >> endobj 540 0 obj (\376\377\000v\000i\000t\000e\000E\000n\000d\000T\000r\000a\000c\000e) endobj 541 0 obj << /S /GoTo /D (section.5.12) >> endobj 544 0 obj (\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000s\000\040\000f\000o\000r\000\040\000p\000o\000s\000t\000p\000o\000n\000i\000n\000g\000\040\000e\000v\000e\000n\000t\000-\000p\000r\000o\000c\000e\000s\000s\000i\000n\000g\000\040\000f\000u\000n\000c\000t\000i\000o\000n\000\040\000c\000a\000l\000l\000s) endobj 545 0 obj << /S /GoTo /D (subsection.5.12.1) >> endobj 548 0 obj (\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 549 0 obj << /S /GoTo /D (subsubsection.5.12.1.1) >> endobj 552 0 obj (\376\377\000g\000t\000g\000\137\000r\000e\000c\000o\000r\000d) endobj 553 0 obj << /S /GoTo /D (subsubsection.5.12.1.2) >> endobj 556 0 obj (\376\377\000g\000t\000g\000\137\000w\000r\000i\000t\000e\000\137\000e\000v\000e\000n\000t\000s) endobj 557 0 obj << /S /GoTo /D (section.5.13) >> endobj 560 0 obj (\376\377\000T\000y\000p\000e\000s\000\040\000u\000s\000e\000d) endobj 561 0 obj << /S /GoTo /D (subsection.5.13.1) >> endobj 564 0 obj (\376\377\000T\000y\000p\000e\000d\000e\000f\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 565 0 obj << /S /GoTo /D (subsubsection.5.13.1.1) >> endobj 568 0 obj (\376\377\000v\000a\000r\000P\000r\000e\000c) endobj 569 0 obj << /S /GoTo /D (subsection.5.13.2) >> endobj 572 0 obj (\376\377\000E\000n\000u\000m\000e\000r\000a\000t\000i\000o\000n\000\040\000T\000y\000p\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 573 0 obj << /S /GoTo /D (subsubsection.5.13.2.1) >> endobj 576 0 obj (\376\377\000t\000r\000a\000c\000e\000\137\000r\000e\000t\000u\000r\000n\000\137\000t) endobj 577 0 obj << /S /GoTo /D (chapter.6) >> endobj 580 0 obj (\376\377\000D\000a\000t\000a\000\040\000S\000t\000r\000u\000c\000t\000u\000r\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 581 0 obj << /S /GoTo /D (section.6.1) >> endobj 584 0 obj (\376\377\000C\000o\000n\000t\000a\000i\000n\000e\000r\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 585 0 obj << /S /GoTo /D (subsection.6.1.1) >> endobj 588 0 obj (\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) endobj 589 0 obj << /S /GoTo /D (subsection.6.1.2) >> endobj 592 0 obj (\376\377\000F\000i\000e\000l\000d\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 593 0 obj << /S /GoTo /D (subsubsection.6.1.2.1) >> endobj 596 0 obj (\376\377\000a\000l\000i\000a\000s) endobj 597 0 obj << /S /GoTo /D (subsubsection.6.1.2.2) >> endobj 600 0 obj (\376\377\000c\000t\000T\000y\000p\000e) endobj 601 0 obj << /S /GoTo /D (subsubsection.6.1.2.3) >> endobj 604 0 obj (\376\377\000i\000d) endobj 605 0 obj << /S /GoTo /D (subsubsection.6.1.2.4) >> endobj 608 0 obj (\376\377\000n\000a\000m\000e) endobj 609 0 obj << /S /GoTo /D (subsubsection.6.1.2.5) >> endobj 612 0 obj (\376\377\000s\000t\000a\000t\000e\000\137\000s\000t\000a\000c\000k) endobj 613 0 obj << /S /GoTo /D (subsubsection.6.1.2.6) >> endobj 616 0 obj (\376\377\000t\000o\000k\000e\000n) endobj 617 0 obj << /S /GoTo /D (section.6.2) >> endobj 620 0 obj (\376\377\000C\000o\000n\000t\000a\000i\000n\000e\000r\000T\000y\000p\000e\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 621 0 obj << /S /GoTo /D (subsection.6.2.1) >> endobj 624 0 obj (\376\377\000F\000i\000e\000l\000d\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 625 0 obj << /S /GoTo /D (subsubsection.6.2.1.1) >> endobj 628 0 obj (\376\377\000a\000l\000i\000a\000s) endobj 629 0 obj << /S /GoTo /D (subsubsection.6.2.1.2) >> endobj 632 0 obj (\376\377\000i\000d) endobj 633 0 obj << /S /GoTo /D (subsubsection.6.2.1.3) >> endobj 636 0 obj (\376\377\000n\000a\000m\000e) endobj 637 0 obj << /S /GoTo /D (subsubsection.6.2.1.4) >> endobj 640 0 obj (\376\377\000t\000o\000k\000e\000n) endobj 641 0 obj << /S /GoTo /D (section.6.3) >> endobj 644 0 obj (\376\377\000E\000n\000t\000i\000t\000y\000V\000a\000l\000u\000e\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 645 0 obj << /S /GoTo /D (subsection.6.3.1) >> endobj 648 0 obj (\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) endobj 649 0 obj << /S /GoTo /D (subsection.6.3.2) >> endobj 652 0 obj (\376\377\000F\000i\000e\000l\000d\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 653 0 obj << /S /GoTo /D (subsubsection.6.3.2.1) >> endobj 656 0 obj (\376\377\000a\000l\000i\000a\000s) endobj 657 0 obj << /S /GoTo /D (subsubsection.6.3.2.2) >> endobj 660 0 obj (\376\377\000g\000r\000o\000u\000p\000I\000d) endobj 661 0 obj << /S /GoTo /D (subsubsection.6.3.2.3) >> endobj 664 0 obj (\376\377\000i\000d) endobj 665 0 obj << /S /GoTo /D (subsubsection.6.3.2.4) >> endobj 668 0 obj (\376\377\000n\000a\000m\000e) endobj 669 0 obj << /S /GoTo /D (subsubsection.6.3.2.5) >> endobj 672 0 obj (\376\377\000t\000o\000k\000e\000n) endobj 673 0 obj << /S /GoTo /D (section.6.4) >> endobj 676 0 obj (\376\377\000E\000v\000e\000n\000t\000T\000y\000p\000e\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 677 0 obj << /S /GoTo /D (subsection.6.4.1) >> endobj 680 0 obj (\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) endobj 681 0 obj << /S /GoTo /D (subsection.6.4.2) >> endobj 684 0 obj (\376\377\000F\000i\000e\000l\000d\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 685 0 obj << /S /GoTo /D (subsubsection.6.4.2.1) >> endobj 688 0 obj (\376\377\000a\000l\000i\000a\000s) endobj 689 0 obj << /S /GoTo /D (subsubsection.6.4.2.2) >> endobj 692 0 obj (\376\377\000c\000o\000n\000t\000T\000y\000p\000e) endobj 693 0 obj << /S /GoTo /D (subsubsection.6.4.2.3) >> endobj 696 0 obj (\376\377\000i\000d) endobj 697 0 obj << /S /GoTo /D (subsubsection.6.4.2.4) >> endobj 700 0 obj (\376\377\000n\000a\000m\000e) endobj 701 0 obj << /S /GoTo /D (subsubsection.6.4.2.5) >> endobj 704 0 obj (\376\377\000t\000o\000k\000e\000n) endobj 705 0 obj << /S /GoTo /D (section.6.5) >> endobj 708 0 obj (\376\377\000g\000t\000g\000\137\000c\000o\000l\000o\000r\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 709 0 obj << /S /GoTo /D (subsection.6.5.1) >> endobj 712 0 obj (\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) endobj 713 0 obj << /S /GoTo /D (subsection.6.5.2) >> endobj 716 0 obj (\376\377\000F\000i\000e\000l\000d\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 717 0 obj << /S /GoTo /D (subsubsection.6.5.2.1) >> endobj 720 0 obj (\376\377\000c\000o\000l\000o\000r\000\137\000n\000a\000m\000e) endobj 721 0 obj << /S /GoTo /D (subsubsection.6.5.2.2) >> endobj 724 0 obj (\376\377\000r\000g\000b) endobj 725 0 obj << /S /GoTo /D (section.6.6) >> endobj 728 0 obj (\376\377\000g\000t\000g\000\137\000l\000i\000s\000t\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 729 0 obj << /S /GoTo /D (subsection.6.6.1) >> endobj 732 0 obj (\376\377\000F\000i\000e\000l\000d\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 733 0 obj << /S /GoTo /D (subsubsection.6.6.1.1) >> endobj 736 0 obj (\376\377\000n\000e\000x\000t) endobj 737 0 obj << /S /GoTo /D (subsubsection.6.6.1.2) >> endobj 740 0 obj (\376\377\000p\000r\000e\000v) endobj 741 0 obj << /S /GoTo /D (section.6.7) >> endobj 744 0 obj (\376\377\000g\000t\000g\000\137\000m\000e\000m\000o\000r\000y\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 745 0 obj << /S /GoTo /D (subsection.6.7.1) >> endobj 748 0 obj (\376\377\000F\000i\000e\000l\000d\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 749 0 obj << /S /GoTo /D (subsubsection.6.7.1.1) >> endobj 752 0 obj (\376\377\000b\000l\000o\000c\000k\000\137\000l\000e\000n) endobj 753 0 obj << /S /GoTo /D (subsubsection.6.7.1.2) >> endobj 756 0 obj (\376\377\000c\000u\000r\000r\000e\000n\000t\000\137\000m\000e\000m) endobj 757 0 obj << /S /GoTo /D (subsubsection.6.7.1.3) >> endobj 760 0 obj (\376\377\000f\000i\000r\000s\000t\000\137\000f\000r\000e\000e) endobj 761 0 obj << /S /GoTo /D (subsubsection.6.7.1.4) >> endobj 764 0 obj (\376\377\000f\000i\000r\000s\000t\000\137\000m\000e\000m) endobj 765 0 obj << /S /GoTo /D (subsubsection.6.7.1.5) >> endobj 768 0 obj (\376\377\000f\000i\000r\000s\000t\000\137\000n\000e\000w) endobj 769 0 obj << /S /GoTo /D (subsubsection.6.7.1.6) >> endobj 772 0 obj (\376\377\000m\000e\000m\000\137\000l\000e\000n) endobj 773 0 obj << /S /GoTo /D (subsubsection.6.7.1.7) >> endobj 776 0 obj (\376\377\000n\000b\000\137\000a\000l\000l\000o\000c\000a\000t\000e\000d) endobj 777 0 obj << /S /GoTo /D (section.6.8) >> endobj 780 0 obj (\376\377\000L\000i\000n\000k\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 781 0 obj << /S /GoTo /D (subsection.6.8.1) >> endobj 784 0 obj (\376\377\000F\000i\000e\000l\000d\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 785 0 obj << /S /GoTo /D (subsubsection.6.8.1.1) >> endobj 788 0 obj (\376\377\000s\000r\000c) endobj 789 0 obj << /S /GoTo /D (subsubsection.6.8.1.2) >> endobj 792 0 obj (\376\377\000t\000i\000m\000e) endobj 793 0 obj << /S /GoTo /D (section.6.9) >> endobj 796 0 obj (\376\377\000L\000i\000n\000k\000T\000y\000p\000e\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 797 0 obj << /S /GoTo /D (subsection.6.9.1) >> endobj 800 0 obj (\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) endobj 801 0 obj << /S /GoTo /D (subsection.6.9.2) >> endobj 804 0 obj (\376\377\000F\000i\000e\000l\000d\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 805 0 obj << /S /GoTo /D (subsubsection.6.9.2.1) >> endobj 808 0 obj (\376\377\000a\000l\000i\000a\000s) endobj 809 0 obj << /S /GoTo /D (subsubsection.6.9.2.2) >> endobj 812 0 obj (\376\377\000c\000o\000n\000t\000T\000y\000p\000e) endobj 813 0 obj << /S /GoTo /D (subsubsection.6.9.2.3) >> endobj 816 0 obj (\376\377\000d\000e\000s\000t\000T\000y\000p\000e) endobj 817 0 obj << /S /GoTo /D (subsubsection.6.9.2.4) >> endobj 820 0 obj (\376\377\000i\000d) endobj 821 0 obj << /S /GoTo /D (subsubsection.6.9.2.5) >> endobj 824 0 obj (\376\377\000n\000a\000m\000e) endobj 825 0 obj << /S /GoTo /D (subsubsection.6.9.2.6) >> endobj 828 0 obj (\376\377\000s\000r\000c\000T\000y\000p\000e) endobj 829 0 obj << /S /GoTo /D (subsubsection.6.9.2.7) >> endobj 832 0 obj (\376\377\000t\000o\000k\000e\000n) endobj 833 0 obj << /S /GoTo /D (section.6.10) >> endobj 836 0 obj (\376\377\000o\000t\000f\000\137\000c\000o\000l\000o\000r\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 837 0 obj << /S /GoTo /D (subsection.6.10.1) >> endobj 840 0 obj (\376\377\000F\000i\000e\000l\000d\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 841 0 obj << /S /GoTo /D (subsubsection.6.10.1.1) >> endobj 844 0 obj (\376\377\000b\000l\000u\000e) endobj 845 0 obj << /S /GoTo /D (subsubsection.6.10.1.2) >> endobj 848 0 obj (\376\377\000c\000o\000l\000o\000r\000I\000D) endobj 849 0 obj << /S /GoTo /D (subsubsection.6.10.1.3) >> endobj 852 0 obj (\376\377\000g\000r\000e\000e\000n) endobj 853 0 obj << /S /GoTo /D (subsubsection.6.10.1.4) >> endobj 856 0 obj (\376\377\000r\000e\000d) endobj 857 0 obj << /S /GoTo /D (section.6.11) >> endobj 860 0 obj (\376\377\000S\000t\000a\000t\000e\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 861 0 obj << /S /GoTo /D (subsection.6.11.1) >> endobj 864 0 obj (\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) endobj 865 0 obj << /S /GoTo /D (subsection.6.11.2) >> endobj 868 0 obj (\376\377\000F\000i\000e\000l\000d\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 869 0 obj << /S /GoTo /D (subsubsection.6.11.2.1) >> endobj 872 0 obj (\376\377\000c\000o\000n\000t) endobj 873 0 obj << /S /GoTo /D (subsubsection.6.11.2.2) >> endobj 876 0 obj (\376\377\000s\000t\000a\000t\000e\000T\000y\000p\000e) endobj 877 0 obj << /S /GoTo /D (subsubsection.6.11.2.3) >> endobj 880 0 obj (\376\377\000t\000o\000k\000e\000n) endobj 881 0 obj << /S /GoTo /D (subsubsection.6.11.2.4) >> endobj 884 0 obj (\376\377\000v\000a\000l\000u\000e) endobj 885 0 obj << /S /GoTo /D (section.6.12) >> endobj 888 0 obj (\376\377\000S\000t\000a\000t\000e\000T\000y\000p\000e\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 889 0 obj << /S /GoTo /D (subsection.6.12.1) >> endobj 892 0 obj (\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) endobj 893 0 obj << /S /GoTo /D (subsection.6.12.2) >> endobj 896 0 obj (\376\377\000F\000i\000e\000l\000d\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 897 0 obj << /S /GoTo /D (subsubsection.6.12.2.1) >> endobj 900 0 obj (\376\377\000a\000l\000i\000a\000s) endobj 901 0 obj << /S /GoTo /D (subsubsection.6.12.2.2) >> endobj 904 0 obj (\376\377\000g\000r\000o\000u\000p\000I\000d) endobj 905 0 obj << /S /GoTo /D (subsubsection.6.12.2.3) >> endobj 908 0 obj (\376\377\000i\000d) endobj 909 0 obj << /S /GoTo /D (subsubsection.6.12.2.4) >> endobj 912 0 obj (\376\377\000n\000a\000m\000e) endobj 913 0 obj << /S /GoTo /D (subsubsection.6.12.2.5) >> endobj 916 0 obj (\376\377\000t\000o\000k\000e\000n) endobj 917 0 obj << /S /GoTo /D (section.6.13) >> endobj 920 0 obj (\376\377\000V\000a\000r\000i\000a\000b\000l\000e\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 921 0 obj << /S /GoTo /D (subsection.6.13.1) >> endobj 924 0 obj (\376\377\000F\000i\000e\000l\000d\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 925 0 obj << /S /GoTo /D (subsubsection.6.13.1.1) >> endobj 928 0 obj (\376\377\000i\000d) endobj 929 0 obj << /S /GoTo /D (subsubsection.6.13.1.2) >> endobj 932 0 obj (\376\377\000p\000a\000r\000e\000n\000t) endobj 933 0 obj << /S /GoTo /D (subsubsection.6.13.1.3) >> endobj 936 0 obj (\376\377\000t\000o\000k\000e\000n) endobj 937 0 obj << /S /GoTo /D (subsubsection.6.13.1.4) >> endobj 940 0 obj (\376\377\000t\000y\000p\000e) endobj 941 0 obj << /S /GoTo /D (subsubsection.6.13.1.5) >> endobj 944 0 obj (\376\377\000v\000a\000l\000u\000e) endobj 945 0 obj << /S /GoTo /D (section.6.14) >> endobj 948 0 obj (\376\377\000V\000a\000r\000i\000a\000b\000l\000e\000T\000y\000p\000e\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 949 0 obj << /S /GoTo /D (subsection.6.14.1) >> endobj 952 0 obj (\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) endobj 953 0 obj << /S /GoTo /D (subsection.6.14.2) >> endobj 956 0 obj (\376\377\000F\000i\000e\000l\000d\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 957 0 obj << /S /GoTo /D (subsubsection.6.14.2.1) >> endobj 960 0 obj (\376\377\000a\000l\000i\000a\000s) endobj 961 0 obj << /S /GoTo /D (subsubsection.6.14.2.2) >> endobj 964 0 obj (\376\377\000c\000o\000n\000t\000T\000y\000p\000e) endobj 965 0 obj << /S /GoTo /D (subsubsection.6.14.2.3) >> endobj 968 0 obj (\376\377\000i\000d) endobj 969 0 obj << /S /GoTo /D (subsubsection.6.14.2.4) >> endobj 972 0 obj (\376\377\000n\000a\000m\000e) endobj 973 0 obj << /S /GoTo /D (subsubsection.6.14.2.5) >> endobj 976 0 obj (\376\377\000t\000o\000k\000e\000n) endobj 977 0 obj << /S /GoTo /D (chapter.7) >> endobj 980 0 obj (\376\377\000F\000i\000l\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 981 0 obj << /S /GoTo /D (section.7.1) >> endobj 984 0 obj (\376\377\000G\000T\000G\000.\000h\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 985 0 obj << /S /GoTo /D (subsection.7.1.1) >> endobj 988 0 obj (\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) endobj 989 0 obj << /S /GoTo /D (section.7.2) >> endobj 992 0 obj (\376\377\000G\000T\000G\000B\000a\000s\000i\000c\000.\000h\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 993 0 obj << /S /GoTo /D (subsection.7.2.1) >> endobj 996 0 obj (\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) endobj 997 0 obj << /S /GoTo /D (subsection.7.2.2) >> endobj 1000 0 obj (\376\377\000D\000e\000f\000i\000n\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 1001 0 obj << /S /GoTo /D (subsubsection.7.2.2.1) >> endobj 1004 0 obj (\376\377\000G\000T\000G\000\137\000F\000L\000A\000G\000\137\000N\000O\000N\000E) endobj 1005 0 obj << /S /GoTo /D (subsubsection.7.2.2.2) >> endobj 1008 0 obj (\376\377\000G\000T\000G\000\137\000F\000L\000A\000G\000\137\000N\000O\000T\000B\000U\000F) endobj 1009 0 obj << /S /GoTo /D (subsubsection.7.2.2.3) >> endobj 1012 0 obj (\376\377\000G\000T\000G\000\137\000F\000L\000A\000G\000\137\000O\000U\000T\000O\000F\000O\000R\000D\000E\000R) endobj 1013 0 obj << /S /GoTo /D (subsubsection.7.2.2.4) >> endobj 1016 0 obj (\376\377\000G\000T\000G\000\137\000F\000L\000A\000G\000\137\000U\000S\000E\000\137\000M\000P\000I) endobj 1017 0 obj << /S /GoTo /D (subsection.7.2.3) >> endobj 1020 0 obj (\376\377\000T\000y\000p\000e\000d\000e\000f\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 1021 0 obj << /S /GoTo /D (subsubsection.7.2.3.1) >> endobj 1024 0 obj (\376\377\000g\000t\000g\000\137\000f\000l\000a\000g\000\137\000t) endobj 1025 0 obj << /S /GoTo /D (subsubsection.7.2.3.2) >> endobj 1028 0 obj (\376\377\000t\000r\000a\000c\000e\000T\000y\000p\000e\000\137\000t) endobj 1029 0 obj << /S /GoTo /D (section.7.3) >> endobj 1032 0 obj (\376\377\000G\000T\000G\000C\000o\000l\000o\000r\000.\000h\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 1033 0 obj << /S /GoTo /D (subsection.7.3.1) >> endobj 1036 0 obj (\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) endobj 1037 0 obj << /S /GoTo /D (subsection.7.3.2) >> endobj 1040 0 obj (\376\377\000D\000e\000f\000i\000n\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 1041 0 obj << /S /GoTo /D (subsubsection.7.3.2.1) >> endobj 1044 0 obj (\376\377\000G\000T\000G\000\137\000C\000O\000L\000O\000R\000\137\000B\000L\000U\000E\000\137\000M\000A\000S\000K) endobj 1045 0 obj << /S /GoTo /D (subsubsection.7.3.2.2) >> endobj 1048 0 obj (\376\377\000G\000T\000G\000\137\000C\000O\000L\000O\000R\000\137\000B\000L\000U\000E\000\137\000P\000O\000S) endobj 1049 0 obj << /S /GoTo /D (subsubsection.7.3.2.3) >> endobj 1052 0 obj (\376\377\000G\000T\000G\000\137\000C\000O\000L\000O\000R\000\137\000G\000R\000E\000E\000N\000\137\000M\000A\000S\000K) endobj 1053 0 obj << /S /GoTo /D (subsubsection.7.3.2.4) >> endobj 1056 0 obj (\376\377\000G\000T\000G\000\137\000C\000O\000L\000O\000R\000\137\000G\000R\000E\000E\000N\000\137\000P\000O\000S) endobj 1057 0 obj << /S /GoTo /D (subsubsection.7.3.2.5) >> endobj 1060 0 obj (\376\377\000G\000T\000G\000\137\000C\000O\000L\000O\000R\000\137\000R\000E\000D\000\137\000M\000A\000S\000K) endobj 1061 0 obj << /S /GoTo /D (subsubsection.7.3.2.6) >> endobj 1064 0 obj (\376\377\000G\000T\000G\000\137\000C\000O\000L\000O\000R\000\137\000R\000E\000D\000\137\000P\000O\000S) endobj 1065 0 obj << /S /GoTo /D (subsection.7.3.3) >> endobj 1068 0 obj (\376\377\000T\000y\000p\000e\000d\000e\000f\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 1069 0 obj << /S /GoTo /D (subsubsection.7.3.3.1) >> endobj 1072 0 obj (\376\377\000g\000t\000g\000\137\000c\000o\000l\000o\000r\000\137\000t) endobj 1073 0 obj << /S /GoTo /D (subsubsection.7.3.3.2) >> endobj 1076 0 obj (\376\377\000g\000t\000g\000\137\000r\000g\000b\000\137\000c\000o\000l\000o\000r\000\137\000t) endobj 1077 0 obj << /S /GoTo /D (subsection.7.3.4) >> endobj 1080 0 obj (\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 1081 0 obj << /S /GoTo /D (subsubsection.7.3.4.1) >> endobj 1084 0 obj (\376\377\000g\000t\000g\000\137\000c\000o\000l\000o\000r\000\137\000c\000r\000e\000a\000t\000e) endobj 1085 0 obj << /S /GoTo /D (subsubsection.7.3.4.2) >> endobj 1088 0 obj (\376\377\000g\000t\000g\000\137\000c\000o\000l\000o\000r\000\137\000e\000x\000i\000t) endobj 1089 0 obj << /S /GoTo /D (subsubsection.7.3.4.3) >> endobj 1092 0 obj (\376\377\000g\000t\000g\000\137\000c\000o\000l\000o\000r\000\137\000f\000r\000e\000e) endobj 1093 0 obj << /S /GoTo /D (subsubsection.7.3.4.4) >> endobj 1096 0 obj (\376\377\000g\000t\000g\000\137\000c\000o\000l\000o\000r\000\137\000i\000n\000i\000t) endobj 1097 0 obj << /S /GoTo /D (section.7.4) >> endobj 1100 0 obj (\376\377\000G\000T\000G\000C\000o\000m\000p\000r\000e\000s\000s\000.\000h\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 1101 0 obj << /S /GoTo /D (subsection.7.4.1) >> endobj 1104 0 obj (\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 1105 0 obj << /S /GoTo /D (subsubsection.7.4.1.1) >> endobj 1108 0 obj (\376\377\000g\000t\000g\000\137\000c\000o\000m\000p\000r\000e\000s\000s\000\137\000f\0002\000f) endobj 1109 0 obj << /S /GoTo /D (subsubsection.7.4.1.2) >> endobj 1112 0 obj (\376\377\000g\000t\000g\000\137\000c\000o\000m\000p\000r\000e\000s\000s\000\137\000f\0002\000m) endobj 1113 0 obj << /S /GoTo /D (subsubsection.7.4.1.3) >> endobj 1116 0 obj (\376\377\000g\000t\000g\000\137\000c\000o\000m\000p\000r\000e\000s\000s\000\137\000i\000n\000i\000t) endobj 1117 0 obj << /S /GoTo /D (subsubsection.7.4.1.4) >> endobj 1120 0 obj (\376\377\000g\000t\000g\000\137\000c\000o\000m\000p\000r\000e\000s\000s\000\137\000m\0002\000f) endobj 1121 0 obj << /S /GoTo /D (subsubsection.7.4.1.5) >> endobj 1124 0 obj (\376\377\000g\000t\000g\000\137\000c\000o\000m\000p\000r\000e\000s\000s\000\137\000m\0002\000m) endobj 1125 0 obj << /S /GoTo /D (subsubsection.7.4.1.6) >> endobj 1128 0 obj (\376\377\000g\000t\000g\000\137\000d\000e\000c\000o\000m\000p\000r\000e\000s\000s\000\137\000f\0002\000f) endobj 1129 0 obj << /S /GoTo /D (subsubsection.7.4.1.7) >> endobj 1132 0 obj (\376\377\000g\000t\000g\000\137\000d\000e\000c\000o\000m\000p\000r\000e\000s\000s\000\137\000f\0002\000m) endobj 1133 0 obj << /S /GoTo /D (subsubsection.7.4.1.8) >> endobj 1136 0 obj (\376\377\000g\000t\000g\000\137\000d\000e\000c\000o\000m\000p\000r\000e\000s\000s\000\137\000i\000n\000i\000t) endobj 1137 0 obj << /S /GoTo /D (subsubsection.7.4.1.9) >> endobj 1140 0 obj (\376\377\000g\000t\000g\000\137\000d\000e\000c\000o\000m\000p\000r\000e\000s\000s\000\137\000m\0002\000f) endobj 1141 0 obj << /S /GoTo /D (subsubsection.7.4.1.10) >> endobj 1144 0 obj (\376\377\000g\000t\000g\000\137\000d\000e\000c\000o\000m\000p\000r\000e\000s\000s\000\137\000m\0002\000m) endobj 1145 0 obj << /S /GoTo /D (section.7.5) >> endobj 1148 0 obj (\376\377\000G\000T\000G\000L\000i\000s\000t\000.\000h\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 1149 0 obj << /S /GoTo /D (subsection.7.5.1) >> endobj 1152 0 obj (\376\377\000D\000e\000f\000i\000n\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 1153 0 obj << /S /GoTo /D (subsubsection.7.5.1.1) >> endobj 1156 0 obj (\376\377\000G\000T\000G\000\137\000L\000I\000S\000T) endobj 1157 0 obj << /S /GoTo /D (subsubsection.7.5.1.2) >> endobj 1160 0 obj (\376\377\000g\000t\000g\000\137\000l\000i\000s\000t\000\137\000e\000n\000t\000r\000y) endobj 1161 0 obj << /S /GoTo /D (subsubsection.7.5.1.3) >> endobj 1164 0 obj (\376\377\000g\000t\000g\000\137\000l\000i\000s\000t\000\137\000f\000o\000r\000\137\000e\000a\000c\000h) endobj 1165 0 obj << /S /GoTo /D (subsubsection.7.5.1.4) >> endobj 1168 0 obj (\376\377\000g\000t\000g\000\137\000l\000i\000s\000t\000\137\000f\000o\000r\000\137\000e\000a\000c\000h\000\137\000e\000n\000t\000r\000y) endobj 1169 0 obj << /S /GoTo /D (subsubsection.7.5.1.5) >> endobj 1172 0 obj (\376\377\000g\000t\000g\000\137\000l\000i\000s\000t\000\137\000f\000o\000r\000\137\000e\000a\000c\000h\000\137\000e\000n\000t\000r\000y\000\137\000s\000a\000f\000e) endobj 1173 0 obj << /S /GoTo /D (subsubsection.7.5.1.6) >> endobj 1176 0 obj (\376\377\000g\000t\000g\000\137\000l\000i\000s\000t\000\137\000f\000o\000r\000\137\000e\000a\000c\000h\000\137\000r\000e\000v\000e\000r\000s\000e) endobj 1177 0 obj << /S /GoTo /D (subsubsection.7.5.1.7) >> endobj 1180 0 obj (\376\377\000g\000t\000g\000\137\000l\000i\000s\000t\000\137\000f\000o\000r\000\137\000e\000a\000c\000h\000\137\000s\000a\000f\000e) endobj 1181 0 obj << /S /GoTo /D (subsubsection.7.5.1.8) >> endobj 1184 0 obj (\376\377\000G\000T\000G\000\137\000L\000I\000S\000T\000\137\000I\000N\000I\000T) endobj 1185 0 obj << /S /GoTo /D (subsection.7.5.2) >> endobj 1188 0 obj (\376\377\000T\000y\000p\000e\000d\000e\000f\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 1189 0 obj << /S /GoTo /D (subsubsection.7.5.2.1) >> endobj 1192 0 obj (\376\377\000g\000t\000g\000\137\000l\000i\000s\000t\000\137\000t) endobj 1193 0 obj << /S /GoTo /D (subsection.7.5.3) >> endobj 1196 0 obj (\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 1197 0 obj << /S /GoTo /D (subsubsection.7.5.3.1) >> endobj 1200 0 obj (\376\377\000\137\000\137\000g\000t\000g\000\137\000l\000i\000s\000t\000\137\000a\000d\000d) endobj 1201 0 obj << /S /GoTo /D (subsubsection.7.5.3.2) >> endobj 1204 0 obj (\376\377\000\137\000\137\000g\000t\000g\000\137\000l\000i\000s\000t\000\137\000d\000e\000l) endobj 1205 0 obj << /S /GoTo /D (subsubsection.7.5.3.3) >> endobj 1208 0 obj (\376\377\000g\000t\000g\000\137\000l\000i\000s\000t\000\137\000a\000d\000d) endobj 1209 0 obj << /S /GoTo /D (subsubsection.7.5.3.4) >> endobj 1212 0 obj (\376\377\000g\000t\000g\000\137\000l\000i\000s\000t\000\137\000a\000d\000d\000\137\000t\000a\000i\000l) endobj 1213 0 obj << /S /GoTo /D (subsubsection.7.5.3.5) >> endobj 1216 0 obj (\376\377\000g\000t\000g\000\137\000l\000i\000s\000t\000\137\000d\000e\000l) endobj 1217 0 obj << /S /GoTo /D (subsubsection.7.5.3.6) >> endobj 1220 0 obj (\376\377\000g\000t\000g\000\137\000l\000i\000s\000t\000\137\000s\000i\000z\000e) endobj 1221 0 obj << /S /GoTo /D (section.7.6) >> endobj 1224 0 obj (\376\377\000G\000T\000G\000M\000e\000m\000o\000r\000y\000.\000h\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 1225 0 obj << /S /GoTo /D (subsection.7.6.1) >> endobj 1228 0 obj (\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) endobj 1229 0 obj << /S /GoTo /D (subsection.7.6.2) >> endobj 1232 0 obj (\376\377\000T\000y\000p\000e\000d\000e\000f\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 1233 0 obj << /S /GoTo /D (subsubsection.7.6.2.1) >> endobj 1236 0 obj (\376\377\000g\000t\000g\000\137\000m\000e\000m\000o\000r\000y\000\137\000t) endobj 1237 0 obj << /S /GoTo /D (section.7.7) >> endobj 1240 0 obj (\376\377\000G\000T\000G\000O\000T\000F\000.\000h\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 1241 0 obj << /S /GoTo /D (subsection.7.7.1) >> endobj 1244 0 obj (\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) endobj 1245 0 obj << /S /GoTo /D (section.7.8) >> endobj 1248 0 obj (\376\377\000G\000T\000G\000O\000T\000F\000\137\000B\000a\000s\000i\000c\000.\000h\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 1249 0 obj << /S /GoTo /D (subsection.7.8.1) >> endobj 1252 0 obj (\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) endobj 1253 0 obj << /S /GoTo /D (subsection.7.8.2) >> endobj 1256 0 obj (\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 1257 0 obj << /S /GoTo /D (subsubsection.7.8.2.1) >> endobj 1260 0 obj (\376\377\000O\000T\000F\000D\000e\000f\000i\000n\000e\000C\000o\000n\000t\000a\000i\000n\000e\000r) endobj 1261 0 obj << /S /GoTo /D (section.7.9) >> endobj 1264 0 obj (\376\377\000G\000T\000G\000O\000T\000F\000\137\000S\000t\000r\000u\000c\000t\000s\000.\000h\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 1265 0 obj << /S /GoTo /D (subsection.7.9.1) >> endobj 1268 0 obj (\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) endobj 1269 0 obj << /S /GoTo /D (subsection.7.9.2) >> endobj 1272 0 obj (\376\377\000D\000e\000f\000i\000n\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 1273 0 obj << /S /GoTo /D (subsubsection.7.9.2.1) >> endobj 1276 0 obj (\376\377\000a\000l\000l\000o\000c\000\137\000i\000n\000i\000t\000\137\000s\000t\000r\000u\000c\000t) endobj 1277 0 obj << /S /GoTo /D (subsubsection.7.9.2.2) >> endobj 1280 0 obj (\376\377\000a\000l\000l\000o\000c\000\137\000S\000t\000a\000t\000e) endobj 1281 0 obj << /S /GoTo /D (subsubsection.7.9.2.3) >> endobj 1284 0 obj (\376\377\000a\000l\000l\000o\000c\000\137\000s\000t\000r\000u\000c\000t) endobj 1285 0 obj << /S /GoTo /D (subsubsection.7.9.2.4) >> endobj 1288 0 obj (\376\377\000a\000l\000l\000o\000c\000\137\000V\000a\000r\000i\000a\000b\000l\000e) endobj 1289 0 obj << /S /GoTo /D (subsubsection.7.9.2.5) >> endobj 1292 0 obj (\376\377\000C\000o\000n\000t\000a\000i\000n\000e\000r\000\137\000N\000I\000L) endobj 1293 0 obj << /S /GoTo /D (subsubsection.7.9.2.6) >> endobj 1296 0 obj (\376\377\000C\000o\000n\000t\000a\000i\000n\000e\000r\000T\000y\000p\000e\000\137\000N\000I\000L) endobj 1297 0 obj << /S /GoTo /D (subsubsection.7.9.2.7) >> endobj 1300 0 obj (\376\377\000E\000n\000t\000i\000t\000y\000V\000a\000l\000u\000e\000\137\000N\000I\000L) endobj 1301 0 obj << /S /GoTo /D (subsubsection.7.9.2.8) >> endobj 1304 0 obj (\376\377\000E\000v\000e\000n\000t\000T\000y\000p\000e\000\137\000N\000I\000L) endobj 1305 0 obj << /S /GoTo /D (subsubsection.7.9.2.9) >> endobj 1308 0 obj (\376\377\000f\000r\000e\000e\000\137\000s\000t\000r\000u\000c\000t) endobj 1309 0 obj << /S /GoTo /D (subsubsection.7.9.2.10) >> endobj 1312 0 obj (\376\377\000i\000n\000i\000t\000\137\000C\000o\000n\000t\000a\000i\000n\000e\000r) endobj 1313 0 obj << /S /GoTo /D (subsubsection.7.9.2.11) >> endobj 1316 0 obj (\376\377\000i\000n\000i\000t\000\137\000C\000o\000n\000t\000a\000i\000n\000e\000r\000T\000y\000p\000e) endobj 1317 0 obj << /S /GoTo /D (subsubsection.7.9.2.12) >> endobj 1320 0 obj (\376\377\000i\000n\000i\000t\000\137\000E\000n\000t\000i\000t\000y\000V\000a\000l\000u\000e) endobj 1321 0 obj << /S /GoTo /D (subsubsection.7.9.2.13) >> endobj 1324 0 obj (\376\377\000i\000n\000i\000t\000\137\000E\000v\000e\000n\000t\000T\000y\000p\000e) endobj 1325 0 obj << /S /GoTo /D (subsubsection.7.9.2.14) >> endobj 1328 0 obj (\376\377\000i\000n\000i\000t\000\137\000L\000i\000n\000k\000T\000y\000p\000e) endobj 1329 0 obj << /S /GoTo /D (subsubsection.7.9.2.15) >> endobj 1332 0 obj (\376\377\000i\000n\000i\000t\000\137\000S\000t\000a\000t\000e) endobj 1333 0 obj << /S /GoTo /D (subsubsection.7.9.2.16) >> endobj 1336 0 obj (\376\377\000i\000n\000i\000t\000\137\000S\000t\000a\000t\000e\000T\000y\000p\000e) endobj 1337 0 obj << /S /GoTo /D (subsubsection.7.9.2.17) >> endobj 1340 0 obj (\376\377\000i\000n\000i\000t\000\137\000V\000a\000r\000i\000a\000b\000l\000e) endobj 1341 0 obj << /S /GoTo /D (subsubsection.7.9.2.18) >> endobj 1344 0 obj (\376\377\000i\000n\000i\000t\000\137\000V\000a\000r\000i\000a\000b\000l\000e\000T\000y\000p\000e) endobj 1345 0 obj << /S /GoTo /D (subsubsection.7.9.2.19) >> endobj 1348 0 obj (\376\377\000L\000i\000n\000k\000T\000y\000p\000e\000\137\000N\000I\000L) endobj 1349 0 obj << /S /GoTo /D (subsubsection.7.9.2.20) >> endobj 1352 0 obj (\376\377\000M\000A\000X\000\137\000P\000R\000O\000C\000E\000S\000S) endobj 1353 0 obj << /S /GoTo /D (subsubsection.7.9.2.21) >> endobj 1356 0 obj (\376\377\000S\000t\000a\000t\000e\000\137\000N\000I\000L) endobj 1357 0 obj << /S /GoTo /D (subsubsection.7.9.2.22) >> endobj 1360 0 obj (\376\377\000S\000t\000a\000t\000e\000T\000y\000p\000e\000\137\000N\000I\000L) endobj 1361 0 obj << /S /GoTo /D (subsubsection.7.9.2.23) >> endobj 1364 0 obj (\376\377\000V\000a\000r\000i\000a\000b\000l\000e\000\137\000N\000I\000L) endobj 1365 0 obj << /S /GoTo /D (subsubsection.7.9.2.24) >> endobj 1368 0 obj (\376\377\000V\000a\000r\000i\000a\000b\000l\000e\000T\000y\000p\000e\000\137\000N\000I\000L) endobj 1369 0 obj << /S /GoTo /D (subsection.7.9.3) >> endobj 1372 0 obj (\376\377\000T\000y\000p\000e\000d\000e\000f\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 1373 0 obj << /S /GoTo /D (subsubsection.7.9.3.1) >> endobj 1376 0 obj (\376\377\000C\000o\000n\000t\000a\000i\000n\000e\000r\000\137\000t) endobj 1377 0 obj << /S /GoTo /D (subsubsection.7.9.3.2) >> endobj 1380 0 obj (\376\377\000C\000o\000n\000t\000a\000i\000n\000e\000r\000T\000y\000p\000e\000\137\000t) endobj 1381 0 obj << /S /GoTo /D (subsubsection.7.9.3.3) >> endobj 1384 0 obj (\376\377\000E\000n\000t\000i\000t\000y\000V\000a\000l\000u\000e\000\137\000t) endobj 1385 0 obj << /S /GoTo /D (subsubsection.7.9.3.4) >> endobj 1388 0 obj (\376\377\000E\000v\000e\000n\000t\000T\000y\000p\000e\000\137\000t) endobj 1389 0 obj << /S /GoTo /D (subsubsection.7.9.3.5) >> endobj 1392 0 obj (\376\377\000L\000i\000n\000k\000\137\000t) endobj 1393 0 obj << /S /GoTo /D (subsubsection.7.9.3.6) >> endobj 1396 0 obj (\376\377\000L\000i\000n\000k\000T\000y\000p\000e\000\137\000t) endobj 1397 0 obj << /S /GoTo /D (subsubsection.7.9.3.7) >> endobj 1400 0 obj (\376\377\000o\000t\000f\000\137\000c\000o\000l\000o\000r\000\137\000t) endobj 1401 0 obj << /S /GoTo /D (subsubsection.7.9.3.8) >> endobj 1404 0 obj (\376\377\000S\000t\000a\000t\000e\000\137\000t) endobj 1405 0 obj << /S /GoTo /D (subsubsection.7.9.3.9) >> endobj 1408 0 obj (\376\377\000S\000t\000a\000t\000e\000T\000y\000p\000e\000\137\000t) endobj 1409 0 obj << /S /GoTo /D (subsubsection.7.9.3.10) >> endobj 1412 0 obj (\376\377\000V\000a\000r\000i\000a\000b\000l\000e\000\137\000t) endobj 1413 0 obj << /S /GoTo /D (subsubsection.7.9.3.11) >> endobj 1416 0 obj (\376\377\000V\000a\000r\000i\000a\000b\000l\000e\000T\000y\000p\000e\000\137\000t) endobj 1417 0 obj << /S /GoTo /D (section.7.10) >> endobj 1420 0 obj (\376\377\000G\000T\000G\000P\000a\000j\000e\000.\000h\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 1421 0 obj << /S /GoTo /D (subsection.7.10.1) >> endobj 1424 0 obj (\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) endobj 1425 0 obj << /S /GoTo /D (subsection.7.10.2) >> endobj 1428 0 obj (\376\377\000T\000y\000p\000e\000d\000e\000f\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 1429 0 obj << /S /GoTo /D (subsubsection.7.10.2.1) >> endobj 1432 0 obj (\376\377\000p\000a\000j\000e\000\137\000c\000o\000l\000o\000r\000\137\000t) endobj 1433 0 obj << /S /GoTo /D (section.7.11) >> endobj 1436 0 obj (\376\377\000G\000T\000G\000P\000a\000j\000e\000\137\000B\000a\000s\000i\000c\000.\000h\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 1437 0 obj << /S /GoTo /D (subsection.7.11.1) >> endobj 1440 0 obj (\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) endobj 1441 0 obj << /S /GoTo /D (subsection.7.11.2) >> endobj 1444 0 obj (\376\377\000D\000e\000f\000i\000n\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 1445 0 obj << /S /GoTo /D (subsubsection.7.11.2.1) >> endobj 1448 0 obj (\376\377\000F\000M\000T\000\137\000P\000A\000J\000E) endobj 1449 0 obj << /S /GoTo /D (subsubsection.7.11.2.2) >> endobj 1452 0 obj (\376\377\000F\000M\000T\000\137\000V\000I\000T\000E) endobj 1453 0 obj << /S /GoTo /D (subsection.7.11.3) >> endobj 1456 0 obj (\376\377\000E\000n\000u\000m\000e\000r\000a\000t\000i\000o\000n\000\040\000T\000y\000p\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 1457 0 obj << /S /GoTo /D (subsubsection.7.11.3.1) >> endobj 1460 0 obj (\376\377\000g\000t\000g\000\137\000p\000a\000j\000e\000\137\000e\000v\000t\000d\000e\000f\000\137\000e) endobj 1461 0 obj << /S /GoTo /D (subsubsection.7.11.3.2) >> endobj 1464 0 obj (\376\377\000g\000t\000g\000\137\000p\000a\000j\000e\000\137\000f\000i\000e\000l\000d\000t\000y\000p\000e\000\137\000e) endobj 1465 0 obj << /S /GoTo /D (subsection.7.11.4) >> endobj 1468 0 obj (\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 1469 0 obj << /S /GoTo /D (subsubsection.7.11.4.1) >> endobj 1472 0 obj (\376\377\000p\000a\000j\000e\000E\000v\000e\000n\000t\000D\000e\000f\000A\000d\000d\000P\000a\000r\000a\000m) endobj 1473 0 obj << /S /GoTo /D (section.7.12) >> endobj 1476 0 obj (\376\377\000G\000T\000G\000R\000e\000p\000l\000a\000y\000.\000h\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 1477 0 obj << /S /GoTo /D (subsection.7.12.1) >> endobj 1480 0 obj (\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) endobj 1481 0 obj << /S /GoTo /D (subsection.7.12.2) >> endobj 1484 0 obj (\376\377\000E\000n\000u\000m\000e\000r\000a\000t\000i\000o\000n\000\040\000T\000y\000p\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 1485 0 obj << /S /GoTo /D (subsubsection.7.12.2.1) >> endobj 1488 0 obj (\376\377\000e\000v\000e\000n\000t\000\137\000t\000y\000p\000e\000\137\000t) endobj 1489 0 obj << /S /GoTo /D (section.7.13) >> endobj 1492 0 obj (\376\377\000G\000T\000G\000S\000t\000a\000c\000k\000.\000h\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 1493 0 obj << /S /GoTo /D (subsection.7.13.1) >> endobj 1496 0 obj (\376\377\000D\000e\000f\000i\000n\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 1497 0 obj << /S /GoTo /D (subsubsection.7.13.1.1) >> endobj 1500 0 obj (\376\377\000G\000T\000G\000\137\000S\000T\000A\000C\000K) endobj 1501 0 obj << /S /GoTo /D (subsubsection.7.13.1.2) >> endobj 1504 0 obj (\376\377\000g\000t\000g\000\137\000s\000t\000a\000c\000k\000\137\000e\000n\000t\000r\000y) endobj 1505 0 obj << /S /GoTo /D (subsubsection.7.13.1.3) >> endobj 1508 0 obj (\376\377\000G\000T\000G\000\137\000S\000T\000A\000C\000K\000\137\000I\000N\000I\000T) endobj 1509 0 obj << /S /GoTo /D (subsection.7.13.2) >> endobj 1512 0 obj (\376\377\000T\000y\000p\000e\000d\000e\000f\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 1513 0 obj << /S /GoTo /D (subsubsection.7.13.2.1) >> endobj 1516 0 obj (\376\377\000g\000t\000g\000\137\000s\000t\000a\000c\000k) endobj 1517 0 obj << /S /GoTo /D (subsubsection.7.13.2.2) >> endobj 1520 0 obj (\376\377\000g\000t\000g\000\137\000s\000t\000a\000c\000k\000\137\000t) endobj 1521 0 obj << /S /GoTo /D (subsection.7.13.3) >> endobj 1524 0 obj (\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 1525 0 obj << /S /GoTo /D (subsubsection.7.13.3.1) >> endobj 1528 0 obj (\376\377\000g\000t\000g\000\137\000s\000t\000a\000c\000k\000\137\000e\000m\000p\000t\000y) endobj 1529 0 obj << /S /GoTo /D (subsubsection.7.13.3.2) >> endobj 1532 0 obj (\376\377\000g\000t\000g\000\137\000s\000t\000a\000c\000k\000\137\000p\000o\000p) endobj 1533 0 obj << /S /GoTo /D (subsubsection.7.13.3.3) >> endobj 1536 0 obj (\376\377\000g\000t\000g\000\137\000s\000t\000a\000c\000k\000\137\000p\000u\000s\000h) endobj 1537 0 obj << /S /GoTo /D (subsubsection.7.13.3.4) >> endobj 1540 0 obj (\376\377\000g\000t\000g\000\137\000s\000t\000a\000c\000k\000\137\000t\000o\000p) endobj 1541 0 obj << /S /GoTo /D (section.7.14) >> endobj 1544 0 obj (\376\377\000G\000T\000G\000T\000y\000p\000e\000s\000.\000h\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) endobj 1545 0 obj << /S /GoTo /D (subsection.7.14.1) >> endobj 1548 0 obj (\376\377\000T\000y\000p\000e\000d\000e\000f\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) endobj 1549 0 obj << /S /GoTo /D (subsubsection.7.14.1.1) >> endobj 1552 0 obj (\376\377\000t\000r\000a\000c\000e\000\137\000r\000e\000t\000u\000r\000n\000\137\000t) endobj 1553 0 obj << /S /GoTo /D [1554 0 R /Fit ] >> endobj 1556 0 obj << /Length 220 /Filter /FlateDecode >> stream xÚ…?O1 Ĺ÷ű“!Ćöĺo7íIťł´iĹҢHôŰ7×D‰éYOÖűů™ŕÓ@˙čCî6BŔ‚‰ŮA>G `CňňžÔTNeÖ†ťzßi#!ެYHÍšI˝îJóÚÖâ|žçf=“Ł)OUXżämcŐ|—üŠ#:7‚á:‹đ¶ Ć;´Ţ±„#ńďCn˛o7]ą´ůń¬GRß—c951 Çv¬ťRXĐâŃ٦*Kjé­ÔWŻs˙ŃKíJ,=–V’V"Kîźź®ópYwU× endstream endobj 1554 0 obj << /Type /Page /Contents 1556 0 R /Resources 1555 0 R /MediaBox [0 0 595.276 841.89] /Parent 1559 0 R >> endobj 1557 0 obj << /D [1554 0 R /XYZ 99.895 717.021 null] >> endobj 1555 0 obj << /Font << /F20 1558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1562 0 obj << /Length 19 /Filter /FlateDecode >> stream xÚ3PHW0Ppç2ŔAc(á endstream endobj 1561 0 obj << /Type /Page /Contents 1562 0 R /Resources 1560 0 R /MediaBox [0 0 595.276 841.89] /Parent 1559 0 R >> endobj 1560 0 obj << /ProcSet [ /PDF ] >> endobj 1589 0 obj << /Length 747 /Filter /FlateDecode >> stream xÚÝÉnŰ0†ď~ ©Tr¸<¶YŚmQ4B/IŠĹ$9ĐR4o_j±lI±ă% lű QĚń˙ÎXÝ#‚Ć#2?{ ĘayŹ>Ł—\ Ź(¸CZ{J $zR)DčźÍ’Ü$yćüľ,f˛GŠŇň˘ü—SI¤<-%+g"Č•Ę#ŇŻ'ˇŽKíĆqÁWxŚëÁ4ľMĂÔ>&řą]» gö»őíaD K)÷4çČĄľç‹&ŞWĹ•˙HMfE„y“íĚ Zfu¸¬@R84‡˙c  Űkŕť‡yXŁ»ĘÓb’é«$%㋝I˛–d'¶˝'pýl}ÉN1ůÄüxĂď2~5ő”ag`Ľ¶ö5Îň~ÍĺQfŕý=жĎó٤x\U@ZďĚQ´‡Á©c‹k8iBçĎOÍč!L˘©IËHĐ“Ú=WY6>š¬«Ěc đERúf1ŐţU¤*ßjW[ײTä}…SćëŐŠő”˘Ťbş$ą͵]óŲ9(đú(2|={·cĹ hŕ_ÉdA|=bĆm#S`Űf˛Ń*X’Ţ.‚[Ǣ/îîF°IMdw.óŃÚńÇaÁD} (ńß7éđ5É Ú Ńvoňďáă`U ˇŽ˘sÜ^8[ď–•ζďÂ;oÔg«çTĄzWpĎ·Ţ»@§ŐŰYśÄyÓ Ě˙Źß›d^çlz×ĎÚkn©ą!‚dö@}ˇĎ­y«,Ł5m9„¶8"@·*°Ô „Qt‘äqţüËńíĂLú S„nşA@SđKą&‰zÝrżB=Šľg{ ć˘ÜÖ{ é©z°T'ÎfŹO©É/'†_É…Ţ Úú|Śţ:« endstream endobj 1588 0 obj << /Type /Page /Contents 1589 0 R /Resources 1587 0 R /MediaBox [0 0 595.276 841.89] /Parent 1559 0 R /Annots [ 1563 0 R 1564 0 R 1565 0 R 1566 0 R 1567 0 R 1568 0 R 1569 0 R 1570 0 R 1571 0 R 1572 0 R 1573 0 R 1574 0 R 1575 0 R 1576 0 R 1577 0 R 1578 0 R 1579 0 R 1580 0 R 1581 0 R 1582 0 R 1583 0 R 1584 0 R 1585 0 R ] >> endobj 1563 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [98.899 550.769 183.692 561.158] /A << /S /GoTo /D (chapter.1) >> >> endobj 1564 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 534.772 189.086 543.256] /A << /S /GoTo /D (section.1.1) >> >> endobj 1565 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [98.899 506.547 172.995 514.999] /A << /S /GoTo /D (chapter.2) >> >> endobj 1566 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 488.725 172.633 497.29] /A << /S /GoTo /D (section.2.1) >> >> endobj 1567 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [98.899 460.581 203.391 469.226] /A << /S /GoTo /D (chapter.3) >> >> endobj 1568 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 442.759 201.172 451.53] /A << /S /GoTo /D (section.3.1) >> >> endobj 1569 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [98.899 414.615 157.062 423.26] /A << /S /GoTo /D (chapter.4) >> >> endobj 1570 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 396.873 169.638 405.357] /A << /S /GoTo /D (section.4.1) >> >> endobj 1571 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [98.899 368.648 214.966 377.294] /A << /S /GoTo /D (chapter.5) >> >> endobj 1572 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 349.123 212.335 359.391] /A << /S /GoTo /D (section.5.1) >> >> endobj 1573 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 331.373 305.419 341.641] /A << /S /GoTo /D (subsection.5.1.1) >> >> endobj 1574 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 313.623 250.175 323.891] /A << /S /GoTo /D (subsubsection.5.1.1.1) >> >> endobj 1575 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 297.576 267.806 306.141] /A << /S /GoTo /D (subsection.5.1.2) >> >> endobj 1576 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 279.826 303.004 288.597] /A << /S /GoTo /D (subsubsection.5.1.2.1) >> >> endobj 1577 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 260.265 247.853 270.641] /A << /S /GoTo /D (subsubsection.5.1.2.2) >> >> endobj 1578 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 242.514 264.548 252.89] /A << /S /GoTo /D (subsubsection.5.1.2.3) >> >> endobj 1579 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 224.872 264.046 235.14] /A << /S /GoTo /D (subsubsection.5.1.2.4) >> >> endobj 1580 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 207.014 266.563 217.596] /A << /S /GoTo /D (section.5.2) >> >> endobj 1581 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 191.075 267.806 199.64] /A << /S /GoTo /D (subsection.5.2.1) >> >> endobj 1582 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 171.622 271.156 181.89] /A << /S /GoTo /D (subsubsection.5.2.1.1) >> >> endobj 1583 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 155.575 248.185 164.14] /A << /S /GoTo /D (subsubsection.5.2.1.2) >> >> endobj 1584 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 137.825 244.688 146.39] /A << /S /GoTo /D (subsubsection.5.2.1.3) >> >> endobj 1585 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 118.371 264.288 128.846] /A << /S /GoTo /D (subsubsection.5.2.1.4) >> >> endobj 1591 0 obj << /D [1588 0 R /XYZ 99.895 581.424 null] >> endobj 1587 0 obj << /Font << /F45 1590 0 R /F46 1592 0 R /F20 1558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1629 0 obj << /Length 1012 /Filter /FlateDecode >> stream xÚÝšKo›@Çďţ{„Ű}?zkÇR%jB{I«ČµIbŐă¶ůö]žĺahSÇřĆf5˙™ŮßĚ`¸LFďÝŃ›&€‚Z Ü[€9‚q ©‚IŕÎÁµµXŘ%D*ëčâÜź»Wö÷t4vGßGŘ,„.ÝČ "ĚF×_›/O‚T+đ3ůé ŚB‰ă—ŕjôa„2k҅»lĹËĚ>‚Ęö Ó@" W©}RŰÁXëdăϢEŕŻm'67ô–ÓțǤéĹčŢKOfMľ®9ąŕÚ‘YĐv8é˙‡O]oP„YfÖ3ŕ` %'…; 6ˇ”IłÍgT›K6¶üşnEŮËţ2>Q„>!źb¨T¦—Ô'ú™VÖ»ůü(x5×µb„Č‹ë5?k´%ĚdB§±Đ,źëR‰Ô˙+;w/V»66›őqĺŐES˝×˘Ůs˘+éĚ2Ńso…MŤâÖhSÁ"Őá JÝ űŻ ÔĽȵńŮ«#¬ëĽÖ‹L`†uŢ뤤ľŔşŮüWqŔ[wżˇ»ŢË}Ď;ĂŽ•čľ V‰ŢşLÉnŇu'Ňˉ^p~µYßoŐ®ŮD‹^ńÎ9żö˘Íb8ńݸ_Dť˙ ÷˝¸ţ° · ›ŤĽäűĚŮŻ­çĆŮ‹˙ĽĘ˙qôşZ†ůpöěĚD^mö ů­%Pa2,É-í č…ĺÂ˙¶n¦?Ý7G> endobj 1586 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 705.878 327.109 714.443] /A << /S /GoTo /D (section.5.3) >> >> endobj 1593 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 688.126 318.615 696.691] /A << /S /GoTo /D (subsection.5.3.1) >> >> endobj 1594 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 670.375 317.097 679.146] /A << /S /GoTo /D (subsubsection.5.3.1.1) >> >> endobj 1595 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 652.623 316.111 661.394] /A << /S /GoTo /D (subsubsection.5.3.1.2) >> >> endobj 1596 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 633.168 315.035 643.642] /A << /S /GoTo /D (subsubsection.5.3.1.3) >> >> endobj 1597 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 615.416 330.286 625.891] /A << /S /GoTo /D (subsubsection.5.3.1.4) >> >> endobj 1598 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 599.368 309.67 607.933] /A << /S /GoTo /D (section.5.4) >> >> endobj 1599 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 581.617 318.615 590.181] /A << /S /GoTo /D (subsection.5.4.1) >> >> endobj 1600 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 562.161 317.034 572.636] /A << /S /GoTo /D (subsubsection.5.4.1.1) >> >> endobj 1601 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 544.41 298.178 554.884] /A << /S /GoTo /D (subsubsection.5.4.1.2) >> >> endobj 1602 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 526.658 302.661 537.133] /A << /S /GoTo /D (subsubsection.5.4.1.3) >> >> endobj 1603 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 510.61 295.184 519.381] /A << /S /GoTo /D (subsubsection.5.4.1.4) >> >> endobj 1604 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 492.859 311.67 501.423] /A << /S /GoTo /D (section.5.5) >> >> endobj 1605 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 475.107 318.615 483.672] /A << /S /GoTo /D (subsection.5.5.1) >> >> endobj 1606 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 457.355 299.945 465.92] /A << /S /GoTo /D (subsubsection.5.5.1.1) >> >> endobj 1607 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 437.9 318.801 448.168] /A << /S /GoTo /D (subsubsection.5.5.1.2) >> >> endobj 1608 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 421.852 288.725 430.417] /A << /S /GoTo /D (section.5.6) >> >> endobj 1609 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 404.1 318.615 412.665] /A << /S /GoTo /D (subsection.5.6.1) >> >> endobj 1610 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 384.645 312.542 394.914] /A << /S /GoTo /D (subsubsection.5.6.1.1) >> >> endobj 1611 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 368.597 293.686 377.162] /A << /S /GoTo /D (subsubsection.5.6.1.2) >> >> endobj 1612 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 350.846 296.528 359.41] /A << /S /GoTo /D (subsubsection.5.6.1.3) >> >> endobj 1613 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 333.094 306.398 341.659] /A << /S /GoTo /D (section.5.7) >> >> endobj 1614 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 315.342 318.615 323.907] /A << /S /GoTo /D (subsection.5.7.1) >> >> endobj 1615 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 297.591 290.566 306.156] /A << /S /GoTo /D (subsubsection.5.7.1.1) >> >> endobj 1616 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 278.136 309.422 288.404] /A << /S /GoTo /D (subsubsection.5.7.1.2) >> >> endobj 1617 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 262.088 287.571 270.652] /A << /S /GoTo /D (subsubsection.5.7.1.3) >> >> endobj 1618 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 244.336 290.064 252.901] /A << /S /GoTo /D (subsubsection.5.7.1.4) >> >> endobj 1619 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 226.584 281.472 235.355] /A << /S /GoTo /D (section.5.8) >> >> endobj 1620 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 208.833 318.615 217.397] /A << /S /GoTo /D (subsection.5.8.1) >> >> endobj 1621 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 190.189 370.41 199.852] /A << /S /GoTo /D (subsubsection.5.8.1.1) >> >> endobj 1622 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 172.437 378.874 182.1] /A << /S /GoTo /D (subsubsection.5.8.1.2) >> >> endobj 1623 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 154.686 365.918 164.349] /A << /S /GoTo /D (subsubsection.5.8.1.3) >> >> endobj 1624 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 136.934 377.879 146.597] /A << /S /GoTo /D (subsubsection.5.8.1.4) >> >> endobj 1625 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 120.075 316.446 128.639] /A << /S /GoTo /D (subsection.5.8.2) >> >> endobj 1627 0 obj << /Font << /F46 1592 0 R /F20 1558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1666 0 obj << /Length 986 /Filter /FlateDecode >> stream xÚÝ™Ywâ6Çßůz´Pµ/óć$“ q&gN:‡CÁPź‚=ĄN[ľýxĽŃĆ3]lž$Yč§{őżWk€Ŕ wĺô~¸e(¨… ŔY­ˇŇHŞ @8Kđl\OĆŽ=vĚ>%!Ăó<ółó®g;˝_{8ę|úAE0Xl{ĎźXFż˝R­ŔIË- ŚB‰ăď6ŕˇ÷ˇ‡˛Á¤ýěÖY‡Ólx冇…†‚2 ‘„«t|*H 6űie śÁějd]“1:Ď}˘Í>ç<-Äß?‰¦|[׊0°lĽĺIĘ>–Pr’§%ÚG» «™ě4,ÎĂŇ<ětň4.Ór®/Ŕ¦,‡ycM‡uvBw’Ť—ŘSűS™Ť|¶cî)Jl÷wăáŮőŘ1»É[d3»˛ô 0Ş9¶ś2'FŤé¦¸čáĐŢUźřÖ.fŚĚhá‘„yt7xëÔÍTGĽăOťŠÓś˙ÝXĽ™±H ®NFewŕŠ–Ł'¸÷ÖăG»+2ÚІě„9™ZăA•S“Nň`ťRŤ; ˘ }Wä§÷#ű{¨[l[yâśÚ7•ĚłK0mYŻF“ÉM{łň†n«Ol¶U»™Â´ËÖ#ąôƱ­QMĘŞ.G†H.ůyz{çTU¶úČC4łm.údŹF“§ołn+űśA©y™3Ţ’`!Ś÷î6Ř™}ŠŚ˝Ů'RŰą?_»[×+b$QŰŚűú§d’äąI"Ń ł˛çëä\“RbÜľř‹Đ ütŠn‚ĹKËŤk˝!ú ÉžVql˛ĆIχć »cLĚţőĐôGÄQ´Š śľHr…ý!–ÄáôĎý:Ę%PdÔňT}îś endstream endobj 1665 0 obj << /Type /Page /Contents 1666 0 R /Resources 1664 0 R /MediaBox [0 0 595.276 841.89] /Parent 1559 0 R /Annots [ 1626 0 R 1630 0 R 1631 0 R 1632 0 R 1633 0 R 1634 0 R 1635 0 R 1636 0 R 1637 0 R 1638 0 R 1639 0 R 1640 0 R 1641 0 R 1642 0 R 1643 0 R 1644 0 R 1645 0 R 1646 0 R 1647 0 R 1648 0 R 1649 0 R 1650 0 R 1651 0 R 1652 0 R 1653 0 R 1654 0 R 1655 0 R 1656 0 R 1657 0 R 1658 0 R 1659 0 R 1660 0 R 1661 0 R 1662 0 R ] >> endobj 1626 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 704.986 265.292 714.649] /A << /S /GoTo /D (subsubsection.5.8.2.1) >> >> endobj 1630 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 687.234 259.312 696.897] /A << /S /GoTo /D (subsubsection.5.8.2.2) >> >> endobj 1631 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 669.482 270.26 679.146] /A << /S /GoTo /D (subsubsection.5.8.2.3) >> >> endobj 1632 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 651.731 284.22 661.394] /A << /S /GoTo /D (subsubsection.5.8.2.4) >> >> endobj 1633 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 633.979 286.211 643.642] /A << /S /GoTo /D (subsubsection.5.8.2.5) >> >> endobj 1634 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 616.228 281.728 625.891] /A << /S /GoTo /D (subsubsection.5.8.2.6) >> >> endobj 1635 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 598.476 267.776 608.139] /A << /S /GoTo /D (subsubsection.5.8.2.7) >> >> endobj 1636 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 580.724 273.255 590.388] /A << /S /GoTo /D (subsubsection.5.8.2.8) >> >> endobj 1637 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 562.973 256.326 572.636] /A << /S /GoTo /D (subsubsection.5.8.2.9) >> >> endobj 1638 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 545.221 296.665 554.884] /A << /S /GoTo /D (subsubsection.5.8.2.10) >> >> endobj 1639 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 527.47 287.708 537.133] /A << /S /GoTo /D (subsubsection.5.8.2.11) >> >> endobj 1640 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 509.718 283.225 519.381] /A << /S /GoTo /D (subsubsection.5.8.2.12) >> >> endobj 1641 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 491.966 267.776 501.63] /A << /S /GoTo /D (subsubsection.5.8.2.13) >> >> endobj 1642 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 474.215 274.752 483.878] /A << /S /GoTo /D (subsubsection.5.8.2.14) >> >> endobj 1643 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 456.463 256.819 466.126] /A << /S /GoTo /D (subsubsection.5.8.2.15) >> >> endobj 1644 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 438.712 271.766 448.375] /A << /S /GoTo /D (subsubsection.5.8.2.16) >> >> endobj 1645 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 420.96 254.82 430.623] /A << /S /GoTo /D (subsubsection.5.8.2.17) >> >> endobj 1646 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 403.208 286.211 412.871] /A << /S /GoTo /D (subsubsection.5.8.2.18) >> >> endobj 1647 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 385.457 277.253 395.12] /A << /S /GoTo /D (subsubsection.5.8.2.19) >> >> endobj 1648 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 367.705 258.317 377.368] /A << /S /GoTo /D (subsubsection.5.8.2.20) >> >> endobj 1649 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 349.953 264.781 359.617] /A << /S /GoTo /D (subsubsection.5.8.2.21) >> >> endobj 1650 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 332.202 273.263 341.865] /A << /S /GoTo /D (subsubsection.5.8.2.22) >> >> endobj 1651 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 313.531 226.215 323.907] /A << /S /GoTo /D (section.5.9) >> >> endobj 1652 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 297.591 267.806 306.156] /A << /S /GoTo /D (subsection.5.9.1) >> >> endobj 1653 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 278.028 269.928 288.61] /A << /S /GoTo /D (subsubsection.5.9.1.1) >> >> endobj 1654 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 260.276 280.383 270.652] /A << /S /GoTo /D (subsubsection.5.9.1.2) >> >> endobj 1655 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 242.525 303.569 252.901] /A << /S /GoTo /D (subsubsection.5.9.1.3) >> >> endobj 1656 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 226.584 338.131 235.355] /A << /S /GoTo /D (section.5.10) >> >> endobj 1657 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 208.833 267.806 217.397] /A << /S /GoTo /D (subsection.5.10.1) >> >> endobj 1658 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 189.27 271.273 199.852] /A << /S /GoTo /D (subsubsection.5.10.1.1) >> >> endobj 1659 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 173.329 284.22 182.1] /A << /S /GoTo /D (subsubsection.5.10.1.2) >> >> endobj 1660 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 153.874 283.153 164.349] /A << /S /GoTo /D (subsubsection.5.10.1.3) >> >> endobj 1661 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 136.123 290.084 146.597] /A << /S /GoTo /D (subsubsection.5.10.1.4) >> >> endobj 1662 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 120.075 268.063 128.846] /A << /S /GoTo /D (subsubsection.5.10.1.5) >> >> endobj 1664 0 obj << /Font << /F46 1592 0 R /F20 1558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1703 0 obj << /Length 991 /Filter /FlateDecode >> stream xÚÝšM“›8†ďţ:˘Jë[Ęm2ń¸’JMf×Ô^fS)Çf&ěŽÁ±q˛óďW|ŮŚ+Ô&Ř“ ˘Ţ–čn čšM^“7B!C¬RJ $ŇÜ+tďE_±Ďx×ďoém0Ç‚·“i0ů2ˇn"@ôäBA ŁhąžÜ´r?ľE@¸5č[~ęqÁ‰¦Ů…Oh>ůmĄ5ĹDŰÇrĆßKűśŘÇ!8Ň  HSŘ' B‰ÂľĚ{Ü\­VÓŻI/ŚÓSŢó&Ěm®î…î}®ŚG°/Ą*Yëťü1˝ÓAĂ„ÇiiZßµ>ŐDKVăÔ§śď˘řďND JŤ…‘ÖÍ)ă<]¤a'¤Trś:ÚSĆ?°o±m+Hő±ëg#ł~ČÜNbTťą[YCGF[wbJ´ŻĂ]şM0wś×Iś.˘8li­¬ýedĽ§Žě@6Ťó=¨Łěý–÷T’źň»ĹÔyď˛ĺµÖ Źą!±8 ż‰Łô2łdlČj‹žčň€~‡%xÉ&µ÷fIljŰpnuÄÝď>źe•@˙ĘęęŃâë,p;Ćş‡Ęă4NŁôąxK=íŰ ±´żŹö“PŐńŞRr;ÓCÜní'¦>OŰéµb0+ł§¬¦z±rΖ¦¬Ş­ˇ^. +=ČşăVŐä’˛#Lf–?ýë«oUZ®ŁwKl‡UIĽ'.;â~O)Ý€.ZÉů­Ł–~ő†éş˘§–˘|ą°LÁ8ˇ*Ë#ô,Loëv$Ô I CĎ~ô§`ŰçŁő×EV"˙´ĎEţ—«HQ<˝Yč·{w­ĘLżĚ}lÁŰ—ŮţŐf[0Q¶mŮ…—Ěľdeď;_JĘ“ó™Łe5źq.x¨/”w­Ný$Ě‚™kʂ§l˘ç* Ďv˘ž±óU65ÖżüÉ endstream endobj 1702 0 obj << /Type /Page /Contents 1703 0 R /Resources 1701 0 R /MediaBox [0 0 595.276 841.89] /Parent 1559 0 R /Annots [ 1663 0 R 1667 0 R 1668 0 R 1669 0 R 1670 0 R 1671 0 R 1672 0 R 1673 0 R 1674 0 R 1675 0 R 1676 0 R 1677 0 R 1678 0 R 1679 0 R 1680 0 R 1681 0 R 1682 0 R 1683 0 R 1684 0 R 1685 0 R 1686 0 R 1687 0 R 1688 0 R 1689 0 R 1690 0 R 1691 0 R 1692 0 R 1693 0 R 1694 0 R 1695 0 R 1696 0 R 1697 0 R 1698 0 R 1699 0 R ] >> endobj 1663 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 704.174 337.729 714.649] /A << /S /GoTo /D (subsubsection.5.10.1.6) >> >> endobj 1667 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 686.423 331.47 696.897] /A << /S /GoTo /D (subsubsection.5.10.1.7) >> >> endobj 1668 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 668.671 335.962 679.146] /A << /S /GoTo /D (subsubsection.5.10.1.8) >> >> endobj 1669 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 652.623 309.494 661.394] /A << /S /GoTo /D (subsubsection.5.10.1.9) >> >> endobj 1670 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 633.168 328.35 643.642] /A << /S /GoTo /D (subsubsection.5.10.1.10) >> >> endobj 1671 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 615.416 349.707 625.891] /A << /S /GoTo /D (subsubsection.5.10.1.11) >> >> endobj 1672 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 599.368 312.614 608.139] /A << /S /GoTo /D (subsubsection.5.10.1.12) >> >> endobj 1673 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 581.617 317.922 590.388] /A << /S /GoTo /D (subsubsection.5.10.1.13) >> >> endobj 1674 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 563.865 313.932 572.636] /A << /S /GoTo /D (subsubsection.5.10.1.14) >> >> endobj 1675 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 544.41 316.658 554.884] /A << /S /GoTo /D (subsubsection.5.10.1.15) >> >> endobj 1676 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 528.362 321.589 537.133] /A << /S /GoTo /D (subsubsection.5.10.1.16) >> >> endobj 1677 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 508.907 334.528 519.381] /A << /S /GoTo /D (subsubsection.5.10.1.17) >> >> endobj 1678 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 492.859 314.613 501.63] /A << /S /GoTo /D (subsubsection.5.10.1.18) >> >> endobj 1679 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 475.107 307.001 483.878] /A << /S /GoTo /D (subsubsection.5.10.1.19) >> >> endobj 1680 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 457.355 338.383 466.126] /A << /S /GoTo /D (subsubsection.5.10.1.20) >> >> endobj 1681 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 439.604 315.958 448.375] /A << /S /GoTo /D (subsubsection.5.10.1.21) >> >> endobj 1682 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 421.852 309.494 430.623] /A << /S /GoTo /D (subsubsection.5.10.1.22) >> >> endobj 1683 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 402.397 352.887 412.871] /A << /S /GoTo /D (section.5.11) >> >> endobj 1684 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 386.349 318.615 394.914] /A << /S /GoTo /D (subsection.5.11.1) >> >> endobj 1685 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 366.786 321.733 377.162] /A << /S /GoTo /D (subsubsection.5.11.1.1) >> >> endobj 1686 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 349.142 334.043 359.617] /A << /S /GoTo /D (subsubsection.5.11.1.2) >> >> endobj 1687 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 331.39 334.052 341.865] /A << /S /GoTo /D (subsubsection.5.11.1.3) >> >> endobj 1688 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 313.639 332.976 324.113] /A << /S /GoTo /D (subsubsection.5.11.1.4) >> >> endobj 1689 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 295.887 339.907 306.156] /A << /S /GoTo /D (subsubsection.5.11.1.5) >> >> endobj 1690 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 278.136 317.886 288.404] /A << /S /GoTo /D (subsubsection.5.11.1.6) >> >> endobj 1691 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 260.384 336.742 270.652] /A << /S /GoTo /D (subsubsection.5.11.1.7) >> >> endobj 1692 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 242.632 330.484 252.901] /A << /S /GoTo /D (subsubsection.5.11.1.8) >> >> endobj 1693 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 224.881 334.976 235.355] /A << /S /GoTo /D (subsubsection.5.11.1.9) >> >> endobj 1694 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 207.129 308.507 217.397] /A << /S /GoTo /D (subsubsection.5.11.1.10) >> >> endobj 1695 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 189.378 327.364 199.646] /A << /S /GoTo /D (subsubsection.5.11.1.11) >> >> endobj 1696 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 171.626 348.721 182.1] /A << /S /GoTo /D (subsubsection.5.11.1.12) >> >> endobj 1697 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 153.874 311.628 164.143] /A << /S /GoTo /D (subsubsection.5.11.1.13) >> >> endobj 1698 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 136.123 316.936 146.391] /A << /S /GoTo /D (subsubsection.5.11.1.14) >> >> endobj 1699 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 118.371 317.599 128.846] /A << /S /GoTo /D (subsubsection.5.11.1.15) >> >> endobj 1701 0 obj << /Font << /F46 1592 0 R /F20 1558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1739 0 obj << /Length 1125 /Filter /FlateDecode >> stream xÚĺZ[s›F~ׯŕŘîťÝĽ%ľM3ť4Ť4}q3‚Ö*Ť Z9ńżďá&„‰H[Rícn«óťËw>ŽŔÎĚÁÎÍčŐdôË5—ŽBZJćLî­‘Ň BÎdęÜşżż™\˝™Ś=źQ(÷Á{?y=şšŚ>Ť,ŇÜĆ‘˘Ä‰ŁŰ÷ؙ¹×FL+çsqĺÂaśˇ€ä÷Íťń菮L)×ÉfŐ‚ď*ă(Ţ2ŽHŤ$ăN€„…*­żĚSŇ]†˙_“ŘNä =ÖĄźÓޗǤA§g€«ţĺh  endstream endobj 1738 0 obj << /Type /Page /Contents 1739 0 R /Resources 1737 0 R /MediaBox [0 0 595.276 841.89] /Parent 1740 0 R /Annots [ 1700 0 R 1704 0 R 1705 0 R 1706 0 R 1707 0 R 1708 0 R 1709 0 R 1710 0 R 1711 0 R 1712 0 R 1713 0 R 1714 0 R 1715 0 R 1716 0 R 1717 0 R 1718 0 R 1719 0 R 1720 0 R 1721 0 R 1722 0 R 1723 0 R 1724 0 R 1725 0 R 1726 0 R 1727 0 R 1728 0 R 1729 0 R 1730 0 R 1731 0 R 1732 0 R 1733 0 R 1734 0 R 1735 0 R ] >> endobj 1700 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 704.174 262.136 714.443] /A << /S /GoTo /D (subsubsection.5.11.1.16) >> >> endobj 1704 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 686.22 264.862 696.695] /A << /S /GoTo /D (subsubsection.5.11.1.17) >> >> endobj 1705 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 668.267 269.793 678.741] /A << /S /GoTo /D (subsubsection.5.11.1.18) >> >> endobj 1706 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 650.313 299.194 660.787] /A << /S /GoTo /D (subsubsection.5.11.1.19) >> >> endobj 1707 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 632.359 282.732 642.834] /A << /S /GoTo /D (subsubsection.5.11.1.20) >> >> endobj 1708 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 614.405 262.817 624.88] /A << /S /GoTo /D (subsubsection.5.11.1.21) >> >> endobj 1709 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 596.451 255.205 606.926] /A << /S /GoTo /D (subsubsection.5.11.1.22) >> >> endobj 1710 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 578.497 264.162 588.972] /A << /S /GoTo /D (subsubsection.5.11.1.23) >> >> endobj 1711 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 560.544 257.698 571.018] /A << /S /GoTo /D (subsubsection.5.11.1.24) >> >> endobj 1712 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 544.293 263.132 552.858] /A << /S /GoTo /D (subsubsection.5.11.1.25) >> >> endobj 1713 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 524.528 361.246 535.111] /A << /S /GoTo /D (section.5.12) >> >> endobj 1714 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 508.386 267.806 516.95] /A << /S /GoTo /D (subsection.5.12.1) >> >> endobj 1715 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 488.621 254.336 498.997] /A << /S /GoTo /D (subsubsection.5.12.1.1) >> >> endobj 1716 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 470.667 278.894 481.043] /A << /S /GoTo /D (subsubsection.5.12.1.2) >> >> endobj 1717 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 452.821 184.02 463.089] /A << /S /GoTo /D (section.5.13) >> >> endobj 1718 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 434.867 264.74 445.341] /A << /S /GoTo /D (subsection.5.13.1) >> >> endobj 1719 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 418.617 242.142 427.181] /A << /S /GoTo /D (subsubsection.5.13.1.1) >> >> endobj 1720 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 398.959 305.419 409.227] /A << /S /GoTo /D (subsection.5.13.2) >> >> endobj 1721 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 381.817 267.426 391.274] /A << /S /GoTo /D (subsubsection.5.13.2.1) >> >> endobj 1722 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [98.899 353.546 245.362 362.192] /A << /S /GoTo /D (chapter.6) >> >> endobj 1723 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 335.521 247.25 344.292] /A << /S /GoTo /D (section.6.1) >> >> endobj 1724 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 315.863 250.985 326.132] /A << /S /GoTo /D (subsection.6.1.1) >> >> endobj 1725 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 299.613 252.85 308.178] /A << /S /GoTo /D (subsection.6.1.2) >> >> endobj 1726 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 281.659 229.912 290.224] /A << /S /GoTo /D (subsubsection.6.1.2.1) >> >> endobj 1727 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 262.002 237.309 272.27] /A << /S /GoTo /D (subsubsection.6.1.2.2) >> >> endobj 1728 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 245.751 218.453 254.316] /A << /S /GoTo /D (subsubsection.6.1.2.3) >> >> endobj 1729 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 227.798 233.902 236.362] /A << /S /GoTo /D (subsubsection.6.1.2.4) >> >> endobj 1730 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 208.952 256.649 218.409] /A << /S /GoTo /D (subsubsection.6.1.2.5) >> >> endobj 1731 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 191.89 233.229 200.455] /A << /S /GoTo /D (subsubsection.6.1.2.6) >> >> endobj 1732 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 172.233 266.106 182.707] /A << /S /GoTo /D (section.6.2) >> >> endobj 1733 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 155.982 252.85 164.547] /A << /S /GoTo /D (subsection.6.2.1) >> >> endobj 1734 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 138.028 229.912 146.593] /A << /S /GoTo /D (subsubsection.6.2.1.1) >> >> endobj 1735 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 120.075 218.453 128.639] /A << /S /GoTo /D (subsubsection.6.2.1.2) >> >> endobj 1737 0 obj << /Font << /F46 1592 0 R /F20 1558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1777 0 obj << /Length 910 /Filter /FlateDecode >> stream xÚíšËRŰ0†÷y -íEÔŁ»Ě®-) :-žn€ÉÇÉxpâÔq yűĘ·Ôĉ)‰aĄČŤôéś_żš @Ţ·÷é”K¤±#%CîX@Ši,A!w„.­»Đî3 Ö×ďçîÉą{a_»g˝·÷»GLC€HíEŽ5%Čźö.ŻŤĚÍ39ÝçŹNă +’˝ˇ‹ŢŹ”˝)J&e‹?ËţQ¨őŹRŔś3¤@aşčźÄĚě>ᎶfŢ4ČűWµ‹.űś+ Ű}!DQČ—Őäk6öxÓšrKĐr,›lLŮ' +Aëx !Ťom V0Ű$!(퉾ŕX9ĽäA*Y@)­“Y¦«_¶Ë‹–ݧJ[©M¬ÄG/áěiFĽšlʵlvK-D«=OCa­ł ?iS+´>Ôä;ëHF˘Ň‘y’ُk’`¬s$ĘČš‡ŞÉČ4fľË Y=ó˙#c6Č>‹‡ŘI<ÖiŁŢłxĐ…µxÜd*QěgĹí0j~˛pFş(Ş&ţ21ÁźféŇŘÜtčAŹ·ůëM‹+š,Ňá8  ݍčętóŤáo™ncŻť.ŚűÁ´‹Ťqż`’ýľá¸Ű+ÝŰ(zżőLʱ?‚ÓćLOu˛HbŞ$ĎOî0žź(r$Á Ş`$^Z}Ż›5#/]Ű«:¨ńy^îwP^–@hń‹ŔuŽhYgsQmŽä-‡~Őž+ńü vĎK«GŻ@ŔŔ‚r!_U+ZîW3óŤm(ë/z/z~ endstream endobj 1776 0 obj << /Type /Page /Contents 1777 0 R /Resources 1775 0 R /MediaBox [0 0 595.276 841.89] /Parent 1740 0 R /Annots [ 1736 0 R 1741 0 R 1742 0 R 1743 0 R 1744 0 R 1745 0 R 1746 0 R 1747 0 R 1748 0 R 1749 0 R 1750 0 R 1751 0 R 1752 0 R 1753 0 R 1754 0 R 1755 0 R 1756 0 R 1757 0 R 1758 0 R 1759 0 R 1760 0 R 1761 0 R 1762 0 R 1763 0 R 1764 0 R 1765 0 R 1766 0 R 1767 0 R 1768 0 R 1769 0 R 1770 0 R 1771 0 R 1772 0 R 1773 0 R ] >> endobj 1736 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 705.878 284.711 714.443] /A << /S /GoTo /D (subsubsection.6.2.1.3) >> >> endobj 1741 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 688.126 284.039 696.691] /A << /S /GoTo /D (subsubsection.6.2.1.4) >> >> endobj 1742 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 668.671 303.914 679.146] /A << /S /GoTo /D (section.6.3) >> >> endobj 1743 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 650.919 301.795 661.188] /A << /S /GoTo /D (subsection.6.3.1) >> >> endobj 1744 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 634.871 303.66 643.436] /A << /S /GoTo /D (subsection.6.3.2) >> >> endobj 1745 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 617.12 280.721 625.685] /A << /S /GoTo /D (subsubsection.6.3.2.1) >> >> endobj 1746 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 597.557 292.601 607.933] /A << /S /GoTo /D (subsubsection.6.3.2.2) >> >> endobj 1747 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 581.617 269.262 590.181] /A << /S /GoTo /D (subsubsection.6.3.2.3) >> >> endobj 1748 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 563.865 284.711 572.43] /A << /S /GoTo /D (subsubsection.6.3.2.4) >> >> endobj 1749 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 546.113 284.039 554.678] /A << /S /GoTo /D (subsubsection.6.3.2.5) >> >> endobj 1750 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 526.658 300.749 537.133] /A << /S /GoTo /D (section.6.4) >> >> endobj 1751 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 508.907 301.795 519.175] /A << /S /GoTo /D (subsection.6.4.1) >> >> endobj 1752 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 492.859 303.66 501.423] /A << /S /GoTo /D (subsection.6.4.2) >> >> endobj 1753 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 475.107 280.721 483.672] /A << /S /GoTo /D (subsubsection.6.4.2.1) >> >> endobj 1754 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 455.652 298.089 465.92] /A << /S /GoTo /D (subsubsection.6.4.2.2) >> >> endobj 1755 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 439.604 269.262 448.168] /A << /S /GoTo /D (subsubsection.6.4.2.3) >> >> endobj 1756 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 421.852 284.711 430.417] /A << /S /GoTo /D (subsubsection.6.4.2.4) >> >> endobj 1757 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 404.1 284.039 412.665] /A << /S /GoTo /D (subsubsection.6.4.2.5) >> >> endobj 1758 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 384.538 296.069 395.12] /A << /S /GoTo /D (section.6.5) >> >> endobj 1759 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 366.894 301.795 377.162] /A << /S /GoTo /D (subsection.6.5.1) >> >> endobj 1760 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 350.846 303.66 359.41] /A << /S /GoTo /D (subsection.6.5.2) >> >> endobj 1761 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 332.202 309.126 341.659] /A << /S /GoTo /D (subsubsection.6.5.2.1) >> >> endobj 1762 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 313.531 275.243 323.907] /A << /S /GoTo /D (subsubsection.6.5.2.2) >> >> endobj 1763 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 295.78 287.595 306.362] /A << /S /GoTo /D (section.6.6) >> >> endobj 1764 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 279.839 303.66 288.404] /A << /S /GoTo /D (subsection.6.6.1) >> >> endobj 1765 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 262.088 278.964 270.652] /A << /S /GoTo /D (subsubsection.6.6.1.1) >> >> endobj 1766 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 242.632 279.457 252.901] /A << /S /GoTo /D (subsubsection.6.6.1.2) >> >> endobj 1767 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 224.773 309.285 235.355] /A << /S /GoTo /D (section.6.7) >> >> endobj 1768 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 208.833 303.66 217.397] /A << /S /GoTo /D (subsection.6.7.1) >> >> endobj 1769 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 190.189 299.801 199.646] /A << /S /GoTo /D (subsubsection.6.7.1.1) >> >> endobj 1770 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 172.437 315.098 181.894] /A << /S /GoTo /D (subsubsection.6.7.1.2) >> >> endobj 1771 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 154.686 297.165 164.349] /A << /S /GoTo /D (subsubsection.6.7.1.3) >> >> endobj 1772 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 136.934 301.639 146.597] /A << /S /GoTo /D (subsubsection.6.7.1.4) >> >> endobj 1773 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 119.182 297.981 128.846] /A << /S /GoTo /D (subsubsection.6.7.1.5) >> >> endobj 1775 0 obj << /Font << /F46 1592 0 R /F20 1558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1814 0 obj << /Length 928 /Filter /FlateDecode >> stream xÚĺZMsÓ0˝çWčh"´ú7 Đa`h}+LÇuÔŽ'.‰ôß#[v›ÖN‰K‡iÔ“â/EűĽűŢîZ] ‚'ݓɋw\"ŤŤ” %çȬŤ@Ši,‰BÉ ťDo>JŢ~JŽă)Eiô3ĎăoɇÉŰdňcn"‚ŕćAŽ5”Í''ßšąkÁĚhô«ąsŽgXAý\Ž'_&¤]ŚźgyŃNxÔ.Ź’Ťĺ4X2ŽQí×'±Â€e<nt4·óÓÂ.švSŁ“© ,ÂńTá9öHţŰă»N­)Ź„hW7NAa%č¦ĺ޵|qvšE™Ą•ťÝ5_}ĘËmOÇĘů•7:łµ3¤Ś>ć‹ďń”*WKwNDë¬ň'ŽěyĚHd—v‘ŮôÉá°űŃýQŠ đ»~˘18xŁŃ»Ü3ŃA™­çvQĄU^öF3ţ´±Ń”ݬ5 ŔĐQ‡Ëj™ÝµYix2oů‘‰ôBČAA[(Ş|Ţ  ‡Âm:ąv łA'I ”DW—ö!Ľ„˛Đ8äÚcĚ5‡Ř*Í ŰŃ]e¤ürI€pşĎTŇ]ÓNxdŞĆ‘©ášLÓ"OW=« ÝWQ;óhŤBÇŁYą¨nřŁ—sĐ€ěżĺ¬µfWĎĹţ[ďź·öçłG/;öÓ!DW’¤ýÄ‚ső<@7‰ćÖ `> endobj 1774 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 704.986 248.346 714.443] /A << /S /GoTo /D (subsubsection.6.7.1.6) >> >> endobj 1778 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 687.234 262.316 696.691] /A << /S /GoTo /D (subsubsection.6.7.1.7) >> >> endobj 1779 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 670.375 224.825 679.146] /A << /S /GoTo /D (section.6.8) >> >> endobj 1780 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 652.623 252.85 661.188] /A << /S /GoTo /D (subsection.6.8.1) >> >> endobj 1781 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 634.871 223.429 643.436] /A << /S /GoTo /D (subsubsection.6.8.1.1) >> >> endobj 1782 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 617.12 228.414 625.685] /A << /S /GoTo /D (subsubsection.6.8.1.2) >> >> endobj 1783 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 597.665 243.681 608.139] /A << /S /GoTo /D (section.6.9) >> >> endobj 1784 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 579.913 250.985 590.181] /A << /S /GoTo /D (subsection.6.9.1) >> >> endobj 1785 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 563.865 252.85 572.43] /A << /S /GoTo /D (subsection.6.9.2) >> >> endobj 1786 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 546.113 229.912 554.678] /A << /S /GoTo /D (subsubsection.6.9.2.1) >> >> endobj 1787 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 526.658 247.279 536.926] /A << /S /GoTo /D (subsubsection.6.9.2.2) >> >> endobj 1788 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 508.907 247.279 519.175] /A << /S /GoTo /D (subsubsection.6.9.2.3) >> >> endobj 1789 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 492.859 218.453 501.423] /A << /S /GoTo /D (subsubsection.6.9.2.4) >> >> endobj 1790 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 475.107 233.902 483.672] /A << /S /GoTo /D (subsubsection.6.9.2.5) >> >> endobj 1791 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 455.652 242.285 465.92] /A << /S /GoTo /D (subsubsection.6.9.2.6) >> >> endobj 1792 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 439.604 233.229 448.168] /A << /S /GoTo /D (subsubsection.6.9.2.7) >> >> endobj 1793 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 420.96 242.766 430.623] /A << /S /GoTo /D (section.6.10) >> >> endobj 1794 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 404.1 252.85 412.665] /A << /S /GoTo /D (subsection.6.10.1) >> >> endobj 1795 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 386.349 228.244 394.914] /A << /S /GoTo /D (subsubsection.6.10.1.1) >> >> endobj 1796 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 368.597 239.873 377.162] /A << /S /GoTo /D (subsubsection.6.10.1.2) >> >> endobj 1797 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 349.034 234.314 359.41] /A << /S /GoTo /D (subsubsection.6.10.1.3) >> >> endobj 1798 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 333.094 224.433 341.659] /A << /S /GoTo /D (subsubsection.6.10.1.4) >> >> endobj 1799 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 315.342 229.317 324.113] /A << /S /GoTo /D (section.6.11) >> >> endobj 1800 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 295.887 250.985 306.156] /A << /S /GoTo /D (subsection.6.11.1) >> >> endobj 1801 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 279.839 252.85 288.404] /A << /S /GoTo /D (subsection.6.11.2) >> >> endobj 1802 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 262.088 228.423 270.652] /A << /S /GoTo /D (subsubsection.6.11.2.1) >> >> endobj 1803 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 242.632 249.772 252.901] /A << /S /GoTo /D (subsubsection.6.11.2.2) >> >> endobj 1804 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 226.584 233.229 235.149] /A << /S /GoTo /D (subsubsection.6.11.2.3) >> >> endobj 1805 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 208.833 232.682 217.397] /A << /S /GoTo /D (subsubsection.6.11.2.4) >> >> endobj 1806 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 189.378 248.173 199.852] /A << /S /GoTo /D (section.6.12) >> >> endobj 1807 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 171.626 250.985 181.894] /A << /S /GoTo /D (subsection.6.12.1) >> >> endobj 1808 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 155.578 252.85 164.143] /A << /S /GoTo /D (subsection.6.12.2) >> >> endobj 1809 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 137.826 229.912 146.391] /A << /S /GoTo /D (subsubsection.6.12.2.1) >> >> endobj 1810 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 118.263 241.792 128.639] /A << /S /GoTo /D (subsubsection.6.12.2.2) >> >> endobj 1812 0 obj << /Font << /F46 1592 0 R /F20 1558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1850 0 obj << /Length 981 /Filter /FlateDecode >> stream xÚíšËrŰ6†÷z ,ÁŃ;]KšfZ«µénśŚ†ˇh•SYre:­ßľŕÍ’IJ¶’LBŃő"EŔ‡ó˙€hŽŤ'Áŕ§‘PČ«GÁ5˘‰47DFÁ ]áĎI’x>§Bünr Ď‚ ďcđ~0 ¨« Ýú© †QÝ ®>šą/ß# ÜôOţč â‚Mł.ĐĹŕ÷”í)*ZĎËĎË2Řj!c@„ŕH& MŃBE(#ŚpĎ·‚ád–·®Ş]ů8&ž/Ą, ő-ŻÔ÷©Ú0Ą-{VçäJźjbĄxD@–áM\G"„~%d!]ýĺ1Ŕń˛ŚőŽ„/ŃV4x¸˘(ŕ?< 8\{>•8 ?e\±ç3mđEšÝř>J‹çńµÇ·uĽŚQ$ąč}Wűˇ1F,­ń 3B=_k…GIĽPNWŃýMĽLĂ4Y5ĘTPdGŮĆ÷`ŕ”ÓŚB3˙ç×m ¬rşÉ‘ÖˇXˇúŢţ Sk;‰RiÓ‡ŰFŽ¤Î¦Ľ ĄÔ~öÄáâľ)†÷\j7˛!öHmŕQWf±ňšk9ë°Ľ*x‘ĽnâFTňz§a˛+…Ťď˘’Úm›ČR¬ű*»›´€`=ô» ´ű Gˇňá" ďť¶Ç*)ĆBe.˘Ő2Ýä‹ őµŰáţ÷~5(^®ćź‡Ŕź@čďj~'‰ÚťŻ,ŃÜeNf ă˛ ŁťTş?§ŐB~Żt0ĹśĐ(şóŤOöÜx+jĘ­ł,M©RxŚÉźĹ;7oŻŚGq«‰şă#ň¬Ďˇ‡l#čbőLąón˝ô9;iřm¶OgâVĎIx—D-äBg˙Öí[°lčô;XÄ uO.¨ń€-_’Ü\®:ĘŢ·âś@ šl˛LGżĽOĎ&gĂćjŕ‡ ŘA㚏l­WÁÉĺh§µéb‡řv‡x˝C“Ë`2šśźĎëťŇ†uh$D˝á—Ă鯿ýÜL/Ŕ:4ţŽ ĂË”ń¸jš9y>mpAű”6řcÚ§ó©Kž<śOÓ–ÍIuÖřx揙%]{pmöŰš5GĐyĐ?út>J{őnµX­= ¸n±ôţmFĹőńř+yçýöWúI»[OiP0„=ä”FuZD·vůY .ňS"V¨bo/ăuVDĂĽ < řľtooo×Ĺ&Ę(+>QxĂěV^]gküUůp^sUőŔk7µ·ľ ÓęŃ Á…ľ+hq#ßw¨D úćn ;ÖqźŇ endstream endobj 1849 0 obj << /Type /Page /Contents 1850 0 R /Resources 1848 0 R /MediaBox [0 0 595.276 841.89] /Parent 1740 0 R /Annots [ 1811 0 R 1815 0 R 1816 0 R 1817 0 R 1818 0 R 1819 0 R 1820 0 R 1821 0 R 1822 0 R 1823 0 R 1824 0 R 1825 0 R 1826 0 R 1827 0 R 1828 0 R 1829 0 R 1830 0 R 1831 0 R 1832 0 R 1833 0 R 1834 0 R 1835 0 R 1836 0 R 1837 0 R 1838 0 R 1839 0 R 1840 0 R 1841 0 R 1842 0 R 1843 0 R 1844 0 R 1845 0 R 1846 0 R ] >> endobj 1811 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 705.878 269.262 714.443] /A << /S /GoTo /D (subsubsection.6.12.2.3) >> >> endobj 1815 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 687.924 284.711 696.489] /A << /S /GoTo /D (subsubsection.6.12.2.4) >> >> endobj 1816 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 669.97 284.039 678.535] /A << /S /GoTo /D (subsubsection.6.12.2.5) >> >> endobj 1817 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 652.016 291.406 660.787] /A << /S /GoTo /D (section.6.13) >> >> endobj 1818 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 634.063 303.66 642.627] /A << /S /GoTo /D (subsection.6.13.1) >> >> endobj 1819 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 616.109 269.262 624.673] /A << /S /GoTo /D (subsubsection.6.13.1.1) >> >> endobj 1820 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 596.451 287.706 606.72] /A << /S /GoTo /D (subsubsection.6.13.1.2) >> >> endobj 1821 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 580.201 284.039 588.766] /A << /S /GoTo /D (subsubsection.6.13.1.3) >> >> endobj 1822 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 560.544 279.233 570.812] /A << /S /GoTo /D (subsubsection.6.13.1.4) >> >> endobj 1823 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 544.293 283.492 552.858] /A << /S /GoTo /D (subsubsection.6.13.1.5) >> >> endobj 1824 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 524.636 310.262 535.111] /A << /S /GoTo /D (section.6.14) >> >> endobj 1825 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 506.682 301.795 516.95] /A << /S /GoTo /D (subsection.6.14.1) >> >> endobj 1826 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 490.432 303.66 498.997] /A << /S /GoTo /D (subsection.6.14.2) >> >> endobj 1827 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 472.478 280.721 481.043] /A << /S /GoTo /D (subsubsection.6.14.2.1) >> >> endobj 1828 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 452.821 298.089 463.089] /A << /S /GoTo /D (subsubsection.6.14.2.2) >> >> endobj 1829 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 436.57 269.262 445.135] /A << /S /GoTo /D (subsubsection.6.14.2.3) >> >> endobj 1830 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 418.617 284.711 427.181] /A << /S /GoTo /D (subsubsection.6.14.2.4) >> >> endobj 1831 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 400.663 284.039 409.227] /A << /S /GoTo /D (subsubsection.6.14.2.5) >> >> endobj 1832 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [149.709 371.5 249.843 380.146] /A << /S /GoTo /D (chapter.7) >> >> endobj 1833 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 353.474 276.989 362.245] /A << /S /GoTo /D (section.7.1) >> >> endobj 1834 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 333.817 301.795 344.085] /A << /S /GoTo /D (subsection.7.1.1) >> >> endobj 1835 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 317.567 298.911 326.338] /A << /S /GoTo /D (section.7.2) >> >> endobj 1836 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 297.909 301.795 308.178] /A << /S /GoTo /D (subsection.7.2.1) >> >> endobj 1837 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 281.659 310.142 290.43] /A << /S /GoTo /D (subsection.7.2.2) >> >> endobj 1838 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 262.813 341.01 272.476] /A << /S /GoTo /D (subsubsection.7.2.2.1) >> >> endobj 1839 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 244.859 351.967 254.522] /A << /S /GoTo /D (subsubsection.7.2.2.2) >> >> endobj 1840 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 226.905 378.866 236.569] /A << /S /GoTo /D (subsubsection.7.2.2.3) >> >> endobj 1841 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 208.952 354.468 218.615] /A << /S /GoTo /D (subsubsection.7.2.2.4) >> >> endobj 1842 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 190.186 315.549 200.661] /A << /S /GoTo /D (subsection.7.2.3) >> >> endobj 1843 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 172.125 301.666 182.707] /A << /S /GoTo /D (subsubsection.7.2.3.1) >> >> endobj 1844 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 154.279 308.463 164.547] /A << /S /GoTo /D (subsubsection.7.2.3.2) >> >> endobj 1845 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 138.028 297.961 146.799] /A << /S /GoTo /D (section.7.3) >> >> endobj 1846 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 118.371 301.795 128.639] /A << /S /GoTo /D (subsection.7.3.1) >> >> endobj 1848 0 obj << /Font << /F46 1592 0 R /F20 1558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1887 0 obj << /Length 928 /Filter /FlateDecode >> stream xÚÝYËrÚ0ÝóZÚ «z?˛k´M“ÜUša¨”™©C¦ÍßWƆK<ŇiZ›•-?äsî=:ş–:­Ó¸őć‚   ‚‚x´†Js ©‚IÁMpv}·Żâ^Q‚ &żÂŰř}«·~´°íüüŠ`L[7· í˝÷AŞřą|r (ŁPâě˝;Đk}nˇKŢO:.:ěč*ˇĂTBÉ)HBÄUOB IaJIpnľ"Df&ŚTÁů~Ůşfyć;JŤqç~z\™Ău2sóJ)o¤=GśAi˝*˘ÎHc!˛Jăl>˝OÍĂCmwßsűşÜ?I];q[Ą›ÔĚGšň˙čYŢÖîh5fUä6v$&®^fâ–{ĹÄs5ôGdäRf5‘»:Ř˝3~ÄĎoZĺG¤n żŤüQ?ź‰ ˇ™@ć#8uÚÔr??G ś«f%bCłË[§IąŤÚtźmÖ7]ĘĎÉ[iÔ¬|i?·éţi®ľůÂ(Ś4#.§˝S[-8mÖ¦kfüą6˝ś<,^X“rĹkş†´˝^UŐ«k9óu˝z<úee+/•­Ůjéĺ»^ě.ńŇ,¬éG<Ż”˛wvpômşÓ0˛ŁáÉqhTç?V‰vo^)q—Ľ—­Ă ’ďsÁĆu#Çl× WJ×=Ťü@jýÜĺ#“üź0Ę?čŰĆĆHA‚ôK¶±W[é)Xi+] 8ËcÔ13“fŰůj"m­őXxüŰű4?!¬8"Lň3ŚN>!Ek’,˛ycŮó$Yő§PSş7X¬ýŠ8˛Žj8żđ-ëči5Ă,—=źĆ6Ź65łj¨~•g®P endstream endobj 1886 0 obj << /Type /Page /Contents 1887 0 R /Resources 1885 0 R /MediaBox [0 0 595.276 841.89] /Parent 1740 0 R /Annots [ 1847 0 R 1851 0 R 1852 0 R 1853 0 R 1854 0 R 1855 0 R 1856 0 R 1857 0 R 1858 0 R 1859 0 R 1860 0 R 1861 0 R 1862 0 R 1863 0 R 1864 0 R 1865 0 R 1866 0 R 1867 0 R 1868 0 R 1869 0 R 1870 0 R 1871 0 R 1872 0 R 1873 0 R 1874 0 R 1875 0 R 1876 0 R 1877 0 R 1878 0 R 1879 0 R 1880 0 R 1881 0 R 1882 0 R 1883 0 R ] >> endobj 1847 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 705.878 259.333 714.649] /A << /S /GoTo /D (subsection.7.3.2) >> >> endobj 1851 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 687.234 326.577 696.897] /A << /S /GoTo /D (subsubsection.7.3.2.1) >> >> endobj 1852 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 669.482 320.103 679.146] /A << /S /GoTo /D (subsubsection.7.3.2.2) >> >> endobj 1853 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 651.731 335.041 661.394] /A << /S /GoTo /D (subsubsection.7.3.2.3) >> >> endobj 1854 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 633.979 328.567 643.642] /A << /S /GoTo /D (subsubsection.7.3.2.4) >> >> endobj 1855 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 616.228 322.085 625.891] /A << /S /GoTo /D (subsubsection.7.3.2.5) >> >> endobj 1856 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 598.476 315.611 608.139] /A << /S /GoTo /D (subsubsection.7.3.2.6) >> >> endobj 1857 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 579.913 264.74 590.388] /A << /S /GoTo /D (subsection.7.3.3) >> >> endobj 1858 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 562.054 255.833 572.43] /A << /S /GoTo /D (subsubsection.7.3.3.1) >> >> endobj 1859 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 544.302 273.774 554.678] /A << /S /GoTo /D (subsubsection.7.3.3.2) >> >> endobj 1860 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 528.362 267.806 536.926] /A << /S /GoTo /D (subsection.7.3.4) >> >> endobj 1861 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 508.799 278.257 519.175] /A << /S /GoTo /D (subsubsection.7.3.4.1) >> >> endobj 1862 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 491.047 267.023 501.423] /A << /S /GoTo /D (subsubsection.7.3.4.2) >> >> endobj 1863 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 473.296 268.789 483.878] /A << /S /GoTo /D (subsubsection.7.3.4.3) >> >> endobj 1864 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 455.544 264.799 465.92] /A << /S /GoTo /D (subsubsection.7.3.4.4) >> >> endobj 1865 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 437.9 266.895 448.375] /A << /S /GoTo /D (section.7.4) >> >> endobj 1866 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 421.852 267.806 430.417] /A << /S /GoTo /D (subsection.7.4.1) >> >> endobj 1867 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 402.289 282.741 412.871] /A << /S /GoTo /D (subsubsection.7.4.1.1) >> >> endobj 1868 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 384.538 287.717 395.12] /A << /S /GoTo /D (subsubsection.7.4.1.2) >> >> endobj 1869 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 366.786 284.229 377.162] /A << /S /GoTo /D (subsubsection.7.4.1.3) >> >> endobj 1870 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 349.034 287.717 359.617] /A << /S /GoTo /D (subsubsection.7.4.1.4) >> >> endobj 1871 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 331.283 292.693 341.659] /A << /S /GoTo /D (subsubsection.7.4.1.5) >> >> endobj 1872 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 313.531 292.711 324.113] /A << /S /GoTo /D (subsubsection.7.4.1.6) >> >> endobj 1873 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 295.78 297.687 306.362] /A << /S /GoTo /D (subsubsection.7.4.1.7) >> >> endobj 1874 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 278.028 294.199 288.404] /A << /S /GoTo /D (subsubsection.7.4.1.8) >> >> endobj 1875 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 260.276 297.687 270.859] /A << /S /GoTo /D (subsubsection.7.4.1.9) >> >> endobj 1876 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 242.525 302.664 252.901] /A << /S /GoTo /D (subsubsection.7.4.1.10) >> >> endobj 1877 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 226.584 240.131 235.355] /A << /S /GoTo /D (section.7.5) >> >> endobj 1878 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 208.833 259.333 217.604] /A << /S /GoTo /D (subsection.7.5.1) >> >> endobj 1879 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 190.189 254.829 199.852] /A << /S /GoTo /D (subsubsection.7.5.1.1) >> >> endobj 1880 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 171.518 265.068 181.894] /A << /S /GoTo /D (subsubsection.7.5.1.2) >> >> endobj 1881 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 153.767 279.486 164.349] /A << /S /GoTo /D (subsubsection.7.5.1.3) >> >> endobj 1882 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 136.015 304.672 146.597] /A << /S /GoTo /D (subsubsection.7.5.1.4) >> >> endobj 1883 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 118.263 326.334 128.846] /A << /S /GoTo /D (subsubsection.7.5.1.5) >> >> endobj 1885 0 obj << /Font << /F46 1592 0 R /F20 1558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1924 0 obj << /Length 1043 /Filter /FlateDecode >> stream xÚĺZËŽŰ6Ýű+¸”fů~d×d ť ±ĐÍ$T™vŘňT–ŰLżľÔ3zŤa)lą+™¶Lńđś{ď!EÖűŮ[oöÓ@A-Ţ `Ž DHŞ @xKđä|s甩św˝ŰGoá~ńŢĎn˝Ů3lűA7ţÇ "„ŰŮÓ–öÇ÷AŞř+żu (ŁPâ쏰ý:Cĺ`ŠŽ’uŮă§rx5†G‚ŚQ ‘„«bxrˇpçiĺ¬Óµż‰ö©żr)rv‰o‚𫟬ő§K¸c’˝ÉTOsˇĄÝ9缸Ůj~©s$.ßĹkŻs,ˇä¤ L¶ňfcęŐAśnâS%ľ{ďŢ˙đ°đü‡ÇŻGĐăr6Śsj!©>‘Ĥ”8ž‹ r^žÍҬÜyU7»đ°5q¤Ń.î§ ˙«Aţ‡řË–"ôČ4Ľ6 wĺśö¸Ćô‡öĚ:hž–:¸;ÄaNxW.vú2P”]˙´ćß÷kËe_xZt¤6šÇ|ëŇlşX5ăÓÄÚâ•văz€UĄŃ%Ç2 öÓ ęń+ ťΖy瀄iE¬¸~{†rýíbŢ·ZRóI˘žsĄf]Î3ÜXĚŹýb¶»ÄšëW\Ś,Ĺ_łj%ť»hcŠşőÉö31qŘ›Ś9ťlźB Ć¬+ ‘×®¬vß,ÎͲ¬ÝfÚY˛Ňž‡,FŚ\¨@šĄśžâJÍ,=ĹĚŕĆ,´Ěěö{° xZÍ.29ĐÓ’CM˝üž>zw6VIAµ’‚ő°GňŃäBeđz® ăr…üźćŠyk:ęXQ-Ůřo}6tcĺrJ=aň2µÁĆiC]·6řÉîRŐuäŐĹđÎJc2‹a1j1¬őĂĹŤůŚ‰Í»ťĹ&é{l|îj!FV ÝűEZČű¦–Ö˝‹3±3P?Ž$ÁČeEż8)úkŃëëŽ~y˛‹ÔuôWŇ?ÁAjĆ&‰~ĐAęF6›]čGqd×™Ť0é‹ŕÂöFń]oh–ă^|s„'°• FÁ¦-ŘGřĄR\ř–ÂY üo®DNP&şŕw×.7= hŚ®€őj㬮čţăÇţ‹-uPEj˝10„#11 Wď`oă4J_ oŕÓSf˛z{[Ľ+ŹÓŁLŇ UŻĹ®.1ŻcŽeg‰ô˛łn {đ”FvńôSŐQ‰,?‹AY~DD 8+ćóŢŘŘ·E˝ô´Ő‚Îs5rĄżűů9)>V^&Ĺ'ŚŢý†”­UVvĺÍyĎQXő§“ˇiü¤Ő­źGvĹa/¸ř"Ż2/•»Ě–ß^Ö–d»Ä»“őýb6c endstream endobj 1923 0 obj << /Type /Page /Contents 1924 0 R /Resources 1922 0 R /MediaBox [0 0 595.276 841.89] /Parent 1740 0 R /Annots [ 1884 0 R 1888 0 R 1889 0 R 1890 0 R 1891 0 R 1892 0 R 1893 0 R 1894 0 R 1895 0 R 1896 0 R 1897 0 R 1898 0 R 1899 0 R 1900 0 R 1901 0 R 1902 0 R 1903 0 R 1904 0 R 1905 0 R 1906 0 R 1907 0 R 1908 0 R 1909 0 R 1910 0 R 1911 0 R 1912 0 R 1913 0 R 1914 0 R 1915 0 R 1916 0 R 1917 0 R 1918 0 R 1919 0 R 1920 0 R ] >> endobj 1884 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 704.067 364.681 714.649] /A << /S /GoTo /D (subsubsection.7.5.1.6) >> >> endobj 1888 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 686.315 351.958 696.897] /A << /S /GoTo /D (subsubsection.7.5.1.7) >> >> endobj 1889 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 669.482 327.561 679.146] /A << /S /GoTo /D (subsubsection.7.5.1.8) >> >> endobj 1890 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 650.919 315.549 661.394] /A << /S /GoTo /D (subsection.7.5.2) >> >> endobj 1891 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 633.06 298.169 643.436] /A << /S /GoTo /D (subsubsection.7.5.2.1) >> >> endobj 1892 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 617.12 318.615 625.685] /A << /S /GoTo /D (subsection.7.5.3) >> >> endobj 1893 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 597.557 320.603 607.933] /A << /S /GoTo /D (subsubsection.7.5.3.1) >> >> endobj 1894 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 579.805 317.608 590.181] /A << /S /GoTo /D (subsubsection.7.5.3.2) >> >> endobj 1895 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 562.054 310.632 572.43] /A << /S /GoTo /D (subsubsection.7.5.3.3) >> >> endobj 1896 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 544.302 327.076 554.678] /A << /S /GoTo /D (subsubsection.7.5.3.4) >> >> endobj 1897 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 526.551 307.638 536.926] /A << /S /GoTo /D (subsubsection.7.5.3.5) >> >> endobj 1898 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 508.799 311.484 519.175] /A << /S /GoTo /D (subsubsection.7.5.3.6) >> >> endobj 1899 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 491.155 308.738 501.63] /A << /S /GoTo /D (section.7.6) >> >> endobj 1900 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 473.403 301.795 483.672] /A << /S /GoTo /D (subsection.7.6.1) >> >> endobj 1901 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 455.652 315.549 466.126] /A << /S /GoTo /D (subsection.7.6.2) >> >> endobj 1902 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 437.792 319.859 448.168] /A << /S /GoTo /D (subsubsection.7.6.2.1) >> >> endobj 1903 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 421.852 293.576 430.623] /A << /S /GoTo /D (section.7.7) >> >> endobj 1904 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 402.397 301.795 412.665] /A << /S /GoTo /D (subsection.7.7.1) >> >> endobj 1905 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 385.457 321.829 395.12] /A << /S /GoTo /D (section.7.8) >> >> endobj 1906 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 366.894 301.795 377.162] /A << /S /GoTo /D (subsection.7.8.1) >> >> endobj 1907 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 350.846 318.615 359.41] /A << /S /GoTo /D (subsection.7.8.2) >> >> endobj 1908 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 333.094 345 341.865] /A << /S /GoTo /D (subsubsection.7.8.2.1) >> >> endobj 1909 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 314.45 327.809 324.113] /A << /S /GoTo /D (section.7.9) >> >> endobj 1910 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 295.887 301.795 306.156] /A << /S /GoTo /D (subsection.7.9.1) >> >> endobj 1911 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 279.839 310.142 288.61] /A << /S /GoTo /D (subsection.7.9.2) >> >> endobj 1912 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 261.195 324.207 270.652] /A << /S /GoTo /D (subsubsection.7.9.2.1) >> >> endobj 1913 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 243.444 306.642 253.107] /A << /S /GoTo /D (subsubsection.7.9.2.2) >> >> endobj 1914 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 225.692 307.763 235.149] /A << /S /GoTo /D (subsubsection.7.9.2.3) >> >> endobj 1915 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 207.941 317.922 217.397] /A << /S /GoTo /D (subsubsection.7.9.2.4) >> >> endobj 1916 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 190.189 320.092 199.852] /A << /S /GoTo /D (subsubsection.7.9.2.5) >> >> endobj 1917 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 171.626 338.948 182.1] /A << /S /GoTo /D (subsubsection.7.9.2.6) >> >> endobj 1918 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 153.874 325.947 164.143] /A << /S /GoTo /D (subsubsection.7.9.2.7) >> >> endobj 1919 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 136.123 322.782 146.391] /A << /S /GoTo /D (subsubsection.7.9.2.8) >> >> endobj 1920 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 119.182 304.777 128.846] /A << /S /GoTo /D (subsubsection.7.9.2.9) >> >> endobj 1922 0 obj << /Font << /F46 1592 0 R /F20 1558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1961 0 obj << /Length 962 /Filter /FlateDecode >> stream xÚÝšMsÓ0†ďů:Ú‡]}‹[)ĄĂLËdBęCę”ŕý÷ȱLŰ 0ŕř$;Q=űîľłJ äŠ9<ŠžE µJq]k©±’hn¨M˘ rľ<‰ŽN˘Q8ä ‚ďIř.z68ŠźčÖ‚÷źÔ0$ÓëÁŮ; î˝g(·†|[ÎĽ&\pŞ1˙ÜŚŚŻŕ÷R¬ł¸ň žúÝ1¨ě•ĄŠ ˘AS¦Řž¦–2Š­`A’&Ůřpžf“$ŤËŤ–ß@ÎÜ Đp(Ą䆻-¦üî]őEĂD ­ßh=n˘¦Z˛VlcŤBdÜÝÄuh‰°/¸‚É*Gi–dwoB ÁdvŰ`d–÷AX^%ţ2Äi¶VXŐÍl6°´¨@?OŇO˙do˙{5»e{”M˛®q‡Ó\Őá׊nďÚş\¸Ř"˘ ’ÉűĐĎšÜĺş©7ůţZýÚ˝&·ůбŤOž>Żs"(µźJŻ$:ó}Ř‹·ăW§/ŹFŁ:)ç{ťËĚw_KŰjWp{G]Y…zc"KŐÇbľk5«Vl­űă×Ll ß¨ľŐ˘ëÄCŽÔlfą“9gÁOŔ‹ř22m‚ÇóéíµkĹ'Y2O~&đ˙#·ŢĆ7Äa% ů9u‡ÂšŕçŮrś5\ÚöÁăV°Yű>Óüj›r瞧óeŞç¨µcu“S(čŹŔ˘¤n­›ŕy—ÁŮNrKžwˇ-µlŕźÚŇż ĂŠţކmj»GčÚŁĎłËńt>›·XşŢ Kß-ńŤÇ.šő¦ŇČzžň¶€ 9Ź€ĐŮËÚ»÷x†˝Sľü—ŕ=|#ŇěýP Ş­¬Ç Ďĺ’ú8:~ ‚ŹqčB@?-ý“dW§®ËçÄ‹8ťĆ-©a»ÖÖ·ŢmŽcÔ˘¨— BŢęk­‚DZëxgń…?îÄ_¦>anÚN<‚u&9Öś|\4B řÖ%ăbÁŠXôëřÇw;ţĺa Ţ9n\ɬk ďôĎÓ|;ł¸ŻlĹřŃäK2ÝŃ.$ŠNßĘîłűk ®&äÖÍ„ +qŔŇx G°Bě}±ß¶Ç8 e`wyŚŁ|”DQ¦•¨> endobj 1921 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 704.986 266.79 714.649] /A << /S /GoTo /D (subsubsection.7.9.2.10) >> >> endobj 1925 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 686.423 285.646 696.897] /A << /S /GoTo /D (subsubsection.7.9.2.11) >> >> endobj 1926 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 668.671 272.645 678.939] /A << /S /GoTo /D (subsubsection.7.9.2.12) >> >> endobj 1927 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 650.919 269.48 661.188] /A << /S /GoTo /D (subsubsection.7.9.2.13) >> >> endobj 1928 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 633.168 263.221 643.436] /A << /S /GoTo /D (subsubsection.7.9.2.14) >> >> endobj 1929 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 616.228 248.857 625.891] /A << /S /GoTo /D (subsubsection.7.9.2.15) >> >> endobj 1930 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 597.665 267.713 608.139] /A << /S /GoTo /D (subsubsection.7.9.2.16) >> >> endobj 1931 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 580.724 260.137 590.181] /A << /S /GoTo /D (subsubsection.7.9.2.17) >> >> endobj 1932 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 562.161 278.993 572.43] /A << /S /GoTo /D (subsubsection.7.9.2.18) >> >> endobj 1933 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 544.41 265.714 554.678] /A << /S /GoTo /D (subsubsection.7.9.2.19) >> >> endobj 1934 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 527.47 279.737 537.133] /A << /S /GoTo /D (subsubsection.7.9.2.20) >> >> endobj 1935 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 509.718 251.35 519.381] /A << /S /GoTo /D (subsubsection.7.9.2.21) >> >> endobj 1936 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 491.155 270.206 501.63] /A << /S /GoTo /D (subsubsection.7.9.2.22) >> >> endobj 1937 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 474.215 262.629 483.672] /A << /S /GoTo /D (subsubsection.7.9.2.23) >> >> endobj 1938 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 455.652 281.485 465.92] /A << /S /GoTo /D (subsubsection.7.9.2.24) >> >> endobj 1939 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 437.9 264.74 448.375] /A << /S /GoTo /D (subsection.7.9.3) >> >> endobj 1940 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 420.96 257.823 430.623] /A << /S /GoTo /D (subsubsection.7.9.3.1) >> >> endobj 1941 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 402.397 276.679 412.871] /A << /S /GoTo /D (subsubsection.7.9.3.2) >> >> endobj 1942 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 384.645 263.678 394.914] /A << /S /GoTo /D (subsubsection.7.9.3.3) >> >> endobj 1943 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 366.894 260.513 377.162] /A << /S /GoTo /D (subsubsection.7.9.3.4) >> >> endobj 1944 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 349.953 235.399 359.41] /A << /S /GoTo /D (subsubsection.7.9.3.5) >> >> endobj 1945 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 331.39 254.255 341.659] /A << /S /GoTo /D (subsubsection.7.9.3.6) >> >> endobj 1946 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 314.45 253.34 324.113] /A << /S /GoTo /D (subsubsection.7.9.3.7) >> >> endobj 1947 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 296.699 239.891 306.362] /A << /S /GoTo /D (subsubsection.7.9.3.8) >> >> endobj 1948 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 278.136 258.747 288.61] /A << /S /GoTo /D (subsubsection.7.9.3.9) >> >> endobj 1949 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 261.195 251.17 270.652] /A << /S /GoTo /D (subsubsection.7.9.3.10) >> >> endobj 1950 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 242.632 270.027 252.901] /A << /S /GoTo /D (subsubsection.7.9.3.11) >> >> endobj 1951 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 224.881 243.628 235.355] /A << /S /GoTo /D (section.7.10) >> >> endobj 1952 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 207.129 250.985 217.397] /A << /S /GoTo /D (subsection.7.10.1) >> >> endobj 1953 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 189.378 264.74 199.852] /A << /S /GoTo /D (subsection.7.10.2) >> >> endobj 1954 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [168.638 171.626 260.316 181.894] /A << /S /GoTo /D (subsubsection.7.10.2.1) >> >> endobj 1955 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 153.874 270.67 164.349] /A << /S /GoTo /D (section.7.11) >> >> endobj 1956 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 136.123 250.985 146.391] /A << /S /GoTo /D (subsection.7.11.1) >> >> endobj 1957 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.757 120.075 259.333 128.846] /A << /S /GoTo /D (subsection.7.11.2) >> >> endobj 1959 0 obj << /Font << /F46 1592 0 R /F20 1558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1991 0 obj << /Length 960 /Filter /FlateDecode >> stream xÚÝYËrÚ0ÝóZÚ «W/KÎ.M“tš¦ÁÓM’a¨„–WÁ´áď+ż°Á&Ű™ŚÉJ6ÝsÎŐ•Ť NëŁßúpĹ]¤°çş ůCD` I¦° ůô`˝ŚÇ¶Ă¤Ôşřrë·oý®ýäß´Ú~ëW‹‘‘Â?9V” `Úzx40/o`ć)ô'ţtŠgX’čŹÔm}mA:ťd ĺ(ń>ť …Â)Ě9C$ˇ’ JL¦ŘŽÇ©uőŮďÝťß´ă9fcه1×¶#DÚŁ{µ˙đoC+Ę-%Ňiď/…i"±Kůfšcţví—0»„źf÷fĂ:¬T \€3ۑҵÚ3›€µžęeÔöĂń|f;T*Ë· kłĐI÷r¬§6±ô,L>Ú[&ňmŕ¦=EŮ+¨‹ ‹ŃfĂGᨷč˙Đ=m3°~‡=4Ź{„âM/TE6Łôä#Ő“Ah˘YFÉ”: öÉö^­gANŮŁ A S+8ĘxcT[¤±¬KcžŃ8Šnű·ME¤ËK=< îlntś¨yZ23FŢ>şá9‚céń… }]3ýŽßą×‹I?RčĆŕ ?'ľOb[’Ö˝FŻőRĎ‚ł•Ť teďőĺˇ{„—Âgéü—:ě›…¤ä׫`i;DXăE•A0|if;J P±ôä°ŁÄ/Š 3ń'©+/6÷°Ľ{!M޶i yĚŮÖşa?°MtÖ4˙°7¨ŁĽ!gË˝!Ęů3]JŚeÖ{ś7ŮT˝ähV Ó‡!IŻëź_|*[ˇPŤ”:Ţü"ś…mŢ*SCτ٤8eîŰ›‚»Cě¨bŮ kďúöÚßI3ÍEçbnšÎ¶YË%Gč—qň®ôK‹5Ú–×%ÔBĽŤż9Ńiµ®Ăň đS†~Pě=•vŞŢîŽížP\}şK†ÎIĂ Ý«“żX5ĎóĹ˙T­ †Ë*á®WĎĄ™+N č.yĄ•ăęwZq=T•đmU˛ÍÝ+ŰTâűĄ‰ĘK“¸ Ž=ŚkfuâŐ<ąŕYuňľv8^=Źçy…&î-u¸6ŰvSËĎĘ™^IŃhť$­ĽË" 0ŻÎ]VvĄćb*]ßX1_Ąy.‘Ň©ŁgzŮłÓŻüÄÇkťŠí|±L(O[ÎŁ'gÔ;ŁioYÔ<ý8ydă™zbi"Tx׳OA€˝iHňĂ÷h MFéHé/›‘m N#öýĹú UÄĎ endstream endobj 1990 0 obj << /Type /Page /Contents 1991 0 R /Resources 1989 0 R /MediaBox [0 0 595.276 841.89] /Parent 1962 0 R /Annots [ 1958 0 R 1963 0 R 1964 0 R 1965 0 R 1966 0 R 1967 0 R 1968 0 R 1969 0 R 1970 0 R 1971 0 R 1972 0 R 1973 0 R 1974 0 R 1975 0 R 1976 0 R 1977 0 R 1978 0 R 1979 0 R 1980 0 R 1981 0 R 1982 0 R 1983 0 R 1984 0 R 1985 0 R 1986 0 R 1987 0 R 1988 0 R ] >> endobj 1958 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 704.986 308.122 714.443] /A << /S /GoTo /D (subsubsection.7.11.2.1) >> >> endobj 1963 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 687.361 305.629 696.818] /A << /S /GoTo /D (subsubsection.7.11.2.2) >> >> endobj 1964 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 668.926 356.229 679.194] /A << /S /GoTo /D (subsection.7.11.3) >> >> endobj 1965 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 651.194 335.792 661.776] /A << /S /GoTo /D (subsubsection.7.11.3.1) >> >> endobj 1966 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 633.569 345.027 644.151] /A << /S /GoTo /D (subsubsection.7.11.3.2) >> >> endobj 1967 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 617.756 318.615 626.321] /A << /S /GoTo /D (subsection.7.11.4) >> >> endobj 1968 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 598.428 357.795 608.903] /A << /S /GoTo /D (subsubsection.7.11.4.1) >> >> endobj 1969 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 580.804 303.726 591.278] /A << /S /GoTo /D (section.7.12) >> >> endobj 1970 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 563.179 301.795 573.448] /A << /S /GoTo /D (subsection.7.12.1) >> >> endobj 1971 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 545.555 356.229 555.823] /A << /S /GoTo /D (subsection.7.12.2) >> >> endobj 1972 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 527.931 313.134 538.199] /A << /S /GoTo /D (subsubsection.7.12.2.1) >> >> endobj 1973 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 512.01 299.234 520.781] /A << /S /GoTo /D (section.7.13) >> >> endobj 1974 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 494.385 310.142 503.156] /A << /S /GoTo /D (subsection.7.13.1) >> >> endobj 1975 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 475.869 316.595 485.532] /A << /S /GoTo /D (subsubsection.7.13.1.1) >> >> endobj 1976 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 457.325 325.669 467.701] /A << /S /GoTo /D (subsubsection.7.13.1.2) >> >> endobj 1977 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 440.62 338.517 450.283] /A << /S /GoTo /D (subsubsection.7.13.1.3) >> >> endobj 1978 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 422.184 315.549 432.659] /A << /S /GoTo /D (subsection.7.13.2) >> >> endobj 1979 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 404.452 300.483 414.828] /A << /S /GoTo /D (subsubsection.7.13.2.1) >> >> endobj 1980 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 386.828 307.961 397.204] /A << /S /GoTo /D (subsubsection.7.13.2.2) >> >> endobj 1981 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 371.015 318.615 379.58] /A << /S /GoTo /D (subsection.7.13.3) >> >> endobj 1982 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 351.579 329.883 361.955] /A << /S /GoTo /D (subsubsection.7.13.3.1) >> >> endobj 1983 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 333.955 320.424 344.331] /A << /S /GoTo /D (subsubsection.7.13.3.2) >> >> endobj 1984 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 316.331 324.907 326.706] /A << /S /GoTo /D (subsubsection.7.13.3.3) >> >> endobj 1985 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 298.706 317.931 309.082] /A << /S /GoTo /D (subsubsection.7.13.3.4) >> >> endobj 1986 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 281.189 300.193 291.664] /A << /S /GoTo /D (section.7.14) >> >> endobj 1987 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.567 263.565 315.549 274.04] /A << /S /GoTo /D (subsection.7.14.1) >> >> endobj 1988 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.447 246.752 318.236 256.209] /A << /S /GoTo /D (subsubsection.7.14.1.1) >> >> endobj 1989 0 obj << /Font << /F46 1592 0 R /F20 1558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1995 0 obj << /Length 556 /Filter /FlateDecode >> stream xÚ­S»nŰ0ÝýD' ¨h’)jmQčŇ Ő–d`,:R`SD'íß——¤;µŃťîá}śű8EŹ˘ő‚ΖpĚzń©Y,WĄ@LQK†š-Şk˘j$—DĘ5-şĹź;ýěĚĺś+̲űćë;ž@Â9)¨â@BQ.)áőMgbíşYG°ëFí ţunvąâ)RKY̬ŠHZFÖ;*(/W¬DµĎâ˛8©•ôą!ÇĆ„3šŇ'°9aéYÂF(Ż|F…rVé§řçw”ë’˙’·I™ uQ¦QO®ńRŽŕšNĚwfL¤‹–”P–Öe„e9Ł”â›ŃLĆ:íúÁFž«’pEJvŞsŒ΀Σ´.¨;xźÇ!cżô­™˘G§ôŕM“ů’—Ś lvŕ˘WčÜíŁ±&†]šĂĹçfnÓŰh)řnýpHŃ-ôŕ3xŻ]ňÂ=o˛ŇÓ<îcĐŔ/ΩEşÜ·f''Ç؉2á*…(đaJ`ŘFëćČź{·ź˘ťúýó.ő΋Šű8÷bôé0ą¬1m"Ýě­y륤ˇôđ}˝@·!Á«Fş3µS 3ş…ß°¶í‘ΞťBĆuŹĂńJ፶„ݸ.KZ*¬§hĎX^ű©»xÚĂ>±Ąľ›ź‰MŹ)¤6ŞßďôĽćŞŢľĐ8, ¶ÍĆ ó ţÁäěNłýŇ,~`;N* endstream endobj 1994 0 obj << /Type /Page /Contents 1995 0 R /Resources 1993 0 R /MediaBox [0 0 595.276 841.89] /Parent 1962 0 R /Annots [ 1992 0 R ] >> endobj 1992 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [345.891 376.446 374.791 386.921] /A << /S /GoTo /D (GTG_8h) >> >> endobj 1996 0 obj << /D [1994 0 R /XYZ 98.895 747.976 null] >> endobj 2 0 obj << /D [1994 0 R /XYZ 99.895 717.021 null] >> endobj 1997 0 obj << /D [1994 0 R /XYZ 99.895 526.64 null] >> endobj 1999 0 obj << /D [1994 0 R /XYZ 99.895 475.446 null] >> endobj 6 0 obj << /D [1994 0 R /XYZ 99.895 459.034 null] >> endobj 1993 0 obj << /Font << /F45 1590 0 R /F20 1558 0 R /F14 1998 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2003 0 obj << /Length 266 /Filter /FlateDecode >> stream xÚ•Q=OĂ0Üý+Ţh1ĎńG7©Â[é&n©Ô&A˙=NśH•îě{>˝;#ˇ"Ü=kŽ{c„=ąĹ¬rÜ …ІJV(”ixʬÖŃ*T™śŽ»ˇX‘Ä+ۆ5y ä“äŽ nÜ4wR@s&›-B›Ä5 WŢÁ÷4zĄ·b|x‚WňBp^qÁż¦—č˙cşä5\ZŁÇĽ2m6ćô†c©sÜ*vq¨/±Íű.c`é×\ŔýljÔ3˘™ \Iż’óiĎ$Ň~žśŹÍâçuo´ú˛Śľa‰©ĺ"_ěFŁkćŹ=SH®‡©řŘMÍ/MĄř1kŢ endstream endobj 2002 0 obj << /Type /Page /Contents 2003 0 R /Resources 2001 0 R /MediaBox [0 0 595.276 841.89] /Parent 1962 0 R >> endobj 2004 0 obj << /D [2002 0 R /XYZ 149.705 747.976 null] >> endobj 2001 0 obj << /Font << /F46 1592 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2020 0 obj << /Length 653 /Filter /FlateDecode >> stream xÚĺ—AoŰ €ďůí)`Ŕ°ŰÚ-Y'U«&ßÚ<‡$ŢlgZ˙ýŔ,©˘inÓ®Í.~ Ě{đńxďŔ 0ˇŤ„„ওŃy>:S°€Lr ň É'r.A>7ŃŢXuމBDDâ/ůÇ{zz%„Ŕ â” 0©ë¸ůWfş®•ź~©§*Ć8úy@ÍáEú(1fA9O!e©WN ŽŚ fZŻ8¨:”ś§a.b?őjÜŞ2U­—…uŐvľefa ®}c鍼ٳ˛‘S3 śAN¨·’Ç ¨‰1ŠŠ2ŘëîVˇµ(ô´vl)âŚ-· ŘQzGUöŐ4Ž•k|¶ŔnL9ŹäAś[¬öŘ0†’±]˘&ť®ÂYu‹Ŕt®´ňĽ;5 cűüo"µşE µöÓ;áĎîI0J»=Ś˙#÷Çk]v•ŃÁ÷Uďđ2÷–FwEeąÚżłŚľN_ë!Ą|m¤¶ł­ó&FNánöĽŘÓńRqŠ˘1a‘Ňťť!<lŮѱՕţî ‰ěd“AONť\ďb…M˛EUń5¶ŮĂ é‰Á#hĽwĘeB˝áUšÚ4äĚÝMÓřÎ$źXÇăé©#=B2(‹^©ĄŁdaÝ… ±ĐĹ\-mDłćČ˙RĆőä†ĹĽOůxSÂŮ×EďoŰ­Ň^^ě—áŰ̱­ç&żk=ÓśmUúŢ^_Ú5Sţ¨ ‹g×1µ›ů¦ŚĆŢŐžŢAíóč5xPú¨Řż˛V¦íVFWz~ ÖHVŤ)UŰnGgASöąguR.źu÷ô!Ď ű’ Ű_·.ŽcÄÓ—;ţ•S±?çÄ÷ůčńÜ—u endstream endobj 2019 0 obj << /Type /Page /Contents 2020 0 R /Resources 2018 0 R /MediaBox [0 0 595.276 841.89] /Parent 1962 0 R /Annots [ 2005 0 R 2006 0 R 2007 0 R 2008 0 R 2009 0 R 2010 0 R 2011 0 R 2012 0 R 2013 0 R 2014 0 R 2015 0 R 2016 0 R 2017 0 R ] >> endobj 2005 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [437.625 460.52 444.603 469.084] /A << /S /GoTo /D (section.5.1) >> >> endobj 2006 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 448.748 444.603 457.129] /A << /S /GoTo /D (section.5.2) >> >> endobj 2007 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 436.609 444.603 445.174] /A << /S /GoTo /D (section.5.3) >> >> endobj 2008 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 424.654 444.603 433.219] /A << /S /GoTo /D (section.5.4) >> >> endobj 2009 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 412.883 444.603 421.264] /A << /S /GoTo /D (section.5.5) >> >> endobj 2010 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 400.744 444.603 409.309] /A << /S /GoTo /D (section.5.6) >> >> endobj 2011 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 388.789 444.603 397.353] /A << /S /GoTo /D (section.5.7) >> >> endobj 2012 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 377.017 444.603 385.398] /A << /S /GoTo /D (section.5.8) >> >> endobj 2013 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 365.062 444.603 373.443] /A << /S /GoTo /D (section.5.9) >> >> endobj 2014 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 352.923 444.603 361.488] /A << /S /GoTo /D (section.5.10) >> >> endobj 2015 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 340.968 444.603 349.533] /A << /S /GoTo /D (section.5.11) >> >> endobj 2016 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 329.013 444.603 337.578] /A << /S /GoTo /D (section.5.12) >> >> endobj 2017 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 317.058 444.603 325.622] /A << /S /GoTo /D (section.5.13) >> >> endobj 2021 0 obj << /D [2019 0 R /XYZ 98.895 747.976 null] >> endobj 10 0 obj << /D [2019 0 R /XYZ 99.895 717.021 null] >> endobj 14 0 obj << /D [2019 0 R /XYZ 99.895 531.113 null] >> endobj 2018 0 obj << /Font << /F45 1590 0 R /F20 1558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2024 0 obj << /Length 267 /Filter /FlateDecode >> stream xÚ•‘1OĂ0…w˙Ší!ćÎv»¨Ä€đÖv‰[!µ D­h˙=IťH•ŢłďüéŢa%{ěîŮXpŇ[«!lr”ćPh'-Xq#2M5íšÓ>ŠLŽż´M”ółŘ„%{ ě›ŃE ‘NÔ¶Ú 4Cq (µwđsm=€6Z4>ÜĂ;{c8M6ë_(ˇ“ ý sL+UaÍS “ŤńĽ•›”˛Śmě«clRľ®M„G~šBßőÉ(3)’JŽpˇüBM§­PČ»©ůJţ¬gžCŢWuĽ©UÇąuŤ9–ˇ„ŇĹÇş$˙Ř Ťü|ىŚÇöşůySĂü“oj endstream endobj 2023 0 obj << /Type /Page /Contents 2024 0 R /Resources 2022 0 R /MediaBox [0 0 595.276 841.89] /Parent 1962 0 R >> endobj 2025 0 obj << /D [2023 0 R /XYZ 149.705 747.976 null] >> endobj 2022 0 obj << /Font << /F46 1592 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2056 0 obj << /Length 593 /Filter /FlateDecode >> stream xÚíA“Ň0Çď|ŠŰCłyi’&U¶ęxr;^VÇ© #[Ôýö6$Zf°čĘŘS^ů'ó{oŢ?@Đ”ŽH3bĘmh‡tô<ÝÜ2Ž@b® l†”ÂRq$¨ŔB(”MŃ}đb‘ŻŤŢ„Ą2ĂŹŮ›ťťĄ8&’Z‚"Î1ł»˙enr·ůÎl¶łÝh7}]Nu|oŃlż±».Ĺ €ű“DŚŹÝI1†0BHŰ™•;ĹëŢÜR‚$VBÄ^JĚŔéĽŇ»+&2Č›Ŕ,|0uĘuT™š đ ‘ß-~+ĚÂEźÝ§…žůŤşšřĄµ)VeőlďB?G‚měÄď҆!a(‚ Ę|RVĄÉ‹˛NËŻ"č>RŚ8¬ŔÝ öţf˙Ś´#q„Żf$ŕĐ»{]Xq~@< ’ŕq­ŃCĚ菙ţ.fá0ŹKSÇ÷aB‚|ą=f ” …}âľ°Ç_CĘ]šÎÂCOiG÷D?7óO“ŐruĐĹăK.÷żš-ŠŞÍwsů@-ň夽ĺĆ/ćĄ7(żw[é©_ mţ]śfiX›Éy\OÓbçŇŠÚ@Xfˢ2Gť&É5TÔ“+»@±>č[Q±-“#÷ăj@íPóž&ř¶(żt>ě® Ó“e@ô,v›łzöľŘWfÖfő¤Vę˝|ŇüťÉŤî¶ÔˇŮś‚//żłŰHö‹b÷.ë~dú˙dňÝăwyLźÓżĹć*“ zÖ~kşť—r2ß‘ä$ůq6ú&f endstream endobj 2055 0 obj << /Type /Page /Contents 2056 0 R /Resources 2054 0 R /MediaBox [0 0 595.276 841.89] /Parent 2058 0 R /Annots [ 2026 0 R 2027 0 R 2028 0 R 2029 0 R 2030 0 R 2031 0 R 2032 0 R 2033 0 R 2034 0 R 2035 0 R 2036 0 R 2037 0 R 2038 0 R 2039 0 R 2040 0 R 2041 0 R 2042 0 R 2043 0 R 2044 0 R 2045 0 R 2046 0 R 2047 0 R 2048 0 R 2049 0 R 2050 0 R 2051 0 R 2052 0 R 2053 0 R ] >> endobj 2026 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 460.52 153.933 469.291] /A << /S /GoTo /D (structContainer) >> >> endobj 2027 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 460.52 444.603 469.084] /A << /S /GoTo /D (section.6.1) >> >> endobj 2028 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 446.861 172.789 457.336] /A << /S /GoTo /D (structContainerType) >> >> endobj 2029 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 448.565 444.603 457.129] /A << /S /GoTo /D (section.6.2) >> >> endobj 2030 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 434.906 159.788 445.174] /A << /S /GoTo /D (structEntityValue) >> >> endobj 2031 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 436.609 444.603 445.174] /A << /S /GoTo /D (section.6.3) >> >> endobj 2032 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 422.951 156.623 433.219] /A << /S /GoTo /D (structEventType) >> >> endobj 2033 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 424.654 444.603 433.219] /A << /S /GoTo /D (section.6.4) >> >> endobj 2034 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 410.888 151.943 421.264] /A << /S /GoTo /D (structgtg__color) >> >> endobj 2035 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 400.744 444.603 409.309] /A << /S /GoTo /D (section.6.5) >> >> endobj 2036 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 386.977 143.47 397.353] /A << /S /GoTo /D (structgtg__list) >> >> endobj 2037 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 388.789 444.603 397.353] /A << /S /GoTo /D (section.6.6) >> >> endobj 2038 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 375.022 165.159 385.093] /A << /S /GoTo /D (structgtg__memory) >> >> endobj 2039 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 376.834 444.603 385.093] /A << /S /GoTo /D (section.6.7) >> >> endobj 2040 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 364.878 131.509 373.443] /A << /S /GoTo /D (structLink) >> >> endobj 2041 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 364.878 444.603 373.443] /A << /S /GoTo /D (section.6.8) >> >> endobj 2042 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 351.22 150.365 361.488] /A << /S /GoTo /D (structLinkType) >> >> endobj 2043 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 352.923 444.603 361.488] /A << /S /GoTo /D (section.6.9) >> >> endobj 2044 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 340.076 149.45 349.739] /A << /S /GoTo /D (structotf__color) >> >> endobj 2045 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 340.968 444.603 349.228] /A << /S /GoTo /D (section.6.10) >> >> endobj 2046 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 329.013 136.001 337.784] /A << /S /GoTo /D (structState) >> >> endobj 2047 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 329.013 444.603 337.578] /A << /S /GoTo /D (section.6.11) >> >> endobj 2048 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 315.354 154.857 325.829] /A << /S /GoTo /D (structStateType) >> >> endobj 2049 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 317.058 444.603 325.622] /A << /S /GoTo /D (section.6.12) >> >> endobj 2050 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 305.103 147.28 313.667] /A << /S /GoTo /D (structVariable) >> >> endobj 2051 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 305.103 444.603 313.667] /A << /S /GoTo /D (section.6.13) >> >> endobj 2052 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 291.444 166.136 301.712] /A << /S /GoTo /D (structVariableType) >> >> endobj 2053 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 293.147 444.603 301.712] /A << /S /GoTo /D (section.6.14) >> >> endobj 2057 0 obj << /D [2055 0 R /XYZ 98.895 747.976 null] >> endobj 18 0 obj << /D [2055 0 R /XYZ 99.895 717.021 null] >> endobj 22 0 obj << /D [2055 0 R /XYZ 99.895 530.923 null] >> endobj 2054 0 obj << /Font << /F45 1590 0 R /F20 1558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2075 0 obj << /Length 271 /Filter /FlateDecode >> stream xÚ•Q=OĂ0Ýý+n´‡šóG»¨Ń Ő[é&n…DŃţ{ś8‘*11˝wľçç{g„3 äÉ“‡mŔrgŚ‘!Ď1\Yn0_Ăž¶’…˘›˛/#Ď-ÝőÝPőCRůÚÔ‰Ś^ŮÁoÉł'ßDÄÄťŁćV ¨.d@¨cs Č•łđ3I/ ´âą/~ÂŽĽśÇ\đŻ©@Ë%ş˙.™ —ąŃcf'ł:Ă1Ó)ršĐ•}¨Sľ¶Ič™C:̡żşD¤ž…LLŕZşµś«“HŰY<9T‹źEÚ•U¸ë•ý"}Ç _Déŕ8Ýß´L!˝ŢÎl%†fÚü˛©řżÍn endstream endobj 2074 0 obj << /Type /Page /Contents 2075 0 R /Resources 2073 0 R /MediaBox [0 0 595.276 841.89] /Parent 2058 0 R >> endobj 2076 0 obj << /D [2074 0 R /XYZ 149.705 747.976 null] >> endobj 2073 0 obj << /Font << /F46 1592 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2107 0 obj << /Length 1007 /Filter /FlateDecode >> stream xÚíWK“Ł6ľűWp„¬$Źw+ă$•TR»ÜfSS,Ű$(#’ťüút#ÁöĚx&8•©ÍIŹnµ¤Żőu·µ±µ\ľőÇ.6ËĹűtńî&ŕŤ=ž„ÔJ×V’xq­…^&Vş˛ní[Q+ąw\Ćb;p~M8˛ÓaĚóIĚб\ν¸ţ&/¤^ü}ą’Ąö—3FÎQźŹy ĄÜ}/ŕľ6xÔq)!d´ÉŹyŁ´}cńÝ #Vě%ač,öŞ-|'÷¸.ŠíĽŃ­ĐMfş^µ6‚˘ĐťĎ„°Bő?sµŐ˝{€r;—F%›ĚLŐ*ŻĘć›É±-±¨µÇv>.…{EĺŇČ Y şL—ŢvbŔň#/ć1¨Q/áܨÉRšM3}Ś­«Î{ĐW•ąk™-řÂĄ,¤¶ç€żBÝđ‹G/^đ2Óú¦'ĐÜş %vHňQHÝ Xá€é{ŃäŮEŔÝłŹĺ~$)+kÇ'¶ČäőMç8ľP˝D{ĹĽÔíă¶0n¬ZłWg´BOr{'ĚRJăkCu¸ţ‡Ş€Ý9±/+Ýöi¶ô”ŔQŮs§©vFĐ6rÝze¸O3…äSd©rő0†«hĺ P0€;nĐgqâóá´«÷˛iđŢ1T·­"z%Ę\‘Ť—/xäčĄ “x1ľźÂ1vu Ţ$âńk?ÄČźä٤z€p5#˙ĹŻ˘O·f«L¨žż2ăę/8!Wn“˙… 3–ďFlXÍď`>aôZÉ'bsEŠźÓ¸Âe€˘î$ő¨­ąú¦¨îEq öąŤÚ<šźÚ&/Ť´Ű%¤ţż“Ć#F$ďžOĺáĺ]źÎˇ~d:PˇŐ BGĂ;ßŐ…ÜAşXĂiaW޵űüŹ–ŽđEµ ĎtĘž¨ćp2śXëúÜZĚéÚOJCm¦Î¦ŐG3]çúIdoň®ZÝĐ;=‰PG=Ô˝\”+=·nˬ+âő|)ĺJÖ(8·|´ůs{ ňŃۢ4ŚţÓIéi—‡sąü'~“ĎşÚş××ęą}ŐV¨łé¨÷ń±ÚN”yÝOű5"ěU@Ĺln î.ţĆ +&0ŃxA*ŇŹ:´ř8 ‚†Ž‚ÉaÉ““(–żÂ(Ď–ŕ>ĘşÎ+J0źGĂëÇţčÍűpq\éP3ŕ ®UWeWŕX˘PÇ·Rąőľ5t`ĎŘˆ uHĽŮ*{ć‡Íő0>)ˇ‹ŢÓ?QčÓŻŕűó‚ĎP˙óďgęP@»«Î˙ď‘ ˙ĂÝÁť< ÷·éâow$ő° endstream endobj 2106 0 obj << /Type /Page /Contents 2107 0 R /Resources 2105 0 R /MediaBox [0 0 595.276 841.89] /Parent 2058 0 R /Annots [ 2077 0 R 2078 0 R 2079 0 R 2080 0 R 2081 0 R 2082 0 R 2083 0 R 2084 0 R 2085 0 R 2086 0 R 2087 0 R 2088 0 R 2089 0 R 2090 0 R 2091 0 R 2092 0 R 2093 0 R 2094 0 R 2095 0 R 2096 0 R 2097 0 R 2098 0 R 2099 0 R 2100 0 R 2101 0 R 2102 0 R 2103 0 R 2104 0 R ] >> endobj 2077 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 460.52 141.972 469.291] /A << /S /GoTo /D (GTG_8h) >> >> endobj 2078 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 448.565 444.603 457.129] /A << /S /GoTo /D (section.7.1) >> >> endobj 2079 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 436.609 163.895 445.38] /A << /S /GoTo /D (GTGBasic_8h) >> >> endobj 2080 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 424.654 444.603 433.219] /A << /S /GoTo /D (section.7.2) >> >> endobj 2081 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 412.699 162.944 421.47] /A << /S /GoTo /D (GTGColor_8h) >> >> endobj 2082 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 400.744 444.603 409.309] /A << /S /GoTo /D (section.7.3) >> >> endobj 2083 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 387.085 182.688 397.56] /A << /S /GoTo /D (GTGCompress_8h) >> >> endobj 2084 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 388.789 444.603 397.353] /A << /S /GoTo /D (section.7.4) >> >> endobj 2085 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 376.834 155.924 385.605] /A << /S /GoTo /D (GTGList_8h) >> >> endobj 2086 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 376.834 444.603 385.398] /A << /S /GoTo /D (section.7.5) >> >> endobj 2087 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 363.175 173.722 373.649] /A << /S /GoTo /D (GTGMemory_8h) >> >> endobj 2088 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 353.107 444.603 361.488] /A << /S /GoTo /D (section.7.6) >> >> endobj 2089 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 340.968 158.56 349.739] /A << /S /GoTo /D (GTGOTF_8h) >> >> endobj 2090 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 329.013 444.603 337.578] /A << /S /GoTo /D (section.7.7) >> >> endobj 2091 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 316.166 186.813 325.829] /A << /S /GoTo /D (GTGOTF__Basic_8h) >> >> endobj 2092 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 293.331 444.603 301.712] /A << /S /GoTo /D (section.7.8) >> >> endobj 2093 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 280.3 192.793 289.963] /A << /S /GoTo /D (GTGOTF__Structs_8h) >> >> endobj 2094 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 257.282 444.603 265.847] /A << /S /GoTo /D (section.7.9) >> >> endobj 2095 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 243.623 159.421 254.098] /A << /S /GoTo /D (GTGPaje_8h) >> >> endobj 2096 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 233.371 444.603 241.936] /A << /S /GoTo /D (section.7.10) >> >> endobj 2097 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 219.713 186.463 230.187] /A << /S /GoTo /D (GTGPaje__Basic_8h) >> >> endobj 2098 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 197.506 444.603 206.071] /A << /S /GoTo /D (section.7.11) >> >> endobj 2099 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 183.847 168.71 194.322] /A << /S /GoTo /D (GTGReplay_8h) >> >> endobj 2100 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 161.64 444.603 170.205] /A << /S /GoTo /D (section.7.12) >> >> endobj 2101 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 149.685 164.218 158.456] /A << /S /GoTo /D (GTGStack_8h) >> >> endobj 2102 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 149.685 444.603 158.25] /A << /S /GoTo /D (section.7.13) >> >> endobj 2103 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.072 136.027 165.177 146.501] /A << /S /GoTo /D (GTGTypes_8h) >> >> endobj 2104 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.64 137.73 444.603 146.295] /A << /S /GoTo /D (section.7.14) >> >> endobj 2108 0 obj << /D [2106 0 R /XYZ 98.895 747.976 null] >> endobj 26 0 obj << /D [2106 0 R /XYZ 99.895 717.021 null] >> endobj 30 0 obj << /D [2106 0 R /XYZ 99.895 531.113 null] >> endobj 2105 0 obj << /Font << /F45 1590 0 R /F20 1558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2124 0 obj << /Length 268 /Filter /FlateDecode >> stream xÚ•Q»nĂ0 ÜőĄ!*ő°ŮZ´1𭍶4c+A€ÄnŤMţľ˛e:uşy<đ(„ ”ä)‡•6ŕ¸7FAŘ([,Ŕ*Ç Z l¨c۰…’k§ÓŕX\O‘-¤uôµm"˝2ňČI… îě4wR@}&›-B“šk@®ĽźQzĄ·b<Á;y#8í8ă_SŽKô˙1ť.­ŃC`™6‚zñĐ9ZŰŘW—Řä|]›10Źô{ ýřŮg"ő„(df—Ň/ĺôÚ3‰´›ÄŁó±žýŇľŞă]ŻşĚŇ,° e‘ »Áč–ůsÇŇëíŔilÇËĎ—J?đ zÉl endstream endobj 2123 0 obj << /Type /Page /Contents 2124 0 R /Resources 2122 0 R /MediaBox [0 0 595.276 841.89] /Parent 2058 0 R >> endobj 2125 0 obj << /D [2123 0 R /XYZ 149.705 747.976 null] >> endobj 2122 0 obj << /Font << /F46 1592 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2139 0 obj << /Length 850 /Filter /FlateDecode >> stream xÚµVŃn›0}ďWř¤áÚĆ6°·®KŞUÚVu¬/í41pš¬ D„lš¦ýű®Á°Ä4iş'“ŕ{îąç^›CĐ="čâ„´+fB?ęĺâäM|r:ćŃ‹HROPá0H2‰ĄŚPśˇ[ç|š,*Uşcˇ#Ü/ńĄ…S0†}2 B'ćú‡Ž_d«GŐ„ż-ŇŐ\ĺURÍŠĽŞźhĂ’áRaHsá7 ¦®G !NěJá”Ij˛UżćišäŮ#ÔPgÜ‘ŕ¤09|‚91EŚr7p€zY3_n™őtĚ q$ĄŻ¨ÄA O+k sÇŘE· •tTîRřćA•z~¸®w±ę)ő.(/v)#Ž®ÎÂŇ»~ďą:»YaΫÝ!7.uŢŇF}ŚÇFÄgźű ú3 ¶ @m"Ł@« *łČGĺŘFíxŞŰtOĹÄüÓľ*VŐbUą›úşT8xhŇ׆Äó#LBX )áMŇń*O˙ËŚüp™pŠY¶[ĂĄŞšéŘkVî x=óöµęC©`>ŕ%€Ńç¶ę“ެĆl÷ě©VőKěué@cÉ4îŐS«ţ¤ť¸?¸Çx±‡€{ý1JÝŇiR_·§cĘQ¬>1 Ş 66Á„řăgĺ0xĘ~Hć2ÎrSÚ˘,Ňë‡}Uő¨Ź™o_!uĎ ·í¨%d®iôk µ±Ç¶-Ŕ¬>ÄÖż]H’eçEK~bîóËőFŮŐ'.UËeQ._¶mZ»ť÷Ë7ôXMj>ŞT|ÝŐ­ K*•mw%xţpËÖ‚¨Tç}hę˙©'VlĄ% MΛ»ćŐli4^çzđ/:ÇŃyŽMgĐŘŤŘĺˇÓ™ŹÓ3lAţő ăXŠp-g—U5Y›ĆĺZđ1áÝQ©Ęúâ‘Ű÷Ž=%&®É˝ÜtźR=‚#PŰcÖpËqĺëŢÉY› hýŁb®+•0ă·\ŹU>x˝0ęT»r9”ń]ŮUYGQ8ó¤˛ĎŢĎŕęi¤™žŰKY\\vD¶\nfńČ[.T:Ó7Jz<%ßP2Ěöj6#°ó$héÍÇłh 7XŘţo›EÔrĐ[ϸń‰ÝH»Žâ“ż4 Ź endstream endobj 2138 0 obj << /Type /Page /Contents 2139 0 R /Resources 2137 0 R /MediaBox [0 0 595.276 841.89] /Parent 2058 0 R /Annots [ 2126 0 R 2127 0 R 2128 0 R 2129 0 R 2130 0 R 2131 0 R 2132 0 R 2133 0 R 2134 0 R 2135 0 R 2136 0 R ] >> endobj 2126 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [148.633 452.061 189.324 462.536] /A << /S /GoTo /D (group__traceType_gabfcf61a4d79aa427ef510070fce86311) >> >> endobj 2127 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [195.311 452.061 219.728 462.536] /A << /S /GoTo /D (group__traceType_gabfcf61a4d79aa427ef510070fce86311a464fcf408aa7f29de9e7828dfbc39147) >> >> endobj 2128 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [222.721 452.061 244.645 462.536] /A << /S /GoTo /D (group__traceType_gabfcf61a4d79aa427ef510070fce86311aac864727fa7382dc8f3414f1667a78b5) >> >> endobj 2129 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [247.638 452.061 267.563 462.536] /A << /S /GoTo /D (group__traceType_gabfcf61a4d79aa427ef510070fce86311a836fd85172c09b9aebf8e9712b9aae73) >> >> endobj 2130 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [270.555 452.061 290.48 462.536] /A << /S /GoTo /D (group__traceType_gabfcf61a4d79aa427ef510070fce86311a4b124dad7992814397ae48d321af66b5) >> >> endobj 2131 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [142.518 381.013 197.08 391.488] /A << /S /GoTo /D (group__traceType_gaa32bf7549cb819ce354ac583de6e6bbf) >> >> endobj 2132 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [200.566 381.013 248.734 391.488] /A << /S /GoTo /D (GTGBasic_8h_a3380a5e49e7f7e2ff3ea18f893527811) >> >> endobj 2133 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 354.185 171.974 364.767] /A << /S /GoTo /D (GTGBasic_8h_a3380a5e49e7f7e2ff3ea18f893527811) >> >> endobj 2134 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [172.474 354.185 227.538 364.767] /A << /S /GoTo /D (group__traceType_gaf4e365b772f0244b5f40f7a8c21dbeda) >> >> endobj 2135 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [151.211 327.464 189.58 338.046] /A << /S /GoTo /D (group__traceType_gaffe242018ef0fb40a515c24a957f6ba9) >> >> endobj 2136 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [135.767 300.851 229.286 311.325] /A << /S /GoTo /D (group__traceType_ga577af8ffa49fee14264099998e3d88e8) >> >> endobj 2140 0 obj << /D [2138 0 R /XYZ 98.895 747.976 null] >> endobj 34 0 obj << /D [2138 0 R /XYZ 99.895 717.021 null] >> endobj 2141 0 obj << /D [2138 0 R /XYZ 99.895 531.113 null] >> endobj 38 0 obj << /D [2138 0 R /XYZ 99.895 531.113 null] >> endobj 2142 0 obj << /D [2138 0 R /XYZ 99.895 470.19 null] >> endobj 2144 0 obj << /D [2138 0 R /XYZ 99.895 399.142 null] >> endobj 42 0 obj << /D [2138 0 R /XYZ 99.895 274.525 null] >> endobj 2145 0 obj << /D [2138 0 R /XYZ 99.895 245.774 null] >> endobj 46 0 obj << /D [2138 0 R /XYZ 99.895 245.774 null] >> endobj 2146 0 obj << /D [2138 0 R /XYZ 117.344 165.735 null] >> endobj 2148 0 obj << /D [2138 0 R /XYZ 117.344 150.97 null] >> endobj 2149 0 obj << /D [2138 0 R /XYZ 117.344 136.204 null] >> endobj 2150 0 obj << /D [2138 0 R /XYZ 117.344 121.438 null] >> endobj 2137 0 obj << /Font << /F45 1590 0 R /F20 1558 0 R /F67 2143 0 R /F14 1998 0 R /F46 1592 0 R /F69 2147 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2158 0 obj << /Length 1027 /Filter /FlateDecode >> stream xÚµXM“Ú8˝ó+t´(­o)·lvgŞRµ[ÉÄ·$µĺ3ˇ&Ř,Lćß§eŮ`‡`ćdIŻźşźş[ą%@®GdŁ7WRKťÖ‚d3ÂPŠa©C˛)ů’0HÇ\3­“ż«éćG_Ć&V“͢(뼞Weú-ű0ú+ý?b „ő$µś‘Ébôĺ)~ @…łäľ™ş B j_ř|}AK(WţŐ?:˛Š0ÄUNGlÁPP6°U”QžŽ$W›rŇĐs>ÄxŘRcfç c.©Žđ)k-ĚËÚ#íąQr*­ßPłâż”C˛™ÍRI±*¦čĹâňúéĎëbÚ"ôŤ2@+Üu_AaăţŤEÜß\qč-łĆ›-g–ż˙^LĽ±»şű†Iý˝X…o| /[¦"0/jšŻĂ3ÄUCś>ß‹c Ł6ć‚rÁ­›˘Ţ¬Ęu 2Ľ-f©”wg)đv9‹™ť»‹”©¤ŮŹ4cÔ)đ!Ě­ĽŁîçëÝÄ'vĘ rµdŚ*°ęű,śmÓ¶~^P•ĄĘÉ(¦‡Čš*aÓŃa‘Wľ%Řéî5ayýüňn1eá1ŽĘűçgHčµ”óú…— ¬óŚ_–a/ń…—sÔ#:ý˘ÂkeŇ –FŤ«XĂe÷Lłe72ÚÂĂ#»•Ç^Ý-‹0RŹ×ÔÓÉ 1|~Ľ,â§t2<c`ńşS.ĐÝ˝^Sn0çűŕ-ÜßçťĆ‹˛ě˛?:µą~†´Ťr–:Ľ=µx·l‹$—í•ŢĽĺî-ç]Eĺ»ŠÚ Ď'^›{cyÝMőéî:»n’ĎîňöĐýĹŕëô݇¶DĆwv”ŔoçŠÔŔ endstream endobj 2157 0 obj << /Type /Page /Contents 2158 0 R /Resources 2156 0 R /MediaBox [0 0 595.276 841.89] /Parent 2058 0 R >> endobj 2159 0 obj << /D [2157 0 R /XYZ 149.705 747.976 null] >> endobj 50 0 obj << /D [2157 0 R /XYZ 150.705 717.021 null] >> endobj 2155 0 obj << /D [2157 0 R /XYZ 150.705 699.825 null] >> endobj 54 0 obj << /D [2157 0 R /XYZ 150.705 699.825 null] >> endobj 2154 0 obj << /D [2157 0 R /XYZ 150.705 594.385 null] >> endobj 58 0 obj << /D [2157 0 R /XYZ 150.705 579.145 null] >> endobj 2161 0 obj << /D [2157 0 R /XYZ 150.705 518.887 null] >> endobj 2153 0 obj << /D [2157 0 R /XYZ 150.705 431.19 null] >> endobj 62 0 obj << /D [2157 0 R /XYZ 150.705 415.949 null] >> endobj 2151 0 obj << /D [2157 0 R /XYZ 150.705 320.854 null] >> endobj 66 0 obj << /D [2157 0 R /XYZ 150.705 305.613 null] >> endobj 2162 0 obj << /D [2157 0 R /XYZ 150.705 247.167 null] >> endobj 2156 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F72 2160 0 R /F67 2143 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2175 0 obj << /Length 1612 /Filter /FlateDecode >> stream xÚÍYËrŰ6Ýë+¸$g"oŮąŽíi6mcµ›$ăQ%ĆÖT–\Inë~})JÖ#“éƤEŕľÎÁĹ˝MîšÜ ~ Ţ^KťäÄj-’Ń×ÄZ’[•‘MM2š&źREx6ä&OGYNÓĄź-f˙¶y(üË}6d4-ĹjĽ)¦áăj< ź?SĘçĹgŞč~¤Ěč”±ěËčĂŕj4řsŔ`MXc…$9gÉäqđé M¦řö!ˇDŘ<ů»ů)anŢ<ąü2 Á3J¸rŻîQů©ƉeLĹŽRC¨Ę#GĄžjUzĘkOyĺ)/=ÍcGyă(ßvÔą×o—7Š٬vFŃd((‘Tx{®ź“ÍląX·E„çŰkN#ä&&7 , ÖH/ŕ3çŞ3×…wuâüńf|*Ąa~ěŕÂÝŞŘ<ŻŕJw›×'W\eŚÓ´’ŇšFą€d,ťŔźŔśÉĂxĺFľ˝f2±đ„—Q`ŇF%ćz'(~TË_IlÎŁ1ůbüXdLĄo*Š=ŢŞĹo‚Y;ܸßÜß9eăűŽăµî[¦5 ÚŔ@Ş­q™`ÄXŘ*$?"Vłń|öŻ34¬ŚqµVŞčái©čřî@ćĄd€­Řw»XLĆúĐPŐîDşž-ľmřw ÓşŘ\.ź "-Öë]1Ş)úWáăů9»ZŚπ˼čĆÉ/6g LA>ÉjýËĹüĄ .¦z+fó¶ Ż™@Ú_ů~]wÄ— â˙IWo¦Ó«Ĺf¶yů-32Ţć+FąXT‰I蝉ÉHBĄ9 1±j (<^W9IĘ:űAç%ZjŘ1:ŠEČľ/OĹQŞ0Śáŕ‚‡R‡klí« u˛ś/WýůôÉ<”óŘ,oSţbĘŚqŕ´‡Úż7€7ybďî;–ĐTŞ©} EAµű]ţýrňüĐŹËź^Ůă›8Ru˘•ŤäćުİyHUo‚eyáů﨨íÖEMoÝĐ»Ł“qTsJ7śBrJÓěĹŽň™I¬z‰"jŠmJ)A…%ÓţMŹ)Č‘%1Eťţ^ĺ@…[{ŚörAhż\IÚgpK™· Á( “~jŰ‹b·uĚĹŘëÖ ńâ‰ÍŠQçŠHžWC; ¨#UQ’ëZěÓvÍ…!ŚÔ¨Łĺľ:°Řş.Ëĺ–*.\ąě%i^ĹYÖŹ1Ő1ŰŘŢÍi7ކu‘ꏞY{CJ¬KwPd…öŠ~θéɦŔ>ĂŇţb»_~÷k_#]a®_ib4ŃL×ń˙¶2»°8 „ʲ§Ű#Ă=é#”9¸Î$B“\ZČĘ‘ŤEĽÇm±Ź)Ěců©z;Í 'J‰¶Ţ‹RoÉŞ¦©{Ń"˘K¨­ÂÎ߲Q"j‚ńlÜĆ"`Ţy8ź#ŁÂYXT[ŐY8sw'Kďž2c'Ú'jďE;Öިö€Ýřća\uUúxhęۢ3ózďÔ´NUň,zś%٦‡qÂě™i€ŁD˛‰Č‘ąŽöµÝĽ8Mm?/bµs—¸ËžĄXڰßh{Ůâ1Ç4l łNŰÔKďš G»±Ť"Dóxpş„šu *Źó’–g8P€ˇ ą«Ë‚D8Ms?bÍ—ĄŢ˝Ůa7¬Gµ Dy&°ÇËŘŕěć%o6pFC‘ő±l';]̉„Ľ!ž”‡ýwôńâňęîö×ËË«ŰŰö>Ľ~žL±‡ëxâRú" )V« ®ÉrZ-T ¶ú{¶.vµkqÝh`ĘFô°®ĄÚ)~|;ĹĂÁVNÓU8Óę6QTĹE»‰˛ŚPŕ˘×°Ć´żSŽ·+n­Îź°ţn‹Đ‘»ăłm¨%ÇîP·vţpz7®î¦ĂćťŢXéş73vwhŚ苹î9§ŢŮjěń˘±ľŻóC¸iÓ%®ŞŁín/‰¸i÷’ĺ ¶Ł×}oC)%1VĹţřÁëľ&™÷đŹkwź$Ű=ŢiGá}=2]{ĚEQuőĄ 7ZF7BV—5ViáMű2«"˙(ł4}_<’sž”…ű2FßqűŽóę•7ǨĄäŮ$şWk.Ę‚Öj¨ŁäÍč&ܙᇲ\ ĄîűĄ;śý祺{ë†ę?{ďhß endstream endobj 2174 0 obj << /Type /Page /Contents 2175 0 R /Resources 2173 0 R /MediaBox [0 0 595.276 841.89] /Parent 2183 0 R /Annots [ 2163 0 R 2164 0 R 2165 0 R 2166 0 R 2167 0 R 2168 0 R 2169 0 R 2170 0 R 2171 0 R 2172 0 R ] >> endobj 2163 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 650.69 181.747 661.272] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2164 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.247 650.69 217.451 661.272] /A << /S /GoTo /D (group__init_ga6900cde464f9833ad682d680a2a78203) >> >> endobj 2165 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [342.801 650.69 384.173 661.272] /A << /S /GoTo /D (GTGBasic_8h_a7a5d407dd23dfced8b5937332ff80972) >> >> endobj 2166 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 622.902 181.747 633.377] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2167 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.247 622.902 220.948 633.377] /A << /S /GoTo /D (group__init_gabe4753689dfd8508c336b3898b0df471) >> >> endobj 2168 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 595.007 181.747 605.481] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2169 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.247 595.007 237.051 605.481] /A << /S /GoTo /D (group__init_ga9219b49891d7bfce610daf60c5a02cae) >> >> endobj 2170 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 567.111 181.747 577.586] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2171 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [181.866 567.111 243.537 577.586] /A << /S /GoTo /D (group__init_gaa732419a54e774f325188e1b1f8ac36d) >> >> endobj 2172 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [156.062 555.049 202.411 565.631] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 2176 0 obj << /D [2174 0 R /XYZ 98.895 747.976 null] >> endobj 2177 0 obj << /D [2174 0 R /XYZ 99.895 717.021 null] >> endobj 70 0 obj << /D [2174 0 R /XYZ 99.895 717.021 null] >> endobj 2178 0 obj << /D [2174 0 R /XYZ 99.895 669.514 null] >> endobj 74 0 obj << /D [2174 0 R /XYZ 99.895 526.157 null] >> endobj 2179 0 obj << /D [2174 0 R /XYZ 99.895 501.006 null] >> endobj 78 0 obj << /D [2174 0 R /XYZ 99.895 501.006 null] >> endobj 2180 0 obj << /D [2174 0 R /XYZ 99.895 428.916 null] >> endobj 2181 0 obj << /D [2174 0 R /XYZ 99.895 297.05 null] >> endobj 82 0 obj << /D [2174 0 R /XYZ 99.895 281.995 null] >> endobj 2182 0 obj << /D [2174 0 R /XYZ 99.895 178.592 null] >> endobj 86 0 obj << /D [2174 0 R /XYZ 99.895 163.537 null] >> endobj 2173 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F14 1998 0 R /F67 2143 0 R /F72 2160 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2190 0 obj << /Length 996 /Filter /FlateDecode >> stream xÚ˝W]sâ6}çWčŃž)Ştőai߲)aşÓMŇŕ<íî08)S°ScšM}Ż,™qiÁí>É–ĺsĎý:’y"ŚŚďÓÁ÷WRC­Ö‚¤Ź„+F¦H" Ő,!éś|Š8ÄCĐ\ëčc9ß,s|KLôC9۬ň˘ÎęEYÄ_ŇQ:řmŔ™ľ$©Nf«Á§/ŚĚń㨰†Ľ4KWDHAî~\’Éŕç ô¶#ĺÝĐ’V»¤ĄES–$ś!iîIßà ٬ĘVyťW1çŃşář»ÓĆá×nϢBügšbŕ¶žý –I˘­ <ŃÇ@p9§V©€ŃQ'»AL€bš´Ő4q3.†źe^` ßćĚą¶íŘ.¨Đ°oü®,k_i ć©|ôcýKđ ĂdéÇY•guciĘÎ`ü6mÚµIŇ/÷˝AšÜ†ýýro M¤@,I%6RleĹŻGRžéîÔďšľ­ĘYľ^‡ě;›ŐvńX'SďHbh=k /HSJSĹĺqo@PËŹ”Fi˘Q:ÝöżČžÖG*ŕ,Ăݰkř¦pů´Ň'ŰŞhśŽ§W?]ڧ×7ףďü·íÜýd4ýxűăáôőÍĐ1GĂÉ;}cä"z¤¶yő˛Xű^ŢwęŔŁ!O’!C ŘŰáě˘(PNĄűűŕ¨#pZ $Ó¬««l–O«Ć˙©Űw9çőeąz®ďĂÇmÄ´ź™bńP*-ŠÚ/O`oĄJ«vőď1 ¸.»`%ĺb”ď%ă }Ih2Iµ ň9*˛‡żE/峼 ®÷iŃćĆQ/‹ĺ«ËÜŻČOEŮbąô µ9şIŻŕ׎.Ý/žŁ Cő˛ž»ę[ۤUT ÝŻ1{8Ů–FP0ĽßÖmńx­ bij´ŮV— ŐŐ­ŰgZîî=ËŘ u´ĘłÂmß2‰ŠŇOíTťjmk˙bĺ~±ßÓquą©ź7µöű{€{Y,—~ú!ßÎçŻç§űŰ‘rÄ`zÖÍé § şÄŃ ôôtřV‚~¬S93+ö”«c{ŁŐ-›2Ĺű§»ÉâŐ‚)é Žó"Żđ|8ßw)Ť-ž4Ď‹ç@dYsĆ'ÎŢ}ĐŠ"ü%Š ňbÖâU[Ý VŰĄNuń¬ŇH|3ŃHík{ąvRűőő)˘¶ćĹa°ţ«˙…" endstream endobj 2189 0 obj << /Type /Page /Contents 2190 0 R /Resources 2188 0 R /MediaBox [0 0 595.276 841.89] /Parent 2183 0 R >> endobj 2191 0 obj << /D [2189 0 R /XYZ 149.705 747.976 null] >> endobj 2192 0 obj << /D [2189 0 R /XYZ 150.705 717.485 null] >> endobj 2186 0 obj << /D [2189 0 R /XYZ 150.705 583.061 null] >> endobj 90 0 obj << /D [2189 0 R /XYZ 150.705 567.821 null] >> endobj 2193 0 obj << /D [2189 0 R /XYZ 150.705 507.59 null] >> endobj 2188 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F67 2143 0 R /F20 1558 0 R /F72 2160 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2211 0 obj << /Length 1802 /Filter /FlateDecode >> stream xÚÍZIsÚHľó+T9‰ŞˇÓű’ăÄ®Ę)“S’J) ŘTČ9žů÷óZÝ­ r\sˇÖ[úűŢÖGwŽn&.&ŻŻąŚ42R˛hń#2i#"Ĺ4’XE‹Uô9MgTéřúq»Ě×»íŢ]féC’§+w‘ďüç}ęľ,wŰĹŃ î˝Ź0bFGOĹĘMÄ8CŠŘç˘ŰÉ_ěýŔ űŐ~”^‰Pdˇ[X!,tŕÁ×ü˘ˇ_ÔűEKżhÍ/~YoşÍp6`¤„‘ÖÍF3§ţ ´&Âľľ¦8€…H¤´ŠŔdwľP*ĎÚÝĚîü¶~Ľ™DźgBČ8[qś,ÓoYš?fŕ‡·ßňÓS©âdµş—SBqüďĎ´ö”_ó ű˛Ď§Ĺĺň>Éě˛×ׄGś Ň9ˇag8<čěÇąU5W92š–k’‡u˛·úĂJ6ńi%R"-ŐËšwCtÍ(“p!˘!ČqR')un“M ›Fz°4ÂҨ‚» *@÷ĐĎW>ę/  ;¸}Uqµ ܬůŚj+¦[ÚQĂŔ ź /F?ĆeIżN/wÔëÝ„ř×t%ه,]v=śŻ7%âLňq«¶qHH@JąÂ5%ýÄ9=CGE§Ľb.,¸ Ý•¤”É 2ŰÄÜ­R«>+8I8‹ qY˙„-•zČÚ`)ăň,Š BÍW` }8;"g„é3ĺ˙39¤żUşĎłÝ”A¶čŤE.őĺ±hb"¬DŮŢé‹EnWjĚ“ÎÓ1Ł\"Ćôđ oCrD†{Řň#}ąľ,žŰÄľ±xÄŰĽ«>…ME¬·@í6?;Ú‰`Đ…–±F´ďwßń^9ąîb˝ťU¶Ü¨©÷Ěf› ěígĚ ´íqĐ»"Ňč^]{úv·|´V$ĹO'şÓĂaKu$kňq;YAüP&ň¬Bß_X0_YgWĺn8ˇ.Bln{!kĚ8đ©DŰvŮS÷Ô):b^Ń@4ů°¶Žv‡ĐĽ…éŁÁ†V¨pŽ0ĚnźĚo`Á98Í02@ č<eľ |R‰r[Ţ9•4?kň›w»&3Ž%t=Ç3‰$‘Ő`ö¬"€ĺ f8bŹĺ.O;Ĺ$XsĹ=˘'V–‚X¦-ŠÔý'ž$úRÍŤŽ"!X]sŤ,ĺýÝZ_B[Fq[’˝Ŕ¨*Vq ˛Č8>¶‡4S =÷ŤěÇ"ל74ÔÜöÁşhÖŠÇçWďľÝ~şşzw{ë¶yçct˙¸\¦űB˛M‡aÁźű%i–í˛˛ ]yvů}š=­÷i_.˘—(0ÉD3N‘¦µ\K‡çZɤ̵Aőoe[[ăM-۶UA*úçß»bOë/ý˙TK2, endstream endobj 2210 0 obj << /Type /Page /Contents 2211 0 R /Resources 2209 0 R /MediaBox [0 0 595.276 841.89] /Parent 2183 0 R /Annots [ 2194 0 R 2195 0 R 2196 0 R 2197 0 R 2198 0 R 2199 0 R 2200 0 R 2201 0 R 2202 0 R 2203 0 R 2204 0 R 2205 0 R 2206 0 R 2207 0 R 2208 0 R ] >> endobj 2194 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 650.798 181.747 661.272] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2195 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.15 650.798 236.891 661.272] /A << /S /GoTo /D (group__procf_gad5822f320aedc792dc9a4c3a7c1f8751) >> >> endobj 2196 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [161.308 624.087 198.282 633.714] /A << /S /GoTo /D (structContainer) >> >> endobj 2197 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 610.947 181.747 621.422] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2198 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.864 610.947 238.68 621.422] /A << /S /GoTo /D (group__procf_gaef7a79f315b4e35480c27a1ae479827d) >> >> endobj 2199 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [242.783 610.947 275.44 621.422] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2200 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [161.308 585.77 198.282 593.863] /A << /S /GoTo /D (structContainer) >> >> endobj 2201 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 571.097 181.747 581.571] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2202 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [183.949 571.097 253.942 581.571] /A << /S /GoTo /D (group__procf_gae4eb01314299c2dcf82fd1b3faaf8ffa) >> >> endobj 2203 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [259.13 571.097 291.787 581.571] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2204 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.51 544.386 211.484 554.012] /A << /S /GoTo /D (structContainer) >> >> endobj 2205 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 531.246 181.747 541.721] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2206 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.247 531.246 239.05 541.721] /A << /S /GoTo /D (group__procf_ga463f260c133bb2471aad369b8d1319cb) >> >> endobj 2207 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [124.82 250.348 165.681 259.119] /A << /S /GoTo /D (structContainer) >> >> endobj 2208 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [161.556 172.814 202.417 186.762] /A << /S /GoTo /D (structContainer) >> >> endobj 2212 0 obj << /D [2210 0 R /XYZ 98.895 747.976 null] >> endobj 2213 0 obj << /D [2210 0 R /XYZ 99.895 717.021 null] >> endobj 94 0 obj << /D [2210 0 R /XYZ 99.895 717.021 null] >> endobj 2214 0 obj << /D [2210 0 R /XYZ 99.895 669.514 null] >> endobj 98 0 obj << /D [2210 0 R /XYZ 99.895 503.78 null] >> endobj 2215 0 obj << /D [2210 0 R /XYZ 99.895 477.095 null] >> endobj 102 0 obj << /D [2210 0 R /XYZ 99.895 477.095 null] >> endobj 2216 0 obj << /D [2210 0 R /XYZ 99.895 418.664 null] >> endobj 2217 0 obj << /D [2210 0 R /XYZ 99.895 320.903 null] >> endobj 106 0 obj << /D [2210 0 R /XYZ 99.895 305.663 null] >> endobj 2218 0 obj << /D [2210 0 R /XYZ 99.895 235.18 null] >> endobj 2209 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F14 1998 0 R /F67 2143 0 R /F72 2160 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2226 0 obj << /Length 1211 /Filter /FlateDecode >> stream xÚÍX]sŁ6}÷ŻĐ#ĚÔZ} í››ÍzfgÚŮ&ô)ÝÉP ‰gb;ĹdÓüű^„p€ČŘ~˝¤sŹt®®ŽDĐ="h9ű1ž}ř,аQŠŁřQI°&iaE4Š3tPΙ˘J?młçÇ~é(ř´Mź×ů¦LĘŐv~‹żĚ.ăŮ3 ČŃ’ŔŁ(]Ďnľ”ÁÇ/`n"ôb›®kZu|D׳_fÄŃŰ?1“ŐkőhHË6ia ”Aš MkŇWyů\lv–XđĂgFÚý#,„@sxĆëîńŐââňöú׋‹ËëëzŔ0JűÜ=§iľłČ€6§)ë^ ×$/ŠmQż¦ŰĚMض|Č‹—Ő.Ż9uŐŃśj ˇą`0yN‰9¦W˝{ŞqŠ…ä@ƶ+‹$Ío ;ţŰbó(H˛’ »ŘnĘ8T$x}ĘNg"ĹŚŞč7"I8ZÁ 6;‡”†:xHŠş7Č@o¦ŞŢBa˘č[gâ¨jÖ ˇ1} <®’Ý"ŚAB°¦ŮIŃąÁ0FDOŰ“1‡éń1u í2©„źła*uW˙Ăô@PIŹOa{z›díÓqĚŚhID;)ŢKíą6EŰL`%ŤËŇ,«32q]«őZÜ»…{µśˇűąĘ–dµÉ‹N÷1)«§ŽĘw—Ů`jlڞ„ wÓö5d"H p Á( üËÖŹß˙ę­BRCX­‡«ÂĘfG]…ţC’2‚%͆@ yťS5†-xJw –¶jJŰ ¦µŢ×aF 8˛čܸťlb”c®X7îÂĆíTH(tMńk2¨Î·,Ëł÷…u ÔĆSôh Šř4ˇ§‚Xˇˇ…PfšĐq ĘŹL˛/2¶n5«ď°ŕçĹ÷ ŢŽ˙»ý®'úSR€-č'ŔaŐGóôlăŐ§‚XŐÁîP*'.oŽ‘\1ÖÝ}^XżŘí°‹ÇŇ®^ ĘŐ÷^śĚ–?6yňâ­Ą7i÷É0z9ÇDš– ăAĆÚUIŞPjš]egŮUőŻŮUq†]ŁšďʢʡmőçµcDúł ŤÚń¬ďC*,őŢY}Ż@“âk‘§¨Ł˝÷,WëĂćě27ď\*v©Św©äÍÉÖË쉅Ǵs­˘®q=Ĺ– ˝!1¤¬Kß~ŞäކŔűu’1ý˙űP®(&›V›&T0°sLۨ śâ’ÁéF´VĚÁŤę̰ލŞ6^5ŰQâĽÇËĂ*}6¤+g\łVBm2©ăŕ0ô0Ć Y0ÄfŻ*Łř[ě SEO±+g†őgA;ěχMÉ Vt<-Ź,€Áµś¨íT«-”¶ÉMXŕB”ĆQsX;΋ęW¶őŘ©ăyÇRóäŘmćQuÇŚő–ĚQú_xË3®B‡vLJŔß3ćţ¸ąÖ†ăśV˘ľ4ö:Ű(8Ćş c™C˛$ežu‡‡†ĎŽçâÉQgÂ= eő%™ůČÜŻ;kV]c‹ĽJĽ•Ĺm}KʦieW—ńŇş&űŹß­ámnŘ«éĎ×{ë˙ňM˛ţ> endobj 2222 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [175.63 598.299 216.491 608.773] /A << /S /GoTo /D (structContainer) >> >> endobj 2223 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [190.299 388.404 231.16 398.878] /A << /S /GoTo /D (structContainer) >> >> endobj 2227 0 obj << /D [2225 0 R /XYZ 149.705 747.976 null] >> endobj 2219 0 obj << /D [2225 0 R /XYZ 150.705 670.558 null] >> endobj 110 0 obj << /D [2225 0 R /XYZ 150.705 655.317 null] >> endobj 2228 0 obj << /D [2225 0 R /XYZ 150.705 583.131 null] >> endobj 2221 0 obj << /D [2225 0 R /XYZ 150.705 460.663 null] >> endobj 114 0 obj << /D [2225 0 R /XYZ 150.705 445.422 null] >> endobj 2229 0 obj << /D [2225 0 R /XYZ 150.705 373.236 null] >> endobj 2224 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F14 1998 0 R /F72 2160 0 R /F67 2143 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2255 0 obj << /Length 1684 /Filter /FlateDecode >> stream xÚÝZKsŰ6ľëWđHÍD°xąąN왜Z[=%™ŚJ1¶¦¶äRTÓüű.HP(RĹÄÍô$‰÷oßB¤Ń]DŁëÉ/óÉë+ˇ˘„Ąx4˙C##͢¨ŽćËčC,‰Î@'ńŐnť«Íz[ýĚł‡E‘-«ĹĆ}ŢgŐ—m7íJF%‹™ś~šżźĽ›Oţš0ÔM#Öč$ĄŹ“źh´Ä{ď#J¸I˘ŻĺĘÇ N4łĎ=D·“ß&ÔŮO HűŐ~ÔŢČ1ŚIߪ •‰çŁ”ţ€ď8 ööţX/şŐWş)ŃŇ(«›F3N‰ ĽRŰ( D¸Ď×W@=":Ń*&F‹JŔGŮzÖîb~ç¶óćz}I©â"ź2/Ňěsž»í—ńúsńüĂ XĽX.o­«ó){Ę‚ÇܢŹTŇ})¦ĺĎô~‘ŰeŻŻ zŞň¬ ”W«_1 «×,V‹í”Éř••lâç•(E€é!:PfŃx7D× ¸&<áŃŚ1b¤<]çzńᦱđ•Ć©2ş Z    öK—f '  <Ľ]"wŢü%ÁŠ–Ů6ćŔX1ö${±ŘăŔâmVtzŔĘëu>ţ{ŠzůŻy–v=\¬k¤9‡i{§i Š°D «˘‰&ÎyŁăXä¬Ď«?rń¸Ó¸H ”Ę-íIIüĘa[ŐÎ>śĽ3[E˝·YŃ4‡óâwóĺ¤řżÄ Z¬ÖYŢ’ńs†ěĹ<ÝT7Úó†Ŕp,üúŮh@Ý}/ŇÉßw/‰ËđOń‹)–ŰRPÖâEé.Ďłuqn¬ë<¨IVj5ýé®®]›Ŕ˝Xße/›tSŹĘ;xąĽCŁź6Oč7ÚÜíúů™gwÜË< †Ë‹ —ľnŁů™Íć4J%ŮPštr€˘Č°]8Ć{“Myťž˙ş “ĘŞpsĚS^şÚěÜWv>[:ĘőgÜšŕŽ2ŢśAXkҨF‰·›t÷5`Q^zf˘hĐÁ°€ň «` †8Î{Ú]äű±Ůa9,’|›:5ŃW{žßŇČ0A•ń 6&ĹLhŃ”z§Sw‡śP„˛ ĄÁSˇ Ł"`˙Ż: ±v$‹̭s¤_;·ł Ń^Ín3·¸ËŚĄâˇ%UOJ8†µzRŻyLÉŘłćц Ú˘kk8ÖPoĆj%l»äjěń¸“U$™?]Ťč%Čc¸Ű˛_§ °¶˘łć/á łuËoßí:oŕ0Iź9oPD•ˇ[ť7|_XµBŠŮĄŽ ÁĺU4U2Ęޞđî3”+’˛âĘý!ú༅I|Ž%çęmP‘’‡z/J˝O ŹÜµ2żĘx[.łĺˇˇ·Ž38ĂĐC P„Ŕ5 ě12ö`«„p쌣ŔF.+°AsŤëŔtťfô~žţnĐ}ýŤî C§ű\Ćx؆„ýč¶ř9Á“ŹBŚŚ=úR"µ2#SÝÖLuiÔ*l = ź§¶t_íĹC‘9ÂŤ$ĆźsJÚw—€~ä›}ŠĐfđE?–öŮT€@"«©ÉÜMIĎN;N–j#ý74Ío..ß}ľýýňňÝímX·»4ͶĄdË }vrá–dyľÉë´]Öđ!nů×Ő6룿^G2#° ÍF(ô†ÓS¨‡ł˘“’RŔQI”ôP…"’kož§Ţ´ÖâXHٵjŽ4ěčÖÇý€ÎM›…˘˝GY(SbÍ+ޱOkřÁŘĘݵń†(jN晜S°l#Ë˙k"ĚpŐ 1\f„ýlTő%Łn{,Ád•zdŰł4@Ł,UŇ&M{ŰŢ™j;Ű^ vľzĚú›Zučv„Ń ·ë–Äš•ŚvŚŚ=´şúos4´ńŇłÄ+ýČž§µYOk‰mˇÜě`łAA@ÇQŐQ2öŔâVSů}pUڍşęŐmĄءZ+ý¤};Žv‚Ż÷›í9‰=ÔúCč¤Fr?ýÁ"jçEŃÉ y%Ł~•DĐČ7šw/ŚÂ­q‹\g¸ďÍ;#5EťO Ťwnł/ž÷Ö PŐ7F߀yî×KëjŢZJ^ĄµĽ„Ć–Vz÷E˝ÔRĆëůuÉ`Ę XAߪďo7¶ń˙óí®¤`Yx:‹Ř˙ äaŽ endstream endobj 2254 0 obj << /Type /Page /Contents 2255 0 R /Resources 2253 0 R /MediaBox [0 0 595.276 841.89] /Parent 2183 0 R /Annots [ 2230 0 R 2231 0 R 2232 0 R 2233 0 R 2234 0 R 2235 0 R 2236 0 R 2237 0 R 2238 0 R 2239 0 R 2240 0 R 2241 0 R 2242 0 R 2243 0 R 2244 0 R 2245 0 R 2246 0 R 2247 0 R 2248 0 R 2249 0 R 2250 0 R 2251 0 R 2252 0 R ] >> endobj 2230 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 650.798 181.747 661.272] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2231 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [181.918 650.798 238.658 661.272] /A << /S /GoTo /D (group__statef_gad5c4b3bad6aa9c83a9e8562664fe626a) >> >> endobj 2232 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [161.308 624.087 182.143 633.714] /A << /S /GoTo /D (structState) >> >> endobj 2233 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 610.947 181.747 621.422] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2234 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.639 610.947 217.529 621.422] /A << /S /GoTo /D (group__statef_ga7d0ee8cd70600ebfe5173c6385f6f35f) >> >> endobj 2235 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.407 610.947 254.064 621.422] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2236 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [165.795 585.77 186.629 593.863] /A << /S /GoTo /D (structState) >> >> endobj 2237 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [202.583 585.77 239.558 593.863] /A << /S /GoTo /D (structContainer) >> >> endobj 2238 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 571.097 181.747 581.571] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2239 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [181.9 571.097 224.268 581.571] /A << /S /GoTo /D (group__statef_ga4ecba7c24b51e26839795ae837339af0) >> >> endobj 2240 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [227.406 571.097 260.063 581.571] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2241 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [199.066 544.289 219.9 554.012] /A << /S /GoTo /D (structState) >> >> endobj 2242 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [316.889 544.289 337.724 554.012] /A << /S /GoTo /D (structState) >> >> endobj 2243 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [353.678 544.289 390.652 554.012] /A << /S /GoTo /D (structContainer) >> >> endobj 2244 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 531.246 181.747 541.721] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2245 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.247 531.246 220.131 541.721] /A << /S /GoTo /D (group__statef_ga303c63c84b39511c9cf9d27c2dbea79e) >> >> endobj 2246 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [223.617 531.246 256.274 541.721] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2247 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [177.326 516.491 198.161 526.117] /A << /S /GoTo /D (structState) >> >> endobj 2248 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [214.115 516.491 251.089 526.117] /A << /S /GoTo /D (structContainer) >> >> endobj 2249 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [124.82 420.173 147.749 430.647] /A << /S /GoTo /D (structState) >> >> endobj 2250 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [142.618 222.233 165.547 232.708] /A << /S /GoTo /D (structState) >> >> endobj 2251 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [183.495 222.233 224.356 232.708] /A << /S /GoTo /D (structContainer) >> >> endobj 2252 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [161.556 157.053 202.417 171.001] /A << /S /GoTo /D (structContainer) >> >> endobj 2256 0 obj << /D [2254 0 R /XYZ 98.895 747.976 null] >> endobj 2257 0 obj << /D [2254 0 R /XYZ 99.895 717.021 null] >> endobj 118 0 obj << /D [2254 0 R /XYZ 99.895 717.021 null] >> endobj 2258 0 obj << /D [2254 0 R /XYZ 99.895 669.514 null] >> endobj 122 0 obj << /D [2254 0 R /XYZ 99.895 502.247 null] >> endobj 2259 0 obj << /D [2254 0 R /XYZ 99.895 477.095 null] >> endobj 126 0 obj << /D [2254 0 R /XYZ 99.895 477.095 null] >> endobj 2260 0 obj << /D [2254 0 R /XYZ 99.895 405.005 null] >> endobj 2261 0 obj << /D [2254 0 R /XYZ 99.895 282.537 null] >> endobj 130 0 obj << /D [2254 0 R /XYZ 99.895 267.296 null] >> endobj 2262 0 obj << /D [2254 0 R /XYZ 99.895 207.066 null] >> endobj 2253 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F14 1998 0 R /F67 2143 0 R /F72 2160 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2274 0 obj << /Length 1235 /Filter /FlateDecode >> stream xÚÝYMoă6˝űWđ(5wřMî-Mł(°ŤÝ^ŇE Ęʚة,7Íżß%9’C+–ĺŘ=ɱÉ7Ź|ĂáĽČ r>úy6úđIjb©ÓZŮ5a ¨EڰT!ł9ąŚO¸fZGż.çëű˙26úe™¬ŇEçwËĹřëěóčl6úgÄk Ij9#ÉĂčň+9ţř™Î’'?ô)¨aĹÄ{2ý6‚ŠŢćIą*>Źš´j’–C9b iV’ľHóu¶XybŰ€>qhηTJI&ř.Ęéł‹“Ół«éď§§gÓią`\Ą®ÖI’®<2˘MŁN©rÖI5$ͲeV~L–ójĂ–ůmš=Ý­Ň’SkQ[+š0”,™HŽ›WÉ ¨¤ŚŠbö–j‚Q©’ńăň,Nҫ̯˙*ÇŘÂDŹëŐíĄJ«Ů­íC­eőô?AA †¦Ú™zĚżcQś}ÉҤjx“*.ů†ÎÝnč§@lΨ’őČdąXU|“±‰n㬜Á$q8kî¨ŕň…,Cč çÇŁP} lŠ=áVQˇY;‡jÜv“`úí]®Ű’݇ôÇ´ őYëĚlť•‰cÔÜ%ŐĘ•“¦qŽTTĺ:¦z•ţë,Ă"QA…!»©*ÄĹů\úA›ĚÜD­~¨Ź\\ťĽç°¨Ák˛u ÍéM+ vjΰĘńĘb˙`qÄ1aÁ±ĚŘÇĺ6¬m3ě@—ÓźW@ÄĐÝ ˛‡¸CAĽ¸¸C7ë(âbgŇíărú‡íărZDŢĂĺô§1x7Ć90Äç0ĘŔĹĺŔÜ©=mΑâ7#ďđ9‹´čWž†žţ”ŞnüĐŇŢŁŻĺáÚPóťž®‰Z7p}ŢËŐŻ 5ĺâ"ËĐzŻ ť¦ *3}žb¦`ÍŰKšŤDućťňęŻë"3ëuz令Ƴľ«ń[ś×C Su>;÷¶˙âŻčą~s9ý÷|ă}JşŘެo(U|é endstream endobj 2273 0 obj << /Type /Page /Contents 2274 0 R /Resources 2272 0 R /MediaBox [0 0 595.276 841.89] /Parent 2183 0 R /Annots [ 2265 0 R 2266 0 R 2267 0 R 2268 0 R 2269 0 R 2270 0 R 2271 0 R ] >> endobj 2265 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [217.583 598.191 240.511 608.773] /A << /S /GoTo /D (structState) >> >> endobj 2266 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [348.498 598.191 371.426 608.773] /A << /S /GoTo /D (structState) >> >> endobj 2267 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [389.374 598.191 430.235 608.773] /A << /S /GoTo /D (structContainer) >> >> endobj 2268 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.366 533.011 253.227 546.959] /A << /S /GoTo /D (structContainer) >> >> endobj 2269 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [180.615 377.646 203.543 386.417] /A << /S /GoTo /D (structState) >> >> endobj 2270 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.491 377.646 262.352 386.417] /A << /S /GoTo /D (structContainer) >> >> endobj 2271 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.366 312.466 253.227 326.414] /A << /S /GoTo /D (structContainer) >> >> endobj 2275 0 obj << /D [2273 0 R /XYZ 149.705 747.976 null] >> endobj 2264 0 obj << /D [2273 0 R /XYZ 150.705 670.558 null] >> endobj 134 0 obj << /D [2273 0 R /XYZ 150.705 655.317 null] >> endobj 2276 0 obj << /D [2273 0 R /XYZ 150.705 583.024 null] >> endobj 2263 0 obj << /D [2273 0 R /XYZ 150.705 448.201 null] >> endobj 138 0 obj << /D [2273 0 R /XYZ 150.705 432.961 null] >> endobj 2277 0 obj << /D [2273 0 R /XYZ 150.705 362.479 null] >> endobj 2272 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F72 2160 0 R /F14 1998 0 R /F67 2143 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2286 0 obj << /Length 1588 /Filter /FlateDecode >> stream xÚ˝YËnŰ8Ýű+´”1ĂË7»Ë¤I€®:Ť;›¶(4¶’H쌢´ÓżźK‰’)ëaË*ş’l“÷Ásxy.MهF·ł?—ł‹ˇ"C¬RĹ’Čů‚i߼nWůf·})?féc’§ëňCľóĎoiů’ÎAĆßÓmîFSmL zţeůnv˝śý;ôO#ŘűÄ0VOłO_h´ĆßŢE”pk˘Ĺȧ N4¸yŹŃÝěŻő9P¤{uŹ*##@†)QM¨4AJ@)mäÄœωU9±"'đ9ąLşC(ýS˘ĄUÎ?ŤśAyézď°aÂ?/n ŕE´Ń:'V‹ŇŔgĆäÁ\·’Ů_Ň·łčÓBJçŮhś¬ŇŻYšżfŚ·_óă“8YŻŻżĎq¦»śŁńĎç´1ŐüL%]a>9ÚŻľ%™vq"˛ +V4.ʞ8±L‚R^Žjä+5PŤI7É‹cŃh™Óř¸%‰lŚ´d7ĆÓ1ŹÄJyşĎmň”â˘A”ƉTY]—€eč Ź˙ĺÚoąd[>kĘŹŤtHĂÉATŽVĚş ^~˝44čŐb•f«ü÷m q13ÉŢgéŞ=â|óT©y &ţŇ&ن€Cś<ŕËI.›Â±ÜlÇń™FCÖłNů‘={_ů¨íP®ëă©ě\¸2'NĄ§çâ`±\pK¨Ážrţ8(×e=~»[˝>ˇĺ¤řęHIާŚ™ ˘‚Ă€rm§!"¤¨!Ďj®;šc°Hc·ĘžĆž€ş<`AIę7Xä…  µ/n4 #B{JÖ9žă ۾iM@¦‚ kŰ\ÇÝ„ÁĹçÚ„i„  đĆ..Úômn’¶ó3 !ÖÍň\Ü ”8e˛‰Ůc®V? d D» UĐÓž¸ˇNˇü‚‹; —ź@UéßĎ™@¦ái”§™S6Ý’¤ŰţáŻ]ŞN(F¸9˘ęQEĺ-UÝŻµ%PgDbÔLÁá%OJ…Ž,j]Ť$Jb.4ÚâÄ6`KÔ‚Äi`Îu{ ‘¨2n—Ĺľ?ۨZšBŕ[ňüśzťŮOŕ‚q`gÄ׆MĐaÇ!žbنŐŃ|:ÄqX÷UPáú>Ďk7Â×˝†+ÜݢÝđčđÚŕ  …%iŔSlÔ3<§Áţ€–xŞö'Č£ݶëća WH˛Ů¦Y[Ň:čż­źłÝúuU÷Ýc)1:ź6śheĺ$FL0Qđ,Sj!„ Ő´pŤ¶d <Ŕ‰ó:Ř6Z®?6qńń6†ox‚;+lĵŕô=ÇBĄźvÇb@{ |RV°.Ż®żŢ}Ľşşľ»ó`xőőňşZĄ/…e×H„ęňŇIłl—•Ż«ÝşQĚ~l^Ňľ.(k 1$ěń#†…]agt)˛ŃĄ,窾Ę9«¸+AňF·˛Ęîµ»ÍBbx\5ٸßélPąsŐjä°fgf”÷ňćÇŻE_ ç…„HĘ.ÜH˘¬=č.zĂC@%Ŕ–Â]u- ',\ĺ#ý„.—ĺÄ~âčýŃi-† –ËßÔb`?‹ źTš&٨N#ÔŃÄj3Qž(bpß3ÜŃRÉđ´÷,:ÓoçYÔđ{Yřm”ľˇfŁ['W‡Đř(Ű(ˇ ­í4¤§Ř¨‘ÜúHĐIH%»Z†OĐuÝŹřyţ»ý÷4«Z–Š’—.: ô›ă#o#&݉ă,bŁfĹJ¬aâ~ÇóË2ُď«ŰČŞđ÷€žŰnđC·—ŹyęŻđ“|S‚éEgňtZzJ~=4Aő´öă #Ĺ((ô¤Ř41ĘÎŁjĽ8`¨óĎlőݞB¨•ţ‚µŠPé˙&¸M±˘ě˙>®ZÎ-Ť«ţçňŮ΄R`ĺĐ7ĚľaţÓ˝k‹Ş, Ë›UeĎĐŘ)âŕ·$݆:…{»Ľ-dTńĹ?ÎĐĎňýíαűżź…:L·‡Kő?ˇ\ď endstream endobj 2285 0 obj << /Type /Page /Contents 2286 0 R /Resources 2284 0 R /MediaBox [0 0 595.276 841.89] /Parent 2294 0 R /Annots [ 2278 0 R 2279 0 R 2280 0 R 2281 0 R 2282 0 R 2283 0 R ] >> endobj 2278 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 650.798 181.747 661.272] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2279 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [181.713 650.798 240.219 661.272] /A << /S /GoTo /D (group__eventf_gae35aeab2cfbacf978c03ea8f0811b82e) >> >> endobj 2280 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 610.947 181.747 621.422] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2281 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.189 610.947 221.84 621.422] /A << /S /GoTo /D (group__eventf_gaecd7c28a19831d32ef05f5af0469b434) >> >> endobj 2282 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [225.268 610.947 257.925 621.422] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2283 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [161.556 424.523 202.417 438.471] /A << /S /GoTo /D (structContainer) >> >> endobj 2287 0 obj << /D [2285 0 R /XYZ 98.895 747.976 null] >> endobj 2288 0 obj << /D [2285 0 R /XYZ 99.895 717.021 null] >> endobj 142 0 obj << /D [2285 0 R /XYZ 99.895 717.021 null] >> endobj 2289 0 obj << /D [2285 0 R /XYZ 99.895 669.514 null] >> endobj 146 0 obj << /D [2285 0 R /XYZ 99.895 571.598 null] >> endobj 2290 0 obj << /D [2285 0 R /XYZ 99.895 544.841 null] >> endobj 150 0 obj << /D [2285 0 R /XYZ 99.895 544.841 null] >> endobj 2291 0 obj << /D [2285 0 R /XYZ 99.895 474.536 null] >> endobj 2292 0 obj << /D [2285 0 R /XYZ 99.895 339.713 null] >> endobj 154 0 obj << /D [2285 0 R /XYZ 99.895 324.473 null] >> endobj 2293 0 obj << /D [2285 0 R /XYZ 99.895 252.287 null] >> endobj 2284 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F14 1998 0 R /F67 2143 0 R /F72 2160 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2311 0 obj << /Length 1947 /Filter /FlateDecode >> stream xÚíZËnŰFÝë+¸$h2ďGv®kZ ŤŐU,Ĺ8Bd)Ąč¦ţűŢ’ŇPJ"-ĐŤ)‹Ă{îĚąo GŹŽî&?Í&ŻoąŚ42R˛hö9"#…E¤F«h6Ź>ÄD'S*‰”ńŻëůó2‡˙”Ž^gĎOůŞLËĹz•|š˝ťÜĚ&NHĆń$q¤)‰˛§É‡O8šĂÍ·FĚčč»[ú1Î"öÁet?ům‚kő0˘Â~´—FYŠ !˘Ą-V ]i+L¦cß>Ż2«Ü¦:.ňeZćóęźr]]—‹Ő׍Ó>ŚZAŚ0ŇBâhĘ0âU`;–úúú–b˙p%RZE€‹Śâ•€Ź”Š˝gíéŹő1ľż›D¦Bȸ,‚ă4ËŠĽ|.@}Ż?”§źçBÄé|ţ lv–Šă—oyë©zÍG,p¶ˇ«M™¸o˛/iaWľľ%<2°ęŽ(Џ†G«M`ĚŞE­ýrd4mÖ¤ËEşI_`câl]cđ. € šťAš5«ô)ď1Ą\‚ťËhJ2Bś˛ËÝQVÖ+jL÷1Ś©9€Řăč6Ev=ÎhÄąésŠó|S¶đŔ*H‡}KR°4Ęť&ŃŕČÔž&äµ…_Íç•‚i-#`źö¶5Î}›´ß·¶ŤZ+öva‹đŕ`‚ü{g8ĂÁÖń¦¦Çeh+v…uŻÎC˙J0-Ţyz¸\lŤ›ÁĄfŢŢé`žb7ý¨/wÖu†”H^qŔ:NK<¬ć”@*7”őĘŽĐéé?˝\Fb$…ěë2ç‹Dź T–±ěł¬zEÎŻ řXn˙ĽśííÜŚ@oyűýÖ †:ýż×Ç™ŽóŐ<čÜLŤpnxŘwnA·ŽÇĹ ^Řżb°ű0ŞÓ’bJ÷hü{+ľöoŽ”2í<űż˙üf5ëŮG ě)3¦m„Ú–ôěőUů~Ř„)ăwGmĺ6`<ůTgŘę‡A\lş,¶‘cő`bKć6˘ÔĄµÜVÖ{€„Ř]©c+¦–7\¤,Qqn%Ő!ÝŠzĐqÖŞ¶_đ)¨öśő4:b­ŕ4:mŐá@WÔ@ ®ú+pjűPĄÄÝ 1®Ž­iéŇz]&ĺľJ`]ÇU’üô™Pą‹QÖůęBţ„BĐÖň—RhWćwZ­c‘ó{qă 5CŕNżr-}ńę˙¨‡O12P¬.†Ő廄rČÁ`śeu‰Ă]{XţţÝŕ°S¸B9:쀎“Čí°ăB ćÇ CŹ ĺ•§T2Ü|Ĺ%€mĐŇĘĹHnó€Ň~0îˇŘ@맇ⶠ‰I۸W×Ů„ ţp-żÔŁ(;Ä©żj-ĺ¸QP:@ą; A:Žâ±B,ĹĚHD™I1CRe¦Â ßť „ 2Ü‚˝ZZ·t9¤sWŐüVůÄQ˙y őýµ>dÍĘŔĚŚŁ~´G=ЦˇÄE˝‚ČfČRIh¬ŐmĂđĂ6ŕăď°[tgë§§ĆëÓU™«ęă–Ű‚ąL«Ľ8ÂoŤÔYg9.ă ţÇ qü+‚#ăř1\şŃ‹ę5v›Ŕ0Â&ŕ«Đa[Źß¬ź‹,?źřŢz8¶´GüX!Žx®Ą'2eüş“wiE€>’BWÁŰĹŕÔµëP€`˛WIźc” [„ŻÜ)‹°Ę/ViÝži}u Ęm==˛ äřë1Źh´`Číp¦šÔ/¬Ţ»ćőĽ×UöÍ·S}ĐÖTĽżşľy¸˙ýúúćţľ]Ťmž3ĚN˛íŻýIîU˝$/ŠuŃP4oč‹ď‹MŢ5đŠz©BÖ”S(üá˘ý›wÎýqŢ&X´ÚőCůiĆĽö|{ťăÖ’MÇÚcâHŰëý@ף˝—'[?˘xk xLr|ÖžB=ŘZŔôđlČCz Í#ąL˙-Ú#Ĺŕůď]h.;öîYĘ…đżşvţ% Oéů >ČU{š÷&”˝& ‘ćEÄĺ' J%ŁF&ťŃBl)B¤M+fdű ¦YÂÖ$ /µŻÇu«î÷ŰDUÓ,VŹ ü/+ °7*/·źlť—®ŞŰŐÁ–«öŽ5{mšĎjĹĽúŇď?üę×{á´Ú¦ł°©ő=¦€‘P(\„iic…8K#iĚĆEĂÁÔ@&4 L›Ý«ŢnK†6,őľß̡ż@†ÄĂ€0¬Rźa6ż …zĚ5âp2ڻ߄Ú¦¨[ó»˘ţUĄ× ÎăçúŔ®ľŐ=ĺőZ}"ř 5ohýßg[•6 ˘“ĽČyǶóîĄełÔşíÝěÎą—űâ÷ž»ů™jÂpü÷ËŁkxňöKb`ď˙gÄĐ endstream endobj 2310 0 obj << /Type /Page /Contents 2311 0 R /Resources 2309 0 R /MediaBox [0 0 595.276 841.89] /Parent 2294 0 R /Annots [ 2295 0 R 2296 0 R 2297 0 R 2298 0 R 2299 0 R 2300 0 R 2301 0 R 2302 0 R 2303 0 R 2304 0 R 2305 0 R 2306 0 R 2307 0 R 2308 0 R ] >> endobj 2295 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 650.798 232.557 661.272] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2296 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [234.64 650.798 286.888 661.272] /A << /S /GoTo /D (group__linkf_gab4b69cdd6b0fc990a2d99835c4bd3c89) >> >> endobj 2297 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.117 624.087 228.91 633.528] /A << /S /GoTo /D (structLink) >> >> endobj 2298 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 610.947 232.557 621.422] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2299 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.324 610.947 269.558 621.422] /A << /S /GoTo /D (group__linkf_ga75cf70450e81381decb2e84c3e6e18bd) >> >> endobj 2300 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [273.311 610.947 305.968 621.422] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2301 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [215.127 585.77 231.919 593.863] /A << /S /GoTo /D (structLink) >> >> endobj 2302 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 571.097 232.557 581.571] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2303 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.588 571.097 266.98 581.571] /A << /S /GoTo /D (group__linkf_ga9e084fd160fd4f7357f6acf4eb541606) >> >> endobj 2304 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [270.998 571.097 303.655 581.571] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2305 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.117 545.992 228.91 553.827] /A << /S /GoTo /D (structLink) >> >> endobj 2306 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [175.63 448.068 194.066 458.336] /A << /S /GoTo /D (structLink) >> >> endobj 2307 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [175.63 203.295 194.066 211.779] /A << /S /GoTo /D (structLink) >> >> endobj 2308 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.366 139.707 253.227 152.063] /A << /S /GoTo /D (structContainer) >> >> endobj 2312 0 obj << /D [2310 0 R /XYZ 149.705 747.976 null] >> endobj 2313 0 obj << /D [2310 0 R /XYZ 150.705 717.021 null] >> endobj 158 0 obj << /D [2310 0 R /XYZ 150.705 717.021 null] >> endobj 2314 0 obj << /D [2310 0 R /XYZ 150.705 669.514 null] >> endobj 162 0 obj << /D [2310 0 R /XYZ 150.705 531.748 null] >> endobj 2315 0 obj << /D [2310 0 R /XYZ 150.705 504.991 null] >> endobj 166 0 obj << /D [2310 0 R /XYZ 150.705 504.991 null] >> endobj 2316 0 obj << /D [2310 0 R /XYZ 150.705 432.901 null] >> endobj 2317 0 obj << /D [2310 0 R /XYZ 150.705 273.77 null] >> endobj 170 0 obj << /D [2310 0 R /XYZ 150.705 258.529 null] >> endobj 2318 0 obj << /D [2310 0 R /XYZ 150.705 188.128 null] >> endobj 2309 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F14 1998 0 R /F67 2143 0 R /F72 2160 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2324 0 obj << /Length 1334 /Filter /FlateDecode >> stream xÚŐYMsŁF˝ëWpUŃdľ?öćx˝®Úä°±”\ś-AŘVŮFŕÝřß§„†Ńr1ČĚĽ×ôëéîppŕŕröËjöó'.ŤŚ”,XÝĆ mD F«`µ®çÉpA•žzIăbłMóęg–m*÷­“ĽčşFôTZŠŰ´’"!Ř>íG Ý¤‘Ő«R&ަE´I“¬k ď0B'ÓŃBŽĚ0Äq-NŃč©)RÜřéÉ9€!5ř‡ÉʱßB*ćŃ〤Óű%m3˙* Ě/I%čöÖ-˝űd·öÄmVWm­ňÓÖ˘‘VŮÂSZ‚¤!€ĹŃ´rđCHń<±^äťĆŢ/o›ý×7ě{9ő)*âű­ó"ĘÂL(ŢĄýh›»Â1ŇOüńuŇÇáí­˝Ô…K´ —X©L‚CÝząJŠ— Ş•uK㮇‚hÄoWLť««łó‹›ĺççËĄ[r.—ć/qśä%2 -śçĘYgnH’e۬μëzÉ‚~Ů÷MžT6í˝ÓÁ -“L°ŕ ĄnJ1"ŮŮ…›ÄcĘqEĹÉMVľ˙ŤŤN\Ä@tżąX9`$")IŤń¸‡H"ĄT=曍Ö(ű’%q5TѶMPâ!¸k›6Oŕ‚ç?őpSXŤĽˇ†R•;«ăPÍšBx`` •%şAóťµő Ჱŕőů Ć Ć`Kp÷‚jڦű‘TAő°DľíLCóĚŠ÷ŮA`ńŽ §áoś`űˇ#P÷K^ěă‘—'Jüţö! ‰¨ŞK—žŇÖÚ#{ië ]AŔH¤ą‚ޤpŮayP"a3pvçRńŐĺ,¸.×i !´ź,†`‘`C”ą”ů%¤ňAô”ĐgH:˝É·˙điß¶ĂKż*ä…Q÷ 0PY˝· "7qŁ[iňhó1‘¶·ůŘŁ]•ŮąŰN4ůńcĽi]eB CĽ­®FŁ®âŕ"}’Í Wjo• ăęNŁíW·M» ‰m+ź§íĆ›ŐU 0~Ęú`4Ę \–™Áw”eđMaĄ@ Ć5Ą}@ر¬Ý¤= tŰŽó˝]ţ.łC©ę#€Mz«™ĘJű ZęöÎv}QZ=ŽRhr ŰĹÚ'6hě5ßľdqRŹXW˙\·Nzšâćěˇ)lý6ÖMÝě·Cőh˘Ś©Ëo‡Ę ĚŔ)°Sĺő1Ďâ(›ĆÚTmÖĄ“üťÇHăíčŠŇs·é…Ń(Iśž¦Pčë­Üđ±ŕDÚ~)Ű´SŽÇÓŐ ÷¬ě>Ťž„!˘őIŽ9±›ańÎcÁ‰Ěý’¶™ýŽÇ›Ő†Pd´gq÷ÁhÄ…«fü$sÄ)q08‘˝_ŕ6ű¨Á$]żKöŃĆv%É<‹íxŚ‘'‚L*đ¤řźśl} Öb3ć‹Yý}O"Ş$o}ß3Z·7¸L ůď>äŐ/´ ž×9ĺěŮNą»bB«;‚?Póş_·6Jë·,‘7qŤ§ńÜK¶žEE=Ô¶ť—«Ë˛=,˙ńw+Ü?nC†ç˙ľŢ•‡wIzčŞ˙ď‹[Ř endstream endobj 2323 0 obj << /Type /Page /Contents 2324 0 R /Resources 2322 0 R /MediaBox [0 0 595.276 841.89] /Parent 2294 0 R /Annots [ 2320 0 R 2321 0 R ] >> endobj 2320 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [128.164 526.388 146.601 535.159] /A << /S /GoTo /D (structLink) >> >> endobj 2321 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [161.556 462.8 202.417 475.156] /A << /S /GoTo /D (structContainer) >> >> endobj 2325 0 obj << /D [2323 0 R /XYZ 98.895 747.976 null] >> endobj 2319 0 obj << /D [2323 0 R /XYZ 99.895 596.943 null] >> endobj 174 0 obj << /D [2323 0 R /XYZ 99.895 581.703 null] >> endobj 2326 0 obj << /D [2323 0 R /XYZ 99.895 511.22 null] >> endobj 2322 0 obj << /Font << /F46 1592 0 R /F67 2143 0 R /F20 1558 0 R /F45 1590 0 R /F72 2160 0 R /F14 1998 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2350 0 obj << /Length 1740 /Filter /FlateDecode >> stream xÚÍZMoŰF˝ëWđHŃzż?rsÝŘ@€i¬ö’CŃŽYJ)*mţ}g—¤DRKšŐ¤'ZćrfvŢŰŮyKâŕ)ŔÁÝě—Ĺěę–Ë@##% Ź),Ĺ4’X‹eđ!¤8šSI¤ Ű.÷ë~)ţşMöĎé&ŹóŐv}ZĽť˝YĚţš°ŚRłÄ‘¦$Hžg>á` 7ß1ŁżÝĐç€q†±®űŮď3\†‡öO{©‚ˇČ"Ńb…°ĐE´©hN0Ćáí~“Řŕv0Őa–®ă<]?ňmqýĆŮ*ţ©pťîÜDüŢÁŁ0ŇzÇÁśaÄ1+ü˝5L”׫[Šëy–Hi@Č(^řH©h=k™=•}7 >Ě…ažE‡q’>diľĎ`&"ÜD$|Č_~žĆËĺź‘ Ů""‡ßż¦ŤÝ0~Ä'0ˇ€@‚Ť*ż/Öşí#¬D”Óf%ľak¶Ĺ7÷Óő—ˇóöŇĘ^ŤĂÝţs1xä”Ŕ0` áq‡áů‡Í‘_¦ŹĂR±1±Áá!>€Ă°ą_®ćZWý†ťäâľßŢUřç}d~̶ϧso?yś7W›§‰¤=ž`C3‘SŤ8R0h¤F c{V@šŮdŇčÖ{xqžg? ęž‹ŢŕĐQÄËeoA† °Aűm €sĽ‘ţŁţzŰ)‡Î‘a i*Ë{×Î;oׄšĂÓjŹ}}óćáţŹ››7÷÷eąÝ×Ý>IŇťłlG]Ă]—CŇ,ŰfQą.—Uą†%™ý˝ÚĄ]r©ÖŻ!\âiZ—KŽ—3Ś·äĚÂ^Ę-¬ťKč%“ ]3çRş|0ÖÝĺs{–řr›Ź•lśö{5ô}„µ5FŻwĐ ¬Çxwď:UŽ@Bń"3L€÷MSĽ&č„…ID¬L¤‚¦Yt*“˙üÂ01Š—‰%FÄ3:­M6b÷$Â5˘JMlTah AÍ!-yýÍYçŽt¦_ďŽÔđ{íü6jäaâo˘«Ťk|´¸ŔVčd#s•‘˛i$˘lÚłây»ŘýyîýĐ×Üw’¤Ń¨úá‘°ˇ(źďT#^Ęş˘’V4Uî á¸?uŁz–W?¨uŻ×k[„Ý‹8_ą\\ě—#´ç…>v ÁSd"Ć©6Ź1¬Ýać[Şďm`§W¶˛8Ś»ďlŚ„¶¶¬µw),«ňK•Z˝]D‡•$¸ţZöž”—WLhńÁŻ©yMË_ŹĄŞQu–WIeOăĐö‘µ{q^ µ]áÝâε!îîďŐ§?Ăá?ßź\c•6Źď˙Ź„*6 endstream endobj 2349 0 obj << /Type /Page /Contents 2350 0 R /Resources 2348 0 R /MediaBox [0 0 595.276 841.89] /Parent 2294 0 R /Annots [ 2327 0 R 2328 0 R 2329 0 R 2330 0 R 2331 0 R 2332 0 R 2333 0 R 2334 0 R 2335 0 R 2336 0 R 2337 0 R 2338 0 R 2339 0 R 2340 0 R 2341 0 R 2342 0 R 2343 0 R 2344 0 R 2345 0 R 2346 0 R 2347 0 R ] >> endobj 2327 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 650.798 232.557 661.272] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2328 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [234.968 650.798 284.096 661.272] /A << /S /GoTo /D (group__varf_ga7c621d853b9d0058a065db58cdb94ec8) >> >> endobj 2329 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.117 624.087 243.104 633.528] /A << /S /GoTo /D (structVariable) >> >> endobj 2330 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 610.947 232.557 621.422] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2331 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.298 610.947 260.575 621.422] /A << /S /GoTo /D (group__varf_gac897f3ccddc88ce6bd46ca6594cc5605) >> >> endobj 2332 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [264.302 610.947 296.959 621.422] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2333 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [462.755 610.947 495.412 621.422] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2334 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [209.874 585.77 240.861 593.863] /A << /S /GoTo /D (structVariable) >> >> endobj 2335 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 571.097 232.557 581.571] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2336 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.014 571.097 263.286 581.571] /A << /S /GoTo /D (group__varf_ga305787a5e14f17a2a0961be702c4ff25) >> >> endobj 2337 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [266.729 571.097 299.386 581.571] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2338 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [462.755 571.097 495.412 581.571] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2339 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [249.149 545.992 280.135 553.827] /A << /S /GoTo /D (structVariable) >> >> endobj 2340 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 531.246 232.557 541.721] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2341 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.066 531.246 262.836 541.721] /A << /S /GoTo /D (group__varf_ga573290384c5fe8b600fc999473117067) >> >> endobj 2342 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [266.331 531.246 298.988 541.721] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2343 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [462.755 531.246 495.412 541.721] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2344 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [278.207 506.069 309.194 514.162] /A << /S /GoTo /D (structVariable) >> >> endobj 2345 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [216.775 410.002 250.984 418.486] /A << /S /GoTo /D (structVariable) >> >> endobj 2346 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.366 344.822 253.227 358.77] /A << /S /GoTo /D (structContainer) >> >> endobj 2347 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [175.63 187.753 209.838 198.022] /A << /S /GoTo /D (structVariable) >> >> endobj 2351 0 obj << /D [2349 0 R /XYZ 149.705 747.976 null] >> endobj 2352 0 obj << /D [2349 0 R /XYZ 150.705 717.021 null] >> endobj 178 0 obj << /D [2349 0 R /XYZ 150.705 717.021 null] >> endobj 2353 0 obj << /D [2349 0 R /XYZ 150.705 669.514 null] >> endobj 182 0 obj << /D [2349 0 R /XYZ 150.705 491.825 null] >> endobj 2354 0 obj << /D [2349 0 R /XYZ 150.705 465.14 null] >> endobj 186 0 obj << /D [2349 0 R /XYZ 150.705 465.14 null] >> endobj 2355 0 obj << /D [2349 0 R /XYZ 150.705 394.834 null] >> endobj 2356 0 obj << /D [2349 0 R /XYZ 150.705 260.012 null] >> endobj 190 0 obj << /D [2349 0 R /XYZ 150.705 244.772 null] >> endobj 2357 0 obj << /D [2349 0 R /XYZ 150.705 172.586 null] >> endobj 2348 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F14 1998 0 R /F67 2143 0 R /F72 2160 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2366 0 obj << /Length 1256 /Filter /FlateDecode >> stream xÚÝYMoă6˝űWč(k.‡ßÜ[š&öPlď^ŇEŕ(Śc ¶·˛Ň4˙ľC}E¶ٲÜEŃ“d‹|óČ7ňI44Ś~™Ž>^ b•âÁô!°–+Í QTÓűŕ&”DGc¦MxůĽŠÓĹzµÉ&îi–şűüGşÎŻEچłd1»‹€†Oη»[’í…Ůą(±Ö“ă8§,'÷%bΖ.uIŕ­ ˝÷i[Ő’šeş‹–" TU´N ”ę1%Ó®›çŮ“cdŐW_-°Üsˇ sxmU6J6HěćذŰUU1"%ß;ÍŠA¶Ą<ş¨–»ů“×ÎÇŮjî6Mž'Ž;‚gS%„ŕXb)=Ł’Z¸ÖKÍQ? D— 9«ďK}\Řv©ëa§ ”YíÍvż‡t_ęŢ<›2 M¬ćä‚QIÍ%1`O#5nG‚Ę·ť¦CęŢa›EżCü:‘s$2[¬\ҶÄůĂĹj>0%zʧ)'B¨ný)1ŁJ ÜÝ„’ĂRBBńÔ(™&T˛ę ‹#Â;Yq\äö¨GţÍy_˘ťÍ˙4Ő 7é¦lţ<ˇÔ0éűcôô4Âb~Hő˙ö4˘ż§žó]‡§Dâôíő4÷4Bęi4ćĆŽĄ@ÂÝ–‚™ý–‚šCMÍQ l®†IőÔŐ<ßmŇÄż˝Ĺ•żi«PÉzy2˙s´Ýźdw¸d8łĂŠá ŚräÖŔI Ź­$Ń`xŽ Űş n…ígxĹË·Ĺ*NÜŇ­ü ¸w÷Ŕţś›’!„6lěC0*Ůńŕ şÔÁ'bŽ[Ăâv€ů92l»ěő°'6?ýy6eBÁ†˝Ń„QI ’0-N#5oŚ:ÄűôŹÚÇűÔyüëÓ8M1‚vCěO!UBPF,;‰óáTeGŹĂśĎqŰ 8?T'‰MýČŃYĐűňięzß·–}šöÇčéiÂĂ& üNĂŽň4Şż§é855x"¶}>m•ĺ._%jĺ¬BźWě‡ĺăíë[9 idiXfŐŮŹ‚8Ĺ•Ëď€~bö+~=řZRŽ2C^Ä%žˇˇ7Vµgł´lę=Ód:ÉNŮŮYQzÍď]Gś†żÎ3âV»Ső¬oV› endstream endobj 2365 0 obj << /Type /Page /Contents 2366 0 R /Resources 2364 0 R /MediaBox [0 0 595.276 841.89] /Parent 2294 0 R /Annots [ 2360 0 R 2361 0 R 2362 0 R 2363 0 R ] >> endobj 2360 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [122.328 600.002 156.536 608.773] /A << /S /GoTo /D (structVariable) >> >> endobj 2361 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [161.556 534.822 202.417 548.77] /A << /S /GoTo /D (structContainer) >> >> endobj 2362 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [198.253 379.457 232.461 388.228] /A << /S /GoTo /D (structVariable) >> >> endobj 2363 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [161.556 314.277 202.417 328.225] /A << /S /GoTo /D (structContainer) >> >> endobj 2367 0 obj << /D [2365 0 R /XYZ 98.895 747.976 null] >> endobj 2358 0 obj << /D [2365 0 R /XYZ 99.895 670.558 null] >> endobj 194 0 obj << /D [2365 0 R /XYZ 99.895 655.317 null] >> endobj 2368 0 obj << /D [2365 0 R /XYZ 99.895 584.835 null] >> endobj 2359 0 obj << /D [2365 0 R /XYZ 99.895 450.013 null] >> endobj 198 0 obj << /D [2365 0 R /XYZ 99.895 434.772 null] >> endobj 2369 0 obj << /D [2365 0 R /XYZ 99.895 364.29 null] >> endobj 2364 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F72 2160 0 R /F14 1998 0 R /F67 2143 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2407 0 obj << /Length 1086 /Filter /FlateDecode >> stream xÚÝYŰnŰ8}÷Wđ‘b–¤D] ô!®őâmZEÝ H C±eǨ,Ą˛ĽŮüýEĘ‘oměhwÝ>qxÎś3äED‘ßę„­g–Ť\âٶ‰Â1b‚‡ ä.±©ÂşÂśmn3ŰĆdŁECÍqq7.fqZDĹ4KŤŻá»V/l}o1ĐL«i˛ËÎZW_)Aç;D‰éąčľ:C¦e‡É‰ şh}jQm%\HQ•±1N<ĆÄŠµÔ!T¸ĘZA\ŁÍ(Ą¸_SĘÓxsł$Ë Ćđ\ŐÇZĘŠúĄŰ×V ĂbÂłĺµMJ,jŞ%»Q)5Eľ‹<žŻjÓĺ‹3NëhŰÄq3‰kqĄëšs±2]µ…°ńĽKÁ`PŻ»%ĘůDĂ”%/“Â`x2PŢn3âŃŰc¨í9Ň0‚{&j3ŕ‹iÇÂŰé\±][ĽSm#ŤŻ©B-\ŠĹmTčĆ(UÂŤž»—´ČSü d`(›Űôuˇ°cjSĎéPFâţŔ›?"|¨­ž¦…;|Âř1x}Ţ?~/túź{ëšĺ¨k*čN=ŔădOn‘b›čl‡Ç»ŮŐˇÄŔ%8&pZńĄŮamĹJˇë0(JşšŤ×Ć—Ł—ÝĂlv—Ąp4¬ŽÖńF×EPLVXŁŞ˝´¸â˙6U~Đë}ř˝ąšŚâ<ŽÓ_ž¬ ×ý˝©Ę«3ň˙&i')¦Ă~čŽIĽĆä0YJëëKÝ’KŕşśWşw˛'p­¬(mĽ€(Ňí ÜZÚŚOĺꓹN™ł–wsk-ąŐé0đ; qśg3%™Ű#bIô\^NÍ…G>Ťn 'qs)q+ť2Nd <™˙r'Mťţéë÷ßRtđvă±aR-’˘žŽ˘ˇ,ľml €Ę*+8ńO:e4”C^Ëăž(yYnÄĚ!{ŞqôÖŔ&°«ť9ű Ć…ř50ŰĚđM ¶‘T‰¶†Ç‰ÝĆEö€'ĹŽÍúxw|Î>÷BŽy˙t—oކÍcw;-âçm×é8Ă.ěťöß±E%ÍlÖŁĹ­{Ľ‡ăîKăŘŤ"ő1ŕŰĘáW{Çď©[!YŽŃ/˝~˙ü˛q<$tq’dňŇwßÔ~>Ň$ňńsđ±ßkĂ;y/‡–»ä ‘ s `%GŠ`˙­˙&ěç—O(Étr[ĺĺ\…ăAWćTç$3kŇ‘&çĐgť”OŔóą§$L=uiŇ­_áu §Ţ>_᫟6áŽm•ĂSţđlB…Ą<öă4ÎŁ˘z4d:ZBĂŁ¸şÓťŢéç/·*ł×1A_rď%×µ±§z+—š«DˇáxŃ0®őEE5TÂă‡ţ#lőoĘÝLRň÷ĂDţŔqşÖ?ú’Ć3 endstream endobj 2406 0 obj << /Type /Page /Contents 2407 0 R /Resources 2405 0 R /MediaBox [0 0 595.276 841.89] /Parent 2294 0 R /Annots [ 2370 0 R 2371 0 R 2372 0 R 2373 0 R 2374 0 R 2375 0 R 2376 0 R 2377 0 R 2378 0 R 2379 0 R 2380 0 R 2381 0 R 2382 0 R 2383 0 R 2384 0 R 2385 0 R 2386 0 R 2387 0 R 2388 0 R 2389 0 R 2390 0 R 2391 0 R 2392 0 R 2393 0 R 2394 0 R 2395 0 R 2396 0 R 2397 0 R 2398 0 R 2399 0 R 2400 0 R ] >> endobj 2370 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [199.165 650.822 238.035 661.198] /A << /S /GoTo /D (structgtg__color) >> >> endobj 2371 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [227.444 578.433 337.56 589.015] /A << /S /GoTo /D (group__GTGColor_ga9e4cec241556fba74d243092ecb65ff3) >> >> endobj 2372 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [341.046 578.433 405.335 589.015] /A << /S /GoTo /D (GTGColor_8h_a9fd3b22fc2eca7706659486c53aa1edd) >> >> endobj 2373 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [227.444 550.801 346.024 561.383] /A << /S /GoTo /D (group__GTGColor_ga47cbb9a6cd672a1b0679a5472dacf0aa) >> >> endobj 2374 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [349.51 550.801 413.8 561.383] /A << /S /GoTo /D (GTGColor_8h_a9fd3b22fc2eca7706659486c53aa1edd) >> >> endobj 2375 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [227.444 523.169 333.068 533.751] /A << /S /GoTo /D (group__GTGColor_ga223e9945beaf02128c62c359a13381ac) >> >> endobj 2376 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [336.554 523.169 400.843 533.751] /A << /S /GoTo /D (GTGColor_8h_a9fd3b22fc2eca7706659486c53aa1edd) >> >> endobj 2377 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [198.875 495.537 263.164 506.119] /A << /S /GoTo /D (GTGColor_8h_a9fd3b22fc2eca7706659486c53aa1edd) >> >> endobj 2378 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [264.504 495.537 382.089 506.119] /A << /S /GoTo /D (group__GTGColor_ga0e3d8e413dcbd8f23dfeb5b26bf02ea0) >> >> endobj 2379 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 411.193 220.963 421.775] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 2380 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 411.193 277.271 421.775] /A << /S /GoTo /D (group__GTGColor_gaa923f594cd6bf3da6a99d672c4438238) >> >> endobj 2381 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 383.561 220.963 394.143] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 2382 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 383.561 266.799 394.143] /A << /S /GoTo /D (group__GTGColor_ga64afa654e5f2102b76dfea9948fcc176) >> >> endobj 2383 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 355.929 220.963 366.511] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 2384 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 355.929 279.755 366.511] /A << /S /GoTo /D (group__GTGColor_gaac719b8d82b41edc0d2f29983222586a) >> >> endobj 2385 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 328.297 220.963 338.879] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 2386 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 328.297 271.291 338.879] /A << /S /GoTo /D (group__GTGColor_ga8ee0cf541a8cfe06ca0071bc12730514) >> >> endobj 2387 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 300.664 220.963 311.247] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 2388 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 300.664 276.76 311.247] /A << /S /GoTo /D (group__GTGColor_ga21ff1d892d73197f789eadfb5f53ae12) >> >> endobj 2389 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 273.032 220.963 283.614] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 2390 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 273.032 270.296 283.614] /A << /S /GoTo /D (group__GTGColor_gae5b393a4e0d57100e0809e25ccde762c) >> >> endobj 2391 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 245.4 220.963 255.982] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 2392 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 245.4 298.19 255.982] /A << /S /GoTo /D (group__GTGColor_ga088b63848f60b294eb7717f9160ce76a) >> >> endobj 2393 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 217.768 220.963 228.35] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 2394 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 217.768 285.242 228.35] /A << /S /GoTo /D (group__GTGColor_ga16c93cd2a5d433fcc87ef02a84799ba5) >> >> endobj 2395 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 190.136 220.963 200.718] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 2396 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 190.136 283.745 200.718] /A << /S /GoTo /D (group__GTGColor_gac22398d68421bab69f56bad3aec370aa) >> >> endobj 2397 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 162.503 220.963 173.086] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 2398 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 162.503 308.644 173.086] /A << /S /GoTo /D (group__GTGColor_gaf971085c762299a3ddc48983c5be7ba1) >> >> endobj 2399 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 134.871 220.963 145.453] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 2400 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 134.871 299.687 145.453] /A << /S /GoTo /D (group__GTGColor_gaa0b434824fb73ef2aca7b3ea80b1d5fc) >> >> endobj 2408 0 obj << /D [2406 0 R /XYZ 149.705 747.976 null] >> endobj 2409 0 obj << /D [2406 0 R /XYZ 150.705 717.021 null] >> endobj 202 0 obj << /D [2406 0 R /XYZ 150.705 717.021 null] >> endobj 2410 0 obj << /D [2406 0 R /XYZ 150.705 669.422 null] >> endobj 2411 0 obj << /D [2406 0 R /XYZ 150.705 597.126 null] >> endobj 2412 0 obj << /D [2406 0 R /XYZ 150.705 429.885 null] >> endobj 2405 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F67 2143 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2449 0 obj << /Length 1184 /Filter /FlateDecode >> stream xÚÝYKSă8ľçWřhWˇ÷cŞö,ÁËŔŮv@Q&LŠÄfłłóď·ĺGěg ¨ěž$Ů-©őő×­–„ťˇżŃî7Źąt42R2§˙ŕ´ŽbI¬śţ˝sĺ ¤˝&UÚ= Ż1¦Qxź5ń8žzD¸ĎYűÁŁŘ…/iĂďűPáB+—2ď¦˙ąŃé7ţj;¤ś‡#M‰34®n°s˙>;1Łťď©äÄaś!Elż±sŃř˝sÝqu WÖ@DRSGa…°ĐŮ"®)©e«Çt+ÔóÎUSé“ámş´ŰäőůRoŹZ˝ÓöŮĄGÜÎR§ĹňđX*PKŁ¬Ş”"jÓ$QťĂ}>x »ÁlśdPŢ€)Ŕü5ď,ĚăYX5‚Ŕ.ňšŚs÷ Ü;đÚP!™Č/Ya˙ŕ¬^”§bUŤ—ŔlÎUdPŠóëÉůéĆ(ę(>Ť˘ÇM ŁB,_ÖCŤżžßĽ% nŠ%Ń%ńň ŮO ^tZm€ňěr÷îüŰ;2-HI¨.h‰÷ÉÓÖéÉÎ1| G›ŔVŇ—ŢĽŹ¨ő:Gí3 `·{´sđ¦Ĺž0Žď7b`Á˝†˛ÝëţiŁâÎqĽ›Ć6űům ˙+đů˝Î9Ŕ×ę£G01 ’íÜďd¦ŰkYöůťťoĘ6ů†v4 ·Ëkś#ąŹyÍ—Öĺ[ĺի𛳿=*ÜŤŕ+÷ÝŤÓÂŹáß™M ýßú[%Ő«\x<~ŰY~]IeŞP"*¬†¶°Jrጔ02E”„5I)ćçUó@€Ŕîń,$ŁŘ†h Řx0›„Q¤źŔx9Ki6 †łçÔĘđ(UnéđĚâ‚x*gÁ˙µ{ÖíÝúťţm;O%—†&„ ÉUŃÇR3°D‚ÉBƲ =vďŞl8> endobj 2401 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 704.067 170.154 714.649] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 2402 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [170.654 704.067 245.39 714.649] /A << /S /GoTo /D (group__GTGColor_gafb573eac9a0e0e5b87f53381a52fb5a5) >> >> endobj 2403 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 675.485 170.154 686.067] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 2404 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [170.654 675.485 217.989 686.067] /A << /S /GoTo /D (group__GTGColor_ga190c0283ea923a8985673bf855acb0f1) >> >> endobj 2429 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 646.902 170.154 657.485] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 2430 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [170.654 646.902 242.897 657.485] /A << /S /GoTo /D (group__GTGColor_gaa08fc4857b39b8de719eb2856b040ebe) >> >> endobj 2431 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 618.32 170.154 628.902] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 2432 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [170.654 618.32 238.423 628.902] /A << /S /GoTo /D (group__GTGColor_ga64753688aed5f6684f07f8e0878f312e) >> >> endobj 2433 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 589.738 170.154 600.32] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 2434 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [170.654 589.738 217.496 600.32] /A << /S /GoTo /D (group__GTGColor_ga39b7ac86d036b3eeffb481bb8c7a0404) >> >> endobj 2435 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 561.156 170.154 571.738] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 2436 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [170.654 561.156 247.38 571.738] /A << /S /GoTo /D (group__GTGColor_gabbc9bfb94e29f9403a7e139e4f4bf87a) >> >> endobj 2437 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 532.574 170.154 543.156] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 2438 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [170.654 532.574 231.429 543.156] /A << /S /GoTo /D (group__GTGColor_gadce47970948c2b8fed1561b4ad48a77d) >> >> endobj 2439 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 503.992 170.154 514.574] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 2440 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [170.654 503.992 234.424 514.574] /A << /S /GoTo /D (group__GTGColor_ga522dceb98e51420b5145113ba0297eba) >> >> endobj 2441 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 475.41 170.154 485.992] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 2442 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [170.654 475.41 235.921 485.992] /A << /S /GoTo /D (group__GTGColor_ga5ab65b258d884aee7f7510728c3a9c7d) >> >> endobj 2443 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 446.827 170.154 457.41] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 2444 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [170.654 446.827 228.946 457.41] /A << /S /GoTo /D (group__GTGColor_ga4de28f536dd910bf024fc2caa5234cb5) >> >> endobj 2445 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 418.245 170.154 428.827] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 2446 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [170.654 418.245 244.394 428.827] /A << /S /GoTo /D (group__GTGColor_ga27a569b9d34652d78d38ce7f7cda6794) >> >> endobj 2450 0 obj << /D [2448 0 R /XYZ 98.895 747.976 null] >> endobj 206 0 obj << /D [2448 0 R /XYZ 99.895 388.105 null] >> endobj 2413 0 obj << /D [2448 0 R /XYZ 99.895 362.889 null] >> endobj 210 0 obj << /D [2448 0 R /XYZ 99.895 362.889 null] >> endobj 2415 0 obj << /D [2448 0 R /XYZ 99.895 318.649 null] >> endobj 214 0 obj << /D [2448 0 R /XYZ 99.895 302.6 null] >> endobj 2416 0 obj << /D [2448 0 R /XYZ 99.895 248.201 null] >> endobj 218 0 obj << /D [2448 0 R /XYZ 99.895 232.152 null] >> endobj 2417 0 obj << /D [2448 0 R /XYZ 99.895 189.708 null] >> endobj 222 0 obj << /D [2448 0 R /XYZ 99.895 173.659 null] >> endobj 2447 0 obj << /Font << /F46 1592 0 R /F20 1558 0 R /F67 2143 0 R /F45 1590 0 R /F72 2160 0 R /F75 2451 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2466 0 obj << /Length 649 /Filter /FlateDecode >> stream xÚ­–]oÚ0†ďó+|éHŕ;vâTÚ šQ:¶±lÓÔUS€ŔtQP×?;*¶e$W>‰ŹíóĽçřĐ ňŚľo\ÝpIâÚ¶…ü%˘9–$68Č_ {̸Ůe6µmü6^ě·ˇúr$Äóý.ŚŇ ]Ç‘ůŕßCßřiP53 Z™‰É(šďŚű@ Őy‹€X®DO™ëYÜ"Ő·čŁńÁ€"< LhS7e°Q5Żpí“hÁ! d­ ’0łK6ąÄA˛f¦łŔŮąŔĎ/­v”P—q⺼˛ ˇzü -J¸°”ćçůŢ÷ţ]ďőřdĄ«•!ÝbĚÉ piZ€ý6Íź™ đ6ëf“˙šÇŰ81`bv-Îń70íxťľ2hîň*ottrűĐf^Y\˙ WIśVÉYMňOöŔ÷aĚLÔV=ęé»/“°“ؤ?E—pS8ŚäĽů 7·“óE¨M,ĘBołd“şµuđ¦ĂŻ­ë°2)ŕ$Ôj<_˘…,‹ˇb4PĂ®­ĆűŃdÜşŹëč˘Ęc-mTN-TE [8ŠŁ&›Ať-ܲ.÷¤ç·iłńŇ€UŃÝZčăŢxTÜúř&ج/Úí‡ę®ä˝3…sĐ"s«@ߍĽ7~ŤK0řwôízőŁ•űĐ9haU¬ŁEg±=¸˙ó-ßÖ6aŽÍ5/Szę7µk«ÇjQâ^…I†‹< ¸@óMpyŮő“"uĽh˛2­×Ě˝fĹ×Rß qáśÍĽž—óIµq‚yXé ŇŇUËŁŇv”mVą^±ÎÇŻç•~Ră0z)Öo§¨Ĺ endstream endobj 2465 0 obj << /Type /Page /Contents 2466 0 R /Resources 2464 0 R /MediaBox [0 0 595.276 841.89] /Parent 2452 0 R >> endobj 2467 0 obj << /D [2465 0 R /XYZ 149.705 747.976 null] >> endobj 226 0 obj << /D [2465 0 R /XYZ 150.705 717.021 null] >> endobj 2418 0 obj << /D [2465 0 R /XYZ 150.705 699.49 null] >> endobj 230 0 obj << /D [2465 0 R /XYZ 150.705 699.49 null] >> endobj 2421 0 obj << /D [2465 0 R /XYZ 150.705 655.183 null] >> endobj 234 0 obj << /D [2465 0 R /XYZ 150.705 638.266 null] >> endobj 2459 0 obj << /D [2465 0 R /XYZ 150.705 595.648 null] >> endobj 238 0 obj << /D [2465 0 R /XYZ 150.705 578.731 null] >> endobj 2453 0 obj << /D [2465 0 R /XYZ 150.705 536.113 null] >> endobj 242 0 obj << /D [2465 0 R /XYZ 150.705 519.196 null] >> endobj 2424 0 obj << /D [2465 0 R /XYZ 150.705 476.578 null] >> endobj 246 0 obj << /D [2465 0 R /XYZ 150.705 459.661 null] >> endobj 2455 0 obj << /D [2465 0 R /XYZ 150.705 416.935 null] >> endobj 250 0 obj << /D [2465 0 R /XYZ 150.705 400.018 null] >> endobj 2420 0 obj << /D [2465 0 R /XYZ 150.705 357.508 null] >> endobj 254 0 obj << /D [2465 0 R /XYZ 150.705 340.591 null] >> endobj 2460 0 obj << /D [2465 0 R /XYZ 150.705 297.865 null] >> endobj 258 0 obj << /D [2465 0 R /XYZ 150.705 280.948 null] >> endobj 2457 0 obj << /D [2465 0 R /XYZ 150.705 238.33 null] >> endobj 262 0 obj << /D [2465 0 R /XYZ 150.705 221.413 null] >> endobj 2427 0 obj << /D [2465 0 R /XYZ 150.705 178.902 null] >> endobj 266 0 obj << /D [2465 0 R /XYZ 150.705 161.985 null] >> endobj 2428 0 obj << /D [2465 0 R /XYZ 150.705 119.26 null] >> endobj 2464 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2470 0 obj << /Length 625 /Filter /FlateDecode >> stream xÚ­–ßoÚ0ÇßóWř1‘Ŕ=;vâTÚ4kGKGä©­¦ C ٰ­˙ýś_“Ň$O>ÇŽ}ßĎť|hyZß×.®…v,ËDţ9G¶)°6ňgčQçX]j } źh$gŮt‡ńĆ \Íćs‚®ľ¤Ď÷”Á¸°uĘŤg˙Fs}í§FÔ˝€Čá†%hşŇźÍÔÚ l:ýNw®ÉLl“äż=hź5Č}Lyb&Cˇ„źQ6.öJ0Ĺ„$ţś79挪“ÓŤĘűoĂkďŁďŤÝŻ©÷ŵWJżuó˙ş”cĆňkrn »p›Á—‹ďąą0č™ z+cä cŁk2¦?‡qÇëô•A˛-˛!YˇťlvdĄ{S?ʰś0寅aG8hu÷×wźZű^F?jaŕ<O¨(0pţ> 泆ŰŢä‹[ó«`÷Ë \—uÄ$C;ŇY%éŁqďÎs›‡?y4ÔŘÂÔ¶X©{t,Ő<ć)äÉHn‚m‘Řq”Ťľá€^D¶·ÎŰ_ĘŠH©ö*‹\Rç’Ňs˝rrňrZś'TLei-Ř[4*8d/ĄNr'ě˙Ľ-Ś®*°2:EőĄ$ŻŇ endstream endobj 2469 0 obj << /Type /Page /Contents 2470 0 R /Resources 2468 0 R /MediaBox [0 0 595.276 841.89] /Parent 2452 0 R >> endobj 2471 0 obj << /D [2469 0 R /XYZ 98.895 747.976 null] >> endobj 270 0 obj << /D [2469 0 R /XYZ 99.895 717.021 null] >> endobj 2463 0 obj << /D [2469 0 R /XYZ 99.895 679.615 null] >> endobj 274 0 obj << /D [2469 0 R /XYZ 99.895 660.426 null] >> endobj 2462 0 obj << /D [2469 0 R /XYZ 99.895 617.353 null] >> endobj 278 0 obj << /D [2469 0 R /XYZ 99.895 598.164 null] >> endobj 2461 0 obj << /D [2469 0 R /XYZ 99.895 555.199 null] >> endobj 282 0 obj << /D [2469 0 R /XYZ 99.895 536.01 null] >> endobj 2454 0 obj << /D [2469 0 R /XYZ 99.895 492.83 null] >> endobj 286 0 obj << /D [2469 0 R /XYZ 99.895 473.641 null] >> endobj 2426 0 obj << /D [2469 0 R /XYZ 99.895 430.676 null] >> endobj 290 0 obj << /D [2469 0 R /XYZ 99.895 411.487 null] >> endobj 2419 0 obj << /D [2469 0 R /XYZ 99.895 368.414 null] >> endobj 294 0 obj << /D [2469 0 R /XYZ 99.895 349.225 null] >> endobj 2458 0 obj << /D [2469 0 R /XYZ 99.895 306.152 null] >> endobj 298 0 obj << /D [2469 0 R /XYZ 99.895 286.963 null] >> endobj 2456 0 obj << /D [2469 0 R /XYZ 99.895 243.891 null] >> endobj 302 0 obj << /D [2469 0 R /XYZ 99.895 224.702 null] >> endobj 2423 0 obj << /D [2469 0 R /XYZ 99.895 181.629 null] >> endobj 306 0 obj << /D [2469 0 R /XYZ 99.895 162.44 null] >> endobj 2422 0 obj << /D [2469 0 R /XYZ 99.895 119.367 null] >> endobj 2468 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2474 0 obj << /Length 423 /Filter /FlateDecode >> stream xÚ­SQKĂ0~ďŻČckvą&i*ř 8§˘Z2Ej×é [utĚý{“6Ĺm((řtîrůľďľy!@†ÁqôOĄ&†'ZG$ťˇ€Ç H®!&鄌)j˘ZÓ«j˛* {Š =©ňŐĽXÔY=«ě1˝iđ;Řš$ąAAňy0~2±Ĺ ·‡ŹÍ …]Ŕb_¬O§˛ŕö endstream endobj 2473 0 obj << /Type /Page /Contents 2474 0 R /Resources 2472 0 R /MediaBox [0 0 595.276 841.89] /Parent 2452 0 R >> endobj 2475 0 obj << /D [2473 0 R /XYZ 149.705 747.976 null] >> endobj 310 0 obj << /D [2473 0 R /XYZ 150.705 717.021 null] >> endobj 2425 0 obj << /D [2473 0 R /XYZ 150.705 680.512 null] >> endobj 314 0 obj << /D [2473 0 R /XYZ 150.705 665.272 null] >> endobj 2472 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2484 0 obj << /Length 1643 /Filter /FlateDecode >> stream xÚÍZKsŰ6ľëWđHÎT0vń ›;©=ͤť6UOIĆŁČ´Ł©%Ą˛ÜÔůő] DÔ˘§“‹Ińńíb_ß.hžÜ'<ąý8]\IťfµÉä.±–«’\¦yžLn“÷©b6cnŇ_ŠĹjťŤ§ĎţÂbşśfôóľĽX,Šĺ†n(Ô2Ĺ<ű8y3úi2ú{$Ś'°—Ě $łĹčýGžÜŇ˝7 gšäkůä"R°Ü{ÉŁßG<(Ě*wę•ú*d@Őőç9ăĘÔôÎyµSęŹA˙Ü©o‚öNçna^gą˛ÚIâÉXp&ąđB®ž–łÍ|µ|Ś!Âńâ yÍĘ Ynň„t`6—ࢊŢMŢŹ•Ňé?Şt5ż ÷ś×÷Á ďʧ¤!lîo>eČÓ‡ŐĚţşYřµ rÖÍ|9ß4±ĄôW|/n‰YG‰!.®@&––„Ą9ŔĐ9hşĺWĂąpŹ7.™5P=Sæ âéŮX Hçß2PiAňJ%ăeUwÝźđÂĂjyďd%c0dŘś Ŕ¬R^Ś[ü|úĐ0ĎŇĹíÓâS±&#Ŕ§éśtçÚćĺ %\6-B§ýě±+ťĘ¤Ř|'Ó’6ÝĐOYĂx‘Y\  uŘ N†P3#°éď6äçLR†×:B©\IS·Ä! jśę g& W\zkW¶÷‡hţŇęÎo§›i§ŕĐ,u2ۦ˝[Ĺy†Í ícŰ*ĂÜĺCÄ5CŠňiüeł>ÝqĆ@ěą«LŞÔ١żçVč±°Ś:ݨ—1lP•lĎŻWł'GÓňŇŘ™‚h%Ó5®a°•@†–;CGD+ kdt„ECVL©Z~űi k¦„®C/v´íĂäâ*Çú ÂŃgŁ*—$o\Č´Ő 5á…x‘1)hňr'D≩Qׂ©C fŚ©­'®ŇLh©¨Ľ®†ŹŽâqć˛DĄsj!ÚŞ9•ŕ޵Dü0Äq'ÁŘ:Yř4ädéz‚r-‡Šr~ŹoĎÚíŰşÔ­oŹÔ€ĐÔ­üqË×ÝŢî­lŰSˇŤćíţÝUk.–3­±ÎuŘÉu ÔąnGi9Pűůp×6ôĘs¦@üŚŘA†HłśÎMB3Řr“y©Ţőűă&AɦŚČ0Ş˛%P1‰ćE¸I µ” zpÓ™Ň;ëW$}87őW­í ‚@V­ÎŔ8ĽT«Z†$Ř­›Cř®Ř<­OܦˇşEx4µPu EďŇŰřËjľt‰‘ĂÄ OţúçŰ·ţl~mř1ÄLFŽśÎŠŰ}N-ŻřLÚd,q׳řŞ,N›@ÔÜZ‘¬6š}9§ŔDyĽüj> endobj 2476 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [144.334 650.69 238.419 661.272] /A << /S /GoTo /D (group__GTGMemory_ga5cdc8881f51fa5a160b12cab91cd1a43) >> >> endobj 2477 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [243.721 650.69 303.285 661.272] /A << /S /GoTo /D (GTGMemory_8h_ac92a27f812adb022f63f0d6754ec3991) >> >> endobj 2478 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [149.992 610.839 220.89 621.422] /A << /S /GoTo /D (group__GTGMemory_ga1a62c5f680d0d46d7fcc82627830d33d) >> >> endobj 2479 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [224.376 610.839 283.94 621.422] /A << /S /GoTo /D (GTGMemory_8h_ac92a27f812adb022f63f0d6754ec3991) >> >> endobj 2480 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [142.518 582.944 202.961 593.526] /A << /S /GoTo /D (group__GTGMemory_ga67019a4108ad51fec4870174c50aa857) >> >> endobj 2481 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [206.447 582.944 266.012 593.526] /A << /S /GoTo /D (GTGMemory_8h_ac92a27f812adb022f63f0d6754ec3991) >> >> endobj 2485 0 obj << /D [2483 0 R /XYZ 98.895 747.976 null] >> endobj 2486 0 obj << /D [2483 0 R /XYZ 99.895 717.021 null] >> endobj 318 0 obj << /D [2483 0 R /XYZ 99.895 717.021 null] >> endobj 2487 0 obj << /D [2483 0 R /XYZ 99.895 669.514 null] >> endobj 322 0 obj << /D [2483 0 R /XYZ 99.895 555.658 null] >> endobj 2488 0 obj << /D [2483 0 R /XYZ 99.895 528.901 null] >> endobj 326 0 obj << /D [2483 0 R /XYZ 99.895 528.901 null] >> endobj 2489 0 obj << /D [2483 0 R /XYZ 99.895 470.55 null] >> endobj 2490 0 obj << /D [2483 0 R /XYZ 99.895 423.527 null] >> endobj 330 0 obj << /D [2483 0 R /XYZ 99.895 408.286 null] >> endobj 2491 0 obj << /D [2483 0 R /XYZ 99.895 349.737 null] >> endobj 2492 0 obj << /D [2483 0 R /XYZ 99.895 262.147 null] >> endobj 334 0 obj << /D [2483 0 R /XYZ 99.895 246.906 null] >> endobj 2493 0 obj << /D [2483 0 R /XYZ 99.895 178.289 null] >> endobj 2482 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F14 1998 0 R /F67 2143 0 R /F72 2160 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2553 0 obj << /Length 1658 /Filter /FlateDecode >> stream xÚĺZKsŰ6ľëWđHÎDŢŹÜ'ö$ÓNÝDÓK’ń°-kbS.Eµu}H ˛(“tĆ•›EŔ.vż]| GóGgŁ7“ŃËS.#ŤŚ”,š\FD`¤°ÓHbMfŃçędL%‘2ţy9[_gđ¦tüv9]ßdy™–‹ež|ť|˝›ŚţGdk$Ž4%Ńôfôů+ŽfđńC„3:ú«jz1Î"¶ăuôiôë{ő0˘Âţ´ŹZYŠ !"Đ+„…vÚ Dp2&ăř—É)čJuĽČˬ¸L§Yýęž'tĎňĘ/ hz–ĺY‘–ËâMşZL݇×çď«™î×Đ©* #­z83Ś8fN±Óu>µ¶Z…CřçËSŠ·!‘Ň*©HăřB©úFźÇBČx c–ţ5}1÷>řX5±ÎZ–—ÓeBâëeqQî(ĐҬw1ĎJčťvĺÚ_°Ŕ­băy9w]wäůÎŐ'´XC*°–FYk€¨aŃp°Š·Ć  ŽâřĎ„Š8+’1ÇqąrĐLÝălr–ldąź€„eĐČa¤i$pŚŤvü2nTˇHY7ďuĚ^›ZW•EBp čş(˛rmuq~~éî“÷ů˘ś$¦^ŹŐ㇠7ą«´ráËSÂ#łˇŇˇL!Á4ttóŔąVÁś92šnµˇ×YžŢd ń‹Ă°ł°¦óý pßV]a0¶O© ` ˛HŻ˙X…|rJóď6†·ŤŽÜĂź˛ňdys[d«U›kĆn^üÓëÇŇ»<ýÝFRťŘ7¦ňqáTĚu´vÓÄÚíőlIÁÇÝíý¸Đ8 xm‹ ­‚ÔméĘEDĄÎĂ2 ô(ć}BoLnWt‰¬«Ç„ #ĽÚ& ?飀Ťúî± !÷HóK38¨Î˝Ó†őbş€ĺwü ô@¤ú>ěGQĂń°Ł¬ŹĐnŹđÚŠGKÇd_€lHü¤­€”÷ý^@ µ HC¸¤8@š~€¬üř=Á(źŚĐĐńťŁJ‡$|ß$Ľ¶Ň ÎŮŕ É6€l"pßÇ’É ‘ه٧/ŤË’ç’ú¨ňhűi‘;´ˇBŻV 1DÁp¦ă‡…X ©^`Ţđߎ"Ŕ‚¸‚J€ĽÁV™íě^s$p/Ó­ŠéÉ`qFCJ0}ÄͲUČë< bes ÍgšĚ%Ŕ‰«ű-Q0HŃd2 2Ů^j‚„Ń ôxXĐ ­ÍĐ ë$˘ 2FÍ#¬+ "† ÷]mĽhĘŻç‰IÎk‚‘—‹ňÎMíz}:;p‡Ëąš®TH¶nap¬\…Ví¶”©ß=l-;9álvşmâĽČ¦ű:—‹Ćwś7k©ýŇ*`ílhÁ×MĹ/âDôO—e_n K Ň—Ę;gÜň`‹ş/gď5Eˇ˝Ö1·eÚ9Ň€E".+Ś>j˙ä8áNjŢ,– Ű“áh;oâćä¤úŇĘ潡‰:8ť± „BłîŐg/ąe/}żúÜrŔ“ˇěé˛=ÓŘď­ďÝĚa~ox˛lçíŹd±öý_¨‘6ĽŻ‡{ÉÉNą*Řc~áŃj bRî őÁüČҢ״zžaŚGRîođ«?˝¸ĘîĺUÇŔ˙·äJMu¤tľ^]ퟸŃĂqo;oážaŢŕĂ´â2‚¨{†ŮF„9@í)g?ěÓÍř˙NĎuQŘťĂÁ§ä«2ťZIßjÂ?kŚ‘Ďł'ŚĽ„ÄĎ(ř\i|n)ěňv˙ôů#J Űy+ţŞłť‹kJâr`üĄu«É‘îwZeăŻ;AV¸ŃÎćßÇĚ2—ŕ6ČĽ 8éţ¶É˘ľ›r[8EËő*8Â?âJ™1Ľ{†tʱÇđ'đ'Ć›$ĎX;3g±~5ĺöB˛-ăĐ=QôGXHÚŹžBDî˝ăG°F›>wü꫇°R+Éť?yuĺĐH„aţ•Vţ^ću«ĄIbpĽöËÎë[µ‹r˙Ä„ş_ż˘ćőo—v«ďU#W×úŞń€BÍŤ—ćć_ŇÜ·9›śUć­ţ¨¶kďę[6š˙ľ›Ű+‡`®]cý ”…ČD endstream endobj 2552 0 obj << /Type /Page /Contents 2553 0 R /Resources 2551 0 R /MediaBox [0 0 595.276 841.89] /Parent 2452 0 R /Annots [ 2495 0 R 2496 0 R 2497 0 R 2498 0 R 2499 0 R 2500 0 R 2501 0 R 2502 0 R 2503 0 R 2504 0 R 2505 0 R 2506 0 R 2507 0 R 2508 0 R 2509 0 R 2510 0 R 2511 0 R 2512 0 R 2513 0 R 2514 0 R 2515 0 R 2516 0 R 2517 0 R 2518 0 R 2519 0 R 2520 0 R 2521 0 R 2522 0 R 2523 0 R 2524 0 R 2525 0 R 2526 0 R 2527 0 R 2528 0 R 2529 0 R 2530 0 R 2531 0 R 2532 0 R 2533 0 R 2534 0 R 2535 0 R 2536 0 R 2537 0 R 2538 0 R 2539 0 R 2540 0 R 2541 0 R 2542 0 R 2543 0 R 2544 0 R 2545 0 R 2546 0 R ] >> endobj 2495 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [198.537 650.845 242.393 661.427] /A << /S /GoTo /D (GTGOTF__Structs_8h_a5431afdab8fe4162268778e93f0950c9) >> >> endobj 2496 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [242.893 650.845 304.681 661.427] /A << /S /GoTo /D (group__cotf_ga28de2748e0f27c11131e4bb097a25bf9) >> >> endobj 2497 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [308.167 650.845 354.515 661.427] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 2498 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 623.26 232.557 633.842] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2499 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.057 623.26 286.695 633.842] /A << /S /GoTo /D (group__cotf_ga87f8715c93843ed56a9f4d9ed2e7d6d8) >> >> endobj 2500 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [377.75 623.26 419.122 633.842] /A << /S /GoTo /D (GTGBasic_8h_a7a5d407dd23dfced8b5937332ff80972) >> >> endobj 2501 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 595.782 232.557 606.257] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2502 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.057 595.782 307.29 606.257] /A << /S /GoTo /D (group__cotf_ga5a2457a81c113ea6b241a68942a63371) >> >> endobj 2503 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 568.197 232.557 578.672] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2504 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.077 568.197 306.745 578.672] /A << /S /GoTo /D (group__cotf_ga38f77fbd3406ac7528fa0d7f18328c55) >> >> endobj 2505 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.117 541.642 249.092 551.268] /A << /S /GoTo /D (structContainer) >> >> endobj 2506 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 528.657 232.557 539.131] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2507 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.816 528.657 308.484 539.131] /A << /S /GoTo /D (group__cotf_gac740f7116291d76bb3afd2154a1e5962) >> >> endobj 2508 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.117 502.101 232.952 511.728] /A << /S /GoTo /D (structState) >> >> endobj 2509 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 489.116 232.557 499.591] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2510 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.584 489.116 310.018 499.591] /A << /S /GoTo /D (group__cotf_ga655059acd582bec8ce5b38199d8b5a1e) >> >> endobj 2511 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 449.576 232.557 460.05] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2512 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.604 449.576 303.78 460.05] /A << /S /GoTo /D (group__cotf_gad4f12572f83d4d88c2a69807853ecf98) >> >> endobj 2513 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.117 423.021 228.91 432.461] /A << /S /GoTo /D (structLink) >> >> endobj 2514 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 410.035 232.557 420.51] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2515 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.967 410.035 301.023 420.51] /A << /S /GoTo /D (group__cotf_ga7eec321ccab983ece92ebca92887d1cf) >> >> endobj 2516 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.117 383.48 243.104 392.921] /A << /S /GoTo /D (structVariable) >> >> endobj 2517 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 370.495 232.557 380.97] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2518 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.757 370.495 313.357 380.97] /A << /S /GoTo /D (group__cotf_ga14a33c2535d2b7da582bd331993999e9) >> >> endobj 2519 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [250.725 358.54 294.581 369.014] /A << /S /GoTo /D (GTGOTF__Structs_8h_a5431afdab8fe4162268778e93f0950c9) >> >> endobj 2520 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 330.955 232.557 341.429] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2521 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [234.276 330.955 312.364 341.429] /A << /S /GoTo /D (group__cotf_gafd43ca39c5ad8a5d88325480ff9fca75) >> >> endobj 2522 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [317.069 330.955 349.726 341.429] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2523 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [215.127 305.933 252.101 314.026] /A << /S /GoTo /D (structContainer) >> >> endobj 2524 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 291.414 232.557 301.889] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2525 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [235.054 291.414 324.467 301.889] /A << /S /GoTo /D (group__cotf_gaa83d4e4210ed18a25f697fff36f43b84) >> >> endobj 2526 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [329.95 291.414 362.607 301.889] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2527 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [225.319 264.859 262.294 274.485] /A << /S /GoTo /D (structContainer) >> >> endobj 2528 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 251.874 232.557 262.348] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2529 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.973 251.874 288.293 262.348] /A << /S /GoTo /D (group__cotf_ga8535ccc5a1ec7d512eef43a5588ec6db) >> >> endobj 2530 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [292.695 251.874 325.352 262.348] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2531 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [216.604 226.852 237.439 234.945] /A << /S /GoTo /D (structState) >> >> endobj 2532 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [253.393 226.852 290.367 234.945] /A << /S /GoTo /D (structContainer) >> >> endobj 2533 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 212.333 232.557 222.808] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2534 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.239 212.333 294.534 222.808] /A << /S /GoTo /D (group__cotf_gafcaf513ad403f1073a60292ee797422c) >> >> endobj 2535 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [298.202 212.333 330.859 222.808] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2536 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [249.875 185.681 270.71 195.405] /A << /S /GoTo /D (structState) >> >> endobj 2537 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [367.698 185.681 388.533 195.405] /A << /S /GoTo /D (structState) >> >> endobj 2538 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [404.487 185.681 441.461 195.405] /A << /S /GoTo /D (structContainer) >> >> endobj 2539 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 172.793 232.557 183.268] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2540 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.755 172.793 289.119 183.268] /A << /S /GoTo /D (group__cotf_ga91c6066968d7c788dcd88c264a93636b) >> >> endobj 2541 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [292.303 172.793 324.96 183.268] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2542 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [228.136 158.193 248.97 167.819] /A << /S /GoTo /D (structState) >> >> endobj 2543 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [264.924 158.193 301.898 167.819] /A << /S /GoTo /D (structContainer) >> >> endobj 2544 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 145.208 232.557 155.682] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2545 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.525 145.208 292.103 155.682] /A << /S /GoTo /D (group__cotf_ga7b5fa3f1a3f5615fe9316c692e9bce3c) >> >> endobj 2546 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [296.057 145.208 328.714 155.682] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2554 0 obj << /D [2552 0 R /XYZ 149.705 747.976 null] >> endobj 2555 0 obj << /D [2552 0 R /XYZ 150.705 717.021 null] >> endobj 338 0 obj << /D [2552 0 R /XYZ 150.705 717.021 null] >> endobj 2556 0 obj << /D [2552 0 R /XYZ 150.705 669.514 null] >> endobj 2551 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F67 2143 0 R /F14 1998 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2598 0 obj << /Length 1539 /Filter /FlateDecode >> stream xÚíYKsŰ6ľëWđHÎD0ŢŹÜĹň4Ó™¦±ÚK’ńČíhb‰)E5I}H‘i‹RâI;ą´ě»ß~»Xŕŕ.ŔÁĺčĹlt6ĺ2ĐČHÉ‚Ům` ŇFŠi$± f‹ŕm(ÁŃ*ţ6›ş—ĺ:O˛Űyś”˙şçÄ=Ň[÷Ě?řďyC/“u’Íó4{1ß,c÷áüő/ŃFEHMô~öjt1ý5"°:Ýj8Ň”ńjôö=đíU€3:ř\Ś\Ś3¤ťw\Ť~ażC\ß)ŵť"‘Ô4PX!,´Űę;JE±ŚÝ|»ŽěÎ/čÍĺ(x;B–"‚CŘÖu–äŰ ¶#ÂőuţřdNąµăU>‡I‡ůŻËőÇĆ´bßaýďűbÂż#2Ď^gIĽ?™‡ůr•DD„Ď@‡¤aś®7yT|‰?€bq6%<0`*­9(ŁHQ 2ś!0fnTĂhMĘ1ů×O;d§CôéđJů›,v`\0f#nxAF7Ä«µhęQ ĐĐbÚE˛Éźy™ŹŠ—)-†wľ»?\FX ÚŔÇâ0±ľŚH •îy6• ćci”ť?& #®Ľ€(Îť LÝ ç˝,>w`9DŤZ«SЍ±J)¸”>]JfŁđb˝č ?ÉO?Ů?AvˇJ{ĂŹ ˇů‘á'Ŕ•ŽŢWś­†ß(üźOwäÉâŽB˘°Ů/É˙ŚHČÚŃC![zVz-ô¨•{m‚ę =0¸4ňČĐ;L€”2u€ ZŽ™ůłśj˝!Ć.:©&H)ŮŚÎN#^| N°QíĚ–J?ŹÁ^ËůŤ Šűä5m ËţIHÚ‚÷|±č/;Ľ0ą^^ĺ űĄĽIAŽďA:¤ĄýA űxAí>xŤÖO^pa ŢöÜy%ýfĐţAiŘ!ůj{óÉßÉňűÓđöfS Ó·YşúżŁÚµ( ¸'°W®’uŢev ěÇË>˘5’LKÚ+«s@ÍGŁ˘‡›6éĘűnâä6›-ł€kJ[E~gŢM Oî ¨j[‹ßs’*śt¨!«íÔĚ8]®ç÷ˬ-ĽqćëV«ÚGÍ`Ü:ěĂŞá" )a HŚ™AbŰöŁĘ–‘íŽ!Ń‚1§Űuś/S«ęđeo­ßćĹOŤ}ě«Ůy $m*¨T”Ŕůq¤ÂžŁG w@·ŃëSÓj ĺúÎŞ“ü:NďS/¶±2(c9®ť ]~h‰•HěJÝ»üÎIsđ8›*Z*0ŇR좧[+xËk·0±ŹmYô.Fś€p'&ľŁ±iĐĺĺě˛<Úe”mδ1¨‚Ž$p+Îôë#8‚‡_µľŽ(˛ťŻ’–EH¸éÄ{·üö×®Ţ)66nť‚˝¬Z§ßT@a+†™xH wĹź“Qtl‹(Ż:¶Lť„˘×Ki 4ÍÝó>VołS,)‚5ővÁĄKܶý%r0#ô%î{xÉ@Ş:ÉËĂetŁŇ]*Ôo4h0ĂěçK˘76s¬7=ěŢ´żFśŰ$ „_šV^-´"˛‡ĂkAHH3ÁS¤©jP,í`3ŔśŕU‚/.2\Öł Ż`á˘â°‰dQ¦é} #ÜĆ>o0çC*=Íą@˝“6¸<î]¨Ă™TJ„©“šďWžüx´I EŠśQ'É(‰“hŚ„¤§§Ť beÁ‚ë=tS瑚;©łˇą—’3oĘ"m±Hýd9|Qűn –w’k‡ËH–D@ĄŮidé§ĎŢśO.®ŻţL.®®ü­ŹŇÍ6Ž“M!ŮÖťőöËą’dY™ŕâtáÝ”ć’ěórÓ,Ý;# kD±ry[^KKD•äµki|$|}ﯓ“EsCłČŕ°<óžň §Ü?1ˇîŤŕçÔ<§ţż[›ŻË]’ËęY¤Ĺ*«.±Łę$ •@Á¤ĆEÓß˝żL#†Ă/_}Y˝n›ę_D= endstream endobj 2597 0 obj << /Type /Page /Contents 2598 0 R /Resources 2596 0 R /MediaBox [0 0 595.276 841.89] /Parent 2606 0 R /Annots [ 2547 0 R 2548 0 R 2549 0 R 2550 0 R 2573 0 R 2574 0 R 2575 0 R 2576 0 R 2577 0 R 2578 0 R 2579 0 R 2580 0 R 2600 0 R 2581 0 R 2582 0 R 2583 0 R 2584 0 R 2585 0 R 2601 0 R 2586 0 R 2587 0 R 2588 0 R 2589 0 R 2590 0 R 2602 0 R 2591 0 R 2592 0 R 2593 0 R 2594 0 R 2595 0 R ] >> endobj 2547 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 704.174 181.747 714.649] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2548 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [183.562 704.174 239.226 714.649] /A << /S /GoTo /D (group__cotf_ga0e6f15e063533999a4587f5aff536c4b) >> >> endobj 2549 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [244.027 704.174 276.684 714.649] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2550 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.318 678.997 181.11 687.09] /A << /S /GoTo /D (structLink) >> >> endobj 2573 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 664.324 181.747 674.798] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2574 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [183.914 664.324 236.234 674.798] /A << /S /GoTo /D (group__cotf_ga42c372c6ccb6362453c27f74df3a3dfc) >> >> endobj 2575 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [241.387 664.324 274.044 674.798] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2576 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [161.308 639.219 178.1 647.054] /A << /S /GoTo /D (structLink) >> >> endobj 2577 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 624.473 181.747 634.948] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2578 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.1 624.473 228.807 634.948] /A << /S /GoTo /D (group__cotf_ga5b0831b85cc3e6ebd78224a4199b1cfd) >> >> endobj 2579 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.145 624.473 264.802 634.948] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2580 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [427.395 624.473 444.603 634.948] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2600 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 612.518 144.233 622.993] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2581 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [159.065 599.296 190.051 607.389] /A << /S /GoTo /D (structVariable) >> >> endobj 2582 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 584.623 181.747 595.097] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2583 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [181.834 584.623 231.034 595.097] /A << /S /GoTo /D (group__cotf_gac288ab52595162f8b855b95eb3a6511d) >> >> endobj 2584 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [234.107 584.623 266.764 595.097] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2585 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [427.395 584.623 444.603 595.097] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2601 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 572.667 144.233 583.142] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2586 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [198.339 559.518 229.326 567.353] /A << /S /GoTo /D (structVariable) >> >> endobj 2587 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 544.772 181.747 555.247] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2588 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [181.834 544.772 231.034 555.247] /A << /S /GoTo /D (group__cotf_ga372542376c4963ad7c3223524a365805) >> >> endobj 2589 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [234.107 544.772 266.764 555.247] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2590 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [427.395 544.772 444.603 555.247] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2602 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 532.817 144.233 543.291] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2591 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [227.398 519.595 258.384 527.688] /A << /S /GoTo /D (structVariable) >> >> endobj 2592 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 504.922 181.747 515.396] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2593 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.247 504.922 256.983 515.396] /A << /S /GoTo /D (group__cotf_ga647e099aae188f5b818fe4c32d1d515d) >> >> endobj 2594 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 477.026 181.747 487.501] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2595 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.247 477.026 239.875 487.501] /A << /S /GoTo /D (group__cotf_ga702d5cd834f6a960a57f4575a0e1954d) >> >> endobj 2599 0 obj << /D [2597 0 R /XYZ 98.895 747.976 null] >> endobj 342 0 obj << /D [2597 0 R /XYZ 99.895 449.56 null] >> endobj 2558 0 obj << /D [2597 0 R /XYZ 99.895 422.875 null] >> endobj 346 0 obj << /D [2597 0 R /XYZ 99.895 422.875 null] >> endobj 2603 0 obj << /D [2597 0 R /XYZ 99.895 364.444 null] >> endobj 2604 0 obj << /D [2597 0 R /XYZ 99.895 278.558 null] >> endobj 350 0 obj << /D [2597 0 R /XYZ 99.895 263.317 null] >> endobj 2605 0 obj << /D [2597 0 R /XYZ 99.895 204.871 null] >> endobj 2561 0 obj << /D [2597 0 R /XYZ 99.895 121.255 null] >> endobj 2596 0 obj << /Font << /F46 1592 0 R /F20 1558 0 R /F14 1998 0 R /F67 2143 0 R /F45 1590 0 R /F72 2160 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2617 0 obj << /Length 1577 /Filter /FlateDecode >> stream xÚÍZŰnŰF}×Wđ‘ęÍŢ/ysÓÄ@€¶i*äĹ –˘c¶äR´]˙}f—¤Ě•V”Ču>QâĺĚěž™Ů3Kâä[‚“‹Ůϋٛ\&)Y˛¸NŔHa‘(¦‘Ä*Y,“Ë”áů•DĘô×őňá¶€J§ż¬ó‡»bUguą^Íż.>ÎŢ/f˙Ě ă„ô8Ň”$ůÝěň+N–pńc‚3:yr·Ţ%Ś3¤}đ6ůsöÇ ·îaD…ýiťł"ä,V Ý8+Á f=ÚHp ĐîĆşĘňâŞ*ę‡juUĂN_|8_Î N—ďÖ«z1—8}ľ/Z(Ď4ÇHrÖaý…ĚW*Í׫M –ĎUz“UÍÓ„'ž¦Ň>Í%Šż<Ś[oí™PÓݓݖŮć§€#”"µŇIĆ™ALĐ1Ćóţ\śÁě„aS•ś‚ŚľGôGDź aĐŢłĘîB¬P†¨é âⲋ§7(î{L°p g”#)LóÔůrŮÄwÖ>kąúÖFőç‹Yré.ŰÉĘUQy&Ú‹‹9ˇÍt‘"ď?¨w'#c¤sȰv ?Í)Oł F\1BŇŤŹ·{ôđwŻSTB0Sf†ST"¨Űý@ 扤a͇@ŕö&ľ W¤ę§¦VŽMÉ’ŠôňgżHQl }ôT»^8Q“Է{î캀"éŽőM[@s/‚<ż¸¤t‚_b¨BZ‹HvcA»D ĹH» ÂĚŔ‚2FTż@u)wĺiöĂ,÷íżŘnľ>ťŕŃ.¸ Áh$Á± Ž` “ŁTdú2$%¤/–pŽűőţŻÓ̆yí›ýÍšő( $os>x[–G; 0Ň‘,Ź9YŚq ›DH»°·běłSWák‡˘çe¨x0eîqÜLnŮNţć!Ď‹ŤCOgś·Ĺµ¨ŞuŐ1´ěČÖŞ§rÓ04ĽnčäŚSP­ľ¤ä$ĄěIĘ÷«ş¬źżX!•Ý>„UĄ-÷{Ş’ľ;1¤*2š—QFž˘*ĄÜ—•ň¬ÄâëŰ{Š“TĄ­÷?LUň„ Ä! Ľ)ŮŹ kżŘ]××Wůúv]]ŐŰ@6ëkw¸/L–ňtMk 6i5­ŢŐ´mš4ˇŘüţ2Wm@FhUůŁ´*gP®8Ź+Ń v±ăP©y©Ę!l”’'IŐifkťgvH©˝pyśS±­_áĺn´‹† ›ČŽ$Ă‘ -˘†čŽ“¬¦Ůb(!¬WüŽ*Ö‰ćĂl÷ÍP¬»Ś¦x´c~C2Ir,e™†¸¦Ż˘[Ě–ćÝ:Ńl]Ďě€nmŇ$ű2ű{QĐmč kŘńÎî“e1(č›(ĆŁAăšŔ¨b«7XźLC~±łŚ |šÝ0ĺ}»ďśÝiÉ<Ţ©+&–FVě cŰĆ•Ý0ŤęNŘ˙Ł;Q^w"b»“G“POúŽîő$ű–€˝©Ź¶ŞdŐ§ŞČ˛×ľ`Ű{ërHsð¨݆¶Ö·ö‡şŹ©öŮűgÔp$ uw»šú€R°]/^§÷Ůáě6Ř”˘ţ€Žő˘ndá=ő®˙pËÜ”~!"ČŹę7láÖ‘».±vÁ"ĆÖ­H!Ş!,„)í%ŕÁőj˘Ůŕzĺ™]”ťDÉęćřtSć7»+לᴋ•ćÔMv_¬6‡Włń.ď3f1Ä0ĆqÚŁAďZ¸]‚hŢą‚#śëöęÁĆc˘Ů ďžŮŁŤ‡Çřa’Gűŕ0ŠTŁŃ ŽdĹ&úuHV` ÷–”’G›Ý:@{ß‘Á·ĄĺvżˇÜŚ‹‚Ѩ@K‘Há â˘@bč'D\€°Đk°ú»mŔnmíÚ~ ¦YÓŢ·ü>¸qtJć{ër8&FŹ%@'`půĘtH—0¬°5ć+šî㉨˛/´ěçÜ}Ôc$¢}ĹuQŔlfu±ô·ţsÓŽŞóű¶iˇĽ=bB›_żĄć-m˙][Ůu8ąĚ;<ŤSŰô®euw«m*.N\şn_âąűÎČĆżĎßśL/V^řH¨"Ř endstream endobj 2616 0 obj << /Type /Page /Contents 2617 0 R /Resources 2615 0 R /MediaBox [0 0 595.276 841.89] /Parent 2606 0 R /Annots [ 2613 0 R 2614 0 R ] >> endobj 2613 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [175.63 667.561 216.491 678.035] /A << /S /GoTo /D (structContainer) >> >> endobj 2614 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.366 172.022 253.227 185.97] /A << /S /GoTo /D (structContainer) >> >> endobj 2618 0 obj << /D [2616 0 R /XYZ 149.705 747.976 null] >> endobj 354 0 obj << /D [2616 0 R /XYZ 150.705 717.021 null] >> endobj 2619 0 obj << /D [2616 0 R /XYZ 150.705 652.393 null] >> endobj 2566 0 obj << /D [2616 0 R /XYZ 150.705 529.925 null] >> endobj 358 0 obj << /D [2616 0 R /XYZ 150.705 514.684 null] >> endobj 2620 0 obj << /D [2616 0 R /XYZ 150.705 442.499 null] >> endobj 2572 0 obj << /D [2616 0 R /XYZ 150.705 307.676 null] >> endobj 362 0 obj << /D [2616 0 R /XYZ 150.705 292.436 null] >> endobj 2621 0 obj << /D [2616 0 R /XYZ 150.705 222.034 null] >> endobj 2615 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F14 1998 0 R /F72 2160 0 R /F20 1558 0 R /F67 2143 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2626 0 obj << /Length 1389 /Filter /FlateDecode >> stream xÚŐYM“›F˝ëWp„Şh<ÓóíŰÚŮÝŠ+•86·ŤËE$v­Ę®ä ÖÎţ{70 ń±v•O 1Ľî™×ÝóšˇŢťG˝ëĹ«pńâJ(Ď«÷Â[ĎZb¬ô47DQí…kďĆ—„Ń` Úř†WĹÍf›ĆÉm´ŠËźĹőuqŮÝ×ô“{ž&8ô:ŢĆI”î’WŃ~ł*\Ľý-X2ĆAúśÂ7‹Ëpńß‚ˇwÔco1ŔĽŐĂâćőÖřěŤG ·ĆűšŹ|đ¸ŕDłě˝{ďýâŻu3¬®dv›]ĘyËúĽ Z˛žfçÍŠyż‹ÓÇd»ĎÝ:Ć{q´ö:3D ŢŻxńş[łŤ[Śýăjďs4DŔI+e1ňÂ-_ś$»¤¸]íÖnív¸ŠÉ×Í>.ühĚăhK¦Ń ë-ŕzŐŘ#ڍěő#˛ą$Rz“ĚIúä“ţ˘q.3Â/ÖŁţúňKĽMĂ@Q˙ésě°ę¶™Dšëo*qúBSśČvďŔVö?EIń2žĹ—Ae/ ‰‹qx—ňbچšM¨©đŁűM´˙ĄĂ ˘/‡ 2Î-cÇXGŘĂR,quşi&Ko°RbmaËr·:o~”ŕd°ĽŚůÝÉ׍ü´«’HŤVµîŻ$HSU%y^ F)ˇÄ‚ЂËŔ)0ňšĄt=ĺ¸"Ó]* ‚ÚZf´+)C{–™©v›ĹíIÉ›v/r»EĹÚ•˙8ŕÔoFMęŞHÓKëĆLđ˛ÍB(,ĹłžQ1Ť#„˛óf–ĂĐ!Ĭ•’ô|§źfż›ńşýíƦźąmp«ďˇw´Kmjú!ÎÓ;Ł˘µ crf"ă~ŤőVrM4…fI?Áę4łÝ¬ÖÍţ‘™íVqăÓx´“mŽ8ÇůŞy<ŹÇ)%¦jžl„Á˛Qý8٨'ČFV“Ťżo¶˙ö©Fě3$#٨ ×Ió^Żr4ç…’˘Ą°-ÝČÎčF&FĎ3ú”\IŽíg”/ÁH˘Pm4UäI§J™·AĄă 1‹4qĄŽ—çyDlµ>ű$Ŕ eőzC¸ !ľłCëxź6ĽéđăFŮÁ ,'†źTŘîݬv%w®˝»^x7ůă,—čî˙źJsŰ•‚Y}Fąqs+ćY8ĎÂmźh·sçnŘíSŕ÷Yč رÇ;×&!t?Äy‚ç`T#9R‹gQf\ŕf¨Ře6Ńl7żuł=Ęl0˝Ł}kS\ËyôÎÁ¨čŲ5·vmMLůµs`[5Í|7ËuóÓ»ŞŃµyAzî;ë9nç`TܢźFéyäR”©S—ˇ˛’Ľ”N^śçwš Ý×]8Ap•ËűÝcR~WÂúh?Ű”ácĄć}›…QŇŐ«<łű@ÖĚő¤´"[NN9aM·Ě5 )Ć›ŤÔ€pćZw4\; ™ë›m”nĘ }@@Śö´Ĺe†ŔĺĽo+0FöÜ€Ú‡öŁzîďvTĄÁFĎm&ôÜşÖsżOŁ4î=ŞÂ `yV#mŻî븮›>ŰF1:ě°Ć˛VÓ­ű›8f€u=ö°FnôOzXc ×Jć!2˛—ěęćeÔŽ9™-ĎśŤëv8s¶XŇe‚;+Ž×Í~& ,ő]¶]|v Â])âŽŃ—`_‚űu›}V(ł5G.ŹźĂŔP?©Ž±«ęâg–×áuÎDţÇ?ĐSq˙ë.űú˙Ó]Sńöx©ľD † endstream endobj 2625 0 obj << /Type /Page /Contents 2626 0 R /Resources 2624 0 R /MediaBox [0 0 595.276 841.89] /Parent 2606 0 R /Annots [ 2622 0 R 2623 0 R ] >> endobj 2622 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [124.82 388.404 143.257 398.672] /A << /S /GoTo /D (structLink) >> >> endobj 2623 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [124.82 136.799 147.749 147.273] /A << /S /GoTo /D (structState) >> >> endobj 2627 0 obj << /D [2625 0 R /XYZ 98.895 747.976 null] >> endobj 2563 0 obj << /D [2625 0 R /XYZ 99.895 670.558 null] >> endobj 366 0 obj << /D [2625 0 R /XYZ 99.895 655.317 null] >> endobj 2628 0 obj << /D [2625 0 R /XYZ 99.895 583.131 null] >> endobj 2564 0 obj << /D [2625 0 R /XYZ 99.895 460.663 null] >> endobj 370 0 obj << /D [2625 0 R /XYZ 99.895 445.422 null] >> endobj 2629 0 obj << /D [2625 0 R /XYZ 99.895 373.236 null] >> endobj 2562 0 obj << /D [2625 0 R /XYZ 99.895 211.004 null] >> endobj 374 0 obj << /D [2625 0 R /XYZ 99.895 194.142 null] >> endobj 2624 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F14 1998 0 R /F72 2160 0 R /F67 2143 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2636 0 obj << /Length 1421 /Filter /FlateDecode >> stream xÚÝYIoŰFľëWđHŃtö%7w‰mÓ”ČĹ V˘m¶”Rt]˙űľ."Ą%rÜzI}ďÍűŢ:ÄŃ]„ŁëĹ÷éâ»w\F)Y”ŢFD`¤°ÓHbĄëč&f4YRI¤ŚŢ®źrř¦tüăvőôoެ*¶›äsú~ńSşřkAG¤‡Ä‘¦$Z=.n>ăh ßG1ŁŁg·ő1bś!Eě˘ßż-pŁ^·"*ěG»´J‹ľŇÜ€()‚AiR+ý!ˇ<ÎĘě1Żň2!$Ţ9ʰ˝2źúO†běĚÉ$Ău'ű@ ć‘4 %Ç@`;AFĂQŞľµBRŔ’HŮź¬ł‡"ŰsK1śęąr)îÉĄ„!&éPî•“ëÜ |Ë­Ő}ăw;đ¸ćcőň5?ÖŽ…Ą3´;¦GŠŚRa8Ž5†8˘a+đoC‹#ăl˝ÚnŞ4!Ç^kv\Ď“ďçş//»ćű¶^­ZY±Ř=Mđd•<܆¤,ŕPG°ÔKÄ IŔŠ" űś7Gxť'ÖĎk_ě/Vě€Ň!śGKX1m’'®-[4Vß=­VůΡ²±Vťf›Üš—ĺ¶lĂnݲt•ĎĹ®¦gxŽC,‰5t´ä˛é‚r Âěßş 8«ŕ´q«2[ĺ_Jwč/§:ţ5}wµNŽ×ꉎŽ7(Ó× %[?°ŔYD©vĎß µ`Ę|UoU´Ż‡ Ôí­ ëż ÂŹlJÝ Wíśâ&^%*ľoŐ%<2đ*şjÄ÷ÚbćQA!ĚH§KŠŻ¬¸@jőĆcÓ%5ȧŢtqé«Öă” ÂŕŔý—¶0Đr׼Ô^˝^×śŐ Č ë©Í8Űöi l㼼kţăő"şqŹ?%ĘůÝ’¸Čţ´ú>ä]@ĆčhŚ@–74…¦D|łŐ&Ňń y>ů…bŘâƵMoˇ*řŻ€ł ¸ţ>JO·™b˝Ĺm 6-Úâ–Uőú|_¬îę\íy‡>Tg禽-6«2·cTľ>]§ĂĂ"„ŠǸŔBAś/@—  ÷Čë\IčhM/_žö…ybýľĐ{˘=ă§Éž¬§‡'Ŕ$°« qdKř‡ĐŻC¶dČp±ŻM#dO{\Fčď+ňĂ`Pهţł)6w^1ů@Bčˇ Î+8ô«ärX„ ‚„!]_!šľâ„cĚ“ěwľäş_躌l˝Íč“Őđ0ÁŇăĐ9dęháĄć˙8ŰßŔ]¶d'gŽŹg›Ô.Mí:´!´ÍDFś%פë÷îtżĽgű}Â:îľĎ;mĐţhÔI'Ťô„Ä'¦')P_F5ć85ú,©°w…¤!\Ś@úĚ$/Âh7V¶·'‡aĐđ‹çé‡vPŃGJđ(â6î;Ř9g6áČ0ń­fŞ@ś N‚Al9˘b›¨Wą?§R"—ܟϔë-Fąc÷ç#CÉřeÜtm=t†$:óPÇ9¬RÁkܧSÁ“®ÓgŠ÷Sß?˙6}şFf`ĄăĐ âčeî«\¦C™C˛í_Ć/ÓçIő“Ú—:r—>?ś§ęęaŠ)dHŕĐ mY9#X# cĘŰćö%8Lô ĽÎŐvî^~ aŐdÔë‚'ł·4¬š&ÇmĎőµi4)oVLhý‰ŕ·ÔĽĄÍ·[ËRŰ•:äbŐâiŰž±÷,«Ú­¶˙»NŻ]·á~ptż´ďă†ă^î\ß”oĺ<ŕ_×” endstream endobj 2635 0 obj << /Type /Page /Contents 2636 0 R /Resources 2634 0 R /MediaBox [0 0 595.276 841.89] /Parent 2606 0 R /Annots [ 2630 0 R 2631 0 R 2632 0 R ] >> endobj 2630 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [216.775 524.542 250.984 533.026] /A << /S /GoTo /D (structVariable) >> >> endobj 2631 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.366 459.362 253.227 473.31] /A << /S /GoTo /D (structContainer) >> >> endobj 2632 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [175.63 302.293 209.838 312.562] /A << /S /GoTo /D (structVariable) >> >> endobj 2637 0 obj << /D [2635 0 R /XYZ 149.705 747.976 null] >> endobj 2638 0 obj << /D [2635 0 R /XYZ 150.705 717.485 null] >> endobj 2610 0 obj << /D [2635 0 R /XYZ 150.705 595.017 null] >> endobj 378 0 obj << /D [2635 0 R /XYZ 150.705 579.776 null] >> endobj 2639 0 obj << /D [2635 0 R /XYZ 150.705 509.374 null] >> endobj 2565 0 obj << /D [2635 0 R /XYZ 150.705 374.552 null] >> endobj 382 0 obj << /D [2635 0 R /XYZ 150.705 359.312 null] >> endobj 2640 0 obj << /D [2635 0 R /XYZ 150.705 287.126 null] >> endobj 2634 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F67 2143 0 R /F20 1558 0 R /F72 2160 0 R /F14 1998 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2646 0 obj << /Length 1441 /Filter /FlateDecode >> stream xÚ˝YMsŰ6˝ëWđ(ÎTľAäć$¶§i§uSÝÜLFĄh›c›L)¦‰űë»ř EŠ%ж/e‚oű‹·.gď–ł7\ŇR˛`yhŤ"-Ĺ"$± –ëŕz.ÁႪhţűňÂ=¤Y™7«8©~şö˝kň×–wţ}Y@×Ë$KŠU™ďV›4v/ή~„0*挅ź—gçËŮ?3Ţá€l˝á(˘$gןq°†wŚŽ‚ď¶çcŔ8CŠď‚?g̰aÝ"*ĚŁiŞq‹ć¸#°¤E0Ś›¸qJĘoE¶±ní⽹ ¸ń9‰Ľ´2÷ąŹYę±ůÇÉƢ i!\Ď3ľ¤(ňÂ=ĆůÚÇ.‡(ßÓMâühŤcg ˘Ŕ ,8…x5ŘCbľßa›i$™ šíiYúRŘQ)Á:g†ńɦ,BŠçąůóô>ĎĘU TzĽ¦Dhř¸ÇŞDQŐă_ą*®Š$vmş´k^»—>BHž˙Ôc™$Ą®şĆy¶ńC5ż[yg 4|BĄ<§zë+f=.(cŞúd«T*HIҦ¶ň„FĂžÉz‚ˇw‹§ŻI_ü5˘X4ÂOZÉ»“´0aA!PH íľ˛tç!Ş]®<†™Ĺ­ź™ź.gÁµ›óÍ|¨MjOśÁÄĹHkç‡f>rW!ĺr(5!!óţ‰ŘŹżű¶ŻŞV•®*I"ëŞňĽc„ €âCétwIĺ0lý’ŞÉ<lĆU $EëĆŚéUć4‰N5Ű®{`NÖ6»´Ő¦NéÚďwi|·ł&Äu޸2ąqíş‘~P’uw"Ę=a]ţBBÁž”S0ę€ Ř´€˛ÓXŔ¬ ­Yűsŕ4łý9Đ4űŰŞĘŽ[ŁźŮŃnuY: qŮ)5ł°Š"¦Ďnt1…¦í5`ł§™íg¶iv#ľNˇw´o]jaĘiôŽÇ)'ä€Âršś¤GËIůŠr’Ž—“Ěn ÎłőŻivß§^Ŕ^$ĺAő¨čńňQ-·2ŻŇlě€fc<:¬IÔŇlCtőët4‚ҡYG•–űT4Ěwü˘ÚŐ¬đ{ŚS®_ظˇ>űD"˘ÄËŘŻaď“6˝ć)=ZşSÁת-Ýaj%Ů«ů7U­3Ř‘WRë Ö"S¦üIŐzÎ@ć(ň@e…V§ţ°ś<¤˙™ímµźČvnŤKŘÂî;¶{ŕö†łoËGpdáG\űVÚ°—V°1ß^hkP.‡Đ_D'~łś{7—ˇĆ󪀞}őĚQî[L¨{"ř-Őo©˙ucoF}g‹\Ýmo#ż}g®żÝOíËĺĄ µýÇߍŮýÁ^€üxşµçEI¶Ş˙e¤ endstream endobj 2645 0 obj << /Type /Page /Contents 2646 0 R /Resources 2644 0 R /MediaBox [0 0 595.276 841.89] /Parent 2606 0 R /Annots [ 2633 0 R 2641 0 R 2642 0 R 2643 0 R ] >> endobj 2633 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [139.489 598.299 180.35 608.773] /A << /S /GoTo /D (structContainer) >> >> endobj 2641 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [124.82 390.188 143.257 398.672] /A << /S /GoTo /D (structLink) >> >> endobj 2642 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [161.556 325.008 202.417 338.956] /A << /S /GoTo /D (structContainer) >> >> endobj 2643 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [161.556 312.655 202.417 326.602] /A << /S /GoTo /D (structContainer) >> >> endobj 2647 0 obj << /D [2645 0 R /XYZ 98.895 747.976 null] >> endobj 2568 0 obj << /D [2645 0 R /XYZ 99.895 670.558 null] >> endobj 386 0 obj << /D [2645 0 R /XYZ 99.895 655.317 null] >> endobj 2648 0 obj << /D [2645 0 R /XYZ 99.895 583.131 null] >> endobj 2608 0 obj << /D [2645 0 R /XYZ 99.895 460.663 null] >> endobj 390 0 obj << /D [2645 0 R /XYZ 99.895 445.422 null] >> endobj 2649 0 obj << /D [2645 0 R /XYZ 99.895 375.021 null] >> endobj 2612 0 obj << /D [2645 0 R /XYZ 99.895 210.229 null] >> endobj 394 0 obj << /D [2645 0 R /XYZ 99.895 192.236 null] >> endobj 2644 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F72 2160 0 R /F14 1998 0 R /F67 2143 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2659 0 obj << /Length 1565 /Filter /FlateDecode >> stream xÚÝZMsŰ6˝ëWđHÍDľ?rKZ[“L»±rJ3V¦eNmĘĄ¨¦îŻď‚mR†h‘´Ó™žH‘ŔŰŢb÷"ŽVŽć“w‹Éëc.#ŤŚ”,Z\FD`¤°ÓHb-.˘Ż1ăÓ•DĘřăúb{ťÂ/Ąăź×ËíMš—I™­óé·Ĺ‡ÉŃbňç„2ŽH‰#MI´Ľ™|ý†Ł xů!Â}ŻšŢDŚ3¤íxťM~ť`ďŢýQaoíĄvZ4ťćL™H Nçôç´Üů¦rlđő1ĹÍţqÎŁ\1e®;vĚ.Ýuł].ÓM…3Bµ|›»&iQ¬ w»\_řIZ—Wiń=ۤΏÖ@vF1# ÜĐŃŚS0?őÁ"ÜößáŠ7Ř5,‹d™žŐ ĎK0Nu|˛8~źgĺbŞql_{ŚÖÔ{Ďk”ß°€s!aůĆĂ,§*ľJ ×›đČ@*mo.z芙k˘hĂ€‚)•Ť6ô:Í“‚ăWˇAI„­;¬ĘŐąN¦Đ|ăzl€s¤LÓ‚oĽ Ś–ÂL6š ŇŠŽť¨1ÂŁ@ĺH ăzŮ Í’ëěź)±'9ńóínĘÂş`gˇvv†FĆ2Ł QćăřtJyś0ge °$‡t÷mp… ăc˛{…J$«©s+ô@ ć‘PqÝ™+ ą[{ŁJR5#0 Ý$őُ{”§(†ä,´Ý j#FҶńĎëuéÂÂ~•|Zěŕnś‡ţáÚg‘"MĘ€ÇÜ(D(ŕq€6;[šŽä~,HĹ=׸ë , CöSŻab„Ś„´ő„72‚Ë{d8Ě{ÓđInů4Ü‘mD<_ĚĎŹy;?˙tňéč•{w˙ěËŮŃůÇÓ÷»Ź?ťĚB5gńîË1äě“K8<úŽ+@,WČ(62:úô-ü‚@l\á§ť…żúń2Ą^·K˝č]ę™´ĄçtĘqĽľ=+}ŇŘť+ ë l6+ýcCŔşŻľM)T±â´H—ÂkuÝOŮNMß)»‚Ô-kaNď0^†ÉÓŇÂÜ+—ňîöąxÂ<,T+'D{ezš} őPé! ă•G]GŇ)Ă–Đ|@vůPD]vĹĘŻżĎóIôµjp÷öü‹ş %Ýý‚1%Yž!ŚşZeĄ_$·…s4[oý“Ęçäz;XqdřQriXŁ’Ţh[™‚óqjH›Ş$2Ą‘¨7ŐbÝ[‡Y ÖĂ–ŐEV«źÄî÷«lyµ#„6U¬şŞj}›^ěŻs˝ý °Š“‘”Ź©(— -ÇsÎ`I¬‘÷s>Ělô¦ŮĹęN\ĺć îÝ”ť·ż_^–ăHrÇ‚Tä•2ö<ä †41í˘ł‡ÜŢfW‚ş›ŽtVŠ,ŻÉŻWöSě÷v<@\1)a€ô•°ŚH‚ü˙xv%ű ZR Úíćjżš•v—˙”†,f•9TĚr¬‰IŇ-&)1O«YÁUł/âݤ" 1íBD>ä–=^ȇ:./¬^~úŔP´I»G„‘5±îB n)ęłÄÂ;E˝S—–ۢH}R «óZW×ini-ýQ^x#WIľJ˙c?H „9űQ‚ś(«ĄGžQŤ±śH»ŃϢȉ´Ú˘Čš –ë–Ůá’Rs—&ďďq€1ŔPÝĐ>¤˘]XĘźE·ő ŽÉ!˘| Ů0íMł#EyżĽ«§ĹHrÇ‚Tär+2ź‡[nĄ°:D“÷¶ÚG’·üx^IŢŰďkÜŠé‘›íŃ őT!­Ô8î GÄë#hŕŐA˙0Ëa¶›–Źň2+ďvŹÝş–yřݲ5áPč=†Ť€!ŐČ˝ůzŔ°FŔRźĎęŻ(`G˘$ݍí„ýzÂŘ?ł}­ť§0›0á^űŐq158®)z{ë7a”ű+&ÔÝü†š7Ô˙ş´r˛Ţ±UČٲƫ˙ěx—”uS»Qš/ć•\®ünîę:ěąíßw«jç‘ć­„!đ/\ť‚ endstream endobj 2658 0 obj << /Type /Page /Contents 2659 0 R /Resources 2657 0 R /MediaBox [0 0 595.276 841.89] /Parent 2606 0 R /Annots [ 2650 0 R 2651 0 R 2652 0 R 2653 0 R 2654 0 R 2655 0 R 2656 0 R ] >> endobj 2650 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [193.428 414.416 216.356 424.891] /A << /S /GoTo /D (structState) >> >> endobj 2651 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [234.304 414.416 275.165 424.891] /A << /S /GoTo /D (structContainer) >> >> endobj 2652 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.366 349.236 253.227 363.184] /A << /S /GoTo /D (structContainer) >> >> endobj 2653 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [217.583 204.414 240.511 214.996] /A << /S /GoTo /D (structState) >> >> endobj 2654 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [348.498 204.414 371.426 214.996] /A << /S /GoTo /D (structState) >> >> endobj 2655 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [389.374 204.414 430.235 214.996] /A << /S /GoTo /D (structContainer) >> >> endobj 2656 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.366 139.234 253.227 153.182] /A << /S /GoTo /D (structContainer) >> >> endobj 2660 0 obj << /D [2658 0 R /XYZ 149.705 747.976 null] >> endobj 2559 0 obj << /D [2658 0 R /XYZ 150.705 670.558 null] >> endobj 398 0 obj << /D [2658 0 R /XYZ 150.705 655.317 null] >> endobj 2661 0 obj << /D [2658 0 R /XYZ 150.705 596.79 null] >> endobj 2571 0 obj << /D [2658 0 R /XYZ 150.705 486.594 null] >> endobj 402 0 obj << /D [2658 0 R /XYZ 150.705 471.354 null] >> endobj 2662 0 obj << /D [2658 0 R /XYZ 150.705 399.249 null] >> endobj 2570 0 obj << /D [2658 0 R /XYZ 150.705 276.78 null] >> endobj 406 0 obj << /D [2658 0 R /XYZ 150.705 261.54 null] >> endobj 2663 0 obj << /D [2658 0 R /XYZ 150.705 189.246 null] >> endobj 2657 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F14 1998 0 R /F72 2160 0 R /F67 2143 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2671 0 obj << /Length 1458 /Filter /FlateDecode >> stream xÚÝZMoŰ8˝űWč(5Ëá7{KłI°˝l¶1zI‹Âu”Ä@bgeełŮ_ß‘H)’%Ë’e,Š=I¶Č7ĂyĂ>Ë4¸ hp1ů8›Ľ?*0Ä*ĹŮm`-1Vš˘¨f7Áu( ĐhĘ´ ˙ť»›ĺ*Ť“Űů".>şë©»¬oÝ5˝÷ĎÓ‡^Ä«8™§ëäă|ł\¸'—żGSÎdČeômöir6›ü5ôŽđćŤ †A°xś\ŁÁ >űP­ ^ň‘ŹśhČć=W“?'ÔŻ°Ľ&łŰěR¬[V×mĐ’ 4P\7¸uŽÓçdµÉÝÚĆ{Îhe:"oŠWʸ›îc¶ôÁŘ|q’¬w»XßřŘ­1ŠÉËr;?jëŘZÄ4şa©`Ż {člţŰÜĹł ĺ#s–ľ'ůŞż§hťĺŚ_Ĺééúń)ńÎoŮčT_©Äu ©˛qĂ5«×D*QŚţ;b4ś?´Âxó QˇFĂVř§ Ă)8ĂA”´nÖŮjţ#3đPfah®HÚ…_Ôr˝"uŽ;cL‰µ*7dąçď2b"ś'óÇwE¶çL;ţöÓ¶ Ck¬{(˘@•ŕ¸@)ˇ¦DkÓ‚Ă]j;Ś|«)]ŁVŠY*µ sˇČé3ˇ8̡–ë»T1"%Ż[ζ)đ1žăVĎoWkw­$Č;ü†Ób/ţ c7(Ť Ľ÷÷ëçôé9u÷_)e±G|Y><¸»q;ľ!Í5 ä;`ÍMÖBvCěĎśáË®ä 1ăĘ.ű%Ë®^vyQvŻŇy·G\/ݗܦ…ý× mr™Ä‹–˘śµWYşł|Ä`ˇ|×b™–ďbäb˝Úx‘ď牛"°8)żV.Ţ\ĄĽĹľ&ĺôőéčöaŹSf0ąńůˇJüt‡Jňm/Ř/@íeŞgkěÝ!ó– ßýĂÜz;ˇąŮŮ~OîüĆ˙|1 ®óe –üâŚ71ś/ńŕ·…Ňr9aśýG-—ăUq…sFŃrąŃ„Y1®ĺâqž ŤQbLeźďl·Zmm·U«łĽşä‰ăSđĺ~ą¸ßŇ ›<ë\ßřŻâtwŁîm“+„ ÝűůQňŤ‡“cĐŤŐŚkCdŃňşş›ď¬¶Ó]µ:‹ëX^Ň[•᦬/íÄu«É "hăxQňš…Ǩă« :ţÖ¦:l¶YË;¸®:˛«Ö×~"HďË˝‡úÁŽ7yCÜ“ă¸Qr/±óp~ŮÄ%'lOŮt ĺv˛«–ĎVé2}uLz/ž»7yűłE-iÚ3ađš,"í†Řź Ă1Ę  „ř?ţúdGüúô%R™xiB®Ĺ^%$ąč­„´‚ľRs=\°* ·ĘšÁ` ‡˛[Š U—LWĚőšdę]vl…c˛ăß!pöČ“/‘ÎSk 2\–ż¶´Ż·‡#uíxłt\µ…Qô=ŔăĆ’p í'ż¸v‹—Ͷ6˝šŮ~ęĹĺĘvRőW3ĂÝo˛‡řtTŚ€(ů—gČŁśyAjb ë#f4ŰÎŐě>5ÓÎün˘űŮd !ŔŞqLŹÁ(©Ć®O»5RŞ…$Š™>ňf¸Ů!ň¦ćH§ĽńÇŘŐru72'/¨É§bĸ·EŁ0Ęś`xÂ3Çy[;¨îű¶č@ËíIPµě »ĄÎP¶űŮd !„±ăŘŽQ䋨ň˛ľř‚Â8gŻĺĘż!XE¨ô‘÷o|ä˝j™E–†'O^Ŕ0᯻úŮĚşÍ)ÔNŽ\ü#a&ĺKâňO îc¦0.fů™4˙"gŘËŕßÖ§á?Żwů‰=^ŐęŇ˙ŤBtU endstream endobj 2670 0 obj << /Type /Page /Contents 2671 0 R /Resources 2669 0 R /MediaBox [0 0 595.276 841.89] /Parent 2676 0 R /Annots [ 2664 0 R 2665 0 R 2666 0 R 2667 0 R 2668 0 R ] >> endobj 2664 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [129.805 426.77 152.734 435.541] /A << /S /GoTo /D (structState) >> >> endobj 2665 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [170.682 426.77 211.543 435.541] /A << /S /GoTo /D (structContainer) >> >> endobj 2666 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [161.556 361.59 202.417 375.538] /A << /S /GoTo /D (structContainer) >> >> endobj 2667 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [122.328 206.225 156.536 214.996] /A << /S /GoTo /D (structVariable) >> >> endobj 2668 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [161.556 141.045 202.417 154.993] /A << /S /GoTo /D (structContainer) >> >> endobj 2672 0 obj << /D [2670 0 R /XYZ 98.895 747.976 null] >> endobj 2560 0 obj << /D [2670 0 R /XYZ 99.895 670.558 null] >> endobj 410 0 obj << /D [2670 0 R /XYZ 99.895 655.317 null] >> endobj 2673 0 obj << /D [2670 0 R /XYZ 99.895 595.086 null] >> endobj 2569 0 obj << /D [2670 0 R /XYZ 99.895 497.325 null] >> endobj 414 0 obj << /D [2670 0 R /XYZ 99.895 482.085 null] >> endobj 2674 0 obj << /D [2670 0 R /XYZ 99.895 411.603 null] >> endobj 2609 0 obj << /D [2670 0 R /XYZ 99.895 276.78 null] >> endobj 418 0 obj << /D [2670 0 R /XYZ 99.895 261.54 null] >> endobj 2675 0 obj << /D [2670 0 R /XYZ 99.895 191.058 null] >> endobj 2669 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F72 2160 0 R /F67 2143 0 R /F14 1998 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2685 0 obj << /Length 1701 /Filter /FlateDecode >> stream xÚŐZŰrŰ6}×WđQš©,îČ[Ú$žé5M4yI3š˘mMd)Ą¨şţű.@R¦h{¦ym»‡8‹˝‘&× M.F?ÎF/Ţ •b•âÉě*I‰¦2ŃÜEu2›'źĆ\M¦LRăßÖóí2Çż´ż^gŰŰ|U¦ĺb˝š|žýв ZXte ACú}^n‹ŐĆë|ń–Ńöý†!’)~RĆ«Űiő‹«ęsłÍ˛|ă­ˇ…)±RV+_­Ş%yQ¬‹ę2[ĎëMZ—7yq·Ř䎽é<Ĺ4Â0ÉT0ܰzë%Ág¨»żĂ·/hµ°,Ň,˙Rř‡ţR˘s.ÇĚŢ~(S‡‰ŽËźÖHŐb•µĄý DŽlcę/*CîQJ5kţ™ Í´xWäYµTł62áź ¶¸ĹÝ:ţ!ŕš‘šĄŮzµ©Ág=ľIk´ ‹·0U?7łâ-ĺšP»3›.é&čť%ěľwG1r§łĎôaHHť8‰í6°Ľ˙Ö»)śŰî¦0Óż) ÄŮ. T…KĆ G!O@±[łJű‚CÁĚ3ď®aËtęş»Yd7Ő%—¦ŕ4qSU­M}Ë|žĎV`ě ĐÎĐÇ\G|¬ĎĽ0đÇ1ŻýŮ•nΰŻ=Ôźç7L}Űď+ď·j#®:„ŻrW€ďşě¦z0ČKB«y$Ő±F<Ő\6ţ Ť¶,T¶Şňa¦Ďsfşív6dÓwA¶O!x0¶7hCőŰ8ŕX#ž`,^‰(‚ö‰€€–{ÉşMĎa–ű~\Î{xoŁ9Tî=éßҧ«Ćă 嚥"Ź5âG¤y¤9Î(˝±sSxăCyěó܆©m»ý=˝=tšqv’cׂ/ŇK—Č›™:śvŚ çI ,’ńX#Žqa Ö:ǸĹ-ç=Ř{sá; }ó3‡9o;~»Xî'ěĹęşżQ+±Ç9:ë!}8ÚÇ|9RFvçg*ŕ`:ĂÝ4qű_ 8-ŕüşX} M© ĐúńFoԩ⍰v¸xĂOoNJžŔ”Y J°:PÔCóp…’ü™…’MáXËBţAáÄĎ,“TAł<ŕ´xf˙_ó ÖËű°{<ô§Ę4 s 㦖iĚY2Msż+…lݦEh#®ňs„aŔ<…FĂ1çuŠDs¦×`Ůo{=MˇYş©*Ń.Ö6‡«ţp°®Đí·qá±F<áNeO2®sŞl~ę×Ďóć»íőŘ´ľl˛C١¨ś  }ě'µŁÄĆqÄ2K‰TęIeŘËäĄö0łĂÝŃ÷€ôŽču7čóűc`8ţÇü9\E ŻŃF|hý-Źä@ ö¶iy˛žěuP ´qôĆŔf˝-úć·á84ˇ ‘Ęk´Ď5NhFÚh® v^LYś—Ô®˝”Ř^öđ}žç0»mĎoV墼oK3Ëíy©}8ÄKh#V‹µá‰–+^¤kA4ŇŤsu›űŐMţ·‹űŞĎó¦şíý—‰ŘyŻ]×*Á<Ç(¸şF÷`ŞĐ6‘|72T™aLÓśďW™áضCG™a•ÁĽ2ł˝üč^ťHoÔ`ř PGUýđÚÍqUćaí1UFIŮÇtď8.@ÇA˛Se%ŐÓ#2#0¬ˇóZNK–Qe™ŁŰ«ëháwB€ĂÉb¸ÓŞóNČörÓż;˝!T~®ŠőíIzÄlj¦ŹQč(‚PěU¨ň®^ó ˇÂqU żí¸—îŐA«•µ2~‘c÷”–ůĽ>şőąžM,7Oűę[}Ä™¨?)°ę čKf_˛úŻ+÷|M>đ–YcĎб;­­ďҲYęáĹě“ć˙qŮŞŻ×NÇ˙Ţ_ű ÎWÝÍú.ö) endstream endobj 2684 0 obj << /Type /Page /Contents 2685 0 R /Resources 2683 0 R /MediaBox [0 0 595.276 841.89] /Parent 2676 0 R /Annots [ 2677 0 R 2678 0 R 2679 0 R 2680 0 R 2681 0 R 2682 0 R ] >> endobj 2677 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [178.974 600.002 219.835 608.773] /A << /S /GoTo /D (structContainer) >> >> endobj 2678 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.366 522.469 253.227 536.416] /A << /S /GoTo /D (structContainer) >> >> endobj 2679 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [178.974 354.75 197.411 363.521] /A << /S /GoTo /D (structLink) >> >> endobj 2680 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.366 289.57 253.227 303.518] /A << /S /GoTo /D (structContainer) >> >> endobj 2681 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.366 277.216 253.227 291.164] /A << /S /GoTo /D (structContainer) >> >> endobj 2682 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [249.063 120.258 283.271 129.029] /A << /S /GoTo /D (structVariable) >> >> endobj 2686 0 obj << /D [2684 0 R /XYZ 149.705 747.976 null] >> endobj 2567 0 obj << /D [2684 0 R /XYZ 150.705 670.558 null] >> endobj 422 0 obj << /D [2684 0 R /XYZ 150.705 655.317 null] >> endobj 2687 0 obj << /D [2684 0 R /XYZ 150.705 584.835 null] >> endobj 2607 0 obj << /D [2684 0 R /XYZ 150.705 425.305 null] >> endobj 426 0 obj << /D [2684 0 R /XYZ 150.705 410.065 null] >> endobj 2688 0 obj << /D [2684 0 R /XYZ 150.705 339.583 null] >> endobj 2611 0 obj << /D [2684 0 R /XYZ 150.705 190.178 null] >> endobj 430 0 obj << /D [2684 0 R /XYZ 150.705 175.573 null] >> endobj 2683 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F72 2160 0 R /F14 1998 0 R /F67 2143 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2692 0 obj << /Length 729 /Filter /FlateDecode >> stream xÚ­VMs›0˝ó+t„ŐŐ7Ę-IOsiš2˝¤9Śfb;Ťiţ}$(1Ô›śV ńöă=- äž™gIđáBjS«µ É’XKc«1Ő`H˛ 7ˇ˘ ˘7qř%ąp‹b]ĺĺ2ÍňöŃŮsg6Kg«ż_•xtžŻó2­6ĺYş-2·qző9š1&¸ …‰n“ËŕSü F„ýŤFŇ3’­‚›[ Ü»$@…ŤÉKsrE„Ô°ú»Gň-ř€Ď°ł”«zY›6oŐĎ;FO–7sy_E\†i™®rL6b,Ü6 G]ěîŽćŠ ńźĽ4ŐLwy˝/ € Ú ĘŚŢ‚ÇµJyڦ‚Úô*ČP2BÄŇÔÔŻęVĹ*ŇĘ~ĆâcÝrč»Őś*%ŢşMj·ŤŔŇĘŮ—‡"{ŘQĺŻe—–(@é]Ä!|l˝m…ť•ů*Gµ/†iH¬«`ü4,jË©5f’&atJŻź®ôĆ’J°^ ŻOű”pśŰq%ôÝ&CZkßăťi\˙¦úŕ8‡4!„ćbŐS0:ŞuLĄ¶ďCµáđ\Sólł®öP}°[÷}yď®çűČďrޤţuŢômrÓ0źąÍu±ľź¨‰ň‰|âíźŃ)BiĘš¦))H‹X–ŕŽWŃÇ=˘8Îó¸úžżGĐół§vű|·­đ_Žď˛ý=ýŕ€†Ś(…ąéi¬ŽqŕÄŁ9ÇjiW­ëĽz.×ăcÎnµQô7C ÜŰO‰Ĺ˛-v–ĺŰ fľZÍÉS?0ćeą)#m“Ć›XľŰüMc=ŘCĂväŐx[´ěŤĽ8?€’.Ú$˛¶R:}ňsé-0îV N¸=áţiY76Ëąť~“(†°ě¦čn@vŹ?@Á<™ŁaîEÓ‰^Ýúă&ţ~ĹŢ…bÎ×»ĄúZ°›, endstream endobj 2691 0 obj << /Type /Page /Contents 2692 0 R /Resources 2690 0 R /MediaBox [0 0 595.276 841.89] /Parent 2676 0 R /Annots [ 2689 0 R ] >> endobj 2689 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [161.556 667.473 202.417 681.42] /A << /S /GoTo /D (structContainer) >> >> endobj 2693 0 obj << /D [2691 0 R /XYZ 98.895 747.976 null] >> endobj 2694 0 obj << /D [2691 0 R /XYZ 99.895 717.485 null] >> endobj 2690 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F67 2143 0 R /F20 1558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2750 0 obj << /Length 1730 /Filter /FlateDecode >> stream xÚÝZKs›HľëWp„Şh<ďGnŽc«’ÚÝň®Uą$)—aY=„w×űë·‡d@IĘÎ $f¦{şżţ¦»{ {“Ń›éčä‚KO##%ó¦7),<Ĺ4’XyÓą÷Ńg:SI¤ôÝÎďWüRÚ» ď×Ń&™%Ëí&ř<}?:źŽľŽ¬Ś=RZ‰#M‰®G?coß{1Ł˝ҡkŹq†±WŢŐč÷ÎÔĂ {k/ą˛Â#BDE[¬Úi+!Á`ŚýË€rö—UjąI˘řf?ÝőĚ]¶7îšÜfĎ'ÓÉ›Ůn÷óôň]şÉfĺśf Ť0Ňj†˝1Ăcćtş¸ß„ÖL»ęŮőä‚â˛$RZy ęć˘TT¦zÇBH?„%“ě5zĽČ¬˙G:ÄşéönWń·ńuRS eŇeŔ±5Üő"Jěäm\—nG}· ÷ÉÂM­ Íőra Ňb©Ŕ(XeŤĆ †ychŇĆYĺ pG±˙w@…ĹÁtNvś3wş·‡ô`°­ ş<}^%°Ź**Őü3.tˇHÝâˇFŰZź%q@Ŕ¸atGÉ˝UJř›kpOß0IR‡ľŰ,“i@`óůbuŰ‘Ö?!éĎđv–şńä‚pĎŔv¨tp3HPçö1s*{ćČhRCWŃf¶Ž"üW°ş&Ö¬NŚÓhóĺU;.íx +l¶xڧĽ}¶+$ĐT »K‰` ¸!ČᔺY']±"*ĂR%kĐĺlµüĎĘ‹*đřđnšÁŁđ\PjĎÔTÜ®®˘„=¶gEޏ.Ć čî±îuĐ .uęÔĽĐěj RW­ÁG5á qĹói“(ůÍşż…R,Ř€n°ç—®Ž°ŁĎäÔ™ą ]ŕĄěŹŰĚ)Ó»”ÉËŹ^ó‡kąYn™“W«Účů,I=Żü›€a?§Ťâů]Ľ «‚rÄWöÜBÔ·ˇNÜ®R˙]EÉŮv}G»Ý“>Léu¶BÔ™ Ď7ł?-Qç>¨ĹQiN~žF3,5Úé|'NĆ»wŹŃăJ”k¶Q®VPŐs ^nšĺdHŤňź"šô‘VvW—•R/ A«Ô۶K¸e˝°1Üť+ Űâśrć>ť9“šŠž'ĄČńxŮwÔHČŘË€„y­€Ô0Ó' ¨Rę˛őôS[Ó^2YČ*YO^S/ľP,2“cńÜĺá‡ô2áç<%ă‘ď ˛]ŕ‘(}4ů#‚4P:@ĘgČÇĚň©ÂiÁQ€Ó?pŕĎ pż,7_ľ Ö(Rť¸Żů0ćş#Ö ëµRyŐM®D• ĂZíeÚŰf™š#eÓíâđl°8Łç˝Ny´K*ňşGÔqŠĘA„n‘ůBů\áő!P°DÜaÚuRxN·74Ó’Á„®»Ś·±ňîdťD¤AF<2Čş˘ĐkĐAĚĽ—֢ˢüz™űc“,m§ěÁmoußóVyć¶žľ° &†çĽĚZđľm ő5ĄĽ¬’bH‚˙ž9o/RVjŮži}ŹĆďXC‚/Zb ĎbÉCPľEĆsĹ3W¸ÜOh¬Dą"O´×][&ľŚŁ°ir˛,Ü(ÉÝhE·őC«ˇáPr>ˇ‚«¦Ç]d%}s)}»Î÷Č€Dşźď`˝D¸†gçŁT!ÝV(ŃJ±ŢwĎ÷ÝTáŻgiĂűyVŮqs}=ˇvŘŕµ§T)BËg‰<ˇ Ă*ť„Ŕľ8âb@‚ósEh÷:`,Í·ďCZlíßLtŮóáq¨‰Şŕ˝*żÎÖ+Ď_Ćţ\°ÇŽN/ďw·Í¸'Gp¨ť\Â=#Ĺqjź´ážad8íî»É€ŞYč— űĆŻŕÖbÓç+¸üă<‰¨r_–P9p˛‰°ŕN‹IX`dGţťÄ40ŘżĎ^°źŢeß0Pž]1ˇîŽŕ×ÔĽ¦4Ď2čţ‡tĺeݧ±Żě3©ůP‹ŔÉt’š"ý#í7=äß ÚCé߇…ý(ĎŹ6ucýÓźťN endstream endobj 2749 0 obj << /Type /Page /Contents 2750 0 R /Resources 2748 0 R /MediaBox [0 0 595.276 841.89] /Parent 2676 0 R /Annots [ 2695 0 R 2696 0 R 2697 0 R 2698 0 R 2699 0 R 2700 0 R 2701 0 R 2702 0 R 2703 0 R 2704 0 R 2705 0 R 2706 0 R 2707 0 R 2708 0 R 2709 0 R 2710 0 R 2711 0 R 2712 0 R 2713 0 R 2714 0 R 2715 0 R 2716 0 R 2717 0 R 2718 0 R 2719 0 R 2720 0 R 2721 0 R 2722 0 R 2723 0 R 2724 0 R 2725 0 R 2726 0 R 2727 0 R 2728 0 R 2729 0 R 2730 0 R 2731 0 R 2732 0 R 2733 0 R 2734 0 R 2735 0 R 2736 0 R 2737 0 R 2738 0 R 2739 0 R ] >> endobj 2695 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [198.537 650.744 249.368 661.326] /A << /S /GoTo /D (GTGPaje_8h_a5aab6af34e98e257ef546c8fdc17ab94) >> >> endobj 2696 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [249.868 650.744 311.307 661.326] /A << /S /GoTo /D (group__cpaje_ga91d2beb5b926254b7922f7c5fc6e2c1b) >> >> endobj 2697 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [314.793 650.744 361.141 661.326] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 2698 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 622.957 232.557 633.539] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2699 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.799 622.957 286.45 633.539] /A << /S /GoTo /D (group__cpaje_ga32902ea7f94f1f890c016da04c2d06b6) >> >> endobj 2700 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [416.623 622.957 457.995 633.539] /A << /S /GoTo /D (GTGBasic_8h_a7a5d407dd23dfced8b5937332ff80972) >> >> endobj 2701 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [202.021 583.323 259.326 593.797] /A << /S /GoTo /D (group__cpaje_ga7cd6968ffcd034c3dd67d48ef047934c) >> >> endobj 2702 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 555.535 232.557 566.01] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2703 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.057 555.535 306.304 566.01] /A << /S /GoTo /D (group__cpaje_ga92b9b4f5b8cd6656e6fce9b18720931f) >> >> endobj 2704 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 527.748 232.557 538.223] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2705 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.193 527.748 305.875 538.223] /A << /S /GoTo /D (group__cpaje_ga49ae68f2a567d8bbac4cb6f7b6726ae8) >> >> endobj 2706 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.117 501.092 249.092 510.719] /A << /S /GoTo /D (structContainer) >> >> endobj 2707 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 488.006 232.557 498.481] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2708 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.946 488.006 307.628 498.481] /A << /S /GoTo /D (group__cpaje_gab77a5b730b5b0e58777d75e1c1bfbdaf) >> >> endobj 2709 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.117 461.35 232.952 470.976] /A << /S /GoTo /D (structState) >> >> endobj 2710 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 448.264 232.557 458.739] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2711 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.714 448.264 309.162 458.739] /A << /S /GoTo /D (group__cpaje_gaebcc766a17f5ffc055432687e946a1ea) >> >> endobj 2712 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 408.522 232.557 418.996] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2713 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.719 408.522 302.909 418.996] /A << /S /GoTo /D (group__cpaje_ga4b8a30594207e3bd62ad22500a363555) >> >> endobj 2714 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.117 381.866 228.91 391.306] /A << /S /GoTo /D (structLink) >> >> endobj 2715 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 368.78 232.557 379.254] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2716 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.079 368.78 300.149 379.254] /A << /S /GoTo /D (group__cpaje_ga0045c9aebf879d257d45ffca3a580dd2) >> >> endobj 2717 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.117 342.123 243.104 351.564] /A << /S /GoTo /D (structVariable) >> >> endobj 2718 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 329.037 232.557 339.512] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2719 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.887 329.037 312.5 339.512] /A << /S /GoTo /D (group__cpaje_ga1a280796147680d73b4148de463200a6) >> >> endobj 2720 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 289.295 232.557 299.77] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2721 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [234.785 289.295 308.543 299.77] /A << /S /GoTo /D (group__cpaje_ga78d90b40b97cb072ab6634bbfd562dc6) >> >> endobj 2722 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [313.758 289.295 346.415 299.77] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2723 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.117 262.639 249.092 272.265] /A << /S /GoTo /D (structContainer) >> >> endobj 2724 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 249.553 232.557 260.027] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2725 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.891 249.553 322.6 260.027] /A << /S /GoTo /D (group__cpaje_gaccb7f379b053e7a5d6cc3f04b929e1d9) >> >> endobj 2726 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [325.92 249.553 358.577 260.027] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2727 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.117 222.897 249.092 232.523] /A << /S /GoTo /D (structContainer) >> >> endobj 2728 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 209.811 232.557 220.285] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2729 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.535 209.811 320.962 220.285] /A << /S /GoTo /D (group__cpaje_gaa2404d741e681fa9a90309798ccdd005) >> >> endobj 2730 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [323.926 209.811 356.583 220.285] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2731 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [225.319 183.154 262.294 192.781] /A << /S /GoTo /D (structContainer) >> >> endobj 2732 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 170.068 232.557 180.543] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2733 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [234.077 170.068 287.41 180.543] /A << /S /GoTo /D (group__cpaje_ga6f836611123e0a83ec764aefebf4ec33) >> >> endobj 2734 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [291.916 170.068 324.573 180.543] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2735 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [216.604 144.945 237.439 153.039] /A << /S /GoTo /D (structState) >> >> endobj 2736 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [253.393 144.945 290.367 153.039] /A << /S /GoTo /D (structContainer) >> >> endobj 2737 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 130.326 232.557 140.801] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2738 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.343 130.326 293.652 140.801] /A << /S /GoTo /D (group__cpaje_gaf92058cdf7d12c550866c98bf59338b8) >> >> endobj 2739 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [297.423 130.326 330.08 140.801] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2751 0 obj << /D [2749 0 R /XYZ 149.705 747.976 null] >> endobj 2752 0 obj << /D [2749 0 R /XYZ 150.705 717.021 null] >> endobj 434 0 obj << /D [2749 0 R /XYZ 150.705 717.021 null] >> endobj 2753 0 obj << /D [2749 0 R /XYZ 150.705 669.514 null] >> endobj 2748 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F67 2143 0 R /F14 1998 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2802 0 obj << /Length 1647 /Filter /FlateDecode >> stream xÚíZKsŰ6ľëWđHÎDŢ rsŰÓLn¬É%Éx‰vÔX¤KÁmÝ_ßR$Mʤ’8îL/˘D»ŘÝo_€ppŕŕlöz1{yĘe#-% WÖ(Ö"P,F«`± >„Í©ŠĂóá0ů=użÖ™I‹«dY˙tĎc÷ČŻÜÓ|ńăg‹ł×Év˝ô´ŽÎ‰ćD(ÎC¦ŁO‹·ł“Ĺ쏍á€ě6ÂQLI°ÜĚ>|ÂÁ ĆŢ1•37ă )b×ÝłßfŘ ×}–ÂJÂb©•–€”Z¬±“ö"‰(˙ڍÓŽË»˘H3SnÖí˛¸öŰ}w6 >”“.LbR?Ĺ1öą×Oâ[“,-§Żţm¶ňLľ$ŮuóĚ®*f{×ç™IŔp$L‹™µ^Ľ<Ą¸“9ĄjĚ EZP§şŹ”ŠÖ˘^ľBČĐ$-ÓË"5wěU„ŮĄy|1,ĽžG‡ůmżü0ç#xPtgݤ8/ŇeßbłŢ¤á »/°HžmMTŽ€qJ=˝<%<Đ  *­6(hCÓh8=`Ěܬ–Î8Ň1©ćűŰi<¤@Š,h5hĐéhµ˛gË Ij 48sŢĄÖáť/€‘8ÍÓó*÷ÜGłu_n ·Ńu~çß8 ßÜ•:~–Hfś”H>Z­Nś†3Ó–qz8’íâ’Ůe–ő’F°)0k y©Ŕz*’_ŘI`-H LJ0s‰z|kęđŮÇrD,řőí@¨¤¤Ţ¸Ł¶­˘»{Ö–žIňtT˛„$8oĺí$üuť}}-x8.aq—“302a5ŕRKŽń2\Ęď‚Kůăpą-–UŢPń#)&Iĺ‘?…V“BĆW[ř¤öă~´H€ ľĺ` ¤6k«Ŕěłô0–łv’­úüĘěWvqÓŻDŤy;2čW ĹŠęWŁxH |îá~•nÍxÄ ¤bq@6™ćS“8ȧFŇ–oś˝=ń±ľć˙lëëËkóó•öţ—ĹĄ!*,ű°l¸FJhéŽÜ4Âqyň‹Ć]"f0Ćáé]¶4ëňŢ…Ćá›|ygź”ŻZrŕWn¤G4Ţ~sŚ4ŕeN˘ĚGĄórČFÉ&5°/BÂm/®űéwGű®-ˇ\@Öö^[J$ËMwmů}i8¶DA‚ł}D`ş«*ŤÝ5iŤ@&ĘÓ OBu7mů‰€uĐřČ·*")Đâ¶řö!¦Â˲o·ČAiŚĐ¶řĐD@‚í'ń¸™§ÓčÇĄ»ĚoB_ÇŔAłňjÂ_éAžČ¶qĽ­˙qn\!´Sż|QÝ…wťr \7ü( §Ë¨-Ş FMiODŁ ľ;)ę$—U1ÔUe6i¬eY7|r‚ Čj…Ď9‡ÔY•j@h©pŕQ ő°Vk…SĘ‘ťZ­gL"ĄĆ‡S)椝z~D ׼ŽĹzĘ.Ş?’Hč¶$oü‘DÂ×gi–‰I˝y˝]ŤĂŞˇ8şő>MąbBÝ7‚_QýŠú_WÖÓ«PR^/+z1H_KîąVS- †”(_”˝Č˝űţ&·iůď{ź”ł®ŞţÔq0Ô endstream endobj 2801 0 obj << /Type /Page /Contents 2802 0 R /Resources 2800 0 R /MediaBox [0 0 595.276 841.89] /Parent 2676 0 R /Annots [ 2740 0 R 2741 0 R 2742 0 R 2743 0 R 2744 0 R 2745 0 R 2746 0 R 2747 0 R 2770 0 R 2771 0 R 2772 0 R 2773 0 R 2774 0 R 2775 0 R 2776 0 R 2777 0 R 2778 0 R 2779 0 R 2780 0 R 2781 0 R 2782 0 R 2804 0 R 2783 0 R 2784 0 R 2785 0 R 2786 0 R 2787 0 R 2805 0 R 2788 0 R 2789 0 R 2790 0 R 2791 0 R 2792 0 R 2806 0 R 2793 0 R 2794 0 R 2795 0 R 2796 0 R 2797 0 R 2798 0 R 2799 0 R ] >> endobj 2740 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [199.066 704.266 219.9 713.989] /A << /S /GoTo /D (structState) >> >> endobj 2741 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [316.889 704.266 337.724 713.989] /A << /S /GoTo /D (structState) >> >> endobj 2742 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [353.678 704.266 390.652 713.989] /A << /S /GoTo /D (structContainer) >> >> endobj 2743 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 691.223 181.747 701.697] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2744 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.024 691.223 237.401 701.697] /A << /S /GoTo /D (group__cpaje_ga67bd495e65937ecdc1bfe450cb0f0018) >> >> endobj 2745 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [240.664 691.223 273.321 701.697] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2746 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [177.326 676.468 198.161 686.094] /A << /S /GoTo /D (structState) >> >> endobj 2747 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [214.115 676.468 251.089 686.094] /A << /S /GoTo /D (structContainer) >> >> endobj 2770 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 663.327 181.747 673.802] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2771 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.819 663.327 240.411 673.802] /A << /S /GoTo /D (group__cpaje_ga303effbd4344a2f42872d4e70471250f) >> >> endobj 2772 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [244.469 663.327 277.126 673.802] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2773 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 623.477 181.747 633.951] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2774 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [183.126 623.477 237.804 633.951] /A << /S /GoTo /D (group__cpaje_ga6fa623c49bf3a2e9ebe7b138cc66e9a1) >> >> endobj 2775 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [242.168 623.477 274.826 633.951] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2776 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 583.626 181.747 594.101] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2777 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [183.478 583.626 234.812 594.101] /A << /S /GoTo /D (group__cpaje_ga41f1c6499787f834904580c315032258) >> >> endobj 2778 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [239.528 583.626 272.185 594.101] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2779 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 543.776 181.747 554.25] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2780 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.204 543.776 227.925 554.25] /A << /S /GoTo /D (group__cpaje_ga3729690fc4d61c7f74e780530113fd8a) >> >> endobj 2781 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [231.368 543.776 264.025 554.25] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2782 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [427.395 543.776 444.603 554.25] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2804 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 531.821 144.233 542.295] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2783 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [159.065 518.599 190.051 526.692] /A << /S /GoTo /D (structVariable) >> >> endobj 2784 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 503.925 181.747 514.4] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2785 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [181.939 503.925 230.153 514.4] /A << /S /GoTo /D (group__cpaje_ga6f1f9c069de829e3c2791415af7212d4) >> >> endobj 2786 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.33 503.925 265.987 514.4] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2787 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [427.395 503.925 444.603 514.4] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2805 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 491.97 144.233 502.445] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2788 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [198.339 478.821 229.326 486.656] /A << /S /GoTo /D (structVariable) >> >> endobj 2789 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 464.075 181.747 474.549] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2790 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [181.939 464.075 230.153 474.549] /A << /S /GoTo /D (group__cpaje_gacf05b63d86f1f7e36602347f56d1640d) >> >> endobj 2791 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.33 464.075 265.987 474.549] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2792 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [427.395 464.075 444.603 474.549] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2806 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 452.12 144.233 462.594] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2793 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [227.398 438.897 258.384 446.991] /A << /S /GoTo /D (structVariable) >> >> endobj 2794 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 424.224 181.747 434.699] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2795 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.247 424.224 255.996 434.699] /A << /S /GoTo /D (group__cpaje_gaaf3eb514831a8ac2a301c43236b6dd04) >> >> endobj 2796 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 396.329 181.747 406.803] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2797 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.247 396.329 238.889 406.803] /A << /S /GoTo /D (group__cpaje_gaf69201358d05bd855572061dc96857c6) >> >> endobj 2798 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 368.433 181.747 378.908] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2799 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.247 368.433 235.894 378.908] /A << /S /GoTo /D (group__cpaje_gaf7a8df4ca3b40d0e4d42619e884dfe48) >> >> endobj 2803 0 obj << /D [2801 0 R /XYZ 98.895 747.976 null] >> endobj 438 0 obj << /D [2801 0 R /XYZ 99.895 341.04 null] >> endobj 2755 0 obj << /D [2801 0 R /XYZ 99.895 314.283 null] >> endobj 442 0 obj << /D [2801 0 R /XYZ 99.895 314.283 null] >> endobj 2807 0 obj << /D [2801 0 R /XYZ 99.895 255.851 null] >> endobj 2808 0 obj << /D [2801 0 R /XYZ 99.895 178.257 null] >> endobj 446 0 obj << /D [2801 0 R /XYZ 99.895 163.537 null] >> endobj 2800 0 obj << /Font << /F46 1592 0 R /F67 2143 0 R /F20 1558 0 R /F14 1998 0 R /F45 1590 0 R /F72 2160 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2823 0 obj << /Length 1494 /Filter /FlateDecode >> stream xÚÍZMsŰ6˝ëWđHÍT(°řÎÍuO3ÓN«˝¤CѶ:–äJr]˙ű. R!% ;“e|ű¸XĽ…D“Ű„&—Łź¦Łß •b•âÉô&a’Me˘ą!Šęd:K>¦‚Ž' R鯫Ůă}i“ţĽĘĹr›mç«ĺřÓôÝčb:úgÄ™&¬†$–ä‹ŃÇO4™áÍw %ÜšäÉ]$\p˘™{đ>ąý>˘%˝ý•€tÝĄ"-뤅ĹP6ŃŚ"i¶#ý~ "ÍÖ٢Řë1céĆs<ÂĆ8Ľ~3* ç_y3E0qű7{KE˘,'L«.Ε˛ÄđITşžDe €ĂRD»ą$ć«…“řX] r0C#­EĆ WĐŚ|^FöSm»Ú]?—S/›ÍŠŮ1)a5aHë˘,«uś¸@úÎy%ńŞĘ…úˇŘ>®—á‰~tf"™ŕ•bĘüăÓgç×Wśź_\]í2Ť+Ű_7Źy^l<2˘MĘäů§ÎĘ!Ĺz˝Zď>ć«Y©Ôj{W¬źć›bÇ©ńRo4a)™d" †ŮK‚ˇáîńRĹ%‘Ť¸]gyq˝ö ¸vÓF°ô!ű»8›ŤMgç+,Tó%V‚P3•Śh \"ýE% „Ăąąňď(Ö–÷ë"ߍÔP'†Ď=±ůs~„F”ŕŐĐ|µÜxęćcťŢe%[&‹Ź€ňč–Z#Ky€®ˇ«1Ůý<ۣњѝŔ¨śŔ ĐÔąť '}ůî¦DQő*)ĎťIáâ0'`şs”čC ßĎ&áö?c_‡…ŞĆ,ł®ą!‰Ýźě“÷EpQŕ–Ěkk‚5ŞĘA5™€5Ä`ĂÉK”,ďŮlVÖëňYW×·e‘üp9J>úŰŤĹąQŢtËńĎ_¦;¤›1§©/32]d[Ç‹4Ë]g‰ÁíŇîHZ®ľ•O@q9ň¸­$ÄůI5±8«Ł|‚ÁI&U‚+žH-kE®Ő$ 4 Ť°S_[ý +ťÂÓÝ<ż+MĂ]QíFŐôňÎ7'™ţ¤˘!†îĆ8AůX§Ľ°’(.#•׸¶-b9§µÍĄ]úqŇ7âžů¸ ʞ|Y¸ýůéPýV©ű“> endobj 2818 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [175.63 547.465 216.491 557.94] /A << /S /GoTo /D (structContainer) >> >> endobj 2819 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.366 469.931 253.227 483.879] /A << /S /GoTo /D (structContainer) >> >> endobj 2820 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [175.63 300.509 216.491 310.984] /A << /S /GoTo /D (structContainer) >> >> endobj 2824 0 obj << /D [2822 0 R /XYZ 149.705 747.976 null] >> endobj 2825 0 obj << /D [2822 0 R /XYZ 150.705 717.485 null] >> endobj 2765 0 obj << /D [2822 0 R /XYZ 150.705 619.724 null] >> endobj 450 0 obj << /D [2822 0 R /XYZ 150.705 604.483 null] >> endobj 2826 0 obj << /D [2822 0 R /XYZ 150.705 532.298 null] >> endobj 2759 0 obj << /D [2822 0 R /XYZ 150.705 372.768 null] >> endobj 454 0 obj << /D [2822 0 R /XYZ 150.705 357.528 null] >> endobj 2827 0 obj << /D [2822 0 R /XYZ 150.705 285.342 null] >> endobj 2764 0 obj << /D [2822 0 R /XYZ 150.705 145.553 null] >> endobj 458 0 obj << /D [2822 0 R /XYZ 150.705 121.255 null] >> endobj 2821 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F67 2143 0 R /F20 1558 0 R /F72 2160 0 R /F14 1998 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2831 0 obj << /Length 1564 /Filter /FlateDecode >> stream xÚÝZKsŰ6ľëWđHÎToä椉¦9tÜT“‹›É°«ăČ.EŰÍżĎň)R„(‘p|č ”D|»Ŕ·O@”0| h>,f4ÄńÍröę˝P!V),Żk‰±2ĐÜEu°\Wˇ$Ńśi^Fś†ń?IůiłÍ’ô:^5Ëńm9Ü]—cvSýľX.ŢĻͪº¸ü-šÔB„˘ĎËłwËŮż3@Ĺh{E1 ‚Ő·ŮŐg¬ń·¸ nMđTĽů-ŕ‚ ůĽŰŕĎŮ3ÚYjąDéX"Ő„Jł_""s=v„K"CôâĹ,Ĺő~I“ě!Ý~Ép%\…÷¸#ëh¸~·Í6Ů÷O‘Âmş}H*¸¶t†PŰŕýE%ŤćBłpu·Ý€2\E:Ľ‰Ór6Ŕâl¦ňŮBk`?™ňň%ÍZ"p]¸ľęťřvď~q(ÂÉźŞ×éj@:·„Sq†tUż“lłeľßďŃp\Š 5 W‚9r`Ąě*Ä̰B ÎP5 măoÇ5a’f·äy4{ŘŰ»ÔÍUŞeĄSÔ®úę=ŁíMŤĘ‚ÄÝDI[ÎşXŻKçŠ+_,í±|ţéĘ*A†¤Ţu™C~(±Čh.ČňŠťË‰0Nq31Dᮋw8:ŁO=şü^‰Ü&ě°ß+˘@5~˙Ľ@iáFЎż1‚Ż—†[bGé¶ĎsEڰâ@”†–cöăHśfŞÜŽ‘€bDJŢ•{QČ-Côö D'-syŚl‚XWG»ĆMбĎÓÄéÇłFĂ3H˘9řńĚ8>çX(A·B °2§{šx7Ýmń{Ůî¬\Q~śăŃŠőůAÉ™Ç> Ç”®µ§/3b0Ţ*Şđ;ŃĘ*Çąť&ÖÍm[ěďE2sŇZzošWXá&ţ;B¸­~Ęś†Řđ=ZŮ>WÚřńíQó--`ćĺž|Kä[ ćY8Hánľ'ŠuňÝű¶;ÍŤÇëÔŁDZŠĄ¸đ˘u†»†p”ő%Ř@JŤÓ+ůXÔéîÚäpĂ 7Ç‘2VN§UcSmöîaµJv"tŞŐ‹*“&iZS´ş[×Ή,ĄO›]éuõhTĂsQ†u›ĺÝś<˘•¸Z¬ěť–¤/ Y1Mű”8˝L“•ŁŢÍ{6Ţ”˛Ůf¨äƦk_ťźÝ…?Yr7]R6Ô|ü,ůs†Ž+ŃᛚěJňźÓx¨.g·Îž”´tŞó@•MçaŽuEB›Ňi`ě—đBť†ŔjIkż Ô ŁÎV‚bäbžÉĘ.4ę„ŐÇ7…˙MVÓ¤:sUGęrS×&qVŽO7›ŐÍaÚĘ”jK)żş‰ďď“íîx*­qź.D§•NQîQSέ$LiÎąA,L€ČÂ>ćĺ|˘X'é±'›ŤÝGŻ_Źž‚Cś¤Ř َŘ0Üsţ<EZ™d€ŕŃBËůé× čăbň˝oQŤxłMŇNP®:ÂŮÍf7Ž˙Ńę÷ąC ~ĹŞFĂż¦¸iÖŹ!ĹŞkLÔX”Őé\VéüL“즼-ůťó”čŹwżłę‘Ű"FŻĄĎ&B`QęeŁ!F6/ścÝ*˙‡˝‹žĐ»Č^ďŇ\%¸JX,·Ť=ĽVˇç_«{ş6ć¬kŃżV‘ĂĄ<3٤çsĆ˝ŠBcÄ-±{Çnp‚ŤĐů­•č™­Eůq_txÜk¨ę6Ŕę˘áô C^u^# ×ěYî5Ŕŕw5]'î5&ĘufĄŽÜÁ{Ť~>Żeź%„ÍýöÁhÖśP0~Lc+ bj”Fe; ťĽÚ(ßÍx[ţ‘năŚrbĽJ}j4f9đ» ôÂhčU”(%źĺR>†28çRc˘X7«m±—ăÝx´’}ŽB(żăˇ uécQCµcţS˙ËG¦ó«Łć/0V*«ŁňE‚gÉşB—‘Ąa]Ý_ÜWő!ŐH•O@_3űšUź®óŁĆş,7«ĎĐ0mţ3TI­_Í˶ĹrQÔ ĹĹĹUŐjüz—Ó˙ß÷ŻEĹ“l;™é˙Qł)U endstream endobj 2830 0 obj << /Type /Page /Contents 2831 0 R /Resources 2829 0 R /MediaBox [0 0 595.276 841.89] /Parent 2836 0 R /Annots [ 2828 0 R ] >> endobj 2828 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [161.556 381.917 202.417 395.864] /A << /S /GoTo /D (structContainer) >> >> endobj 2832 0 obj << /D [2830 0 R /XYZ 98.895 747.976 null] >> endobj 2833 0 obj << /D [2830 0 R /XYZ 99.895 652.393 null] >> endobj 2810 0 obj << /D [2830 0 R /XYZ 99.895 517.571 null] >> endobj 462 0 obj << /D [2830 0 R /XYZ 99.895 502.331 null] >> endobj 2834 0 obj << /D [2830 0 R /XYZ 99.895 431.929 null] >> endobj 2761 0 obj << /D [2830 0 R /XYZ 99.895 297.107 null] >> endobj 466 0 obj << /D [2830 0 R /XYZ 99.895 281.867 null] >> endobj 2835 0 obj << /D [2830 0 R /XYZ 99.895 209.681 null] >> endobj 2829 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F14 1998 0 R /F72 2160 0 R /F20 1558 0 R /F67 2143 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2842 0 obj << /Length 1438 /Filter /FlateDecode >> stream xÚŐYŰrŰ6}×W𑚉,îČ›{‰g2m'M4yq3V˘µ˛”Rt˙} )“DóbĎ4OÔ<{€łXś%itŃčröĂröňµP‘!V)-Ż#”h*#Í QTGËut 6_0JĹżî×wŰżi˙´_Ýݦ»<É7űÝüăňÍěçĺěź 2Ť †$a­ngWi´Ć?ßD”pk˘Ż~čmÄ'ÜŤŰčýě÷-鯄I÷Ń]*ҲNZX e# ICAú]šße»'Ö|ůšŃúý†!˘^)ăĹí´ä溸îV«ôŕŃa@¬”ĹČ‹]1$Ͳ}V|\í×ĺ"íóĎiöusH Ť‰´f±Ť4L´ ¬\zI0ănoIĹ%‘‚!?0Ď’Uú)ó“ţ”cpń—äŻôb=ŻŮěţ^΍¦%VcQnÉŹ`P‰óŠáLvŹFăŐ\Çź“¬¸Ddńn¦ÜÝBóp+ĺĹÍj4ÁT(‡$ŰMrx`ÁÎČVĂŽˇˇ#4·„ďŞ1»äµÁ5 2D'ů‚I”MĺĎÓB)%Ŕă´¬ĹĘŹťŁ‡*qĄÚ ÄL÷=aŮśˇÚ?ö!„{\ţĚ„Öé!o° đŔĚQµ”ĐŘ÷­ýľ`–Ă%~DI[îăőşŘłIyŻ«bŮMYÎŢ]΢+˙·ŰJ ôň÷ĺXÁdLšu§sßSb­ň\,/3ë휉8É0Uó4›Äá:Ćo˙,ËRcX­»Ë˛"XőŹeů@,‘”ëëÁáŶ+0ü  tŁ‚k/¤TŚjkućô`bO fĆĆmdÖÜ‘¬÷ÂÇ-Ęy6ŕ)P|Řşä)~*3ąINXMI 'P1žgÓ$ž â%ĆBىs˘C"&­*°/ćç6¬p=ěoţ ń_Źx0·€6Áş1z<Ä Ś&@N‹ ł€X‰±ú±XÖóJŹ‹Vş˙!vCnG+ŮěҬCŕÁ”ÚpN,.ü4§‚x­`šŔRŽW˘Ër×Ňm”NăqŤÇQk\§pFăă–>ěď˛UÚ_řÁ<š!ž)…ź â„wł’wφą ;Ż»Ň„ˇ3‘ŔĐ馩[xͰ¸kşë)1Ž\8#ęäËG~ł+ßľi1ë© ‚ɉúˇ}¸P‚PÁ§őáě˙ч›FnGôáşŢ‡żĎ“<íjÄ1(pŃjĵxč†uW#®páôŁ˝PÓ§WNzqÝÝŮń^Ńő ¦wÁ0ť¸m÷ŢOÚkĘĆÓŔjp´&˘w TzТż4ĂúKź"ßÉ1śx‚MĹpÇÂΔ|’ö’$F˛^íĺȸÁĂ©·«˝<řÜéŃ~ gP1¨ščN'8Ť™Ĺ=đ$í§śkµ#ㇵ®Çß~ §tŞŤĂĐ0qOńă”XHźâŠL@>F† ęÚŰńˇ÷N. bp9ń ÂˇŽ’IpĆř{7”'ÆhČQZ˘řYC)XÝP~pö©2?͵ĂÄsŹëVň4–"Úcýëžü'ŮŰ,]Ś’{‘gŽN)ßt˝G˘„i»GdŢéŐDŹW&đđ‚(ďrŤĎĹ`ÁŚ Zę7šż¬®c!ű/ŻV¬9vl°C€ţ^(íězR8±˘ţ‚Á$»«ęÎľ—Qý0×>őhG7ÉźŽđ¶m\[>5č±!Xq‡Ľ!®^\+Â4|ďĐ…am±’e•˝LńÄjşnşĄĺÜҸšëĹ—rk3Q^)°âĐWĚľbĺ·k7żŞxäÍŞÂ34v»´ö_’WCÝľ»\^zťü~ˇî«wčsNăo÷7>ŹÓ]{±ţq‘Ä endstream endobj 2841 0 obj << /Type /Page /Contents 2842 0 R /Resources 2840 0 R /MediaBox [0 0 595.276 841.89] /Parent 2836 0 R /Annots [ 2837 0 R 2838 0 R 2839 0 R ] >> endobj 2837 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [175.63 598.299 194.066 608.567] /A << /S /GoTo /D (structLink) >> >> endobj 2838 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [175.63 351.741 198.558 362.216] /A << /S /GoTo /D (structState) >> >> endobj 2839 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [216.775 138.166 250.984 146.65] /A << /S /GoTo /D (structVariable) >> >> endobj 2843 0 obj << /D [2841 0 R /XYZ 149.705 747.976 null] >> endobj 2762 0 obj << /D [2841 0 R /XYZ 150.705 670.558 null] >> endobj 470 0 obj << /D [2841 0 R /XYZ 150.705 655.317 null] >> endobj 2844 0 obj << /D [2841 0 R /XYZ 150.705 583.131 null] >> endobj 2760 0 obj << /D [2841 0 R /XYZ 150.705 424 null] >> endobj 474 0 obj << /D [2841 0 R /XYZ 150.705 408.76 null] >> endobj 2845 0 obj << /D [2841 0 R /XYZ 150.705 336.574 null] >> endobj 2814 0 obj << /D [2841 0 R /XYZ 150.705 210.748 null] >> endobj 478 0 obj << /D [2841 0 R /XYZ 150.705 193.751 null] >> endobj 2840 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F14 1998 0 R /F72 2160 0 R /F67 2143 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2851 0 obj << /Length 1440 /Filter /FlateDecode >> stream xÚÝZMsŰ6˝ëWđHÎT(ľ?rS’VÓ:nŞÉĹÍdXŠ¶Ő±$—’ăúßgA‚)R”H¨™N/¦eoű» qpŕ`>y»üř3—FFJ,îc6"PL#‰U°X·ˇ@„DSŞtx1ƥŧŐfźfwqR},žďŠÇö®xîÜ÷óĹümĽ[%kvóK4%Bqr}^|ü´ü=!ŕČÁŽ4%A˛žÜ~ĆÁľű`ÄŚ^ň‘ë€q†±óß'żM°[\őDTŘ_íŁ\˛¨/Y%(‚aɤXňMDygń:…%F„„»ÜĂt§‰ăo;×…běĚş$’DVëş.Áa‘†!˘d 'Čá0ňJU‹ la\–DĘţɆpżZ§mZ‰€iDŹ5Kqݬ¤HÖ4»°fó‹÷Ĺóĺa•<ĺâ× ŕ×&`¸Š˙Ś(Ë4Ţ•éśdé:…_¶—Á!®ŚĐËh±( EF)ŻLđ¨2AcŘjÔ?Đ«9âظLx}ęË„qf»3ˇnv ŐÚî®GÝ9pšęÁ~¶iI™Ő>ŐR#.Íu¨Va—Ç<Ůnö=T6[ĚĎîĐÇyůuGŢ#ńjĹ»^·Űśů¤řrµą÷L‰ÁëiÓ Ôsó{@T !$4yá—ś#Ě `¤0-x("úŘ“ă,wg@Ýň§HVy|.»ÁrŮ[Č»ŃćAX‘ôăr8Ć@™#)…É"FÓýs¶éÖ6Ç1†TĽ)<1u!Ć®SşĘş{N’t—ŁÂÔE+9sÚ0ͲmąM¸,+3ěżěeµ+vZsG‹n`Ę)c}ЧX‘ óŹô,3H2ä˘e VżdůŞżXyŔqřzv¶Ś—ź" )“-ěĂő¬#űä(ŃşÄű ×Ä–”ťL">ÄY1›đŔŔl*íl`Ž€óŐdĚŠAŠÖL(•µ?®âÝŽXa÷áŞěž·ˇ`u×Ď[·u˛ Ć"ÔĺÉ” +żt“đŇ#Şű="’źőC&¸1›xÝE eš Ť”>JeX O `H —EłĺŇU 7÷¸ó¸ćQÔ•®qÔeúF˘ćëÍqŚŚ‘ąs†Éďtáš!¬©WńňÂ(;W°|ŘŮ~ŇD" Ť+Žđ|ŘJ§űĐH»ť}¨aw–Ű- ÝćňcH·h.ŰŐpoŰl„ę‡8ϸFĹ80 ÷cśe*,…’Bęĺ«Ü„§™gż›ůşý¤!M»éěR›€`JřŃëQŃ #ĽO•Đíěg~•·Re+8Aę(«ÝśÖ­ţ݇ť'/ŮĚC}múÝ&ŤŔ(=9 ů?JO:Bz˛\zľOwűĚćĘÖţxmś[ŹĹ§DC{¶­BçÕѯ3În˛4éPVöjŐ°ĘÁüâě„ČŁu¨MÖŻí8˝@m ŐĐv§U¦T‹ćßT™˛ Ĺ ńoĹb€Ę9hCećtoí5úëEjóÔ=Ć^PRĹŕ¤äwłá…Qö* ÂŚ]ĺ‚›J ’^rż=ŇjgŞ[˝ězű 1WÚËZňAač»î›=‰‘fÜ/|0Ş ŕŞ—ąŠˇ‚"*ĺ%d¤Ů­iM?ńűm›řÓ”ö·M@pż#…DE8ś˙•WąŢ¦Đ> ˇ—ĽÉi¶›đşŮso2.8Q ÷­Í @ęwż9c Č$†Ŕ™ĹOc˛ď¦1ű:(Áô†ňę»|źç ’çđ>߀¶îBbžB¦Äöµfن,"Ăň¶|öä–Aą{bиůożˇć uźîréęçČ«¤ÄÓ8ĚŞ˙pVˡV˝Îó\DĺČĎKN˝ĎKŐ?Ż÷ąL7€}ků;‚ endstream endobj 2850 0 obj << /Type /Page /Contents 2851 0 R /Resources 2849 0 R /MediaBox [0 0 595.276 841.89] /Parent 2836 0 R /Annots [ 2846 0 R 2847 0 R 2848 0 R ] >> endobj 2846 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [161.556 667.473 202.417 681.42] /A << /S /GoTo /D (structContainer) >> >> endobj 2847 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [124.82 510.404 159.028 520.672] /A << /S /GoTo /D (structVariable) >> >> endobj 2848 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [139.489 300.509 180.35 310.984] /A << /S /GoTo /D (structContainer) >> >> endobj 2852 0 obj << /D [2850 0 R /XYZ 98.895 747.976 null] >> endobj 2853 0 obj << /D [2850 0 R /XYZ 99.895 717.485 null] >> endobj 2763 0 obj << /D [2850 0 R /XYZ 99.895 582.663 null] >> endobj 482 0 obj << /D [2850 0 R /XYZ 99.895 567.422 null] >> endobj 2854 0 obj << /D [2850 0 R /XYZ 99.895 495.237 null] >> endobj 2767 0 obj << /D [2850 0 R /XYZ 99.895 372.768 null] >> endobj 486 0 obj << /D [2850 0 R /XYZ 99.895 357.528 null] >> endobj 2855 0 obj << /D [2850 0 R /XYZ 99.895 285.342 null] >> endobj 2812 0 obj << /D [2850 0 R /XYZ 99.895 145.553 null] >> endobj 490 0 obj << /D [2850 0 R /XYZ 99.895 121.255 null] >> endobj 2849 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F67 2143 0 R /F20 1558 0 R /F14 1998 0 R /F72 2160 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2859 0 obj << /Length 1616 /Filter /FlateDecode >> stream xÚÝYKsŰ6ľëWđHÎDŢ rK›Ř“´Í¤‰&—4ăa)Zf#Q.IŐu}ź$™bŇCÇ3&)‚» |öڍđV6—ë6·pýa1{~ĹĄ"-%ó·),<ĹB$±ňKďłĎy0§’Hé˙˛]îÖ <©ĐµŤw›$+Ł2ÝfÁ—ĹŰŮëĹěĎÉŘ#=I…”xńföů ö–đň-ŘÁtč=TC7ă )b>\{gżÎđŔXk¤p‰Â"´F D‚?fLŮ›Ón°XćQśÜäIąËł›ćÂB˙>ú#yť-NłŻőç}DˇP‰FŔoX`‡‰m†üPěGůű<‰íHxŐ3VDđÖžt+J°˙̡š$¤n†Ć۬¨-ŽĺßEąý„pOĂ'TÖ“e\wĆbć0AÁj©Ö‚ÇűÓ¨ń„g Ó0DSo°i!Zůĺ#¤`űVĐ3V)Î.¦íeRSŢ zşn>F·%ĚÚĄžHDÔwŇ/›1_“€˙Ń­žŇőIµŐňüŠâŞ‚!®Üp@LŰŻ>–`ĺścż´ž#˛—5ě646Üř{†Ě1ŇZ‚d†(#Vňű€rŘgŃ&)“< Ä/†ňöŻN/Ř\ťîKr '§§Ý—Dŕ[÷ő„hĚ=I5RaxJ ·›Éʨ<§T}0C`†žd 1%zčŔS ęhx©Ú-(u’Ő.*żWńˇćĹĂ]ßŮŰň.éHbEšµŔ9D€§ă­u 2D¨'B>UH9ÎřtČąlxŇóřÇ!żL­ňľÚE@ŔÍUŃĆ ş˝u}ŰŃf9`”‰‰ŘNb°šÁ¬äéŮ€ŻÓä<´’5©şzÚŃZíçůŞ–óáúÖ};~;˘4KňGö>Ď™VoÄĎ!y ŞGCs­Ŕ´ô‹í.Źűc”-íŹ&>§™M7«7qŁ˘°ęç4[ť o[<‘eŁWčBS¤O‹8O˛ÉB*’… LŃoâ@DČk˛mĹ –]¦ÖIŞÚŹ5/ Śń€`n,GŰáŔdĹ&‚9UH¦„Ś™LL´©=!EƢM>$ź'đĽLłĎľćO2iď0Ţ,2 ’‰Á~˛ ^!–b"Ľ9ę]QÇÜŻ¦˛HĚżÇ_¦Ű p_űOoµWîŠdYĽµ×MT6Y_±W(tÉßCZÖc’lů$nŚž‘V!P('& q—+Ž>ô°öĄ°âő–úP56ÜuĐb¶ç%CHѨýŰĹMëťXěâ8) W<}™Ő€äů6o\ň˛Ůɰ…ó‡´°YćéşÎ¤u<ô朢Şa7‡źëćÔť›Ebß4v¬ÄŔpĐ˝™kBĎł–|ĺ –˝‚ dťţcŞĺdPÍľůöuMl¨DÁ«ĹUI}iK˙hîőć„é2a|˘s!`÷rrŘą`Đą0¸NĘwŃĆ…˝0˝(5Äž é§6IŢk‰€í˘ëĺî^ ÂL=ąB…ąËšCőr\í˛Řf±}?¸JĘ˝č—E›cV†®‡‰I{-!×ë˝Ń˨¬Yz0ě7·ďďóm> endobj 2856 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.366 605.676 253.227 618.032] /A << /S /GoTo /D (structContainer) >> >> endobj 2860 0 obj << /D [2858 0 R /XYZ 149.705 747.976 null] >> endobj 2861 0 obj << /D [2858 0 R /XYZ 150.705 654.097 null] >> endobj 2816 0 obj << /D [2858 0 R /XYZ 150.705 482.612 null] >> endobj 494 0 obj << /D [2858 0 R /XYZ 150.705 467.372 null] >> endobj 2757 0 obj << /D [2858 0 R /XYZ 150.705 361.917 null] >> endobj 498 0 obj << /D [2858 0 R /XYZ 150.705 346.677 null] >> endobj 2862 0 obj << /D [2858 0 R /XYZ 150.705 286.338 null] >> endobj 2756 0 obj << /D [2858 0 R /XYZ 150.705 199.381 null] >> endobj 502 0 obj << /D [2858 0 R /XYZ 150.705 183.538 null] >> endobj 2857 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F72 2160 0 R /F14 1998 0 R /F20 1558 0 R /F67 2143 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2873 0 obj << /Length 1580 /Filter /FlateDecode >> stream xÚÍZMsŰ6˝ëWđ(ÍX(ľAä–¤¶&™Övmĺ”d<,M[jmÉĄč8ů÷]E‰0mŽŰń?Ţîâ-v`áč:ÂŃlôn>úĺË(FZJÍŻ"­Q¬E¤XŚ$VŃü2ú<É”Şx|:axśü•Uß–«"ËŻ’´ţZŤď«a}UŤĹÂŢźÍgď’Í2µXoO?L¦D(ÎÇ\LľÎ?ŽçŁFĂŮ:ÂQLI”ŢŽ>ĹŃ%ÜűaÄt=”OŢFŚ3¤yď&:ý1Â6¸zDTŹfp!‹fČ1XŇ‘"B&UȧĘÇIžÜfâ„ń¦ô°í5±×±'â’HYÇő˛c„Dj†’] đ8AZ‹QΠTŤ$” H)sÁLŕŚéM¶‚ lSKĽJ⡦)nš– ÁvŤź­×E•dĄţt¬<´×ŐćYRx<ć0ŤŚĐ·H“š"­TńA5ń1†•EĂg iÔÇq¬«Ů‡őEbőwńĂLű‰oš>3fýtßĺë4ŰlÖy»˝Ýj3’˛0vC0jv…D‚đîX(::Č…iá*’Š" !»uÍ’ëM· ű©m>Y"5ŻŐ´“‹ŁßŢÎ.ŽOŽŞ{őµO燿ź~Řż||25žSËc‰=÷éhBŁŽäčW›WaxXn„`ÔąÁ9"źSC\!Ĺ­L¸ş-:ŇbMZ4ŤE‹zJĹř6)ěbŻ5Jy ĆoËÎşŢ×»61 B´ ëç0zj G «qβâ>_ů…ÍţÔÇŢF ˛|[Őg íć>5őŐj;+łš®Wëz:QăE’WŻ@Đđ •6l†ÉÖ[Ě<.(XüĽöŕÇÝë{ĹŘđĆv«/ŕ> €Ę­ŔŮÉÔ˝ ť Ť( I»7Ĺx“)^lEA…eV_~m—áŮl}.¨Ó˘6go8Y‘tż˙BJ–«,÷a8±ą,6NšTŽ.×÷öJésrs™*lSňŻôýőY«e9 šÉWÚĘđ!Ó Ň„áúW>T‰0E—˘‡+^¶űír}´µ 4ëím;fçK·yIlâ>,–ébOŘnĘ\­2Ę%Ôú.»|ĽŰőw¸Í@¨n§9Á¨9„âáś3 H ’4 äăś3ëçĽiv>Ö3.‹łwł):7¨ýýjÓL‰0jC0jjá‰ŕý©e–_î8Ëő›GíkµÝ:¨núŃŮ$ÜaZ±p‹ú)ćűúÝ& 0 “°0zJXN@ ’ź*a=;ÄW´ńAKJA{zżY<.e!1 ±ź’˛B“gKYĄź«d9Ž[:’tëHJôÓJÓ3•ěOńŔś@ Ťe[É>â…Ü:켠q·Dň§çĘ]Ňn|›[öl!ms%Ţ“Ňç‰Aݤô^GJďó<łu€ ^9AíŠ\j,ŮSĽduiŤ,’Őuö«÷AJ\ ĚŮ+)qŞŚŠ*ŕ!®qSiôĄxNĄÄô9:| YoŁŢ1;\‡CYîâý=nó%Ť–aś‡`Ô¤sŁ<_F®QŠŘ•žn!>Ьźô¦Ů@!Ţ߯6-Üč°}uFM-«Ä‹PËŚĎQâýÍö‘â;ŽĽ¬ďďx›7€Ŕ B‚¸Á¨ą§ Ĺ2pÍ94A X ~Ýéł=âę e?ŮMˇ«bYüŘ?hëZĺţ{éNŇř3ˇw mBʰířŚž»2sÄęż˙ďwe]"ŠŕQ¬űüâÄýŚ–˝¶·?ŁŃ°…=Í›e*MVŃ:á;źh> endobj 2863 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [142.618 510.404 165.547 520.879] /A << /S /GoTo /D (structState) >> >> endobj 2864 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [183.495 510.404 224.356 520.879] /A << /S /GoTo /D (structContainer) >> >> endobj 2865 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [161.556 445.224 202.417 459.172] /A << /S /GoTo /D (structContainer) >> >> endobj 2866 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [166.773 300.402 189.702 310.984] /A << /S /GoTo /D (structState) >> >> endobj 2867 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [297.688 300.402 320.617 310.984] /A << /S /GoTo /D (structState) >> >> endobj 2868 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [338.565 300.402 379.426 310.984] /A << /S /GoTo /D (structContainer) >> >> endobj 2869 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [161.556 235.222 202.417 249.169] /A << /S /GoTo /D (structContainer) >> >> endobj 2874 0 obj << /D [2872 0 R /XYZ 98.895 747.976 null] >> endobj 2875 0 obj << /D [2872 0 R /XYZ 99.895 717.485 null] >> endobj 2809 0 obj << /D [2872 0 R /XYZ 99.895 582.582 null] >> endobj 506 0 obj << /D [2872 0 R /XYZ 99.895 567.342 null] >> endobj 2876 0 obj << /D [2872 0 R /XYZ 99.895 495.237 null] >> endobj 2769 0 obj << /D [2872 0 R /XYZ 99.895 372.768 null] >> endobj 510 0 obj << /D [2872 0 R /XYZ 99.895 357.528 null] >> endobj 2877 0 obj << /D [2872 0 R /XYZ 99.895 285.234 null] >> endobj 2766 0 obj << /D [2872 0 R /XYZ 99.895 141.274 null] >> endobj 514 0 obj << /D [2872 0 R /XYZ 99.895 121.255 null] >> endobj 2871 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F67 2143 0 R /F20 1558 0 R /F72 2160 0 R /F14 1998 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2884 0 obj << /Length 1579 /Filter /FlateDecode >> stream xÚÍZKoŰFľëWđHńfߏÜÜÔ1 Ešč–#Ň1 ‰r(Ş®űë3»|¤W”H:E ZÎ|»ßĚěĚQ| °=\/°=…ăo«ĹË7\)Y°ş ŔHa(¦‘Ä*XĹÁÇËĺ•DĘđŹ]|Ř$pĄtřűn}Ř&Yé.[~^˝]\­ß$〴$q¤) ÖŰĹÇĎ8áĎ·€Ü»ˇŰ€q†±n‚‹ż¸¶)| ±BXč¤@„ ř Ą7+fśŕr`‘GëäKž‡<űRŔ\¸“É÷ËxIpżŢÁ¬Ň,É+Q]ÝQ®jaź°Ŕ…i&ę1˙,)Łü]ž¬ËˇŠ¶±qdÜÜKpé–@Ľđ視‰ÖC×»l_Á_/UxUp  uÇĄ#GŐłÖkóo•űľż^ÝßohTTZűwůöŞ”tłd8Üĺp!ÂmTX\¨óT׳ű†‘1Ň4¬2ŻwKĘÁw` @H¸ďĘë˝a®>ză“ä0¬i0>IᯉO?AÁŹďŮBß ňŔąţĚ”&šBâ"»™ßŞ'iőóÚÖúg´=ćÉPĆHĹ +a}µAĽ.ý±§á{,VS ‚+2“îńBüyĄ§"ĺ@ ą@´v’÷®Äô'¬=. ă*+í<Ă=Ž«„¨âaXŻ“˝“:5ŘeµĹ&yľËë°×<ů}ş/ NŔ‰:¸ŕüBuęjŠG×ŐTWuuńz·˝Ë+đOVŃ©§/¸aZ†^q…ěUÖŻXDŘůőLŃ.»<şĘz6žŰŢL±^ŕrJé.űĺKnWÍĚĚ~f ±Á’c8Óó˘%ěCZheŔYxc ˘˛Ŕś¨Ů1;š­›n“(Ű—§Ů®<¶LäܱĄqé‹˙-!„&ĺ 2ĽîĹݡ(o~Ân’JÜ}şŮ”g_“®ŕ$FÇŁîř {8”ÍĚŞ&v™˘@žvé/vÉč°Ëš°űˇ _÷Ŕ|™4'{ę1„žěajqn SČ~ĎŚťč™±Ó-3Břą­Ăź ˙‚jŤ4¬^iň1c?‚A 6ľq(Ć4OlŤä콑X¸¸Ţ+ăzĚ»‡Ť ö«„:żśŘ} §ěş ýżv] ^AđĚŕ9[Ýu)µVů<ŤEJüśľâD­Ţ·­őĽ¶âŢŮ]§Ą¸OŠŇńh=dŮ4bfQ:[c8ĎŇc˛ ­Îé1MRę§»­ôT‡ißD?±#Qy Ď,>g ±´ĺĎD,ĆH3ö¸U'vĽÚ1}ĄÁĆRÚ´’—ć~<đ§ÄY«yěĎâŘ×fö,ĹѶbÎ,ž&jöŇÝŃ|•ińĐî/mĂ~>ąË<~A†–q†-Ś2¶˛)ŘWŮżn=4”8AľŔňĆ|1RČ"UöÍÄŤKśě,F"\g× XQÜ}3µZÖfwyWA§Ľ:bBË3‚_QóŠŇú]7­ŢuĂ…“ś®ky‡yÓ)Ş´ÖCmµu˝şvy·»áşLő75ö úżß\“dýĹú]Šř‘ endstream endobj 2883 0 obj << /Type /Page /Contents 2884 0 R /Resources 2882 0 R /MediaBox [0 0 595.276 841.89] /Parent 2836 0 R /Annots [ 2870 0 R 2878 0 R 2879 0 R 2880 0 R 2881 0 R ] >> endobj 2870 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [175.63 667.561 216.491 678.035] /A << /S /GoTo /D (structContainer) >> >> endobj 2878 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.366 590.027 253.227 603.975] /A << /S /GoTo /D (structContainer) >> >> endobj 2879 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [180.615 261.43 203.543 270.201] /A << /S /GoTo /D (structState) >> >> endobj 2880 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.491 261.43 262.352 270.201] /A << /S /GoTo /D (structContainer) >> >> endobj 2881 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.366 196.25 253.227 210.198] /A << /S /GoTo /D (structContainer) >> >> endobj 2885 0 obj << /D [2883 0 R /XYZ 149.705 747.976 null] >> endobj 2886 0 obj << /D [2883 0 R /XYZ 150.705 652.393 null] >> endobj 2758 0 obj << /D [2883 0 R /XYZ 150.705 505.218 null] >> endobj 518 0 obj << /D [2883 0 R /XYZ 150.705 489.977 null] >> endobj 2887 0 obj << /D [2883 0 R /XYZ 150.705 429.746 null] >> endobj 2768 0 obj << /D [2883 0 R /XYZ 150.705 331.985 null] >> endobj 522 0 obj << /D [2883 0 R /XYZ 150.705 316.745 null] >> endobj 2888 0 obj << /D [2883 0 R /XYZ 150.705 246.263 null] >> endobj 2813 0 obj << /D [2883 0 R /XYZ 150.705 121.255 null] >> endobj 2882 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F72 2160 0 R /F14 1998 0 R /F20 1558 0 R /F67 2143 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2896 0 obj << /Length 1788 /Filter /FlateDecode >> stream xÚÍZ]“›6}÷ŻŕŃĚÄŠľ%ň–¤Ť§i¶‰'/i&ă`v—f×Nív˙}Ż@`0˘I_{ç^éI÷cďĆĂŢzńjłxţ†KOŁ@Jćm®˝ @:žbI¬ĽÍÎű¸E•^^ů /·FĹ·xźEÉő6¬ľ××Ĺĺp]\ł[{˝YżÚ¦qh±^^ýâŻPś/ąň?mŢ.~Ţ,ţZH {äGš/Ľ_|ü„˝Ü{ëaÄí=ć-ď=ĆRÄšKŮUŃŃU¬úŘUDĄ&ˇ“ˇa’Ě„É[f tüseÉţs]˘zů †ć}”}đ%ŚRb!ę! ÁhZbüî$‘`U›ż}jŔ®’(,š*Zω#%«”â{j‚—Ď:BS‚SeÓđ°OmŇˇŻ–·e¶„{‚Éî˛L›x§×ţéÝ®.9PÂi˙ —HćJ(fřĽc„  Ňşšú)0ň5EŞş`Ýd\y’1Ä”¨ÍËÖG@‡­'x—×řÝeĎ) qŔ[ÁSZ<ŽífjÇ>}Ă(Íѡ¨GeŃňĄ5PQ’ßÎÓ]É–<Ć©-řzË8łNWś‚wRMgĂĆ;& g“Ą€D˛ßâý×®Jö®ĹEw#Ąěn4lo8wâ. ó^wAvŮ^č`¨żăăÓ ńW4 H2ëÎĄîsNr‚Ť÷X|€ÉŞxHCZŘźHÔ&aćđÖ‰ť O”řoâW°_sWőÔžŇÁNrŕއ¦Ěç‡9V:Âürî˙îă¸1řŰĘî„QîăĂŔr6‹Źă–P6ÄĆMŚÚą‡×ŁsqF v©”žßČÇ'ۦ 0çnt»`”t3(xúŤßŕBž$Wrg›µ›ízÔK–íÎn˝ÝĽŽÎŞE‰AnVܢ"UÁŘ\ň°Ľä"©LkDĘb¬ßťŤŽ:Ćś5ň8kÎ`đ ŘJ"H>«\ćąĚ?ŇĂCÚĎŰý®¸»‹Ň,Ţołř°/î„%~Z4¨ů˝záYP T×ŘáiKŁ×s¨ô%agsöz Ă"ŇĄăJ“°G_Ó˘vË©ő˝EÍÚ[iu9:Ź6 }śFĹ$WH+6‹kg\„hÚ'î&łř’gż0GGgŐ¦ ¤rŰŮť0*j™źďČ,8"XŹ©ó±áŻĆADćĎS˝“‚wł[ţ«Ď«ŕ9źi´łŠëý6+ ĽôÄëĽÇ8łm˘ýn2Ćv¨M* 0·5ă!FžÜ0L!Äíä† >ąßń䆏?ąá´8ąyřŇ÷Nš!NůĹSu<ą|jS;3ąpj#E˰CÖ˝†ťuѰA‡žÚH!çĎ`E5]Íľsď§›ç6?â˝tţË%íi„=ůݤYâĂĐmĂćÄń sţő:9ÜĎö {ňkúťN:„ˇuóH.ĺöGÉYÎ9H–ć¤˙ cbŘÎť±v¶÷Őń>L˘{°P°±žÝÇwŁM"Tmš)7!¸`TJ0Ű€¦łśWCe0ä dbŘn%ÔĂÎüŢz|žmšĚ˘Ż™Ő.ŐTAĄçˇšÁęIÄ“‘ńaÇŤ4ů.ď­Ç÷§M'@ę¸ ¸`T’€ť>PbL ţ’ ´Ŕ#wk ůħő:¤wQťP›€PJşŃ:ŁÔy kDq0ć°ĺŻz%˘JňÚO]‰°°GFë¦Ř6+˝çÁ:Ťŕe9î/żY3ŢŁ¸bB‹Oż Á jż]›ůV:ź9K<Ť—IőaµljĚĆzłÎ«Óü_jĆř§ůµń?O7yńíëĐ˙/’“çx endstream endobj 2895 0 obj << /Type /Page /Contents 2896 0 R /Resources 2894 0 R /MediaBox [0 0 595.276 841.89] /Parent 2901 0 R /Annots [ 2889 0 R 2890 0 R 2891 0 R 2892 0 R 2893 0 R ] >> endobj 2889 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [122.328 669.264 156.536 678.035] /A << /S /GoTo /D (structVariable) >> >> endobj 2890 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [161.556 604.084 202.417 618.032] /A << /S /GoTo /D (structContainer) >> >> endobj 2891 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [161.556 385.131 202.417 397.487] /A << /S /GoTo /D (structContainer) >> >> endobj 2892 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [198.253 191.512 232.461 200.283] /A << /S /GoTo /D (structVariable) >> >> endobj 2893 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [161.556 126.332 202.417 140.28] /A << /S /GoTo /D (structContainer) >> >> endobj 2897 0 obj << /D [2895 0 R /XYZ 98.895 747.976 null] >> endobj 526 0 obj << /D [2895 0 R /XYZ 99.895 717.021 null] >> endobj 2898 0 obj << /D [2895 0 R /XYZ 99.895 654.097 null] >> endobj 2811 0 obj << /D [2895 0 R /XYZ 99.895 519.275 null] >> endobj 530 0 obj << /D [2895 0 R /XYZ 99.895 504.034 null] >> endobj 2899 0 obj << /D [2895 0 R /XYZ 99.895 433.552 null] >> endobj 2815 0 obj << /D [2895 0 R /XYZ 99.895 262.067 null] >> endobj 534 0 obj << /D [2895 0 R /XYZ 99.895 246.827 null] >> endobj 2900 0 obj << /D [2895 0 R /XYZ 99.895 176.345 null] >> endobj 2894 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F72 2160 0 R /F14 1998 0 R /F20 1558 0 R /F67 2143 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2904 0 obj << /Length 481 /Filter /FlateDecode >> stream xÚµTMoÔ0˝çWĚ19Ä;ţě­Ý•8—ŇCHĽ%ŇnŮ„R~=věŔn„*UÓŚă7oŢ|8€°K^•ÉŐ–KĐÄHY@ą*(  M$*(¸KąÎr&©”éŰľ™Öť”N_÷őt´ÝXŤmße÷ĺm˛)“o uĚôډÍ(ÔÇäîˇq—·€¤0gč ^E}ŕ>$ďŚň~[„w˝YD‹sŃܸTE'šŃďí8 Ýi¶&ĽÚ2<Ź×„sąłČŠގČvěiŞk{šŮCN)1BäM vú!¸ußÄ&őă;<¶'t\˛Ş"§ĘÉĐsć[/KEŢÇŻfUâ Ŕďíh7]SfÓˇŞmÄź'ĘáĹđ …«ŃPć=zѦU{rŁ“rƉ&„oŰ®:´?3*ŇXjĚÇ7ĺ&xăQL˝"—x¶HŚ‘.]A¨řÇi˛˙9Í˙ŻkOQćvňkżĽFI’Ü—ÂÜŰńŻĐH‚‚;Ű١m%E˝ef0ť˘Î›ŻQ:ăŃ"eÁŁxÍĚ5‹§}Ć0]ęś™Űzá[éĎ]5.Pż<»r7oÎüáł'zZ~ Y鏧‡,wó·ÝşYżÍŘ  endstream endobj 2903 0 obj << /Type /Page /Contents 2904 0 R /Resources 2902 0 R /MediaBox [0 0 595.276 841.89] /Parent 2901 0 R >> endobj 2905 0 obj << /D [2903 0 R /XYZ 149.705 747.976 null] >> endobj 2817 0 obj << /D [2903 0 R /XYZ 150.705 670.558 null] >> endobj 538 0 obj << /D [2903 0 R /XYZ 150.705 655.317 null] >> endobj 2902 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2912 0 obj << /Length 1213 /Filter /FlateDecode >> stream xÚ˝XËrŰ6Ýë+°gJřâ d×NjĎd•¶ÚŮŹ,Ó˛f$RĄh»ţű^€ ER´YNVEŕÜÇą/Č’ąšü1›\\JM,uZ 2{ ÎQë1ÂR †ĚîÉőTQĆ“”;˝|ĘŐŞČwőëCÂaZ”ő˶ŘUŰ"_ĺËú=Kš>gy•n˰n‘ívíׇTż-ćë5b­a*]ňmöeňçlň–@Ř^+I-gd±™\rŹßľ ÂYňVn‚ć÷­É?“ż&-Ę•˙éŤÝŠ0NcŞk8 Ęv gĐłś{ËѸ`9XÎ嬵ܯŰ[Î{–óĆro𸦵š@ŤrÚ« $@%ZĂ˝Z=řĽ¸äĐá–ij¬!(—:#k€ÎUo/ąN•ŇÓ焣â«űřÍ“P.#‡Už·eµĽ-łEQŢ1ü×Pĺ éÓć8N–¨E˘×6˝­^·Ům5ężx§ţv1€ÍËŻ¨Ý(ĘjSŁPJQMö†ű´A÷vĆ»ÝĆť )“ÔÉčľH}V‡qőÔ>i˝x¨źó<1·+zŔXÚĘDĘű(Ę^0pŃřU•ÝöTŮ˝Ĺâş@Rkň»Á®ŰŞč@žăÎä)¸ó€—»ę‡ÄŹx8šu4ŻRá(X|`…QťşGŮ ÔiűąX`,$6ÍYŻ˙ń÷ôż—˛_bŁÚŤô䎡źşŕşŔz~Řz°0h;Z~wČ×ج5 FŘŁ9ʱ˙¶® Îč‹ŇÇ Ö÷Fß–d,:JÚě!aű’±8JtXćßł% đçݗء G.ÝŹ·r\ot¨ú©3äIÝă‰Ë_ÔÝ…Á!HŰł˛ţ,Ś¦č …t#G+X©ß®ů ±čj"´nrqHWęÝGˇ‚ű#D]c,w‰|łIĽOÍŃŃŞŮö‡xć˝ËĘń‘`7 ĘpC´Ç­”5÷+bż2_Ż(mzڶ’“-<ŚĺĐťS§c4a~€ĹŔRî”ëźć‚KSśúe§á *&çU–gĺĽĘî#[±ṫ,FJßF¸ŚOh.Ĺ|âîç#wbyµhđ,LËů"ë|›WÍRĎűŐě*pţ¸ó@ŻőďĎ…Ź„˙^—á0”őOśČţ˙éoŚ endstream endobj 2911 0 obj << /Type /Page /Contents 2912 0 R /Resources 2910 0 R /MediaBox [0 0 595.276 841.89] /Parent 2901 0 R /Annots [ 2906 0 R 2907 0 R 2908 0 R 2909 0 R ] >> endobj 2906 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [142.518 650.69 187.369 661.272] /A << /S /GoTo /D (group__GTGReplay_ga62705d596816b10e7d0c6ac91dcd15aa) >> >> endobj 2907 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [215.682 650.69 268.522 661.272] /A << /S /GoTo /D (GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009f) >> >> endobj 2908 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [290.819 650.69 323.476 661.272] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2909 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [142.518 622.795 211.928 633.377] /A << /S /GoTo /D (group__GTGReplay_ga2e5e466f37281ba7e671c00010763c9e) >> >> endobj 2913 0 obj << /D [2911 0 R /XYZ 98.895 747.976 null] >> endobj 2914 0 obj << /D [2911 0 R /XYZ 99.895 717.021 null] >> endobj 542 0 obj << /D [2911 0 R /XYZ 99.895 717.021 null] >> endobj 2915 0 obj << /D [2911 0 R /XYZ 99.895 669.514 null] >> endobj 546 0 obj << /D [2911 0 R /XYZ 99.895 594.633 null] >> endobj 2916 0 obj << /D [2911 0 R /XYZ 99.895 568.752 null] >> endobj 550 0 obj << /D [2911 0 R /XYZ 99.895 568.752 null] >> endobj 2917 0 obj << /D [2911 0 R /XYZ 99.895 508.509 null] >> endobj 2918 0 obj << /D [2911 0 R /XYZ 99.895 461.485 null] >> endobj 554 0 obj << /D [2911 0 R /XYZ 99.895 446.245 null] >> endobj 2919 0 obj << /D [2911 0 R /XYZ 99.895 386.723 null] >> endobj 2910 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F67 2143 0 R /F72 2160 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2930 0 obj << /Length 957 /Filter /FlateDecode >> stream xÚÍ—ÁnŰ8†ď~ )`Ĺ)‘˘rë¦NТmR[Eiaxe&kŔ–˛¶Ün°ŘwߡHŮă¤I‘Ăž(SäđÓ?Ăź4ä|ô{1zu–*˘Y®TBŠkÂ%° $ÉÍd¤X+*!Š…âJŃőb·2ř+ÓôM]îÖ¦jćͲ®˘oŻѸý5âďEJ™ś”ëŃŐ7 |ůŽKrM~´C×$I–q;qE¦ŁO#đxŔ„´Ź¶é`%á‚ĺśË-d ¤ö´Ś'QĚ€QŞéÝ­Ů"±Đt·5‹ôř.:F”ą˛ŃÄ °· ¶0×Űaßľ:Đ—R±LgWfy–ş_…ąä*–RŃĆĹuÂ.ęÓÝ‘ŠZ»ŃVŃÍŤ—vŇÎłCżGBŇůćrcĘŁH4•!¨<łh$ň„Äo}^›?MDZ‡hßâ*Ë­M¶‡Ěîé:J€Öß˝\űîyµz”«ť‰¸¤Ě>Ş|śä 46X:ŇḊ2Š·iëíĹ3`ŞĆXď$Úlě¨yifÓěěKZÍš0`’rúĎĂ‘”ć´Ľ>ϦźOOÇÓi0źţö8…›;žLf—㏿89¶ĂP,.°8ËĄtMf§ď/¦ăgDµ)> }™Ľ-ž3ŰŠýń˘˝ýpů>TÔ®ńď9”6–4Ď‚Ň~cľĘô«s‡Ĺ¸¬w[×ŰËgP´Ű_ŞÚž1Ř‘Űéâ…>âL‡şFc)SĂ5ö«4ýÚ=śy Ľ^çLóٵQľŰ­~ÄJ‚=űYŽ ˙˙y mŁGxi†âę’ňâűŚ·ě‘Č GŠ.Ífď,ˇ©„YđYxą2Ę'ÇŔrT<X{’ßóčzsňł)ď[µf)n×[¸Zd †VL齊Ó]Yš­˙Ţú:(ĚrľZ± Ř€$öŃP7t>ÉQĂ PrÁ”ÚŁśE÷Ôre|17µ§ş5^~›±•Ů_˙đYkĚýś„´~Áă´÷ť<ÄE˙OůĎpËUÝmpÇű,Řańëţr©§pőtrýÝéü>Őă ńŽBáÝݎRË=â®*›˝˝Uuă–ëŰ•©LcCśŁ7eš ČźsSî.đЉLĄíŐÍĎ^ÜńAú/;GÜ’ť|eĺxăńÚ˝ľő,Rßî‰Ă‰ČO„č [ »ŤĽ,»x¨µ°Ţ;k]ĺH8/αᮣ=îş˙öřűîĆ:¦őË@¬˙ŕ#ţE endstream endobj 2929 0 obj << /Type /Page /Contents 2930 0 R /Resources 2928 0 R /MediaBox [0 0 595.276 841.89] /Parent 2901 0 R /Annots [ 2921 0 R 2922 0 R 2923 0 R 2924 0 R 2925 0 R 2935 0 R 2926 0 R 2927 0 R ] >> endobj 2921 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [235.747 650.798 268.404 661.272] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 2922 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [200.003 578.152 257.945 588.497] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 2923 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [268.107 578.152 348.814 588.497] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788a6144206e9d331f185b18166cff7783b8) >> >> endobj 2924 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [352.367 578.152 439.055 588.497] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788a3f7405d47b6ed59a17246e9844090615) >> >> endobj 2925 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [442.608 578.152 495.412 588.497] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788a73950ece0ad8b1bee0e4ebe6fbf9060b) >> >> endobj 2935 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 566.197 218.462 576.542] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788a73950ece0ad8b1bee0e4ebe6fbf9060b) >> >> endobj 2926 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.455 566.197 311.621 576.542] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788ab9fd0214ae892b4284375940d3040b1c) >> >> endobj 2927 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [317.106 566.197 423.224 576.542] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788aaa3aa4a72ea96378a200bb869f7f8abb) >> >> endobj 2931 0 obj << /D [2929 0 R /XYZ 149.705 747.976 null] >> endobj 2932 0 obj << /D [2929 0 R /XYZ 150.705 717.021 null] >> endobj 558 0 obj << /D [2929 0 R /XYZ 150.705 717.021 null] >> endobj 2933 0 obj << /D [2929 0 R /XYZ 150.705 667.357 null] >> endobj 2934 0 obj << /D [2929 0 R /XYZ 150.705 596.738 null] >> endobj 562 0 obj << /D [2929 0 R /XYZ 150.705 538.673 null] >> endobj 2220 0 obj << /D [2929 0 R /XYZ 150.705 509.85 null] >> endobj 566 0 obj << /D [2929 0 R /XYZ 150.705 509.85 null] >> endobj 570 0 obj << /D [2929 0 R /XYZ 150.705 452.705 null] >> endobj 2184 0 obj << /D [2929 0 R /XYZ 150.705 425.676 null] >> endobj 574 0 obj << /D [2929 0 R /XYZ 150.705 425.676 null] >> endobj 2936 0 obj << /D [2929 0 R /XYZ 168.153 344.485 null] >> endobj 2937 0 obj << /D [2929 0 R /XYZ 168.153 328.545 null] >> endobj 2938 0 obj << /D [2929 0 R /XYZ 168.153 312.605 null] >> endobj 2939 0 obj << /D [2929 0 R /XYZ 168.153 296.664 null] >> endobj 2940 0 obj << /D [2929 0 R /XYZ 168.153 280.724 null] >> endobj 2928 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F67 2143 0 R /F69 2147 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2951 0 obj << /Length 642 /Filter /FlateDecode >> stream xÚµVMŹ›0ĽçWXę8¶Á6^U=tÓDęĄŇ†Űn!âMĐfIΡ˙ľĎ|@ ‰vŰK€č˝™yĎĚ$­Ał9\1ăöÖ^fŁďÉh<Ť8˘1ćJP”Ľ"Ąp¬8L`!J–čŮ{\§;ŁK?`,ö„˙;ůŮÁ©AĂ!‰™!(ŕGöÁöOR“şćą)÷™Ů—Ú=N¶Ůţ]&5ů¶čÁíWí$3¬(ĺ ›qÄCÇ&0őJń·ťĺŽÜÝ?éW_zşÔE¦qC5žJŽV°€›ĹXČČaÉ‹lł_Ö-ă)Ąg•<ÄR)h¨ żşŠ–Ä2˘‡‚Y2ű•LNS…×=Šcqjř6´wJ°„ÓłĺÓ˘ „-ȸ»ţi®7ËŞ5ďinFP Ü"´HT`KŢMUăĽ0Ć[˝čŽYxŮ:-ůŃ™|Řáě ˙…°i&˘Ň"Ř›§ j‰#XwÓV¤ďşW/ŚČ1‡-4Äś†7%úÔTI?©2Ýäiődć…`‡&Ą—™Ä§Śxv[! ű$QľĽŽcĘ€çhäYż]ች•Y-6ye:lŐfűćĂôşřŘđ˝¸VîÜŔŰ‘˝¸SGel1|fVÎ[»é†C­±â¶AáöY ‘µŃË& u••ůîŹýnµ)aĹšS9ć^uGfK-¬ŃRÇĹ`RĎ{)ŚťGÍ űŁ#ĐÓő$@‹– “ÎÄ=^Ľ¦0€ÜVÜZ ÓyXCc–Äę¸KÖŁ˘Ç˘WU4h=Ű ?¦˘kŕűŮ[;ţëY]¦űýGŐZď! )ü'8FôÜ8×oó™„ű­Ü˙íŹdôo*• endstream endobj 2950 0 obj << /Type /Page /Contents 2951 0 R /Resources 2949 0 R /MediaBox [0 0 595.276 841.89] /Parent 2901 0 R /Annots [ 2941 0 R 2942 0 R 2943 0 R 2944 0 R 2945 0 R 2946 0 R 2947 0 R 2948 0 R ] >> endobj 2941 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [151.211 417.983 175.629 426.467] /A << /S /GoTo /D (structContainer_a67ce2f5aefbdfebfdf389731573933e1) >> >> endobj 2942 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [151.211 404.471 171.639 412.955] /A << /S /GoTo /D (structContainer_a92f0174d6eca6c4a0ef3e2ffef8be3e8) >> >> endobj 2943 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [135.767 389.174 163.591 399.442] /A << /S /GoTo /D (structContainer_a4adf9cd564185bb1cee25d45a82c4f99) >> >> endobj 2944 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [135.767 377.446 144.735 385.93] /A << /S /GoTo /D (structContainer_a055522338ea708fbdfbd6ddb4854b313) >> >> endobj 2945 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [148.355 362.041 178.752 372.417] /A << /S /GoTo /D (structgtg__list) >> >> endobj 2946 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [179.252 362.041 202.997 372.417] /A << /S /GoTo /D (structContainer_aacb0d89296e0646bc3b7c14b2e4636f4) >> >> endobj 2947 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 349.447 154.212 359.111] /A << /S /GoTo /D (GTGOTF__Structs_8h_a7c570e29d458693c8eac4d704a62f794) >> >> endobj 2948 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [154.712 349.447 201.876 359.111] /A << /S /GoTo /D (structContainer_ae9e5eda153387bcd46a4a4495b7e044e) >> >> endobj 2952 0 obj << /D [2950 0 R /XYZ 98.895 747.976 null] >> endobj 578 0 obj << /D [2950 0 R /XYZ 99.895 717.021 null] >> endobj 2059 0 obj << /D [2950 0 R /XYZ 99.895 530.923 null] >> endobj 582 0 obj << /D [2950 0 R /XYZ 99.895 530.923 null] >> endobj 2954 0 obj << /D [2950 0 R /XYZ 99.895 435.476 null] >> endobj 586 0 obj << /D [2950 0 R /XYZ 99.895 333.883 null] >> endobj 590 0 obj << /D [2950 0 R /XYZ 99.895 273.674 null] >> endobj 2955 0 obj << /D [2950 0 R /XYZ 99.895 246.744 null] >> endobj 594 0 obj << /D [2950 0 R /XYZ 99.895 246.744 null] >> endobj 2956 0 obj << /D [2950 0 R /XYZ 99.895 221.855 null] >> endobj 598 0 obj << /D [2950 0 R /XYZ 99.895 221.855 null] >> endobj 2957 0 obj << /D [2950 0 R /XYZ 99.895 195.242 null] >> endobj 602 0 obj << /D [2950 0 R /XYZ 99.895 195.242 null] >> endobj 2958 0 obj << /D [2950 0 R /XYZ 99.895 172.01 null] >> endobj 606 0 obj << /D [2950 0 R /XYZ 99.895 172.01 null] >> endobj 2959 0 obj << /D [2950 0 R /XYZ 99.895 147.087 null] >> endobj 610 0 obj << /D [2950 0 R /XYZ 99.895 147.087 null] >> endobj 2960 0 obj << /D [2950 0 R /XYZ 99.895 121.255 null] >> endobj 614 0 obj << /D [2950 0 R /XYZ 99.895 121.255 null] >> endobj 2949 0 obj << /Font << /F45 1590 0 R /F75 2451 0 R /F11 2953 0 R /F20 1558 0 R /F14 1998 0 R /F46 1592 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2978 0 obj << /Length 884 /Filter /FlateDecode >> stream xÚíWKoś0ľďŻ°Ô Öń۰Ş*ő•¨˝TMP/IUQÖ!(,¤,«4˙ľcl˛,Ą›¶‰úrÂ{ć›™Ďß`‚™D9"öq4#vĎÉěŕP(áX)Ž’sD%ÁšH¤y„Ń(Y˘Ó@˛pÎÖ*x•¶)Śuś´Í&k7ŤqŻŻęlł2U›¶E]…“·ł×ÉěËŚ‚‚čŔ¬ŔŁ([ÍN?´„ŹoŹ#tÝ-]!.8ÖÔn,ŃÉěýŚě wĺb˘1‘‘C¬0Ĺ «pN !ÁşĂjQŤ˘•ÇŚ«nSŢćźĘbÝÚ`Łŕe Ń•i‹¶ľ4.¨>q‡Ś ěĚ˝ˇ9XkćĚ%>7ËťÜtSç!'Aݸ—ö˘X»Č2°h»‰ëŢR˙57€&¤$H[łôvšzŐ1CÓeYŰ­×E•»é3BXi;Q ްŽ4Ŕ–8âĘÁ>cLî¬rlr_ĘcŘw:—RGÉŃ»äđÓIZXĐkë_ěnß©_W<ĘpL©ě2×CËHôŐcľr·EHB7WĆŐƑύŹÍy¨Ó*3Łi‰b¨SÖ0#,w>žUVn–Ʊř¶] ĹÔ@HĎŠ§nĹŽ-Ťµ ý‚ml\ô#‹±Äj»á™9‘`˛Ś•Ë‹ÔFhÎ%Ě—Ćź>ú°0ĺr=*Ó$5oKĚ1ç?¨°Żgv‘6Ľ€‡¬y xÄýć1-Fž5ZôŰŞte&ávJČÁśrLăż1-‹tý‹ŞýwX`Źb±śöB~ÎţP$öúÉŰ^Ňî<Đť†Ô—!#ÁHëî"Ş'بp€1őG¸ŁŞcí÷MbŹŹm•×U>0~k>Ă?M ˇ@“Çś5hŕŃŻŤ"Vl‹ NěCÚőŮéoŻhž#‚aŃ=@ƜًÂ[›@Á˙HÖľ?ěż™4ń | 챑ßÝČ4ČĆöňžsŻ«¶ho>ŘFž–›ÇNţŘÉ˙űNžŰCÜÔ›«7÷ké˙Đ/„Ü˙—Á?'D‘řWî€ý=ş‚V˘ă \$íý4VŔ/5GVV·’ÚKtĆ$ŘxQ}~嵚 ˙$”ą% /ëŐ—m…˝ł\d˝˝Šžffđ-műĄgDĐxP7ńŮşéoÉVÓżŢäVÇId}#㨢 endstream endobj 2977 0 obj << /Type /Page /Contents 2978 0 R /Resources 2976 0 R /MediaBox [0 0 595.276 841.89] /Parent 2901 0 R /Annots [ 2962 0 R 2963 0 R 2964 0 R 2965 0 R 2966 0 R 2967 0 R 2968 0 R 2969 0 R 2970 0 R 2971 0 R 2972 0 R 2973 0 R 2974 0 R ] >> endobj 2962 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 654.377 254.336 664.041] /A << /S /GoTo /D (GTGOTF__Structs_8h) >> >> endobj 2963 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [202.021 527.488 226.438 535.972] /A << /S /GoTo /D (structContainerType_a8bf2b33a4144adf9d82b347b510e205c) >> >> endobj 2964 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [202.021 514.294 222.448 522.778] /A << /S /GoTo /D (structContainerType_a85ebdaf602c61a46cc07a505a16e6e33) >> >> endobj 2965 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.576 501.101 195.544 509.585] /A << /S /GoTo /D (structContainerType_a02fb15eb66f37f3e1086f2ee0fb281fb) >> >> endobj 2966 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [199.165 486.016 229.562 496.392] /A << /S /GoTo /D (structgtg__list) >> >> endobj 2967 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [230.062 486.016 253.806 496.392] /A << /S /GoTo /D (structContainerType_a478bcc47be0ccd30b8e3627119cc3c82) >> >> endobj 2968 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 301.813 254.336 311.476] /A << /S /GoTo /D (GTGOTF__Structs_8h) >> >> endobj 2969 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [202.021 174.923 226.438 183.407] /A << /S /GoTo /D (structEntityValue_a5e6e1be50971e3c2547ab66657740c6e) >> >> endobj 2970 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [202.021 161.73 222.448 170.214] /A << /S /GoTo /D (structEntityValue_aa4ce16b0131ebd56e2fbf263f7007c1e) >> >> endobj 2971 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.576 146.645 218.883 157.021] /A << /S /GoTo /D (structEntityValue_af9d0d2fd22efd3610ed6fddc23680388) >> >> endobj 2972 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.576 135.343 195.544 143.827] /A << /S /GoTo /D (structEntityValue_a61d28bb9506e9f63393b1125360daca1) >> >> endobj 2973 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [199.165 120.258 229.562 130.634] /A << /S /GoTo /D (structgtg__list) >> >> endobj 2974 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [230.062 120.258 253.806 130.634] /A << /S /GoTo /D (structEntityValue_a191ba3c755e7cc31ad8b8f2dc8e82303) >> >> endobj 2979 0 obj << /D [2977 0 R /XYZ 149.705 747.976 null] >> endobj 2060 0 obj << /D [2977 0 R /XYZ 150.705 647.162 null] >> endobj 618 0 obj << /D [2977 0 R /XYZ 150.705 638.392 null] >> endobj 2980 0 obj << /D [2977 0 R /XYZ 150.705 544.661 null] >> endobj 622 0 obj << /D [2977 0 R /XYZ 150.705 471.204 null] >> endobj 2981 0 obj << /D [2977 0 R /XYZ 150.705 446.235 null] >> endobj 626 0 obj << /D [2977 0 R /XYZ 150.705 446.235 null] >> endobj 2982 0 obj << /D [2977 0 R /XYZ 150.705 419.806 null] >> endobj 630 0 obj << /D [2977 0 R /XYZ 150.705 419.806 null] >> endobj 2983 0 obj << /D [2977 0 R /XYZ 150.705 395.034 null] >> endobj 634 0 obj << /D [2977 0 R /XYZ 150.705 395.034 null] >> endobj 2984 0 obj << /D [2977 0 R /XYZ 150.705 370.261 null] >> endobj 638 0 obj << /D [2977 0 R /XYZ 150.705 370.261 null] >> endobj 2061 0 obj << /D [2977 0 R /XYZ 150.705 294.597 null] >> endobj 642 0 obj << /D [2977 0 R /XYZ 150.705 285.827 null] >> endobj 2985 0 obj << /D [2977 0 R /XYZ 150.705 192.096 null] >> endobj 2976 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F75 2451 0 R /F11 2953 0 R /F14 1998 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3000 0 obj << /Length 970 /Filter /FlateDecode >> stream xÚĹW[oŰ6~÷Ż ° ’âŐlHb¬Ŕ0¬ö’…&+ŽPYĘ$ąiţýH‘´E[Ťë´Ýžt!yÎwîX–ł_ÓŮĹ5ĺ@BĹyŇ{ ”Š‘HČ‘é ÜFŇxN„Ś®>uźĆEĎŹ…ýuÓ·ŰĽ·ďo‹űٍh‹:7Ë„H±$~—ľ™]ĄłfX+Eď•P( ůfvű•^{L”OĂÎ Hh6ç*p3űs†p 3ŻćáÍ`#(âc;€IoGq<ǡč˛čł˛*V¦Ô_]Ţ–Ź}ŮÔÚťšn»v¸ß.µ‚FîB`N(ä^ĂUÝ—ýó_±@QVm‹@–^ţŃú)oj­ĽîěW˙ŕ\Yg÷ÖÜ,ÝoëÜ€ë.ş>ë‹Î |pčŤL»—K˛·ť8ۯˢň†7ůvŁš›~,ýŘl5ľsm‹č!kŤ´‹kLŇÇČ€‰r¨><şC(±{‚ÔńŇ›QčOnýąXdU™u_ŽsΨ´ř H­wFY÷((T’ĎÂX·1AQł}ümu'tLň5`ĘWcÂG˙đ )ţ-˘ÇŘζźcć(Ił6Ýů ÇMgĺ.şD??]Ë|ş¤µ×;ŞéÓsO@şwÓqU{Ýó„A¦5ÍuFÎţ?săU]ž®?ŰÓK‘&˘o¤ę°ďʧ/Ë÷˘őěšçɦ1ô©ć™ŤĹI6”„ocˇg˛µÜěcLĆŐwżgÖt‹´}ť˘ßNÉ‘đďB§Ćüý+É”c=‹L… lÁđ‰zy—˘çr©Ë‹LĘ˙ťşÉ`$!Aęś›ŚżzqH†RÝ]Y×ýÎŐîŇ0‚=đě"ŤжŽüňčhq·4‚0±o-Zâ‰Ůs’Ar™{yEm–ٵ¬÷[ďCzę¶?ţ6‚žíűecčȧçµńú®ęÇi‡ý .cQ endstream endobj 2999 0 obj << /Type /Page /Contents 3000 0 R /Resources 2998 0 R /MediaBox [0 0 595.276 841.89] /Parent 3007 0 R /Annots [ 2975 0 R 2991 0 R 2992 0 R 2993 0 R 2994 0 R 2995 0 R 2996 0 R 2997 0 R ] >> endobj 2975 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [98.899 679.516 145.615 689.99] /A << /S /GoTo /D (structEntityValue) >> >> endobj 2991 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 472.847 203.526 482.51] /A << /S /GoTo /D (GTGOTF__Structs_8h) >> >> endobj 2992 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [151.211 348.102 175.629 356.586] /A << /S /GoTo /D (structEventType_a0c5cf0d1d90a0190925feab828dba2e8) >> >> endobj 2993 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [151.211 335.337 171.639 343.821] /A << /S /GoTo /D (structEventType_a42f50ba031cb2fe4d5bffe085f6ad2c6) >> >> endobj 2994 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [135.767 320.788 173.561 331.056] /A << /S /GoTo /D (structEventType_afdddbef3fe86529f251fb05fa3445383) >> >> endobj 2995 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [135.767 309.807 144.735 318.291] /A << /S /GoTo /D (structEventType_a29c1aa6026157172fa5c5425105be105) >> >> endobj 2996 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [148.355 295.15 178.752 305.526] /A << /S /GoTo /D (structgtg__list) >> >> endobj 2997 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [179.252 295.15 202.997 305.526] /A << /S /GoTo /D (structEventType_af6aadf2a0a0a3b8c4d0fe57d4889bbf9) >> >> endobj 3001 0 obj << /D [2999 0 R /XYZ 98.895 747.976 null] >> endobj 646 0 obj << /D [2999 0 R /XYZ 99.895 717.021 null] >> endobj 650 0 obj << /D [2999 0 R /XYZ 99.895 665.447 null] >> endobj 2987 0 obj << /D [2999 0 R /XYZ 99.895 640.485 null] >> endobj 654 0 obj << /D [2999 0 R /XYZ 99.895 640.485 null] >> endobj 2988 0 obj << /D [2999 0 R /XYZ 99.895 614.169 null] >> endobj 658 0 obj << /D [2999 0 R /XYZ 99.895 614.169 null] >> endobj 2989 0 obj << /D [2999 0 R /XYZ 99.895 589.372 null] >> endobj 662 0 obj << /D [2999 0 R /XYZ 99.895 589.372 null] >> endobj 2986 0 obj << /D [2999 0 R /XYZ 99.895 564.853 null] >> endobj 666 0 obj << /D [2999 0 R /XYZ 99.895 564.853 null] >> endobj 2990 0 obj << /D [2999 0 R /XYZ 99.895 540.194 null] >> endobj 670 0 obj << /D [2999 0 R /XYZ 99.895 540.194 null] >> endobj 2062 0 obj << /D [2999 0 R /XYZ 99.895 466.62 null] >> endobj 674 0 obj << /D [2999 0 R /XYZ 99.895 457.606 null] >> endobj 3002 0 obj << /D [2999 0 R /XYZ 99.895 364.847 null] >> endobj 678 0 obj << /D [2999 0 R /XYZ 99.895 281.082 null] >> endobj 682 0 obj << /D [2999 0 R /XYZ 99.895 223.553 null] >> endobj 3003 0 obj << /D [2999 0 R /XYZ 99.895 196.887 null] >> endobj 686 0 obj << /D [2999 0 R /XYZ 99.895 196.887 null] >> endobj 3004 0 obj << /D [2999 0 R /XYZ 99.895 170.571 null] >> endobj 690 0 obj << /D [2999 0 R /XYZ 99.895 170.571 null] >> endobj 3005 0 obj << /D [2999 0 R /XYZ 99.895 145.913 null] >> endobj 694 0 obj << /D [2999 0 R /XYZ 99.895 145.913 null] >> endobj 3006 0 obj << /D [2999 0 R /XYZ 99.895 121.255 null] >> endobj 698 0 obj << /D [2999 0 R /XYZ 99.895 121.255 null] >> endobj 2998 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F14 1998 0 R /F75 2451 0 R /F11 2953 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3018 0 obj << /Length 1123 /Filter /FlateDecode >> stream xÚĺW]oŁ8}ĎŻ@Ý×6ăh5Ҷi˘ŤTmĘ[gâ&ht ŮÎüű˝ţ€Ą#UÚ‡}Âßëă{ν×`D™łs°z,'X áyO.AčDH„ˇďÄ÷aqĚîG(Ä܉·ÎťËoJ)çˇ;OęĆ~PľśG˝ôŕřŹ8Q†ąs;ůk‚{Č b6†s„Yd‡(@l‚1vSŹ»ű¤R°.$pÓP!¶ŇF_1öÍš^HŔ-lm×\˙‡Ś˝»?älV$©OŰD´ŹvuĘ|$`fJ˘<čBeęQ‡u…2Ą-Ô]˝[çٱVĽDCPuů]=T Ї8ŔYGĽ·Tn{Tę©{ĎÇnY™—zźÍŔlć*ÄzâŃ·Ä~ÝÉBVÁnRË­őS•‡Ć‰ěşÎóR™>fĹÎL4—łŢ)"q€ ¬aß’F)ë3 Wí¬ňV`w7e,t—ńň&^¬o5č@>Ş=Ńţ- E‚¦#×@‘bŃ2ذ´Śh_0Ä8uX¶„ľŞ}qżU~ŁőÎţDŔ”ňĹ AZćšÚdĄŻä=č^V˛Hĺ«j""Rˇ…nĹ0Âq›ě[©č)¤]b+BCł›XE¤‰•ĐĆÚžŽŤ6Áš1pŚč9ë¤'†€s6¨~ËŠ4?mĄMdŇY ŠćH›żŹřâpHŇ,€ý®\CţĐ—@P뚥źLěFdu‡‰ĐČ‚äESź#á‡ĆŇK b‘É|{Čt”ŚVâP'Eô‚Ä­ ÓńšF#¨dXÔFňb°5GČw4µ~^ŢSD ±€LB4üŐTTĺ«ÚmÖF2Ä]×oŰ)™€Í›ÉÚeĹłK ä "6]ç˛N˛\ëHšËcZem{!<,›˙M¦ĽqvlOÍźNMí©µ푟uíwő1<ě`đŇő›­’‰ŽŐlö‚Ç۰Á¶ŤM[ëQy?čBFľb†3©;7őŔ=[]ĎϬť]sv™'©"ĺűŮ9BLČKśô˘I#‚^ÔčH |‚ćwP)8Mľ¬m}ďDÇ~54Ök/4«ĺ%řŠś«"!° > endobj 3009 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 627.535 254.336 637.198] /A << /S /GoTo /D (GTGOTF__Structs_8h) >> >> endobj 3010 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [202.021 474.957 250.853 484.413] /A << /S /GoTo /D (structgtg__color_a7c2033bde700bdbf9fb1be5c6b2400e8) >> >> endobj 3011 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 459.778 238.905 470.154] /A << /S /GoTo /D (GTGColor_8h_a9fd3b22fc2eca7706659486c53aa1edd) >> >> endobj 3012 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [239.405 459.778 254.354 470.154] /A << /S /GoTo /D (structgtg__color_a1c158621053c8150b40751340e4e47f2) >> >> endobj 3013 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 192.194 224.487 200.965] /A << /S /GoTo /D (GTGColor_8h) >> >> endobj 3019 0 obj << /D [3017 0 R /XYZ 149.705 747.976 null] >> endobj 3008 0 obj << /D [3017 0 R /XYZ 150.705 697.552 null] >> endobj 702 0 obj << /D [3017 0 R /XYZ 150.705 697.552 null] >> endobj 2063 0 obj << /D [3017 0 R /XYZ 150.705 619.253 null] >> endobj 706 0 obj << /D [3017 0 R /XYZ 150.705 609.039 null] >> endobj 3020 0 obj << /D [3017 0 R /XYZ 150.705 494.17 null] >> endobj 710 0 obj << /D [3017 0 R /XYZ 150.705 442.455 null] >> endobj 714 0 obj << /D [3017 0 R /XYZ 150.705 379.352 null] >> endobj 3021 0 obj << /D [3017 0 R /XYZ 150.705 353.774 null] >> endobj 718 0 obj << /D [3017 0 R /XYZ 150.705 353.774 null] >> endobj 3022 0 obj << /D [3017 0 R /XYZ 338.214 311.074 null] >> endobj 722 0 obj << /D [3017 0 R /XYZ 150.705 290.867 null] >> endobj 2064 0 obj << /D [3017 0 R /XYZ 150.705 183.912 null] >> endobj 726 0 obj << /D [3017 0 R /XYZ 150.705 173.699 null] >> endobj 3016 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F14 1998 0 R /F20 1558 0 R /F75 2451 0 R /F11 2953 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3035 0 obj << /Length 1073 /Filter /FlateDecode >> stream xÚŐXÉnăF˝ë+Č…<°Ýű"$p,`2Ł›g`ČT[BQОă|}ŞI¶DŇÔbxlLN¤šä«Ą_Ő«A DĐdôëttq%2Ř*ĹŃôY‹Ť•HsŃh:GבÂ:N6Ѣ\ܬÜj]Ä %ŃS˝řą,¶iYßrw1+Łq%\aĄl ¸ÂÔsšš5G.×évĺňrV.×ů){ pEbÂZŘ;ôM],€Ő«;ɱe<ÖÎ`/qśbcD?q=4 l›śg5[ç‹ăö şW[y/ŢÜÎ}‡­8ť”`¶áńŤ· ż˝™$¤•rĽ`” Ą]µłkŐo0ĘĐř~–FCSvC‚ ±‘ 1)±ć"0¬ě3Ahu/hŰRÔHZ4mphŘXXÖZç”ńřÖ óá˘::PÁ‡&  ż8@Ú-壍:čűÁ6tĘknhoőNówqş* ßď«ö|Ď;ůďîú+rŢń\6ž‡^Đ'ŻĹ„šł<ŞGřÇxŐ€?g‚z•SşŃq$¬ü)1ű’řŻBa¦ý8Ľ;á[üf>žř)|?‡‰~[m›ü—oÍhĎDs%”Őw”Ś™3†u¶?TČË4ŕłÔµžÍĘđę" „pˇń^Ó›żK.×Ő™őiQ%2$°“8HŘىr endstream endobj 3034 0 obj << /Type /Page /Contents 3035 0 R /Resources 3033 0 R /MediaBox [0 0 595.276 841.89] /Parent 3007 0 R /Annots [ 3014 0 R 3015 0 R 3023 0 R 3024 0 R 3025 0 R 3026 0 R 3027 0 R 3028 0 R 3029 0 R 3030 0 R 3031 0 R 3032 0 R ] >> endobj 3014 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [148.355 679.961 178.752 690.337] /A << /S /GoTo /D (structgtg__list) >> >> endobj 3015 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.726 679.961 205.889 690.337] /A << /S /GoTo /D (structgtg__list_ab82d200f55762c3c8f45466d772ce18b) >> >> endobj 3023 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [148.355 666.24 178.752 676.616] /A << /S /GoTo /D (structgtg__list) >> >> endobj 3024 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.726 666.24 205.396 676.616] /A << /S /GoTo /D (structgtg__list_a345eec26112d216eb50414c089292381) >> >> endobj 3025 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 529.956 166.657 538.727] /A << /S /GoTo /D (GTGList_8h) >> >> endobj 3026 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [149.992 397.692 191.337 407.355] /A << /S /GoTo /D (structgtg__memory_a6dbfd29d58f156123a0631d528624d2d) >> >> endobj 3027 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [149.992 383.971 204.796 393.428] /A << /S /GoTo /D (structgtg__memory_a148a3e38cc32c18151302879bea08e0e) >> >> endobj 3028 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [149.584 370.25 189.091 379.707] /A << /S /GoTo /D (structgtg__memory_a9719aa0ebb5be68ca02abb7fb2c8567e) >> >> endobj 3029 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [143.244 355.61 182.106 365.986] /A << /S /GoTo /D (structgtg__memory_a6cd255b42292aec9dcd63cc8acba7798) >> >> endobj 3030 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [149.992 342.808 186.863 352.471] /A << /S /GoTo /D (structgtg__memory_adf206b4bc257b80a0b4491d1919198e8) >> >> endobj 3031 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [143.244 328.168 180.932 338.75] /A << /S /GoTo /D (structgtg__memory_ac3764bd2efdc4775bf3c4ca51ebc6469) >> >> endobj 3032 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [143.244 314.447 196.075 324.823] /A << /S /GoTo /D (structgtg__memory_a0e8dbe52c899485e23a29fca18203a4f) >> >> endobj 3036 0 obj << /D [3034 0 R /XYZ 98.895 747.976 null] >> endobj 3037 0 obj << /D [3034 0 R /XYZ 99.895 699.554 null] >> endobj 730 0 obj << /D [3034 0 R /XYZ 99.895 650.184 null] >> endobj 3038 0 obj << /D [3034 0 R /XYZ 99.895 624.967 null] >> endobj 734 0 obj << /D [3034 0 R /XYZ 99.895 624.967 null] >> endobj 3039 0 obj << /D [3034 0 R /XYZ 99.895 598.151 null] >> endobj 738 0 obj << /D [3034 0 R /XYZ 99.895 598.151 null] >> endobj 2065 0 obj << /D [3034 0 R /XYZ 99.895 522.213 null] >> endobj 742 0 obj << /D [3034 0 R /XYZ 99.895 512.729 null] >> endobj 3040 0 obj << /D [3034 0 R /XYZ 99.895 416.366 null] >> endobj 746 0 obj << /D [3034 0 R /XYZ 99.895 298.391 null] >> endobj 3041 0 obj << /D [3034 0 R /XYZ 99.895 273.174 null] >> endobj 750 0 obj << /D [3034 0 R /XYZ 99.895 273.174 null] >> endobj 3042 0 obj << /D [3034 0 R /XYZ 99.895 246.358 null] >> endobj 754 0 obj << /D [3034 0 R /XYZ 99.895 246.358 null] >> endobj 3043 0 obj << /D [3034 0 R /XYZ 99.895 221.337 null] >> endobj 758 0 obj << /D [3034 0 R /XYZ 99.895 221.337 null] >> endobj 3044 0 obj << /D [3034 0 R /XYZ 99.895 196.317 null] >> endobj 762 0 obj << /D [3034 0 R /XYZ 99.895 196.317 null] >> endobj 3045 0 obj << /D [3034 0 R /XYZ 99.895 171.296 null] >> endobj 766 0 obj << /D [3034 0 R /XYZ 99.895 171.296 null] >> endobj 3046 0 obj << /D [3034 0 R /XYZ 99.895 146.275 null] >> endobj 770 0 obj << /D [3034 0 R /XYZ 99.895 146.275 null] >> endobj 3047 0 obj << /D [3034 0 R /XYZ 99.895 121.255 null] >> endobj 774 0 obj << /D [3034 0 R /XYZ 99.895 121.255 null] >> endobj 3033 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F14 1998 0 R /F75 2451 0 R /F11 2953 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3063 0 obj << /Length 925 /Filter /FlateDecode >> stream xÚíWMoŰ8˝űWŘ‹t03¤DR4Z¤ Pl±»­nI¨2ă•ĺT’›őżßˇHÚ’â|i{Ů=I¦83oŢ<Î@VÇů Ě+>ßdł“łD)QBÄAvPDdś2Č–ÁEČE4gLJžć]Žď2 ?vͶ趍¶?O7Ĺv­ë.ďĘM}ĘŢÍŢfłŻ3Ša  · I ŠőěâKüřAĹ* îú­ë Nb"©1¬‚Źłżg0BnócAŕ©E,$”ČhN ¬6őĘ`šäš(4Ĺ@˝ÉŞ[]­őzÓŁp·XÔźŻňŞÚy§—}Fžµ“37sçgÎ"<€ěĆłÓ/]G1„&ŽůŃÝ”­}k;š‡H«]¸‹đWîľ®t­›‘őp¬źfłöNôĐ5˘6¦w%¦Ý/_°J/FYIJ%Âć$¦ĘÂľdŚŹvŮň5+WÇhw1ç\„çŮů{ËFÜ!0ÉÍŘtT¸ľj”E)ďYóácET˘|ŮRW˛?Ęú‹ťš}˙ Ż#ęF×…ž”Dň &ŚsŔ¬R’Pëő·˛.ŞíR[  ´9jMí%đ»Ý1r%‰L¨ß€I˙™ť]YH­ÍwâQq"Ż,Ę#L hą– ŽbEýŕŮŠYCwĐ0çłRWËvR”ŁBÜYń˝ý1T[óWŁ‹§ zŃ•k}–ˇ+ť¦ě .bYwnůmS<©¨!Ź^QQQ„:MőLZRď·«GbwČŐŔůŢ˝KgÚdIŇ˝ڬ‹¶‰„ĹóăÎť—Q‹±ŃŮ‘1% Ź}Ěo&+lźĽqŻ|Ó¶ćĽüçÚš;átDC<é&ěŹčnjĐݲ(IĂÝ­ţżËý„.çŞYÜäŤCź Đ#kŔ÷čQEń}hZ’D&ެÎjóŽ$<« ţLyUćíŔřdŁ.6u—EűŚôŁ3!~ůLxf¤—&µÔm÷‹B•Ë‘6l±ŹĆÁ˙¸ŘĐ®Ş˛íž9ă7_ĚôĐőËç°ÚĘSÝĺeĄý(ÖmŃ”·÷ńDŘ0D¦¶'ďuŰć+=ÖřŃ‹…”0Pßsńđ—#AI(1#s)Rg⚥`‡áĺ‡a)·n|˝ľuS‘%î ”Ů7 ¦Śů9Ç#´÷\Ţ_ a“zđ-ďüÖKŕ€]Ô.|6Žvţjf¦ç?»U±™”ÉúÓĐH´ endstream endobj 3062 0 obj << /Type /Page /Contents 3063 0 R /Resources 3061 0 R /MediaBox [0 0 595.276 841.89] /Parent 3007 0 R /Annots [ 3048 0 R 3049 0 R 3050 0 R 3051 0 R 3052 0 R 3053 0 R 3054 0 R 3055 0 R 3056 0 R 3057 0 R 3058 0 R 3059 0 R 3060 0 R ] >> endobj 3048 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 654.198 235.265 664.672] /A << /S /GoTo /D (GTGMemory_8h) >> >> endobj 3049 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 529.925 207.272 538.409] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3050 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [207.772 529.925 226.702 538.409] /A << /S /GoTo /D (structLink_a3dcf389af7a2d16eada1679d4ae33d13) >> >> endobj 3051 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.576 517.043 200.521 525.527] /A << /S /GoTo /D (structLink_a87fb6a54e52fc0c8cea06eafefc8b555) >> >> endobj 3052 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 381.984 254.336 391.647] /A << /S /GoTo /D (GTGOTF__Structs_8h) >> >> endobj 3053 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [202.021 256.9 226.438 265.384] /A << /S /GoTo /D (structLinkType_a876188b4529f34bbfb54bf0f7b102da0) >> >> endobj 3054 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [202.021 244.018 222.448 252.502] /A << /S /GoTo /D (structLinkType_a86ee7c3fde6e9bc60465218437b2fb93) >> >> endobj 3055 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.576 229.351 224.371 239.619] /A << /S /GoTo /D (structLinkType_a3020cf7752917aed0f7193431ec4c81b) >> >> endobj 3056 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.576 216.469 219.377 226.737] /A << /S /GoTo /D (structLinkType_a210a16b6927e61d4f8903a6170c40a4d) >> >> endobj 3057 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.576 203.586 224.371 213.855] /A << /S /GoTo /D (structLinkType_a9c7024c680fee0ec1a8658be033bbadb) >> >> endobj 3058 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.576 192.488 195.544 200.972] /A << /S /GoTo /D (structLinkType_ab3ba87c081b571030116c61f4f45e67a) >> >> endobj 3059 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [199.165 177.714 229.562 188.09] /A << /S /GoTo /D (structgtg__list) >> >> endobj 3060 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [230.062 177.714 253.806 188.09] /A << /S /GoTo /D (structLinkType_a8430d62765b8301d38b63ef8d52c14dd) >> >> endobj 3064 0 obj << /D [3062 0 R /XYZ 149.705 747.976 null] >> endobj 2066 0 obj << /D [3062 0 R /XYZ 150.705 647.5 null] >> endobj 778 0 obj << /D [3062 0 R /XYZ 150.705 638.846 null] >> endobj 3065 0 obj << /D [3062 0 R /XYZ 150.705 546.788 null] >> endobj 782 0 obj << /D [3062 0 R /XYZ 150.705 502.864 null] >> endobj 3066 0 obj << /D [3062 0 R /XYZ 150.705 476.117 null] >> endobj 786 0 obj << /D [3062 0 R /XYZ 150.705 476.117 null] >> endobj 3067 0 obj << /D [3062 0 R /XYZ 150.705 451.492 null] >> endobj 790 0 obj << /D [3062 0 R /XYZ 150.705 451.492 null] >> endobj 2067 0 obj << /D [3062 0 R /XYZ 150.705 375.287 null] >> endobj 794 0 obj << /D [3062 0 R /XYZ 150.705 366.633 null] >> endobj 3068 0 obj << /D [3062 0 R /XYZ 150.705 273.763 null] >> endobj 798 0 obj << /D [3062 0 R /XYZ 150.705 163.535 null] >> endobj 3061 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F75 2451 0 R /F11 2953 0 R /F14 1998 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3084 0 obj << /Length 1021 /Filter /FlateDecode >> stream xÚíWKośHľĎŻhi/pv?iz´ZiWÎX‰VZmĚ͉,mŚÂ@Â0rüď·šfíqĆ·=ńŞ®úęőUAP†şZü-.Ö"@!ÖAŔQt‡´Ćˇ–HńDˇ(E7^€)ń—L…^ŐÜÝ&UQŐÝăuSď’¦»˙hî|JRŽ©SźřĘ»Źk«íbMŇ ČZ`n}"„w2“ fv2çĺ×Č÷řͬVq‘ÇŰ—\JŽ5čžÚG"/›‚a˛y IU6ýÓ PśĘ Cᯆ’ší/C™DEĽJžž€|ë *ăŤ9KŻŐ¶öxxÖÄ)‡fŰŇ1 ëă= ¬Én‹|Űt0…×T_Í”.ÖŚtMJ9ş7 ¦>i_Ýůśx=e6÷ů¶»¬€Zz{}đá)v_3SšÚjÜÔé©«MŻÄŚUEeŹ>äeÖ˝†ş`…YMĽ@4Ŕ*T;ŔLPW@ŚÉiZŠ®3ÇŐáÜÍRĘŔ»Š®ţ‰Ö·×č­µ‰ďźËeXS*ŰČőĹ’O†K›=.Çă‚ … ŕ+Ąžś8T|?-ösa@%VşŐ%• ý> endobj 3076 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 479.042 203.526 488.706] /A << /S /GoTo /D (GTGOTF__Structs_8h) >> >> endobj 3077 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [151.211 349.46 181.6 357.944] /A << /S /GoTo /D (structotf__color_a2b4dac25aa93f339f7f133befbafc144) >> >> endobj 3078 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [153.215 334.889 168.163 344.346] /A << /S /GoTo /D (structotf__color_af3ff520576ee8bccf9d2bc85614e9501) >> >> endobj 3079 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [153.215 320.372 178.044 330.748] /A << /S /GoTo /D (structotf__color_aab6d70bd00e226b845719f7363cbb809) >> >> endobj 3080 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [153.215 307.693 171.974 317.15] /A << /S /GoTo /D (structotf__color_ae6e59a72e6d53e8f13916deafacc52f6) >> >> endobj 3081 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 120.258 203.526 129.922] /A << /S /GoTo /D (GTGOTF__Structs_8h) >> >> endobj 3085 0 obj << /D [3083 0 R /XYZ 98.895 747.976 null] >> endobj 802 0 obj << /D [3083 0 R /XYZ 99.895 717.021 null] >> endobj 3070 0 obj << /D [3083 0 R /XYZ 99.895 699.521 null] >> endobj 806 0 obj << /D [3083 0 R /XYZ 99.895 699.521 null] >> endobj 3071 0 obj << /D [3083 0 R /XYZ 99.895 672.901 null] >> endobj 810 0 obj << /D [3083 0 R /XYZ 99.895 672.901 null] >> endobj 3073 0 obj << /D [3083 0 R /XYZ 99.895 647.938 null] >> endobj 814 0 obj << /D [3083 0 R /XYZ 99.895 647.938 null] >> endobj 3074 0 obj << /D [3083 0 R /XYZ 99.895 622.975 null] >> endobj 818 0 obj << /D [3083 0 R /XYZ 99.895 622.975 null] >> endobj 3069 0 obj << /D [3083 0 R /XYZ 99.895 598.012 null] >> endobj 822 0 obj << /D [3083 0 R /XYZ 99.895 598.012 null] >> endobj 3072 0 obj << /D [3083 0 R /XYZ 99.895 573.05 null] >> endobj 826 0 obj << /D [3083 0 R /XYZ 99.895 573.05 null] >> endobj 3075 0 obj << /D [3083 0 R /XYZ 99.895 548.087 null] >> endobj 830 0 obj << /D [3083 0 R /XYZ 99.895 548.087 null] >> endobj 2068 0 obj << /D [3083 0 R /XYZ 99.895 471.422 null] >> endobj 834 0 obj << /D [3083 0 R /XYZ 99.895 462.104 null] >> endobj 3086 0 obj << /D [3083 0 R /XYZ 99.895 367.039 null] >> endobj 838 0 obj << /D [3083 0 R /XYZ 99.895 291.927 null] >> endobj 3087 0 obj << /D [3083 0 R /XYZ 99.895 265.848 null] >> endobj 842 0 obj << /D [3083 0 R /XYZ 99.895 265.848 null] >> endobj 3088 0 obj << /D [3083 0 R /XYZ 99.895 240.009 null] >> endobj 846 0 obj << /D [3083 0 R /XYZ 99.895 240.009 null] >> endobj 3089 0 obj << /D [3083 0 R /XYZ 99.895 215.046 null] >> endobj 850 0 obj << /D [3083 0 R /XYZ 99.895 215.046 null] >> endobj 3090 0 obj << /D [3083 0 R /XYZ 99.895 189.164 null] >> endobj 854 0 obj << /D [3083 0 R /XYZ 99.895 189.164 null] >> endobj 2069 0 obj << /D [3083 0 R /XYZ 99.895 112.638 null] >> endobj 3082 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F14 1998 0 R /F20 1558 0 R /F75 2451 0 R /F11 2953 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3105 0 obj << /Length 882 /Filter /FlateDecode >> stream xÚíWMo›@˝űW¬Ô ĽŮ]X¬ŞR+×Q{©špK˘âŤŤ‚q 8iţ}g?°Á&vśÔ·ž€e>ŢĚľ}ÍAç/ńŕlâ(ÄQx(ľC”,G q@ЧčĘáˇ;dLŔ'u÷"t.ër•Ö«RšÇń2]-dQ'u¶,Ü›řűŕk<ř= † Ú ëăQ”.W7MáĺwD°…čI›.ç{XPĺŁËÁϱX f\ÝŞKś#ĘpD)ď@'č¦ÔRB Nj…–5ŕÍý…Ľs…#KY¤RožMGt†*ŇG»{Pô$“ů´ę”»)›‘6!,BµshŞŤsÍďř˘«!瓵]V{^Îěć_hĹ’G—q'ÉW˛7łj1ő±řďL“.×'ĘP).Ĺ.eÄy~xc5˝ÁUöY=»…© Ńď»(<őň^Yˢk~€"vkŰQç7'f,ë$ËĺÔpf,«´ĚÖüÂÍŹy& >uŐ+Kz€0 DÓբؚ=Őî˘ňŰŃ×…ÚýŢŇB?Ŕ\4‡N×1íRk_Öˇ ŃiMÍŽNm9ôPžĚÇÜgMę.­vj4Ŕ8yD˙‡6n ˙čV<*<;:˛EÄľÂăąťWÓŤôŇťëgYš‡zžU®=ę°Dąc,<ąđ”Ř·3YČŇĄ€¦ÖçDĹ)—‹&l‡ÎóĄr}ĘŠ™Yľ&„ĺrÔU µŕÂkđëµc3L´Ż@W*§™*{…a3HדŘó˘ő^±ö Ť]?ÔDü?PO7PÓyRZô~ = µ«E,ň^V[©ö…߸Éâ…ÁĄĎ*4áUŁň”“> endobj 3091 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.576 613.651 209.774 622.135] /A << /S /GoTo /D (structState_ad005ebc45314033c4b897401ee150d13) >> >> endobj 3092 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.576 599.287 205.515 607.771] /A << /S /GoTo /D (structState_a59ce5ace1f042871476d027578373a10) >> >> endobj 3093 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.576 583.139 226.863 593.408] /A << /S /GoTo /D (structState_a815c7d082e4ffdd1a5cb6be3bdea0742) >> >> endobj 3094 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 568.668 214.804 579.044] /A << /S /GoTo /D (GTGStack_8h_a4b7833a97e238a050cf5fd9731c74ab0) >> >> endobj 3095 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [215.304 568.668 239.048 579.044] /A << /S /GoTo /D (structState_ac8fa30ee49b7ea41e7abafea82dead9b) >> >> endobj 3096 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 314.279 254.336 323.942] /A << /S /GoTo /D (GTGOTF__Structs_8h) >> >> endobj 3097 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [202.021 179.606 226.438 188.09] /A << /S /GoTo /D (structStateType_a032633fe3f7393284c730316651c45a7) >> >> endobj 3098 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [202.021 165.242 222.448 173.726] /A << /S /GoTo /D (structStateType_a80c2819cc7a07b01c41b7029ff857411) >> >> endobj 3099 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.576 148.986 218.883 159.362] /A << /S /GoTo /D (structStateType_a66cf0c397f84194ac6a5326f262d200d) >> >> endobj 3100 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.576 136.514 195.544 144.998] /A << /S /GoTo /D (structStateType_a14249c9d77e0bf8efa00f5ca7f38b001) >> >> endobj 3101 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [199.165 120.258 229.562 130.634] /A << /S /GoTo /D (structgtg__list) >> >> endobj 3102 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [230.062 120.258 253.806 130.634] /A << /S /GoTo /D (structStateType_a39d6516ad97438053c7ffa5cf2cf7d19) >> >> endobj 3106 0 obj << /D [3104 0 R /XYZ 149.705 747.976 null] >> endobj 858 0 obj << /D [3104 0 R /XYZ 150.705 717.021 null] >> endobj 3107 0 obj << /D [3104 0 R /XYZ 150.705 631.996 null] >> endobj 862 0 obj << /D [3104 0 R /XYZ 150.705 551.1 null] >> endobj 866 0 obj << /D [3104 0 R /XYZ 150.705 489.407 null] >> endobj 3108 0 obj << /D [3104 0 R /XYZ 150.705 462.076 null] >> endobj 870 0 obj << /D [3104 0 R /XYZ 150.705 462.076 null] >> endobj 3109 0 obj << /D [3104 0 R /XYZ 150.705 436.786 null] >> endobj 874 0 obj << /D [3104 0 R /XYZ 150.705 436.786 null] >> endobj 3110 0 obj << /D [3104 0 R /XYZ 150.705 409.772 null] >> endobj 878 0 obj << /D [3104 0 R /XYZ 150.705 409.772 null] >> endobj 3111 0 obj << /D [3104 0 R /XYZ 150.705 384.31 null] >> endobj 882 0 obj << /D [3104 0 R /XYZ 150.705 384.31 null] >> endobj 2070 0 obj << /D [3104 0 R /XYZ 150.705 305.892 null] >> endobj 886 0 obj << /D [3104 0 R /XYZ 150.705 295.538 null] >> endobj 3112 0 obj << /D [3104 0 R /XYZ 150.705 197.95 null] >> endobj 3103 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F75 2451 0 R /F11 2953 0 R /F20 1558 0 R /F14 1998 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3129 0 obj << /Length 972 /Filter /FlateDecode >> stream xÚÍWKoŰ8ľűWŘ‹t0CR|Ƣ@YŰK±ŤĐKRŞÍ8BĺÇĘrÓüűEJ–dĹNśŘ“^äĚ7ß ż´@]ŤţJFS.Qڵ”Jî‘Ö8Ö©(Ć’(”ĚŃM 1ŤÂ1Sqđ9”$H‹,ýRäĆ˝˝.‹Ý¬t÷źĚ˝ýd łšŮĎL~I>ŚţNF˙Ť(8&îq3ŠfËŃÍ‚ćđí"8Ň1z¬V.QÄ#¬¨Ý—ŁëŃż#âÁĚ„˝µ—:(ÁJhŮŽ…(LDÜÄÂ0 Ç”\š2Ír3·8cxÚΊlSfëU·ös1e¤ĹAcƱ¬ ^—ii’2‡<öJŻśĐł–Đ3'ôŞÖůnŠ”h•¦ŐŁ\8d«Yľ›_Ă´]Ă ňş©á?ÝŠŽ)…o gO‚ŤßĹŢł¨–ű ď^ Í@§Â4¦]…ľLËÔ]ÉsOä†+łÉ0(Hô\†}>˝´ 'ÜÖĐ&šËA·–_HkT§đl%ś¸ăřq;p!ůÝ 7ßC+ß™ßM_z_iż­Gý4ňuňŕVŻżŮîdN¶óNIÖµ;3DMO˙u3CÇzc˙%ťŻ?ľĄůé ö&C'çś6l‘Doél‡Đ›ŰéžK‡9âoâčđäźËPÝűťÎüV]%‹”˛cC?ĂR7=Ű·ĺ–SkI@K‹ŠÁŕ1×ěůŘżŰóx Gý)CrpŇwţ˙SĆĐď%1f0)ľâw«ţG”)É[˙UZÂo•o WüxMDj¨ýýĆ3¸żĘÜ%¦'ŚŐ1˛=}•ĺlVŰ‹IP¤3Óú––őŇ["ŚpˇîĹWkčÉÝ_®-s?ž¶Fű TýYö…Ő endstream endobj 3128 0 obj << /Type /Page /Contents 3129 0 R /Resources 3127 0 R /MediaBox [0 0 595.276 841.89] /Parent 3137 0 R /Annots [ 3119 0 R 3120 0 R 3121 0 R 3122 0 R 3123 0 R 3124 0 R 3125 0 R ] >> endobj 3119 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 475.071 203.526 484.734] /A << /S /GoTo /D (GTGOTF__Structs_8h) >> >> endobj 3120 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [135.767 349.839 163.178 360.107] /A << /S /GoTo /D (structVariable_a3cb36d32e3d836c934ffdcb8e6b2548c) >> >> endobj 3121 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [135.767 337.524 154.705 347.792] /A << /S /GoTo /D (structVariable_a659e966bd442dbde52df805e15005bf9) >> >> endobj 3122 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [158.2 326.02 181.398 335.477] /A << /S /GoTo /D (structVariable_a7e8220b03f0a1eb35030f642eb8c4fb8) >> >> endobj 3123 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [135.767 314.679 144.735 323.163] /A << /S /GoTo /D (structVariable_a8d689afc1cb0df2adc60fbfdc9cbae34) >> >> endobj 3124 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [148.355 300.472 178.752 310.848] /A << /S /GoTo /D (structgtg__list) >> >> endobj 3125 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [179.252 300.472 202.997 310.848] /A << /S /GoTo /D (structVariable_a0bc63e6674147c2277c89b3381eeaa91) >> >> endobj 3130 0 obj << /D [3128 0 R /XYZ 98.895 747.976 null] >> endobj 890 0 obj << /D [3128 0 R /XYZ 99.895 717.021 null] >> endobj 894 0 obj << /D [3128 0 R /XYZ 99.895 665.871 null] >> endobj 3115 0 obj << /D [3128 0 R /XYZ 99.895 640.908 null] >> endobj 898 0 obj << /D [3128 0 R /XYZ 99.895 640.908 null] >> endobj 3116 0 obj << /D [3128 0 R /XYZ 99.895 614.593 null] >> endobj 902 0 obj << /D [3128 0 R /XYZ 99.895 614.593 null] >> endobj 3117 0 obj << /D [3128 0 R /XYZ 99.895 589.796 null] >> endobj 906 0 obj << /D [3128 0 R /XYZ 99.895 589.796 null] >> endobj 3114 0 obj << /D [3128 0 R /XYZ 99.895 565.276 null] >> endobj 910 0 obj << /D [3128 0 R /XYZ 99.895 565.276 null] >> endobj 3118 0 obj << /D [3128 0 R /XYZ 99.895 540.618 null] >> endobj 914 0 obj << /D [3128 0 R /XYZ 99.895 540.618 null] >> endobj 2071 0 obj << /D [3128 0 R /XYZ 99.895 470.644 null] >> endobj 918 0 obj << /D [3128 0 R /XYZ 99.895 460.254 null] >> endobj 3131 0 obj << /D [3128 0 R /XYZ 99.895 367.918 null] >> endobj 922 0 obj << /D [3128 0 R /XYZ 99.895 286.827 null] >> endobj 3132 0 obj << /D [3128 0 R /XYZ 99.895 261.972 null] >> endobj 926 0 obj << /D [3128 0 R /XYZ 99.895 261.972 null] >> endobj 3133 0 obj << /D [3128 0 R /XYZ 99.895 237.347 null] >> endobj 930 0 obj << /D [3128 0 R /XYZ 99.895 237.347 null] >> endobj 3134 0 obj << /D [3128 0 R /XYZ 99.895 210.998 null] >> endobj 934 0 obj << /D [3128 0 R /XYZ 99.895 210.998 null] >> endobj 3135 0 obj << /D [3128 0 R /XYZ 99.895 186.201 null] >> endobj 938 0 obj << /D [3128 0 R /XYZ 99.895 186.201 null] >> endobj 3136 0 obj << /D [3128 0 R /XYZ 99.895 161.681 null] >> endobj 942 0 obj << /D [3128 0 R /XYZ 99.895 161.681 null] >> endobj 3127 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F14 1998 0 R /F75 2451 0 R /F11 2953 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3147 0 obj << /Length 920 /Filter /FlateDecode >> stream xÚĹVMʤ6˝ó+,ĺďr|W‰˙©köE·o´ýĽßű­®»Ľ+wuđ%űŕý’yz Ăa#·1M8#ĹÖ{řdŤ?? Qš×~ë–DqD3†ůäýćĂ cĚĆĄ˘qʉEA$ó#ç˘Çq´7@šŤCôq呇P鯲կŮň+(Yěă©Ú€ ź>OÍ)ćŐˇGÖ@Đ?DÎx^łĐXbŃ™ŐůVźÄ‹GT ˇ)Á˙?yUćí-ŮeŚeÝť‰ŽL绺Ëơ/č“á6:®†*×—ý_9JŰw¸0~9Φ żůZ•mw]BŚA·ű#@t}U2ĆMáŠyÜF2(s˘qŻ»Ľ¬ôÚvÉ˝n‹¦|9čë™1ÂS)Rëđs …§?·QDYéöîçÝľîtÓŢĐĽp!wűÎuđŢ]hx7{?0P žîÁ(@2ď‘Ůe†×î† N‚ô,ű’],N´Ę%ȡŔţŚâ)Ďř@Ś+ĺžXR¤ń*ŰQňDC]„e˝ź˘3ú7PÍ›ďf,S†â˙4µď…úöĚN9wk/ë÷Ś-;¨ö¦súŃ7Çy€¨úb?‡ÎďSöěĆ®ő¤ëúĄ§ ×ŘŹîąlíŰXüú…W3ääîďF׺1Řň®×ă§Ům'z캪vĆôµ¬7vSÄ+˝JîáŞĆ»&˙h&CШÇgĆ2÷<9m2H(‡ô[¦Ía"–”+÷·1Şź™„S‰·˛›9V†®#UőY‚żwdýřârŔc÷ĆíOś¬ňcÂzĎe1řKŔoňBŹţĺݰő Oř`vˇW÷·a7ąúëmcĘv~1!Y%ÔËŽ endstream endobj 3146 0 obj << /Type /Page /Contents 3147 0 R /Resources 3145 0 R /MediaBox [0 0 595.276 841.89] /Parent 3137 0 R /Annots [ 3126 0 R 3138 0 R 3139 0 R 3140 0 R 3141 0 R 3142 0 R 3143 0 R 3144 0 R ] >> endobj 3126 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 704.986 254.336 714.649] /A << /S /GoTo /D (GTGOTF__Structs_8h) >> >> endobj 3138 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [202.021 579.702 226.438 588.186] /A << /S /GoTo /D (structVariableType_a2e98ef3f43fc7bb3b5f35c608e465626) >> >> endobj 3139 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [202.021 566.751 222.448 575.235] /A << /S /GoTo /D (structVariableType_a1f40c8f260ce4672bdcbaadc59282c42) >> >> endobj 3140 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.576 552.015 224.371 562.284] /A << /S /GoTo /D (structVariableType_a5183bdba4b0391794706ba8a81f96be7) >> >> endobj 3141 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.576 540.848 195.544 549.332] /A << /S /GoTo /D (structVariableType_ad770137e0e1b6071aebe2df4fd23a975) >> >> endobj 3142 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [199.165 526.005 229.562 536.381] /A << /S /GoTo /D (structgtg__list) >> >> endobj 3143 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [230.062 526.005 253.806 536.381] /A << /S /GoTo /D (structVariableType_a2dc230e2da906c4f1d4fc4fcab2f365a) >> >> endobj 3144 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 259.006 254.336 268.669] /A << /S /GoTo /D (GTGOTF__Structs_8h) >> >> endobj 3148 0 obj << /D [3146 0 R /XYZ 149.705 747.976 null] >> endobj 2072 0 obj << /D [3146 0 R /XYZ 150.705 698.012 null] >> endobj 946 0 obj << /D [3146 0 R /XYZ 150.705 689.569 null] >> endobj 3149 0 obj << /D [3146 0 R /XYZ 150.705 596.634 null] >> endobj 950 0 obj << /D [3146 0 R /XYZ 150.705 511.761 null] >> endobj 954 0 obj << /D [3146 0 R /XYZ 150.705 454.056 null] >> endobj 3150 0 obj << /D [3146 0 R /XYZ 150.705 427.39 null] >> endobj 958 0 obj << /D [3146 0 R /XYZ 150.705 427.39 null] >> endobj 3151 0 obj << /D [3146 0 R /XYZ 150.705 401.075 null] >> endobj 962 0 obj << /D [3146 0 R /XYZ 150.705 401.075 null] >> endobj 3152 0 obj << /D [3146 0 R /XYZ 150.705 376.416 null] >> endobj 966 0 obj << /D [3146 0 R /XYZ 150.705 376.416 null] >> endobj 3153 0 obj << /D [3146 0 R /XYZ 150.705 351.758 null] >> endobj 970 0 obj << /D [3146 0 R /XYZ 150.705 351.758 null] >> endobj 3154 0 obj << /D [3146 0 R /XYZ 150.705 327.099 null] >> endobj 974 0 obj << /D [3146 0 R /XYZ 150.705 327.099 null] >> endobj 3145 0 obj << /Font << /F46 1592 0 R /F20 1558 0 R /F45 1590 0 R /F75 2451 0 R /F11 2953 0 R /F14 1998 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3164 0 obj << /Length 908 /Filter /FlateDecode >> stream xÚµVÁnŰ8˝ű+„ö"ÄII‹E‘6© ¤Ý|k-Ó6[Y2(9Řôëw(RN•ĘqĽŰžH‰3ŹŹ3Ź3ÄÁ:ŔÁl‚űQn§vMŢĚ'SĆ’!ž ĚWAžŁ,ç  ‘óeđ)ĽÚČ]«LSš…iô÷üćNB)JpF-bÎłÖŞK圯ëbżUU+[]W#@ă4GŠrB¸‡ bC·ÓĂž·jĄˇ2Ş*”ŰŇor1Ą8ČP.DâQi†u¦*{dÂC]Pš…%—]`ŢÖnÔUQî—*3dÁ/¦)rŔ¤Âc’ 8E‡ů˛7ď, ůÁ’'(Íspč ˙ÁJQĘHoĐ´K]µpŘź‘XŠ đŢîŐ%‡­śb|!śßďT6/˘8K“‘őŘbÂÁ(ď(Ç„ śű^Őem:_ĘńďŮč®Á()úŘ% eY~Čň!Ďת•ߥ•j Łw’:ž_˘f˙'żO)ôa«ŁÓ–ý%xQîŰMm"BÂf6ή%ÜFL=̵ŠŢE”‡Ş¬w;eÇTĺ&téÁ>/^ÍÓńvơ¬ŠZ{źŰ˝÷‰=«/| úŮ»É#íČĎA:+ăŔŮ«ËR.ŚF+óT bç>PĚ8łyD(öż7ŇůţL¦)F”‹ÇT[x÷Ďcë!toęMUY9x>7đ”ßíĄ˙97š %Éá®~•ßâRUŤŇfoe»U…<R‡1 ů.b8tBŃ•ătUďËz»8—`†HÂz‚ßŔˇÂ!]®·pákű4=‡0 ÷—l7Zí—i…BÚ(:Q›őąšL!ů!Š+yg1ž™aç:¸*K}§ű:đ^®­ť›ćljqŘĘS+ĺÚXS)~şűĹ9Fi#}u¤=ĐŮ_Ő= /}ąqĂ⇕ Ţ++:Y¨a]wµÖ†°íWÜgoŘ«´“€ôeąŢű˝:ĐÚf„‡˛ćT·eżˇŰ–zńßş-ĹHđä§n{„Sv'Ł«őqNä$)zü ŕ[<…zŤ)ŢŹS-ţđ|x~‹ĎúŢöcZ©ç5GRpeCŻő˙L)řźŕ!*—˄ÜŻŰ+kÖ›Üv–VjŔ˙ËôýëŮ—?Ľ} e đ(··óÉżÓE˝ď endstream endobj 3163 0 obj << /Type /Page /Contents 3164 0 R /Resources 3162 0 R /MediaBox [0 0 595.276 841.89] /Parent 3137 0 R /Annots [ 3155 0 R 3156 0 R 3157 0 R 3158 0 R 3159 0 R 3160 0 R 3161 0 R ] >> endobj 3155 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [177.138 335.805 304.66 344.34] /Subtype/Link/A<> >> endobj 3156 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [187.163 322.117 332.617 332.385] /Subtype/Link/A<> >> endobj 3157 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [180.68 310.161 332.112 320.43] /Subtype/Link/A<> >> endobj 3158 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [184.482 298.559 323.959 308.681] /Subtype/Link/A<> >> endobj 3159 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [190.74 286.143 288.374 296.519] /Subtype/Link/A<> >> endobj 3160 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [188.911 274.188 352.298 284.77] /Subtype/Link/A<> >> endobj 3161 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [155.708 119.182 236.424 128.846] /A << /S /GoTo /D (GTGBasic_8h_a11cc5cb8a0a6aa561574afb10860dfed) >> >> endobj 3165 0 obj << /D [3163 0 R /XYZ 98.895 747.976 null] >> endobj 978 0 obj << /D [3163 0 R /XYZ 99.895 717.021 null] >> endobj 2000 0 obj << /D [3163 0 R /XYZ 99.895 531.113 null] >> endobj 982 0 obj << /D [3163 0 R /XYZ 99.895 531.113 null] >> endobj 986 0 obj << /D [3163 0 R /XYZ 99.895 434.148 null] >> endobj 2109 0 obj << /D [3163 0 R /XYZ 99.895 265.202 null] >> endobj 990 0 obj << /D [3163 0 R /XYZ 99.895 258.74 null] >> endobj 3166 0 obj << /D [3163 0 R /XYZ 99.895 137.101 null] >> endobj 3162 0 obj << /Font << /F45 1590 0 R /F20 1558 0 R /F75 2451 0 R /F11 2953 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3204 0 obj << /Length 1409 /Filter /FlateDecode >> stream xÚŐYMs›H˝ëWPµ¨˛đĚđť›âH*§;kă˝Ř)‘Lˇx˝[űß·gAŚdŻ“śřśéž×Ż_÷Rć R¦÷ţŕxbÚŠ«{¶m(ţLÁŇd)Žáę6r?R®U›hCâx¦ˇNℲsWý…ëM‹ łTűęŚýÁź ó"oÍcę.ÁJ¸\EJ?*H7ťXĚ=v`š–‚AP,Ďć(žŽ\80m1K}ÍtŐÇ%ŤčlŐ±ĚZ$° Ňáđ€xćî8ĺ´"Kâ´¬ÝŰbwTćĹü¶” ęÍvYëĂÝ$Ż$ô@. ćßč‘«ăUłąMY˛¬» p6)ĺk2&hŇáÓqM(włD†x›&ăTsŔašsŇľ6Súŕá>‡‡xëźÝ ~}7†©G»íţqęď;äÜźě9Â]µ­ćßCĄÇŻ„™áTÓŚJ†@M–RP*p·´¸żX"áÖix? o7A¸ fq´Ă-Jjô"Ę ˛Pç|*«çňHňžŔd/čDŠf1}łçBő…jĹ“kÖłBŇ©â”á·g0^‚á´†˝y˙ rŢ9»<Á¦âÁ„' UX¬e/Cťë``Ă¶Ł›Ž)‡¸gÁ˘FVh«ţőâľ/ŞClčÄ á1őpţ㔹ю1+¨rĎ# ę<.Ű™úÝMWE'™t~&¤DăŞ=ŰîBE_žĺ«×Ťn§ľ4ŘĎĽuUGŕ(_XPĐč˙ ÷É ™é{Ń…3ĆR€-oŘôoČ{벗›m_ßD;nsZ¬™§–š˛ ]O‰Ó¸!ć]ȆPodoמuŘôtŚĚfÚ5 €»Ű© ôĺüŽÉ=Ť°Sş”ŢŘËVŢłg«=2ëŽ×HŃS*’řoć(­mşŐ6ű­MÓ¨_¬É",z“8ýĹQ‚öć$[,sĐľgµżĚńä%Ş3N.(Is‡/rM¸Ría™ý,•_E6´ô"NęŐÄśuĘŤĚéźVšěŞNu÷3¶S&¸ě&Ű…ćz/a+©I¶§VF:Ő϶u×v÷±ÖV·Ź­!1l¸0!4X÷,«żM&µ}Ů j.UP$÷(Š$ív*2‹[§4oK Ú’ß^ú°ĎÄŚ}—TďnúÁKŰôËNúyşAŚÔ ­ô37”č6ô#Ł/Ą_/[@?G7\ăgĄÜ/J=Ě…o,?HvÓ×Ű2ÜÝ–9H'˝”©ť~PE*#^'ý,Ý6ń>6Zé×˧źc˝ýZ a%Jô?†äß*HD¤™•{Ăä©<¶Ł¦ÜA§ěëžü*«şŻy°§•{´U›â0)Ď0zGĽw„ČO6%žĎ‡r>ÚĽŞ‹V嫌8SʡŘliĺŻ3Ö8üő8׆l”6Áú3łxS endstream endobj 3203 0 obj << /Type /Page /Contents 3204 0 R /Resources 3202 0 R /MediaBox [0 0 595.276 841.89] /Parent 3137 0 R /Annots [ 3168 0 R 3169 0 R 3170 0 R 3171 0 R 3172 0 R 3173 0 R 3174 0 R 3175 0 R 3176 0 R 3177 0 R 3178 0 R 3179 0 R 3180 0 R 3181 0 R 3182 0 R 3183 0 R 3184 0 R 3185 0 R 3186 0 R 3187 0 R 3188 0 R 3189 0 R 3190 0 R 3191 0 R 3192 0 R 3193 0 R 3194 0 R 3195 0 R 3196 0 R 3197 0 R 3198 0 R 3199 0 R ] >> endobj 3168 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [206.517 692.069 300.691 701.732] /A << /S /GoTo /D (GTGBasic_8h_a1369d4a2afed9e84bc1dbabb4a8d1ec9) >> >> endobj 3169 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [206.517 664.243 298.19 673.906] /A << /S /GoTo /D (GTGBasic_8h_a0e1d2e55af61e5807593219b85f90405) >> >> endobj 3170 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [206.517 636.417 325.088 646.08] /A << /S /GoTo /D (GTGBasic_8h_a4fc44f784cd14c145415352bba3486cf) >> >> endobj 3171 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [235.926 562.825 277.298 573.407] /A << /S /GoTo /D (GTGBasic_8h_a7a5d407dd23dfced8b5937332ff80972) >> >> endobj 3172 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [231.344 535.107 272.035 545.581] /A << /S /GoTo /D (group__traceType_gabfcf61a4d79aa427ef510070fce86311) >> >> endobj 3173 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [272.535 535.107 320.704 545.581] /A << /S /GoTo /D (GTGBasic_8h_a3380a5e49e7f7e2ff3ea18f893527811) >> >> endobj 3174 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [199.443 477.343 240.133 487.817] /A << /S /GoTo /D (group__traceType_gabfcf61a4d79aa427ef510070fce86311) >> >> endobj 3175 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [246.121 477.343 270.538 487.817] /A << /S /GoTo /D (group__traceType_gabfcf61a4d79aa427ef510070fce86311a464fcf408aa7f29de9e7828dfbc39147) >> >> endobj 3176 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [273.53 477.343 295.455 487.817] /A << /S /GoTo /D (group__traceType_gabfcf61a4d79aa427ef510070fce86311aac864727fa7382dc8f3414f1667a78b5) >> >> endobj 3177 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [298.447 477.343 318.372 487.817] /A << /S /GoTo /D (group__traceType_gabfcf61a4d79aa427ef510070fce86311a836fd85172c09b9aebf8e9712b9aae73) >> >> endobj 3178 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [321.365 477.343 341.29 487.817] /A << /S /GoTo /D (group__traceType_gabfcf61a4d79aa427ef510070fce86311a4b124dad7992814397ae48d321af66b5) >> >> endobj 3179 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [193.328 404.669 247.889 415.144] /A << /S /GoTo /D (group__traceType_gaa32bf7549cb819ce354ac583de6e6bbf) >> >> endobj 3180 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [251.375 404.669 299.544 415.144] /A << /S /GoTo /D (GTGBasic_8h_a3380a5e49e7f7e2ff3ea18f893527811) >> >> endobj 3181 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 376.736 222.784 387.318] /A << /S /GoTo /D (GTGBasic_8h_a3380a5e49e7f7e2ff3ea18f893527811) >> >> endobj 3182 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [223.284 376.736 278.347 387.318] /A << /S /GoTo /D (group__traceType_gaf4e365b772f0244b5f40f7a8c21dbeda) >> >> endobj 3183 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [202.021 348.91 240.389 359.492] /A << /S /GoTo /D (group__traceType_gaffe242018ef0fb40a515c24a957f6ba9) >> >> endobj 3184 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.576 321.192 280.096 331.666] /A << /S /GoTo /D (group__traceType_ga577af8ffa49fee14264099998e3d88e8) >> >> endobj 3185 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 293.258 232.557 303.84] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3186 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.057 293.258 268.26 303.84] /A << /S /GoTo /D (group__init_ga6900cde464f9833ad682d680a2a78203) >> >> endobj 3187 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [393.611 293.258 434.983 303.84] /A << /S /GoTo /D (GTGBasic_8h_a7a5d407dd23dfced8b5937332ff80972) >> >> endobj 3188 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 265.54 232.557 276.015] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3189 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.057 265.54 271.757 276.015] /A << /S /GoTo /D (group__init_gabe4753689dfd8508c336b3898b0df471) >> >> endobj 3190 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 237.714 232.557 248.189] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3191 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.057 237.714 287.86 248.189] /A << /S /GoTo /D (group__init_ga9219b49891d7bfce610daf60c5a02cae) >> >> endobj 3192 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 209.888 232.557 220.363] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3193 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.96 209.888 287.701 220.363] /A << /S /GoTo /D (group__procf_gad5822f320aedc792dc9a4c3a7c1f8751) >> >> endobj 3194 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.117 183.213 249.092 192.839] /A << /S /GoTo /D (structContainer) >> >> endobj 3195 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 170.107 232.557 180.582] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3196 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.727 170.107 289.468 180.582] /A << /S /GoTo /D (group__statef_gad5c4b3bad6aa9c83a9e8562664fe626a) >> >> endobj 3197 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.117 143.432 232.952 153.058] /A << /S /GoTo /D (structState) >> >> endobj 3198 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 130.326 232.557 140.801] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3199 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.522 130.326 291.029 140.801] /A << /S /GoTo /D (group__eventf_gae35aeab2cfbacf978c03ea8f0811b82e) >> >> endobj 3205 0 obj << /D [3203 0 R /XYZ 149.705 747.976 null] >> endobj 3206 0 obj << /D [3203 0 R /XYZ 150.705 579.457 null] >> endobj 3207 0 obj << /D [3203 0 R /XYZ 150.705 496.024 null] >> endobj 3208 0 obj << /D [3203 0 R /XYZ 150.705 423.351 null] >> endobj 3202 0 obj << /Font << /F46 1592 0 R /F67 2143 0 R /F20 1558 0 R /F45 1590 0 R /F14 1998 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3273 0 obj << /Length 1672 /Filter /FlateDecode >> stream xÚíZ[“Ú6~çWřŃžÉ*ş_ň–4»ĚdúĐf™Ľl2Ľ»LŔlŤi»˙ľG¶|ĚÚ†Úé ,éÓ‘ľs•°÷ŕaoŚ®'Ł?Fđ°GŞń9Ň”xÓĺčî öfđî‡3Úű+kąôgHŰoáÝŽ~a7çíďL©@,Ť˛2ĽQ‚ÂBçBĽťÍň©†qţ}ýg@…ĹiţsŠýç§( ÂGŮÄ „×7×–¤CÔ0ďŠ0ĸȇ˙L©htĘĹMśÜÇ#ďîJ駉]©p}M˘t“şđăŻéËťąŕ~8›ý:ŹżW“­÷ĘÚ˙3xşŠ× í2} Űěő áž)¨ĚIQĵ]Ţ|ţłĽUCVŽLŐ&\Ěõ]žW0˛1ţË €A5ë€A‹6q¸ŚzA\Q.3Ş^‚ŚÝűÓĆ®żĘ™ŕ0łÇýš#=–nťL g4âÜôYĹY´NxŔ ˛Ĺ°‚Ű Őą"´ŽÚŐ1µ­;nŚ=ě´Ż-5·yŚnńóé–!V·> ş'íęÍęę?[Ő #©xźM««—ŕĽäľˇ­ę‹$jW7Đ.´ÔGjWWúD Ć=·utöçá·€Ń)Éx>CO™°dĽŽÓyúśËµŘěʦž2ŮÎEŽ0WCM=­b1[@¤DXőr'Ń{Ř šeNVô?HĄ‡ôáëtµX%[›ĺ^?ĺ/OÂé"ɶ:¨ŮnřĄKĆĄĺ§u0á<Ž’íEb\eĚl]e? ˝Âä·$šîëśÎK3ĹdÉ ŰÂJ5D µ¶ ŐĘpŘINű0<-™ a» řMÖľěü! Ö‚÷Ať–ű"pŹF v~3éˇ"ÔôÚĐE÷ŕ…b‚0č@Úč|ˇÉ€TY”—¬´UąÔĂuŃv®é"hX2ČÖ]¦Ü ®zy›zXŇ # ú–¤ÇE#ď«%?©ÎhŘ)ń×Qz›†éN¸Á(=¨CçşQg´´·´5ö¤X"˘ĺ0 ¬Â ˘C{ů k]Ăç¦B,f:çŁtM[Â1xd˝üHľ˛‹îIFŠ;âşąÜFÎ6§ŹŃaĘîÝ}űbu˙´Ł”˙ił~Ü/5ĽĚyŰąĆyj ç"9nçĽA´Ózđ\!vă9äĄză«áăR™Ż­‡3—ŔxgŞoC›ćEľŠúy|˛I[ř¨qˇŮ×: §é{ŇĎĘ (~Ϋtń˙%®&K¤VO 7ĚyżčĂ5O5–nÁ©ő6Š t6Ý ¤@Rľˇ|÷čWb„ES >F6VÉ•v ĎĎv9ú*cž®ó‡§$źč|µq˙8 °ąŕ2ŤĘj†Ő9ÂŽ ô“&‡YE0ŇÎaŤĚá.Ŕa®u_7†/Ý7—ë=ÚŹ‹.3rÇĘ:"§âűęđ aQmçzü^%iöÍ!‹ĘÍĐř˝Äď‚t¬†/éHČ ß×É´źźŔŕ'z%жĐÇ )-čS°ęUłún#¨Č~Y- ŤĎ[3}kď],—‘-ő¦mUÓ—ă8{=MážžŘÂv/G«Ózóe˝ZşŤËĹqÓťÇő۸ĹBN2{`×Cî»_L°F›>÷‹‹»Đ`‚•äµ»ĐF",Ü.ŹŁ8JÂ4rR¬ĘéěL|ű”ä”»oLÜj‚ßPó†ş_÷–{+×8y>-ĆÓ })ąC-šÚ-OĆŮNdd$vŇďłÓéżź€ŕxÇŰKőĽ'Ë{ endstream endobj 3272 0 obj << /Type /Page /Contents 3273 0 R /Resources 3271 0 R /MediaBox [0 0 595.276 841.89] /Parent 3137 0 R /Annots [ 3200 0 R 3201 0 R 3212 0 R 3213 0 R 3214 0 R 3215 0 R 3216 0 R 3217 0 R 3218 0 R 3219 0 R 3220 0 R 3221 0 R 3222 0 R 3223 0 R 3224 0 R 3225 0 R 3226 0 R 3227 0 R 3228 0 R 3229 0 R 3230 0 R 3231 0 R 3232 0 R 3233 0 R 3234 0 R 3235 0 R 3236 0 R 3237 0 R 3238 0 R 3239 0 R 3240 0 R 3241 0 R 3242 0 R 3243 0 R 3244 0 R 3245 0 R 3246 0 R 3247 0 R 3248 0 R 3249 0 R 3250 0 R 3251 0 R 3252 0 R 3253 0 R 3254 0 R 3255 0 R 3256 0 R 3257 0 R 3258 0 R 3259 0 R 3260 0 R 3261 0 R 3262 0 R 3263 0 R 3264 0 R 3265 0 R 3266 0 R 3267 0 R 3268 0 R 3269 0 R 3270 0 R ] >> endobj 3200 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 690.83 181.747 701.304] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3201 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [183.83 690.83 236.078 701.304] /A << /S /GoTo /D (group__linkf_gab4b69cdd6b0fc990a2d99835c4bd3c89) >> >> endobj 3212 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [161.308 663.726 178.1 673.167] /A << /S /GoTo /D (structLink) >> >> endobj 3213 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 650.193 181.747 660.668] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3214 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [184.159 650.193 233.287 660.668] /A << /S /GoTo /D (group__varf_ga7c621d853b9d0058a065db58cdb94ec8) >> >> endobj 3215 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [161.308 623.09 192.294 632.531] /A << /S /GoTo /D (structVariable) >> >> endobj 3216 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 609.557 181.747 620.031] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3217 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [181.866 609.557 243.537 620.031] /A << /S /GoTo /D (group__init_gaa732419a54e774f325188e1b1f8ac36d) >> >> endobj 3218 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [156.062 597.494 202.411 608.076] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3219 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 568.92 181.747 579.395] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3220 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.864 568.92 238.68 579.395] /A << /S /GoTo /D (group__procf_gaef7a79f315b4e35480c27a1ae479827d) >> >> endobj 3221 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [242.783 568.92 275.44 579.395] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3222 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [161.308 543.35 198.282 551.443] /A << /S /GoTo /D (structContainer) >> >> endobj 3223 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 528.284 181.747 538.758] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3224 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [183.949 528.284 253.942 538.758] /A << /S /GoTo /D (group__procf_gae4eb01314299c2dcf82fd1b3faaf8ffa) >> >> endobj 3225 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [259.13 528.284 291.787 538.758] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3226 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.51 501.18 211.484 510.807] /A << /S /GoTo /D (structContainer) >> >> endobj 3227 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 487.647 181.747 498.122] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3228 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.639 487.647 217.529 498.122] /A << /S /GoTo /D (group__statef_ga7d0ee8cd70600ebfe5173c6385f6f35f) >> >> endobj 3229 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.407 487.647 254.064 498.122] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3230 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [165.795 462.077 186.629 470.17] /A << /S /GoTo /D (structState) >> >> endobj 3231 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [202.583 462.077 239.558 470.17] /A << /S /GoTo /D (structContainer) >> >> endobj 3232 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 447.011 181.747 457.485] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3233 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [181.9 447.011 224.268 457.485] /A << /S /GoTo /D (group__statef_ga4ecba7c24b51e26839795ae837339af0) >> >> endobj 3234 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [227.406 447.011 260.063 457.485] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3235 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [199.066 419.81 219.9 429.534] /A << /S /GoTo /D (structState) >> >> endobj 3236 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [316.889 419.81 337.724 429.534] /A << /S /GoTo /D (structState) >> >> endobj 3237 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [353.678 419.81 390.652 429.534] /A << /S /GoTo /D (structContainer) >> >> endobj 3238 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 406.374 181.747 416.849] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3239 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.247 406.374 220.131 416.849] /A << /S /GoTo /D (group__statef_ga303c63c84b39511c9cf9d27c2dbea79e) >> >> endobj 3240 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [223.617 406.374 256.274 416.849] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3241 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [177.326 391.226 198.161 400.852] /A << /S /GoTo /D (structState) >> >> endobj 3242 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [214.115 391.226 251.089 400.852] /A << /S /GoTo /D (structContainer) >> >> endobj 3243 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 377.693 181.747 388.167] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3244 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.189 377.693 221.84 388.167] /A << /S /GoTo /D (group__eventf_gaecd7c28a19831d32ef05f5af0469b434) >> >> endobj 3245 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [225.268 377.693 257.925 388.167] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3246 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 337.056 181.747 347.531] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3247 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.514 337.056 218.749 347.531] /A << /S /GoTo /D (group__linkf_ga75cf70450e81381decb2e84c3e6e18bd) >> >> endobj 3248 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [222.501 337.056 255.158 347.531] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3249 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.318 311.486 181.11 319.579] /A << /S /GoTo /D (structLink) >> >> endobj 3250 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 296.42 181.747 306.894] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3251 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.779 296.42 216.171 306.894] /A << /S /GoTo /D (group__linkf_ga9e084fd160fd4f7357f6acf4eb541606) >> >> endobj 3252 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [220.188 296.42 252.845 306.894] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3253 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [161.308 270.922 178.1 278.757] /A << /S /GoTo /D (structLink) >> >> endobj 3254 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 255.783 181.747 266.258] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3255 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.488 255.783 209.766 266.258] /A << /S /GoTo /D (group__varf_gac897f3ccddc88ce6bd46ca6594cc5605) >> >> endobj 3256 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [213.493 255.783 246.15 266.258] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3257 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [411.946 255.783 444.603 266.258] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3258 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [159.065 230.213 190.051 238.306] /A << /S /GoTo /D (structVariable) >> >> endobj 3259 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 215.146 181.747 225.621] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3260 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.204 215.146 212.476 225.621] /A << /S /GoTo /D (group__varf_ga305787a5e14f17a2a0961be702c4ff25) >> >> endobj 3261 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [215.919 215.146 248.576 225.621] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3262 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [411.946 215.146 444.603 225.621] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3263 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [198.339 189.649 229.326 197.484] /A << /S /GoTo /D (structVariable) >> >> endobj 3264 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 174.51 181.747 184.985] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3265 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.257 174.51 212.026 184.985] /A << /S /GoTo /D (group__varf_ga573290384c5fe8b600fc999473117067) >> >> endobj 3266 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [215.522 174.51 248.179 184.985] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3267 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [411.946 174.51 444.603 184.985] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3268 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [227.398 148.94 258.384 157.033] /A << /S /GoTo /D (structVariable) >> >> endobj 3269 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 133.873 181.747 144.348] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3270 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.247 133.873 239.05 144.348] /A << /S /GoTo /D (group__procf_ga463f260c133bb2471aad369b8d1319cb) >> >> endobj 3274 0 obj << /D [3272 0 R /XYZ 98.895 747.976 null] >> endobj 3271 0 obj << /Font << /F46 1592 0 R /F67 2143 0 R /F20 1558 0 R /F14 1998 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3283 0 obj << /Length 1335 /Filter /FlateDecode >> stream xÚ­XKWŰ8ŢçWřśŮŘ‹˝üb „SÚ nÚŽă(‰[ÇÎř…_?W–dl’ÂĚJ"’?}÷»]­……­óŃI4:pĎ PčyĚŠćq1ň±ků,@ö­hf}µ=rfOŇLČy`źIły×i‘;ߣ‹ŃY4úgD[¤‡ĂQ@‰•¬F_żck‹F, ¬‡vëĘbś!źČ3ëfô÷krQWNĺ`¨ş\7ô\±Ź°(®>˘8c‚1¶OEá0¦ŔXTI™®;ľćś Ĺ=°5¦…ľ¶ý<:?‰«4QV§•c5L{+y-ʹð'Z˘şPăBä˘t¬ÔfEýi6¦ąďęÚq ě];-}V ZŔݰ¸ŠëĘU4°`¨T+Ół=cŚBĐkL=DŚQ_ŽmɉŘŐK9~# çÜĂ)S0”~;Ŕ\D!"Z„c‡r»©—…â˛7Ş`N…Ô¨•OdĹZ”ĆMĄVřP"KׂB×S_MîÚĘyR×^7ú›±fŁBú§ef‘ďZ!0˘mz†ˇ\kQçĄBCe#ޞxZ¦h^î ¸±ţ^qswq‹B±ţyK›÷äęcwk]ŢăŰčjÝ‹b™ç205ź xĆOň‘ţÚWOŽc†ăŹř ŽD^‰´śŽ!V"‰_ŐTa H~lŁľŤ“qMV¬¦ű aÜü)% éh±‚’­vÓSzźăz™ŠFq™8.(UTQ].öŤJ;çń˝ÄxŁ‡Ő§dąĘŇűT”ŠÄ§x!cPbUíMŤ"×ë¨eń˘” űş8Äõ1¦pS)¤µ3fŘ˸R“©ąśa(±iťBýť©…4W#Ĺë­RëGyŕÁ„đYB]ÄĽ.eľaĚÔ®¸1‚®§çż HCÄyĎGžš=q>ŰF ö¸l^_ŇčlP8ۇϺ,~¤Ö"×ËXë>-ꥒ;b¦—c5,Š˘5üÄ1€ ‚?K§J˛Rn7eä 7h˙:ÜĽ~zÝćÁŐŃëh×'€Ő4şOŘčlŢtż™ľÁëáwťČ3sD+í ĺrCDY§-ôw“OÇçw—W—ÚYcuµďĚÂĺÝφ ÍĄÖT:ҸťWk‘¤’ ýVĘĄĐŐqă:e)ý/–F'·“-¶† QÜŮJwŰęRpî [']ëF>čĆŞNsmv˝ÜڦAC¦ŰĽĽČÇm}hćm3&ʶ§„•U1;đŐŘűU»şŤ®&W×§g×[”#Ó^—÷|·r~€Ă÷8Ë iŘĂ Ąâő:K•-ER”Z•^7–×ZҢ©őd®Çr9 ·Ü{µăď×îöćěîó_¶…4§„šČ+!'9‘aČÝôŚWQ•){ĺyíŞ'Z%^ö¨IS– W¦k_Suq Ľ÷©pţłJ&ľ"‡öăZĚÄü)rý#ş"W÷hŕAlľ a IÖÜ“wÎŽW!E^Ř= Íăď™eÁ%&q`ŞŘÔ[<vî\Ô‹»¶ěIż,îęťŢ ŔNęłb˝Je2"ÖťÄ:¦bŁšsäŮŹúĚ­Of‚({á>OfóŽ1|Ź+}xű~=xsţňU=P›€ąyT„PŮ4÷ăµ®–”ëŞfŇđRó*ĄĎĄµE6/áČ  5ě·úTłőv1čŃŞ©ĆK˙SA&ĎŻÇ…Ś((/Ĺú˛Í÷W endstream endobj 3282 0 obj << /Type /Page /Contents 3283 0 R /Resources 3281 0 R /MediaBox [0 0 595.276 841.89] /Parent 3137 0 R /Annots [ 3275 0 R 3276 0 R 3277 0 R 3278 0 R 3279 0 R 3280 0 R ] >> endobj 3275 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [227.948 571.532 355.469 580.067] /Subtype/Link/A<> >> endobj 3276 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [237.972 557.844 383.427 568.112] /Subtype/Link/A<> >> endobj 3277 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [231.49 545.888 382.922 556.157] /Subtype/Link/A<> >> endobj 3278 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [235.291 534.286 374.768 544.408] /Subtype/Link/A<> >> endobj 3279 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [241.549 521.87 339.183 532.246] /Subtype/Link/A<> >> endobj 3280 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [239.72 509.915 403.108 520.497] /Subtype/Link/A<> >> endobj 3284 0 obj << /D [3282 0 R /XYZ 149.705 747.976 null] >> endobj 994 0 obj << /D [3282 0 R /XYZ 150.705 717.021 null] >> endobj 998 0 obj << /D [3282 0 R /XYZ 150.705 453.525 null] >> endobj 3167 0 obj << /D [3282 0 R /XYZ 150.705 428.443 null] >> endobj 1002 0 obj << /D [3282 0 R /XYZ 150.705 428.443 null] >> endobj 3210 0 obj << /D [3282 0 R /XYZ 150.705 383.955 null] >> endobj 1006 0 obj << /D [3282 0 R /XYZ 150.705 367.124 null] >> endobj 3211 0 obj << /D [3282 0 R /XYZ 150.705 324.524 null] >> endobj 1010 0 obj << /D [3282 0 R /XYZ 150.705 307.693 null] >> endobj 3209 0 obj << /D [3282 0 R /XYZ 150.705 265.2 null] >> endobj 1014 0 obj << /D [3282 0 R /XYZ 150.705 248.369 null] >> endobj 1018 0 obj << /D [3282 0 R /XYZ 150.705 188.83 null] >> endobj 2185 0 obj << /D [3282 0 R /XYZ 150.705 161.591 null] >> endobj 1022 0 obj << /D [3282 0 R /XYZ 150.705 161.591 null] >> endobj 2152 0 obj << /D [3282 0 R /XYZ 150.705 119.26 null] >> endobj 3281 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F75 2451 0 R /F14 1998 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3313 0 obj << /Length 1334 /Filter /FlateDecode >> stream xÚÝXŰnŰ8}÷Wč‹Ô,/˘(‹šÄ1Đí6YŰű”†bÓŽ[ęĘr·ůűŠ”,Éň-p°@ób†7ť9gf8$vćvúť«QçĂ­8!’AŔśŃĚ‘…’;‚…(ŔÂMťW ću©Ýţ¨ť,“Ô °‹žMßíb©Lk fÁ®JU<Ń]4ô™pďŰčs§7ęüÓ!đMěí7|RâLVť‡oŘ™ÂŘg#&Cçß|ćĘa>C‚čuKgŘů«-nŚ(×MýSXÁ[¬ŔaVPÄőşcěf/ßŐk®Š=ánViŽ Ę|řfľE–F5ŇÖĂjł´Ö5ÎrcŰQć E’®·îÚ˝» Ł€Şs€%×~h¸¦%×Ôp- Ş«ßüpKq?vş4D>1»ŹžkŁŐ#Ć´ĐmŞô±˛Cëde6k5Ű,M{˘±ŘYRŽ›Ć"6ż*ÎŮ‹i˙đ(wŁĺ¦Řvć1ě‚9…#!öழ4°h‰@ő Üw‹x˛ÜL•™ n°ťÉÁ/¤,tů­e/„OŠ ëlş3 qw'_€ó~7\¶č†‘ŕ2_ňHzuÁ}…ĎĚ›(‹Ś2Ă,ÝL˛M v×|ˇ]  ‰˘Sł×#ĄĽ¶Öyčr€Ŕá.lo‡u0ĄsU|˘fwžÍÇą^­¶HHp …F¨d`ťJÚô—Ę·Á´Vż‰*Žbýä9Ęlgd=äiëZSŰăQťş[S€I„Æ% łţ®0ó0ç}|}÷ĺn0ľúňwo|ď÷nŘÜOOÄőNíň€‚Ę Łčz˝Żc@qß#l…Á.ŚbĐ»ßߊV $x+.MEţü4üŁą›žö9Ć?qţ7›µ$ áÎCľÍ5¤Č7uź‚3,OЦ;tő íp_‚ťInsţÝ0:¶n˝‚ě¸F+0ď8`©ĎŘ |„„ěňˇż^˛!ÁJ߲ÁÍĚŻŕ0‡ ą€“úAĂIŰŘĐłNđŠńʞÇšlaĂHĹŢĂ‰Ź˛qImę+˛´.L9s~ö;Bć¶LŇIÎPFÇGOŕ`>NçOćjEgF{ Á9G  h9A>ż"Á ÉmťŽĂölÜ Q _”Ş—î `µ€Ň ü§®ćí&žd‹$ľ¸”ë,Ę“­’á1!Ť—ŤyŘöFy*kËă:Hön•“łĎě0Ľńg”)E Ćݸ(”¨HŠËüs”ÚJ¸VJ ˘oĺŤJŞˇ¶Źäöµ%ŽVJűÇűzî4©ŔFÇÎŔĽ­ó©ĺÂ@D1@ßFÔś;ŻHŮŔóŤěú|hǶ×S‚uń(Ďy=-^{DEŕWŢI%0ĹíŁ[_Ĺ*G° ;± bäIěůýÓw›¨o1ˇ6ŕŹT~¤´xôŁ•G?˝sqPŽĽďh˘*cQVLŐ4B^͉Řy%şIňz™ë—RývŰ ę?Ťřný endstream endobj 3312 0 obj << /Type /Page /Contents 3313 0 R /Resources 3311 0 R /MediaBox [0 0 595.276 841.89] /Parent 3319 0 R /Annots [ 3285 0 R 3286 0 R 3287 0 R 3288 0 R 3289 0 R 3290 0 R 3291 0 R 3292 0 R 3293 0 R 3294 0 R 3295 0 R 3296 0 R 3297 0 R 3298 0 R 3299 0 R 3300 0 R 3301 0 R 3302 0 R 3303 0 R 3304 0 R 3305 0 R 3306 0 R 3307 0 R 3308 0 R ] >> endobj 3285 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [148.355 569.802 187.226 580.178] /A << /S /GoTo /D (structgtg__color) >> >> endobj 3286 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [155.708 498.304 266.326 507.967] /A << /S /GoTo /D (GTGColor_8h_a3715b9f3d53d1b007ca3d5d54a633d94) >> >> endobj 3287 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [155.708 485.474 274.79 495.138] /A << /S /GoTo /D (GTGColor_8h_af6a468e04384d838ad12c6c370116289) >> >> endobj 3288 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [155.708 472.645 261.834 482.308] /A << /S /GoTo /D (GTGColor_8h_ad35ae9d4ff1aa5870328130b5483b599) >> >> endobj 3289 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [156.417 459.004 273.509 469.479] /A << /S /GoTo /D (GTGColor_8h_a5d84b5c74582785274cf76dff745a76b) >> >> endobj 3290 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [156.545 434.219 282.101 444.694] /A << /S /GoTo /D (GTGColor_8h_a344b7a65f28e75c218e3ffa38ba142cf) >> >> endobj 3291 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [155.424 409.435 268.024 419.909] /A << /S /GoTo /D (GTGColor_8h_aca9cbafaad4911f01c7d6e822e6da3a1) >> >> endobj 3292 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [190.102 351.732 254.391 362.314] /A << /S /GoTo /D (GTGColor_8h_a9fd3b22fc2eca7706659486c53aa1edd) >> >> endobj 3293 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [180.257 338.903 219.127 349.485] /A << /S /GoTo /D (structgtg__color) >> >> endobj 3294 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [227.101 338.903 273.449 349.485] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3295 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [176.634 281.308 286.751 291.89] /A << /S /GoTo /D (group__GTGColor_ga9e4cec241556fba74d243092ecb65ff3) >> >> endobj 3296 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [290.236 281.308 354.526 291.89] /A << /S /GoTo /D (GTGColor_8h_a9fd3b22fc2eca7706659486c53aa1edd) >> >> endobj 3297 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [176.634 253.656 295.215 264.239] /A << /S /GoTo /D (group__GTGColor_ga47cbb9a6cd672a1b0679a5472dacf0aa) >> >> endobj 3298 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [298.7 253.656 362.99 264.239] /A << /S /GoTo /D (GTGColor_8h_a9fd3b22fc2eca7706659486c53aa1edd) >> >> endobj 3299 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [176.634 226.005 282.259 236.587] /A << /S /GoTo /D (group__GTGColor_ga223e9945beaf02128c62c359a13381ac) >> >> endobj 3300 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [285.744 226.005 350.034 236.587] /A << /S /GoTo /D (GTGColor_8h_a9fd3b22fc2eca7706659486c53aa1edd) >> >> endobj 3301 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [148.065 198.353 212.355 208.936] /A << /S /GoTo /D (GTGColor_8h_a9fd3b22fc2eca7706659486c53aa1edd) >> >> endobj 3302 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [213.695 198.353 331.28 208.936] /A << /S /GoTo /D (group__GTGColor_ga0e3d8e413dcbd8f23dfeb5b26bf02ea0) >> >> endobj 3303 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [142.518 158.747 197.833 169.329] /A << /S /GoTo /D (GTGColor_8h_adf9335edbd36dc5bc6413264ef2c40c8) >> >> endobj 3304 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [142.518 145.917 200.056 156.5] /A << /S /GoTo /D (GTGColor_8h_a3f0b10fa33d77d2c68b3e7b81ac4fd67) >> >> endobj 3305 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 133.088 170.154 143.67] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3306 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [170.654 133.088 239.427 143.67] /A << /S /GoTo /D (GTGColor_8h_ab217caeb934798d280cb2077358986f9) >> >> endobj 3307 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [142.518 120.258 201.823 130.841] /A << /S /GoTo /D (GTGColor_8h_ad2b04b7eefd44537657daa8557c8d804) >> >> endobj 3308 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [205.308 120.258 251.657 130.841] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3314 0 obj << /D [3312 0 R /XYZ 98.895 747.976 null] >> endobj 1026 0 obj << /D [3312 0 R /XYZ 99.895 717.021 null] >> endobj 2110 0 obj << /D [3312 0 R /XYZ 99.895 698.137 null] >> endobj 1030 0 obj << /D [3312 0 R /XYZ 99.895 698.137 null] >> endobj 3315 0 obj << /D [3312 0 R /XYZ 99.895 588.412 null] >> endobj 3316 0 obj << /D [3312 0 R /XYZ 99.895 516.087 null] >> endobj 3317 0 obj << /D [3312 0 R /XYZ 99.895 368.277 null] >> endobj 3318 0 obj << /D [3312 0 R /XYZ 99.895 300.01 null] >> endobj 3311 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F75 2451 0 R /F11 2953 0 R /F67 2143 0 R /F14 1998 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3374 0 obj << /Length 886 /Filter /FlateDecode >> stream xÚŐ™QSŁ0Çßůy„‹I śązE¬íµ˘ŽŁŽ-b§´ôžç·żP ĹŽÎťvđ)Ű2›ŮÝ-´]áđXŐ• MS€ű˛ Đ*kPîÜš&µ°n¨Šx< ýÔ¦b'-gţ<ń’I4—îÜSÁr…_băB€Jă¨2ĹŚfÂÍcöđ@Y1(xYuťEUdĄ/†ŕ\ř)ŔÜ9(c’šiS¸JbăC{ă+ÔeHhć륤RŃ‹'ޤ‹ˇ˙Ľrm=dŢcXž´&ëT-Śe¨ălś[ŚÉÖ»éĽâ ź c ŕ¦E&Ip?ŠÂ(ľOţýÖuŃvíűvßüŢ{×·ŤŹšÎ|„šˇ§>2ß°ˇ€Re¨˘ĚÇŽ˙()Pô–a’}” C1ôFi3ÍţZy&(ĘRKQUńčŘmf ¬Ë·¬IźŔĚ^·«^e7·ĐµÖ~1vޱvŽŐáN.öÇUxaBľ1۱¬Aefřf„ çĎ무ÁĎ‘Ł{ŠÓ ‹;¸,L—>Źeüš¸â®Nş®Ĺ=J_ž&‰_/NßXM$çZfź;¸Ä÷B>QÚPjÓé±,wÍťÜŘ‹Ą"E9Ís^ŔŻU€Ň‚cÉh"Ďk«ß^qĎ|Ż)8? #‰!}áÉŤ¬ągÎYź \,Ůzd˙,ÂJ‰eŤŻ0”Fňëwí·í ŻÜ†“ŕ©(Ĺq¶+i¤ů)%«±4w’ K0ë&GĽ©7e«©őf'Úp«Ţ𔊴‘ ű¬;čq§¸Ě§|ös Ö;µČý§Ţ© ŃÍŞ+2#md$ź[f­@ţäłďŐáu‘F6;!öĚ^—;Ă©7ťTRŮë5WÚÁ4ô(«Ý;Üŕú<+[}Q4®YIŁ9îF'Ö‡_…S…Óĺ/s/©GŻŞzŮĽˇclţĹ‘bôĽyPó´ iŤ>—ţa^\ň—Đ3oů[ÂD¬¶A^ÚĘ îoG·ń\ÚŃŐ×Ń%áňÇwď ¤2†Ćgî ‹‹LMĆş¦®fި« LC“!Qł™ÚţÜŹ˝¤(ŤQž×]É€bˇĎĚEś»«z áBLaăçżÓÂĺťW#OFĹx”e>oä—žyIŃ5ĹĂľßŰCiżÜ‰ŇOńç5`Šţ|Ö_†Ş endstream endobj 3373 0 obj << /Type /Page /Contents 3374 0 R /Resources 3372 0 R /MediaBox [0 0 595.276 841.89] /Parent 3319 0 R /Annots [ 3309 0 R 3310 0 R 3330 0 R 3331 0 R 3332 0 R 3333 0 R 3334 0 R 3335 0 R 3336 0 R 3337 0 R 3338 0 R 3339 0 R 3340 0 R 3341 0 R 3342 0 R 3343 0 R 3344 0 R 3345 0 R 3346 0 R 3347 0 R 3348 0 R 3349 0 R 3350 0 R 3351 0 R 3352 0 R 3353 0 R 3354 0 R 3355 0 R 3356 0 R 3357 0 R 3358 0 R 3359 0 R 3360 0 R 3361 0 R 3362 0 R 3363 0 R 3364 0 R 3365 0 R 3366 0 R 3367 0 R 3368 0 R 3369 0 R 3370 0 R 3371 0 R ] >> endobj 3309 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 681.995 220.963 692.577] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3310 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 681.995 277.271 692.577] /A << /S /GoTo /D (group__GTGColor_gaa923f594cd6bf3da6a99d672c4438238) >> >> endobj 3330 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 655.905 220.963 666.487] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3331 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 655.905 266.799 666.487] /A << /S /GoTo /D (group__GTGColor_ga64afa654e5f2102b76dfea9948fcc176) >> >> endobj 3332 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 629.815 220.963 640.397] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3333 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 629.815 279.755 640.397] /A << /S /GoTo /D (group__GTGColor_gaac719b8d82b41edc0d2f29983222586a) >> >> endobj 3334 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 603.724 220.963 614.307] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3335 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 603.724 271.291 614.307] /A << /S /GoTo /D (group__GTGColor_ga8ee0cf541a8cfe06ca0071bc12730514) >> >> endobj 3336 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 577.634 220.963 588.216] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3337 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 577.634 276.76 588.216] /A << /S /GoTo /D (group__GTGColor_ga21ff1d892d73197f789eadfb5f53ae12) >> >> endobj 3338 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 551.544 220.963 562.126] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3339 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 551.544 270.296 562.126] /A << /S /GoTo /D (group__GTGColor_gae5b393a4e0d57100e0809e25ccde762c) >> >> endobj 3340 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 525.454 220.963 536.036] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3341 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 525.454 298.19 536.036] /A << /S /GoTo /D (group__GTGColor_ga088b63848f60b294eb7717f9160ce76a) >> >> endobj 3342 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 499.363 220.963 509.946] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3343 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 499.363 285.242 509.946] /A << /S /GoTo /D (group__GTGColor_ga16c93cd2a5d433fcc87ef02a84799ba5) >> >> endobj 3344 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 473.273 220.963 483.855] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3345 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 473.273 283.745 483.855] /A << /S /GoTo /D (group__GTGColor_gac22398d68421bab69f56bad3aec370aa) >> >> endobj 3346 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 447.183 220.963 457.765] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3347 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 447.183 308.644 457.765] /A << /S /GoTo /D (group__GTGColor_gaf971085c762299a3ddc48983c5be7ba1) >> >> endobj 3348 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 421.093 220.963 431.675] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3349 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 421.093 299.687 431.675] /A << /S /GoTo /D (group__GTGColor_gaa0b434824fb73ef2aca7b3ea80b1d5fc) >> >> endobj 3350 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 395.003 220.963 405.585] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3351 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 395.003 296.199 405.585] /A << /S /GoTo /D (group__GTGColor_gafb573eac9a0e0e5b87f53381a52fb5a5) >> >> endobj 3352 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 368.912 220.963 379.494] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3353 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 368.912 268.798 379.494] /A << /S /GoTo /D (group__GTGColor_ga190c0283ea923a8985673bf855acb0f1) >> >> endobj 3354 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 342.822 220.963 353.404] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3355 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 342.822 293.706 353.404] /A << /S /GoTo /D (group__GTGColor_gaa08fc4857b39b8de719eb2856b040ebe) >> >> endobj 3356 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 316.732 220.963 327.314] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3357 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 316.732 289.232 327.314] /A << /S /GoTo /D (group__GTGColor_ga64753688aed5f6684f07f8e0878f312e) >> >> endobj 3358 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 290.642 220.963 301.224] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3359 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 290.642 268.305 301.224] /A << /S /GoTo /D (group__GTGColor_ga39b7ac86d036b3eeffb481bb8c7a0404) >> >> endobj 3360 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 264.551 220.963 275.134] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3361 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 264.551 298.19 275.134] /A << /S /GoTo /D (group__GTGColor_gabbc9bfb94e29f9403a7e139e4f4bf87a) >> >> endobj 3362 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 238.461 220.963 249.043] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3363 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 238.461 282.239 249.043] /A << /S /GoTo /D (group__GTGColor_gadce47970948c2b8fed1561b4ad48a77d) >> >> endobj 3364 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 212.371 220.963 222.953] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3365 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 212.371 285.233 222.953] /A << /S /GoTo /D (group__GTGColor_ga522dceb98e51420b5145113ba0297eba) >> >> endobj 3366 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 186.281 220.963 196.863] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3367 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 186.281 286.731 196.863] /A << /S /GoTo /D (group__GTGColor_ga5ab65b258d884aee7f7510728c3a9c7d) >> >> endobj 3368 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 160.19 220.963 170.773] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3369 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 160.19 279.755 170.773] /A << /S /GoTo /D (group__GTGColor_ga4de28f536dd910bf024fc2caa5234cb5) >> >> endobj 3370 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 134.1 220.963 144.682] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3371 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.464 134.1 295.204 144.682] /A << /S /GoTo /D (group__GTGColor_ga27a569b9d34652d78d38ce7f7cda6794) >> >> endobj 3375 0 obj << /D [3373 0 R /XYZ 149.705 747.976 null] >> endobj 3376 0 obj << /D [3373 0 R /XYZ 150.705 699.916 null] >> endobj 3372 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F67 2143 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3381 0 obj << /Length 1609 /Filter /FlateDecode >> stream xÚĹYYŹG~çWŚä—É´»«o+Šäcw%lj“5É‹m!ŚĂgí_źęžčĺXbÉbşëüŞúëM"Ýt^÷:/®…Š ±Jń¨7ެ%ĆĘHsCŐQo}Š5I´‰oz7oóűeşZ‘ŻĹW×ÓYZ<ݦă„Ń8]¦ŮĐ}E%±ŇÉ—Ţ»ÎUŻów‡ˇJ±Ť A °h8ď|úBŁţö.˘„[ýăWÎ#.8ŃĚí›E;thi6% ÝŁű¨śŁDK«š^PM¨4•ś°¤Ë(ĄńŰ4 á#4 ţµ.§÷ůt‘yk+5/®6BCŁ.˘*y˝ŻÓUáůgJˇŠÂ(ueiůÓj1/XŻŇńzV<łĹ˛\‘/ęß‹‡iV|¦Y>ÍżĎßń`¶®ÄŽNăŲΠiŮÝŹŹÍĆ‹.%„ůÁhÉ•żá—0ݶđH0!ĺvń“/ÄPŚŻßş«ż‘›.C< u1˙TčMr NNÂ29‹ázޱě¤gŻ›[Éňňëô?«˛ääm€´n÷Ű0´ý7޸íż~˙çU˙×W)·4u1f±Xlµé3"ź>P˙o<.Ö#-®„Z]-˙)ař? U‰žm,Ů­$.±„¸Ž¤‘„1µŻ”€([×QU1e\:mN’ –•Ińž´âĹÄ%´Ě m­.Ň»J–˛‘—P*‹Rl)ýýĂGLŰ/Ä+nT¸X¶ ,8X¨>+„¬¨qE÷ZÇ4#ÜŘěůÓ­»ą˝şúíQܶWŁOĂ˝: ÷j?î:Ĺd$ą$ÚÚs¨$ˇ´¤öŁŢ:ëá:­ Ú@S§sôŔP—đS *lůyäq¨âĹąz ňŘJˇ†”9yCŚŇ!Č˧›w{őöńFŹQä켰„c„QD tÎiôh“($áű!Ż-ş+/ˇŐ0äz˛­*3ěóF\@§ Řçµhë< ô¸Qé`'UçÁęĚS…újT1uĺ´Č60‹ ë ‘lclŐô{‰0ń÷űt„ôü„ŞŃ6|:o*XĺËő0DĆŕqĆ ňs’Oúž—…#š…Cń°oÔĺqxřlřQ-­źźŔ… NcvS˝aŁ-×ÖÓ,ç°‹Z†řÖ`ç ?‡ť0d%‚’”,ŮI(¸Ě¶b‰ô]Ć“»cŁĐ‘±„2µ‹ˇŞÉ_ŻłˇGË…$Š Ă–g=)B‰őę7_ —é OÄI˘lň¤+¤Â‹W¶*Ĺ Á‡‡í.ô4lAŻîŘŮŔÝńđęű<` Z"ŔTK~LÇŃJDŻDŻDç´wéç$qцOË|–‰ [Ź—<)ŹýŻú—0qČě©ĆOž{*ŇqŔrČcż€ĺÂŽň-ż F\šnśTÜŕѶ۽DÝ˝ľ% âĹtj ÜÝ"K]yćÓö{ËŰEe6“1F$î ŘÉźjçx™†*_ˇHh۸+ńĘŐ#ÇVľ$DŞ^Ű8®ÚEŽśJÉŁÓĆđ*Ál¨Ч†cš…S†wB0'§¬8 Ŕ Yś“Ôâůf7"Š«ĆXĐ›»=„z.Ĺ\PWcÁöxMËFŰuçúV?ϦŮp¶ĄV-ąż Ő¬şČZS”&şŽŃ*aőŁYz®ý˛\řs@Sţ¦F˙›a“' q9“Ě!“j÷̦w¤ëVą,cduXąÄVCÂąČ=µiY{j;ZłżŠ]¬Žš;:÷Ý•ĎqIQâ@¶öFźşO{Ě{ůµëöËIŮöoý.EY?pűso ÁÓÔÍŹ>rÚt0†őČl€/´¬Č27‘~žtąĹP·.ň–Tpĺ&ŹZašőď ńÚŹ†K ]uÄÉy;KłĂš’ťŕĎbť·u{ Ňă¦eM m rk·q>xčŁa; )ôĆ€Q<î¨=ĺŤAő‚Ż€Ž`m^ XE¨,ńs“fé™ä¨4«Ŕ÷‹>•SůW÷ĺ´Ęw!@OŚľű ÍCc4ď$O‡•ţ Ňrţ˙vá"űđ}âyfšm‡ę_Oěí endstream endobj 3380 0 obj << /Type /Page /Contents 3381 0 R /Resources 3379 0 R /MediaBox [0 0 595.276 841.89] /Parent 3319 0 R /Annots [ 3377 0 R ] >> endobj 3377 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [136.453 130.219 219.662 140.801] /A << /S /GoTo /D (GTGCompress_8h_ad971832008148b9507e34aad293a5d69) >> >> endobj 3382 0 obj << /D [3380 0 R /XYZ 98.895 747.976 null] >> endobj 1034 0 obj << /D [3380 0 R /XYZ 99.895 717.021 null] >> endobj 1038 0 obj << /D [3380 0 R /XYZ 99.895 629.008 null] >> endobj 3323 0 obj << /D [3380 0 R /XYZ 99.895 602.342 null] >> endobj 1042 0 obj << /D [3380 0 R /XYZ 99.895 602.342 null] >> endobj 3320 0 obj << /D [3380 0 R /XYZ 99.895 575.995 null] >> endobj 1046 0 obj << /D [3380 0 R /XYZ 99.895 575.995 null] >> endobj 3324 0 obj << /D [3380 0 R /XYZ 99.895 552.148 null] >> endobj 1050 0 obj << /D [3380 0 R /XYZ 99.895 552.148 null] >> endobj 3321 0 obj << /D [3380 0 R /XYZ 99.895 526.678 null] >> endobj 1054 0 obj << /D [3380 0 R /XYZ 99.895 526.678 null] >> endobj 3325 0 obj << /D [3380 0 R /XYZ 99.895 502.831 null] >> endobj 1058 0 obj << /D [3380 0 R /XYZ 99.895 502.831 null] >> endobj 3322 0 obj << /D [3380 0 R /XYZ 99.895 477.362 null] >> endobj 1062 0 obj << /D [3380 0 R /XYZ 99.895 477.362 null] >> endobj 1066 0 obj << /D [3380 0 R /XYZ 99.895 453.515 null] >> endobj 2187 0 obj << /D [3380 0 R /XYZ 99.895 425.675 null] >> endobj 1070 0 obj << /D [3380 0 R /XYZ 99.895 425.675 null] >> endobj 2414 0 obj << /D [3380 0 R /XYZ 99.895 401.286 null] >> endobj 1074 0 obj << /D [3380 0 R /XYZ 99.895 401.286 null] >> endobj 1078 0 obj << /D [3380 0 R /XYZ 99.895 376.628 null] >> endobj 3328 0 obj << /D [3380 0 R /XYZ 99.895 351.773 null] >> endobj 1082 0 obj << /D [3380 0 R /XYZ 99.895 351.773 null] >> endobj 3327 0 obj << /D [3380 0 R /XYZ 99.895 325.319 null] >> endobj 1086 0 obj << /D [3380 0 R /XYZ 99.895 325.319 null] >> endobj 3329 0 obj << /D [3380 0 R /XYZ 99.895 300.66 null] >> endobj 1090 0 obj << /D [3380 0 R /XYZ 99.895 300.66 null] >> endobj 3326 0 obj << /D [3380 0 R /XYZ 99.895 276.002 null] >> endobj 1094 0 obj << /D [3380 0 R /XYZ 99.895 276.002 null] >> endobj 2111 0 obj << /D [3380 0 R /XYZ 99.895 251.343 null] >> endobj 1098 0 obj << /D [3380 0 R /XYZ 99.895 251.343 null] >> endobj 3383 0 obj << /D [3380 0 R /XYZ 99.895 148.182 null] >> endobj 3379 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F11 2953 0 R /F14 1998 0 R /F72 2160 0 R /F75 2451 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3397 0 obj << /Length 2440 /Filter /FlateDecode >> stream xÚÍ[Ër+EÝű+z)EŚŠĘz;&Ŕ6€wBalŮŁKftĺ¸_Ď©~H]­jő“ +ÉrwfV>Nž¬ęćŮKĆł»›ßß|q«Lć7Ff÷ĎiÎ,×™•Žnłű§ěøĺJXŻäâvűş ßÝâë·Ç÷Ýf|8nßöË_îż»ůćţćż7ą<ŁšĹś ěqwóáž=áźßeśIď˛˙ç—î2©$łn|Í~şůᆗĆńş‘‚׍4–)/2Ë-ăÚFţ,„Îí¨îË>¬´6‹íţXţě:Ľ”ţ_Vňr|Y?ľí–´ří°ůřq˝ĎM9ᲟąćźÖʇÍĂ.ü˙‹[R™‡MÂä6)bdpCa 粸(2\1墨ćÓż Oţo)ôâmű”*Łó }„n÷ë_—‚/Ţź—’/J ďđëcń×ëf_ţ~űí÷ߤ–‰YŮC«¨]#^7ë·÷#ĽD±÷VÂĆIg+RŚ+=!Z’NŃ*Bő,vM!ášÎP &ÔŕXIŃę1 ‡‘"°ôŘv_ ľ’Ę2/ GYTśł@’ĎŻYAŇĚBĺŠy]h÷đű™’'r’ü ŃLŐŢó¸Ú“u˘Ć_[@9sŢŽ(mGm)ĎśT#2ĄĄ¶yNWŃPS˘!UŤ§Í©şv—Ő®ę ††ůŇşË5$â[? ˇˇ†„RWHx]ł·h„~H*\”_Qe€A§|\e12‡ŻÖťŁěŚľ ôeŐáŞÎ@ŁĹűÁq6®#ÎŢš!ŢľŚł‰:ž9ĹŮ\íxRĐ|eé5ă’ć–vÍh%šžĐľO´ Ńđpô} |nIíôŘľd_ë{¨n¦ő˝ âÖźÓAç­Żę|9;ŐqM~†´µ Ní}p wîŢçFu†ŢדW‚q;9GëłuZ‰x Űýö8Љ [X1dŤU4‚‰ů—ŞĐ1W­Kâ‹0b%Öh¬Ńę/ËDZ._5JJČóęŞÚÂÇ]M5°™YísŃ+2ž)€Ř n†Šüf|c´\ç|qűľĚçŃŔi#ęi´ĽTs6Ť#µ4#[—ŇPú±15#ęŃĆň\ŢP×a=5ФůrĄĄO—´p’ âĘ,ůę Ťtđ§)şíë:…Ó9© ’Š\wkE ¬ ąkË`\Z"_.%&OmÝ7ô|ŰC•ŽqáŇYŇ ďjç¬Hť4–YE±łŔ].‘ Ę|ľ5*2L[=Ă! ŤŽ×¬M­Q3]CµĹĺ¨.ÉĄĘHt•‘±ŞĄŚv ł G)ר#ďÓun“¦a…vSęČp·Ä1{uÖ‘TÝä®ÖPz»’ üÄř!şZ ÉŠ|mŁĽ’U(${«Ą$ ç´F0CŐ QL$Ýu–Yݨ$ˇ€Äé‹T˛'/˛b˘TŽ€ÍŐ`ÎP ,  X°S3¤­BďÔVĹ6ŽCů˘X±š'=HE-\¦´g’Ë $`ŁBquÚJ2đ–CÖtťÄÉjëńOKĺ;d}Đ:fMe7Ź $Vl¬‰€M˛'“Đ Ý#ÉI4Âárṛ̏ýĚÄ"tqr]ś@ČjqŞ÷‡N€V`џƸ"Ć6t‚pyä‹C ›‰5©5ĽŘ”˝Ě!56‡vI.Š&*´é™Bč0^dŠăvm'5QL™®d«#śëi¤çMŁkýhž:hW·MĄ™ÁCvśł.Ȩá&vVw{Ţt¶—p‚ćĺ UÜ3ëdlcŞPU~tÇOh›4Ţä2>Ą†)ÔńäH…&ëś‹˝0Ą–Ŕ*‹n—€ÝZ¶ A’Rc&đ 006 ^2đDŔ©DäŐ$00hé…¤°źŘ ‚Ë'‰0Ý Ľ˘. –SÉqÎjjĐd.cgu˘n® fâ§T!ą§ŘĆ4hEÝ`ŕ¬˙K"• 0ű83C¤”E‰ëAZĺEĺEę”(Q\a¸ôH bU;ˇC…$#{‚wŇ{B`µ!ôclŠéyčúž"›Ň'Rb•*0B©śe ôB¦'ŕŰ dsŃIĐsÁm}›ýźC¶ +Ă 8ŕ4—¦¤´ýĆ‚©,ÁtśIŹsVÂZŽťőĎŘ\%L^ŁHCáă5βąčCÓHF¶“ ťqúPµ™`Š9Ůś®ťH—’g„¨H0rSlÉcĽ$śęÁ†L÷^©®íE~nťíŰ‹ÜÓU­•v-BŹ㫸’0ĽJO±ŻZ+ÉźgČë»‹Ü XešDH´A23,QÉŔwMĽÄnľ§ĎçQ­|€ćÁ¬¦§¬ ŠlLď-˘Očp‚×{oQb°ÔÂͰ·$Iázě-N×Yí-F:çß[uřsă™DËî˘Lô=§„“ w…ł‰ŔNˇŽ9]H"ô ŮĎ)Sç±đ©îĎć@±Â®I˘ůÎÄŰbŢťCXy1ót\ÎüDŘĎFůOkAJIřÍÉ!°=B :ŮÜyϧcĚ3zşô@®ó©l”ł.ŮśŐ±łşZžíkČ-€‹f¨<ĎĽČĆ–śú äÜöŕ¤Ţ ‰R+'…ą3DJą°§.c/¤9é*“ÖŐŁa¦ď6ęF'řud0őˇ-ý nł^P0ćâđ[¦Abü”!ŮE8Öť˛ł#Ă9KHv<îAN%ő §ľóě›\Ďsa -‰ . ŮHW5¸)úi¸ŞÇˇ0ďĆ…đŔľˇ©ň„ĄŘĆ4.óQ.Ŕ·ĆΧü!’¶S“ç S̤ýΙ×`mÎűZ„ †Čq6ĆôHIĆ^‘Ť#÷ꀨÂgpśS”:6*M±-đĐ™9tÍÉ6‚u…bËžü®xęÓ"‘.ž: »‚jş“®@˝:vą»żű~űńČţS üĆbôâ»]ŇâeýŠő&mHľö>Ł!ŻVď%bňµFĺÁ–*1śU8u·ŮoÇÍSůöÄľřĽ_zÔkůšâWżŠ/B•źśDńŤř—Â)ĘżžC•ż•ç’·Ź•<LJ‡ÇMíÇęŇĐw‘yNĺ?äpńGő’dxý÷?^B®,6ńC¨pÖźŰĘG endstream endobj 3396 0 obj << /Type /Page /Contents 3397 0 R /Resources 3395 0 R /MediaBox [0 0 595.276 841.89] /Parent 3319 0 R /Annots [ 3378 0 R 3385 0 R 3386 0 R 3387 0 R 3388 0 R 3389 0 R 3390 0 R 3391 0 R 3392 0 R 3393 0 R ] >> endobj 3378 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.576 704.067 264.808 714.649] /A << /S /GoTo /D (GTGCompress_8h_a20b29310337c08faf98a57c25f7e45c1) >> >> endobj 3385 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.938 690.022 265.17 700.604] /A << /S /GoTo /D (GTGCompress_8h_a1a484fcd41732ae0c562df62c00c090c) >> >> endobj 3386 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.576 664.022 259.832 674.604] /A << /S /GoTo /D (GTGCompress_8h_ac1344155658614b28d00dde6cfc21227) >> >> endobj 3387 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.186 649.977 279.365 660.56] /A << /S /GoTo /D (GTGCompress_8h_ace4cb1d4d1f2e23251bd68a1abfbba5f) >> >> endobj 3388 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.462 623.978 274.665 634.56] /A << /S /GoTo /D (GTGCompress_8h_ae4a80fc1d9defda19e67dcaccf9dc963) >> >> endobj 3389 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.403 609.933 274.605 620.515] /A << /S /GoTo /D (GTGCompress_8h_a31626eb78f66fd32d48b565a968fe405) >> >> endobj 3390 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.576 583.933 269.802 594.515] /A << /S /GoTo /D (GTGCompress_8h_affa95fc9078188415402e4ad714f0a07) >> >> endobj 3391 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.576 569.888 261.32 580.471] /A << /S /GoTo /D (GTGCompress_8h_a743cbc48dbc83adcad70fa7a038211cc) >> >> endobj 3392 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.576 555.844 271.291 566.426] /A << /S /GoTo /D (GTGCompress_8h_ab530d1815196b71ebd013660d1854081) >> >> endobj 3393 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [199.165 120.258 229.562 130.634] /A << /S /GoTo /D (structgtg__list) >> >> endobj 3398 0 obj << /D [3396 0 R /XYZ 149.705 747.976 null] >> endobj 1102 0 obj << /D [3396 0 R /XYZ 150.705 539.027 null] >> endobj 3399 0 obj << /D [3396 0 R /XYZ 150.705 513.749 null] >> endobj 1106 0 obj << /D [3396 0 R /XYZ 150.705 513.749 null] >> endobj 3400 0 obj << /D [3396 0 R /XYZ 150.705 486.688 null] >> endobj 1110 0 obj << /D [3396 0 R /XYZ 150.705 486.688 null] >> endobj 3401 0 obj << /D [3396 0 R /XYZ 150.705 449.668 null] >> endobj 1114 0 obj << /D [3396 0 R /XYZ 150.705 449.668 null] >> endobj 3402 0 obj << /D [3396 0 R /XYZ 150.705 424.387 null] >> endobj 1118 0 obj << /D [3396 0 R /XYZ 150.705 424.387 null] >> endobj 3384 0 obj << /D [3396 0 R /XYZ 150.705 399.214 null] >> endobj 1122 0 obj << /D [3396 0 R /XYZ 150.705 399.214 null] >> endobj 3403 0 obj << /D [3396 0 R /XYZ 150.705 362.194 null] >> endobj 1126 0 obj << /D [3396 0 R /XYZ 150.705 362.194 null] >> endobj 3404 0 obj << /D [3396 0 R /XYZ 150.705 336.913 null] >> endobj 1130 0 obj << /D [3396 0 R /XYZ 150.705 336.913 null] >> endobj 3405 0 obj << /D [3396 0 R /XYZ 150.705 299.893 null] >> endobj 1134 0 obj << /D [3396 0 R /XYZ 150.705 299.893 null] >> endobj 3406 0 obj << /D [3396 0 R /XYZ 150.705 274.612 null] >> endobj 1138 0 obj << /D [3396 0 R /XYZ 150.705 274.612 null] >> endobj 3407 0 obj << /D [3396 0 R /XYZ 150.705 237.591 null] >> endobj 1142 0 obj << /D [3396 0 R /XYZ 150.705 237.591 null] >> endobj 2112 0 obj << /D [3396 0 R /XYZ 150.705 200.463 null] >> endobj 1146 0 obj << /D [3396 0 R /XYZ 150.705 200.463 null] >> endobj 3408 0 obj << /D [3396 0 R /XYZ 150.705 140.084 null] >> endobj 3395 0 obj << /Font << /F46 1592 0 R /F20 1558 0 R /F14 1998 0 R /F45 1590 0 R /F72 2160 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3437 0 obj << /Length 1458 /Filter /FlateDecode >> stream xÚÍY[oŰ6~÷ŻĐ0`€™%)’SdŔ†.AŠbŔZc/Ma(m °%OfÖeż~‡"uŤś8ŤÓöÁĐĹäÇsľsááöVö.'żÍ&Ż.đb$…˝ŮғŒ{Q##o–zýń`JŁŘżś]ľËö­íăE¶Qöî˝ZűŞTůÂĽ ľÁ§ŮŰÉďłÉßËaŹ´đ Ĺ”x‹íäă'ěĄđß[ŁPĆŢçjäÖ Y"bćmĽ“?'؉ŚĺćÖ\j¸G0Џ] p„0Ź­oÔ5Ć4WűJ˘Ę]_]Pܡ€Ĺ‘7ĄĹÂQpM)ďÍő>N9ţŹ©CvË•Sö}5Ě7wőa6żúăj6ŔńŻ1Ç;ż„;r@B$FXČČH’QzS,†NÂ,Ďt–l˛˙Â}g–Ä^6Ćf=ÜĆÓT6O©ň¶y˛UĎŃ5U‹MRÖJć©˝9ěů ÄÂ_éŐÜ,!ß]ĺ{“×öuŻ|Żĺ&!;f©ëdŘžvj‘™M@ĄmZ>ÝŃř™ć#ţ\'Ů滍“obĆĺöauŚ-ŰĂNV5@A› Ź‹Ď˝ÝLŻŐîlFŃÓµŤž•>MöT'w‹Żő^.lRS—ťśšÖź×§Ű(Ý´éĆ˝{Y[׿ÓűaYŐôöJ5ÖÝËôËřg–ë#Ůß×ňśzăii¤rLU‰¦_ŹŕM0ĆMçٱ˙¦XÜnÁ‰©+µZ"Á‹M·‚Ë>"ö´ÚűzÄxSŐu[ŔDVAŃöذŃΠń¶gzĆ#@4wČŔ#zň'"ćś ®AęŠď/ł/$›[uvŔŃ#媌0©É HDŽl¨§M)=@vmSűd$~moŻIČŞ‚D\0o*ˇfć}’ŞOU+łŰz´›_u‚ÄÉšácźhŽĹň)źhęŻIѤlżĹH0w)đR媄c›“łpiaHěß:AÝą˛…2wĹ„Ú;‚Ϩ<Ł´núѶéW!×!<3I˝LŞó_˘»ýA ľíŢ —‘ŢU6ż[™2§ĹU˙¬Ś} endstream endobj 3436 0 obj << /Type /Page /Contents 3437 0 R /Resources 3435 0 R /MediaBox [0 0 595.276 841.89] /Parent 3319 0 R /Annots [ 3394 0 R 3409 0 R 3410 0 R 3411 0 R 3412 0 R 3413 0 R 3414 0 R 3415 0 R 3416 0 R 3417 0 R 3418 0 R 3419 0 R 3420 0 R 3421 0 R 3422 0 R 3423 0 R 3424 0 R 3425 0 R 3426 0 R 3427 0 R 3428 0 R 3429 0 R 3430 0 R 3431 0 R 3432 0 R 3433 0 R 3434 0 R ] >> endobj 3394 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [155.708 681.307 222.974 691.782] /A << /S /GoTo /D (GTGList_8h_a1338d800c732cb3a1c41d1c033bdd857) >> >> endobj 3409 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [155.708 653.626 201.052 664.1] /A << /S /GoTo /D (GTGList_8h_ab02f7ebccd0b091b2001d8b381bf6fb5) >> >> endobj 3410 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [155.786 625.836 211.37 636.419] /A << /S /GoTo /D (GTGList_8h_a069ed881cfcf2495584ab2bd1b22c46e) >> >> endobj 3411 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [155.709 586.2 225.71 596.782] /A << /S /GoTo /D (GTGList_8h_ad83bf2f20ed79cafbee61dab759b56c4) >> >> endobj 3412 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [157.191 561.4 261.578 571.982] /A << /S /GoTo /D (GTGList_8h_a0fa3e1ddadec4f2c0a96efa9c725197d) >> >> endobj 3413 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [155.708 536.6 247.371 547.183] /A << /S /GoTo /D (GTGList_8h_acb9ea4e91626e0b9df23d6aec078d672) >> >> endobj 3414 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [155.708 523.756 250.895 534.338] /A << /S /GoTo /D (GTGList_8h_a4bdc5ebe7e05e5242409504d010389e5) >> >> endobj 3415 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [155.708 496.075 272.557 506.657] /A << /S /GoTo /D (GTGList_8h_ace0f624d4dd80950511ce16622aad348) >> >> endobj 3416 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [180.257 423.614 210.654 434.196] /A << /S /GoTo /D (structgtg__list) >> >> endobj 3417 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [218.628 423.614 256.503 434.196] /A << /S /GoTo /D (GTGList_8h_a31e8e7dba68376aab7cb547980482f9b) >> >> endobj 3418 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [165.938 365.99 226.247 376.572] /A << /S /GoTo /D (GTGList_8h_ad586b4819242b49ab669fe12d9a5a7ce) >> >> endobj 3419 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [229.732 365.99 267.607 376.572] /A << /S /GoTo /D (GTGList_8h_a31e8e7dba68376aab7cb547980482f9b) >> >> endobj 3420 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [290.81 365.99 328.685 376.572] /A << /S /GoTo /D (GTGList_8h_a31e8e7dba68376aab7cb547980482f9b) >> >> endobj 3421 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [350.623 365.99 388.498 376.572] /A << /S /GoTo /D (GTGList_8h_a31e8e7dba68376aab7cb547980482f9b) >> >> endobj 3422 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [165.938 353.145 216.276 363.727] /A << /S /GoTo /D (GTGList_8h_ad65f21dd678c94735c880f651d7c43b7) >> >> endobj 3423 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.762 353.145 257.637 363.727] /A << /S /GoTo /D (GTGList_8h_a31e8e7dba68376aab7cb547980482f9b) >> >> endobj 3424 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [280.839 353.145 318.715 363.727] /A << /S /GoTo /D (GTGList_8h_a31e8e7dba68376aab7cb547980482f9b) >> >> endobj 3425 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [165.938 325.464 232.72 336.046] /A << /S /GoTo /D (GTGList_8h_aa73c19151049791f4ca20a1ee18d95dc) >> >> endobj 3426 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [236.206 325.464 274.081 336.046] /A << /S /GoTo /D (GTGList_8h_a31e8e7dba68376aab7cb547980482f9b) >> >> endobj 3427 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [297.283 325.464 335.158 336.046] /A << /S /GoTo /D (GTGList_8h_a31e8e7dba68376aab7cb547980482f9b) >> >> endobj 3428 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [165.938 297.782 223.252 308.365] /A << /S /GoTo /D (GTGList_8h_a8087627971e129ef2860c20a6ffab23b) >> >> endobj 3429 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [226.738 297.782 264.613 308.365] /A << /S /GoTo /D (GTGList_8h_a31e8e7dba68376aab7cb547980482f9b) >> >> endobj 3430 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [286.551 297.782 324.426 308.365] /A << /S /GoTo /D (GTGList_8h_a31e8e7dba68376aab7cb547980482f9b) >> >> endobj 3431 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [165.938 284.938 213.281 295.52] /A << /S /GoTo /D (GTGList_8h_ae7a2202c2ab63857b2e10dbfd16d8b6e) >> >> endobj 3432 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [216.767 284.938 254.642 295.52] /A << /S /GoTo /D (GTGList_8h_a31e8e7dba68376aab7cb547980482f9b) >> >> endobj 3433 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [159.186 257.256 210.376 267.839] /A << /S /GoTo /D (GTGList_8h_aadb6697b96b30d91ecde2703d18bc1df) >> >> endobj 3434 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [213.862 257.256 251.737 267.839] /A << /S /GoTo /D (GTGList_8h_a31e8e7dba68376aab7cb547980482f9b) >> >> endobj 3438 0 obj << /D [3436 0 R /XYZ 98.895 747.976 null] >> endobj 3439 0 obj << /D [3436 0 R /XYZ 99.895 699.916 null] >> endobj 3440 0 obj << /D [3436 0 R /XYZ 99.895 440.173 null] >> endobj 3441 0 obj << /D [3436 0 R /XYZ 99.895 384.707 null] >> endobj 1150 0 obj << /D [3436 0 R /XYZ 99.895 243.113 null] >> endobj 3442 0 obj << /D [3436 0 R /XYZ 99.895 218.258 null] >> endobj 1154 0 obj << /D [3436 0 R /XYZ 99.895 218.258 null] >> endobj 3435 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F67 2143 0 R /F14 1998 0 R /F11 2953 0 R /F72 2160 0 R /F75 2451 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3463 0 obj << /Length 1748 /Filter /FlateDecode >> stream xÚŐZŰŽŰ6}÷W((ČĹšĺý’b´hł@Š^Śľ¤ÁB±eݵ´µĺ&ű÷R¤,ŮôUIĐ>’%ęĚpćsF6Nć Nî?Žß˝á2ŃČHÉ’ń,!#…E˘F«dîaGměŢŤĎ Ä؉™I$‰lfö@ ć‰4 %ŹŔp‚ŚĂQŞv5CRŔ’HŮK6„o?µCĽ©ľÖ,Ĺ-ł”0Ä$íšýĹšu$+gő±zđţRiŽHه!ĹécÄEn"”^áâ~ФˇČ(Ő/ĎW€ś¤}€úá* j˛ł®A\0wăćŐüţq±®îaŰ`âôŮ?Ó¶ 4Ňš„gţÂ×m 2Ş÷ Đ$No†#ĄqZ=?ĺÜ}'é2_~€Ĺ¸oH o"mÁťIűq@î1ÂÁ ‘T:ň(„IË?Ě"Ř™ÎHť Uú­b¸a-®Á…ůo˝ŮKŹŰâÖ˙¦č®©—'‚¶˘°LGžßY°ČdäaI Ŕ8kćý:–L¤x3 Ną÷Ů}:ŰđÎn0—mŃQŽ¤Đž«yµł ¬«zŘLŞÍĘ_›”«Uľ~*‹é˘űńe}Ěęĺ{}V“žyҨ;łÁVk¤Ť*Âś}­#`WĆ”÷Ű{zŘ#FęCŻc ˝  8ěEr»c¬0WŤV®ŐrQŘśuxŇđ+Ę÷Ý®·fď¬:GkĎĺÎGR˛géé‹á˛Ą@ŃSaD¸J„¤`Z'"l^ňťŮxţ;fCŞë•­]&ÜY¬ëłp´›ŰtšOýŐaĂĹS‰d0‘=éĐÄńFj/>(†(±Xl®Űőâ#®3gDŰp“öâ°řl3˘Ţč­k«ą÷ń÷»AňÎ [D§ř{~†îüă8U¶rŚO"B. (¬'ź.9WŮ ˘™É¶´eVObś~3ÍAĘĐ"ŹH]’öÝ]©;łÍBąşĎłÉ4éCLş0é§ݶ»iĐ»ĺ´-4/éCžMcŠÂhşŁlIgCČpiiŔ¨3HőťŰú`ŻYĚC:LrXćl}ň©úޢł´±öâvëB0ר y@ócşBŇ>GµóŽ(}§śŰőmOvy’Ś$AzZš6-ř™´`§iqĽ%+pnNRÄk—"š;ŠřÓĂťm§t‡/]˝Ü™DB#,­,…â&ýŰš?m –=nňWQ9 ľ żQöUÉ .A¶ˇ2ňúá™%Ą„P6¤´_nëC§m| HCÓ×Eţ©ş©‡ÚÂZÎB| 9S”=,áЬ~ëîŔuh=Z—Á¨Eó8ŰhI¨uŚ0^“ łÉČ .ýÓ/-#_‡MÖ"Ľ¸ÝN¨MqŃĂ5 o|81ń–tdÚÖ„’}¦8°Ű*Q¨ă°r]G"ČÂ5"ý*Ô0»Ď¸—&ˇćlĹm¨oóE= hI˘ĺ ˘D’”ď-"QX@V475¸_ŰB¸żč˙»Ýٰ°MżrŮĂŞ/oĐ„÷Tㆠ`;ŁzCşeýAĺuĄŃ¨ňęXíjńýŚľ˙Ф¬ß”ĐĐmÖ9[wß”ĺSxk°q} Ŕé­uůÔ#y Ęzj÷Ţ Ž=#¬{jw ęS@d0ěŇKč đç:łqţ´Í6üqöݙߎ"mý±,_ě`$A!­{*ęŢ 6ËÖ· űçčШĐ2Šó:´+ GóÜ1üëĐ.Ä>,† =KÎ çvh”ĂĆË:R\|)~żÎföZÓä _5–Wiňâma4\ťŻÍ5CBQ§Í©Ń×ks¦żž4çqŤĘŹkÔ›}iBŔ$Ú˘şřL’#NhĎN‚ňŽ»u ôWč$ ďÍ©`ç„‚ŰBqVwQ\Ö[hh'yÝ[hE>soQ+ŇA ÍłEž]ĺË-töŘ<ň+Nßnĺ>ř´ß¶·/Ń‚`čٰąäĎá ü”ĺGÄöG2Űü ?µ»ĽČWŻJîńĐŕtăcüĂ“Ďĺţ ­Ď~EÍ+Jz˘[őä“€§qşĘ&yë^V…ˇ6lwă;˙’ .¸źçźĂßElh?=ĎÝ~žť A°ţí™ endstream endobj 3462 0 obj << /Type /Page /Contents 3463 0 R /Resources 3461 0 R /MediaBox [0 0 595.276 841.89] /Parent 3319 0 R /Annots [ 3457 0 R 3458 0 R 3459 0 R 3460 0 R ] >> endobj 3457 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [301.714 545.166 332.111 559.113] /A << /S /GoTo /D (structgtg__list) >> >> endobj 3458 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [149.709 355.912 327.977 366.494] /A << /S /GoTo /D (GTGList_8h_a4bdc5ebe7e05e5242409504d010389e5) >> >> endobj 3459 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [301.714 290.732 332.111 304.68] /A << /S /GoTo /D (structgtg__list) >> >> endobj 3460 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [149.709 126.882 359.609 137.464] /A << /S /GoTo /D (GTGList_8h_ace0f624d4dd80950511ce16622aad348) >> >> endobj 3464 0 obj << /D [3462 0 R /XYZ 149.705 747.976 null] >> endobj 3465 0 obj << /D [3462 0 R /XYZ 150.705 717.485 null] >> endobj 3444 0 obj << /D [3462 0 R /XYZ 150.705 682.815 null] >> endobj 1158 0 obj << /D [3462 0 R /XYZ 150.705 667.575 null] >> endobj 3466 0 obj << /D [3462 0 R /XYZ 150.705 595.178 null] >> endobj 3445 0 obj << /D [3462 0 R /XYZ 150.705 535.801 null] >> endobj 1162 0 obj << /D [3462 0 R /XYZ 150.705 520.56 null] >> endobj 3448 0 obj << /D [3462 0 R /XYZ 150.705 482.059 null] >> endobj 1166 0 obj << /D [3462 0 R /XYZ 150.705 482.059 null] >> endobj 3467 0 obj << /D [3462 0 R /XYZ 150.705 340.744 null] >> endobj 3449 0 obj << /D [3462 0 R /XYZ 150.705 280.953 null] >> endobj 1170 0 obj << /D [3462 0 R /XYZ 150.705 265.063 null] >> endobj 3461 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F67 2143 0 R /F20 1558 0 R /F72 2160 0 R /F14 1998 0 R /F11 2953 0 R /F75 2451 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3471 0 obj << /Length 1767 /Filter /FlateDecode >> stream xÚ˝Y]oŰ6}÷ŻP±¨Y~Sl‘ş-ŠakŤ˝d…ˇÚr"Ô–<[Nšűď»ü"ÉŚŰÁžDKäąä˝‡÷Ň8şŠpt1ře$8ÎÖY15Ż$2Vdřeüađëxđ÷€€9‘{xŽJ˘érpůG3řö!Âé$şµ=—ă )bĆ-˘Ď?ŘOąy"*LÓ<ę…öB°¤#E0,„¸…ü>¤U¶\•k“ S°Ép|çŢo*˙ö*ŰC˘ť°K€”ťF˘S0Éq©O#LČ! Š" ý¬ëŻłt¶‡GÇ™ ó¨m¶IAÖľm͇߲¦Vý}a äž<ÁÝř=1OśŃDXHD8-”ÂV5X)Lť«—Ůň+ě؇c|śápŚŰ†› \«ś÷»© ŕDÄŰiĺµ™ÚúĘĎńÓĹ ş´ŻŞ«‰áBGařo~…¶}›W×yń°•}\:Ř»D|*O#ÓᏊ7ŹL(JݨPDż`Śăźf$jZř|ŢѰS†›|^b2Rł_'Y:5©řz˛Î†ŕă#EĽ©‘Úó  L ) »^жz%HAÍĹŤBz9rm2U“Ăš”lA#¤…M'LZKFkŮ/gîaŢL3däËi•1 šZ‘řmŔ´BŠ7Vfů$ľycĐuÜX{qfFF# [´h4ň jťn† öë›ć·kĽŕ@BÍ;¸%!c ş€‚j&ż?´ űÍŢ»­Ă›ž«Gµ!{äm%Ö0‚¸hh§âÉÇ÷źÇ“÷ż˝â(śdÔ! ©Öˇ\Äl.|*ĐtĆó±aV:×ţŰ\ňv”Ŕˇş%ËjíČ{ůf‡;ţ« 9ď a$@& O!»äů× »˝Î™‹k7öäĘaý íg’y•§‹ü‡ÉÓY÷´Řhľp–ęł #m7*xWü_WL0„!םRéO¨u#3{Lťx3a®Ź zBv6MX2g3¨»FËÜ^8őVŽ®e¸ÖT›“öČş'»'@§ť‡k:PJhŮu Í ×ĘűK}ťyĂ }–Íť’xWN·Ë¬¨Ň*/‹§o/ěÄ@ŇJ㽑Şmd¶×ń˝ě™ŔDO„nž @$›§š‚M#wDFőŘŠZ®˛HÄČpşj)bć×uľ-¦ÖMĎáąVpX㹍A›:±xc˛U™Ď‹•eŢxd2iÖ $THčáĘŘněâ"ĹH؉˝RĘaoč¦Ţ. «ňo‡Ç/¸PÁcGŻüńa< ě`7áďUH€\•˘ŻlÝľçäęqMşĘý2/y‘yµä‚ů倚ĺ5O€ ´OŘĆ{˘   Č,[„ČA-ń#‡~šŁ,!D°ĺí€÷GłÇ";_‹­‰ś;–qđ¸ćÝŕ†ÂŮ—4ˇľË 7v´ŚkAţčÜa~5§"ß^¦ßňâŞWďŚ?ˇűÍ«Â>żwpŔ!yćoImŮěM8jů•Ü}m}ÝnrQHRŻŕĆ׹©źe±¸ \ČŐ…YÄEşč/m™ůj»H}Ć4×0`Ô/ăÖőlű[QşěqäJÓĹÎ6w/G}bŤŕQ¬ů¬ţ+O"ŞŚÜmę-P±đ޻ȊlťV٬vť{އÇ[ż¶źWŢ”ű'&Ôµ~MőkJkwÓ{w[d»ű-ě¨u:ÍZßŇŞîjö0ś™üÍGŹXďJëĐ»+“TŔˇÇĂţŇ“™‘ endstream endobj 3470 0 obj << /Type /Page /Contents 3471 0 R /Resources 3469 0 R /MediaBox [0 0 595.276 841.89] /Parent 3475 0 R /Annots [ 3468 0 R ] >> endobj 3468 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [250.904 655.119 281.301 669.067] /A << /S /GoTo /D (structgtg__list) >> >> endobj 3472 0 obj << /D [3470 0 R /XYZ 98.895 747.976 null] >> endobj 3473 0 obj << /D [3470 0 R /XYZ 99.895 717.485 null] >> endobj 3446 0 obj << /D [3470 0 R /XYZ 99.895 645.754 null] >> endobj 1174 0 obj << /D [3470 0 R /XYZ 99.895 630.514 null] >> endobj 3447 0 obj << /D [3470 0 R /XYZ 99.895 592.013 null] >> endobj 1178 0 obj << /D [3470 0 R /XYZ 99.895 592.013 null] >> endobj 3443 0 obj << /D [3470 0 R /XYZ 99.895 512.342 null] >> endobj 1182 0 obj << /D [3470 0 R /XYZ 99.895 497.102 null] >> endobj 3474 0 obj << /D [3470 0 R /XYZ 99.895 365.178 null] >> endobj 1186 0 obj << /D [3470 0 R /XYZ 99.895 325.093 null] >> endobj 3450 0 obj << /D [3470 0 R /XYZ 99.895 296.15 null] >> endobj 1190 0 obj << /D [3470 0 R /XYZ 99.895 296.15 null] >> endobj 1194 0 obj << /D [3470 0 R /XYZ 99.895 271.734 null] >> endobj 3451 0 obj << /D [3470 0 R /XYZ 99.895 246.852 null] >> endobj 1198 0 obj << /D [3470 0 R /XYZ 99.895 246.852 null] >> endobj 3454 0 obj << /D [3470 0 R /XYZ 99.895 209.314 null] >> endobj 1202 0 obj << /D [3470 0 R /XYZ 99.895 209.314 null] >> endobj 3452 0 obj << /D [3470 0 R /XYZ 441.157 138.52 null] >> endobj 1206 0 obj << /D [3470 0 R /XYZ 99.895 121.255 null] >> endobj 3469 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F67 2143 0 R /F20 1558 0 R /F14 1998 0 R /F72 2160 0 R /F11 2953 0 R /F75 2451 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3483 0 obj << /Length 1443 /Filter /FlateDecode >> stream xÚÍY[oŰ6~÷ݰ ¨YŢ/Ĺ0`C×`l­ß’"P,ÚfËť­¬Mý)Ę–l:±­tŘi‹<çđ\ľŹGŠdž`7\Ť°›ÂřËdôú—‰FFJ–Lf ),Ĺ4’X%“"ąNÍĆTÎŇwĺÂşąNß®¦K[Őy]®ŞěÓäýč×Éčďą8!9iJ’értý '<|V0Ł“/~é2aś!EÜĆEňqôç÷LmL1±BXč`"!–Ť Ć8ý'Ł<]•…łkď€\rĘü¶y=ż]”›ú6/2‚ÓvCWťŕHIŮn¸ÁG¤J$<Z7+íę'Hďô/*›‘~É8N_EäR‚Śľ·yě0 ŹrÓ9 ’Db`•ŢÁAŰE×eµ(+ű*KđěĆ|úɼ͢×ď(îčS®«a‚d ßŞŤ]gc8gÝ$PŢ ŕŠÁţä¬a8} kfµŰä¦ő}HĽÍg;-o0¦¶hţpGE=ú´ç‚1śÎHośyăţpů’ŻóĄuúI7}yűc´Ú1ZRPD ş$’Dnëŕ;1'’c„ꔫ!í„"|JŐ­@­fD1äs¦MeÉ, Ř Eő…š{ąE ą¤}ÍO¦P˝jĆ»>yQŘâĐFn"”žoc$JĚ =4Ňeř@SW†r`¤%"€’p(ÖÇ–#QľLm<Ě]µůvߏ.Dµ™”u9އůl##1\«>_Č©ü(4G\v鑟DŹ*ű=ŢÖyąĐŠ˘Čđç8Řš°Ó¨ `ngÄłI‘ĐôÁÇ9RQuGÂB`Ó$‡ňKN!NČv.XŕM3€7ďě,_«µ=…<›™‹Zé=Ť@>¬÷6űŕűŮj¶÷ČyÜyęR˙ …Ďɰ˘,ÄÁłŔâąĘ?™`/ŢâäłD|ˇę(D÷Tż$źod$P …čÁB\´ąa=ěEČ a<…‹/Ô tWëKRńů6† 6đÎuS©s`Žm7íąX\ÜŞ6FÁ€˝ZšÚTuA7Ů”2qĄáK U!ľsOI4DHż§OQ„,«â¨3[Ż–m>nvdŐn ąş¶eUÖeľ(ż9´íŽ˙}_ÉŚ€~… ËüÁBÂ1M‘Öf  H; ˛$âJt“Ź…ä‹Ý…ĘŁ@×Sľ˝á@Şą×]}¬ë&ŕ.Ńz·"tůÎ7::!ÍŔđź-ăTÜcŚ"Š{= ¸×=ř‰BťUu ¬RŚ ŐJÔA‘Ť €>Ä|Żwu…ŇS×ËB_e0!" !\G|Ż ř–QZŻ^M®~·ËÔ‹†r‘p—żo\^ÜÂěô*µk[MíS‹Ę b”4:&÷ĺ¦m0mßÖýŞě¦×›řć#ß‚ěb±šćőjÝyŘţp»żş?l1Ţô°÷ÎÝ$aŁţÚ4mɡoÁHw§Ľ1ň‡˛š.Š@»•˛Él[ż#˛R|›n›şX”wŕ˝CI\ů7ÚaáOŤ#1F61‚ś38 w¨·yť7ůXݦőĂÚĆŮa/.®apS€Ę ę†RŃŰš\Ź…pÇÚ"éá±+űő<Ô˙żĐ9{^g$ťß.›ÔŮBíSŮ=]°¨{şIĆ!?ŰÂÎ^úTu#64´ţü”#?w RŠÎĚŽČŢ;„Ţŕ]dé(Ľ­Łn’:Á`ÓśóѤý’#U’{:cÜÁk;ˇ>®le×yÝ6˙«pgšd§ˇđ~ţj“ň0bB›Áo¨yCi[ČtWČ^˛Çs/OătťOmçŮ,Ny´Ü•úcűYɡÁ×ÇyńUĎiŕ¬Vú endstream endobj 3482 0 obj << /Type /Page /Contents 3483 0 R /Resources 3481 0 R /MediaBox [0 0 595.276 841.89] /Parent 3475 0 R /Annots [ 3476 0 R 3477 0 R 3478 0 R ] >> endobj 3476 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [199.165 185.49 251.251 195.561] /A << /S /GoTo /D (structgtg__memory) >> >> endobj 3477 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [231.066 120.258 283.153 130.841] /A << /S /GoTo /D (structgtg__memory) >> >> endobj 3478 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [291.127 120.258 350.691 130.841] /A << /S /GoTo /D (GTGMemory_8h_ac92a27f812adb022f63f0d6754ec3991) >> >> endobj 3484 0 obj << /D [3482 0 R /XYZ 149.705 747.976 null] >> endobj 3485 0 obj << /D [3482 0 R /XYZ 150.705 664.348 null] >> endobj 3453 0 obj << /D [3482 0 R /XYZ 150.705 617.325 null] >> endobj 1210 0 obj << /D [3482 0 R /XYZ 150.705 602.084 null] >> endobj 3486 0 obj << /D [3482 0 R /XYZ 150.705 529.795 null] >> endobj 3455 0 obj << /D [3482 0 R /XYZ 150.705 482.772 null] >> endobj 1214 0 obj << /D [3482 0 R /XYZ 150.705 467.531 null] >> endobj 3487 0 obj << /D [3482 0 R /XYZ 150.705 407.198 null] >> endobj 3456 0 obj << /D [3482 0 R /XYZ 150.705 369.625 null] >> endobj 1218 0 obj << /D [3482 0 R /XYZ 150.705 349.83 null] >> endobj 2113 0 obj << /D [3482 0 R /XYZ 150.705 322.266 null] >> endobj 1222 0 obj << /D [3482 0 R /XYZ 150.705 322.266 null] >> endobj 3488 0 obj << /D [3482 0 R /XYZ 150.705 206.158 null] >> endobj 3489 0 obj << /D [3482 0 R /XYZ 150.705 138.86 null] >> endobj 3481 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F72 2160 0 R /F75 2451 0 R /F20 1558 0 R /F67 2143 0 R /F11 2953 0 R /F14 1998 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3502 0 obj << /Length 1389 /Filter /FlateDecode >> stream xÚĹX]oŰ6}÷Żş ’"E*†¶ë4ÝP,5öŇ"Ó¶VYĘ$ąkúëwůe[Š“Ř퀽úâá˝ç\Ţ{i,\L^Î&gS–eišłEeHf<‰D)ÁlĽQL… /fogÓ`˘•}4-+eŻ®ÔŢ„ŞUuˇ%,cˇH˘ŹłËÉŻłÉßKâ€ě–`HRëÉűŹ8ûˣ$“Á?ćËu° ˘çUÁ»ÉěĚĆr}©ďF‚géľX ĚĄőbş©‹ľlęÎX´…răŮ”â=HŠ„x(ˇŕĄ|07xsž†ź#Ęæś»wÚĹvé|˝2_1‰ĂeżĽľ‰(«¦ĐçëµZ7m'8Ľ».ë˛c3IÂăq ć>ĘâlJXKÔpB$\“^Yo06ÚŚg(“Äł‡mD˙1ŠyB®ü*XĎ9tËżŐ?nBŐÔK˝V Ä –”ńÔ.Łť/ójDO­ŁiłľQ-@-`;N3a8V‰P„‰—ÂÉüÂ˛íą·ĂŔű¨YŘqž÷ů ˘$ß»Kőš÷©]´J}± OáÖď0ýř±Â)˘ĺ'lăŰľ=^8©AČPąiÄx¨y8]ąA¦§é8É–0pDé‹MŠH8|ĄúęËP©„»®hË[ťĂ‹ qÁH\­Ę.rŠaę‹Ő\é»Zu—‘wý8;ě^ú=ű‹~ ćq7H.Z:ýbĂŮ‹hŚ2 F—NśFLWŐčÄ;rýˇę%\aęŞFäEd–Ý—„:If“áÝ­š«…SĄ)6kU÷ů=]őt¤’Yb«{żż@×·›˘·1>hU$L t?)şÝDônşżsxMÁú7…†¦`޶đ!&)”X-śfšś0 čő=„iĄŚŹ®—‚ňiZ)şmĄ¨mĄ„爛uZşmŞńL úßşeŐÜäŐým0iđÖMŻ{ŐÚ˝P¸7]Y»·¦ôőňl*řĹŘPJťŞ?”uQmćʉA†b,óD˙t ¨ÚVĽ®źQ@Ô} &Lé>üůôr BŹlŠSPᙕáúť ˛­žE±ÉŔr]Í8X+]×âśóS_ć]Yč‰Oď.<ŢWâ?Mu˙ţ'¦5Ž?T|kZc¤µŁěđI‚R'‹˛pÓŻkĘ·ÚńJiľLÝVUs«Z_YZÇŕą %<ě|maŐŤn^Ť—íjăćÄÎ{rúř«7“Q§cŮv,Z‹†ÚŤz^ĺ7m‰íŁŤ”›?ďöÍ"…Í>^ĺ‘i\NłU`$wÇ­­} xwÇ™ë ć^6«şÖĺÖŮs© pn+sůĺT>J’mŹőWţ ž«şSe{Żó~­ŠüIN-ĆŔČ7&čM¤”µµé—fS5ë›S ”Ŕ¶w~R‡ ‹ô|ą†LwëÇÍłó~ĎűU©6îdŻEąfŃFu»<5*0mY\äź5Ć‘ Ű©ëŢVĺçRądő[ľÔ1h±ëN6Ť"žnËK•/[ ň”Ä~<ôwÁQśťňw†˙÷E7ô`Ěî‹,E»Cć…ŞU §¦ąk±kż38;·_Ü:V(s#&Ô^|NłsJ}ľ§»|oËÂăI`s›ďÝŞ»v—c(wć±ërÝN{Őč€ţr·4]’¦r ę_Ş(a- endstream endobj 3501 0 obj << /Type /Page /Contents 3502 0 R /Resources 3500 0 R /MediaBox [0 0 595.276 841.89] /Parent 3475 0 R /Annots [ 3479 0 R 3480 0 R 3490 0 R 3491 0 R 3492 0 R 3493 0 R 3494 0 R 3495 0 R 3496 0 R 3497 0 R 3498 0 R 3499 0 R ] >> endobj 3479 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [144.334 680.854 238.419 691.437] /A << /S /GoTo /D (group__GTGMemory_ga5cdc8881f51fa5a160b12cab91cd1a43) >> >> endobj 3480 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [243.721 680.854 303.285 691.437] /A << /S /GoTo /D (GTGMemory_8h_ac92a27f812adb022f63f0d6754ec3991) >> >> endobj 3490 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [149.992 640.68 220.89 651.262] /A << /S /GoTo /D (group__GTGMemory_ga1a62c5f680d0d46d7fcc82627830d33d) >> >> endobj 3491 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [224.376 640.68 283.94 651.262] /A << /S /GoTo /D (GTGMemory_8h_ac92a27f812adb022f63f0d6754ec3991) >> >> endobj 3492 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [142.518 612.461 202.961 623.043] /A << /S /GoTo /D (group__GTGMemory_ga67019a4108ad51fec4870174c50aa857) >> >> endobj 3493 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [206.447 612.461 266.012 623.043] /A << /S /GoTo /D (GTGMemory_8h_ac92a27f812adb022f63f0d6754ec3991) >> >> endobj 3494 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [177.138 181.875 304.66 190.41] /Subtype/Link/A<> >> endobj 3495 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [187.163 168.187 332.617 178.455] /Subtype/Link/A<> >> endobj 3496 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [180.68 156.232 332.112 166.5] /Subtype/Link/A<> >> endobj 3497 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [184.482 144.63 323.959 154.751] /Subtype/Link/A<> >> endobj 3498 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [190.74 132.214 288.374 142.59] /Subtype/Link/A<> >> endobj 3499 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [188.911 120.258 352.298 130.841] /Subtype/Link/A<> >> endobj 3503 0 obj << /D [3501 0 R /XYZ 98.895 747.976 null] >> endobj 3504 0 obj << /D [3501 0 R /XYZ 99.895 699.84 null] >> endobj 1226 0 obj << /D [3501 0 R /XYZ 99.895 584.632 null] >> endobj 1230 0 obj << /D [3501 0 R /XYZ 99.895 483.031 null] >> endobj 2494 0 obj << /D [3501 0 R /XYZ 99.895 454.223 null] >> endobj 1234 0 obj << /D [3501 0 R /XYZ 99.895 454.223 null] >> endobj 2114 0 obj << /D [3501 0 R /XYZ 99.895 429.758 null] >> endobj 1238 0 obj << /D [3501 0 R /XYZ 99.895 429.758 null] >> endobj 1242 0 obj << /D [3501 0 R /XYZ 99.895 333.154 null] >> endobj 2115 0 obj << /D [3501 0 R /XYZ 99.895 111.049 null] >> endobj 3500 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F14 1998 0 R /F67 2143 0 R /F75 2451 0 R /F11 2953 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3553 0 obj << /Length 1640 /Filter /FlateDecode >> stream xÚíZKoŰFľëW酢;w™[^6h ˝$ÁĐ´LT¦\ŠnęţúÎp—’(‹2I'Ž ô¤ĄvgçőÍěěó€Ǔ׳ɋ#©Kb­E0;˘ÄPa‰¦&ťC#Ł)7±áQľČ°mĂ·Ëôú2+Ş¤Ę—Eôyö~ňn6ůkÂ`^°­y$±śéĺäăgśAçű€Űŕk=ô2RĂpśL~źP/%\aQUŔ8‰S-Y©!TY/+±Ń”QJĂăŮńŻłŁŰ˘q.ç¦&ăĘŤX#Ö‚íć!ڞ¶Ż“Už’ °·ŤĹ ő!;ŹL•Y‘fµTŤ˘/Ž8ÝrÁÔhBSn‰Ô±›49…ę©Y4ЇůĘýV™k ¶Đ`a~yµČ6Ω;—ç;ŁżŕT~¦˘ĘĘóHĐ0I}oµtżó¬ČĘAOŐô¸Ď4[ˇ Ŕ”1+ĺäüD]Ë Śŕ¨GF1hČ5j4†hîi~Ę‹tq}ókpŰ3 źÝ\e+rń,šJE÷ô{ wöO÷‰†&<©Ęë´Ş§®=Đ‚s.`JĹŤB¦¤Ł?ş.R´çŞĺĽ'2MŚ5ŕCx~â\µhŹSĄtÂś•ď@€–sŹÔőڶeu~š.#.–ĺiµ#@ ę;Ď* ˘]ľ8}ŐÉ6śWsGşĂĎ×]čŕkhÖ :6.LʏC‘&§Ľ`rţq1ޤaµr©%q?ŕÇhĂĘ5©ËÖ ó›A€r0¶Ö’ÄvřeŻIŃSkěź–YuŤ2©°8·ôwÉĎE^Í"Ş7suąĆÁÂ)w‘”.ŽÜŠ#¦ Q¡Ź=*ܨ–Î’Ä–oŤá‹¬H.ł©đůaÔ!pŇdľ®oŐSLŘy·q€öČ“Eţ/Ęă×–¤ŘqîÚî8h€ÍpđIV˝Y^^•ŮjŐĺY@±Ó«F˛¸G˝+’/GͲĽ±”Ź ' ¤­G–ˇŮ^ťťAJđˇé˙–í,mE|vE……µEő ÖŚř%+µ8wó€ŔăT Ľ´ĄÜ./\®Ŕhš §[«V—’Đlóý#VAŮř§IĽs:1ɱhŘţ–>Žű Q5h<ę)ë†#ŚŰ†#|vÂ+i=ÄU-<® hňN> endobj 3505 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [198.537 575.749 242.393 586.332] /A << /S /GoTo /D (GTGOTF__Structs_8h_a5431afdab8fe4162268778e93f0950c9) >> >> endobj 3506 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [242.893 575.749 304.681 586.332] /A << /S /GoTo /D (group__cotf_ga28de2748e0f27c11131e4bb097a25bf9) >> >> endobj 3507 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [308.167 575.749 354.515 586.332] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3508 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 547.602 232.557 558.184] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3509 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.057 547.602 286.695 558.184] /A << /S /GoTo /D (group__cotf_ga87f8715c93843ed56a9f4d9ed2e7d6d8) >> >> endobj 3510 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [377.75 547.602 419.122 558.184] /A << /S /GoTo /D (GTGBasic_8h_a7a5d407dd23dfced8b5937332ff80972) >> >> endobj 3511 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 519.562 232.557 530.037] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3512 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.057 519.562 307.29 530.037] /A << /S /GoTo /D (group__cotf_ga5a2457a81c113ea6b241a68942a63371) >> >> endobj 3513 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 491.415 232.557 501.889] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3514 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.077 491.415 306.745 501.889] /A << /S /GoTo /D (group__cotf_ga38f77fbd3406ac7528fa0d7f18328c55) >> >> endobj 3515 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.117 464.578 249.092 474.205] /A << /S /GoTo /D (structContainer) >> >> endobj 3516 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 451.312 232.557 461.787] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3517 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.816 451.312 308.484 461.787] /A << /S /GoTo /D (group__cotf_gac740f7116291d76bb3afd2154a1e5962) >> >> endobj 3518 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.117 424.476 232.952 434.102] /A << /S /GoTo /D (structState) >> >> endobj 3519 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 411.21 232.557 421.684] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3520 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.584 411.21 310.018 421.684] /A << /S /GoTo /D (group__cotf_ga655059acd582bec8ce5b38199d8b5a1e) >> >> endobj 3521 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 371.107 232.557 381.582] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3522 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.604 371.107 303.78 381.582] /A << /S /GoTo /D (group__cotf_gad4f12572f83d4d88c2a69807853ecf98) >> >> endobj 3523 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.117 344.271 228.91 353.711] /A << /S /GoTo /D (structLink) >> >> endobj 3524 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 331.004 232.557 341.479] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3525 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.967 331.004 301.023 341.479] /A << /S /GoTo /D (group__cotf_ga7eec321ccab983ece92ebca92887d1cf) >> >> endobj 3526 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.117 304.168 243.104 313.609] /A << /S /GoTo /D (structVariable) >> >> endobj 3527 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 290.902 232.557 301.376] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3528 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.757 290.902 313.357 301.376] /A << /S /GoTo /D (group__cotf_ga14a33c2535d2b7da582bd331993999e9) >> >> endobj 3529 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [250.725 278.947 294.581 289.421] /A << /S /GoTo /D (GTGOTF__Structs_8h_a5431afdab8fe4162268778e93f0950c9) >> >> endobj 3530 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 250.799 232.557 261.274] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3531 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.997 250.799 318.703 261.274] /A << /S /GoTo /D (GTGOTF__Basic_8h_a0f33b3122733e83c35e5b71d6c4f1a18) >> >> endobj 3532 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 225.767 232.557 236.241] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3533 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [234.276 225.767 312.364 236.241] /A << /S /GoTo /D (group__cotf_gafd43ca39c5ad8a5d88325480ff9fca75) >> >> endobj 3534 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [317.069 225.767 349.726 236.241] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3535 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [215.127 200.464 252.101 208.557] /A << /S /GoTo /D (structContainer) >> >> endobj 3536 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 185.664 232.557 196.139] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3537 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [235.054 185.664 324.467 196.139] /A << /S /GoTo /D (group__cotf_gaa83d4e4210ed18a25f697fff36f43b84) >> >> endobj 3538 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [329.95 185.664 362.607 196.139] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3539 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [225.319 158.828 262.294 168.454] /A << /S /GoTo /D (structContainer) >> >> endobj 3540 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 145.562 232.557 156.036] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3541 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.973 145.562 288.293 156.036] /A << /S /GoTo /D (group__cotf_ga8535ccc5a1ec7d512eef43a5588ec6db) >> >> endobj 3542 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [292.695 145.562 325.352 156.036] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3543 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [216.604 120.258 237.439 128.352] /A << /S /GoTo /D (structState) >> >> endobj 3544 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [253.393 120.258 290.367 128.352] /A << /S /GoTo /D (structContainer) >> >> endobj 3554 0 obj << /D [3552 0 R /XYZ 149.705 747.976 null] >> endobj 1246 0 obj << /D [3552 0 R /XYZ 150.705 717.021 null] >> endobj 3555 0 obj << /D [3552 0 R /XYZ 150.705 594.699 null] >> endobj 3551 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F75 2451 0 R /F67 2143 0 R /F14 1998 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3600 0 obj << /Length 1694 /Filter /FlateDecode >> stream xÚíZÝs›8÷_Á#ĚÔŞľ}ęW’™önÚK<}i;âČ6r€{M˙ú[!Á1‰q›L®Ó—@@Ú]ýö·«]aěÍ=음^NFOŹąôBIÉĽÉĚ‹"FÂS,D+orá}ô 1Uˇ29y79ţň2.’)ZŘgÇÉRŰ»S= öu®Ó©y„‰ÂľÁçÉ›ŃŃdôĎ€N쑍ŽBJĽéjôń3ö.ŕÝ#…ŢżŐČ•Ç8CŠyKďlô×;»qŰ~Š[ö"‘ ©§°BX„vź(µflć;ňą3čôdä} !ý27K§úK®Ëu«~úĄĽ{2ŤB°yż.ge\ęÎ ÷ţŘ=ż)Á˙€®8źëé®Ée˛Ňţ“`Ě0÷§YZ”Aőfşs3ăé1á^HPi Ś ‚ ĆĚęŔĹQ`ą1ĺőŐFۨúTH‰(§CT€Ěň‰äąIéŤ A‘ÍűJ§ę]0"|ť¤c]údËŹöúôX*‹e¤ĚÜ1ĐRJ v=ącĐYPl%9¶— w3]çŔř˛×±Ő Ýś€YjĄÄöR”ńÔhştOÓ‹ŚtŢŇ| ˛Y­ěÖůŻŔIq’byKŚŹ:¶`SŠhÄ:Z9éÁ‚Źó*řýěj÷ňaČáńÇE;ţ¨ QAl_üQ† µ j+ţöS!ˇXŤż˝*"&»‘pŞVG¸cż|XZŢŕ¤ŐžYIYŘ›«Üšdk÷Äĺu…ńŁä1Ç/..Ž,Ŕią˝V3ä`›Éí}„7Iž1ŇżŹŔž,ČDîčŔ˝DV¨źł‘ČGş‘¸Z |[§v{m<=€‘âÁÉi•Y!t]¬˙‘¤—Ű´â í`N -NrIkß™7˝ś¤HíUÜěâ$—dŁCôrné ~ůÔj¨h Uâż˙úćBĺ'óNńR ŠXżżڰ´€KSńhóçzďŘ‚ŢńukCÓ˝6”\ögJf˘đ(˝Ř~ňJ3ą~‚TˇĄ_’ßÖ]p¨#°_‡"ŕďđwţŹ"đ¨nX~•ĐŁ°W P—nź°aŢX€ôvc!Eă^Ů_ŕ2:¸łŘK”2uPAևٍ»˛-$H©­ţ'H›Ú}_rBD±­^ď·+Ô~^I|n‚b©o±é÷¤]?ŃG^ö#ä…ÉmňňMË ozÉ+<¸›ŘO‡4iP†˝‹Ľ ö&yŁ0ěö÷AŢmĂv/Űé~µi¶L>[ź˙fň}2YÜ;“Á…EMň6NĎňlő«łZ….?ż‚µµăŔÇŚ1Äľ»ě#a$x¸2:Ô|1*zrS‘­śď^YąîHÎťtL®©± ÜĘ0]Ý@ÜAPŐnĂIŞrŇľ@6ËiÁxś¤ń2ůn°ĐÝ#"°ŔĄůF˙0îćbÔpጔ¤=‚Š«“(%eó5ڱ˙Z—q˛ÔĆ4„˙Šiž\• 4€·8; ‘•gľžLNŞŹ‚ — ę'…˝VßHĚMµ‚ęÍęj© 5âřnUŹÍ pgÂą‘榤ĄÎgć,·bM5,ł×ą6§Á’˛~S#TTŮ wÓšqQcŞńU—t;°lQŁ@5KÓ*ynľwĐ4Ű ő€GBÄą ĄV Fd€µ˘®¶}PîŻËEfm9Ô×­łýevĄswr玑Ď:¨:B\¸ČH§YâćśÖy|쬱_/˝úî-X¤D·mUQť™fą†ňµ~ľŚĎóÍň[S„ťŢń÷nËÚˇĽÍŠŻZ ťoHÄ SËä]ďg­Ń1÷M¶HSÚΞ7f+‹mFHľ E“#ĆšD˙wüD<×iˇ“ü|ĽŠË•žĆwBjetŚ|[qŢ~ZIëlż^f«óˇBbÍ)ĹĄqhj%=źŻ -Á«ŰÍł:ćý—‹DŻÝoĚÁÖ—Ű|>”“ gńW#cOŰ©ëŢ-“݉ůlVťÄsĂAKĢlET9Ó–ń<7Bîrq}Ýő ‚CDq4äőH$˘JňÖH"‰pÝéž4 )Ú• YSDŘŻłÄ‹+‡ ĺîŠ µw?ŁŃ3ęţ›wfnp%ŮlV^h6Ą…ÓZuążÚˇ«Uˇč"íufýíznöE_w39@ő-KB endstream endobj 3599 0 obj << /Type /Page /Contents 3600 0 R /Resources 3598 0 R /MediaBox [0 0 595.276 841.89] /Parent 3475 0 R /Annots [ 3545 0 R 3546 0 R 3547 0 R 3548 0 R 3549 0 R 3550 0 R 3557 0 R 3558 0 R 3559 0 R 3560 0 R 3561 0 R 3562 0 R 3563 0 R 3564 0 R 3565 0 R 3566 0 R 3567 0 R 3568 0 R 3569 0 R 3570 0 R 3571 0 R 3572 0 R 3573 0 R 3574 0 R 3575 0 R 3576 0 R 3602 0 R 3577 0 R 3578 0 R 3579 0 R 3580 0 R 3581 0 R 3603 0 R 3582 0 R 3583 0 R 3584 0 R 3585 0 R 3586 0 R 3604 0 R 3587 0 R 3588 0 R 3589 0 R 3590 0 R 3591 0 R 3592 0 R 3593 0 R 3594 0 R 3595 0 R 3596 0 R 3597 0 R ] >> endobj 3545 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 704.174 181.747 714.649] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3546 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.43 704.174 243.725 714.649] /A << /S /GoTo /D (group__cotf_gafcaf513ad403f1073a60292ee797422c) >> >> endobj 3547 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [247.393 704.174 280.05 714.649] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3548 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [199.066 677.464 219.9 687.187] /A << /S /GoTo /D (structState) >> >> endobj 3549 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [316.889 677.464 337.724 687.187] /A << /S /GoTo /D (structState) >> >> endobj 3550 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [353.678 677.464 390.652 687.187] /A << /S /GoTo /D (structContainer) >> >> endobj 3557 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 664.517 181.747 674.992] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3558 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [181.946 664.517 238.309 674.992] /A << /S /GoTo /D (group__cotf_ga91c6066968d7c788dcd88c264a93636b) >> >> endobj 3559 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [241.493 664.517 274.15 674.992] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3560 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [177.326 649.859 198.161 659.485] /A << /S /GoTo /D (structState) >> >> endobj 3561 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [214.115 649.859 251.089 659.485] /A << /S /GoTo /D (structContainer) >> >> endobj 3562 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 636.815 181.747 647.29] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3563 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.716 636.815 241.294 647.29] /A << /S /GoTo /D (group__cotf_ga7b5fa3f1a3f5615fe9316c692e9bce3c) >> >> endobj 3564 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [245.248 636.815 277.905 647.29] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3565 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 597.158 181.747 607.632] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3566 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [183.562 597.158 239.226 607.632] /A << /S /GoTo /D (group__cotf_ga0e6f15e063533999a4587f5aff536c4b) >> >> endobj 3567 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [244.027 597.158 276.684 607.632] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3568 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.318 572.077 181.11 580.17] /A << /S /GoTo /D (structLink) >> >> endobj 3569 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 557.501 181.747 567.975] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3570 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [183.914 557.501 236.234 567.975] /A << /S /GoTo /D (group__cotf_ga42c372c6ccb6362453c27f74df3a3dfc) >> >> endobj 3571 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [241.387 557.501 274.044 567.975] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3572 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [161.308 532.493 178.1 540.328] /A << /S /GoTo /D (structLink) >> >> endobj 3573 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 517.843 181.747 528.318] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3574 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.1 517.843 228.807 528.318] /A << /S /GoTo /D (group__cotf_ga5b0831b85cc3e6ebd78224a4199b1cfd) >> >> endobj 3575 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.145 517.843 264.802 528.318] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3576 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [427.395 517.843 444.603 528.318] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3602 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 505.888 144.233 516.363] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3577 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [159.065 492.763 190.051 500.856] /A << /S /GoTo /D (structVariable) >> >> endobj 3578 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 478.186 181.747 488.661] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3579 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [181.834 478.186 231.034 488.661] /A << /S /GoTo /D (group__cotf_gac288ab52595162f8b855b95eb3a6511d) >> >> endobj 3580 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [234.107 478.186 266.764 488.661] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3581 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [427.395 478.186 444.603 488.661] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3603 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 466.231 144.233 476.706] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3582 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [198.339 453.178 229.326 461.013] /A << /S /GoTo /D (structVariable) >> >> endobj 3583 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 438.529 181.747 449.003] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3584 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [181.834 438.529 231.034 449.003] /A << /S /GoTo /D (group__cotf_ga372542376c4963ad7c3223524a365805) >> >> endobj 3585 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [234.107 438.529 266.764 449.003] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3586 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [427.395 438.529 444.603 449.003] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3604 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 426.574 144.233 437.048] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3587 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [227.398 413.448 258.384 421.542] /A << /S /GoTo /D (structVariable) >> >> endobj 3588 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 398.872 181.747 409.346] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3589 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.247 398.872 256.983 409.346] /A << /S /GoTo /D (group__cotf_ga647e099aae188f5b818fe4c32d1d515d) >> >> endobj 3590 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 371.17 181.747 381.644] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3591 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.247 371.17 239.875 381.644] /A << /S /GoTo /D (group__cotf_ga702d5cd834f6a960a57f4575a0e1954d) >> >> endobj 3592 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [177.138 181.875 304.66 190.41] /Subtype/Link/A<> >> endobj 3593 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [187.163 168.187 332.617 178.455] /Subtype/Link/A<> >> endobj 3594 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [180.68 156.232 332.112 166.5] /Subtype/Link/A<> >> endobj 3595 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [184.482 144.63 323.959 154.751] /Subtype/Link/A<> >> endobj 3596 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [190.74 132.214 288.374 142.59] /Subtype/Link/A<> >> endobj 3597 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [188.911 120.258 352.298 130.841] /Subtype/Link/A<> >> endobj 3601 0 obj << /D [3599 0 R /XYZ 98.895 747.976 null] >> endobj 1250 0 obj << /D [3599 0 R /XYZ 99.895 343.891 null] >> endobj 3598 0 obj << /Font << /F46 1592 0 R /F20 1558 0 R /F14 1998 0 R /F67 2143 0 R /F45 1590 0 R /F75 2451 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3638 0 obj << /Length 1205 /Filter /FlateDecode >> stream xÚĹX[oŰ6~÷Ż Ú XŢ)Ă€.cE¶n±1 H C•™D¨#e˛Ü-˙~‡eK‰â$…g?‰–ĎůÎwn4 şFŤG?OGďN…B1N”âhz…¨$X‰4ʱ"Mçč"Đ*ŚNNó…±ë88.łŐ­)ę´ÎË"ü<ý8:™ŽţQĐKíč8fe·Ł‹ĎÍáăGD0ObôŹ˝E\p¬©Ý¸@“Ń#âÁ̤]ÚG U" ze˘zX‰ĆDĆ+Ž1 #J NWEćŕEŚ !¶äĚl!(b«ž~LíţÔqŠ…ä ďäę*Í̬2őŞ*f5 :ř4==6—„°Â•$/LĺÉ^ (Ž“¤ŐtI$ #‘ +‹ĄW•…:¸Iýn*P»™cE(ĚcąŮLx#¤YÇ„Ć4Ń­LşČÓĺ@Ă ]«z‘už`Iô ¬«5Q÷wĆĆ+B©&1."Jq"U u+ŞÄłHS}LÔ0[qňŹÝ XÓ\¤·OóÁ$,ţ¨Ž 2HL…Ę;yIź+#j3RČ…RÄ8– Eś`ĹU[N‰/Öńt őń¸“0Ć1c)A0!ńÖN‚cÍ×}dÝ16@¦„"¤ÄÄWô¤®VY˝Ä7 “ľĹÁęÜ\«¦2EfzŽľ;e¤›¤J:b1´Q ®Ě@1ř&«=Ś8ăÁuţ-d20ţg}cě‚׋ňKşđ/ˇü÷´7‹+ßČüűÂą™7[ë˛yw“†ŚŤúžvn±4‹üöna FÖŰŘ\QI_‡®/bꞓAVPcĹD#ř6/˛Ĺjî÷FRB'OÖéůă€.Ťµ ­Ŕ˛žçE Ä?Ö$´^đ§M4RXwš5¨HA.˝d:Ë— ú D€j>đ˝!!˘4ë>“:ÍľÚÍ.ęi˝B@Ś8—ÍÎă´N›ěiŇjUA0{E2śCT5( ĺĆÂëşdLöö˘‹HJ´­óʶuR]ű‚9w‚vFOęim¦!…ܰ}v‰‹/mă»3łŰ­ÉYł“ÔÚłŤ{ĎŽvMďÇŮg0Żď˙ 5Á˝Ú“§'Mc)ŔxýB’wĺňY^|Ýs\­Éý8×„Ń ‹ OżŘľ0{&xĂ~.ë+ȨYV.Ęę٣ĦçFm·ěu^˛~}»ŐŰ˝y;÷š·űň뇿fż7矎N&“‡Š¬„ý·/ ä í7˙(@·Î~űĺl F"vŽä•vCŚoŰ&Í÷Ұ[‰ ŠÜZß ŠpĐÎŤÎĐ€z?!˝1ÇţéŘ´Z ­ <ěřˇć)TÉĽČëŮQi»G˝ĺLçďE\zĄŐŁż˘;fč¨ď²C‚&ö öäÉţ€N7OL.‹čq÷90MgöôţÔyö$5ŃPmőo=‚>pđ’3’Ľć¸˝•Vi%Ü˝ ôěmt˘0‘Ţý±:„7÷Ńî–žÓ0!ÁĘ_R¸«šţI(kV”ĽgÉ{ć]Y·K/ě4çY«/&˝Ëí|KëVÔŇ1žŽî…ăďľ˝"9 ţ˝żv×y¦xHÖ».x· endstream endobj 3637 0 obj << /Type /Page /Contents 3638 0 R /Resources 3636 0 R /MediaBox [0 0 595.276 841.89] /Parent 3475 0 R /Annots [ 3605 0 R 3606 0 R 3607 0 R 3608 0 R 3609 0 R 3610 0 R 3611 0 R 3612 0 R 3613 0 R 3614 0 R 3615 0 R 3616 0 R 3617 0 R 3618 0 R 3619 0 R 3620 0 R 3621 0 R 3622 0 R 3623 0 R 3624 0 R 3625 0 R 3626 0 R 3627 0 R 3628 0 R 3629 0 R 3630 0 R 3631 0 R 3632 0 R ] >> endobj 3605 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [199.165 509.395 240.949 519.869] /A << /S /GoTo /D (structStateType) >> >> endobj 3606 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [199.165 498.274 222.093 507.045] /A << /S /GoTo /D (structState) >> >> endobj 3607 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [199.165 483.746 258.882 494.22] /A << /S /GoTo /D (structContainerType) >> >> endobj 3608 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [199.165 472.625 240.026 481.396] /A << /S /GoTo /D (structContainer) >> >> endobj 3609 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [199.165 458.097 245.88 468.365] /A << /S /GoTo /D (structEntityValue) >> >> endobj 3610 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [199.165 445.272 242.716 455.54] /A << /S /GoTo /D (structEventType) >> >> endobj 3611 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [199.165 432.448 236.457 442.716] /A << /S /GoTo /D (structLinkType) >> >> endobj 3612 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [199.165 421.407 217.601 429.891] /A << /S /GoTo /D (structLink) >> >> endobj 3613 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [199.165 406.798 252.229 417.067] /A << /S /GoTo /D (structVariableType) >> >> endobj 3614 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [199.165 395.758 233.373 404.242] /A << /S /GoTo /D (structVariable) >> >> endobj 3615 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [199.165 381.961 235.542 391.624] /A << /S /GoTo /D (structotf__color) >> >> endobj 3616 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [206.517 324.375 276.769 334.039] /A << /S /GoTo /D (GTGOTF__Structs_8h_ad4c770f8a29f82d705f3d34839112bd1) >> >> endobj 3617 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [206.517 310.739 285.171 321.214] /A << /S /GoTo /D (GTGOTF__Structs_8h_a130bd1fa89fcb7de0aa7f677367617db) >> >> endobj 3618 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [206.517 298.726 266.315 308.389] /A << /S /GoTo /D (GTGOTF__Structs_8h_a3c2af9e794d9818410c109edbff1b05a) >> >> endobj 3619 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [206.517 285.09 267.238 295.565] /A << /S /GoTo /D (GTGOTF__Structs_8h_a1eeb6fb02ea08eb2a4d13aa85eb218e7) >> >> endobj 3620 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [206.517 273.077 248.382 282.74] /A << /S /GoTo /D (GTGOTF__Structs_8h_a99ee3204ed0c6983d4c3831c710512cd) >> >> endobj 3621 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [206.517 259.441 272.17 269.916] /A << /S /GoTo /D (GTGOTF__Structs_8h_af9e408a636b2f8b2e25313840ecbbb97) >> >> endobj 3622 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [206.517 246.617 269.005 257.091] /A << /S /GoTo /D (GTGOTF__Structs_8h_af3b9c07d3e9f14f1a5a2fd06608c98a3) >> >> endobj 3623 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [206.517 233.792 262.746 244.267] /A << /S /GoTo /D (GTGOTF__Structs_8h_a79fb90b4058ba08f90c48345b160b0d2) >> >> endobj 3624 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [206.517 220.968 278.518 231.442] /A << /S /GoTo /D (GTGOTF__Structs_8h_a056658e2ec1a1406523a8ed55c1b3eb3) >> >> endobj 3625 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [206.517 208.954 259.662 218.618] /A << /S /GoTo /D (GTGOTF__Structs_8h_ab840a6d3509bd2b2020b8f3e9e867b4c) >> >> endobj 3626 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [206.517 195.318 282.678 205.793] /A << /S /GoTo /D (GTGOTF__Structs_8h_a4597283a35748da14c86a9627fbac1c0) >> >> endobj 3627 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [206.517 182.494 263.822 192.968] /A << /S /GoTo /D (GTGOTF__Structs_8h_af08b9e0dac007575319427318031eed8) >> >> endobj 3628 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [206.517 169.669 264.745 180.144] /A << /S /GoTo /D (GTGOTF__Structs_8h_aee931ce92cb0019ac6d888ddd7bb9c5e) >> >> endobj 3629 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [206.517 156.845 269.677 167.319] /A << /S /GoTo /D (GTGOTF__Structs_8h_a211f313d3a452a7f158287adf1044020) >> >> endobj 3630 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [206.517 144.02 266.512 154.495] /A << /S /GoTo /D (GTGOTF__Structs_8h_acdd521c6645619bb9579712e4adc3fe4) >> >> endobj 3631 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [206.517 131.196 260.254 141.67] /A << /S /GoTo /D (GTGOTF__Structs_8h_a7c4f0baad6f3a854d830ba8c092f9b0b) >> >> endobj 3632 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [206.517 118.371 276.025 128.846] /A << /S /GoTo /D (GTGOTF__Structs_8h_a392bd438e06781c37c0dd2f44f0fc5b8) >> >> endobj 3639 0 obj << /D [3637 0 R /XYZ 149.705 747.976 null] >> endobj 1254 0 obj << /D [3637 0 R /XYZ 150.705 717.021 null] >> endobj 3556 0 obj << /D [3637 0 R /XYZ 150.705 699.825 null] >> endobj 1258 0 obj << /D [3637 0 R /XYZ 150.705 699.825 null] >> endobj 2116 0 obj << /D [3637 0 R /XYZ 150.705 661.523 null] >> endobj 1262 0 obj << /D [3637 0 R /XYZ 150.705 661.523 null] >> endobj 3640 0 obj << /D [3637 0 R /XYZ 150.705 527.893 null] >> endobj 3641 0 obj << /D [3637 0 R /XYZ 150.705 342.154 null] >> endobj 3636 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F14 1998 0 R /F72 2160 0 R /F20 1558 0 R /F75 2451 0 R /F11 2953 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3693 0 obj << /Length 1461 /Filter /FlateDecode >> stream xÚĹYßs›8~÷_ÁĚ˝ŔL­ęB§ô®ŤgŇŢt®őôĄéx,Ű\0ř0n›ţő·B‚qbÓ&ő“‘vżý´ě®ÖŘY:Ř™ŚţśŽ^^ř˘(3]8Q„Â;‚…(Ŕ™ΝϮ@‘7¦"t'ÓÉűéĹěcYěâr‹Vfö"I•yú Á®*TÉXÄ\!Ľ/ÓËŃ›éčż­Ř!wZ|RâÄëŃç/ؙûK#…ηjĺÚa>C‚č}©óqôĎ[ä¸mĹ-  PRG`0Ť W”ň F˝Ďů<樏Ą,y2Móx¶- -ŕű°lŕ5Çî í%Â-o7ĘĹ/ŚÓ¤É¶ś­”ś?7_jĹÚĽél[Đ‚lÇłL®Ő¬Č4‘ŰŮď!ţhźś3°«™ĚĽ ßkŮ µĺÍŔxQşSłßs:şs˙°z&Î[Flµś©G€mÎsƢPęSÍJ€ßć¶ń˘đ!śä9pţ®.h’©b ËŐÖÎľ“0ݶ` đ“0ţ&+“*+€ qç8Ôz_kÓI¸~SĹJń`Ŕ@oi¶í-ĎÂţ»$»„\t·ś„vŤŕ8–ßUÂÍI¨í€Ł®!:ĘŢ:ä´ü?dŮ/t;ň.UşĽIón¨|yA|'‚ÄN«ę€`‚|?‚WĆěÁ˝Š@ _řő6ĐfTőm=P™P×4[™͵°cěľVĽS5ŰiŁm\$›2ÉłžE`@+őµŘJś˝yÖ¤m˝1ŁĚ]&&DŮaąRúşË4ż–©ťŢí{™ÍÍĂb—ĹZżťĎśŚ}UćFÄJęS7â;Ň™Ćb’ő&Uk•Ťµ•qnC}Đ!ď cˇş6󙽹~ň|}Łöq·}ľ*ńBpXB„©őIŚČµĆ§ÖšWőÝ]ąĘ –źňZy¬f5Í7ŞŘšď.!ćál•žĎÝB7dç‰Ýóag÷Ś-Ó_¸qę§·€HđÖG€Ď6źČ˘0ÂP±S穼.´(sȱŮ~2úĚ4řX|;©Ŕ($üÔ˛y·Çˇµ" \űQ^ć«,Ó[‹çRű¸üˇgTň}(›>bŚÖ˙•?@Ĺʶ*)®ÇkY®U,Rjdt8}[ů|ĺ'IćŮňo—ćëëˇC¸ä4±íF8IçË5D$­‡g$tŕý-ËU˘v¶űĄű­HQ,‡ú¤˘†Ĺ…üŞeyÂfkÝű4ůš@Ŕ0Ą…\j4ޏ݆FUZ*—…rčäŠ#Lh÷«smr…˝r›\‘Ç;°&–ÂşąŁß$ŁÎĄľ×˙ä°°qnÇČfęž"p»¬Ë±Y$hkQxج©ZK€D÷2‚ĐŻzKA3Ň]ű SB(…ú‚ř ­éRDM»´jŹv Đ ÂŤ$ť÷+H¦—uO+#wřZ‰ŕ0®VÝ5ŰŁ”E`*y Ą>ś9']ĄűĚä(ŕ)4rH<čj¬ú{´Bxöýź$·ă‚LD©čj˝×ňę9şľ%™ČK)˘$Ş«ŤŔÜTĎ:{÷5ď ĹŃć}ýwC€¨üÖß Q€0·Ŕ' .ů˛¬jE]ţfuFŤ°[çűWߨo!˘'‚ĎhtFíhˇsnW’“¸–B\”±j˝“e˝TÇ“é¤"±š¨n6gľÎujú~»¬ľb•ő©ú˘üR endstream endobj 3692 0 obj << /Type /Page /Contents 3693 0 R /Resources 3691 0 R /MediaBox [0 0 595.276 841.89] /Parent 3697 0 R /Annots [ 3633 0 R 3634 0 R 3635 0 R 3659 0 R 3660 0 R 3661 0 R 3662 0 R 3663 0 R 3664 0 R 3665 0 R 3666 0 R 3667 0 R 3668 0 R 3669 0 R 3670 0 R 3671 0 R 3672 0 R 3673 0 R 3674 0 R 3675 0 R 3676 0 R 3677 0 R 3678 0 R 3679 0 R 3680 0 R 3681 0 R 3682 0 R 3683 0 R 3684 0 R 3685 0 R 3686 0 R 3687 0 R 3688 0 R 3689 0 R 3690 0 R ] >> endobj 3633 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [155.708 704.174 206.36 714.649] /A << /S /GoTo /D (GTGOTF__Structs_8h_a9fa155b76e1dd07fef16ce25a8ec2e4a) >> >> endobj 3634 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [155.708 691.113 195.08 701.587] /A << /S /GoTo /D (GTGOTF__Structs_8h_a4a2b788c57024b0a86736bb95a38e055) >> >> endobj 3635 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [155.708 678.051 203.177 688.526] /A << /S /GoTo /D (GTGOTF__Structs_8h_a8521fe4f0f12ace659d2bac575e305d5) >> >> endobj 3659 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [155.708 664.99 219.621 675.464] /A << /S /GoTo /D (GTGOTF__Structs_8h_a782df7843e82f3ab907696cccd1c9287) >> >> endobj 3660 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [155.708 651.928 213.335 662.403] /A << /S /GoTo /D (GTGOTF__Structs_8h_a7b9bb9121b93802031aa77f68bd9862d) >> >> endobj 3661 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [155.708 638.867 202.056 649.341] /A << /S /GoTo /D (GTGOTF__Structs_8h_a07c161fcfe11b3927463db144d313881) >> >> endobj 3662 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [155.708 625.805 200.191 636.28] /A << /S /GoTo /D (GTGOTF__Structs_8h_a5a31709314736602238a55136842e0f7) >> >> endobj 3663 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [180.257 567.552 222.041 578.027] /A << /S /GoTo /D (structStateType) >> >> endobj 3664 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [222.541 567.552 271.804 578.027] /A << /S /GoTo /D (GTGOTF__Structs_8h_a8146ea0bffffa1dd7c878388fb16c435) >> >> endobj 3665 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [180.257 554.491 203.185 564.965] /A << /S /GoTo /D (structState) >> >> endobj 3666 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [203.685 554.491 234.091 564.965] /A << /S /GoTo /D (GTGOTF__Structs_8h_a7c570e29d458693c8eac4d704a62f794) >> >> endobj 3667 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [180.257 541.429 239.974 551.904] /A << /S /GoTo /D (structContainerType) >> >> endobj 3668 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [240.474 541.429 307.669 551.904] /A << /S /GoTo /D (GTGOTF__Structs_8h_aee2e62a56f04c16f7bbed91105f258b6) >> >> endobj 3669 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [180.257 528.368 221.118 538.842] /A << /S /GoTo /D (structContainer) >> >> endobj 3670 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.618 528.368 269.956 538.842] /A << /S /GoTo /D (GTGOTF__Structs_8h_a2c23cf45f3ed352984654e01ee720599) >> >> endobj 3671 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [180.257 515.306 226.973 525.781] /A << /S /GoTo /D (structEntityValue) >> >> endobj 3672 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [227.473 515.306 281.666 525.781] /A << /S /GoTo /D (GTGOTF__Structs_8h_a0d25c80b2aaaaa11755996ae3445f759) >> >> endobj 3673 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [180.257 502.245 223.808 512.719] /A << /S /GoTo /D (structEventType) >> >> endobj 3674 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [224.308 502.245 275.336 512.719] /A << /S /GoTo /D (GTGOTF__Structs_8h_a78956c7044fd5b8813db060804608ee2) >> >> endobj 3675 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [180.257 489.183 217.549 499.658] /A << /S /GoTo /D (structLinkType) >> >> endobj 3676 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [218.049 489.183 262.82 499.658] /A << /S /GoTo /D (GTGOTF__Structs_8h_a5f242d9cb317b19fb3ecebf52f97aff5) >> >> endobj 3677 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [180.257 476.121 198.693 486.596] /A << /S /GoTo /D (structLink) >> >> endobj 3678 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [199.193 476.121 225.108 486.596] /A << /S /GoTo /D (GTGOTF__Structs_8h_a243ec90a6574e38cbea762b94ebb508b) >> >> endobj 3679 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [180.257 463.06 233.321 473.534] /A << /S /GoTo /D (structVariableType) >> >> endobj 3680 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.821 463.06 294.363 473.534] /A << /S /GoTo /D (GTGOTF__Structs_8h_ad24d83b188ca9790a0e28807ac63b449) >> >> endobj 3681 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [180.257 449.998 214.465 460.473] /A << /S /GoTo /D (structVariable) >> >> endobj 3682 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [214.965 449.998 256.651 460.473] /A << /S /GoTo /D (GTGOTF__Structs_8h_a906bcca1bb0f7ab59769e022a8c405f1) >> >> endobj 3683 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [180.257 436.937 216.635 447.411] /A << /S /GoTo /D (structotf__color) >> >> endobj 3684 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [224.608 436.937 268.464 447.411] /A << /S /GoTo /D (GTGOTF__Structs_8h_a5431afdab8fe4162268778e93f0950c9) >> >> endobj 3685 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [177.138 261.926 304.66 270.461] /Subtype/Link/A<> >> endobj 3686 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [187.163 248.238 332.617 258.506] /Subtype/Link/A<> >> endobj 3687 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [180.68 236.283 332.112 246.551] /Subtype/Link/A<> >> endobj 3688 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [184.482 224.681 323.959 234.802] /Subtype/Link/A<> >> endobj 3689 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [190.74 212.265 288.374 222.641] /Subtype/Link/A<> >> endobj 3690 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [188.911 200.31 352.298 210.892] /Subtype/Link/A<> >> endobj 3694 0 obj << /D [3692 0 R /XYZ 98.895 747.976 null] >> endobj 3695 0 obj << /D [3692 0 R /XYZ 99.895 584.221 null] >> endobj 1266 0 obj << /D [3692 0 R /XYZ 99.895 422.434 null] >> endobj 1270 0 obj << /D [3692 0 R /XYZ 99.895 185.806 null] >> endobj 3696 0 obj << /D [3692 0 R /XYZ 99.895 160.9 null] >> endobj 1274 0 obj << /D [3692 0 R /XYZ 99.895 160.9 null] >> endobj 3691 0 obj << /Font << /F46 1592 0 R /F20 1558 0 R /F45 1590 0 R /F14 1998 0 R /F75 2451 0 R /F72 2160 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3715 0 obj << /Length 1528 /Filter /FlateDecode >> stream xÚµYŮnŰF}×W(PHM8ť}qQ]ĂA °—$ ‰vĘ’+ÓNÜ"˙Ţ;3¤ÄˇH‰–é“ćrî2sĎ=WÄŃU„ŁłŃďÓŃĎŻąŚ42R˛hz‘Â"RL#‰U4ťGĆJObŞ gă×ů"łçzüçjvwť-‹´ČWËɧé›Ń«éčź\‘Gš’hv=úđ Gs¸ů&Â}uŹ^GŚ3¤}q]ŚţáŇąćŃ9«…Iŕ,V íťťŻ&±Äxüźu Ŕ9bŘ€»ů‘0î®Ç S\D±A\ 7],Vłä¶XßÍŠŹXŕ›býŇ7YyşČo‹äK–Îá ň $`¸şĆ‘—ö<Š}4>]¦×™ÇřŐěÝŮ—tí^4IN˘@rJ~r7ŔOMŁÚe‹ví|µ·ůżŮ겂˛÷¶p´'†ŮŇž%ÖËÄÂĽ öo%×ő cŠ1Ň\ŮŚŮÍĹ؉şLÝŰćMĐžyKyzŰť8Č?â”u„ĘŽË9"sÎĎÝÔ1ŮHŕSÓ'u°ĘÝÝ&ŹďŮtßż~2µH¸ j„¶ŽěáĚ˝¨=Ľ,ŕĺ„%)kDťÄn{˙0×(zŤ„&Ő3¶1AőŘnŻąÓ›Ö§ę+:ŰřŐ÷“Ď>…`}#CśKVä¶ÄF-ďÔBŰOÄ@[ĎFťź D żő}h“ܤ‰˘d× &źÂ°Nwk‰w6=KŢž_L“ówçS ńc)ăÓbő·S—ĄŹ›áŧů|'Ä«â*qc ĚkëŤĚ ™řôfťÝďN;űx÷ °ÉnňŘŘMçó¤HóEGl“ἋĘ€żűźDuŕGň€ßĎë<ý<š]´)_xM*s@ů* 3)Ô5W~’%€ŕ‘¬·{´/ČXŘ„Jç„6ŰD¶Ĺ̰Č`”Ň’‡óy»đ5`j“ÄNoúp }gCX¤ äk,eşÎZĺ/4Âţ‚Đka)mÝ×Ü’Ç»UýÖĐážfHm…ö˙84\®[üSŹöďղȋ‡ ët%z‚”}Ľ«®¶~Ż XC)›Ç|ݍ>˘HD•Ýg „wOŚe·JăgaoçţóÉjéŹÓ‰Áă»ň›Ęo7kByyÄ„ú3‚O¨9ˇĺ—¶e¬Ę‡r>«đ4ŻÓYV»—ŐŁvăðáĎ^řlŞ/:†Çß®Üŕ™-[ŠRö?Ť¦u endstream endobj 3714 0 obj << /Type /Page /Contents 3715 0 R /Resources 3713 0 R /MediaBox [0 0 595.276 841.89] /Parent 3697 0 R >> endobj 3716 0 obj << /D [3714 0 R /XYZ 149.705 747.976 null] >> endobj 3702 0 obj << /D [3714 0 R /XYZ 150.705 641.357 null] >> endobj 1278 0 obj << /D [3714 0 R /XYZ 150.705 625.958 null] >> endobj 3700 0 obj << /D [3714 0 R /XYZ 150.705 498.139 null] >> endobj 1282 0 obj << /D [3714 0 R /XYZ 150.705 482.74 null] >> endobj 3701 0 obj << /D [3714 0 R /XYZ 150.705 364.385 null] >> endobj 1286 0 obj << /D [3714 0 R /XYZ 150.705 348.987 null] >> endobj 3644 0 obj << /D [3714 0 R /XYZ 150.705 211.703 null] >> endobj 1290 0 obj << /D [3714 0 R /XYZ 150.705 196.304 null] >> endobj 3643 0 obj << /D [3714 0 R /XYZ 150.705 171.415 null] >> endobj 1294 0 obj << /D [3714 0 R /XYZ 150.705 171.415 null] >> endobj 3647 0 obj << /D [3714 0 R /XYZ 150.705 145.945 null] >> endobj 1298 0 obj << /D [3714 0 R /XYZ 150.705 145.945 null] >> endobj 3648 0 obj << /D [3714 0 R /XYZ 150.705 121.255 null] >> endobj 1302 0 obj << /D [3714 0 R /XYZ 150.705 121.255 null] >> endobj 3713 0 obj << /Font << /F46 1592 0 R /F75 2451 0 R /F45 1590 0 R /F72 2160 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3719 0 obj << /Length 1106 /Filter /FlateDecode >> stream xÚĹXŰnŰF}×W(PEµÝűĹA ¤©m(5´fű+­d!2ĄR´S!Čżgvy±(Ż *QŃ+îĚ™ŮŮsfIbDE4ʰ»ś°Âő—dđă—‘FFJ%łČ¤ŤÓHb%Óč]¬ލŇńyrţ69KŻĘânRnĐMu÷l±´Őč;ŰÂć¸E 3,Vfř>y38M˙ DĹy‘¦$šÜŢ˝ÇŃćŢ@ŠĚč裷ĽŤgHç·Ś®żpgUţ"?V ÝćŹ(ŇĆ8ţnjŻ1¦ąuií­^€!‡XŢíôŢće2”8Ţ®mz9ľ¨vĂI‰`áŤö+mŠŰM5* :QŽd77shnłÂÚtă÷!—1ŐŘ^co% IMábžŰФiëď+®čN0J˘Ú1ň!K¨X $•2qŚL IE7čś#ĆŹźX7Ţr±)!…F@ücÄ”i˝ôĆfÓ@PĄ‘Đôë‚v¨Cµ@LvcH‡Ů{ĚpâRł)"˛î9ĺdË;{ŇUE‹ˇ@¦Č(LöÎŚÔ!§«Oׄqç5ŃČř~:uKý,c+9@ľĽšýŢOp¤ ";·×eá)ěAZJ—ňvýZć Í6źŢđ:ˇÚp^ÎSLJt¶*R›MnRčĹ6Ýd3ëôçcŹ$Ŕd=zá&*/·«©+3*WlŢş±/ľ˙űÉG7H@ĐÝb<$¶3·ź×Ô.]¸u2Łź[p÷{Ůbŕ´k3­GžÝÚ 1gËE¶é Ý5 ¬âóź?ŢŔŮăPđG;]wŹÝxĘŕ”h@ŞLpŹ,b´íö‹|Q¦ŻWy™-r[„ڬ›.Ľ'r§[ŇŘÜ)H&ÍÚ@*¸Ż ˇ]v\A6$QŮ‘C@žn­÷™ßWäXĄŐŕňSqůçŨŠđL—K»žJ`O{B’”‰;‘Ľo Ńn\Rźî€'eżŚÓááVŤcđÓiÁ3Tz1ľJŇńĺ8i%Ů ·Şt(ĎdăP®’WŻ ĂlʬtĎŮäCŇoCPi˙˘Č7*Şyô ČAc$ý1ö?HK*$ŕA¬’–ţiéGŇrűs°´ë˘/ŹkeÉ~",Ęź•ćĎÓ¸źü*»ĚG`.2—~sOórQn[.„_U=xŰ“¶Ş?móOG íA'ж»´iÚ9Óýhלş'D ‰y±ş[ʧňc  >Űq®7ßUł&ľ˘Ç ~÷čKüzC/ÝkD±9䥻ůLŕ^vÝ Ú×l#á-»Y’Ýñ3­ľ¬ňęš ŽďęŻÖE5 Ľľb'67"ř„šZ˙›9ŢŻjcŹĽ4xÇE6±;sYŮş2@m«‡fwăo´­Ćż®† Ç˙nçNޱÍ÷KőDŽ- endstream endobj 3718 0 obj << /Type /Page /Contents 3719 0 R /Resources 3717 0 R /MediaBox [0 0 595.276 841.89] /Parent 3697 0 R >> endobj 3720 0 obj << /D [3718 0 R /XYZ 98.895 747.976 null] >> endobj 3703 0 obj << /D [3718 0 R /XYZ 99.895 698.168 null] >> endobj 1306 0 obj << /D [3718 0 R /XYZ 99.895 698.168 null] >> endobj 3653 0 obj << /D [3718 0 R /XYZ 99.895 544.671 null] >> endobj 1310 0 obj << /D [3718 0 R /XYZ 99.895 529.615 null] >> endobj 3652 0 obj << /D [3718 0 R /XYZ 99.895 394.067 null] >> endobj 1314 0 obj << /D [3718 0 R /XYZ 99.895 379.012 null] >> endobj 3655 0 obj << /D [3718 0 R /XYZ 99.895 262.393 null] >> endobj 1318 0 obj << /D [3718 0 R /XYZ 99.895 247.338 null] >> endobj 3656 0 obj << /D [3718 0 R /XYZ 99.895 121.255 null] >> endobj 3717 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F72 2160 0 R /F75 2451 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3723 0 obj << /Length 805 /Filter /FlateDecode >> stream xÚíWŰNŰ@}÷W¬T©˛˛ť˝y× >P (4BŞâň(rC-‡†Uý÷ÎúŇŘÁDn ˝H}ňÚŢ9>;{ÎŽČräĽ ťW‡Ň'†ľ/HxIŞA- őA“pDÎ\^‡ë@ ÷0ÇvlÜ·ÓáÝ$NçŃ<™¦ŢExě„Îg‡!.VÁ‘ÔpF†çěČ_ "0ä>›:!B Ş™ “ľóŢ‚P®ěĐ^JŞŞ‰*h ĘäT5 (§Lxî‹Q|ŔÓŘ2\[Ş/¨ŕ?•&i2,pEˇç»Ľ)CT=„‹  9ů$Í+“ U?P7š5@1I©+P,Kbąř5®»X$épA™ ň¨SË4ßĹ;µŘ†ĆěĐ@ł€ÁŠr-ňŕŃÔëř˘Ż¸źľÄÁ9ŇâP†‰éTúrµÔE4ł4iMP¦÷uqňˇ×ŰĹŚ ^…A=DĆIt‹óM„i€h 1śâFŮMʢ }|%i<ło']‹¨d;NÉČëHľÂĘĄ°ÂŃ…G^·ş'ÝĐ‚ľ¬"ϧ×qjGřUÄPQĄôíţZ̆ĂJ5#¬é¨Ä†2j&Ű™ —¤×< 4ň0-<ŔZšŔoo))câż žË·łaŽÇř€ GńíóÚ4ë ĆČÎĄj;—ö±ň6ŮSbqUúŹ”(Ž'ă;ö‹uo¤ódľ<µ/Ę˝ĄQ­Ë€lp ŐŐěe÷ěúĺÓĽ¬†űáŢţ»"†ÇD,ź@Ĭ¦a˙4Ľéw đjĺá÷iYjüýe…–Ík™›Ç´¬«4Uů•ex;Ům¨4ĐŇWłéÝMwTÓ-ěću˘{n‹ ˘—fłčŰÜţVš/öݱa`(Çű'ú—˛©ňqóíw/ Ç&Č6SŹŤJYŤb> endobj 3724 0 obj << /D [3722 0 R /XYZ 149.705 747.976 null] >> endobj 1322 0 obj << /D [3722 0 R /XYZ 150.705 717.021 null] >> endobj 3657 0 obj << /D [3722 0 R /XYZ 150.705 590.793 null] >> endobj 1326 0 obj << /D [3722 0 R /XYZ 150.705 570.448 null] >> endobj 3699 0 obj << /D [3722 0 R /XYZ 150.705 418.506 null] >> endobj 1330 0 obj << /D [3722 0 R /XYZ 150.705 398.161 null] >> endobj 3654 0 obj << /D [3722 0 R /XYZ 150.705 274.613 null] >> endobj 1334 0 obj << /D [3722 0 R /XYZ 150.705 254.267 null] >> endobj 3698 0 obj << /D [3722 0 R /XYZ 150.705 121.255 null] >> endobj 3721 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F72 2160 0 R /F75 2451 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3728 0 obj << /Length 1007 /Filter /FlateDecode >> stream xÚĹWŰnŰF}×WP@´™˝s]ô!Űpŕ:­Ĺâ@`$Ę&"S®D95Šţ{gą$EĘ´E5ňÄ%ąsćĚmgĽkĽÓÁ›hđęD(/$F)îE3ĎéiÚ‹¦Ţ'_ ™ýÓčôCt2ĺËő$_‘÷ő$ť'nu™Ě ~˛L˛ ~˘†î‡4ř˝Gżµ‚G7Z ő&·OźÁ›âż÷nBď[±óÖă‚M­ÜÜ ~@É“vi•˛ĂĐdXŰAˇ™€˙bš\°,±ü¶Ü 8á,DM…`šĄůřc ŔŹ—iüĹÚ8ݤšJ%# •–RW ÁmҬ±)$˛ľĹ쀢‚ˇP΋•ů[t‡”"Ą7d–uBŽđ|ťµD7ýCŚj!…aT9áé"*tŇ?Y%pqEą°85„2ă Jl,˝Ź—–%ą‹1úąţĹ=Ţ.˛'ŃĂ]R˘iÖÖAěŢşCĎ6h€âT±~lŇi0äđJe”zšÖÍřülŤĎ.Î"‹ůS8_|M2»z„‚1šŚţývĺfĹa“­ZŘJ¤3C|ňV!„‡)„Čľc<:˛Xsˇř!! Áăç!÷©ŽÄÉâۤť:śŰ”ˇĽgęĆó4^ˇZѢÄkĐMwa6ĘIŠ~śl9öleŞgęü%!_fď’8OłŻUX»;RW! S @;÷ZD1o'Š)L=‰ĘšäěMî×׎»üđöx4ęŞN zĂK‰ç‰aݦ51Ú"F÷&6Ęăü)waÇçF÷t(˘™ětű¬vç‘Pő ¦&”ŠNv|ovŰçîĄ$8Wő$G(ÖTńÝwxR+L(އh!H1[ĄQő¸#$EŢč`-7Ľ+ŻF­ę)N¤ŘB˙Ýb˛ľĹi"ÎÓE¶KŐ†#> endobj 3725 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [98.899 118.371 145.615 128.846] /A << /S /GoTo /D (structEntityValue) >> >> endobj 3729 0 obj << /D [3727 0 R /XYZ 98.895 747.976 null] >> endobj 1338 0 obj << /D [3727 0 R /XYZ 99.895 717.021 null] >> endobj 3658 0 obj << /D [3727 0 R /XYZ 99.895 593.406 null] >> endobj 1342 0 obj << /D [3727 0 R /XYZ 99.895 575.549 null] >> endobj 3649 0 obj << /D [3727 0 R /XYZ 99.895 445.149 null] >> endobj 1346 0 obj << /D [3727 0 R /XYZ 99.895 427.293 null] >> endobj 3642 0 obj << /D [3727 0 R /XYZ 99.895 401.132 null] >> endobj 1350 0 obj << /D [3727 0 R /XYZ 99.895 401.132 null] >> endobj 3646 0 obj << /D [3727 0 R /XYZ 99.895 376.73 null] >> endobj 1354 0 obj << /D [3727 0 R /XYZ 99.895 376.73 null] >> endobj 3645 0 obj << /D [3727 0 R /XYZ 99.895 351.548 null] >> endobj 1358 0 obj << /D [3727 0 R /XYZ 99.895 351.548 null] >> endobj 3651 0 obj << /D [3727 0 R /XYZ 99.895 325.587 null] >> endobj 1362 0 obj << /D [3727 0 R /XYZ 99.895 325.587 null] >> endobj 3650 0 obj << /D [3727 0 R /XYZ 99.895 301.185 null] >> endobj 1366 0 obj << /D [3727 0 R /XYZ 99.895 301.185 null] >> endobj 1370 0 obj << /D [3727 0 R /XYZ 99.895 275.223 null] >> endobj 3706 0 obj << /D [3727 0 R /XYZ 99.895 247.64 null] >> endobj 1374 0 obj << /D [3727 0 R /XYZ 99.895 247.64 null] >> endobj 3705 0 obj << /D [3727 0 R /XYZ 145.74 207.099 null] >> endobj 1378 0 obj << /D [3727 0 R /XYZ 99.895 189.059 null] >> endobj 3707 0 obj << /D [3727 0 R /XYZ 99.895 162.173 null] >> endobj 1382 0 obj << /D [3727 0 R /XYZ 99.895 162.173 null] >> endobj 3708 0 obj << /D [3727 0 R /XYZ 315.075 121.255 null] >> endobj 3726 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F72 2160 0 R /F75 2451 0 R /F20 1558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3736 0 obj << /Length 910 /Filter /FlateDecode >> stream xÚ­WMsÓ0˝űWhĘE>D]É–dsŁĄíLfJńp)LÇ8Njš:%v€ţ{V.vp Mz˛"­žŢŰŐ®6@ćČYp”‡§±" K•ŠH6#\Ó ‰Ž¦@“lJ®h"‰ĐiŃÓjQšqBß.‹ő]Y·y[-ëđKvśdÁ÷€#.ŢÉY"8)î‚«/@¦¸xN€EiB~ZÓ;ĹÓÜl\ŹÁ‡<9`BšˇůtTĺUĐ dâ¨j–˛Ĺá„mîËi9CĆ"ˇM»Z­ˇşˇ9ŚsgZ„“¨* PÜěv¦®-Ä#ËĂS=¬‰›Ébˇ;ČPHŠÍáű|…Ü$˝ ĐrŐ8¬Ň ™@&‘BˇrďŞúÖm0Ł 9ORç©= ŢźŮÁßf;şşlš|^îęb˝‡˘e;».–‹ĺĘYň¤h)”±ÄÄŠ¤î,?D#pxŁŃzíY±âBł8•cÁJöö3ŢGÉwŹÝ·kXŇ}ąoÚ`jW-YČ…ŘU‡ç©RLďT}2ěóU• 9Đ…¶9űĽQtą`)ç҇ źĄäĎłň˘łěě"1Íż!o®(»qôýÓŁKt‹Ćâ^ÖEůuV%e´Y×¶¬ćľąü‹VSwŰL¬ţ·&÷1Ib&Mϧ>d/î‹1Ű-ŇĐÄxh»Šńš^„1›=/Ű?/\˙hwW%l=™ÎŰůčˇ)·|‹K”F—€Jµq‰L¤ŢXŤö>=Ć Ŕ”w]¦rn‡Ů„—¸— >áęv90şxs~Ň·’ŕŇĺ‘ĘhÇË!Á‚”>§ăíÚp¬dZĹV¶Í¦ýN¶¶±SuVÖĺ Sxę8uYž…)еOě7÷^Śý¸p#ŻEúZř_3ă NąE®Š/şĘ‹˛·–·ť© -:ĎFÇNŘâúĐý'# żć¦Tbż»é¬ßő„ň endstream endobj 3735 0 obj << /Type /Page /Contents 3736 0 R /Resources 3734 0 R /MediaBox [0 0 595.276 841.89] /Parent 3697 0 R /Annots [ 3730 0 R 3731 0 R 3732 0 R 3733 0 R ] >> endobj 3730 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.923 199.19 284.754 209.664] /A << /S /GoTo /D (GTGPaje_8h_a5aab6af34e98e257ef546c8fdc17ab94) >> >> endobj 3731 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [198.537 135.006 249.368 145.588] /A << /S /GoTo /D (GTGPaje_8h_a5aab6af34e98e257ef546c8fdc17ab94) >> >> endobj 3732 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [249.868 135.006 311.307 145.588] /A << /S /GoTo /D (group__cpaje_ga91d2beb5b926254b7922f7c5fc6e2c1b) >> >> endobj 3733 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [314.793 135.006 361.141 145.588] /A << /S /GoTo /D (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) >> >> endobj 3737 0 obj << /D [3735 0 R /XYZ 149.705 747.976 null] >> endobj 1386 0 obj << /D [3735 0 R /XYZ 150.705 717.021 null] >> endobj 3710 0 obj << /D [3735 0 R /XYZ 215.208 681.631 null] >> endobj 1390 0 obj << /D [3735 0 R /XYZ 150.705 662.364 null] >> endobj 3709 0 obj << /D [3735 0 R /XYZ 150.705 635.233 null] >> endobj 1394 0 obj << /D [3735 0 R /XYZ 150.705 635.233 null] >> endobj 2557 0 obj << /D [3735 0 R /XYZ 217.476 594.069 null] >> endobj 1398 0 obj << /D [3735 0 R /XYZ 150.705 572.99 null] >> endobj 2961 0 obj << /D [3735 0 R /XYZ 150.705 547.671 null] >> endobj 1402 0 obj << /D [3735 0 R /XYZ 150.705 547.671 null] >> endobj 3704 0 obj << /D [3735 0 R /XYZ 178.617 506.507 null] >> endobj 1406 0 obj << /D [3735 0 R /XYZ 150.705 487.24 null] >> endobj 3712 0 obj << /D [3735 0 R /XYZ 197.473 444.372 null] >> endobj 1410 0 obj << /D [3735 0 R /XYZ 150.705 423.401 null] >> endobj 3711 0 obj << /D [3735 0 R /XYZ 150.705 397.974 null] >> endobj 1414 0 obj << /D [3735 0 R /XYZ 150.705 397.974 null] >> endobj 2117 0 obj << /D [3735 0 R /XYZ 231.257 356.81 null] >> endobj 1418 0 obj << /D [3735 0 R /XYZ 150.705 336.371 null] >> endobj 3738 0 obj << /D [3735 0 R /XYZ 150.705 217.382 null] >> endobj 3739 0 obj << /D [3735 0 R /XYZ 150.705 155.463 null] >> endobj 3734 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F14 1998 0 R /F75 2451 0 R /F67 2143 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3774 0 obj << /Length 1465 /Filter /FlateDecode >> stream xÚ­XŰnŰ8}÷Wí‹T,IIĽô­mělŠn‘m„‹´0TYvĽµeŻM§ ý÷’’¬‹íFnźtŁÎ gÎrť™ťËÁ›xđr2G ÉXŕÄSGJ$däđ@ †ąOś;—#B<źrá^Ć—×^€Ýäźlü&ŮÎSto?Ść‹ĚŢ}̦Án¶Éň^ îŠŔűż ăÁż–±Cö–B$(qŇĺŕî3v&đíťQ …óÍŚ\:A Nô çfđ×ŢcD#}«/ĺ\"‡`Ä#Éę“ÁáHT“Á¦C0ĆîE¦đ|®SOŰt3_«ů*7î–v^Ž(®…;> +׌·«Ĺjcç?ßÚkb/ź0¦ehÔ}˘ěÝ$Óďó¬;Ý婱Ú¶Lňůz·HTj3[ŹD.j8Ř „‰ÂŢ]# áđ)µHč­ę y„¸ŰödŹLš¬WL©…Ńq4żvÍ×’ŕżJÇ$yTË-˛{ˇp×٨c±JwË,WI''gZ&FÖmTąVu ©ÇÝűdٱ_ŽHčHˇĆ].îa‹i ě †J€O0ď 06©«ź9K(’„D&.‚!JC F,`u©ŤÖh¨µÖáZźÔ‰˘IHë)ő ÁJ;•JöŽAQČ™ÁÝ[Göꦕş©U7/Ĺ}B#>`F‚@B€7¤'•†Y,2j Îgöŵ¦¦ž˛y=_®Ůž fÄjÚúĺ‹Ć+ŕr•m¦¦BĄ„ZŮOł,׌‡/ŞübSP!ĚDł‡$ٍĚ|„+gá Ë`đž,ذ›AÍ?ĎçyşŘMźAź•żŁűgOĐ n*ä˘*OQ'C\p6E¸ů'JŁĆżÎťEĚ}^źâ٦ÓfVđęŁf*úźńřúő»aBĂG|b|ÂLrířBe .W’·«|«’Ľ(o:5¦¬m˛ŞÄesm(`•Yę–˝6ç*‹ţ¶(Ü^ĹŁ@zGőŚÂĂ\ťÂéŞH„E“RĂ´ …ucÔôۉ•ĺÚÇÝňxDÂÜ™šŤM%Č´L”äqÖ†Ó˙;ŽĂŞËŁáçxx_ GăR/\XÓAë±G(ÖËJ Ü}qÂAĘ °o*‚@„6‹Â!7Pś˛sŚ/ŽÎbřŕŃ"ŞÎöU­ Ţkąš«Ç[ŹĹ»>¦éÎá­!r•‡'ٵ p74[µYiŇ<öÇľóÇČ›L™ěő‚!îĄhÁha_ď¶÷}Á –˛ăäµawµî‹…ÔAw+ü™ űV1®‡ ®q„Áďçů×sČËyMۇ=/’§`˙ćĂnAiS}˘Ľăö0źô„aLtPú[FÄę |†>Oľč¨/Î*ˇ´a÷ŰbóAg ×`–‘ńëÉäWm1uąűň«°AŘ]>ĽůŘDhečGó«_ţ'l#~ľćQ^[ó4˛ĹD·"ÝEŹr~jŃíů~bŁ«áű‹řďëářŞ—bµŤ&ȱĄÎ€˙aéďç2hďĺEżâu eµëK݆YWö¸7Şŕ[>ëK!ş` ÉáŘś‡dóáwý®ůŰáłÝţxĘľ:d ŰńĆĆpTś?üľ-áך®ń&S;}fąy»o>¨k†MWp•Ď‹MQµ%no1Ý[Ş·ŮžyL÷ú„IŃnŻß/ÄKÚşČňdi6â/]ÝuZ3ÖŁüë©ň$¨)ÚX2Ó%\ö_ŢVF¨1bACn­ëä.•îQP‡NŰbŮç´­<#dJYX;V“ á¨¨Ź—ş»ŤOl»ReĹž„ęXô0Ż×Ĺ ‹+&ÔŢüŠĘW´xšjŤ—çiY÷÷O@ŢMo_}KT9´hŮM Ě S,íý…Ů:~śéă]·[ˇúŰ< endstream endobj 3773 0 obj << /Type /Page /Contents 3774 0 R /Resources 3772 0 R /MediaBox [0 0 595.276 841.89] /Parent 3788 0 R /Annots [ 3740 0 R 3741 0 R 3742 0 R 3743 0 R 3744 0 R 3778 0 R 3745 0 R 3746 0 R 3779 0 R 3747 0 R 3748 0 R 3749 0 R 3750 0 R 3780 0 R 3751 0 R 3752 0 R 3781 0 R 3753 0 R 3754 0 R 3782 0 R 3755 0 R 3756 0 R 3783 0 R 3757 0 R 3758 0 R 3784 0 R 3759 0 R 3760 0 R 3761 0 R 3762 0 R 3763 0 R 3785 0 R 3764 0 R 3765 0 R 3766 0 R 3767 0 R 3768 0 R 3786 0 R 3769 0 R 3770 0 R 3771 0 R ] >> endobj 3740 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [155.708 438.665 203.535 448.328] /A << /S /GoTo /D (GTGPaje__Basic_8h_ad15c72f9347b09aa33934730f91b31fd) >> >> endobj 3741 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [155.708 412.644 201.043 422.307] /A << /S /GoTo /D (GTGPaje__Basic_8h_a0d3ca2c1b9dc66d6593d72a4eae09e8d) >> >> endobj 3742 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [148.975 341.707 224.473 352.289] /A << /S /GoTo /D (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200) >> >> endobj 3743 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.978 341.707 411.789 352.289] /A << /S /GoTo /D (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200af2744ee2f0d975c7825162900ba53cbc) >> >> endobj 3744 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [415.209 341.707 444.603 352.289] /A << /S /GoTo /D (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200ae277dd83764fadb84ebddd19ab0320d7) >> >> endobj 3778 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 329.859 259.27 340.334] /A << /S /GoTo /D (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200ae277dd83764fadb84ebddd19ab0320d7) >> >> endobj 3745 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [262.397 329.859 424.043 340.334] /A << /S /GoTo /D (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200ab6fb9729de93e970e4f0ddc32f8f89d5) >> >> endobj 3746 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [427.17 329.859 444.603 340.334] /A << /S /GoTo /D (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a03475a69dd43b645e8229a498016e2c3) >> >> endobj 3779 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 317.904 276.162 328.378] /A << /S /GoTo /D (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a03475a69dd43b645e8229a498016e2c3) >> >> endobj 3747 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [282.16 317.904 442.11 328.378] /A << /S /GoTo /D (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a04161479ee542b397bceee14d63c61f8) >> >> endobj 3748 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 305.949 287.468 316.423] /A << /S /GoTo /D (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a8ee8f9b1b0a61a693635ac05c86f6ca5) >> >> endobj 3749 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [295.774 305.949 424.343 316.423] /A << /S /GoTo /D (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a7c389b553beff2a6d124776c476e6155) >> >> endobj 3750 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.649 305.949 444.603 316.423] /A << /S /GoTo /D (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a62ec0dd2bc7574ed8390c5c94c5dba40) >> >> endobj 3780 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 293.994 252.374 304.468] /A << /S /GoTo /D (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a62ec0dd2bc7574ed8390c5c94c5dba40) >> >> endobj 3751 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [262.726 293.994 393.339 304.468] /A << /S /GoTo /D (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200afb0b5633f5258204599e3d467d9fa700) >> >> endobj 3752 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [398.765 293.994 444.603 304.468] /A << /S /GoTo /D (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a81f42641a0b87b7b17de21744470c3d4) >> >> endobj 3781 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 282.038 217.577 292.513] /A << /S /GoTo /D (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a81f42641a0b87b7b17de21744470c3d4) >> >> endobj 3753 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [224.995 282.038 380.382 292.513] /A << /S /GoTo /D (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a60149c4eb087cbe4984ede5bd6e2e751) >> >> endobj 3754 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [387.8 282.038 444.603 292.513] /A << /S /GoTo /D (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200afd95e9c8a6ab5dcc7626ffe3711fd446) >> >> endobj 3782 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 270.644 201.894 280.558] /A << /S /GoTo /D (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200afd95e9c8a6ab5dcc7626ffe3711fd446) >> >> endobj 3755 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [214.38 270.644 340.95 280.558] /A << /S /GoTo /D (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a0cbedb31b8305cc9dea6c31804c63563) >> >> endobj 3756 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [347.443 270.644 444.603 280.558] /A << /S /GoTo /D (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a001f28ce157124e7d22f3c84f6c51885) >> >> endobj 3783 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 258.128 202.782 268.603] /A << /S /GoTo /D (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a001f28ce157124e7d22f3c84f6c51885) >> >> endobj 3757 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [207.681 258.128 347.529 268.603] /A << /S /GoTo /D (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a4aecac30d78b05a2300eff056217e9ff) >> >> endobj 3758 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [352.428 258.128 444.603 268.603] /A << /S /GoTo /D (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a579025094db2e52bb60348c5b7039a27) >> >> endobj 3784 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 246.733 178.95 256.647] /A << /S /GoTo /D (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a579025094db2e52bb60348c5b7039a27) >> >> endobj 3759 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [185.59 246.733 327.931 256.647] /A << /S /GoTo /D (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200ad8a3df0319d70b16d017ff7cfc283d03) >> >> endobj 3760 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [331.501 246.733 444.603 256.647] /A << /S /GoTo /D (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a64449d36615b85d889bc60b0fb06ba8f) >> >> endobj 3761 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [148.622 222.096 233.355 232.678] /A << /S /GoTo /D (GTGPaje__Basic_8h_aebe93cbc1dff207d61b2334e7275b664) >> >> endobj 3762 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [241.803 222.096 359.405 232.678] /A << /S /GoTo /D (GTGPaje__Basic_8h_aebe93cbc1dff207d61b2334e7275b664ab00a706a8871bbf4201028faa9fac954) >> >> endobj 3763 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [362.389 222.096 444.603 232.678] /A << /S /GoTo /D (GTGPaje__Basic_8h_aebe93cbc1dff207d61b2334e7275b664a3fbb1c883879fe62c4216faad762ba66) >> >> endobj 3785 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 210.809 169.876 220.723] /A << /S /GoTo /D (GTGPaje__Basic_8h_aebe93cbc1dff207d61b2334e7275b664a3fbb1c883879fe62c4216faad762ba66) >> >> endobj 3764 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.78 210.809 301.349 220.723] /A << /S /GoTo /D (GTGPaje__Basic_8h_aebe93cbc1dff207d61b2334e7275b664a194a1c026972ff8b22b5c08b3a046647) >> >> endobj 3765 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [306.252 210.809 442.11 220.723] /A << /S /GoTo /D (GTGPaje__Basic_8h_aebe93cbc1dff207d61b2334e7275b664a65abf4c5b346462ddc6a78e79c09c37c) >> >> endobj 3766 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [126.386 198.186 257.572 208.768] /A << /S /GoTo /D (GTGPaje__Basic_8h_aebe93cbc1dff207d61b2334e7275b664af11f307e17ef25186054902e489cdc3a) >> >> endobj 3767 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [260.652 198.186 389.705 208.768] /A << /S /GoTo /D (GTGPaje__Basic_8h_aebe93cbc1dff207d61b2334e7275b664a2e77792aae4784049b2c95258c6f35ba) >> >> endobj 3768 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [392.785 198.186 444.603 208.768] /A << /S /GoTo /D (GTGPaje__Basic_8h_aebe93cbc1dff207d61b2334e7275b664aa2e9e7f40b6f0de491436ae6405c246f) >> >> endobj 3786 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 186.468 203.526 196.606] /A << /S /GoTo /D (GTGPaje__Basic_8h_aebe93cbc1dff207d61b2334e7275b664aa2e9e7f40b6f0de491436ae6405c246f) >> >> endobj 3769 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 130.219 181.747 140.801] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3770 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.989 130.219 235.641 140.801] /A << /S /GoTo /D (group__cpaje_ga32902ea7f94f1f890c016da04c2d06b6) >> >> endobj 3771 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [365.813 130.219 407.185 140.801] /A << /S /GoTo /D (GTGBasic_8h_a7a5d407dd23dfced8b5937332ff80972) >> >> endobj 3775 0 obj << /D [3773 0 R /XYZ 98.895 747.976 null] >> endobj 1422 0 obj << /D [3773 0 R /XYZ 99.895 717.021 null] >> endobj 1426 0 obj << /D [3773 0 R /XYZ 99.895 629.466 null] >> endobj 2754 0 obj << /D [3773 0 R /XYZ 99.895 600.734 null] >> endobj 1430 0 obj << /D [3773 0 R /XYZ 99.895 600.734 null] >> endobj 2118 0 obj << /D [3773 0 R /XYZ 99.895 576.453 null] >> endobj 1434 0 obj << /D [3773 0 R /XYZ 99.895 576.453 null] >> endobj 3776 0 obj << /D [3773 0 R /XYZ 99.895 455.632 null] >> endobj 3777 0 obj << /D [3773 0 R /XYZ 99.895 359.593 null] >> endobj 3787 0 obj << /D [3773 0 R /XYZ 99.895 148.105 null] >> endobj 3772 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F14 1998 0 R /F75 2451 0 R /F67 2143 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3876 0 obj << /Length 1701 /Filter /FlateDecode >> stream xÚĺZ[sÓF~÷ŻĐŁ4C–˝_xŁ!ÉŔt:”xx†qeÔ8r*ËmÓ_ßłşY˛%[+“Ô”¬ ížÝsľďÜv±wăaďjňÓtňü’KO##%ó¦_<"0RXxŠi$±ň¦sďŻypF•áĚżŚ‘}Öţ«e¸ľ‹’l–ĹË$ř4}3ąNţ{¤1Gš/Ľ›|ř„˝9Ľ|ăaÄŚöţĘ?˝ógH;pá]O~ťŕrqŰżůbĄ‚ĹbiTľXmŇ +„….ű:‰łx¶˙ đËĹΊź÷ݧĹS–űł°|˙ l÷đü’đBÜÎŻ˘„đ|⏳âŁÖ"8âşţE÷LFr…T ~IqCĹgd´Š 1ĺ씊Ö(ďÙҿÎŇzi0NRi'ˇ°A¶—6)”źŢ”Vx·#\!®x5ě~ö{teżĚî˘mŃ•Vâ$+T”g ĎŰťÍm6ŮŇĘÝ1 żöH y—ë$ĚáRŘ`YüŢDĄěkiŽÄ.(Z~Ůz;ĄĂ%Ŕ/Nâ䦴ňb±őő|–ĺ¦Wţ—€a™n˝żO—a[P‹ä¶µi´×ś”"jŘkoŤÄĎi”­í…ź|źźolxeçË»ű4Z­ÚńĎĚCíXo®aĆ‹dö[@±_Ůa‹Laą0ôpĹŃ'Ő›áąŢ^Îç瀡i@`7÷»$0,WmeŐöĐ‘h…U»®˘µcС¦Ő7ŕ˘f+룞ٙ•XTHhâ"#lín[ #‰„°D%ČQŽëŮ%<2§X&w2xj`ˇĘw»·âç…+Ň.ü·4p˛\–˛Âä5Ő¨”đa”RôR#ÂĚ{‘NPJ]Rö")!ľ;Éče-«% řľ1™›ńűĹ#Ç/ňís”đq“đçL%Gc’oeżŔ$QúhLňGiŚť>˝tMŻ÷‚)Ň~†é6Ă4ég˝’ŃŢÜÎ|P¤˝ťUř0† ‘3Ś-çḭ̂ˇ4ŕ2踤˘´]^—ĆuvzIĆD Sg¦gĹö뎬·ŤIŰ{)ŇLŚĎz™Xx}Ű#ru%˝¬•`H‚̬×É%+­cbżX¦Ý°†_Jb’ @4oˇqŞ€ć 7Ű ťő(W¤î6vÎR6hŇ·iv ÎâÚŽ‚ĘŽVt_§P0ıˇ–ýŠ8÷%sM¤@R¸6A [ě‰|?ŹÎ0'E÷s0Ĺ(UHŹËsö6T,€7˝ôMkUřwłĽý}’ Pn®Ł?öÔ~6š 6J5ÚŚ%rA†Ź.S }qÄĹ ç˙EĐáU XšGčFZp˝}ůć[ç)“5R°ç”]éŇ.úˇ—A!Ú¦Űäďt…8˘\Ž­ÉUż†@:ŠAG” •…ľÓLš!ŐVgĂ”:LvpLÜZ·0´}Ó&ŞlÉL 9L†´)×峲P01)¶ …“3H¸™‹Ăt<+Ü3Ś §.iŕ~ ¨›…ţ!`?ł­™˘żué \§©íËŹ$CҺҲĘfˇ•t[ÎóZÉMôtĚł‡JßOĐš¸`źÍ8—÷Ýűě,7ł±Éhë<Ö©‘&’sL…+‡Wś ’şĹ…w‘M^ .€‘8ř¦˙8$´îĹŮŞş T,4^®W­Ë2'ÜsbśěÓîD~L Ĺ[)Ű ĚŠŢJ°[ĎľJš2čľŰ0äG%ýG»§‰HU\dô-ůŢulf?KÜĚěq]ÂŮ7˝Ö,Ggöd@f/đÉgö«4tëé`$ÝJ˘ů.°r:QąµyOd˙yŘáWç]d‚5˘Ř¸ÜE®.HKDUq'ZŠ‚ŤDXđb%W„T%O«měŻË$ěĺ}yů”ňňZ<ü‚š”V!şą©šĎ‡Ő|űi}ϲ”Z}j©t5˝ĘU‘˙G~8řPÝÖ¶‘íŕ X%ŰĘúÂ^č( endstream endobj 3875 0 obj << /Type /Page /Contents 3876 0 R /Resources 3874 0 R /MediaBox [0 0 595.276 841.89] /Parent 3788 0 R /Annots [ 3818 0 R 3819 0 R 3820 0 R 3821 0 R 3822 0 R 3823 0 R 3824 0 R 3825 0 R 3826 0 R 3827 0 R 3828 0 R 3829 0 R 3830 0 R 3831 0 R 3832 0 R 3833 0 R 3834 0 R 3835 0 R 3836 0 R 3837 0 R 3838 0 R 3839 0 R 3840 0 R 3841 0 R 3842 0 R 3843 0 R 3844 0 R 3845 0 R 3846 0 R 3847 0 R 3848 0 R 3849 0 R 3850 0 R 3851 0 R 3852 0 R 3853 0 R 3854 0 R 3855 0 R 3856 0 R 3857 0 R 3858 0 R 3859 0 R 3860 0 R 3861 0 R 3862 0 R 3863 0 R 3864 0 R 3865 0 R 3866 0 R 3867 0 R 3868 0 R 3869 0 R 3870 0 R ] >> endobj 3818 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [202.021 691.255 259.326 701.73] /A << /S /GoTo /D (group__cpaje_ga7cd6968ffcd034c3dd67d48ef047934c) >> >> endobj 3819 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 663.424 232.557 673.898] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3820 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.057 663.424 306.304 673.898] /A << /S /GoTo /D (group__cpaje_ga92b9b4f5b8cd6656e6fce9b18720931f) >> >> endobj 3821 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 635.593 232.557 646.067] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3822 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.193 635.593 305.875 646.067] /A << /S /GoTo /D (group__cpaje_ga49ae68f2a567d8bbac4cb6f7b6726ae8) >> >> endobj 3823 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.117 608.915 249.092 618.541] /A << /S /GoTo /D (structContainer) >> >> endobj 3824 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 595.806 232.557 606.281] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3825 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.946 595.806 307.628 606.281] /A << /S /GoTo /D (group__cpaje_gab77a5b730b5b0e58777d75e1c1bfbdaf) >> >> endobj 3826 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.117 569.128 232.952 578.755] /A << /S /GoTo /D (structState) >> >> endobj 3827 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 556.02 232.557 566.495] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3828 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.714 556.02 309.162 566.495] /A << /S /GoTo /D (group__cpaje_gaebcc766a17f5ffc055432687e946a1ea) >> >> endobj 3829 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 516.234 232.557 526.708] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3830 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.719 516.234 302.909 526.708] /A << /S /GoTo /D (group__cpaje_ga4b8a30594207e3bd62ad22500a363555) >> >> endobj 3831 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.117 489.556 228.91 498.996] /A << /S /GoTo /D (structLink) >> >> endobj 3832 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 476.448 232.557 486.922] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3833 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.079 476.448 300.149 486.922] /A << /S /GoTo /D (group__cpaje_ga0045c9aebf879d257d45ffca3a580dd2) >> >> endobj 3834 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.117 449.769 243.104 459.21] /A << /S /GoTo /D (structVariable) >> >> endobj 3835 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 436.661 232.557 447.136] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3836 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.887 436.661 312.5 447.136] /A << /S /GoTo /D (group__cpaje_ga1a280796147680d73b4148de463200a6) >> >> endobj 3837 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 396.875 232.557 407.35] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3838 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [234.785 396.875 308.543 407.35] /A << /S /GoTo /D (group__cpaje_ga78d90b40b97cb072ab6634bbfd562dc6) >> >> endobj 3839 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [313.758 396.875 346.415 407.35] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3840 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.117 370.197 249.092 379.823] /A << /S /GoTo /D (structContainer) >> >> endobj 3841 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 357.089 232.557 367.563] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3842 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.891 357.089 322.6 367.563] /A << /S /GoTo /D (group__cpaje_gaccb7f379b053e7a5d6cc3f04b929e1d9) >> >> endobj 3843 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [325.92 357.089 358.577 367.563] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3844 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [212.117 330.411 249.092 340.037] /A << /S /GoTo /D (structContainer) >> >> endobj 3845 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 317.302 232.557 327.777] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3846 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.535 317.302 320.962 327.777] /A << /S /GoTo /D (group__cpaje_gaa2404d741e681fa9a90309798ccdd005) >> >> endobj 3847 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [323.926 317.302 356.583 327.777] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3848 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [225.319 290.624 262.294 300.251] /A << /S /GoTo /D (structContainer) >> >> endobj 3849 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 277.516 232.557 287.991] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3850 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [234.077 277.516 287.41 287.991] /A << /S /GoTo /D (group__cpaje_ga6f836611123e0a83ec764aefebf4ec33) >> >> endobj 3851 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [291.916 277.516 324.573 287.991] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3852 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [216.604 252.371 237.439 260.464] /A << /S /GoTo /D (structState) >> >> endobj 3853 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [253.393 252.371 290.367 260.464] /A << /S /GoTo /D (structContainer) >> >> endobj 3854 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 237.73 232.557 248.204] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3855 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.343 237.73 293.652 248.204] /A << /S /GoTo /D (group__cpaje_gaf92058cdf7d12c550866c98bf59338b8) >> >> endobj 3856 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [297.423 237.73 330.08 248.204] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3857 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [249.875 210.955 270.71 220.678] /A << /S /GoTo /D (structState) >> >> endobj 3858 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [367.698 210.955 388.533 220.678] /A << /S /GoTo /D (structState) >> >> endobj 3859 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [404.487 210.955 441.461 220.678] /A << /S /GoTo /D (structContainer) >> >> endobj 3860 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 197.944 232.557 208.418] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3861 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [232.833 197.944 288.211 208.418] /A << /S /GoTo /D (group__cpaje_ga67bd495e65937ecdc1bfe450cb0f0018) >> >> endobj 3862 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [291.473 197.944 324.13 208.418] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3863 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [228.136 183.221 248.97 192.847] /A << /S /GoTo /D (structState) >> >> endobj 3864 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [264.924 183.221 301.898 192.847] /A << /S /GoTo /D (structContainer) >> >> endobj 3865 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 170.113 232.557 180.587] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3866 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.629 170.113 291.221 180.587] /A << /S /GoTo /D (group__cpaje_ga303effbd4344a2f42872d4e70471250f) >> >> endobj 3867 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [295.279 170.113 327.936 180.587] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3868 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [174.615 130.326 232.557 140.801] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3869 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.936 130.326 288.613 140.801] /A << /S /GoTo /D (group__cpaje_ga6fa623c49bf3a2e9ebe7b138cc66e9a1) >> >> endobj 3870 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [292.978 130.326 325.635 140.801] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3877 0 obj << /D [3875 0 R /XYZ 149.705 747.976 null] >> endobj 3874 0 obj << /Font << /F46 1592 0 R /F67 2143 0 R /F14 1998 0 R /F20 1558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3910 0 obj << /Length 1568 /Filter /FlateDecode >> stream xÚíYKsŰ6ľëWp¦r&B śâı§N2ucM.IFCKÄX$]Šrâüú.¤DE/şięvz1MŘ]|űí ö¦öÎ{/˝§g,ň’Qz‰'%’{q(P„co0ö>ř1"$čÓXřçóË Ä~ňY _$‹t„fvŕ,ť+űß;5 öU©ňüD$±/xđipŃ{5čýŃ# {dĄ‰!A‰7Ęz>ao cFˇŢ33óB˘čusďŞ÷{;ë7źf7Q »Á‘ŚőnlCĆ Çsa·sU%eĐgŘŻ¬Ĺ‰}ĚÓü3kyOĎ(^¦O)˘2ôú„"ZY)ĺ­5voĺÔmňÝyĎűĐç<ň«RĂ’ŚÔ°TŐ  ÜχŐáĹŚp˙•Źß€‰­nř#ćŘýţ˝˙.UIyYŞŃ¶ĹUš©žOŽýQ‘/=2šP°âéažh¤q 4F"¦ ĂB€qhgµĐbHŠfNuŰMG$QÄ»h‘Ő= ÜĚ ŁüDäQ3ľpţޡH&8;B'©çŚŐtZ™ĹGĹ‚woý6?^F8î´›€B¤ę?÷@!˛ÁĹ:ZŐ'1FLč(ĐqKdH‘źS4ML]©ę}r32ôڇ•^ĽV4f+÷…;Ă ‰x`X§HČĂ…Ő.YŤCßź (’Ô·R¶c$j†Ë=Ä5ó\Ö”ŰcĄđk7÷®4ąÖś‡ŠµŰ¦Ąö1ÖĘ,wOĆă]Üeě/p—µąËIĂ+»“»íşäžuî®ëŘÍ] TvQqĽP‰ľ'ŻÄě§‘\ŘĘ—+î™×ŞřaÔ~ÔLľZ^˙Ďä7“Á…‹šŐ>NOĘ"űŹłŚwů9 ţË"ËT^m]űpWGD|\+ĽFٞSG†bGjZ™s]˝ó’ćö9x¦Ć*pĂtţxë§óś§Ŕ?öďpÓ±X6;ZCň,Í“yúMáZ‘qyrńĘ%úF˙#Ćě.­ţyĚŢ˙:ř{0s™lU¤ă=ą‰IK3âáTM X.fŇ•¶)űľI‰Ęőř2Ű/}ZM‡ZĂPé«–»j¬&CµM¤wfęĂWŐGî¬p2F$ęrČ“şşó5CŇöůú­Óš­éˇćc]:‡[¤GV B”ëaýĐîeÜ#Ĺ\FÖż`-Ž˝~u•…«;+D z`ŚýSU%é\éŚFĽ-Fez[ĄEľŹ6ŘŽę[#cöůŕÜ\{ŕ0‚ş´ĐO«™˛?X|Vöç4»ť+ť2ŁËĚ(&K®µ<'.ŻT91÷k#'B·€zhŞreÉUŐ#5˙Ć+¸]ę5Űc5ŽíŮčZĽ`$Y˝{ĆÝ™ü˝Ţ¶€ř‹MÜvŕGbLw °ĹÁt°Ł–ÂĆęŔ= (ó—Ő¬°¶<Ôӵؙ·Ş\¸4Sş|ólŞgă.ďĺŁ"ukŢŐ˝MßYco8oĽúż×`QĚŰ75±lęő¤´ŇPąTĎçÉu™˘Ią7ˇąő­ÜnŰzŞž%zĎ÷m…ć@¬ŇEckU‚ĽűăĚu"ZP^ł<×IĹŮsˇĽÄfüôkW<40MĎţ9ů"ž«|ˇŇňşź%U¦FÉAL­Ś–‘Ż ë Sę~çe±śŮuW"aÓÄÝ(‡FVŇóią ޲ýćY -óŢ&Ő,UKwŔ! Ń(ZV—Ó®¬ŚŮ 8Iî´Ś#=l—¶¬űmžŢĄŞ´FĽI¦š–‹EgÓ(âQsµ9O¦ĄrČĹʆÄęĘ[+´)şLĺĘ•Ťb´\%óŁłŘF± šĘô˸ÖajpëSL˘6÷goCÓ1Ú‰ë*@"nŘ…÷zŠ@DqŘ6ęĄn’şµŻŻFĄ2Őf­ýş5µí@űµí+ÁÔĘ._yęoSśÇÁ÷«oS2B;ťëşVşĂJŃśJ$4#ÎÔ“[GBĘÜÜn˙#ř•Ϩ{›čč)Üd#YWf+Oy›ŽÓZOuĹÖ´+ćsZu‰í´ĐůăëýT{\·IPý Ün{v endstream endobj 3909 0 obj << /Type /Page /Contents 3910 0 R /Resources 3908 0 R /MediaBox [0 0 595.276 841.89] /Parent 3788 0 R /Annots [ 3871 0 R 3872 0 R 3873 0 R 3878 0 R 3879 0 R 3880 0 R 3881 0 R 3912 0 R 3882 0 R 3883 0 R 3884 0 R 3885 0 R 3886 0 R 3913 0 R 3887 0 R 3888 0 R 3889 0 R 3890 0 R 3891 0 R 3914 0 R 3892 0 R 3893 0 R 3894 0 R 3895 0 R 3896 0 R 3897 0 R 3898 0 R 3899 0 R 3900 0 R 3901 0 R 3902 0 R 3903 0 R 3904 0 R 3905 0 R 3906 0 R 3907 0 R ] >> endobj 3871 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 691.344 181.747 701.819] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3872 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [183.478 691.344 234.812 701.819] /A << /S /GoTo /D (group__cpaje_ga41f1c6499787f834904580c315032258) >> >> endobj 3873 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [239.528 691.344 272.185 701.819] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3878 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 651.736 181.747 662.21] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3879 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.204 651.736 227.925 662.21] /A << /S /GoTo /D (group__cpaje_ga3729690fc4d61c7f74e780530113fd8a) >> >> endobj 3880 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [231.368 651.736 264.025 662.21] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3881 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [427.395 651.736 444.603 662.21] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3912 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 639.781 144.233 650.255] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3882 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [159.065 626.68 190.051 634.773] /A << /S /GoTo /D (structVariable) >> >> endobj 3883 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 612.128 181.747 622.602] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3884 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [181.939 612.128 230.153 622.602] /A << /S /GoTo /D (group__cpaje_ga6f1f9c069de829e3c2791415af7212d4) >> >> endobj 3885 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.33 612.128 265.987 622.602] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3886 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [427.395 612.128 444.603 622.602] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3913 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 600.172 144.233 610.647] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3887 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [198.339 587.144 229.326 594.979] /A << /S /GoTo /D (structVariable) >> >> endobj 3888 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 572.519 181.747 582.994] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3889 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [181.939 572.519 230.153 582.994] /A << /S /GoTo /D (group__cpaje_gacf05b63d86f1f7e36602347f56d1640d) >> >> endobj 3890 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [233.33 572.519 265.987 582.994] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3891 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [427.395 572.519 444.603 582.994] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3914 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 560.564 144.233 571.039] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3892 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [227.398 547.463 258.384 555.556] /A << /S /GoTo /D (structVariable) >> >> endobj 3893 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 532.911 181.747 543.386] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3894 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.247 532.911 255.996 543.386] /A << /S /GoTo /D (group__cpaje_gaaf3eb514831a8ac2a301c43236b6dd04) >> >> endobj 3895 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 505.258 181.747 515.733] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3896 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.247 505.258 238.889 515.733] /A << /S /GoTo /D (group__cpaje_gaf69201358d05bd855572061dc96857c6) >> >> endobj 3897 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 477.605 181.747 488.08] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3898 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [182.247 477.605 235.894 488.08] /A << /S /GoTo /D (group__cpaje_gaf7a8df4ca3b40d0e4d42619e884dfe48) >> >> endobj 3899 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [142.259 449.844 239.76 460.427] /A << /S /GoTo /D (GTGPaje__Basic_8h_ab52701dc3df3c4c76be4d6c9b2d393a5) >> >> endobj 3900 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [267.555 449.844 343.053 460.427] /A << /S /GoTo /D (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200) >> >> endobj 3901 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [148.633 437.889 233.366 448.471] /A << /S /GoTo /D (GTGPaje__Basic_8h_aebe93cbc1dff207d61b2334e7275b664) >> >> endobj 3902 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [177.138 263.94 304.66 272.475] /Subtype/Link/A<> >> endobj 3903 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [187.163 250.252 332.617 260.52] /Subtype/Link/A<> >> endobj 3904 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [180.68 238.297 332.112 248.565] /Subtype/Link/A<> >> endobj 3905 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [184.482 226.695 323.959 236.816] /Subtype/Link/A<> >> endobj 3906 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [190.74 214.279 288.374 224.655] /Subtype/Link/A<> >> endobj 3907 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [188.911 202.323 352.298 212.906] /Subtype/Link/A<> >> endobj 3911 0 obj << /D [3909 0 R /XYZ 98.895 747.976 null] >> endobj 1438 0 obj << /D [3909 0 R /XYZ 99.895 423.759 null] >> endobj 1442 0 obj << /D [3909 0 R /XYZ 99.895 188.193 null] >> endobj 3789 0 obj << /D [3909 0 R /XYZ 99.895 163.43 null] >> endobj 1446 0 obj << /D [3909 0 R /XYZ 99.895 163.43 null] >> endobj 3790 0 obj << /D [3909 0 R /XYZ 99.895 119.367 null] >> endobj 3908 0 obj << /Font << /F46 1592 0 R /F67 2143 0 R /F20 1558 0 R /F14 1998 0 R /F45 1590 0 R /F75 2451 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3918 0 obj << /Length 786 /Filter /FlateDecode >> stream xÚÍVMSŰ0˝űWh¦ű`±’żdn@ C™´ń0ÓĆcb‘ş vj ˙ľ’eá—Čv´oßľ]­Đ:4öccgčúáĐ÷_#âŔCðŠ3tn2߲işŽ9Ěg\=3sPN7Ľ©ČËÂşŚŹŤ(6ţDâ"3JĐäĆ8ż”É?Ź`'dčľŢz×ÁQ†346ľĐL=ő¨––Ş·Š*<¦©L1µlć—Ś_Đ‚+†/BőěP&]Ő†ĂoqrvGÍĆ®#×Ă ÚŤ¤¶%ą3¤ĐŮ*˝2ڇlŞâ¦Úä ,nEZ­ś(ő:©x*5S˝ÜĺíQYĚtÂ-â™X»|¦GÍ‘HĽĐWžŮއý ččŕ4*D…2[•N–M)3cËećrÎőŰël®Î e ‰Óé:Ťq˵ŰŇ{r§C[E§bšĚÓß<©˝żNřs›±=†‰L¨ K 5v'ô˛Ú] úJ?ě–Ă®ëĘŚ2 m"ăĂd´w%ŃY<†É ©.™`‘ćŻbˇZŐUŽ”\ÄÇ”…oŁŤeřfHěm¤čNćôS8E…ČĹňLAĄłE?VuÁ?jŐ“Ď­<ĚRý,7[ChĚE­u/&ŁĹíŻ ¬×¸Y®ŚaŢßýi}Xîë ¨FNňâχJDĆPÉ.¦PP˝¸DEöľí;ŞkłĘÓ+Ő9g;@˛2^âőÂŮË”q¶Ö:ťWźÂét˙ÇćŢ&l˛©ş.&Ďî–Ç;vë6ŻňĹg™Éůßűüđ(:Ä?GQrôŢ1 ך~­ŹęĂvÉz2lÝ":¶ĺ˘W©> endobj 3919 0 obj << /D [3917 0 R /XYZ 149.705 747.976 null] >> endobj 1450 0 obj << /D [3917 0 R /XYZ 150.705 717.021 null] >> endobj 1454 0 obj << /D [3917 0 R /XYZ 150.705 665.992 null] >> endobj 3791 0 obj << /D [3917 0 R /XYZ 150.705 637.096 null] >> endobj 1458 0 obj << /D [3917 0 R /XYZ 150.705 637.096 null] >> endobj 3792 0 obj << /D [3917 0 R /XYZ 168.153 581.436 null] >> endobj 3793 0 obj << /D [3917 0 R /XYZ 168.153 565.147 null] >> endobj 3794 0 obj << /D [3917 0 R /XYZ 168.153 548.859 null] >> endobj 3795 0 obj << /D [3917 0 R /XYZ 168.153 532.57 null] >> endobj 3796 0 obj << /D [3917 0 R /XYZ 168.153 516.282 null] >> endobj 3797 0 obj << /D [3917 0 R /XYZ 168.153 499.993 null] >> endobj 3798 0 obj << /D [3917 0 R /XYZ 168.153 483.705 null] >> endobj 3799 0 obj << /D [3917 0 R /XYZ 168.153 467.416 null] >> endobj 3800 0 obj << /D [3917 0 R /XYZ 168.153 451.128 null] >> endobj 3801 0 obj << /D [3917 0 R /XYZ 168.153 434.839 null] >> endobj 3802 0 obj << /D [3917 0 R /XYZ 168.153 418.551 null] >> endobj 3803 0 obj << /D [3917 0 R /XYZ 168.153 402.262 null] >> endobj 3804 0 obj << /D [3917 0 R /XYZ 168.153 385.974 null] >> endobj 3805 0 obj << /D [3917 0 R /XYZ 168.153 369.685 null] >> endobj 3806 0 obj << /D [3917 0 R /XYZ 168.153 353.397 null] >> endobj 3807 0 obj << /D [3917 0 R /XYZ 168.153 337.108 null] >> endobj 3808 0 obj << /D [3917 0 R /XYZ 168.153 320.82 null] >> endobj 3809 0 obj << /D [3917 0 R /XYZ 168.153 304.531 null] >> endobj 3810 0 obj << /D [3917 0 R /XYZ 150.705 292.971 null] >> endobj 1462 0 obj << /D [3917 0 R /XYZ 150.705 276.91 null] >> endobj 3811 0 obj << /D [3917 0 R /XYZ 168.153 220.062 null] >> endobj 3812 0 obj << /D [3917 0 R /XYZ 168.153 203.773 null] >> endobj 3813 0 obj << /D [3917 0 R /XYZ 168.153 187.485 null] >> endobj 3814 0 obj << /D [3917 0 R /XYZ 168.153 171.196 null] >> endobj 3815 0 obj << /D [3917 0 R /XYZ 168.153 154.908 null] >> endobj 3816 0 obj << /D [3917 0 R /XYZ 168.153 138.619 null] >> endobj 3817 0 obj << /D [3917 0 R /XYZ 168.153 122.331 null] >> endobj 3916 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F20 1558 0 R /F69 2147 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3938 0 obj << /Length 1273 /Filter /FlateDecode >> stream xÚÍXK“Ł6ľűWp„Ş •Bhn›ĚŁj+‡Í®k/ł[S ČŔł™Jĺż§őc,ŻíĚrâĄţşőőS`oéaďnöó|öî6NĽ‰$‰ĽůÂĄ‚yxE"őľë•k/Š#ĉ’[yźgżÍ°µ#ĘÔ­şô{aÁ3‘Ś79Â,6CP„cěßn«Ľ+ë 줩]ç۵¬şLżR»5i5;ʰŇ%ű ±*žűuY(Ľ ׌"–×r›ěwyó ęŻĺâ}ˇ8,>öł&[[á±V‚#ă´—ţŠÂÇľ¬îo×}4Eď–ÝňA©|aţsWČÜj!NGB)lš’^Ę,#rDX4(ČëŞí€Řű9Xô”5F„ÄžŞ= Áݰ 9L©”O˝,1‹«l-Çţ1Sč@Î(! rŔ BĺŞč^6ŇIŠ€‹xµĚĺ!(f#‘S1E(„0˝g" :pě…FI”Ś3QÇŐŠŕ— a&éŠÔ¤"ď3q¬úÝ-Ĺ“NQLŚŽůSŮšTV,ôi]HőTIűia§TZ7ćaS·Ý¦®ĘjižĄúiŔŔ]¸ię\¶íđu±KAxĘłŐŞU[BĆ`G»ô»#•xÖđăeŮdƲ=˛Ý;' â)‡íSµĄ”íÉz÷!c‰ "6E3SšĄ­eźĚ*Á÷7ű ¨;@u‡!D° NVżÔPJ°:4ŕK¦x(dŰ5µző€§`_‰ŞĹŔ+ˇ6G™á˛•Ýg(§ňđ8š’¸Ů¶O—˘¤<š˘Ô›×›~¸é^ÔvPĂűÝŻeőÇŮPxźŢ}LYٰ޷Kv_®šÎ0I®xz vűč†Ńk˙9ŁD¨Î, '™BA m·Cńz㡠·˝ţřU—id^7…kWŞ‘ź.5® ‹ŹVµTw(¨Ş'Ř×`Yó¬s˘”k‚:lg} úp"¸n°A÷†°Ť§6lm°ťĄ{˛7†“ˇ1Ô sÍ*GůQ; ťŕ˛(z+—}‡„…Í—ť F¦´‡TqíĹUÝoĄzś„3X y:=b¸ęŮy>`jăL÷‚łé°n®Ü »´Ç|A§Ffć¨fÇłÉ5TŐ¸™žç'âzSÇéZź©Ď„‰¦0ÎAë´{´:mµs:­ÎrĄOą—nPLÔ50ťvMFýŐőO‚ŕŽnâ’ýź”QžÄŁź"AYďdĄâO—DŐálť™ş˝­mď7¶rŃŘ^q˙÷…ŕ+*®(íËÝ•9Ť\ć=^Šý&Ëĺ蛊ú`0ŕ𨛎~ńhţćčűk}0řëe©OÖr?ůŞ3h endstream endobj 3937 0 obj << /Type /Page /Contents 3938 0 R /Resources 3936 0 R /MediaBox [0 0 595.276 841.89] /Parent 3788 0 R /Annots [ 3920 0 R 3921 0 R 3922 0 R 3923 0 R 3941 0 R 3924 0 R 3925 0 R 3926 0 R 3927 0 R 3928 0 R 3929 0 R 3930 0 R 3931 0 R 3932 0 R 3933 0 R 3934 0 R 3935 0 R ] >> endobj 3920 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [151.496 551.107 204.336 561.582] /A << /S /GoTo /D (GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009f) >> >> endobj 3921 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [221.403 551.107 303.644 561.582] /A << /S /GoTo /D (GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009fa283c84a2d7c9e8d64bb2837e038b5658) >> >> endobj 3922 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [310.214 551.107 406.63 561.582] /A << /S /GoTo /D (GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009fa6b806b6a37bd56b2ff5d9c49fae14568) >> >> endobj 3923 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [413.201 551.107 444.603 561.582] /A << /S /GoTo /D (GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009faa1dba78ec3bc9c2d600e826059fa41a6) >> >> endobj 3941 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 539.152 158.695 549.627] /A << /S /GoTo /D (GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009faa1dba78ec3bc9c2d600e826059fa41a6) >> >> endobj 3924 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [163.112 539.152 231.903 549.627] /A << /S /GoTo /D (GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009facf01d27fbbf451c8d71510524bb53dca) >> >> endobj 3925 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [240.237 539.152 304.544 549.627] /A << /S /GoTo /D (GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009fab3a70a47da2a91753e2f0d5069630954) >> >> endobj 3926 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [308.961 539.152 375.035 549.627] /A << /S /GoTo /D (GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009fa808ea439b4e928e78cf4ccb80343098e) >> >> endobj 3927 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [379.452 539.152 442.11 549.627] /A << /S /GoTo /D (GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009fa58f8778ee7adecc9b7fb184c22a4080b) >> >> endobj 3928 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 527.327 183.621 537.465] /A << /S /GoTo /D (GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009fa6c09a5a26e2838616e96437b83273f1a) >> >> endobj 3929 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [189.107 527.327 242.807 537.465] /A << /S /GoTo /D (GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009fa03c82bd81a897f8a3f5529d862668453) >> >> endobj 3930 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [245.8 527.327 302.495 537.465] /A << /S /GoTo /D (GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009fafd9a34d39a4c383420d3ae4222cb2d86) >> >> endobj 3931 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [305.488 527.327 361.681 537.465] /A << /S /GoTo /D (GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009fa7c81b73e8f427eebb591400172a4a281) >> >> endobj 3932 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [142.518 469.682 187.369 480.264] /A << /S /GoTo /D (group__GTGReplay_ga62705d596816b10e7d0c6ac91dcd15aa) >> >> endobj 3933 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [215.682 469.682 268.522 480.264] /A << /S /GoTo /D (GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009f) >> >> endobj 3934 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [290.819 469.682 323.476 480.264] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3935 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [142.518 442.224 211.928 452.806] /A << /S /GoTo /D (group__GTGReplay_ga2e5e466f37281ba7e671c00010763c9e) >> >> endobj 3939 0 obj << /D [3937 0 R /XYZ 98.895 747.976 null] >> endobj 1466 0 obj << /D [3937 0 R /XYZ 99.895 717.021 null] >> endobj 3915 0 obj << /D [3937 0 R /XYZ 99.895 699.916 null] >> endobj 1470 0 obj << /D [3937 0 R /XYZ 99.895 699.916 null] >> endobj 2119 0 obj << /D [3937 0 R /XYZ 99.895 661.415 null] >> endobj 1474 0 obj << /D [3937 0 R /XYZ 99.895 661.415 null] >> endobj 3940 0 obj << /D [3937 0 R /XYZ 99.895 569.605 null] >> endobj 3942 0 obj << /D [3937 0 R /XYZ 99.895 488.288 null] >> endobj 1478 0 obj << /D [3937 0 R /XYZ 99.895 414.486 null] >> endobj 1482 0 obj << /D [3937 0 R /XYZ 99.895 313.867 null] >> endobj 2920 0 obj << /D [3937 0 R /XYZ 99.895 285.135 null] >> endobj 1486 0 obj << /D [3937 0 R /XYZ 99.895 285.135 null] >> endobj 3943 0 obj << /D [3937 0 R /XYZ 117.344 229.778 null] >> endobj 3944 0 obj << /D [3937 0 R /XYZ 117.344 214.274 null] >> endobj 3945 0 obj << /D [3937 0 R /XYZ 117.344 198.771 null] >> endobj 3946 0 obj << /D [3937 0 R /XYZ 117.344 183.268 null] >> endobj 3947 0 obj << /D [3937 0 R /XYZ 117.344 167.765 null] >> endobj 3948 0 obj << /D [3937 0 R /XYZ 117.344 152.261 null] >> endobj 3949 0 obj << /D [3937 0 R /XYZ 117.344 136.758 null] >> endobj 3950 0 obj << /D [3937 0 R /XYZ 117.344 121.255 null] >> endobj 3936 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F72 2160 0 R /F14 1998 0 R /F20 1558 0 R /F67 2143 0 R /F69 2147 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3976 0 obj << /Length 1119 /Filter /FlateDecode >> stream xÚÍXÉnŰH˝ë+É…ĚvőŢĚ-› g‚&&r±A–hY¶‘¨dô÷SÍ&%Š˘6G3ČĹ$­îWUŻ–~$rÓz—´®ŰRKc­IžS@ (b„Ą Iúä>°6ڏ‰ĄÚĂQęîmđaÚ[ŽÓIÖ͆ÓIř-ůÔú´ţn1ÄÂ*8’ZÎHoÜş˙¤Ź?~"@ElÉĎ|é)¨anăܵţjAáTťÔqŐIm)S‚0”őN¦!SÁô¨łHłŻˇ† ;ĎýŞăáźi*ăúľn?dôOŮkw6/–ŹŤ)WîÖ]nŮŠ0NcĆ” $b†JiI$Pb(aÄ ¸Inî˛nĎůNź‘xnËŕÝ—ô)4A:O'˝tËčuŰ(#]\;+č3Çlę˙őpŇ-ű˘ŃÄ+´ńy¸Ččó+ŹŃŕ0¦RĹ%”ĐČ=óPŇ>IŤd]·9leŤkĐL·ĺŕsµµ—ÜGJéŕuż@.~t%5µő%_ćŠ}ď„,¸KŢľ˙ŁsűçmRĂ @Á,›ă…Gú|{—śR©A°‹GóËśĂE"dÁÂŐ,‡ŕ{;cF‚ŐBÁ•ź(Ůj–·Sń8NÇŹé ;›#,ŕKÚ:ŘQYČŐNHBií§Oo†ĚăzW.H&e/;Ť—š7VŻÓ¶ôťP쥷GśĂ2ŮgńşÍde|Y¤ŢťŢ*€Ř]c'«‘ĺ¶­đ:ŮŃ]Í6HŁ>Ý®˝śôÜąwńT/ÜyÚó™ţrL‡ýóěĚ–‹ç:´[čš`/ÔA‚ €v?ţúÓťrWÇkďÚlłŕĹsőlMg˙ Y ď¦1¨=µ}b†~rĽáäŘĐC&¶ÜJÇłlő˙ĹvĆÁ±{”rŻ”S^Ţí*ěk3nśÚÉĹLŐŔÚÄÖA^ÓţZPÁm92ťXK‘š Ą(ŹŐf&{*QvňĘ"KŐĚťľ»0č™E%˝a ^ITęĽęT©nj`řaĄ¬úÔ$w¶©Ă”ŘJ ş‰3~6gŰeă +IÍ]|…цź@!«rŹŢH[éŚ/ž˝„i0d°Ç8‡äš˘Ú€˛> endobj 3954 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [206.517 541.287 284.74 551.761] /A << /S /GoTo /D (GTGStack_8h_ace6ddf07a20904ac560ed9b182041c44) >> >> endobj 3955 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [301.675 541.287 368.942 551.761] /A << /S /GoTo /D (GTGList_8h_a1338d800c732cb3a1c41d1c033bdd857) >> >> endobj 3956 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [206.517 527.786 262.818 538.26] /A << /S /GoTo /D (GTGStack_8h_a2f2df1383f0b05ee52cc6e1a59ee769c) >> >> endobj 3957 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [279.753 527.786 325.097 538.26] /A << /S /GoTo /D (GTGList_8h_ab02f7ebccd0b091b2001d8b381bf6fb5) >> >> endobj 3958 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [206.517 514.177 271.892 524.759] /A << /S /GoTo /D (GTGStack_8h_a8530edb0637fac60a9e2cdaf0e41a9d4) >> >> endobj 3959 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [348.039 514.177 403.623 524.759] /A << /S /GoTo /D (GTGList_8h_a069ed881cfcf2495584ab2bd1b22c46e) >> >> endobj 3960 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [231.066 454.245 261.464 464.827] /A << /S /GoTo /D (structgtg__list) >> >> endobj 3961 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [261.964 454.245 302.152 464.827] /A << /S /GoTo /D (GTGStack_8h_a4b7833a97e238a050cf5fd9731c74ab0) >> >> endobj 3962 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [206.517 440.744 246.706 451.326] /A << /S /GoTo /D (GTGStack_8h_a4b7833a97e238a050cf5fd9731c74ab0) >> >> endobj 3963 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [254.679 440.744 302.346 451.326] /A << /S /GoTo /D (GTGStack_8h_afb11b461a0ad113636b1dfcd10120c09) >> >> endobj 3964 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [216.747 380.812 281.36 391.394] /A << /S /GoTo /D (GTGStack_8h_a66d42f5df726393b5f0042cb5d8a5d78) >> >> endobj 3965 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [284.846 380.812 332.512 391.394] /A << /S /GoTo /D (GTGStack_8h_afb11b461a0ad113636b1dfcd10120c09) >> >> endobj 3966 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [355.715 380.812 403.381 391.394] /A << /S /GoTo /D (GTGStack_8h_afb11b461a0ad113636b1dfcd10120c09) >> >> endobj 3967 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [216.747 367.311 276.877 377.893] /A << /S /GoTo /D (GTGStack_8h_a0e1fcd54c10dd940e16541bc86455e02) >> >> endobj 3968 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [280.363 367.311 328.029 377.893] /A << /S /GoTo /D (GTGStack_8h_afb11b461a0ad113636b1dfcd10120c09) >> >> endobj 3969 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [198.035 353.81 245.701 364.392] /A << /S /GoTo /D (GTGStack_8h_afb11b461a0ad113636b1dfcd10120c09) >> >> endobj 3970 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [246.201 353.81 303.838 364.392] /A << /S /GoTo /D (GTGStack_8h_a6556b2736887f1b9764d11520e28c856) >> >> endobj 3971 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [307.324 353.81 354.99 364.392] /A << /S /GoTo /D (GTGStack_8h_afb11b461a0ad113636b1dfcd10120c09) >> >> endobj 3972 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [209.996 340.309 279.585 350.891] /A << /S /GoTo /D (GTGStack_8h_af18fe4176f18a328dea523c5883b00b3) >> >> endobj 3973 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [283.07 340.309 330.737 350.891] /A << /S /GoTo /D (GTGStack_8h_afb11b461a0ad113636b1dfcd10120c09) >> >> endobj 3977 0 obj << /D [3975 0 R /XYZ 149.705 747.976 null] >> endobj 3951 0 obj << /D [3975 0 R /XYZ 168.153 707.058 null] >> endobj 3952 0 obj << /D [3975 0 R /XYZ 168.153 690.568 null] >> endobj 3953 0 obj << /D [3975 0 R /XYZ 168.153 674.079 null] >> endobj 2120 0 obj << /D [3975 0 R /XYZ 150.705 662.216 null] >> endobj 1490 0 obj << /D [3975 0 R /XYZ 150.705 655.297 null] >> endobj 3978 0 obj << /D [3975 0 R /XYZ 150.705 560.552 null] >> endobj 3979 0 obj << /D [3975 0 R /XYZ 150.705 471.461 null] >> endobj 3980 0 obj << /D [3975 0 R /XYZ 150.705 400.185 null] >> endobj 1494 0 obj << /D [3975 0 R /XYZ 150.705 324.772 null] >> endobj 3981 0 obj << /D [3975 0 R /XYZ 150.705 299.659 null] >> endobj 1498 0 obj << /D [3975 0 R /XYZ 150.705 299.659 null] >> endobj 3982 0 obj << /D [3975 0 R /XYZ 150.705 273.053 null] >> endobj 1502 0 obj << /D [3975 0 R /XYZ 150.705 273.053 null] >> endobj 3983 0 obj << /D [3975 0 R /XYZ 150.705 248.029 null] >> endobj 1506 0 obj << /D [3975 0 R /XYZ 150.705 248.029 null] >> endobj 1510 0 obj << /D [3975 0 R /XYZ 150.705 223.219 null] >> endobj 3113 0 obj << /D [3975 0 R /XYZ 150.705 195.932 null] >> endobj 1514 0 obj << /D [3975 0 R /XYZ 150.705 195.932 null] >> endobj 3984 0 obj << /D [3975 0 R /XYZ 150.705 171.285 null] >> endobj 1518 0 obj << /D [3975 0 R /XYZ 150.705 171.285 null] >> endobj 1522 0 obj << /D [3975 0 R /XYZ 150.705 146.368 null] >> endobj 3985 0 obj << /D [3975 0 R /XYZ 150.705 121.255 null] >> endobj 1526 0 obj << /D [3975 0 R /XYZ 150.705 121.255 null] >> endobj 3974 0 obj << /Font << /F46 1592 0 R /F69 2147 0 R /F45 1590 0 R /F75 2451 0 R /F20 1558 0 R /F14 1998 0 R /F72 2160 0 R >> /ProcSet [ /PDF /Text ] >> endobj 4000 0 obj << /Length 1145 /Filter /FlateDecode >> stream xÚÍW[sÚF~çWčQš ›Ýł÷ĽĄ6ö$“Ć.(ÓÇø ŰLAPM=ťţ÷ž]]dˇöCź×{®ßw.K Čŕ! îç˛GÝ'ţţ÷Ţ_b•âA|XKŚ•ć†(ŞxÜ„š0őA›đ2ľŚ#EçU˛!ŹůŮĹlžä_Ăä>b4LÖI:qG@© ŤŤnăĎ˝AÜűŁÇĐ( ŘÎ X0Yônni0Ĺ˙}Fą5ÁspÁ‰fNnŚzżôh#ŚÜ}Ůá>Ő„JSąĎ ',ę3Ji¸Éî˛ŮÄągÂYš9ďZ9PÝB“^ú!{ŁČ$ţ>N«ě©©ŰŐ’x/˝Čw*i—Z"ąîV[xˇˇv]2˘ly}ő<‰ś*BŃO+H}(‹kĘSč“Ö°Ä©!ZC3k•sŃ ”á˛ÂXĽĘ]b”XYĄńf–Îgiň.ę« [TÉĹ&´-‹}@¤pżDµ€…`˙Ś@„ËŮ´ŤŚâ¦‡ŐrŐ®BpĹષ(a[ű*p‚•kâ¨é .vat'şĽŤ®´ŃĚž*[m7Ź]µK}bă‹•aNĂ×*YŢź§IÄdř#4|סS®4űŻÚ»čc°,#JjbĹkŘc$±O§H v{аz‰=8-81H˛>ĂH¤|q‰:I$š$zŽ€TÄZ±$kvv ưرWXqÚĆňChcä§žF8Ľj`!2“kb`Ž‚›1}Lł`Ďš^tĄŻ Ş`‚Ş,=b“ đ9%Š«úŢâ÷‹‹0»ĹŞĹňĹE—{ËKF)ŃŇú¸¨7'(äćJÓä~ÓÔRüľżZ'‹"Ú7= C‹"˛!ÜôĄTa–ëÍ÷¬érű›d^:ëH°~(Ř0ôBî¶IŢ­Ż×ɤӟť_JŁ_TY]t#@ľő‘ËV~}Ű;^öâ4\®‹ă٢8ľK§QÍËůÖ·HŇp´•°~ĺřés|Ć’Ô-¦ŰĹá|ekwën’Ś×I±pëś–ašWe-mÇČď>Ȩ~É ·Ëbý¤HÎí"YcQ,Ó7§ÖËąá8¶Ž‰Í_eáßű5)ĂÂxřńl0};;ŚF-ů|:î÷"— ‡ă«ëÁד„Y%Ü÷ť4çĎp|öĺj48A«}çŇŻĂOń)Ň.ů;éŻWńřÓĎ×_Úu6ţŮyŁl±\™n•íyňťRH“zĄ!vXhłĺv“źÖđlä¦V‘‡iË-®Gkw“WTo®ZkĚ;îůr‚ŚN3Oéăg<}6ÝŃFe%«[HňŞéż¸Ňp¨v×l]‘:őŁLű¬+ů]ďY†ď( ö”÷lůW´µ¬ĹÇť,PĽLRWüIŃ0ËGë¶ŔöăŞč°P<Ő2Čżýö@ŮŽa׎˝fżU{}††.ňÚ˙î˛ňŞŰepŠúď|÷ʿϗ®É˙őôŕp©Ż§ Ső/-|áŕ endstream endobj 3999 0 obj << /Type /Page /Contents 4000 0 R /Resources 3998 0 R /MediaBox [0 0 595.276 841.89] /Parent 4006 0 R /Annots [ 3989 0 R 3990 0 R 3991 0 R 3992 0 R 3993 0 R 3994 0 R 3995 0 R 4004 0 R 3996 0 R 3997 0 R ] >> endobj 3989 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [184.937 522.276 217.594 532.751] /A << /S /GoTo /D (group__type_gabda13d5bcd0cbdb094d655181a857e25) >> >> endobj 3990 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [180.535 494.381 238.476 504.855] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3991 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [238.976 494.381 296.918 504.855] /A << /S /GoTo /D (GTGTypes_8h_a3838479a4e34ddb6b1beca0c67134337) >> >> endobj 3992 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [149.194 436.679 207.135 447.024] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) >> >> endobj 3993 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [217.297 436.679 298.004 447.024] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788a6144206e9d331f185b18166cff7783b8) >> >> endobj 3994 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [301.558 436.679 388.245 447.024] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788a3f7405d47b6ed59a17246e9844090615) >> >> endobj 3995 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [391.799 436.679 444.603 447.024] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788a73950ece0ad8b1bee0e4ebe6fbf9060b) >> >> endobj 4004 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [123.806 424.724 167.653 435.069] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788a73950ece0ad8b1bee0e4ebe6fbf9060b) >> >> endobj 3996 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [170.645 424.724 260.812 435.069] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788ab9fd0214ae892b4284375940d3040b1c) >> >> endobj 3997 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [266.297 424.724 372.414 435.069] /A << /S /GoTo /D (group__type_ga1f1b68fb37d7331f03a48ef0993a0788aaa3aa4a72ea96378a200bb869f7f8abb) >> >> endobj 4001 0 obj << /D [3999 0 R /XYZ 98.895 747.976 null] >> endobj 3987 0 obj << /D [3999 0 R /XYZ 99.895 698.029 null] >> endobj 1530 0 obj << /D [3999 0 R /XYZ 99.895 698.029 null] >> endobj 3986 0 obj << /D [3999 0 R /XYZ 99.895 673.371 null] >> endobj 1534 0 obj << /D [3999 0 R /XYZ 99.895 673.371 null] >> endobj 3988 0 obj << /D [3999 0 R /XYZ 99.895 637.656 null] >> endobj 1538 0 obj << /D [3999 0 R /XYZ 99.895 637.656 null] >> endobj 2121 0 obj << /D [3999 0 R /XYZ 99.895 601.042 null] >> endobj 1542 0 obj << /D [3999 0 R /XYZ 99.895 601.042 null] >> endobj 4002 0 obj << /D [3999 0 R /XYZ 99.895 538.835 null] >> endobj 4003 0 obj << /D [3999 0 R /XYZ 99.895 455.265 null] >> endobj 1546 0 obj << /D [3999 0 R /XYZ 99.895 397.201 null] >> endobj 4005 0 obj << /D [3999 0 R /XYZ 99.895 368.378 null] >> endobj 1550 0 obj << /D [3999 0 R /XYZ 99.895 368.378 null] >> endobj 3998 0 obj << /Font << /F46 1592 0 R /F45 1590 0 R /F72 2160 0 R /F75 2451 0 R /F20 1558 0 R /F67 2143 0 R >> /ProcSet [ /PDF /Text ] >> endobj 4007 0 obj [777.8 500 777.8] endobj 4009 0 obj [600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600] endobj 4010 0 obj [501 501 137 273 501 228 273 273 0 273 479 0 501 410 273 228 0 0 0 0 0 0 0 0 0 0 0 0 273 195 228 273 389 456 456 729 592 228 273 273 319 479 228 273 228 228 456 456 456 456 456 456 456 456 456 456 273 273 479 479 479 501 800 592 592 592 592 547 501 638 592 228 456 592 501 683 592 638 547 638 592 547 501 592 547 774 547 547 501 273 228 273 479 456 228 456 501 456 501 456 273 501 501 228 228 456 228 729 501 501 501 501 319 456 273 501 456 638 456 456 410] endobj 4011 0 obj [611 611 167 333 611 278 333 333 0 333 584 0 611 500 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 238 278 333 474 556 556 889 722 278 333 333 389 584 278 333 278 278 556 556 556 556 556 556 556 556 556 556 333 333 584 584 584 611 975 722 722 722 722 667 611 778 722 278 556 722 611 833 722 778 667 778 722 667 611 722 667 944 667 667 611 333 278 333 584 556 278 556 611 556 611 556 333 611 611 278 278 556 278 889 611 611 611 611 389 556 333 611 556 778 556 556] endobj 4012 0 obj [500 500 167 333 556 222 333 333 0 333 584 0 611 500 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 191 278 278 355 556 556 889 667 222 333 333 389 584 278 333 278 278 556 556 556 556 556 556 556 556 556 556 278 278 584 584 584 556 1015 667 667 722 722 667 611 778 722 278 500 667 556 833 722 778 667 778 722 667 611 722 667 944 667 667 611 278 278 278 469 556 222 556 556 500 556 556 278 556 556 222 222 500 222 833 556 556 556 556 333 500 278 556 500 722 500 500 500] endobj 4013 0 obj [500 777.8 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 1000 777.8 777.8 1000 1000 500 500 1000 1000 1000 777.8 1000 1000 611.1 611.1 1000 1000 1000 777.8 275 1000 666.7 666.7 888.9 888.9 0 0 555.6 555.6 666.7 500 722.2 722.2 777.8 777.8 611.1 798.5 656.8 526.5 771.4 527.8 718.7 594.9 844.5 544.5 677.8 762 689.7 1200.9 820.5 796.1 695.6 816.7 847.5 605.6 544.6 625.8 612.8 987.8 713.3 668.3 724.7 666.7 666.7 666.7 666.7 666.7 611.1 611.1 444.4 444.4 444.4 444.4 500 500 388.9 388.9 277.8 500 500 611.1 500] endobj 4014 0 obj [611 611 167 333 611 278 333 333 0 333 584 0 611 500 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 238 278 333 474 556 556 889 722 278 333 333 389 584 278 333 278 278 556 556 556 556 556 556 556 556 556 556 333 333 584 584 584 611 975 722 722 722 722 667 611 778 722 278 556 722 611 833 722 778 667 778 722 667 611 722 667 944 667 667 611 333 278 333 584 556 278 556 611 556 611 556 333 611 611 278 278 556 278 889 611 611 611 611 389 556 333 611 556 778 556 556 500] endobj 4015 0 obj [501 501 137 273 501 228 273 273 0 273 479 0 501 410 273 228 0 0 0 0 0 0 0 0 0 0 0 0 273 195 228 273 389 456 456 729 592 228 273 273 319 479 228 273 228 228 456 456 456 456 456 456 456 456 456 456 273 273 479 479 479 501 800 592 592 592 592 547 501 638 592 228 456 592 501 683 592 638 547 638 592 547 501 592 547 774 547 547 501 273 228 273 479 456 228 456 501 456 501 456 273 501 501 228 228 456 228 729 501 501 501 501 319 456 273 501 456 638 456 456 410] endobj 4016 0 obj [500 500 167 333 556 222 333 333 0 333 584 0 611 500 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 191 278 278 355 556 556 889 667 222 333 333 389 584 278 333 278 278 556 556 556 556 556 556 556 556 556 556 278 278 584 584 584 556 1015 667 667 722 722 667 611 778 722 278 500 667 556 833 722 778 667 778 722 667 611 722 667 944 667 667 611 278 278 278 469 556 222 556 556 500 556 556 278 556 556 222 222 500 222 833 556 556 556 556 333 500 278 556 500 722 500 500 500 334 260 334 584 0 0 0 222 556 333 1000 556 556 333 1000 667 333 1000 0 0 0 0 0 0 333 333 350] endobj 4017 0 obj << /Length1 1438 /Length2 6052 /Length3 0 /Length 7022 /Filter /FlateDecode >> stream xÚŤwTÓ}Ű?RÂPI‘f*pÝÝ)Ť’c ±Ťm#é’îTRĄDBR@ĄABBEéx‡z?Ďs?˙˙9ď{vÎö»úú|ŻĎő=żqŢĽkÄŻhŹ´©!X~°H ¨¬«« A aHŔÉi ÇşÂţÖ8Mah ‰úe4 ‚ĹëT XĽŁ.Ôzŕ  ÁbR`q)(IţíDKU p{ ®P ‰€aśĘH”7îč„Ĺ×ůűČ ĺ‚%%Ĺďü *şÁĐp(Ô…`ť`nřŠP+Đ …ðŢ˙HÁ-ă„ޤ=== n$ÚQŽçĐŽuÂ00´Ěx¨qý&ŕ;Á1ż FH¬' â®p( Á‡<@ŘĂĐ@|u ‘¦PCüvÖůípřçp€`đżŇý‰ľHGü †@ˇH7á G8ŕ®0 ľšŽÖ {AŘ_8B\1H|<Äw…Řá~µŞ)!x„đa h8 ‹ŔŔ]/0 ^¤Áł*Â^éćC`1€‹ţTŕhîŢ‚†ë‚@z"|ţ–ŕ{‡ öP‚&¸ű¦ĘĽ đoť# I Kaî@ÔI𢀱7 öËľPă1řů ( ĚîĂ˙|0‹~óóůOĂ?% ´‡C±@;#řwvĽćđ[ĆĎ ÷Z€đôAź=YáfŹD¸z˙Űý׍î©ÝU2ĺűů_F%%¤Ї_XČ/$ ‚A"@qüß?óüëţF˙K{˙ÓÝdÔD8 %.PŕŹďo$¨Áýgox€˙,ˇ‡Ääţ7˙-A˘ (ţ üŢ‚_!˙?ň_dů_ů˙ß©=puýeçţíđ˙Ř!npWď?xB?Ŕâ—C‰_Ä»šÁ~o´.ĚţŔíż­šX~IŽx˘óE@"żőpŚÜ fŽ…:ý&ÓßÓŔ×p…#`w‘řĹĹŹţˆß=¨ ţrÁŕgöŰÁŕűkĽ2 żj˙ěCEÚ_줨‚FCĽxJŕ%Q żĽö0Ż_ś X|ŹŮč€D.-&tĽ¸áđÇ€7üÖ€‚®M\(ţQ úŤĆ·ó‹&řVţ–]0 ś@BĄť«[+™=ůW†dH¶ŇÍ…ř‡ ¬É°ÝŞŁ6‹ FŮYSÚĎŐ&»ŔjÖÎmzJî‡9sv|–kŘk˝EöůŮŐÖŮíâ&Î÷/Ť'ú°Üš l$xb–˘Ä&UŚî&¸ËEŐN.oďŘmÄIéűWuçÇDO.ş5q­˝ÖöĘ’,zIÓ/ź ±Mv}Ć+˘» ĺ~r‹ ZжŚHŐ˸Ą-ÓzHđ¬ Zčíîbí Ôňx´ňť#K­*ÝǢ"rąÂtć鵟ąĹ›4>vę´ ›öÝ/ćyR«ő¶ť–·7­nr'µ‹;Ů&9DżŕŽX©Q3tJičĽüŐHűéś0v˘†^ąÄŚig:\ăő\Ů'V­°mď©ńΑ…ź´S5-†{‚ąďč&Čž•.ń«ă|ăáJŘüWe ő˛*}φźCĐÓ×ě™}îq3! ‰4§cą˘Éŕćsjaá«đ´r“k‚uź{/ŢŰ÷Á‰ś=ÝimUâšrŻBÄĐDăjf|3 žoßÔBÓ«˘•qžn‹űľ^‹V:˝nČBż2\‹›č×…ÔŹŁ‘R@öśgm‘Á1 ͷʦ—şÂ÷ŘJ ăě Jôň^ďŇżíA¶Ů .Đ 9Čó¸7=S)Ôčń“€ŞŢÍÍĚÖ¸iz0h_ł>@Ú^äiľq!夨ԝĄcşŰPíXŢ™ i>ÜđőËćŃ4¸«.ŔcóžÝr÷;±pŚćqÓ6W<ěÝűxŮ𠇦z™ďÎÚ?Źq¸4şîĎqÚěşqXQĄK.ńwĺ­Üpč GmĘÇÎřŐ`‹ič§Żye>:Ł›\áíí€~ólÉĄţ˘…ăouórň´S˵Ćyűß =3ĆĄal™°¦-€ŕ6yDó+K˝÷É×Ćk~ÁyaŘŐ)ó§AͷĶݱÁ Ç~í4«#I<•ˇÄF†cćÉŢ7hd˛0µBÎÉúÖ-‹AÍTśíWbM˛›C|äĆcóJ+ž)»!çW@CśĄ~OPÓ7ě?ű8Ń‹ČEŇD^¶öT)ú®3صżÖE´Űß±^Ph«“'C] KłT*u7)˛ÂNNŘzw÷®ŤÜ*Ó†®ŻÚ»r?ßü4FŽČđ˛Đ6ľ8ö.ĽŤ˘%ĺH7bTd‹Ý–bČn`§>â><‡šj2V‰qŰ uoF`Cě‚fźëm† YAáĹ}‘ťsŮ-Ö·čô—ŢÓNÖĽÚ“Uľ–»ďExŇÖ1énć ßá­ëŠôőx^(YtŁ2÷–¤Ą–úěŢz†_‘Ř3!?í Đ7ÓJúˇ—Ń—§‹ĹÚý"@Ű.J á=g®ßä<ćĚ7d>iÜ‹©ě!öň yEë°¬ĆĎ‘y+ÓŽî&wÎEĹŔĐ+]Ó{mÝą ±+Ű…bYŹq_¤lŚTä(}wľfćÜY‘7ÓÖq4ĚŕyU59wŃgéŔJ«&ěÁĘ(»µ· ҇ťĘ’°u.5 î(ŔÓź!GqGEňC 1h‚ČŻi-Í6»ĺ!—©GôÉĚćŢ.•ä–<8ÍÄǸ&”sUî]y3ZrT÷ţ#y`˙ĽÎ=ÓűĎíľçX ‚ :ÓË©Ž»TTß4ďn׉k­?|Ňo’ZąźąÔ s=6Ö`éCŚžygvÁLzzÎbB‰g˛"‘!ÂěCľVěŔ «ôĺUf\Sŕ¬^9W2S’ú{°B]¨€ $ˇtď楍a5\GQk€ÉGAmB"×b^î y¬äŢ€jOżŞG‚5ĽśÇÓvÉ.‰?ďUy#˝ŢŐ;—KőĘŻ6z•Fdé]Ǹ!ßścşöH«ž‘픏˝ŹŮ’gAŹ›tH«  Iýŕ É;káŔ(K¨KC/<ĆĂŮňăY9U˘űóňz}n’6Kţű7ŁŮr6µ:<,hý¸:VŃýü‡Ć v:~‚rC˘.4_d <źęź‰Ó‹ţ żÍ,•üáÎSzť»ňńu˝ý7ô”ËWŤt÷ßĂ·Ţ_ť’KľFÝ3|ľreĺ‡0ďçŰfťŮ*kQŰcľŰ97Ô"çű#ĎÖ§tĄmě R´49ę›S:ďőqd w3t_Ł=Čײ`Hđw "’Ľ“ňB¬ćÓ đqţż'âĺć3Ł;$ňŕXů 2Šť ĹńîyoWîGK:—š†±/ó؉¶Lâhľ}Y#og|á¦0ĘKgL'7­ÚDXh¦ďČ?•2ŃMY©±ŽZe¸Ń e»Ef‰+8}M%8:ƬęlJâ“ ŽŘW%›ęśŽŠz›iűâFw–RżűNŐc/8+ŮŻ‡Ę–ă&…§ÚŤ'´ü[V-Ş[ëÎŢ Űžz䝡č “+ş¦fĎ3÷>ÓŢăÇ®Ą§­W–U á˛ß˙.$ȉaÁu®]ł¶/í2V# r› 47éGXmx˛ď§ďŚŰŔ¨TŻaŻš@EżĽU^Tz„ěĄęőŇQyۦY˙đ´[Żőť!P'ęk–CŹ×Ş wĘŁAD^őÔDÖ4|&ćůđČłhĚŐÎÉ– OÇč9˛J"¶U‹güDĄ§ _ö®­•â^Ą¬Ä˘ËI(7F9 •žSč FĆ}–jT˘ßNĚ}ŕ PgÎ?Yal »Éľ͉ÜUô"ąóĹÜëß•ŞOů©]Z^6ĺô¤¸.Ôf+w‹šUł)PükőCűýć±v˛;†0r·q ˘˛ö”˙Ŕ÷ňď¤ć3‰Š§nŠ¸É˝ĎYÄö­zŇ·–ÓýHGJZQó-ű©×•Ő‹®$ę˝Ë­|Ü5ď+ ÔľüMŚŞ]qţ`Ľ×ÖvąŐYJ‚đÁýšŘ€ó3“"NŢc1fËŹ;őJ«‹‰Sń2ý+wŁ9PDÎeí=ëžťŘ>xÉĽĽ@ëůxNĂĎqŕ+“Âîďµ{ÍŮÎ!~O–ݱĘ—·úŹŘŇ*‹+Ŕ—ýä>pX×Ň•t˘R™'Ě­羯|Rˇ•a®‡ ÇůáÜĹôS•ÉŇřľ˝eid™Ľßx†ârý ‚SÖr¨>OPÓq#ŕ™ż1W LRŠť7\gşr€8˝\nž*§KH®¶âéçâŻ3˘đůkéë«ę˛]Ö/ś>nđ¸Td6ÁÉ%ěĆâ0Ö7˝ÔĎâCÉ(7ôB3îG}s®XRŁ3žiywőd+ÉpşňăT›_đŃŇ-ęFVń­>$ \ť'čPݳۊşŁ\îľÓÉzjN»©™źŮ3žFŚ~e9]˙úŃ›óO'†0¤­GÂb3ÚţJţËđxyE–Ă{ĺˇë¤UĎ&šĚHöQˇă;.¤O†úóŘ©¸'­t—?PS’SŃíĎÄY–ŤĽ×O®rť~ç-˲[bŤUŤdÄqś=€~ť ¸E˘b_)~'t*Fc(B^…Ű’h˝Mp†ňeWUă*š“¶„¬Đ5…RąÜ¬rĄ°µ©»ł5ăŇ{?< ös3ËZç˙Q§»¨8„ĂŘběüâr˘'O;1Ť t6‰AÂÔś%µđ¶`JýŐ×/R]żEÍ9YŞŰÚ]Ú‡°Id4ppĎm÷Y›ÓV¸gÔŽďm-í(“ÜzqîŃŐ¸ç|FM#ź–{<3 Č:Ö°**P‚‘jµęe–Ö*yU-ďÚV[ ĄŁY>#¸[x°{F–?˝ÁŹ?ţ(Č$Řo'šś8sęr"¸â3Oş>’„ĚĘŁ Ž}ŰC´ôĄPBť“:5Ôňfł§A÷‡ÔXň1âô5Ô(`“Yôćó„śfPrä§)…›)őţË*äc·%¤Ż<|˛]{ľ!f͵ި”uTţţ4ľ6pVţhmóî˛tŚŤUb Ú˙P#±"Bű“˘sgMLů™¸şă㦴Ł7ĚR”GJ˛’{—ôn2pdň6Ĺď÷9ˇ)÷n‘łĂJĄ×®Śšu ”Řű¨źTÓ‡Č ćŔËő…1^đĘHÓçîWâ+^$•QM >;č]ňô¶šź°ĚšÁą»};“ĎřX¨]Ľ/íł·gÜ$ň*´=÷ul±ŢÓ­qŞŇV—Í….űŻM'UŮŢ âđB«+4Đ8ˇÝďjó7ÍG'_3…fËo_- #N?Űč¶ ŻLĽO€>8őn21 tY ŠĂż‘ÔőG0żxŘěŰb~w<ĎôU7÷:nndĂÍÇăŐăN=,oîଠ(JzŐ S…Ť4Öe|Ž?3{C„•ł¸¸žD­äh+ťńĘáě×j¦KDŠúąÜĺˇ7UśÜ3'¨!•iŤ[B\$iü¨H í-˙Ę»Ą]ᛲTw Ö“Rɸ7Ud¤kś+»úŽç'5WŽ„0t¬OëçOkCŐßęőFB{„Ć6@Ó„Î.‰żW~l­¬”·µVI';‹Ž±M٦Ëru/㲚mK×1gkŻ%jXżČŹ˘Ŕ)?(¬cҶŻŃ]§¶˝ëotÎ.«={.Żz´ŞÍś™ÉUĂ·‘ʶä"ç°ř-č5n%ŘütĎäI©{I/ˇmřě@‘˘,ŃD˘§·Ç‹Â\a9şŞZ¸ďęRl§€0ŕŰ”6ŚŹFä$Dy‡VĐOÖű±˝\Ó^˙¨mjtű…ÓbtN2JUŞŐł?;g„^JC‘ŰYÚ)«ą·Q¬ŐkűýM’9ʎ×Ö\ÂzQ—ąčŔ”SÉm˛f ĆŤÜIP!´ÎżŁ‰^«đĘRhăV`ˇ”;1}Oź“·öl홚´Ě˝óÜw!?ý;}·_4Ě“ŹSÓî ˘ŰN‹Ř+¶»ě6ZzókO–]K9]q»  ?ćs˘Ę]e=mËúŮíUyŐŰ? ŁÉ·6]nĎćî&(ĺűjQđśďjX3“ŇůÝIő0‘W‘á Hٲ*Č<-ř–üň{Bé§ąuőw˝Ô‰$ Ćkšşű‹ŢQô"‚ş¬ľ• m·semĹzHIâ±Wi‡$\úŮŕO×He쎒łr›.–rÂůؤeŻf«O?|“ 7BُB«9"\ö–ß*,‘ŐĄEAtÂ_§Ü »Ý_ ó=I۵«řÄ–Nq«&1RJí÷ŰhŐgă™w·BĄ–Ś%OŃĎ%Ě—őŞ.lî&‰šşú±Čfµ[ö<‘ę”/µbT_r%TŃoá‰%Ţ·5ĺY/›čŽ&$/cŰçźé“…9+M-IȇČ^Q!yCĎbńx×[%i˛í˛›Y‘Íí»(ČyŠŻ'µ¦íeY'ń…ô`^ń heŁn ÷)*p­z+ĽúJ˙iě‘ )ia{ Rp?;ÂDáE‘ĽłÇ7HĎ+^żĄ1lsh łËöŔč4_Ş™vy/šjoŽ9NŃx\dďb†_q÷6•ée[ô˘ÝĺĎň'ţ©>LçWyŻéš>ľ[1ĚĎ'üáf:1Ď]Ş“‘˛dćőěŇzHV°Š˛Ť ¬fě§jőŁEřÉ|±' —nŁwLţ=ĺ‚$r»ŁĄĆ˘>rEĎëÚů€W@–˛ř,ň|U±eVW3t ©Č١nż “•qxş˙_i¬'ňŢç…w9‹I;(Ň|ů+ˇ:TÄÁ»µĆÄÔąßpţ}ÔÔ„YçĚ:ÇLˇâă…eę|÷Űr•˘«ć#Ű6dÉxąŤĹ_Hř? ‹»ť6şĐÓćšüZ‚ýz={u÷«F'­“†˘Ž<–§ÜÎ1çv+Ľô˛ľŘhć;ĐŃDM7ȵa«˛ö-FĆ´Ů“ ´<štđ„ť—=VŤ1h;•ż¤sşćú!)ÔW8ó˘Ćľ”JőaâI?W'ÝŁŹ¤=ŇušäAµłüď—¦Śl•Ż<w‡gĐËŘR PŘꆹŃJ¬±™ľm(Ëčw}/ŻŻĎÔ?š72ć•8Jh«ÓŮ|ŐÜ ś@îâŠĚ‚ľŔĄzIÍZř¶‰SµkZÚ~N{~~†q3.muz$†žÚŘÖIä’2»ŮŐ’\r|^P§c/F¨}9óŞÂ‰đ{ËoFzROňé˙r$^/š'3‘źăY7´ă9™BF7¤­ÉEŠ]]ęęőçI#×OĽxÖkî)úVđÖŔ˘ŻKz 7Ś‘CaNëE«:EăB"[ď^G HwyŰ 5bĽÎٵ˝r‰ß0Ź[®wč|´äKźh¸SËÚVłŻ¦€č[»ůŹxl> endobj 4019 0 obj << /Length1 1431 /Length2 6130 /Length3 0 /Length 7104 /Filter /FlateDecode >> stream xÚŤxT“ŰŇ6ŇEz•ŢŇ{ď]J!AşHŻŇ{G H‘ŽRĄ7i˘ MzG@ů˘Çsď=÷˙×úľ•µ’wĎ<3łź=Ďěd…ťEĎ_ŢaQAŔQü@!I€˘¶ˇ9P $$" $$LŔÎnEÁ Ű ŘM îH(.ůEw…¶)Ph 6Đđ€€" $P\RH ,$$ń7á. PyBíÚ ‚$`WD¸ů¸CťPč:?¸ŔÜ „„8ßďp€Ľ+Ä ÁÚ ”Ä] ‚ `(ĺóŹ\ťP(7IAA///+Ráî(ĂÍđ‚˘ś$ÄÝbřE r…üˇ&@Ŕ0r‚"˙r"P^ wm€AÁ8â·‡¸ĐŐ†ęZ]7ü/°Ö_>ŔźĂ€˙J÷'úW"(üw0 F¸şŕ>P¸#Ŕ tU´PŢ(>n˙ ‚!čx' ١ż·¨Čë@h†ř!ÁîP7R …ýâ(ř+ ú•áöŠWW…$řµ?%¨;Ś>wÁ?Íu#Ľŕ~Ż p{‡_4ě=ÜŤáĐÇuĄ?´‰ŕß6G *$!&& @ Ţ`'Á_Ś|Ü żťżÍhţ~n7€šÄęAř!AžĘÝâď÷źŽ®€@€=ŚŘAˇp‚gG›!­Ńýw‡z,…Đň„~˝ţőd…V=óů7üw‹Í•ôTĚÍx˙Pţ—SAá đă–đK €@ @\\ŕ˙Ď<˙:żŮ˙¶ę v÷Őá€Ä_$Ч÷7Ď?Ęŕú36Ü€VĐA ő pý[ţŹ„D…Ŕč7ŕ˙y~‡ü˙´˙+Ë˙*˙˙Ţ‘Š öŰĎőŕ˙ń\ˇ0ź?´ž=PčŮĐF 'ţßPSČ_­ ±‡z¸ţ·WBĎ<Ü­s~ŕ}ˇű١H¨7Ä^Š;ýĄĄż›®Â!z$ô×˝Žú/zôŔ.軉nŮo=Y˙¬« #썠°¨äîň!@+˝řŃłjńţ-q€ B‡Đýw‚_Ť‚hÎP¤ şNżśżí@´ľí@`$ „üËüŹş`wwôhţzSŻß7L0?K…:żm»¨‘§÷â_Á]ZîJ0ďŤEqĚ>÷sŇÂËRť|¬`k˙ňîPşŢ\yřÄĚzžý‹QďGďr‚ÓÔňQĘ˝« ‡üßOŢ9BětŽcâéQ«d‰úŚ$¶–Ř–śÉ¦3Waâ]"Żľ]w 7,$v®€’3R–4zT¬|^Çć3s¶eÔ ů#Ň8rwË #uă±kĚgиs…¶Úď>«–q™ź?żĎéëM9.Ôě®{NAKé«Á’7”ÔOK•Łń‰Áˇ z¦XžšŔJ[ěαe+ľřcްŻ5±_ÄŁÁQG1čŽîÓáFŹ:„čŚt^×â1ÍZ¶ŃwA˘»MIQN|5él ěŐögŐ"°ünlj&n]ÇÂŤö˘´ěÜ\ ócc ŢÓëŻăw/lcłÂV©Ň°ý_^(éÁ܆L?^=LPбSč©cé°8/{ Ýăřö˘ZiĆś ?Ýlzß6Řq`Űg¤š J0kĎÚéŮN|Ł.zöĚ„GY U«9‹č´áŽĎ‹ź 0ČĎĂÖkíP•˛“gŤ7!)0"›5ŇÚŔČĐąm.&8EJLá˛_Îřęc•Řđséŕ&éÔBOĆo)éďƓ֮ŢŃďúŽcť`ç~((Śo­™ßaád[ŞĂ©şźmÜI¸ÚT0ź :źYĚWři`CQöôQľC쏸o§ ůfňu‘°¨”ÎÉ€U›ĂŚí}q oÇw»Ű9S7ĽŐ.ϰ)ěU%űYC‹a•Ťń˘-Šźű¨˘Ś-ű@Zm§Mřî]ĂŤ§ß –çR÷ׂܬ7tÜ~TÔş^µnľó˛ąˇ–ęG¤ńž¤ĄŘćěló }ŇŠ ş8»4Őaf4ČRN9.ŮËlŽźÂ<ýÁ‘˛šcVąˇ~ E†iŕ|Ť’gwTňrĚź7F¤xa()^čâÂeđtF„đ:ŚÝÍŃŢŮc®ó?‡É2€y#Y÷_ZT}µŞp _#ý- լЌcQżózęőŹŤ»ß Č~Ú ¦LĄ2;‡Ź2ú=ä¸îU x†K)¦î?Ďń{˛ú훾?Hd]Ą †•ÚqňŔ»ŠŻh•¤f*_ÖőrEŞŽĺŁÉâřO"Ĺ–AĘD]ú‚gKŢn’lW] łTJN­ôĐ'ľĐľŐŇĘŽG¬•ßSłh& öp< S犱sô•śh‰§älřňú©‡rHÚ]Č©cí`ňęzÖu™^óY%öęjľ.\ŕs‘ď LŃA»†Ćzęu~šŁĺ#Hş0Âýóę¶‚=Á]Ďwńc–Í?ćš´Řu äv2ŐB“É.ęqĆiĽZđLśćëc«gu2.Ő–=­Ű‘]Nvă™ ÷$žĄ‘^Đ"ýWUI’ĺŠt’D­ERŁŚÖë8´„č|ôK"BšuąC뉪„ħľN˛‡ÝU%,şL2đ}Aqrâ°ĺ1nM¦äôéôáZˇ_fćŠBęĐöŚ˙ĺŰľů<¤°§â‰ĎâJŤM˙«©WrV`¦ɵp:ńÇś!´_oiF^ÝwŃ•¦ŮűY)7c H*űăű¬‡P~¶HóŐóC&±8ţc,ËŹ,¸»ç—oFç6§!Z­gŮŢpĬź[‘=€ĄĆŻ˝A6s„†ľLXY±ćÎb1Zď ť`.WíĎŹ×-Sµ˛HĹo¦^yXcFČ‹gŠ)H“-zÂ2ŤVń_fĆ׎µ±†Mś—SX âŽđřűENô ČĺOĄń>cȂߺ.FÝŕ «őS_¦ý*tĘ1śŘ‘ß+¶óÍłË:EÔÁkëU&×FűC:AĺYV§›˛Ó|„{Çv¨Xr†©XâŤn¤g—M)®ÁÖpťD‚!ŔKoŹEßíüö»úófw±ó¶wRĹui›ť}kžsL.„>dqÔ jI>nRtJł«€dgÚ=`θäˇA¨UŐçl;_UEYVöŕ'ĎĹ^,›µi#b±CĹz›l_ß4KŢ´ŕhŹSľ7·YlĎYŐ˝ŢIĎßÜHř^CľŔ~ç1ßI3÷‰†Đu(¬Ú⊮§P‹řÁŘŰÓůXđĐIĂ‚rł*:[K­řC‹ć§Ó“Ć<îŚoxŹóxgŔć>©˝#­ĹůŮ·(l´‡c®můĺęđ„ČMpŻé9OsĆjÇĎĘQ†eE$ö˛źkͨ°)¸BĚCÂzÎ]tLĚßî©Ě=ÜTđŻKŰr©[čĆ[2Řăú8=f-<ÇN*„)u˝ëÚŠ3J˛{â‚zż[~źV˝…ęehO.Ĺ“äřŹžĚäĽOŠň™zR”Ŕq^Ďc%i÷íĚ ľFY±AÝ &®ý_Ó—i—;*Ň&ž$Ě˝mÉş%á‹Óşn©¸ ŘzÚ’Ř›ŽSŠ`äŮK—és›VV€p®6ŢÓ<Łđv.h¸Í‡;rÁk¬™y}DŘ­ž SŇ:Đ·Ŕ :oÔă‡#NŰŽŰ9Ž›·/áBřw‚Ä1ůâA1<ʢ÷Ňí#ŽŠqi~VŠ2l?±Tnű:˛ŚGňĽ@´`Lá8Gŕ×ů´7R<ňqü ľWÓKßńs¬[Đš‚8X`&:2w´k§–PË$ęééű›« W"Jh”ČŠťrW€µÄ6ˇµÜć•ţ(CÝšŰŰłŢ8¦A<đ•žĂÝ·«Nřf {óĹNWŰpž»•Z&~~çiű…°­ˇöG,Íig€÷ą*ŰM>}hńö€Aóčťá”7e4źĆ:TF2SŔ5µY‰ÁŇw_ľs`ˇąĹĚ3Ô^!€+¸á…Űeđ …Kn~ţY–/¸©]®[‡CÝ5=ďó 3–÷®©ŁAąQ5±é 뤉˘ÚćEî.4Ó‰8}.rt<@)xŰĹeí˝%}(ťúâžHđkŇ&yu«ní ’€FĂÂŻ7ćióđşŕX\ÜĚřiŽ2ë8ĆţDÎ+°ÉĘÝ+Ž7O.ŤöĄźw0MĐíŐßlĎW𦀉_6>,xęĂéş‹|iĽ$áĆbÓYŞßöńŰg‰N¶jýÁ2N† 1foŮČ[g«zrř‰™ŚFŻěĽŇ^ ´ÎEŘ­v;8c¬ßc;s.Öů<›Ď:F\Ę|D.+Ńź'Qj«]DńJ^+ÍVE„íô T;öĎý”“¨‹»źyÍÓ.g’ °Q™,o8ѡrÎ|]Ř\\جîďTSa‚š .«I[±MÓ䎇N~䞥»1Ăô«ź'ë͌¶[.Łt;ąŐpňśÁ(ůq‡ĘÄl›źÓňdIťđ ýx7…®šq~ľR§;óp\ŹW-ˇâĂcÔő;9/Ž8y¨Ż›Ý‚ŁŇOǸ âË– »Ňrç Ť9ś6WďĄ.Ż^řÜăZ­¶e˙čWAOZĘҦϔ#(Ä\ňn>uŘP¨ä­švv Ľt`‰šř訫É«˙‚í’íµ4%Ý—ŕŮŮm{907©•H]ńö4Ă4;ʶżC7]ćVqž”˘ý‹ĺ św·vÚ Ąóuľ ig$8 ÉJÝSĺ<_Q|”ÖâĆŤý’ű ÷gŽ sY!wí4WóevqĂm킆şP˘Ç}žŤŐçŠKë":ŤZČ:/#=żDjd[ËXÍ…^Ţ3^ţÜ—ĺĆĎŇkUľ_č±¶jކ‡óV¶Mšw@Ä)d…*ąRĎđˇöôôYZőRŽ.xďČąĚŐůb`¶ŻľíKŮNSm|•ÇW“¬ő|Ů\ŤŃܰҪÖď×äŇo`m>‘EKĚGđśMĄěCššŇü± ť¬Ű1žĎDz3ĄŢ"»ŠtkpWźBîŮüYŞćśžSÝSťzË&lőA›íČ@EüC#jßĹI‡Ű·NĄĄÄ\ݲ˝ŹţVVÎhp¶]/fłő7¸ŤKŚ÷1ŕQY ŮŠŽ°‹C!čáˇ!.’@ş]칼Ýy ą`ę—Ł=µ(";[®}lő]Ň”VŠ’Ě“9!Ś4ÇlE 'T9évT©EĽ€Ţ˛ş”l>‹QQ$@ŕÎ$ő.Ö™±ŐÚ«$é łčźw®“DëßFşjŁd|¤«ĂyVě±:žZµŁzéĺÝk `śŤ˝%©W'·ťžĎĺ0haî„č%sŁP$gŞľRšŽ÷?žLÄ2I˝ńŕfÝŞ“şüdšÖĺŮ>txőMńiťl§FH«`’ «±@ŤĚ.ć)ď'Mý©P!ZÖÁ©Ę éť #äÖâ^7BĂjy¶‚eŘëJL÷ł€˙łĽ@ÔÎP€(ŮaˇÉĘPyoYń›Ş—oŻţ댑ÁYŻfĘű|6Ö{’ńŚňcEŻTÝWŚq{HE‡Ůâ#Ňc8žÔÄ7tFă?Mý¬Z±6÷ /}›¨ WŰs}‰Ë™U˛ş :+„íe[ŤZőęc›Ţ ÓťK¤‹t%y÷ňđ¶eÍxBçˇó˝Żř?97zÚ€/)ćßJů3“†=ŇČĎpIÎAâkeĎÂÂW),2ď3iF:F`—÷nu•oPČĹäUĄ¦9Ag¬ě}šOlő5ýżľ_=öP ĎIŽ"ö?áĽîy !p=SÚşaGç©ć Pîä•%-‰ä€Iśš5ëÉŚĂOo««lHĘvˇRćp ŤuGÁ}ÄΊ®–Ĺ_*uĹe‚\L/]Š ËŰ1‡ĚŞ9C^ď3–PçPu=4.}=«łđ@ a＀ś%!Ť!ĚĽGOw”6â4Kµ§’ŕUŻ=ÔYĂĹĎ´Źyŕ×kuăÚś+A{§ď4Żu6ŽŞŘžÎ“ö™9f8®yÚŮOf/„ĹéV&K¦rŹ^®¸Š,âîXŹł‰ÄĘńKÖěwŽÉ Ńą1Ł˝ózűq§R ÖúńşĺÉ"ß;yîÔ…xŔ[±ŘŢ,©÷oßäŰčâB~Ú~ `Î`{»děĎ/AĄ/ŘSĽ®] Ě“ť{×?°=YÓp‹‰t×i Ë*şÄî°óöőVëvĄÍ¶đÉ‹‘´>^lŇ]CWEŤĺXNm$­FÁĎr]ą"víDőŕĹ-"TIĂś'nHřô#şfA»Ő‰îcmŞA!Ń›Q^őuaS ‡4˙ň7Ňń‹žĆSTDcĺMKsExI÷ÖŇúݧű 3ůý–TSZŃNůqćäTuÜsQqŞĄźÉ÷ŘđÔ’ađUyŹ>9EV#˝÷ŠŐňŞh’­®EĚáŚě9•Ţi¶ż†áĘ·8ádČojAOŚ5Şq—óMÍů tŮÚ'/ťőÜ:¬B2ŠíBWtIo-Ô«Űf6”ŻŤěY“+^ŘńnĽÓ ·šU{áó:^3{­HÚ©¤É¤‹Gű.Â!›ËQÎËʡÄ$s¨Ër;ŕéN Pĺű“5‰ĽgŐíţÝlĎÉj†Fá[ž„ľ—ëFM‹—CBóź)íîťe߲ĚöőKšfÆ«\¦EÓí äwmązĂäü¤q|Le:#×d.«7|äľöŢ4/_â˙ţKˇ[MŞě—vřĐGÁNĽĆÂáßr#Wńá źßľ{ˇÝcműF×ćWÖŚ€sNŹýÁ'T,2 "?„ęcişŰ^XOżJąË=ťÉď÷F7ľąFwćRÔ ¬«žÄűýć>s¤~/ţ©—‚ăxâJ۵áuk^6ël,ŰîđĚWŞą6CÝgú‘ň,λˇí(7÷2mÂ7r¸r]Ž·ĎER3`ÝQ(ĂóŻ=ěŚA{Ü›‚ný‹óo+Xď 7xd(C’D/x{ćkĄÇśtř”µÍĄß2ľlŘE꿦;=¬1„‘ç;÷žhé|ńҡ,ݸZ=§VŢĆă[…O’IkÓ (¸)ů4Ŕý&_Š$'éŚç…'šd€‘łď“YI:őM[ž‡č^›HĽĎŁëűŁEÜtâ N©4ç¸Zú477Fż»-˝#Nžb~7łţěâýá6źĽ(|P}I%:U0Göj8:s™Č „¨×áŮxmÔRH¸i”•6bš¤űÂşéş`ŞrĽőÜ˝âŘÓţłŽ7ŞgŤË‰Oi17›˛Ë¦¬kÓ“`Äçb9Ă–wkŢTm/XůЎ‘#ă}Ą|®z·­ YíĹ)ÜÇË;›v?¤·M´ł'¶dŠ˙ĂŚ«Ć'÷gĆ%á…!9­Ĺ÷­¤…TŃň»Ěö%ĘikŘMŮÄK`=ţş±FśESÝš«‚IL'g1ŰuŚŚĽw­W9×›#î»âSî7÷ w1ô‹öĎŔÜ÷#>ÖŹéT?ťéÂc]>·Ś­[*ďrt'}gTrm}&Y8«•\ůĘâz U‰0š ÷úśö-âíҧű@‹i¬‚ŮµŠšć-!Ľ;të}ŽÍ«oוźšÖés9&¶4e´q<>ďľ×•ɸuÓIšI쨴zpĎĺuűDwʧg=JĄĹ€\}ďq2·MŤjDŤ™ß8sVč%sÖž¨N{‹‚Sf2»[V¨Öqf•Ş—G/9ÚídĐV‚ŹčɡëYś&K”Î}٫ڵş:`ęTtÇĄ˛ż{řY}#mŃţáv,ÜmMʢ¬)Ľ1Ňş.+\cČ#ö fX¬ŠŻ}§ĺĹgöŚŻ+”–AŰÁ×ÉŞ±ą[—mßÜXŇď`÷ŽůäłË §*Â’nŐŰĐÄ9đ}ÝĄ&’ÄĎglŰUÇ÷žő%´2–%ďĘmчŇuó/r‹›%ΡłF ÄŘVŁ(~ĆüzśÉ— endstream endobj 4020 0 obj << /Type /FontDescriptor /FontName /YDPFYX+CMSY10 /Flags 4 /FontBBox [-29 -960 1116 775] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet (/asteriskmath/backslash) /FontFile 4019 0 R >> endobj 4021 0 obj << /Length1 1612 /Length2 15231 /Length3 0 /Length 16051 /Filter /FlateDecode >> stream xÚ­¸ctĄ]·&ŰvvlŰN*¶*ĆŽ­ŠY±ÍŠm۶“ŠmŰ•t=ďۧOŹóő÷§űüŘcÜkÎą®yÍy͵Ć}o %US{c ¤˝ť  #3/@ÁŇÖŘŐYŢŢNŽAhî řk䀣 sąXÚۉąyš@S€8ĐŔĘ `áááŁŮ;x8Yš[¸¨ŐU4iččč˙ÓňOŔŘă?<w:[šŰ(˙>¸mělv.!ţŻ7Ş ŔĚŇSTŇ–VPK)¨¤€v@'#€’«±ŤĄ @ÎŇhç ¤Ů;lţ˝ŘŰ™ZţSš3ă_,g€ŔŮhbůwĐÝčđŹ‹ŕt˛µtvţű °t;Ůąüí‹=ŔŇÎÄĆŐôífö˙"äŕd˙7ÂöŻď/’˝ł‹ł‰“Ą ŕoV%qÉót±0rů'·łĺ_7ŔŢěo¤©˝‰ë?%ýË÷ćŻ×ĹČŇÎŕtwů'—1`jéě`cäń7÷_0'ËŃpu¶´3˙Oô' ą‘“© ĐŮů/Ě_ěşóźuţ·ęŤl<ţµŰţ_Q˙‹Ą‹3ĐĆŚŽ…őoN—żąÍ-íŕţi;3{ óżí¦®˙ás:ý«AÔ˙Ě Í_F¦öv6S “‚˝Ëß”ę˙;•˙űDţořżEŕ˙y˙ßÄýŻýo‡ř˙ő<˙WhIW#Űżđď đ÷†±ČţąclŚśţ?áF¶–6˙‡ ˙5Přo’˙?8Ň.F›!bgţWfFć-ť%-ݦJ–.&3#›żťú—]ÝÎčdciü«čżš ``afţ/>5 Kk»ZĎńoĐÎôż’˙+Ňż¨3‰ËČHJhĐý×;ő_QJµwQópřKě–"ooúż˙`ŠÚ»Ľţž@V6.çß„Ü,,>˙‡l˙‚aůϵĽ‘‹“Ą;@çoÉĚ,˙*üţţsĄ÷_`$ěLěM˙™U#;Óżăőż ˙¸M\ťśţŞúŻ˙·ŕ˙X˙kĐ@w  Ü경 ßO«´Ět—ZěśáIqťţ^đá`‡’µÂ|˙jűż´°ž ĂŹš`ĆĆiŢĎ6ŹĄ3‡?2´‡Ł˝X6T=)Ŕ«<2šľ|ÔMĘ.şĂ@&ýÄôsÍ(ŻëEąmďśĚ‡»“Ę*úĹP„ÓlN0×Ď4ţdnůţäOHľ&©ő±ť(Ť hµg甉'ĎOTc#ĂC=·}řtٱ°|FŘľÉg$I.†N &źon\?vů”P*ÁĎ“ZŁ|F]ݵ‡DšĽ D†Ăąň›­p(Ňç”ý˛]ĘTs°XÇŠňü‰—%›h¦ű™o§׏°Ť°4;- NzŰĆôY0-朇1‚îĄî‘ěűvMb˝Ëś{ADd‡·í¤ßLx/\ŰŁm˛ýz×@k`~KfřĂŢ—±ŠÜÝË9­łöą‹YžJ'Ąęš¶˝{˛ăh™Şdă^6čäéaCŢŢŽţ\şđ¦ ćÓđoŇ®gšâčÉą#«»“ËŘÇ ńAÂĹ]Aę;·öţ=ô¦ŢŢTŞpóŽŻW,Ý<ĆPşĺGĺřĹ×äcŢsš§Ó/HŢŽ÷ÝŔř«¬’Ęé %Ň=Q¬wDŽ؅chď^/?c6ŢŁúłţŤR(EĄ$ŹĺN-ę’ ŽŢř"1źJܤN°÷eB~Öř”’^‘Y¬©ď•éţĄ¤Rę˝äĘ…éŹJĚ& tŁůhĺx4úŹŹđĆGÓ¬ZëkŚět˘ÁZöńw~ç-ăU6—>¶ż ÂĽT^¬Aq&Ĺ/®ÔK`¸jó§ňúüg`#íoľ©%Ň0„öĂĄY-oĐOj°»šPĎNä÷źŕ·©E9€c[Ř&„NEÔcOa!p ­d`Ň  ŰÚ·…< °± ŮcÚőÉgÚůµvkť#ŕ[ý»”jW6⑴ߤbĄŁ‘”Ăëą+ŔÇ)Ăs©ćG"ŃMÂń/ąrA§pńy¨H-VhśáR´ř·xnüŚźűôNFż”& J^Ě€ Uí›Íy ˛r•xhMr}˘xT]D¦?{Ě";˝đâ·;Ž0ÚtÖçďdTćďŘF±Ydy{±x?”­Á®F0§‡,ŞMę1 3ŻpU´l¨M ăk,ľżëfČ8ţ|§~Ć›˝Ż”š`&]p%Ju©ÄŃ:ĂąoѬ{+ÓýţR[8UŤ“đǡăcjrşĽŞţz˛PŃŽçykyČ@źĹXá.#n$ąăi›ěŚČ ă):Ł™N‹[D¸ÓT¶VBl{¦ĹČĚEńč7’~R$‡Č4¶ČŘÂľw”ÔśSŮHőµ™âRčž¸Č dň+o|3ňQ™żnŕýÝÁ3“ŘľÜ?ąž ~$ ZQÎdËý…BÖ{7°zzĆ—URpf@¨GÓ]« %˝´ łŕ.ŤŃ“IÖ–TŽ7w@ÔĆÄ­ĆĘŽÍ{˛a ë5Q&LnH˘’Ń‹~“<;Ş8Ů/c€Ç$ú{á…ô´(¨j  űó– «·cřŔőËg–)ž'ٚи[ĎXV—§!÷˘ćÝ ôÓ„´ ß-ĐĹMýW`śuwě&ÎĐçÜŚ`ýňZ ±~BŁ˘›ˇĽňĄ’ŠţĘ'»ëĐ™ˇ­}5ó ĺ–ö›=<óD‹îcO›ÎĎe« ëÁýHfzYôł!„<˙C¶Ń.ž1PĹÖŠŐÚ–@şGhKÚĽ©¬‚>Ş) 6É iĹ渜"ehĚęh'ńüłCαÝu5tĚÚ/śKźÓvš$Ôe†UŘŕÝřů±µ×çěŮÇPž^zž¶Â¸Üy}U%łśOç?ńk‹‚ë¸IQKlDňıwń ýˇľç¦1ÚąŔ˛°î:0‹%µUb^­öµĎÝbŮł°öŃ2 ĺăÇ7·– +Iěć9ťěţ=/•í†D C×ĺ0×ZŹôpÖŘkjršEćiŽ5™T U¤Á0ÉŤŚ;s©lŤ0sy [3—¦ur¨©]¸AÁÁN,ÜP“÷ź ˇvéł‚Ľ¤f~ĂáĂ}cĄrL]3ď ÓRfő: Ą_.ý Zd†űÎUаnmÝIÚ‰h^€ľŚă÷ŻrQäů‹Ńxňµ5­±É) g9LŽ{ ´V#ÚÁ¸¨>č3ó˝©ěpCcëtdN ¸âFW§ü<ł@Ră}…¨D—YŽ*o­9Z—ÓY ˘~čĂţ1˛Ż´ :ŧDw?śsn!(Ţáôţ!ÖnÔ"ĆRKŐjÉ:;b×_ĂźÓż'^«ď "±MžŚäęi)9‚ňISh|ń*rá:@Q kEZĽĆľb5¦J5”ĺŠfĘ›¸v RĘÝ6îZWŁĎh'ŤŹť§ë},íEN"Ç˝›řŠM¦ŐvfŹŽźq¦˘óűíp±4Ĺ›5ëCqłÂcg’ŞZŤŁHt”;Mµakî1á}Ž-LřX:ľŁ…]ŰÄŁ,ŢĐťsřĚĄc@ű|ř(ĺ¸0ŽĎ-»ctJ5zA—oáâ˝@Đצd‰Wd换ů÷{SŔ­vNü¦„j¸­Mů—_ŔÄ«”ł|b4¦Ođo”ťĄJJ®NTv$é߉ßNĎú—÷Ţ^©ť,„sb[Ę9j„RîD;ęETďŮSTZÚĄJq<’±đÓxád&Ł~ŮHŤâô‰ĹJíç{Ťr»ÄSu$.JĘŢHĄÚ»AÉmóOr­}ąn!áŃl–’Z¬‰đĺnĹF!Ksî?¶Ďś­ŮĄW©)óżw«Í€ ˙č†Xňe 9˙ţf|´róôŁbÂÍ‚áP§ŹŐä°k[|[¨EĎ;ĚPŁ7~t.RVŨf®fĄjFťŹ“ĆKŃžW;PúH4˙Ý^Ö}téŃîXŹJDřkĎÜĘ÷˘Wő“Q5)}éä"ν@ 3/e}ôk¶†šöÁzQ¦in˛=zÜ›5ĚB1aÔ~qĎ‚~Ü/5ŤŘűĚËđ-Wĺ …^ڤń‚$«m¸Ě\C@řě!ďâ+& ľlŕÎĹB~Ňă^!©śßz9řÓ+üd†9ÁęÖ–žÝŔi¤PĎsŞ™@,ši©<ó×űś\nśá÷MŚa¸Ľ# ŮoaLJ™:¬é €F#÷Łz‹ÇŃF ›űhj€ĺ‚?§żčD3ZÓů‹ąP-ăuţS”˝ĘÄ­PßăB‚Va¬r‚ÉÇSŞŰ>_Z,p"ćKXO…o|‚ÇQ‘ą9vě=łZ÷i77>מŁ,D"űĎoł2!Čë2ÓqC2 ‰ź&'CÁţk ŁňăYň{^¸nľXě„ʼnü»D̆‚U ÁŁ-Cdj1ř—Ôľ±RÇźT•} «‚YŮ9?Ćp íńĽ7(ijNÚ_Ĺô›“Kę…K9©ŃSeĘ+FŇÍĘDŻäśvs3éŐסü# CVQÜ‹^p9áčŕüą3ÔZu†svÜ'ľôóG@ăëGéď,Á•ÜŐř Ý[ ńCQâś(w Pnč×#ËWY,˝ÄSKřË.Ȳ[äC×Ď>SňcŹÁ• ¨»íŞľä“»wŚíţ,ŇLś3çž„Ă%`p›BĐÖ”.‡•$—Ęmhąk¨băŚÔ˘˛Î:Űű{í§J_[zŞUu›NQ`. HĘËYî‘EüĂQcę~©îŠÓ…ž_’A˝¨|§"µŃ‚(~P¨µKHš8ŽĐ2YyŢwlk×˝b… 9^Źö™·)\3Áĺm \n“ęďTOôĚ'÷¤ô1ż? _V  Q,–NE\tdQ©Ąťl¦Ű  »!ĽWťѰÝ@qö~*6ődd»ŘS Đáh0ťZMHśpěçT*š ~S‹DČíKFh™ť 4hDô襁ٺ›nE’f A…ň¤HĂšoĽ·ĺĽ}C~¨Ľâń›¸ę\Üš| @†ŔZ@Ľ8x—Đ\ęő_Í)ô´b ]\fB)—–€j¦•AŢ%ígΊą†ÍşXĆym6˙”Ză†G¶­C‹čÔI‰gŚâC§uq}Ó®˝Ľ©·E•ÚY8[n…ޤšc÷ţRFÝT‹WşŮâž8‹ëDĹžý)gež¨\w€Ť˙ö­sÁ :ůĽ<%vľ٤A(ŐcÓ§Ď<ŕ®0•älűâN…ö‡é™Ěń5ž®w¸~Ţřz|Ńň4Ě˝wX‡Cd¦'ÎHĄ Ň·ź+úŐÚ°Î/Â`&ŢôĽŔ†»… úáŮ_¦×Öťż—©­câ9™ŮUcv‚U©ţţÖĽ—2ȩʶ»bşZXe¸E#˛@¦“7qy]Ř=ř™÷3>±¸.{CnŞtja¦KnŕřłřöYp5ő3|URźÄżŽ€¬ě˝7Üôwî;ńĎQ5^_ł¦Ro}ŻKG®·^gÎO›ţ$‰Źß2c{ĺF5BśpÜŚwxŃÚ¢Ő6őáŻ_8‹7ëG0ßůA™NîŢWľˇż‹ůˇşBSĎĎřĂŃE ˘ ,2gW\|Ň]Ő~#ÚÝĘ0‘äÔsđXü«ëĐŹ ‚ć`fd`WÜ ˛ă{?4Ě­ü W0”0«ĎKŇ™°LőýáąDÖŕŐč:ňš-„ bč ]¤ÉćńýS…Şşđ—Ř0á@÷P+ýý¦¸*ţݬŤ3iµŻëčF&vć獣.TĐc:óŃDDâ×L.Ń‹1bâaYĂł€ˇ«yđhʼnJm†6mzęĚô„Śë¨§ëĎOłb…äXŇÓŘLĄ8٤Ű{[#׊(Đ,Dź$éH_żNĆ–{zźiOw#vú± Ú~QkŽúßUÜHo}Nóbݨmń÷ą'“wF:guޤ˘?Ťş4ż+$ 0roÔgÜÂĽŻ¬ßh>ŐcL=mwÂď‘‹–¤ü1őŽÍ·ŢiÚČőÔ“ZN˛LÂ,mRµ¶żťţ’´]“›Š3úCx/1qĚr}c˙ÓurVáR­u”‚…QSľ‚Đ8nŻŢb±*9’ůc Ć}+c+đěN Ž}ŁÁR˙rEů>ĺ2 ĘÜjM¬dŞČ”·¤W>Łz®-ˇÄ°műżÂ-Ö_=ä!!ąZÎkUJuIŁ%Ś<-uŹYżb§ržľnťäňJ4©¶‡Çm9Ź·l Ö7ذ¬J'_`Ač˳⍖E…kD&Ün˙ˇŔÂçÓF#>4=`=ى+«x@ś»·5µz×KŤôOpÚ:Cb»>TŤIó‡>qđĺÜń"٤ĺ–,MęÜĎ´d 0ä ’­ĺ¨í–lÉ­}čB…!áźýBľL@ú®‰łĂČ Fł°X––§ŚY¸|ě_6Î,ŘřőŕúF÷N~bŹţíJ ľqŮŁ˛9ˇŃ»§QlŻ÷3KüE$yRŠ˙pBëkĺ•J>¸Ż)ă»$U‚©ž”¸ľŚËOĽTŠN ˙ŤÖéÔřlbűĘŔyŐ C†µş".xNI×#`‹5ywâA•§/Cz°G:ĚRźČ,Zâ Ü{ŐđŁ ĂI!¬ľhe ¨›3ůvŹzp-…«‘ö٦§zb¦O>Ă÷mcwu&ĘĂŁ°)»'ř{<-ďô'ąś ›ÝŐ‰ÍzÉúĐ/ypÂ*»”ýđDóʰą§ĐfĚ÷n,îŢĹ"ToŐŻÁ—Wn^…˝HÍ«xZ‘ÄI tFŠ–ęÖěeýë?')X“ň›ÎŇŽVzçgŰBPŢ8›¤’›Ë)Źů. ¦«b} ń"Gâ±{ôÓŹßz‹<Ă0ˇŘî_ąN íŻŚ2Iý‰žwuWEa˘RY·éÝžĂeQ„;ż ĄżěDGVÉŇÜá*"}Ű70řÔ+˙ďŕQ9żŃnŽ#bQ‡ŠńU¸hęVş aVŁL'LÚĺyŹŚ Q•af–Óç'ŔůTBíZáěŁů&°LUĺ«W¤ I×hípýą*[Ř´Ă•Ź¬0;˘Á‰˙üě˘dđč (vPÔ<Ú«`1·]ĐŃh—?üj3«ořctɇn ¶LźĄDÎtsT6&ůWß~Śá ç#ÔâôęW¦ç©•µÂ¶A“”vÂŔM•ÓQ9T)Ő­×79‰€>z‰p™ˇ{ĄŐi"řŠ˘ć§%Á,2 %~`—§pĺ\˛­ä‘?xgd5Ł6léMń^©uúЬéëú¸5ç"öÓş»&›=˛YôŞů«"}˛öŚ˘ęm˙ôp`Á‡Vç€ů|ü5ceÁ‡Ą{Y|Ż€k=‘!uIlÝ&gWz§Ů‘Ţî¸ÜbRĆ ´Ço> oË$QĂ/.±Ät\7[´ź`ľ~˝ŚRfR'şRĘŘbŇĺ©˝¨ay7ş°8}Î>ź,iIÍ R:Ç 1<üý1»đGFđîŤĺž‘¦ŮíCýĽ†ÁZ®Ö =Rśśó)W_w«G­ÓĂ<ŹPdß|6 słĐ´cW5VΙ-AøĂÎEüč«ďq¨©  ć4ĐśĚR1Ú‰FŽI+?Ádż,ĺ\YT4`U=VŢmIß@ Fq°1ş=Î¶Ń ęń0ˇd‚– v]3ĚB2žJH——v8oŐDĎçԽ໌ vdZť­`ç¤öšîË^őŰvíhݱ?Şd¨F˛/.-śU©śđgN7iú×i^ĺTŞM™>Ć®°5ęđ/“Ş,X rXúoä9Ł×1śČ0JWxIÇ㏂ĺZóŞéӟیNďŰčđmNČĆŚ”?#ä€Ýhď ‡–O‡éý {ä]łB…´Đč|›=ą=űÓťS€ÝŻŐ(PXé˙‡Źw3™C\m—”;‰ „‰ Hަ Ę\_×§î9&}Ë⨠•™6‡ÓZµÔ/Ý˝¶ž=ďŘ@é·Ě•3de¶t9ö…p&î¦P]wn?ßÜšÉPě@x’ŁÚŹLfS—fU`7Ý?ókbÝZĹĘL–:żěmä—Śł(ęĘ=Ł,¦ęr"ýS0sůźmÂÖČĆxN32vdPPnq‰M[5ő(8n—s˘PƱV€ĆŞÁ Şţň6‰;ó˘ $oöv$‡÷{;đ$‘XCĄę 4çytU=Ť¶s)žb"ţň´PĚs–WŃZ‘v=4ł»ŰĎi:/\§bgcÍ”ÇřÓ*n'Tě}Lqđ{¤űąĂ»4ÁńüňQâĚŰö^^s¦2IOËŐÄjÚjžÂžz±žČâZRΨ|nöĚŔ.¤÷Ŕ7–q,ĘôÎRIdCžďËÚ\ţäĚ~ŻÚIß{IƸz(;Ńłżűë6¬~ÔgË*<4^aŞójKVÝé'Hö˘ú”đđpvę[$ö v\—R.ă5‰@gJuWŽ<9ţ`104€3±4O¬źýĐigó#L°±«­‚úÍ{„4K”<‘Ń„O bçÄvĘ;ݶĚI•% °NP—t8—čOółęňś% ŁĎH_d8™)b›ßPË4Rë|K©ĐŐ*ϤźłBŁwUcVcśŚ9±üMí«Ž˙‡Ž¤˘ů$’.˙@+\@* äý®Î«*ô骍ÔöŁ–4(ţoű—oé¦%?c‡ďg eýTo»·6Ű]Ăŕ©â˛Fűě…ć«(˝i´ňŔ×´¶ ­˝C“''şDy®rŰOřG.b@Á4 ¦Ąź;…Ë–|ˇŹďĐDxiĄ9‚ňăľą€ĆŤÜ@¶«ÎZ&›óvX$ß}»˙cÔű€ _T-Ňüˇ|ÂĎŔáä·…$3d‰Žî‘«IiP‹Ţ%ĂQĹ«6ĐômŽ 7ŇÆ…LŢß ĎP„Tż&Ű™’6VÎŞ.ç lń s#4ĎsiIýŮÖĺĘKéCĘüX/‡§­nćcÂ/÷‰ˇfăŕz$|øjTů©/]VM€d !–ĺ¦XÜůuňl°ą]Ądjű+ŕy·ßUÚÍ/“y•„üšË4Ţ\éČ7@ĄPűEc@ďú'˱n'o{Ć/oř+â‰59áŞSk|yޤóYJŠżz¸ý‘ô<1|_2Đ•úűŠQűOöl8^uŞĂžˇŢ" ™âJqöăÁLZ~<ávg„Ěż­†˘QýOź5ëČl€ę¸fL †‚Ű-HIí%]ŃÁR;@GLxmŐýůç(ŐĄŞłĎľřFqőˇĄ+č§öař-4ěCuŞ¸Ď•U3Ďôś‹÷łw‰Ç ťôY†\,¦xßÄ×bKĚ“âÍ-E@š9…XŠśDłO@ËAář¤ . /”Ę€’އ~k;Kţ{¸€ ?•C‰IÖ*áX¦ ™»s$Ę=Ä)¶Š‡[XëTŤ€5IMm€v ›Q3 ýz«rü2‹Ěřg‘cQÁ‚idN¦ÇţĆ9$ď-j3eżmĹźâ§L¬ůDŇT´»ŘKÓwĐ“F'dÖľ€.Ç‚łön•$ďé’°Ů®ăvŞo;ĹHA5Ć—¬+Hą–\,˛Ä‰˙q‚ đĽ•ń/f~¨Ř?ćü1Ä3"+Ś®ĺ°9˝W‡m8^utIřC”-t˙ą™N• ëO÷ůh$Ź{2#úy–ďZ/s$'ßýÇ/C&Š#ˇąe U§+kź{4‰€Ębší@#ř5ŔJb?ź(¬{;R­fŃ}ő”gv1ŮBŇP OTżu±ŽyrşhK6Qě¨tdŻŘ>Ţü˘č©†^/^ś1Ż É ŐüŰ5Ö]Ďř~&mˇ×şY€˝.ą8»=˝M“ŻQ:˘ěÄ+jÇűoA,’Ą@̱fCĺ(ąąÍ?Ž nó:Äć%.Ë[dŤŐ(wţËÜtřÍ}Ä“mÁŔÍCż—o™[ŞŰFö¬”ĆøH€ű6–]Ńđ˝r”† "<ŤQN®ĽxýĺČ4=wˇĺ±ÂŽúô™NÉR„ąą@DÖ ‹SH[ŞĐÎk»óöI*ć÷ĺ:ćźaL•l©Óâ[ŁŇü¶”.ŚXš_w:4S¬­¨;2 Ëź¬\&şZ)\# ±O>vó­b¦Ź•Ć#(|żę÷a”"UâeeG×ů˙⥜<ެöśÔX tĄwíúŔłçŤ´ÚF9BóU kď;ă?śŠÂ_V§vâŇ}=C*ç9JU‡Xë_*ÁM9źŰoOM*+?âłs揂KŇŢ~ÜfDYd’Y««1Nc+V÷¦‚¦„°8ë7Ý n,ébÖęř+!çđŘî–÷,ÎjjQ‡`¶d1ŰSŁÖ"Bďе'…„˛ş żcěHšś0`ż©;gcrÁĺg?WáKAĐľCÁäČsŔrvíš§'=ĺ!A ‘^Ő:=ąć;=KüŤ¸ű—ú@ĐÜ7ňÄ —¶1”'@žˇĹ#””ă¶äEřQÉ{[Ş Á|Ş—Mćř]ÖmŤvg%‰µ OXYŕq:×,}ĎŞEá»xé\ú‘•d†+m-µő“ÔÎ.Nî×3s›tYý3‰őV$KaŮRűݤŞ8:ŠŚŤŞ?­ٰ— łĐâ_—ĎÚ­.ąĄ-t[oôy‚–Äx$´Î,Đ_Ť49LeËawôhF˝Âýč¶*‹T"I$_9TÂ4NhĎďĘůźaŐŻYD_—{*1LčʆPn<˰ŻÄş#Oz§ě‡>‘śTnŻ•ťĘö¦Ă\Rđµoďüĺ ĹŹŮ›í'; ůJŮ«¦pÍۆ x…Ůőą˝«ôŚEëîż#@<ȲWűůw'*®Ľ,+˘ě®›MľleÚä~?ĆKüţ<¬Ă<č©Ç|ĎôÚÖi˙|¤3OFEú‘’WĹ›joČ–ä[l€ˇľDzŮkMŢ^ K›¤Ěn ¤dŽĂdç˛v¦ĺĂ™ŹÜÎ-ă\ŁÝ±_ÖWŔ–ŰęQMz¤ľŢţÖů#Îý–úŐ’â'Ý@sţÂ1‡9luM˛6‘¨*o±ň|xoAŚ©Rďě*®\Xlťâ(>vq†(x±eĘפĽÎĄUŹfĚ( 8q}%Ź_aauć^0ę0żÔ‡HŤ¦ť>wąôr#"«‚z ăO *,ßăÔ ë wřl>ćH+ H}XŰŔlěh™QĘŚ”5ĺů?»«?„ÚE0¨g©„uŃ? ÎK’żd&A;¬™>_Ďúł®Ńâší"2ôęş$VJ¤“…«,†RFc©1`|e–ĎnĹzĺ ŕĵ°yͬoç4¬ŤÖŔSʬłÄµčjV^N1¸S~‚x¬Ü)Ťt»á1bľR8řů€DĽłѬid®NEÝz–¶%¦ibş5Ź.oČX…gPűEŞëyÍe."ŞXgâ¶ ú%9 ‰Ů1 ­š„ú@µ›TßuxÔČ0Yp)&á(‰–9YŐŁ›9Ś7ż[ 6‘A[ěHŔŇţ+o*řô›ŕ˛ťNc¨€‚Óůç€^ =žĚ%h\ŠU­´˝‰ž‹I°(YÉĚô€´b˘Y’=†Ť{ÜPM ™ 5B Řu%’˝€{W•乣x÷,X„”ä@jďA·d.q§âcK r¤̩ߖ«ßuÉOk\,f/’!,ś™?UŻÇ’-°ë ű¸ą4ü©ňß ÂÂĄAMhy řŃf;|K^›~÷Đt°ťüzőç”Ä0BŰJ‹|¨mkęľDD[&: ńśNNú4 Hçnx•ő*&JÇ6˝ŢĽ2ňI)ć`gű‰äőüćÔÝ~ôĆŕĐmö`ȰÇҧČeN ”Fŕ®/ÜeLVăňÖÝţ7ąŇŔ»„ÚŢśrŽJ†¸U].NR©kř Î“ŠW;üäZĄ P+LOVmU0HŮ\ŢÓisĚv ‘NĘ$XtFĚL±*  “ĎÚk`¸Îě,čÖ/(bß"ˇŹIW6 ăOÇżÔ ˛ĺp§ĽşIćÄF‚ţ|łÔsśůťÝ©„›\qá`wJ§=*ätR+ľ´XZZ†”ßaeP’6WČöU •ßÜ‘\Čq|tJĐG“)ňľ‚éÓ-śÇđ“ÁŻ1ŹÉX…ĺOĹ,¬59ˇ‡ßŁĘ ·ĎĄ•Ő媯"µ|ÖUĂRóC§g`ś˘f8áŇtĆÂPřŇĚŠ¬*©ĄJ¤­<ÔŽż$*BŃkŁ 6|2‰ ·Vl=ź‚Äü•)ǡĄźęńBw4Ą !żFč9_éë,kËŕ?ěĚ…­F4¬-z‘ŤŐÎTťŮÓŞŮF%cB…Yđލt _ ˘Ă-ŃÄÚ_gąLŤíčEjÇÖ˘q¬CţČdžťĘşđ„®Č¬ĐYďčć%#FxםŤ–›ÇE!]Wă=pE»vÖÔéľu’ b’pÜšĚŕCěÝÜđVŃm]Uë{«»HřÝújÚ,=tD‘+ăáü€ĺaÜ–‰!"ěöaW׿/»›nĂŘţ!îz…ŁnÓ2ä=cbw»ĐĂ$ďśsxř¶mŽ5ǡşAoᏠÁ2¨ĺ"ł-c"AńăČ \ÍL7‘7a+őÄ÷üyŐ4Fű»|'´6?3?ż`©VĽÓ^Ť’łGX*ő«2Ąť~¸´I%‹Ő†'č8ţWâÁ ^Ú VÁ/KlľŘ.Áž4§(šA•¨qĆ$˝zë°ÁĐ^h1A’´9‡ňµ’“W’‚nňxR}µ6"’™bíŢW]ÜIŚ n8DťäY3dďs•cKLđ f?rfĽ.D«ógDMGł±s{×oGvśŰ­łhř1?•e˛*}jvÝe@ ‡{´\^JBÁa°c‚A×%IŘŞ-•öKűŻaĺq)cqčŞ MŻ™ŕŢÂ;'\Ë(Ăýđ—}Yt=jSł 0´a¶`¶Ž~ÂPÉ×ÔcjÄx=„M«ě¦h\ˇ¬RíF¸iô.íÇéP°oˇŠC  č}{n_<ŚělKL¦†tiÔk˙ľ´µ‡ž“h¸ jýńa‘őlyÝ–‚EŃ/’‡\˙D›mé'†Á( Í•#=1U"żm‚A_ Ń—Ą€VžäËŰa-ŠUJŹîgxŁĎí/2A3Š+Cs*đVfGůÖl_˙sż}óĽ1z¶c‡ţť>ý1vĎŢe·Ď>8ô ‰!#ÁQŢoňĽý±\€řýTŘËEźř´3ľ¦!„BlĆLé uâxz˝ÚV1µq”b§Lbk`I¦/hágĹDSÄÓ ÜrmŠorś˙k|esáş´żöjâsÍo·Ł-#,–Lò:%ŻčµEĹW%ŔŹĄb_5‡j×ţű11üĎ!nµ–\Şî’+W5rźlqçCzcTŹ Ö–Ömľ2AîřďJ†ÚtŃXćĂ MŘ.Ŕ“ t4óËÉÖÔ ·ŹćŔv"{eA E/äVŕ{Ăކś«¬ŕĹâ’ ţL:#»Ťżd˙·ĚşbzÎ÷H§46®Ú"LmâdđQôąČ=–ƬŔĘž[u®{d¤{Úş}ŕŘuB*K§]I;?ę7° 2Ĺ…EPtk¸p»¸T˛Ľ®tlOĺ·ď :_Gf:üŽČźţMŚEęŇU[Q1¬‡lLŞŇ!2ŽaF$3ŹĎ´GTŽß­E”q& ŚĐ¶ôÁ&ű´ŠĎWęd‚—/9“e{ZďÎ!é–wŔŃhGnŠAC±ňŁ…2ŘYúăgčd$:¦Č×Đ?vřýŠ•EscáÇVÉ"/Í;S)ˇIÁᄦ´RäÄ}đGˇx$D‹pĹáąfÔĂîÔ´ŔSJ€˘ę/»Ű€é+mi8_Ů`řÔ˛Ô˘ž·$?Ě']“ôŚŃT&ŔČVNi 79Řă,îłőŞ´Bi‹÷'„Ţ’Hµ˛˛«¬ką˘Ä+S­N…÷š¦Ă¬{\ˇűäÓź÷|˘[řÜ‚ŇĎrĺ*šîˇűhÂűăĘŞ1Č[[7ťEiNά<ÍěSÖŕ$ę0ٶ‰ň0ŹÝ×ŢŇë””e„馍{c8|—«ŔĐóń oS÷L«uŮl›Ň,^ÉyěÓb¸ŤÚµVĺŞxA;(‘6Ůľ:U’ěáâ€Čmcá-Ńęjr+–ngŽ]]ÝîÔ*v~¦›é4Yë2\zˉžüĚUdŕ[3<’Ó‡rŕnÔu{ń|n6ůíüÎáLBőˇąkMŢ/±ąug¨áYĆž+ýgśNc˝Ťţ0žlZC×đöX߉yUŰ7C7ń¦Á2bc.4D Ś˝]ˇ†M Ľ\—;Aµ7[tἡˇ…ŰéoŐ÷¤ęD +ďµó; ŢĎşQ9ŃCĺ»)¶äöPü  Tţä(3 l«_Hň_\Ůđ{Ę vB Kľ ŐC‚ÇčěH®i»~¤Fr;ń!úŞDú‡‡©Ĺű ‡¨B!ŚGäý0ž¨ĺe-°Íđ0ś×8ĽŁ4m=-ŮCŘH6P¶"†ď˛V›`d®u×öĹ§ŚŁ’oÍş_˝Ú×.ŢĽË9¤ë·UW’Öj•Đ+oaď$>»Ě‘_©`“‰čmĄęn?ľÚ0Hžkvëç9Óź]äd˛8VŠî ýh†Ń!ÁC.ŐWsÂ×`q`ČnĘTăa…®ĹNýJÚCŚ<ä-Ŕu媯)5tŠ]´ aq»‘\2;«ŚP‚Ţr7i¸y‚#0ćj"'x.€?Ä`2ŁbĽ§ŕmĹĹ—Le§żŹÚ>¤3k®AKĂ».“aźžŠĘj+šľÇm†˙`×YS]Ě:%qˇE›Ű‘ĐÎ(Ŕ’ŐĂŢ<ąűłÍ‚] Źł“éíGdTĐŕUŹŕíKŘŽŢ€P#oPć)| ádŤîęfu”Z‡JnűÝ[ĹŤrݶŽO¨fZčŃrÖ{ś“ޱMšĂpɦ˙V ÂÄâq˝Ýža0·T[~çL®[L`#˙»ůŐŽÍ!0‘_ä-Ú·I¦7Ě‚˝gjKŔ1¸É©sGŻ`ć,‡Ň'ˇ3…J,ĐjĘ)Ž-đL’Ď!}Ŕő88u=A‰45ë”÷¨N6¬ěN­9-ZIęžÍžP^n'?gA93Ś”ĘŞďqpđ÷¤Y$Š÷Ő§dL‹3đúóŇWóš Kq_Z9Ďc­| &,h˛FťBy[Ť€U+3 xTD†Ń7bήź¶PŹ}ă†]SŐČĹŤq±ă7h±Św”·_ó}Pü^âc›Ë5tĺŻůŇd_MÎüaˇAîCřţłä!T‘(ěčÄ…ü řô|ľŐń—žć÷îZsüý«—:·|9©ën˛4CĘ‘•Gw@ä„ ńdÜîÔ{©‚ü,ô )ě Ş Řn ää'ť¨’XŞÖÔ[óŔRß~9p‹”JT@O1ř±Şőţď{şaĺy LmţďµÂB Đ`áüŕPŤĎ«G7%¶­čÔ˘›Ďů—*P¬ÎQL5š7G‘Nb·KŽÂzś?GجYf*CYoÝú`ˇëúţNeÜŕuP¤ôřÜZ˝>ćčfj…›`DuÄćZrĐÍ`‚Ž•ßŇŇú×Řăô±ő5°~v›±ČŢ­ÖźŠ5C]µZŻ5{Ű»ňKF9´?Ϣ‹É_Łf4?*(~— ľůý†Ú’Ľĺµę5 0d NG=Áí) đHU1p±ŢrŰh6úu€­TĽXôăjeżÎ đ§f[iÂĚć×ć)o&$a†m[‡_ł˘ňśZŇĘž8­†ÜŤ Ů Ä”§%ü1:ĂşOS7 A±÷XN¬‹ëĐaůMęşúżoÖ°=FŮT\›6‘±!’­Đ^«ŁĄ"®˘‰±ppz8ľîĐ«úÖi¸pL»\8ęKőfž;=ô´)(A‹[*±_ŤĘ$`Ă i33ńk»Géág#Q< ­‚."ćhbŢ–ob{$ (iěĐd1ţ¤Ą«u_šÚš VŚ›ŚÜżÝĽ®×üBŃgĘB¬}Bżmµ‡#đž"ĄTÎúŰŔŤZÔZ@Čܢy#%ję˙Bşě$+kUĆqÚGaŹW)cřĆKgŽÓ°Pm3Ĺű#ž? Ž;%öµר(îŰ xN!ó^-Ч†!“€´ĐO˛B̶Λ2HE§»·ţĹăYŁźÇü$wKCýoýE—żbáĺ“*HfhŹ÷9\ynŚZ ëbŤŻ˝/yýÚžŽ×[˘‰ĺÉÎ.«dů”C%,˙~Ń endstream endobj 4022 0 obj << /Type /FontDescriptor /FontName /DJJFEV+NimbusMonL-Regu /Flags 4 /FontBBox [-12 -237 650 811] /Ascent 625 /CapHeight 557 /Descent -147 /ItalicAngle 0 /StemV 41 /XHeight 426 /CharSet (/A/B/C/E/F/G/I/K/L/M/N/O/P/S/T/U/V/a/ampersand/asterisk/at/b/backslash/braceleft/braceright/bracketleft/bracketright/c/comma/d/e/equal/exclam/f/g/greater/h/hyphen/i/j/k/l/m/n/numbersign/o/one/p/parenleft/parenright/period/plus/quotedbl/r/s/semicolon/t/u/underscore/v/w/x/y/z/zero) /FontFile 4021 0 R >> endobj 4023 0 obj << /Length1 1608 /Length2 11648 /Length3 0 /Length 12476 /Filter /FlateDecode >> stream xÚ­wePťÝ’5Npw;@pww'ww8¸»www îÜÝ»;Áíă}ďĚÜ©űÍŻ™űăT=»»÷ęŐ˝zwŐ!#–W˘2¶54·µq˘c˘gäČ­ ť• ldč„m­ŚźF6X22' ­Ť¨“ 7@ÍÄ jb`f0qqqÁ’DlíÜ€fćNJE5*ÚZţ ş˙§çó¦#ĐĚ@ţůábbekgmbăô ńżľ¨dbp27­L"rňR˛J Y€„‰Ť‰@ŢŮĐ h™Ř8šPLmV˙8ŚlmŚ•ćH˙‰%ä08Ú™?Ż™¸™Řýĺ˘Ř™8X?ż@G€™ŤÓgśl@#+găż|ÚMm˙&dç`űaýéű“·utr4rÚ9>łĘ‹Š˙§“ąÓ_ąźn€­ég¤±­‘ó_%ýíű„ůô:mN&nNĺ24í¬ Ü?s‚Ů9˙¦áě´1ű'Z€‰™±•‰Łă'Ě'ö_Ýůgť€˙V˝ťť•űß·m˙Žú/@'G+SzX&ćĎśFNźąÍ€6°  Š”Ť©-€‰ńvcg»˙ôą8üÝ Ężf†ę“„±­Ť•;ŔŘÄ–AÖÖé3%€ň§2ýżOäÄ˙˙-ňţßÄýWŤţŰ#ţżľç…w¶˛’5°ţ€,Ŕç†qČţÚ1˙_¬5ĐĘýţ×@5“0üź@¤ś >Ű dcö)#=ă?Ś@Gq ›‰±<ĐÉČ`j`őŮŁżí*6Ć&V@“O-˙n#€Ž‰Ťí_|Ęć@#K›żšÎÎő·ËÄĆř_™Ęó7ou9YiqšݦGÉŞî¤ěn÷Iě?ęřnkü_‡ż0„…mÝžtL,:FŽĎÇĆČŕbĺňţňý ÄôĎów' @ëłhF¦żK˙Źß?O:˙#fcdküל(9ŘŽÖţr9;8|*ú÷k˙,ů?Ďą‰‰›‰ěďE[#ž@‹ÔŚ4§¬śÁqQ­Ţn&đÁ »’zĺÂ|ż*Ű_ľ©ˇ[\úŻŐAô “Üď­î 'vo{ŇÔűĂÝVż’M.ňđ˝I©zňQÖÉŰ9höýtKŇNŐ"=/çe6!4ŮU÷·Çu‹_ˇ&ŰYľ\>Pů‘şäűˇ˝·Cô1J©‹Áč@nA­)89%O8z¸§čřu Ůł‡G“CĆc€ĺ“tBśčä®ďđ§ŢčÍ•®Š;+!h‚بwŠţ©ú+\÷W}!–Íp٦źy‘CÜcićI‚Zç8´¦ŔÎÚ†Ŕ®v“«’0NĹd!ëK©!C‡?qúC˘@™up”D?oÔp±ĹƸ™W@”ěÇ,+Yv˘ŹE?s éŃ+ľ Ś™Šz•Îk›§vŢĺŁőű÷ě+6[µi8:$Ń,“VZ·nPĂZcăČ<ŇÚŹŇŢŽMTuăńa|oőë§f‚‰ź}ý¬ňĄřěJCó˘PÔ©“ę˛ŘAĹÁÚu±Śů1.ÎłřłŰbąłfđLěŶçěĎĆ€îRż'ĺ©o'NnYč#ÍŁ°ÇD˛“`p5sSرcîżĹť{µ˝ŠÍpâ’Đdí.ZÓ…la!D®qЉo™ÁDő4˙HÚ_,&Ysóíŕ˛î‚Íă-]Ü‚q›3\†Ť—îyéÚ†­jŔ#ż×yš“†ťո̼ďDáúŤŐ#&kí?µ:­édäĐ!HsjůWŐŠę %Gµ ç“kĘx€eZ°kd | ÇpţH”Ś^÷ …ąáÖ§‘m253ě+Đ=Ăm(Rżń…Äq…ł'›G °AÍ~ç<'Ć>Uô!‘jtÝŢ` ¨k‡°ŚB•ŤąóřK8Ű} ĽnçĂśh˘…¸®,'ň8b[öř€ż@µ™Dk±@îĆşÝm¤~{‡á®_ňÇ@dŃÇ›-b*űÁđŤÁőg Ĺý˝Ř‹ĂôúÔ‚ŻĐ9űsϰ"4m'>Áźp˝6:5dĚ'š{«k…u|Z8śł_8k˛c˙ňŰéĂ˝ěůhpbV„îśD°™Y׺D,rÖF‚±żj˘:z÷ĄÚjÖąĽ}”ľSřÔ_ýJ„‹h >gÔkĚ›8´ir°}Ő :›}ŃžŞÇă2§„ˇDIm˝Ó‡aU.ŢôöŘ;™aׇO4$¨ś\îRÝb#·Ţ}KݎŃÝ9÷Ó€SŘÚÂźJ4,ɡs)yV˛¶˛M·'ÜľĆM†˝îu|şYV¤•‹}őaqËÎłÄĚş„›±Ŕęť„éĄhűDÍŰŁ 60őĄ´Ń»ŢUřr±Ů/yúř2qÂ59Íz‹OZ#{Ś4&XP:Zćź\ŠŰŤ;UÓšŠŹéuSľ!<‚Ŕüůs|ôó|•Ő6Ú9%¬Ş)čĎŕ‡ôbűn?ű·™AąL"¬Řu§E6E(¨âŽ”“ń¦ŁŽ·Ő*ňĂ]kp,ă4=jh.f•Ą>1pđ»|K7îç¤dúDÎWdŇśá.7?‚ĺéłŰ†-g;‚«3k»?ŇűŽËÇl05HĄÉŮA=Ĺ«“r|Ô„‚,¸1 ωŇZ¤,r¦~˘IŃ˝ ˙‡'g~Qä…‚8"ć(4ëű_Ę:ĚŢśVy€śuo—‘,n,ô_•Ř\ Ř`8 ZH3˘ČÓäR-<4Ä[ľ2Ś´r©$+7ŽVXö^—NP¸?©¦ŢXnîěŹOU.‹—NÚ«ÉŃ™)ríA<(“zŽ©~Şăł×Đ"XÎm˘łě}‡›=I‹©ĂŽŻ­6ć<ň˙JČôĘ^ĄÔFE×AM©/§CJcŔn]]1"ôÔw\ß.6óĚŰ@ôň11NLťŹČ] Ô†É*¦¤™ţI~/»^őe«):~‡¸R5މP÷/âĘ©®ŚS„ÎůfŘ&%RNË˝Ąń„¤đé¶Ácż‘‚żĘ^<˝…QŤGă§FHÚd®ń”~?úQx=ÄűNŰ(ÜNŹ›ét±ďŽÜ2,›H›1{Ó^˝ăéËÉ“©P„ŁŹ»ô Rań×eÜ=g?®tĎ ¨…Á…cŕŮ„rÎáMÔ—Ďp٦u&Ô_—9tˡřBvfËS5 Ąť’퇰ćŽJ˙řî/»7Ş0xi%J6E­ ×ě"ǦzrÚFIşâp_0W|ŠäŰÁÇŚp¨â¤Ů †¶qj˛¸ŚŹđ¬Ýo>±eâ¬N)źń% áî ˙í¶ĄfŔ"3´Ľ8VC€¤WצlvĂ®Ą=a|âHh¶•´ˇŢkü­§dn ˙^0”Ëf›ŹâůL/+VÔ¬ŔqđP¤Ť…Řs_)OÓY”ŻYŻ$ś®Őy» eŁ]ßű‹çpS†RʹۦÔü cK-{j‡z¤EÜB§ Z–!ľťňg¬‚cٱ0ĽT{ÔO¶Ů’ă@Kř̨ÖřNťßzkđQZ7‡Óm—ý“1;&űžžV‘qŰîŢ-:±§ŘˇXТ«qV%»J˛«9ýyó´6 ţW˛l˛`X6©PPµŐ@Ţ!˝ Mt?Ř'•q˝+ă±Ű6G7– Dđßfß‘jp°ŹÚBN‰Ëëú?W4…čRxzʬ«ěź…—ap*Ó ŕ®rkŞÜ” \˘l¸kň\s}:ĆťŞÚo-´Lć 0i€©ö%\jmw{ŕ˘ńÚaXďŮ”:»lmo××24(ŞKŽÚćeAŕVŚ&sJťúű§ýay€N›—iÝ ß=6#ĂUqś8qqŤőGPB~t@É ţ—*±şÔ¬\2F¦sş˛€ăëJ۶ę p- Śq ˛ń(_\^Ä~¤ĚěŃXMůÜ?µw«ĐTŘhÁü7`Ý•Oä»]řĐŤö´‰+×<&YHĽő8GnÔ°?ę‹Q)„ĺîö•O hT6´ŞD$ž0w=P3C|‘†»Ď.¶á†Ń~»ěËD—V•cĄP̱č›ŇĚa“#u0Iç?ůĆeN¨Ę‚ŕ€_ŚŔŁUüJý>Á?ᓳ!Ľ]&ůMU~é¸ÇĎcń ä s  ĘxeŰ·|÷H’ä`ç–X˛ŠďŁ9F Oř;Ĺ+Ž]ĹţO÷4öň~+éÔ)ÓzlzÇMBĄ "vqD+‹ ş:ÎóŇJ¶6cb8±u·…L5…‰ÔNPŠä»Ň.H«hîlËçŘź_Í· yUikTxH ÔHˇŽl„É•]ď‚‹ĐFC1Şˇ%_0açüřšE(I•:0‘†¨›•BľČÖńŠÎPŁđéˇĆ=§iŢď«í×ÓŠżśhP[IÇšYś%(k˛Ďlř`ěĄ$ž¦XÄ9ŮO ë*žÝŠř´łŤÎ ˘ń®çŮ*;Yie`÷ş|\wenňPÉVý(hd"j$ëŮIîĆe§Öfiżűh(GęŘIKv %jÎârĹWäş2ó’ž>p‘Ł„«—UJ]Y͇fĹëŕ­ˇłuY˛WέÄ^É€¨ŮNż)?{©ËŹBAňµŽ×<‡Ţ+’ąę»zKbŔyTJo‰[b‘1‚XGpí˝őöŰ×?ÖCXQŢëľ ¬›Ăˇm‚˘ŻnřÎy÷Yűš•ŇŚŮŻáǵ“řŢŠOrĂ2·ö&»zH¸Y|Ú<“•AË_z8}4YŁ8,y{gEÄ)aŻq6›ÄwÖ˙Řr®JźŞţś úÂŕxî\ý|.É“úš¬ßŃđë*Uj2›rgTkńÜ}>-? &*Şôëę‚«Ý‚#ăřŘÍ×?™ §5.<’‚ţYŃRo…°ĄD)ÁéĄË*_ý¤+x:ű%ÇGÜă§ ”>›ýŇ ą "m‹‹â¨aމ%C#™AN %5ä~ŹeÝw—roš~Xoé“Lď&ÔóCŽz’«Âům!čŚ/®¦Gą-§áîâĚq‹¸«[ ¦ĽV-ź i“ľ±fÂÜ×˝©{“BŞ-SÄĺ±±¬OŕułKSĆë€bV˘äŇ<0©ű ۨDé'ŕc3nm‡<ěąáÁ¨­ńBYČ»¦ÎEH°DmíK=űD HÉĺ(§ě ŰH$qPËgBą́=AôęBŠP­‘ŞíÓCšëx+LŔ ×s­ÜÔ×é“pcłĄˇşŐ`gÔ^3`uĄCÂ!BLDď"1Ć\ŮGúąA ýFŠüj)ýEŁŇ•ůw5ďÚĆ&}Ű´ŇOT1j:nÔB‘etJ‡}˛!űçx¸sb’ ş¬ ĺDÎ"bŤÓßPl@ií‹ŔŠÚ·V %)äŞ%}mfłÖŚP Ë8ÂŹč\â_ä 10ŔŘ÷Ô·Šľ!öî‡]íĂWđý*ŁpaCNTZ©P­…Ö„çd&Vśx&\^ÉŐ/ŐÁÜT Ţ&ĨK«G¸áťľáY;2ĂŽˇa?¤ŤühÄŚńoŠŐ¨ĐµłŃíh{ža{Â*FÝ“gÉDÚ†Eł4ń48ŻL¸#\ňnK hűeF4Ü!ÉfĂşŮSZĆ˝NPşÄG\ÄIeáqh¬`|6őU«bÁ†ź7ĹV—éGV±A.Î`ÁVşf•űó Vő€A˛®Čű&Qv KO×!#=Á!]BőĚđŽ‘¦®px=˙×#´ďż.mNŰĆ)_kCű~˛¤ôkÉŃÜHF‘„rË~ܶd '†S3ťÔ*7—îjeNÖB Uű ¦\¨Čć±%Ôô¶Íqt- 8ŰLă78oprĄr}`^’÷ÎżĚ F1IV˝’ł#%s·3R9bĐr(A¬6ŮůŮ]& ]şw;ŽM˛bZ}¸Đ9Ćߨ.á‚ŔX€ßĂd,…Á+ż ű&î°föQ]Ňuł”ůýűÝ]ă‚~źJę8éđ2N D±,Cęç«=fb?ä­UŚ=ś¸G˝…©ąŢo÷Eá7‰%3ŻJ-˙ĺ©­¨ŰY+Ý<=Č RIµB0úâ]÷4¦ŕ'nş‰ Âőš¦kÓyN çXřÁ+ ;§N Ýű¦b•¨ůJü{µäyÓ«…”Ť—+7Ľ¦¦Ď[âŹ+킲/żńŮ)Ą{/fdµ`D›hvD‰'îŻ+Ş®ŰÁü*i+Šř$HAQ†ZŘâqV·t E<…¤ąj. ˇ`–n¦ŘaÖł›Éiß|„{ŰŔ›ęç§$Ńś\¦şSQ xA˝pů®§dzńnČ6š®YŔ«†~Ä˝çĹ™gPe÷Kś_+ެ԰ÝoFćęb<Ă‚ˇ†Fôb“Č˙µS¶˝Deşk­D©ˇÜG)Ů)ť‚ú˘ąÂëľ!-‚9Ţle+ĺl5ßű‰ůÂŢ´3ŠżŰĎ÷IOÚÝ=˛'^J,î ËtlŢ–(×®ź \6 "®á;–ArJő0Ĺ*@đg±ŹO¬C <w5¨SúÚ«¸jJGW<žńʎĺ&Żątµ&búZ Hýu±…{öR˙ë«ák`ăĺz‘Äţ+É’!7–_órÚţă3ĹîŚçm ăÚ»,‘ďő e;ŤČvďAeí(N«Ď4±– …ŠŢµa'Dő>'B˙*Zô–e:ź›·Ę„R¶Łů&q¬nY»ăZsjÎĚ,ý:ČĐ”©ěcÚpnٶ’BeűöwŮ;DŕoXIvhć3K±X„«š?0Ľ({3m˝ÉÍłúÝ/vb·‘n:¨Ź"ݱ‡yđˇ›1l3‹˛Ĺ§m\ÜŘ÷—f“"šżŮ]ŮĚA4ůľ·¬óÁřž„śqš]]#*Ăđ‘žL˘{´q ‡ćSµ•iĺ,ő¤Ü†—0´ŐöĘŢPÓNżő•5*ó4‚żŕ+cM|7đÔM%”Ak‹g$)“ŐcžJmAž”Ţ'‘ôiţŁ kB5ŰQ×l‡8BéYPn=R‘÷M$Ůlë= ů®$ŢqÍ)ŹZĄ'Nýbvě»·J| ;]Şśă'ÔŔ­#ô±:Đ;Ćűr(—âkóç'Énz˛ ­ńyşOüµiL´l:ĐsHŮĺŠ[Fç›:!a\śß$śBścÔÚzÁJťŚŚE®ůj9ñŃL-´Ż}‘ý]‹áss€÷ňJVxÔBł>CŔ>€}ˇ&Ú+˘WZxꙩ×m5Ľ#–DeČę\ް|˛ąşör»çôÓÂłĂ8D·´¨/:§©Ń§ůÄíEżť3÷*´:ČěJý^[Wô˙č^QĐ5KúĹ×$Šo őĹ–K…]­GWŤ«ô1´Kö.°ź*Ô÷eŁń ŃÚßćx ć¶ßQşěűĹĺĹ#öbţzăhŮmw+tąâćëV˙ ăyľĘÓ'y™÷űoLÎu@#éŕ\ŞÜpůSC@á* K:㊓I^cę&a#Ź˘ 9yŇ,$T_řPoăwÖ’Ô4±«^?@^Ąˇ ťX¨ycËđ)]/ř­Jőď SiÔhlř+ł čiô1¬TE$Š{ĺÉ•űV[¨ůUÚˇšŻË-#<čŘnŞüU”(şJUŚçí®‹Ż7ď´3µ©ęBKTŔČŃhL89ĐşŘ3Ű9vwŹĹus‚vŞ„FĄ@™©Q3Xłĺďľw"ÂĹx|ŠbŚ>¶»ÁżX}ˇř>´˝Áň9:/ŻE©»G<&\#úŇ&ž q~ ß ŘO7¨ă–=KnĽKĘěűźú6ř čđ\idJ[Ěoő¶5—s¨ôÁĂ˙ißkç”~ůÜ—‡b«{¦óŹ|bě¬ýUřĽBńmĂ2Ú+µŤ,?KŨ Ä’•OÖ&±ţ·-ś"˘“’ď‹ST‡ą«ěŞĚŞň â¨ŃmŐŢ(kTĚÇÓ»‘‰:x,bN™H,É­ăgćvG”XDž^’!8č iă•ŮŻâ›Őq!Ł­Â 9;Ł2Ë×ʇ7ž4MŻ2‘ĽőeZÄć™]㬠¤ĚŃ…„í Őf¨’ÜB§q™Í'PűA¶_@Bˇ"űí­źefň±‹\p¨ˇĆäJĂźH¶ÖŢ.CD•ó?ń1 fÖ‘öDŠ»x¶ä–]\ť”çÉ2›$Ĺ©dTcϰ!Y˝‘±łV/_ŃçŮ\§yZĚ«“Ş´Sć˛AkŮpcÁŢš HżĚKi;ŠB0ú #+ŞŽ_g®íĽ­ˇ:ží¸Đ}ČxrV)şÎV†řÄ!‡=¨ţŠŚHĂ®ő©et'8|·‘Ń!K¦‰Ďř]oZ]ăă:u3ZÝŽ1«8˝$ ‚'MĚy K[®,v,“<óTö`ú”+O‰¬+JÖ-K\ˇ˘J®6főËXPă.»|§KĎ:3ž€ć®ďÇ×çĄ"Î<ťÝG­Zż{šV:âös·HőĚ–Zőüjú˛‹7.PY(ń `˘ ÝżSüŐ6†Č¬ĆkŰş«CaŐ˛…#cçí­‹Ç—¦=Ŕ±laß`ě…ú\8/ŞęiÖ/ۇăľĂI’ˇ8úeą(9Pł&g'čAo0§DŢ˝U&«§;(6%gËd1xO鎄8e3dŠ|cŚp<ýł¦ 5CŮËÎř1§ ňE¤Ö¤YUýŐĄž?WŽ8Ĺ–‚ĘQŘnŞ5¨ąh¶¬O}pÂs‰ŚËşVŃŹNdF—«Gݱ´ă—«˝IL}÷Ôá Ođd jřUWüe©Ńĺ4…lyí‘Çű‰ŻSV:–ÓČĐoˇůÍ(5_gkoŔ“ĉ±jH©slµŃđ üšR˝¦Ö‚ZŢcQ‡ ‡ßózş‘ ;9^<ĚĚ[ĄęŔ!é‹ăÎ<×ůˇß‰}HfťÚ¸cnĎ}3Îy™_–ĘÝ1~šź‡Žşęđp± M“†¬bO 4ŢK~/Ü2’O,}c‡~ úńí˝ŠăÇ6c°$%ţţ  GqÇčs¤ĘŹÝ+ęNÇ’đd xŻÓ f9Ă;áçŹńśôŐ“˝yqPęLᶦ`vt›»ą×­ąµŐc×3íSñ)Vco»´ó8௠î螼ΡĹAČK^ąşßΛՋ§ÁW˙©˘‰­ŰĄE0ŃFFŠ“0ŤW{pČ_Ý |Ú?(+ní‰ţŽHźDiźKߢÁ¨‘¤¬.Á–¤®LM›hjßęÄdVYfŞÂÇPťŇĹb—ăˇÓă§Đč=¦jžT,nÇúpUbŃM_~ŰTšMŃJż/7¶Ž›uŔëKćVŤÉ,˛ľ¶&ц:;¦LoţA #´§ť\"jO€[LTKن•o”>?ř^lě‚°2°QŹťśśËU—7`=ó¸zuÁt\'ű‘syFYĎ”ôuˇ¶ÓşKC`¤Űß·šĚ/čEť±)=ólËăp{ÇLxŇŘMÄŁÄr=—zţz+´aglNĄáKLjÜüÂñr:´P‰±|ĚŰ‹źź]ô¸Ĺ·6‹űq°ę, ¤Ţh=’tÜą)«Ç ‰ŃŠű0ńąW2Ł­űtwč?nbîe"Ľ¬iőÎPRÇ©©ş_®ťÄ’¤Ůű ě} É,Öw±©ZMŔZ°d"Ĺ$ëôʱ“ íˇkÚwy l3ÝÎ\ ‹mZńz)ęƸá˝<;µ4.y†ăťßvăSÎ`ęAF×Ë)…č9 úZ‹ą´;řĄóŁĄ;Ń şďÎIŠcř\ńqˇgćÄ5ÓkČ G-túŕ0>ÖÓĘ:ĂťQXő¨\ÇVŮsóöZ”Ó͡IYs‹ŽÁâcťü«ĺßd¬şĽQ⥫ATugiöö…iŘ}BĎXˇ;A5‰@xDîwzÚJˇÚ-ŕµŔÄěÄ1˙Ś“ ÚŇt?~OŤpŠň–Yé}ŇŤĚGËŤö6eŕ!–©S·ČçţNe9ĹŰr˙ý±°"Gcď öŹ0cn#\‰(mj„/c9/םâÇt·ÂÓ>4÷Ä3‰Ôŕ/X˛Ý9'ŘôeJŔç—Ą8yy_±Ô^š&śĎr©ü;7Ún9AgöAtÄÁ`čsŘ›·ôŠ…ÇĂűHšÚýś4v<Ţ3”şx×G›'{EI¶$–J"*Ď)Ż1Ąř ‚V’ąÇY:ÂÂ?¸Ş«6Ę‚¨Zrô­żhĘčŻxfĚ ÎbĂ]ÍeK¨J&Á-{ňEŰI'Ő´…đňÁľ5=śĆ¦ĹA®ź×éÔíCŞuP<đyär2®K$äő‹L…ϰG…ŤóňßÇ<ż Eă´łrhß üjnřäaňś#Îs™—PTŰúč¦ źÝ ±eA§ ďS樌»jŚÓbŚń‡4ŻJúü¤}ŘE)ÔĐ(«N,ŘŔŢHŽ~¦y]IŻ#÷»5?âqHéËŔAÎNá mÇŚ·¨-\á'v•^°‚¦2›j8fy$±°ă çáőhŹ}Ľť¤g¶f&}Mú6]|×&Ąě@˘P,čöM_şP§Ä‹đ%ó@6q)Ńń™E,Öch Ş;Ő)Ls“Ďśšbmč ĺhˇ ß˘űpÜŰmŞ–ąŘÄŤ\̧YÎ}ôo–zäů°f\¤ď«LD0ăě'ß|%ĄU>ŠÜ˝Ź,:ůÄĺ@6!É.a ŮŞň1eDš?>¬ÝňdĄrn•D><:ľr‘§G@ůŇ÷=§§§pEĂx@–7şóöÇIYTŘGăÎPě™”F^l•§ś@GXSČ”ö°F×°ŞąG×őĂ —Og{"Ă9eË8Áxj‚‚ń˘Me:ľ ş•š:ţžĆB›52L˘6ˇěÎG(¨C"âíŰŢĚ8MUŞ"Ŕµżš-h‰Pd Ár|Ë•31ÂoĘŹPţM-ľ2x¶ő3řÍVŔ¸µ{ŁĆuŮGŹ…Ŕ(PóüAŇŞ·ŠCxÉNwśÁ‘ÚďŽr9{fb(HŻcňŃÇ7°Ń’ęWŃD4é}h …“-fÎ2˙°Ů†Ç.Ü‘‘=†żńNfHXźĽóu«¬ź†'kžt÷Ň ł5ŢV ǰőŮ‘*‡A‰Ń2ĘAzNÖ°lÍ˰ń–íkŚq7nE®×‘iQăâŔĐĺTŹs‰•âÇ/]¤­ {‹:%M0&c×Ë^%ÇD~ýăŢ36aŠţ:LÉ"2ąˇdEĹ ‘Ć­$grHE_ŐFÓ›bT˘9déń§2ZŚ0¦şĺ¬[ř[•oiť}]~l•ÖS' S›®Ď(j•ŚU¤e6ÚyRßJ¤G űß?®ÜĆćX8µG űţ |@-s“śŔNËÜƢľ—f~˝ą_Đ»FW·˝łEm8y ˙UÜĹC«1‘&đ8j^d‹¤~şUVÚ€8&”iô"ăćŐű”)ţĚ;Žé{%×Mň#9ş»”Ď™ÉP"?Żŕ—“A Ą1(:?ÍOÎ"Âóëi”’ëŔő哬đbX  –€ š§ČFí'@™Kyóç ěś|†5-I©÷MˇŘÚĐaĐiĽăHnŢ|‹n ^Ü żÁÁĺ6‡÷Ăpר”ĺ4‚gÂŔ„9?»Rë„;’÷Š>‰#ő–LŔ—ÓD—/ĐZj᤺4Ż“»4#ńă$‰ć*Š'Ă=8 ĺ×3Ńî‡@Żp/š»ę0řń7t7¨Tá2Ü;çÍÎÁËd’«¦Š‚ŇTPébÓ¨/źÍ‹ ź3SÔ„ćÓ!ş‰Q"Éh?íŮ+bŚńr‹\ iÔV1×ábŇ%ą‰•O*8ą“Ş-,ÝŔrPţ˛×’hŻ_eä2_ŘoËÜŤ:–9°‹ĺÍ!ŁŽaŽU? D±ŻGÍÝF­tµű*%–zdőMÝ :ó®Ďi*¶VŁ ĽUťęŹßrJĚ÷7J—én ć%]Čţg·ä8®5¤‰ Ť‚É2°/–ßąńËŰ©#ó G#üŕSxSxĽF¬TĐ‹`Á„Ř_ô>€ZĚqö`YTWą0Ń»s>dÍęÔŞ®-2Ë)ŇÚ.řiÖWy i¸sÝ©‘›µf­—y˛0OŠ9T.“59żî2DĄ˘§=ë0‚ú‘0…j&˙=˝'UQŇëÇ‚ M9Jt4ú§˝ ľk˝ÜˇY6Ž#ňLˇřŠósű’4Ž 0|3®.ŹîČOwecŢ/\:żp”ž˛î~)A6NżK›Í¦×‚Ę"÷+3(}’ńwÁMXR‘ÂŔ˝¤‰©…2_ź^Řv9YěS‚CÍżŻ ňÂĹS!•zÍotŽž.óz2#šŐć~k%D:S0]xˇ&32#ćŹ8äĆ++NEú°ˇ”ŻŐ˝,ďĂ)OUę®ëkP¶*ŃŁ©&Ý­ç°ź„hôę-ÖP6ęîëÜRł4Âć—NY#QBĹ5CLy%)śpŁňdĎRTÓ{4~‡Î‘µĽŘú(äum}Q‰ňąÉž F`=!×$áYDNš˛–R3bÖR˝ P”Čó‘Žv_} &RvŔ&ëŮ-.…ímMeÉR¨Şň{CóąČqK Ö+QbÚ ]KňߋIk Bš #É+IÍČ˙Ř ó\Ü ¬ëUÝ5žvVF1Gst€#é÷ŹŽxë ńňV\܉!$ő™Gşű]Wzů…O«j„QnÁoŐLČ –`—̨=fĘʦ)+JĹő­ vMUgPëBS#ť›|/Ű$<şü-ú¦XŢęIGWS6x.QÜň€˝÷üž”Ďą‚?qŤxś°«ć3{ě¤pSâJ)s}Yá* ĂsvçćäľK°ťşćńÚHŕÓ;{y¦'_aĂŮa—á9RU©ÄÎÝÎŻ˛użv›e…y}Ń Á-¤©htŠŚd;ٵ¤[}ŞĚśă ďO÷Őĺésĺőz~¨ú-ßÖü𤬱Zbň4±Ľ?KĎřhŮĹI¸š/j0z6ó=Η XčJť6$?Z:Ë^ut,ö ç­b^sŻÝ´µ‘5ĆŹŃ›ďb\ŞR„ô> JC,§„Őb‹[źÁđA8$>t2‘X07m:ŁGI»\™‡ž!ŔA÷ĺţŚ-™”ç/Ú 0ú/šŻÖÁ}ݨĽ˛HßO+ţ ]đÝäH5C:äč«3›Rá…PJH~Đ@O‚çä(iNě¬ĂźŮvLB˝'ńëŐĘ~_sX3Ű>ĄnçyYN »HŔ$_Źb÷Ó}íÜç€;mőa„F¤YywŹą^…@çŇA=SŤrY÷Ź“ůŹŔ–ů†ÖđŮĄ_.­L°y®łâ‰O ¨:°˛}śd‚›]9’°’Š›‹.ÖѵŠ% ĂísKOţR¬Ü÷Äťř"/-{ R4 JÁrkE»=˘ ŇJµĎDäjőo™\›Ča˝Đ|˛ÔëăhÓmŠzÁ–†3źŘŔ,ââĽ\Łm¶űĎ]¨~űV^„#šNűEáZď÷f^Ü9ŇČÇŚ# m'rÝ:|>ąĘłÁ ź" Ĺ ˝W1W-ú:Ěě/Ł?ŕŘ,ł|źě¦Qř|;˝O,¶ď‰uÔP§R´Ý]ą$Š$“9¤`ď¤FĂŐÔáEbü#ű«Zö——‰.¨3Џ1&> endobj 4025 0 obj << /Length1 1625 /Length2 12222 /Length3 0 /Length 13062 /Filter /FlateDecode >> stream xÚ­xUTÜ_—%îNđîîîî®…)‚»wwww'8ÁÝww×!˙oş{Ö7ý4ÓµÖďž}î>űČ=EN˘¨B'd 2Šléčąň–6ĆN*F¶˛t kS­)ŕ`C '±9Z‚lEŤÜ  )@h`f0qqq!D@vnö–掀ŻjĘT44´˙eůë0vűä㦥ą-€âăĂh ˛łÚ:~Pü?_TŽ@€™Ą5 ˘ ¨%%/ř*!ŻÚ퍬ŠNĆÖ–&YK ­ `˛X˙ë0ůČŇňojô\B#€ĐÄňăĐŐh÷˘Řím,>ľ–s{#[ÇŹ8‚–¶&ÖN¦|ŘÍ@˙˛ł}xŘ|`dŠ G{K;GŔGTEQńét´0rüŰÁň€Ě>D™‚l­Ý¦@3yăGHŔ×˙·.Ó˙Ď5ů Ĺ˙# ţiď˙_s˙˝G˙Ç#ţ˙}Ď˙N-îdm-odó1˙Z2€Ź-ăüÝ3€ż‹ćŻ`Ó˙ë–‘ŤĄµŰsďß5€˙Ňú—îß1)GŁŹ‚Ůš4…‘žń_FKqKW ©˘ĄŁ‰ŔĚČúŁZ˙ŘŐ>”Ř[[Ú?şúOAtLŚŚ˙†©ZXšXŮţ-?Űż ŕǢü7ĺŤúG7¶ś’¸„0Í·[˙ńTüGU7»q˙;9éţň \tL,\:FçÇÚĺâ`óúoBţĂĂô_g9#G{KW€ÎGŢŚL˙d˙ż˙uŇű71[éߡQq4˛5ýł˙4ü…Mśěí?ÚűĎÓ˙Čú?Î˙L<č 4AXZ™đ|KIOu¬ÁÉŐéíf‚´+®W-Čó­uů¤„lp•ľTŇ7LpżµşÍŮ˝îHSďuc[Sv%Ďr?{‘Qő䡯R´sĐěú3č#§kDxśĎÉ®Cił3ŞďnŽ))ë˝ŔN´łŘĂťßSů’9çů~úrg‡âm’\Ťő­ Ł&˙č"ţŕţޞxpŕW×%tĎMV4<9ŹŽwâI‚Ł›ˇýM˝Éô“3»ĚőC¤ćS9ícĄĹKÓ-÷jI v>2٧ĄŐ UE  ĐŮ(‘;MóŽ*łR+‰¬?<ź*yë@VN—2ÝŰ7uęě‘IčnL<ôGN¤€ú¬ďüvđ,<Ą:®Űšyééę‘_:–'úI®śLđü4śÚĚgyKŮgP‡‹!qUAéI6ĹťČbů’ŠL†Őo8†p«BŕŇÓ#Hż[…ö¬1Uca«ô}Bű‹uIžĎŘŹŇ./<÷jä˛of~O&ŰSRv–hŤˇU_g€,ÓtîRZ®Đ†GČ3±ç]-µLy'Ç G“‹ť[]Ëé‚c¨‹z›a®źzŃ:5 gR´*řˇ,µXę…o˛GM‹ŐÓĆ0Ń5nŤ-ľž¸».sU˙@;U&ďD,`PlmV›öj§Çá”±i]s,óŔ\“Şť^1- ¤ŔęŚ@Ŕ¦ľöă*CÁC’7vËň‹é. ťsđ]G}Ę Ů 1 lPÖË5˘„űłžÖžÁÔYĘÖ`Öĺ6łEűąÔ§l]Őö›_Őá[ě¤{´šôďš±ţ'fÎR-y´ëęHy_ßTĐ™N©ĘzYBĎ”űÜŐvä=čâĺf.÷ëşĘęg“])Ł{§k·ZS^έ`¨ň;ľŃżPĺötI«DŢĐ‚ľk˛m[ř{§˙鮣ńç (µżĘ%úÁç~Sďîô=%Ľägó…Î='¨†/!ü‘á÷9/.ŽĚ)ŰjJúÍdňŚ1­§×z¨¤`©Â«Ľ#ÝöźyŚ BÚń¬Ö¶“?ÄŮb¤-c"‰llâ‡M:D*äcŽ?Yľ>Čbz’hÚwüŢBÜyÄí“”Ů?Đň…lv0äsŹóqńŢČjN;Ž Aëô›˙iö{._źÇ,Šz'ClHÓŮ~3:€_µ\3ŹĐŮÍÔ!󇋤އťťÉLî ńPďúŽÜx+/Ś!“_’–¶íCC­řÔ´~h:Ł‹]+·AJˉ{Ś—ł›ŕŐy*ű±°úÎÓĹ˝°nŘ(g+l’ŘĐůµw\§:2î?l†žiç'&vÓ\.­đĄuvĽ°N;tÂUk˝Ł3öK: Ńň\ Ž{¬6¨}ŻGň;;Řľ#Z±EĽ ż“÷•oš¬/]”.:ŃŹnaô×T~Ł’wŁ«]kÝâó‹—Łn}Ë<®[Íý™řÔÝZĘń'Ćó÷> hżÔzÂWC_Bb/jŤŤ6ĺW Y¸«şoŁłNŽ“ą+Âéň=‚A߆–ÚbíQÎŚ÷ďVĄŔ㑞‡Ł+ń‰ „:µL/˰ΡüzC„ŮÁuď¬#áFČ©Ôaą”÷µM$”č?UÔÍËxh5%V€‡Ł(̰äŘŚX‡qĹd×7ü%šă±^c:Će;ŢVŃ5ź¤Tę×â€%Ô„`ĚÂ"(M|IWm/§Lţß’ZMS$ç ăńó\ď±K™˝Dc[HF_1RĂ”HłÖrŁ”ŹŐÎwPšÂćŠĹ™eŚľn»ŤÔ~§×A ë8"ü],ůĽÎ„ć~©yóţ`//źĎŘRŕ§:‡&I—  dĎCĄ˛Ö…ĐÚB°_R.E®|íÁefŇt@°[«Îüć{„’ü±ť}ĂrË‚ĂŇHbľ„=Gř‡Y‰Żżâĺ|‡Ď € c˘¬gӸȏ“wž™(KX¶ÔŃ‹Ű E™!yB–WëYŞÂÜÄl)úlé¬{:ĘŰŇč˛j–20(Ě)»ňŞĺë|w¸YĚě;ľŮo&¶"ŢFĂŁ‹YZÖëo±R{¶Tߍđ( ŕNnňĹýűFĽ.řBwXWËRî– )HtÍE’»Ü±pŔÔ$ţ3že%Żş D^iňĎ6őR]ţĹŤćyý.&yąpEI(ńąHÍD•·Ç px¸ŠĄ¤K J8s1T–““áiŹÄpij5N•&`üęŢ2;-zöŤp¶#é·wE𵓋îN!‘ÚeŻ=5”ä6şÚŕSgbž©YT¨¤SO×/žMâ®B™P8;Y{čËÂŮÍĚ÷çňRggűq(y¤’1űşÇčQzS‹É6ťÄÎ_,A7tŞąs[Ѳě•Ű·ů•0‡®'*ľłűŚL±%Çą›ÄÉzbŢŠÜÇK™ăÍHx-\KźiuúŮÚ5°Řř»đńzś2´ňFŐĹÖ ă-«ŹÍŐŻUĚ3Ôň1aoÝuĐÂ?áXŢ0á;yżčgiłÍ‹”ÚďU5Ňf\Ǹ\ßUčúg·ć“3;T&Çó‚ öü†bâ˙ZpQ但ŤbŮĹüV)=ĘŢţ™X¸ş¤7Őűťˇ˘Ô4”[ÁňŠknÇ@€˛·‚Ń%j˛19Á¢G‰ÎĂÓód/ř=ă B˘ú€rlkpčŹVłgs‰Ťç“ĽGCWÔÉ *2—GSľL»kiNÓĽ(jq¤YŕăčR+=j*($×˙śÇę$íĄź[epq»W|ĎB ľ»Z}‡–‰)OS;r#SX0éÓ ţjŇe˝ X·1Ďďg@ăÜJ¶ŁŞ„Š14Ęhš'÷čآÔéö[lWX¸ŻřZÓýˇdüćř+e˘Ľę°+ĚMIÚС06‡BÂăVąŘ·Đ§ÜŇd™`@FŃe˘±„4ĄJú§ľßDŹš*<®ţűJŚĽĹ‚Z »íňq"÷ç€ö®›V;b—s6÷%xÖDÉöĐAýČ göąAEnUh‚ůw>n牥RX„“}ˇuŽ!Ë­Č©č%D!‡ELů¦¨SstĆÍHŕ)ÁŔë%Ąf7ťtˇ âž­Dî†Öą]yŤÄ¨$×!>XĂË|u+d—řSŚ„6ĆËZ‹G±ĄÂŔĚ^ňšV^wDP9…Ń7+ńÄ>᛺ýUzí(67j+íGá ňśF™Y$ueăJ˛zqV‚ł/¸ŘĎbAť,JËĺ?˝Tjôbš#‹WąěađĚ,D« ¶ł–żhoÇż!‡±ĎFZ ˘ťu’5ÎŐ}ŰK}śZnđwě<§Äĺ7ůíÇO;eÇé‹A҉l—~t“‰w@¸¨i€É Ů@ŁAšĐľÝRŇˡY˘Ú‹ĄŔU™Äć—]Z¦Ž\Řĺ8µţM($[ „ošnŹG —ĄÓMvA̡ʽRSöŻĽě]‚ßÇ6q:A-'DŚk–Ŕˇ iúĽwb’@‘ßćCÎŹHĆ±× sý83ˇ yÄ÷ĐĚFI(]Ĺ3ŕšź!ü.Ŕ –oaööéç%aĎŢî5ˇŞčP1ĺąHPúhp(:%Đ·?ż–ážćdŢ ţ é¤đ.q jŹ<ČÝ\6ô"íÝF¦ĽF%´k(™{={Fµ"ŰąeŹ…¤oÚ»€Íbó÷‹^‹Ł'–—ŘĘ"?ö˘(˙'8wŢpBłĂ©`'·b D!ĄűVMÔmĺ p7ł—îZÂvŠ51l€˝4Ó+*É"+–D*_8YA-^!0[ú«{DDPĆv[K(ˇE±ŃęžčcµÄH°‰¬uÎëeĚź~˛ď&‚*Đ&5ŔĚdś‹vYůp?đ÷ ŹĐ=rĄÎ"Ń`ôNQq¦Äy3ábĚÇëMć8˙G÷+*šł+…SĘńî¬Hşi’L×N…6Çů*–ŐĂ*’ę]‚O™0>űKÔs…ŃkJË<‘M´2Ď3BIÓn˲D>ş;ç·™jő~§™€ ĂÜ’TŰń#N‰pŞKͨqS&ÂnK1Ö˛?žąĂ°}GKnmŻ'‚m{{Šu M•*3´ćw2 ž ‰gĽąřšŹ”ű _¬‡´&J"&´2„îĚ!hú™Ńťhî<č y˙śrđ˝čPVnŢX`ť˛ Ôaô+ 5uňŇ9şOádÝ'˝'ă§–l˛ǵ9I`ňŇ,uÜĽ¶˛;«$pąr®íůóŢ•Ę ňjŃXČÎ ŔgŮ« ţL –a­©xĎ*L>Đč¤ov¤ĆÍcž Ë?W?•áŐŞ+q{ ÜJšqŐR!ŞŚĐ‡ąîa6dĆ‚­Đ_#ÜĎA4ńa"pP`˝|­o#Śý(r*´&ŰhTi±lź2VŇÇľSĽcüB¤?uđ§,ŤK3ÔŘŃăy5.W$“5ąkp);gľŇë”+ŻńńhanÚ 8+D5ş„Ŕ\Ç‹&»(DÔ^x©¦4…iBš•ô9q‚9ŚÉ˛€¬…{nńÖßŔĬťç¨ŚÉíuîŔčá sj™ĺ- Łôy( ÔŔ9ÄŐ˝9#¶„ BZË~TŃÄv@ěď1K¤X÷ŐĄôî4ńşŢ*ϡߏxy§Ű8Hh1vŘbeđ7š_’›łÉ.† ÝB⣕-+[®2fF_ÓŻÁ.˘`s‘,ŠtŘŔJI9Ü~Iç5S…N=r?§]HÓ8˝ŚŤő›"˛íŚu¨«˙Ň_jv%m ťs÷Ęë„@#`Ű`pŘŐŻ8Ý*]č–»>mü»Ć8_¸ź{ă¤NŁą—˘4Mp|Ş8chhŁąč 9Âöş ůCD˝Čc Bµ×5’śú[ź«pÜo0«o€…źnGÜx&­|߬UU×ŔŹĎ±lC«¦żř‘Ţ©T©Ľt(öź*NF:u7®¤6DO9üIÖѱDv¨p­W,“ìHÝ•)†CUIőřöYRĹ]'ZWŮž9Yö.“«Ő(rłĺ}=ů|«Íč)é<.±řp%iŃúFHWÇŐ·ÜÔtÓhvźýAaIV0˝}ťV;A9ęÜvj= …‚@¤P­-ąő_ĺ1ĘxXŞ l'®Ž;‹črçΗf|6^ĄJí;˝®j/Đdh^%ą]ćŚčňĽ˙żf…("Ł’äHK Ú§sÝk &7ú)ŽÄfś 1dËż4őK„ r: g:ZňÔŽ`+ÝťśŤA<ňꆣafĽă Rq^µÓÓ9 @ô’° Ş8ĐŮRťt?·ď{ýľI91 „q÷R'í‹Ô3Rg¤ě;, (Ú\™y“Z‹î.ĽŃřTŁ]š¶đÓ…Ź^ô ŕ|˝bôÉ®—î÷Řâ ćôu…Ju.S1'Ü/ý(ÖćócÄjÜZ ˛]TqtuĎ|şÝ+ä‹/[y›? 4®ľ‹ľ×©ů<˛yl1¬ÇQuż^ĺÝŞĄFíB¸Ę¦0/9-něźĐ2łĎlŔ)oI¨Ŕ˛Q!Ő§JX.Ó}Ŕ¸d˛`MëxŐ`xĐö¶…7 µŽiç=qeŃ©mzI~ëś$•”oWŚË[Ť4 `ňvÚÝ•C=f*ÎqĎÜÇďp2Ćň¶Ic-8Řţ'ĺ Ô˛ TÖ=µ8r9ŁÚf€˘îjĂD·Čµ#ę/,÷­VI+ËuŻFv®7·Ç'E™Ąö5ô^3óö}{űÓ3ú<ŮNɡ˙ť)BČرł'`Kűőy6ŔÓh‚AdCKŇ­µ4†ňąĚ¶żT\§ť{Á–"ü¬iĽ§łEľR/@x‹Ő\čłÉK˛»úWއÄŃÉNëú!˝»·ĐĎaaĚ-¦gj~á+«,Ş94ä|ÉPWâsöů]°ô—áŻŮ4ŕ6Ś´µá(«Z1ĄşDéOl0¦ hY†%Ęź¶ÝÚŕă“húch˛uK6´Aţgh¸łŽ‘© ÓĽ1Qđ‡¦×9Á8µý_ýŚő ϧ¬ř'ř@†‹+Ć"ÚćQĆ­­¶t_ź±Ź–Ärę.HD-`¦~)ŠJ:ř˝'2Z$ÉűäÇľ”¶MÎÁ›­r`–Ťéź­Ë’/0 íţ©ě$é§hˇéچI•ߊ҆wńBR-ĽCXYŚýŚŽî¬YGXÉR†ß8z]/Ŕ\x$tIXŠü˘Ĺ%ďYCŁ^S­RřZ*Şâ˛ó"˝ˇ÷ŽÚ¨]‡V4áXi°•]D &ĚL”ômáHÖD÷Kço¤;ŢU]©´Ď¤¶uou2ˇm{–í^PëŠÓE¤“*Ć č7,yg‚Z›±Ł”ĂíOĄ‰2_Âęť÷©‰Đ†rcŃ˙ÄqlçŘx"CĐś‹nP¤ěcĽ@şťłaĘ¤Ö ]÷®ö,$ěR2G ‚98Źź3źŤtňM÷LĐ{5› ™Acź\‡é¶)qE˛#[ }á6ĂŚ˘V°čé˝ŔĂËźJÓŇř´üęÚš@ó•óŚÔj;]ZAş?CłĺČ’¨ˇaźl¸ŃşokňS™˝éʦzqU{0€Kg—Evô>–S˙'¸?Ć 1·PO<‡¬hţ—×nÝŃ5A^÷Y‹šrđanŻUőŁÜřł?űrT—ë‚=¦vËbŠ¦Ě‘B«=ó öníî_lĆţ™1âF?­\ř\Ҧ˝©đżDYÄ! O˛iRů|»ÎĂŚ˘çJî G ţŢÜ–Ę5Ĺ˝ŔéfUžČöóű˘rŘRčB»ť5Ëiň¨ÓăűŇcŘľJmŚ8ĹÂd«Ď°ôĽ§ůâąw(gĆĹ„$||Ň/+'*W‰1CçB,ś`Ř8±2Nm«tŇŘ µww˝Ňýű?·›°tr2ĂtŚ(Z‘ĂÇŇ|ź›vÖUA?cĄA<™1VZ21žtâ]żZvÍ6[3áąŢŞ/ ·ŘË ´R^¤đ®$ůS,MXŞL«·Ňż2;ŮÖmm‹ęĽŚÎo­ćHéȑͭ˙<ëC”VĐ0ľbń«{ň‘ŢFW cU?rl–(’&}%xŕĚćŐcqĹÉ;56"˛xoI8ő&ŇlË8´.ŐĎńąŤa¶4P°btO"‰öĹg/”ż[MôŇ/©ŞŁŢç&q˝Ş&ń°ŕlsŐăóŘGî ŚMD%FA& ~Ö,ł«Šáh»rÉZ„ć¸RĽ'|řô:Wşmł‡—CĂÓpâ/Ň*OžKL”+ Ĺ“J(ŠyG9ť§ŠQŢséń,#Öőhb¶e®ă? Žq‡yšĂřďóŇŽDszÝLęťźLőŇ–y ź#ä€JŞ;ߣ ÷áQ›Ţ™J,nX,×nčđÓŮŤ«ě“ŮĎâşCQz†ŰúuÁ+˝ôrÝ˝h!· ­CâZ«jďěXMˇ¸|{‚ŹwŞ8ÖÔę\ĐQ†\HMĎ3$Şľ6°ĺ°>·Ş_eâáHľÚwI/Ţfw0t+%Â#M7hH"µ‡gimv< ya’ŽşĐ +ŹęČ~Cľ»K|Ů4<•r…¨CŇĺ©ůˇ÷'Âwl¤đôšéŤé0‹ÉytF<Ëĺt'jęůş›:Ýţş×t5ĺ„(c‹.[iůô6xhę Ó]U‚ +€íśsé™ř!Î ňot»Ź(Ĺ>—ˇ°*»µuüi /®}J’÷ť$…—9G­ď¬Ł0Ő4l0íjKXŕ,  #ĆĹQ4/±Ýu|č'yĘ™ôg´Meš!1čÄw_ĹS ŠĽe?¸µĽkÖ"o;eÁĽµÎ&­ýr1ÍĘ6ćŐß‚Šmđ(ArÉuĆlŃő%®&rIa6dř.×ůű˘`·iGç!ĺˇŃ~”Űd—ű‡üX ŹBů–ß®}{šK\^­ßOÓw›˛ĹÖnNµĐSÂĆŘěýÚ(D ÂĺQN‰˙¬q`˙Ş)ń< üć˛]uśŠŃ$­ś2Ďâ4^ůÎcď@-G öü›§Ű&XHďʬOJ˛z=v˘đU„GUŁ „ Ů°‹ş#s6?­¨Ü)äWwÔr†ë‹$‚ń‹ňTŃjg·/m“ŁbÖ–<żěΊho–3ş lçŮqÎy‰°¤Î9…Řô|#ĎŁ•Y˝Żľ¬ÓďVaPSG˙ŇMăWi puŇoćâô<†YH°° ü ˇŠů/hÖäĽ?ęÉM¶~eW}%-Ť¬}&ŁŰ‡P0LĘ ČsžN(cŢţéăËŁGúC—€…i=Ç–…Ć_ J#Öz°IۢM‰iô+Y€wn؉„9ć´b-¶ň qâ%9Δ˙PhĂ]ŤüŇŽ®Ţ¬8x&MĐ1I4ëW,°DËľŞńĄQ]ů7Lu+‚Ö_oNş˛áÓ|¸o ýE÷X_ň_Ńc†Ű:~ÉĎ‹rŃÓˇźgĂcFńçZ#¬é<´2đÇzS™,÷Ô8ŇěĎŕr‚rĚřÓ=é×~…Ş`arŕÁ A—Ťrk]­‚Hľ€H$jůědÁĚ×bůbMÖâ¨;G‘o,Ź!­xŢę»Ďˇ1ßÂnPް2ŠÔMh †‚ÉÇGSG«BAśĐV*l~‚Wđ1JłÍýáQĎwŹŢ“ s¶pzVJŻü«ůÇ3źżĎŕŐ~2ìâMˇU”‰Á‡¶ÔĂĺ1y:‚Žd!´U#_SÜŤU z~őn˘]ň2Ě›Š«Ćít3‹J8h§D)+R8ü6lx'Ő§(€č"DéƲ+vT>vĘfV„VA§ŠpeK–Łh2z˘c0>Ť7ýćN<ŁN'ă·8Ŕ=Ą•Z§Fj{»ř­žn´ć‚‚Üp€Śř@ď—±Éń[Ë׺sëčűŮů` vşŹô<.©]űB¦ţgâqŢD—‰¨…R*kkĺŤe$çĐŢ“Ćě^<ŁáçĎžwťvđ•.$Ű7Eí°cŚl"¬€O\čpą3z¶÷ ÖVř«ÖÔE 3ż`jHŽÝ/HŔŃDŰŞšćĹ+ŤÇ~ °VE•ąź”xL”mÁÚ‰ź.„č˝Ýý,Ý!lM_–“T#˛S÷IÜwb©e¸˙˙¶[Ü őĺ)˙b6j&š"úş(ČĆ–8ŤúÍrŹÂmp˙l˙ňü5ß? l7¸§·°Ó3Ĺňś­eââ €B&^¦Ü:ĺíÁĆ c¸¬Ó{¤ĐŽ ´ĽĐżź¨[)ĐáĹÎ߯ż7“Ýoý0d–U·ĐěČ&1¸]ł~äh#¸î±I]°g§nÇÓÂF"tŢů¨5›ÓA¨Ą>ˇa¨Îם0-Ňř%˛Ü·t™č»WŘ©żŹÝľÇĚ/ťU˘żCűŤű=đń•{~çY˝#±–mĘUTPŘĺč­Šy™hcSľ¦řčžT6Çyđ=ôęÁăzd*L_˛_ÍŚ˝WŇD7­5‡ëjĎ—ľB<‡-Ëş–Ģw¨~G‚ČĚ- á”KWJ*@NđŞńë¸ä8TMí…;ţÄPëóń&ň°ZÉ„˛„*X$ŽŇDŕl î, /;ŞAF¬÷ůRĺUč» łĹoĺ’“‡Żx%Źú©™.ńú’o"T_y7ämË… }âů ¬†WCB?»— }_ÝÜ>k<šXtPĎ0çńÔ&:ÖV±zôąćŃťj)SC\yÉ­ő†4¦ÂĂö,čÝűť)Âňz˘€5 ëB”_Č3x‚J‰bVĂTś˝ť‹‚Ëáp'ýî˘ě‹ÇаĘŔ‚N§™µŇ p+ö’N‘ĚtÉîŚÁ®’dő8€(WĹÂ*p_€:µ~ůÝž$T„Ă`rč˙ Ů$… 6la1W^ŃC˙˛đý¬U¶Ű©ĺw¶Đβźňą!KCÎ2îŤVkP&Śmm€^ôV™ćú:˘šśYҟ˚ÇBTb”Â; _,˝}w¬ý& Űçf©"É/82ĺžĆ8ۧ<0(Eg…î1Ł5ů ýi')‚ˇL"ż©:‚¸b¨Ăs×D:¸?wňłvÍDjó;lŤ căÎtŠV‡ŽĎdR)ëmfSĺYWŰÇ÷ăbk>]b—…LĆ…®»ža\;W{đş°çđ{Cš˘µm:ŁöK¤3}›# NÎĘčŽS—lH µ@™ÚćE Ž $aĂ’,źŤ8§;áë@gNˇ­7loŻ`íwGĚ˝ş„'ŚÖ Ň Ër"·rŕ`á˝OMţ„1ű†K9Č%'8ČÁÔLĂŞtËüÓ‚›ü‡PM{éô!›ź\LEívÁB¬ĹÉ*Ťîµß˝)€‹ő4 äÔwťĹó4©ď ŚFZÎyçé5· _P3ľţ6eň=ŁĺťA´ě„‡¶ĚÖh‹0J{n‹‘ÓŹŐ4†ť.™’!bÁ!/ďŽňËş@b¨Üs˛koĹs:%KʆXçüW¦Ë¦‘Kż4Žňúş YŁ ĘëÝ7I™Ţş`WáľUş#ĺYôo·ć*í±KZŐ}?ä,Qžx"륿^©ď´xËNp^OnSÍ  mĺ<Ź‚ k-°lľŇ4wĽ¨ůtp‰ —}ťśYí°ÎůěYŘ8Ĺ®ŕ; «Űä«!_Ń~Ť'ą×&#Î×ůúîÓd®„¶›VYĆńCĘ›8mÓ’ČłĽqĚ’Ă“ĐcÚv^Áeë3ö)dăĹďKźŚÚŞ‘[< RxĎź·měę3Q™)[‹~#¸1ó[˘’ę»l,ę#Aćh0{Ü×ç?V«#Vş‹Ţ÷¶)2(čV}INćŰ9b·»Pf1äńłnŘR5Řj§‚čj9K0°Ęü“›™YčT©ü˝t+ľJ—eČ˙)Ł,µ}ČliňŤĆ/Í˲ďŮŞtîŃ„É|8,Ëmńž |găö`An:ŔěĆíVžLĹëÉJö#ń`˘™ÜÂŚŞxl+ßĘŞµŚ}› Cm¦X Rł;TŘc–ĂjcŇg¸ĹµśŞkÚłZ"gn­ćĹ~fDAő-›ą€M§Jë5βѭ.˙®ťľZp GŁŹeT«)e ćĂďe}&ŘĽŞ­VE`La´N©ĆZd'ÜůÍ‹8Lzx‘+ăf¶& wNŕ <ây›·yi ä íQ Á8zĽ©:·“ÖŹ¶UúÜÚ¬+|ěhFh– v^Ě]Yü%UľÍăÉ,«óůň]đirT\Ž=Bx§*VÇ……e¤bć9ÂÍÎ'›˘˙ă>ćĺDű±*÷äC ś]®lݵĐĚoéÁ…,mCTčËKő%ˆ¶`: ďô#˘JţDŞúžĆ·ńX;p~óňɢˇüFWtrKęŰ»®µ4f0áZŚŢ3˙Ŕť3cA H4dí¦¬ŕ‘^“öČI¶Söí}&îC´IĂâŢ·cö/ uĂkĄŽ3Ó%ŕĺg¶?Ľ úşâşĹ˝oł±0ÚZ4ŇC`ńłÉ–4Ü!˙#xřď$ěDRÍnő,71‚:—ó9cĎOů_XŞc‘\”1«ž—~­ôp{±gżďîŇú—`3`kS˙ÓšE{Śę>4ßrĐ^RŘúçÔľ+úK4Ńí`öU /ŐŇęíÚ,’s’]Ré‡G—v7SWťěö;ácůłcqć5EËäŇsăO‚Gb„îb±ľŁcÓÇ tŘŔ´>.?Ó«XßvÇ <’Abĺm©ţŻ&¨ą­’·é~“2őɱ<ö¬/3§‘>|ŞÇą(ÎtWéŠiş‚)ŹÍÍZ%ΚaJ(ľúą}F/Q,P—»5D’A_CľMfQ™ŐúcÔÄeu`9ĐD/ʆu娌ĘuĂq˝šT„Úiáq‰QřŤu#\żŹd­ůŕ^ŚŤ¬—Ä„ ž_ o«™WűŐ› ‰úÇđba¤\InĹl )/‡ýW¸ďÂ÷I–*ľĚŕl›ŕE Dŕ"Dm†¤ńăőí`˛»Ô#˝Çę.śi+f©Fˇ´¸ŤŚ bŞ/)#ßEŞ„ť‘öłĺľü•4 °‹&ÓŢßwĎXÄN`ÖŘ÷Űü‹ä[e6˝sP2G5†ľĐlZ°ĄÉ„Âák;=VEź—)R)‹3ie1“űÖ? "Ůá0%'şXH]«Ń}9–ĺ™đKÁZÖöĚď«A;Ż9Ć2ëď˝kŐHoPÝĐó†FÚµęw ř6dív$yľUF)'†;RdřsľsxD*Ń€§Xš4=ĹŞ«wřN!sbóđ{R˘LŃâ]/ B3oA×»<˛Fˇ’ňú v°\D d؉Թ7^…ušĎĄ¬ÇÄś3VóöůľPxbŠĹNR%Š-­‚ť#‰_öˇkˇŹŹÝ×Ú©˝CwÇĆ5Ő÷J%‹:ŽÄ®äł˝­\Ľ2ŠÄ5w§“o§ň3‹xÚ÷ϵoéLŻőkŠŔŔÚ1ŠRČͧôlů}/–iAę‘Ď ]Žç”–·a‰]+Ą+¨ TBßxýQtÉ`44^Á°Ş Ł˝ˇ·P-Ů"¤Ł÷JąBĆ ;RAźřím…6;gźF€šH ?!#k—W˲żŚ­¤šśTO‡vüN!_€‰«Jü$Ć{ ŞXë$zk Úď¸ő÷‘ëc•śĎ:ˇéy*xő0Ňöâ µ·EöMÄvâíŻ·´%ŕŘcÜŞJ¶Ř’^O0§ąľDµ*y7X”š7ĺÇńn§0Ž”ýP°Qś>YM_–´†ĽJr5“ylTä+&ś?ý) ď O?‰7ß|:4‘Yo˝×'7ÔČ—˝Ń ë<Ó;‚ćčŃÉśăré`«9ČVKě´Lńąiëm/eěÓÂ=¶ŕMěăßţń Ő…ĹgĆßëÂ&ţŘđŽíĂëO†ě2I ĎÔ.E¸±ŮTĘG¤ő]»/…ý›¤”J$žÓmń^ěEę”1$ŐýväąĘ¸ľ·{úĚ{˘C ŞbżŤśC0)„ˇŽmMşŽ¶q Kăd|”jRŃnSg§!Ţ3Öc¶ćokXŞ+ ă~–S8î‚t( /˝«+íYłn-ş?<öVĚŰ\{Ž _Ł`ÇÍşzą€Ą‘UÉččiŤěŃ7źü€‚écĎ&÷«űĄŻO!HżÓ‘T$V$ň8ÇŰZ›âľňË{řČŁŚM>a˘psU“¦¬Fu¦^ŻËÁLü .¦˝š·Ěľ{)s˝\l"ż đ$]6ŤN—†-u­ćn)Ţ ÷ą_™u[Nąt™/´d úĹ>8Ú´°ź§­“ăO¦oěôh‹“Q§%4Ó»ńÖÖ31NěËd,O‹ď7G  ňÜ~Šç·MßŔÄŹ˘ĺŕ `×ď$äĎz"Ç`íp¤Ył1 đý™Ň`nPŁa†–_8šbä‚D4s ŘŽV‘Ú„ŹŽ€$ßéÍŽhîĄoÖ#K椷nűa«k*ű]~R=2jHpBÁ®—Śň'›˙Ş7­ĘÝ–ť!lĹĹšŻW®äŇá'ú]śÝ%ü.kľ9•ť°>ś”ŁSĺCň1ănDŐäA}iVř#)j$iłŮž1ĄZ ţ÷Á·:—ŠgôůÍsM`»V´ą"-/u Â@”HÜĄÇ'pť»(vZď^™mMi˝ć`$ŹŢ˛gĹ@e.Ӯɋţgp[Č÷ŠŽšçoFWÇw­Pآ °€´2 Hžq«FrKN’É}r¸Â¤¬ôfřý‹—&/ˇţ•ÚBÝ:Ş6Tčs[áŐ‚9µ˛ÜžiöÍK4hjňj23-Ľł+âŇ…^Cg\*9}lŁ`&oĐD\܉€Úş*pŕ Ćę+Ô6ăjnţóŔíôŚ Âń¬’¬Š<‚l€]|Ĺ‚!”FçIlH>L†ťK—tG3ßő„"Ă‘łŽĹnÖX°ś«Čoąż(đąú[ÁmčRęÜ@źâHĎľ-*ô×6Z˘¨(Ă:ăć%O!(ŔÝżşÇŕńĚ>ŮIĺsýĄł5™˛‘Ź;Ü.5ÎůąŰ—!`¦°‡šX‡ 'ź~¦xW¦Nĺ3şx}ĄWr'8˛J­ŰW6Ó}_b|â|&Tâ'l»-©ˇŽŕĚÍĚd s «tdRi„KS 2N0 :’G8É®‚§ř|Y˘€ !ů^Ľ" Ît ĄŔú¦¦ľ§Vü‰˘B)öŢŤĹväs3ßÝg*wžÔĆBgzDŠť"µdM­",ÜFşBŽČÝP¬…Ďbż†EöÖ‰^mSżşąëÂZÖÜ/ŕľÍXîóő ¤´ qDôYmŤW!_ţXśÔĹu“ľ‡»˙_bŃÜż endstream endobj 4026 0 obj << /Type /FontDescriptor /FontName /ZMQFGB+NimbusSanL-BoldCond /Flags 4 /FontBBox [-139 -307 822 975] /Ascent 722 /CapHeight 722 /Descent -217 /ItalicAngle 0 /StemV 114 /XHeight 532 /CharSet (/A/B/C/D/E/F/G/I/L/M/N/O/P/R/S/T/U/V/a/ampersand/b/c/colon/comma/d/e/eight/equal/exclam/f/fi/five/four/g/h/hyphen/i/j/k/l/m/n/nine/numbersign/o/one/p/parenleft/parenright/period/r/s/semicolon/seven/six/t/three/two/u/v/x/y/z/zero) /FontFile 4025 0 R >> endobj 4027 0 obj << /Length1 1625 /Length2 9641 /Length3 0 /Length 10476 /Filter /FlateDecode >> stream xÚ­wUT]˶-Ü-řÂÝ=ÁÝÝݰp×ŕÜÝÝ‚;!¸»»;ÁAŮűť{nŰď~Ýw>ćlłFŁ­j5)HU„LíŚâv¶Î ,ŚĚźň c'#[Ya;kS)g#kŔ;ŔOA!â4rŮŮŠ9?4€¦Q  €•ŔÂĂĂO±ł÷p™[8¨Ő”5hččč˙-ůŁ0öřňné2·Pľ¸­íěm€¶Îď˙kC ŕl¬E-)y µ„Ľ@h t|OBŃĹŘd™mť€43;G€őß €‰ť­)čOjNŚď\BN#€“=Đônt7Ú˙čö@G“Óű7ä0w4˛u~Żłdkbíbú'€wą™Ý_Ů;Ú˝kŘĽcďdŠvNÎN&Ž {gŔ»WEQńżăt¶0rţăŰ ôěĚŢ5MíL\ţ¤ôöNóŽ:lťÎ@wç?ľŚS“˝µ‘Ç»ďw2{GĐ_a¸8lÍ˙=Ŕhnähj trz§yçţSťç řoŮŮŰ[{üem÷—ÖĹrvZ›1Âł°ľű4q~÷m˛…gú3,R¶fvćżĺ¦.ö˙Â\ŽúĎĚĐĽadjgkí0šÁ3ÉŰ9ż»P˙ďşĚřźkň Ĺ˙‘˙GÚű˙×Üöčżmâ˙ßýüOjqkky#›÷řűĽź2NYŔźsđç ™ü?&F6 kŹ˙Á蟊ŔżýĂőOěoj![ó÷Ž0°°22˙-9‰Ü¦Š g €™‘ő{±ţ’«Ůš­A¶Ŕ÷¦ţUĎw#–`Ş +Ű?Őçäů Úšţ3ö÷>ý9“”¬šŚÝ˙t´ţĄ©ř>ÎŞö@Ŕ˙ MCÎÎôżx„…íÜ^ ,\\6f 3€‡ÍűđůËż×rFÎŽ w€3#33 ŕýýŻçß+˝Đؙٚţg#[Ó÷9ű/ÁŘÄĹŃń˝˝mý÷´˙µţkâ@w  üň‚ťÉç ËÔŚ4çśś1Qťž.Č`ű’zŐÂ|ż*»NßÔĐ-žrĂçę`Ɔ‰OŻß=ćŹí_ö¤i÷‡ş°­©:“çyŢd4Ýůhë”?¸čöôKŇN4"˝.ćd7ˇ´9™Ő÷·Ç””ő‹ź?Nü`s„˝x ń#sÍ÷Ă$ż·Gö1I©‹ÁjCmCŻ)8>ˇLřůpOŐ7<8ĐßyÝ˝‡O—GńŮÇ'é$ŃŮĂĐń¶ŢäĹŤˇęSVBđ8‰IĎĐĆÇjr„.r¨}!|AB‹s˝T>¶Íp“¦ź9‘CĽ#iÖ ÂZ=—8ڦ öaú†aŔ®n“›Š0:˘Áč`<\l[G§ö±°řä& Ç/ŠĐ:[1h( rŇ/6iFĐ äxâ·­fš¶ ő ďsě¬n‹Äx$zNűjă.XÁ" ´ŠşÚĂîAŢ °ôx™ŔŽ–›J|or]p°6y!/ë˛V‡F̸ŕ‰KE>Rp‰]Jߌ3~|$ŤŮrŽŹ{±>ZnćÖľŽ†©Ú%Ż/CžRmäĽ˙ęź˝ťu!c ŠçŹłłó`Îćě®ëđfAVÂČA”°–ĘŘ’0ÄÇţ„Íf~ŤpJxôËDrŞÝ—‡"=)­#CZJâyrÄA(Ů%ň®ý^B3ęұ/ĆJsH±ë@ž‰J9áŢë´O74éeS‰mźĚ˛™g•75ősąe‹ DK(áô–v&©§¶úšSĄ‰0Á¬Šë …Ü&µPŹbxV¶D#Éá·ď2­¬`ňe-ÂćR˝á.źŽ‡Ś ĹU9÷ŮŻ~ĺ~3ů¨şîÝB‘ť-AI«C릝ĺ—$Ô‹"u)Ř]ĆÉ%Ŕ„„r->sîoÍR×Ů­ś|ĚOGB䯗¸ă©sšĚŽ™ٍ±Ëě8‡X]Ř]óÍk?†k}btw8uŕśÉřć¸=N¨y݉"˘đ•Îę&‹Ő[|$ş}zR©e`±šhë>ł&:żą?=lpđŮŃő†Ď[™Jµ¤/Ú:”ó´ÁŰW!^±eÝŢŻżÉő#2tÇ‚p‰ü­¤äg>M%jľó¸IŚŢý×%űČu+mř"G©źôťF˛‰…šÔę­…­!µËhć_řÇëKőŔ4ăŤ4!‹ÚŔăFŤFXä®yDkŠó]ŃÂ=îJözŰ FóÁÁęLi«Ď<‚˘{ŚiälHŠ?úĎŰaKrv¦€S%«Ô_"ČYö†ˇúʰD™ĺšĽĹŰzÎÝťfÔsXńE{•‚D{BYIó† ŹžU Uĺ´z´5yéĆôJě·”ł›1Ú«{â ŐR‚ÁëgµŰy),n[¨c¶Ö’Ü„wî ㎽Ű:‰ÔĆ{€+űź"nx1´ôź;w~lř!€ëű­Ňgîń+s—ł:5ëO¤ěU•n<ŃzfDĹ_3ňm®ÄŐz] áŮ;­–î_ŕď0őňVڱ¶WpYyťz&ݰ¶PľPrîČéě˝ a#ůfqmm:€†bťóßdňmrhÉeý˘ŁkĘŹÔ6念Ö‡Ů>}¨ŁoîÇÂĨŠ0DÎéň)+¨än Îżď¸ ÎkXK™6u‡¦IW(iE¨(U™‚±áExf]ç3‰5YĐMtÇ";*Śë \ąĘś 5‘d»)fR[ Ż sý©9O— ŢÝťĹ4ľb3¶y9Ę#v÷µłQ¸Žćur<Î-ôąéĘ X¸~ş5§ŹÚîdE˛/Ťš—ź˙ĐK™ßEžWcĺkśsÔČ"Ă4gÍËkĎĹöp‡@HgĎŢŇČŃÓ˛ŤŁLŮĆ&7[×čŤ?l‡»Ĺ*Ă„„íŞÁ‡ĽkúKîS|Hě—Íí šYY( O¸Ě~oZuĺΦ¨Tź1©Wu7«C.u[J?9şńjë‚Ę·*S23ÉçZ7ruřâęUŰaAÔ Ť@3oĽHˇď·ă%×ţEżńÜěŇ˝±iÍ©ÁKöm;Ęëîéôu‚j ŁÝj<¨´.˘z›V…eن<Śő)ťŽĂ˛Ź@¨dťěw ^Ħ÷j“ú<ô§„Ľ)¸Ö;”QßĹîTě2}ĎfßąŰ7ŹIióIlŤŮ,ŢuýîsiĽ9Łż;GńĆä¦,qäocMŔř OSüĄ”ŞŠö×®GŚ9´ü=¦4T°Đçlž…ˇě‹wß›‰>ŘŢA«ëítźˇľëýŃv «ßřÁŘ®éJ’B*ge4{ąk#€Q•nA3ÎÇđŃ“Ň×Ţ~ŕ=5vlŰinÄ˙b¶L”:Ň_`?F,Úě»Ä_-—±.Š ů˝n;2ľćt çîąŐ…´˙¨“+“ćODŤFÚöC9Ó­‡mŕj) @ä˘Zx{ö…<:p-ÁIg$ ěóŔá$Ö˘;U’ä ix.¬Ňá@™…Ü:ˇß—EÉqĽR9®.î#Rü„†«[rwf€K{úk¶ŮݏăŚÜkě!z–›ş4Ź3ŕŻBń4¤č¦ű Ô  ŞŻ¤ë|Ńş’ -/v aŻ[Ťiî<“sŹŹĄRçLa2[rɓڟĹÎ,çˇ\^°ß˘ĺ!ęmźűž»M7-ÇŤ>ž"‡Í=ŮśV6ʬ̼ ňö©Áą±-Â2ő“5řÝŹD6”ţÖŠŮçÖ “µ+2óÚź1đu«¶›ő\P;bĚĚ) i°ň~SĄ¤02žĆwżOň’%N&»)DÖ"š°“,ÉF@ 4SÍfçIŕő,ŁG 2ţÖZ‡ ˛IĐśő8švLŹt*ĺ”fŽ8°/çµ jŕUK6˘4Ë퇰ĺMK˘Mł*•˝ńďgísqí”ÁfŮą?ś°˛F~Nô "J˙ô°/CëĹ#g{!iěuD]X»ţÄ'z¤Ď•pďŰé‘Ô]©ŘˇťóÔÄ©rE5ftęäfĽë×âQĘ“ď2G¬úr5¬ u!›l§…‡’¶o:˝?ěűpůpő$ô?xŹÉFV7Ş·ČrÍ×üRă ä˙Ş­Tä)ßFů‚R”Žt:`"Súś5LMÄ’[HĄŻźţ¤&Šó3o«n+yśQŤ‚§YČjůĽĐ-r7˘÷ǧ(–UÍĺoč%˝Ëlş=řÍ™l~PgKgÚ]›µ=EĆÂzR¬°Śžčę5~ś ć#aĆ57†ˇ/)ÔëBܲXÚîiţa|ŕr SŘăďW@č q d„OBä;”‚`€ŠľŞ`×;˝űV:^Ú›.jI 'DőţŇ0Ú y"nÝźř”jKSDzéÖ"¸5Ň ®¤mş¨…íé~v-0 ţ@W“eZľř;ă˝ÝĽ•Ă`x3çńň©vâ%Xďł»ŤŻźpe>â͵¬Ď2ţk4߀ĹóĚ®ŽE°˝´Oť;ň=)PôG&[ŕ đ1šĂřŃ@˙“_Lü’`Ý ’Ęů̦‘.ť“^‚¶kS:AąŽP_˙±÷LĂĂ_}n–<]‚(8WK9ÓŰ|g~śîíĽaPżąľ¦xNb墉ľµŰ a‘dćLýéÓn$~ŔµRx‡á…ą:+ÄúÜ–ĺ—Ăńt —@ěqŐj,ăWEă(“5–f‚3eźáí^BĹ`™)ËŽQ„ Aé@ë\@T`MfŞ[ż%•Ľx¸ž)‘)Oůo$R<’ní-gî/U»y†HFȬí<.{1ÉZ&=öĆă:©řmpÚtŢ ´d O?-t$BH2Ů—ŐšĽSBđňX,¶<qŹŃ#S?+6_űŽK÷ŢZďt‹Tµl¶-é^Đ$qg¨Š|}úĎ łŕĂ äťÔÝçJm>ČA śŮČa‹$¦ŔéÇ/™•ńhqÜxůL[˝čĂYŔŕäx¶mFé­?ÂoÚ€fď­Éن(ĄÖmáq±†3Iă÷c7Ô”’Ő"É |Iö˘ĆÝĂQ¨±őĂv"!űăˇ~ďXĺfw$$'Ő›…űÁ¬ëµ/0\,7şŕµ»%|ë^Ă$hN˝ŕ6ŇZé^„pë×kS/Ţď‘ó®ßr5Ŕ`źîŃý(ućě‘o UX ëçjfžT¶ďş±iŔŻ.t—ÍëćĚĚĆžö#·(Ę×rš:˘©ĽąĐ›(‡Ůg Ź)™–đĎ~T’ źßü±9SůI¬ë9aĆ©Űnľ-Ň×EĎ<0":B›ă 3ă.cQéŐLuŐ#iýĘ ~áXf5duŃ6ÜMľ$Ţ‚ťhŚśčZţѬż…ž©ż˙DäSĂĂřľg‰",dcć(włWgČ÷†ĆďÄ7¶cV˙ţ]ĺ†Ĺľnó0ŘpÓu_ęřÔâŹűT|\J7Ĺ#,ťĽŰ‰âk~oeöćŢu&ÍT_UhIkŞ®GĚŕŃŇ”†źy`pkioSmZ窭EĐTŕu°Ös –z¸Ľ ’ĚČó•UbŘÔŞTR9›/sě8˘rŠCU?61an/ţÔUÂée…M‹Öš˙ŞĹ8Zmôű€Ą'v9ŔÚ~÷Q#Ç+zęFÔAĚF5˛;Ç×Ę" s&`ą"˝ĺƇµFáÁ8[ÔaûµuÚ§ Ťł=čţ$Ś[*,U׍ÝĄz¬˝ö¸» ĚÓ>]X3E0ŠAŇçĘ/rqđQÓůŮü"H–bŢ7 §Ľ4vŞ˘eBÁ&É`ĐUzŃźŽFK5¤CŇűAhŮ“şmzßP÷ę«[ż†ˇŁ`Â{|âô}˘<µhżNßŘË3¦jč™áøím”ýďÔŢłŔĐO«ľ‘ç"I‘YÖÝ·!Ps˛đQFǸ‰Ghiŕň~10őÖjÔ*o•qüßX¤·ˇ ‡©']ĂźqŐ“ÔC“,”eg±Ü_ëOŁjŁ[ź˘˛=kOȤ¤üU Ţ>Ş^ 9©š=ĚekyĐýB#’Ië­xůrYÝbŰxÝ!2-;ĽJ4WZ˙áćAźXůJH•# 2“[—¦çgł™ž űÚ,¨ (µ4E‘Ľ‘ČűÁSy{G*Es +“Lj0ŤA0Í"h Łbľ4Á´Ţľßu禂a«ĚPaB>ĽµűÂŮyŃ{ŰĹňě[ý'žŹ€ó¤ţâ˛éyI)뻬oź‘î…:¶e·żönŚ3ö•‡P›ŹipÍ" ›5fÚŐµH~!7űŽNŮ¸ýR–1OŔmp¤Z|sË_Ş9>Ĺš]ąŞAČňÝs37Ůcşplë꼚P¸¨ßsîB® Ž1ąqˇëĘ.ŘĄ<\×[Mmñs˘'ꔬ-ň·=ÇîŐ„ť „ăŤćŘ" µ3§_µµCRmäŠ˙T)óŞóë‚ö]čÚŻgSşSfŐĄ(K•NTđ>(<[ÄcE·lŠŽűg%BřľcsßôÔ´¸ę:$mć· A@ľz˙uă5Źwšť0A, ťş*łUwÂý’×¶ŘlÍ"˘maŕ[ 2††| „0Ýčľ‚ ˘+$î:ÝťEçBľDęISg,cĹjśőĹĽ6M„$F+N„„ôű‚…IŠq,¬Î<Í|LÎqťÄíţúaZy0¶ yq·k~uI~ 5Ź^B#nę,…NÄĹÂíŸë‡~I…šŁĹ•SÂ6‘č٧^•Eš»$Ż_§éñyĂjńâĂON_]2·…đ[ËŚvzÓłňਠ DIŕ CR_Đvń2¬|:*5|_ĘČŞÉÄ÷@srhľíŐ|u“íü÷Ą9Y¶_µQŢF· jČŠ÷¤O“ˇFíĺ0Î_¨çâşr ű*ó;ő…ČđfçNíđ#Š-ŤÂßÂĺĆ‹H)äG÷źĆ°‚ Ŕ*lĐb]üqŠ—l´|Ó±†Ú/îöřÉVôIszł'XÜŹěH˘Ş»˝hbŃËŹňéCt‚WţżLß,‡Ëg9í•ĐÍ”~mNş$¦eţđѢTÝa§¬č\g뼚cŤ” ĹßřBÁFäŰţ›~´!±Q`đ ĄP⽎Óg°ÄÄ…Fú"¶Ru˘Ü: T=4"Îîjň“ú.Q©•çv˙˝÷‚ŕ&„ŘsH%«f„őčĆ®ŔĽVĽ* yjTPÁĐő¬.ęËŐv$ qĄÄöáLĐ ßÚ9WëűnV|×äůÝbU§{‡çĄ‘Ů9ť%Uw°ţ›¶„:9ţh-“_ßéŻlůX¤6pÝŽ”´vnźĐ…=.č–4~ăť±âl7ÔĚ12$Xč×$ "ő§*ł^bRµĺ(ư—ÓMY·šIöµ©ˇv#h'!¨ »ĹŚĘěÇ*al#ŚuĘĚVőbIMkběwăţ*áM˘ZR*űoŤę®h_ů¤ĽtŐµm„ #…~ Ĺý$ 0ŔpäOńy´X ÍpÂŤl´“8:VŔc (ú W×Fs>‡Žŕ+S°"Ľřć,Ü&söK‹>Ä2°†µP»Wöüő‹}6¨Ať]Ö7ý®ÂX )T\Ź ů9c/pö„Ô$…źŢĂ©ĺű»š„( n+“Z3Á~ˇ®Ňńikxĺ}N€íŘď!)hVß~›V×Őëęx6<×VlP‘ú>)ź‚čG Uâöč/‡ťžNíŻ°n@,Îů–вţî®1ľ *žHŽ3cŘYŇ˝/tß÷ČIť# ŕÓßşŐż f»i. t3ôŰäâ“~čtxĹzńăÉóh }¦gü.äpűŤgiDQď7´ŇVĹVaTÓ8ńć(|–zYP˘qłľ®>$‹ŠD6Ěi°—)«uŤâ|L¸o_ud˙H~BŮĐă"[5†(yéŹm¦u;-qő ń±×nŁÇd[`ɰt($Žňg¤ 'CźťjE‘4đ3üo­ú+Őd4ş¦Mbľđü_,SŔÄ‚IÖ„"놾N Îu•î„-NĽí÷”RósWŇęĚV·J˛éÓ_ ň‡#wăÔUč.§Q×dÓáŠ6$Ü­Ă®g ¸Üđ|·t,Ű›*D%4Dĺ¨Zĺźq #H# ĄŻdtPńŹ”UFâT‚€!Qw “…Ökmh¨Á˘ő`Ă®u¦[žA\şd‘ËR0-žčRâÄÓn7=?†,ĘźdxěďBn"oŤbY)ŐS±;{^©D–W'g|ATBýrF ×őaT»ˇŮ¦˝ź6Řu-żăNła¨F/˝˘Ďi$˙^î'šCC ™-mnlĽG…ł»iě)ăÁŁŃ‚+–ňýTŐ}¸ř+ËÁAwkcĽŤÝńÎJ«ĺ“.-|$~_Ď5Ć[ŐfËÍJúfËéźL>„ %¨ză‹xe3šů?Óµj>QôŘÄ39ÜEý0Na/šťĚśăśwj¸Ü«Ź\Ą^Á|özýpŚîUP{vë.O<ś<&’(^ÍĆ*|“ü±¶Ę3ëvsŻH{ćx‘´ńm˛6ŕ‚l§/XďkÎ{Ë”qQHËC?Ăţ-äĹđ±4zť]‡N­îÜ›Y|Ő×Z†j@»+ŻđHšÍçy-q$ş–>‡9.¨’ł!L=¬ű\1ż–ßĺą|NřąąŚPí ř"4°ľKő¦Ň;hŠŠUwFX,űĆz.ŹłbzŘ>÷Ú  ”žh!DQî"L‚/zNŕččóe WxµśĐ°Ŕ»Źg­, Ýłň,lXĎ…ĎÂä0„‘Ű(yň·ęěËBÔ_Qş @q}Ŕ][ę´Oßˉw•=ŻŤ·–Ó¬<'AUŕ˛îr¶ą°Yhi’đ6b7×á’‰A<“îŇţŢgů#ŐÇߢCÝh„ÄŁŹB?‰ެš7˘/oTjT3˝9`ľw¦«ćńĆäÄú«•iß*ťUÇűŰ}!yćĐ#Uwó]îJ˱šb‡=á¸lźşÂ3ôžŔ$Ţo‘yQâ¶‚ýŻŻćk9ňśQžŐ¸,’ç×tçPIad&^éą×űp)Ɖ–x_ʰ>e7xŃ~‘ö 2±G"ď> ’®ýZÎ]"#/;zÝô•ËéVvü¶Đ.QęšŰ…IŽČ} B:3ťSŻd‹ýËĽŃç@˘śŰR‚ŘN±cÚ2‹Ź ‰ŞMđ)¶d˙’~)ű))µ’ť@{ü¤ďw·î‹ĂŃtťü†]č IáÇ_IŁ1»ŰŤŇz_KÁ7®ĎĚ Ż.ËŘŤ~.óDż>äš» ŽZëG‡dŻŹ4őřSlŃt=¸Hť›~µ`Äőp `ÄP/ZeŚ­GîßÓpő­žćÔ0"¬ŕ‡jłz‰‰T_rfđ ­ąiŞ{âľŇňäďţ´Î•ť,Č|Y˝›ëR‘Ó¶źM0.ąŻţ’ô4ąÉşŞ¦ć¬öşëäâµk*TɸÍ6$ú±ÁNSpŕKvQĽ‘ĘŮ ´†a°óřë… <9Ľč3J™·‘¬ÜRö:¤«´:ńO<ŽÂ0os^K§ÁĽ«Lą‡1¶`v'J;@íü—‰…Ö}ă}.-:4:Ą±˘Aźô& §›ö9 ®kÂýBj “˝ZĹäú4č‡v— iť)µŇ[#|±ű W»Ps°n‹Şrd0ĂňµŔŻ ÎČ”ÂyüFŘeńHWϧjŃÁo?č„„2ÉËSsRĄÖ\Ă’rüĘB·dIšę,˛R{pÉ÷=Ŕ#ţ2˛̆ŕoă˘Qµ¨č’Ź˘zě:wE›HńAůď‘sädÍŚ\ĺĎÁĚ2ŢRęT ű˙G#,O Vv8jđZ|ŠĎ4űФńĘčOjRVČ„çIlł6Ď߼tȉnÓ3ŚŐ2č[2­ĺ/wë}ŘK&…ś î@ÚÍLŮ˙Ąő–Ś˘däŁv-™(żí& É5µkôXZ8d`mőâR@Ď2B(ĎXâ3.ÍĚcÍąX36ŃD‰íXódTW(UĂ|%Fç6ę‹"ôo'.m˛ďšÚ„ď¸X ĐH÷Ěyw1×ôÉú®PPŔěůřÍp_$=Á}·żłoFŇhĽ$lE<_M!H cË)nLÇńŰĎžc„Łěćhý2a5ÎUzf*¤&ç4sÇ硋—"ŐűoűúBâBĐ2Çź‡,{5äHŹŻł’ĹĘ'OPPŁ_p´V˘!w31TTN›Ę*h˛B —ÓŰ+UĘřĺł-ŞE• ĆÝ’đĆ%!»–űźdŚQŮjůó˛/p~¬+eŕ[™n–K\|‘‚ąĆ´ GŞąŹÉüÁ¬ŞłI"ß âÎľŻŰWfŹĺ‘#›©’]„6BMW/t—Ôüü@QÝ€ŽĄ[Ë«¶O7Řďó™ś×«i§-}Ą'o«{ţÚ!Śň˛S—ńôUçy,6R·ŢąÔÉ-! ŐůÖK}+•ŐGTŃ‘´‘“:ŇŰYńÝę2׼†â\ŚBŹX„ć5~'Rč• \˝‰utüSś4…ÇŻbéÄ^Ŕ¨]±ň(¦ÉIL1×Yô–7™ÎŠĺH/—+Tů“1Ô>ŞÄ±ŔŃţ®ű™¤Ŕgěn¨ţřUđSZ«I QKKÍ6FÔt9]Ó#ôýo×Ú !čd‡"Oů†üćĹ6lť™«.Hą‡ J´(¬ŐČبXxĎßI°G?ĂĘéŐŢs+Q®0/‡™`íˇ%÷~·* Ç­]$U ÎŮč>®Ćeś…l‹ÂU€†h>@]«1{żëH ΊjHwÁé×±JśţJ=ˇŤĚąCűąGٯԽ఑X´;&P›­#],‡ä‚řĹΞüÁ>"7vů\•$—iŔň,%ç5 ’ĽőĆ"Ʀ´¶ÁAM<µ^<sţŚ‹qŹ-Îfm銔k*•Đ\â$Ú YěLn»©śšů8JX©NŻW$*Ł_z &żĹ6UdĹŔS­p&YKďÓ‡hŮ!ÇX†đČűĘËĹ«~&* Ţ>借ŠŚL×čB7ᇠKp©Ž ?CÎďő‡<®oN˘żźżýVžĽŤxî=Ą­Żo‘8¶žĘY‹!˝ŞQ¶Ü…ü¶FWk™W¸ńŃşPDFç*É1Ë °DĆ7‚Ñ䟚¨l—Q™ *łL<ăÝőµ+R!-˘˝Śëť©Ň&aćă+«OŮđÍž­Rűh'pGČĐc‚ńÔň%ăÄÇŻ;­Ţ_S㣺Ív{čë+«Żí4ŤŻČŔLČm"íőËBH?†Â%wiŞß–dć$đ_’MFłxÜ]ٶ+!ße—Ŕ›NhÁd*ŐSgô€µâÚEY3o ^€W_h…G„q–ŇiĹď~¬V÷fą#\óŢ4¬8Ă\Ű íÚço¶0Ţ,¬láGj“ôk,b8 qaaí‚®"ą:ł°KŻW¶j¸joÂűé‹űAŮk˙šäÉ Žł^–0ő;tŇ÷pĹŹ7Zż!®Ő~$GI}“řVżť›áBV ĆŞ ݰŁć?PY#=t“cäl^37ŢYŚ.­đé.®Lę.߯ůĆí_Üôk\¸ŁŤĂ*ŠÜT%CřËf˙&‘#ę ´ĎŤčëµEeÇAý´ŃĎüÇőĽm9ŃŤ˛ÇË 1Ż‚’ŞF‹¨.‘·_ŔŇZeĎŁ‚tîĐ+S¤źĚím=Äd€Ş\SFȡ¤śăx]‡u©ŠyKN *‚ăß~dňĄ™2ǵ·Í“Ĺ<Á­áŁ'fn<čúÔ#نüái*±¨v˝ŹÖK8LŔ˛{.w°š€3ɆaYpňĎł'FV”VZŐ«Ł»Ý^Ýţěץ?ÖKĄťF…Ľ›ďö…›}I4¦WX-kA ™;^ťŁ6„zdčŻ9$ľ&^–SAią8Éż .„‹ď @¬%Či@CNďřš€,†ůM­ŇŃ7kS*ťµfÜ˝őŘńJ:‡wŹf‡›Ąa€R`:MÚQ9DśşŞöťUŮŤ7ň GlB,EN;řó­ăTH $Q[8° Šśú­˙‰“ľ¸Ůńg™??»çG¶í‚*dą·vŤuĹ+Bş¸ Ą)Uq}6®^\ ’.ő ĺÎΦ˙Ž»AęuŰéş!ŽLŁâx8îô$”ú×Xó둪ü›Q”×âΨś[m}ĚAEć°P=Ĺpmň(Ľ4¨sNÍąmŚÝéVĚ:ɬW…,-Hɸ ´¤×`ś- ˢ\tć"ú>=Ůj©Î˙^r endstream endobj 4028 0 obj << /Type /FontDescriptor /FontName /ILUEKM+NimbusSanL-BoldItal /Flags 4 /FontBBox [-177 -309 1107 953] /Ascent 722 /CapHeight 722 /Descent -217 /ItalicAngle -12 /StemV 145 /XHeight 532 /CharSet (/A/B/C/D/E/F/G/H/I/J/L/M/N/O/P/R/S/T/U/V/W/Y/a/b/d/e/fi/g/h/i/k/l/n/o/p/r/s/t/u/underscore/v/w/x/y) /FontFile 4027 0 R >> endobj 4029 0 obj << /Length1 1641 /Length2 7998 /Length3 0 /Length 8843 /Filter /FlateDecode >> stream xÚ­veX”m·6ť ÂĐ9tKJw—4ĂĂ Ě -! -! ) JKH—„t ŇŇÝřˇĎ÷ľĎ>žoö~Ě÷µÎµÎu®k­{7 Ž>PÎn V‚ĂP@~> €ÄĹÖ©oÓ>…Cíäá0;U” p °°Č#Ŕ6(¦`KŚÁv0 ŕ'`ČĂ]˝G€ÝPĎ‹‹űoËo€­÷ż»H$Ä`˝{đCá®.`ęŽâ¨PŽ`€= ČkëŞj)Ř•µ Ę`qW„Ž»-h@@`̰‡#ĐżĐ]ĄßĄ!yî¸äŇ ‚Ü…˝@`×ß7ŔŚp ‘wĎŕ€°ˇîî@` ¨»Ýowv{řA®řť‡ËvG¦G˘ Ä¸ËŞŁ ô—N”Ł ęwn$äŔíď<íŕ ÷ß%ýÁîhîP” † Ŕ^¨ßąlÁ;Ňjă}—űŽĚů#Ă 9ü­€€;Ř ě `$ňŽćŽű÷íü]'ŕżToăę őţ ˙ăőo  µç!ŕ¸Ë BÝĺv€ŔxŚ*ĚŕçűËnçîú/ĚŚřsAěżg†ăN„ŤőŘí xµŕ¨»”ö˙Y—yţsMţ´ř?Ňŕ˙H{˙wÍýgŹţËKüż}ź˙I­ä…jŮ¸Ü Ŕ_‹p·i Ŕď]ř˝l~ ¶ü^9Đ˙lăz˙7á˙t4˙%ů7ë?±ż¨ĺ`w˝Šó˙e… • ^`; ä°·ŢÝÚ»áť"ßu÷ĎĹ€ü||˙Ŕ ! gŘď6˙av˙”~×°?Ây• Ô•ź™rý˙öěoť»y@x»‚˙7•±&Üî߇ß\OźÂ˝ľ@~!AP@\ Î/÷űoŇţáá˙ű¬iB@Ľf|<||ü€»˙ýţ>YüF‚Űý }” Ěînćţmř Ü»V˙Yw•˙ëügúÁ`/0`f zâ”’–ŠŞ ĚęP0ëhăÇě~éZXm—Xo H _o}]ţ’çăÄí'ďÉź®7«jśk˝mP¶Ö7ŕÝw´~Lí9ćYEąÖ‚x- ď§nGűîMh,`=á3Z[ĐŐł,¸Ćy<Ô(ŔŰ;ădňČ |Č|ęJäJ®Š%o"ůFZ‘űs‹5aăě”­«Ż§űsëvű* Wf,>ËJ˙¤ź ‰(okÄq5čűŇCDýčüUPŮĺ{î‹RÇëÚ Ä|Q=Eî}ľçç uŽ€|›$‰s˛SzŽ—dĄ¦oş˘r9’—7dą5Ő¨ŘŇüSGv/řĺNżÇ1ăźżůhÍ˝Ę÷i Ălă0,ަw¤üÉF§€'-!¤N…˘v¸‚Ľx$ňLşF×Ř—»n‰¶k*Bô]0#YCŮlËűŽ[coł-QÚ4L3ĺŰĚc^Âů¬;"g~Ľˇ©F3Vü’żÖľÁ;w>.±˛:VkJ‚´jś«%›ç VRő8ęž 2†W)l ™lŻYŁ_Z4t&Y»ľ„W–RguĆYú^Šĺ7ę©ÉéDß 2÷Ű©‰ťdÜ•¤—˝ă¨Ůëeqş*™­™›µĹ)WO`}˙r`ŇMěë7·‚a:üO,™°"ŇşśÉş=ä^ńm·Żä¦¨pĄd€ňX ¶déEŁ8ň.‹zŇĹß«ĆK#‰ šď§% f<:ć^ⱊŻúҸ’Pů01ţ«Đ¨Š¬čś˘ëčýđʧó͵V_ <:xęk$;ą~hËҤÉĺů>š´˘ ś0âpt¤×8ϵé¬óFTř_}ĆÎSČ'°¤Ű»śGM•E wČŃcĽVíXRý9%&2A6há‚?Č…¬Ý Q̰•y%Ăgqäqş'f7k=“’(fđůD/nëţVÓ\mt·jÓsą'áŤ'ĹY"çĎ«wďřź±#¬¸šľ3$ á*–gÂ7\ ÁIÚě3V‹ň‡R@5ŢŻEL<9Éć—kšţüŞWX‘2Ä˝ŇG|š©ü§ÔĽľ‹kË Ď)F4­YŇŤN˘Ěµ“-ŃžÔÄÄcS}ř ťÜKŞŢŽOlc—m">ůu[¦=ĎG»ś™Ę_#Ó°Ęm›„¬ÚZîšó GršQ°ĽbÜŤÂSęT•… ÎRe#„·Gmý˝Šł×T ™ť3 óA˶f‹‡÷ŮAí|›ŞXwb`‚mʺͦhmâ!,Wý—«hu<ĹÔ“ÓTÂlBěHZs!P ~™N«ÝJ±: O•(ÂqĂ{‘»Ž­ľöĽŽFüŕ=QůŇ‹ŔLŁfď4§„—AŻQÇ!kĂî›sq÷ł›oě?Oxô~%X±«0­}·&Ir%y 1÷÷Dîň«=m©ťQ±ŃăËîÉľ@ěäú‡Ł¤üWČŰÁŹâ ŠIq˝ĘÖ­ŞÚeҨěôKů$ĆşG•Ľ˝ő¬˘î;™W|ňXLĚ”f"›2mţ‡žć[ęMŘÇauÁ  ŹCVm~Éy›Źßşjvo`pvĹä9ŠĂŻ:<ń7ž*伕jßô•‘nŠÝW`ă•ă—#¬F§¦Ý‰ŃTxâGgهѥ—ŮůET#Ş/á–iŮ1ÉlĎ ¦&í'© ]‚KŇş¨Xűž6ó’Dh ‹ř˛QF?Xd.sOéű-<đ’G˘~(`ű}YN¦ÄÂéš´Ŕ~ĽŠ[ô|řŚ|¨ ÓrŽ„• ASbşcUďËQ ĹĂökmś+Xü ,!@Oč۬źĹÍü¸E»J/mOť@Nߍ‚.ŚŤßë„Ý+Ťâ‡÷=Žn·y=ÍżŹmîý´ŔP#FŔĆ|í‹^MUá",%Dó­€O¦ü€t›ŤÚŕëŰćŽÄDr1%:µ}ĺ.°Ň„_OFĹ* 3¤MÂę~¦§ś Z+kÁÓĚA-š'Ćň‹sń/¨¶®»\‡ÁĐŔgL¸ k”:¤ÁŮ%DóÄ×=ß’ŽĽ9v +ňŻnMă: ť6ßÖď/±:×ݲVk,YŚ{MËKÍÉMö%ŚQ‚í»^QRoŢé`)Šv™4ěR§čĄČűE—¦šëţhlô‰T¶-DŰUřEÄó–)3˙ľLâBŃörť¨ [E¨Đ%Z@ċҀU÷y Íë$K2éjŤ‡ţĹ4?8HÉ;®÷r>ąäĄ¬G)ÔѲľĐť}VC‡€˝ ŠÖ7×`=±?ô ›w»42­IDZ'~=íńgN¶»ęžý‚ůeémĘůٸĺń¬4RĽ\QîwßÚ·ë%ö"űqz’Ě®•ć×jD•ˇ¸ă‰Ťqš'‰^Ět‹ĆÎň` @iĺmZß7âXÍćřNóľŘ"ĘšĘŘe]/ńIľÚ¤"üí!, š“ăHíÂo, m×Ĺcĺ†ČüTŐ2­!ŠŢú’(·0źŻ'‘hçŢ7A]ć«Qdo­ŞwY¤óÉÔŔÖR ß/¸ Áś\†n!Çśćk¦ňXoj.+đGźÓĹşä5°ŚŚEo×ÎwÂK_ĺ5˛ŐÉŞ—0%ś$řż)ínH•…*®„+5p=1'+FÎśë„|*MăJŢeBŻÚźHÄdµvÔqť ˝lëfŤÇ•á-?_Ó‰Žk˙ČË`śŘcŤ¶ő_ĄL\Ń|ý#ĚŇĚh ô¶Ňz{´˝ŹMć`úkKvçÔń _xŐŚ‘FSë’’J° LťăČňQ%Sh&ň}'ŽčYüb,’í¸^N–÷v‚¨jű±%†É‚ęŃc­–Ł‚Úč=ÜWď gľMC˘Aă»”â v}đĎ´|żv†/Ů‹uçő| Ůý‰?~ÂmîÉzÝz»ëül>/¶ď‰SĚMAÜú žűü1lCn’!÷W‡KC;đĽţäŤ ‡Pe‘ŕ:yŁÎ5*‚1ŕśµ3ÚGđ:ë–ŕ[ł^ô9Żtť™Şn¨ ädo4%4·ĹÍn >ž;ĽňtŠŚvŠĹ1v»ÍD€hTÓŞ~FÓ5ř‹HÜPófx ýÚéW0DŚ«yb‰iX"ÜčĚpŐFJZ+U%©d)Żáó=6E† (ÖúUăĂ@E˝NFZ˝° ZäŚŔşe€oI–Ż‹ňŤTźŢíĂřŞćĐvLˇäl¤^¬˘IB˝*]}u\ư¬őlŔÓ#ń÷ …ňĚúµúj-qrtQDN†ˇµÇfňІ3Y<ě‚9•1a޶ áÚ’ÜŢËňP áxʔݕŤűů4ô–ţ©,+4BĚŁ:ÜöŢeV÷4ݎćŻ0B$»č˝ŻO Ţë–Sƨx0öÄ?óVo‘űL MŘlł=Ä÷#CW’“•GF%t˘Ď$ÝĎyEJćU‰–ňX˙Ö8ěľťBůEI€ç{U,čI‰nź&7Ó+Üř‘čXĂ'ĄÉLʏ%şik3ÁyȨÂć쯡{”n©=v”Ş‹]űň5ź,±ńi›ôćciőÔ×_rKOʶǢEW^úT;ş”V}óHCÉćŘΚ˝nKGjÇČY8ňĆ~MµĽ/2č¸ô  ß™y˘Ók¤´,­}ŚŤ•§ĐS ©\?×GŇ»TF·š0Nś‹ĺL‰©z<äDÇ<×8Ă4Op/p‘ż‰ťjöĐNý• «xă›%Bö•čOžŻt¶;ű@‚B\<–¸y™!p‡]±#6¬x™ěŐe_şďś±âH™8šăTŇ1ölč™ëÉGę|@öt ą>_éĂ[=* 4m}J«frł¶çÖ·v)Ĺ-Vń„SW¬éŃ:™ćŁ!®ÓďDđkťiÚě_ýŚč±Ëß"üxŘ[†‘6JÉ%Ź^ă čúĽYĚk6ľu©ąUős%ĘĘ»přĆüÂPÓ×mŮYöfŁđę<Á˘S‘ 9™"ęÖDÔu˘–ć 7¶ŕLÉŕ`ôÁ˝źŔ9vBŇD•Č÷ĘRĆȡţÖO·ćĆüPđ6L M˝tş%±ů8°ŕŃĽľíđBúű.gžĽí;bʤEŻ{rśÖ.‚mČתîĂăBă[áŢě˝Oßx ¬ĎJŕÓ÷,tą»ýE⑜°%FŰ‚ĺ˛VÜËGR†Ł^´(ă=1¨N›ŮĂŮn·"éâ)ţvöîjőŚűPŽ.oLdUĹ´ă_n6'P>}%QWĺ-PÚÚśŢÎ7ŁŢŚ-Ć»•­ĚţFŰ]‚ůÂldďfđBţK‚ťŢ•$Ą“ž”ĺŮŔ') çA›ŕź™ăś'XY;ŮşVąu¨ZÝĹ,ş ˝¶V·ósęë/®úřú{Ľź‚ąe ĺíĂY^ÁÚĎŁs;/ĚŁ9”)u_Äď2†őęž:ř`\x’˛(÷’FWíÍ—ă©őR~ň!ÎöŮ–†(Č“§uFôMîcňőҲŰ`.ěKU7jti.€ş-Ůlmt?Nq×»,öź5ͤ-dZęŚÓ3yżmłč b&”,v˝˙ˇŽ·ą'82‘d˝ŠąK)ü“¤—ëFq°N~L7pŚ \ Ö\śą»˙G׿+$UńěăÄę"FěkťHQ CĂó™Ŕ#ŢÔ$ýóŽűkNŇ`"]Rì†LÉpO⍷Ă~<%M˘>žnZ1`cËqß‘0ř굲˝ňR Mň*v›b'v_2¶îhŐu^gtlµ–jZÝŠă<8›˝úý[ń3¦<ší¤ŤŁGÉe©„=9YłÓ’ďř$n›łšąŘî‘nȓȫV—‹î{ľŽ0ˇ«Ł_¨yç<ť}'I­ě˙ň.PŞ5ç¦ffs©ÇŐaÂQŤťSí ®8˛ĐkĺBś_|n5ťíŕ†ö)‘vŹ!Rj)w5@ßqpŤ8Ž@}=ĺ±ÔőHćÎó¤§Ó­Ď™W‡ŕX=(*HĄi|l0˝ ŐłOě`rbĚĄ§ĺw#™Ôäs¨tŞű(Ăd¶|ý©đ¬ÎE]Á,Ę2Wgfť€ŰQ”Ç@Ă.bV=&L¤ß[בśę¶;đ@“ě+;ŰIŻN¬˛¦S"VeËď¦îÜŚô^ivd|ňÎqyë[ š*˙s9%Ř+ŰÜŘű.řţüÚq (`şŻßl—o˙EËT$˝ž3ÇŔ~e°“q˝ ?BĘpĹÍÇY =çrzź P|)É16fń$HěBôEĐ@n‡É)y6í˘|°©ljÇ61–»%ôN`ąpi)HFŰ1éíĐkgŤ f,8łšAceXáb1ĄĎ s?Ű,Q÷0@„}UŐQN±őô°p…&FжţŘS6«ţMo,‘NĄ—Őoô1†ëC悉Lu˘iŞSÝ„—ôe|6AX…±ŁĆ¤yl‘9â%) éń Ń(ř/Íń˛éŤ=ڞŻ!©ÁŘZ"Šä,=‘« WmhfŮC=V„ȱ˘•X" ž ±c#~Ô%µÓ„śaXěňś˛Vť>Ć‚Im¤6˛ó¬>!¶Nĺ+UĄWI‡GăH¬FR%řÍű^ô*éˇ74‘̢.Î1jžç­[Ř·wěf~"ČŐšpŐÝoĐIQĂNÜqťű3®.K{mĄĂŇkrClŞ[”Äë„e"üý˝ą4°éś7ËÍŃ%ţĐWjîÁÇďSx"IJúíí«™éKX3&¶YťčbŚwŤS]ŹŔúvřÝŁjźQź¨đ3CXžŕuĐQfsÓI9 5±(<#qMK˛żylüµ‘Ť[ŞCüSVťDT†‹Â1`iÜżˇ¬`§t üőíŇŐÓúř—G?ĺÇBJenuF—(hGď-%ÜqÍ›u40$BLéZű­5}yâžÚ_Wď¸&^ÉÉá‹‚ŢŽ˝ßŽ‘š8şIWkqH{˘Ç—ů şëŐ‘™ă¨ŠË*sţdúhh+&»…¤RÔě<ŹŚż/Ěţä°| oFů×ŃŻ¶Ţµ§Ń|klŻă3ćiB2űć•›µµ|őÄ7rL¨>‘Š&|&ĎĘĽx=V…–“WöúÄrđ#ôFXŕë^’‰h_ -őhw Ó;őÝ•»^`˝‚´Ęňúä ŢŻíÍ#ęFdsrűĄMƇĄ?H§UÁ>áíîé=íźŢX|R#ŇrŇ"iGť%=îV-ôOä˝˝Dbő0“ZíSîáíô™h…YGáwUđę䉚)™†ń`/"@AŹđHK\Ĺ:3ČzpzÖ˙~álĄöřČČ©Š/#kDšV»Ę¤ÓEďGČ„B{ąwűě%—•Ýş…ŚÍck^3ŹĘD^·ł{|H¦Ó©žt‹b,™‚´k޲öOëĚ®=üˇ,Źcü×KF¸¬pĽćBe"¶ĘŹźŐíŮŃ€Ös2Î~:ěL„(ŕ‡E»ĚUV—ÇŃÇeő˙ řrýăŃn¦›WQóÖźT('™ťM•˙c›ýäúBá ®˘—áÖÂ+Ľhíú,3 ghŇ´/ä\Şőó¶ĄĂBÄÓ{ťwb”ż'\Ľ$zKi<ěÚ7šµęׯŠL»ÝĆI#&·4š•jH—o pÄă=¶ýpHŤŃúSŕ˙Ęň˙A•oV-Ť‡Ş;hľtµ,UżŞíş«‰ŘU<˝gČăÁX ¶ŕś$§ýĘi"ňE!†,óüƵ>ńŕ{˛Ól-ŞI7Xć+ë¨ă˛ĺ°ôx“hCpaI˝A_OR7NĹá+ÓÖn§ ¦ܨ)ĺNÂ.˝ô|ŮO Mw˘_řä§Űq;ř&Îúŕ1qd+iź°Í ĂuC oÇ S’ŕ–ÝŁ|11<±ç äÁ« ćWË‹ Ł"žŢhQÓö˝ÔĘ5u4ť®^݉WőÚ’“>6ĂĄ°ˇşypňyźx(Y,e8ěť„D˛¶*v~”×—‘„ˇ†Ą}ŢrŤźąĂqËq‚‘RÉ/›Lňí8fă ňâclěëäD…Ľ†ݡ!ÝŻ„Ś@ôŤŤ®ü“‡‚ţďµ]hôö_‘ŽQRâô˛ĄÁvę®;yj|?Í/,0ín”9˛#ŃÄhAí›$čřj~ó¸6÷4A­T~‘ ·ôßD˛Ä–©ž0v Pw 4BúÄCL2ĎŤşO¤‰Eíc={üö8;Š‚ ^1ÍšdŞé´úםm‹%źë@o}=— µGĆ#t']‡ýC3)QSňęP ň8Ę‚Ş"GÓo„ZϡŰ@¶PüŚG ÷BŮm¸Ä0±«ďŁĐ÷«)Ó¶ěÇ©RŚëś)Ľś8gKX»ß4Iž¶ÜŻ8]´c,ż©äw°4ťëŘŤÔł$"ĄFíĄ Xćm\)…]¬†NHFß*n“Čs„>8(仹Řq›X%O±oÇî°J¤Č‚Ç5ěČZŞ~Úáň5ÍLť|f)DÉ„.˝č^h(Ó€qä™ÎäçZ(§/ČÚĆ'Iĺn:ęą2@Ó¸9S_ć6íLů„ňŕM˙*±î NęűŇŇLΡ´ty–ŠČÁŽźę¶GpäżµÉflj†‡8··Ľ>’÷ĄÓM­•Ű-9SĄú –݆?S])?ZúHEý.‡cşzÍŚĺŢ~ çţjî ď|<í’TÁtÇvŞÓx6ífJ/űÁ5ÝmY,Žđ‘ĺZ]ëWµř/îąŔ´ů}xjÜÎ]-›łÔ)5-˛ÜSŢ87˝ŮŤ^íUćłäěJnŐ˛éäâ,é6ÂČú´ă¸N™o躀v˝8–}ú(Î Öť\†ÂŃĹ—Ý|ŕ:ÂxsŹÖ}ç´BUĘă®ŃŮdĘíę>ĐONǥì#Joeć†ĺ˘ëE»łňś~¦L5–†l6nńOšŃ]Ź[Nő/%p,ŃiUĂâ_Ú…$‘Ż -źő˛)>Ă“/©ąĄLç–>#˙¦IPłąSÖ‰€$µZ ‹oę{ĺgÄ€qo“H ĹťZ“ăuŢě8¸ÉRlO˙4}ŕž*–ËÄt: O„®§%]Ę>r}řÖT:ŚÓ ]ůD˘m —×9%~OAŠ÷Jrz ›˛ą`ďËšŠE+x¶üŮLÖMĂs7D ')%Ž¶Â—đTŕ†X–EŤ%ç{šÜűŇëăÔĄÜ9şm_ţŇŕ`Đ Ł0 cş2üqÉ>#Łź¸˛őmŕP÷RC2ťG]ÓöTਹŔáćŻFŰ#a>ĺĽňV)›Ůy»˝Z_×Ć»C!/ü`ËzňsôÎ1‚±·±18žEř.»Y—@Îě&Ý•śĐîÁŕĹ_ňŔÖÔÍŞO\l#‡űĎYź‹s† ”OPăË2çąÜ«ş:5łkt¦¤ ©î…ć¶4fa=ĎÍâ“HĂdE¨\\ÍWĹlĘxÍlŠ ¸öci<ł8™ŰN)9ä;˙a{ß˙ ľ; A]ł±ÚŘŰ·‰*`ś_P‰–ŰÁçkú#÷„ę2|줩ftÂŁ,ÂU˛DѨ֩'ęÓ“Í5ţ!±[.»dĚ?Ě“‡"‰źPş\ú˝OŻ!ÜËIµ…ëuőĘ_ŇBśőʦz[ř©ÂR­ßr’^rµN+ţÔ–ăÉA=‡ű±zG3)âŁôç¶Ě7Dď3Ö@ČÁC…)`»¶tłáRM*¸vzfPĐߌ§r6zq™PFDmé‚Drąë6ľ’ťąôŹxnäŮĎšDőSc•U›?$9&›šÄăôÄú}ë?ŔJP17p©~$ŽIĆśýZLáŤ1Ë^Âł ~ {ăĘęŁ%!ăYĆ7Ł´ÔMň§s5nŤL{IRO±ťL –PQ 1íXîá‘ęń~ţÄQ@Ć퇛”¨LÚú5™HŞRć ßěĎpúD*Pňö«÷ŚjÚ™~1˘żń©ďÎ Ë„őÓMVkđÍďh‹TĎĐjŃ(żó$Ńúą”çĺöyřŕ“Cdî6c¶O{TÚÉGîí—úçý©Ű“ćĹĚ u“ë*ć{.e-Ą§Á˘—In\Ďć“Ý-´µŮ (ĄvČfž‹ …S¸é2jő°Ä»/ZČmťs2Ű~Â}ŤĹěÁ’ÜđT^N˙@»¤a8hĎŠ·Cg×™˙zrřGk˙‡ä0vŇÎe« ˘-i]TČGC#3X§]­Ny^ú:çBtź”}ëiN–Ě&çöą’€<”q‡nGî-¶ŹĘ–‹‡7M‘ź6Zú"ăĎ`®HN™‡8zÄŮČ‚ÂÚ\ěłUN<Ů5ÍĹŻ14ç§2Żg-+x«ŠHŠ+GÉ7hŮĎH$}Ř=1)=âđŁôK)ĺNĄ‹őb|ĺç-k¤y›­˛żZsZŐ”şA«ĆŮ_'"KŽÉ[‘żŕ/ ąüß·Ęĺ“@Ö3¸»8ań%ëçÖ¤’\‘˝{ť-‚›n'5I%{ĚĄŮq€Ęiôh‘DmłYŔ·ęĘý— ö&Ô,…ąçĎw Ę5˛¦‡$ÝmĆ‚F%荏+Ą§fł4Ž«DĆ'OΊđsł¤ŁS<^¬€–’üÓEˇW endstream endobj 4030 0 obj << /Type /FontDescriptor /FontName /GTKGZY+NimbusSanL-BoldCondItal /Flags 4 /FontBBox [-143 -298 913 989] /Ascent 722 /CapHeight 722 /Descent -217 /ItalicAngle -9 /StemV 120 /XHeight 532 /CharSet (/C/R/T/a/b/c/comma/d/e/f/fi/fl/g/h/i/k/l/m/n/o/p/period/r/s/t/u/v/w/x/y/z) /FontFile 4029 0 R >> endobj 4031 0 obj << /Length1 1166 /Length2 10260 /Length3 0 /Length 11036 /Filter /FlateDecode >> stream xÚuueX[Ú-îÜi,¸»»»»Ó@#Ť6înÁÝIp î<¸‡@€ ÁťË9sgć~3ß}ęGí˝Ö[ݬ˝ŞŠ–R]‹EÂÚŮ(ë ö`á`e¨‚ś,!îZ`eM -đňX ĐŇj<˙EżRn@ 3XÚÂăŤ×¶T,ÜśěvAv~AŽ·5;×?ťÝęn 'g_€:ĐčćżQŇÎV' ŘC âââZkÝť!nV@wA€Í[g˙] ĺěâ㲵óĐëhę1011˙áXúü“HÝA¶`Ŕű·…'ĐŃŮĺŻJo)ä€` Ű[ÓÖĹŞŰXČX<ţ@oçáá"ČĆćbc|ĂXÝmXÁ@6†·FeŔÖRÎN%pGůK3iĐęm(¶˙ÔÍěěöű/ضţ{$k ›ä *H˙ßŕ7ĺß-ĐŔĂÎÉ.ŔÎ ş€ŢVvl•ÔöqţMrü[€­ü\ś]6ŽîŔ đí†âçná x¸A€~˙/ń?w(k•Ŕhűv ˙Îţmţ±W±đpyŚŘYŮŮ9ě]˙Z™Ľ¨µ3ŘŃçßáŞN@›´¶Śľ¦ÓÎţŻ(IIç·”,|ÜN~ž7§ĽeŕáúĎŚ˙Ňâź:üŤŞ[€ţoźě˙N©¶qücś7˙9’'ĐÍýÍ›úżmĚřźůUť=@V@ýż­cĚÎĂţćš·Ç˙j©˙Á˙ŻĆúϲGÇżUˇ˙‡€7=ÜĘ€żq´pűŻp 'ŁĎ˙ňŔę˙áţ˙O G•ŘÖń_2ÜeAŢ@ku‡•Ý?ěňO•­˙~ęÎî żŢd ÇpÚv +0ĐÝýí,ţ¦€`ë˙()¶r¶mZo®´płţđmqs{“çďz{öź{Đ[@ 7Đ eeŃŮJ(Üľ!Ľó®N‚Ä‹ĺç$ׯÎÍ+„‚ĺ#ô.+Lż*ˇC9 ÷Çkţô|iőq;Ń#XXčČ$™|^’]¬Ř8Ř0ň1ÄżYż « ˘ť#ŃO˙a NŽ'Ě,<”ň’?٬Ľ1 •úŽ­éŚDvgxđËU „Ľ˛¤Yí×"ţC詚Ľc † Âüh·4»}hT&ŞbOóĚ=ť˘!jóď[śę.ló…ĹAItž ůH9ʆsKr>Áîď=śv]JâÝн̟c‹č.Ů&P_¶FçŃS“ÉÖŃ0 §Bx”ť„V¬HrŠ»fčGŃř—Y$ŔćÇ–µ^T±ľĺEÔ„eDą­ťw­śăK]ËÎ6—¶&ńáøť­÷9ş‹Nëł&ăűžRýÝJŰ»PőĆäP¤Aε©ˇž"ÎÍGţ Zf}%ŮĽr‰íÜöź„ĎÍq@AÝ5Iů)HGdSZg¦¦ďá™Ő+oý–wźŞyś•?unĐ|•—[R/6V)bV{%Y(TâČ}Ú-' Z÷g]üt! 7ý(ŕ#RČ@ŮűÓc· aŁŃ{Ͳđ÷ÖLT ßI7$EČ_;Ů#41sÉéô¬c>|‚ýQ$/w¸°w÷ٵݤ]ş°n .ŠŹ†E+¦S…úT›JČ}đR#ÚÄëX©—F›=L"rÂ7,Vź§tí‰]Çe®xĺ[f™%˘:ˇ «KWźňĽŮ ůzë$ĺÂĽŽ6¨/e´˝AjčC$ł«ŕu{C¨•‘Ť›ÜF`l+‚»tŚ=ÂV‘€čch‚U%Al_ÓX6ýěß[‡†ňú@b)f'Fôę€ó»¤WŇ@PŇ–ŻvQ‡ąťęř‚`—Ł%{ĽUŚ Ń0Ĺ‹µťť'ďk[ý¬ŹoŁ—ŻŔiŠ˝Ć™c[‹ČAkATSćAřŻŐµ:žN¸9{y7Aô˝6Ę׎&Ű©DÜę­rź;€5ÂŮ]qáLR‹„ĺĺĺMÚĚCŐ-c Mb«ËŮĚÎ.vbŻž®`ŚM—H  űĽsbÚ¨´Ű ,Ü Ő´q—Ú,auJ_Ű÷¸zEMÜÔ)ýŹFyJXüô|-›=v‚ ×ű!=•íßW¬ďěTčBĚľ @ŐlNć—ĄÎi¸Ž˙RĚSG“Š]4¸€>DąC!,{~\„J@őÍlk?ł\UCśş$?‚Ę'°ą€µĂąŻűQÁMK›V9‹ĐQČÉqňĺłďŢusY?ŮŠEâNŔ{ś%C’/`,ă~]ĄVx[Ěíĺ|˛FäGŰ’ÇajÇyáöň8–çNŢ/$-ěn‘_XÂÓlZ¶ąápqjâĚëŽĐwyďľ'ő÷§m\úµµ†q©iĆ>dăËŚëÓż ܡrÚ›+öăîO·»A ÁµĆ펕ĘE.i!č1ÂËş<>ÄŘHŰŤDH2ÔÎmÔżvP%ź{řçŢ3´b-*f‘ŤŚ¬ß™o©/­ň!Wçń|áŐ•Eó P™§’’÷*qÂP ©§‚*üśi†bĂč#âPśÂj/ń3†-IçÔÜC›‚\fĄ”Ö(7Yő Iµ€lĘkĽ˙JĘ íCđ÷÷´$ßčQĚ˙”j!Ŕ‹ÜĎ0]~‹†H\Ęóůš3˛ź*Š„~ çfZ8čÔk[$J‰j ¦s%ŠHŇRĂH…đđzyűś}ÖŠ|7ßb]Ů´Í'÷›ŁĆݧVŚL«ž+ÜáVH"TŃ&Z.SˇDqÉ/%QŐÜ Đ&;=÷Ž]&˘L3™!xŻEŠĹÜ "Ë"„ĂÖížm$­ůA¨­ą…›g()ń˘srŠZÓ˛Ó#SQbâřW=š;ăML¬®›é„ěéꚀI]=íh•ęęXOĄ:‰óî–]$Ý DdGţ9ŇÎQ¨z{Âd^É%W኉ź$T/…čäű1‰ř(Ĺ-ż7]ĎŮÚŇ$bá,2ĐŰâg˘KŰúEŚ$Fł2ÜÚxsëŚb6e/Á•B‹h•«ţ&ŐRÄ<ě5}7î?Ő–ŚV»<ßßZ±2 rS‡#&ġÚçşńĺŐ%U>–8ů[l}µ.BN˘fĚĹŘp/4˙‡Ř4ă`¦>™ŠÝÇőăn×ŰĎ‚óٍ\)چN łke'ěѦł‚z¬×PËÂŕôă=;AŞľťRĆ tĄ)±H¤îax¶Ď _ŰAěą1ÁXłkÁ~ÍÓúőéßř3Glą„ôŔŻňü­„ Ś$W«Ó WN­@Í;٧¬T˘a/˛ów…­zÁ¬ %/'U«„" <ÁtIąs%Ę“ü35ĎP‹yÓwzhTą9vCYĚČřeßM!ua‚°Ž»f¶"ŽrűEÚő•řN%Oŕ´m;c ¸HKÚÓ]cIßɬŕ Ż„ް2îČW9ŰĹĽIć&Łĺî®óéaÇA[{7=–VďĚus%ĎÚô¸}=íN9DÁ"Ů–AżŞÉÜX ŞŃׇ[JéLí‡ë«žmźĐa_äKm.7;¨±Â#Ë–vŐ= WÁ>‡¦}i\[>öć•t¤cE¦ťk¸:ěŰ:Ű…gqr;[éľ”mô{ŠŇ_$ąntĄŘ­ ”Ň §đ¬ëÖhPľVUYd9 ÔŠúäŞôá"!źmĂÝ`¨cuÉť˘áíľŮţ¦ 0lĺř°r)Ë`§ĆĄžE9ÂF…ˇ`ď·jáĐמfǤÜâ©C[šmňó1JLż-:”1ăĺ¨RÚä,=¦~B)~bjlz:ěEѡ?íŔDgmÓfz`'?Ŕŕü.ˇQĚ˙XŠčqŞVŁŕĆ÷ú<ř;Jüa…”Xĺ<ž§»ÝŠ”Ä[WRů'Ńńš®&]7™# ˛ÔyÚ(Ť¸,ă_’Ŕ řdGTuŁ~·±Ń+{Śu&ďlżJD9‡VR ţ*MjůeťŠĎ§~˙V]-–˝ę)›,<„Bóiµ–ó83»y>?Al-Ub5ĽóL‚;+Źş"ĘKLdý]Ńĺ>ăW­§r¬–h{ďÖž6°ĘlfĘSíö…I&Đ<ôÔ-z¨Ł@‰&ă]a'<ęHł.Îí¸OŹóś·@MśTŢäIkş‡ÉŚá2ňějc‘Ę&qĺ‡ęş°Đ€ýĎt=ŞijŻATijň%Í˵{ ÍŁ“Ö,ůÇ,öO=nŽB áq ţ÷_Á­%˘%ö,źĺ˛”ŐżąceÉÎJäcŢ<_®ä 4hŰwżşŐ  7N›t#˘Ś\ÄĹę÷můx‹Ž áú€×Ęę‘ńs*˙Dém‘Ô řdM„%”ŘŘ_7˝ń§§mâçĆ#ËĘťóŹŰ‡Ě <”3n‚Wi˝éήLżśŮ=tô¬hüÖŮV4ü„śJ˙ĄkÚL‘Wť‚k2ĺó»,“c×”joJÚ~}dß’/܉OqŠř_Kµ‹„AD Ú â¸ů ë…?hÇ{đ<Ë cjçÄ é4´)̲KŇçCŐÓ9Z}({ĆÜá€Č' fßÓp#µW–Łś8­˛¬ýě†3.RaZńťd¤hř¸ Qď@Ľ!ľ“`šŹńő”ú®"ú×äEÚz*őeHËů¦č„Ř0ęNcöŕ.üäk÷…řîŤWBwĽ“§ą4M©¶Röň}•‚ű¨éńÇ §P3ÓcýÁ2ą/ˇ˙•éĄg˝´=złžĎá‰ćř•ßjOsÚB];QAÚV›S/5šîˇA8Ťň·Ő–¦ľýňPW ˘ŞFŞ=Żwgt–ňSwq?×íČěó.“ÜÜpÓvÖ˛”iíî#Ôžşčě„eäČ@…ćçuöŐł-ÔE ‡PâC…ü~ö~š†ş<ĺSdÜĺYwÁÚ۶Š×ß"«Môču Íŕ¶WŇ÷ěéđâCńڞLâÎ Űń.YÜnOOr†bĘ1„¤iť 0ć¦ÇJOš—B—ž‡®ˇ <7r‚v_††ů¶ëbĆľąv‰€Ű*u9-ě8kĽ&˘Űç |5()€r­÷*ŮFwxČhdžĘ8j°â|>†ČŮ!®¬î>Y:\AónJ‹šÄ†’7ÔÇ'ťBÓUÚd*K?OŮdw";ą ŐŹ”Urµě)ÓuTŰ0-}Á?BV&”+ć ĎMňôĐȡ<Â˙N(NîŇ«?…Ý®Źdö¦!hFźËedeŇdšđٵkÜŹď&śź™+6MŻŐŁĺĎd=?—ßąs˝8˛y2¦7ŽcŮĂWwčJCôAĂŤšÉAĹő˘g&żz©ź“ ¸--Ť>ąA§±ć“ĺjť'ŢĎ)2Ç铏ĹÖđĐŃ=”%?›RNâ-:š×… álq é?.őű5ü]K9űóGi FČ(w›G ¤ĚÜ5bü–âNň@·{^Üň:ö‡3NüĽXµzU:Ż5’­‡göćj¤%ZǢ¤Žtń/Q_«|­YÂËđSčj(¶‰—]`É+޵ÂĹüűéŰWă+rĘťŇ. ] _“”§…„Ş/€´uOŢ{×í® ŹęŤI˝iú:¦$;ŚÚd*xÂĄÇlŢíg®Ć1Ě"š=Ĺ‹™AÓ'ĆHöG¸eGţčńK4ĽvbĄU(Žđu†;ĚŮb{ćG$şžŹy¶Ă±Dk$ł¦V:7\öWsřśz—SčË] 9ŰěĚ˝+eóňâ¦Ü?ĄgJ”[bÚă5qöB[b*HÚ6ĎuŻ&zb0Ňúq€°É™mëĐy*čf¸¤Ádˇ.qA86Đ+ůR]VR”nđë>B±ńňvĽ°Ť]ĎPe—ŰiH﹥‘äkż@Ď Űľę-´LůAHŐW1ž:B´D_ŕ†łĘTWÝXšŞÜ[ľńGđĹ,i(hdsîkš'Oz-Ř$ÝJDÓX“ű—ß(™§Sá é]M6śÝŁçímYň6Ph(±7őĽĆţaB'ż&ĹŻ‹ŕyךĹŘn8|<á´|žĆ2ÇąB¶OŮLßÇý,>öśĂ%ď€ô>XˇHWŁ# Ąg|®—‹ü'Ôt1nQ ^7Ť±Ľ]ßuĺS„ĺ ۧjŰÇ^K 7ř §Ďâąę.4ÂŢI?~éyKăĽďgĘhęV‰»4˝˙= őzxŚž5łÉ´Ç\]KjĎă):xlŐoµ}Ľ•­l‚”B±M“¤ĆçU"ń?kB|×bĐ7ě¨iŰlć;ÚE!ÖA'üp/Ć-Wlđë&DU鳪Ľ´&"˝Žt‚µĹˇO^n¤/ěĚBF:®d‘(OŃM¸éM×®–3)ÚťHl—Šý ǡ»ç]bŕŠ4ÎGŔ^(UŽ÷&ůŢlóúr{bĆĹđN¬÷iăînt)Wč‚1µ±ąAsX2i±§ÄA ëUXĄz{R°F1)ň€ěŰZ[Ń:źg ÔâąąňUZ4Qś­j#~RJvü5>qř—\ÄĆbć»ípŰß=–8L2‘%čPáčŹË1ďćUüăJ¬GŻ‚öŮÉŰř&ѱýIŮ'“tp 뱟,p62í$„˘á„bťeËňĺcIŹÎm2ŤEÇę°Ř/1ŘÇ–·É"B#CŰů4hV|Y眢!ćwOݎiŻ0ăô"ŰÄ/¦ŰĺŠččS3’˝O…Ź'I«ţ"â·u=8 y˘WĚ_Ýł†&ŘDÄąýüG]Żo†ęB|»”`É‚‡źA-._š>²ź ŮŞ´ží©iyś™ţ‘cţ锺;â"ô€ŽľOn˙žŚňTČĆɰ™ĄRó%}âúOŮaVޞő:5%na;E2O»dŤm‘rɦdáCbĘ—BTQ‡ĚÄXĆ“U(™ ® Şî>Ľ7ĚQH×ÉYŃĐ~fuCj{/©9ôBʤGß6˙rďt”4i‘ |$ŤŮËŠ«EK¬™đóźf›ú’ 6^O}4~̉¦Ľş‹gźâEŮ4&Î{š¤§dŚC ”=:»(Ý÷>`lU§ąŢáDÝíď ¬ëE8BĘů,Ĺ ą”Ďđ#Oć(üŇŠ 2ż:zú˛néňµ=Ľ?÷¦<ďŮLäcž>µ=`¨¦«ÄŁą(@Ń&Îy4*üiIôrQ‡Ä™Ňµ˘@ďfd—8mŔ÷ä!V«qĎÄŠţ8Ç‚z¤<ť’ĹŃb±ŕÂiřÔHM˛ęVŠ`9“Ç”ţv™VŢ5=jŰĐ3î]§Đ kÇqĂí•Y‰HÓäřÓĄ@ť3&T(řŢÔÚňý±MŞ#—ćťç@G—xWţÚ­öç/?­vřZů…ŹřZ‰îÍâ#L± Ă>[Ůľ*”îá§řLܡµoś1d·Ć‚«UŃË6˝¶µ)v¶yÄófŕz?Ž7NQć2ďů0ÚŚ`’ŮíĆđ^"ůۉćjćnÇ9 *kŕ µ+ÝPé’5lľb«ňJĚśTŃâ~ęľ[_×ěľßŚŚ™PRî~˘›Ů #˛ś(™.:kS~®Ă$ÜnÓ^†Ó¸:V;öZúxZ‡şv*ŮN®[ÜľůŇrC¨ńîWÁź_(±ę|CŘ.sm7)^IJL’ąĐ¦ŞX‚°g*z]=ËJŢöw +—AŹô §‘éß©ľŔc}d3積§cůŞŕźőŠ3tď°ć0—{–voź5zkš+5˝îŹ )ČE’Ť6$ůx9M|"^TbOV14yLő•Î÷á·0F‚y¨¸ĽíěŐo“®łJŇŢMÇĘmáćÓH*Đ.صr·ľ„i.z!ôT.ĹKěÚžyčËҤ¶™U%Yſ¼s“ţĹ‹Ô˙67'Vá˙‰őń¨[]”ÜëţGO@FË lĆOôoˇ•>(>çËĄqÂ7ŘăyyܶDz®}(x Ç豞ŕw¬Ąš”—łĂČ=Nč]©MĺgÇŹ/NeŹ •ăQY÷Śx˝°łÚ ‹áL´.Ü-pđ­k°<Ç;˝ÖCˇńTkEă2°‚“’ýŁ´:”óÝ­´ĽÁňą§@éň/-nţ_’¤Ąw¤Śg|}'<+vDń§Aô<¸ Zç*Áâ,Ůż ŇGpÂ|š*ň˝óSâ˝Jˇ>Ą±ůaő•ázŘsŚH˘ČßűGŤ§›ĺE±ŽÜZ÷Jot˙Ń«lÉ^zÂÜĹMĽ˙ĹŁO‰…ĹfĽ öëúĆč,ZŢČňŻ=yŕúdባ~gąŕCĂôë™gŚĹă»ĚÍĆ…^őn†©¶!}“Č66*Ů劊Łçý=ůŤý f— žQIÖ‹ď IšŇt4_“ƺ̩ť'¶ĄŠPuĽŕ`N^۰]†ş.Ě&v‰üUęÁ°¤^%żý#: ËMúh Âe2^trÔ éę§QŹëĎöĹŻ-ľ‘OL­—éJîMâ&siż[ű§b28U60ZóˇW-{®–Ű\gM&Q'1Űz EŃa:}op*¬Ź˝,’ľß.±ű:Ç–€ŕW«Ę®â˛Üĺ(Ô©<¨ňŁ} "8Űë$'őĄvęCEčÂܢÇ„«z±pW íĹm.Łäř™¶Ű9úB‹ů+â,«Ä9)BLErkIóIÇkťPč8ś~g—ĹŢ™·ŔzăŰĂMä .”µ}h°(IF[]ţÉG—ŹŮW'źłA‡ĘS"FnŇÔÜN}đag5kBĆ…h¬ÁĎřÂąŇĐőŐčîű'#ów˛˘šˇ]ť ď&X CÍĽëđ vëm[^’LGVř*7t~Äń­ ä“éµ—ëĽjáj•H–›1VÚÓxA(*vC^K^¶úä_ŕ^¨g™«ů4y˝™ň+˛Ďa:• hiżfÚ.‡Cîˇs#´4pxý‘Ë|"ššóvw‹’“Ě]…3ťŁ‰ÝZÔËÝÖě^•Ő°Z• c6Ń«ňő/®ń¦ŇKN§c×#đn›ĹcŁp7źHél‘ÍUőž‘ĺŞ PŹ4±17żMaż Sôná'¸ťW3_˛e™˙L˙>^YuŻę„ÇżŽE Xŕ)ĽP%DŘLéďĹ SOĺg'…Ş¤Ő—öŻ˙ŐÄčíoÔ N夀AU“†ańŠâ qźD­=qf‚¶v¨c™ÓĐ5UXX2\ÇŠ“?M”ަâ®k9kśÎňtťĆěĘ}•ľKűŁ[aşH˝Ó¶ÔOÁŇwçČ´ ¸±™5Í+'ě=‹’aC]ľ÷x<·3śĽÇ6s€1¦Ż˘v•Ľ–Ŕ=óđóŞ%¦ eľťŢ¸'2 Ąu9baµă6ĄjŇÉ ţÉăPrËÝ&,ž® ÔMh.`/n¸Łc‡N“#­!Žśw‰ÝˇŁóý/ä-ž-í}µváŢ9ŢŁĂ»•d|ß•žŢU*{F;˝Ĺ`SŠ–U$=zGŚřIŁXú=u»ąo ÇĹÚa¦čĄGň®?o¸ăĎZF¸čÎmj7qÚ>6ëh˙@ŔZ ÎXM$1¸¸ߨ€¤•o}˘;3®äĐQů@«–šo߼Ś~‘‚ŐÝŞľ„šň5sŇr1Eˇfđw°|0 ú—އ™˛0é'đWô •Ě™šÖ’~3rSĽyúŕFiťöăŐUí)3UĚ÷Wl•Đ-±6îDH?[ĄŽ“^ Ţřű ‘íC[n+SŤ…„Ň( ľýzÇ—ç‡N$d•±Ą~Ż×Qp˙ĆÉŞtRPż!mÔő!¬úE $˝>*€®… 6˙Möű™Ź5ÚČňóŮ<Ł"ĂŚ(O«ŁEĽŞ—šť~ŽJ U˘”¶]4;$›čĐ3_Ř"ÁyĚúÜO?C¦2jŰn4˙¸řË:ŚGHwŽÔ_š±Ů ťÁrrRۢÄdôş¬}ŽŽ yŚ &QŽS_©dd‹u¤‰’x9Ąeę4Ţ~á—UVČAVηE»ęÔGěg°.C™őUĚĎŽ4Ž_ďÂÚ‚ĂE~đŢz®fĽ=˘Ö4Űz_Řuł)ZĘ©waĘŠŢRÝYśµěutűÇ«j]–Ţ/[Ł"°°¸ä#‰î™©Ťa1íëjZ×[ůA&«cę:Ć:4Í&ÂĘÁvţÝÉYđ×Ř9`Üí +äQ.ęčNŮń~GďľHϨq‚W^¨¤›BzPRJî‡ĺę\ĂzzůUF`HĎđv'_¨ŘS^óCÁĎĽšáš®Şâřţ5HIÚűn„zýŁt'5ý‘'MP{K*ťŐ©NŤ8×$ýf‰­‹Gť&}ÓĎÂ6-(é§mě'éŹKIJtĆQjRőeŘ%&ż=´z‰műjáŤó梲FFĄÓ‰K«RqW«’ŢŃĺ,c¤DŤhHţJ«buúŞ”Ž}rŞČiÖq-gČ®˙Š1rúâ73QËQÔ—7sì×(4žLٙн®čl!¸şiÎë†]ĎYřÉMěᬄNgYˇ‘m0’ńă¨/ßÚĚsš™]bQúůá;R€‡!äÓ†„ţKĘ ”Ö+ż=úpFŤX>c§ĎyLďŹcЉła25Nóí#׆ơÁšűdă'•ô›jÎ5Ď­,¶ţIâ•XČ‚ł”łĚr•reMśPrĽ»'?ÄëFô§sh*{vůŤS+—Q4ËO9”WhĹwJ˛ÜŮŠŻĄIďŚíş< Ţ·ËÖ©Ű ¸ć1+9Ss![ÎĐźş3Ľ+Óßă»/^!Ţ[RĹÜ áv!@ĎýĽôgk5ŔX`ČŚžÖßѵąü•e„üŔa—Îő<Ď ?†᤹qýAˇ+Łż*k©łĆ+‚cuĎb7ĽÉÄ‹$µÁEg–'hx=ëtíëŞ<¬÷Ě5٤Ä$㡋ĽłOsŮďŐż¶=ŁĂ٤ ÝŞÂ[Üeäc`ľ×Z “QŹ]ÖO´oóŻ»ESfK°†´Ż©x űf÷}ľÉÚ+t"ĺÂĎŻ.{„pŁühĎ-ݢt·‚łÁ˝[jĚłzÜG™~ÎÍé%10ţúťů5ąçú™Ţ˘QO}Ö˝ŽÄÓÖÜőŤ&źŐ*6Ěžî”rĽě÷"˘[˘…)Ü<ů‘‚ŕ[ 'BĺTĎží\!ĘŮvĆořäňrbŹČŚ“ă$¨c©řcňb;™É×y3yż|Ç“u*ĂÓpĺ[—?Ż×z‚ôń-[î§Îfśďd<ľěČť3Ű–lVµ‚ ×:1äĚt–ÍLŃ‚6™…ÓŁ÷ezkŃ«Uô™Żh0ŐÝyŘí[Ďč®ć!ęG_Ő–·LüC’ĎQ˛÷TžK7¸Ů˝ěŚżŞŹ=Ż~Ľfü ż‡űîH§3…çFŃŘřă|l¦uÓüžnä™ô=¦b_‘Ä>„ôµ°X<ž_µ¨éçuËĐĂk¶—AőË’V^4awWH. o7,fAWďt5'“kc˛Ú‡8Í{­ nÇ)şzÜmTRťQ…„ě-AŹĆćâCAîôĘQiٶŠ6pÍšVúÄÁg^™ôÝůňćÂę`Ôńřxn× ď ¬Ő᪦ł§+A…Ůĺ ł(ë­Ů ëÎhµůżµ™R×ŐöëÎ^őS{=ZŹńŚŐ}śť‚ȶ19­†”[?®÷Á|Äö¤súú*®ł…»;Ţ@pˇźT8Žv†r ^őťbzlc’ť2KoŚlQK\ů?D­ls endstream endobj 4032 0 obj << /Type /FontDescriptor /FontName /DTEXRO+NimbusSanL-Regu /Flags 4 /FontBBox [-174 -285 1001 953] /Ascent 712 /CapHeight 712 /Descent -213 /ItalicAngle 0 /StemV 85 /XHeight 523 /CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/R/S/T/U/V/W/X/Y/a/ampersand/b/braceleft/braceright/bullet/c/colon/comma/d/e/eight/equal/exclam/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/numbersign/o/one/p/parenleft/parenright/period/q/quotedbl/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero) /FontFile 4031 0 R >> endobj 4033 0 obj << /Length1 1199 /Length2 9090 /Length3 0 /Length 9882 /Filter /FlateDecode >> stream xÚm´u\śË˛5ž˙fý_=ţ­ĹßVu0ôjĺüĄ‚˝…Hč_-˝hůď¶Ü Î./ł bü{´™@˙—_Ő5€˙3FFś|ś/ô˛pýăxýü‡ěżsČşÚÚţ­ ăż$˝hâRýĄŠíËĂůK¨Ů˙/ lµőü‡¸˙vÔüëAüÝĂ˙b—´·´…€Ř¸¸˙e„şČB= ćęP™Őżfçßr›˙ý@!ę.ĐżžřK×aÚVP3{‹ËËĄü AěÍ˙+©Ś˝™9Ôޤ{Q°łů˙ţ‚Í\ťť_túű¦^b˙}¶€ľ”x@ĚĐćgĚD‚­ż·ÝTK’ąłmŤňôđë\=»Rň˘ĹŘÂm°Ăw«Ű”ńć] &gI«Y‰W"¨ Ŕ…Ć‘ÉĸŰIµł#ăâ…ŕÂËG°×ŠŞ Łź 0ŽźröĆG§ćě˝őě—?¦*»Ň§;‚«ę@ŕO~c°łë¤†DFQ–_޶;Ă$Dxt¤&oë§!Śôk CšÓ:(,¨ŘŮ0qË hl8¸Ć«hÇý0=Ó+…Áç˙+T öíÄ”LżD@¸c¤“űÎŞ]éM\kad.ĂÎ9Ç0điu€ů:qb<ů:&1ńX ź˛ťČĽ Yúô—Ţö ĆtÁ96Iűű¦UîÔ‘Ë^%Ůą4Ä®ĘČr«ë 7MĂÜCłísç–ďŁŕך˙š7pxK†P{€H-“'u?YĄFYĎÎŻZkv†®a+„¬ąlcÂčDşđ5—ˇObm•n zôpb……QK$Ä“‰&˝˛±‰ ĆĐ&'ŽRč¤dţ@ŢŞAW*¸ś)vnY)SîÂŢąö KDd2 I–‘É#e)z~ő­8Zč:’ (/&209†Ěáx5 /Pß› ©ov‚~ëO Jä¸i ľˇ1JéŘĄ]’Ďs&*ÚKs¦Ź ŽÝcµGťa"kŔ@=Ç8->_‘++ç~V­Š:óÝ˙жöfÝ#úˇQŻM;YIáRyŞ’öÄH~ c+Y™+×zÎ.‚`§đŢMî2›b3¦¦jďמ}ý™ňš»1|‰&`S"0ťčťxÄ÷á%’ńf–ľU"‹Ű~ŘŽGQíHđ r"¸ű'>¶Atʧ5ů§j—lÎ'´`™ ź<Ż«ýTŻ+Ľµ tú¦@FöĘ©l15 ‚ť×¸5Íu‹_„Pă — úŤ¬ ;XŘß˝ÇÉxřOŽUĆ«“]^#%‰I|ăpťkE/Óe±_(ćî4ź¦-U'Á}ńtÓGôŇÂĐ`âűn¨XÍ®^Ş7KâŚ÷iŰ=Ć,;8RkRNř5yP" h8K>uvŃÂmRńĹ•ŔŹUÄĐű0˙™Ëě$ţ:R†Lٰ݇±úńXÉjÔK員şlŢ›*­Ätm±q*Ą0ľ§TÝP.’ô9ĄiĎĎt•ěy»p‡Ó±o p'(čnÁtŇpéWäsżüWMŻ)“4Ś«™ąd F>ŁźPôŰ…uD]‘ĺZł>w“jvVaš‹]"\§á@‘Ö›„ČŤÜ"?h&µLlłtP_ ÄęÁ’ŹVĎM™gÖ“¸#qž­řmľ r^ĚaXvéŃ»Y9>Xߣu`żí!î·§«ÔúúţÔéSňV5\ęĺp¶ßÇUЄ寀Xť#|O”ĹŃfĺ5ô‰­ţ–“®Ýýň“ńć´LKŕ»Ű^˛Ő¦hF€–\şpGřBGfŞ‹qş÷o‘{×´jv\Ç9ńłjI»W.Ó xů©´ á±ďăŮú\;®ą°4*rŻ2ň jíMŻJWhž/l/üBĽĎ(łĺƙwžŰ´Űô”6źe·~8šíŢ«čcŽĆŇiÂUĆ_Dů÷ľ:ë–á*’¨’—ĚçYX…ÂíHĂ…’1ßůf¬pç¦ýÇWŮ|ŠÜLţX_ť¬ýŁMçĎą%m=<ĺ]FsRdu«×üNg+]"täáLşbŁŇď"^t[aG]ĺú×Đ/§Č[ů{)ť8 {ĹÝ~cĚ|QWj+ I+/;vú,µYJü]Ú¨%ôČNąÂe±éë©Řcó ÉiíPçţ·áµmQtŽ˙ÇŞ~Ů×ăé ŹŇř„‡łÔôô!Ś‚—ů’ZčáWRjëŢkeH»˝ôČ+ZđB…ŠŽj$:Č”SčŐFhĺsň¶*×QîŻä™ćńÓÂđüľ8XPń©ČßIJfˇ))eŕ/nňJÖ‡pˇĎLfň˝ˇv n4PĘüh›ĎČůđšťtŠí†„!@Aäń°ÄLÔX"ęˇÖ!xĂÉ÷łí·ŚĽ+´ć$˙í 4µńPÁk­™¬üF ‰ˇ1wUĹ šĐ«‹{nn=›ž.(UŚĂő§O˝ë˙Ě—OBÄŢŇC渰GPŐ$%Ş)ąLÜŤ‰ÔŐ§„ŽUńëO8KŔT7_]2Í›ęúýŞŻ¦ăëHo%<Ľ[ąW}˙ěA¬uz!„ÇČć;™ýűʎÚĘeĹ™›ÚňČ;nť?ÍsQkvZA_Yřîűxo ±­™Ş‡©2_tŰ&Ż#™CXű¬˘4úĆﮄ„m €!§Ś‹±ËîÜh6PYQ Kz%5u$}5 ŮłÖĄˇk'caĂ!Ýí~«uÂQťÖŐBV ÄLâýHŔV ×pÉžlÂmŔÉržŽ·ßŠa *VŘĂ{|„ä€řňÉź´{ĺČ΄os>Ëbi•{=źśÖ^* ź]S¨ŰÇŘCŞ ^ü9’ˇŇY*żk0Ňa•:‰´#ˇ šÝ‰«0•¬[:Ł$á˛Đű¨'x}z:ŕóŠ~S9…Ë2‹âHwď8$ÓđŞŮ±ń¦>‡ĘCĽŔĘ›nź>I:7WĺÜŕ®;cdťŁ#Ęo :iŃżŃň‰”¦ŚXP@¬"Ťt±›€ô¤,F±7Ú ¸4?ÇĹ—Iµ†x>­ױί 1Ť 9 ęîő ÚH‰«Ďň—(ó-ň± »Ť@g¸™´ ó*±Ú‹ŚĺßUĚÔôéQ1›xşWSp‹­/Yů¤Ç‘ĐQB»CĚN%Ot‰î}LJčŃťË ĂĘ©šd™,îýа$÷ý´ŔDt¶ ó©(ĎŻYh„S©ăiŘś;) ŰLZh°rsNč2Úđ©b+Íć-[ŘaµZɱ٠jĺč=YŞRúďˇOúmcF~j×&Ó_WM«y÷ŕŇ3Î0jĸŕfGvŤC“„p˙Xď㡗֧ńďKug5řT×ă¸ŕĆNmŕ•\JŤ‹>óÝWśI‹ÄěÄxY«Rä¨bĆĆoFF›‚$,3üć|Ú5E™Ţ”$ Žš,©®Ć<ÖΚč¬â)pH§™y`3÷|]\°ˇú’•úv8 yt­•z^.á\ŕ·7ŤŻJÁO*-5Ú·*[nŕČŃČŁŃ÷!âmüÂUĚę,Xžu˛RpĐB´˝ öŰëĎýÉE§q·řěŇŚ’bx‡‰*–Á—ß rr|YNď>¤ź~µSÉčÍ1Żs°Qk,ţÄţKägEźŰˇ¤ËÁ–oĂhńŽŞŽkëJ[ ż©˝˛7ĂŤżýŮß(:oT ăO©“­4 žz]ßDŚşŘj‚ßP,pÔŔ P˘^é5ąčćP>ľ*¨jżQ&áÎ7Éť”_ PĎÜŚĘ?üŞÜ…ŘfŃéY< Ŕrř÷ÁlĽžŹf”BĎ֡ؽ€ÓËnLcŞR^đhćÓ­ěŽřŘĐŮVÔ żi=-ÜR‰źvV1k"hÎÉM2Z‡ůÜŇ€ŮUŘ#«ŮÇn9 ŹhĎ;݆/bî]¶=[ř‰ţďS•8T‰ţ–‰ţŽâŘC ɉ@ŽĚ¶®!ň<3Ęiî/9Iµč·%ŻQ‹§ŕÄ´‹C°qdT‰\µţ\?^`ť’ž3uďĂ,šůN ”Úđ·ZD¦Ď`ťřŃĐáŤ9 Fś°oý‰$E+2e}sĂO UîkǵWźüŃÝNťH0[Łyß„~łžzM÷ýĘö‘iĆGiçĄÖ?™F9W 5^ —˛NŮý‹'°k%eÉË˝[r5ŰE¦—!ˇz—G‰©É@y[NŁBÂ&6p’úžJ‚˛–ć·Q iŠą•‹î€±—żĎ×Ú4âKĺ&4řŚ!˛Znó±±»j˘>ˇ]CYďűHk^%Ď2c â·Żbž9ö…ÄGöş~G g)ŹaÎri‰[i {͡űîwťÓŮbę;oĺ¬Y-!˝ů˘uËřś¦íyx€ p)çŞ@bHěŚů¸měĂ1ţbaóěf0Ü‚ŢĘŹ6şLMjl&V7DŢ÷IŁ Žď.L–Ô·\Ş<ĺäÝVk¨Ę&”›4ÓH!>ßłéłÖ3>Eíkh-r —iëL´ cŻó4osŹoN•-Ű$źćżµ¨ľ:dĄmŕ<čĽwĂâ´Ň4/k0˘xW‹kµž«mr…Q–…̆·0­Tő~@ÄĚüP ů}2ćÇ0™ĺAÜ—\Ië’ŢkYc/Dc˝í‰Ś÷§ę{ŕzO_1 s¤ůáżi$ŻeőăwöČć7\@ťůŐ~| Ŕé5N!°’(Ű tF~lč2Ű ôž BhĽĽ†“śţő\9Ńří‰ŘżgoŹßb]lĘ•äć¶ÜQ: 4šżLˇŕŇQ–ĚaĽ»¸V-{ÜÇ,őŞ[Äüµ;gĘ5Ŕť“ž/G$0Í<ŕşŇłQJTBÖlŃ Ć*üQómá“!ˇ1|ă;'¨Ö‡íŹ ńŤëůŮ;-k äCăŹĂc8’/sá “–čĹiöÁ ,±•eym’ěÖś4ŕs´çŢ ÍÓ5–ĹŤ‰ńcOźĆĹîµMÓA±ąC´‰t¶”lű´ă<ŹAěcலwšÔHÄ9ř‚dŐť)ýcµŔ n]wWmrQ9kꄸÔ-Ę~ÇIśÚc peÍ~l3D[q?<í2¦ÍěqQb‰ËGKP*dN¨¨„ůU$v5î#~őy:5tyŁI0¬üöCÍůÖ™@ó€ŽÍ Ý{I–j\©ÎLŰëŹ&čąŘ$b#ńÇŚEÁ; Aĺř “˛N />˘ýd$Dt9;m.WQăŔM“‹°Bú‚)Ćx»PžzšŠîä® Ş ů&ô^“ýÂ4ZćŔű"ĹąhŔHÄú’×hôäjWO}Ü´‰Ř~6šZBřŁżMäí˘1°Ň?RŠnb?°ď§Řµ¸Ó©P§őę"ay ¨ţ|ő|ě^}Ďßâ§Óţ+¤ëަÉٟɺq4ZŘŢ5_·UÝ’;?Ë•(Ók›'k'W‰´„9ŘLJťß ±Jë}ÂĎPÉŔ\Ŕg­SNŠĆîŃ:°<÷@—„U••”!l'‡ď‹Ě~@Á)7)!ăúäşöęŐŔ(%ßDV@?˛Şč°bu 8SŃ€7î2†ëx(hŮLşźrd)i0ę7…ô+dmŐě˛ß•ć—ŕá®:{Yć>J,Oé·u+ ‹9ełřÄüiÉÄHŻzîöh©~ÁµŻsä"÷YtßŔeąsĂj–‡ĄŁmBłîľ\±Đz¦©2ůť„ŠňFÂTťÖţ¸ątę1żźŢ^ţ$Üâ^K­ł) zŰRjÍň碥ˇż­?UĐEIF¬ÔťR,É<í•b!ĎćĺąťŽjóžV&靈ÝŞŘřt‡‰ĚŔt2DÍÖ…ÇwAö.“8Kp†ú[?71ŚK°ć>óĘ ÍĐź}“ÎvűA»¸b;z"(4’ű”¶tۡۿŮ}ÂTeŤşšŤgL§~Żő˝ąhŔf;F&DĽL9ú8ŮŚ)°K(`;_lJŁX[tŕ+ż”.Ë]>ŤĄ ĄĄ¤`[n¶L®­.dćÜ˙…NÔČűÚžţóŢ;3QŁśĽüÉ豜ęOŇ«ď<…!ÍC„=!A§úçK<żÄłôŕśřG)üďŢ„l8M?ˇŮNWL›ć~_üěY±âßšßF;©“á@t!jß)ţa%·×|š=§yD’ŔÚ“7%˝Ď„oIK8ý̎䤿¬5†Ůä•n «-tëŃ`ŁńŃĆqJâsG˙|Őű°± Ł3*ľ´rąśĂ>­eřé f6@†ŽE(÷ŚŁ­1ĐY(Ň÷ô;!µTŇÚŹ7ÉűN§qÜ RHŮĹŁÜ›~·Y*\ ÉŤI<®Z´{Ń™öQH”čÓňMľby{׌?ţ:émĄ«ĺCSÇ9îlÎç]5˘IÝ–ѱw4?X¸/;h˙ ~KZp2Ř˙ĘÉ… ě{\5í%‘Šg7 HîQÇcźýéCg? ¤rvo®űíÔiW`«FÝ t@Ç;‰ÜvĘPţŐ/ßíä`[.ž1yY›ÍşŃľőă Ä. 9-/˘"XçQŽę3Ü?‹7ˇúE  0×í“ň±W’ko˝/6š‰ÖüUܱťyÉ”ţ'ZžJü´Ę”O`¤!AúčYŮę×YZކžo­ôŐ>(ŤđÝ˙ü}®Qy­‚LQsĘ„ńłnšČ:Ó'Ó'0ř?ŹůEĄ2|l°˙Äŕrb›ţź _ŇصWÎH¶âňÉşlĘöŤă3Ę «I-v'ô’sřµ-ŰĽäűL<çłđÜËp#5D[[Ělpň4LŘ%ł’tÉÖ´Ĺ1¸E Ýľý‡/ÄŇc¬â’8Đ~?ů(•9lĽ`oŻŃc»‡ŘÝĄîDGžµĆúüURčZ-] ÝŔ;sĄ4Ň1GŠŕŚüŻÎn}9ć¦lÄóŕâ'+ăňü.ި×m·1~wÔn­4Ůƶ|ë¨ôęé2´§*HĐwqkb`ăŘŃtň}3¶ŞUëćŐtÔsşDŮęăYšÁ­}­ýaŦĚô®wđcU»g”·,"9Ń'EʉĹ? úUܤwb„H±µFőx řLÂ?> š\4+ő§(‘†˙Đía|™ě|Ĺ?ü<š:ů®ĘílÝřöVő65łýVÍ貱X« äé§’PóŹĘŻŰ9X‚ Żš•–Ť25Ý1 îÓ9’$^Ě:°íń˘‚%á!ŕDă4ä´WÉźîZ®+Ęť^ "ěkőLm)Ž× űN•„˛+UĂÍđ{ĚwB —ňÂ׆{Ţ:sŰéut}Ĺwö95iQw·jĽĂF¤€ü,}ăf‰úůë*AU=‚ů92[Ýrš/Ó^˛}A|hˇ´5ę»Wí扗důř•Yű¸ňCŃ|ŐĂ™"&űnc/íTa’•śwĘ5¬‰(`-«qK u42ü†`P’łjČ9Wť=Ń$|x‰u‹l·±Đ-Ý4:^.qˇmĹ(ŐÁ硉}rg?şúÓV3\Jéş ůŢ  0¦2c¤ä”y„k“ĐŃE/?ČŢ4éĹt8arýi)ÇČ·˛ńá°gý“˙¦Ď1× Ó5<8ĹŮóIúš‹ńŢh"ˇBŔš÷°Ň̎Z€ś'›üŁ&{–„ö&V[óš´§Kş_MČđ¦EŤ É4‡~ĄXvT# hÁźÝ‰_f'ĘĆ4QeIRGˇ`•‰ź‹HQ†010L0¤ş|gBűÔdR§&ŤÇQ&™]¨c_˝Ýłßîśn’zwk¤ŢĂ0OkhŰÍ“Aµ­µ°s=ÄÖM´ÁŮôíFw”JK$‡7~ÄC!­‹TĄF~w`âg!ó,á:˛Q.x9µ;Ś`RˇšěV¦1l|‹·ů/'T˙˙św•4ľUÄÝBGľ†âŞtřüëŔĄöyŁăFžŐ©CJ"$Gŕ›˘-+BĄĽ‚.`«ç9j¨8䱳ŠTŢĄů­Ó>VX»`Áş¦1`©ü iQ±'Ü˝ôÇ{]ýcµ‰ö×áZőD”ÉgE!ŰQ§_hFř‰Í*{ŹŔBŻw.ÔăKWĂQH´87 -™¨B»>»}fˇzĂ˝dňxG‘¸®_6ć‹_˙qŁĚ‹Dí7Z@)núqA‹pxDccÁ›¬Ç_çP§JN·Ôĺ2ůs_BPę¬:HČú,ľ°b|3žŐJýB‘ú\mÂfvІNń0Ôă 7<Ź Çb˙ý»¤¸n×\ĽL¶§ÉĺüÍ%ÎĆÚÓ¸˘‘hÝJ¶5¶Ďv6ć˛â)±«¨>'śgHW(˝™Ä6!°}ÇáĺS‰m> ŕĎp:WřúŁŠ|NKŕ9 «¦ÁkÇ#ÁýĂŻ†őCŹVď]˛Ś+†uü»x·‚ŕĆ1ň·“>…B.âÇâ‹2 Ů&Ă5ˇąóÇńS˙•ůçzŤě™ß¸Qúm|™ľA܆[ś­ëňúŮpŞXŇ2Qş \sŚz•’¶˘FŇŕ#žVKzü×Bvąăd•…Ö=ŕ4ýš)1q[1ČUěUč~Ű9ČćÝěó?_  ž˘.Ş8iL´jT×Áť¬nM0&ľ ŇÍÁŻ<řÇŤĎ×riĄe¸|꫾…“ÎdOz’sÁ-`Í?ävĚmV«¨Ä9S۰«Pü•·X8ń´9Z3m¨×6c ¤ócRű”yĺÇę-D¶ t…Jőś±$fvd«Ďńç44’WăFU2š‹Ń%3CżJśáć{ßyýC›oW@űEîň>˙y>ďňş iŔéś&xkŻ×'Î<ŐśÔMd9í>~ÖÜxÚL¶ě‚rŠ*2tZg†.Bv˘K{¤vJ=Źćj!›é)y'‚ ·źX5“Ť^“+ڶť·§ĘžV&ݏµt]p‚kDx;5„ŢçőĆц( >ˇľďÉ’>ą˝—Dhq-Ţ+h/żů–¨ {ľw´ŢËŚ›`Î…€6Оű3áV\j|d›LFő¶ÇP˘mĄu„§Ó=P¶¶·efWRÓV$Űľ©lR PëśšAŞ™iß%ž“DZaĺłoŃŇ_ëf®ÖÎTŁ &]č»(~Lě*¤yE’ëţ Ë«<¶LrÎŘĚd»±Sęłm8ÜBwđÖ˙xp Ä.±W ő$dź÷ăµWsĹţxMÉŮĘőăMa·[¨Öéăr›|WČd% .˙QY H…îHţ:T±OŐYDb2¶`Sż*­h `oQ¤2’Ú'Ľ‰ÉŔS-EKwBY*ąŞy:i<ě|$«S‚ôgĘ8eľ×q(Še(cié±ÚĹ‘™–íżŽŹa>pI¸Č¨v:.;ɸ¦@ ‹ĹÖt2čÁ«.&ś“7x,Yf__©”V`ző/O^M]şA:EÍŠ+ć¨Ă"Ŕ×JÓé+xH{~`°›m&Żz· ż\l*Ęŕ–×Y˘*é‚"ťÖŢđ¨v±gŹÎôá1D:S§‹Ů4o%jŰIQtd=ţěółK2fl©yO<[4,{véM…2¦$eăĚós5ůŞpŚf*ő‚˘.‚2eë˝,o}JAÁ`»ůÄ{Ü]@b§a÷É„ëI‚8ĂyéşKó˝-ŇěŮ<Îşp şYXĺ÷čµĎMĚŻă†oOę{đn;±E_ý·˘ŽřľŁëS¸ě%ĺéŁ&ŞŻŽóĎszxF?CąŮ‹ę'â›×Aýsʶ‡‡¶®/-KŐĺ'tĂCrÄt6>5jÔÜ"ywjő'˘Nm;#<?Căf«ţ·:|s­lÎ&Cč°c˝EČŰ] łąǶť· 6~ى4˘óĎŐ8đĺA˝fţsŰîxZ×áńÇš´µĘkBÄ3ôŔódˇăbĺ«ďüEkźąµ,˘IńmŁćŕ› ÉZnyµĄÜWSăŇŰÜÇ>±˘ŁX·ěÜ+ś6jŚĂť›9ăÖ‘WM0;ß«|d`d˙đţƵyţĎ •Ö˘«ç}POľ!©ô˙->I´ŽŰ¬_Ĥ îrL|ZNpPĎŞS|%×>×˙ uGhąúĂĽUăPŇXL¸*dţ:ްgßEST,'‡jöˇűöäâ{‡—5wk“bĘCé˛űgś#Mé_ %čKŮ’0żŃzS“ť7BXŤď"ňşg>ŚáhtOWîú6?l9H7ÉłŹOXz¶0X– :•¤đÄ\i 1KŞd9˘™gú•-qFnĐ-Q,VŁą%7źâŘŮďÍ.oĂ+Ľf‚Ł„ßßbËs­—NŘä*š­UŚöČő3Ú ě™¶b°¶enŔw'  ×~ĆżJ°ÜwاîbŞ–I{Ť¤5+w+ť|ŢYÎx ýđĺuĂ4Ĺ´;¸^ŞÖ”ôV"üŘ“d[81ńęu÷ś“Ăů° qűÉ9˝ęx:wa ±ť-mZ!?ŕ˝ ŽjLR´@oÇ'Ţdux>vSÓZźÝZăóŃ_ ?Içä–şĘíÄç‹ň°»™uÍ,ÝtŘ×-™w’ľă ŕť3·|öMyzľ*8ÂW©ĂzLl2Tg-ˇŠ;Ľg€ ÍäIđ+–Ŕ‘ĺ¶î@ń{o¦Śb.:ćč}Xd¸TTë–®H#Í6Ý;ĚŔÝ:łXR´/ýţq–V%ű™§»˘đ<ĄrźĚP'P›w)†ĆÎŁ)€.ą±™Îş/ 8Fň,%|sSď,’z„[…†ËŤŘÍ”Ř&×÷ÝDö«żޞx˘ő×KÖť€‘©żeţŘ ůťŤ/¨†Ż€7•ćŁ\mäŮ‹tGuŰ-÷ ŞŢ-$ű¦Î÷…d*ř8‚ń»×ŐO´[X3kĂŕĺ€ß!šŕHΖÇ0T/÷6ŽËěyDcuĽ°Í/ĽÎp[Śkd⥯q ź$PtAę–łMb=ŤßvüÉČČÖËşâÇ?ľzW€3˝ÝÓ§I jjŚr(Ă]›ň”,^ eĆŻ+KźŽ®n6ťşaŐŹ˛¦ńôΤ8™ž\¤Üę„~»±úž™ęÚ ˛m„•X˝Ąđôç~ű"ĐűüüçôĆࣿ]č§­=–Űs<óbÖpTŹÜhżďGÄn5šµUß"°\¦&ö†đ-řÂŘůX“Đrú;%Ę7µWyÉąüÎŘÎj2×{É@…XN%§š$ żŹę$´Úä’ç_¤&󤞾[Ý9ę2ţnÎúş:ç 7‹|M$äo I˙ă–=ĐłÉɰł5«僚˛–üţ,8eĆÔ– ±íîólqńKµ§ăŽŁU=őţň¦gUn˙aî‘#ďă/žÁf×ĺŞTˇ˘D.]±g^z~ľwMĂlĄBiÎńĄç3x»:6 s˘sËľ¶2S6łżM¶ş;…‚HËú;úP jUo@C5kłRđôD/C[Ę 1:“uRe˙Ş.6WŻűáÔ1jęM·Ô٤´ OgŔuŕC ÓĂN™•ŻUĐ7Ż÷؆ď)«łţlaźÇ•ć> endobj 4008 0 obj << /Type /Encoding /Differences [2/fi/fl 33/exclam/quotedbl/numbersign 38/ampersand 40/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon 61/equal/greater 64/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P 82/R/S/T/U/V/W/X/Y 91/bracketleft/backslash/bracketright 95/underscore 97/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft 125/braceright 149/bullet] >> endobj 2953 0 obj << /Type /Font /Subtype /Type1 /BaseFont /SYFPBV+CMMI10 /FontDescriptor 4018 0 R /FirstChar 60 /LastChar 62 /Widths 4007 0 R >> endobj 1998 0 obj << /Type /Font /Subtype /Type1 /BaseFont /YDPFYX+CMSY10 /FontDescriptor 4020 0 R /FirstChar 3 /LastChar 110 /Widths 4013 0 R >> endobj 2451 0 obj << /Type /Font /Subtype /Type1 /BaseFont /DJJFEV+NimbusMonL-Regu /FontDescriptor 4022 0 R /FirstChar 33 /LastChar 125 /Widths 4009 0 R /Encoding 4008 0 R >> endobj 1592 0 obj << /Type /Font /Subtype /Type1 /BaseFont /CXONJF+NimbusSanL-Bold /FontDescriptor 4024 0 R /FirstChar 2 /LastChar 122 /Widths 4014 0 R /Encoding 4008 0 R >> endobj 1590 0 obj << /Type /Font /Subtype /Type1 /BaseFont /ZMQFGB+NimbusSanL-BoldCond /FontDescriptor 4026 0 R /FirstChar 2 /LastChar 122 /Widths 4015 0 R /Encoding 4008 0 R >> endobj 2147 0 obj << /Type /Font /Subtype /Type1 /BaseFont /ILUEKM+NimbusSanL-BoldItal /FontDescriptor 4028 0 R /FirstChar 2 /LastChar 121 /Widths 4011 0 R /Encoding 4008 0 R >> endobj 2160 0 obj << /Type /Font /Subtype /Type1 /BaseFont /GTKGZY+NimbusSanL-BoldCondItal /FontDescriptor 4030 0 R /FirstChar 2 /LastChar 122 /Widths 4010 0 R /Encoding 4008 0 R >> endobj 1558 0 obj << /Type /Font /Subtype /Type1 /BaseFont /DTEXRO+NimbusSanL-Regu /FontDescriptor 4032 0 R /FirstChar 2 /LastChar 149 /Widths 4016 0 R /Encoding 4008 0 R >> endobj 2143 0 obj << /Type /Font /Subtype /Type1 /BaseFont /EQJGOV+NimbusSanL-ReguItal /FontDescriptor 4034 0 R /FirstChar 2 /LastChar 122 /Widths 4012 0 R /Encoding 4008 0 R >> endobj 1559 0 obj << /Type /Pages /Count 6 /Parent 4035 0 R /Kids [1554 0 R 1561 0 R 1588 0 R 1628 0 R 1665 0 R 1702 0 R] >> endobj 1740 0 obj << /Type /Pages /Count 6 /Parent 4035 0 R /Kids [1738 0 R 1776 0 R 1813 0 R 1849 0 R 1886 0 R 1923 0 R] >> endobj 1962 0 obj << /Type /Pages /Count 6 /Parent 4035 0 R /Kids [1960 0 R 1990 0 R 1994 0 R 2002 0 R 2019 0 R 2023 0 R] >> endobj 2058 0 obj << /Type /Pages /Count 6 /Parent 4035 0 R /Kids [2055 0 R 2074 0 R 2106 0 R 2123 0 R 2138 0 R 2157 0 R] >> endobj 2183 0 obj << /Type /Pages /Count 6 /Parent 4035 0 R /Kids [2174 0 R 2189 0 R 2210 0 R 2225 0 R 2254 0 R 2273 0 R] >> endobj 2294 0 obj << /Type /Pages /Count 6 /Parent 4035 0 R /Kids [2285 0 R 2310 0 R 2323 0 R 2349 0 R 2365 0 R 2406 0 R] >> endobj 2452 0 obj << /Type /Pages /Count 6 /Parent 4036 0 R /Kids [2448 0 R 2465 0 R 2469 0 R 2473 0 R 2483 0 R 2552 0 R] >> endobj 2606 0 obj << /Type /Pages /Count 6 /Parent 4036 0 R /Kids [2597 0 R 2616 0 R 2625 0 R 2635 0 R 2645 0 R 2658 0 R] >> endobj 2676 0 obj << /Type /Pages /Count 6 /Parent 4036 0 R /Kids [2670 0 R 2684 0 R 2691 0 R 2749 0 R 2801 0 R 2822 0 R] >> endobj 2836 0 obj << /Type /Pages /Count 6 /Parent 4036 0 R /Kids [2830 0 R 2841 0 R 2850 0 R 2858 0 R 2872 0 R 2883 0 R] >> endobj 2901 0 obj << /Type /Pages /Count 6 /Parent 4036 0 R /Kids [2895 0 R 2903 0 R 2911 0 R 2929 0 R 2950 0 R 2977 0 R] >> endobj 3007 0 obj << /Type /Pages /Count 6 /Parent 4036 0 R /Kids [2999 0 R 3017 0 R 3034 0 R 3062 0 R 3083 0 R 3104 0 R] >> endobj 3137 0 obj << /Type /Pages /Count 6 /Parent 4037 0 R /Kids [3128 0 R 3146 0 R 3163 0 R 3203 0 R 3272 0 R 3282 0 R] >> endobj 3319 0 obj << /Type /Pages /Count 6 /Parent 4037 0 R /Kids [3312 0 R 3373 0 R 3380 0 R 3396 0 R 3436 0 R 3462 0 R] >> endobj 3475 0 obj << /Type /Pages /Count 6 /Parent 4037 0 R /Kids [3470 0 R 3482 0 R 3501 0 R 3552 0 R 3599 0 R 3637 0 R] >> endobj 3697 0 obj << /Type /Pages /Count 6 /Parent 4037 0 R /Kids [3692 0 R 3714 0 R 3718 0 R 3722 0 R 3727 0 R 3735 0 R] >> endobj 3788 0 obj << /Type /Pages /Count 6 /Parent 4037 0 R /Kids [3773 0 R 3875 0 R 3909 0 R 3917 0 R 3937 0 R 3975 0 R] >> endobj 4006 0 obj << /Type /Pages /Count 1 /Parent 4037 0 R /Kids [3999 0 R] >> endobj 4035 0 obj << /Type /Pages /Count 36 /Parent 4038 0 R /Kids [1559 0 R 1740 0 R 1962 0 R 2058 0 R 2183 0 R 2294 0 R] >> endobj 4036 0 obj << /Type /Pages /Count 36 /Parent 4038 0 R /Kids [2452 0 R 2606 0 R 2676 0 R 2836 0 R 2901 0 R 3007 0 R] >> endobj 4037 0 obj << /Type /Pages /Count 31 /Parent 4038 0 R /Kids [3137 0 R 3319 0 R 3475 0 R 3697 0 R 3788 0 R 4006 0 R] >> endobj 4038 0 obj << /Type /Pages /Count 103 /Kids [4035 0 R 4036 0 R 4037 0 R] >> endobj 4039 0 obj << /Type /Outlines /First 3 0 R /Last 979 0 R /Count 7 >> endobj 1551 0 obj << /Title 1552 0 R /A 1549 0 R /Parent 1547 0 R >> endobj 1547 0 obj << /Title 1548 0 R /A 1545 0 R /Parent 1543 0 R /First 1551 0 R /Last 1551 0 R /Count -1 >> endobj 1543 0 obj << /Title 1544 0 R /A 1541 0 R /Parent 979 0 R /Prev 1491 0 R /First 1547 0 R /Last 1547 0 R /Count -1 >> endobj 1539 0 obj << /Title 1540 0 R /A 1537 0 R /Parent 1523 0 R /Prev 1535 0 R >> endobj 1535 0 obj << /Title 1536 0 R /A 1533 0 R /Parent 1523 0 R /Prev 1531 0 R /Next 1539 0 R >> endobj 1531 0 obj << /Title 1532 0 R /A 1529 0 R /Parent 1523 0 R /Prev 1527 0 R /Next 1535 0 R >> endobj 1527 0 obj << /Title 1528 0 R /A 1525 0 R /Parent 1523 0 R /Next 1531 0 R >> endobj 1523 0 obj << /Title 1524 0 R /A 1521 0 R /Parent 1491 0 R /Prev 1511 0 R /First 1527 0 R /Last 1539 0 R /Count -4 >> endobj 1519 0 obj << /Title 1520 0 R /A 1517 0 R /Parent 1511 0 R /Prev 1515 0 R >> endobj 1515 0 obj << /Title 1516 0 R /A 1513 0 R /Parent 1511 0 R /Next 1519 0 R >> endobj 1511 0 obj << /Title 1512 0 R /A 1509 0 R /Parent 1491 0 R /Prev 1495 0 R /Next 1523 0 R /First 1515 0 R /Last 1519 0 R /Count -2 >> endobj 1507 0 obj << /Title 1508 0 R /A 1505 0 R /Parent 1495 0 R /Prev 1503 0 R >> endobj 1503 0 obj << /Title 1504 0 R /A 1501 0 R /Parent 1495 0 R /Prev 1499 0 R /Next 1507 0 R >> endobj 1499 0 obj << /Title 1500 0 R /A 1497 0 R /Parent 1495 0 R /Next 1503 0 R >> endobj 1495 0 obj << /Title 1496 0 R /A 1493 0 R /Parent 1491 0 R /Next 1511 0 R /First 1499 0 R /Last 1507 0 R /Count -3 >> endobj 1491 0 obj << /Title 1492 0 R /A 1489 0 R /Parent 979 0 R /Prev 1475 0 R /Next 1543 0 R /First 1495 0 R /Last 1523 0 R /Count -3 >> endobj 1487 0 obj << /Title 1488 0 R /A 1485 0 R /Parent 1483 0 R >> endobj 1483 0 obj << /Title 1484 0 R /A 1481 0 R /Parent 1475 0 R /Prev 1479 0 R /First 1487 0 R /Last 1487 0 R /Count -1 >> endobj 1479 0 obj << /Title 1480 0 R /A 1477 0 R /Parent 1475 0 R /Next 1483 0 R >> endobj 1475 0 obj << /Title 1476 0 R /A 1473 0 R /Parent 979 0 R /Prev 1435 0 R /Next 1491 0 R /First 1479 0 R /Last 1483 0 R /Count -2 >> endobj 1471 0 obj << /Title 1472 0 R /A 1469 0 R /Parent 1467 0 R >> endobj 1467 0 obj << /Title 1468 0 R /A 1465 0 R /Parent 1435 0 R /Prev 1455 0 R /First 1471 0 R /Last 1471 0 R /Count -1 >> endobj 1463 0 obj << /Title 1464 0 R /A 1461 0 R /Parent 1455 0 R /Prev 1459 0 R >> endobj 1459 0 obj << /Title 1460 0 R /A 1457 0 R /Parent 1455 0 R /Next 1463 0 R >> endobj 1455 0 obj << /Title 1456 0 R /A 1453 0 R /Parent 1435 0 R /Prev 1443 0 R /Next 1467 0 R /First 1459 0 R /Last 1463 0 R /Count -2 >> endobj 1451 0 obj << /Title 1452 0 R /A 1449 0 R /Parent 1443 0 R /Prev 1447 0 R >> endobj 1447 0 obj << /Title 1448 0 R /A 1445 0 R /Parent 1443 0 R /Next 1451 0 R >> endobj 1443 0 obj << /Title 1444 0 R /A 1441 0 R /Parent 1435 0 R /Prev 1439 0 R /Next 1455 0 R /First 1447 0 R /Last 1451 0 R /Count -2 >> endobj 1439 0 obj << /Title 1440 0 R /A 1437 0 R /Parent 1435 0 R /Next 1443 0 R >> endobj 1435 0 obj << /Title 1436 0 R /A 1433 0 R /Parent 979 0 R /Prev 1419 0 R /Next 1475 0 R /First 1439 0 R /Last 1467 0 R /Count -4 >> endobj 1431 0 obj << /Title 1432 0 R /A 1429 0 R /Parent 1427 0 R >> endobj 1427 0 obj << /Title 1428 0 R /A 1425 0 R /Parent 1419 0 R /Prev 1423 0 R /First 1431 0 R /Last 1431 0 R /Count -1 >> endobj 1423 0 obj << /Title 1424 0 R /A 1421 0 R /Parent 1419 0 R /Next 1427 0 R >> endobj 1419 0 obj << /Title 1420 0 R /A 1417 0 R /Parent 979 0 R /Prev 1263 0 R /Next 1435 0 R /First 1423 0 R /Last 1427 0 R /Count -2 >> endobj 1415 0 obj << /Title 1416 0 R /A 1413 0 R /Parent 1371 0 R /Prev 1411 0 R >> endobj 1411 0 obj << /Title 1412 0 R /A 1409 0 R /Parent 1371 0 R /Prev 1407 0 R /Next 1415 0 R >> endobj 1407 0 obj << /Title 1408 0 R /A 1405 0 R /Parent 1371 0 R /Prev 1403 0 R /Next 1411 0 R >> endobj 1403 0 obj << /Title 1404 0 R /A 1401 0 R /Parent 1371 0 R /Prev 1399 0 R /Next 1407 0 R >> endobj 1399 0 obj << /Title 1400 0 R /A 1397 0 R /Parent 1371 0 R /Prev 1395 0 R /Next 1403 0 R >> endobj 1395 0 obj << /Title 1396 0 R /A 1393 0 R /Parent 1371 0 R /Prev 1391 0 R /Next 1399 0 R >> endobj 1391 0 obj << /Title 1392 0 R /A 1389 0 R /Parent 1371 0 R /Prev 1387 0 R /Next 1395 0 R >> endobj 1387 0 obj << /Title 1388 0 R /A 1385 0 R /Parent 1371 0 R /Prev 1383 0 R /Next 1391 0 R >> endobj 1383 0 obj << /Title 1384 0 R /A 1381 0 R /Parent 1371 0 R /Prev 1379 0 R /Next 1387 0 R >> endobj 1379 0 obj << /Title 1380 0 R /A 1377 0 R /Parent 1371 0 R /Prev 1375 0 R /Next 1383 0 R >> endobj 1375 0 obj << /Title 1376 0 R /A 1373 0 R /Parent 1371 0 R /Next 1379 0 R >> endobj 1371 0 obj << /Title 1372 0 R /A 1369 0 R /Parent 1263 0 R /Prev 1271 0 R /First 1375 0 R /Last 1415 0 R /Count -11 >> endobj 1367 0 obj << /Title 1368 0 R /A 1365 0 R /Parent 1271 0 R /Prev 1363 0 R >> endobj 1363 0 obj << /Title 1364 0 R /A 1361 0 R /Parent 1271 0 R /Prev 1359 0 R /Next 1367 0 R >> endobj 1359 0 obj << /Title 1360 0 R /A 1357 0 R /Parent 1271 0 R /Prev 1355 0 R /Next 1363 0 R >> endobj 1355 0 obj << /Title 1356 0 R /A 1353 0 R /Parent 1271 0 R /Prev 1351 0 R /Next 1359 0 R >> endobj 1351 0 obj << /Title 1352 0 R /A 1349 0 R /Parent 1271 0 R /Prev 1347 0 R /Next 1355 0 R >> endobj 1347 0 obj << /Title 1348 0 R /A 1345 0 R /Parent 1271 0 R /Prev 1343 0 R /Next 1351 0 R >> endobj 1343 0 obj << /Title 1344 0 R /A 1341 0 R /Parent 1271 0 R /Prev 1339 0 R /Next 1347 0 R >> endobj 1339 0 obj << /Title 1340 0 R /A 1337 0 R /Parent 1271 0 R /Prev 1335 0 R /Next 1343 0 R >> endobj 1335 0 obj << /Title 1336 0 R /A 1333 0 R /Parent 1271 0 R /Prev 1331 0 R /Next 1339 0 R >> endobj 1331 0 obj << /Title 1332 0 R /A 1329 0 R /Parent 1271 0 R /Prev 1327 0 R /Next 1335 0 R >> endobj 1327 0 obj << /Title 1328 0 R /A 1325 0 R /Parent 1271 0 R /Prev 1323 0 R /Next 1331 0 R >> endobj 1323 0 obj << /Title 1324 0 R /A 1321 0 R /Parent 1271 0 R /Prev 1319 0 R /Next 1327 0 R >> endobj 1319 0 obj << /Title 1320 0 R /A 1317 0 R /Parent 1271 0 R /Prev 1315 0 R /Next 1323 0 R >> endobj 1315 0 obj << /Title 1316 0 R /A 1313 0 R /Parent 1271 0 R /Prev 1311 0 R /Next 1319 0 R >> endobj 1311 0 obj << /Title 1312 0 R /A 1309 0 R /Parent 1271 0 R /Prev 1307 0 R /Next 1315 0 R >> endobj 1307 0 obj << /Title 1308 0 R /A 1305 0 R /Parent 1271 0 R /Prev 1303 0 R /Next 1311 0 R >> endobj 1303 0 obj << /Title 1304 0 R /A 1301 0 R /Parent 1271 0 R /Prev 1299 0 R /Next 1307 0 R >> endobj 1299 0 obj << /Title 1300 0 R /A 1297 0 R /Parent 1271 0 R /Prev 1295 0 R /Next 1303 0 R >> endobj 1295 0 obj << /Title 1296 0 R /A 1293 0 R /Parent 1271 0 R /Prev 1291 0 R /Next 1299 0 R >> endobj 1291 0 obj << /Title 1292 0 R /A 1289 0 R /Parent 1271 0 R /Prev 1287 0 R /Next 1295 0 R >> endobj 1287 0 obj << /Title 1288 0 R /A 1285 0 R /Parent 1271 0 R /Prev 1283 0 R /Next 1291 0 R >> endobj 1283 0 obj << /Title 1284 0 R /A 1281 0 R /Parent 1271 0 R /Prev 1279 0 R /Next 1287 0 R >> endobj 1279 0 obj << /Title 1280 0 R /A 1277 0 R /Parent 1271 0 R /Prev 1275 0 R /Next 1283 0 R >> endobj 1275 0 obj << /Title 1276 0 R /A 1273 0 R /Parent 1271 0 R /Next 1279 0 R >> endobj 1271 0 obj << /Title 1272 0 R /A 1269 0 R /Parent 1263 0 R /Prev 1267 0 R /Next 1371 0 R /First 1275 0 R /Last 1367 0 R /Count -24 >> endobj 1267 0 obj << /Title 1268 0 R /A 1265 0 R /Parent 1263 0 R /Next 1271 0 R >> endobj 1263 0 obj << /Title 1264 0 R /A 1261 0 R /Parent 979 0 R /Prev 1247 0 R /Next 1419 0 R /First 1267 0 R /Last 1371 0 R /Count -3 >> endobj 1259 0 obj << /Title 1260 0 R /A 1257 0 R /Parent 1255 0 R >> endobj 1255 0 obj << /Title 1256 0 R /A 1253 0 R /Parent 1247 0 R /Prev 1251 0 R /First 1259 0 R /Last 1259 0 R /Count -1 >> endobj 1251 0 obj << /Title 1252 0 R /A 1249 0 R /Parent 1247 0 R /Next 1255 0 R >> endobj 1247 0 obj << /Title 1248 0 R /A 1245 0 R /Parent 979 0 R /Prev 1239 0 R /Next 1263 0 R /First 1251 0 R /Last 1255 0 R /Count -2 >> endobj 1243 0 obj << /Title 1244 0 R /A 1241 0 R /Parent 1239 0 R >> endobj 1239 0 obj << /Title 1240 0 R /A 1237 0 R /Parent 979 0 R /Prev 1223 0 R /Next 1247 0 R /First 1243 0 R /Last 1243 0 R /Count -1 >> endobj 1235 0 obj << /Title 1236 0 R /A 1233 0 R /Parent 1231 0 R >> endobj 1231 0 obj << /Title 1232 0 R /A 1229 0 R /Parent 1223 0 R /Prev 1227 0 R /First 1235 0 R /Last 1235 0 R /Count -1 >> endobj 1227 0 obj << /Title 1228 0 R /A 1225 0 R /Parent 1223 0 R /Next 1231 0 R >> endobj 1223 0 obj << /Title 1224 0 R /A 1221 0 R /Parent 979 0 R /Prev 1147 0 R /Next 1239 0 R /First 1227 0 R /Last 1231 0 R /Count -2 >> endobj 1219 0 obj << /Title 1220 0 R /A 1217 0 R /Parent 1195 0 R /Prev 1215 0 R >> endobj 1215 0 obj << /Title 1216 0 R /A 1213 0 R /Parent 1195 0 R /Prev 1211 0 R /Next 1219 0 R >> endobj 1211 0 obj << /Title 1212 0 R /A 1209 0 R /Parent 1195 0 R /Prev 1207 0 R /Next 1215 0 R >> endobj 1207 0 obj << /Title 1208 0 R /A 1205 0 R /Parent 1195 0 R /Prev 1203 0 R /Next 1211 0 R >> endobj 1203 0 obj << /Title 1204 0 R /A 1201 0 R /Parent 1195 0 R /Prev 1199 0 R /Next 1207 0 R >> endobj 1199 0 obj << /Title 1200 0 R /A 1197 0 R /Parent 1195 0 R /Next 1203 0 R >> endobj 1195 0 obj << /Title 1196 0 R /A 1193 0 R /Parent 1147 0 R /Prev 1187 0 R /First 1199 0 R /Last 1219 0 R /Count -6 >> endobj 1191 0 obj << /Title 1192 0 R /A 1189 0 R /Parent 1187 0 R >> endobj 1187 0 obj << /Title 1188 0 R /A 1185 0 R /Parent 1147 0 R /Prev 1151 0 R /Next 1195 0 R /First 1191 0 R /Last 1191 0 R /Count -1 >> endobj 1183 0 obj << /Title 1184 0 R /A 1181 0 R /Parent 1151 0 R /Prev 1179 0 R >> endobj 1179 0 obj << /Title 1180 0 R /A 1177 0 R /Parent 1151 0 R /Prev 1175 0 R /Next 1183 0 R >> endobj 1175 0 obj << /Title 1176 0 R /A 1173 0 R /Parent 1151 0 R /Prev 1171 0 R /Next 1179 0 R >> endobj 1171 0 obj << /Title 1172 0 R /A 1169 0 R /Parent 1151 0 R /Prev 1167 0 R /Next 1175 0 R >> endobj 1167 0 obj << /Title 1168 0 R /A 1165 0 R /Parent 1151 0 R /Prev 1163 0 R /Next 1171 0 R >> endobj 1163 0 obj << /Title 1164 0 R /A 1161 0 R /Parent 1151 0 R /Prev 1159 0 R /Next 1167 0 R >> endobj 1159 0 obj << /Title 1160 0 R /A 1157 0 R /Parent 1151 0 R /Prev 1155 0 R /Next 1163 0 R >> endobj 1155 0 obj << /Title 1156 0 R /A 1153 0 R /Parent 1151 0 R /Next 1159 0 R >> endobj 1151 0 obj << /Title 1152 0 R /A 1149 0 R /Parent 1147 0 R /Next 1187 0 R /First 1155 0 R /Last 1183 0 R /Count -8 >> endobj 1147 0 obj << /Title 1148 0 R /A 1145 0 R /Parent 979 0 R /Prev 1099 0 R /Next 1223 0 R /First 1151 0 R /Last 1195 0 R /Count -3 >> endobj 1143 0 obj << /Title 1144 0 R /A 1141 0 R /Parent 1103 0 R /Prev 1139 0 R >> endobj 1139 0 obj << /Title 1140 0 R /A 1137 0 R /Parent 1103 0 R /Prev 1135 0 R /Next 1143 0 R >> endobj 1135 0 obj << /Title 1136 0 R /A 1133 0 R /Parent 1103 0 R /Prev 1131 0 R /Next 1139 0 R >> endobj 1131 0 obj << /Title 1132 0 R /A 1129 0 R /Parent 1103 0 R /Prev 1127 0 R /Next 1135 0 R >> endobj 1127 0 obj << /Title 1128 0 R /A 1125 0 R /Parent 1103 0 R /Prev 1123 0 R /Next 1131 0 R >> endobj 1123 0 obj << /Title 1124 0 R /A 1121 0 R /Parent 1103 0 R /Prev 1119 0 R /Next 1127 0 R >> endobj 1119 0 obj << /Title 1120 0 R /A 1117 0 R /Parent 1103 0 R /Prev 1115 0 R /Next 1123 0 R >> endobj 1115 0 obj << /Title 1116 0 R /A 1113 0 R /Parent 1103 0 R /Prev 1111 0 R /Next 1119 0 R >> endobj 1111 0 obj << /Title 1112 0 R /A 1109 0 R /Parent 1103 0 R /Prev 1107 0 R /Next 1115 0 R >> endobj 1107 0 obj << /Title 1108 0 R /A 1105 0 R /Parent 1103 0 R /Next 1111 0 R >> endobj 1103 0 obj << /Title 1104 0 R /A 1101 0 R /Parent 1099 0 R /First 1107 0 R /Last 1143 0 R /Count -10 >> endobj 1099 0 obj << /Title 1100 0 R /A 1097 0 R /Parent 979 0 R /Prev 1031 0 R /Next 1147 0 R /First 1103 0 R /Last 1103 0 R /Count -1 >> endobj 1095 0 obj << /Title 1096 0 R /A 1093 0 R /Parent 1079 0 R /Prev 1091 0 R >> endobj 1091 0 obj << /Title 1092 0 R /A 1089 0 R /Parent 1079 0 R /Prev 1087 0 R /Next 1095 0 R >> endobj 1087 0 obj << /Title 1088 0 R /A 1085 0 R /Parent 1079 0 R /Prev 1083 0 R /Next 1091 0 R >> endobj 1083 0 obj << /Title 1084 0 R /A 1081 0 R /Parent 1079 0 R /Next 1087 0 R >> endobj 1079 0 obj << /Title 1080 0 R /A 1077 0 R /Parent 1031 0 R /Prev 1067 0 R /First 1083 0 R /Last 1095 0 R /Count -4 >> endobj 1075 0 obj << /Title 1076 0 R /A 1073 0 R /Parent 1067 0 R /Prev 1071 0 R >> endobj 1071 0 obj << /Title 1072 0 R /A 1069 0 R /Parent 1067 0 R /Next 1075 0 R >> endobj 1067 0 obj << /Title 1068 0 R /A 1065 0 R /Parent 1031 0 R /Prev 1039 0 R /Next 1079 0 R /First 1071 0 R /Last 1075 0 R /Count -2 >> endobj 1063 0 obj << /Title 1064 0 R /A 1061 0 R /Parent 1039 0 R /Prev 1059 0 R >> endobj 1059 0 obj << /Title 1060 0 R /A 1057 0 R /Parent 1039 0 R /Prev 1055 0 R /Next 1063 0 R >> endobj 1055 0 obj << /Title 1056 0 R /A 1053 0 R /Parent 1039 0 R /Prev 1051 0 R /Next 1059 0 R >> endobj 1051 0 obj << /Title 1052 0 R /A 1049 0 R /Parent 1039 0 R /Prev 1047 0 R /Next 1055 0 R >> endobj 1047 0 obj << /Title 1048 0 R /A 1045 0 R /Parent 1039 0 R /Prev 1043 0 R /Next 1051 0 R >> endobj 1043 0 obj << /Title 1044 0 R /A 1041 0 R /Parent 1039 0 R /Next 1047 0 R >> endobj 1039 0 obj << /Title 1040 0 R /A 1037 0 R /Parent 1031 0 R /Prev 1035 0 R /Next 1067 0 R /First 1043 0 R /Last 1063 0 R /Count -6 >> endobj 1035 0 obj << /Title 1036 0 R /A 1033 0 R /Parent 1031 0 R /Next 1039 0 R >> endobj 1031 0 obj << /Title 1032 0 R /A 1029 0 R /Parent 979 0 R /Prev 991 0 R /Next 1099 0 R /First 1035 0 R /Last 1079 0 R /Count -4 >> endobj 1027 0 obj << /Title 1028 0 R /A 1025 0 R /Parent 1019 0 R /Prev 1023 0 R >> endobj 1023 0 obj << /Title 1024 0 R /A 1021 0 R /Parent 1019 0 R /Next 1027 0 R >> endobj 1019 0 obj << /Title 1020 0 R /A 1017 0 R /Parent 991 0 R /Prev 999 0 R /First 1023 0 R /Last 1027 0 R /Count -2 >> endobj 1015 0 obj << /Title 1016 0 R /A 1013 0 R /Parent 999 0 R /Prev 1011 0 R >> endobj 1011 0 obj << /Title 1012 0 R /A 1009 0 R /Parent 999 0 R /Prev 1007 0 R /Next 1015 0 R >> endobj 1007 0 obj << /Title 1008 0 R /A 1005 0 R /Parent 999 0 R /Prev 1003 0 R /Next 1011 0 R >> endobj 1003 0 obj << /Title 1004 0 R /A 1001 0 R /Parent 999 0 R /Next 1007 0 R >> endobj 999 0 obj << /Title 1000 0 R /A 997 0 R /Parent 991 0 R /Prev 995 0 R /Next 1019 0 R /First 1003 0 R /Last 1015 0 R /Count -4 >> endobj 995 0 obj << /Title 996 0 R /A 993 0 R /Parent 991 0 R /Next 999 0 R >> endobj 991 0 obj << /Title 992 0 R /A 989 0 R /Parent 979 0 R /Prev 983 0 R /Next 1031 0 R /First 995 0 R /Last 1019 0 R /Count -3 >> endobj 987 0 obj << /Title 988 0 R /A 985 0 R /Parent 983 0 R >> endobj 983 0 obj << /Title 984 0 R /A 981 0 R /Parent 979 0 R /Next 991 0 R /First 987 0 R /Last 987 0 R /Count -1 >> endobj 979 0 obj << /Title 980 0 R /A 977 0 R /Parent 4039 0 R /Prev 579 0 R /First 983 0 R /Last 1543 0 R /Count -14 >> endobj 975 0 obj << /Title 976 0 R /A 973 0 R /Parent 955 0 R /Prev 971 0 R >> endobj 971 0 obj << /Title 972 0 R /A 969 0 R /Parent 955 0 R /Prev 967 0 R /Next 975 0 R >> endobj 967 0 obj << /Title 968 0 R /A 965 0 R /Parent 955 0 R /Prev 963 0 R /Next 971 0 R >> endobj 963 0 obj << /Title 964 0 R /A 961 0 R /Parent 955 0 R /Prev 959 0 R /Next 967 0 R >> endobj 959 0 obj << /Title 960 0 R /A 957 0 R /Parent 955 0 R /Next 963 0 R >> endobj 955 0 obj << /Title 956 0 R /A 953 0 R /Parent 947 0 R /Prev 951 0 R /First 959 0 R /Last 975 0 R /Count -5 >> endobj 951 0 obj << /Title 952 0 R /A 949 0 R /Parent 947 0 R /Next 955 0 R >> endobj 947 0 obj << /Title 948 0 R /A 945 0 R /Parent 579 0 R /Prev 919 0 R /First 951 0 R /Last 955 0 R /Count -2 >> endobj 943 0 obj << /Title 944 0 R /A 941 0 R /Parent 923 0 R /Prev 939 0 R >> endobj 939 0 obj << /Title 940 0 R /A 937 0 R /Parent 923 0 R /Prev 935 0 R /Next 943 0 R >> endobj 935 0 obj << /Title 936 0 R /A 933 0 R /Parent 923 0 R /Prev 931 0 R /Next 939 0 R >> endobj 931 0 obj << /Title 932 0 R /A 929 0 R /Parent 923 0 R /Prev 927 0 R /Next 935 0 R >> endobj 927 0 obj << /Title 928 0 R /A 925 0 R /Parent 923 0 R /Next 931 0 R >> endobj 923 0 obj << /Title 924 0 R /A 921 0 R /Parent 919 0 R /First 927 0 R /Last 943 0 R /Count -5 >> endobj 919 0 obj << /Title 920 0 R /A 917 0 R /Parent 579 0 R /Prev 887 0 R /Next 947 0 R /First 923 0 R /Last 923 0 R /Count -1 >> endobj 915 0 obj << /Title 916 0 R /A 913 0 R /Parent 895 0 R /Prev 911 0 R >> endobj 911 0 obj << /Title 912 0 R /A 909 0 R /Parent 895 0 R /Prev 907 0 R /Next 915 0 R >> endobj 907 0 obj << /Title 908 0 R /A 905 0 R /Parent 895 0 R /Prev 903 0 R /Next 911 0 R >> endobj 903 0 obj << /Title 904 0 R /A 901 0 R /Parent 895 0 R /Prev 899 0 R /Next 907 0 R >> endobj 899 0 obj << /Title 900 0 R /A 897 0 R /Parent 895 0 R /Next 903 0 R >> endobj 895 0 obj << /Title 896 0 R /A 893 0 R /Parent 887 0 R /Prev 891 0 R /First 899 0 R /Last 915 0 R /Count -5 >> endobj 891 0 obj << /Title 892 0 R /A 889 0 R /Parent 887 0 R /Next 895 0 R >> endobj 887 0 obj << /Title 888 0 R /A 885 0 R /Parent 579 0 R /Prev 859 0 R /Next 919 0 R /First 891 0 R /Last 895 0 R /Count -2 >> endobj 883 0 obj << /Title 884 0 R /A 881 0 R /Parent 867 0 R /Prev 879 0 R >> endobj 879 0 obj << /Title 880 0 R /A 877 0 R /Parent 867 0 R /Prev 875 0 R /Next 883 0 R >> endobj 875 0 obj << /Title 876 0 R /A 873 0 R /Parent 867 0 R /Prev 871 0 R /Next 879 0 R >> endobj 871 0 obj << /Title 872 0 R /A 869 0 R /Parent 867 0 R /Next 875 0 R >> endobj 867 0 obj << /Title 868 0 R /A 865 0 R /Parent 859 0 R /Prev 863 0 R /First 871 0 R /Last 883 0 R /Count -4 >> endobj 863 0 obj << /Title 864 0 R /A 861 0 R /Parent 859 0 R /Next 867 0 R >> endobj 859 0 obj << /Title 860 0 R /A 857 0 R /Parent 579 0 R /Prev 835 0 R /Next 887 0 R /First 863 0 R /Last 867 0 R /Count -2 >> endobj 855 0 obj << /Title 856 0 R /A 853 0 R /Parent 839 0 R /Prev 851 0 R >> endobj 851 0 obj << /Title 852 0 R /A 849 0 R /Parent 839 0 R /Prev 847 0 R /Next 855 0 R >> endobj 847 0 obj << /Title 848 0 R /A 845 0 R /Parent 839 0 R /Prev 843 0 R /Next 851 0 R >> endobj 843 0 obj << /Title 844 0 R /A 841 0 R /Parent 839 0 R /Next 847 0 R >> endobj 839 0 obj << /Title 840 0 R /A 837 0 R /Parent 835 0 R /First 843 0 R /Last 855 0 R /Count -4 >> endobj 835 0 obj << /Title 836 0 R /A 833 0 R /Parent 579 0 R /Prev 795 0 R /Next 859 0 R /First 839 0 R /Last 839 0 R /Count -1 >> endobj 831 0 obj << /Title 832 0 R /A 829 0 R /Parent 803 0 R /Prev 827 0 R >> endobj 827 0 obj << /Title 828 0 R /A 825 0 R /Parent 803 0 R /Prev 823 0 R /Next 831 0 R >> endobj 823 0 obj << /Title 824 0 R /A 821 0 R /Parent 803 0 R /Prev 819 0 R /Next 827 0 R >> endobj 819 0 obj << /Title 820 0 R /A 817 0 R /Parent 803 0 R /Prev 815 0 R /Next 823 0 R >> endobj 815 0 obj << /Title 816 0 R /A 813 0 R /Parent 803 0 R /Prev 811 0 R /Next 819 0 R >> endobj 811 0 obj << /Title 812 0 R /A 809 0 R /Parent 803 0 R /Prev 807 0 R /Next 815 0 R >> endobj 807 0 obj << /Title 808 0 R /A 805 0 R /Parent 803 0 R /Next 811 0 R >> endobj 803 0 obj << /Title 804 0 R /A 801 0 R /Parent 795 0 R /Prev 799 0 R /First 807 0 R /Last 831 0 R /Count -7 >> endobj 799 0 obj << /Title 800 0 R /A 797 0 R /Parent 795 0 R /Next 803 0 R >> endobj 795 0 obj << /Title 796 0 R /A 793 0 R /Parent 579 0 R /Prev 779 0 R /Next 835 0 R /First 799 0 R /Last 803 0 R /Count -2 >> endobj 791 0 obj << /Title 792 0 R /A 789 0 R /Parent 783 0 R /Prev 787 0 R >> endobj 787 0 obj << /Title 788 0 R /A 785 0 R /Parent 783 0 R /Next 791 0 R >> endobj 783 0 obj << /Title 784 0 R /A 781 0 R /Parent 779 0 R /First 787 0 R /Last 791 0 R /Count -2 >> endobj 779 0 obj << /Title 780 0 R /A 777 0 R /Parent 579 0 R /Prev 743 0 R /Next 795 0 R /First 783 0 R /Last 783 0 R /Count -1 >> endobj 775 0 obj << /Title 776 0 R /A 773 0 R /Parent 747 0 R /Prev 771 0 R >> endobj 771 0 obj << /Title 772 0 R /A 769 0 R /Parent 747 0 R /Prev 767 0 R /Next 775 0 R >> endobj 767 0 obj << /Title 768 0 R /A 765 0 R /Parent 747 0 R /Prev 763 0 R /Next 771 0 R >> endobj 763 0 obj << /Title 764 0 R /A 761 0 R /Parent 747 0 R /Prev 759 0 R /Next 767 0 R >> endobj 759 0 obj << /Title 760 0 R /A 757 0 R /Parent 747 0 R /Prev 755 0 R /Next 763 0 R >> endobj 755 0 obj << /Title 756 0 R /A 753 0 R /Parent 747 0 R /Prev 751 0 R /Next 759 0 R >> endobj 751 0 obj << /Title 752 0 R /A 749 0 R /Parent 747 0 R /Next 755 0 R >> endobj 747 0 obj << /Title 748 0 R /A 745 0 R /Parent 743 0 R /First 751 0 R /Last 775 0 R /Count -7 >> endobj 743 0 obj << /Title 744 0 R /A 741 0 R /Parent 579 0 R /Prev 727 0 R /Next 779 0 R /First 747 0 R /Last 747 0 R /Count -1 >> endobj 739 0 obj << /Title 740 0 R /A 737 0 R /Parent 731 0 R /Prev 735 0 R >> endobj 735 0 obj << /Title 736 0 R /A 733 0 R /Parent 731 0 R /Next 739 0 R >> endobj 731 0 obj << /Title 732 0 R /A 729 0 R /Parent 727 0 R /First 735 0 R /Last 739 0 R /Count -2 >> endobj 727 0 obj << /Title 728 0 R /A 725 0 R /Parent 579 0 R /Prev 707 0 R /Next 743 0 R /First 731 0 R /Last 731 0 R /Count -1 >> endobj 723 0 obj << /Title 724 0 R /A 721 0 R /Parent 715 0 R /Prev 719 0 R >> endobj 719 0 obj << /Title 720 0 R /A 717 0 R /Parent 715 0 R /Next 723 0 R >> endobj 715 0 obj << /Title 716 0 R /A 713 0 R /Parent 707 0 R /Prev 711 0 R /First 719 0 R /Last 723 0 R /Count -2 >> endobj 711 0 obj << /Title 712 0 R /A 709 0 R /Parent 707 0 R /Next 715 0 R >> endobj 707 0 obj << /Title 708 0 R /A 705 0 R /Parent 579 0 R /Prev 675 0 R /Next 727 0 R /First 711 0 R /Last 715 0 R /Count -2 >> endobj 703 0 obj << /Title 704 0 R /A 701 0 R /Parent 683 0 R /Prev 699 0 R >> endobj 699 0 obj << /Title 700 0 R /A 697 0 R /Parent 683 0 R /Prev 695 0 R /Next 703 0 R >> endobj 695 0 obj << /Title 696 0 R /A 693 0 R /Parent 683 0 R /Prev 691 0 R /Next 699 0 R >> endobj 691 0 obj << /Title 692 0 R /A 689 0 R /Parent 683 0 R /Prev 687 0 R /Next 695 0 R >> endobj 687 0 obj << /Title 688 0 R /A 685 0 R /Parent 683 0 R /Next 691 0 R >> endobj 683 0 obj << /Title 684 0 R /A 681 0 R /Parent 675 0 R /Prev 679 0 R /First 687 0 R /Last 703 0 R /Count -5 >> endobj 679 0 obj << /Title 680 0 R /A 677 0 R /Parent 675 0 R /Next 683 0 R >> endobj 675 0 obj << /Title 676 0 R /A 673 0 R /Parent 579 0 R /Prev 643 0 R /Next 707 0 R /First 679 0 R /Last 683 0 R /Count -2 >> endobj 671 0 obj << /Title 672 0 R /A 669 0 R /Parent 651 0 R /Prev 667 0 R >> endobj 667 0 obj << /Title 668 0 R /A 665 0 R /Parent 651 0 R /Prev 663 0 R /Next 671 0 R >> endobj 663 0 obj << /Title 664 0 R /A 661 0 R /Parent 651 0 R /Prev 659 0 R /Next 667 0 R >> endobj 659 0 obj << /Title 660 0 R /A 657 0 R /Parent 651 0 R /Prev 655 0 R /Next 663 0 R >> endobj 655 0 obj << /Title 656 0 R /A 653 0 R /Parent 651 0 R /Next 659 0 R >> endobj 651 0 obj << /Title 652 0 R /A 649 0 R /Parent 643 0 R /Prev 647 0 R /First 655 0 R /Last 671 0 R /Count -5 >> endobj 647 0 obj << /Title 648 0 R /A 645 0 R /Parent 643 0 R /Next 651 0 R >> endobj 643 0 obj << /Title 644 0 R /A 641 0 R /Parent 579 0 R /Prev 619 0 R /Next 675 0 R /First 647 0 R /Last 651 0 R /Count -2 >> endobj 639 0 obj << /Title 640 0 R /A 637 0 R /Parent 623 0 R /Prev 635 0 R >> endobj 635 0 obj << /Title 636 0 R /A 633 0 R /Parent 623 0 R /Prev 631 0 R /Next 639 0 R >> endobj 631 0 obj << /Title 632 0 R /A 629 0 R /Parent 623 0 R /Prev 627 0 R /Next 635 0 R >> endobj 627 0 obj << /Title 628 0 R /A 625 0 R /Parent 623 0 R /Next 631 0 R >> endobj 623 0 obj << /Title 624 0 R /A 621 0 R /Parent 619 0 R /First 627 0 R /Last 639 0 R /Count -4 >> endobj 619 0 obj << /Title 620 0 R /A 617 0 R /Parent 579 0 R /Prev 583 0 R /Next 643 0 R /First 623 0 R /Last 623 0 R /Count -1 >> endobj 615 0 obj << /Title 616 0 R /A 613 0 R /Parent 591 0 R /Prev 611 0 R >> endobj 611 0 obj << /Title 612 0 R /A 609 0 R /Parent 591 0 R /Prev 607 0 R /Next 615 0 R >> endobj 607 0 obj << /Title 608 0 R /A 605 0 R /Parent 591 0 R /Prev 603 0 R /Next 611 0 R >> endobj 603 0 obj << /Title 604 0 R /A 601 0 R /Parent 591 0 R /Prev 599 0 R /Next 607 0 R >> endobj 599 0 obj << /Title 600 0 R /A 597 0 R /Parent 591 0 R /Prev 595 0 R /Next 603 0 R >> endobj 595 0 obj << /Title 596 0 R /A 593 0 R /Parent 591 0 R /Next 599 0 R >> endobj 591 0 obj << /Title 592 0 R /A 589 0 R /Parent 583 0 R /Prev 587 0 R /First 595 0 R /Last 615 0 R /Count -6 >> endobj 587 0 obj << /Title 588 0 R /A 585 0 R /Parent 583 0 R /Next 591 0 R >> endobj 583 0 obj << /Title 584 0 R /A 581 0 R /Parent 579 0 R /Next 619 0 R /First 587 0 R /Last 591 0 R /Count -2 >> endobj 579 0 obj << /Title 580 0 R /A 577 0 R /Parent 4039 0 R /Prev 35 0 R /Next 979 0 R /First 583 0 R /Last 947 0 R /Count -14 >> endobj 575 0 obj << /Title 576 0 R /A 573 0 R /Parent 571 0 R >> endobj 571 0 obj << /Title 572 0 R /A 569 0 R /Parent 559 0 R /Prev 563 0 R /First 575 0 R /Last 575 0 R /Count -1 >> endobj 567 0 obj << /Title 568 0 R /A 565 0 R /Parent 563 0 R >> endobj 563 0 obj << /Title 564 0 R /A 561 0 R /Parent 559 0 R /Next 571 0 R /First 567 0 R /Last 567 0 R /Count -1 >> endobj 559 0 obj << /Title 560 0 R /A 557 0 R /Parent 35 0 R /Prev 543 0 R /First 563 0 R /Last 571 0 R /Count -2 >> endobj 555 0 obj << /Title 556 0 R /A 553 0 R /Parent 547 0 R /Prev 551 0 R >> endobj 551 0 obj << /Title 552 0 R /A 549 0 R /Parent 547 0 R /Next 555 0 R >> endobj 547 0 obj << /Title 548 0 R /A 545 0 R /Parent 543 0 R /First 551 0 R /Last 555 0 R /Count -2 >> endobj 543 0 obj << /Title 544 0 R /A 541 0 R /Parent 35 0 R /Prev 435 0 R /Next 559 0 R /First 547 0 R /Last 547 0 R /Count -1 >> endobj 539 0 obj << /Title 540 0 R /A 537 0 R /Parent 439 0 R /Prev 535 0 R >> endobj 535 0 obj << /Title 536 0 R /A 533 0 R /Parent 439 0 R /Prev 531 0 R /Next 539 0 R >> endobj 531 0 obj << /Title 532 0 R /A 529 0 R /Parent 439 0 R /Prev 527 0 R /Next 535 0 R >> endobj 527 0 obj << /Title 528 0 R /A 525 0 R /Parent 439 0 R /Prev 523 0 R /Next 531 0 R >> endobj 523 0 obj << /Title 524 0 R /A 521 0 R /Parent 439 0 R /Prev 519 0 R /Next 527 0 R >> endobj 519 0 obj << /Title 520 0 R /A 517 0 R /Parent 439 0 R /Prev 515 0 R /Next 523 0 R >> endobj 515 0 obj << /Title 516 0 R /A 513 0 R /Parent 439 0 R /Prev 511 0 R /Next 519 0 R >> endobj 511 0 obj << /Title 512 0 R /A 509 0 R /Parent 439 0 R /Prev 507 0 R /Next 515 0 R >> endobj 507 0 obj << /Title 508 0 R /A 505 0 R /Parent 439 0 R /Prev 503 0 R /Next 511 0 R >> endobj 503 0 obj << /Title 504 0 R /A 501 0 R /Parent 439 0 R /Prev 499 0 R /Next 507 0 R >> endobj 499 0 obj << /Title 500 0 R /A 497 0 R /Parent 439 0 R /Prev 495 0 R /Next 503 0 R >> endobj 495 0 obj << /Title 496 0 R /A 493 0 R /Parent 439 0 R /Prev 491 0 R /Next 499 0 R >> endobj 491 0 obj << /Title 492 0 R /A 489 0 R /Parent 439 0 R /Prev 487 0 R /Next 495 0 R >> endobj 487 0 obj << /Title 488 0 R /A 485 0 R /Parent 439 0 R /Prev 483 0 R /Next 491 0 R >> endobj 483 0 obj << /Title 484 0 R /A 481 0 R /Parent 439 0 R /Prev 479 0 R /Next 487 0 R >> endobj 479 0 obj << /Title 480 0 R /A 477 0 R /Parent 439 0 R /Prev 475 0 R /Next 483 0 R >> endobj 475 0 obj << /Title 476 0 R /A 473 0 R /Parent 439 0 R /Prev 471 0 R /Next 479 0 R >> endobj 471 0 obj << /Title 472 0 R /A 469 0 R /Parent 439 0 R /Prev 467 0 R /Next 475 0 R >> endobj 467 0 obj << /Title 468 0 R /A 465 0 R /Parent 439 0 R /Prev 463 0 R /Next 471 0 R >> endobj 463 0 obj << /Title 464 0 R /A 461 0 R /Parent 439 0 R /Prev 459 0 R /Next 467 0 R >> endobj 459 0 obj << /Title 460 0 R /A 457 0 R /Parent 439 0 R /Prev 455 0 R /Next 463 0 R >> endobj 455 0 obj << /Title 456 0 R /A 453 0 R /Parent 439 0 R /Prev 451 0 R /Next 459 0 R >> endobj 451 0 obj << /Title 452 0 R /A 449 0 R /Parent 439 0 R /Prev 447 0 R /Next 455 0 R >> endobj 447 0 obj << /Title 448 0 R /A 445 0 R /Parent 439 0 R /Prev 443 0 R /Next 451 0 R >> endobj 443 0 obj << /Title 444 0 R /A 441 0 R /Parent 439 0 R /Next 447 0 R >> endobj 439 0 obj << /Title 440 0 R /A 437 0 R /Parent 435 0 R /First 443 0 R /Last 539 0 R /Count -25 >> endobj 435 0 obj << /Title 436 0 R /A 433 0 R /Parent 35 0 R /Prev 339 0 R /Next 543 0 R /First 439 0 R /Last 439 0 R /Count -1 >> endobj 431 0 obj << /Title 432 0 R /A 429 0 R /Parent 343 0 R /Prev 427 0 R >> endobj 427 0 obj << /Title 428 0 R /A 425 0 R /Parent 343 0 R /Prev 423 0 R /Next 431 0 R >> endobj 423 0 obj << /Title 424 0 R /A 421 0 R /Parent 343 0 R /Prev 419 0 R /Next 427 0 R >> endobj 419 0 obj << /Title 420 0 R /A 417 0 R /Parent 343 0 R /Prev 415 0 R /Next 423 0 R >> endobj 415 0 obj << /Title 416 0 R /A 413 0 R /Parent 343 0 R /Prev 411 0 R /Next 419 0 R >> endobj 411 0 obj << /Title 412 0 R /A 409 0 R /Parent 343 0 R /Prev 407 0 R /Next 415 0 R >> endobj 407 0 obj << /Title 408 0 R /A 405 0 R /Parent 343 0 R /Prev 403 0 R /Next 411 0 R >> endobj 403 0 obj << /Title 404 0 R /A 401 0 R /Parent 343 0 R /Prev 399 0 R /Next 407 0 R >> endobj 399 0 obj << /Title 400 0 R /A 397 0 R /Parent 343 0 R /Prev 395 0 R /Next 403 0 R >> endobj 395 0 obj << /Title 396 0 R /A 393 0 R /Parent 343 0 R /Prev 391 0 R /Next 399 0 R >> endobj 391 0 obj << /Title 392 0 R /A 389 0 R /Parent 343 0 R /Prev 387 0 R /Next 395 0 R >> endobj 387 0 obj << /Title 388 0 R /A 385 0 R /Parent 343 0 R /Prev 383 0 R /Next 391 0 R >> endobj 383 0 obj << /Title 384 0 R /A 381 0 R /Parent 343 0 R /Prev 379 0 R /Next 387 0 R >> endobj 379 0 obj << /Title 380 0 R /A 377 0 R /Parent 343 0 R /Prev 375 0 R /Next 383 0 R >> endobj 375 0 obj << /Title 376 0 R /A 373 0 R /Parent 343 0 R /Prev 371 0 R /Next 379 0 R >> endobj 371 0 obj << /Title 372 0 R /A 369 0 R /Parent 343 0 R /Prev 367 0 R /Next 375 0 R >> endobj 367 0 obj << /Title 368 0 R /A 365 0 R /Parent 343 0 R /Prev 363 0 R /Next 371 0 R >> endobj 363 0 obj << /Title 364 0 R /A 361 0 R /Parent 343 0 R /Prev 359 0 R /Next 367 0 R >> endobj 359 0 obj << /Title 360 0 R /A 357 0 R /Parent 343 0 R /Prev 355 0 R /Next 363 0 R >> endobj 355 0 obj << /Title 356 0 R /A 353 0 R /Parent 343 0 R /Prev 351 0 R /Next 359 0 R >> endobj 351 0 obj << /Title 352 0 R /A 349 0 R /Parent 343 0 R /Prev 347 0 R /Next 355 0 R >> endobj 347 0 obj << /Title 348 0 R /A 345 0 R /Parent 343 0 R /Next 351 0 R >> endobj 343 0 obj << /Title 344 0 R /A 341 0 R /Parent 339 0 R /First 347 0 R /Last 431 0 R /Count -22 >> endobj 339 0 obj << /Title 340 0 R /A 337 0 R /Parent 35 0 R /Prev 319 0 R /Next 435 0 R /First 343 0 R /Last 343 0 R /Count -1 >> endobj 335 0 obj << /Title 336 0 R /A 333 0 R /Parent 323 0 R /Prev 331 0 R >> endobj 331 0 obj << /Title 332 0 R /A 329 0 R /Parent 323 0 R /Prev 327 0 R /Next 335 0 R >> endobj 327 0 obj << /Title 328 0 R /A 325 0 R /Parent 323 0 R /Next 331 0 R >> endobj 323 0 obj << /Title 324 0 R /A 321 0 R /Parent 319 0 R /First 327 0 R /Last 335 0 R /Count -3 >> endobj 319 0 obj << /Title 320 0 R /A 317 0 R /Parent 35 0 R /Prev 203 0 R /Next 339 0 R /First 323 0 R /Last 323 0 R /Count -1 >> endobj 315 0 obj << /Title 316 0 R /A 313 0 R /Parent 227 0 R /Prev 311 0 R >> endobj 311 0 obj << /Title 312 0 R /A 309 0 R /Parent 227 0 R /Prev 307 0 R /Next 315 0 R >> endobj 307 0 obj << /Title 308 0 R /A 305 0 R /Parent 227 0 R /Prev 303 0 R /Next 311 0 R >> endobj 303 0 obj << /Title 304 0 R /A 301 0 R /Parent 227 0 R /Prev 299 0 R /Next 307 0 R >> endobj 299 0 obj << /Title 300 0 R /A 297 0 R /Parent 227 0 R /Prev 295 0 R /Next 303 0 R >> endobj 295 0 obj << /Title 296 0 R /A 293 0 R /Parent 227 0 R /Prev 291 0 R /Next 299 0 R >> endobj 291 0 obj << /Title 292 0 R /A 289 0 R /Parent 227 0 R /Prev 287 0 R /Next 295 0 R >> endobj 287 0 obj << /Title 288 0 R /A 285 0 R /Parent 227 0 R /Prev 283 0 R /Next 291 0 R >> endobj 283 0 obj << /Title 284 0 R /A 281 0 R /Parent 227 0 R /Prev 279 0 R /Next 287 0 R >> endobj 279 0 obj << /Title 280 0 R /A 277 0 R /Parent 227 0 R /Prev 275 0 R /Next 283 0 R >> endobj 275 0 obj << /Title 276 0 R /A 273 0 R /Parent 227 0 R /Prev 271 0 R /Next 279 0 R >> endobj 271 0 obj << /Title 272 0 R /A 269 0 R /Parent 227 0 R /Prev 267 0 R /Next 275 0 R >> endobj 267 0 obj << /Title 268 0 R /A 265 0 R /Parent 227 0 R /Prev 263 0 R /Next 271 0 R >> endobj 263 0 obj << /Title 264 0 R /A 261 0 R /Parent 227 0 R /Prev 259 0 R /Next 267 0 R >> endobj 259 0 obj << /Title 260 0 R /A 257 0 R /Parent 227 0 R /Prev 255 0 R /Next 263 0 R >> endobj 255 0 obj << /Title 256 0 R /A 253 0 R /Parent 227 0 R /Prev 251 0 R /Next 259 0 R >> endobj 251 0 obj << /Title 252 0 R /A 249 0 R /Parent 227 0 R /Prev 247 0 R /Next 255 0 R >> endobj 247 0 obj << /Title 248 0 R /A 245 0 R /Parent 227 0 R /Prev 243 0 R /Next 251 0 R >> endobj 243 0 obj << /Title 244 0 R /A 241 0 R /Parent 227 0 R /Prev 239 0 R /Next 247 0 R >> endobj 239 0 obj << /Title 240 0 R /A 237 0 R /Parent 227 0 R /Prev 235 0 R /Next 243 0 R >> endobj 235 0 obj << /Title 236 0 R /A 233 0 R /Parent 227 0 R /Prev 231 0 R /Next 239 0 R >> endobj 231 0 obj << /Title 232 0 R /A 229 0 R /Parent 227 0 R /Next 235 0 R >> endobj 227 0 obj << /Title 228 0 R /A 225 0 R /Parent 203 0 R /Prev 207 0 R /First 231 0 R /Last 315 0 R /Count -22 >> endobj 223 0 obj << /Title 224 0 R /A 221 0 R /Parent 207 0 R /Prev 219 0 R >> endobj 219 0 obj << /Title 220 0 R /A 217 0 R /Parent 207 0 R /Prev 215 0 R /Next 223 0 R >> endobj 215 0 obj << /Title 216 0 R /A 213 0 R /Parent 207 0 R /Prev 211 0 R /Next 219 0 R >> endobj 211 0 obj << /Title 212 0 R /A 209 0 R /Parent 207 0 R /Next 215 0 R >> endobj 207 0 obj << /Title 208 0 R /A 205 0 R /Parent 203 0 R /Next 227 0 R /First 211 0 R /Last 223 0 R /Count -4 >> endobj 203 0 obj << /Title 204 0 R /A 201 0 R /Parent 35 0 R /Prev 179 0 R /Next 319 0 R /First 207 0 R /Last 227 0 R /Count -2 >> endobj 199 0 obj << /Title 200 0 R /A 197 0 R /Parent 183 0 R /Prev 195 0 R >> endobj 195 0 obj << /Title 196 0 R /A 193 0 R /Parent 183 0 R /Prev 191 0 R /Next 199 0 R >> endobj 191 0 obj << /Title 192 0 R /A 189 0 R /Parent 183 0 R /Prev 187 0 R /Next 195 0 R >> endobj 187 0 obj << /Title 188 0 R /A 185 0 R /Parent 183 0 R /Next 191 0 R >> endobj 183 0 obj << /Title 184 0 R /A 181 0 R /Parent 179 0 R /First 187 0 R /Last 199 0 R /Count -4 >> endobj 179 0 obj << /Title 180 0 R /A 177 0 R /Parent 35 0 R /Prev 159 0 R /Next 203 0 R /First 183 0 R /Last 183 0 R /Count -1 >> endobj 175 0 obj << /Title 176 0 R /A 173 0 R /Parent 163 0 R /Prev 171 0 R >> endobj 171 0 obj << /Title 172 0 R /A 169 0 R /Parent 163 0 R /Prev 167 0 R /Next 175 0 R >> endobj 167 0 obj << /Title 168 0 R /A 165 0 R /Parent 163 0 R /Next 171 0 R >> endobj 163 0 obj << /Title 164 0 R /A 161 0 R /Parent 159 0 R /First 167 0 R /Last 175 0 R /Count -3 >> endobj 159 0 obj << /Title 160 0 R /A 157 0 R /Parent 35 0 R /Prev 143 0 R /Next 179 0 R /First 163 0 R /Last 163 0 R /Count -1 >> endobj 155 0 obj << /Title 156 0 R /A 153 0 R /Parent 147 0 R /Prev 151 0 R >> endobj 151 0 obj << /Title 152 0 R /A 149 0 R /Parent 147 0 R /Next 155 0 R >> endobj 147 0 obj << /Title 148 0 R /A 145 0 R /Parent 143 0 R /First 151 0 R /Last 155 0 R /Count -2 >> endobj 143 0 obj << /Title 144 0 R /A 141 0 R /Parent 35 0 R /Prev 119 0 R /Next 159 0 R /First 147 0 R /Last 147 0 R /Count -1 >> endobj 139 0 obj << /Title 140 0 R /A 137 0 R /Parent 123 0 R /Prev 135 0 R >> endobj 135 0 obj << /Title 136 0 R /A 133 0 R /Parent 123 0 R /Prev 131 0 R /Next 139 0 R >> endobj 131 0 obj << /Title 132 0 R /A 129 0 R /Parent 123 0 R /Prev 127 0 R /Next 135 0 R >> endobj 127 0 obj << /Title 128 0 R /A 125 0 R /Parent 123 0 R /Next 131 0 R >> endobj 123 0 obj << /Title 124 0 R /A 121 0 R /Parent 119 0 R /First 127 0 R /Last 139 0 R /Count -4 >> endobj 119 0 obj << /Title 120 0 R /A 117 0 R /Parent 35 0 R /Prev 95 0 R /Next 143 0 R /First 123 0 R /Last 123 0 R /Count -1 >> endobj 115 0 obj << /Title 116 0 R /A 113 0 R /Parent 99 0 R /Prev 111 0 R >> endobj 111 0 obj << /Title 112 0 R /A 109 0 R /Parent 99 0 R /Prev 107 0 R /Next 115 0 R >> endobj 107 0 obj << /Title 108 0 R /A 105 0 R /Parent 99 0 R /Prev 103 0 R /Next 111 0 R >> endobj 103 0 obj << /Title 104 0 R /A 101 0 R /Parent 99 0 R /Next 107 0 R >> endobj 99 0 obj << /Title 100 0 R /A 97 0 R /Parent 95 0 R /First 103 0 R /Last 115 0 R /Count -4 >> endobj 95 0 obj << /Title 96 0 R /A 93 0 R /Parent 35 0 R /Prev 71 0 R /Next 119 0 R /First 99 0 R /Last 99 0 R /Count -1 >> endobj 91 0 obj << /Title 92 0 R /A 89 0 R /Parent 75 0 R /Prev 87 0 R >> endobj 87 0 obj << /Title 88 0 R /A 85 0 R /Parent 75 0 R /Prev 83 0 R /Next 91 0 R >> endobj 83 0 obj << /Title 84 0 R /A 81 0 R /Parent 75 0 R /Prev 79 0 R /Next 87 0 R >> endobj 79 0 obj << /Title 80 0 R /A 77 0 R /Parent 75 0 R /Next 83 0 R >> endobj 75 0 obj << /Title 76 0 R /A 73 0 R /Parent 71 0 R /First 79 0 R /Last 91 0 R /Count -4 >> endobj 71 0 obj << /Title 72 0 R /A 69 0 R /Parent 35 0 R /Prev 39 0 R /Next 95 0 R /First 75 0 R /Last 75 0 R /Count -1 >> endobj 67 0 obj << /Title 68 0 R /A 65 0 R /Parent 51 0 R /Prev 63 0 R >> endobj 63 0 obj << /Title 64 0 R /A 61 0 R /Parent 51 0 R /Prev 59 0 R /Next 67 0 R >> endobj 59 0 obj << /Title 60 0 R /A 57 0 R /Parent 51 0 R /Prev 55 0 R /Next 63 0 R >> endobj 55 0 obj << /Title 56 0 R /A 53 0 R /Parent 51 0 R /Next 59 0 R >> endobj 51 0 obj << /Title 52 0 R /A 49 0 R /Parent 39 0 R /Prev 43 0 R /First 55 0 R /Last 67 0 R /Count -4 >> endobj 47 0 obj << /Title 48 0 R /A 45 0 R /Parent 43 0 R >> endobj 43 0 obj << /Title 44 0 R /A 41 0 R /Parent 39 0 R /Next 51 0 R /First 47 0 R /Last 47 0 R /Count -1 >> endobj 39 0 obj << /Title 40 0 R /A 37 0 R /Parent 35 0 R /Next 71 0 R /First 43 0 R /Last 51 0 R /Count -2 >> endobj 35 0 obj << /Title 36 0 R /A 33 0 R /Parent 4039 0 R /Prev 27 0 R /Next 579 0 R /First 39 0 R /Last 559 0 R /Count -13 >> endobj 31 0 obj << /Title 32 0 R /A 29 0 R /Parent 27 0 R >> endobj 27 0 obj << /Title 28 0 R /A 25 0 R /Parent 4039 0 R /Prev 19 0 R /Next 35 0 R /First 31 0 R /Last 31 0 R /Count -1 >> endobj 23 0 obj << /Title 24 0 R /A 21 0 R /Parent 19 0 R >> endobj 19 0 obj << /Title 20 0 R /A 17 0 R /Parent 4039 0 R /Prev 11 0 R /Next 27 0 R /First 23 0 R /Last 23 0 R /Count -1 >> endobj 15 0 obj << /Title 16 0 R /A 13 0 R /Parent 11 0 R >> endobj 11 0 obj << /Title 12 0 R /A 9 0 R /Parent 4039 0 R /Prev 3 0 R /Next 19 0 R /First 15 0 R /Last 15 0 R /Count -1 >> endobj 7 0 obj << /Title 8 0 R /A 5 0 R /Parent 3 0 R >> endobj 3 0 obj << /Title 4 0 R /A 1 0 R /Parent 4039 0 R /Next 11 0 R /First 7 0 R /Last 7 0 R /Count -1 >> endobj 4040 0 obj << /Names [(Doc-Start) 1557 0 R (GTGBasic_8h) 2109 0 R (GTGBasic_8h_a0e1d2e55af61e5807593219b85f90405) 3210 0 R (GTGBasic_8h_a11cc5cb8a0a6aa561574afb10860dfed) 3167 0 R (GTGBasic_8h_a1369d4a2afed9e84bc1dbabb4a8d1ec9) 3209 0 R (GTGBasic_8h_a3380a5e49e7f7e2ff3ea18f893527811) 2152 0 R] /Limits [(Doc-Start) (GTGBasic_8h_a3380a5e49e7f7e2ff3ea18f893527811)] >> endobj 4041 0 obj << /Names [(GTGBasic_8h_a4fc44f784cd14c145415352bba3486cf) 3211 0 R (GTGBasic_8h_a7a5d407dd23dfced8b5937332ff80972) 2185 0 R (GTGColor_8h) 2110 0 R (GTGColor_8h_a344b7a65f28e75c218e3ffa38ba142cf) 3324 0 R (GTGColor_8h_a3715b9f3d53d1b007ca3d5d54a633d94) 3320 0 R (GTGColor_8h_a3f0b10fa33d77d2c68b3e7b81ac4fd67) 3327 0 R] /Limits [(GTGBasic_8h_a4fc44f784cd14c145415352bba3486cf) (GTGColor_8h_a3f0b10fa33d77d2c68b3e7b81ac4fd67)] >> endobj 4042 0 obj << /Names [(GTGColor_8h_a5d84b5c74582785274cf76dff745a76b) 3323 0 R (GTGColor_8h_a7d118edf2d6e2588a0323079259fb0d6) 2187 0 R (GTGColor_8h_a9fd3b22fc2eca7706659486c53aa1edd) 2414 0 R (GTGColor_8h_ab217caeb934798d280cb2077358986f9) 3328 0 R (GTGColor_8h_aca9cbafaad4911f01c7d6e822e6da3a1) 3325 0 R (GTGColor_8h_ad2b04b7eefd44537657daa8557c8d804) 3329 0 R] /Limits [(GTGColor_8h_a5d84b5c74582785274cf76dff745a76b) (GTGColor_8h_ad2b04b7eefd44537657daa8557c8d804)] >> endobj 4043 0 obj << /Names [(GTGColor_8h_ad35ae9d4ff1aa5870328130b5483b599) 3322 0 R (GTGColor_8h_adf9335edbd36dc5bc6413264ef2c40c8) 3326 0 R (GTGColor_8h_af6a468e04384d838ad12c6c370116289) 3321 0 R (GTGCompress_8h) 2111 0 R (GTGCompress_8h_a1a484fcd41732ae0c562df62c00c090c) 3400 0 R (GTGCompress_8h_a20b29310337c08faf98a57c25f7e45c1) 3402 0 R] /Limits [(GTGColor_8h_ad35ae9d4ff1aa5870328130b5483b599) (GTGCompress_8h_a20b29310337c08faf98a57c25f7e45c1)] >> endobj 4044 0 obj << /Names [(GTGCompress_8h_a31626eb78f66fd32d48b565a968fe405) 3404 0 R (GTGCompress_8h_a743cbc48dbc83adcad70fa7a038211cc) 3401 0 R (GTGCompress_8h_ab530d1815196b71ebd013660d1854081) 3405 0 R (GTGCompress_8h_ac1344155658614b28d00dde6cfc21227) 3399 0 R (GTGCompress_8h_ace4cb1d4d1f2e23251bd68a1abfbba5f) 3407 0 R (GTGCompress_8h_ad971832008148b9507e34aad293a5d69) 3384 0 R] /Limits [(GTGCompress_8h_a31626eb78f66fd32d48b565a968fe405) (GTGCompress_8h_ad971832008148b9507e34aad293a5d69)] >> endobj 4045 0 obj << /Names [(GTGCompress_8h_ae4a80fc1d9defda19e67dcaccf9dc963) 3406 0 R (GTGCompress_8h_affa95fc9078188415402e4ad714f0a07) 3403 0 R (GTGList_8h) 2112 0 R (GTGList_8h_a069ed881cfcf2495584ab2bd1b22c46e) 3444 0 R (GTGList_8h_a0fa3e1ddadec4f2c0a96efa9c725197d) 3446 0 R (GTGList_8h_a1338d800c732cb3a1c41d1c033bdd857) 3443 0 R] /Limits [(GTGCompress_8h_ae4a80fc1d9defda19e67dcaccf9dc963) (GTGList_8h_a1338d800c732cb3a1c41d1c033bdd857)] >> endobj 4046 0 obj << /Names [(GTGList_8h_a31e8e7dba68376aab7cb547980482f9b) 3450 0 R (GTGList_8h_a4bdc5ebe7e05e5242409504d010389e5) 3448 0 R (GTGList_8h_a8087627971e129ef2860c20a6ffab23b) 3454 0 R (GTGList_8h_aa73c19151049791f4ca20a1ee18d95dc) 3453 0 R (GTGList_8h_aadb6697b96b30d91ecde2703d18bc1df) 3456 0 R (GTGList_8h_ab02f7ebccd0b091b2001d8b381bf6fb5) 3442 0 R] /Limits [(GTGList_8h_a31e8e7dba68376aab7cb547980482f9b) (GTGList_8h_ab02f7ebccd0b091b2001d8b381bf6fb5)] >> endobj 4047 0 obj << /Names [(GTGList_8h_acb9ea4e91626e0b9df23d6aec078d672) 3447 0 R (GTGList_8h_ace0f624d4dd80950511ce16622aad348) 3449 0 R (GTGList_8h_ad586b4819242b49ab669fe12d9a5a7ce) 3451 0 R (GTGList_8h_ad65f21dd678c94735c880f651d7c43b7) 3452 0 R (GTGList_8h_ad83bf2f20ed79cafbee61dab759b56c4) 3445 0 R (GTGList_8h_ae7a2202c2ab63857b2e10dbfd16d8b6e) 3455 0 R] /Limits [(GTGList_8h_acb9ea4e91626e0b9df23d6aec078d672) (GTGList_8h_ae7a2202c2ab63857b2e10dbfd16d8b6e)] >> endobj 4048 0 obj << /Names [(GTGMemory_8h) 2113 0 R (GTGMemory_8h_ac92a27f812adb022f63f0d6754ec3991) 2494 0 R (GTGOTF_8h) 2114 0 R (GTGOTF__Basic_8h) 2115 0 R (GTGOTF__Basic_8h_a0f33b3122733e83c35e5b71d6c4f1a18) 3556 0 R (GTGOTF__Structs_8h) 2116 0 R] /Limits [(GTGMemory_8h) (GTGOTF__Structs_8h)] >> endobj 4049 0 obj << /Names [(GTGOTF__Structs_8h_a056658e2ec1a1406523a8ed55c1b3eb3) 3650 0 R (GTGOTF__Structs_8h_a07c161fcfe11b3927463db144d313881) 3702 0 R (GTGOTF__Structs_8h_a0d25c80b2aaaaa11755996ae3445f759) 3707 0 R (GTGOTF__Structs_8h_a130bd1fa89fcb7de0aa7f677367617db) 3643 0 R (GTGOTF__Structs_8h_a1eeb6fb02ea08eb2a4d13aa85eb218e7) 3645 0 R (GTGOTF__Structs_8h_a211f313d3a452a7f158287adf1044020) 3655 0 R] /Limits [(GTGOTF__Structs_8h_a056658e2ec1a1406523a8ed55c1b3eb3) (GTGOTF__Structs_8h_a211f313d3a452a7f158287adf1044020)] >> endobj 4050 0 obj << /Names [(GTGOTF__Structs_8h_a243ec90a6574e38cbea762b94ebb508b) 3710 0 R (GTGOTF__Structs_8h_a2c23cf45f3ed352984654e01ee720599) 3706 0 R (GTGOTF__Structs_8h_a392bd438e06781c37c0dd2f44f0fc5b8) 3658 0 R (GTGOTF__Structs_8h_a3c2af9e794d9818410c109edbff1b05a) 3644 0 R (GTGOTF__Structs_8h_a4597283a35748da14c86a9627fbac1c0) 3652 0 R (GTGOTF__Structs_8h_a4a2b788c57024b0a86736bb95a38e055) 3699 0 R] /Limits [(GTGOTF__Structs_8h_a243ec90a6574e38cbea762b94ebb508b) (GTGOTF__Structs_8h_a4a2b788c57024b0a86736bb95a38e055)] >> endobj 4051 0 obj << /Names [(GTGOTF__Structs_8h_a5431afdab8fe4162268778e93f0950c9) 2557 0 R (GTGOTF__Structs_8h_a5a31709314736602238a55136842e0f7) 3703 0 R (GTGOTF__Structs_8h_a5f242d9cb317b19fb3ecebf52f97aff5) 3709 0 R (GTGOTF__Structs_8h_a782df7843e82f3ab907696cccd1c9287) 3696 0 R (GTGOTF__Structs_8h_a78956c7044fd5b8813db060804608ee2) 3708 0 R (GTGOTF__Structs_8h_a79fb90b4058ba08f90c48345b160b0d2) 3649 0 R] /Limits [(GTGOTF__Structs_8h_a5431afdab8fe4162268778e93f0950c9) (GTGOTF__Structs_8h_a79fb90b4058ba08f90c48345b160b0d2)] >> endobj 4052 0 obj << /Names [(GTGOTF__Structs_8h_a7b9bb9121b93802031aa77f68bd9862d) 3701 0 R (GTGOTF__Structs_8h_a7c4f0baad6f3a854d830ba8c092f9b0b) 3657 0 R (GTGOTF__Structs_8h_a7c570e29d458693c8eac4d704a62f794) 2961 0 R (GTGOTF__Structs_8h_a8146ea0bffffa1dd7c878388fb16c435) 3704 0 R (GTGOTF__Structs_8h_a8521fe4f0f12ace659d2bac575e305d5) 3700 0 R (GTGOTF__Structs_8h_a906bcca1bb0f7ab59769e022a8c405f1) 3712 0 R] /Limits [(GTGOTF__Structs_8h_a7b9bb9121b93802031aa77f68bd9862d) (GTGOTF__Structs_8h_a906bcca1bb0f7ab59769e022a8c405f1)] >> endobj 4053 0 obj << /Names [(GTGOTF__Structs_8h_a99ee3204ed0c6983d4c3831c710512cd) 3646 0 R (GTGOTF__Structs_8h_a9fa155b76e1dd07fef16ce25a8ec2e4a) 3698 0 R (GTGOTF__Structs_8h_ab840a6d3509bd2b2020b8f3e9e867b4c) 3651 0 R (GTGOTF__Structs_8h_acdd521c6645619bb9579712e4adc3fe4) 3656 0 R (GTGOTF__Structs_8h_ad24d83b188ca9790a0e28807ac63b449) 3711 0 R (GTGOTF__Structs_8h_ad4c770f8a29f82d705f3d34839112bd1) 3642 0 R] /Limits [(GTGOTF__Structs_8h_a99ee3204ed0c6983d4c3831c710512cd) (GTGOTF__Structs_8h_ad4c770f8a29f82d705f3d34839112bd1)] >> endobj 4054 0 obj << /Names [(GTGOTF__Structs_8h_aee2e62a56f04c16f7bbed91105f258b6) 3705 0 R (GTGOTF__Structs_8h_aee931ce92cb0019ac6d888ddd7bb9c5e) 3654 0 R (GTGOTF__Structs_8h_af08b9e0dac007575319427318031eed8) 3653 0 R (GTGOTF__Structs_8h_af3b9c07d3e9f14f1a5a2fd06608c98a3) 3648 0 R (GTGOTF__Structs_8h_af9e408a636b2f8b2e25313840ecbbb97) 3647 0 R (GTGPaje_8h) 2117 0 R] /Limits [(GTGOTF__Structs_8h_aee2e62a56f04c16f7bbed91105f258b6) (GTGPaje_8h)] >> endobj 4055 0 obj << /Names [(GTGPaje_8h_a5aab6af34e98e257ef546c8fdc17ab94) 2754 0 R (GTGPaje__Basic_8h) 2118 0 R (GTGPaje__Basic_8h_a0d3ca2c1b9dc66d6593d72a4eae09e8d) 3790 0 R (GTGPaje__Basic_8h_ab52701dc3df3c4c76be4d6c9b2d393a5) 3915 0 R (GTGPaje__Basic_8h_ad15c72f9347b09aa33934730f91b31fd) 3789 0 R (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200) 3791 0 R] /Limits [(GTGPaje_8h_a5aab6af34e98e257ef546c8fdc17ab94) (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200)] >> endobj 4056 0 obj << /Names [(GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a001f28ce157124e7d22f3c84f6c51885) 3805 0 R (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a03475a69dd43b645e8229a498016e2c3) 3795 0 R (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a04161479ee542b397bceee14d63c61f8) 3796 0 R (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a0cbedb31b8305cc9dea6c31804c63563) 3804 0 R (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a4aecac30d78b05a2300eff056217e9ff) 3806 0 R (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a579025094db2e52bb60348c5b7039a27) 3807 0 R] /Limits [(GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a001f28ce157124e7d22f3c84f6c51885) (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a579025094db2e52bb60348c5b7039a27)] >> endobj 4057 0 obj << /Names [(GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a60149c4eb087cbe4984ede5bd6e2e751) 3802 0 R (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a62ec0dd2bc7574ed8390c5c94c5dba40) 3799 0 R (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a64449d36615b85d889bc60b0fb06ba8f) 3809 0 R (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a7c389b553beff2a6d124776c476e6155) 3798 0 R (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a81f42641a0b87b7b17de21744470c3d4) 3801 0 R (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a8ee8f9b1b0a61a693635ac05c86f6ca5) 3797 0 R] /Limits [(GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a60149c4eb087cbe4984ede5bd6e2e751) (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a8ee8f9b1b0a61a693635ac05c86f6ca5)] >> endobj 4058 0 obj << /Names [(GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200ab6fb9729de93e970e4f0ddc32f8f89d5) 3794 0 R (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200ad8a3df0319d70b16d017ff7cfc283d03) 3808 0 R (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200ae277dd83764fadb84ebddd19ab0320d7) 3793 0 R (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200af2744ee2f0d975c7825162900ba53cbc) 3792 0 R (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200afb0b5633f5258204599e3d467d9fa700) 3800 0 R (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200afd95e9c8a6ab5dcc7626ffe3711fd446) 3803 0 R] /Limits [(GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200ab6fb9729de93e970e4f0ddc32f8f89d5) (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200afd95e9c8a6ab5dcc7626ffe3711fd446)] >> endobj 4059 0 obj << /Names [(GTGPaje__Basic_8h_aebe93cbc1dff207d61b2334e7275b664) 3810 0 R (GTGPaje__Basic_8h_aebe93cbc1dff207d61b2334e7275b664a194a1c026972ff8b22b5c08b3a046647) 3813 0 R (GTGPaje__Basic_8h_aebe93cbc1dff207d61b2334e7275b664a2e77792aae4784049b2c95258c6f35ba) 3816 0 R (GTGPaje__Basic_8h_aebe93cbc1dff207d61b2334e7275b664a3fbb1c883879fe62c4216faad762ba66) 3812 0 R (GTGPaje__Basic_8h_aebe93cbc1dff207d61b2334e7275b664a65abf4c5b346462ddc6a78e79c09c37c) 3814 0 R (GTGPaje__Basic_8h_aebe93cbc1dff207d61b2334e7275b664aa2e9e7f40b6f0de491436ae6405c246f) 3817 0 R] /Limits [(GTGPaje__Basic_8h_aebe93cbc1dff207d61b2334e7275b664) (GTGPaje__Basic_8h_aebe93cbc1dff207d61b2334e7275b664aa2e9e7f40b6f0de491436ae6405c246f)] >> endobj 4060 0 obj << /Names [(GTGPaje__Basic_8h_aebe93cbc1dff207d61b2334e7275b664ab00a706a8871bbf4201028faa9fac954) 3811 0 R (GTGPaje__Basic_8h_aebe93cbc1dff207d61b2334e7275b664af11f307e17ef25186054902e489cdc3a) 3815 0 R (GTGReplay_8h) 2119 0 R (GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009f) 2920 0 R (GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009fa03c82bd81a897f8a3f5529d862668453) 3951 0 R (GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009fa283c84a2d7c9e8d64bb2837e038b5658) 3943 0 R] /Limits [(GTGPaje__Basic_8h_aebe93cbc1dff207d61b2334e7275b664ab00a706a8871bbf4201028faa9fac954) (GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009fa283c84a2d7c9e8d64bb2837e038b5658)] >> endobj 4061 0 obj << /Names [(GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009fa58f8778ee7adecc9b7fb184c22a4080b) 3949 0 R (GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009fa6b806b6a37bd56b2ff5d9c49fae14568) 3944 0 R (GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009fa6c09a5a26e2838616e96437b83273f1a) 3950 0 R (GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009fa7c81b73e8f427eebb591400172a4a281) 3953 0 R (GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009fa808ea439b4e928e78cf4ccb80343098e) 3948 0 R (GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009faa1dba78ec3bc9c2d600e826059fa41a6) 3945 0 R] /Limits [(GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009fa58f8778ee7adecc9b7fb184c22a4080b) (GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009faa1dba78ec3bc9c2d600e826059fa41a6)] >> endobj 4062 0 obj << /Names [(GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009fab3a70a47da2a91753e2f0d5069630954) 3947 0 R (GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009facf01d27fbbf451c8d71510524bb53dca) 3946 0 R (GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009fafd9a34d39a4c383420d3ae4222cb2d86) 3952 0 R (GTGStack_8h) 2120 0 R (GTGStack_8h_a0e1fcd54c10dd940e16541bc86455e02) 3987 0 R (GTGStack_8h_a2f2df1383f0b05ee52cc6e1a59ee769c) 3981 0 R] /Limits [(GTGReplay_8h_a3dc8b7ddb0947608b8d860bc469f009fab3a70a47da2a91753e2f0d5069630954) (GTGStack_8h_a2f2df1383f0b05ee52cc6e1a59ee769c)] >> endobj 4063 0 obj << /Names [(GTGStack_8h_a4b7833a97e238a050cf5fd9731c74ab0) 3113 0 R (GTGStack_8h_a6556b2736887f1b9764d11520e28c856) 3988 0 R (GTGStack_8h_a66d42f5df726393b5f0042cb5d8a5d78) 3986 0 R (GTGStack_8h_a8530edb0637fac60a9e2cdaf0e41a9d4) 3982 0 R (GTGStack_8h_ace6ddf07a20904ac560ed9b182041c44) 3983 0 R (GTGStack_8h_af18fe4176f18a328dea523c5883b00b3) 3985 0 R] /Limits [(GTGStack_8h_a4b7833a97e238a050cf5fd9731c74ab0) (GTGStack_8h_af18fe4176f18a328dea523c5883b00b3)] >> endobj 4064 0 obj << /Names [(GTGStack_8h_afb11b461a0ad113636b1dfcd10120c09) 3984 0 R (GTGTypes_8h) 2121 0 R (GTGTypes_8h_a3838479a4e34ddb6b1beca0c67134337) 4005 0 R (GTG_8h) 2000 0 R (chapter*.1) 1591 0 R (chapter.1) 2 0 R] /Limits [(GTGStack_8h_afb11b461a0ad113636b1dfcd10120c09) (chapter.1)] >> endobj 4065 0 obj << /Names [(chapter.2) 10 0 R (chapter.3) 18 0 R (chapter.4) 26 0 R (chapter.5) 34 0 R (chapter.6) 578 0 R (chapter.7) 978 0 R] /Limits [(chapter.2) (chapter.7)] >> endobj 4066 0 obj << /Names [(group__GTGColor) 2409 0 R (group__GTGColor_ga088b63848f60b294eb7717f9160ce76a) 2424 0 R (group__GTGColor_ga0e3d8e413dcbd8f23dfeb5b26bf02ea0) 2417 0 R (group__GTGColor_ga16c93cd2a5d433fcc87ef02a84799ba5) 2425 0 R (group__GTGColor_ga190c0283ea923a8985673bf855acb0f1) 2454 0 R (group__GTGColor_ga21ff1d892d73197f789eadfb5f53ae12) 2422 0 R] /Limits [(group__GTGColor) (group__GTGColor_ga21ff1d892d73197f789eadfb5f53ae12)] >> endobj 4067 0 obj << /Names [(group__GTGColor_ga223e9945beaf02128c62c359a13381ac) 2416 0 R (group__GTGColor_ga27a569b9d34652d78d38ce7f7cda6794) 2463 0 R (group__GTGColor_ga39b7ac86d036b3eeffb481bb8c7a0404) 2457 0 R (group__GTGColor_ga47cbb9a6cd672a1b0679a5472dacf0aa) 2415 0 R (group__GTGColor_ga4de28f536dd910bf024fc2caa5234cb5) 2462 0 R (group__GTGColor_ga522dceb98e51420b5145113ba0297eba) 2460 0 R] /Limits [(group__GTGColor_ga223e9945beaf02128c62c359a13381ac) (group__GTGColor_ga522dceb98e51420b5145113ba0297eba)] >> endobj 4068 0 obj << /Names [(group__GTGColor_ga5ab65b258d884aee7f7510728c3a9c7d) 2461 0 R (group__GTGColor_ga64753688aed5f6684f07f8e0878f312e) 2456 0 R (group__GTGColor_ga64afa654e5f2102b76dfea9948fcc176) 2419 0 R (group__GTGColor_ga8ee0cf541a8cfe06ca0071bc12730514) 2421 0 R (group__GTGColor_ga9e4cec241556fba74d243092ecb65ff3) 2413 0 R (group__GTGColor_gaa08fc4857b39b8de719eb2856b040ebe) 2455 0 R] /Limits [(group__GTGColor_ga5ab65b258d884aee7f7510728c3a9c7d) (group__GTGColor_gaa08fc4857b39b8de719eb2856b040ebe)] >> endobj 4069 0 obj << /Names [(group__GTGColor_gaa0b434824fb73ef2aca7b3ea80b1d5fc) 2428 0 R (group__GTGColor_gaa923f594cd6bf3da6a99d672c4438238) 2418 0 R (group__GTGColor_gaac719b8d82b41edc0d2f29983222586a) 2420 0 R (group__GTGColor_gabbc9bfb94e29f9403a7e139e4f4bf87a) 2458 0 R (group__GTGColor_gac22398d68421bab69f56bad3aec370aa) 2426 0 R (group__GTGColor_gadce47970948c2b8fed1561b4ad48a77d) 2459 0 R] /Limits [(group__GTGColor_gaa0b434824fb73ef2aca7b3ea80b1d5fc) (group__GTGColor_gadce47970948c2b8fed1561b4ad48a77d)] >> endobj 4070 0 obj << /Names [(group__GTGColor_gae5b393a4e0d57100e0809e25ccde762c) 2423 0 R (group__GTGColor_gaf971085c762299a3ddc48983c5be7ba1) 2427 0 R (group__GTGColor_gafb573eac9a0e0e5b87f53381a52fb5a5) 2453 0 R (group__GTGMemory) 2486 0 R (group__GTGMemory_ga1a62c5f680d0d46d7fcc82627830d33d) 2490 0 R (group__GTGMemory_ga5cdc8881f51fa5a160b12cab91cd1a43) 2492 0 R] /Limits [(group__GTGColor_gae5b393a4e0d57100e0809e25ccde762c) (group__GTGMemory_ga5cdc8881f51fa5a160b12cab91cd1a43)] >> endobj 4071 0 obj << /Names [(group__GTGMemory_ga67019a4108ad51fec4870174c50aa857) 2488 0 R (group__GTGReplay) 2914 0 R (group__GTGReplay_ga2e5e466f37281ba7e671c00010763c9e) 2918 0 R (group__GTGReplay_ga62705d596816b10e7d0c6ac91dcd15aa) 2916 0 R (group__cotf) 2555 0 R (group__cotf_ga0e6f15e063533999a4587f5aff536c4b) 2607 0 R] /Limits [(group__GTGMemory_ga67019a4108ad51fec4870174c50aa857) (group__cotf_ga0e6f15e063533999a4587f5aff536c4b)] >> endobj 4072 0 obj << /Names [(group__cotf_ga14a33c2535d2b7da582bd331993999e9) 2566 0 R (group__cotf_ga28de2748e0f27c11131e4bb097a25bf9) 2558 0 R (group__cotf_ga372542376c4963ad7c3223524a365805) 2611 0 R (group__cotf_ga38f77fbd3406ac7528fa0d7f18328c55) 2561 0 R (group__cotf_ga42c372c6ccb6362453c27f74df3a3dfc) 2608 0 R (group__cotf_ga5a2457a81c113ea6b241a68942a63371) 2560 0 R] /Limits [(group__cotf_ga14a33c2535d2b7da582bd331993999e9) (group__cotf_ga5a2457a81c113ea6b241a68942a63371)] >> endobj 4073 0 obj << /Names [(group__cotf_ga5b0831b85cc3e6ebd78224a4199b1cfd) 2609 0 R (group__cotf_ga647e099aae188f5b818fe4c32d1d515d) 2604 0 R (group__cotf_ga655059acd582bec8ce5b38199d8b5a1e) 2563 0 R (group__cotf_ga702d5cd834f6a960a57f4575a0e1954d) 2612 0 R (group__cotf_ga7b5fa3f1a3f5615fe9316c692e9bce3c) 2572 0 R (group__cotf_ga7eec321ccab983ece92ebca92887d1cf) 2565 0 R] /Limits [(group__cotf_ga5b0831b85cc3e6ebd78224a4199b1cfd) (group__cotf_ga7eec321ccab983ece92ebca92887d1cf)] >> endobj 4074 0 obj << /Names [(group__cotf_ga8535ccc5a1ec7d512eef43a5588ec6db) 2569 0 R (group__cotf_ga87f8715c93843ed56a9f4d9ed2e7d6d8) 2559 0 R (group__cotf_ga91c6066968d7c788dcd88c264a93636b) 2571 0 R (group__cotf_gaa83d4e4210ed18a25f697fff36f43b84) 2568 0 R (group__cotf_gac288ab52595162f8b855b95eb3a6511d) 2610 0 R (group__cotf_gac740f7116291d76bb3afd2154a1e5962) 2562 0 R] /Limits [(group__cotf_ga8535ccc5a1ec7d512eef43a5588ec6db) (group__cotf_gac740f7116291d76bb3afd2154a1e5962)] >> endobj 4075 0 obj << /Names [(group__cotf_gad4f12572f83d4d88c2a69807853ecf98) 2564 0 R (group__cotf_gafcaf513ad403f1073a60292ee797422c) 2570 0 R (group__cotf_gafd43ca39c5ad8a5d88325480ff9fca75) 2567 0 R (group__cpaje) 2752 0 R (group__cpaje_ga0045c9aebf879d257d45ffca3a580dd2) 2763 0 R (group__cpaje_ga1a280796147680d73b4148de463200a6) 2764 0 R] /Limits [(group__cotf_gad4f12572f83d4d88c2a69807853ecf98) (group__cpaje_ga1a280796147680d73b4148de463200a6)] >> endobj 4076 0 obj << /Names [(group__cpaje_ga303effbd4344a2f42872d4e70471250f) 2810 0 R (group__cpaje_ga32902ea7f94f1f890c016da04c2d06b6) 2756 0 R (group__cpaje_ga3729690fc4d61c7f74e780530113fd8a) 2813 0 R (group__cpaje_ga41f1c6499787f834904580c315032258) 2812 0 R (group__cpaje_ga49ae68f2a567d8bbac4cb6f7b6726ae8) 2759 0 R (group__cpaje_ga4b8a30594207e3bd62ad22500a363555) 2762 0 R] /Limits [(group__cpaje_ga303effbd4344a2f42872d4e70471250f) (group__cpaje_ga4b8a30594207e3bd62ad22500a363555)] >> endobj 4077 0 obj << /Names [(group__cpaje_ga67bd495e65937ecdc1bfe450cb0f0018) 2809 0 R (group__cpaje_ga6f1f9c069de829e3c2791415af7212d4) 2814 0 R (group__cpaje_ga6f836611123e0a83ec764aefebf4ec33) 2768 0 R (group__cpaje_ga6fa623c49bf3a2e9ebe7b138cc66e9a1) 2811 0 R (group__cpaje_ga78d90b40b97cb072ab6634bbfd562dc6) 2765 0 R (group__cpaje_ga7cd6968ffcd034c3dd67d48ef047934c) 2757 0 R] /Limits [(group__cpaje_ga67bd495e65937ecdc1bfe450cb0f0018) (group__cpaje_ga7cd6968ffcd034c3dd67d48ef047934c)] >> endobj 4078 0 obj << /Names [(group__cpaje_ga91d2beb5b926254b7922f7c5fc6e2c1b) 2755 0 R (group__cpaje_ga92b9b4f5b8cd6656e6fce9b18720931f) 2758 0 R (group__cpaje_gaa2404d741e681fa9a90309798ccdd005) 2767 0 R (group__cpaje_gaaf3eb514831a8ac2a301c43236b6dd04) 2808 0 R (group__cpaje_gab77a5b730b5b0e58777d75e1c1bfbdaf) 2760 0 R (group__cpaje_gaccb7f379b053e7a5d6cc3f04b929e1d9) 2766 0 R] /Limits [(group__cpaje_ga91d2beb5b926254b7922f7c5fc6e2c1b) (group__cpaje_gaccb7f379b053e7a5d6cc3f04b929e1d9)] >> endobj 4079 0 obj << /Names [(group__cpaje_gacf05b63d86f1f7e36602347f56d1640d) 2815 0 R (group__cpaje_gaebcc766a17f5ffc055432687e946a1ea) 2761 0 R (group__cpaje_gaf69201358d05bd855572061dc96857c6) 2816 0 R (group__cpaje_gaf7a8df4ca3b40d0e4d42619e884dfe48) 2817 0 R (group__cpaje_gaf92058cdf7d12c550866c98bf59338b8) 2769 0 R (group__eventf) 2288 0 R] /Limits [(group__cpaje_gacf05b63d86f1f7e36602347f56d1640d) (group__eventf)] >> endobj 4080 0 obj << /Names [(group__eventf_gae35aeab2cfbacf978c03ea8f0811b82e) 2292 0 R (group__eventf_gaecd7c28a19831d32ef05f5af0469b434) 2290 0 R (group__init) 2177 0 R (group__init_ga6900cde464f9833ad682d680a2a78203) 2182 0 R (group__init_ga9219b49891d7bfce610daf60c5a02cae) 2186 0 R (group__init_gaa732419a54e774f325188e1b1f8ac36d) 2179 0 R] /Limits [(group__eventf_gae35aeab2cfbacf978c03ea8f0811b82e) (group__init_gaa732419a54e774f325188e1b1f8ac36d)] >> endobj 4081 0 obj << /Names [(group__init_gabe4753689dfd8508c336b3898b0df471) 2181 0 R (group__linkf) 2313 0 R (group__linkf_ga75cf70450e81381decb2e84c3e6e18bd) 2319 0 R (group__linkf_ga9e084fd160fd4f7357f6acf4eb541606) 2317 0 R (group__linkf_gab4b69cdd6b0fc990a2d99835c4bd3c89) 2315 0 R (group__procf) 2213 0 R] /Limits [(group__init_gabe4753689dfd8508c336b3898b0df471) (group__procf)] >> endobj 4082 0 obj << /Names [(group__procf_ga463f260c133bb2471aad369b8d1319cb) 2215 0 R (group__procf_gad5822f320aedc792dc9a4c3a7c1f8751) 2219 0 R (group__procf_gae4eb01314299c2dcf82fd1b3faaf8ffa) 2221 0 R (group__procf_gaef7a79f315b4e35480c27a1ae479827d) 2217 0 R (group__statef) 2257 0 R (group__statef_ga303c63c84b39511c9cf9d27c2dbea79e) 2261 0 R] /Limits [(group__procf_ga463f260c133bb2471aad369b8d1319cb) (group__statef_ga303c63c84b39511c9cf9d27c2dbea79e)] >> endobj 4083 0 obj << /Names [(group__statef_ga4ecba7c24b51e26839795ae837339af0) 2264 0 R (group__statef_ga7d0ee8cd70600ebfe5173c6385f6f35f) 2263 0 R (group__statef_gad5c4b3bad6aa9c83a9e8562664fe626a) 2259 0 R (group__traceType) 2141 0 R (group__traceType_ga577af8ffa49fee14264099998e3d88e8) 2155 0 R (group__traceType_gaa32bf7549cb819ce354ac583de6e6bbf) 2151 0 R] /Limits [(group__statef_ga4ecba7c24b51e26839795ae837339af0) (group__traceType_gaa32bf7549cb819ce354ac583de6e6bbf)] >> endobj 4084 0 obj << /Names [(group__traceType_gabfcf61a4d79aa427ef510070fce86311) 2145 0 R (group__traceType_gabfcf61a4d79aa427ef510070fce86311a464fcf408aa7f29de9e7828dfbc39147) 2146 0 R (group__traceType_gabfcf61a4d79aa427ef510070fce86311a4b124dad7992814397ae48d321af66b5) 2150 0 R (group__traceType_gabfcf61a4d79aa427ef510070fce86311a836fd85172c09b9aebf8e9712b9aae73) 2149 0 R (group__traceType_gabfcf61a4d79aa427ef510070fce86311aac864727fa7382dc8f3414f1667a78b5) 2148 0 R (group__traceType_gaf4e365b772f0244b5f40f7a8c21dbeda) 2153 0 R] /Limits [(group__traceType_gabfcf61a4d79aa427ef510070fce86311) (group__traceType_gaf4e365b772f0244b5f40f7a8c21dbeda)] >> endobj 4085 0 obj << /Names [(group__traceType_gaffe242018ef0fb40a515c24a957f6ba9) 2154 0 R (group__type) 2932 0 R (group__type_ga1f1b68fb37d7331f03a48ef0993a0788) 2184 0 R (group__type_ga1f1b68fb37d7331f03a48ef0993a0788a3f7405d47b6ed59a17246e9844090615) 2937 0 R (group__type_ga1f1b68fb37d7331f03a48ef0993a0788a6144206e9d331f185b18166cff7783b8) 2936 0 R (group__type_ga1f1b68fb37d7331f03a48ef0993a0788a73950ece0ad8b1bee0e4ebe6fbf9060b) 2938 0 R] /Limits [(group__traceType_gaffe242018ef0fb40a515c24a957f6ba9) (group__type_ga1f1b68fb37d7331f03a48ef0993a0788a73950ece0ad8b1bee0e4ebe6fbf9060b)] >> endobj 4086 0 obj << /Names [(group__type_ga1f1b68fb37d7331f03a48ef0993a0788aaa3aa4a72ea96378a200bb869f7f8abb) 2940 0 R (group__type_ga1f1b68fb37d7331f03a48ef0993a0788ab9fd0214ae892b4284375940d3040b1c) 2939 0 R (group__type_gabda13d5bcd0cbdb094d655181a857e25) 2220 0 R (group__varf) 2352 0 R (group__varf_ga305787a5e14f17a2a0961be702c4ff25) 2354 0 R (group__varf_ga573290384c5fe8b600fc999473117067) 2359 0 R] /Limits [(group__type_ga1f1b68fb37d7331f03a48ef0993a0788aaa3aa4a72ea96378a200bb869f7f8abb) (group__varf_ga573290384c5fe8b600fc999473117067)] >> endobj 4087 0 obj << /Names [(group__varf_ga7c621d853b9d0058a065db58cdb94ec8) 2356 0 R (group__varf_gac897f3ccddc88ce6bd46ca6594cc5605) 2358 0 R (index) 1997 0 R (index_Presentation) 1999 0 R (page.1) 1996 0 R (page.10) 2159 0 R] /Limits [(group__varf_ga7c621d853b9d0058a065db58cdb94ec8) (page.10)] >> endobj 4088 0 obj << /Names [(page.11) 2176 0 R (page.12) 2191 0 R (page.13) 2212 0 R (page.14) 2227 0 R (page.15) 2256 0 R (page.16) 2275 0 R] /Limits [(page.11) (page.16)] >> endobj 4089 0 obj << /Names [(page.17) 2287 0 R (page.18) 2312 0 R (page.19) 2325 0 R (page.2) 2004 0 R (page.20) 2351 0 R (page.21) 2367 0 R] /Limits [(page.17) (page.21)] >> endobj 4090 0 obj << /Names [(page.22) 2408 0 R (page.23) 2450 0 R (page.24) 2467 0 R (page.25) 2471 0 R (page.26) 2475 0 R (page.27) 2485 0 R] /Limits [(page.22) (page.27)] >> endobj 4091 0 obj << /Names [(page.28) 2554 0 R (page.29) 2599 0 R (page.3) 2021 0 R (page.30) 2618 0 R (page.31) 2627 0 R (page.32) 2637 0 R] /Limits [(page.28) (page.32)] >> endobj 4092 0 obj << /Names [(page.33) 2647 0 R (page.34) 2660 0 R (page.35) 2672 0 R (page.36) 2686 0 R (page.37) 2693 0 R (page.38) 2751 0 R] /Limits [(page.33) (page.38)] >> endobj 4093 0 obj << /Names [(page.39) 2803 0 R (page.4) 2025 0 R (page.40) 2824 0 R (page.41) 2832 0 R (page.42) 2843 0 R (page.43) 2852 0 R] /Limits [(page.39) (page.43)] >> endobj 4094 0 obj << /Names [(page.44) 2860 0 R (page.45) 2874 0 R (page.46) 2885 0 R (page.47) 2897 0 R (page.48) 2905 0 R (page.49) 2913 0 R] /Limits [(page.44) (page.49)] >> endobj 4095 0 obj << /Names [(page.5) 2057 0 R (page.50) 2931 0 R (page.51) 2952 0 R (page.52) 2979 0 R (page.53) 3001 0 R (page.54) 3019 0 R] /Limits [(page.5) (page.54)] >> endobj 4096 0 obj << /Names [(page.55) 3036 0 R (page.56) 3064 0 R (page.57) 3085 0 R (page.58) 3106 0 R (page.59) 3130 0 R (page.6) 2076 0 R] /Limits [(page.55) (page.6)] >> endobj 4097 0 obj << /Names [(page.60) 3148 0 R (page.61) 3165 0 R (page.62) 3205 0 R (page.63) 3274 0 R (page.64) 3284 0 R (page.65) 3314 0 R] /Limits [(page.60) (page.65)] >> endobj 4098 0 obj << /Names [(page.66) 3375 0 R (page.67) 3382 0 R (page.68) 3398 0 R (page.69) 3438 0 R (page.7) 2108 0 R (page.70) 3464 0 R] /Limits [(page.66) (page.70)] >> endobj 4099 0 obj << /Names [(page.71) 3472 0 R (page.72) 3484 0 R (page.73) 3503 0 R (page.74) 3554 0 R (page.75) 3601 0 R (page.76) 3639 0 R] /Limits [(page.71) (page.76)] >> endobj 4100 0 obj << /Names [(page.77) 3694 0 R (page.78) 3716 0 R (page.79) 3720 0 R (page.8) 2125 0 R (page.80) 3724 0 R (page.81) 3729 0 R] /Limits [(page.77) (page.81)] >> endobj 4101 0 obj << /Names [(page.82) 3737 0 R (page.83) 3775 0 R (page.84) 3877 0 R (page.85) 3911 0 R (page.86) 3919 0 R (page.87) 3939 0 R] /Limits [(page.82) (page.87)] >> endobj 4102 0 obj << /Names [(page.88) 3977 0 R (page.89) 4001 0 R (page.9) 2140 0 R (section*.10) 2410 0 R (section*.11) 2411 0 R (section*.12) 2412 0 R] /Limits [(page.88) (section*.12)] >> endobj 4103 0 obj << /Names [(section*.13) 2487 0 R (section*.14) 2556 0 R (section*.15) 2753 0 R (section*.16) 2915 0 R (section*.17) 2933 0 R (section*.18) 2934 0 R] /Limits [(section*.13) (section*.18)] >> endobj 4104 0 obj << /Names [(section*.19) 2954 0 R (section*.2) 2142 0 R (section*.20) 2980 0 R (section*.21) 2985 0 R (section*.22) 3002 0 R (section*.23) 3020 0 R] /Limits [(section*.19) (section*.23)] >> endobj 4105 0 obj << /Names [(section*.24) 3037 0 R (section*.25) 3040 0 R (section*.26) 3065 0 R (section*.27) 3068 0 R (section*.28) 3086 0 R (section*.29) 3107 0 R] /Limits [(section*.24) (section*.29)] >> endobj 4106 0 obj << /Names [(section*.3) 2144 0 R (section*.30) 3112 0 R (section*.31) 3131 0 R (section*.32) 3149 0 R (section*.33) 3166 0 R (section*.34) 3206 0 R] /Limits [(section*.3) (section*.34)] >> endobj 4107 0 obj << /Names [(section*.35) 3207 0 R (section*.36) 3208 0 R (section*.37) 3315 0 R (section*.38) 3316 0 R (section*.39) 3317 0 R (section*.4) 2178 0 R] /Limits [(section*.35) (section*.4)] >> endobj 4108 0 obj << /Names [(section*.40) 3318 0 R (section*.41) 3376 0 R (section*.42) 3383 0 R (section*.43) 3408 0 R (section*.44) 3439 0 R (section*.45) 3440 0 R] /Limits [(section*.40) (section*.45)] >> endobj 4109 0 obj << /Names [(section*.46) 3441 0 R (section*.47) 3488 0 R (section*.48) 3489 0 R (section*.49) 3504 0 R (section*.5) 2214 0 R (section*.50) 3555 0 R] /Limits [(section*.46) (section*.50)] >> endobj 4110 0 obj << /Names [(section*.51) 3640 0 R (section*.52) 3641 0 R (section*.53) 3695 0 R (section*.54) 3738 0 R (section*.55) 3739 0 R (section*.56) 3776 0 R] /Limits [(section*.51) (section*.56)] >> endobj 4111 0 obj << /Names [(section*.57) 3777 0 R (section*.58) 3787 0 R (section*.59) 3940 0 R (section*.6) 2258 0 R (section*.60) 3942 0 R (section*.61) 3978 0 R] /Limits [(section*.57) (section*.61)] >> endobj 4112 0 obj << /Names [(section*.62) 3979 0 R (section*.63) 3980 0 R (section*.64) 4002 0 R (section*.65) 4003 0 R (section*.7) 2289 0 R (section*.8) 2314 0 R] /Limits [(section*.62) (section*.8)] >> endobj 4113 0 obj << /Names [(section*.9) 2353 0 R (section.1.1) 6 0 R (section.2.1) 14 0 R (section.3.1) 22 0 R (section.4.1) 30 0 R (section.5.1) 38 0 R] /Limits [(section*.9) (section.5.1)] >> endobj 4114 0 obj << /Names [(section.5.10) 338 0 R (section.5.11) 434 0 R (section.5.12) 542 0 R (section.5.13) 558 0 R (section.5.2) 70 0 R (section.5.3) 94 0 R] /Limits [(section.5.10) (section.5.3)] >> endobj 4115 0 obj << /Names [(section.5.4) 118 0 R (section.5.5) 142 0 R (section.5.6) 158 0 R (section.5.7) 178 0 R (section.5.8) 202 0 R (section.5.9) 318 0 R] /Limits [(section.5.4) (section.5.9)] >> endobj 4116 0 obj << /Names [(section.6.1) 582 0 R (section.6.10) 834 0 R (section.6.11) 858 0 R (section.6.12) 886 0 R (section.6.13) 918 0 R (section.6.14) 946 0 R] /Limits [(section.6.1) (section.6.14)] >> endobj 4117 0 obj << /Names [(section.6.2) 618 0 R (section.6.3) 642 0 R (section.6.4) 674 0 R (section.6.5) 706 0 R (section.6.6) 726 0 R (section.6.7) 742 0 R] /Limits [(section.6.2) (section.6.7)] >> endobj 4118 0 obj << /Names [(section.6.8) 778 0 R (section.6.9) 794 0 R (section.7.1) 982 0 R (section.7.10) 1418 0 R (section.7.11) 1434 0 R (section.7.12) 1474 0 R] /Limits [(section.6.8) (section.7.12)] >> endobj 4119 0 obj << /Names [(section.7.13) 1490 0 R (section.7.14) 1542 0 R (section.7.2) 990 0 R (section.7.3) 1030 0 R (section.7.4) 1098 0 R (section.7.5) 1146 0 R] /Limits [(section.7.13) (section.7.5)] >> endobj 4120 0 obj << /Names [(section.7.6) 1222 0 R (section.7.7) 1238 0 R (section.7.8) 1246 0 R (section.7.9) 1262 0 R (structContainer) 2059 0 R (structContainerType) 2060 0 R] /Limits [(section.7.6) (structContainerType)] >> endobj 4121 0 obj << /Names [(structContainerType_a02fb15eb66f37f3e1086f2ee0fb281fb) 2982 0 R (structContainerType_a478bcc47be0ccd30b8e3627119cc3c82) 2984 0 R (structContainerType_a85ebdaf602c61a46cc07a505a16e6e33) 2981 0 R (structContainerType_a8bf2b33a4144adf9d82b347b510e205c) 2983 0 R (structContainer_a055522338ea708fbdfbd6ddb4854b313) 2957 0 R (structContainer_a4adf9cd564185bb1cee25d45a82c4f99) 2956 0 R] /Limits [(structContainerType_a02fb15eb66f37f3e1086f2ee0fb281fb) (structContainer_a4adf9cd564185bb1cee25d45a82c4f99)] >> endobj 4122 0 obj << /Names [(structContainer_a67ce2f5aefbdfebfdf389731573933e1) 2958 0 R (structContainer_a92f0174d6eca6c4a0ef3e2ffef8be3e8) 2955 0 R (structContainer_aacb0d89296e0646bc3b7c14b2e4636f4) 2960 0 R (structContainer_ae9e5eda153387bcd46a4a4495b7e044e) 2959 0 R (structEntityValue) 2061 0 R (structEntityValue_a191ba3c755e7cc31ad8b8f2dc8e82303) 2990 0 R] /Limits [(structContainer_a67ce2f5aefbdfebfdf389731573933e1) (structEntityValue_a191ba3c755e7cc31ad8b8f2dc8e82303)] >> endobj 4123 0 obj << /Names [(structEntityValue_a5e6e1be50971e3c2547ab66657740c6e) 2986 0 R (structEntityValue_a61d28bb9506e9f63393b1125360daca1) 2989 0 R (structEntityValue_aa4ce16b0131ebd56e2fbf263f7007c1e) 2987 0 R (structEntityValue_af9d0d2fd22efd3610ed6fddc23680388) 2988 0 R (structEventType) 2062 0 R (structEventType_a0c5cf0d1d90a0190925feab828dba2e8) 3006 0 R] /Limits [(structEntityValue_a5e6e1be50971e3c2547ab66657740c6e) (structEventType_a0c5cf0d1d90a0190925feab828dba2e8)] >> endobj 4124 0 obj << /Names [(structEventType_a29c1aa6026157172fa5c5425105be105) 3005 0 R (structEventType_a42f50ba031cb2fe4d5bffe085f6ad2c6) 3003 0 R (structEventType_af6aadf2a0a0a3b8c4d0fe57d4889bbf9) 3008 0 R (structEventType_afdddbef3fe86529f251fb05fa3445383) 3004 0 R (structLink) 2066 0 R (structLinkType) 2067 0 R] /Limits [(structEventType_a29c1aa6026157172fa5c5425105be105) (structLinkType)] >> endobj 4125 0 obj << /Names [(structLinkType_a210a16b6927e61d4f8903a6170c40a4d) 3072 0 R (structLinkType_a3020cf7752917aed0f7193431ec4c81b) 3071 0 R (structLinkType_a8430d62765b8301d38b63ef8d52c14dd) 3075 0 R (structLinkType_a86ee7c3fde6e9bc60465218437b2fb93) 3070 0 R (structLinkType_a876188b4529f34bbfb54bf0f7b102da0) 3069 0 R (structLinkType_a9c7024c680fee0ec1a8658be033bbadb) 3073 0 R] /Limits [(structLinkType_a210a16b6927e61d4f8903a6170c40a4d) (structLinkType_a9c7024c680fee0ec1a8658be033bbadb)] >> endobj 4126 0 obj << /Names [(structLinkType_ab3ba87c081b571030116c61f4f45e67a) 3074 0 R (structLink_a3dcf389af7a2d16eada1679d4ae33d13) 3067 0 R (structLink_a87fb6a54e52fc0c8cea06eafefc8b555) 3066 0 R (structState) 2069 0 R (structStateType) 2070 0 R (structStateType_a032633fe3f7393284c730316651c45a7) 3114 0 R] /Limits [(structLinkType_ab3ba87c081b571030116c61f4f45e67a) (structStateType_a032633fe3f7393284c730316651c45a7)] >> endobj 4127 0 obj << /Names [(structStateType_a14249c9d77e0bf8efa00f5ca7f38b001) 3117 0 R (structStateType_a39d6516ad97438053c7ffa5cf2cf7d19) 3118 0 R (structStateType_a66cf0c397f84194ac6a5326f262d200d) 3116 0 R (structStateType_a80c2819cc7a07b01c41b7029ff857411) 3115 0 R (structState_a59ce5ace1f042871476d027578373a10) 3108 0 R (structState_a815c7d082e4ffdd1a5cb6be3bdea0742) 3109 0 R] /Limits [(structStateType_a14249c9d77e0bf8efa00f5ca7f38b001) (structState_a815c7d082e4ffdd1a5cb6be3bdea0742)] >> endobj 4128 0 obj << /Names [(structState_ac8fa30ee49b7ea41e7abafea82dead9b) 3110 0 R (structState_ad005ebc45314033c4b897401ee150d13) 3111 0 R (structVariable) 2071 0 R (structVariableType) 2072 0 R (structVariableType_a1f40c8f260ce4672bdcbaadc59282c42) 3150 0 R (structVariableType_a2dc230e2da906c4f1d4fc4fcab2f365a) 3154 0 R] /Limits [(structState_ac8fa30ee49b7ea41e7abafea82dead9b) (structVariableType_a2dc230e2da906c4f1d4fc4fcab2f365a)] >> endobj 4129 0 obj << /Names [(structVariableType_a2e98ef3f43fc7bb3b5f35c608e465626) 3153 0 R (structVariableType_a5183bdba4b0391794706ba8a81f96be7) 3151 0 R (structVariableType_ad770137e0e1b6071aebe2df4fd23a975) 3152 0 R (structVariable_a0bc63e6674147c2277c89b3381eeaa91) 3134 0 R (structVariable_a3cb36d32e3d836c934ffdcb8e6b2548c) 3133 0 R (structVariable_a659e966bd442dbde52df805e15005bf9) 3135 0 R] /Limits [(structVariableType_a2e98ef3f43fc7bb3b5f35c608e465626) (structVariable_a659e966bd442dbde52df805e15005bf9)] >> endobj 4130 0 obj << /Names [(structVariable_a7e8220b03f0a1eb35030f642eb8c4fb8) 3136 0 R (structVariable_a8d689afc1cb0df2adc60fbfdc9cbae34) 3132 0 R (structgtg__color) 2063 0 R (structgtg__color_a1c158621053c8150b40751340e4e47f2) 3022 0 R (structgtg__color_a7c2033bde700bdbf9fb1be5c6b2400e8) 3021 0 R (structgtg__list) 2064 0 R] /Limits [(structVariable_a7e8220b03f0a1eb35030f642eb8c4fb8) (structgtg__list)] >> endobj 4131 0 obj << /Names [(structgtg__list_a345eec26112d216eb50414c089292381) 3038 0 R (structgtg__list_ab82d200f55762c3c8f45466d772ce18b) 3039 0 R (structgtg__memory) 2065 0 R (structgtg__memory_a0e8dbe52c899485e23a29fca18203a4f) 3047 0 R (structgtg__memory_a148a3e38cc32c18151302879bea08e0e) 3042 0 R (structgtg__memory_a6cd255b42292aec9dcd63cc8acba7798) 3046 0 R] /Limits [(structgtg__list_a345eec26112d216eb50414c089292381) (structgtg__memory_a6cd255b42292aec9dcd63cc8acba7798)] >> endobj 4132 0 obj << /Names [(structgtg__memory_a6dbfd29d58f156123a0631d528624d2d) 3044 0 R (structgtg__memory_a9719aa0ebb5be68ca02abb7fb2c8567e) 3041 0 R (structgtg__memory_ac3764bd2efdc4775bf3c4ca51ebc6469) 3045 0 R (structgtg__memory_adf206b4bc257b80a0b4491d1919198e8) 3043 0 R (structotf__color) 2068 0 R (structotf__color_a2b4dac25aa93f339f7f133befbafc144) 3088 0 R] /Limits [(structgtg__memory_a6dbfd29d58f156123a0631d528624d2d) (structotf__color_a2b4dac25aa93f339f7f133befbafc144)] >> endobj 4133 0 obj << /Names [(structotf__color_aab6d70bd00e226b845719f7363cbb809) 3089 0 R (structotf__color_ae6e59a72e6d53e8f13916deafacc52f6) 3087 0 R (structotf__color_af3ff520576ee8bccf9d2bc85614e9501) 3090 0 R (subsection.5.1.1) 42 0 R (subsection.5.1.2) 50 0 R (subsection.5.10.1) 342 0 R] /Limits [(structotf__color_aab6d70bd00e226b845719f7363cbb809) (subsection.5.10.1)] >> endobj 4134 0 obj << /Names [(subsection.5.11.1) 438 0 R (subsection.5.12.1) 546 0 R (subsection.5.13.1) 562 0 R (subsection.5.13.2) 570 0 R (subsection.5.2.1) 74 0 R (subsection.5.3.1) 98 0 R] /Limits [(subsection.5.11.1) (subsection.5.3.1)] >> endobj 4135 0 obj << /Names [(subsection.5.4.1) 122 0 R (subsection.5.5.1) 146 0 R (subsection.5.6.1) 162 0 R (subsection.5.7.1) 182 0 R (subsection.5.8.1) 206 0 R (subsection.5.8.2) 226 0 R] /Limits [(subsection.5.4.1) (subsection.5.8.2)] >> endobj 4136 0 obj << /Names [(subsection.5.9.1) 322 0 R (subsection.6.1.1) 586 0 R (subsection.6.1.2) 590 0 R (subsection.6.10.1) 838 0 R (subsection.6.11.1) 862 0 R (subsection.6.11.2) 866 0 R] /Limits [(subsection.5.9.1) (subsection.6.11.2)] >> endobj 4137 0 obj << /Names [(subsection.6.12.1) 890 0 R (subsection.6.12.2) 894 0 R (subsection.6.13.1) 922 0 R (subsection.6.14.1) 950 0 R (subsection.6.14.2) 954 0 R (subsection.6.2.1) 622 0 R] /Limits [(subsection.6.12.1) (subsection.6.2.1)] >> endobj 4138 0 obj << /Names [(subsection.6.3.1) 646 0 R (subsection.6.3.2) 650 0 R (subsection.6.4.1) 678 0 R (subsection.6.4.2) 682 0 R (subsection.6.5.1) 710 0 R (subsection.6.5.2) 714 0 R] /Limits [(subsection.6.3.1) (subsection.6.5.2)] >> endobj 4139 0 obj << /Names [(subsection.6.6.1) 730 0 R (subsection.6.7.1) 746 0 R (subsection.6.8.1) 782 0 R (subsection.6.9.1) 798 0 R (subsection.6.9.2) 802 0 R (subsection.7.1.1) 986 0 R] /Limits [(subsection.6.6.1) (subsection.7.1.1)] >> endobj 4140 0 obj << /Names [(subsection.7.10.1) 1422 0 R (subsection.7.10.2) 1426 0 R (subsection.7.11.1) 1438 0 R (subsection.7.11.2) 1442 0 R (subsection.7.11.3) 1454 0 R (subsection.7.11.4) 1466 0 R] /Limits [(subsection.7.10.1) (subsection.7.11.4)] >> endobj 4141 0 obj << /Names [(subsection.7.12.1) 1478 0 R (subsection.7.12.2) 1482 0 R (subsection.7.13.1) 1494 0 R (subsection.7.13.2) 1510 0 R (subsection.7.13.3) 1522 0 R (subsection.7.14.1) 1546 0 R] /Limits [(subsection.7.12.1) (subsection.7.14.1)] >> endobj 4142 0 obj << /Names [(subsection.7.2.1) 994 0 R (subsection.7.2.2) 998 0 R (subsection.7.2.3) 1018 0 R (subsection.7.3.1) 1034 0 R (subsection.7.3.2) 1038 0 R (subsection.7.3.3) 1066 0 R] /Limits [(subsection.7.2.1) (subsection.7.3.3)] >> endobj 4143 0 obj << /Names [(subsection.7.3.4) 1078 0 R (subsection.7.4.1) 1102 0 R (subsection.7.5.1) 1150 0 R (subsection.7.5.2) 1186 0 R (subsection.7.5.3) 1194 0 R (subsection.7.6.1) 1226 0 R] /Limits [(subsection.7.3.4) (subsection.7.6.1)] >> endobj 4144 0 obj << /Names [(subsection.7.6.2) 1230 0 R (subsection.7.7.1) 1242 0 R (subsection.7.8.1) 1250 0 R (subsection.7.8.2) 1254 0 R (subsection.7.9.1) 1266 0 R (subsection.7.9.2) 1270 0 R] /Limits [(subsection.7.6.2) (subsection.7.9.2)] >> endobj 4145 0 obj << /Names [(subsection.7.9.3) 1370 0 R (subsubsection.5.1.1.1) 46 0 R (subsubsection.5.1.2.1) 54 0 R (subsubsection.5.1.2.2) 58 0 R (subsubsection.5.1.2.3) 62 0 R (subsubsection.5.1.2.4) 66 0 R] /Limits [(subsection.7.9.3) (subsubsection.5.1.2.4)] >> endobj 4146 0 obj << /Names [(subsubsection.5.10.1.1) 346 0 R (subsubsection.5.10.1.10) 382 0 R (subsubsection.5.10.1.11) 386 0 R (subsubsection.5.10.1.12) 390 0 R (subsubsection.5.10.1.13) 394 0 R (subsubsection.5.10.1.14) 398 0 R] /Limits [(subsubsection.5.10.1.1) (subsubsection.5.10.1.14)] >> endobj 4147 0 obj << /Names [(subsubsection.5.10.1.15) 402 0 R (subsubsection.5.10.1.16) 406 0 R (subsubsection.5.10.1.17) 410 0 R (subsubsection.5.10.1.18) 414 0 R (subsubsection.5.10.1.19) 418 0 R (subsubsection.5.10.1.2) 350 0 R] /Limits [(subsubsection.5.10.1.15) (subsubsection.5.10.1.2)] >> endobj 4148 0 obj << /Names [(subsubsection.5.10.1.20) 422 0 R (subsubsection.5.10.1.21) 426 0 R (subsubsection.5.10.1.22) 430 0 R (subsubsection.5.10.1.3) 354 0 R (subsubsection.5.10.1.4) 358 0 R (subsubsection.5.10.1.5) 362 0 R] /Limits [(subsubsection.5.10.1.20) (subsubsection.5.10.1.5)] >> endobj 4149 0 obj << /Names [(subsubsection.5.10.1.6) 366 0 R (subsubsection.5.10.1.7) 370 0 R (subsubsection.5.10.1.8) 374 0 R (subsubsection.5.10.1.9) 378 0 R (subsubsection.5.11.1.1) 442 0 R (subsubsection.5.11.1.10) 478 0 R] /Limits [(subsubsection.5.10.1.6) (subsubsection.5.11.1.10)] >> endobj 4150 0 obj << /Names [(subsubsection.5.11.1.11) 482 0 R (subsubsection.5.11.1.12) 486 0 R (subsubsection.5.11.1.13) 490 0 R (subsubsection.5.11.1.14) 494 0 R (subsubsection.5.11.1.15) 498 0 R (subsubsection.5.11.1.16) 502 0 R] /Limits [(subsubsection.5.11.1.11) (subsubsection.5.11.1.16)] >> endobj 4151 0 obj << /Names [(subsubsection.5.11.1.17) 506 0 R (subsubsection.5.11.1.18) 510 0 R (subsubsection.5.11.1.19) 514 0 R (subsubsection.5.11.1.2) 446 0 R (subsubsection.5.11.1.20) 518 0 R (subsubsection.5.11.1.21) 522 0 R] /Limits [(subsubsection.5.11.1.17) (subsubsection.5.11.1.21)] >> endobj 4152 0 obj << /Names [(subsubsection.5.11.1.22) 526 0 R (subsubsection.5.11.1.23) 530 0 R (subsubsection.5.11.1.24) 534 0 R (subsubsection.5.11.1.25) 538 0 R (subsubsection.5.11.1.3) 450 0 R (subsubsection.5.11.1.4) 454 0 R] /Limits [(subsubsection.5.11.1.22) (subsubsection.5.11.1.4)] >> endobj 4153 0 obj << /Names [(subsubsection.5.11.1.5) 458 0 R (subsubsection.5.11.1.6) 462 0 R (subsubsection.5.11.1.7) 466 0 R (subsubsection.5.11.1.8) 470 0 R (subsubsection.5.11.1.9) 474 0 R (subsubsection.5.12.1.1) 550 0 R] /Limits [(subsubsection.5.11.1.5) (subsubsection.5.12.1.1)] >> endobj 4154 0 obj << /Names [(subsubsection.5.12.1.2) 554 0 R (subsubsection.5.13.1.1) 566 0 R (subsubsection.5.13.2.1) 574 0 R (subsubsection.5.2.1.1) 78 0 R (subsubsection.5.2.1.2) 82 0 R (subsubsection.5.2.1.3) 86 0 R] /Limits [(subsubsection.5.12.1.2) (subsubsection.5.2.1.3)] >> endobj 4155 0 obj << /Names [(subsubsection.5.2.1.4) 90 0 R (subsubsection.5.3.1.1) 102 0 R (subsubsection.5.3.1.2) 106 0 R (subsubsection.5.3.1.3) 110 0 R (subsubsection.5.3.1.4) 114 0 R (subsubsection.5.4.1.1) 126 0 R] /Limits [(subsubsection.5.2.1.4) (subsubsection.5.4.1.1)] >> endobj 4156 0 obj << /Names [(subsubsection.5.4.1.2) 130 0 R (subsubsection.5.4.1.3) 134 0 R (subsubsection.5.4.1.4) 138 0 R (subsubsection.5.5.1.1) 150 0 R (subsubsection.5.5.1.2) 154 0 R (subsubsection.5.6.1.1) 166 0 R] /Limits [(subsubsection.5.4.1.2) (subsubsection.5.6.1.1)] >> endobj 4157 0 obj << /Names [(subsubsection.5.6.1.2) 170 0 R (subsubsection.5.6.1.3) 174 0 R (subsubsection.5.7.1.1) 186 0 R (subsubsection.5.7.1.2) 190 0 R (subsubsection.5.7.1.3) 194 0 R (subsubsection.5.7.1.4) 198 0 R] /Limits [(subsubsection.5.6.1.2) (subsubsection.5.7.1.4)] >> endobj 4158 0 obj << /Names [(subsubsection.5.8.1.1) 210 0 R (subsubsection.5.8.1.2) 214 0 R (subsubsection.5.8.1.3) 218 0 R (subsubsection.5.8.1.4) 222 0 R (subsubsection.5.8.2.1) 230 0 R (subsubsection.5.8.2.10) 266 0 R] /Limits [(subsubsection.5.8.1.1) (subsubsection.5.8.2.10)] >> endobj 4159 0 obj << /Names [(subsubsection.5.8.2.11) 270 0 R (subsubsection.5.8.2.12) 274 0 R (subsubsection.5.8.2.13) 278 0 R (subsubsection.5.8.2.14) 282 0 R (subsubsection.5.8.2.15) 286 0 R (subsubsection.5.8.2.16) 290 0 R] /Limits [(subsubsection.5.8.2.11) (subsubsection.5.8.2.16)] >> endobj 4160 0 obj << /Names [(subsubsection.5.8.2.17) 294 0 R (subsubsection.5.8.2.18) 298 0 R (subsubsection.5.8.2.19) 302 0 R (subsubsection.5.8.2.2) 234 0 R (subsubsection.5.8.2.20) 306 0 R (subsubsection.5.8.2.21) 310 0 R] /Limits [(subsubsection.5.8.2.17) (subsubsection.5.8.2.21)] >> endobj 4161 0 obj << /Names [(subsubsection.5.8.2.22) 314 0 R (subsubsection.5.8.2.3) 238 0 R (subsubsection.5.8.2.4) 242 0 R (subsubsection.5.8.2.5) 246 0 R (subsubsection.5.8.2.6) 250 0 R (subsubsection.5.8.2.7) 254 0 R] /Limits [(subsubsection.5.8.2.22) (subsubsection.5.8.2.7)] >> endobj 4162 0 obj << /Names [(subsubsection.5.8.2.8) 258 0 R (subsubsection.5.8.2.9) 262 0 R (subsubsection.5.9.1.1) 326 0 R (subsubsection.5.9.1.2) 330 0 R (subsubsection.5.9.1.3) 334 0 R (subsubsection.6.1.2.1) 594 0 R] /Limits [(subsubsection.5.8.2.8) (subsubsection.6.1.2.1)] >> endobj 4163 0 obj << /Names [(subsubsection.6.1.2.2) 598 0 R (subsubsection.6.1.2.3) 602 0 R (subsubsection.6.1.2.4) 606 0 R (subsubsection.6.1.2.5) 610 0 R (subsubsection.6.1.2.6) 614 0 R (subsubsection.6.10.1.1) 842 0 R] /Limits [(subsubsection.6.1.2.2) (subsubsection.6.10.1.1)] >> endobj 4164 0 obj << /Names [(subsubsection.6.10.1.2) 846 0 R (subsubsection.6.10.1.3) 850 0 R (subsubsection.6.10.1.4) 854 0 R (subsubsection.6.11.2.1) 870 0 R (subsubsection.6.11.2.2) 874 0 R (subsubsection.6.11.2.3) 878 0 R] /Limits [(subsubsection.6.10.1.2) (subsubsection.6.11.2.3)] >> endobj 4165 0 obj << /Names [(subsubsection.6.11.2.4) 882 0 R (subsubsection.6.12.2.1) 898 0 R (subsubsection.6.12.2.2) 902 0 R (subsubsection.6.12.2.3) 906 0 R (subsubsection.6.12.2.4) 910 0 R (subsubsection.6.12.2.5) 914 0 R] /Limits [(subsubsection.6.11.2.4) (subsubsection.6.12.2.5)] >> endobj 4166 0 obj << /Names [(subsubsection.6.13.1.1) 926 0 R (subsubsection.6.13.1.2) 930 0 R (subsubsection.6.13.1.3) 934 0 R (subsubsection.6.13.1.4) 938 0 R (subsubsection.6.13.1.5) 942 0 R (subsubsection.6.14.2.1) 958 0 R] /Limits [(subsubsection.6.13.1.1) (subsubsection.6.14.2.1)] >> endobj 4167 0 obj << /Names [(subsubsection.6.14.2.2) 962 0 R (subsubsection.6.14.2.3) 966 0 R (subsubsection.6.14.2.4) 970 0 R (subsubsection.6.14.2.5) 974 0 R (subsubsection.6.2.1.1) 626 0 R (subsubsection.6.2.1.2) 630 0 R] /Limits [(subsubsection.6.14.2.2) (subsubsection.6.2.1.2)] >> endobj 4168 0 obj << /Names [(subsubsection.6.2.1.3) 634 0 R (subsubsection.6.2.1.4) 638 0 R (subsubsection.6.3.2.1) 654 0 R (subsubsection.6.3.2.2) 658 0 R (subsubsection.6.3.2.3) 662 0 R (subsubsection.6.3.2.4) 666 0 R] /Limits [(subsubsection.6.2.1.3) (subsubsection.6.3.2.4)] >> endobj 4169 0 obj << /Names [(subsubsection.6.3.2.5) 670 0 R (subsubsection.6.4.2.1) 686 0 R (subsubsection.6.4.2.2) 690 0 R (subsubsection.6.4.2.3) 694 0 R (subsubsection.6.4.2.4) 698 0 R (subsubsection.6.4.2.5) 702 0 R] /Limits [(subsubsection.6.3.2.5) (subsubsection.6.4.2.5)] >> endobj 4170 0 obj << /Names [(subsubsection.6.5.2.1) 718 0 R (subsubsection.6.5.2.2) 722 0 R (subsubsection.6.6.1.1) 734 0 R (subsubsection.6.6.1.2) 738 0 R (subsubsection.6.7.1.1) 750 0 R (subsubsection.6.7.1.2) 754 0 R] /Limits [(subsubsection.6.5.2.1) (subsubsection.6.7.1.2)] >> endobj 4171 0 obj << /Names [(subsubsection.6.7.1.3) 758 0 R (subsubsection.6.7.1.4) 762 0 R (subsubsection.6.7.1.5) 766 0 R (subsubsection.6.7.1.6) 770 0 R (subsubsection.6.7.1.7) 774 0 R (subsubsection.6.8.1.1) 786 0 R] /Limits [(subsubsection.6.7.1.3) (subsubsection.6.8.1.1)] >> endobj 4172 0 obj << /Names [(subsubsection.6.8.1.2) 790 0 R (subsubsection.6.9.2.1) 806 0 R (subsubsection.6.9.2.2) 810 0 R (subsubsection.6.9.2.3) 814 0 R (subsubsection.6.9.2.4) 818 0 R (subsubsection.6.9.2.5) 822 0 R] /Limits [(subsubsection.6.8.1.2) (subsubsection.6.9.2.5)] >> endobj 4173 0 obj << /Names [(subsubsection.6.9.2.6) 826 0 R (subsubsection.6.9.2.7) 830 0 R (subsubsection.7.10.2.1) 1430 0 R (subsubsection.7.11.2.1) 1446 0 R (subsubsection.7.11.2.2) 1450 0 R (subsubsection.7.11.3.1) 1458 0 R] /Limits [(subsubsection.6.9.2.6) (subsubsection.7.11.3.1)] >> endobj 4174 0 obj << /Names [(subsubsection.7.11.3.2) 1462 0 R (subsubsection.7.11.4.1) 1470 0 R (subsubsection.7.12.2.1) 1486 0 R (subsubsection.7.13.1.1) 1498 0 R (subsubsection.7.13.1.2) 1502 0 R (subsubsection.7.13.1.3) 1506 0 R] /Limits [(subsubsection.7.11.3.2) (subsubsection.7.13.1.3)] >> endobj 4175 0 obj << /Names [(subsubsection.7.13.2.1) 1514 0 R (subsubsection.7.13.2.2) 1518 0 R (subsubsection.7.13.3.1) 1526 0 R (subsubsection.7.13.3.2) 1530 0 R (subsubsection.7.13.3.3) 1534 0 R (subsubsection.7.13.3.4) 1538 0 R] /Limits [(subsubsection.7.13.2.1) (subsubsection.7.13.3.4)] >> endobj 4176 0 obj << /Names [(subsubsection.7.14.1.1) 1550 0 R (subsubsection.7.2.2.1) 1002 0 R (subsubsection.7.2.2.2) 1006 0 R (subsubsection.7.2.2.3) 1010 0 R (subsubsection.7.2.2.4) 1014 0 R (subsubsection.7.2.3.1) 1022 0 R] /Limits [(subsubsection.7.14.1.1) (subsubsection.7.2.3.1)] >> endobj 4177 0 obj << /Names [(subsubsection.7.2.3.2) 1026 0 R (subsubsection.7.3.2.1) 1042 0 R (subsubsection.7.3.2.2) 1046 0 R (subsubsection.7.3.2.3) 1050 0 R (subsubsection.7.3.2.4) 1054 0 R (subsubsection.7.3.2.5) 1058 0 R] /Limits [(subsubsection.7.2.3.2) (subsubsection.7.3.2.5)] >> endobj 4178 0 obj << /Names [(subsubsection.7.3.2.6) 1062 0 R (subsubsection.7.3.3.1) 1070 0 R (subsubsection.7.3.3.2) 1074 0 R (subsubsection.7.3.4.1) 1082 0 R (subsubsection.7.3.4.2) 1086 0 R (subsubsection.7.3.4.3) 1090 0 R] /Limits [(subsubsection.7.3.2.6) (subsubsection.7.3.4.3)] >> endobj 4179 0 obj << /Names [(subsubsection.7.3.4.4) 1094 0 R (subsubsection.7.4.1.1) 1106 0 R (subsubsection.7.4.1.10) 1142 0 R (subsubsection.7.4.1.2) 1110 0 R (subsubsection.7.4.1.3) 1114 0 R (subsubsection.7.4.1.4) 1118 0 R] /Limits [(subsubsection.7.3.4.4) (subsubsection.7.4.1.4)] >> endobj 4180 0 obj << /Names [(subsubsection.7.4.1.5) 1122 0 R (subsubsection.7.4.1.6) 1126 0 R (subsubsection.7.4.1.7) 1130 0 R (subsubsection.7.4.1.8) 1134 0 R (subsubsection.7.4.1.9) 1138 0 R (subsubsection.7.5.1.1) 1154 0 R] /Limits [(subsubsection.7.4.1.5) (subsubsection.7.5.1.1)] >> endobj 4181 0 obj << /Names [(subsubsection.7.5.1.2) 1158 0 R (subsubsection.7.5.1.3) 1162 0 R (subsubsection.7.5.1.4) 1166 0 R (subsubsection.7.5.1.5) 1170 0 R (subsubsection.7.5.1.6) 1174 0 R (subsubsection.7.5.1.7) 1178 0 R] /Limits [(subsubsection.7.5.1.2) (subsubsection.7.5.1.7)] >> endobj 4182 0 obj << /Names [(subsubsection.7.5.1.8) 1182 0 R (subsubsection.7.5.2.1) 1190 0 R (subsubsection.7.5.3.1) 1198 0 R (subsubsection.7.5.3.2) 1202 0 R (subsubsection.7.5.3.3) 1206 0 R (subsubsection.7.5.3.4) 1210 0 R] /Limits [(subsubsection.7.5.1.8) (subsubsection.7.5.3.4)] >> endobj 4183 0 obj << /Names [(subsubsection.7.5.3.5) 1214 0 R (subsubsection.7.5.3.6) 1218 0 R (subsubsection.7.6.2.1) 1234 0 R (subsubsection.7.8.2.1) 1258 0 R (subsubsection.7.9.2.1) 1274 0 R (subsubsection.7.9.2.10) 1310 0 R] /Limits [(subsubsection.7.5.3.5) (subsubsection.7.9.2.10)] >> endobj 4184 0 obj << /Names [(subsubsection.7.9.2.11) 1314 0 R (subsubsection.7.9.2.12) 1318 0 R (subsubsection.7.9.2.13) 1322 0 R (subsubsection.7.9.2.14) 1326 0 R (subsubsection.7.9.2.15) 1330 0 R (subsubsection.7.9.2.16) 1334 0 R] /Limits [(subsubsection.7.9.2.11) (subsubsection.7.9.2.16)] >> endobj 4185 0 obj << /Names [(subsubsection.7.9.2.17) 1338 0 R (subsubsection.7.9.2.18) 1342 0 R (subsubsection.7.9.2.19) 1346 0 R (subsubsection.7.9.2.2) 1278 0 R (subsubsection.7.9.2.20) 1350 0 R (subsubsection.7.9.2.21) 1354 0 R] /Limits [(subsubsection.7.9.2.17) (subsubsection.7.9.2.21)] >> endobj 4186 0 obj << /Names [(subsubsection.7.9.2.22) 1358 0 R (subsubsection.7.9.2.23) 1362 0 R (subsubsection.7.9.2.24) 1366 0 R (subsubsection.7.9.2.3) 1282 0 R (subsubsection.7.9.2.4) 1286 0 R (subsubsection.7.9.2.5) 1290 0 R] /Limits [(subsubsection.7.9.2.22) (subsubsection.7.9.2.5)] >> endobj 4187 0 obj << /Names [(subsubsection.7.9.2.6) 1294 0 R (subsubsection.7.9.2.7) 1298 0 R (subsubsection.7.9.2.8) 1302 0 R (subsubsection.7.9.2.9) 1306 0 R (subsubsection.7.9.3.1) 1374 0 R (subsubsection.7.9.3.10) 1410 0 R] /Limits [(subsubsection.7.9.2.6) (subsubsection.7.9.3.10)] >> endobj 4188 0 obj << /Names [(subsubsection.7.9.3.11) 1414 0 R (subsubsection.7.9.3.2) 1378 0 R (subsubsection.7.9.3.3) 1382 0 R (subsubsection.7.9.3.4) 1386 0 R (subsubsection.7.9.3.5) 1390 0 R (subsubsection.7.9.3.6) 1394 0 R] /Limits [(subsubsection.7.9.3.11) (subsubsection.7.9.3.6)] >> endobj 4189 0 obj << /Names [(subsubsection.7.9.3.7) 1398 0 R (subsubsection.7.9.3.8) 1402 0 R (subsubsection.7.9.3.9) 1406 0 R (table.5.1) 2161 0 R (table.5.10) 2260 0 R (table.5.11) 2262 0 R] /Limits [(subsubsection.7.9.3.7) (table.5.11)] >> endobj 4190 0 obj << /Names [(table.5.12) 2276 0 R (table.5.13) 2277 0 R (table.5.14) 2291 0 R (table.5.15) 2293 0 R (table.5.16) 2316 0 R (table.5.17) 2318 0 R] /Limits [(table.5.12) (table.5.17)] >> endobj 4191 0 obj << /Names [(table.5.18) 2326 0 R (table.5.19) 2355 0 R (table.5.2) 2162 0 R (table.5.20) 2357 0 R (table.5.21) 2368 0 R (table.5.22) 2369 0 R] /Limits [(table.5.18) (table.5.22)] >> endobj 4192 0 obj << /Names [(table.5.23) 2489 0 R (table.5.24) 2491 0 R (table.5.25) 2493 0 R (table.5.26) 2603 0 R (table.5.27) 2605 0 R (table.5.28) 2619 0 R] /Limits [(table.5.23) (table.5.28)] >> endobj 4193 0 obj << /Names [(table.5.29) 2620 0 R (table.5.3) 2180 0 R (table.5.30) 2621 0 R (table.5.31) 2628 0 R (table.5.32) 2629 0 R (table.5.33) 2638 0 R] /Limits [(table.5.29) (table.5.33)] >> endobj 4194 0 obj << /Names [(table.5.34) 2639 0 R (table.5.35) 2640 0 R (table.5.36) 2648 0 R (table.5.37) 2649 0 R (table.5.38) 2661 0 R (table.5.39) 2662 0 R] /Limits [(table.5.34) (table.5.39)] >> endobj 4195 0 obj << /Names [(table.5.4) 2192 0 R (table.5.40) 2663 0 R (table.5.41) 2673 0 R (table.5.42) 2674 0 R (table.5.43) 2675 0 R (table.5.44) 2687 0 R] /Limits [(table.5.4) (table.5.44)] >> endobj 4196 0 obj << /Names [(table.5.45) 2688 0 R (table.5.46) 2694 0 R (table.5.47) 2807 0 R (table.5.48) 2825 0 R (table.5.49) 2826 0 R (table.5.5) 2193 0 R] /Limits [(table.5.45) (table.5.5)] >> endobj 4197 0 obj << /Names [(table.5.50) 2827 0 R (table.5.51) 2833 0 R (table.5.52) 2834 0 R (table.5.53) 2835 0 R (table.5.54) 2844 0 R (table.5.55) 2845 0 R] /Limits [(table.5.50) (table.5.55)] >> endobj 4198 0 obj << /Names [(table.5.56) 2853 0 R (table.5.57) 2854 0 R (table.5.58) 2855 0 R (table.5.59) 2861 0 R (table.5.6) 2216 0 R (table.5.60) 2862 0 R] /Limits [(table.5.56) (table.5.60)] >> endobj 4199 0 obj << /Names [(table.5.61) 2875 0 R (table.5.62) 2876 0 R (table.5.63) 2877 0 R (table.5.64) 2886 0 R (table.5.65) 2887 0 R (table.5.66) 2888 0 R] /Limits [(table.5.61) (table.5.66)] >> endobj 4200 0 obj << /Names [(table.5.67) 2898 0 R (table.5.68) 2899 0 R (table.5.69) 2900 0 R (table.5.7) 2218 0 R (table.5.70) 2917 0 R (table.5.71) 2919 0 R] /Limits [(table.5.67) (table.5.71)] >> endobj 4201 0 obj << /Names [(table.5.8) 2228 0 R (table.5.9) 2229 0 R (table.7.1) 3465 0 R (table.7.2) 3466 0 R (table.7.3) 3467 0 R (table.7.4) 3473 0 R] /Limits [(table.5.8) (table.7.4)] >> endobj 4202 0 obj << /Names [(table.7.5) 3474 0 R (table.7.6) 3485 0 R (table.7.7) 3486 0 R (table.7.8) 3487 0 R] /Limits [(table.7.5) (table.7.8)] >> endobj 4203 0 obj << /Kids [4040 0 R 4041 0 R 4042 0 R 4043 0 R 4044 0 R 4045 0 R] /Limits [(Doc-Start) (GTGList_8h_a1338d800c732cb3a1c41d1c033bdd857)] >> endobj 4204 0 obj << /Kids [4046 0 R 4047 0 R 4048 0 R 4049 0 R 4050 0 R 4051 0 R] /Limits [(GTGList_8h_a31e8e7dba68376aab7cb547980482f9b) (GTGOTF__Structs_8h_a79fb90b4058ba08f90c48345b160b0d2)] >> endobj 4205 0 obj << /Kids [4052 0 R 4053 0 R 4054 0 R 4055 0 R 4056 0 R 4057 0 R] /Limits [(GTGOTF__Structs_8h_a7b9bb9121b93802031aa77f68bd9862d) (GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200a8ee8f9b1b0a61a693635ac05c86f6ca5)] >> endobj 4206 0 obj << /Kids [4058 0 R 4059 0 R 4060 0 R 4061 0 R 4062 0 R 4063 0 R] /Limits [(GTGPaje__Basic_8h_adbc8257b738b18b790aefd4a260ce200ab6fb9729de93e970e4f0ddc32f8f89d5) (GTGStack_8h_af18fe4176f18a328dea523c5883b00b3)] >> endobj 4207 0 obj << /Kids [4064 0 R 4065 0 R 4066 0 R 4067 0 R 4068 0 R 4069 0 R] /Limits [(GTGStack_8h_afb11b461a0ad113636b1dfcd10120c09) (group__GTGColor_gadce47970948c2b8fed1561b4ad48a77d)] >> endobj 4208 0 obj << /Kids [4070 0 R 4071 0 R 4072 0 R 4073 0 R 4074 0 R 4075 0 R] /Limits [(group__GTGColor_gae5b393a4e0d57100e0809e25ccde762c) (group__cpaje_ga1a280796147680d73b4148de463200a6)] >> endobj 4209 0 obj << /Kids [4076 0 R 4077 0 R 4078 0 R 4079 0 R 4080 0 R 4081 0 R] /Limits [(group__cpaje_ga303effbd4344a2f42872d4e70471250f) (group__procf)] >> endobj 4210 0 obj << /Kids [4082 0 R 4083 0 R 4084 0 R 4085 0 R 4086 0 R 4087 0 R] /Limits [(group__procf_ga463f260c133bb2471aad369b8d1319cb) (page.10)] >> endobj 4211 0 obj << /Kids [4088 0 R 4089 0 R 4090 0 R 4091 0 R 4092 0 R 4093 0 R] /Limits [(page.11) (page.43)] >> endobj 4212 0 obj << /Kids [4094 0 R 4095 0 R 4096 0 R 4097 0 R 4098 0 R 4099 0 R] /Limits [(page.44) (page.76)] >> endobj 4213 0 obj << /Kids [4100 0 R 4101 0 R 4102 0 R 4103 0 R 4104 0 R 4105 0 R] /Limits [(page.77) (section*.29)] >> endobj 4214 0 obj << /Kids [4106 0 R 4107 0 R 4108 0 R 4109 0 R 4110 0 R 4111 0 R] /Limits [(section*.3) (section*.61)] >> endobj 4215 0 obj << /Kids [4112 0 R 4113 0 R 4114 0 R 4115 0 R 4116 0 R 4117 0 R] /Limits [(section*.62) (section.6.7)] >> endobj 4216 0 obj << /Kids [4118 0 R 4119 0 R 4120 0 R 4121 0 R 4122 0 R 4123 0 R] /Limits [(section.6.8) (structEventType_a0c5cf0d1d90a0190925feab828dba2e8)] >> endobj 4217 0 obj << /Kids [4124 0 R 4125 0 R 4126 0 R 4127 0 R 4128 0 R 4129 0 R] /Limits [(structEventType_a29c1aa6026157172fa5c5425105be105) (structVariable_a659e966bd442dbde52df805e15005bf9)] >> endobj 4218 0 obj << /Kids [4130 0 R 4131 0 R 4132 0 R 4133 0 R 4134 0 R 4135 0 R] /Limits [(structVariable_a7e8220b03f0a1eb35030f642eb8c4fb8) (subsection.5.8.2)] >> endobj 4219 0 obj << /Kids [4136 0 R 4137 0 R 4138 0 R 4139 0 R 4140 0 R 4141 0 R] /Limits [(subsection.5.9.1) (subsection.7.14.1)] >> endobj 4220 0 obj << /Kids [4142 0 R 4143 0 R 4144 0 R 4145 0 R 4146 0 R 4147 0 R] /Limits [(subsection.7.2.1) (subsubsection.5.10.1.2)] >> endobj 4221 0 obj << /Kids [4148 0 R 4149 0 R 4150 0 R 4151 0 R 4152 0 R 4153 0 R] /Limits [(subsubsection.5.10.1.20) (subsubsection.5.12.1.1)] >> endobj 4222 0 obj << /Kids [4154 0 R 4155 0 R 4156 0 R 4157 0 R 4158 0 R 4159 0 R] /Limits [(subsubsection.5.12.1.2) (subsubsection.5.8.2.16)] >> endobj 4223 0 obj << /Kids [4160 0 R 4161 0 R 4162 0 R 4163 0 R 4164 0 R 4165 0 R] /Limits [(subsubsection.5.8.2.17) (subsubsection.6.12.2.5)] >> endobj 4224 0 obj << /Kids [4166 0 R 4167 0 R 4168 0 R 4169 0 R 4170 0 R 4171 0 R] /Limits [(subsubsection.6.13.1.1) (subsubsection.6.8.1.1)] >> endobj 4225 0 obj << /Kids [4172 0 R 4173 0 R 4174 0 R 4175 0 R 4176 0 R 4177 0 R] /Limits [(subsubsection.6.8.1.2) (subsubsection.7.3.2.5)] >> endobj 4226 0 obj << /Kids [4178 0 R 4179 0 R 4180 0 R 4181 0 R 4182 0 R 4183 0 R] /Limits [(subsubsection.7.3.2.6) (subsubsection.7.9.2.10)] >> endobj 4227 0 obj << /Kids [4184 0 R 4185 0 R 4186 0 R 4187 0 R 4188 0 R 4189 0 R] /Limits [(subsubsection.7.9.2.11) (table.5.11)] >> endobj 4228 0 obj << /Kids [4190 0 R 4191 0 R 4192 0 R 4193 0 R 4194 0 R 4195 0 R] /Limits [(table.5.12) (table.5.44)] >> endobj 4229 0 obj << /Kids [4196 0 R 4197 0 R 4198 0 R 4199 0 R 4200 0 R 4201 0 R] /Limits [(table.5.45) (table.7.4)] >> endobj 4230 0 obj << /Kids [4202 0 R] /Limits [(table.7.5) (table.7.8)] >> endobj 4231 0 obj << /Kids [4203 0 R 4204 0 R 4205 0 R 4206 0 R 4207 0 R 4208 0 R] /Limits [(Doc-Start) (group__cpaje_ga1a280796147680d73b4148de463200a6)] >> endobj 4232 0 obj << /Kids [4209 0 R 4210 0 R 4211 0 R 4212 0 R 4213 0 R 4214 0 R] /Limits [(group__cpaje_ga303effbd4344a2f42872d4e70471250f) (section*.61)] >> endobj 4233 0 obj << /Kids [4215 0 R 4216 0 R 4217 0 R 4218 0 R 4219 0 R 4220 0 R] /Limits [(section*.62) (subsubsection.5.10.1.2)] >> endobj 4234 0 obj << /Kids [4221 0 R 4222 0 R 4223 0 R 4224 0 R 4225 0 R 4226 0 R] /Limits [(subsubsection.5.10.1.20) (subsubsection.7.9.2.10)] >> endobj 4235 0 obj << /Kids [4227 0 R 4228 0 R 4229 0 R 4230 0 R] /Limits [(subsubsection.7.9.2.11) (table.7.8)] >> endobj 4236 0 obj << /Kids [4231 0 R 4232 0 R 4233 0 R 4234 0 R 4235 0 R] /Limits [(Doc-Start) (table.7.8)] >> endobj 4237 0 obj << /Dests 4236 0 R >> endobj 4238 0 obj << /Type /Catalog /Pages 4038 0 R /Outlines 4039 0 R /Names 4237 0 R /PageMode/UseOutlines/PageLabels<>2<>14<>]>> /OpenAction 1553 0 R >> endobj 4239 0 obj << /Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.10)/Keywords() /CreationDate (D:20120424102923+02'00') /ModDate (D:20120424102923+02'00') /Trapped /False /PTEX.Fullbanner (This is pdfTeX, Version 3.1415926-1.40.10-2.2 (TeX Live 2009/Debian) kpathsea version 5.0.0) >> endobj xref 0 4240 0000000000 65535 f 0000000015 00000 n 0000147353 00000 n 0000714742 00000 n 0000000060 00000 n 0000000167 00000 n 0000147538 00000 n 0000714685 00000 n 0000000214 00000 n 0000000300 00000 n 0000151365 00000 n 0000714561 00000 n 0000000345 00000 n 0000000435 00000 n 0000151426 00000 n 0000714500 00000 n 0000000483 00000 n 0000000545 00000 n 0000157693 00000 n 0000714374 00000 n 0000000591 00000 n 0000000724 00000 n 0000157754 00000 n 0000714313 00000 n 0000000772 00000 n 0000000877 00000 n 0000164390 00000 n 0000714187 00000 n 0000000923 00000 n 0000001003 00000 n 0000164451 00000 n 0000714126 00000 n 0000001051 00000 n 0000001126 00000 n 0000168702 00000 n 0000713997 00000 n 0000001172 00000 n 0000001302 00000 n 0000168826 00000 n 0000713886 00000 n 0000001350 00000 n 0000001473 00000 n 0000169012 00000 n 0000713775 00000 n 0000001526 00000 n 0000001709 00000 n 0000169136 00000 n 0000713714 00000 n 0000001767 00000 n 0000001839 00000 n 0000170892 00000 n 0000713603 00000 n 0000001892 00000 n 0000002032 00000 n 0000171018 00000 n 0000713529 00000 n 0000002090 00000 n 0000002222 00000 n 0000171144 00000 n 0000713442 00000 n 0000002280 00000 n 0000002342 00000 n 0000171333 00000 n 0000713355 00000 n 0000002400 00000 n 0000002487 00000 n 0000171459 00000 n 0000713281 00000 n 0000002545 00000 n 0000002632 00000 n 0000175655 00000 n 0000713157 00000 n 0000002680 00000 n 0000002903 00000 n 0000175779 00000 n 0000713059 00000 n 0000002956 00000 n 0000003096 00000 n 0000175903 00000 n 0000712985 00000 n 0000003154 00000 n 0000003251 00000 n 0000176089 00000 n 0000712898 00000 n 0000003309 00000 n 0000003376 00000 n 0000176213 00000 n 0000712811 00000 n 0000003434 00000 n 0000003506 00000 n 0000177811 00000 n 0000712737 00000 n 0000003564 00000 n 0000003646 00000 n 0000183037 00000 n 0000712612 00000 n 0000003694 00000 n 0000003908 00000 n 0000183161 00000 n 0000712511 00000 n 0000003961 00000 n 0000004102 00000 n 0000183284 00000 n 0000712433 00000 n 0000004161 00000 n 0000004239 00000 n 0000183472 00000 n 0000712341 00000 n 0000004298 00000 n 0000004386 00000 n 0000185630 00000 n 0000712249 00000 n 0000004445 00000 n 0000004528 00000 n 0000185821 00000 n 0000712171 00000 n 0000004587 00000 n 0000004695 00000 n 0000192297 00000 n 0000712041 00000 n 0000004744 00000 n 0000004939 00000 n 0000192422 00000 n 0000711937 00000 n 0000004993 00000 n 0000005134 00000 n 0000192547 00000 n 0000711858 00000 n 0000005193 00000 n 0000005281 00000 n 0000192735 00000 n 0000711765 00000 n 0000005340 00000 n 0000005408 00000 n 0000195748 00000 n 0000711672 00000 n 0000005467 00000 n 0000005540 00000 n 0000195939 00000 n 0000711593 00000 n 0000005599 00000 n 0000005667 00000 n 0000199307 00000 n 0000711462 00000 n 0000005716 00000 n 0000005911 00000 n 0000199432 00000 n 0000711358 00000 n 0000005965 00000 n 0000006106 00000 n 0000199557 00000 n 0000711279 00000 n 0000006165 00000 n 0000006233 00000 n 0000199745 00000 n 0000711200 00000 n 0000006292 00000 n 0000006380 00000 n 0000204877 00000 n 0000711069 00000 n 0000006429 00000 n 0000006596 00000 n 0000205004 00000 n 0000710965 00000 n 0000006650 00000 n 0000006791 00000 n 0000205131 00000 n 0000710886 00000 n 0000006850 00000 n 0000006933 00000 n 0000205321 00000 n 0000710793 00000 n 0000006992 00000 n 0000007055 00000 n 0000207598 00000 n 0000710714 00000 n 0000007114 00000 n 0000007187 00000 n 0000213904 00000 n 0000710583 00000 n 0000007236 00000 n 0000007423 00000 n 0000214031 00000 n 0000710479 00000 n 0000007477 00000 n 0000007618 00000 n 0000214157 00000 n 0000710400 00000 n 0000007677 00000 n 0000007735 00000 n 0000214347 00000 n 0000710307 00000 n 0000007794 00000 n 0000007872 00000 n 0000216886 00000 n 0000710214 00000 n 0000007931 00000 n 0000007989 00000 n 0000217074 00000 n 0000710135 00000 n 0000008048 00000 n 0000008106 00000 n 0000224945 00000 n 0000710004 00000 n 0000008155 00000 n 0000008302 00000 n 0000231181 00000 n 0000709886 00000 n 0000008356 00000 n 0000008497 00000 n 0000231306 00000 n 0000709807 00000 n 0000008556 00000 n 0000008683 00000 n 0000231431 00000 n 0000709714 00000 n 0000008742 00000 n 0000008874 00000 n 0000231554 00000 n 0000709621 00000 n 0000008933 00000 n 0000009055 00000 n 0000231679 00000 n 0000709542 00000 n 0000009114 00000 n 0000009246 00000 n 0000232803 00000 n 0000709423 00000 n 0000009300 00000 n 0000009441 00000 n 0000232929 00000 n 0000709344 00000 n 0000009500 00000 n 0000009576 00000 n 0000233055 00000 n 0000709251 00000 n 0000009635 00000 n 0000009706 00000 n 0000233182 00000 n 0000709158 00000 n 0000009765 00000 n 0000009841 00000 n 0000233309 00000 n 0000709065 00000 n 0000009900 00000 n 0000009991 00000 n 0000233436 00000 n 0000708972 00000 n 0000010050 00000 n 0000010141 00000 n 0000233563 00000 n 0000708879 00000 n 0000010200 00000 n 0000010291 00000 n 0000233690 00000 n 0000708786 00000 n 0000010350 00000 n 0000010426 00000 n 0000233817 00000 n 0000708693 00000 n 0000010485 00000 n 0000010566 00000 n 0000233943 00000 n 0000708600 00000 n 0000010625 00000 n 0000010696 00000 n 0000234070 00000 n 0000708507 00000 n 0000010756 00000 n 0000010857 00000 n 0000235191 00000 n 0000708414 00000 n 0000010917 00000 n 0000011013 00000 n 0000235316 00000 n 0000708321 00000 n 0000011073 00000 n 0000011169 00000 n 0000235441 00000 n 0000708228 00000 n 0000011229 00000 n 0000011305 00000 n 0000235566 00000 n 0000708135 00000 n 0000011365 00000 n 0000011446 00000 n 0000235689 00000 n 0000708042 00000 n 0000011506 00000 n 0000011577 00000 n 0000235814 00000 n 0000707949 00000 n 0000011637 00000 n 0000011718 00000 n 0000235939 00000 n 0000707856 00000 n 0000011778 00000 n 0000011844 00000 n 0000236064 00000 n 0000707763 00000 n 0000011904 00000 n 0000011995 00000 n 0000236189 00000 n 0000707670 00000 n 0000012055 00000 n 0000012141 00000 n 0000236314 00000 n 0000707577 00000 n 0000012201 00000 n 0000012272 00000 n 0000237232 00000 n 0000707484 00000 n 0000012332 00000 n 0000012408 00000 n 0000237359 00000 n 0000707405 00000 n 0000012468 00000 n 0000012549 00000 n 0000240715 00000 n 0000707274 00000 n 0000012598 00000 n 0000012714 00000 n 0000240840 00000 n 0000707170 00000 n 0000012768 00000 n 0000012909 00000 n 0000240965 00000 n 0000707091 00000 n 0000012968 00000 n 0000013072 00000 n 0000241152 00000 n 0000706998 00000 n 0000013131 00000 n 0000013245 00000 n 0000241340 00000 n 0000706919 00000 n 0000013304 00000 n 0000013446 00000 n 0000253522 00000 n 0000706788 00000 n 0000013496 00000 n 0000013790 00000 n 0000261394 00000 n 0000706683 00000 n 0000013845 00000 n 0000013986 00000 n 0000261518 00000 n 0000706604 00000 n 0000014046 00000 n 0000014145 00000 n 0000261706 00000 n 0000706511 00000 n 0000014205 00000 n 0000014298 00000 n 0000264230 00000 n 0000706418 00000 n 0000014358 00000 n 0000014456 00000 n 0000264421 00000 n 0000706325 00000 n 0000014516 00000 n 0000014629 00000 n 0000264612 00000 n 0000706232 00000 n 0000014689 00000 n 0000014772 00000 n 0000266940 00000 n 0000706139 00000 n 0000014832 00000 n 0000014935 00000 n 0000267128 00000 n 0000706046 00000 n 0000014995 00000 n 0000015093 00000 n 0000267316 00000 n 0000705953 00000 n 0000015153 00000 n 0000015256 00000 n 0000269852 00000 n 0000705860 00000 n 0000015316 00000 n 0000015389 00000 n 0000270043 00000 n 0000705767 00000 n 0000015450 00000 n 0000015543 00000 n 0000272763 00000 n 0000705674 00000 n 0000015604 00000 n 0000015727 00000 n 0000272951 00000 n 0000705581 00000 n 0000015788 00000 n 0000015866 00000 n 0000273139 00000 n 0000705488 00000 n 0000015927 00000 n 0000016010 00000 n 0000276419 00000 n 0000705395 00000 n 0000016071 00000 n 0000016159 00000 n 0000276609 00000 n 0000705302 00000 n 0000016220 00000 n 0000016303 00000 n 0000276799 00000 n 0000705209 00000 n 0000016364 00000 n 0000016452 00000 n 0000279702 00000 n 0000705116 00000 n 0000016513 00000 n 0000016611 00000 n 0000279890 00000 n 0000705023 00000 n 0000016672 00000 n 0000016755 00000 n 0000280077 00000 n 0000704930 00000 n 0000016816 00000 n 0000016889 00000 n 0000283391 00000 n 0000704837 00000 n 0000016950 00000 n 0000017063 00000 n 0000283582 00000 n 0000704744 00000 n 0000017124 00000 n 0000017212 00000 n 0000283773 00000 n 0000704665 00000 n 0000017273 00000 n 0000017346 00000 n 0000296066 00000 n 0000704534 00000 n 0000017396 00000 n 0000017645 00000 n 0000306138 00000 n 0000704429 00000 n 0000017700 00000 n 0000017841 00000 n 0000306262 00000 n 0000704350 00000 n 0000017901 00000 n 0000018005 00000 n 0000306450 00000 n 0000704257 00000 n 0000018065 00000 n 0000018163 00000 n 0000309060 00000 n 0000704164 00000 n 0000018223 00000 n 0000018331 00000 n 0000309251 00000 n 0000704071 00000 n 0000018391 00000 n 0000018494 00000 n 0000309442 00000 n 0000703978 00000 n 0000018554 00000 n 0000018672 00000 n 0000311787 00000 n 0000703885 00000 n 0000018732 00000 n 0000018820 00000 n 0000311975 00000 n 0000703792 00000 n 0000018880 00000 n 0000018988 00000 n 0000314518 00000 n 0000703699 00000 n 0000019048 00000 n 0000019151 00000 n 0000314705 00000 n 0000703606 00000 n 0000019211 00000 n 0000019319 00000 n 0000314895 00000 n 0000703513 00000 n 0000019380 00000 n 0000019458 00000 n 0000317448 00000 n 0000703420 00000 n 0000019519 00000 n 0000019617 00000 n 0000317636 00000 n 0000703327 00000 n 0000019678 00000 n 0000019806 00000 n 0000317824 00000 n 0000703234 00000 n 0000019867 00000 n 0000019950 00000 n 0000320223 00000 n 0000703141 00000 n 0000020011 00000 n 0000020099 00000 n 0000320350 00000 n 0000703048 00000 n 0000020160 00000 n 0000020243 00000 n 0000320541 00000 n 0000702955 00000 n 0000020304 00000 n 0000020397 00000 n 0000323898 00000 n 0000702862 00000 n 0000020458 00000 n 0000020546 00000 n 0000324086 00000 n 0000702769 00000 n 0000020607 00000 n 0000020700 00000 n 0000324274 00000 n 0000702676 00000 n 0000020761 00000 n 0000020884 00000 n 0000327300 00000 n 0000702583 00000 n 0000020945 00000 n 0000021048 00000 n 0000327491 00000 n 0000702490 00000 n 0000021109 00000 n 0000021197 00000 n 0000330731 00000 n 0000702397 00000 n 0000021258 00000 n 0000021336 00000 n 0000330919 00000 n 0000702304 00000 n 0000021397 00000 n 0000021490 00000 n 0000331107 00000 n 0000702211 00000 n 0000021551 00000 n 0000021629 00000 n 0000332190 00000 n 0000702132 00000 n 0000021690 00000 n 0000021778 00000 n 0000334714 00000 n 0000702001 00000 n 0000021828 00000 n 0000022151 00000 n 0000334839 00000 n 0000701897 00000 n 0000022206 00000 n 0000022347 00000 n 0000334964 00000 n 0000701818 00000 n 0000022407 00000 n 0000022488 00000 n 0000335152 00000 n 0000701739 00000 n 0000022548 00000 n 0000022662 00000 n 0000338499 00000 n 0000701622 00000 n 0000022712 00000 n 0000022793 00000 n 0000338690 00000 n 0000701504 00000 n 0000022848 00000 n 0000022984 00000 n 0000338816 00000 n 0000701439 00000 n 0000023044 00000 n 0000023107 00000 n 0000338878 00000 n 0000701321 00000 n 0000023162 00000 n 0000023346 00000 n 0000339005 00000 n 0000701256 00000 n 0000023406 00000 n 0000023510 00000 n 0000342024 00000 n 0000701123 00000 n 0000023557 00000 n 0000023731 00000 n 0000342149 00000 n 0000701005 00000 n 0000023780 00000 n 0000023944 00000 n 0000342274 00000 n 0000700926 00000 n 0000023998 00000 n 0000024129 00000 n 0000342336 00000 n 0000700808 00000 n 0000024183 00000 n 0000024309 00000 n 0000342461 00000 n 0000700729 00000 n 0000024368 00000 n 0000024421 00000 n 0000342586 00000 n 0000700636 00000 n 0000024480 00000 n 0000024538 00000 n 0000342711 00000 n 0000700543 00000 n 0000024597 00000 n 0000024635 00000 n 0000342835 00000 n 0000700450 00000 n 0000024694 00000 n 0000024742 00000 n 0000342959 00000 n 0000700357 00000 n 0000024801 00000 n 0000024887 00000 n 0000343084 00000 n 0000700278 00000 n 0000024946 00000 n 0000024999 00000 n 0000347040 00000 n 0000700146 00000 n 0000025048 00000 n 0000025232 00000 n 0000347167 00000 n 0000700042 00000 n 0000025286 00000 n 0000025412 00000 n 0000347294 00000 n 0000699963 00000 n 0000025471 00000 n 0000025524 00000 n 0000347421 00000 n 0000699870 00000 n 0000025583 00000 n 0000025621 00000 n 0000347548 00000 n 0000699777 00000 n 0000025680 00000 n 0000025728 00000 n 0000347675 00000 n 0000699698 00000 n 0000025787 00000 n 0000025840 00000 n 0000347802 00000 n 0000699566 00000 n 0000025889 00000 n 0000026063 00000 n 0000350837 00000 n 0000699487 00000 n 0000026117 00000 n 0000026248 00000 n 0000350899 00000 n 0000699369 00000 n 0000026302 00000 n 0000026428 00000 n 0000351024 00000 n 0000699290 00000 n 0000026487 00000 n 0000026540 00000 n 0000351149 00000 n 0000699197 00000 n 0000026599 00000 n 0000026662 00000 n 0000351274 00000 n 0000699104 00000 n 0000026721 00000 n 0000026759 00000 n 0000351399 00000 n 0000699011 00000 n 0000026818 00000 n 0000026866 00000 n 0000351524 00000 n 0000698932 00000 n 0000026925 00000 n 0000026978 00000 n 0000351648 00000 n 0000698800 00000 n 0000027027 00000 n 0000027191 00000 n 0000351773 00000 n 0000698721 00000 n 0000027245 00000 n 0000027376 00000 n 0000351835 00000 n 0000698603 00000 n 0000027430 00000 n 0000027556 00000 n 0000351960 00000 n 0000698524 00000 n 0000027615 00000 n 0000027668 00000 n 0000352085 00000 n 0000698431 00000 n 0000027727 00000 n 0000027795 00000 n 0000352210 00000 n 0000698338 00000 n 0000027854 00000 n 0000027892 00000 n 0000352335 00000 n 0000698245 00000 n 0000027951 00000 n 0000027999 00000 n 0000354948 00000 n 0000698166 00000 n 0000028058 00000 n 0000028111 00000 n 0000355075 00000 n 0000698034 00000 n 0000028160 00000 n 0000028327 00000 n 0000355201 00000 n 0000697955 00000 n 0000028381 00000 n 0000028512 00000 n 0000355264 00000 n 0000697837 00000 n 0000028566 00000 n 0000028692 00000 n 0000355391 00000 n 0000697758 00000 n 0000028751 00000 n 0000028832 00000 n 0000355518 00000 n 0000697679 00000 n 0000028891 00000 n 0000028934 00000 n 0000355645 00000 n 0000697547 00000 n 0000028983 00000 n 0000029145 00000 n 0000359594 00000 n 0000697443 00000 n 0000029199 00000 n 0000029325 00000 n 0000359719 00000 n 0000697364 00000 n 0000029384 00000 n 0000029432 00000 n 0000359844 00000 n 0000697285 00000 n 0000029491 00000 n 0000029539 00000 n 0000359969 00000 n 0000697153 00000 n 0000029588 00000 n 0000029760 00000 n 0000360094 00000 n 0000697049 00000 n 0000029814 00000 n 0000029940 00000 n 0000360219 00000 n 0000696970 00000 n 0000029999 00000 n 0000030075 00000 n 0000360344 00000 n 0000696877 00000 n 0000030134 00000 n 0000030220 00000 n 0000360469 00000 n 0000696784 00000 n 0000030279 00000 n 0000030360 00000 n 0000360594 00000 n 0000696691 00000 n 0000030419 00000 n 0000030495 00000 n 0000360719 00000 n 0000696598 00000 n 0000030554 00000 n 0000030630 00000 n 0000360844 00000 n 0000696505 00000 n 0000030689 00000 n 0000030755 00000 n 0000360969 00000 n 0000696426 00000 n 0000030814 00000 n 0000030905 00000 n 0000364943 00000 n 0000696294 00000 n 0000030954 00000 n 0000031093 00000 n 0000365070 00000 n 0000696190 00000 n 0000031147 00000 n 0000031273 00000 n 0000365197 00000 n 0000696111 00000 n 0000031332 00000 n 0000031375 00000 n 0000365324 00000 n 0000696032 00000 n 0000031434 00000 n 0000031482 00000 n 0000365451 00000 n 0000695900 00000 n 0000031531 00000 n 0000031690 00000 n 0000365578 00000 n 0000695821 00000 n 0000031744 00000 n 0000031875 00000 n 0000368236 00000 n 0000695703 00000 n 0000031929 00000 n 0000032055 00000 n 0000368361 00000 n 0000695624 00000 n 0000032114 00000 n 0000032167 00000 n 0000368486 00000 n 0000695531 00000 n 0000032226 00000 n 0000032294 00000 n 0000368611 00000 n 0000695438 00000 n 0000032353 00000 n 0000032421 00000 n 0000368736 00000 n 0000695345 00000 n 0000032480 00000 n 0000032518 00000 n 0000368861 00000 n 0000695252 00000 n 0000032577 00000 n 0000032625 00000 n 0000368985 00000 n 0000695159 00000 n 0000032684 00000 n 0000032747 00000 n 0000369109 00000 n 0000695080 00000 n 0000032806 00000 n 0000032859 00000 n 0000369234 00000 n 0000694948 00000 n 0000032909 00000 n 0000033076 00000 n 0000369359 00000 n 0000694844 00000 n 0000033131 00000 n 0000033257 00000 n 0000369484 00000 n 0000694765 00000 n 0000033317 00000 n 0000033365 00000 n 0000369609 00000 n 0000694672 00000 n 0000033425 00000 n 0000033488 00000 n 0000369734 00000 n 0000694579 00000 n 0000033548 00000 n 0000033601 00000 n 0000369859 00000 n 0000694500 00000 n 0000033661 00000 n 0000033704 00000 n 0000373629 00000 n 0000694368 00000 n 0000033754 00000 n 0000033898 00000 n 0000373756 00000 n 0000694289 00000 n 0000033953 00000 n 0000034084 00000 n 0000373817 00000 n 0000694171 00000 n 0000034139 00000 n 0000034265 00000 n 0000373944 00000 n 0000694092 00000 n 0000034325 00000 n 0000034373 00000 n 0000374071 00000 n 0000693999 00000 n 0000034433 00000 n 0000034506 00000 n 0000374198 00000 n 0000693906 00000 n 0000034566 00000 n 0000034619 00000 n 0000374324 00000 n 0000693827 00000 n 0000034679 00000 n 0000034732 00000 n 0000374450 00000 n 0000693695 00000 n 0000034782 00000 n 0000034946 00000 n 0000377313 00000 n 0000693616 00000 n 0000035001 00000 n 0000035132 00000 n 0000377375 00000 n 0000693498 00000 n 0000035187 00000 n 0000035313 00000 n 0000377500 00000 n 0000693419 00000 n 0000035373 00000 n 0000035426 00000 n 0000377625 00000 n 0000693326 00000 n 0000035486 00000 n 0000035549 00000 n 0000377750 00000 n 0000693233 00000 n 0000035609 00000 n 0000035647 00000 n 0000377875 00000 n 0000693140 00000 n 0000035707 00000 n 0000035755 00000 n 0000378000 00000 n 0000693061 00000 n 0000035815 00000 n 0000035868 00000 n 0000378125 00000 n 0000692929 00000 n 0000035918 00000 n 0000036077 00000 n 0000378250 00000 n 0000692825 00000 n 0000036132 00000 n 0000036258 00000 n 0000378375 00000 n 0000692746 00000 n 0000036318 00000 n 0000036356 00000 n 0000378500 00000 n 0000692653 00000 n 0000036416 00000 n 0000036474 00000 n 0000378625 00000 n 0000692560 00000 n 0000036534 00000 n 0000036587 00000 n 0000378750 00000 n 0000692467 00000 n 0000036647 00000 n 0000036695 00000 n 0000378875 00000 n 0000692388 00000 n 0000036755 00000 n 0000036808 00000 n 0000381881 00000 n 0000692270 00000 n 0000036858 00000 n 0000037037 00000 n 0000382008 00000 n 0000692191 00000 n 0000037092 00000 n 0000037223 00000 n 0000382071 00000 n 0000692073 00000 n 0000037278 00000 n 0000037404 00000 n 0000382197 00000 n 0000691994 00000 n 0000037464 00000 n 0000037517 00000 n 0000382323 00000 n 0000691901 00000 n 0000037577 00000 n 0000037645 00000 n 0000382450 00000 n 0000691808 00000 n 0000037705 00000 n 0000037743 00000 n 0000382577 00000 n 0000691715 00000 n 0000037803 00000 n 0000037851 00000 n 0000382704 00000 n 0000691636 00000 n 0000037911 00000 n 0000037964 00000 n 0000385417 00000 n 0000691515 00000 n 0000038011 00000 n 0000038132 00000 n 0000385542 00000 n 0000691397 00000 n 0000038181 00000 n 0000038315 00000 n 0000385604 00000 n 0000691332 00000 n 0000038369 00000 n 0000038500 00000 n 0000385729 00000 n 0000691198 00000 n 0000038549 00000 n 0000038708 00000 n 0000410839 00000 n 0000691119 00000 n 0000038762 00000 n 0000038893 00000 n 0000410902 00000 n 0000690983 00000 n 0000038947 00000 n 0000039079 00000 n 0000411029 00000 n 0000690900 00000 n 0000039139 00000 n 0000039239 00000 n 0000411157 00000 n 0000690802 00000 n 0000039299 00000 n 0000039409 00000 n 0000411285 00000 n 0000690704 00000 n 0000039469 00000 n 0000039599 00000 n 0000411411 00000 n 0000690621 00000 n 0000039659 00000 n 0000039777 00000 n 0000411475 00000 n 0000690498 00000 n 0000039832 00000 n 0000039969 00000 n 0000411602 00000 n 0000690414 00000 n 0000040029 00000 n 0000040114 00000 n 0000418176 00000 n 0000690330 00000 n 0000040174 00000 n 0000040261 00000 n 0000418302 00000 n 0000690192 00000 n 0000040311 00000 n 0000040471 00000 n 0000431024 00000 n 0000690108 00000 n 0000040526 00000 n 0000040658 00000 n 0000431087 00000 n 0000689968 00000 n 0000040713 00000 n 0000040845 00000 n 0000431213 00000 n 0000689884 00000 n 0000040905 00000 n 0000041038 00000 n 0000431339 00000 n 0000689785 00000 n 0000041098 00000 n 0000041226 00000 n 0000431465 00000 n 0000689686 00000 n 0000041286 00000 n 0000041424 00000 n 0000431591 00000 n 0000689587 00000 n 0000041484 00000 n 0000041617 00000 n 0000431717 00000 n 0000689488 00000 n 0000041677 00000 n 0000041805 00000 n 0000431843 00000 n 0000689404 00000 n 0000041865 00000 n 0000041988 00000 n 0000431906 00000 n 0000689264 00000 n 0000042043 00000 n 0000042180 00000 n 0000432032 00000 n 0000689180 00000 n 0000042240 00000 n 0000042330 00000 n 0000432158 00000 n 0000689096 00000 n 0000042390 00000 n 0000042503 00000 n 0000432221 00000 n 0000688971 00000 n 0000042558 00000 n 0000042700 00000 n 0000432347 00000 n 0000688887 00000 n 0000042760 00000 n 0000042875 00000 n 0000432473 00000 n 0000688788 00000 n 0000042935 00000 n 0000043040 00000 n 0000432598 00000 n 0000688689 00000 n 0000043100 00000 n 0000043205 00000 n 0000432723 00000 n 0000688605 00000 n 0000043265 00000 n 0000043370 00000 n 0000432849 00000 n 0000688466 00000 n 0000043420 00000 n 0000043595 00000 n 0000437827 00000 n 0000688355 00000 n 0000043650 00000 n 0000043792 00000 n 0000437955 00000 n 0000688271 00000 n 0000043852 00000 n 0000043967 00000 n 0000438083 00000 n 0000688172 00000 n 0000044027 00000 n 0000044142 00000 n 0000438211 00000 n 0000688073 00000 n 0000044202 00000 n 0000044322 00000 n 0000438339 00000 n 0000687974 00000 n 0000044382 00000 n 0000044497 00000 n 0000438467 00000 n 0000687875 00000 n 0000044557 00000 n 0000044672 00000 n 0000438595 00000 n 0000687776 00000 n 0000044732 00000 n 0000044857 00000 n 0000438723 00000 n 0000687677 00000 n 0000044917 00000 n 0000045042 00000 n 0000438851 00000 n 0000687578 00000 n 0000045102 00000 n 0000045232 00000 n 0000438979 00000 n 0000687479 00000 n 0000045292 00000 n 0000045417 00000 n 0000439107 00000 n 0000687395 00000 n 0000045478 00000 n 0000045603 00000 n 0000439235 00000 n 0000687256 00000 n 0000045653 00000 n 0000045808 00000 n 0000446692 00000 n 0000687131 00000 n 0000045863 00000 n 0000045995 00000 n 0000446818 00000 n 0000687047 00000 n 0000046055 00000 n 0000046127 00000 n 0000449939 00000 n 0000686948 00000 n 0000046187 00000 n 0000046292 00000 n 0000450131 00000 n 0000686849 00000 n 0000046352 00000 n 0000046475 00000 n 0000450258 00000 n 0000686750 00000 n 0000046535 00000 n 0000046691 00000 n 0000450450 00000 n 0000686651 00000 n 0000046751 00000 n 0000046935 00000 n 0000453027 00000 n 0000686552 00000 n 0000046995 00000 n 0000047161 00000 n 0000453153 00000 n 0000686453 00000 n 0000047221 00000 n 0000047372 00000 n 0000453279 00000 n 0000686369 00000 n 0000047432 00000 n 0000047532 00000 n 0000453405 00000 n 0000686229 00000 n 0000047587 00000 n 0000047724 00000 n 0000453530 00000 n 0000686160 00000 n 0000047784 00000 n 0000047869 00000 n 0000453592 00000 n 0000686035 00000 n 0000047924 00000 n 0000048066 00000 n 0000453718 00000 n 0000685951 00000 n 0000048126 00000 n 0000048237 00000 n 0000453844 00000 n 0000685852 00000 n 0000048297 00000 n 0000048408 00000 n 0000453970 00000 n 0000685753 00000 n 0000048468 00000 n 0000048563 00000 n 0000456595 00000 n 0000685654 00000 n 0000048623 00000 n 0000048746 00000 n 0000456787 00000 n 0000685555 00000 n 0000048806 00000 n 0000048901 00000 n 0000456979 00000 n 0000685471 00000 n 0000048961 00000 n 0000049061 00000 n 0000457106 00000 n 0000685332 00000 n 0000049111 00000 n 0000049276 00000 n 0000461523 00000 n 0000685248 00000 n 0000049331 00000 n 0000049463 00000 n 0000461586 00000 n 0000685123 00000 n 0000049518 00000 n 0000049655 00000 n 0000461712 00000 n 0000685054 00000 n 0000049715 00000 n 0000049810 00000 n 0000461838 00000 n 0000684915 00000 n 0000049860 00000 n 0000050010 00000 n 0000461901 00000 n 0000684846 00000 n 0000050065 00000 n 0000050197 00000 n 0000471811 00000 n 0000684707 00000 n 0000050247 00000 n 0000050430 00000 n 0000483580 00000 n 0000684623 00000 n 0000050485 00000 n 0000050617 00000 n 0000490597 00000 n 0000684498 00000 n 0000050672 00000 n 0000050814 00000 n 0000490725 00000 n 0000684429 00000 n 0000050874 00000 n 0000050993 00000 n 0000490853 00000 n 0000684290 00000 n 0000051043 00000 n 0000051236 00000 n 0000499659 00000 n 0000684206 00000 n 0000051291 00000 n 0000051423 00000 n 0000499722 00000 n 0000684065 00000 n 0000051478 00000 n 0000051610 00000 n 0000499846 00000 n 0000683981 00000 n 0000051670 00000 n 0000051790 00000 n 0000501912 00000 n 0000683882 00000 n 0000051850 00000 n 0000051937 00000 n 0000502040 00000 n 0000683783 00000 n 0000051997 00000 n 0000052089 00000 n 0000502167 00000 n 0000683684 00000 n 0000052149 00000 n 0000052251 00000 n 0000502295 00000 n 0000683585 00000 n 0000052311 00000 n 0000052408 00000 n 0000502423 00000 n 0000683486 00000 n 0000052468 00000 n 0000052585 00000 n 0000502551 00000 n 0000683387 00000 n 0000052645 00000 n 0000052752 00000 n 0000502679 00000 n 0000683288 00000 n 0000052812 00000 n 0000052909 00000 n 0000504296 00000 n 0000683189 00000 n 0000052969 00000 n 0000053056 00000 n 0000504422 00000 n 0000683090 00000 n 0000053117 00000 n 0000053219 00000 n 0000504548 00000 n 0000682991 00000 n 0000053280 00000 n 0000053402 00000 n 0000504674 00000 n 0000682892 00000 n 0000053463 00000 n 0000053575 00000 n 0000505990 00000 n 0000682793 00000 n 0000053636 00000 n 0000053738 00000 n 0000506118 00000 n 0000682694 00000 n 0000053799 00000 n 0000053896 00000 n 0000506246 00000 n 0000682595 00000 n 0000053957 00000 n 0000054039 00000 n 0000506374 00000 n 0000682496 00000 n 0000054100 00000 n 0000054202 00000 n 0000508074 00000 n 0000682397 00000 n 0000054263 00000 n 0000054360 00000 n 0000508200 00000 n 0000682298 00000 n 0000054421 00000 n 0000054538 00000 n 0000508326 00000 n 0000682199 00000 n 0000054599 00000 n 0000054691 00000 n 0000508452 00000 n 0000682100 00000 n 0000054752 00000 n 0000054839 00000 n 0000508577 00000 n 0000682001 00000 n 0000054900 00000 n 0000054977 00000 n 0000508702 00000 n 0000681902 00000 n 0000055038 00000 n 0000055135 00000 n 0000508828 00000 n 0000681803 00000 n 0000055196 00000 n 0000055288 00000 n 0000508954 00000 n 0000681719 00000 n 0000055349 00000 n 0000055461 00000 n 0000509017 00000 n 0000681593 00000 n 0000055516 00000 n 0000055653 00000 n 0000509142 00000 n 0000681509 00000 n 0000055713 00000 n 0000055800 00000 n 0000509267 00000 n 0000681410 00000 n 0000055860 00000 n 0000055967 00000 n 0000509393 00000 n 0000681311 00000 n 0000056027 00000 n 0000056124 00000 n 0000511632 00000 n 0000681212 00000 n 0000056184 00000 n 0000056271 00000 n 0000511760 00000 n 0000681113 00000 n 0000056331 00000 n 0000056393 00000 n 0000511888 00000 n 0000681014 00000 n 0000056453 00000 n 0000056535 00000 n 0000512016 00000 n 0000680915 00000 n 0000056595 00000 n 0000056685 00000 n 0000512143 00000 n 0000680816 00000 n 0000056745 00000 n 0000056812 00000 n 0000512271 00000 n 0000680717 00000 n 0000056872 00000 n 0000056959 00000 n 0000512398 00000 n 0000680618 00000 n 0000057020 00000 n 0000057102 00000 n 0000512526 00000 n 0000680534 00000 n 0000057163 00000 n 0000057265 00000 n 0000512653 00000 n 0000680395 00000 n 0000057316 00000 n 0000057471 00000 n 0000524193 00000 n 0000680311 00000 n 0000057527 00000 n 0000057659 00000 n 0000524256 00000 n 0000680186 00000 n 0000057715 00000 n 0000057852 00000 n 0000524382 00000 n 0000680117 00000 n 0000057913 00000 n 0000058008 00000 n 0000524508 00000 n 0000679978 00000 n 0000058059 00000 n 0000058247 00000 n 0000545939 00000 n 0000679894 00000 n 0000058303 00000 n 0000058435 00000 n 0000546002 00000 n 0000679754 00000 n 0000058491 00000 n 0000058623 00000 n 0000546127 00000 n 0000679670 00000 n 0000058684 00000 n 0000058756 00000 n 0000547451 00000 n 0000679586 00000 n 0000058817 00000 n 0000058889 00000 n 0000547515 00000 n 0000679446 00000 n 0000058945 00000 n 0000059130 00000 n 0000547643 00000 n 0000679362 00000 n 0000059191 00000 n 0000059314 00000 n 0000548921 00000 n 0000679278 00000 n 0000059375 00000 n 0000059513 00000 n 0000554886 00000 n 0000679153 00000 n 0000059569 00000 n 0000059711 00000 n 0000555012 00000 n 0000679084 00000 n 0000059772 00000 n 0000059901 00000 n 0000555138 00000 n 0000678945 00000 n 0000059952 00000 n 0000060117 00000 n 0000555327 00000 n 0000678861 00000 n 0000060173 00000 n 0000060305 00000 n 0000555390 00000 n 0000678736 00000 n 0000060361 00000 n 0000060546 00000 n 0000555516 00000 n 0000678667 00000 n 0000060607 00000 n 0000060702 00000 n 0000561823 00000 n 0000678528 00000 n 0000060753 00000 n 0000060913 00000 n 0000562079 00000 n 0000678403 00000 n 0000060969 00000 n 0000061101 00000 n 0000562207 00000 n 0000678319 00000 n 0000061162 00000 n 0000061239 00000 n 0000562335 00000 n 0000678220 00000 n 0000061300 00000 n 0000061410 00000 n 0000562463 00000 n 0000678136 00000 n 0000061471 00000 n 0000061576 00000 n 0000562527 00000 n 0000677996 00000 n 0000061632 00000 n 0000061769 00000 n 0000562655 00000 n 0000677912 00000 n 0000061830 00000 n 0000061907 00000 n 0000562783 00000 n 0000677828 00000 n 0000061968 00000 n 0000062058 00000 n 0000562847 00000 n 0000677703 00000 n 0000062114 00000 n 0000062256 00000 n 0000562975 00000 n 0000677619 00000 n 0000062317 00000 n 0000062427 00000 n 0000566872 00000 n 0000677520 00000 n 0000062488 00000 n 0000062588 00000 n 0000566998 00000 n 0000677421 00000 n 0000062649 00000 n 0000062754 00000 n 0000567124 00000 n 0000677337 00000 n 0000062815 00000 n 0000062915 00000 n 0000567250 00000 n 0000677213 00000 n 0000062966 00000 n 0000063126 00000 n 0000567439 00000 n 0000677103 00000 n 0000063182 00000 n 0000063319 00000 n 0000567565 00000 n 0000677034 00000 n 0000063380 00000 n 0000063485 00000 n 0000063841 00000 n 0000064027 00000 n 0000063539 00000 n 0000063964 00000 n 0000673940 00000 n 0000674292 00000 n 0000064325 00000 n 0000064202 00000 n 0000064101 00000 n 0000065538 00000 n 0000065690 00000 n 0000065845 00000 n 0000065997 00000 n 0000066151 00000 n 0000066303 00000 n 0000066457 00000 n 0000066608 00000 n 0000066763 00000 n 0000066915 00000 n 0000067070 00000 n 0000067230 00000 n 0000067395 00000 n 0000067555 00000 n 0000067720 00000 n 0000067885 00000 n 0000068049 00000 n 0000068213 00000 n 0000068368 00000 n 0000068527 00000 n 0000068691 00000 n 0000068855 00000 n 0000069019 00000 n 0000070884 00000 n 0000069247 00000 n 0000065196 00000 n 0000064367 00000 n 0000673402 00000 n 0000069184 00000 n 0000673228 00000 n 0000071039 00000 n 0000071199 00000 n 0000071364 00000 n 0000071529 00000 n 0000071694 00000 n 0000071859 00000 n 0000072013 00000 n 0000072173 00000 n 0000072338 00000 n 0000072502 00000 n 0000072667 00000 n 0000072831 00000 n 0000072985 00000 n 0000073145 00000 n 0000073309 00000 n 0000073472 00000 n 0000073627 00000 n 0000073785 00000 n 0000073950 00000 n 0000074115 00000 n 0000074279 00000 n 0000074434 00000 n 0000074594 00000 n 0000074759 00000 n 0000074924 00000 n 0000075089 00000 n 0000075254 00000 n 0000075409 00000 n 0000075569 00000 n 0000075733 00000 n 0000075896 00000 n 0000076061 00000 n 0000076226 00000 n 0000077983 00000 n 0000076386 00000 n 0000070443 00000 n 0000069349 00000 n 0000078148 00000 n 0000078313 00000 n 0000078477 00000 n 0000078641 00000 n 0000078806 00000 n 0000078971 00000 n 0000079136 00000 n 0000079301 00000 n 0000079466 00000 n 0000079632 00000 n 0000079797 00000 n 0000079963 00000 n 0000080128 00000 n 0000080294 00000 n 0000080460 00000 n 0000080626 00000 n 0000080790 00000 n 0000080956 00000 n 0000081121 00000 n 0000081287 00000 n 0000081453 00000 n 0000081619 00000 n 0000081774 00000 n 0000081934 00000 n 0000082098 00000 n 0000082263 00000 n 0000082428 00000 n 0000082584 00000 n 0000082745 00000 n 0000082910 00000 n 0000083073 00000 n 0000083239 00000 n 0000083405 00000 n 0000085173 00000 n 0000083571 00000 n 0000077542 00000 n 0000076474 00000 n 0000085339 00000 n 0000085504 00000 n 0000085670 00000 n 0000085836 00000 n 0000086002 00000 n 0000086169 00000 n 0000086336 00000 n 0000086503 00000 n 0000086670 00000 n 0000086836 00000 n 0000087003 00000 n 0000087170 00000 n 0000087336 00000 n 0000087503 00000 n 0000087670 00000 n 0000087837 00000 n 0000088004 00000 n 0000088160 00000 n 0000088321 00000 n 0000088487 00000 n 0000088653 00000 n 0000088818 00000 n 0000088984 00000 n 0000089150 00000 n 0000089316 00000 n 0000089482 00000 n 0000089648 00000 n 0000089814 00000 n 0000089981 00000 n 0000090148 00000 n 0000090313 00000 n 0000090480 00000 n 0000090647 00000 n 0000092541 00000 n 0000090814 00000 n 0000084732 00000 n 0000083659 00000 n 0000092708 00000 n 0000092874 00000 n 0000093041 00000 n 0000093208 00000 n 0000093375 00000 n 0000093541 00000 n 0000093708 00000 n 0000093875 00000 n 0000094042 00000 n 0000094209 00000 n 0000094365 00000 n 0000094525 00000 n 0000094691 00000 n 0000094857 00000 n 0000095012 00000 n 0000095172 00000 n 0000095338 00000 n 0000095499 00000 n 0000095665 00000 n 0000095817 00000 n 0000095971 00000 n 0000096131 00000 n 0000096290 00000 n 0000096455 00000 n 0000096619 00000 n 0000096784 00000 n 0000096949 00000 n 0000097114 00000 n 0000097278 00000 n 0000097433 00000 n 0000097592 00000 n 0000097757 00000 n 0000099443 00000 n 0000097922 00000 n 0000092109 00000 n 0000090902 00000 n 0000674417 00000 n 0000099608 00000 n 0000099773 00000 n 0000099928 00000 n 0000100088 00000 n 0000100247 00000 n 0000100411 00000 n 0000100576 00000 n 0000100741 00000 n 0000100905 00000 n 0000101070 00000 n 0000101225 00000 n 0000101385 00000 n 0000101544 00000 n 0000101709 00000 n 0000101873 00000 n 0000102038 00000 n 0000102203 00000 n 0000102366 00000 n 0000102520 00000 n 0000102680 00000 n 0000102838 00000 n 0000103003 00000 n 0000103168 00000 n 0000103322 00000 n 0000103481 00000 n 0000103646 00000 n 0000103811 00000 n 0000103966 00000 n 0000104125 00000 n 0000104290 00000 n 0000104455 00000 n 0000104620 00000 n 0000104785 00000 n 0000106489 00000 n 0000104950 00000 n 0000099002 00000 n 0000098010 00000 n 0000106654 00000 n 0000106819 00000 n 0000106974 00000 n 0000107133 00000 n 0000107298 00000 n 0000107462 00000 n 0000107617 00000 n 0000107777 00000 n 0000107935 00000 n 0000108100 00000 n 0000108265 00000 n 0000108430 00000 n 0000108595 00000 n 0000108760 00000 n 0000108924 00000 n 0000109089 00000 n 0000109244 00000 n 0000109402 00000 n 0000109568 00000 n 0000109734 00000 n 0000109899 00000 n 0000110065 00000 n 0000110221 00000 n 0000110382 00000 n 0000110542 00000 n 0000110708 00000 n 0000110874 00000 n 0000111040 00000 n 0000111206 00000 n 0000111362 00000 n 0000111523 00000 n 0000111683 00000 n 0000111849 00000 n 0000113598 00000 n 0000112015 00000 n 0000106048 00000 n 0000105038 00000 n 0000113764 00000 n 0000113930 00000 n 0000114095 00000 n 0000114251 00000 n 0000114411 00000 n 0000114577 00000 n 0000114742 00000 n 0000114908 00000 n 0000115074 00000 n 0000115240 00000 n 0000115396 00000 n 0000115556 00000 n 0000115716 00000 n 0000115882 00000 n 0000116048 00000 n 0000116213 00000 n 0000116379 00000 n 0000116545 00000 n 0000116696 00000 n 0000116851 00000 n 0000117011 00000 n 0000117166 00000 n 0000117326 00000 n 0000117485 00000 n 0000117649 00000 n 0000117814 00000 n 0000117979 00000 n 0000118144 00000 n 0000118304 00000 n 0000118469 00000 n 0000118634 00000 n 0000118789 00000 n 0000120488 00000 n 0000118949 00000 n 0000113166 00000 n 0000112103 00000 n 0000120648 00000 n 0000120813 00000 n 0000120978 00000 n 0000121143 00000 n 0000121308 00000 n 0000121473 00000 n 0000121638 00000 n 0000121797 00000 n 0000121961 00000 n 0000122126 00000 n 0000122286 00000 n 0000122451 00000 n 0000122616 00000 n 0000122781 00000 n 0000122945 00000 n 0000123098 00000 n 0000123258 00000 n 0000123423 00000 n 0000123587 00000 n 0000123752 00000 n 0000123917 00000 n 0000124082 00000 n 0000124247 00000 n 0000124411 00000 n 0000124576 00000 n 0000124741 00000 n 0000124907 00000 n 0000125062 00000 n 0000125222 00000 n 0000125387 00000 n 0000125552 00000 n 0000125717 00000 n 0000125882 00000 n 0000127701 00000 n 0000126047 00000 n 0000120047 00000 n 0000119037 00000 n 0000127866 00000 n 0000128031 00000 n 0000128196 00000 n 0000128356 00000 n 0000128520 00000 n 0000128679 00000 n 0000128844 00000 n 0000129009 00000 n 0000129173 00000 n 0000129338 00000 n 0000129503 00000 n 0000129668 00000 n 0000129822 00000 n 0000129982 00000 n 0000130142 00000 n 0000130307 00000 n 0000130462 00000 n 0000130622 00000 n 0000130776 00000 n 0000130936 00000 n 0000131095 00000 n 0000131256 00000 n 0000131410 00000 n 0000131570 00000 n 0000131729 00000 n 0000131894 00000 n 0000132059 00000 n 0000132224 00000 n 0000132389 00000 n 0000132554 00000 n 0000132717 00000 n 0000132882 00000 n 0000133047 00000 n 0000134785 00000 n 0000133212 00000 n 0000127260 00000 n 0000126135 00000 n 0000134950 00000 n 0000135116 00000 n 0000135282 00000 n 0000135447 00000 n 0000135613 00000 n 0000135779 00000 n 0000135945 00000 n 0000136111 00000 n 0000136276 00000 n 0000136441 00000 n 0000136606 00000 n 0000136771 00000 n 0000136936 00000 n 0000137102 00000 n 0000137267 00000 n 0000137424 00000 n 0000137588 00000 n 0000137753 00000 n 0000137918 00000 n 0000138083 00000 n 0000138247 00000 n 0000138411 00000 n 0000138574 00000 n 0000138739 00000 n 0000138903 00000 n 0000139068 00000 n 0000139234 00000 n 0000139390 00000 n 0000139551 00000 n 0000139711 00000 n 0000139877 00000 n 0000140032 00000 n 0000140193 00000 n 0000141862 00000 n 0000140354 00000 n 0000134344 00000 n 0000133300 00000 n 0000674542 00000 n 0000142028 00000 n 0000142194 00000 n 0000142355 00000 n 0000142521 00000 n 0000142687 00000 n 0000142848 00000 n 0000143014 00000 n 0000143170 00000 n 0000143331 00000 n 0000143492 00000 n 0000143658 00000 n 0000143813 00000 n 0000143974 00000 n 0000144140 00000 n 0000144306 00000 n 0000144471 00000 n 0000144632 00000 n 0000144798 00000 n 0000144964 00000 n 0000145124 00000 n 0000145290 00000 n 0000145456 00000 n 0000145622 00000 n 0000145788 00000 n 0000145944 00000 n 0000146104 00000 n 0000146270 00000 n 0000141484 00000 n 0000140442 00000 n 0000147140 00000 n 0000147598 00000 n 0000146996 00000 n 0000146358 00000 n 0000147290 00000 n 0000147413 00000 n 0000672907 00000 n 0000147475 00000 n 0000385479 00000 n 0000148235 00000 n 0000148048 00000 n 0000147700 00000 n 0000148171 00000 n 0000149296 00000 n 0000149450 00000 n 0000149604 00000 n 0000149758 00000 n 0000149912 00000 n 0000150066 00000 n 0000150220 00000 n 0000150374 00000 n 0000150528 00000 n 0000150682 00000 n 0000150837 00000 n 0000150992 00000 n 0000151147 00000 n 0000151487 00000 n 0000149044 00000 n 0000148309 00000 n 0000151302 00000 n 0000152111 00000 n 0000151924 00000 n 0000151575 00000 n 0000152047 00000 n 0000153247 00000 n 0000153405 00000 n 0000153558 00000 n 0000153721 00000 n 0000153875 00000 n 0000154036 00000 n 0000154190 00000 n 0000154349 00000 n 0000154503 00000 n 0000154663 00000 n 0000154817 00000 n 0000154975 00000 n 0000155129 00000 n 0000155290 00000 n 0000155444 00000 n 0000155598 00000 n 0000155752 00000 n 0000155909 00000 n 0000156063 00000 n 0000156222 00000 n 0000156377 00000 n 0000156532 00000 n 0000156687 00000 n 0000156846 00000 n 0000157001 00000 n 0000157158 00000 n 0000157313 00000 n 0000157475 00000 n 0000157815 00000 n 0000152860 00000 n 0000152185 00000 n 0000157630 00000 n 0000674667 00000 n 0000342086 00000 n 0000346976 00000 n 0000347738 00000 n 0000351586 00000 n 0000355011 00000 n 0000355581 00000 n 0000359906 00000 n 0000364881 00000 n 0000365387 00000 n 0000369171 00000 n 0000369921 00000 n 0000374386 00000 n 0000378062 00000 n 0000381817 00000 n 0000158443 00000 n 0000158256 00000 n 0000157903 00000 n 0000158379 00000 n 0000159993 00000 n 0000160142 00000 n 0000160296 00000 n 0000160450 00000 n 0000160604 00000 n 0000160758 00000 n 0000160912 00000 n 0000161069 00000 n 0000161223 00000 n 0000161377 00000 n 0000161531 00000 n 0000161687 00000 n 0000161841 00000 n 0000161993 00000 n 0000162147 00000 n 0000162307 00000 n 0000162461 00000 n 0000162621 00000 n 0000162775 00000 n 0000162929 00000 n 0000163084 00000 n 0000163245 00000 n 0000163400 00000 n 0000163555 00000 n 0000163709 00000 n 0000163864 00000 n 0000164018 00000 n 0000164173 00000 n 0000164512 00000 n 0000159606 00000 n 0000158517 00000 n 0000164327 00000 n 0000385666 00000 n 0000418239 00000 n 0000432786 00000 n 0000439171 00000 n 0000457042 00000 n 0000461775 00000 n 0000461964 00000 n 0000490789 00000 n 0000512590 00000 n 0000524445 00000 n 0000555075 00000 n 0000561759 00000 n 0000567187 00000 n 0000165137 00000 n 0000164950 00000 n 0000164600 00000 n 0000165073 00000 n 0000166377 00000 n 0000166572 00000 n 0000166800 00000 n 0000167028 00000 n 0000167256 00000 n 0000167483 00000 n 0000167677 00000 n 0000167866 00000 n 0000168055 00000 n 0000168250 00000 n 0000168444 00000 n 0000169452 00000 n 0000166143 00000 n 0000165211 00000 n 0000168639 00000 n 0000168763 00000 n 0000168887 00000 n 0000674114 00000 n 0000168949 00000 n 0000169073 00000 n 0000169197 00000 n 0000673580 00000 n 0000169261 00000 n 0000169324 00000 n 0000169388 00000 n 0000171395 00000 n 0000411666 00000 n 0000171270 00000 n 0000171080 00000 n 0000170954 00000 n 0000171585 00000 n 0000170705 00000 n 0000169596 00000 n 0000170828 00000 n 0000673758 00000 n 0000171206 00000 n 0000171521 00000 n 0000173634 00000 n 0000173823 00000 n 0000174012 00000 n 0000174200 00000 n 0000174390 00000 n 0000174580 00000 n 0000174770 00000 n 0000174960 00000 n 0000175150 00000 n 0000175340 00000 n 0000176274 00000 n 0000173409 00000 n 0000171715 00000 n 0000175529 00000 n 0000175592 00000 n 0000175716 00000 n 0000175840 00000 n 0000175964 00000 n 0000176027 00000 n 0000176150 00000 n 0000674792 00000 n 0000338941 00000 n 0000411538 00000 n 0000177747 00000 n 0000431969 00000 n 0000177936 00000 n 0000177496 00000 n 0000176418 00000 n 0000177619 00000 n 0000177683 00000 n 0000177873 00000 n 0000180220 00000 n 0000180410 00000 n 0000180600 00000 n 0000180759 00000 n 0000180949 00000 n 0000181139 00000 n 0000181328 00000 n 0000181486 00000 n 0000181676 00000 n 0000181867 00000 n 0000182056 00000 n 0000182214 00000 n 0000182404 00000 n 0000182594 00000 n 0000182752 00000 n 0000183596 00000 n 0000179950 00000 n 0000178066 00000 n 0000182911 00000 n 0000182974 00000 n 0000183098 00000 n 0000183221 00000 n 0000183346 00000 n 0000183409 00000 n 0000183534 00000 n 0000185566 00000 n 0000338753 00000 n 0000185757 00000 n 0000185186 00000 n 0000185344 00000 n 0000185948 00000 n 0000185033 00000 n 0000183740 00000 n 0000185502 00000 n 0000185693 00000 n 0000185884 00000 n 0000188200 00000 n 0000188390 00000 n 0000188582 00000 n 0000188737 00000 n 0000188927 00000 n 0000189119 00000 n 0000189309 00000 n 0000189463 00000 n 0000189621 00000 n 0000189811 00000 n 0000190001 00000 n 0000190191 00000 n 0000190344 00000 n 0000190499 00000 n 0000190658 00000 n 0000190848 00000 n 0000191040 00000 n 0000191230 00000 n 0000191385 00000 n 0000191544 00000 n 0000191698 00000 n 0000191853 00000 n 0000192012 00000 n 0000192860 00000 n 0000187858 00000 n 0000186092 00000 n 0000192171 00000 n 0000192234 00000 n 0000192359 00000 n 0000192484 00000 n 0000192609 00000 n 0000192672 00000 n 0000192797 00000 n 0000195875 00000 n 0000195684 00000 n 0000194519 00000 n 0000194674 00000 n 0000194829 00000 n 0000194988 00000 n 0000195147 00000 n 0000195302 00000 n 0000195461 00000 n 0000196066 00000 n 0000194321 00000 n 0000193004 00000 n 0000195620 00000 n 0000195811 00000 n 0000196002 00000 n 0000198069 00000 n 0000198259 00000 n 0000198451 00000 n 0000198641 00000 n 0000198832 00000 n 0000199022 00000 n 0000199870 00000 n 0000197880 00000 n 0000196210 00000 n 0000199181 00000 n 0000199244 00000 n 0000199369 00000 n 0000199494 00000 n 0000199619 00000 n 0000199682 00000 n 0000199807 00000 n 0000674917 00000 n 0000202304 00000 n 0000202494 00000 n 0000202684 00000 n 0000202837 00000 n 0000203027 00000 n 0000203218 00000 n 0000203408 00000 n 0000203561 00000 n 0000203751 00000 n 0000203941 00000 n 0000204131 00000 n 0000204284 00000 n 0000204437 00000 n 0000204590 00000 n 0000205448 00000 n 0000202043 00000 n 0000200014 00000 n 0000204749 00000 n 0000204813 00000 n 0000204940 00000 n 0000205067 00000 n 0000205194 00000 n 0000205258 00000 n 0000205384 00000 n 0000207535 00000 n 0000207161 00000 n 0000207315 00000 n 0000207722 00000 n 0000207008 00000 n 0000205592 00000 n 0000207472 00000 n 0000207660 00000 n 0000210012 00000 n 0000210202 00000 n 0000210392 00000 n 0000210550 00000 n 0000210740 00000 n 0000210930 00000 n 0000211120 00000 n 0000211310 00000 n 0000211467 00000 n 0000211657 00000 n 0000211847 00000 n 0000212037 00000 n 0000212227 00000 n 0000212385 00000 n 0000212575 00000 n 0000212765 00000 n 0000212955 00000 n 0000213145 00000 n 0000213303 00000 n 0000213461 00000 n 0000213619 00000 n 0000214474 00000 n 0000209688 00000 n 0000207866 00000 n 0000213776 00000 n 0000213840 00000 n 0000213967 00000 n 0000214094 00000 n 0000214219 00000 n 0000214283 00000 n 0000214410 00000 n 0000216823 00000 n 0000217011 00000 n 0000216127 00000 n 0000216285 00000 n 0000216443 00000 n 0000216601 00000 n 0000217198 00000 n 0000215956 00000 n 0000214618 00000 n 0000216760 00000 n 0000216948 00000 n 0000217136 00000 n 0000218924 00000 n 0000219084 00000 n 0000219277 00000 n 0000219466 00000 n 0000219660 00000 n 0000219846 00000 n 0000220040 00000 n 0000220229 00000 n 0000220418 00000 n 0000220612 00000 n 0000220801 00000 n 0000220995 00000 n 0000221184 00000 n 0000221378 00000 n 0000221567 00000 n 0000221761 00000 n 0000221950 00000 n 0000222144 00000 n 0000222333 00000 n 0000222526 00000 n 0000222715 00000 n 0000222909 00000 n 0000223096 00000 n 0000223287 00000 n 0000223475 00000 n 0000223668 00000 n 0000223857 00000 n 0000224051 00000 n 0000224240 00000 n 0000224434 00000 n 0000224623 00000 n 0000226915 00000 n 0000227104 00000 n 0000227297 00000 n 0000227486 00000 n 0000225200 00000 n 0000218510 00000 n 0000217342 00000 n 0000224817 00000 n 0000224881 00000 n 0000225008 00000 n 0000225072 00000 n 0000225136 00000 n 0000231243 00000 n 0000432095 00000 n 0000231368 00000 n 0000231491 00000 n 0000231616 00000 n 0000232866 00000 n 0000235876 00000 n 0000233626 00000 n 0000232991 00000 n 0000236375 00000 n 0000236251 00000 n 0000233372 00000 n 0000237295 00000 n 0000235751 00000 n 0000234006 00000 n 0000234133 00000 n 0000227680 00000 n 0000227869 00000 n 0000228063 00000 n 0000228251 00000 n 0000228444 00000 n 0000228632 00000 n 0000228825 00000 n 0000229014 00000 n 0000229207 00000 n 0000229396 00000 n 0000229590 00000 n 0000229779 00000 n 0000229973 00000 n 0000230161 00000 n 0000230354 00000 n 0000230542 00000 n 0000230735 00000 n 0000230924 00000 n 0000231741 00000 n 0000226582 00000 n 0000225316 00000 n 0000231118 00000 n 0000673053 00000 n 0000675042 00000 n 0000233245 00000 n 0000235627 00000 n 0000233499 00000 n 0000236126 00000 n 0000233880 00000 n 0000236001 00000 n 0000233118 00000 n 0000233753 00000 n 0000235503 00000 n 0000235378 00000 n 0000235253 00000 n 0000234196 00000 n 0000232616 00000 n 0000231885 00000 n 0000232739 00000 n 0000236438 00000 n 0000235005 00000 n 0000234298 00000 n 0000235128 00000 n 0000237422 00000 n 0000237045 00000 n 0000236540 00000 n 0000237168 00000 n 0000239438 00000 n 0000239632 00000 n 0000239821 00000 n 0000240015 00000 n 0000240204 00000 n 0000240399 00000 n 0000241465 00000 n 0000239249 00000 n 0000237524 00000 n 0000240589 00000 n 0000240652 00000 n 0000240777 00000 n 0000240902 00000 n 0000241027 00000 n 0000241089 00000 n 0000241214 00000 n 0000241277 00000 n 0000241402 00000 n 0000461649 00000 n 0000243952 00000 n 0000244148 00000 n 0000244338 00000 n 0000244527 00000 n 0000244716 00000 n 0000244905 00000 n 0000245092 00000 n 0000245282 00000 n 0000245471 00000 n 0000245661 00000 n 0000245851 00000 n 0000246010 00000 n 0000246200 00000 n 0000246390 00000 n 0000246545 00000 n 0000246735 00000 n 0000246925 00000 n 0000247114 00000 n 0000247302 00000 n 0000247455 00000 n 0000247644 00000 n 0000247833 00000 n 0000247990 00000 n 0000248179 00000 n 0000248368 00000 n 0000248563 00000 n 0000248753 00000 n 0000248943 00000 n 0000249133 00000 n 0000249292 00000 n 0000249482 00000 n 0000249672 00000 n 0000249861 00000 n 0000250020 00000 n 0000250210 00000 n 0000250400 00000 n 0000250590 00000 n 0000250745 00000 n 0000250904 00000 n 0000251094 00000 n 0000251284 00000 n 0000251474 00000 n 0000251628 00000 n 0000251783 00000 n 0000251942 00000 n 0000252132 00000 n 0000252322 00000 n 0000252511 00000 n 0000252665 00000 n 0000252824 00000 n 0000253014 00000 n 0000253204 00000 n 0000255805 00000 n 0000255995 00000 n 0000256185 00000 n 0000256375 00000 n 0000253649 00000 n 0000243349 00000 n 0000241609 00000 n 0000253394 00000 n 0000253458 00000 n 0000253585 00000 n 0000511952 00000 n 0000261455 00000 n 0000276355 00000 n 0000279639 00000 n 0000261831 00000 n 0000267253 00000 n 0000266877 00000 n 0000267065 00000 n 0000269979 00000 n 0000264357 00000 n 0000283327 00000 n 0000272700 00000 n 0000279827 00000 n 0000276736 00000 n 0000276545 00000 n 0000264548 00000 n 0000256527 00000 n 0000256717 00000 n 0000256907 00000 n 0000257097 00000 n 0000257249 00000 n 0000257439 00000 n 0000257627 00000 n 0000257817 00000 n 0000258197 00000 n 0000258355 00000 n 0000258545 00000 n 0000258735 00000 n 0000258925 00000 n 0000259305 00000 n 0000259463 00000 n 0000259653 00000 n 0000259843 00000 n 0000260033 00000 n 0000260413 00000 n 0000260571 00000 n 0000260761 00000 n 0000260951 00000 n 0000261141 00000 n 0000261894 00000 n 0000255400 00000 n 0000253779 00000 n 0000261331 00000 n 0000258007 00000 n 0000259115 00000 n 0000260223 00000 n 0000261580 00000 n 0000261643 00000 n 0000261768 00000 n 0000675167 00000 n 0000283518 00000 n 0000272888 00000 n 0000280015 00000 n 0000269788 00000 n 0000283709 00000 n 0000273076 00000 n 0000263850 00000 n 0000264008 00000 n 0000264739 00000 n 0000263697 00000 n 0000262038 00000 n 0000264166 00000 n 0000264293 00000 n 0000264484 00000 n 0000264675 00000 n 0000266507 00000 n 0000266660 00000 n 0000267378 00000 n 0000266354 00000 n 0000264883 00000 n 0000266814 00000 n 0000267002 00000 n 0000267190 00000 n 0000269187 00000 n 0000269345 00000 n 0000269503 00000 n 0000272008 00000 n 0000270170 00000 n 0000269025 00000 n 0000267522 00000 n 0000269660 00000 n 0000269724 00000 n 0000269915 00000 n 0000270106 00000 n 0000272166 00000 n 0000272319 00000 n 0000272478 00000 n 0000273201 00000 n 0000271837 00000 n 0000270314 00000 n 0000272637 00000 n 0000272825 00000 n 0000273013 00000 n 0000275190 00000 n 0000275345 00000 n 0000275504 00000 n 0000275663 00000 n 0000275818 00000 n 0000275973 00000 n 0000276132 00000 n 0000276925 00000 n 0000274992 00000 n 0000273345 00000 n 0000276291 00000 n 0000276482 00000 n 0000276672 00000 n 0000276861 00000 n 0000278789 00000 n 0000278943 00000 n 0000279101 00000 n 0000279259 00000 n 0000279417 00000 n 0000280201 00000 n 0000278609 00000 n 0000277069 00000 n 0000279576 00000 n 0000279764 00000 n 0000279952 00000 n 0000280138 00000 n 0000675292 00000 n 0000282317 00000 n 0000282476 00000 n 0000282635 00000 n 0000282788 00000 n 0000282946 00000 n 0000283105 00000 n 0000283836 00000 n 0000282128 00000 n 0000280345 00000 n 0000283263 00000 n 0000283454 00000 n 0000283645 00000 n 0000284935 00000 n 0000285219 00000 n 0000284791 00000 n 0000283980 00000 n 0000285093 00000 n 0000285156 00000 n 0000287687 00000 n 0000287875 00000 n 0000288066 00000 n 0000288255 00000 n 0000288445 00000 n 0000288635 00000 n 0000288824 00000 n 0000289015 00000 n 0000289204 00000 n 0000289394 00000 n 0000289584 00000 n 0000289775 00000 n 0000289934 00000 n 0000290124 00000 n 0000290315 00000 n 0000290469 00000 n 0000290659 00000 n 0000290850 00000 n 0000291040 00000 n 0000291231 00000 n 0000291384 00000 n 0000291573 00000 n 0000291763 00000 n 0000291921 00000 n 0000292111 00000 n 0000292300 00000 n 0000292489 00000 n 0000292679 00000 n 0000292868 00000 n 0000293027 00000 n 0000293217 00000 n 0000293406 00000 n 0000293595 00000 n 0000293754 00000 n 0000293944 00000 n 0000294135 00000 n 0000294325 00000 n 0000294484 00000 n 0000294674 00000 n 0000294864 00000 n 0000295054 00000 n 0000295209 00000 n 0000295368 00000 n 0000295558 00000 n 0000295749 00000 n 0000298556 00000 n 0000298709 00000 n 0000298864 00000 n 0000299023 00000 n 0000299213 00000 n 0000299404 00000 n 0000299594 00000 n 0000299749 00000 n 0000296193 00000 n 0000287147 00000 n 0000285335 00000 n 0000295938 00000 n 0000296002 00000 n 0000296129 00000 n 0000524319 00000 n 0000306199 00000 n 0000320477 00000 n 0000320286 00000 n 0000327236 00000 n 0000309187 00000 n 0000314645 00000 n 0000311912 00000 n 0000314454 00000 n 0000317385 00000 n 0000309378 00000 n 0000308996 00000 n 0000324211 00000 n 0000317573 00000 n 0000327427 00000 n 0000324023 00000 n 0000299908 00000 n 0000300098 00000 n 0000300289 00000 n 0000300479 00000 n 0000300669 00000 n 0000300860 00000 n 0000301050 00000 n 0000301240 00000 n 0000301431 00000 n 0000301621 00000 n 0000301810 00000 n 0000302000 00000 n 0000302189 00000 n 0000302568 00000 n 0000302726 00000 n 0000302914 00000 n 0000303103 00000 n 0000303290 00000 n 0000303667 00000 n 0000303825 00000 n 0000304015 00000 n 0000304206 00000 n 0000304395 00000 n 0000304774 00000 n 0000304932 00000 n 0000305122 00000 n 0000305313 00000 n 0000305503 00000 n 0000305694 00000 n 0000305884 00000 n 0000306512 00000 n 0000298052 00000 n 0000296323 00000 n 0000306075 00000 n 0000302378 00000 n 0000303478 00000 n 0000304585 00000 n 0000306324 00000 n 0000306387 00000 n 0000323835 00000 n 0000311724 00000 n 0000330856 00000 n 0000317761 00000 n 0000327618 00000 n 0000314831 00000 n 0000331044 00000 n 0000320159 00000 n 0000332126 00000 n 0000308394 00000 n 0000308551 00000 n 0000308710 00000 n 0000309505 00000 n 0000308232 00000 n 0000306656 00000 n 0000308868 00000 n 0000308932 00000 n 0000309123 00000 n 0000309314 00000 n 0000311439 00000 n 0000312100 00000 n 0000311295 00000 n 0000309649 00000 n 0000311598 00000 n 0000311661 00000 n 0000311849 00000 n 0000312037 00000 n 0000675417 00000 n 0000313926 00000 n 0000314079 00000 n 0000314233 00000 n 0000314958 00000 n 0000313764 00000 n 0000312244 00000 n 0000314390 00000 n 0000314581 00000 n 0000314767 00000 n 0000316786 00000 n 0000316944 00000 n 0000317101 00000 n 0000317886 00000 n 0000316624 00000 n 0000315102 00000 n 0000317259 00000 n 0000317322 00000 n 0000317510 00000 n 0000317698 00000 n 0000319872 00000 n 0000320604 00000 n 0000319728 00000 n 0000318030 00000 n 0000320031 00000 n 0000320095 00000 n 0000320413 00000 n 0000322608 00000 n 0000322763 00000 n 0000322922 00000 n 0000323081 00000 n 0000323236 00000 n 0000323391 00000 n 0000323550 00000 n 0000326321 00000 n 0000324336 00000 n 0000322410 00000 n 0000320748 00000 n 0000323709 00000 n 0000323772 00000 n 0000323960 00000 n 0000324148 00000 n 0000326479 00000 n 0000326638 00000 n 0000326792 00000 n 0000326950 00000 n 0000327682 00000 n 0000326141 00000 n 0000324480 00000 n 0000327108 00000 n 0000327172 00000 n 0000327363 00000 n 0000327554 00000 n 0000329876 00000 n 0000330034 00000 n 0000330193 00000 n 0000330352 00000 n 0000330510 00000 n 0000331232 00000 n 0000329696 00000 n 0000327826 00000 n 0000330668 00000 n 0000330793 00000 n 0000330981 00000 n 0000331169 00000 n 0000675542 00000 n 0000332253 00000 n 0000331939 00000 n 0000331376 00000 n 0000332062 00000 n 0000333821 00000 n 0000334015 00000 n 0000334204 00000 n 0000334393 00000 n 0000335277 00000 n 0000333650 00000 n 0000332355 00000 n 0000334588 00000 n 0000334651 00000 n 0000334776 00000 n 0000334901 00000 n 0000335026 00000 n 0000335089 00000 n 0000335214 00000 n 0000555453 00000 n 0000336653 00000 n 0000336843 00000 n 0000337033 00000 n 0000337256 00000 n 0000337479 00000 n 0000337925 00000 n 0000338148 00000 n 0000339388 00000 n 0000336446 00000 n 0000335407 00000 n 0000338371 00000 n 0000338435 00000 n 0000338562 00000 n 0000338626 00000 n 0000337702 00000 n 0000339068 00000 n 0000339132 00000 n 0000339196 00000 n 0000339260 00000 n 0000339324 00000 n 0000340449 00000 n 0000340642 00000 n 0000340835 00000 n 0000341028 00000 n 0000341220 00000 n 0000341379 00000 n 0000341572 00000 n 0000341768 00000 n 0000343146 00000 n 0000340242 00000 n 0000339518 00000 n 0000341961 00000 n 0000672761 00000 n 0000342211 00000 n 0000342398 00000 n 0000342523 00000 n 0000342648 00000 n 0000342773 00000 n 0000342896 00000 n 0000343021 00000 n 0000512079 00000 n 0000344508 00000 n 0000344670 00000 n 0000344867 00000 n 0000345064 00000 n 0000345261 00000 n 0000345420 00000 n 0000345617 00000 n 0000345779 00000 n 0000345974 00000 n 0000346168 00000 n 0000346363 00000 n 0000346558 00000 n 0000346717 00000 n 0000349332 00000 n 0000347929 00000 n 0000344256 00000 n 0000343290 00000 n 0000346912 00000 n 0000347103 00000 n 0000347230 00000 n 0000347357 00000 n 0000347484 00000 n 0000347611 00000 n 0000347865 00000 n 0000351336 00000 n 0000350961 00000 n 0000351086 00000 n 0000351211 00000 n 0000351461 00000 n 0000349491 00000 n 0000349652 00000 n 0000349845 00000 n 0000350038 00000 n 0000350231 00000 n 0000350424 00000 n 0000350582 00000 n 0000352397 00000 n 0000349125 00000 n 0000348073 00000 n 0000350774 00000 n 0000351710 00000 n 0000351897 00000 n 0000352022 00000 n 0000352147 00000 n 0000352272 00000 n 0000675667 00000 n 0000354884 00000 n 0000353926 00000 n 0000354088 00000 n 0000354282 00000 n 0000354471 00000 n 0000354665 00000 n 0000357250 00000 n 0000357409 00000 n 0000355708 00000 n 0000353746 00000 n 0000352541 00000 n 0000354820 00000 n 0000355138 00000 n 0000355327 00000 n 0000355454 00000 n 0000357602 00000 n 0000357760 00000 n 0000357952 00000 n 0000358106 00000 n 0000358301 00000 n 0000358496 00000 n 0000358690 00000 n 0000358884 00000 n 0000359079 00000 n 0000359273 00000 n 0000361031 00000 n 0000357007 00000 n 0000355852 00000 n 0000359468 00000 n 0000359531 00000 n 0000359656 00000 n 0000359781 00000 n 0000360031 00000 n 0000360156 00000 n 0000360281 00000 n 0000360406 00000 n 0000360531 00000 n 0000360656 00000 n 0000360781 00000 n 0000360906 00000 n 0000362434 00000 n 0000362590 00000 n 0000362780 00000 n 0000362968 00000 n 0000363156 00000 n 0000363318 00000 n 0000363508 00000 n 0000363700 00000 n 0000363892 00000 n 0000364084 00000 n 0000364276 00000 n 0000364468 00000 n 0000364626 00000 n 0000365641 00000 n 0000362182 00000 n 0000361175 00000 n 0000364817 00000 n 0000365006 00000 n 0000365133 00000 n 0000365260 00000 n 0000365514 00000 n 0000368798 00000 n 0000368298 00000 n 0000368423 00000 n 0000368923 00000 n 0000368548 00000 n 0000368673 00000 n 0000369046 00000 n 0000367077 00000 n 0000367239 00000 n 0000367430 00000 n 0000367624 00000 n 0000367818 00000 n 0000368011 00000 n 0000369984 00000 n 0000366888 00000 n 0000365785 00000 n 0000368173 00000 n 0000369296 00000 n 0000369421 00000 n 0000369546 00000 n 0000369671 00000 n 0000369796 00000 n 0000371335 00000 n 0000371524 00000 n 0000371713 00000 n 0000371902 00000 n 0000372091 00000 n 0000372280 00000 n 0000372442 00000 n 0000372634 00000 n 0000372827 00000 n 0000373020 00000 n 0000373213 00000 n 0000373372 00000 n 0000374576 00000 n 0000371092 00000 n 0000370128 00000 n 0000373565 00000 n 0000373692 00000 n 0000373880 00000 n 0000374007 00000 n 0000374134 00000 n 0000374261 00000 n 0000374513 00000 n 0000562591 00000 n 0000377812 00000 n 0000377437 00000 n 0000377562 00000 n 0000377687 00000 n 0000377937 00000 n 0000375972 00000 n 0000376134 00000 n 0000376326 00000 n 0000376518 00000 n 0000376707 00000 n 0000376899 00000 n 0000377058 00000 n 0000380290 00000 n 0000378937 00000 n 0000375774 00000 n 0000374720 00000 n 0000377250 00000 n 0000378187 00000 n 0000378312 00000 n 0000378437 00000 n 0000378562 00000 n 0000378687 00000 n 0000378812 00000 n 0000675792 00000 n 0000380452 00000 n 0000380648 00000 n 0000380844 00000 n 0000381040 00000 n 0000381236 00000 n 0000381395 00000 n 0000381591 00000 n 0000382767 00000 n 0000380083 00000 n 0000379081 00000 n 0000381753 00000 n 0000381944 00000 n 0000382134 00000 n 0000382259 00000 n 0000382386 00000 n 0000382513 00000 n 0000382640 00000 n 0000384099 00000 n 0000384274 00000 n 0000384454 00000 n 0000384633 00000 n 0000384812 00000 n 0000384983 00000 n 0000385165 00000 n 0000385853 00000 n 0000383901 00000 n 0000382911 00000 n 0000385354 00000 n 0000385790 00000 n 0000410965 00000 n 0000387883 00000 n 0000388072 00000 n 0000388260 00000 n 0000388448 00000 n 0000388637 00000 n 0000388832 00000 n 0000389021 00000 n 0000389216 00000 n 0000389444 00000 n 0000389671 00000 n 0000389899 00000 n 0000390126 00000 n 0000390321 00000 n 0000390510 00000 n 0000390699 00000 n 0000390894 00000 n 0000391088 00000 n 0000391283 00000 n 0000391472 00000 n 0000391660 00000 n 0000391848 00000 n 0000392037 00000 n 0000392226 00000 n 0000392416 00000 n 0000392605 00000 n 0000392795 00000 n 0000392985 00000 n 0000393144 00000 n 0000393334 00000 n 0000393526 00000 n 0000393681 00000 n 0000393871 00000 n 0000396887 00000 n 0000397076 00000 n 0000394319 00000 n 0000387460 00000 n 0000385969 00000 n 0000394063 00000 n 0000394127 00000 n 0000394191 00000 n 0000394255 00000 n 0000411349 00000 n 0000411093 00000 n 0000411221 00000 n 0000397265 00000 n 0000397417 00000 n 0000397607 00000 n 0000397797 00000 n 0000397954 00000 n 0000398144 00000 n 0000398334 00000 n 0000398523 00000 n 0000398712 00000 n 0000398901 00000 n 0000399089 00000 n 0000399247 00000 n 0000399437 00000 n 0000399628 00000 n 0000399817 00000 n 0000399974 00000 n 0000400164 00000 n 0000400356 00000 n 0000400546 00000 n 0000400700 00000 n 0000400858 00000 n 0000401048 00000 n 0000401238 00000 n 0000401428 00000 n 0000401580 00000 n 0000401734 00000 n 0000401892 00000 n 0000402082 00000 n 0000402274 00000 n 0000402464 00000 n 0000402619 00000 n 0000402778 00000 n 0000402968 00000 n 0000403159 00000 n 0000403349 00000 n 0000403539 00000 n 0000403730 00000 n 0000403920 00000 n 0000404073 00000 n 0000404262 00000 n 0000404452 00000 n 0000404641 00000 n 0000404793 00000 n 0000404983 00000 n 0000405173 00000 n 0000405362 00000 n 0000405552 00000 n 0000405710 00000 n 0000405900 00000 n 0000406090 00000 n 0000406280 00000 n 0000406470 00000 n 0000406628 00000 n 0000406817 00000 n 0000407006 00000 n 0000407195 00000 n 0000407384 00000 n 0000407541 00000 n 0000407731 00000 n 0000407984 00000 n 0000396203 00000 n 0000394449 00000 n 0000407921 00000 n 0000409706 00000 n 0000409883 00000 n 0000410063 00000 n 0000410243 00000 n 0000410422 00000 n 0000410593 00000 n 0000411729 00000 n 0000409517 00000 n 0000408100 00000 n 0000410775 00000 n 0000413626 00000 n 0000413786 00000 n 0000413975 00000 n 0000414163 00000 n 0000414352 00000 n 0000414541 00000 n 0000414730 00000 n 0000414919 00000 n 0000415108 00000 n 0000415268 00000 n 0000415457 00000 n 0000415650 00000 n 0000415838 00000 n 0000416032 00000 n 0000416218 00000 n 0000416412 00000 n 0000416601 00000 n 0000416790 00000 n 0000416983 00000 n 0000417172 00000 n 0000417359 00000 n 0000417547 00000 n 0000417735 00000 n 0000417924 00000 n 0000420273 00000 n 0000420462 00000 n 0000418616 00000 n 0000413275 00000 n 0000411859 00000 n 0000418113 00000 n 0000418365 00000 n 0000418428 00000 n 0000418491 00000 n 0000418554 00000 n 0000675917 00000 n 0000431276 00000 n 0000431528 00000 n 0000431780 00000 n 0000431150 00000 n 0000431402 00000 n 0000431654 00000 n 0000432660 00000 n 0000432410 00000 n 0000432284 00000 n 0000432536 00000 n 0000420656 00000 n 0000420845 00000 n 0000421039 00000 n 0000421228 00000 n 0000421422 00000 n 0000421611 00000 n 0000421805 00000 n 0000421994 00000 n 0000422187 00000 n 0000422376 00000 n 0000422570 00000 n 0000422759 00000 n 0000422952 00000 n 0000423141 00000 n 0000423335 00000 n 0000423524 00000 n 0000423718 00000 n 0000423907 00000 n 0000424101 00000 n 0000424290 00000 n 0000424484 00000 n 0000424673 00000 n 0000424867 00000 n 0000425056 00000 n 0000425250 00000 n 0000425439 00000 n 0000425633 00000 n 0000425822 00000 n 0000426016 00000 n 0000426205 00000 n 0000426399 00000 n 0000426588 00000 n 0000426781 00000 n 0000426970 00000 n 0000427164 00000 n 0000427353 00000 n 0000427547 00000 n 0000427736 00000 n 0000427930 00000 n 0000428118 00000 n 0000428311 00000 n 0000428498 00000 n 0000428818 00000 n 0000419742 00000 n 0000418774 00000 n 0000428690 00000 n 0000428754 00000 n 0000430769 00000 n 0000435880 00000 n 0000432975 00000 n 0000430625 00000 n 0000428934 00000 n 0000430961 00000 n 0000432912 00000 n 0000438403 00000 n 0000436072 00000 n 0000436263 00000 n 0000436455 00000 n 0000436646 00000 n 0000436837 00000 n 0000437029 00000 n 0000437221 00000 n 0000437412 00000 n 0000437604 00000 n 0000441411 00000 n 0000439363 00000 n 0000435655 00000 n 0000433133 00000 n 0000437763 00000 n 0000437891 00000 n 0000438019 00000 n 0000438147 00000 n 0000438275 00000 n 0000438531 00000 n 0000438659 00000 n 0000438787 00000 n 0000438915 00000 n 0000439043 00000 n 0000439299 00000 n 0000441599 00000 n 0000441785 00000 n 0000441972 00000 n 0000442157 00000 n 0000442343 00000 n 0000442529 00000 n 0000442717 00000 n 0000442905 00000 n 0000443064 00000 n 0000443252 00000 n 0000443439 00000 n 0000443626 00000 n 0000443812 00000 n 0000443999 00000 n 0000444187 00000 n 0000444375 00000 n 0000444563 00000 n 0000444750 00000 n 0000444938 00000 n 0000445126 00000 n 0000445314 00000 n 0000445502 00000 n 0000445690 00000 n 0000445877 00000 n 0000446064 00000 n 0000446252 00000 n 0000446881 00000 n 0000441033 00000 n 0000439493 00000 n 0000446440 00000 n 0000446503 00000 n 0000446566 00000 n 0000446629 00000 n 0000446755 00000 n 0000453216 00000 n 0000449875 00000 n 0000450067 00000 n 0000452964 00000 n 0000453090 00000 n 0000450194 00000 n 0000450386 00000 n 0000453468 00000 n 0000453655 00000 n 0000453907 00000 n 0000456531 00000 n 0000453781 00000 n 0000456723 00000 n 0000456915 00000 n 0000449054 00000 n 0000449213 00000 n 0000449401 00000 n 0000449559 00000 n 0000450514 00000 n 0000448883 00000 n 0000447053 00000 n 0000449747 00000 n 0000449811 00000 n 0000450003 00000 n 0000450322 00000 n 0000452679 00000 n 0000454033 00000 n 0000452535 00000 n 0000450686 00000 n 0000452838 00000 n 0000452901 00000 n 0000453342 00000 n 0000676042 00000 n 0000455892 00000 n 0000456052 00000 n 0000456213 00000 n 0000459183 00000 n 0000459378 00000 n 0000457297 00000 n 0000455730 00000 n 0000454205 00000 n 0000456403 00000 n 0000456467 00000 n 0000456659 00000 n 0000456851 00000 n 0000457170 00000 n 0000457234 00000 n 0000459568 00000 n 0000459761 00000 n 0000459949 00000 n 0000460144 00000 n 0000460334 00000 n 0000460509 00000 n 0000460689 00000 n 0000460867 00000 n 0000461045 00000 n 0000461215 00000 n 0000462027 00000 n 0000458940 00000 n 0000457469 00000 n 0000461398 00000 n 0000461461 00000 n 0000464402 00000 n 0000464598 00000 n 0000464788 00000 n 0000464977 00000 n 0000465167 00000 n 0000465357 00000 n 0000465545 00000 n 0000465735 00000 n 0000465924 00000 n 0000466114 00000 n 0000466304 00000 n 0000466463 00000 n 0000466653 00000 n 0000466843 00000 n 0000466998 00000 n 0000467187 00000 n 0000467376 00000 n 0000467566 00000 n 0000467755 00000 n 0000467908 00000 n 0000468098 00000 n 0000468288 00000 n 0000468446 00000 n 0000468636 00000 n 0000468826 00000 n 0000469022 00000 n 0000469212 00000 n 0000469406 00000 n 0000469596 00000 n 0000469786 00000 n 0000469976 00000 n 0000470135 00000 n 0000470325 00000 n 0000470515 00000 n 0000470704 00000 n 0000470863 00000 n 0000471053 00000 n 0000471243 00000 n 0000471433 00000 n 0000471588 00000 n 0000474444 00000 n 0000474634 00000 n 0000474823 00000 n 0000475012 00000 n 0000475165 00000 n 0000475320 00000 n 0000471939 00000 n 0000463907 00000 n 0000462185 00000 n 0000471747 00000 n 0000471875 00000 n 0000490661 00000 n 0000475479 00000 n 0000475669 00000 n 0000475859 00000 n 0000476048 00000 n 0000476203 00000 n 0000476362 00000 n 0000476551 00000 n 0000476740 00000 n 0000476929 00000 n 0000477119 00000 n 0000477309 00000 n 0000477499 00000 n 0000477651 00000 n 0000477841 00000 n 0000478031 00000 n 0000478221 00000 n 0000478373 00000 n 0000478563 00000 n 0000478751 00000 n 0000478941 00000 n 0000479321 00000 n 0000479479 00000 n 0000479669 00000 n 0000479859 00000 n 0000480049 00000 n 0000480429 00000 n 0000480587 00000 n 0000480777 00000 n 0000480967 00000 n 0000481157 00000 n 0000481537 00000 n 0000481695 00000 n 0000481885 00000 n 0000482075 00000 n 0000482264 00000 n 0000482453 00000 n 0000482628 00000 n 0000482808 00000 n 0000482986 00000 n 0000483164 00000 n 0000483334 00000 n 0000483643 00000 n 0000473859 00000 n 0000472083 00000 n 0000483517 00000 n 0000479131 00000 n 0000480239 00000 n 0000481347 00000 n 0000485461 00000 n 0000485620 00000 n 0000485775 00000 n 0000485937 00000 n 0000486096 00000 n 0000486256 00000 n 0000486414 00000 n 0000486572 00000 n 0000486726 00000 n 0000486888 00000 n 0000487046 00000 n 0000487206 00000 n 0000487402 00000 n 0000487598 00000 n 0000487794 00000 n 0000487989 00000 n 0000488184 00000 n 0000488379 00000 n 0000488575 00000 n 0000488771 00000 n 0000488967 00000 n 0000489163 00000 n 0000489359 00000 n 0000489555 00000 n 0000489751 00000 n 0000489947 00000 n 0000490142 00000 n 0000490337 00000 n 0000493196 00000 n 0000493391 00000 n 0000493586 00000 n 0000491045 00000 n 0000485074 00000 n 0000483787 00000 n 0000490533 00000 n 0000490917 00000 n 0000490981 00000 n 0000508389 00000 n 0000502359 00000 n 0000502231 00000 n 0000508639 00000 n 0000508515 00000 n 0000502487 00000 n 0000502615 00000 n 0000508263 00000 n 0000508891 00000 n 0000508765 00000 n 0000504485 00000 n 0000504359 00000 n 0000506310 00000 n 0000504611 00000 n 0000504737 00000 n 0000506054 00000 n 0000508137 00000 n 0000493782 00000 n 0000493977 00000 n 0000494173 00000 n 0000494369 00000 n 0000494564 00000 n 0000494723 00000 n 0000494919 00000 n 0000495074 00000 n 0000495270 00000 n 0000495433 00000 n 0000495629 00000 n 0000495788 00000 n 0000495984 00000 n 0000496145 00000 n 0000496341 00000 n 0000496500 00000 n 0000496696 00000 n 0000496854 00000 n 0000497049 00000 n 0000497203 00000 n 0000497399 00000 n 0000497560 00000 n 0000497755 00000 n 0000497913 00000 n 0000498109 00000 n 0000498269 00000 n 0000498465 00000 n 0000498641 00000 n 0000498821 00000 n 0000499001 00000 n 0000499180 00000 n 0000499351 00000 n 0000499907 00000 n 0000492746 00000 n 0000491203 00000 n 0000499533 00000 n 0000499596 00000 n 0000499785 00000 n 0000676167 00000 n 0000506438 00000 n 0000506182 00000 n 0000501976 00000 n 0000502103 00000 n 0000501848 00000 n 0000504233 00000 n 0000512207 00000 n 0000509204 00000 n 0000509080 00000 n 0000509330 00000 n 0000509456 00000 n 0000511824 00000 n 0000511696 00000 n 0000512462 00000 n 0000512334 00000 n 0000502743 00000 n 0000501661 00000 n 0000500051 00000 n 0000501784 00000 n 0000504800 00000 n 0000504047 00000 n 0000502859 00000 n 0000504170 00000 n 0000506502 00000 n 0000505803 00000 n 0000504916 00000 n 0000505926 00000 n 0000507851 00000 n 0000509520 00000 n 0000507707 00000 n 0000506618 00000 n 0000508011 00000 n 0000510813 00000 n 0000511000 00000 n 0000511188 00000 n 0000511379 00000 n 0000512845 00000 n 0000510642 00000 n 0000509650 00000 n 0000511568 00000 n 0000512717 00000 n 0000512781 00000 n 0000515040 00000 n 0000515235 00000 n 0000515430 00000 n 0000515625 00000 n 0000515853 00000 n 0000516308 00000 n 0000516536 00000 n 0000516991 00000 n 0000517217 00000 n 0000517445 00000 n 0000517673 00000 n 0000518129 00000 n 0000518357 00000 n 0000518813 00000 n 0000519041 00000 n 0000519495 00000 n 0000519721 00000 n 0000520177 00000 n 0000520405 00000 n 0000520860 00000 n 0000521087 00000 n 0000521315 00000 n 0000521510 00000 n 0000521738 00000 n 0000522194 00000 n 0000522421 00000 n 0000522648 00000 n 0000522876 00000 n 0000523104 00000 n 0000523560 00000 n 0000523750 00000 n 0000523941 00000 n 0000524760 00000 n 0000514536 00000 n 0000512989 00000 n 0000524130 00000 n 0000524571 00000 n 0000524634 00000 n 0000516081 00000 n 0000516763 00000 n 0000517901 00000 n 0000518585 00000 n 0000519267 00000 n 0000519949 00000 n 0000520633 00000 n 0000521966 00000 n 0000523332 00000 n 0000524697 00000 n 0000676292 00000 n 0000546065 00000 n 0000546189 00000 n 0000547579 00000 n 0000547707 00000 n 0000547771 00000 n 0000547835 00000 n 0000547899 00000 n 0000547962 00000 n 0000548026 00000 n 0000548090 00000 n 0000548154 00000 n 0000548218 00000 n 0000548282 00000 n 0000548346 00000 n 0000548410 00000 n 0000548474 00000 n 0000548538 00000 n 0000548602 00000 n 0000548666 00000 n 0000548730 00000 n 0000548793 00000 n 0000548857 00000 n 0000548984 00000 n 0000549048 00000 n 0000549112 00000 n 0000549176 00000 n 0000549240 00000 n 0000549304 00000 n 0000549368 00000 n 0000527299 00000 n 0000527489 00000 n 0000527679 00000 n 0000527870 00000 n 0000528060 00000 n 0000528251 00000 n 0000528410 00000 n 0000528600 00000 n 0000528791 00000 n 0000528946 00000 n 0000529135 00000 n 0000529325 00000 n 0000529515 00000 n 0000529706 00000 n 0000529859 00000 n 0000530049 00000 n 0000530240 00000 n 0000530397 00000 n 0000530587 00000 n 0000530776 00000 n 0000530965 00000 n 0000531155 00000 n 0000531344 00000 n 0000531503 00000 n 0000531693 00000 n 0000531882 00000 n 0000532071 00000 n 0000532230 00000 n 0000532420 00000 n 0000532611 00000 n 0000532801 00000 n 0000532960 00000 n 0000533150 00000 n 0000533340 00000 n 0000533530 00000 n 0000533685 00000 n 0000533844 00000 n 0000534033 00000 n 0000534223 00000 n 0000534411 00000 n 0000534565 00000 n 0000534720 00000 n 0000534879 00000 n 0000535069 00000 n 0000535260 00000 n 0000535449 00000 n 0000535603 00000 n 0000535762 00000 n 0000535952 00000 n 0000536143 00000 n 0000536333 00000 n 0000536523 00000 n 0000536714 00000 n 0000539193 00000 n 0000539383 00000 n 0000539574 00000 n 0000536968 00000 n 0000526687 00000 n 0000524904 00000 n 0000536904 00000 n 0000539764 00000 n 0000539953 00000 n 0000540143 00000 n 0000540332 00000 n 0000540711 00000 n 0000540868 00000 n 0000541058 00000 n 0000541249 00000 n 0000541438 00000 n 0000541818 00000 n 0000541976 00000 n 0000542166 00000 n 0000542357 00000 n 0000542546 00000 n 0000542926 00000 n 0000543084 00000 n 0000543274 00000 n 0000543465 00000 n 0000543655 00000 n 0000543846 00000 n 0000544035 00000 n 0000544225 00000 n 0000544419 00000 n 0000544614 00000 n 0000544809 00000 n 0000544984 00000 n 0000545163 00000 n 0000545343 00000 n 0000545522 00000 n 0000545693 00000 n 0000546252 00000 n 0000538734 00000 n 0000537084 00000 n 0000545876 00000 n 0000540521 00000 n 0000541628 00000 n 0000542736 00000 n 0000554949 00000 n 0000549432 00000 n 0000547264 00000 n 0000546396 00000 n 0000547387 00000 n 0000551191 00000 n 0000551381 00000 n 0000551604 00000 n 0000551826 00000 n 0000552272 00000 n 0000552495 00000 n 0000552718 00000 n 0000552941 00000 n 0000553163 00000 n 0000553386 00000 n 0000553609 00000 n 0000553830 00000 n 0000554053 00000 n 0000554248 00000 n 0000554438 00000 n 0000554628 00000 n 0000556091 00000 n 0000550903 00000 n 0000549548 00000 n 0000554823 00000 n 0000555201 00000 n 0000552049 00000 n 0000555264 00000 n 0000555579 00000 n 0000555643 00000 n 0000555707 00000 n 0000555771 00000 n 0000555835 00000 n 0000555899 00000 n 0000555963 00000 n 0000556027 00000 n 0000561567 00000 n 0000561631 00000 n 0000561695 00000 n 0000557765 00000 n 0000557953 00000 n 0000558141 00000 n 0000558329 00000 n 0000558516 00000 n 0000558705 00000 n 0000558893 00000 n 0000559052 00000 n 0000559241 00000 n 0000559430 00000 n 0000559619 00000 n 0000559807 00000 n 0000559996 00000 n 0000560185 00000 n 0000560374 00000 n 0000560563 00000 n 0000560751 00000 n 0000560939 00000 n 0000561126 00000 n 0000561315 00000 n 0000563039 00000 n 0000557450 00000 n 0000556249 00000 n 0000561503 00000 n 0000561887 00000 n 0000561951 00000 n 0000562015 00000 n 0000562143 00000 n 0000562271 00000 n 0000562399 00000 n 0000562719 00000 n 0000562911 00000 n 0000566935 00000 n 0000566809 00000 n 0000567061 00000 n 0000564649 00000 n 0000564839 00000 n 0000565029 00000 n 0000565218 00000 n 0000565408 00000 n 0000565631 00000 n 0000565854 00000 n 0000566300 00000 n 0000566523 00000 n 0000567628 00000 n 0000564424 00000 n 0000563197 00000 n 0000566746 00000 n 0000567313 00000 n 0000567376 00000 n 0000566077 00000 n 0000567502 00000 n 0000676417 00000 n 0000567772 00000 n 0000672308 00000 n 0000567808 00000 n 0000568200 00000 n 0000568676 00000 n 0000569148 00000 n 0000569625 00000 n 0000570244 00000 n 0000570720 00000 n 0000571196 00000 n 0000571766 00000 n 0000578909 00000 n 0000579144 00000 n 0000586369 00000 n 0000586614 00000 n 0000602787 00000 n 0000603294 00000 n 0000615892 00000 n 0000616331 00000 n 0000629515 00000 n 0000629977 00000 n 0000640574 00000 n 0000640909 00000 n 0000649873 00000 n 0000650185 00000 n 0000661343 00000 n 0000661874 00000 n 0000671877 00000 n 0000676497 00000 n 0000676623 00000 n 0000676749 00000 n 0000676875 00000 n 0000676958 00000 n 0000714850 00000 n 0000715225 00000 n 0000715672 00000 n 0000716153 00000 n 0000716612 00000 n 0000717117 00000 n 0000717568 00000 n 0000718041 00000 n 0000718514 00000 n 0000718816 00000 n 0000719353 00000 n 0000719890 00000 n 0000720427 00000 n 0000720964 00000 n 0000721501 00000 n 0000721954 00000 n 0000722435 00000 n 0000723228 00000 n 0000724021 00000 n 0000724814 00000 n 0000725541 00000 n 0000726209 00000 n 0000726962 00000 n 0000727545 00000 n 0000728026 00000 n 0000728324 00000 n 0000728507 00000 n 0000728958 00000 n 0000729479 00000 n 0000730000 00000 n 0000730521 00000 n 0000731011 00000 n 0000731455 00000 n 0000731944 00000 n 0000732433 00000 n 0000732922 00000 n 0000733380 00000 n 0000733877 00000 n 0000734374 00000 n 0000734871 00000 n 0000735300 00000 n 0000735760 00000 n 0000736150 00000 n 0000736615 00000 n 0000737097 00000 n 0000737758 00000 n 0000738354 00000 n 0000738907 00000 n 0000739209 00000 n 0000739386 00000 n 0000739562 00000 n 0000739739 00000 n 0000739915 00000 n 0000740092 00000 n 0000740268 00000 n 0000740445 00000 n 0000740620 00000 n 0000740795 00000 n 0000740972 00000 n 0000741148 00000 n 0000741325 00000 n 0000741501 00000 n 0000741678 00000 n 0000741870 00000 n 0000742079 00000 n 0000742287 00000 n 0000742496 00000 n 0000742703 00000 n 0000742910 00000 n 0000743119 00000 n 0000743327 00000 n 0000743536 00000 n 0000743744 00000 n 0000743950 00000 n 0000744146 00000 n 0000744352 00000 n 0000744555 00000 n 0000744764 00000 n 0000744967 00000 n 0000745177 00000 n 0000745388 00000 n 0000745617 00000 n 0000746150 00000 n 0000746635 00000 n 0000747124 00000 n 0000747528 00000 n 0000748033 00000 n 0000748462 00000 n 0000748963 00000 n 0000749407 00000 n 0000749928 00000 n 0000750339 00000 n 0000750828 00000 n 0000751320 00000 n 0000751702 00000 n 0000751948 00000 n 0000752191 00000 n 0000752438 00000 n 0000752687 00000 n 0000752930 00000 n 0000753173 00000 n 0000753430 00000 n 0000753687 00000 n 0000753934 00000 n 0000754183 00000 n 0000754432 00000 n 0000754701 00000 n 0000754998 00000 n 0000755295 00000 n 0000755590 00000 n 0000755883 00000 n 0000756182 00000 n 0000756480 00000 n 0000756776 00000 n 0000757067 00000 n 0000757351 00000 n 0000757633 00000 n 0000757916 00000 n 0000758199 00000 n 0000758484 00000 n 0000758775 00000 n 0000759065 00000 n 0000759350 00000 n 0000759633 00000 n 0000759918 00000 n 0000760209 00000 n 0000760500 00000 n 0000760791 00000 n 0000761079 00000 n 0000761362 00000 n 0000761645 00000 n 0000761928 00000 n 0000762211 00000 n 0000762494 00000 n 0000762786 00000 n 0000763083 00000 n 0000763380 00000 n 0000763671 00000 n 0000763960 00000 n 0000764249 00000 n 0000764539 00000 n 0000764828 00000 n 0000765117 00000 n 0000765406 00000 n 0000765697 00000 n 0000765994 00000 n 0000766290 00000 n 0000766583 00000 n 0000766874 00000 n 0000767165 00000 n 0000767409 00000 n 0000767610 00000 n 0000767810 00000 n 0000768011 00000 n 0000768211 00000 n 0000768412 00000 n 0000768611 00000 n 0000768810 00000 n 0000769011 00000 n 0000769211 00000 n 0000769412 00000 n 0000769612 00000 n 0000769805 00000 n 0000769956 00000 n 0000770111 00000 n 0000770309 00000 n 0000770547 00000 n 0000770778 00000 n 0000770975 00000 n 0000771174 00000 n 0000771335 00000 n 0000771491 00000 n 0000771607 00000 n 0000771723 00000 n 0000771843 00000 n 0000771966 00000 n 0000772090 00000 n 0000772252 00000 n 0000772451 00000 n 0000772617 00000 n 0000772752 00000 n 0000772892 00000 n 0000773039 00000 n 0000773185 00000 n 0000773331 00000 n 0000773476 00000 n 0000773620 00000 n 0000773765 00000 n 0000773899 00000 n 0000774021 00000 n 0000774142 00000 n 0000774217 00000 n 0000774375 00000 n 0000774535 00000 n 0000774670 00000 n 0000774817 00000 n 0000774932 00000 n 0000775043 00000 n 0000775083 00000 n 0000775266 00000 n trailer << /Size 4240 /Root 4238 0 R /Info 4239 0 R /ID [<5448B4576B61C968713BC64621E64771> <5448B4576B61C968713BC64621E64771>] >> startxref 775593 %%EOF gtg-trace-0.2+dfsg/doc/html/000077500000000000000000000000001175246114100156625ustar00rootroot00000000000000gtg-trace-0.2+dfsg/doc/html/html/000077500000000000000000000000001175246114100166265ustar00rootroot00000000000000gtg-trace-0.2+dfsg/doc/html/html/GTGBasic_8h.html000066400000000000000000000615731175246114100215120ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTGBasic.h File Reference
Generic Trace Generator (GTG)  0.1
GTGBasic.h File Reference

GTGBasic is a basic interface to generate trace in various formats. More...

#include <stdlib.h>
#include <string.h>
#include "GTGColor.h"
#include "GTGTypes.h"

Go to the source code of this file.

Defines

#define GTG_FLAG_NONE   0
 No flag specified.
#define GTG_FLAG_USE_MPI   1
 Several MPI processes are currently using GTG.
#define GTG_FLAG_NOTBUF   2
 For writing the traces in a non-buffered mode.
#define GTG_FLAG_OUTOFORDER   4
 Allow the application to record events out of order.

Typedefs

typedef uint8_t gtg_flag_t
 Flags that can be specified to GTG.
typedef enum traceType traceType_t

Enumerations

enum  traceType { PAJE, VITE, OTF, TAU }
 The type of the output trace. More...

Functions

void setTraceType (traceType_t type)
 Set the type of output trace.
traceType_t getTraceType ()
 Get the type of the output trace.
char * getName (int procRk)
 To get the name of the file to give to the addCont function for processors.
int bufferedModeActivated ()
 Check wether the buffered-mode is activated.
trace_return_t initTrace (const char *filename, int rank, gtg_flag_t flags)
 Initialize a trace.
trace_return_t endTrace ()
 Finalize a trace.
trace_return_t setCompress (int val)
 Enable trace compression (only available for OTF traces).
trace_return_t addContType (const char *alias, const char *contType, const char *name)
 Add a Container Type.
trace_return_t addStateType (const char *alias, const char *contType, const char *name)
 Add a State Type.
trace_return_t addEventType (const char *alias, const char *contType, const char *name)
 Add an Event Type.
trace_return_t addLinkType (const char *alias, const char *name, const char *contType, const char *srcContType, const char *destContType)
 Add a Link Type.
trace_return_t addVarType (const char *alias, const char *name, const char *contType)
 Add a Variable Type.
trace_return_t addEntityValue (const char *alias, const char *entType, const char *name, gtg_color_t p_color)
 Add an Entity Value.
trace_return_t addContainer (varPrec time, const char *alias, const char *type, const char *container, const char *name, const char *file)
 Add a Container.
trace_return_t destroyContainer (varPrec time, const char *name, const char *type)
 Destroy a Container.
trace_return_t setState (varPrec time, const char *type, const char *cont, const char *val)
 Set the State of a Container.
trace_return_t pushState (varPrec time, const char *type, const char *cont, const char *val)
 Save the current State on a stack and change the State of a Container.
trace_return_t popState (varPrec time, const char *type, const char *cont)
 Revert the State of a Container to its previous value.
trace_return_t addEvent (varPrec time, const char *type, const char *cont, const char *val)
 Add an Event.
trace_return_t startLink (varPrec time, const char *type, const char *cont, const char *src, const char *dest, const char *val, const char *key)
 Start a Link.
trace_return_t endLink (varPrec time, const char *type, const char *cont, const char *src, const char *dest, const char *val, const char *key)
 End a Link.
trace_return_t setVar (varPrec time, const char *type, const char *cont, varPrec val)
 Set a Variable value.
trace_return_t addVar (varPrec time, const char *type, const char *cont, varPrec val)
 Add a value to a Variable.
trace_return_t subVar (varPrec time, const char *type, const char *cont, varPrec val)
 Substract a value from a Variable.
trace_return_t AddComment (const char *comment)
 Add some Comment in Trace file.

Detailed Description

GTGBasic is a basic interface to generate trace in various formats.

Version:
0.1
Authors:
Developers are :
Francois Rue - francois.rue@labri.fr
Francois Trahay - francois.trahay@labri.fr
Johnny Jazeix - jazeix@enseirb-matmeca.fr
Kevin Coulomb - kevin.coulomb@gmail.com
Mathieu Faverge - faverge@labri.fr
Olivier Lagrasse - lagrasse@enseirb-matmeca.fr

It has been initiated in 2010 by *eztrace* and *ViTE* projects that both needs a good library to generate traces.


Define Documentation

#define GTG_FLAG_NONE   0

No flag specified.

#define GTG_FLAG_NOTBUF   2

For writing the traces in a non-buffered mode.

#define GTG_FLAG_OUTOFORDER   4

Allow the application to record events out of order.

#define GTG_FLAG_USE_MPI   1

Several MPI processes are currently using GTG.


Typedef Documentation

typedef uint8_t gtg_flag_t

Flags that can be specified to GTG.

typedef enum traceType traceType_t
gtg-trace-0.2+dfsg/doc/html/html/GTGBasic_8h_source.html000066400000000000000000000524011175246114100230600ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTGBasic.h Source File
Generic Trace Generator (GTG)  0.1
GTGBasic.h
Go to the documentation of this file.
00001 
00021 #ifndef _GTG_BASIC_H_
00022 #define _GTG_BASIC_H_
00023 #include <stdlib.h>
00024 #include <string.h>
00025 #include "GTGColor.h"
00026 #include "GTGTypes.h"
00027 
00031 #define GTG_FLAG_NONE    0
00032 
00036 #define GTG_FLAG_USE_MPI 1
00037 
00041 #define GTG_FLAG_NOTBUF  2
00042 
00046 #define GTG_FLAG_OUTOFORDER  4
00047 
00051 typedef uint8_t gtg_flag_t;
00052 
00053 
00064 typedef enum traceType{
00065     PAJE, 
00066     VITE, 
00067     OTF,  
00068     TAU   
00069 }traceType_t;
00070 
00077 void setTraceType (traceType_t type);
00078 
00085 traceType_t getTraceType ();
00086 
00094 char* getName (int procRk);
00095 
00103 int bufferedModeActivated();
00104 
00105 
00119 trace_return_t initTrace   (const char* filename, int rank, gtg_flag_t flags);
00120 
00128 trace_return_t endTrace   ();
00137 trace_return_t setCompress (int val);
00138 
00154 trace_return_t addContType   (const char* alias, const char* contType, 
00155                    const char* name);
00156 
00172 trace_return_t addStateType   (const char* alias, const char* contType, 
00173                     const char* name);
00174 
00190 trace_return_t addEventType   (const char* alias, const char* contType, 
00191                     const char* name);
00192 
00212 trace_return_t addLinkType   (const char* alias   , const char* name,
00213                    const char* contType, const char* srcContType,
00214                    const char* destContType);
00215 
00231 trace_return_t addVarType   (const char* alias   , const char* name,
00232                   const char* contType); 
00233 
00248 trace_return_t addEntityValue   (const char* alias, const char* entType, 
00249                       const char* name , gtg_color_t p_color);
00250 
00269 trace_return_t addContainer   (varPrec time, const char* alias    ,
00270                     const char*  type, const char* container,
00271                     const char*  name, const char* file);
00272 
00285 trace_return_t destroyContainer     (varPrec time, const char*  name,
00286                           const char*  type);
00287 
00302 trace_return_t setState   (varPrec time, const char* type,
00303                 const char*  cont, const char* val);
00304 
00319 trace_return_t pushState   (varPrec time, const char* type,
00320                  const char*  cont, const char* val);
00321 
00334 trace_return_t popState   (varPrec time, const char* type,
00335                 const char*  cont);
00336 
00351 trace_return_t addEvent   (varPrec time, const char* type,
00352                 const char*  cont, const char* val);
00353 
00374 trace_return_t startLink   (varPrec time, const char* type,
00375                  const char*  cont, const char* src,
00376                  const char*  dest, const char* val,
00377                  const char* key);
00378 
00399 trace_return_t endLink   (varPrec time, const char* type,
00400                const char*  cont, const char* src,
00401                const char*  dest, const char* val,
00402                const char* key);
00403 
00418 trace_return_t setVar   (varPrec time, const char*  type,
00419               const char*  cont, varPrec val);
00420 
00435 trace_return_t addVar   (varPrec time, const char*  type,
00436               const char*  cont, varPrec val);
00437 
00453 trace_return_t subVar   (varPrec time, const char*  type,
00454               const char*  cont, varPrec val);
00455 
00465 trace_return_t AddComment   (const char*  comment);
00466 #endif /* _GTG_BASIC_H_ */
gtg-trace-0.2+dfsg/doc/html/html/GTGColor_8h.html000066400000000000000000000643611175246114100215450ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTGColor.h File Reference
Generic Trace Generator (GTG)  0.1
GTGColor.h File Reference

This file defines some useful colors to use in entity values for GTG. More...

#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  gtg_color
 This structure defines a color that can be used by GTG. More...

Defines

#define GTG_COLOR_BLUE_POS   0
#define GTG_COLOR_GREEN_POS   8
#define GTG_COLOR_RED_POS   16
#define GTG_COLOR_BLUE_MASK   (0x000000ff << GTG_COLOR_BLUE_POS)
#define GTG_COLOR_GREEN_MASK   (0x000000ff << GTG_COLOR_GREEN_POS)
#define GTG_COLOR_RED_MASK   (0x000000ff << GTG_COLOR_RED_POS)

Typedefs

typedef uint32_t gtg_rgb_color_t
typedef struct gtg_colorgtg_color_t

Functions

static uint8_t GTG_COLOR_GET_BLUE (gtg_rgb_color_t rgb)
 Return the 1-byte value of the blue component of a rgb color.
static uint8_t GTG_COLOR_GET_GREEN (gtg_rgb_color_t rgb)
 Return the 1-byte value of the green component of a rgb color.
static uint8_t GTG_COLOR_GET_RED (gtg_rgb_color_t rgb)
 Return the 1-byte value of the red component of a rgb color.
static gtg_rgb_color_t GTG_COLOR_SET_COLOR (uint8_t r, uint8_t g, uint8_t b)
 Return the 4-bytes RGB color from 3 1-byte components.
void gtg_color_init ()
void gtg_color_exit ()
gtg_color_t gtg_color_create (const char *name, uint8_t r, uint8_t g, uint8_t b)
void gtg_color_free (gtg_color_t color)

Variables

gtg_color_t GTG_BLACK
 Default black color. (R,G,B) = (0, 0, 0)
gtg_color_t GTG_RED
 Default red color. (R,G,B) = (255, 0, 0)
gtg_color_t GTG_GREEN
 Default green color. (R,G,B) = (0, 255, 0)
gtg_color_t GTG_BLUE
 Default blue color. (R,G,B) = (0, 0, 255)
gtg_color_t GTG_WHITE
 Default white color. (R,G,B) = (255, 255, 255)
gtg_color_t GTG_TEAL
 Default teal color. (R,G,B) = (0, 255, 255)
gtg_color_t GTG_DARKGREY
 Default dark grey color. (R,G,B) = (85, 85, 85)
gtg_color_t GTG_YELLOW
 Default yellow color. (R,G,B) = (255, 255, 0)
gtg_color_t GTG_PURPLE
 Default purple color. (R,G,B) = (153, 25, 230)
gtg_color_t GTG_LIGHTBROWN
 Default light brown color. (R,G,B) = (170, 130, 130)
gtg_color_t GTG_LIGHTGREY
 Default light grey color. (R,G,B) = (200, 200, 200)
gtg_color_t GTG_DARKBLUE
 Default dark blue color. (R,G,B) = (0, 0, 80)
gtg_color_t GTG_PINK
 Default pink color. (R,G,B) = (255, 0, 255)
gtg_color_t GTG_DARKPINK
 Default dark pink color. (R,G,B) = (180, 80, 180)
gtg_color_t GTG_SEABLUE
 Default sea blue color. (R,G,B) = (25, 128, 200)
gtg_color_t GTG_KAKI
 Default kaki color. (R,G,B) = (80, 100, 25)
gtg_color_t GTG_REDBLOOD
 Default red blood color. (R,G,B) = (200, 25, 25)
gtg_color_t GTG_BROWN
 Default brown color. (R,G,B) = (100, 25, 25)
gtg_color_t GTG_GRENAT
 Default grenat color. (R,G,B) = (100, 0, 80)
gtg_color_t GTG_ORANGE
 Default orange color. (R,G,B) = (255, 160, 0)
gtg_color_t GTG_MAUVE
 Default mauve color. (R,G,B) = (128, 0, 255)
gtg_color_t GTG_LIGHTPINK
 Default light pink color. (R,G,B) = (255, 128, 255)

Detailed Description

This file defines some useful colors to use in entity values for GTG.

Version:
0.1

Define Documentation

#define GTG_COLOR_BLUE_MASK   (0x000000ff << GTG_COLOR_BLUE_POS)
#define GTG_COLOR_BLUE_POS   0
#define GTG_COLOR_GREEN_MASK   (0x000000ff << GTG_COLOR_GREEN_POS)
#define GTG_COLOR_GREEN_POS   8
#define GTG_COLOR_RED_MASK   (0x000000ff << GTG_COLOR_RED_POS)
#define GTG_COLOR_RED_POS   16

Typedef Documentation

typedef struct gtg_color* gtg_color_t
typedef uint32_t gtg_rgb_color_t

Function Documentation

gtg_color_t gtg_color_create ( const char *  name,
uint8_t  r,
uint8_t  g,
uint8_t  b 
)
void gtg_color_exit ( )
void gtg_color_free ( gtg_color_t  color)
void gtg_color_init ( )
gtg-trace-0.2+dfsg/doc/html/html/GTGColor_8h_source.html000066400000000000000000000376741175246114100231340ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTGColor.h Source File
Generic Trace Generator (GTG)  0.1
GTGColor.h
Go to the documentation of this file.
00001 
00009 #ifndef _GTGCOLOR_H_
00010 #define _GTGCOLOR_H_
00011 
00012 #include <stdint.h>
00013 
00018 typedef uint32_t gtg_rgb_color_t;
00019 
00025 struct gtg_color {
00027         char* color_name; 
00028         gtg_rgb_color_t rgb; 
00030 };
00031 typedef struct gtg_color* gtg_color_t;
00032 
00033 /* In a 4-byte value, the first byte corresponds to blue,
00034  * the second to green, the third to red. The 4th byte is 
00035  * unused (for now). ie. a color is represented as follows:
00036  * 0x00rrggbb
00037  */
00038 #define GTG_COLOR_BLUE_POS  0
00039 #define GTG_COLOR_GREEN_POS 8
00040 #define GTG_COLOR_RED_POS   16
00041 
00042 #define GTG_COLOR_BLUE_MASK  (0x000000ff << GTG_COLOR_BLUE_POS)
00043 #define GTG_COLOR_GREEN_MASK (0x000000ff << GTG_COLOR_GREEN_POS)
00044 #define GTG_COLOR_RED_MASK   (0x000000ff << GTG_COLOR_RED_POS)
00045 
00051 static inline uint8_t
00052 GTG_COLOR_GET_BLUE(gtg_rgb_color_t rgb)
00053 {
00054         return (((rgb) & GTG_COLOR_BLUE_MASK)  >> GTG_COLOR_BLUE_POS );
00055 }
00056 
00062 static inline uint8_t
00063 GTG_COLOR_GET_GREEN(gtg_rgb_color_t rgb)
00064 {
00065         return (((rgb) & GTG_COLOR_GREEN_MASK) >> GTG_COLOR_GREEN_POS);
00066 }
00067 
00073 static inline uint8_t
00074 GTG_COLOR_GET_RED(gtg_rgb_color_t rgb)
00075 {
00076         return (((rgb) & GTG_COLOR_RED_MASK)   >> GTG_COLOR_RED_POS  );
00077 }
00078 
00079 
00085 static inline gtg_rgb_color_t
00086 GTG_COLOR_SET_COLOR(uint8_t r, uint8_t g, uint8_t b)
00087 {
00088         return ((r << GTG_COLOR_RED_POS) |
00089                 (g << GTG_COLOR_GREEN_POS) |
00090                 (b << GTG_COLOR_BLUE_POS));
00091 }
00092 
00093 
00099 extern gtg_color_t GTG_BLACK;
00100 
00106 extern gtg_color_t GTG_RED;
00107 
00113 extern gtg_color_t GTG_GREEN;
00114 
00120 extern gtg_color_t GTG_BLUE;
00121 
00127 extern gtg_color_t GTG_WHITE;
00128 
00134 extern gtg_color_t GTG_TEAL;
00135 
00141 extern gtg_color_t GTG_DARKGREY;
00142 
00148 extern gtg_color_t GTG_YELLOW;
00149 
00155 extern gtg_color_t GTG_PURPLE;
00156 
00162 extern gtg_color_t GTG_LIGHTBROWN;
00163 
00169 extern gtg_color_t GTG_LIGHTGREY;
00170 
00176 extern gtg_color_t GTG_DARKBLUE;
00177 
00183 extern gtg_color_t GTG_PINK;
00184 
00190 extern gtg_color_t GTG_DARKPINK;
00191 
00197 extern gtg_color_t GTG_SEABLUE;
00198 
00204 extern gtg_color_t GTG_KAKI;
00205 
00211 extern gtg_color_t GTG_REDBLOOD;
00212 
00218 extern gtg_color_t GTG_BROWN;
00219 
00225 extern gtg_color_t GTG_GRENAT;
00226 
00232 extern gtg_color_t GTG_ORANGE;
00233 
00239 extern gtg_color_t GTG_MAUVE;
00240 
00246 extern gtg_color_t GTG_LIGHTPINK;
00247 
00248 void gtg_color_init();
00249 void gtg_color_exit();
00250 
00251 gtg_color_t gtg_color_create( const char *name, uint8_t r, uint8_t g, uint8_t b);
00252 void        gtg_color_free(gtg_color_t color);
00253 
00254 #endif /* _GTGCOLOR_H_ */
gtg-trace-0.2+dfsg/doc/html/html/GTGCompress_8h.html000066400000000000000000000416021175246114100222530ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTGCompress.h File Reference
Generic Trace Generator (GTG)  0.1
GTGCompress.h File Reference
#include <stdint.h>
#include <stdio.h>
#include <zlib.h>

Go to the source code of this file.

Functions

int gtg_compress_m2m (z_stream *z, void *in_buf, uint32_t len, void *out_buf, uint32_t out_max_len)
int gtg_compress_m2f (z_stream *z, void *in_buf, uint32_t len, FILE *file_out)
int gtg_compress_f2m (z_stream *z, FILE *file_in, void *out_buf, uint32_t out_max_len)
int gtg_compress_f2f (z_stream *z, FILE *file_in, FILE *file_out)
int gtg_decompress_m2m (z_stream *z, void *in_buf, uint32_t len, void *out_buf, uint32_t out_max_len)
int gtg_decompress_m2f (z_stream *z, void *in_buf, uint32_t len, FILE *file_out)
int gtg_decompress_f2m (z_stream *z, FILE *file_in, void *out_buf, uint32_t out_max_len)
int gtg_decompress_f2f (z_stream *z, FILE *file_in, FILE *file_out)
int gtg_compress_init (z_stream *z, int compression_ratio)
int gtg_decompress_init (z_stream *z)

Function Documentation

int gtg_compress_f2f ( z_stream *  z,
FILE *  file_in,
FILE *  file_out 
)
int gtg_compress_f2m ( z_stream *  z,
FILE *  file_in,
void *  out_buf,
uint32_t  out_max_len 
)
int gtg_compress_init ( z_stream *  z,
int  compression_ratio 
)
int gtg_compress_m2f ( z_stream *  z,
void *  in_buf,
uint32_t  len,
FILE *  file_out 
)
int gtg_compress_m2m ( z_stream *  z,
void *  in_buf,
uint32_t  len,
void *  out_buf,
uint32_t  out_max_len 
)
int gtg_decompress_f2f ( z_stream *  z,
FILE *  file_in,
FILE *  file_out 
)
int gtg_decompress_f2m ( z_stream *  z,
FILE *  file_in,
void *  out_buf,
uint32_t  out_max_len 
)
int gtg_decompress_init ( z_stream *  z)
int gtg_decompress_m2f ( z_stream *  z,
void *  in_buf,
uint32_t  len,
FILE *  file_out 
)
int gtg_decompress_m2m ( z_stream *  z,
void *  in_buf,
uint32_t  len,
void *  out_buf,
uint32_t  out_max_len 
)
gtg-trace-0.2+dfsg/doc/html/html/GTGCompress_8h_source.html000066400000000000000000000132111175246114100236260ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTGCompress.h Source File
Generic Trace Generator (GTG)  0.1
GTGCompress.h
Go to the documentation of this file.
00001 #ifndef GTG_COMPRESS_H
00002 #define GTG_COMPRESS_H
00003 
00004 #include <stdint.h>
00005 #include <stdio.h>
00006 #include <zlib.h>
00007 
00008 /* compress a buffer into another buffer */
00009 int gtg_compress_m2m(z_stream *z, void* in_buf, uint32_t len, void* out_buf, uint32_t out_max_len);
00010 /* compress a buffer and save the result in a file */
00011 int gtg_compress_m2f(z_stream *z, void* in_buf, uint32_t len, FILE* file_out);
00012 /* compress a file into a buffer */
00013 int gtg_compress_f2m(z_stream *z, FILE* file_in, void* out_buf, uint32_t out_max_len);
00014 /* compress a file into another file */
00015 int gtg_compress_f2f(z_stream *z, FILE* file_in, FILE* file_out);
00016 
00017 /* save functions for decompression */
00018 int gtg_decompress_m2m(z_stream *z, void* in_buf, uint32_t len, void* out_buf, uint32_t out_max_len);
00019 int gtg_decompress_m2f(z_stream *z, void* in_buf, uint32_t len, FILE* file_out);
00020 int gtg_decompress_f2m(z_stream *z, FILE* file_in, void* out_buf, uint32_t out_max_len);
00021 int gtg_decompress_f2f(z_stream *z, FILE* file_in, FILE* file_out);
00022 
00023 int gtg_compress_init(z_stream *z, int compression_ratio);
00024 int gtg_decompress_init(z_stream *z);
00025 
00026 #endif  /* GTG_COMPRESS_H */
gtg-trace-0.2+dfsg/doc/html/html/GTGList_8h.html000066400000000000000000000707351175246114100214040ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTGList.h File Reference
Generic Trace Generator (GTG)  0.1
GTGList.h File Reference

Go to the source code of this file.

Data Structures

struct  gtg_list

Defines

#define GTG_LIST_INIT(ptr)
 initialize a list.
#define GTG_LIST(name)
 declare and initialize a list.
#define gtg_list_entry(ptr, type, member)   ((type *)((char *)(ptr) - (char *)(&((type *)0)->member)))
 get the structure corresponding to a list entry
#define gtg_list_for_each(pos, head)   for (pos = (head)->next; pos != (head); pos = pos->next)
#define gtg_list_for_each_reverse(pos, head)   for (pos = (head)->prev; pos != (head); pos = pos->prev)
#define gtg_list_for_each_safe(pos, n, head)
#define gtg_list_for_each_entry(pos, head, member)
 iterate over list of given type
#define gtg_list_for_each_entry_safe(pos, n, head, member)
 iterate over list of given type safe against removal of list entry

Typedefs

typedef struct gtg_listgtg_list_t

Functions

static void __gtg_list_add (gtg_list_t lnew, gtg_list_t prev, gtg_list_t next)
static void gtg_list_add (gtg_list_t lnew, gtg_list_t head)
 Insert a new entry after the specified head.
static void gtg_list_add_tail (gtg_list_t lnew, gtg_list_t head)
 Insert a new entry before the specified head (ie. at the tail of the list).
static void __gtg_list_del (gtg_list_t prev, gtg_list_t next)
static void gtg_list_del (gtg_list_t entry)
 delete an entry from its list and reinitialize it.
static int gtg_list_size (gtg_list_t l)

Define Documentation

GTG_LIST (   name)
Value:
struct gtg_list name; \
  GTG_LIST_INIT(&name)

declare and initialize a list.

Parameters:
nameName of the variable
gtg_list_entry (   ptr,
  type,
  member 
)    ((type *)((char *)(ptr) - (char *)(&((type *)0)->member)))

get the structure corresponding to a list entry

Parameters:
ptrpointer to the list entry (gtg_list_t)
typethe type of the struct this is embedded in.
memberthe name of the struct gtg_list member within the struct.
#define gtg_list_for_each (   pos,
  head 
)    for (pos = (head)->next; pos != (head); pos = pos->next)
#define gtg_list_for_each_entry (   pos,
  head,
  member 
)
Value:
for (pos = gtg_list_entry((head)->next, typeof(*pos), member);  \
       &pos->member != (head);                                          \
       pos = gtg_list_entry(pos->member.next, typeof(*pos), member))

iterate over list of given type

gtg_list_for_each_entry(pos, head, member)

Parameters:
posthe type * to use as a loop counter.
headthe head for the list.
memberthe name of the struct gtg_list member within the struct.
#define gtg_list_for_each_entry_safe (   pos,
  n,
  head,
  member 
)
Value:
for (pos = gtg_list_entry((head)->next, typeof(*pos), member),  \
         n = gtg_list_entry(pos->member.next, typeof(*pos), member);    \
       &pos->member != (head);                                          \
       pos = n, n = gtg_list_entry(n->member.next, typeof(*n), member))

iterate over list of given type safe against removal of list entry

gtg_list_for_each_entry_safe(pos, n, head, member)

Parameters:
posthe type * to use as a loop counter.
nanother type * to use as temporary storage
headthe head for the list.
memberthe name of the struct gtg_list member within the struct.
#define gtg_list_for_each_reverse (   pos,
  head 
)    for (pos = (head)->prev; pos != (head); pos = pos->prev)
#define gtg_list_for_each_safe (   pos,
  n,
  head 
)
Value:
for (pos = (head)->next, n = pos->next; pos != (head);  \
       pos = n, n = pos->next)
GTG_LIST_INIT (   ptr)
Value:
do {                                            \
    (ptr)->prev = (ptr);                        \
    (ptr)->next = (ptr);                        \
  } while(0)

initialize a list.

Parameters:
ptrpointer to the list (gtg_list_t).

Typedef Documentation

typedef struct gtg_list* gtg_list_t

Function Documentation

static void __gtg_list_add ( gtg_list_t  lnew,
gtg_list_t  prev,
gtg_list_t  next 
) [inline, static]
static void __gtg_list_del ( gtg_list_t  prev,
gtg_list_t  next 
) [inline, static]

Delete a list entry by making the prev/next entries point to each other.

This is only for internal list manipulation where we know the prev/next entries already!

void gtg_list_add ( gtg_list_t  lnew,
gtg_list_t  head 
) [inline, static]

Insert a new entry after the specified head.

Parameters:
lnewnew entry to be added
headlist head to add it after
void gtg_list_add_tail ( gtg_list_t  lnew,
gtg_list_t  head 
) [inline, static]

Insert a new entry before the specified head (ie. at the tail of the list).

Parameters:
lnewnew entry to be added
headlist head to add it after
void gtg_list_del ( gtg_list_t  entry) [inline, static]

delete an entry from its list and reinitialize it.

Parameters:
entrythe element to delete from the list.
static int gtg_list_size ( gtg_list_t  l) [inline, static]
gtg-trace-0.2+dfsg/doc/html/html/GTGList_8h_source.html000066400000000000000000000334201175246114100227520ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTGList.h Source File
Generic Trace Generator (GTG)  0.1
GTGList.h
Go to the documentation of this file.
00001 #ifndef GTG_LIST_H
00002 #define GTG_LIST_H
00003 
00004 struct gtg_list {
00005   struct gtg_list *prev;
00006   struct gtg_list *next;
00007 };
00008 
00009 typedef struct gtg_list* gtg_list_t;
00010 
00016 #define GTG_LIST_INIT(ptr)                      \
00017   do {                                          \
00018     (ptr)->prev = (ptr);                        \
00019     (ptr)->next = (ptr);                        \
00020   } while(0)
00021 
00027 #define GTG_LIST(name) \
00028   struct gtg_list name; \
00029   GTG_LIST_INIT(&name)
00030 
00031 
00039 #define gtg_list_entry(ptr, type, member) \
00040   ((type *)((char *)(ptr) - (char *)(&((type *)0)->member)))
00041 
00042 
00043 /*
00044  * Insert a new entry between two known consecutive entries.
00045  *
00046  * This is only for internal list manipulation where we know
00047  * the prev/next entries already!
00048  */
00049 static inline void __gtg_list_add(gtg_list_t lnew,
00050                                   gtg_list_t prev,
00051                                   gtg_list_t next)
00052 {
00053   next->prev = lnew;
00054   lnew->next = next;
00055   lnew->prev = prev;
00056   prev->next = lnew;
00057 }
00058 
00065 static inline void gtg_list_add(gtg_list_t lnew, gtg_list_t head)
00066 {
00067   __gtg_list_add(lnew, head, head->next);
00068 }
00069 
00076 static inline void gtg_list_add_tail(gtg_list_t lnew, gtg_list_t head)
00077 {
00078   __gtg_list_add(lnew, head->prev, head);
00079 }
00080 
00088 static inline void __gtg_list_del(gtg_list_t prev, gtg_list_t next)
00089 {
00090         next->prev = prev;
00091         prev->next = next;
00092 }
00093 
00099 static inline void gtg_list_del(gtg_list_t entry)
00100 {
00101   __gtg_list_del(entry->prev, entry->next);
00102   GTG_LIST_INIT(entry);
00103 }
00104 
00105 
00112 #define gtg_list_for_each(pos, head) \
00113   for (pos = (head)->next; pos != (head); pos = pos->next)
00114 
00121 #define gtg_list_for_each_reverse(pos, head)                    \
00122   for (pos = (head)->prev; pos != (head); pos = pos->prev)
00123 
00131 #define gtg_list_for_each_safe(pos, n, head)                    \
00132   for (pos = (head)->next, n = pos->next; pos != (head);        \
00133        pos = n, n = pos->next)
00134 
00135 
00136 
00144 #define gtg_list_for_each_entry(pos, head, member)                      \
00145   for (pos = gtg_list_entry((head)->next, typeof(*pos), member);        \
00146        &pos->member != (head);                                          \
00147        pos = gtg_list_entry(pos->member.next, typeof(*pos), member))
00148 
00157 #define gtg_list_for_each_entry_safe(pos, n, head, member)              \
00158   for (pos = gtg_list_entry((head)->next, typeof(*pos), member),        \
00159          n = gtg_list_entry(pos->member.next, typeof(*pos), member);    \
00160        &pos->member != (head);                                          \
00161        pos = n, n = gtg_list_entry(n->member.next, typeof(*n), member))
00162 
00163 
00164 static inline int gtg_list_size(gtg_list_t l)
00165 {
00166   int res = 0;
00167   gtg_list_t ptr = NULL;
00168   gtg_list_for_each(ptr, l)
00169     res++;
00170 
00171   return res;
00172 }
00173 
00174 #endif  /* GTG_LIST_H */
gtg-trace-0.2+dfsg/doc/html/html/GTGMemory_8h.html000066400000000000000000000124621175246114100217320ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTGMemory.h File Reference
Generic Trace Generator (GTG)  0.1
GTGMemory.h File Reference

This file defines a fast allocator for fixed-size blocks. More...

#include <stdlib.h>

Go to the source code of this file.

Data Structures

struct  gtg_memory

Typedefs

typedef struct gtg_memorygtg_memory_t

Functions

void gtg_block_memory_init (gtg_memory_t *memory, size_t block_size, long initial_block_number)
 Initialize the allocator.
void * gtg_block_malloc (gtg_memory_t memory)
 Allocate a block of data.
void gtg_block_free (gtg_memory_t memory, void *ptr)
 Free a block of data.

Detailed Description

This file defines a fast allocator for fixed-size blocks.

Version:
0.1

Typedef Documentation

typedef struct gtg_memory* gtg_memory_t
gtg-trace-0.2+dfsg/doc/html/html/GTGMemory_8h_source.html000066400000000000000000000131621175246114100233100ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTGMemory.h Source File
Generic Trace Generator (GTG)  0.1
GTGMemory.h
Go to the documentation of this file.
00001 
00009 #ifndef GTG_MEMORY_H
00010 #define GTG_MEMORY_H
00011 
00012 #include <stdlib.h>
00013 
00014 
00019 struct gtg_memory {
00020   void *first_mem;
00021   void *current_mem;
00022   size_t block_len;
00023   long mem_len;
00024   void *first_free;
00025   long first_new;
00026   long nb_allocated;
00027 };
00028 typedef struct gtg_memory *gtg_memory_t;
00029 
00038 void gtg_block_memory_init(gtg_memory_t *memory, size_t block_size, long initial_block_number);
00039 
00047 void* gtg_block_malloc(gtg_memory_t memory);
00048 
00057 void gtg_block_free(gtg_memory_t memory, void *ptr);
00058 
00059 #endif
gtg-trace-0.2+dfsg/doc/html/html/GTGOTF_8h.html000066400000000000000000000062641175246114100211150ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTGOTF.h File Reference
Generic Trace Generator (GTG)  0.1
GTGOTF.h File Reference

OTF is the global file for gtg interface using OTF. More...

#include <stdint.h>
#include "GTGOTF_Structs.h"
#include "GTGOTF_Basic.h"

Go to the source code of this file.


Detailed Description

OTF is the global file for gtg interface using OTF.

Version:
0.1
Authors:
Developers are :
Francois Rue - francois.rue@labri.fr
Francois Trahay - francois.trahay@labri.fr
Johnny Jazeix - jazeix@enseirb-matmeca.fr
Kevin Coulomb - kevin.coulomb@gmail.com
Mathieu Faverge - faverge@labri.fr
Olivier Lagrasse - lagrasse@enseirb-matmeca.fr
gtg-trace-0.2+dfsg/doc/html/html/GTGOTF_8h_source.html000066400000000000000000000057451175246114100225000ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTGOTF.h Source File
Generic Trace Generator (GTG)  0.1
GTGOTF.h
Go to the documentation of this file.
00001 
00017 #ifndef _GTG_OTF_H_
00018 #define _GTG_OTF_H_
00019 
00020 #include <stdint.h>
00021 #include "GTGOTF_Structs.h"
00022 #include "GTGOTF_Basic.h"
00023 
00024 #endif /* _GTG_OTF_H_ */
gtg-trace-0.2+dfsg/doc/html/html/GTGOTF__Basic_8h.html000066400000000000000000000457721175246114100223640ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTGOTF_Basic.h File Reference
Generic Trace Generator (GTG)  0.1
GTGOTF_Basic.h File Reference

OTF_GTGBasic1 is the OTF implementation of the basic interface to generate traces (GTGBasic1). More...

#include "GTGTypes.h"
#include "GTGBasic.h"
#include "GTGOTF_Structs.h"

Go to the source code of this file.

Functions

const otf_color_t OTF_get_color (gtg_color_t color)
 Converts a GTG color into a OTF color.
trace_return_t OTFInitTrace (const char *filename, gtg_flag_t flags)
 Initialize an OTF trace.
trace_return_t OTFSetCompress (int val)
 Enable trace compression.
trace_return_t OTFAddContType (const char *alias, const char *contType, const char *name)
 Add a Container Type.
trace_return_t OTFAddStateType (const char *alias, const char *contType, const char *name)
 Add a State Type.
trace_return_t OTFAddEventType (const char *alias, const char *contType, const char *name)
 Add an Event Type.
trace_return_t OTFAddLinkType (const char *alias, const char *name, const char *contType, const char *srcContType, const char *destContType)
 Add a Link Type.
trace_return_t OTFAddVarType (const char *alias, const char *name, const char *contType)
 Add a Variable Type.
trace_return_t OTFAddEntityValue (const char *alias, const char *entType, const char *name, const otf_color_t color)
 Add an Entity Value.
trace_return_t OTFDefineContainer (const char *alias, const char *type, const char *container, const char *name, const char *file)
trace_return_t OTFStartContainer (varPrec time, const char *alias, const char *type, const char *container, const char *name, const char *file)
 Start a Container.
trace_return_t OTFDestroyContainer (varPrec time, const char *name, const char *type)
 Destroy a Container.
trace_return_t OTFSetState (varPrec time, const char *type, const char *cont, const char *val)
 Set the State of a Container.
trace_return_t OTFPushState (varPrec time, const char *type, const char *cont, const char *val)
 Save the current State on a stack and change the State of a Container.
trace_return_t OTFPopState (varPrec time, const char *type, const char *cont)
 Revert the State of a Container to its previous value.
trace_return_t OTFAddEvent (varPrec time, const char *type, const char *cont, const char *val)
 Add an Event.
trace_return_t OTFStartLink (varPrec time, const char *type, const char *src, const char *dest, const char *val, const char *key)
 Start a Link.
trace_return_t OTFEndLink (varPrec time, const char *type, const char *src, const char *dest, const char *val, const char *key)
 End a Link.
trace_return_t OTFSetVar (varPrec time, const char *type, const char *cont, varPrec val)
 Set a Variable value.
trace_return_t OTFAddVar (varPrec time, const char *type, const char *cont, varPrec val)
 Add a value to a Variable.
trace_return_t OTFSubVar (varPrec time, const char *type, const char *cont, varPrec val)
 Substract a value from a Variable.
trace_return_t OTFAddComment (const char *comment)
 Add some Comment in Trace file.
trace_return_t OTFEndTrace ()
 Finalize an OTF trace.

Detailed Description

OTF_GTGBasic1 is the OTF implementation of the basic interface to generate traces (GTGBasic1).

Version:
0.1
Authors:
Developers are :
Francois Rue - francois.rue@labri.fr
Francois Trahay - francois.trahay@labri.fr
Johnny Jazeix - jazeix@enseirb-matmeca.fr
Kevin Coulomb - kevin.coulomb@gmail.com
Mathieu Faverge - faverge@labri.fr
Olivier Lagrasse - lagrasse@enseirb-matmeca.fr

Function Documentation

trace_return_t OTFDefineContainer ( const char *  alias,
const char *  type,
const char *  container,
const char *  name,
const char *  file 
)
gtg-trace-0.2+dfsg/doc/html/html/GTGOTF__Basic_8h_source.html000066400000000000000000000452461175246114100237400ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTGOTF_Basic.h Source File
Generic Trace Generator (GTG)  0.1
GTGOTF_Basic.h
Go to the documentation of this file.
00001 
00016 #ifndef _GTG_OTF_BASIC_H_
00017 #define _GTG_OTF_BASIC_H_
00018 
00019 #include "GTGTypes.h"
00020 #include "GTGBasic.h"
00021 #include "GTGOTF_Structs.h"
00022 
00034 const otf_color_t OTF_get_color(gtg_color_t color);
00035 
00045 trace_return_t OTFInitTrace   (const char* filename, gtg_flag_t flags);
00046 
00055 trace_return_t OTFSetCompress(int val);
00056 
00069 trace_return_t OTFAddContType   (const char* alias, const char* contType, 
00070                        const char* name);
00071 
00084 trace_return_t OTFAddStateType   (const char* alias, const char* contType, 
00085                         const char* name);
00086 
00099 trace_return_t OTFAddEventType   (const char* alias, const char* contType, 
00100                         const char* name);
00101 
00118 trace_return_t OTFAddLinkType   (const char* alias   , const char* name,
00119                        const char* contType, const char* srcContType,
00120                        const char* destContType);
00121 
00134 trace_return_t OTFAddVarType   (const char* alias   , const char* name,
00135                       const char* contType); 
00136 
00151 trace_return_t OTFAddEntityValue   (const char* alias, const char* entType, 
00152                                     const char* name , const otf_color_t color);
00153 
00171 trace_return_t OTFDefineContainer (const char* alias,
00172                                    const char*  type, const char* container,
00173                                    const char*  name, const char* file);
00174 
00193 trace_return_t OTFStartContainer (varPrec time, const char* alias    ,
00194                                   const char*  type, const char* container,
00195                                   const char*  name, const char* file);
00196 
00209 trace_return_t OTFDestroyContainer     (varPrec time, const char*  name,
00210                               const char*  type);
00211 
00226 trace_return_t OTFSetState   (varPrec time, const char* type,
00227                     const char*  cont, const char* val);
00228 
00243 trace_return_t OTFPushState   (varPrec time, const char* type,
00244                      const char*  cont, const char* val);
00245 
00258 trace_return_t OTFPopState   (varPrec time, const char* type,
00259                     const char*  cont);
00260 
00275 trace_return_t OTFAddEvent   (varPrec time, const char* type,
00276                     const char*  cont, const char* val);
00277 
00296 trace_return_t OTFStartLink   (varPrec time, const char* type,
00297                      const char*   src, const char* dest,
00298                      const char*   val , const char* key);
00299 
00318 trace_return_t OTFEndLink   (varPrec time, const char* type,
00319                    const char*  src, const char* dest,
00320                    const char*  val, const char* key);
00321 
00336 trace_return_t OTFSetVar   (varPrec time, const char*  type,
00337                   const char*  cont, varPrec val);
00338 
00353 trace_return_t OTFAddVar   (varPrec time, const char*  type,
00354                   const char*  cont, varPrec val);
00355 
00370 trace_return_t OTFSubVar   (varPrec time, const char*  type,
00371                   const char*  cont, varPrec val);
00372 
00382 trace_return_t OTFAddComment   (const char*  comment);
00383 
00391 trace_return_t OTFEndTrace ();
00392 
00393 #endif /* _GTG_OTF_BASIC_H_ */
00394 
00395 
00396 
gtg-trace-0.2+dfsg/doc/html/html/GTGOTF__Structs_8h.html000066400000000000000000001324511175246114100230010ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTGOTF_Structs.h File Reference
Generic Trace Generator (GTG)  0.1
GTGOTF_Structs.h File Reference

OTF_Structs gives the global types and functions needed to have the OTF implementation. More...

#include <stdint.h>
#include "GTGList.h"
#include "GTGStack.h"

Go to the source code of this file.

Data Structures

struct  StateType
struct  State
struct  ContainerType
struct  Container
struct  EntityValue
struct  EventType
struct  LinkType
struct  Link
struct  VariableType
struct  Variable
struct  otf_color

Defines

#define MAX_PROCESS   64
#define ContainerType_NIL   0
#define Container_NIL   0
#define StateType_NIL   0
#define State_NIL   0
#define EntityValue_NIL   0
#define EventType_NIL   0
#define LinkType_NIL   0
#define VariableType_NIL   0
#define Variable_NIL   0
#define init_ContainerType(var)
#define init_Container(var)
#define init_StateType(var)
#define init_EntityValue(var)
#define init_EventType(var)
#define init_LinkType(var)
#define init_VariableType(var)
#define init_Variable(var)
#define init_State(var)
#define alloc_struct(ptr, type, list_head)
#define alloc_init_struct(type, ptr, list_head, _name_, _alias_)
#define alloc_Variable(_ptr_, _id_, _parent_, _type_, _value_)
#define alloc_State(_ptr_, _value_, _cont_, _stateType_)
#define free_struct(_type_, _list_head_)

Typedefs

typedef struct StateType StateType_t
typedef struct State State_t
typedef struct ContainerType ContainerType_t
typedef struct Container Container_t
typedef struct EntityValue EntityValue_t
typedef struct EventType EventType_t
typedef struct LinkType LinkType_t
typedef struct Link Link_t
typedef struct VariableType VariableType_t
typedef struct Variable Variable_t
typedef struct otf_colorotf_color_t

Detailed Description

OTF_Structs gives the global types and functions needed to have the OTF implementation.

Version:
0.1
Authors:
Developers are :
Francois Rue - francois.rue@labri.fr
Francois Trahay - francois.trahay@labri.fr
Johnny Jazeix - jazeix@enseirb-matmeca.fr
Kevin Coulomb - kevin.coulomb@gmail.com
Mathieu Faverge - faverge@labri.fr
Olivier Lagrasse - lagrasse@enseirb-matmeca.fr

Define Documentation

#define alloc_init_struct (   type,
  ptr,
  list_head,
  _name_,
  _alias_ 
)
Value:
do {                                                                    \
  alloc_struct(ptr, type, list_head);                                   \
  (ptr)->name = (char *)malloc(sizeof(char)*(strlen(_name_)+1));        \
  strcpy((ptr)->name, _name_);                                          \
  (ptr)->alias = (char *)malloc(sizeof(char)*(strlen(_alias_)+1));      \
  strcpy((ptr)->alias, _alias_);                                        \
  }while(0)
#define alloc_State (   _ptr_,
  _value_,
  _cont_,
  _stateType_ 
)
Value:
do {                                                            \
    _ptr_ = (State_t*) malloc(sizeof(State_t));                 \
    init_State(*(_ptr_));                                       \
    (_ptr_)->value = _value_;                                   \
    (_ptr_)->cont = _cont_;                                     \
    (_ptr_)->stateType = _stateType_;                           \
  }while(0)
#define alloc_struct (   ptr,
  type,
  list_head 
)
Value:
do {                                                                    \
    ptr = (type*) malloc(sizeof(type));                         \
    GTG_LIST_INIT(&(ptr->token));                                       \
    ptr->id = (gtg_list_entry((list_head)->prev, type, token)->id) + 1; \
    gtg_list_add_tail(&(ptr->token), list_head);                        \
  } while(0)
#define alloc_Variable (   _ptr_,
  _id_,
  _parent_,
  _type_,
  _value_ 
)
Value:
do {                                                            \
    (_ptr_) = (Variable_t*) malloc(sizeof(Variable_t));         \
    init_Variable(*(_ptr_));                                    \
    (_ptr_)->id = _id_;                                         \
    (_ptr_)->parent = _parent_;                                 \
    (_ptr_)->type = _type_;                                     \
    (_ptr_)->value = _value_;                                   \
  }while(0)
#define Container_NIL   0
#define ContainerType_NIL   0
#define EntityValue_NIL   0
#define EventType_NIL   0
#define free_struct (   _type_,
  _list_head_ 
)
Value:
do{\
    _type_ *ptr, *tmp;                                  \
    gtg_list_for_each_entry_safe(ptr, tmp, &(_list_head_).token, token) {       \
    gtg_list_del(&(ptr->token));\
    free(ptr->name);\
    free(ptr->alias);\
    free(ptr);\
  }\
  }while(0)
#define init_Container (   var)
Value:
do {                                            \
    (var).name   = NULL;                        \
    (var).alias  = NULL;                        \
    (var).ctType = ContainerType_NIL;           \
    (var).id     = Container_NIL;               \
    GTG_LIST_INIT(&(var).token);                \
    GTG_STACK_INIT(&(var).state_stack.token);   \
  }while(0)
#define init_ContainerType (   var)
Value:
do {                              \
    (var).name  = NULL;           \
    (var).alias = NULL;           \
    (var).id    = ContainerType_NIL;              \
    GTG_LIST_INIT(&(var).token);  \
  }while(0)
#define init_EntityValue (   var)
Value:
do {                                            \
    (var).name    = NULL;                       \
    (var).alias   = NULL;                       \
    (var).groupId = 0;                          \
    (var).id      = EntityValue_NIL;            \
    GTG_LIST_INIT(&(var).token);                \
  }while(0)
#define init_EventType (   var)
Value:
do {                                            \
    (var).name     = NULL;                      \
    (var).alias   = NULL;                       \
    (var).contType = ContainerType_NIL;         \
    (var).id       = EventType_NIL;             \
    GTG_LIST_INIT(&(var).token);                \
  }while(0)
#define init_LinkType (   var)
Value:
do {                                            \
    (var).name     = NULL;                      \
    (var).alias   = NULL;                       \
    (var).contType = ContainerType_NIL;         \
    (var).srcType  = ContainerType_NIL;         \
    (var).destType = ContainerType_NIL;         \
    (var).id       = LinkType_NIL;              \
    GTG_LIST_INIT(&(var).token);                \
  }while(0)
#define init_State (   var)
Value:
do {                                            \
    (var).value   = EntityValue_NIL;            \
    (var).cont    = Container_NIL;              \
    (var).stateType = StateType_NIL;            \
    GTG_STACK_INIT(&(var).token);               \
  }while(0)
#define init_StateType (   var)
Value:
do {                                      \
    (var).name    = NULL;                 \
    (var).alias   = NULL;                 \
    (var).groupId = 0;                    \
    (var).id      = StateType_NIL;        \
    GTG_LIST_INIT(&(var).token);          \
  }while(0)
#define init_Variable (   var)
Value:
do {                                            \
    (var).parent = Container_NIL;               \
    (var).parent = VariableType_NIL;            \
    (var).value  = 0;                           \
    (var).id     = Variable_NIL;                \
    GTG_LIST_INIT(&(var).token);                \
  }while(0)
#define init_VariableType (   var)
Value:
do {                                            \
    (var).name     = NULL;                      \
    (var).alias    = NULL;                      \
    (var).contType = ContainerType_NIL;         \
    (var).id       = VariableType_NIL;          \
    GTG_LIST_INIT(&(var).token);                \
  }while(0)
#define LinkType_NIL   0
#define MAX_PROCESS   64
#define State_NIL   0
#define StateType_NIL   0
#define Variable_NIL   0
#define VariableType_NIL   0

Typedef Documentation

typedef struct Container Container_t

Containers

typedef struct EntityValue EntityValue_t

EntityValue, contains the name of the functions/states

typedef struct EventType EventType_t

Events/Markers

typedef struct Link Link_t
typedef struct LinkType LinkType_t

Links/Messages

typedef struct otf_color* otf_color_t
typedef struct State State_t

States

typedef struct StateType StateType_t

StateTypes

typedef struct Variable Variable_t
typedef struct VariableType VariableType_t

Variables/Counters

gtg-trace-0.2+dfsg/doc/html/html/GTGOTF__Structs_8h_source.html000066400000000000000000001123201175246114100243520ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTGOTF_Structs.h Source File
Generic Trace Generator (GTG)  0.1
GTGOTF_Structs.h
Go to the documentation of this file.
00001 
00017 #ifndef _GTG_OTF_STRUCTS_H_
00018 #define _GTG_OTF_STRUCTS_H_
00019 
00020 #include <stdint.h>
00021 #include "GTGList.h"
00022 #include "GTGStack.h"
00023 
00024 /* todo: remove this */
00025 #define MAX_PROCESS 64
00026 
00028 typedef struct StateType { /* Func group */
00029     char           *name;
00030     char           *alias;
00031     int             groupId;
00032     int             id;
00033     struct gtg_list token;      /* stored in the stateTypes list */
00034 } StateType_t;
00035 
00037 typedef struct State {
00038     int             value;
00039     int             cont;
00040     int             stateType;
00041     gtg_stack token;    /* stored in the states list */
00042 } State_t;
00043 
00044 /* ContainerTypes */
00045 typedef struct ContainerType {
00046     char           *name;
00047     char           *alias;
00048     int             id;
00049     struct gtg_list token;      /* stored in the ctType list */
00050 } ContainerType_t;
00051 
00053 typedef struct Container {
00054     char            *name;
00055     char            *alias;
00056     int             ctType;
00057     int             id;
00058     struct gtg_list token;      /* stored in the conts list */
00059     State_t state_stack;
00060 } Container_t;
00061 
00063 typedef struct EntityValue {
00064     char           *name;
00065     char           *alias;
00066     int             groupId;
00067     int             id;
00068     struct gtg_list token;      /* not used */
00069 } EntityValue_t;
00070 
00072 typedef struct EventType {
00073     char           *name;
00074     char           *alias;
00075     int             contType;
00076     int             id;
00077     struct gtg_list token;      /* stored in the eventTypes list */
00078 } EventType_t;
00079 
00081 typedef struct LinkType {
00082     char           *name;
00083     char           *alias;
00084     int             contType;
00085     int             srcType;
00086     int             destType;
00087     int             id;
00088     struct gtg_list token;      /* stored in the linkTypes lisk */
00089 } LinkType_t;
00090 
00091 typedef struct Link {
00092     varPrec time;
00093     int src;
00094 } Link_t;
00095 
00096 
00098 typedef struct VariableType {
00099     char           *name;
00100     char           *alias;
00101     int             contType;
00102     int             id;
00103     struct gtg_list token;      /* stored in the variableTypes list */
00104 } VariableType_t;
00105 
00106 typedef struct Variable {
00107     int             parent;
00108     int             type;
00109     uint64_t        value;
00110     int             id;
00111     struct gtg_list token;      /* stored in the variables list */
00112 } Variable_t;
00113 
00114 struct otf_color {
00115     char *colorID;
00116     uint8_t red;
00117     uint8_t green;
00118     uint8_t blue;
00119 };
00120 
00121 typedef struct otf_color* otf_color_t;
00122 
00123 #define ContainerType_NIL 0
00124 #define Container_NIL     0
00125 #define StateType_NIL     0
00126 #define State_NIL         0
00127 #define EntityValue_NIL   0
00128 #define EventType_NIL     0
00129 #define LinkType_NIL      0
00130 #define VariableType_NIL  0
00131 #define Variable_NIL      0
00132 
00133 #define init_ContainerType(var)\
00134   do {                            \
00135     (var).name  = NULL;           \
00136     (var).alias = NULL;           \
00137     (var).id    = ContainerType_NIL;              \
00138     GTG_LIST_INIT(&(var).token);  \
00139   }while(0)
00140 
00141 #define init_Container(var)                     \
00142   do {                                          \
00143     (var).name   = NULL;                        \
00144     (var).alias  = NULL;                        \
00145     (var).ctType = ContainerType_NIL;           \
00146     (var).id     = Container_NIL;               \
00147     GTG_LIST_INIT(&(var).token);                \
00148     GTG_STACK_INIT(&(var).state_stack.token);   \
00149   }while(0)
00150 
00151 #define init_StateType(var)               \
00152   do {                                    \
00153     (var).name    = NULL;                 \
00154     (var).alias   = NULL;                 \
00155     (var).groupId = 0;                    \
00156     (var).id      = StateType_NIL;        \
00157     GTG_LIST_INIT(&(var).token);          \
00158   }while(0)
00159 
00160 #define init_EntityValue(var)                   \
00161   do {                                          \
00162     (var).name    = NULL;                       \
00163     (var).alias   = NULL;                       \
00164     (var).groupId = 0;                          \
00165     (var).id      = EntityValue_NIL;            \
00166     GTG_LIST_INIT(&(var).token);                \
00167   }while(0)
00168 
00169 #define init_EventType(var)                     \
00170   do {                                          \
00171     (var).name     = NULL;                      \
00172     (var).alias   = NULL;                       \
00173     (var).contType = ContainerType_NIL;         \
00174     (var).id       = EventType_NIL;             \
00175     GTG_LIST_INIT(&(var).token);                \
00176   }while(0)
00177 
00178 #define init_LinkType(var)                      \
00179   do {                                          \
00180     (var).name     = NULL;                      \
00181     (var).alias   = NULL;                       \
00182     (var).contType = ContainerType_NIL;         \
00183     (var).srcType  = ContainerType_NIL;         \
00184     (var).destType = ContainerType_NIL;         \
00185     (var).id       = LinkType_NIL;              \
00186     GTG_LIST_INIT(&(var).token);                \
00187   }while(0)
00188 
00189 #define init_VariableType(var)                  \
00190   do {                                          \
00191     (var).name     = NULL;                      \
00192     (var).alias    = NULL;                      \
00193     (var).contType = ContainerType_NIL;         \
00194     (var).id       = VariableType_NIL;          \
00195     GTG_LIST_INIT(&(var).token);                \
00196   }while(0)
00197 
00198 #define init_Variable(var)                      \
00199   do {                                          \
00200     (var).parent = Container_NIL;               \
00201     (var).parent = VariableType_NIL;            \
00202     (var).value  = 0;                           \
00203     (var).id     = Variable_NIL;                \
00204     GTG_LIST_INIT(&(var).token);                \
00205   }while(0)
00206 
00207 #define init_State(var)                         \
00208   do {                                          \
00209     (var).value   = EntityValue_NIL;            \
00210     (var).cont    = Container_NIL;              \
00211     (var).stateType = StateType_NIL;            \
00212     GTG_STACK_INIT(&(var).token);               \
00213   }while(0)
00214 
00215 
00216 #define alloc_struct(ptr, type, list_head)                              \
00217   do {                                                                  \
00218     ptr = (type*) malloc(sizeof(type));                         \
00219     GTG_LIST_INIT(&(ptr->token));                                       \
00220     ptr->id = (gtg_list_entry((list_head)->prev, type, token)->id) + 1; \
00221     gtg_list_add_tail(&(ptr->token), list_head);                        \
00222   } while(0)
00223 
00224 #define alloc_init_struct(type, ptr, list_head, _name_, _alias_)        \
00225   do {                                                                  \
00226   alloc_struct(ptr, type, list_head);                                   \
00227   (ptr)->name = (char *)malloc(sizeof(char)*(strlen(_name_)+1));        \
00228   strcpy((ptr)->name, _name_);                                          \
00229   (ptr)->alias = (char *)malloc(sizeof(char)*(strlen(_alias_)+1));      \
00230   strcpy((ptr)->alias, _alias_);                                        \
00231   }while(0)
00232 
00233 #define alloc_Variable(_ptr_, _id_, _parent_, _type_, _value_)  \
00234   do {                                                          \
00235     (_ptr_) = (Variable_t*) malloc(sizeof(Variable_t));         \
00236     init_Variable(*(_ptr_));                                    \
00237     (_ptr_)->id = _id_;                                         \
00238     (_ptr_)->parent = _parent_;                                 \
00239     (_ptr_)->type = _type_;                                     \
00240     (_ptr_)->value = _value_;                                   \
00241   }while(0)
00242 
00243 #define alloc_State(_ptr_, _value_, _cont_, _stateType_)        \
00244   do {                                                          \
00245     _ptr_ = (State_t*) malloc(sizeof(State_t));                 \
00246     init_State(*(_ptr_));                                       \
00247     (_ptr_)->value = _value_;                                   \
00248     (_ptr_)->cont = _cont_;                                     \
00249     (_ptr_)->stateType = _stateType_;                           \
00250   }while(0)
00251 
00252 #define free_struct(_type_, _list_head_)\
00253   do{\
00254     _type_ *ptr, *tmp;                                  \
00255     gtg_list_for_each_entry_safe(ptr, tmp, &(_list_head_).token, token) {       \
00256     gtg_list_del(&(ptr->token));\
00257     free(ptr->name);\
00258     free(ptr->alias);\
00259     free(ptr);\
00260   }\
00261   }while(0)
00262 
00263 #endif /* _GTG_OTF_STRUCTS_H_ */
gtg-trace-0.2+dfsg/doc/html/html/GTGPaje_8h.html000066400000000000000000000100041175246114100213270ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTGPaje.h File Reference
Generic Trace Generator (GTG)  0.1
GTGPaje.h File Reference

pajeColor is a file that defines function that manipulate colors. More...

#include "GTGPaje_Basic.h"

Go to the source code of this file.

Typedefs

typedef char * paje_color_t

Functions

const paje_color_t Paje_get_color (gtg_color_t p_color)
 Converts a GTG color into a PAJE color.

Detailed Description

pajeColor is a file that defines function that manipulate colors.

Version:
0.1

Typedef Documentation

typedef char* paje_color_t
gtg-trace-0.2+dfsg/doc/html/html/GTGPaje_8h_source.html000066400000000000000000000066271175246114100227270ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTGPaje.h Source File
Generic Trace Generator (GTG)  0.1
GTGPaje.h
Go to the documentation of this file.
00001 
00010 #ifndef _GTG_PAJE_H_
00011 #define _GTG_PAJE_H_
00012 
00013 typedef char* paje_color_t;
00014 
00022 const paje_color_t Paje_get_color(gtg_color_t p_color);
00023 
00024 #include "GTGPaje_Basic.h"
00025 
00026 #endif /* _GTG_PAJE_H_ */
gtg-trace-0.2+dfsg/doc/html/html/GTGPaje__Basic_8h.html000066400000000000000000001047421175246114100226040ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTGPaje_Basic.h File Reference
Generic Trace Generator (GTG)  0.1
GTGPaje_Basic.h File Reference

paje_GTGBasic1 is the Paje implementation of the basic interface to generate traces (GTGBasic1). More...

#include "GTGBasic.h"

Go to the source code of this file.

Defines

#define FMT_PAJE   0
 Constant to create a paje trace.
#define FMT_VITE   1
 Constant to create a vite trace.

Enumerations

enum  gtg_paje_evtdef_e {
  GTG_PAJE_EVTDEF_DefineContainerType, GTG_PAJE_EVTDEF_DefineStateType, GTG_PAJE_EVTDEF_DefineEventType, GTG_PAJE_EVTDEF_DefineEntityValue,
  GTG_PAJE_EVTDEF_CreateContainer, GTG_PAJE_EVTDEF_DestroyContainer, GTG_PAJE_EVTDEF_SetState, GTG_PAJE_EVTDEF_PushState,
  GTG_PAJE_EVTDEF_PopState, GTG_PAJE_EVTDEF_NewEvent, GTG_PAJE_EVTDEF_DefineLinkType, GTG_PAJE_EVTDEF_StartLink,
  GTG_PAJE_EVTDEF_EndLink, GTG_PAJE_EVTDEF_DefineVariableType, GTG_PAJE_EVTDEF_SetVariable, GTG_PAJE_EVTDEF_AddVariable,
  GTG_PAJE_EVTDEF_SubVariable, GTG_PAJE_EVTDEF_NBR
}
enum  gtg_paje_fieldtype_e {
  GTG_PAJE_FIELDTYPE_Int, GTG_PAJE_FIELDTYPE_Hex, GTG_PAJE_FIELDTYPE_Date, GTG_PAJE_FIELDTYPE_Double,
  GTG_PAJE_FIELDTYPE_String, GTG_PAJE_FIELDTYPE_Color, GTG_PAJE_FIELDTYPE_NBR
}

Functions

trace_return_t pajeInitTrace (const char *filename, int rank, gtg_flag_t flags, int fmt)
 Initialize a VITE trace ( *.ept)
char * pajeGetName (int rk)
 Function to get the name of the file containing all the data for the proc of rank rk.
trace_return_t pajeSetCompress (int val)
 Enable trace compression.
trace_return_t pajeAddContType (const char *alias, const char *contType, const char *name)
 Add a Container Type.
trace_return_t pajeAddStateType (const char *alias, const char *contType, const char *name)
 Add a State Type.
trace_return_t pajeAddEventType (const char *alias, const char *contType, const char *name)
 Add an Event Type.
trace_return_t pajeAddLinkType (const char *alias, const char *name, const char *contType, const char *srcContType, const char *destContType)
 Add a Link Type.
trace_return_t pajeAddVarType (const char *alias, const char *name, const char *contType)
 Add a Variable Type.
trace_return_t pajeAddEntityValue (const char *alias, const char *entType, const char *name, const char *color)
 Add an Entity Value.
trace_return_t pajeAddContainer (varPrec time, const char *alias, const char *type, const char *container, const char *name, const char *file)
 Add a Container (VITE format).
trace_return_t pajeSeqAddContainer (varPrec time, const char *alias, const char *type, const char *container, const char *name)
 Add a Container (PAJE format).
trace_return_t pajeDestroyContainer (varPrec time, const char *name, const char *type)
 Destroy a Container.
trace_return_t pajeSetState (varPrec time, const char *type, const char *cont, const char *val)
 Set the State of a Container.
trace_return_t pajePushState (varPrec time, const char *type, const char *cont, const char *val)
 Save the current State on a stack and change the State of a Container.
trace_return_t pajePopState (varPrec time, const char *type, const char *cont)
 Revert the State of a Container to its previous value.
trace_return_t pajeAddEvent (varPrec time, const char *type, const char *cont, const char *val)
 Add an Event.
trace_return_t pajeStartLink (varPrec time, const char *type, const char *cont, const char *src, const char *val, const char *key)
 Start a link.
trace_return_t pajeEndLink (varPrec time, const char *type, const char *cont, const char *dest, const char *val, const char *key)
 Start a link.
trace_return_t pajeSetVar (varPrec time, const char *type, const char *cont, varPrec val)
 Set a Variable value.
trace_return_t pajeAddVar (varPrec time, const char *type, const char *cont, varPrec val)
 Add a value to a Variable.
trace_return_t pajeSubVar (varPrec time, const char *type, const char *cont, varPrec val)
 Substract a value from a Variable.
trace_return_t pajeAddComment (const char *comment)
 Add some Comment in Trace file.
trace_return_t pajeEndTrace ()
 Finalize a PAJE trace.
trace_return_t viteEndTrace ()
 Finalize a VITE trace.
void pajeEventDefAddParam (enum gtg_paje_evtdef_e event, const char *name, enum gtg_paje_fieldtype_e type)

Detailed Description

paje_GTGBasic1 is the Paje implementation of the basic interface to generate traces (GTGBasic1).

Version:
0.1
Authors:
Developers are :
Francois Rue - francois.rue@labri.fr
Francois Trahay - francois.trahay@labri.fr
Johnny Jazeix - jazeix@enseirb-matmeca.fr
Kevin Coulomb - kevin.coulomb@gmail.com
Mathieu Faverge - faverge@labri.fr
Olivier Lagrasse - lagrasse@enseirb-matmeca.fr

Define Documentation

#define FMT_PAJE   0

Constant to create a paje trace.

#define FMT_VITE   1

Constant to create a vite trace.


Enumeration Type Documentation

Enumerator:
GTG_PAJE_EVTDEF_DefineContainerType 
GTG_PAJE_EVTDEF_DefineStateType 
GTG_PAJE_EVTDEF_DefineEventType 
GTG_PAJE_EVTDEF_DefineEntityValue 
GTG_PAJE_EVTDEF_CreateContainer 
GTG_PAJE_EVTDEF_DestroyContainer 
GTG_PAJE_EVTDEF_SetState 
GTG_PAJE_EVTDEF_PushState 
GTG_PAJE_EVTDEF_PopState 
GTG_PAJE_EVTDEF_NewEvent 
GTG_PAJE_EVTDEF_DefineLinkType 
GTG_PAJE_EVTDEF_StartLink 
GTG_PAJE_EVTDEF_EndLink 
GTG_PAJE_EVTDEF_DefineVariableType 
GTG_PAJE_EVTDEF_SetVariable 
GTG_PAJE_EVTDEF_AddVariable 
GTG_PAJE_EVTDEF_SubVariable 
GTG_PAJE_EVTDEF_NBR 
Enumerator:
GTG_PAJE_FIELDTYPE_Int 
GTG_PAJE_FIELDTYPE_Hex 
GTG_PAJE_FIELDTYPE_Date 
GTG_PAJE_FIELDTYPE_Double 
GTG_PAJE_FIELDTYPE_String 
GTG_PAJE_FIELDTYPE_Color 
GTG_PAJE_FIELDTYPE_NBR 

Function Documentation

void pajeEventDefAddParam ( enum gtg_paje_evtdef_e  event,
const char *  name,
enum gtg_paje_fieldtype_e  type 
)
gtg-trace-0.2+dfsg/doc/html/html/GTGPaje__Basic_8h_source.html000066400000000000000000000677061175246114100241740ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTGPaje_Basic.h Source File
Generic Trace Generator (GTG)  0.1
GTGPaje_Basic.h
Go to the documentation of this file.
00001 
00017 #ifndef _GTG_PAJE_BASIC_H_
00018 #define _GTG_PAJE_BASIC_H_
00019 
00020 #include "GTGBasic.h"
00021 
00025 #define FMT_PAJE 0
00026 
00029 #define FMT_VITE 1
00030 
00046 trace_return_t pajeInitTrace   (const char* filename, int rank, gtg_flag_t flags, int fmt);
00047 
00055 char* pajeGetName (int rk);
00056 
00065 trace_return_t pajeSetCompress(int val);
00066 
00079 trace_return_t pajeAddContType   (const char* alias, const char* contType, 
00080                        const char* name);
00081 
00094 trace_return_t pajeAddStateType   (const char* alias, const char* contType, 
00095                         const char* name);
00096 
00109 trace_return_t pajeAddEventType   (const char* alias, const char* contType, 
00110                         const char* name);
00111 
00128 trace_return_t pajeAddLinkType   (const char* alias   , const char* name,
00129                        const char* contType, const char* srcContType,
00130                        const char* destContType);
00131 
00144 trace_return_t pajeAddVarType   (const char* alias   , const char* name,
00145                       const char* contType); 
00146 
00161 trace_return_t pajeAddEntityValue   (const char* alias, const char* entType, 
00162                           const char* name , const char* color);
00163 
00182 trace_return_t pajeAddContainer (varPrec time, const char* alias    ,
00183                       const char*  type, const char* container,
00184                       const char*  name, const char* file);
00185 
00186 
00203 trace_return_t pajeSeqAddContainer   (varPrec time, const char* alias    ,
00204                                       const char*  type, const char* container,
00205                                       const char*  name);
00206 
00219 trace_return_t pajeDestroyContainer     (varPrec time, const char*  name,
00220                                          const char*  type);
00221 
00236 trace_return_t pajeSetState   (varPrec time, const char* type,
00237                     const char*  cont, const char* val);
00238 
00253 trace_return_t pajePushState   (varPrec time, const char* type,
00254                      const char*  cont, const char* val);
00255 
00268 trace_return_t pajePopState   (varPrec time, const char* type,
00269                     const char*  cont);
00284 trace_return_t pajeAddEvent   (varPrec time, const char* type,
00285                     const char*  cont, const char* val);
00286 
00287 
00288 
00307 trace_return_t pajeStartLink   (varPrec time, const char* type,
00308                                 const char*   cont, const char* src,
00309                                 const char*   val , const char* key);
00310 
00329 trace_return_t pajeEndLink   (varPrec time, const char* type,
00330                               const char*   cont, const char* dest,
00331                               const char*   val , const char* key);
00332 
00348 trace_return_t pajeSetVar   (varPrec time, const char*  type,
00349                   const char*  cont, varPrec val);
00350 
00365 trace_return_t pajeAddVar   (varPrec time, const char*  type,
00366                   const char*  cont, varPrec val);
00367 
00382 trace_return_t pajeSubVar   (varPrec time, const char*  type,
00383                   const char*  cont, varPrec val);
00384 
00394 trace_return_t pajeAddComment   (const char*  comment);
00395 
00403 trace_return_t pajeEndTrace ();
00404 
00412 trace_return_t viteEndTrace ();
00413 
00414 /*
00415  * Functions to handle extra-parameters in the Paje Definitions
00416  * This will need to be cleaned to be closer to OTF interface
00417  */
00418 enum gtg_paje_evtdef_e {
00419   GTG_PAJE_EVTDEF_DefineContainerType,
00420   GTG_PAJE_EVTDEF_DefineStateType,
00421   GTG_PAJE_EVTDEF_DefineEventType,
00422   GTG_PAJE_EVTDEF_DefineEntityValue,
00423   GTG_PAJE_EVTDEF_CreateContainer,
00424   GTG_PAJE_EVTDEF_DestroyContainer,
00425   GTG_PAJE_EVTDEF_SetState,
00426   GTG_PAJE_EVTDEF_PushState,
00427   GTG_PAJE_EVTDEF_PopState,
00428   GTG_PAJE_EVTDEF_NewEvent,
00429   GTG_PAJE_EVTDEF_DefineLinkType,
00430   GTG_PAJE_EVTDEF_StartLink,
00431   GTG_PAJE_EVTDEF_EndLink,
00432   GTG_PAJE_EVTDEF_DefineVariableType,
00433   GTG_PAJE_EVTDEF_SetVariable,
00434   GTG_PAJE_EVTDEF_AddVariable,
00435   GTG_PAJE_EVTDEF_SubVariable,
00436   GTG_PAJE_EVTDEF_NBR
00437 };
00438 
00439 enum gtg_paje_fieldtype_e { 
00440   GTG_PAJE_FIELDTYPE_Int,
00441   GTG_PAJE_FIELDTYPE_Hex,
00442   GTG_PAJE_FIELDTYPE_Date,
00443   GTG_PAJE_FIELDTYPE_Double,
00444   GTG_PAJE_FIELDTYPE_String,
00445   GTG_PAJE_FIELDTYPE_Color,
00446   GTG_PAJE_FIELDTYPE_NBR
00447 };
00448 
00449 void pajeEventDefAddParam( enum gtg_paje_evtdef_e event, const char *name, 
00450                            enum gtg_paje_fieldtype_e type );
00451 
00452 #endif /* _GTG_PAJE_BASIC_H_ */
00453 
00454 
00455 
gtg-trace-0.2+dfsg/doc/html/html/GTGReplay_8h.html000066400000000000000000000217271175246114100217220ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTGReplay.h File Reference
Generic Trace Generator (GTG)  0.1
GTGReplay.h File Reference

This file defines functions for postponing event-processing function calls. More...

Go to the source code of this file.

Enumerations

enum  event_type_t {
  event_addContainer, event_destroyContainer, event_setState, event_pushState,
  event_popState, event_addEvent, event_startLink, event_endLink,
  event_setVar, event_addVar, event_subVar
}

Functions

void gtg_record (enum event_type_t type, varPrec time,...)
 postpone the recording of an event
void gtg_write_events (long nb_events_to_write)
 run the first nb_events_to_write events

Detailed Description

This file defines functions for postponing event-processing function calls.

Version:
0.1

Enumeration Type Documentation

Enumerator:
event_addContainer 
event_destroyContainer 
event_setState 
event_pushState 
event_popState 
event_addEvent 
event_startLink 
event_endLink 
event_setVar 
event_addVar 
event_subVar 
gtg-trace-0.2+dfsg/doc/html/html/GTGReplay_8h_source.html000066400000000000000000000145731175246114100233030ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTGReplay.h Source File
Generic Trace Generator (GTG)  0.1
GTGReplay.h
Go to the documentation of this file.
00001 
00009 #ifndef GTG_REPLAY_H
00010 #define GTG_REPLAY_H
00011 
00015 enum event_type_t {
00016   event_addContainer,
00017   event_destroyContainer,
00018   event_setState,
00019   event_pushState,
00020   event_popState,
00021   event_addEvent,
00022   event_startLink,
00023   event_endLink,
00024   event_setVar,
00025   event_addVar,
00026   event_subVar
00027 };
00028 
00036 void gtg_record(enum event_type_t type, varPrec time, ...);
00037 
00044 void gtg_write_events(long nb_events_to_write);
00045 
00046 #endif /* GTG_REPLAY_H */
gtg-trace-0.2+dfsg/doc/html/html/GTGStack_8h.html000066400000000000000000000307201175246114100215240ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTGStack.h File Reference
Generic Trace Generator (GTG)  0.1
GTGStack.h File Reference
#include "GTGList.h"

Go to the source code of this file.

Defines

#define GTG_STACK_INIT(ptr)   GTG_LIST_INIT(ptr)
#define GTG_STACK(ptr)   GTG_LIST(ptr)
#define gtg_stack_entry(ptr, type, member)   gtg_list_entry(ptr, type, member)

Typedefs

typedef struct gtg_list gtg_stack
typedef gtg_stackgtg_stack_t

Functions

static void gtg_stack_push (gtg_stack_t lnew, gtg_stack_t p_stack)
static void gtg_stack_pop (gtg_stack_t p_stack)
static gtg_stack_t gtg_stack_top (gtg_stack_t p_stack)
static int gtg_stack_empty (gtg_stack_t p_stack)

Define Documentation

#define GTG_STACK (   ptr)    GTG_LIST(ptr)
#define gtg_stack_entry (   ptr,
  type,
  member 
)    gtg_list_entry(ptr, type, member)
#define GTG_STACK_INIT (   ptr)    GTG_LIST_INIT(ptr)

Typedef Documentation

typedef struct gtg_list gtg_stack

Function Documentation

static int gtg_stack_empty ( gtg_stack_t  p_stack) [inline, static]
static void gtg_stack_pop ( gtg_stack_t  p_stack) [inline, static]
static void gtg_stack_push ( gtg_stack_t  lnew,
gtg_stack_t  p_stack 
) [inline, static]
static gtg_stack_t gtg_stack_top ( gtg_stack_t  p_stack) [inline, static]
gtg-trace-0.2+dfsg/doc/html/html/GTGStack_8h_source.html000066400000000000000000000151271175246114100231100ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTGStack.h Source File
Generic Trace Generator (GTG)  0.1
GTGStack.h
Go to the documentation of this file.
00001 #ifndef GTG_STACK_H
00002 #define GTG_STACK_H
00003 
00004 #include "GTGList.h"
00005 
00006 typedef struct gtg_list gtg_stack;
00007 typedef gtg_stack* gtg_stack_t;
00008 
00009 #define GTG_STACK_INIT(ptr) GTG_LIST_INIT(ptr)
00010 
00011 #define GTG_STACK(ptr) GTG_LIST(ptr)
00012 
00013 #define gtg_stack_entry(ptr, type, member) gtg_list_entry(ptr, type, member)
00014 
00015 static inline void gtg_stack_push(gtg_stack_t lnew, gtg_stack_t p_stack)
00016 {
00017   gtg_list_add_tail(lnew, p_stack);
00018 }
00019 
00020 static inline void gtg_stack_pop(gtg_stack_t p_stack)
00021 {
00022   gtg_list_del(p_stack->prev);
00023 }
00024 
00025 static inline gtg_stack_t gtg_stack_top(gtg_stack_t p_stack)
00026 {
00027   return p_stack->prev;
00028 }
00029 
00030 static inline int gtg_stack_empty(gtg_stack_t p_stack)
00031 {
00032   return p_stack->prev == p_stack;
00033 }
00034 
00035 #endif  /* GTG_STACK_H */
gtg-trace-0.2+dfsg/doc/html/html/GTGTypes_8h.html000066400000000000000000000111621175246114100215620ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTGTypes.h File Reference
Generic Trace Generator (GTG)  0.1
GTGTypes.h File Reference

Go to the source code of this file.

Typedefs

typedef double varPrec
 Use the double precision type for time and value.
typedef enum trace_return_t trace_return_t

Enumerations

enum  trace_return_t {
  TRACE_SUCCESS, TRACE_ERR_OPEN, TRACE_ERR_CLOSE, TRACE_ERR_WRITE,
  TRACE_ERR_NOT_IMPL
}
 Define various return values. More...

Typedef Documentation

gtg-trace-0.2+dfsg/doc/html/html/GTGTypes_8h_source.html000066400000000000000000000110771175246114100231470ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTGTypes.h Source File
Generic Trace Generator (GTG)  0.1
GTGTypes.h
Go to the documentation of this file.
00001 
00018 #ifndef _GTG_TYPES_H_
00019 #define _GTG_TYPES_H_
00020 
00028 typedef double varPrec;
00029 
00035 typedef enum trace_return_t{
00036     TRACE_SUCCESS  , 
00037     TRACE_ERR_OPEN , 
00038     TRACE_ERR_CLOSE, 
00039     TRACE_ERR_WRITE,  
00040     TRACE_ERR_NOT_IMPL  
00041 } trace_return_t;
00042 
00043 #endif /* _GTG_TYPES_H_ */
gtg-trace-0.2+dfsg/doc/html/html/GTG_8h.html000066400000000000000000000062101175246114100205330ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTG.h File Reference
Generic Trace Generator (GTG)  0.1
GTG.h File Reference

Generic header to include. More...

#include <stdint.h>
#include "GTGTypes.h"
#include "GTGColor.h"
#include "GTGBasic.h"

Go to the source code of this file.


Detailed Description

Generic header to include.

Authors:
Developpers are :
Francois Rue - francois.rue@labri.fr
Francois Trahay - francois.trahay@labri.fr
Johnny Jazeix - jazeix@enseirb-matmeca.fr
Kevin Coulomb - kevin.coulomb@gmail.com
Mathieu Faverge - faverge@labri.fr
Olivier Lagrasse - lagrasse@enseirb-matmeca.fr
gtg-trace-0.2+dfsg/doc/html/html/GTG_8h_source.html000066400000000000000000000060241175246114100221160ustar00rootroot00000000000000 Generic Trace Generator (GTG): GTG.h Source File
Generic Trace Generator (GTG)  0.1
GTG.h
Go to the documentation of this file.
00001 
00027 #ifndef _GTG_H_
00028 #define _GTG_H_
00029 
00030 #include <stdint.h>
00031 #include "GTGTypes.h"
00032 #include "GTGColor.h"
00033 #include "GTGBasic.h"
00034 
00035 #endif /* _GTG_H_ */
gtg-trace-0.2+dfsg/doc/html/html/annotated.html000066400000000000000000000073251175246114100215000ustar00rootroot00000000000000 Generic Trace Generator (GTG): Data Structures
Data Structures
Here are the data structures with brief descriptions:
Container
ContainerType
EntityValue
EventType
gtg_colorThis structure defines a color that can be used by GTG
gtg_list
gtg_memory
Link
LinkType
otf_color
State
StateType
Variable
VariableType
gtg-trace-0.2+dfsg/doc/html/html/bc_s.png000066400000000000000000000012451175246114100202440ustar00rootroot00000000000000‰PNG  IHDR /đ9ĐlIDATxíÝKHTmđ˙óžwfÎgćĚŻĺ8ŽÓ—Š6ń-BÚ´‘]d–VZMa…D}ßg¸háB¤¶*ŃýbĺĄU9Š—3ŽFy<Ł‹ šaćč˛íłyř˙ÎóžĹóî©ýÁÇĺťţtđŹŞÚ %”8Vj•LÜlř·ĹCF@mťĂ˙Ţ[”ďü Ŕ7ŞjżRŔ•űC0TâU‹Y¸řYŐú’˙sv~ŹĆî,Űi)€.w €™ćwř\cT i Đú˙`ĽowgŰö»âH0¤5%ŔĄ˙>Äű\.°ÉŇ×*O0¬-c}BŕŢűä+msË…VŃÔ5Ö:€Îß}— *l’©Çç–cÁV¸€OĹ^ĹaâěÔXxń)µÜ0‚ăé˛xrKfÚÜxx±Ššo˝5Ičk±WaŚŃjşůĆŕ¶;ŰVá´[¨ńĆ«Í@ĄĂfnöäŘż°ÍRŐ.‡¨¬®BĄ×_C™ćK|.¬ý˛ź®˝0‚3ŠTźĄHˇ‰˝†Ž¶=7‚ ßă´™8kśŃ_Ó‘«Ď’Ă2«Čz·:V&fôBv—Ní9iVÎY—Ť Őµ>‰‡.Qx{ľE“łú»Ę‡'‰|dj6ڝ؇ÚŔăx?ĺĎsJ‚@uÓ‘hbI„Ň˝‡Ö2ě“,ĽF¶[bÓ‘h e'«Ďő@Ź;Ű^d•x·‰ţ›¶ôg2FażG^˙ @Ť,é) ęlß… §Të’-ăęÜRý†—UŮÜ*Č•EΩ64·4lÜÄŮ #čjDßţťú Ųo{”N IEND®B`‚gtg-trace-0.2+dfsg/doc/html/html/classes.html000066400000000000000000000130211175246114100211460ustar00rootroot00000000000000 Generic Trace Generator (GTG): Data Structure Index
Data Structure Index
C | E | G | L | O | S | V
  C  
EventType   
  L  
  S  
VariableType   
  G  
Container   Link   State   
ContainerType   gtg_color   LinkType   StateType   
  E  
gtg_list   
  O  
  V  
gtg_memory   
EntityValue   otf_color   Variable   
C | E | G | L | O | S | V
gtg-trace-0.2+dfsg/doc/html/html/closed.png000066400000000000000000000001761175246114100206110ustar00rootroot00000000000000‰PNG  IHDR ŕ‘EIDATxíÝA @! PŠ­iš/`Đ„.Č?,!u zlŢ–Jh1ß+výRLé§x@‘Ă™ (*79HŃ ţl)ˇó˛‰IEND®B`‚gtg-trace-0.2+dfsg/doc/html/html/doxygen.css000066400000000000000000000351651175246114100210270ustar00rootroot00000000000000/* The standard CSS for doxygen */ body, table, div, p, dl { font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif; font-size: 13px; line-height: 1.3; } /* @group Heading Levels */ h1 { font-size: 150%; } .title { font-size: 150%; font-weight: bold; margin: 10px 2px; } h2 { font-size: 120%; } h3 { font-size: 100%; } dt { font-weight: bold; } div.multicol { -moz-column-gap: 1em; -webkit-column-gap: 1em; -moz-column-count: 3; -webkit-column-count: 3; } p.startli, p.startdd, p.starttd { margin-top: 2px; } p.endli { margin-bottom: 0px; } p.enddd { margin-bottom: 4px; } p.endtd { margin-bottom: 2px; } /* @end */ caption { font-weight: bold; } span.legend { font-size: 70%; text-align: center; } h3.version { font-size: 90%; text-align: center; } div.qindex, div.navtab{ background-color: #EBEFF6; border: 1px solid #A3B4D7; text-align: center; } div.qindex, div.navpath { width: 100%; line-height: 140%; } div.navtab { margin-right: 15px; } /* @group Link Styling */ a { color: #3D578C; font-weight: normal; text-decoration: none; } .contents a:visited { color: #4665A2; } a:hover { text-decoration: underline; } a.qindex { font-weight: bold; } a.qindexHL { font-weight: bold; background-color: #9CAFD4; color: #ffffff; border: 1px double #869DCA; } .contents a.qindexHL:visited { color: #ffffff; } a.el { font-weight: bold; } a.elRef { } a.code, a.code:visited { color: #4665A2; } a.codeRef, a.codeRef:visited { color: #4665A2; } /* @end */ dl.el { margin-left: -1cm; } .fragment { font-family: monospace, fixed; font-size: 105%; } pre.fragment { border: 1px solid #C4CFE5; background-color: #FBFCFD; padding: 4px 6px; margin: 4px 8px 4px 2px; overflow: auto; word-wrap: break-word; font-size: 9pt; line-height: 125%; } div.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px; padding: 0.2em; border: solid thin #333; border-radius: 0.5em; -webkit-border-radius: .5em; -moz-border-radius: .5em; box-shadow: 2px 2px 3px #999; -webkit-box-shadow: 2px 2px 3px #999; -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); } div.groupHeader { margin-left: 16px; margin-top: 12px; font-weight: bold; } div.groupText { margin-left: 16px; font-style: italic; } body { background-color: white; color: black; margin: 0; } div.contents { margin-top: 10px; margin-left: 8px; margin-right: 8px; } td.indexkey { background-color: #EBEFF6; font-weight: bold; border: 1px solid #C4CFE5; margin: 2px 0px 2px 0; padding: 2px 10px; white-space: nowrap; vertical-align: top; } td.indexvalue { background-color: #EBEFF6; border: 1px solid #C4CFE5; padding: 2px 10px; margin: 2px 0px; } tr.memlist { background-color: #EEF1F7; } p.formulaDsp { text-align: center; } img.formulaDsp { } img.formulaInl { vertical-align: middle; } div.center { text-align: center; margin-top: 0px; margin-bottom: 0px; padding: 0px; } div.center img { border: 0px; } address.footer { text-align: right; padding-right: 12px; } img.footer { border: 0px; vertical-align: middle; } /* @group Code Colorization */ span.keyword { color: #008000 } span.keywordtype { color: #604020 } span.keywordflow { color: #e08000 } span.comment { color: #800000 } span.preprocessor { color: #806020 } span.stringliteral { color: #002080 } span.charliteral { color: #008080 } span.vhdldigit { color: #ff00ff } span.vhdlchar { color: #000000 } span.vhdlkeyword { color: #700070 } span.vhdllogic { color: #ff0000 } /* @end */ /* .search { color: #003399; font-weight: bold; } form.search { margin-bottom: 0px; margin-top: 0px; } input.search { font-size: 75%; color: #000080; font-weight: normal; background-color: #e8eef2; } */ td.tiny { font-size: 75%; } .dirtab { padding: 4px; border-collapse: collapse; border: 1px solid #A3B4D7; } th.dirtab { background: #EBEFF6; font-weight: bold; } hr { height: 0px; border: none; border-top: 1px solid #4A6AAA; } hr.footer { height: 1px; } /* @group Member Descriptions */ table.memberdecls { border-spacing: 0px; padding: 0px; } .mdescLeft, .mdescRight, .memItemLeft, .memItemRight, .memTemplItemLeft, .memTemplItemRight, .memTemplParams { background-color: #F9FAFC; border: none; margin: 4px; padding: 1px 0 0 8px; } .mdescLeft, .mdescRight { padding: 0px 8px 4px 8px; color: #555; } .memItemLeft, .memItemRight, .memTemplParams { border-top: 1px solid #C4CFE5; } .memItemLeft, .memTemplItemLeft { white-space: nowrap; } .memItemRight { width: 100%; } .memTemplParams { color: #4665A2; white-space: nowrap; } /* @end */ /* @group Member Details */ /* Styles for detailed member documentation */ .memtemplate { font-size: 80%; color: #4665A2; font-weight: normal; margin-left: 9px; } .memnav { background-color: #EBEFF6; border: 1px solid #A3B4D7; text-align: center; margin: 2px; margin-right: 15px; padding: 2px; } .mempage { width: 100%; } .memitem { padding: 0; margin-bottom: 10px; margin-right: 5px; } .memname { white-space: nowrap; font-weight: bold; margin-left: 6px; } .memproto, dl.reflist dt { border-top: 1px solid #A8B8D9; border-left: 1px solid #A8B8D9; border-right: 1px solid #A8B8D9; padding: 6px 0px 6px 0px; color: #253555; font-weight: bold; text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); /* opera specific markup */ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); border-top-right-radius: 8px; border-top-left-radius: 8px; /* firefox specific markup */ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; -moz-border-radius-topright: 8px; -moz-border-radius-topleft: 8px; /* webkit specific markup */ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -webkit-border-top-right-radius: 8px; -webkit-border-top-left-radius: 8px; background-image:url('nav_f.png'); background-repeat:repeat-x; background-color: #E2E8F2; } .memdoc, dl.reflist dd { border-bottom: 1px solid #A8B8D9; border-left: 1px solid #A8B8D9; border-right: 1px solid #A8B8D9; padding: 2px 5px; background-color: #FBFCFD; border-top-width: 0; /* opera specific markup */ border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); /* firefox specific markup */ -moz-border-radius-bottomleft: 8px; -moz-border-radius-bottomright: 8px; -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F8FB 95%, #EEF1F7); /* webkit specific markup */ -webkit-border-bottom-left-radius: 8px; -webkit-border-bottom-right-radius: 8px; -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F8FB), to(#EEF1F7)); } dl.reflist dt { padding: 5px; } dl.reflist dd { margin: 0px 0px 10px 0px; padding: 5px; } .paramkey { text-align: right; } .paramtype { white-space: nowrap; } .paramname { color: #602020; white-space: nowrap; } .paramname em { font-style: normal; } .params, .retval, .exception, .tparams { border-spacing: 6px 2px; } .params .paramname, .retval .paramname { font-weight: bold; vertical-align: top; } .params .paramtype { font-style: italic; vertical-align: top; } .params .paramdir { font-family: "courier new",courier,monospace; vertical-align: top; } /* @end */ /* @group Directory (tree) */ /* for the tree view */ .ftvtree { font-family: sans-serif; margin: 0px; } /* these are for tree view when used as main index */ .directory { font-size: 9pt; font-weight: bold; margin: 5px; } .directory h3 { margin: 0px; margin-top: 1em; font-size: 11pt; } /* The following two styles can be used to replace the root node title with an image of your choice. Simply uncomment the next two styles, specify the name of your image and be sure to set 'height' to the proper pixel height of your image. */ /* .directory h3.swap { height: 61px; background-repeat: no-repeat; background-image: url("yourimage.gif"); } .directory h3.swap span { display: none; } */ .directory > h3 { margin-top: 0; } .directory p { margin: 0px; white-space: nowrap; } .directory div { display: none; margin: 0px; } .directory img { vertical-align: -30%; } /* these are for tree view when not used as main index */ .directory-alt { font-size: 100%; font-weight: bold; } .directory-alt h3 { margin: 0px; margin-top: 1em; font-size: 11pt; } .directory-alt > h3 { margin-top: 0; } .directory-alt p { margin: 0px; white-space: nowrap; } .directory-alt div { display: none; margin: 0px; } .directory-alt img { vertical-align: -30%; } /* @end */ div.dynheader { margin-top: 8px; } address { font-style: normal; color: #2A3D61; } table.doxtable { border-collapse:collapse; } table.doxtable td, table.doxtable th { border: 1px solid #2D4068; padding: 3px 7px 2px; } table.doxtable th { background-color: #374F7F; color: #FFFFFF; font-size: 110%; padding-bottom: 4px; padding-top: 5px; text-align:left; } table.fieldtable { width: 100%; margin-bottom: 10px; border: 1px solid #A8B8D9; border-spacing: 0px; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); } .fieldtable td, .fieldtable th { padding: 3px 7px 2px; } .fieldtable td.fieldtype, .fieldtable td.fieldname { white-space: nowrap; border-right: 1px solid #A8B8D9; border-bottom: 1px solid #A8B8D9; vertical-align: top; } .fieldtable td.fielddoc { border-bottom: 1px solid #A8B8D9; width: 100%; } .fieldtable tr:last-child td { border-bottom: none; } .fieldtable th { background-image:url('nav_f.png'); background-repeat:repeat-x; background-color: #E2E8F2; font-size: 90%; color: #253555; padding-bottom: 4px; padding-top: 5px; text-align:left; -moz-border-radius-topleft: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-left-radius: 4px; -webkit-border-top-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom: 1px solid #A8B8D9; } .tabsearch { top: 0px; left: 10px; height: 36px; background-image: url('tab_b.png'); z-index: 101; overflow: hidden; font-size: 13px; } .navpath ul { font-size: 11px; background-image:url('tab_b.png'); background-repeat:repeat-x; height:30px; line-height:30px; color:#8AA0CC; border:solid 1px #C2CDE4; overflow:hidden; margin:0px; padding:0px; } .navpath li { list-style-type:none; float:left; padding-left:10px; padding-right:15px; background-image:url('bc_s.png'); background-repeat:no-repeat; background-position:right; color:#364D7C; } .navpath li.navelem a { height:32px; display:block; text-decoration: none; outline: none; } .navpath li.navelem a:hover { color:#6884BD; } .navpath li.footer { list-style-type:none; float:right; padding-left:10px; padding-right:15px; background-image:none; background-repeat:no-repeat; background-position:right; color:#364D7C; font-size: 8pt; } div.summary { float: right; font-size: 8pt; padding-right: 5px; width: 50%; text-align: right; } div.summary a { white-space: nowrap; } div.ingroups { margin-left: 5px; font-size: 8pt; padding-left: 5px; width: 50%; text-align: left; } div.ingroups a { white-space: nowrap; } div.header { background-image:url('nav_h.png'); background-repeat:repeat-x; background-color: #F9FAFC; margin: 0px; border-bottom: 1px solid #C4CFE5; } div.headertitle { padding: 5px 5px 5px 7px; } dl { padding: 0 0 0 10px; } dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug { border-left:4px solid; padding: 0 0 0 6px; } dl.note { border-color: #D0C000; } dl.warning, dl.attention { border-color: #FF0000; } dl.pre, dl.post, dl.invariant { border-color: #00D000; } dl.deprecated { border-color: #505050; } dl.todo { border-color: #00C0E0; } dl.test { border-color: #3030E0; } dl.bug { border-color: #C08050; } #projectlogo { text-align: center; vertical-align: bottom; border-collapse: separate; } #projectlogo img { border: 0px none; } #projectname { font: 300% Tahoma, Arial,sans-serif; margin: 0px; padding: 2px 0px; } #projectbrief { font: 120% Tahoma, Arial,sans-serif; margin: 0px; padding: 0px; } #projectnumber { font: 50% Tahoma, Arial,sans-serif; margin: 0px; padding: 0px; } #titlearea { padding: 0px; margin: 0px; width: 100%; border-bottom: 1px solid #5373B4; } .image { text-align: center; } .dotgraph { text-align: center; } .mscgraph { text-align: center; } .caption { font-weight: bold; } div.zoom { border: 1px solid #90A5CE; } dl.citelist { margin-bottom:50px; } dl.citelist dt { color:#334975; float:left; font-weight:bold; margin-right:10px; padding:5px; } dl.citelist dd { margin:2px 0; padding:5px 0; } @media print { #top { display: none; } #side-nav { display: none; } #nav-path { display: none; } body { overflow:visible; } h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } .summary { display: none; } .memitem { page-break-inside: avoid; } #doc-content { margin-left:0 !important; height:auto !important; width:auto !important; overflow:inherit; display:inline; } pre.fragment { overflow: visible; text-wrap: unrestricted; white-space: -moz-pre-wrap; /* Moz */ white-space: -pre-wrap; /* Opera 4-6 */ white-space: -o-pre-wrap; /* Opera 7 */ white-space: pre-wrap; /* CSS3 */ word-wrap: break-word; /* IE 5.5+ */ } } gtg-trace-0.2+dfsg/doc/html/html/doxygen.png000066400000000000000000000075461175246114100210250ustar00rootroot00000000000000‰PNG  IHDRh ;Ř-IDATxí]{XŚy˙ľsZ%Ę”NF:¨´FĺĐŞÖ„bťÝč@;~ÓŽĂ"DH‘ÚZ•đ–m_Śéč4ÄŮÚ!ë-‡2«U«Ce[Š"§š_ńĚ3óLSěőľďľöş|®««y>§ďýąďďá_ ™L†öţZ·Ľß¦ajëń®ąL•ońúţ}«.Íë2Ţăű$ZŤöĺ);*.dĄ~Űěßłw—·'â0łËâţ@áű!ZZeĘ˙ÁŢÍşwÓřĎÔÚ‰ťů?ŘO =\Lâ[ňg˛dxr0Đ —€¤Rrj·Jž€‘*í.WJN5¨äÉqČMŞÔ[mťşŢ•’Sb58™ÄĽRB5˝Ą•’SRus[2<ŮÄ %·•˛V'ę+%§$fvŘÄşR»«Kó$ť ˇĄC ť4ă+xşŁ˝sQŮ}f¶đŔ[˛vôZ €ç6c}”˝!,Lt×ď<ÂĹ«µ°dx†H)/ÎŮfí襧ĄC«1¶vŁôş[~– ĎŃĺĹ9%DĎDKgžrN}M9úY««3*/Îi謷%Ă“U^ś#¶vôr'p˛=]ĚŃ_§7®ßy„ěS¸Ş˝ëkĘaÉđ´-/Î!E˛vôâŕ902śíÁÉ–Fćź*¸Ĺ,ý­– O!1k>QÓÓł¦°dx¦X:űđĽ=GĂÂD×ď<ÂţĂ'¸fvRŞKó‚UZjbóičţ¤`čőýtş9cůś‘xŐÚŞV W­­°sžabóičw1ó1x%îćhŚąŢ¶¸9׉>oŐ®hkGŻ~Ą—Nl°sž"^™ŔdŽ2%sw…ř¨•ĽW­­‹ěś§D¸zŻŕí W †Ćç8c>‚í1”ô‡m·Bvęî«ÖÖ8܉ŢAZň ţT…u—r­˝Ş´th9kÂÖRęĺźSfŰţ/d§–°‰ľäś1kçb„ŤA.ÜŤ¸@ř“+;:j ŰÚŃË«ô҉|#Ť­Ýp4i®â¨]ĽŤâßĆóV~éŘÇŚ…xfv$ŐĄy| S[Źö;BOK‡V“ĹßÖŕÎĚa 4x0¶Ď:ÂßDNť54>Çgśőxp÷Şo;Z:´¬śĂÉ”ş€ŐÇđë™ďbۇŞöü|Ń^TŠ7=$4)L!Ü/ĺuü’#)9/rqĂ%îŘĹď¬~a”çŽĹ-ŕ¸poE ‚”®,|gŽĄm /9/ŠsĂâŘ|šś±c Ó/ĺu¨ü Ęë€P\…ŤaÁÂ’ó˘‡1,¦ĄÓ˘Ă;ueňyŞKó\ä…°üĂ"7-K!3>ő2ĘËËamm ĺÚČr7M.(~[2ÓÝÉ„Ś]©¨C<żí»b9Ç[)v[~Ń,_ş@\|î8ËqÜ´{· Đ}QŢ”ugr7ŕŰČJ]|Úe¤ďÚ`–­ćç˙¤ŕ™4s5Ü+µŐҡ•©Ć\§áéăű¶Ů•ýxŕJ,űĚudůůŤs&@yŽőI…eD…ź;ç8nZÁž={ĘfóQU|X ŢŘÚť)ض"ŢtîVÜ-ĎwĐo¨ăç˘ý‰śöJy>¶6č°ą ĚFrĘfĄŃÍŤú’ KbĎŕĽ(!@~»ół) Fą{€í€Ave'3ŁH˙٦î»ÍŤu @łŻAň±¬$čj÷"s&ű…˝&ób~¶t”»w˘˙ĽŤĽĄţŠ·öQÓ J~Iĺ âJÚö˝ź]=ĘÝ;=|S{şű™Éç‘“nçĘŤÜ9ťôËżČőË„.{ů®‰Ü´`ŚbłßĹĘĺ ĹâÚž)†j\Ţ€ÔΕ›ŢY_ÂE_¸â.gÚ0uő‹‘ź‰2ÝŞiDŕWËĐÜX'ÖěkŔĚ˙ş©ü–ńqýňVʶgDOłŻÝ„¦ŤâÁÔôçE 6Č ä1cZڦÄÄ—nŁą±NXxú(ż] ±ăgL_şM!ÓĐb4Ü+e´´Ę¤âŽdüç62[éŁ]Am­ž,b÷@JáéŁŐ„˙đ‘Ü_Ů,WşŤr€‘®Îčr_g8ŐŐ&(ÁQAäŰ4·­źň.«ö—Ż­ajëAďghS–öÝFJËŰhheg©‹ł;Lýcs é/ĽRČőËĢě,‘—ľ84†íő‰9™óő:n–ś`‰˛łÄ,o_ď~†6YIqaĐŃîĄvĘčă¸v>=V”ťEąćXŢľ5™é=uuŹ›^Ŕ/ °A”ťeD䆸ÍXąj®S¬‘#§Ď^Ëžç3śŚÇě-ÂŮŁ[Ă@µövmćĎ ’X ĘÎĘW¤×vú9šÚúŃ˝µőQ_{Í˝3žäW\ř¦ćŘŹŤ:p¤ajëeIÉ)tšâîŽĺáܱ8IűŁ>xřdĆöEóöëd:ŰŚ4µőkľOŽNIĽ‰¨˝q>m•á1!)[©›Vŕb47ýa @暍ṉ́ p…%5Pţ~üäľZ‚ć¦?|Ź 3ł•0DN  á}® Unű¬@ú® »Ź 3ąĚÁĂ'‹Tç(,©ÁĎ—ďÂÁĘ^.ŠM¤ÄA8a?šUŮľäJ<§ŕ2S÷ ţ~…@=hjë3-GÍÄ|źČ8Y.Ż—¨®]XRčŤËIT9X˛A€›żž$ÚéÇŰČő™hIPvă!ŔvH˙°}Úo)Ͷ‡8rŠßš ¶=…Ч*^÷éiEďźÂ«8‘ť"<Ěö Ht™¶ś·"Đ‘˛ć–ÍáżĘx.üZ‹M!b~ÂéŹ Ă!c ’bwŔ·zëqT\Č L*a.ŚŮÁP7Ź:Ű*(FÁńřpáÁô8¶O@âż5<ĺ9•17>yö“1z¸a‡zs{/Q†9ć‘ ´j}SąvYD*n]Í!rĐhyakÔj ™Ę„«úgúÍ‘ d¦©­_ľ*llé]^&}¨ÍhnúĂŰpȨčí[¨ä.Y»µ7..ĐÔÖOŽÚ˛ĆµÉX|Úeś%¤ČL%ŹäLż9e ‰ÉtĺĽÇO^ (Űp 3U±%ßär ‡ŚJŽ ›§vÎ2éCĘ Äzá2SăfúÍ1ęĂ]Ďő™@ÝČť™Ľ€ÄÜn’čŰp%®Ö"nËJR µß2GŰ+Z™Š[Ą?’@„˝[PčâŮcĐWKţÂŐZěŰó=’â×Q÷źšiřĎäôîÓ?yę¬E`3‡Ş+Wá‡ý;ńěÉĂŽöîÓżfóćHŠŰŇ%¸x2!%#Mě?;p)Ťîť°™*ŕ˛u;p_zÉ%#M !p‚WÇR†Š«phϦÝi‚EŞ8ügFôîÓ?ÔÁíKČďü˛ëp)_+Ç©XŔPĹž‘&#jđĚí&q=n0ÚLí¬×n>Dá•\ʢá÷J[ts»I˘č5ł)Ľ&~J ¤:Ăšč´µAB„î@‹PKĆ´×doCú)ńŃaSteLgÓ.㦶襩›Ŕ˙?MŕŮż|Ö¸bŮšs+s’¤ź¸†ŃtďŮ›Ŕ@€<öňyÓ¶_=ď ‡žok®Ô‡Ű¶ť˝ÚžźżxľŚŞ˘Ă=ä_C?ÝlĐßB™«WŠp·ňś‰ŮcK3=hh(b%ůĐ7u@}mEű»ĂtŘxŘŘŘâRÁ)ÔU˙˘%“2™ Ýş)©Ř™˘;¸śźnÝ{†®ĂĆΆ‰ˇî_2ź´úŞŠŹ ý‘ýťLKϲַĆöEe÷ˇA(ô¤ů%ž?iŔÓĆßÓ¸›`N·zýŕëŃ,ńđŢo´wŻĘNő{elЧ‡ňÉ«}đ·ęqĄě&ŞKsńüÉĂän=>ş`á°±łÝ˙*q:˝âht§żŐw_Z”ŢňňŮ^š:cĺľnÝ{âůÓ†‹Ýş÷Ě`NŁ;‘×›Üj*˙µ˝ĄĺĄKŻŢ}ť^4?&ý=ziˇ—¦zkőCcýťPBht'×˙Ń|UE‡ä1 ý;ž&5v›řßőë۵]@kS}đ˙pŽŞŞ˘ĂâŐĄy &ţ>Ř{fÝ>Pđ~Ű˙Ţžk^śIEND®B`‚gtg-trace-0.2+dfsg/doc/html/html/files.html000066400000000000000000000116361175246114100206250ustar00rootroot00000000000000 Generic Trace Generator (GTG): File List
Generic Trace Generator (GTG)  0.1
File List
Here is a list of all files with brief descriptions:
GTG.h [code]Generic header to include
GTGBasic.h [code]GTGBasic is a basic interface to generate trace in various formats
GTGColor.h [code]This file defines some useful colors to use in entity values for GTG
GTGCompress.h [code]
GTGList.h [code]
GTGMemory.h [code]This file defines a fast allocator for fixed-size blocks
GTGOTF.h [code]OTF is the global file for gtg interface using OTF
GTGOTF_Basic.h [code]OTF_GTGBasic1 is the OTF implementation of the basic interface to generate traces (GTGBasic1)
GTGOTF_Structs.h [code]OTF_Structs gives the global types and functions needed to have the OTF implementation
GTGPaje.h [code]PajeColor is a file that defines function that manipulate colors
GTGPaje_Basic.h [code]Paje_GTGBasic1 is the Paje implementation of the basic interface to generate traces (GTGBasic1)
GTGReplay.h [code]This file defines functions for postponing event-processing function calls
GTGStack.h [code]
GTGTypes.h [code]
gtg-trace-0.2+dfsg/doc/html/html/functions.html000066400000000000000000000240161175246114100215270ustar00rootroot00000000000000 Generic Trace Generator (GTG): Data Fields
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- a -

- b -

- c -

- d -

- f -

- g -

- i -

- m -

- n -

- p -

- r -

- s -

- t -

- v -

gtg-trace-0.2+dfsg/doc/html/html/functions_vars.html000066400000000000000000000236421175246114100225660ustar00rootroot00000000000000 Generic Trace Generator (GTG): Data Fields - Variables
 

- a -

- b -

- c -

- d -

- f -

- g -

- i -

- m -

- n -

- p -

- r -

- s -

- t -

- v -

gtg-trace-0.2+dfsg/doc/html/html/globals.html000066400000000000000000000076621175246114100211520ustar00rootroot00000000000000 Generic Trace Generator (GTG): Globals
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- _ -

gtg-trace-0.2+dfsg/doc/html/html/globals_0x61.html000066400000000000000000000125021175246114100217150ustar00rootroot00000000000000 Generic Trace Generator (GTG): Globals
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- a -

gtg-trace-0.2+dfsg/doc/html/html/globals_0x62.html000066400000000000000000000075171175246114100217300ustar00rootroot00000000000000 Generic Trace Generator (GTG): Globals
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- b -

gtg-trace-0.2+dfsg/doc/html/html/globals_0x63.html000066400000000000000000000103121175246114100217140ustar00rootroot00000000000000 Generic Trace Generator (GTG): Globals
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- c -

gtg-trace-0.2+dfsg/doc/html/html/globals_0x64.html000066400000000000000000000075061175246114100217300ustar00rootroot00000000000000 Generic Trace Generator (GTG): Globals
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- d -

gtg-trace-0.2+dfsg/doc/html/html/globals_0x65.html000066400000000000000000000142041175246114100217220ustar00rootroot00000000000000 Generic Trace Generator (GTG): Globals
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- e -

gtg-trace-0.2+dfsg/doc/html/html/globals_0x66.html000066400000000000000000000100701175246114100217200ustar00rootroot00000000000000 Generic Trace Generator (GTG): Globals
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- f -

gtg-trace-0.2+dfsg/doc/html/html/globals_0x67.html000066400000000000000000000432201175246114100217240ustar00rootroot00000000000000 Generic Trace Generator (GTG): Globals
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- g -

gtg-trace-0.2+dfsg/doc/html/html/globals_0x69.html000066400000000000000000000116701175246114100217320ustar00rootroot00000000000000 Generic Trace Generator (GTG): Globals
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- i -

gtg-trace-0.2+dfsg/doc/html/html/globals_0x6c.html000066400000000000000000000100751175246114100220020ustar00rootroot00000000000000 Generic Trace Generator (GTG): Globals
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- l -

gtg-trace-0.2+dfsg/doc/html/html/globals_0x6d.html000066400000000000000000000075121175246114100220050ustar00rootroot00000000000000 Generic Trace Generator (GTG): Globals
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- m -

gtg-trace-0.2+dfsg/doc/html/html/globals_0x6f.html000066400000000000000000000152371175246114100220120ustar00rootroot00000000000000 Generic Trace Generator (GTG): Globals
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- o -

gtg-trace-0.2+dfsg/doc/html/html/globals_0x70.html000066400000000000000000000162531175246114100217240ustar00rootroot00000000000000 Generic Trace Generator (GTG): Globals
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- p -

gtg-trace-0.2+dfsg/doc/html/html/globals_0x73.html000066400000000000000000000115401175246114100217210ustar00rootroot00000000000000 Generic Trace Generator (GTG): Globals
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- s -

gtg-trace-0.2+dfsg/doc/html/html/globals_0x74.html000066400000000000000000000116241175246114100217250ustar00rootroot00000000000000 Generic Trace Generator (GTG): Globals
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- t -

gtg-trace-0.2+dfsg/doc/html/html/globals_0x76.html000066400000000000000000000110651175246114100217260ustar00rootroot00000000000000 Generic Trace Generator (GTG): Globals
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- v -

gtg-trace-0.2+dfsg/doc/html/html/globals_defs.html000066400000000000000000000221651175246114100221460ustar00rootroot00000000000000 Generic Trace Generator (GTG): Globals
 

- a -

- c -

- e -

- f -

- g -

- i -

- l -

- m -

- s -

- v -

gtg-trace-0.2+dfsg/doc/html/html/globals_enum.html000066400000000000000000000056651175246114100221770ustar00rootroot00000000000000 Generic Trace Generator (GTG): Globals
 
gtg-trace-0.2+dfsg/doc/html/html/globals_eval.html000066400000000000000000000241661175246114100221570ustar00rootroot00000000000000 Generic Trace Generator (GTG): Globals
 

- e -

- g -

- o -

- p -

- t -

- v -

gtg-trace-0.2+dfsg/doc/html/html/globals_func.html000066400000000000000000000402351175246114100221560ustar00rootroot00000000000000 Generic Trace Generator (GTG): Globals
 

- _ -

- a -

- b -

- d -

- e -

- g -

- i -

- o -

- p -

- s -

- v -

gtg-trace-0.2+dfsg/doc/html/html/globals_type.html000066400000000000000000000115611175246114100222040ustar00rootroot00000000000000 Generic Trace Generator (GTG): Globals
 
gtg-trace-0.2+dfsg/doc/html/html/globals_vars.html000066400000000000000000000114771175246114100222040ustar00rootroot00000000000000 Generic Trace Generator (GTG): Globals
 
gtg-trace-0.2+dfsg/doc/html/html/group__GTGColor.html000066400000000000000000000720421175246114100225140ustar00rootroot00000000000000 Generic Trace Generator (GTG): Defined colors for GTG
Generic Trace Generator (GTG)  0.1
Defined colors for GTG

Data Structures

struct  gtg_color
 This structure defines a color that can be used by GTG. More...

Functions

static uint8_t GTG_COLOR_GET_BLUE (gtg_rgb_color_t rgb)
 Return the 1-byte value of the blue component of a rgb color.
static uint8_t GTG_COLOR_GET_GREEN (gtg_rgb_color_t rgb)
 Return the 1-byte value of the green component of a rgb color.
static uint8_t GTG_COLOR_GET_RED (gtg_rgb_color_t rgb)
 Return the 1-byte value of the red component of a rgb color.
static gtg_rgb_color_t GTG_COLOR_SET_COLOR (uint8_t r, uint8_t g, uint8_t b)
 Return the 4-bytes RGB color from 3 1-byte components.

Variables

gtg_color_t GTG_BLACK
 Default black color. (R,G,B) = (0, 0, 0)
gtg_color_t GTG_RED
 Default red color. (R,G,B) = (255, 0, 0)
gtg_color_t GTG_GREEN
 Default green color. (R,G,B) = (0, 255, 0)
gtg_color_t GTG_BLUE
 Default blue color. (R,G,B) = (0, 0, 255)
gtg_color_t GTG_WHITE
 Default white color. (R,G,B) = (255, 255, 255)
gtg_color_t GTG_TEAL
 Default teal color. (R,G,B) = (0, 255, 255)
gtg_color_t GTG_DARKGREY
 Default dark grey color. (R,G,B) = (85, 85, 85)
gtg_color_t GTG_YELLOW
 Default yellow color. (R,G,B) = (255, 255, 0)
gtg_color_t GTG_PURPLE
 Default purple color. (R,G,B) = (153, 25, 230)
gtg_color_t GTG_LIGHTBROWN
 Default light brown color. (R,G,B) = (170, 130, 130)
gtg_color_t GTG_LIGHTGREY
 Default light grey color. (R,G,B) = (200, 200, 200)
gtg_color_t GTG_DARKBLUE
 Default dark blue color. (R,G,B) = (0, 0, 80)
gtg_color_t GTG_PINK
 Default pink color. (R,G,B) = (255, 0, 255)
gtg_color_t GTG_DARKPINK
 Default dark pink color. (R,G,B) = (180, 80, 180)
gtg_color_t GTG_SEABLUE
 Default sea blue color. (R,G,B) = (25, 128, 200)
gtg_color_t GTG_KAKI
 Default kaki color. (R,G,B) = (80, 100, 25)
gtg_color_t GTG_REDBLOOD
 Default red blood color. (R,G,B) = (200, 25, 25)
gtg_color_t GTG_BROWN
 Default brown color. (R,G,B) = (100, 25, 25)
gtg_color_t GTG_GRENAT
 Default grenat color. (R,G,B) = (100, 0, 80)
gtg_color_t GTG_ORANGE
 Default orange color. (R,G,B) = (255, 160, 0)
gtg_color_t GTG_MAUVE
 Default mauve color. (R,G,B) = (128, 0, 255)
gtg_color_t GTG_LIGHTPINK
 Default light pink color. (R,G,B) = (255, 128, 255)

Function Documentation

GTG_COLOR_GET_BLUE ( gtg_rgb_color_t  rgb) [inline, static]

Return the 1-byte value of the blue component of a rgb color.

GTG_COLOR_GET_GREEN ( gtg_rgb_color_t  rgb) [inline, static]

Return the 1-byte value of the green component of a rgb color.

GTG_COLOR_GET_RED ( gtg_rgb_color_t  rgb) [inline, static]

Return the 1-byte value of the red component of a rgb color.

GTG_COLOR_SET_COLOR ( uint8_t  r,
uint8_t  g,
uint8_t  b 
) [inline, static]

Return the 4-bytes RGB color from 3 1-byte components.


Variable Documentation

Default black color. (R,G,B) = (0, 0, 0)

Default blue color. (R,G,B) = (0, 0, 255)

Default brown color. (R,G,B) = (100, 25, 25)

Default dark blue color. (R,G,B) = (0, 0, 80)

Default dark grey color. (R,G,B) = (85, 85, 85)

Default dark pink color. (R,G,B) = (180, 80, 180)

Default green color. (R,G,B) = (0, 255, 0)

Default grenat color. (R,G,B) = (100, 0, 80)

Default kaki color. (R,G,B) = (80, 100, 25)

Default light brown color. (R,G,B) = (170, 130, 130)

Default light grey color. (R,G,B) = (200, 200, 200)

Default light pink color. (R,G,B) = (255, 128, 255)

Default mauve color. (R,G,B) = (128, 0, 255)

Default orange color. (R,G,B) = (255, 160, 0)

Default pink color. (R,G,B) = (255, 0, 255)

Default purple color. (R,G,B) = (153, 25, 230)

Default red color. (R,G,B) = (255, 0, 0)

Default red blood color. (R,G,B) = (200, 25, 25)

Default sea blue color. (R,G,B) = (25, 128, 200)

Default teal color. (R,G,B) = (0, 255, 255)

Default white color. (R,G,B) = (255, 255, 255)

Default yellow color. (R,G,B) = (255, 255, 0)

gtg-trace-0.2+dfsg/doc/html/html/group__GTGMemory.html000066400000000000000000000163531175246114100227110ustar00rootroot00000000000000 Generic Trace Generator (GTG): Memory management
Generic Trace Generator (GTG)  0.1
Memory management

Functions

void gtg_block_memory_init (gtg_memory_t *memory, size_t block_size, long initial_block_number)
 Initialize the allocator.
void * gtg_block_malloc (gtg_memory_t memory)
 Allocate a block of data.
void gtg_block_free (gtg_memory_t memory, void *ptr)
 Free a block of data.

Function Documentation

void gtg_block_free ( gtg_memory_t  memory,
void *  ptr 
)

Free a block of data.

Parameters:
memoryThe memory describer
ptrThe block of data to free
void * gtg_block_malloc ( gtg_memory_t  memory)

Allocate a block of data.

Parameters:
memoryThe memory describer
Returns:
A pointer to a block or NULL if allocation failed
void gtg_block_memory_init ( gtg_memory_t memory,
size_t  block_size,
long  initial_block_number 
)

Initialize the allocator.

Parameters:
memoryA memory describer
block_sizeThe block size to be allocated when malloc is called
initial_block_numberThe number of blocks to allocate initialy
gtg-trace-0.2+dfsg/doc/html/html/group__GTGReplay.html000066400000000000000000000125561175246114100226760ustar00rootroot00000000000000 Generic Trace Generator (GTG): Functions for postponing event-processing function calls
Generic Trace Generator (GTG)  0.1
Functions for postponing event-processing function calls

Functions

void gtg_record (enum event_type_t type, varPrec time,...)
 postpone the recording of an event
void gtg_write_events (long nb_events_to_write)
 run the first nb_events_to_write events

Function Documentation

void gtg_record ( enum event_type_t  type,
varPrec  time,
  ... 
)

postpone the recording of an event

Parameters:
typeThe type of function to postpone
timeThe time at which the event happens
void gtg_write_events ( long  nb_events_to_write)

run the first nb_events_to_write events

Parameters:
nb_events_to_writeThe number of functions to process (-1 for all functions)
gtg-trace-0.2+dfsg/doc/html/html/group__cotf.html000066400000000000000000001577121175246114100220370ustar00rootroot00000000000000 Generic Trace Generator (GTG): OTF interface in C of the traceGeneratorBasic API
Generic Trace Generator (GTG)  0.1
OTF interface in C of the traceGeneratorBasic API

Functions

const otf_color_t OTF_get_color (gtg_color_t color)
 Converts a GTG color into a OTF color.
trace_return_t OTFInitTrace (const char *filename, gtg_flag_t flags)
 Initialize an OTF trace.
trace_return_t OTFSetCompress (int val)
 Enable trace compression.
trace_return_t OTFAddContType (const char *alias, const char *contType, const char *name)
 Add a Container Type.
trace_return_t OTFAddStateType (const char *alias, const char *contType, const char *name)
 Add a State Type.
trace_return_t OTFAddEventType (const char *alias, const char *contType, const char *name)
 Add an Event Type.
trace_return_t OTFAddLinkType (const char *alias, const char *name, const char *contType, const char *srcContType, const char *destContType)
 Add a Link Type.
trace_return_t OTFAddVarType (const char *alias, const char *name, const char *contType)
 Add a Variable Type.
trace_return_t OTFAddEntityValue (const char *alias, const char *entType, const char *name, const otf_color_t color)
 Add an Entity Value.
trace_return_t OTFStartContainer (varPrec time, const char *alias, const char *type, const char *container, const char *name, const char *file)
 Start a Container.
trace_return_t OTFDestroyContainer (varPrec time, const char *name, const char *type)
 Destroy a Container.
trace_return_t OTFSetState (varPrec time, const char *type, const char *cont, const char *val)
 Set the State of a Container.
trace_return_t OTFPushState (varPrec time, const char *type, const char *cont, const char *val)
 Save the current State on a stack and change the State of a Container.
trace_return_t OTFPopState (varPrec time, const char *type, const char *cont)
 Revert the State of a Container to its previous value.
trace_return_t OTFAddEvent (varPrec time, const char *type, const char *cont, const char *val)
 Add an Event.
trace_return_t OTFStartLink (varPrec time, const char *type, const char *src, const char *dest, const char *val, const char *key)
 Start a Link.
trace_return_t OTFEndLink (varPrec time, const char *type, const char *src, const char *dest, const char *val, const char *key)
 End a Link.
trace_return_t OTFSetVar (varPrec time, const char *type, const char *cont, varPrec val)
 Set a Variable value.
trace_return_t OTFAddVar (varPrec time, const char *type, const char *cont, varPrec val)
 Add a value to a Variable.
trace_return_t OTFSubVar (varPrec time, const char *type, const char *cont, varPrec val)
 Substract a value from a Variable.
trace_return_t OTFAddComment (const char *comment)
 Add some Comment in Trace file.
trace_return_t OTFEndTrace ()
 Finalize an OTF trace.

Function Documentation

const char * OTF_get_color ( gtg_color_t  color)

Converts a GTG color into a OTF color.

Parameters:
colorGTG color to convert
Returns:
The OTF color
trace_return_t OTFAddComment ( const char *  comment)

Add some Comment in Trace file.

Parameters:
commentComment to be added
Returns:
TRACE_SUCCESS on success
An error code otherwise
trace_return_t OTFAddContType ( const char *  alias,
const char *  contType,
const char *  name 
)

Add a Container Type.

Parameters:
aliasAlias on the container
contTypeType of container
nameName of the container type
Returns:
0 if success
An error code otherwise
trace_return_t OTFAddEntityValue ( const char *  alias,
const char *  entType,
const char *  name,
const otf_color_t  color 
)

Add an Entity Value.

Parameters:
aliasAlias on the entity value
entTypeType of the entity
nameName of the variable type
colorColor of the entity
Returns:
0 if success
An error code otherwise
trace_return_t OTFAddEvent ( varPrec  time,
const char *  type,
const char *  cont,
const char *  val 
)

Add an Event.

Parameters:
timeTime at which the event happens
typeType of the event
contContainer in this event
valEntity value of the event of the container
Returns:
0 if success
An error code otherwise
trace_return_t OTFAddEventType ( const char *  alias,
const char *  contType,
const char *  name 
)

Add an Event Type.

Parameters:
aliasAlias on the event type
contTypeType of container
nameName of the event type
Returns:
0 if success
An error code otherwise
trace_return_t OTFAddLinkType ( const char *  alias,
const char *  name,
const char *  contType,
const char *  srcContType,
const char *  destContType 
)

Add a Link Type.

Parameters:
aliasAlias on the link type
nameName of the link type
contTypeType of container
srcContTypeType of the source container
destContTypeType of the destination container
Returns:
0 if success
An error code otherwise
trace_return_t OTFAddStateType ( const char *  alias,
const char *  contType,
const char *  name 
)

Add a State Type.

Parameters:
aliasAlias on the state type
contTypeType of container
nameName of the state type
Returns:
0 if success
An error code otherwise
trace_return_t OTFAddVar ( varPrec  time,
const char *  type,
const char *  cont,
varPrec  val 
)

Add a value to a Variable.

Parameters:
timeTime at which the variable is incremented
typeType of the variable
contContainer containning the variable
valValue added
Returns:
0 if success
An error code otherwise
trace_return_t OTFAddVarType ( const char *  alias,
const char *  contType,
const char *  name 
)

Add a Variable Type.

Parameters:
aliasAlias on the variable type
contTypeType of container
nameName of the variable type
Returns:
0 if success
An error code otherwise
trace_return_t OTFDestroyContainer ( varPrec  time,
const char *  name,
const char *  type 
)

Destroy a Container.

Parameters:
timeTime at which the container is destroyed
nameName of the container
typeType of the container
Returns:
0 if success
An error code otherwise
trace_return_t OTFEndLink ( varPrec  time,
const char *  type,
const char *  cont,
const char *  dest,
const char *  val,
const char *  key 
)

End a Link.

Parameters:
timeTime at which the link ends
typeType of the link
contContainer containning the link
destContainer destination
valEntity value of the link
keyKey to identify the link
Returns:
0 if success
An error code otherwise

Finalize an OTF trace.

Returns:
0 if success
An error code otherwise
trace_return_t OTFInitTrace ( const char *  filename,
gtg_flag_t  flags 
)

Initialize an OTF trace.

Parameters:
filenameRoot name of the file to create
flagsOne of GTG_FLAG_NONE, GTG_FLAG_USE_MPI, GTG_FLAG_NOTBUF.
Returns:
0 if success An error code otherwise
trace_return_t OTFPopState ( varPrec  time,
const char *  type,
const char *  cont 
)

Revert the State of a Container to its previous value.

Parameters:
timeTime at which the state is poped
typeType of the state
contContainer in this state
Returns:
0 if success
An error code otherwise
trace_return_t OTFPushState ( varPrec  time,
const char *  type,
const char *  cont,
const char *  val 
)

Save the current State on a stack and change the State of a Container.

Parameters:
timeTime at which the state is pushed
typeType of the state
contContainer in this state
valEntity value of the state of the container
Returns:
0 if success
An error code otherwise

Enable trace compression.

Parameters:
val0 means no compression, otherwize the output files will be compressed.
Returns:
0 if success
An error code otherwise
trace_return_t OTFSetState ( varPrec  time,
const char *  type,
const char *  cont,
const char *  val 
)

Set the State of a Container.

Parameters:
timeTime at which the state is set
typeType of the state
contContainer in this state
valEntity value of the state of the container
Returns:
0 if success
An error code otherwise
trace_return_t OTFSetVar ( varPrec  time,
const char *  type,
const char *  cont,
varPrec  val 
)

Set a Variable value.

Parameters:
timeTime at which the variable is set
typeType of the variable
contContainer containning the variable
valValue of the variable
Returns:
0 if success
An error code otherwise
trace_return_t OTFStartContainer ( varPrec  time,
const char *  alias,
const char *  type,
const char *  container,
const char *  name,
const char *  file 
)

Start a Container.

Parameters:
timeTime at which the container is added
aliasAlias of the new container
typeType of the container
containerContainer parent
nameName of the variable type
fileFile containing the container trace
Returns:
0 if success
An error code otherwise
trace_return_t OTFStartLink ( varPrec  time,
const char *  type,
const char *  cont,
const char *  src,
const char *  val,
const char *  key 
)

Start a Link.

Parameters:
timeTime at which the link starts
typeType of the link
contContainer containning the link
srcContainer source
valEntity value of the link
keyKey to identify the link
Returns:
0 if success
An error code otherwise
trace_return_t OTFSubVar ( varPrec  time,
const char *  type,
const char *  cont,
varPrec  val 
)

Substract a value from a Variable.

Parameters:
timeTime at which the variable is incremented
typeType of the variable
contContainer containning the variable
valValue substracted
Returns:
0 if success
An error code otherwise
gtg-trace-0.2+dfsg/doc/html/html/group__cpaje.html000066400000000000000000001737551175246114100221730ustar00rootroot00000000000000 Generic Trace Generator (GTG): Paje interface in C of the GTGBasic1 API
Generic Trace Generator (GTG)  0.1
Paje interface in C of the GTGBasic1 API

Functions

const paje_color_t Paje_get_color (gtg_color_t p_color)
 Converts a GTG color into a PAJE color.
trace_return_t pajeInitTrace (const char *filename, int rank, gtg_flag_t flags, int fmt)
 Initialize a VITE trace ( *.ept)
char * pajeGetName (int rk)
 Function to get the name of the file containing all the data for the proc of rank rk.
trace_return_t pajeSetCompress (int val)
 Enable trace compression.
trace_return_t pajeAddContType (const char *alias, const char *contType, const char *name)
 Add a Container Type.
trace_return_t pajeAddStateType (const char *alias, const char *contType, const char *name)
 Add a State Type.
trace_return_t pajeAddEventType (const char *alias, const char *contType, const char *name)
 Add an Event Type.
trace_return_t pajeAddLinkType (const char *alias, const char *name, const char *contType, const char *srcContType, const char *destContType)
 Add a Link Type.
trace_return_t pajeAddVarType (const char *alias, const char *name, const char *contType)
 Add a Variable Type.
trace_return_t pajeAddEntityValue (const char *alias, const char *entType, const char *name, const char *color)
 Add an Entity Value.
trace_return_t pajeAddContainer (varPrec time, const char *alias, const char *type, const char *container, const char *name, const char *file)
 Add a Container (VITE format).
trace_return_t pajeSeqAddContainer (varPrec time, const char *alias, const char *type, const char *container, const char *name)
 Add a Container (PAJE format).
trace_return_t pajeDestroyContainer (varPrec time, const char *name, const char *type)
 Destroy a Container.
trace_return_t pajeSetState (varPrec time, const char *type, const char *cont, const char *val)
 Set the State of a Container.
trace_return_t pajePushState (varPrec time, const char *type, const char *cont, const char *val)
 Save the current State on a stack and change the State of a Container.
trace_return_t pajePopState (varPrec time, const char *type, const char *cont)
 Revert the State of a Container to its previous value.
trace_return_t pajeAddEvent (varPrec time, const char *type, const char *cont, const char *val)
 Add an Event.
trace_return_t pajeStartLink (varPrec time, const char *type, const char *cont, const char *src, const char *val, const char *key)
 Start a link.
trace_return_t pajeEndLink (varPrec time, const char *type, const char *cont, const char *dest, const char *val, const char *key)
 Start a link.
trace_return_t pajeSetVar (varPrec time, const char *type, const char *cont, varPrec val)
 Set a Variable value.
trace_return_t pajeAddVar (varPrec time, const char *type, const char *cont, varPrec val)
 Add a value to a Variable.
trace_return_t pajeSubVar (varPrec time, const char *type, const char *cont, varPrec val)
 Substract a value from a Variable.
trace_return_t pajeAddComment (const char *comment)
 Add some Comment in Trace file.
trace_return_t pajeEndTrace ()
 Finalize a PAJE trace.
trace_return_t viteEndTrace ()
 Finalize a VITE trace.

Function Documentation

Converts a GTG color into a PAJE color.

Parameters:
colorGTG color to convert
Returns:
The PAJE color
trace_return_t pajeAddComment ( const char *  comment)

Add some Comment in Trace file.

Parameters:
commentComment to be added
Returns:
TRACE_SUCCESS on success
An error code otherwise
trace_return_t pajeAddContainer ( varPrec  time,
const char *  alias,
const char *  type,
const char *  container,
const char *  name,
const char *  file 
)

Add a Container (VITE format).

Parameters:
timeTime at which the container is added
aliasAlias on the new container
typeType of the container
containerContainer parent
nameName of the variable type
fileFile containing the container trace
Returns:
0 if success
An error code otherwise
trace_return_t pajeAddContType ( const char *  alias,
const char *  contType,
const char *  name 
)

Add a Container Type.

Parameters:
aliasAlias on the container
contTypeType of container
nameName of the container type
Returns:
0 if success
An error code otherwise
trace_return_t pajeAddEntityValue ( const char *  alias,
const char *  entType,
const char *  name,
const char *  color 
)

Add an Entity Value.

Parameters:
aliasAlias on the entity value
entTypeType of the entity
nameName of the variable type
colorColor of the entity
Returns:
0 if success
An error code otherwise
trace_return_t pajeAddEvent ( varPrec  time,
const char *  type,
const char *  cont,
const char *  val 
)

Add an Event.

Parameters:
timeTime at which the event happens
typeType of the event
contContainer in this event
valEntity value of the event of the container
Returns:
0 if success
An error code otherwise
trace_return_t pajeAddEventType ( const char *  alias,
const char *  contType,
const char *  name 
)

Add an Event Type.

Parameters:
aliasAlias on the event type
contTypeType of container
nameName of the event type
Returns:
0 if success
An error code otherwise
trace_return_t pajeAddLinkType ( const char *  alias,
const char *  name,
const char *  contType,
const char *  srcContType,
const char *  destContType 
)

Add a Link Type.

Parameters:
aliasAlias on the link type
nameName of the link type
contTypeType of container
srcContTypeType of the source container
destContTypeType of the destination container
Returns:
0 if success
An error code otherwise
trace_return_t pajeAddStateType ( const char *  alias,
const char *  contType,
const char *  name 
)

Add a State Type.

Parameters:
aliasAlias on the state type
contTypeType of container
nameName of the state type
Returns:
0 if success
An error code otherwise
trace_return_t pajeAddVar ( varPrec  time,
const char *  type,
const char *  cont,
varPrec  val 
)

Add a value to a Variable.

Parameters:
timeTime at which the variable is incremented
typeType of the variable
contContainer containing the variable
valValue added
Returns:
0 if success
An error code otherwise
trace_return_t pajeAddVarType ( const char *  alias,
const char *  contType,
const char *  name 
)

Add a Variable Type.

Parameters:
aliasAlias on the variable type
contTypeType of container
nameName of the variable type
Returns:
0 if success
An error code otherwise
trace_return_t pajeDestroyContainer ( varPrec  time,
const char *  name,
const char *  type 
)

Destroy a Container.

Parameters:
timeTime at which the container is destroyed
nameName on the container to destroy
typeType of the container
Returns:
0 if success
An error code otherwise
trace_return_t pajeEndLink ( varPrec  time,
const char *  type,
const char *  cont,
const char *  dest,
const char *  val,
const char *  key 
)

Start a link.

Parameters:
timeTime at which the link starts
typeType of the link
contContainer parent of the source and destination containers containing the link
destSource container
valValue of the link
keyKey used to match start link with end link
Returns:
0 if success
An error code otherwise

Finalize a PAJE trace.

Returns:
0 if success
An error code otherwise
char * pajeGetName ( int  rk)

Function to get the name of the file containing all the data for the proc of rank rk.

Parameters:
rkRank of the proc you want the filename containing it
Returns:
Name of the file.
trace_return_t pajeInitTrace ( const char *  filename,
int  rank,
gtg_flag_t  flags,
int  fmt 
)

Initialize a VITE trace ( *.ept)

Parameters:
filenameRoot name of the file to create
rankRank of the processor
flagsOne of GTG_FLAG_NONE, GTG_FLAG_USE_MPI, GTG_FLAG_NOTBUF.
fmtFormat, paje or vite
Returns:
0 if success An error code otherwise
trace_return_t pajePopState ( varPrec  time,
const char *  type,
const char *  cont 
)

Revert the State of a Container to its previous value.

Parameters:
timeTime at which the state is poped
typeType of the state
contContainer in this state
Returns:
0 if success
An error code otherwise
trace_return_t pajePushState ( varPrec  time,
const char *  type,
const char *  cont,
const char *  val 
)

Save the current State on a stack and change the State of a Container.

Parameters:
timeTime at which the state is pushed
typeType of the state
contContainer in this state
valEntity value of the state of the container
Returns:
0 if success
An error code otherwise
trace_return_t pajeSeqAddContainer ( varPrec  time,
const char *  alias,
const char *  type,
const char *  container,
const char *  name 
)

Add a Container (PAJE format).

Parameters:
timeTime at which the container is added
aliasAlias on the new container
typeType of the container
containerContainer parent
nameName of the variable type
Returns:
0 if success
An error code otherwise

Enable trace compression.

Parameters:
val0 means no compression, otherwize the output files will be compressed.
Returns:
0 if success
An error code otherwise
trace_return_t pajeSetState ( varPrec  time,
const char *  type,
const char *  cont,
const char *  val 
)

Set the State of a Container.

Parameters:
timeTime at which the state is set
typeType of the state
contContainer in this state
valEntity value of the state of the container
Returns:
0 if success
An error code otherwise
trace_return_t pajeSetVar ( varPrec  time,
const char *  type,
const char *  cont,
varPrec  val 
)

Set a Variable value.

Parameters:
timeTime at which the variable is set
typeType of the variable
contContainer containing the variable
valValue of the variable
Returns:
0 if success
An error code otherwise
trace_return_t pajeStartLink ( varPrec  time,
const char *  type,
const char *  cont,
const char *  src,
const char *  val,
const char *  key 
)

Start a link.

Parameters:
timeTime at which the link starts
typeType of the link
contContainer parent of the source and destination containers containing the link
srcSource container
valValue of the link
keyKey used to match start link with end link
Returns:
0 if success
An error code otherwise
trace_return_t pajeSubVar ( varPrec  time,
const char *  type,
const char *  cont,
varPrec  val 
)

Substract a value from a Variable.

Parameters:
timeTime at which the variable is incremented
typeType of the variable
contContainer containing the variable
valValue substracted
Returns:
0 if success
An error code otherwise

Finalize a VITE trace.

Returns:
0 if success
An error code otherwise
gtg-trace-0.2+dfsg/doc/html/html/group__eventf.html000066400000000000000000000152621175246114100223640ustar00rootroot00000000000000 Generic Trace Generator (GTG): Functions related to the events
Generic Trace Generator (GTG)  0.1
Functions related to the events

Functions

trace_return_t addEventType (const char *alias, const char *contType, const char *name)
 Add an Event Type.
trace_return_t addEvent (varPrec time, const char *type, const char *cont, const char *val)
 Add an Event.

Function Documentation

trace_return_t addEvent ( varPrec  time,
const char *  type,
const char *  cont,
const char *  val 
)

Add an Event.

Parameters:
timeTime the event happens
typeType of the event
contContainer that produced the event
valValue of the new event
Returns:
TRACE_SUCCESS on success
An error code otherwise
trace_return_t addEventType ( const char *  alias,
const char *  contType,
const char *  name 
)

Add an Event Type.

Parameters:
aliasAlias on the event type
contTypeType of container of these events
nameAlternative name of the event type
Returns:
TRACE_SUCCESS on success
An error code otherwise
gtg-trace-0.2+dfsg/doc/html/html/group__init.html000066400000000000000000000230301175246114100220300ustar00rootroot00000000000000 Generic Trace Generator (GTG): To init the generated trace file(s)
Generic Trace Generator (GTG)  0.1
To init the generated trace file(s)

Functions

trace_return_t initTrace (const char *filename, int rank, gtg_flag_t flags)
 Initialize a trace.
trace_return_t endTrace ()
 Finalize a trace.
trace_return_t setCompress (int val)
 Enable trace compression (only available for OTF traces).
trace_return_t addEntityValue (const char *alias, const char *entType, const char *name, gtg_color_t p_color)
 Add an Entity Value.

Function Documentation

trace_return_t addEntityValue ( const char *  alias,
const char *  entType,
const char *  name,
gtg_color_t  p_color 
)

Add an Entity Value.

Parameters:
aliasAlias on the entity value
entTypeType of the entity that can have the value
nameAlternative name of the variable type
p_colorColor of the entity
Returns:
TRACE_SUCCESS on success
An error code otherwise

Finalize a trace.

Returns:
TRACE_SUCCESS on success
An error code otherwise
int initTrace ( const char *  filename,
int  rank,
gtg_flag_t  flags 
)

Initialize a trace.

Parameters:
filenameRoot name of the file to create
rankProcess number of the file to create
flagsOne of GTG_FLAG_NONE, GTG_FLAG_USE_MPI, GTG_FLAG_NOTBUF.
Returns:
TRACE_SUCCESS on success
An error code otherwise

Enable trace compression (only available for OTF traces).

Parameters:
val0 means no compression, otherwize the output files will be compressed
Returns:
TRACE_SUCCESS on success
An error code otherwise
gtg-trace-0.2+dfsg/doc/html/html/group__linkf.html000066400000000000000000000300031175246114100221660ustar00rootroot00000000000000 Generic Trace Generator (GTG): Functions related to links
Generic Trace Generator (GTG)  0.1
Functions related to links

Functions

trace_return_t addLinkType (const char *alias, const char *name, const char *contType, const char *srcContType, const char *destContType)
 Add a Link Type.
trace_return_t startLink (varPrec time, const char *type, const char *cont, const char *src, const char *dest, const char *val, const char *key)
 Start a Link.
trace_return_t endLink (varPrec time, const char *type, const char *cont, const char *src, const char *dest, const char *val, const char *key)
 End a Link.

Function Documentation

trace_return_t addLinkType ( const char *  alias,
const char *  name,
const char *  contType,
const char *  srcContType,
const char *  destContType 
)

Add a Link Type.

Parameters:
aliasAlias on the link type
nameAlternative name of the link type
contTypeType of common ancestral container
srcContTypeType of the source container
destContTypeType of the destination container
Returns:
TRACE_SUCCESS on success
An error code otherwise
trace_return_t endLink ( varPrec  time,
const char *  type,
const char *  cont,
const char *  src,
const char *  dest,
const char *  val,
const char *  key 
)

End a Link.

Parameters:
timeTime the link ends
typeType of the link
contContainer containing the link (an ancestor of source and destination container)
srcSource container
destDestination container
valValue of the link
keyKey to match the start link
Returns:
TRACE_SUCCESS on success
An error code otherwise
trace_return_t startLink ( varPrec  time,
const char *  type,
const char *  cont,
const char *  src,
const char *  dest,
const char *  val,
const char *  key 
)

Start a Link.

Parameters:
timeTime the link starts
typeType of the link
contContainer containing the link (an ancestor of source and destination container)
srcSource container
destDestination container
valValue of the link
keyKey to match the end link
Returns:
TRACE_SUCCESS on success
An error code otherwise
gtg-trace-0.2+dfsg/doc/html/html/group__procf.html000066400000000000000000000267621175246114100222150ustar00rootroot00000000000000 Generic Trace Generator (GTG): Functions related to the containers
Generic Trace Generator (GTG)  0.1
Functions related to the containers

Functions

trace_return_t addContType (const char *alias, const char *contType, const char *name)
 Add a Container Type.
trace_return_t addContainer (varPrec time, const char *alias, const char *type, const char *container, const char *name, const char *file)
 Add a Container.
trace_return_t destroyContainer (varPrec time, const char *name, const char *type)
 Destroy a Container.
trace_return_t AddComment (const char *comment)
 Add some Comment in Trace file.

Function Documentation

trace_return_t AddComment ( const char *  comment)

Add some Comment in Trace file.

Parameters:
commentComment to be added
Returns:
TRACE_SUCCESS on success
An error code otherwise
trace_return_t addContainer ( varPrec  time,
const char *  alias,
const char *  type,
const char *  container,
const char *  name,
const char *  file 
)

Add a Container.

Parameters:
timeTime at which the container is added
aliasAlias of the new container
typeType of the new container
containerContainer parent
nameAlternative name of the variable type
fileFile containing the container for vite format. Use "0" or "" chains for other formats.
Returns:
TRACE_SUCCESS on success
An error code otherwise
trace_return_t addContType ( const char *  alias,
const char *  contType,
const char *  name 
)

Add a Container Type.

Parameters:
aliasAlias on the container added
contTypeType of the parent container
nameAlternative name of the new container type
Returns:
TRACE_SUCCESS on success
An error code otherwise
trace_return_t destroyContainer ( varPrec  time,
const char *  name,
const char *  type 
)

Destroy a Container.

Parameters:
timeTime at which the container is destroyed
nameName of the container
typeType of the container
Returns:
TRACE_SUCCESS on success
An error code otherwise
gtg-trace-0.2+dfsg/doc/html/html/group__statef.html000066400000000000000000000307651175246114100223700ustar00rootroot00000000000000 Generic Trace Generator (GTG): Functions related to the states
Generic Trace Generator (GTG)  0.1
Functions related to the states

Functions

trace_return_t addStateType (const char *alias, const char *contType, const char *name)
 Add a State Type.
trace_return_t setState (varPrec time, const char *type, const char *cont, const char *val)
 Set the State of a Container.
trace_return_t pushState (varPrec time, const char *type, const char *cont, const char *val)
 Save the current State on a stack and change the State of a Container.
trace_return_t popState (varPrec time, const char *type, const char *cont)
 Revert the State of a Container to its previous value.

Function Documentation

trace_return_t addStateType ( const char *  alias,
const char *  contType,
const char *  name 
)

Add a State Type.

Parameters:
aliasAlias on the state type added
contTypeType of container of these states
nameAlternative name of the state type
Returns:
TRACE_SUCCESS on success
An error code otherwise
trace_return_t popState ( varPrec  time,
const char *  type,
const char *  cont 
)

Revert the State of a Container to its previous value.

Parameters:
timeTime the state changes
typeType of the state
contContainer whose state changes
Returns:
TRACE_SUCCESS on success
An error code otherwise
trace_return_t pushState ( varPrec  time,
const char *  type,
const char *  cont,
const char *  val 
)

Save the current State on a stack and change the State of a Container.

Parameters:
timeTime the state changes
typeType of the state
contContainer whose state changes
valValue of state of container
Returns:
TRACE_SUCCESS on success
An error code otherwise
trace_return_t setState ( varPrec  time,
const char *  type,
const char *  cont,
const char *  val 
)

Set the State of a Container.

Parameters:
timeTime the state changes
typeType of the state
contContainer whose state changes
valValue of new state of container
Returns:
TRACE_SUCCESS on success
An error code otherwise
gtg-trace-0.2+dfsg/doc/html/html/group__traceType.html000066400000000000000000000234451175246114100230370ustar00rootroot00000000000000 Generic Trace Generator (GTG): Trace type handler
Generic Trace Generator (GTG)  0.1
Trace type handler

Enumerations

enum  traceType { PAJE, VITE, OTF, TAU }
 The type of the output trace. More...

Functions

void setTraceType (traceType_t type)
 Set the type of output trace.
traceType_t getTraceType ()
 Get the type of the output trace.
char * getName (int procRk)
 To get the name of the file to give to the addCont function for processors.
int bufferedModeActivated ()
 Check wether the buffered-mode is activated.

Enumeration Type Documentation

enum traceType

The type of the output trace.

Enumerator:
PAJE 

Paje trace format.

VITE 

ViTE-specific trace format.

OTF 

OTF trace format.

TAU 

TAU Trace format.


Function Documentation

Check wether the buffered-mode is activated.

Returns:
1 is the buffered-mode is activate.
0 otherwise.
traceType_t getName ( int  procRk)

To get the name of the file to give to the addCont function for processors.

Parameters:
procRkRank of the proc to get the file containing it
Returns:
The name of the file to give for a proc

Get the type of the output trace.

Returns:
The type of the trace
void setTraceType ( traceType_t  type)

Set the type of output trace.

Parameters:
typeType of trace to generate
gtg-trace-0.2+dfsg/doc/html/html/group__type.html000066400000000000000000000142061175246114100220530ustar00rootroot00000000000000 Generic Trace Generator (GTG): Types used
Generic Trace Generator (GTG)  0.1
Types used

Typedefs

typedef double varPrec
 Use the double precision type for time and value.

Enumerations

enum  trace_return_t {
  TRACE_SUCCESS, TRACE_ERR_OPEN, TRACE_ERR_CLOSE, TRACE_ERR_WRITE,
  TRACE_ERR_NOT_IMPL
}
 Define various return values. More...

Typedef Documentation

typedef double varPrec

Use the double precision type for time and value.


Enumeration Type Documentation

Define various return values.

Enumerator:
TRACE_SUCCESS 

Success of the call.

TRACE_ERR_OPEN 

Failed to open files to write.

TRACE_ERR_CLOSE 

Failed to close file.

TRACE_ERR_WRITE 

Failed to write trace.

TRACE_ERR_NOT_IMPL 

Function not impleneted.

gtg-trace-0.2+dfsg/doc/html/html/group__varf.html000066400000000000000000000313041175246114100220260ustar00rootroot00000000000000 Generic Trace Generator (GTG): Functions related to variables
Generic Trace Generator (GTG)  0.1
Functions related to variables

Functions

trace_return_t addVarType (const char *alias, const char *name, const char *contType)
 Add a Variable Type.
trace_return_t setVar (varPrec time, const char *type, const char *cont, varPrec val)
 Set a Variable value.
trace_return_t addVar (varPrec time, const char *type, const char *cont, varPrec val)
 Add a value to a Variable.
trace_return_t subVar (varPrec time, const char *type, const char *cont, varPrec val)
 Substract a value from a Variable.

Function Documentation

trace_return_t addVar ( varPrec  time,
const char *  type,
const char *  cont,
varPrec  val 
)

Add a value to a Variable.

Parameters:
timeTime the variable is incremented
typeType of the variable
contContainer containing the variable
valValue added
Returns:
TRACE_SUCCESS on success
An error code otherwise
trace_return_t addVarType ( const char *  alias,
const char *  name,
const char *  contType 
)

Add a Variable Type.

Parameters:
aliasAlias on the variable type
contTypeType of container
nameAlternative name of the variable type
Returns:
TRACE_SUCCESS on success
An error code otherwise
trace_return_t setVar ( varPrec  time,
const char *  type,
const char *  cont,
varPrec  val 
)

Set a Variable value.

Parameters:
timeTime the variable changes
typeType of the variable
contContainer containing the variable
valNew value of the variable
Returns:
TRACE_SUCCESS on success
An error code otherwise
trace_return_t subVar ( varPrec  time,
const char *  type,
const char *  cont,
varPrec  val 
)

Substract a value from a Variable.

Parameters:
timeTime the variable is incremented
typeType of the variable
contContainer containing the variable
valValue substracted
Returns:
TRACE_SUCCESS on success
An error code otherwise
gtg-trace-0.2+dfsg/doc/html/html/index.html000066400000000000000000000042521175246114100206260ustar00rootroot00000000000000 Generic Trace Generator (GTG): The GTG library
Generic Trace Generator (GTG)  0.1
The GTG library

(\/)
(*-*)
(")(")

Presentation

The GTG library provides a low level library to generate traces in various formats (Paje, OTF).
The use of the library is simple, you just need to include the GTG.h header and then you can use the library as you wish.
Some simple examples are available in the test directory.

gtg-trace-0.2+dfsg/doc/html/html/modules.html000066400000000000000000000054521175246114100211720ustar00rootroot00000000000000 Generic Trace Generator (GTG): Modules
Generic Trace Generator (GTG)  0.1
Modules
gtg-trace-0.2+dfsg/doc/html/html/nav_f.png000066400000000000000000000002371175246114100204270ustar00rootroot00000000000000‰PNG  IHDR8ł»fIDATxíÝIB1 Q;uŰż@ŃĎh;áÚ ±aË !ŽĐ‹V˝CČíţ âŠĹĆ|c±ľ™¶¶3čsŃFĐFP»S{PšSšsVălN®F.F.“ă2’üµ¤ď_UżŚľĎţ«‰ČH Ým”°•IEND®B`‚gtg-trace-0.2+dfsg/doc/html/html/nav_h.png000066400000000000000000000001411175246114100204230ustar00rootroot00000000000000‰PNG  IHDR ,é@(IDATxíݱ 0 A˝2°ÁU¶— !kÜJrŞŻžZý˙Ćo‡üčťIEND®B`‚gtg-trace-0.2+dfsg/doc/html/html/open.png000066400000000000000000000001661175246114100203000ustar00rootroot00000000000000‰PNG  IHDR ŕ‘=IDATxíť1 “ŘŞ¦@@   ]01ŔQXY~Jr?D>„Ą¶ţ’nĽ áFÍ  }ČúÂéăĎ\ Äá˙ňIEND®B`‚gtg-trace-0.2+dfsg/doc/html/html/structContainer.html000066400000000000000000000153001175246114100227020ustar00rootroot00000000000000 Generic Trace Generator (GTG): Container Struct Reference
Container Struct Reference

#include <GTGOTF_Structs.h>

Data Fields

char * name
char * alias
int ctType
int id
struct gtg_list token
State_t state_stack

Detailed Description

Containers


Field Documentation


The documentation for this struct was generated from the following file:
gtg-trace-0.2+dfsg/doc/html/html/structContainerType.html000066400000000000000000000122651175246114100235530ustar00rootroot00000000000000 Generic Trace Generator (GTG): ContainerType Struct Reference
ContainerType Struct Reference

#include <GTGOTF_Structs.h>

Data Fields

char * name
char * alias
int id
struct gtg_list token

Field Documentation


The documentation for this struct was generated from the following file:
gtg-trace-0.2+dfsg/doc/html/html/structEntityValue.html000066400000000000000000000137761175246114100232500ustar00rootroot00000000000000 Generic Trace Generator (GTG): EntityValue Struct Reference
EntityValue Struct Reference

#include <GTGOTF_Structs.h>

Data Fields

char * name
char * alias
int groupId
int id
struct gtg_list token

Detailed Description

EntityValue, contains the name of the functions/states


Field Documentation


The documentation for this struct was generated from the following file:
gtg-trace-0.2+dfsg/doc/html/html/structEventType.html000066400000000000000000000135731175246114100227150ustar00rootroot00000000000000 Generic Trace Generator (GTG): EventType Struct Reference
EventType Struct Reference

#include <GTGOTF_Structs.h>

Data Fields

char * name
char * alias
int contType
int id
struct gtg_list token

Detailed Description

Events/Markers


Field Documentation


The documentation for this struct was generated from the following file:
gtg-trace-0.2+dfsg/doc/html/html/structLink.html000066400000000000000000000074731175246114100216710ustar00rootroot00000000000000 Generic Trace Generator (GTG): Link Struct Reference
Link Struct Reference

#include <GTGOTF_Structs.h>

Data Fields

varPrec time
int src

Field Documentation

int Link::src

The documentation for this struct was generated from the following file:
gtg-trace-0.2+dfsg/doc/html/html/structLinkType.html000066400000000000000000000162111175246114100225210ustar00rootroot00000000000000 Generic Trace Generator (GTG): LinkType Struct Reference
LinkType Struct Reference

#include <GTGOTF_Structs.h>

Data Fields

char * name
char * alias
int contType
int srcType
int destType
int id
struct gtg_list token

Detailed Description

Links/Messages


Field Documentation


The documentation for this struct was generated from the following file:
gtg-trace-0.2+dfsg/doc/html/html/structState.html000066400000000000000000000123121175246114100220400ustar00rootroot00000000000000 Generic Trace Generator (GTG): State Struct Reference
State Struct Reference

#include <GTGOTF_Structs.h>

Data Fields

int value
int cont
int stateType
gtg_stack token

Detailed Description

States


Field Documentation


The documentation for this struct was generated from the following file:
gtg-trace-0.2+dfsg/doc/html/html/structStateType.html000066400000000000000000000135641175246114100227140ustar00rootroot00000000000000 Generic Trace Generator (GTG): StateType Struct Reference
StateType Struct Reference

#include <GTGOTF_Structs.h>

Data Fields

char * name
char * alias
int groupId
int id
struct gtg_list token

Detailed Description

StateTypes


Field Documentation


The documentation for this struct was generated from the following file:
gtg-trace-0.2+dfsg/doc/html/html/structVariable.html000066400000000000000000000133441175246114100225130ustar00rootroot00000000000000 Generic Trace Generator (GTG): Variable Struct Reference
Variable Struct Reference

#include <GTGOTF_Structs.h>

Data Fields

int parent
int type
uint64_t value
int id
struct gtg_list token

Field Documentation

uint64_t Variable::value

The documentation for this struct was generated from the following file:
gtg-trace-0.2+dfsg/doc/html/html/structVariableType.html000066400000000000000000000137041175246114100233550ustar00rootroot00000000000000 Generic Trace Generator (GTG): VariableType Struct Reference
VariableType Struct Reference

#include <GTGOTF_Structs.h>

Data Fields

char * name
char * alias
int contType
int id
struct gtg_list token

Detailed Description

Variables/Counters


Field Documentation


The documentation for this struct was generated from the following file:
gtg-trace-0.2+dfsg/doc/html/html/structgtg__color.html000066400000000000000000000106111175246114100230760ustar00rootroot00000000000000 Generic Trace Generator (GTG): gtg_color Struct Reference
gtg_color Struct Reference

This structure defines a color that can be used by GTG. More...

#include <GTGColor.h>

Data Fields

char * color_name
gtg_rgb_color_t rgb

Detailed Description

This structure defines a color that can be used by GTG.


Field Documentation

The name of the color (ie. "RED" or "Black",...)

RGB code of the color. It should be obtained by calling GTG_COLOR_SET_COLOR(r, g, b).


The documentation for this struct was generated from the following file:
gtg-trace-0.2+dfsg/doc/html/html/structgtg__list.html000066400000000000000000000076341175246114100227460ustar00rootroot00000000000000 Generic Trace Generator (GTG): gtg_list Struct Reference
gtg_list Struct Reference

#include <GTGList.h>

Data Fields

struct gtg_listprev
struct gtg_listnext

Field Documentation


The documentation for this struct was generated from the following file:
gtg-trace-0.2+dfsg/doc/html/html/structgtg__memory.html000066400000000000000000000160661175246114100233020ustar00rootroot00000000000000 Generic Trace Generator (GTG): gtg_memory Struct Reference
gtg_memory Struct Reference

#include <GTGMemory.h>

Data Fields

void * first_mem
void * current_mem
size_t block_len
long mem_len
void * first_free
long first_new
long nb_allocated

Field Documentation


The documentation for this struct was generated from the following file:
gtg-trace-0.2+dfsg/doc/html/html/structotf__color.html000066400000000000000000000120311175246114100231030ustar00rootroot00000000000000 Generic Trace Generator (GTG): otf_color Struct Reference
otf_color Struct Reference

#include <GTGOTF_Structs.h>

Data Fields

char * colorID
uint8_t red
uint8_t green
uint8_t blue

Field Documentation

uint8_t otf_color::blue
uint8_t otf_color::red

The documentation for this struct was generated from the following file:
gtg-trace-0.2+dfsg/doc/html/html/tab_a.png000066400000000000000000000002141175246114100203770ustar00rootroot00000000000000‰PNG  IHDR$ÇÇ[SIDATxíť» €@wçɡś*ć‚MŘIďÎF†ýL :®‡±nĚëN™ ¶±Á’„ŘN&âĽ_ É­Éľ}Ő¶8~îľîOwv-˙ęA4Y)Ń}IEND®B`‚gtg-trace-0.2+dfsg/doc/html/html/tab_b.png000066400000000000000000000002621175246114100204030ustar00rootroot00000000000000‰PNG  IHDR$ÇÇ[yIDATxíÝŰ Â €Ń?|SVÓ´bB#P®˝8ł‰Oľ:É™D>ßm{SűIí'ąäz(!•ťTBމy#¤ťWěJDpľă|Ă…†ó »ěR]áá ć™Đ6q·‰›]ç•qŠŚÓĘŐD.&0čŔ =JD”ü=@*é*ç×IEND®B`‚gtg-trace-0.2+dfsg/doc/html/html/tab_h.png000066400000000000000000000003001175246114100204020ustar00rootroot00000000000000‰PNG  IHDR$ÇÇ[‡IDATxíÝŰ ‚`€áŹ˙ĄşFŠ˘‚hšYŇ ˙Ě2Ź6@c´HwÍńě!ďĎ—K1ę^‰©HtO’÷ÄyGµD׎ k9¦Ťç?iđâ7zá„vPaźžţăĎđJŚ}ÉĆ)ŘşwV»‚ő®`ai–ÖŤĄĄ™›Z‰šŚPłéřC"ŕčP=€IEND®B`‚gtg-trace-0.2+dfsg/doc/html/html/tab_s.png000066400000000000000000000002751175246114100204300ustar00rootroot00000000000000‰PNG  IHDR$ÇÇ[„IDATxíÝë ‚P@áKg"%(IE|ˇ%¦Iˇ7iÚlmĐ" ÓŹäŰCĽŢňŰ“\.dĺOZ̤ĹBrť‰/Źż‰(źÎ#a6âź‚ôŽ› 8qŹ÷ŘÇëĐaF-ű°EtżAó4ŻfçÖlťŠŤ]±¶äJjJC˘%Š!ż<Ĺ#üŔÄ«IEND®B`‚gtg-trace-0.2+dfsg/doc/html/html/tabs.css000066400000000000000000000021071175246114100202710ustar00rootroot00000000000000.tabs, .tabs2, .tabs3 { background-image: url('tab_b.png'); width: 100%; z-index: 101; font-size: 13px; } .tabs2 { font-size: 10px; } .tabs3 { font-size: 9px; } .tablist { margin: 0; padding: 0; display: table; } .tablist li { float: left; display: table-cell; background-image: url('tab_b.png'); line-height: 36px; list-style: none; } .tablist a { display: block; padding: 0 20px; font-weight: bold; background-image:url('tab_s.png'); background-repeat:no-repeat; background-position:right; color: #283A5D; text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); text-decoration: none; outline: none; } .tabs3 .tablist a { padding: 0 10px; } .tablist a:hover { background-image: url('tab_h.png'); background-repeat:repeat-x; color: #fff; text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); text-decoration: none; } .tablist li.current a { background-image: url('tab_a.png'); background-repeat:repeat-x; color: #fff; text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); } gtg-trace-0.2+dfsg/exm/000077500000000000000000000000001175246114100147425ustar00rootroot00000000000000gtg-trace-0.2+dfsg/exm/Makefile000066400000000000000000000011141175246114100163770ustar00rootroot00000000000000BIN= paje_example paje_example2 gtg_color otf_example all: $(BIN) paje_example: paje_example.c gcc -Wall -W -o paje_example paje_example.c $(CFLAGS) $(LDFLAGS) -lgtg -lpthread paje_example2: paje_example2.c gcc -Wall -W -o paje_example2 paje_example2.c $(CFLAGS) $(LDFLAGS) -lgtg -lpthread gtg_color: gtg_color.c gcc -Wall -W -o gtg_color gtg_color.c $(CFLAGS) $(LDFLAGS) -lgtg -lpthread otf_example: otf_example.c gcc -Wall -W -o otf_example otf_example.c $(CFLAGS) $(LDFLAGS) -lgtg -lpthread -lotf clean: rm -f $(BIN) cleantraces: rm -f *def *marker *otf *events *trace *eptgtg-trace-0.2+dfsg/exm/gtg_color.c000066400000000000000000000045331175246114100170720ustar00rootroot00000000000000#include #include #include int main (int argc, char** argv){ (void) argc; (void) argv; setTraceType (PAJE); initTrace ("gtg_color", 0, GTG_FLAG_NONE); addContType ("CT_NET", "0", "Network"); addContType ("CT_NODE", "CT_NET", "Node"); addContType ("CT_PROC", "CT_NODE", "Proc"); addStateType ("ST_NodeState", "CT_NODE", "Node state"); addStateType ("ST_ProcState", "CT_PROC", "Procstate"); addEntityValue ("SN_0", "ST_NodeState", "black", GTG_BLACK); addEntityValue ("SN_1", "ST_NodeState", "red", GTG_RED); addEntityValue ("SN_2", "ST_NodeState", "green", GTG_GREEN); addEntityValue ("SN_3", "ST_NodeState", "blue", GTG_BLUE); addEntityValue ("SN_4", "ST_NodeState", "white", GTG_WHITE); addEntityValue ("SN_5", "ST_NodeState", "teal", GTG_TEAL); addEntityValue ("SN_6", "ST_NodeState", "darkgrey", GTG_DARKGREY); addEntityValue ("SN_7", "ST_NodeState", "yellow", GTG_YELLOW); addEntityValue ("SN_8", "ST_NodeState", "purple", GTG_PURPLE); addEntityValue ("SN_9", "ST_NodeState", "lightbrown", GTG_LIGHTBROWN); addEntityValue ("SN_10", "ST_NodeState", "lightgrey", GTG_LIGHTGREY); addEntityValue ("SN_11", "ST_NodeState", "darkblue", GTG_DARKBLUE); addEntityValue ("SN_12", "ST_NodeState", "pink", GTG_PINK); addEntityValue ("SN_13", "ST_NodeState", "darkpink", GTG_DARKPINK); addEntityValue ("SN_14", "ST_NodeState", "seablue", GTG_SEABLUE); addEntityValue ("SN_15", "ST_NodeState", "kaki", GTG_KAKI); addEntityValue ("SN_16", "ST_NodeState", "redblood", GTG_REDBLOOD); addEntityValue ("SN_17", "ST_NodeState", "brown", GTG_BROWN); addEntityValue ("SN_18", "ST_NodeState", "grenat", GTG_GRENAT); addEntityValue ("SN_19", "ST_NodeState", "orange", GTG_ORANGE); addEntityValue ("SN_20", "ST_NodeState", "mauve", GTG_MAUVE); addEntityValue ("SN_21", "ST_NodeState", "lightpink", GTG_LIGHTPINK); addContainer (0.00000, "C_Net0", "CT_NET", "0", "Ensemble0", "0"); addContainer (0.00000, "C_N0", "CT_NODE", "C_Net0", "Node0", "0"); addContainer (0.00000, "C_P0", "CT_PROC", "C_N0", "Proc0", "0"); int i; for(i=0; i<21;i++) { char* nodeState = NULL; asprintf(&nodeState, "SN_%d", i); setState ((float)i, "ST_NodeState", "C_P0", nodeState); free(nodeState); } endTrace (); return EXIT_SUCCESS; } gtg-trace-0.2+dfsg/exm/otf_example.c000066400000000000000000000124211175246114100174110ustar00rootroot00000000000000/* * Small example to generate a trace in the otf format * Author Kevin Coulomb and Johnny Jazeix */ #define _GNU_SOURCE #include #include #include #include /* Size of the buffer used */ #define TXTSIZE 200 /* Small function to clean the buffer */ void clear (char* buf, int size){ int i; for (i=0;i use gtg_f implicit none real (8) :: time real (8) :: val integer :: ierr integer :: buf = 0 !! Init call setTraceType_f (PAJE, buf) call initTrace_f ("fpaje", ierr) !! Creating proc types call addContType_f ("CT_NET", "0", "Network", ierr) call addContType_f ("CT_NODE", "CT_NET", "Node", ierr) call addContType_f ("CT_PROC", "CT_NODE", "Proc", ierr) !! Creating state types call addStateType_f ("ST_NodeState", "CT_NODE", "Node state", ierr) call addStateType_f ("ST_ProcState", "CT_PROC", "Procstate", ierr) !! Creating Entity value types call addEntityValue_f ("SN_0", "ST_NodeState", "Sleep", P_RED, ierr) call addEntityValue_f ("SN_1", "ST_NodeState", "WaitLocal",& & P_BLUE, ierr) call addEntityValue_f ("SN_2", "ST_NodeState", "WaitDistant", & & P_GREEN, ierr) call addEntityValue_f ("SP_3", "ST_ProcState", "Produit", P_DARKPINK,& & ierr) call addEntityValue_f ("SP_4", "ST_ProcState", "Somme", P_BROWN, ierr) call addEntityValue_f ("SP_5", "ST_ProcState", "Difference",& & P_ORANGE, ierr) !! Creating link types call addLinkType_f ("L_0", "Fanin", "CT_NET", "CT_PROC", "CT_PROC", & & ierr) call addLinkType_f ("L_1", "Bloc", "CT_NET", "CT_PROC", "CT_PROC", & & ierr) !! Creating var type call addVarType_f ("V_Mem", "Memoire", "CT_NODE", ierr) !! Creating event types call addEventType_f ("E_0", "CT_PROC", "Lapin", ierr) call addEventType_f ("E_1", "CT_PROC", "Chocolat", ierr) time = 0.000000000000 !! Adding containers call addContainer_f (time, "C_Net0", "CT_NET", "0", "Ensemble0", "0",& & ierr) call addContainer_f (time, "C_N0", "CT_NODE", "C_Net0", "Node0", "0",& & ierr) call addContainer_f (time, "C_P0", "CT_PROC", "C_N0", "Proc0", "0", & & ierr) call addContainer_f (time, "C_P1", "CT_PROC", "C_N0", "Proc1", "0", & & ierr) call addContainer_f (time, "C_P2", "CT_PROC", "C_N0", "Proc2", "0", & & ierr) call addContainer_f (time, "C_N1", "CT_NODE", "C_Net0", "Node1", "0",& & ierr) call addContainer_f (time, "C_P3", "CT_PROC", "C_N1", "Proc3", "0", & & ierr) call addContainer_f (time, "C_P4", "CT_PROC", "C_N1", "Proc4", "0", & & ierr) call addContainer_f (time, "C_P5", "CT_PROC", "C_N1", "Proc5", "0", & & ierr) !! Setting var, events states, links on proc/nodes time = 0.0111742 val = 1.0 call setVar_f (time, "V_Mem", "C_N0", val, ierr) time = 0.0211 call setState_f (time, "ST_NodeState", "C_N1", "SN_1", ierr) time = 0.0212742 call setState_f (time, "ST_NodeState", "C_N0", "SN_0", ierr) time = 0.0214742 val = 2.0 call setVar_f (time, "V_Mem", "C_N0", val, ierr) time = 0.0311742 call setState_f (time, "ST_NodeState", "C_N1", "SN_2", ierr) time = 0.0411742 call setState_f (time, "ST_NodeState", "C_N0", "SN_1", ierr) time = 0.0311742 val = 3.0 call setVar_f (time, "V_Mem", "C_N0", val, ierr) time = 0.0411742 val = 1.0 call setVar_f (time, "V_Mem", "C_N1", val, ierr) time = 0.0511742 call setState_f (time, "ST_NodeState", "C_N1", "SN_0", ierr) time = 0.0511742 val = 2.0 call setVar_f (time, "V_Mem", "C_N1", val, ierr) time = 0.0611742 call setState_f (time, "ST_NodeState", "C_N0", "SN_2", ierr) time = 0.0611742 val = 3.0 call setVar_f (time, "V_Mem", "C_N1", val, ierr) time = 0.0151742 call setState_f (time, "ST_ProcState", "C_P0", "SP_3", ierr) time = 0.0161742 call setState_f (time, "ST_ProcState", "C_P1", "SP_3", ierr) time = 0.0161742 call setState_f (time, "ST_ProcState", "C_P0", "SP_5", ierr) time = 0.0171742 call setState_f (time, "ST_ProcState", "C_P3", "SP_5", ierr) time = 0.0171742 call setState_f (time, "ST_ProcState", "C_P4", "SP_3", ierr) time = 0.0181742 call setState_f (time, "ST_ProcState", "C_P5", "SP_4", ierr) time = 0.0181742 call setState_f (time, "ST_ProcState", "C_P2", "SP_3", ierr) time = 0.0191742 call setState_f (time, "ST_ProcState", "C_P3", "SP_4", ierr) time = 0.0191742 call setState_f (time, "ST_ProcState", "C_P1", "SP_4", ierr) time = 0.0111742 call setState_f (time, "ST_ProcState", "C_P0", "SP_3", ierr) time = 0.0111742 call setState_f (time, "ST_ProcState", "C_P0", "SP_3", ierr) time = 0.0211742 call setState_f (time, "ST_ProcState", "C_P5", "SP_4", ierr) time = 0.0211742 call setState_f (time, "ST_ProcState", "C_P4", "SP_5", ierr) time = 0.0311742 call setState_f (time, "ST_ProcState", "C_P3", "SP_5", ierr) time = 0.0311742 call setState_f (time, "ST_ProcState", "C_P2", "SP_5", ierr) time = 0.0411742 call setState_f (time, "ST_ProcState", "C_P0", "SP_3", ierr) time = 0.0411742 call setState_f (time, "ST_ProcState", "C_P1", "SP_3", ierr) time = 0.0511742 call setState_f (time, "ST_ProcState", "C_P1", "SP_4", ierr) time = 0.0511742 call setState_f (time, "ST_ProcState", "C_P2", "SP_4", ierr) time = 0.0611742 call setState_f (time, "ST_ProcState", "C_P0", "SP_3", ierr) time = 0.0611742 call setState_f (time, "ST_ProcState", "C_P3", "SP_3", ierr) time = 0.0711742 call setState_f (time, "ST_ProcState", "C_P0", "SP_4", ierr) time = 0.0711742 call setState_f (time, "ST_ProcState", "C_P5", "SP_5", ierr) time = 0.0811742 call setState_f (time, "ST_ProcState", "C_P4", "SP_5", ierr) time = 0.0811742 call setState_f (time, "ST_ProcState", "C_P2", "SP_4", ierr) time = 0.0911742 call setState_f (time, "ST_ProcState", "C_P0", "SP_3", ierr) time = 0.02 call startLink_f (time, "L_0", "C_Net0", "C_P2", "C_P4", "12", "0", & & ierr) time = 0.03 call startLink_f (time, "L_1", "C_Net0", "C_P4", "C_P2", "13", "1", & & ierr) time = 0.04 call startLink_f (time, "L_0", "C_Net0", "C_P0", "C_P5", "14", "2", & & ierr) time = 0.05 call startLink_f (time, "L_1", "C_Net0", "C_P3", "C_P1", "15", "3", & & ierr) time = 0.03 call endLink_f (time, "L_0", "C_Net0", "C_P2", "C_P4", "12", "0", & & ierr) time = 0.04 call endLink_f (time, "L_1", "C_Net0", "C_P4", "C_P2", "13", "1", & & ierr) time = 0.05 call endLink_f (time, "L_0", "C_Net0", "C_P0", "C_P5", "14", "2", & & ierr) time = 0.06 call endLink_f (time, "L_1", "C_Net0", "C_P3", "C_P1", "15", "3", & & ierr) time = 0.02 call addEvent_f (time, "E_0", "C_P0", "11", ierr) time = 0.05 call addEvent_f (time, "E_0", "C_P2", "10", ierr) time = 0.07 call addEvent_f (time, "E_1", "C_P1", "1", ierr) time = 0.08 call addEvent_f (time, "E_1", "C_P5", "3", ierr) !! Cleaning call endTrace_f (ierr) end program main gtg-trace-0.2+dfsg/exm/paje_example.c000066400000000000000000000111741175246114100175440ustar00rootroot00000000000000#include #include #include int main (int argc, char** argv){ (void) argc; (void) argv; setTraceType (PAJE); initTrace ("cpaje", 0, GTG_FLAG_NONE); addContType ("CT_NET", "0", "Network"); addContType ("CT_NODE", "CT_NET", "Node"); addContType ("CT_PROC", "CT_NODE", "Proc"); addStateType ("ST_NodeState", "CT_NODE", "Node state"); addStateType ("ST_ProcState", "CT_PROC", "Procstate"); addEntityValue ("SN_0", "ST_NodeState", "Sleep", GTG_LIGHTPINK); addEntityValue ("SN_1", "ST_NodeState", "WaitLocal", GTG_PINK); addEntityValue ("SN_2", "ST_NodeState", "WaitDistant", GTG_BLUE); addEntityValue ("SP_3", "ST_ProcState", "Produit", GTG_ORANGE); addEntityValue ("SP_4", "ST_ProcState", "Somme", GTG_GREEN); addEntityValue ("SP_5", "ST_ProcState", "Difference", GTG_BLACK); addLinkType ("L_0", "Fanin", "CT_NET", "CT_PROC", "CT_PROC"); addLinkType ("L_1", "Bloc", "CT_NET", "CT_PROC", "CT_PROC"); addVarType ("V_Mem", "Memoire", "CT_NODE"); addEventType ("E_0", "CT_PROC", "Lapin"); addEventType ("E_1", "CT_PROC", "Chocolat"); addContainer (0.00000, "C_Net0", "CT_NET", "0", "Ensemble0", "0"); addContainer (0.00000, "C_N0", "CT_NODE", "C_Net0", "Node0", "0"); addContainer (0.00000, "C_P0", "CT_PROC", "C_N0", "Proc0", "0"); addContainer (0.00000, "C_P1", "CT_PROC", "C_N0", "Proc1", "0"); addContainer (0.00000, "C_P2", "CT_PROC", "C_N0", "Proc2", "0"); addContainer (0.00000, "C_N1", "CT_NODE", "C_Net0", "Node1", "0"); addContainer (0.00000, "C_P3", "CT_PROC", "C_N1", "Proc3", "0"); addContainer (0.00000, "C_P4", "CT_PROC", "C_N1", "Proc4", "0"); addContainer (0.00000, "C_P5", "CT_PROC", "C_N1", "Proc5", "0"); setVar (0.0111742, "V_Mem", "C_N0", 1.0000000); setState (0.01120000, "ST_NodeState", "C_N1", "SN_1"); setState (0.02121000, "ST_NodeState", "C_N0", "SN_0"); setVar (0.0212742, "V_Mem", "C_N0", 2.0000000); setState (0.03122000, "ST_NodeState", "C_N1", "SN_2"); setState (0.04123000, "ST_NodeState", "C_N0", "SN_1"); setVar (0.0313742, "V_Mem", "C_N0", 3.0000000); setVar (0.0414742, "V_Mem", "C_N1", 1.0000000); setState (0.05124000, "ST_NodeState", "C_N1", "SN_0"); setVar (0.0515742, "V_Mem", "C_N1", 2.0000000); setState (0.06124500, "ST_NodeState", "C_N0", "SN_2"); setVar (0.0616742, "V_Mem", "C_N1", 3.0000000); setState (0.00130000, "ST_ProcState", "C_P0", "SP_3"); setState (0.00140000, "ST_ProcState", "C_P1", "SP_3"); setState (0.00150000, "ST_ProcState", "C_P0", "SP_5"); setState (0.00160000, "ST_ProcState", "C_P3", "SP_5"); setState (0.00170000, "ST_ProcState", "C_P4", "SP_3"); setState (0.00180000, "ST_ProcState", "C_P5", "SP_4"); setState (0.00190000, "ST_ProcState", "C_P2", "SP_3"); setState (0.00200000, "ST_ProcState", "C_P3", "SP_4"); setState (0.00210000, "ST_ProcState", "C_P1", "SP_4"); setState (0.00230000, "ST_ProcState", "C_P0", "SP_3"); setState (0.00330000, "ST_ProcState", "C_P0", "SP_3"); setState (0.00430000, "ST_ProcState", "C_P5", "SP_4"); setState (0.00530000, "ST_ProcState", "C_P4", "SP_5"); setState (0.00630000, "ST_ProcState", "C_P3", "SP_5"); setState (0.00730000, "ST_ProcState", "C_P2", "SP_5"); setState (0.00830000, "ST_ProcState", "C_P0", "SP_3"); setState (0.00930000, "ST_ProcState", "C_P1", "SP_3"); setState (0.01030000, "ST_ProcState", "C_P1", "SP_4"); setState (0.02130000, "ST_ProcState", "C_P2", "SP_4"); setState (0.03130000, "ST_ProcState", "C_P0", "SP_3"); setState (0.04130000, "ST_ProcState", "C_P3", "SP_3"); setState (0.05130000, "ST_ProcState", "C_P0", "SP_4"); setState (0.06130000, "ST_ProcState", "C_P5", "SP_5"); setState (0.07130000, "ST_ProcState", "C_P4", "SP_2"); setState (0.08130000, "ST_ProcState", "C_P2", "SP_4"); setState (0.09130000, "ST_ProcState", "C_P0", "SP_3"); startLink (0.020000, "L_0", "C_Net0", "C_P2", "C_P4", "12", "0"); startLink (0.030000, "L_1", "C_Net0", "C_P4", "C_P2", "13", "1"); startLink (0.040000, "L_0", "C_Net0", "C_P0", "C_P5", "14", "2"); startLink (0.050000, "L_1", "C_Net0", "C_P3", "C_P1", "15", "3"); endLink (0.030000, "L_0", "C_Net0", "C_P2", "C_P4", "12", "0"); endLink (0.040000, "L_1", "C_Net0", "C_P4", "C_P2", "13", "1"); endLink (0.050000, "L_0", "C_Net0", "C_P0", "C_P5", "14", "2"); endLink (0.060000, "L_1", "C_Net0", "C_P3", "C_P1", "15", "3"); addEvent (0.030000, "E_0", "C_P0", "11"); addEvent (0.050000, "E_0", "C_P2", "10"); addEvent (0.070000, "E_1", "C_P1", "1"); addEvent (0.090000, "E_1", "C_P5", "3"); endTrace (); return EXIT_SUCCESS; } gtg-trace-0.2+dfsg/exm/paje_example2.c000066400000000000000000000116171175246114100176300ustar00rootroot00000000000000/* * Small example to generate a trace in the Paje format * Author Kevin Coulomb */ #include #include #include #include #include /* Size of the buffer used */ #define TXTSIZE 200 /* Small function to clean the buffer */ void clear (char* buf, int size){ int i; for (i=0;i #include #include int main (int argc, char** argv){ int rk; MPI_Init (&argc, &argv); MPI_Comm_rank (MPI_COMM_WORLD, &rk); setTraceType (VITE, BUFF); setComm (MPI_COMM_WORLD); initTrace ("cvite"); if (rk==0){ addContType ("CT_NET", "0", "Network"); addContType ("CT_NODE", "CT_NET", "Node"); addContType ("CT_PROC", "CT_NODE", "Proc"); addStateType ("ST_NodeState", "CT_NODE", "Node state"); addStateType ("ST_ProcState", "CT_PROC", "Procstate"); addEntityValue ("SN_0", "ST_NodeState", "Sleep", "0.5 0.5 0.5"); addEntityValue ("SN_1", "ST_NodeState", "WaitLocal", "0.0 0.5 0.9"); addEntityValue ("SN_2", "ST_NodeState", "WaitDistant", "0.9 0.5 0.0"); addEntityValue ("SP_3", "ST_ProcState", "Produit", "0.5 0.9 0.0"); addEntityValue ("SP_4", "ST_ProcState", "Somme", "0.9 0.9 0.0"); addEntityValue ("SP_5", "ST_ProcState", "Difference", "0.1 0.5 0.4"); addLinkType ("L_0", "Fanin", "CT_NET", "CT_PROC", "CT_PROC"); addLinkType ("L_1", "Bloc", "CT_NET", "CT_PROC", "CT_PROC"); addVarType ("V_Mem", "Memoire", "CT_NODE"); addEventType ("E_0", "CT_PROC", "Lapin"); addEventType ("E_1", "CT_PROC", "Chocolat"); addContainer (0.00000, "C_Net0", "CT_NET", "0", "Ensemble0", "0"); addContainer (0.00000, "C_N0", "CT_NODE", "C_Net0", "Node0", "0"); addContainer (0.00000, "C_N1", "CT_NODE", "C_Net0", "Node1", "0"); addContainer (0.00000, "C_P0", "CT_PROC", "C_N0", "Proc0", "cvite_proc0"); addContainer (0.00000, "C_P1", "CT_PROC", "C_N0", "Proc1", "cvite_proc1"); addContainer (0.00000, "C_P2", "CT_PROC", "C_N0", "Proc2", "cvite_proc2"); addContainer (0.00000, "C_P3", "CT_PROC", "C_N1", "Proc3", "cvite_proc3"); addContainer (0.00000, "C_P4", "CT_PROC", "C_N1", "Proc4", "cvite_proc4"); addContainer (0.00000, "C_P5", "CT_PROC", "C_N1", "Proc5", "cvite_proc5"); } setVar (0.0111742, "V_Mem", "C_N0", 1.0000000); setState (0.01120000, "ST_NodeState", "C_N1", "SN_1"); setState (0.02121000, "ST_NodeState", "C_N0", "SN_0"); setVar (0.0212742, "V_Mem", "C_N0", 2.0000000); setState (0.03122000, "ST_NodeState", "C_N1", "SN_2"); setState (0.04123000, "ST_NodeState", "C_N0", "SN_1"); setVar (0.0313742, "V_Mem", "C_N0", 3.0000000); setVar (0.0414742, "V_Mem", "C_N1", 1.0000000); setState (0.05124000, "ST_NodeState", "C_N1", "SN_0"); setVar (0.0515742, "V_Mem", "C_N1", 2.0000000); setState (0.06124500, "ST_NodeState", "C_N0", "SN_2"); setVar (0.0616742, "V_Mem", "C_N1", 3.0000000); switch (rk){ case 0: setState (0.00130000, "ST_ProcState", "C_P0", "SP_3"); setState (0.00150000, "ST_ProcState", "C_P0", "SP_5"); setState (0.00230000, "ST_ProcState", "C_P0", "SP_3"); setState (0.00330000, "ST_ProcState", "C_P0", "SP_3"); setState (0.00830000, "ST_ProcState", "C_P0", "SP_3"); setState (0.03130000, "ST_ProcState", "C_P0", "SP_3"); setState (0.05130000, "ST_ProcState", "C_P0", "SP_4"); setState (0.09130000, "ST_ProcState", "C_P0", "SP_3"); startLink (0.040000, "L_0", "C_Net0", "C_P0", "C_P5", "14", "2"); endLink (0.050000, "L_0", "C_Net0", "C_P0", "C_P5", "14", "2"); addEvent (0.030000, "E_0", "C_P0", "11"); break; case 1 : setState (0.00140000, "ST_ProcState", "C_P1", "SP_3"); setState (0.00210000, "ST_ProcState", "C_P1", "SP_4"); setState (0.00930000, "ST_ProcState", "C_P1", "SP_3"); setState (0.01030000, "ST_ProcState", "C_P1", "SP_4"); addEvent (0.070000, "E_1", "C_P1", "1"); break; case 3 : setState (0.00160000, "ST_ProcState", "C_P3", "SP_5"); setState (0.00200000, "ST_ProcState", "C_P3", "SP_4"); setState (0.00630000, "ST_ProcState", "C_P3", "SP_5"); setState (0.04130000, "ST_ProcState", "C_P3", "SP_3"); startLink (0.050000, "L_1", "C_Net0", "C_P3", "C_P1", "15", "3"); endLink (0.060000, "L_1", "C_Net0", "C_P3", "C_P1", "15", "3"); break; case 4 : setState (0.00170000, "ST_ProcState", "C_P4", "SP_3"); setState (0.00530000, "ST_ProcState", "C_P4", "SP_5"); setState (0.07130000, "ST_ProcState", "C_P4", "SP_5"); startLink (0.030000, "L_1", "C_Net0", "C_P4", "C_P2", "13", "1"); endLink (0.030000, "L_0", "C_Net0", "C_P2", "C_P4", "12", "0"); break; case 5 : setState (0.00180000, "ST_ProcState", "C_P5", "SP_4"); setState (0.00430000, "ST_ProcState", "C_P5", "SP_4"); setState (0.06130000, "ST_ProcState", "C_P5", "SP_5"); addEvent (0.090000, "E_1", "C_P5", "3"); break; case 2 : setState (0.00190000, "ST_ProcState", "C_P2", "SP_3"); setState (0.00730000, "ST_ProcState", "C_P2", "SP_5"); setState (0.02130000, "ST_ProcState", "C_P2", "SP_4"); setState (0.08130000, "ST_ProcState", "C_P2", "SP_4"); startLink (0.020000, "L_0", "C_Net0", "C_P2", "C_P4", "12", "0"); endLink (0.040000, "L_1", "C_Net0", "C_P4", "C_P2", "13", "1"); addEvent (0.050000, "E_0", "C_P2", "10"); break; default : break; } endTrace (); MPI_Finalize (); return EXIT_SUCCESS; } gtg-trace-0.2+dfsg/extlib/000077500000000000000000000000001175246114100154405ustar00rootroot00000000000000gtg-trace-0.2+dfsg/extlib/Makefile.am000066400000000000000000000000751175246114100174760ustar00rootroot00000000000000 if DONT_USE_INTERNAL_OTF SUBDIRS = else SUBDIRS = otf endif gtg-trace-0.2+dfsg/extlib/Makefile.in000066400000000000000000000412141175246114100175070ustar00rootroot00000000000000# Makefile.in generated by automake 1.11.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = extlib DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = otf DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ FGREP = @FGREP@ GREP = @GREP@ HAVE_DOXYGEN = @HAVE_DOXYGEN@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MPIDIR = @MPIDIR@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTFDIR = @OTFDIR@ OTF_INC = @OTF_INC@ OTF_LIB = @OTF_LIB@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PDFLATEX = @PDFLATEX@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_MPIDIR_FROM_USER = @USE_MPIDIR_FROM_USER@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ @DONT_USE_INTERNAL_OTF_FALSE@SUBDIRS = otf @DONT_USE_INTERNAL_OTF_TRUE@SUBDIRS = all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu extlib/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu extlib/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ install-am install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtg-trace-0.2+dfsg/gtg.pc.in000066400000000000000000000003121175246114100156570ustar00rootroot00000000000000prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ Name: GTG Description: GTG - Generic Trace Generator Version: @VERSION@ Libs: -L${libdir} -lgtg Cflags: -I${includedir}gtg-trace-0.2+dfsg/inc/000077500000000000000000000000001175246114100147225ustar00rootroot00000000000000gtg-trace-0.2+dfsg/inc/GTG.h000066400000000000000000000017341175246114100155210ustar00rootroot00000000000000/** * \file GTG.h * \brief Generic header to include * \authors * Developpers are : \n * Francois Rue - francois.rue@labri.fr \n * Francois Trahay - francois.trahay@labri.fr \n * Johnny Jazeix - jazeix@enseirb-matmeca.fr \n * Kevin Coulomb - kevin.coulomb@gmail.com \n * Mathieu Faverge - faverge@labri.fr \n * Olivier Lagrasse - lagrasse@enseirb-matmeca.fr \n * * * \mainpage The GTG library * * (\\/) \n * (*-*) \n * (")(") \n * * \section Presentation * The GTG library provides a low level library to generate traces in various formats (Paje, OTF). \n * The use of the library is simple, you just need to include the GTG.h header * and then you can use the library as you wish. \n * Some simple examples are available in the test directory. \n * */ #ifndef _GTG_H_ #define _GTG_H_ #include #include "GTGTypes.h" #include "GTGColor.h" #include "GTGBasic.h" #endif /* _GTG_H_ */ gtg-trace-0.2+dfsg/inc/GTGBasic.h000066400000000000000000000352231175246114100164630ustar00rootroot00000000000000/** * \file GTGBasic.h * \version 0.1 * \brief * * GTGBasic is a basic interface to generate trace in various formats. * * \authors * Developers are : \n * Francois Rue - francois.rue@labri.fr \n * Francois Trahay - francois.trahay@labri.fr \n * Johnny Jazeix - jazeix@enseirb-matmeca.fr \n * Kevin Coulomb - kevin.coulomb@gmail.com \n * Mathieu Faverge - faverge@labri.fr \n * Olivier Lagrasse - lagrasse@enseirb-matmeca.fr \n * * It has been initiated in 2010 by *eztrace* and *ViTE* projects * that both needs a good library to generate traces. * */ #ifndef _GTG_BASIC_H_ #define _GTG_BASIC_H_ #include #include #include "GTGColor.h" #include "GTGTypes.h" /** * \brief No flag specified. */ #define GTG_FLAG_NONE 0 /** * \brief Several MPI processes are currently using GTG. */ #define GTG_FLAG_USE_MPI 1 /** * \brief For writing the traces in a non-buffered mode. */ #define GTG_FLAG_NOTBUF 2 /** * \brief Allow the application to record events out of order */ #define GTG_FLAG_OUTOFORDER 4 /** * \brief Flags that can be specified to GTG. */ typedef uint8_t gtg_flag_t; /** * \defgroup traceType Trace type handler */ /** * \ingroup traceType * \enum traceType * \brief The type of the output trace. * */ typedef enum traceType{ PAJE, /*!< Paje trace format. */ VITE, /*!< ViTE-specific trace format. */ OTF, /*!< OTF trace format. */ TAU /*!< TAU Trace format. */ }traceType_t; /** * \ingroup traceType * \fn void setTraceType (traceType_t type) * \brief Set the type of output trace. * \param type Type of trace to generate */ void setTraceType (traceType_t type); /** * \ingroup traceType * \fn traceType_t getTraceType () * \brief Get the type of the output trace. * \return The type of the trace */ traceType_t getTraceType (); /** * \ingroup traceType * \fn traceType_t getName (int procRk) * \param procRk Rank of the proc to get the file containing it * \brief To get the name of the file to give to the addCont function for processors * \return The name of the file to give for a proc */ char* getName (int procRk); /** * \ingroup traceType * \fn int bufferedModeActivated() * \brief Check wether the buffered-mode is activated. * \return 1 is the buffered-mode is activate.\n * 0 otherwise. */ int bufferedModeActivated(); /** * \defgroup init To init the generated trace file(s) */ /** * \ingroup init * \fn int initTrace (const char* filename, int rank, gtg_flag_t flags) * \brief Initialize a trace. * \param filename Root name of the file to create * \param rank Process number of the file to create * \param flags One of GTG_FLAG_NONE, GTG_FLAG_USE_MPI, GTG_FLAG_NOTBUF. * \return TRACE_SUCCESS on success \n * An error code otherwise */ trace_return_t initTrace (const char* filename, int rank, gtg_flag_t flags); /** * \ingroup init * \fn trace_return_t endTrace () * \brief Finalize a trace. * \return TRACE_SUCCESS on success \n * An error code otherwise */ trace_return_t endTrace (); /** * \ingroup init * \fn trace_return_t setCompress (int val) * \brief Enable trace compression (only available for OTF traces). * \param val 0 means no compression, otherwize the output files will be compressed * \return TRACE_SUCCESS on success \n * An error code otherwise */ trace_return_t setCompress (int val); /** * \defgroup procf Functions related to the containers */ /** * \ingroup procf * \fn trace_return_t addContType (const char* alias, * const char* contType, * const char* name) * \brief Add a Container Type. * \param alias Alias on the container added * \param contType Type of the parent container * \param name Alternative name of the new container type * \return TRACE_SUCCESS on success \n * An error code otherwise */ trace_return_t addContType (const char* alias, const char* contType, const char* name); /** * \defgroup statef Functions related to the states */ /** * \ingroup statef * \fn trace_return_t addStateType (const char* alias, * const char* contType, * const char* name) * \brief Add a State Type. * \param alias Alias on the state type added * \param contType Type of container of these states * \param name Alternative name of the state type * \return TRACE_SUCCESS on success \n * An error code otherwise */ trace_return_t addStateType (const char* alias, const char* contType, const char* name); /** * \defgroup eventf Functions related to the events */ /** * \ingroup eventf * \fn trace_return_t addEventType (const char* alias, * const char* contType, * const char* name) * \brief Add an Event Type. * \param alias Alias on the event type * \param contType Type of container of these events * \param name Alternative name of the event type * \return TRACE_SUCCESS on success \n * An error code otherwise */ trace_return_t addEventType (const char* alias, const char* contType, const char* name); /** * \defgroup linkf Functions related to links */ /** * \ingroup linkf * \fn trace_return_t addLinkType (const char* alias, * const char* name, * const char* contType, * const char* srcContType, * const char* destContType); * \brief Add a Link Type. * \param alias Alias on the link type * \param name Alternative name of the link type * \param contType Type of common ancestral container * \param srcContType Type of the source container * \param destContType Type of the destination container * \return TRACE_SUCCESS on success \n * An error code otherwise */ trace_return_t addLinkType (const char* alias , const char* name, const char* contType, const char* srcContType, const char* destContType); /** * \defgroup varf Functions related to variables */ /** * \ingroup varf * \fn trace_return_t addVarType (const char* alias, * const char* name, * const char* contType) * \brief Add a Variable Type. * \param alias Alias on the variable type * \param contType Type of container * \param name Alternative name of the variable type * \return TRACE_SUCCESS on success \n * An error code otherwise */ trace_return_t addVarType (const char* alias , const char* name, const char* contType); /** * \ingroup init * \fn trace_return_t addEntityValue (const char* alias, * const char* entType, * const char* name, * gtg_color_t p_color) * \brief Add an Entity Value. * \param alias Alias on the entity value * \param entType Type of the entity that can have the value * \param name Alternative name of the variable type * \param p_color Color of the entity * \return TRACE_SUCCESS on success \n * An error code otherwise */ trace_return_t addEntityValue (const char* alias, const char* entType, const char* name , gtg_color_t p_color); /** * \ingroup procf * \fn trace_return_t addContainer (varPrec time, * const char * alias, * const char * type, * const char * container, * const char * name, * const char * file) * \brief Add a Container. * \param time Time at which the container is added * \param alias Alias of the new container * \param type Type of the new container * \param container Container parent * \param name Alternative name of the variable type * \param file File containing the container for vite format. Use "0" or "" chains for other formats. * \return TRACE_SUCCESS on success \n * An error code otherwise */ trace_return_t addContainer (varPrec time, const char* alias , const char* type, const char* container, const char* name, const char* file); /** * \ingroup procf * \fn trace_return_t destroyContainer (varPrec time, * const char * name, * const char * type) * \brief Destroy a Container. * \param time Time at which the container is destroyed * \param name Name of the container * \param type Type of the container * \return TRACE_SUCCESS on success \n * An error code otherwise */ trace_return_t destroyContainer (varPrec time, const char* name, const char* type); /** * \ingroup statef * \fn trace_return_t setState (varPrec time, * const char * type, * const char * cont, * const char * val) * \brief Set the State of a Container. * \param time Time the state changes * \param type Type of the state * \param cont Container whose state changes * \param val Value of new state of container * \return TRACE_SUCCESS on success \n * An error code otherwise */ trace_return_t setState (varPrec time, const char* type, const char* cont, const char* val); /** * \ingroup statef * \fn trace_return_t pushState (varPrec time, * const char * type, * const char * cont, * const char * val) * \brief Save the current State on a stack and change the State of a Container. * \param time Time the state changes * \param type Type of the state * \param cont Container whose state changes * \param val Value of state of container * \return TRACE_SUCCESS on success \n * An error code otherwise */ trace_return_t pushState (varPrec time, const char* type, const char* cont, const char* val); /** * \ingroup statef * \fn trace_return_t popState (varPrec time, * const char * type, * const char * cont) * \brief Revert the State of a Container to its previous value. * \param time Time the state changes * \param type Type of the state * \param cont Container whose state changes * \return TRACE_SUCCESS on success \n * An error code otherwise */ trace_return_t popState (varPrec time, const char* type, const char* cont); /** * \ingroup eventf * \fn trace_return_t addEvent (varPrec time, * const char * type, * const char * cont, * const char * val) * \brief Add an Event. * \param time Time the event happens * \param type Type of the event * \param cont Container that produced the event * \param val Value of the new event * \return TRACE_SUCCESS on success \n * An error code otherwise */ trace_return_t addEvent (varPrec time, const char* type, const char* cont, const char* val); /** * \ingroup linkf * \fn trace_return_t startLink (varPrec time, * const char * type, * const char * cont, * const char * src, * const char * dest, * const char * val, * const char * key) * \brief Start a Link. * \param time Time the link starts * \param type Type of the link * \param cont Container containing the link (an ancestor of source and destination container) * \param src Source container * \param dest Destination container * \param val Value of the link * \param key Key to match the end link * \return TRACE_SUCCESS on success \n * An error code otherwise */ trace_return_t startLink (varPrec time, const char* type, const char* cont, const char* src, const char* dest, const char* val, const char* key); /** * \ingroup linkf * \fn trace_return_t endLink (varPrec time, * const char * type, * const char * cont, * const char * src, * const char * dest, * const char * val, * const char * key) * \brief End a Link. * \param time Time the link ends * \param type Type of the link * \param cont Container containing the link (an ancestor of source and destination container) * \param src Source container * \param dest Destination container * \param val Value of the link * \param key Key to match the start link * \return TRACE_SUCCESS on success \n * An error code otherwise */ trace_return_t endLink (varPrec time, const char* type, const char* cont, const char* src, const char* dest, const char* val, const char* key); /** * \ingroup varf * \fn trace_return_t setVar (varPrec time, * const char * type, * const char * cont, * varPrec val) * \brief Set a Variable value. * \param time Time the variable changes * \param type Type of the variable * \param cont Container containing the variable * \param val New value of the variable * \return TRACE_SUCCESS on success \n * An error code otherwise */ trace_return_t setVar (varPrec time, const char* type, const char* cont, varPrec val); /** * \ingroup varf * \fn trace_return_t addVar (varPrec time, * const char * type, * const char * cont, * varPrec val) * \brief Add a value to a Variable. * \param time Time the variable is incremented * \param type Type of the variable * \param cont Container containing the variable * \param val Value added * \return TRACE_SUCCESS on success \n * An error code otherwise */ trace_return_t addVar (varPrec time, const char* type, const char* cont, varPrec val); /** * \ingroup varf * \fn trace_return_t subVar (varPrec time, * const char * type, * const char * cont, * varPrec val) * \brief Substract a value from a Variable. * \param time Time the variable is incremented * \param type Type of the variable * \param cont Container containing the variable * \param val Value substracted * \return TRACE_SUCCESS on success \n * An error code otherwise */ trace_return_t subVar (varPrec time, const char* type, const char* cont, varPrec val); /** * \ingroup procf * \fn trace_return_t AddComment (const char* comment) * * \brief Add some Comment in Trace file. * \param comment Comment to be added * \return TRACE_SUCCESS on success \n * An error code otherwise */ trace_return_t AddComment (const char* comment); #endif /* _GTG_BASIC_H_ */ gtg-trace-0.2+dfsg/inc/GTGColor.h000066400000000000000000000126471175246114100165250ustar00rootroot00000000000000/** * \file GTGColor.h * \version 0.1 * \brief * * This file defines some useful colors to use in entity values for GTG. * */ #ifndef _GTGCOLOR_H_ #define _GTGCOLOR_H_ #include /** * \defgroup GTGColor Defined colors for GTG */ typedef uint32_t gtg_rgb_color_t; /** * \ingroup GTGColor * \struct gtg_color * \brief This structure defines a color that can be used by GTG. */ struct gtg_color { /*@{*/ char* color_name; /**< The name of the color (ie. "RED" or "Black",...) */ gtg_rgb_color_t rgb; /**< RGB code of the color. It should be obtained by calling GTG_COLOR_SET_COLOR(r, g, b). */ /*@{*/ }; typedef struct gtg_color* gtg_color_t; /* In a 4-byte value, the first byte corresponds to blue, * the second to green, the third to red. The 4th byte is * unused (for now). ie. a color is represented as follows: * 0x00rrggbb */ #define GTG_COLOR_BLUE_POS 0 #define GTG_COLOR_GREEN_POS 8 #define GTG_COLOR_RED_POS 16 #define GTG_COLOR_BLUE_MASK (0x000000ff << GTG_COLOR_BLUE_POS) #define GTG_COLOR_GREEN_MASK (0x000000ff << GTG_COLOR_GREEN_POS) #define GTG_COLOR_RED_MASK (0x000000ff << GTG_COLOR_RED_POS) /** * \ingroup GTGColor * \fn GTG_COLOR_GET_BLUE(gtg_rgb_color_t rgb) * \brief Return the 1-byte value of the blue component of a rgb color. */ static inline uint8_t GTG_COLOR_GET_BLUE(gtg_rgb_color_t rgb) { return (((rgb) & GTG_COLOR_BLUE_MASK) >> GTG_COLOR_BLUE_POS ); } /** * \ingroup GTGColor * \fn GTG_COLOR_GET_GREEN(gtg_rgb_color_t rgb) * \brief Return the 1-byte value of the green component of a rgb color. */ static inline uint8_t GTG_COLOR_GET_GREEN(gtg_rgb_color_t rgb) { return (((rgb) & GTG_COLOR_GREEN_MASK) >> GTG_COLOR_GREEN_POS); } /** * \ingroup GTGColor * \fn GTG_COLOR_GET_RED(gtg_rgb_color_t rgb) * \brief Return the 1-byte value of the red component of a rgb color. */ static inline uint8_t GTG_COLOR_GET_RED(gtg_rgb_color_t rgb) { return (((rgb) & GTG_COLOR_RED_MASK) >> GTG_COLOR_RED_POS ); } /** * \ingroup GTGColor * \fn GTG_COLOR_SET_COLOR(uint8_t r, uint8_t g, uint8_t b) * \brief Return the 4-bytes RGB color from 3 1-byte components. */ static inline gtg_rgb_color_t GTG_COLOR_SET_COLOR(uint8_t r, uint8_t g, uint8_t b) { return ((r << GTG_COLOR_RED_POS) | (g << GTG_COLOR_GREEN_POS) | (b << GTG_COLOR_BLUE_POS)); } /** * \ingroup GTGColor * \var GTG_BLACK * \brief Default black color. (R,G,B) = (0, 0, 0) */ extern gtg_color_t GTG_BLACK; /** * \ingroup GTGColor * \var GTG_RED * \brief Default red color. (R,G,B) = (255, 0, 0) */ extern gtg_color_t GTG_RED; /** * \ingroup GTGColor * \var GTG_GREEN * \brief Default green color. (R,G,B) = (0, 255, 0) */ extern gtg_color_t GTG_GREEN; /** * \ingroup GTGColor * \var GTG_BLUE * \brief Default blue color. (R,G,B) = (0, 0, 255) */ extern gtg_color_t GTG_BLUE; /** * \ingroup GTGColor * \var GTG_WHITE * \brief Default white color. (R,G,B) = (255, 255, 255) */ extern gtg_color_t GTG_WHITE; /** * \ingroup GTGColor * \var GTG_TEAL * \brief Default teal color. (R,G,B) = (0, 255, 255) */ extern gtg_color_t GTG_TEAL; /** * \ingroup GTGColor * \var GTG_DARKGREY * \brief Default dark grey color. (R,G,B) = (85, 85, 85) */ extern gtg_color_t GTG_DARKGREY; /** * \ingroup GTGColor * \var GTG_YELLOW * \brief Default yellow color. (R,G,B) = (255, 255, 0) */ extern gtg_color_t GTG_YELLOW; /** * \ingroup GTGColor * \var GTG_PURPLE * \brief Default purple color. (R,G,B) = (153, 25, 230) */ extern gtg_color_t GTG_PURPLE; /** * \ingroup GTGColor * \var GTG_LIGHTBROWN * \brief Default light brown color. (R,G,B) = (170, 130, 130) */ extern gtg_color_t GTG_LIGHTBROWN; /** * \ingroup GTGColor * \var GTG_LIGHTGREY * \brief Default light grey color. (R,G,B) = (200, 200, 200) */ extern gtg_color_t GTG_LIGHTGREY; /** * \ingroup GTGColor * \var GTG_DARKBLUE * \brief Default dark blue color. (R,G,B) = (0, 0, 80) */ extern gtg_color_t GTG_DARKBLUE; /** * \ingroup GTGColor * \var GTG_PINK * \brief Default pink color. (R,G,B) = (255, 0, 255) */ extern gtg_color_t GTG_PINK; /** * \ingroup GTGColor * \var GTG_DARKPINK * \brief Default dark pink color. (R,G,B) = (180, 80, 180) */ extern gtg_color_t GTG_DARKPINK; /** * \ingroup GTGColor * \var GTG_SEABLUE * \brief Default sea blue color. (R,G,B) = (25, 128, 200) */ extern gtg_color_t GTG_SEABLUE; /** * \ingroup GTGColor * \var GTG_KAKI * \brief Default kaki color. (R,G,B) = (80, 100, 25) */ extern gtg_color_t GTG_KAKI; /** * \ingroup GTGColor * \var GTG_REDBLOOD * \brief Default red blood color. (R,G,B) = (200, 25, 25) */ extern gtg_color_t GTG_REDBLOOD; /** * \ingroup GTGColor * \var GTG_BROWN * \brief Default brown color. (R,G,B) = (100, 25, 25) */ extern gtg_color_t GTG_BROWN; /** * \ingroup GTGColor * \var GTG_GRENAT * \brief Default grenat color. (R,G,B) = (100, 0, 80) */ extern gtg_color_t GTG_GRENAT; /** * \ingroup GTGColor * \var GTG_ORANGE * \brief Default orange color. (R,G,B) = (255, 160, 0) */ extern gtg_color_t GTG_ORANGE; /** * \ingroup GTGColor * \var GTG_MAUVE * \brief Default mauve color. (R,G,B) = (128, 0, 255) */ extern gtg_color_t GTG_MAUVE; /** * \ingroup GTGColor * \var GTG_LIGHTPINK * \brief Default light pink color. (R,G,B) = (255, 128, 255) */ extern gtg_color_t GTG_LIGHTPINK; void gtg_color_init(); void gtg_color_exit(); gtg_color_t gtg_color_create( const char *name, uint8_t r, uint8_t g, uint8_t b); void gtg_color_free(gtg_color_t color); #endif /* _GTGCOLOR_H_ */ gtg-trace-0.2+dfsg/inc/GTGCompress.h000066400000000000000000000021361175246114100172320ustar00rootroot00000000000000#ifndef GTG_COMPRESS_H #define GTG_COMPRESS_H #include #include #include /* compress a buffer into another buffer */ int gtg_compress_m2m(z_stream *z, void* in_buf, uint32_t len, void* out_buf, uint32_t out_max_len); /* compress a buffer and save the result in a file */ int gtg_compress_m2f(z_stream *z, void* in_buf, uint32_t len, FILE* file_out); /* compress a file into a buffer */ int gtg_compress_f2m(z_stream *z, FILE* file_in, void* out_buf, uint32_t out_max_len); /* compress a file into another file */ int gtg_compress_f2f(z_stream *z, FILE* file_in, FILE* file_out); /* save functions for decompression */ int gtg_decompress_m2m(z_stream *z, void* in_buf, uint32_t len, void* out_buf, uint32_t out_max_len); int gtg_decompress_m2f(z_stream *z, void* in_buf, uint32_t len, FILE* file_out); int gtg_decompress_f2m(z_stream *z, FILE* file_in, void* out_buf, uint32_t out_max_len); int gtg_decompress_f2f(z_stream *z, FILE* file_in, FILE* file_out); int gtg_compress_init(z_stream *z, int compression_ratio); int gtg_decompress_init(z_stream *z); #endif /* GTG_COMPRESS_H */ gtg-trace-0.2+dfsg/inc/GTGList.h000066400000000000000000000115541175246114100163560ustar00rootroot00000000000000#ifndef GTG_LIST_H #define GTG_LIST_H struct gtg_list { struct gtg_list *prev; struct gtg_list *next; }; typedef struct gtg_list* gtg_list_t; /** * \fn GTG_LIST_INIT(ptr) * \brief initialize a list. * \param ptr pointer to the list (gtg_list_t). */ #define GTG_LIST_INIT(ptr) \ do { \ (ptr)->prev = (ptr); \ (ptr)->next = (ptr); \ } while(0) /** * \fn GTG_LIST(name) * \brief declare and initialize a list. * \param name Name of the variable */ #define GTG_LIST(name) \ struct gtg_list name; \ GTG_LIST_INIT(&name) /** * \fn gtg_list_entry(ptr, type, member) * \brief get the structure corresponding to a list entry * \param ptr pointer to the list entry (gtg_list_t) * \param type the type of the struct this is embedded in. * \param member the name of the struct gtg_list member within the struct. */ #define gtg_list_entry(ptr, type, member) \ ((type *)((char *)(ptr) - (char *)(&((type *)0)->member))) /* * Insert a new entry between two known consecutive entries. * * This is only for internal list manipulation where we know * the prev/next entries already! */ static inline void __gtg_list_add(gtg_list_t lnew, gtg_list_t prev, gtg_list_t next) { next->prev = lnew; lnew->next = next; lnew->prev = prev; prev->next = lnew; } /** * \fn void gtg_list_add(gtg_list_t lnew, gtg_list_t head) * \brief Insert a new entry after the specified head. * \param lnew new entry to be added * \param head list head to add it after */ static inline void gtg_list_add(gtg_list_t lnew, gtg_list_t head) { __gtg_list_add(lnew, head, head->next); } /** * \fn void gtg_list_add_tail(gtg_list_t lnew, gtg_list_t head) * \brief Insert a new entry before the specified head (ie. at the tail of the list). * \param lnew new entry to be added * \param head list head to add it after */ static inline void gtg_list_add_tail(gtg_list_t lnew, gtg_list_t head) { __gtg_list_add(lnew, head->prev, head); } /** * Delete a list entry by making the prev/next entries * point to each other. * * This is only for internal list manipulation where we know * the prev/next entries already! */ static inline void __gtg_list_del(gtg_list_t prev, gtg_list_t next) { next->prev = prev; prev->next = next; } /** * \fn void gtg_list_del(gtg_list_t entry) * \brief delete an entry from its list and reinitialize it. * \param entry the element to delete from the list. */ static inline void gtg_list_del(gtg_list_t entry) { __gtg_list_del(entry->prev, entry->next); GTG_LIST_INIT(entry); } /** * \fn gtg_list_for_each(gtg_list_t pos, gtg_list_t head) * \brief iterate over a list * \param pos the gtg_list_t to use as a loop counter. * \param head the head for the list. */ #define gtg_list_for_each(pos, head) \ for (pos = (head)->next; pos != (head); pos = pos->next) /** * \fn gtg_list_for_each_reverse(gtg_list_t pos, gtg_list_t head) * \brief iterate over a list backwards * \param pos the gtg_list_t to use as a loop counter. * \param head the head for the list. */ #define gtg_list_for_each_reverse(pos, head) \ for (pos = (head)->prev; pos != (head); pos = pos->prev) /** * \fn gtg_list_for_each_safe(gtg_list_t pos, gtg_list_t n, gtg_list_t head) * \brief iterate over a list safe against removal of list entry * \param pos the gtg_list_t to use as a loop counter. * \param n another gtg_list_t to use as temporary storage * \param head the head for the list. */ #define gtg_list_for_each_safe(pos, n, head) \ for (pos = (head)->next, n = pos->next; pos != (head); \ pos = n, n = pos->next) /** * gtg_list_for_each_entry(pos, head, member) * \brief iterate over list of given type * \param pos the type * to use as a loop counter. * \param head the head for the list. * \param member the name of the struct gtg_list member within the struct. */ #define gtg_list_for_each_entry(pos, head, member) \ for (pos = gtg_list_entry((head)->next, typeof(*pos), member); \ &pos->member != (head); \ pos = gtg_list_entry(pos->member.next, typeof(*pos), member)) /** * gtg_list_for_each_entry_safe(pos, n, head, member) * \brief iterate over list of given type safe against removal of list entry * \param pos the type * to use as a loop counter. * \param n another type * to use as temporary storage * \param head the head for the list. * \param member the name of the struct gtg_list member within the struct. */ #define gtg_list_for_each_entry_safe(pos, n, head, member) \ for (pos = gtg_list_entry((head)->next, typeof(*pos), member), \ n = gtg_list_entry(pos->member.next, typeof(*pos), member); \ &pos->member != (head); \ pos = n, n = gtg_list_entry(n->member.next, typeof(*n), member)) static inline int gtg_list_size(gtg_list_t l) { int res = 0; gtg_list_t ptr = NULL; gtg_list_for_each(ptr, l) res++; return res; } #endif /* GTG_LIST_H */ gtg-trace-0.2+dfsg/inc/GTGMemory.h000066400000000000000000000026001175246114100167030ustar00rootroot00000000000000/** * \file GTGMemory.h * \version 0.1 * \brief * * This file defines a fast allocator for fixed-size blocks */ #ifndef GTG_MEMORY_H #define GTG_MEMORY_H #include /** * \defgroup GTGMemory Memory management */ struct gtg_memory { void *first_mem; void *current_mem; size_t block_len; long mem_len; void *first_free; long first_new; long nb_allocated; }; typedef struct gtg_memory *gtg_memory_t; /** * \ingroup GTGMemory * \fn void gtg_block_memory_init(gtg_memory_t *memory, size_t block_size, long initial_block_number) * \brief Initialize the allocator * \param memory A memory describer * \param block_size The block size to be allocated when malloc is called * \param initial_block_number The number of blocks to allocate initialy */ void gtg_block_memory_init(gtg_memory_t *memory, size_t block_size, long initial_block_number); /** * \ingroup GTGMemory * \fn void* gtg_block_malloc(gtg_memory_t memory); * \brief Allocate a block of data * \param memory The memory describer * \return A pointer to a block or NULL if allocation failed */ void* gtg_block_malloc(gtg_memory_t memory); /** * \ingroup GTGMemory * \fn void gtg_block_free(gtg_memory_t memory, void *ptr); * \brief Free a block of data * \param memory The memory describer * \param ptr The block of data to free */ void gtg_block_free(gtg_memory_t memory, void *ptr); #endif gtg-trace-0.2+dfsg/inc/GTGOTF.h000066400000000000000000000011751175246114100160710ustar00rootroot00000000000000/** * \file GTGOTF.h * \version 0.1 * \brief * OTF is the global file for gtg interface using OTF. * * \authors * Developers are : \n * Francois Rue - francois.rue@labri.fr \n * Francois Trahay - francois.trahay@labri.fr \n * Johnny Jazeix - jazeix@enseirb-matmeca.fr \n * Kevin Coulomb - kevin.coulomb@gmail.com \n * Mathieu Faverge - faverge@labri.fr \n * Olivier Lagrasse - lagrasse@enseirb-matmeca.fr \n * */ #ifndef _GTG_OTF_H_ #define _GTG_OTF_H_ #include #include "GTGOTF_Structs.h" #include "GTGOTF_Basic.h" #endif /* _GTG_OTF_H_ */ gtg-trace-0.2+dfsg/inc/GTGOTF_Basic.h000066400000000000000000000323521175246114100171730ustar00rootroot00000000000000/** * \file GTGOTF_Basic.h * \version 0.1 * \brief * OTF_GTGBasic1 is the OTF implementation of the basic interface to generate traces (GTGBasic1). * * \authors * Developers are : \n * Francois Rue - francois.rue@labri.fr \n * Francois Trahay - francois.trahay@labri.fr \n * Johnny Jazeix - jazeix@enseirb-matmeca.fr \n * Kevin Coulomb - kevin.coulomb@gmail.com \n * Mathieu Faverge - faverge@labri.fr \n * Olivier Lagrasse - lagrasse@enseirb-matmeca.fr \n */ #ifndef _GTG_OTF_BASIC_H_ #define _GTG_OTF_BASIC_H_ #include "GTGTypes.h" #include "GTGBasic.h" #include "GTGOTF_Structs.h" /** * \defgroup cotf OTF interface in C of the traceGeneratorBasic API */ /** * \ingroup cotf * \fn const char* OTF_get_color(gtg_color_t color) * \brief Converts a GTG color into a OTF color. * \param color GTG color to convert * \return The OTF color */ const otf_color_t OTF_get_color(gtg_color_t color); /** * \ingroup cotf * \fn trace_return_t OTFInitTrace (const char* filename, gtg_flag_t flags) * \brief Initialize an OTF trace. * \param filename Root name of the file to create * \param flags One of GTG_FLAG_NONE, GTG_FLAG_USE_MPI, GTG_FLAG_NOTBUF. * \return 0 if success * An error code otherwise */ trace_return_t OTFInitTrace (const char* filename, gtg_flag_t flags); /** * \ingroup cotf * \fn trace_return_t OTFSetCompress(int val) * \brief Enable trace compression. * \param val 0 means no compression, otherwize the output files will be compressed. * \return 0 if success \n * An error code otherwise */ trace_return_t OTFSetCompress(int val); /** * \ingroup cotf * \fn trace_return_t OTFAddContType (const char* alias, * const char* contType, * const char* name) * \brief Add a Container Type. * \param alias Alias on the container * \param contType Type of container * \param name Name of the container type * \return 0 if success \n * An error code otherwise */ trace_return_t OTFAddContType (const char* alias, const char* contType, const char* name); /** * \ingroup cotf * \fn trace_return_t OTFAddStateType (const char* alias, * const char* contType, * const char* name) * \brief Add a State Type. * \param alias Alias on the state type * \param contType Type of container * \param name Name of the state type * \return 0 if success \n * An error code otherwise */ trace_return_t OTFAddStateType (const char* alias, const char* contType, const char* name); /** * \ingroup cotf * \fn trace_return_t OTFAddEventType (const char* alias, * const char* contType, * const char* name) * \brief Add an Event Type. * \param alias Alias on the event type * \param contType Type of container * \param name Name of the event type * \return 0 if success \n * An error code otherwise */ trace_return_t OTFAddEventType (const char* alias, const char* contType, const char* name); /** * \ingroup cotf * \fn trace_return_t OTFAddLinkType (const char* alias, * const char* name, * const char* contType, * const char* srcContType, * const char* destContType); * \brief Add a Link Type. * \param alias Alias on the link type * \param name Name of the link type * \param contType Type of container * \param srcContType Type of the source container * \param destContType Type of the destination container * \return 0 if success \n * An error code otherwise */ trace_return_t OTFAddLinkType (const char* alias , const char* name, const char* contType, const char* srcContType, const char* destContType); /** * \ingroup cotf * \fn trace_return_t OTFAddVarType (const char* alias, * const char* contType, * const char* name) * \brief Add a Variable Type. * \param alias Alias on the variable type * \param contType Type of container * \param name Name of the variable type * \return 0 if success \n * An error code otherwise */ trace_return_t OTFAddVarType (const char* alias , const char* name, const char* contType); /** * \ingroup cotf * \fn trace_return_t OTFAddEntityValue (const char* alias, * const char* entType, * const char* name, * const otf_color_t color) * \brief Add an Entity Value. * \param alias Alias on the entity value * \param entType Type of the entity * \param name Name of the variable type * \param color Color of the entity * \return 0 if success \n * An error code otherwise */ trace_return_t OTFAddEntityValue (const char* alias, const char* entType, const char* name , const otf_color_t color); /** * \ingroup cotf * \fn trace_return_t OTFDefineContainer (varPrec time, * const char * alias, * const char * type, * const char * container, * const char * name, * const char * file) * \brief Define a Container. * \param alias Alias of the new container * \param type Type of the container * \param container Container parent * \param name Name of the variable type * \param file File containing the container trace * \return 0 if success \n * An error code otherwise */ trace_return_t OTFDefineContainer (const char* alias, const char* type, const char* container, const char* name, const char* file); /** * \ingroup cotf * \fn trace_return_t OTFStartContainer (varPrec time, * const char * alias, * const char * type, * const char * container, * const char * name, * const char * file) * \brief Start a Container. * \param time Time at which the container is added * \param alias Alias of the new container * \param type Type of the container * \param container Container parent * \param name Name of the variable type * \param file File containing the container trace * \return 0 if success \n * An error code otherwise */ trace_return_t OTFStartContainer (varPrec time, const char* alias , const char* type, const char* container, const char* name, const char* file); /** * \ingroup cotf * \fn trace_return_t OTFDestroyContainer (varPrec time, * const char * name, * const char * type) * \brief Destroy a Container. * \param time Time at which the container is destroyed * \param name Name of the container * \param type Type of the container * \return 0 if success \n * An error code otherwise */ trace_return_t OTFDestroyContainer (varPrec time, const char* name, const char* type); /** * \ingroup cotf * \fn trace_return_t OTFSetState (varPrec time, * const char * type, * const char * cont, * const char * val) * \brief Set the State of a Container. * \param time Time at which the state is set * \param type Type of the state * \param cont Container in this state * \param val Entity value of the state of the container * \return 0 if success \n * An error code otherwise */ trace_return_t OTFSetState (varPrec time, const char* type, const char* cont, const char* val); /** * \ingroup cotf * \fn trace_return_t OTFPushState (varPrec time, * const char * type, * const char * cont, * const char * val) * \brief Save the current State on a stack and change the State of a Container. * \param time Time at which the state is pushed * \param type Type of the state * \param cont Container in this state * \param val Entity value of the state of the container * \return 0 if success \n * An error code otherwise */ trace_return_t OTFPushState (varPrec time, const char* type, const char* cont, const char* val); /** * \ingroup cotf * \fn trace_return_t OTFPopState (varPrec time, * const char * type, * const char * cont) * \brief Revert the State of a Container to its previous value. * \param time Time at which the state is poped * \param type Type of the state * \param cont Container in this state * \return 0 if success \n * An error code otherwise */ trace_return_t OTFPopState (varPrec time, const char* type, const char* cont); /** * \ingroup cotf * \fn trace_return_t OTFAddEvent (varPrec time, * const char * type, * const char * cont, * const char * val) * \brief Add an Event. * \param time Time at which the event happens * \param type Type of the event * \param cont Container in this event * \param val Entity value of the event of the container * \return 0 if success \n * An error code otherwise */ trace_return_t OTFAddEvent (varPrec time, const char* type, const char* cont, const char* val); /** * \ingroup cotf * \fn trace_return_t OTFStartLink (varPrec time, * const char * type, * const char * cont, * const char * src, * const char * val, * const char * key) * \brief Start a Link. * \param time Time at which the link starts * \param type Type of the link * \param cont Container containning the link * \param src Container source * \param val Entity value of the link * \param key Key to identify the link * \return 0 if success \n * An error code otherwise */ trace_return_t OTFStartLink (varPrec time, const char* type, const char* src, const char* dest, const char* val , const char* key); /** * \ingroup cotf * \fn trace_return_t OTFEndLink (varPrec time, * const char * type, * const char * cont, * const char * dest, * const char * val, * const char * key) * \brief End a Link. * \param time Time at which the link ends * \param type Type of the link * \param cont Container containning the link * \param dest Container destination * \param val Entity value of the link * \param key Key to identify the link * \return 0 if success \n * An error code otherwise */ trace_return_t OTFEndLink (varPrec time, const char* type, const char* src, const char* dest, const char* val, const char* key); /** * \ingroup cotf * \fn trace_return_t OTFSetVar (varPrec time, * const char * type, * const char * cont, * varPrec val) * \brief Set a Variable value. * \param time Time at which the variable is set * \param type Type of the variable * \param cont Container containning the variable * \param val Value of the variable * \return 0 if success \n * An error code otherwise */ trace_return_t OTFSetVar (varPrec time, const char* type, const char* cont, varPrec val); /** * \ingroup cotf * \fn trace_return_t OTFAddVar (varPrec time, * const char * type, * const char * cont, * varPrec val) * \brief Add a value to a Variable. * \param time Time at which the variable is incremented * \param type Type of the variable * \param cont Container containning the variable * \param val Value added * \return 0 if success \n * An error code otherwise */ trace_return_t OTFAddVar (varPrec time, const char* type, const char* cont, varPrec val); /** * \ingroup cotf * \fn trace_return_t OTFSubVar (varPrec time, * const char * type, * const char * cont, * varPrec val) * \brief Substract a value from a Variable. * \param time Time at which the variable is incremented * \param type Type of the variable * \param cont Container containning the variable * \param val Value substracted * \return 0 if success \n * An error code otherwise */ trace_return_t OTFSubVar (varPrec time, const char* type, const char* cont, varPrec val); /** * \ingroup cotf * \fn trace_return_t OTFAddComment (const char* comment) * * \brief Add some Comment in Trace file. * \param comment Comment to be added * \return TRACE_SUCCESS on success \n * An error code otherwise */ trace_return_t OTFAddComment (const char* comment); /** * \ingroup cotf * \fn OTFEndTrace () * \brief Finalize an OTF trace. * \return 0 if success \n * An error code otherwise */ trace_return_t OTFEndTrace (); #endif /* _GTG_OTF_BASIC_H_ */ gtg-trace-0.2+dfsg/inc/GTGOTF_Structs.h000066400000000000000000000155661175246114100176310ustar00rootroot00000000000000/** * \file GTGOTF_Structs.h * \version 0.1 * \brief * OTF_Structs gives the global types and functions needed to have the OTF implementation. * * \authors * Developers are : \n * Francois Rue - francois.rue@labri.fr \n * Francois Trahay - francois.trahay@labri.fr \n * Johnny Jazeix - jazeix@enseirb-matmeca.fr \n * Kevin Coulomb - kevin.coulomb@gmail.com \n * Mathieu Faverge - faverge@labri.fr \n * Olivier Lagrasse - lagrasse@enseirb-matmeca.fr \n * */ #ifndef _GTG_OTF_STRUCTS_H_ #define _GTG_OTF_STRUCTS_H_ #include #include "GTGList.h" #include "GTGStack.h" /* todo: remove this */ #define MAX_PROCESS 64 /*! StateTypes */ typedef struct StateType { /* Func group */ char *name; char *alias; int groupId; int id; struct gtg_list token; /* stored in the stateTypes list */ } StateType_t; /*! States */ typedef struct State { int value; int cont; int stateType; gtg_stack token; /* stored in the states list */ } State_t; /* ContainerTypes */ typedef struct ContainerType { char *name; char *alias; int id; struct gtg_list token; /* stored in the ctType list */ } ContainerType_t; /*! Containers */ typedef struct Container { char *name; char *alias; int ctType; int id; struct gtg_list token; /* stored in the conts list */ State_t state_stack; } Container_t; /*! EntityValue, contains the name of the functions/states */ typedef struct EntityValue { char *name; char *alias; int groupId; int id; struct gtg_list token; /* not used */ } EntityValue_t; /*! Events/Markers */ typedef struct EventType { char *name; char *alias; int contType; int id; struct gtg_list token; /* stored in the eventTypes list */ } EventType_t; /*! Links/Messages */ typedef struct LinkType { char *name; char *alias; int contType; int srcType; int destType; int id; struct gtg_list token; /* stored in the linkTypes lisk */ } LinkType_t; typedef struct Link { varPrec time; int src; } Link_t; /*! Variables/Counters */ typedef struct VariableType { char *name; char *alias; int contType; int id; struct gtg_list token; /* stored in the variableTypes list */ } VariableType_t; typedef struct Variable { int parent; int type; uint64_t value; int id; struct gtg_list token; /* stored in the variables list */ } Variable_t; struct otf_color { char *colorID; uint8_t red; uint8_t green; uint8_t blue; }; typedef struct otf_color* otf_color_t; #define ContainerType_NIL 0 #define Container_NIL 0 #define StateType_NIL 0 #define State_NIL 0 #define EntityValue_NIL 0 #define EventType_NIL 0 #define LinkType_NIL 0 #define VariableType_NIL 0 #define Variable_NIL 0 #define init_ContainerType(var)\ do { \ (var).name = NULL; \ (var).alias = NULL; \ (var).id = ContainerType_NIL; \ GTG_LIST_INIT(&(var).token); \ }while(0) #define init_Container(var) \ do { \ (var).name = NULL; \ (var).alias = NULL; \ (var).ctType = ContainerType_NIL; \ (var).id = Container_NIL; \ GTG_LIST_INIT(&(var).token); \ GTG_STACK_INIT(&(var).state_stack.token); \ }while(0) #define init_StateType(var) \ do { \ (var).name = NULL; \ (var).alias = NULL; \ (var).groupId = 0; \ (var).id = StateType_NIL; \ GTG_LIST_INIT(&(var).token); \ }while(0) #define init_EntityValue(var) \ do { \ (var).name = NULL; \ (var).alias = NULL; \ (var).groupId = 0; \ (var).id = EntityValue_NIL; \ GTG_LIST_INIT(&(var).token); \ }while(0) #define init_EventType(var) \ do { \ (var).name = NULL; \ (var).alias = NULL; \ (var).contType = ContainerType_NIL; \ (var).id = EventType_NIL; \ GTG_LIST_INIT(&(var).token); \ }while(0) #define init_LinkType(var) \ do { \ (var).name = NULL; \ (var).alias = NULL; \ (var).contType = ContainerType_NIL; \ (var).srcType = ContainerType_NIL; \ (var).destType = ContainerType_NIL; \ (var).id = LinkType_NIL; \ GTG_LIST_INIT(&(var).token); \ }while(0) #define init_VariableType(var) \ do { \ (var).name = NULL; \ (var).alias = NULL; \ (var).contType = ContainerType_NIL; \ (var).id = VariableType_NIL; \ GTG_LIST_INIT(&(var).token); \ }while(0) #define init_Variable(var) \ do { \ (var).parent = Container_NIL; \ (var).parent = VariableType_NIL; \ (var).value = 0; \ (var).id = Variable_NIL; \ GTG_LIST_INIT(&(var).token); \ }while(0) #define init_State(var) \ do { \ (var).value = EntityValue_NIL; \ (var).cont = Container_NIL; \ (var).stateType = StateType_NIL; \ GTG_STACK_INIT(&(var).token); \ }while(0) #define alloc_struct(ptr, type, list_head) \ do { \ ptr = (type*) malloc(sizeof(type)); \ GTG_LIST_INIT(&(ptr->token)); \ ptr->id = (gtg_list_entry((list_head)->prev, type, token)->id) + 1; \ gtg_list_add_tail(&(ptr->token), list_head); \ } while(0) #define alloc_init_struct(type, ptr, list_head, _name_, _alias_) \ do { \ alloc_struct(ptr, type, list_head); \ (ptr)->name = (char *)malloc(sizeof(char)*(strlen(_name_)+1)); \ strcpy((ptr)->name, _name_); \ (ptr)->alias = (char *)malloc(sizeof(char)*(strlen(_alias_)+1)); \ strcpy((ptr)->alias, _alias_); \ }while(0) #define alloc_Variable(_ptr_, _id_, _parent_, _type_, _value_) \ do { \ (_ptr_) = (Variable_t*) malloc(sizeof(Variable_t)); \ init_Variable(*(_ptr_)); \ (_ptr_)->id = _id_; \ (_ptr_)->parent = _parent_; \ (_ptr_)->type = _type_; \ (_ptr_)->value = _value_; \ }while(0) #define alloc_State(_ptr_, _value_, _cont_, _stateType_) \ do { \ _ptr_ = (State_t*) malloc(sizeof(State_t)); \ init_State(*(_ptr_)); \ (_ptr_)->value = _value_; \ (_ptr_)->cont = _cont_; \ (_ptr_)->stateType = _stateType_; \ }while(0) #define free_struct(_type_, _list_head_)\ do{\ _type_ *ptr, *tmp; \ gtg_list_for_each_entry_safe(ptr, tmp, &(_list_head_).token, token) { \ gtg_list_del(&(ptr->token));\ free(ptr->name);\ free(ptr->alias);\ free(ptr);\ }\ }while(0) #endif /* _GTG_OTF_STRUCTS_H_ */ gtg-trace-0.2+dfsg/inc/GTGPaje.h000066400000000000000000000010031175246114100163060ustar00rootroot00000000000000/** * \file GTGPaje.h * \version 0.1 * \brief * * pajeColor is a file that defines function that manipulate colors. * */ #ifndef _GTG_PAJE_H_ #define _GTG_PAJE_H_ typedef char* paje_color_t; /** * \ingroup cpaje * \fn const paje_color_t Paje_get_color(gtg_color_t color) * \brief Converts a GTG color into a PAJE color. * \param color GTG color to convert * \return The PAJE color */ const paje_color_t Paje_get_color(gtg_color_t p_color); #include "GTGPaje_Basic.h" #endif /* _GTG_PAJE_H_ */ gtg-trace-0.2+dfsg/inc/GTGPaje_Basic.h000066400000000000000000000361251175246114100174240ustar00rootroot00000000000000/** * \file GTGPaje_Basic.h * \version 0.1 * \brief * paje_GTGBasic1 is the Paje implementation of the basic interface to generate traces (GTGBasic1). * * \authors * Developers are : \n * Francois Rue - francois.rue@labri.fr \n * Francois Trahay - francois.trahay@labri.fr \n * Johnny Jazeix - jazeix@enseirb-matmeca.fr \n * Kevin Coulomb - kevin.coulomb@gmail.com \n * Mathieu Faverge - faverge@labri.fr \n * Olivier Lagrasse - lagrasse@enseirb-matmeca.fr \n * */ #ifndef _GTG_PAJE_BASIC_H_ #define _GTG_PAJE_BASIC_H_ #include "GTGBasic.h" /** * \brief Constant to create a paje trace */ #define FMT_PAJE 0 /** * \brief Constant to create a vite trace */ #define FMT_VITE 1 /** * \defgroup cpaje Paje interface in C of the GTGBasic1 API */ /** * \ingroup cpaje * \fn trace_return_t pajeInitTrace (const char* filename, int rank, gtg_flag_t flags, int fmt) * \brief Initialize a VITE trace ( *.ept) * \param filename Root name of the file to create * \param rank Rank of the processor * \param flags One of GTG_FLAG_NONE, GTG_FLAG_USE_MPI, GTG_FLAG_NOTBUF. * \param fmt Format, paje or vite * \return 0 if success * An error code otherwise */ trace_return_t pajeInitTrace (const char* filename, int rank, gtg_flag_t flags, int fmt); /** * \ingroup cpaje * \fn char* pajeGetName (int rk) * \param rk Rank of the proc you want the filename containing it * \brief Function to get the name of the file containing all the data for the proc of rank rk * \return Name of the file. */ char* pajeGetName (int rk); /** * \ingroup cpaje * \fn trace_return_t pajeSetCompress(int val) * \brief Enable trace compression. * \param val 0 means no compression, otherwize the output files will be compressed. * \return 0 if success \n * An error code otherwise */ trace_return_t pajeSetCompress(int val); /** * \ingroup cpaje * \fn trace_return_t pajeAddContType (const char* alias, * const char* contType, * const char* name) * \brief Add a Container Type. * \param alias Alias on the container * \param contType Type of container * \param name Name of the container type * \return 0 if success \n * An error code otherwise */ trace_return_t pajeAddContType (const char* alias, const char* contType, const char* name); /** * \ingroup cpaje * \fn trace_return_t pajeAddStateType (const char* alias, * const char* contType, * const char* name) * \brief Add a State Type. * \param alias Alias on the state type * \param contType Type of container * \param name Name of the state type * \return 0 if success \n * An error code otherwise */ trace_return_t pajeAddStateType (const char* alias, const char* contType, const char* name); /** * \ingroup cpaje * \fn trace_return_t pajeAddEventType (const char* alias, * const char* contType, * const char* name) * \brief Add an Event Type. * \param alias Alias on the event type * \param contType Type of container * \param name Name of the event type * \return 0 if success \n * An error code otherwise */ trace_return_t pajeAddEventType (const char* alias, const char* contType, const char* name); /** * \ingroup cpaje * \fn trace_return_t pajeAddLinkType (const char* alias, * const char* name, * const char* contType, * const char* srcContType, * const char* destContType); * \brief Add a Link Type. * \param alias Alias on the link type * \param name Name of the link type * \param contType Type of container * \param srcContType Type of the source container * \param destContType Type of the destination container * \return 0 if success \n * An error code otherwise */ trace_return_t pajeAddLinkType (const char* alias , const char* name, const char* contType, const char* srcContType, const char* destContType); /** * \ingroup cpaje * \fn trace_return_t pajeAddVarType (const char* alias, * const char* contType, * const char* name) * \brief Add a Variable Type. * \param alias Alias on the variable type * \param contType Type of container * \param name Name of the variable type * \return 0 if success \n * An error code otherwise */ trace_return_t pajeAddVarType (const char* alias , const char* name, const char* contType); /** * \ingroup cpaje * \fn trace_return_t pajeAddEntityValue (const char* alias, * const char* entType, * const char* name, * const char* color) * \brief Add an Entity Value. * \param alias Alias on the entity value * \param entType Type of the entity * \param name Name of the variable type * \param color Color of the entity * \return 0 if success \n * An error code otherwise */ trace_return_t pajeAddEntityValue (const char* alias, const char* entType, const char* name , const char* color); /** * \ingroup cpaje * \fn trace_return_t pajeAddContainer (varPrec time, * const char * alias, * const char * type, * const char * container, * const char * name, * const char * file) * \brief Add a Container (VITE format). * \param time Time at which the container is added * \param alias Alias on the new container * \param type Type of the container * \param container Container parent * \param name Name of the variable type * \param file File containing the container trace * \return 0 if success \n * An error code otherwise */ trace_return_t pajeAddContainer (varPrec time, const char* alias , const char* type, const char* container, const char* name, const char* file); /** * \ingroup cpaje * \fn trace_return_t pajeSeqAddContainer (varPrec time, * const char * alias, * const char * type, * const char * container, * const char * name) * \brief Add a Container (PAJE format). * \param time Time at which the container is added * \param alias Alias on the new container * \param type Type of the container * \param container Container parent * \param name Name of the variable type * \return 0 if success \n * An error code otherwise */ trace_return_t pajeSeqAddContainer (varPrec time, const char* alias , const char* type, const char* container, const char* name); /** * \ingroup cpaje * \fn trace_return_t pajeDestroyContainer (varPrec time, * const char * name, * const char * type) * \brief Destroy a Container. * \param time Time at which the container is destroyed * \param name Name on the container to destroy * \param type Type of the container * \return 0 if success \n * An error code otherwise */ trace_return_t pajeDestroyContainer (varPrec time, const char* name, const char* type); /** * \ingroup cpaje * \fn trace_return_t pajeSetState (varPrec time, * const char * type, * const char * cont, * const char * val) * \brief Set the State of a Container. * \param time Time at which the state is set * \param type Type of the state * \param cont Container in this state * \param val Entity value of the state of the container * \return 0 if success \n * An error code otherwise */ trace_return_t pajeSetState (varPrec time, const char* type, const char* cont, const char* val); /** * \ingroup cpaje * \fn trace_return_t pajePushState (varPrec time, * const char * type, * const char * cont, * const char * val) * \brief Save the current State on a stack and change the State of a Container. * \param time Time at which the state is pushed * \param type Type of the state * \param cont Container in this state * \param val Entity value of the state of the container * \return 0 if success \n * An error code otherwise */ trace_return_t pajePushState (varPrec time, const char* type, const char* cont, const char* val); /** * \ingroup cpaje * \fn trace_return_t pajePopState (varPrec time, * const char * type, * const char * cont) * \brief Revert the State of a Container to its previous value. * \param time Time at which the state is poped * \param type Type of the state * \param cont Container in this state * \return 0 if success \n * An error code otherwise */ trace_return_t pajePopState (varPrec time, const char* type, const char* cont); /** * \ingroup cpaje * \fn trace_return_t pajeAddEvent (varPrec time, * const char * type, * const char * cont, * const char * val) * \brief Add an Event. * \param time Time at which the event happens * \param type Type of the event * \param cont Container in this event * \param val Entity value of the event of the container * \return 0 if success \n * An error code otherwise */ trace_return_t pajeAddEvent (varPrec time, const char* type, const char* cont, const char* val); /** * \ingroup cpaje * \fn trace_return_t pajeStartLink (varPrec time, * const char * type, * const char * cont, * const char * src, * const char * val, * const char * key) * \brief Start a link * \param time Time at which the link starts * \param type Type of the link * \param cont Container parent of the source and destination containers containing the link * \param src Source container * \param val Value of the link * \param key Key used to match start link with end link * \return 0 if success \n * An error code otherwise */ trace_return_t pajeStartLink (varPrec time, const char* type, const char* cont, const char* src, const char* val , const char* key); /** * \ingroup cpaje * \fn trace_return_t pajeEndLink (varPrec time, * const char * type, * const char * cont, * const char * dest, * const char * val, * const char * key) * \brief Start a link * \param time Time at which the link starts * \param type Type of the link * \param cont Container parent of the source and destination containers containing the link * \param dest Source container * \param val Value of the link * \param key Key used to match start link with end link * \return 0 if success \n * An error code otherwise */ trace_return_t pajeEndLink (varPrec time, const char* type, const char* cont, const char* dest, const char* val , const char* key); /** * \ingroup cpaje * \fn trace_return_t pajeSetVar (varPrec time, * const char * type, * const char * cont, * varPrec val) * \brief Set a Variable value * \param time Time at which the variable is set * \param type Type of the variable * \param cont Container containing the variable * \param val Value of the variable * \return 0 if success \n * An error code otherwise */ trace_return_t pajeSetVar (varPrec time, const char* type, const char* cont, varPrec val); /** * \ingroup cpaje * \fn trace_return_t pajeAddVar (varPrec time, * const char * type, * const char * cont, * varPrec val) * \brief Add a value to a Variable. * \param time Time at which the variable is incremented * \param type Type of the variable * \param cont Container containing the variable * \param val Value added * \return 0 if success \n * An error code otherwise */ trace_return_t pajeAddVar (varPrec time, const char* type, const char* cont, varPrec val); /** * \ingroup cpaje * \fn trace_return_t pajeSubVar (varPrec time, * const char * type, * const char * cont, * varPrec val) * \brief Substract a value from a Variable. * \param time Time at which the variable is incremented * \param type Type of the variable * \param cont Container containing the variable * \param val Value substracted * \return 0 if success \n * An error code otherwise */ trace_return_t pajeSubVar (varPrec time, const char* type, const char* cont, varPrec val); /** * \ingroup cpaje * \fn trace_return_t pajeAddComment (const char* comment) * * \brief Add some Comment in Trace file. * \param comment Comment to be added * \return TRACE_SUCCESS on success \n * An error code otherwise */ trace_return_t pajeAddComment (const char* comment); /** * \ingroup cpaje * \fn pajeEndTrace () * \brief Finalize a PAJE trace. * \return 0 if success \n * An error code otherwise */ trace_return_t pajeEndTrace (); /** * \ingroup cpaje * \fn viteEndTrace () * \brief Finalize a VITE trace. * \return 0 if success \n * An error code otherwise */ trace_return_t viteEndTrace (); /* * Functions to handle extra-parameters in the Paje Definitions * This will need to be cleaned to be closer to OTF interface */ enum gtg_paje_evtdef_e { GTG_PAJE_EVTDEF_DefineContainerType, GTG_PAJE_EVTDEF_DefineStateType, GTG_PAJE_EVTDEF_DefineEventType, GTG_PAJE_EVTDEF_DefineEntityValue, GTG_PAJE_EVTDEF_CreateContainer, GTG_PAJE_EVTDEF_DestroyContainer, GTG_PAJE_EVTDEF_SetState, GTG_PAJE_EVTDEF_PushState, GTG_PAJE_EVTDEF_PopState, GTG_PAJE_EVTDEF_NewEvent, GTG_PAJE_EVTDEF_DefineLinkType, GTG_PAJE_EVTDEF_StartLink, GTG_PAJE_EVTDEF_EndLink, GTG_PAJE_EVTDEF_DefineVariableType, GTG_PAJE_EVTDEF_SetVariable, GTG_PAJE_EVTDEF_AddVariable, GTG_PAJE_EVTDEF_SubVariable, GTG_PAJE_EVTDEF_NBR }; enum gtg_paje_fieldtype_e { GTG_PAJE_FIELDTYPE_Int, GTG_PAJE_FIELDTYPE_Hex, GTG_PAJE_FIELDTYPE_Date, GTG_PAJE_FIELDTYPE_Double, GTG_PAJE_FIELDTYPE_String, GTG_PAJE_FIELDTYPE_Color, GTG_PAJE_FIELDTYPE_NBR }; void pajeEventDefAddParam( enum gtg_paje_evtdef_e event, const char *name, enum gtg_paje_fieldtype_e type ); #endif /* _GTG_PAJE_BASIC_H_ */ gtg-trace-0.2+dfsg/inc/GTGReplay.h000066400000000000000000000021111175246114100166640ustar00rootroot00000000000000/** * \file GTGReplay.h * \version 0.1 * \brief * * This file defines functions for postponing event-processing function calls */ #ifndef GTG_REPLAY_H #define GTG_REPLAY_H /** * \defgroup GTGReplay Functions for postponing event-processing function calls */ enum event_type_t { event_addContainer, event_destroyContainer, event_setState, event_pushState, event_popState, event_addEvent, event_startLink, event_endLink, event_setVar, event_addVar, event_subVar }; /** * \ingroup GTGReplay * \fn void gtg_record(enum event_type_t type, varPrec time, ...) * \brief postpone the recording of an event * \param type The type of function to postpone * \param time The time at which the event happens */ void gtg_record(enum event_type_t type, varPrec time, ...); /** * \ingroup GTGReplay * \fn void gtg_write_events(long nb_events_to_write) * \brief run the first nb_events_to_write events * \param nb_events_to_write The number of functions to process (-1 for all functions) */ void gtg_write_events(long nb_events_to_write); #endif /* GTG_REPLAY_H */ gtg-trace-0.2+dfsg/inc/GTGStack.h000066400000000000000000000013051175246114100165010ustar00rootroot00000000000000#ifndef GTG_STACK_H #define GTG_STACK_H #include "GTGList.h" typedef struct gtg_list gtg_stack; typedef gtg_stack* gtg_stack_t; #define GTG_STACK_INIT(ptr) GTG_LIST_INIT(ptr) #define GTG_STACK(ptr) GTG_LIST(ptr) #define gtg_stack_entry(ptr, type, member) gtg_list_entry(ptr, type, member) static inline void gtg_stack_push(gtg_stack_t lnew, gtg_stack_t p_stack) { gtg_list_add_tail(lnew, p_stack); } static inline void gtg_stack_pop(gtg_stack_t p_stack) { gtg_list_del(p_stack->prev); } static inline gtg_stack_t gtg_stack_top(gtg_stack_t p_stack) { return p_stack->prev; } static inline int gtg_stack_empty(gtg_stack_t p_stack) { return p_stack->prev == p_stack; } #endif /* GTG_STACK_H */ gtg-trace-0.2+dfsg/inc/GTGTypes.h000066400000000000000000000023261175246114100165440ustar00rootroot00000000000000/** * \file GTGtypes.h * \version 0.1 * \brief * * types define some types that are used in the library. * * \authors * Developpers are : \n * Francois Rue - francois.rue@labri.fr \n * Francois Trahay - francois.trahay@labri.fr \n * Johnny Jazeix - jazeix@enseirb-matmeca.fr \n * Kevin Coulomb - kevin.coulomb@gmail.com \n * Mathieu Faverge - faverge@labri.fr \n * Olivier Lagrasse - lagrasse@enseirb-matmeca.fr \n * */ #ifndef _GTG_TYPES_H_ #define _GTG_TYPES_H_ /** * \defgroup type Types used */ /** * \ingroup type Type used for time and value in C * \brief Use the double precision type for time and value. */ typedef double varPrec; /** * \ingroup type Return values of functions * \enum trace_return_t * \brief Define various return values */ typedef enum trace_return_t{ TRACE_SUCCESS , /*!< Success of the call. */ TRACE_ERR_OPEN , /*!< Failed to open files to write. */ TRACE_ERR_CLOSE, /*!< Failed to close file. */ TRACE_ERR_WRITE, /*!< Failed to write trace. */ TRACE_ERR_NOT_IMPL /*!< Function not impleneted. */ } trace_return_t; #endif /* _GTG_TYPES_H_ */ gtg-trace-0.2+dfsg/inc/Makefile.am000066400000000000000000000005351175246114100167610ustar00rootroot00000000000000# Copyright © CNRS, INRIA, Université Bordeaux 1 # See COPYING in top-level directory. include_HEADERS = GTG.h \ GTGBasic.h \ GTGColor.h \ GTGReplay.h \ GTGMemory.h \ GTGOTF.h \ GTGOTF_Basic.h \ GTGOTF_Structs.h \ GTGPaje.h \ GTGPaje_Basic.h \ GTGTypes.h \ GTGList.h \ GTGStack.h \ GTGCompress.h gtg-trace-0.2+dfsg/inc/Makefile.in000066400000000000000000000333651175246114100170010ustar00rootroot00000000000000# Makefile.in generated by automake 1.11.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # Copyright © CNRS, INRIA, Université Bordeaux 1 # See COPYING in top-level directory. VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = inc DIST_COMMON = $(include_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(includedir)" HEADERS = $(include_HEADERS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ FGREP = @FGREP@ GREP = @GREP@ HAVE_DOXYGEN = @HAVE_DOXYGEN@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MPIDIR = @MPIDIR@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTFDIR = @OTFDIR@ OTF_INC = @OTF_INC@ OTF_LIB = @OTF_LIB@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PDFLATEX = @PDFLATEX@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_MPIDIR_FROM_USER = @USE_MPIDIR_FROM_USER@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ include_HEADERS = GTG.h \ GTGBasic.h \ GTGColor.h \ GTGReplay.h \ GTGMemory.h \ GTGOTF.h \ GTGOTF_Basic.h \ GTGOTF_Structs.h \ GTGPaje.h \ GTGPaje_Basic.h \ GTGTypes.h \ GTGList.h \ GTGStack.h \ GTGCompress.h all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inc/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu inc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-includeHEADERS: $(include_HEADERS) @$(NORMAL_INSTALL) test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)" @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \ $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \ done uninstall-includeHEADERS: @$(NORMAL_UNINSTALL) @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(HEADERS) installdirs: for dir in "$(DESTDIR)$(includedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-includeHEADERS install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-includeHEADERS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool ctags distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am \ install-includeHEADERS install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags uninstall uninstall-am uninstall-includeHEADERS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gtg-trace-0.2+dfsg/install-sh000077500000000000000000000332561175246114100161660ustar00rootroot00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2011-01-19.21; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit=${DOITPROG-} if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_glob='?' initialize_posix_glob=' test "$posix_glob" != "?" || { if (set -f) 2>/dev/null; then posix_glob= else posix_glob=: fi } ' posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false no_target_directory= usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) dst_arg=$2 # Protect names problematic for `test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac shift;; -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg # Protect names problematic for `test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call `install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then do_exit='(exit $ret); exit $ret' trap "ret=129; $do_exit" 1 trap "ret=130; $do_exit" 2 trap "ret=141; $do_exit" 13 trap "ret=143; $do_exit" 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names problematic for `test' and other utilities. case $src in -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writeable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; [-=\(\)!]*) prefix='./';; *) prefix='';; esac eval "$initialize_posix_glob" oIFS=$IFS IFS=/ $posix_glob set -f set fnord $dstdir shift $posix_glob set +f IFS=$oIFS prefixes= for d do test X"$d" = X && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && eval "$initialize_posix_glob" && $posix_glob set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && $posix_glob set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: gtg-trace-0.2+dfsg/ltmain.sh000066400000000000000000010520221175246114100157730ustar00rootroot00000000000000 # libtool (GNU libtool) 2.4.2 # Written by Gordon Matzigkeit , 1996 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # GNU Libtool is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, # or obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # Usage: $progname [OPTION]... [MODE-ARG]... # # Provide generalized library-building support services. # # --config show all configuration variables # --debug enable verbose shell tracing # -n, --dry-run display commands without modifying any files # --features display basic configuration information and exit # --mode=MODE use operation mode MODE # --preserve-dup-deps don't remove duplicate dependency libraries # --quiet, --silent don't print informational messages # --no-quiet, --no-silent # print informational messages (default) # --no-warn don't display warning messages # --tag=TAG use configuration variables from tag TAG # -v, --verbose print more informational messages than default # --no-verbose don't print the extra informational messages # --version print version information # -h, --help, --help-all print short, long, or detailed help message # # MODE must be one of the following: # # clean remove files from the build directory # compile compile a source file into a libtool object # execute automatically set library path, then run a program # finish complete the installation of libtool libraries # install install libraries or executables # link create a library or an executable # uninstall remove libraries from an installed directory # # MODE-ARGS vary depending on the MODE. When passed as first option, # `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that. # Try `$progname --help --mode=MODE' for a more detailed description of MODE. # # When reporting a bug, please describe a test case to reproduce it and # include the following information: # # host-triplet: $host # shell: $SHELL # compiler: $LTCC # compiler flags: $LTCFLAGS # linker: $LD (gnu? $with_gnu_ld) # $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1 # automake: $automake_version # autoconf: $autoconf_version # # Report bugs to . # GNU libtool home page: . # General help using GNU software: . PROGRAM=libtool PACKAGE=libtool VERSION="2.4.2 Debian-2.4.2-1" TIMESTAMP="" package_revision=1.3337 # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } # NLS nuisances: We save the old values to restore during execute mode. lt_user_locale= lt_safe_locale= for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${$lt_var+set}\" = set; then save_$lt_var=\$$lt_var $lt_var=C export $lt_var lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" fi" done LC_ALL=C LANGUAGE=C export LANGUAGE LC_ALL $lt_unset CDPATH # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath="$0" : ${CP="cp -f"} test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'} : ${MAKE="make"} : ${MKDIR="mkdir"} : ${MV="mv -f"} : ${RM="rm -f"} : ${SHELL="${CONFIG_SHELL-/bin/sh}"} : ${Xsed="$SED -e 1s/^X//"} # Global variables: EXIT_SUCCESS=0 EXIT_FAILURE=1 EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. exit_status=$EXIT_SUCCESS # Make sure IFS has a sensible default lt_nl=' ' IFS=" $lt_nl" dirname="s,/[^/]*$,," basename="s,^.*/,," # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { func_dirname_result=`$ECHO "${1}" | $SED "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi } # func_dirname may be replaced by extended shell implementation # func_basename file func_basename () { func_basename_result=`$ECHO "${1}" | $SED "$basename"` } # func_basename may be replaced by extended shell implementation # func_dirname_and_basename file append nondir_replacement # perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # Implementation must be kept synchronized with func_dirname # and func_basename. For efficiency, we do not delegate to # those functions but instead duplicate the functionality here. func_dirname_and_basename () { # Extract subdirectory from the argument. func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi func_basename_result=`$ECHO "${1}" | $SED -e "$basename"` } # func_dirname_and_basename may be replaced by extended shell implementation # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # func_strip_suffix prefix name func_stripname () { case ${2} in .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; esac } # func_stripname may be replaced by extended shell implementation # These SED scripts presuppose an absolute path with a trailing slash. pathcar='s,^/\([^/]*\).*$,\1,' pathcdr='s,^/[^/]*,,' removedotparts=':dotsl s@/\./@/@g t dotsl s,/\.$,/,' collapseslashes='s@/\{1,\}@/@g' finalslash='s,/*$,/,' # func_normal_abspath PATH # Remove doubled-up and trailing slashes, "." path components, # and cancel out any ".." path components in PATH after making # it an absolute path. # value returned in "$func_normal_abspath_result" func_normal_abspath () { # Start from root dir and reassemble the path. func_normal_abspath_result= func_normal_abspath_tpath=$1 func_normal_abspath_altnamespace= case $func_normal_abspath_tpath in "") # Empty path, that just means $cwd. func_stripname '' '/' "`pwd`" func_normal_abspath_result=$func_stripname_result return ;; # The next three entries are used to spot a run of precisely # two leading slashes without using negated character classes; # we take advantage of case's first-match behaviour. ///*) # Unusual form of absolute path, do nothing. ;; //*) # Not necessarily an ordinary path; POSIX reserves leading '//' # and for example Cygwin uses it to access remote file shares # over CIFS/SMB, so we conserve a leading double slash if found. func_normal_abspath_altnamespace=/ ;; /*) # Absolute path, do nothing. ;; *) # Relative path, prepend $cwd. func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath ;; esac # Cancel out all the simple stuff to save iterations. We also want # the path to end with a slash for ease of parsing, so make sure # there is one (and only one) here. func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"` while :; do # Processed it all yet? if test "$func_normal_abspath_tpath" = / ; then # If we ascended to the root using ".." the result may be empty now. if test -z "$func_normal_abspath_result" ; then func_normal_abspath_result=/ fi break fi func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$pathcar"` func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$pathcdr"` # Figure out what to do with it case $func_normal_abspath_tcomponent in "") # Trailing empty path component, ignore it. ;; ..) # Parent dir; strip last assembled component from result. func_dirname "$func_normal_abspath_result" func_normal_abspath_result=$func_dirname_result ;; *) # Actual path component, append it. func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent ;; esac done # Restore leading double-slash if one was found on entry. func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result } # func_relative_path SRCDIR DSTDIR # generates a relative path from SRCDIR to DSTDIR, with a trailing # slash if non-empty, suitable for immediately appending a filename # without needing to append a separator. # value returned in "$func_relative_path_result" func_relative_path () { func_relative_path_result= func_normal_abspath "$1" func_relative_path_tlibdir=$func_normal_abspath_result func_normal_abspath "$2" func_relative_path_tbindir=$func_normal_abspath_result # Ascend the tree starting from libdir while :; do # check if we have found a prefix of bindir case $func_relative_path_tbindir in $func_relative_path_tlibdir) # found an exact match func_relative_path_tcancelled= break ;; $func_relative_path_tlibdir*) # found a matching prefix func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" func_relative_path_tcancelled=$func_stripname_result if test -z "$func_relative_path_result"; then func_relative_path_result=. fi break ;; *) func_dirname $func_relative_path_tlibdir func_relative_path_tlibdir=${func_dirname_result} if test "x$func_relative_path_tlibdir" = x ; then # Have to descend all the way to the root! func_relative_path_result=../$func_relative_path_result func_relative_path_tcancelled=$func_relative_path_tbindir break fi func_relative_path_result=../$func_relative_path_result ;; esac done # Now calculate path; take care to avoid doubling-up slashes. func_stripname '' '/' "$func_relative_path_result" func_relative_path_result=$func_stripname_result func_stripname '/' '/' "$func_relative_path_tcancelled" if test "x$func_stripname_result" != x ; then func_relative_path_result=${func_relative_path_result}/${func_stripname_result} fi # Normalisation. If bindir is libdir, return empty string, # else relative path ending with a slash; either way, target # file name can be directly appended. if test ! -z "$func_relative_path_result"; then func_stripname './' '' "$func_relative_path_result/" func_relative_path_result=$func_stripname_result fi } # The name of this program: func_dirname_and_basename "$progpath" progname=$func_basename_result # Make sure we have an absolute path for reexecution: case $progpath in [\\/]*|[A-Za-z]:\\*) ;; *[\\/]*) progdir=$func_dirname_result progdir=`cd "$progdir" && pwd` progpath="$progdir/$progname" ;; *) save_IFS="$IFS" IFS=${PATH_SEPARATOR-:} for progdir in $PATH; do IFS="$save_IFS" test -x "$progdir/$progname" && break done IFS="$save_IFS" test -n "$progdir" || progdir=`pwd` progpath="$progdir/$progname" ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed="${SED}"' -e 1s/^X//' sed_quote_subst='s/\([`"$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution that turns a string into a regex matching for the # string literally. sed_make_literal_regex='s,[].[^$\\*\/],\\&,g' # Sed substitution that converts a w32 file name or path # which contains forward slashes, into one that contains # (escaped) backslashes. A very naive implementation. lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' # Re-`\' parameter expansions in output of double_quote_subst that were # `\'-ed in input to the same. If an odd number of `\' preceded a '$' # in input to double_quote_subst, that '$' was protected from expansion. # Since each input `\' is now two `\'s, look for any number of runs of # four `\'s followed by two `\'s and then a '$'. `\' that '$'. bs='\\' bs2='\\\\' bs4='\\\\\\\\' dollar='\$' sed_double_backslash="\ s/$bs4/&\\ /g s/^$bs2$dollar/$bs&/ s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g s/\n//g" # Standard options: opt_dry_run=false opt_help=false opt_quiet=false opt_verbose=false opt_warning=: # func_echo arg... # Echo program name prefixed message, along with the current mode # name if it has been set yet. func_echo () { $ECHO "$progname: ${opt_mode+$opt_mode: }$*" } # func_verbose arg... # Echo program name prefixed message in verbose mode only. func_verbose () { $opt_verbose && func_echo ${1+"$@"} # A bug in bash halts the script if the last line of a function # fails when set -e is in force, so we need another command to # work around that: : } # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "$*" } # func_error arg... # Echo program name prefixed message to standard error. func_error () { $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 } # func_warning arg... # Echo program name prefixed warning message to standard error. func_warning () { $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 # bash bug again: : } # func_fatal_error arg... # Echo program name prefixed message to standard error, and exit. func_fatal_error () { func_error ${1+"$@"} exit $EXIT_FAILURE } # func_fatal_help arg... # Echo program name prefixed message to standard error, followed by # a help hint, and exit. func_fatal_help () { func_error ${1+"$@"} func_fatal_error "$help" } help="Try \`$progname --help' for more information." ## default # func_grep expression filename # Check whether EXPRESSION matches any line of FILENAME, without output. func_grep () { $GREP "$1" "$2" >/dev/null 2>&1 } # func_mkdir_p directory-path # Make sure the entire path to DIRECTORY-PATH is available. func_mkdir_p () { my_directory_path="$1" my_dir_list= if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then # Protect directory names starting with `-' case $my_directory_path in -*) my_directory_path="./$my_directory_path" ;; esac # While some portion of DIR does not yet exist... while test ! -d "$my_directory_path"; do # ...make a list in topmost first order. Use a colon delimited # list incase some portion of path contains whitespace. my_dir_list="$my_directory_path:$my_dir_list" # If the last portion added has no slash in it, the list is done case $my_directory_path in */*) ;; *) break ;; esac # ...otherwise throw away the child directory and loop my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"` done my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'` save_mkdir_p_IFS="$IFS"; IFS=':' for my_dir in $my_dir_list; do IFS="$save_mkdir_p_IFS" # mkdir can fail with a `File exist' error if two processes # try to create one of the directories concurrently. Don't # stop in that case! $MKDIR "$my_dir" 2>/dev/null || : done IFS="$save_mkdir_p_IFS" # Bail out if we (or some other process) failed to create a directory. test -d "$my_directory_path" || \ func_fatal_error "Failed to create \`$1'" fi } # func_mktempdir [string] # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, STRING is the basename for that directory. func_mktempdir () { my_template="${TMPDIR-/tmp}/${1-$progname}" if test "$opt_dry_run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else # If mktemp works, use that first and foremost my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` if test ! -d "$my_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race my_tmpdir="${my_template}-${RANDOM-0}$$" save_mktempdir_umask=`umask` umask 0077 $MKDIR "$my_tmpdir" umask $save_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$my_tmpdir" || \ func_fatal_error "cannot create temporary directory \`$my_tmpdir'" fi $ECHO "$my_tmpdir" } # func_quote_for_eval arg # Aesthetically quote ARG to be evaled later. # This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT # is double-quoted, suitable for a subsequent eval, whereas # FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters # which are still active within double quotes backslashified. func_quote_for_eval () { case $1 in *[\\\`\"\$]*) func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;; *) func_quote_for_eval_unquoted_result="$1" ;; esac case $func_quote_for_eval_unquoted_result in # Double-quote args containing shell metacharacters to delay # word splitting, command substitution and and variable # expansion for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" ;; *) func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" esac } # func_quote_for_expand arg # Aesthetically quote ARG to be evaled later; same as above, # but do not quote variable references. func_quote_for_expand () { case $1 in *[\\\`\"]*) my_arg=`$ECHO "$1" | $SED \ -e "$double_quote_subst" -e "$sed_double_backslash"` ;; *) my_arg="$1" ;; esac case $my_arg in # Double-quote args containing shell metacharacters to delay # word splitting and command substitution for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") my_arg="\"$my_arg\"" ;; esac func_quote_for_expand_result="$my_arg" } # func_show_eval cmd [fail_exp] # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. func_show_eval () { my_cmd="$1" my_fail_exp="${2-:}" ${opt_silent-false} || { func_quote_for_expand "$my_cmd" eval "func_echo $func_quote_for_expand_result" } if ${opt_dry_run-false}; then :; else eval "$my_cmd" my_status=$? if test "$my_status" -eq 0; then :; else eval "(exit $my_status); $my_fail_exp" fi fi } # func_show_eval_locale cmd [fail_exp] # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. Use the saved locale for evaluation. func_show_eval_locale () { my_cmd="$1" my_fail_exp="${2-:}" ${opt_silent-false} || { func_quote_for_expand "$my_cmd" eval "func_echo $func_quote_for_expand_result" } if ${opt_dry_run-false}; then :; else eval "$lt_user_locale $my_cmd" my_status=$? eval "$lt_safe_locale" if test "$my_status" -eq 0; then :; else eval "(exit $my_status); $my_fail_exp" fi fi } # func_tr_sh # Turn $1 into a string suitable for a shell variable name. # Result is stored in $func_tr_sh_result. All characters # not in the set a-zA-Z0-9_ are replaced with '_'. Further, # if $1 begins with a digit, a '_' is prepended as well. func_tr_sh () { case $1 in [0-9]* | *[!a-zA-Z0-9_]*) func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'` ;; * ) func_tr_sh_result=$1 ;; esac } # func_version # Echo version message to standard output and exit. func_version () { $opt_debug $SED -n '/(C)/!b go :more /\./!{ N s/\n# / / b more } :go /^# '$PROGRAM' (GNU /,/# warranty; / { s/^# // s/^# *$// s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ p }' < "$progpath" exit $? } # func_usage # Echo short help message to standard output and exit. func_usage () { $opt_debug $SED -n '/^# Usage:/,/^# *.*--help/ { s/^# // s/^# *$// s/\$progname/'$progname'/ p }' < "$progpath" echo $ECHO "run \`$progname --help | more' for full usage" exit $? } # func_help [NOEXIT] # Echo long help message to standard output and exit, # unless 'noexit' is passed as argument. func_help () { $opt_debug $SED -n '/^# Usage:/,/# Report bugs to/ { :print s/^# // s/^# *$// s*\$progname*'$progname'* s*\$host*'"$host"'* s*\$SHELL*'"$SHELL"'* s*\$LTCC*'"$LTCC"'* s*\$LTCFLAGS*'"$LTCFLAGS"'* s*\$LD*'"$LD"'* s/\$with_gnu_ld/'"$with_gnu_ld"'/ s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/ s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/ p d } /^# .* home page:/b print /^# General help using/b print ' < "$progpath" ret=$? if test -z "$1"; then exit $ret fi } # func_missing_arg argname # Echo program name prefixed message to standard error and set global # exit_cmd. func_missing_arg () { $opt_debug func_error "missing argument for $1." exit_cmd=exit } # func_split_short_opt shortopt # Set func_split_short_opt_name and func_split_short_opt_arg shell # variables after splitting SHORTOPT after the 2nd character. func_split_short_opt () { my_sed_short_opt='1s/^\(..\).*$/\1/;q' my_sed_short_rest='1s/^..\(.*\)$/\1/;q' func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"` func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"` } # func_split_short_opt may be replaced by extended shell implementation # func_split_long_opt longopt # Set func_split_long_opt_name and func_split_long_opt_arg shell # variables after splitting LONGOPT at the `=' sign. func_split_long_opt () { my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q' my_sed_long_arg='1s/^--[^=]*=//' func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"` func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"` } # func_split_long_opt may be replaced by extended shell implementation exit_cmd=: magic="%%%MAGIC variable%%%" magic_exe="%%%MAGIC EXE variable%%%" # Global variables. nonopt= preserve_args= lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" extracted_archives= extracted_serial=0 # If this variable is set in any of the actions, the command in it # will be execed at the end. This prevents here-documents from being # left over by shells. exec_cmd= # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "${1}=\$${1}\${2}" } # func_append may be replaced by extended shell implementation # func_append_quoted var value # Quote VALUE and append to the end of shell variable VAR, separated # by a space. func_append_quoted () { func_quote_for_eval "${2}" eval "${1}=\$${1}\\ \$func_quote_for_eval_result" } # func_append_quoted may be replaced by extended shell implementation # func_arith arithmetic-term... func_arith () { func_arith_result=`expr "${@}"` } # func_arith may be replaced by extended shell implementation # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len` } # func_len may be replaced by extended shell implementation # func_lo2o object func_lo2o () { func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"` } # func_lo2o may be replaced by extended shell implementation # func_xform libobj-or-source func_xform () { func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'` } # func_xform may be replaced by extended shell implementation # func_fatal_configuration arg... # Echo program name prefixed message to standard error, followed by # a configuration failure hint, and exit. func_fatal_configuration () { func_error ${1+"$@"} func_error "See the $PACKAGE documentation for more information." func_fatal_error "Fatal configuration error." } # func_config # Display the configuration for all the tags in this script. func_config () { re_begincf='^# ### BEGIN LIBTOOL' re_endcf='^# ### END LIBTOOL' # Default configuration. $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" # Now print the configurations for the tags. for tagname in $taglist; do $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" done exit $? } # func_features # Display the features supported by this script. func_features () { echo "host: $host" if test "$build_libtool_libs" = yes; then echo "enable shared libraries" else echo "disable shared libraries" fi if test "$build_old_libs" = yes; then echo "enable static libraries" else echo "disable static libraries" fi exit $? } # func_enable_tag tagname # Verify that TAGNAME is valid, and either flag an error and exit, or # enable the TAGNAME tag. We also add TAGNAME to the global $taglist # variable here. func_enable_tag () { # Global variable: tagname="$1" re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" sed_extractcf="/$re_begincf/,/$re_endcf/p" # Validate tagname. case $tagname in *[!-_A-Za-z0-9,/]*) func_fatal_error "invalid tag name: $tagname" ;; esac # Don't test for the "default" C tag, as we know it's # there but not specially marked. case $tagname in CC) ;; *) if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then taglist="$taglist $tagname" # Evaluate the configuration. Be careful to quote the path # and the sed script, to avoid splitting on whitespace, but # also don't use non-portable quotes within backquotes within # quotes we have to do it in 2 steps: extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` eval "$extractedcf" else func_error "ignoring unknown tag $tagname" fi ;; esac } # func_check_version_match # Ensure that we are using m4 macros, and libtool script from the same # release of libtool. func_check_version_match () { if test "$package_revision" != "$macro_revision"; then if test "$VERSION" != "$macro_version"; then if test -z "$macro_version"; then cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from an older release. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from $PACKAGE $macro_version. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF fi else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, $progname: but the definition of this LT_INIT comes from revision $macro_revision. $progname: You should recreate aclocal.m4 with macros from revision $package_revision $progname: of $PACKAGE $VERSION and run autoconf again. _LT_EOF fi exit $EXIT_MISMATCH fi } # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) shift; set dummy --mode clean ${1+"$@"}; shift ;; compile|compil|compi|comp|com|co|c) shift; set dummy --mode compile ${1+"$@"}; shift ;; execute|execut|execu|exec|exe|ex|e) shift; set dummy --mode execute ${1+"$@"}; shift ;; finish|finis|fini|fin|fi|f) shift; set dummy --mode finish ${1+"$@"}; shift ;; install|instal|insta|inst|ins|in|i) shift; set dummy --mode install ${1+"$@"}; shift ;; link|lin|li|l) shift; set dummy --mode link ${1+"$@"}; shift ;; uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) shift; set dummy --mode uninstall ${1+"$@"}; shift ;; esac # Option defaults: opt_debug=: opt_dry_run=false opt_config=false opt_preserve_dup_deps=false opt_features=false opt_finish=false opt_help=false opt_help_all=false opt_silent=: opt_warning=: opt_verbose=: opt_silent=false opt_verbose=false # Parse options once, thoroughly. This comes as soon as possible in the # script to make things like `--version' happen as quickly as we can. { # this just eases exit handling while test $# -gt 0; do opt="$1" shift case $opt in --debug|-x) opt_debug='set -x' func_echo "enabling shell trace mode" $opt_debug ;; --dry-run|--dryrun|-n) opt_dry_run=: ;; --config) opt_config=: func_config ;; --dlopen|-dlopen) optarg="$1" opt_dlopen="${opt_dlopen+$opt_dlopen }$optarg" shift ;; --preserve-dup-deps) opt_preserve_dup_deps=: ;; --features) opt_features=: func_features ;; --finish) opt_finish=: set dummy --mode finish ${1+"$@"}; shift ;; --help) opt_help=: ;; --help-all) opt_help_all=: opt_help=': help-all' ;; --mode) test $# = 0 && func_missing_arg $opt && break optarg="$1" opt_mode="$optarg" case $optarg in # Valid mode arguments: clean|compile|execute|finish|install|link|relink|uninstall) ;; # Catch anything else as an error *) func_error "invalid argument for $opt" exit_cmd=exit break ;; esac shift ;; --no-silent|--no-quiet) opt_silent=false func_append preserve_args " $opt" ;; --no-warning|--no-warn) opt_warning=false func_append preserve_args " $opt" ;; --no-verbose) opt_verbose=false func_append preserve_args " $opt" ;; --silent|--quiet) opt_silent=: func_append preserve_args " $opt" opt_verbose=false ;; --verbose|-v) opt_verbose=: func_append preserve_args " $opt" opt_silent=false ;; --tag) test $# = 0 && func_missing_arg $opt && break optarg="$1" opt_tag="$optarg" func_append preserve_args " $opt $optarg" func_enable_tag "$optarg" shift ;; -\?|-h) func_usage ;; --help) func_help ;; --version) func_version ;; # Separate optargs to long options: --*=*) func_split_long_opt "$opt" set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"} shift ;; # Separate non-argument short options: -\?*|-h*|-n*|-v*) func_split_short_opt "$opt" set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"} shift ;; --) break ;; -*) func_fatal_help "unrecognized option \`$opt'" ;; *) set dummy "$opt" ${1+"$@"}; shift; break ;; esac done # Validate options: # save first non-option argument if test "$#" -gt 0; then nonopt="$opt" shift fi # preserve --debug test "$opt_debug" = : || func_append preserve_args " --debug" case $host in *cygwin* | *mingw* | *pw32* | *cegcc*) # don't eliminate duplications in $postdeps and $predeps opt_duplicate_compiler_generated_deps=: ;; *) opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps ;; esac $opt_help || { # Sanity checks first: func_check_version_match if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then func_fatal_configuration "not configured to build any kind of library" fi # Darwin sucks eval std_shrext=\"$shrext_cmds\" # Only execute mode is allowed to have -dlopen flags. if test -n "$opt_dlopen" && test "$opt_mode" != execute; then func_error "unrecognized option \`-dlopen'" $ECHO "$help" 1>&2 exit $EXIT_FAILURE fi # Change the help message to a mode-specific one. generic_help="$help" help="Try \`$progname --help --mode=$opt_mode' for more information." } # Bail if the options were screwed $exit_cmd $EXIT_FAILURE } ## ----------- ## ## Main. ## ## ----------- ## # func_lalib_p file # True iff FILE is a libtool `.la' library or `.lo' object file. # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_lalib_p () { test -f "$1" && $SED -e 4q "$1" 2>/dev/null \ | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 } # func_lalib_unsafe_p file # True iff FILE is a libtool `.la' library or `.lo' object file. # This function implements the same check as func_lalib_p without # resorting to external programs. To this end, it redirects stdin and # closes it afterwards, without saving the original file descriptor. # As a safety measure, use it only where a negative result would be # fatal anyway. Works if `file' does not exist. func_lalib_unsafe_p () { lalib_p=no if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then for lalib_p_l in 1 2 3 4 do read lalib_p_line case "$lalib_p_line" in \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; esac done exec 0<&5 5<&- fi test "$lalib_p" = yes } # func_ltwrapper_script_p file # True iff FILE is a libtool wrapper script # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_script_p () { func_lalib_p "$1" } # func_ltwrapper_executable_p file # True iff FILE is a libtool wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_executable_p () { func_ltwrapper_exec_suffix= case $1 in *.exe) ;; *) func_ltwrapper_exec_suffix=.exe ;; esac $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 } # func_ltwrapper_scriptname file # Assumes file is an ltwrapper_executable # uses $file to determine the appropriate filename for a # temporary ltwrapper_script. func_ltwrapper_scriptname () { func_dirname_and_basename "$1" "" "." func_stripname '' '.exe' "$func_basename_result" func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" } # func_ltwrapper_p file # True iff FILE is a libtool wrapper script or wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_p () { func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" } # func_execute_cmds commands fail_cmd # Execute tilde-delimited COMMANDS. # If FAIL_CMD is given, eval that upon failure. # FAIL_CMD may read-access the current command in variable CMD! func_execute_cmds () { $opt_debug save_ifs=$IFS; IFS='~' for cmd in $1; do IFS=$save_ifs eval cmd=\"$cmd\" func_show_eval "$cmd" "${2-:}" done IFS=$save_ifs } # func_source file # Source FILE, adding directory component if necessary. # Note that it is not necessary on cygwin/mingw to append a dot to # FILE even if both FILE and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. func_source () { $opt_debug case $1 in */* | *\\*) . "$1" ;; *) . "./$1" ;; esac } # func_resolve_sysroot PATH # Replace a leading = in PATH with a sysroot. Store the result into # func_resolve_sysroot_result func_resolve_sysroot () { func_resolve_sysroot_result=$1 case $func_resolve_sysroot_result in =*) func_stripname '=' '' "$func_resolve_sysroot_result" func_resolve_sysroot_result=$lt_sysroot$func_stripname_result ;; esac } # func_replace_sysroot PATH # If PATH begins with the sysroot, replace it with = and # store the result into func_replace_sysroot_result. func_replace_sysroot () { case "$lt_sysroot:$1" in ?*:"$lt_sysroot"*) func_stripname "$lt_sysroot" '' "$1" func_replace_sysroot_result="=$func_stripname_result" ;; *) # Including no sysroot. func_replace_sysroot_result=$1 ;; esac } # func_infer_tag arg # Infer tagged configuration to use if any are available and # if one wasn't chosen via the "--tag" command line option. # Only attempt this if the compiler in the base compile # command doesn't match the default compiler. # arg is usually of the form 'gcc ...' func_infer_tag () { $opt_debug if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do func_append_quoted CC_quoted "$arg" done CC_expanded=`func_echo_all $CC` CC_quoted_expanded=`func_echo_all $CC_quoted` case $@ in # Blanks in the command may have been stripped by the calling shell, # but not from the CC environment variable when configure was run. " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; # Blanks at the start of $base_compile will cause this to fail # if we don't check for them as well. *) for z in $available_tags; do if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" CC_quoted= for arg in $CC; do # Double-quote args containing other shell metacharacters. func_append_quoted CC_quoted "$arg" done CC_expanded=`func_echo_all $CC` CC_quoted_expanded=`func_echo_all $CC_quoted` case "$@ " in " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) # The compiler in the base compile command matches # the one in the tagged configuration. # Assume this is the tagged configuration we want. tagname=$z break ;; esac fi done # If $tagname still isn't set, then no tagged configuration # was found and let the user know that the "--tag" command # line option must be used. if test -z "$tagname"; then func_echo "unable to infer tagged configuration" func_fatal_error "specify a tag with \`--tag'" # else # func_verbose "using $tagname tagged configuration" fi ;; esac fi } # func_write_libtool_object output_name pic_name nonpic_name # Create a libtool object file (analogous to a ".la" file), # but don't create it if we're doing a dry run. func_write_libtool_object () { write_libobj=${1} if test "$build_libtool_libs" = yes; then write_lobj=\'${2}\' else write_lobj=none fi if test "$build_old_libs" = yes; then write_oldobj=\'${3}\' else write_oldobj=none fi $opt_dry_run || { cat >${write_libobj}T </dev/null` if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | $SED -e "$lt_sed_naive_backslashify"` else func_convert_core_file_wine_to_w32_result= fi fi } # end: func_convert_core_file_wine_to_w32 # func_convert_core_path_wine_to_w32 ARG # Helper function used by path conversion functions when $build is *nix, and # $host is mingw, cygwin, or some other w32 environment. Relies on a correctly # configured wine environment available, with the winepath program in $build's # $PATH. Assumes ARG has no leading or trailing path separator characters. # # ARG is path to be converted from $build format to win32. # Result is available in $func_convert_core_path_wine_to_w32_result. # Unconvertible file (directory) names in ARG are skipped; if no directory names # are convertible, then the result may be empty. func_convert_core_path_wine_to_w32 () { $opt_debug # unfortunately, winepath doesn't convert paths, only file names func_convert_core_path_wine_to_w32_result="" if test -n "$1"; then oldIFS=$IFS IFS=: for func_convert_core_path_wine_to_w32_f in $1; do IFS=$oldIFS func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" if test -n "$func_convert_core_file_wine_to_w32_result" ; then if test -z "$func_convert_core_path_wine_to_w32_result"; then func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result" else func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" fi fi done IFS=$oldIFS fi } # end: func_convert_core_path_wine_to_w32 # func_cygpath ARGS... # Wrapper around calling the cygpath program via LT_CYGPATH. This is used when # when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) # $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or # (2), returns the Cygwin file name or path in func_cygpath_result (input # file name or path is assumed to be in w32 format, as previously converted # from $build's *nix or MSYS format). In case (3), returns the w32 file name # or path in func_cygpath_result (input file name or path is assumed to be in # Cygwin format). Returns an empty string on error. # # ARGS are passed to cygpath, with the last one being the file name or path to # be converted. # # Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH # environment variable; do not put it in $PATH. func_cygpath () { $opt_debug if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` if test "$?" -ne 0; then # on failure, ensure result is empty func_cygpath_result= fi else func_cygpath_result= func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'" fi } #end: func_cygpath # func_convert_core_msys_to_w32 ARG # Convert file name or path ARG from MSYS format to w32 format. Return # result in func_convert_core_msys_to_w32_result. func_convert_core_msys_to_w32 () { $opt_debug # awkward: cmd appends spaces to result func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"` } #end: func_convert_core_msys_to_w32 # func_convert_file_check ARG1 ARG2 # Verify that ARG1 (a file name in $build format) was converted to $host # format in ARG2. Otherwise, emit an error message, but continue (resetting # func_to_host_file_result to ARG1). func_convert_file_check () { $opt_debug if test -z "$2" && test -n "$1" ; then func_error "Could not determine host file name corresponding to" func_error " \`$1'" func_error "Continuing, but uninstalled executables may not work." # Fallback: func_to_host_file_result="$1" fi } # end func_convert_file_check # func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH # Verify that FROM_PATH (a path in $build format) was converted to $host # format in TO_PATH. Otherwise, emit an error message, but continue, resetting # func_to_host_file_result to a simplistic fallback value (see below). func_convert_path_check () { $opt_debug if test -z "$4" && test -n "$3"; then func_error "Could not determine the host path corresponding to" func_error " \`$3'" func_error "Continuing, but uninstalled executables may not work." # Fallback. This is a deliberately simplistic "conversion" and # should not be "improved". See libtool.info. if test "x$1" != "x$2"; then lt_replace_pathsep_chars="s|$1|$2|g" func_to_host_path_result=`echo "$3" | $SED -e "$lt_replace_pathsep_chars"` else func_to_host_path_result="$3" fi fi } # end func_convert_path_check # func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG # Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT # and appending REPL if ORIG matches BACKPAT. func_convert_path_front_back_pathsep () { $opt_debug case $4 in $1 ) func_to_host_path_result="$3$func_to_host_path_result" ;; esac case $4 in $2 ) func_append func_to_host_path_result "$3" ;; esac } # end func_convert_path_front_back_pathsep ################################################## # $build to $host FILE NAME CONVERSION FUNCTIONS # ################################################## # invoked via `$to_host_file_cmd ARG' # # In each case, ARG is the path to be converted from $build to $host format. # Result will be available in $func_to_host_file_result. # func_to_host_file ARG # Converts the file name ARG from $build format to $host format. Return result # in func_to_host_file_result. func_to_host_file () { $opt_debug $to_host_file_cmd "$1" } # end func_to_host_file # func_to_tool_file ARG LAZY # converts the file name ARG from $build format to toolchain format. Return # result in func_to_tool_file_result. If the conversion in use is listed # in (the comma separated) LAZY, no conversion takes place. func_to_tool_file () { $opt_debug case ,$2, in *,"$to_tool_file_cmd",*) func_to_tool_file_result=$1 ;; *) $to_tool_file_cmd "$1" func_to_tool_file_result=$func_to_host_file_result ;; esac } # end func_to_tool_file # func_convert_file_noop ARG # Copy ARG to func_to_host_file_result. func_convert_file_noop () { func_to_host_file_result="$1" } # end func_convert_file_noop # func_convert_file_msys_to_w32 ARG # Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic # conversion to w32 is not available inside the cwrapper. Returns result in # func_to_host_file_result. func_convert_file_msys_to_w32 () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then func_convert_core_msys_to_w32 "$1" func_to_host_file_result="$func_convert_core_msys_to_w32_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_msys_to_w32 # func_convert_file_cygwin_to_w32 ARG # Convert file name ARG from Cygwin to w32 format. Returns result in # func_to_host_file_result. func_convert_file_cygwin_to_w32 () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then # because $build is cygwin, we call "the" cygpath in $PATH; no need to use # LT_CYGPATH in this case. func_to_host_file_result=`cygpath -m "$1"` fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_cygwin_to_w32 # func_convert_file_nix_to_w32 ARG # Convert file name ARG from *nix to w32 format. Requires a wine environment # and a working winepath. Returns result in func_to_host_file_result. func_convert_file_nix_to_w32 () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then func_convert_core_file_wine_to_w32 "$1" func_to_host_file_result="$func_convert_core_file_wine_to_w32_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_nix_to_w32 # func_convert_file_msys_to_cygwin ARG # Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. # Returns result in func_to_host_file_result. func_convert_file_msys_to_cygwin () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then func_convert_core_msys_to_w32 "$1" func_cygpath -u "$func_convert_core_msys_to_w32_result" func_to_host_file_result="$func_cygpath_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_msys_to_cygwin # func_convert_file_nix_to_cygwin ARG # Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed # in a wine environment, working winepath, and LT_CYGPATH set. Returns result # in func_to_host_file_result. func_convert_file_nix_to_cygwin () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. func_convert_core_file_wine_to_w32 "$1" func_cygpath -u "$func_convert_core_file_wine_to_w32_result" func_to_host_file_result="$func_cygpath_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_nix_to_cygwin ############################################# # $build to $host PATH CONVERSION FUNCTIONS # ############################################# # invoked via `$to_host_path_cmd ARG' # # In each case, ARG is the path to be converted from $build to $host format. # The result will be available in $func_to_host_path_result. # # Path separators are also converted from $build format to $host format. If # ARG begins or ends with a path separator character, it is preserved (but # converted to $host format) on output. # # All path conversion functions are named using the following convention: # file name conversion function : func_convert_file_X_to_Y () # path conversion function : func_convert_path_X_to_Y () # where, for any given $build/$host combination the 'X_to_Y' value is the # same. If conversion functions are added for new $build/$host combinations, # the two new functions must follow this pattern, or func_init_to_host_path_cmd # will break. # func_init_to_host_path_cmd # Ensures that function "pointer" variable $to_host_path_cmd is set to the # appropriate value, based on the value of $to_host_file_cmd. to_host_path_cmd= func_init_to_host_path_cmd () { $opt_debug if test -z "$to_host_path_cmd"; then func_stripname 'func_convert_file_' '' "$to_host_file_cmd" to_host_path_cmd="func_convert_path_${func_stripname_result}" fi } # func_to_host_path ARG # Converts the path ARG from $build format to $host format. Return result # in func_to_host_path_result. func_to_host_path () { $opt_debug func_init_to_host_path_cmd $to_host_path_cmd "$1" } # end func_to_host_path # func_convert_path_noop ARG # Copy ARG to func_to_host_path_result. func_convert_path_noop () { func_to_host_path_result="$1" } # end func_convert_path_noop # func_convert_path_msys_to_w32 ARG # Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic # conversion to w32 is not available inside the cwrapper. Returns result in # func_to_host_path_result. func_convert_path_msys_to_w32 () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # Remove leading and trailing path separator characters from ARG. MSYS # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; # and winepath ignores them completely. func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" func_to_host_path_result="$func_convert_core_msys_to_w32_result" func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_msys_to_w32 # func_convert_path_cygwin_to_w32 ARG # Convert path ARG from Cygwin to w32 format. Returns result in # func_to_host_file_result. func_convert_path_cygwin_to_w32 () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_cygwin_to_w32 # func_convert_path_nix_to_w32 ARG # Convert path ARG from *nix to w32 format. Requires a wine environment and # a working winepath. Returns result in func_to_host_file_result. func_convert_path_nix_to_w32 () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" func_to_host_path_result="$func_convert_core_path_wine_to_w32_result" func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_nix_to_w32 # func_convert_path_msys_to_cygwin ARG # Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. # Returns result in func_to_host_file_result. func_convert_path_msys_to_cygwin () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" func_cygpath -u -p "$func_convert_core_msys_to_w32_result" func_to_host_path_result="$func_cygpath_result" func_convert_path_check : : \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" : "$1" fi } # end func_convert_path_msys_to_cygwin # func_convert_path_nix_to_cygwin ARG # Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a # a wine environment, working winepath, and LT_CYGPATH set. Returns result in # func_to_host_file_result. func_convert_path_nix_to_cygwin () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # Remove leading and trailing path separator characters from # ARG. msys behavior is inconsistent here, cygpath turns them # into '.;' and ';.', and winepath ignores them completely. func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" func_to_host_path_result="$func_cygpath_result" func_convert_path_check : : \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" : "$1" fi } # end func_convert_path_nix_to_cygwin # func_mode_compile arg... func_mode_compile () { $opt_debug # Get the compilation command and the source file. base_compile= srcfile="$nonopt" # always keep a non-empty value in "srcfile" suppress_opt=yes suppress_output= arg_mode=normal libobj= later= pie_flag= for arg do case $arg_mode in arg ) # do not "continue". Instead, add this to base_compile lastarg="$arg" arg_mode=normal ;; target ) libobj="$arg" arg_mode=normal continue ;; normal ) # Accept any command-line options. case $arg in -o) test -n "$libobj" && \ func_fatal_error "you cannot specify \`-o' more than once" arg_mode=target continue ;; -pie | -fpie | -fPIE) func_append pie_flag " $arg" continue ;; -shared | -static | -prefer-pic | -prefer-non-pic) func_append later " $arg" continue ;; -no-suppress) suppress_opt=no continue ;; -Xcompiler) arg_mode=arg # the next one goes into the "base_compile" arg list continue # The current "srcfile" will either be retained or ;; # replaced later. I would guess that would be a bug. -Wc,*) func_stripname '-Wc,' '' "$arg" args=$func_stripname_result lastarg= save_ifs="$IFS"; IFS=',' for arg in $args; do IFS="$save_ifs" func_append_quoted lastarg "$arg" done IFS="$save_ifs" func_stripname ' ' '' "$lastarg" lastarg=$func_stripname_result # Add the arguments to base_compile. func_append base_compile " $lastarg" continue ;; *) # Accept the current argument as the source file. # The previous "srcfile" becomes the current argument. # lastarg="$srcfile" srcfile="$arg" ;; esac # case $arg ;; esac # case $arg_mode # Aesthetically quote the previous argument. func_append_quoted base_compile "$lastarg" done # for arg case $arg_mode in arg) func_fatal_error "you must specify an argument for -Xcompile" ;; target) func_fatal_error "you must specify a target with \`-o'" ;; *) # Get the name of the library object. test -z "$libobj" && { func_basename "$srcfile" libobj="$func_basename_result" } ;; esac # Recognize several different file suffixes. # If the user specifies -o file.o, it is replaced with file.lo case $libobj in *.[cCFSifmso] | \ *.ada | *.adb | *.ads | *.asm | \ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) func_xform "$libobj" libobj=$func_xform_result ;; esac case $libobj in *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; *) func_fatal_error "cannot determine name of library object from \`$libobj'" ;; esac func_infer_tag $base_compile for arg in $later; do case $arg in -shared) test "$build_libtool_libs" != yes && \ func_fatal_configuration "can not build a shared library" build_old_libs=no continue ;; -static) build_libtool_libs=no build_old_libs=yes continue ;; -prefer-pic) pic_mode=yes continue ;; -prefer-non-pic) pic_mode=no continue ;; esac done func_quote_for_eval "$libobj" test "X$libobj" != "X$func_quote_for_eval_result" \ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ && func_warning "libobj name \`$libobj' may not contain shell special characters." func_dirname_and_basename "$obj" "/" "" objname="$func_basename_result" xdir="$func_dirname_result" lobj=${xdir}$objdir/$objname test -z "$base_compile" && \ func_fatal_help "you must specify a compilation command" # Delete any leftover library objects. if test "$build_old_libs" = yes; then removelist="$obj $lobj $libobj ${libobj}T" else removelist="$lobj $libobj ${libobj}T" fi # On Cygwin there's no "real" PIC flag so we must build both object types case $host_os in cygwin* | mingw* | pw32* | os2* | cegcc*) pic_mode=default ;; esac if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then # non-PIC code in shared libraries is not supported pic_mode=default fi # Calculate the filename of the output object if compiler does # not support -o with -c if test "$compiler_c_o" = no; then output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext} lockfile="$output_obj.lock" else output_obj= need_locks=no lockfile= fi # Lock this critical section if it is needed # We use this script file to make the link, it avoids creating a new file if test "$need_locks" = yes; then until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done elif test "$need_locks" = warn; then if test -f "$lockfile"; then $ECHO "\ *** ERROR, $lockfile exists and contains: `cat $lockfile 2>/dev/null` This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi func_append removelist " $output_obj" $ECHO "$srcfile" > "$lockfile" fi $opt_dry_run || $RM $removelist func_append removelist " $lockfile" trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 srcfile=$func_to_tool_file_result func_quote_for_eval "$srcfile" qsrcfile=$func_quote_for_eval_result # Only build a PIC object if we are building libtool libraries. if test "$build_libtool_libs" = yes; then # Without this assignment, base_compile gets emptied. fbsd_hideous_sh_bug=$base_compile if test "$pic_mode" != no; then command="$base_compile $qsrcfile $pic_flag" else # Don't build PIC code command="$base_compile $qsrcfile" fi func_mkdir_p "$xdir$objdir" if test -z "$output_obj"; then # Place PIC objects in $objdir func_append command " -o $lobj" fi func_show_eval_locale "$command" \ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed, then go on to compile the next one if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then func_show_eval '$MV "$output_obj" "$lobj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi # Allow error messages only from the first compilation. if test "$suppress_opt" = yes; then suppress_output=' >/dev/null 2>&1' fi fi # Only build a position-dependent object if we build old libraries. if test "$build_old_libs" = yes; then if test "$pic_mode" != yes; then # Don't build PIC code command="$base_compile $qsrcfile$pie_flag" else command="$base_compile $qsrcfile $pic_flag" fi if test "$compiler_c_o" = yes; then func_append command " -o $obj" fi # Suppress compiler output if we already did a PIC compilation. func_append command "$suppress_output" func_show_eval_locale "$command" \ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then func_show_eval '$MV "$output_obj" "$obj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi fi $opt_dry_run || { func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" # Unlock the critical section if it was locked if test "$need_locks" != no; then removelist=$lockfile $RM "$lockfile" fi } exit $EXIT_SUCCESS } $opt_help || { test "$opt_mode" = compile && func_mode_compile ${1+"$@"} } func_mode_help () { # We need to display help for each of the modes. case $opt_mode in "") # Generic help is extracted from the usage comments # at the start of this file. func_help ;; clean) $ECHO \ "Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... Remove files from the build directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, object or program, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; compile) $ECHO \ "Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE Compile a source file into a libtool library object. This mode accepts the following additional options: -o OUTPUT-FILE set the output file name to OUTPUT-FILE -no-suppress do not suppress compiler output for multiple passes -prefer-pic try to build PIC objects only -prefer-non-pic try to build non-PIC objects only -shared do not build a \`.o' file suitable for static linking -static only build a \`.o' file suitable for static linking -Wc,FLAG pass FLAG directly to the compiler COMPILE-COMMAND is a command to be used in creating a \`standard' object file from the given SOURCEFILE. The output file name is determined by removing the directory component from SOURCEFILE, then substituting the C source code suffix \`.c' with the library object suffix, \`.lo'." ;; execute) $ECHO \ "Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... Automatically set library path, then run a program. This mode accepts the following additional options: -dlopen FILE add the directory containing FILE to the library path This mode sets the library path environment variable according to \`-dlopen' flags. If any of the ARGS are libtool executable wrappers, then they are translated into their corresponding uninstalled binary, and any of their required library directories are added to the library path. Then, COMMAND is executed, with ARGS as arguments." ;; finish) $ECHO \ "Usage: $progname [OPTION]... --mode=finish [LIBDIR]... Complete the installation of libtool libraries. Each LIBDIR is a directory that contains libtool libraries. The commands that this mode executes may require superuser privileges. Use the \`--dry-run' option if you just want to see what would be executed." ;; install) $ECHO \ "Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... Install executables or libraries. INSTALL-COMMAND is the installation command. The first component should be either the \`install' or \`cp' program. The following components of INSTALL-COMMAND are treated specially: -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation The rest of the components are interpreted as arguments to that command (only BSD-compatible install options are recognized)." ;; link) $ECHO \ "Usage: $progname [OPTION]... --mode=link LINK-COMMAND... Link object files or libraries together to form another library, or to create an executable program. LINK-COMMAND is a command using the C compiler that you would use to create a program from several object files. The following components of LINK-COMMAND are treated specially: -all-static do not do any dynamic linking at all -avoid-version do not add a version suffix if possible -bindir BINDIR specify path to binaries directory (for systems where libraries must be found in the PATH setting at runtime) -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) -export-symbols SYMFILE try to export only the symbols listed in SYMFILE -export-symbols-regex REGEX try to export only the symbols matching REGEX -LLIBDIR search LIBDIR for required installed libraries -lNAME OUTPUT-FILE requires the installed library libNAME -module build a library that can dlopened -no-fast-install disable the fast-install mode -no-install link a not-installable executable -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects -objectlist FILE Use a list of object files found in FILE to specify objects -precious-files-regex REGEX don't remove output files matching REGEX -release RELEASE specify package release information -rpath LIBDIR the created library will eventually be installed in LIBDIR -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries -shared only do dynamic linking of libtool libraries -shrext SUFFIX override the standard shared library file extension -static do not do any dynamic linking of uninstalled libtool libraries -static-libtool-libs do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] specify library version info [each variable defaults to 0] -weak LIBNAME declare that the target provides the LIBNAME interface -Wc,FLAG -Xcompiler FLAG pass linker-specific FLAG directly to the compiler -Wl,FLAG -Xlinker FLAG pass linker-specific FLAG directly to the linker -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) All other options (arguments beginning with \`-') are ignored. Every other argument is treated as a filename. Files ending in \`.la' are treated as uninstalled libtool libraries, other files are standard or library object files. If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only library objects (\`.lo' files) may be specified, and \`-rpath' is required, except when creating a convenience library. If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created using \`ar' and \`ranlib', or on Windows using \`lib'. If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file is created, otherwise an executable program is created." ;; uninstall) $ECHO \ "Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... Remove libraries from an installation directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; *) func_fatal_help "invalid operation mode \`$opt_mode'" ;; esac echo $ECHO "Try \`$progname --help' for more information about other modes." } # Now that we've collected a possible --mode arg, show help if necessary if $opt_help; then if test "$opt_help" = :; then func_mode_help else { func_help noexit for opt_mode in compile link execute install finish uninstall clean; do func_mode_help done } | sed -n '1p; 2,$s/^Usage:/ or: /p' { func_help noexit for opt_mode in compile link execute install finish uninstall clean; do echo func_mode_help done } | sed '1d /^When reporting/,/^Report/{ H d } $x /information about other modes/d /more detailed .*MODE/d s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' fi exit $? fi # func_mode_execute arg... func_mode_execute () { $opt_debug # The first argument is the command name. cmd="$nonopt" test -z "$cmd" && \ func_fatal_help "you must specify a COMMAND" # Handle -dlopen flags immediately. for file in $opt_dlopen; do test -f "$file" \ || func_fatal_help "\`$file' is not a file" dir= case $file in *.la) func_resolve_sysroot "$file" file=$func_resolve_sysroot_result # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "\`$lib' is not a valid libtool archive" # Read the libtool library. dlname= library_names= func_source "$file" # Skip this library if it cannot be dlopened. if test -z "$dlname"; then # Warn if it was a shared library. test -n "$library_names" && \ func_warning "\`$file' was not linked with \`-export-dynamic'" continue fi func_dirname "$file" "" "." dir="$func_dirname_result" if test -f "$dir/$objdir/$dlname"; then func_append dir "/$objdir" else if test ! -f "$dir/$dlname"; then func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" fi fi ;; *.lo) # Just add the directory containing the .lo file. func_dirname "$file" "" "." dir="$func_dirname_result" ;; *) func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" continue ;; esac # Get the absolute pathname. absdir=`cd "$dir" && pwd` test -n "$absdir" && dir="$absdir" # Now add the directory to shlibpath_var. if eval "test -z \"\$$shlibpath_var\""; then eval "$shlibpath_var=\"\$dir\"" else eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" fi done # This variable tells wrapper scripts just to set shlibpath_var # rather than running their programs. libtool_execute_magic="$magic" # Check if any of the arguments is a wrapper script. args= for file do case $file in -* | *.la | *.lo ) ;; *) # Do a test to see if this is really a libtool program. if func_ltwrapper_script_p "$file"; then func_source "$file" # Transform arg to wrapped name. file="$progdir/$program" elif func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" func_source "$func_ltwrapper_scriptname_result" # Transform arg to wrapped name. file="$progdir/$program" fi ;; esac # Quote arguments (to preserve shell metacharacters). func_append_quoted args "$file" done if test "X$opt_dry_run" = Xfalse; then if test -n "$shlibpath_var"; then # Export the shlibpath_var. eval "export $shlibpath_var" fi # Restore saved environment variables for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${save_$lt_var+set}\" = set; then $lt_var=\$save_$lt_var; export $lt_var else $lt_unset $lt_var fi" done # Now prepare to actually exec the command. exec_cmd="\$cmd$args" else # Display what would be done. if test -n "$shlibpath_var"; then eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" echo "export $shlibpath_var" fi $ECHO "$cmd$args" exit $EXIT_SUCCESS fi } test "$opt_mode" = execute && func_mode_execute ${1+"$@"} # func_mode_finish arg... func_mode_finish () { $opt_debug libs= libdirs= admincmds= for opt in "$nonopt" ${1+"$@"} do if test -d "$opt"; then func_append libdirs " $opt" elif test -f "$opt"; then if func_lalib_unsafe_p "$opt"; then func_append libs " $opt" else func_warning "\`$opt' is not a valid libtool archive" fi else func_fatal_error "invalid argument \`$opt'" fi done if test -n "$libs"; then if test -n "$lt_sysroot"; then sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" else sysroot_cmd= fi # Remove sysroot references if $opt_dry_run; then for lib in $libs; do echo "removing references to $lt_sysroot and \`=' prefixes from $lib" done else tmpdir=`func_mktempdir` for lib in $libs; do sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ > $tmpdir/tmp-la mv -f $tmpdir/tmp-la $lib done ${RM}r "$tmpdir" fi fi if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then for libdir in $libdirs; do if test -n "$finish_cmds"; then # Do each command in the finish commands. func_execute_cmds "$finish_cmds" 'admincmds="$admincmds '"$cmd"'"' fi if test -n "$finish_eval"; then # Do the single finish_eval. eval cmds=\"$finish_eval\" $opt_dry_run || eval "$cmds" || func_append admincmds " $cmds" fi done fi # Exit here if they wanted silent mode. $opt_silent && exit $EXIT_SUCCESS if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then echo "----------------------------------------------------------------------" echo "Libraries have been installed in:" for libdir in $libdirs; do $ECHO " $libdir" done echo echo "If you ever happen to want to link against installed libraries" echo "in a given directory, LIBDIR, you must either use libtool, and" echo "specify the full pathname of the library, or use the \`-LLIBDIR'" echo "flag during linking and do at least one of the following:" if test -n "$shlibpath_var"; then echo " - add LIBDIR to the \`$shlibpath_var' environment variable" echo " during execution" fi if test -n "$runpath_var"; then echo " - add LIBDIR to the \`$runpath_var' environment variable" echo " during linking" fi if test -n "$hardcode_libdir_flag_spec"; then libdir=LIBDIR eval flag=\"$hardcode_libdir_flag_spec\" $ECHO " - use the \`$flag' linker flag" fi if test -n "$admincmds"; then $ECHO " - have your system administrator run these commands:$admincmds" fi if test -f /etc/ld.so.conf; then echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" fi echo echo "See any operating system documentation about shared libraries for" case $host in solaris2.[6789]|solaris2.1[0-9]) echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" echo "pages." ;; *) echo "more information, such as the ld(1) and ld.so(8) manual pages." ;; esac echo "----------------------------------------------------------------------" fi exit $EXIT_SUCCESS } test "$opt_mode" = finish && func_mode_finish ${1+"$@"} # func_mode_install arg... func_mode_install () { $opt_debug # There may be an optional sh(1) argument at the beginning of # install_prog (especially on Windows NT). if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || # Allow the use of GNU shtool's install command. case $nonopt in *shtool*) :;; *) false;; esac; then # Aesthetically quote it. func_quote_for_eval "$nonopt" install_prog="$func_quote_for_eval_result " arg=$1 shift else install_prog= arg=$nonopt fi # The real first argument should be the name of the installation program. # Aesthetically quote it. func_quote_for_eval "$arg" func_append install_prog "$func_quote_for_eval_result" install_shared_prog=$install_prog case " $install_prog " in *[\\\ /]cp\ *) install_cp=: ;; *) install_cp=false ;; esac # We need to accept at least all the BSD install flags. dest= files= opts= prev= install_type= isdir=no stripme= no_mode=: for arg do arg2= if test -n "$dest"; then func_append files " $dest" dest=$arg continue fi case $arg in -d) isdir=yes ;; -f) if $install_cp; then :; else prev=$arg fi ;; -g | -m | -o) prev=$arg ;; -s) stripme=" -s" continue ;; -*) ;; *) # If the previous option needed an argument, then skip it. if test -n "$prev"; then if test "x$prev" = x-m && test -n "$install_override_mode"; then arg2=$install_override_mode no_mode=false fi prev= else dest=$arg continue fi ;; esac # Aesthetically quote the argument. func_quote_for_eval "$arg" func_append install_prog " $func_quote_for_eval_result" if test -n "$arg2"; then func_quote_for_eval "$arg2" fi func_append install_shared_prog " $func_quote_for_eval_result" done test -z "$install_prog" && \ func_fatal_help "you must specify an install program" test -n "$prev" && \ func_fatal_help "the \`$prev' option requires an argument" if test -n "$install_override_mode" && $no_mode; then if $install_cp; then :; else func_quote_for_eval "$install_override_mode" func_append install_shared_prog " -m $func_quote_for_eval_result" fi fi if test -z "$files"; then if test -z "$dest"; then func_fatal_help "no file or destination specified" else func_fatal_help "you must specify a destination" fi fi # Strip any trailing slash from the destination. func_stripname '' '/' "$dest" dest=$func_stripname_result # Check to see that the destination is a directory. test -d "$dest" && isdir=yes if test "$isdir" = yes; then destdir="$dest" destname= else func_dirname_and_basename "$dest" "" "." destdir="$func_dirname_result" destname="$func_basename_result" # Not a directory, so check to see that there is only one file specified. set dummy $files; shift test "$#" -gt 1 && \ func_fatal_help "\`$dest' is not a directory" fi case $destdir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) for file in $files; do case $file in *.lo) ;; *) func_fatal_help "\`$destdir' must be an absolute directory name" ;; esac done ;; esac # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" staticlibs= future_libdirs= current_libdirs= for file in $files; do # Do each installation. case $file in *.$libext) # Do the static libraries later. func_append staticlibs " $file" ;; *.la) func_resolve_sysroot "$file" file=$func_resolve_sysroot_result # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "\`$file' is not a valid libtool archive" library_names= old_library= relink_command= func_source "$file" # Add the libdir to current_libdirs if it is the destination. if test "X$destdir" = "X$libdir"; then case "$current_libdirs " in *" $libdir "*) ;; *) func_append current_libdirs " $libdir" ;; esac else # Note the libdir as a future libdir. case "$future_libdirs " in *" $libdir "*) ;; *) func_append future_libdirs " $libdir" ;; esac fi func_dirname "$file" "/" "" dir="$func_dirname_result" func_append dir "$objdir" if test -n "$relink_command"; then # Determine the prefix the user has applied to our future dir. inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` # Don't allow the user to place us outside of our expected # location b/c this prevents finding dependent libraries that # are installed to the same prefix. # At present, this check doesn't affect windows .dll's that # are installed into $libdir/../bin (currently, that works fine) # but it's something to keep an eye on. test "$inst_prefix_dir" = "$destdir" && \ func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` else relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` fi func_warning "relinking \`$file'" func_show_eval "$relink_command" \ 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' fi # See the names of the shared library. set dummy $library_names; shift if test -n "$1"; then realname="$1" shift srcname="$realname" test -n "$relink_command" && srcname="$realname"T # Install the shared library and build the symlinks. func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ 'exit $?' tstripme="$stripme" case $host_os in cygwin* | mingw* | pw32* | cegcc*) case $realname in *.dll.a) tstripme="" ;; esac ;; esac if test -n "$tstripme" && test -n "$striplib"; then func_show_eval "$striplib $destdir/$realname" 'exit $?' fi if test "$#" -gt 0; then # Delete the old symlinks, and create new ones. # Try `ln -sf' first, because the `ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname do test "$linkname" != "$realname" \ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" done fi # Do each command in the postinstall commands. lib="$destdir/$realname" func_execute_cmds "$postinstall_cmds" 'exit $?' fi # Install the pseudo-library for information purposes. func_basename "$file" name="$func_basename_result" instname="$dir/$name"i func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' # Maybe install the static library, too. test -n "$old_library" && func_append staticlibs " $dir/$old_library" ;; *.lo) # Install (i.e. copy) a libtool object. # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else func_basename "$file" destfile="$func_basename_result" destfile="$destdir/$destfile" fi # Deduce the name of the destination old-style object file. case $destfile in *.lo) func_lo2o "$destfile" staticdest=$func_lo2o_result ;; *.$objext) staticdest="$destfile" destfile= ;; *) func_fatal_help "cannot copy a libtool object to \`$destfile'" ;; esac # Install the libtool object if requested. test -n "$destfile" && \ func_show_eval "$install_prog $file $destfile" 'exit $?' # Install the old object if enabled. if test "$build_old_libs" = yes; then # Deduce the name of the old-style object file. func_lo2o "$file" staticobj=$func_lo2o_result func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' fi exit $EXIT_SUCCESS ;; *) # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else func_basename "$file" destfile="$func_basename_result" destfile="$destdir/$destfile" fi # If the file is missing, and there is a .exe on the end, strip it # because it is most likely a libtool script we actually want to # install stripped_ext="" case $file in *.exe) if test ! -f "$file"; then func_stripname '' '.exe' "$file" file=$func_stripname_result stripped_ext=".exe" fi ;; esac # Do a test to see if this is really a libtool program. case $host in *cygwin* | *mingw*) if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" wrapper=$func_ltwrapper_scriptname_result else func_stripname '' '.exe' "$file" wrapper=$func_stripname_result fi ;; *) wrapper=$file ;; esac if func_ltwrapper_script_p "$wrapper"; then notinst_deplibs= relink_command= func_source "$wrapper" # Check the variables that should have been set. test -z "$generated_by_libtool_version" && \ func_fatal_error "invalid libtool wrapper script \`$wrapper'" finalize=yes for lib in $notinst_deplibs; do # Check to see that each library is installed. libdir= if test -f "$lib"; then func_source "$lib" fi libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test if test -n "$libdir" && test ! -f "$libfile"; then func_warning "\`$lib' has not been installed in \`$libdir'" finalize=no fi done relink_command= func_source "$wrapper" outputname= if test "$fast_install" = no && test -n "$relink_command"; then $opt_dry_run || { if test "$finalize" = yes; then tmpdir=`func_mktempdir` func_basename "$file$stripped_ext" file="$func_basename_result" outputname="$tmpdir/$file" # Replace the output file specification. relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` $opt_silent || { func_quote_for_expand "$relink_command" eval "func_echo $func_quote_for_expand_result" } if eval "$relink_command"; then : else func_error "error: relink \`$file' with the above command before installing it" $opt_dry_run || ${RM}r "$tmpdir" continue fi file="$outputname" else func_warning "cannot relink \`$file'" fi } else # Install the binary that we compiled earlier. file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` fi fi # remove .exe since cygwin /usr/bin/install will append another # one anyway case $install_prog,$host in */usr/bin/install*,*cygwin*) case $file:$destfile in *.exe:*.exe) # this is ok ;; *.exe:*) destfile=$destfile.exe ;; *:*.exe) func_stripname '' '.exe' "$destfile" destfile=$func_stripname_result ;; esac ;; esac func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' $opt_dry_run || if test -n "$outputname"; then ${RM}r "$tmpdir" fi ;; esac done for file in $staticlibs; do func_basename "$file" name="$func_basename_result" # Set up the ranlib parameters. oldlib="$destdir/$name" func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 tool_oldlib=$func_to_tool_file_result func_show_eval "$install_prog \$file \$oldlib" 'exit $?' if test -n "$stripme" && test -n "$old_striplib"; then func_show_eval "$old_striplib $tool_oldlib" 'exit $?' fi # Do each command in the postinstall commands. func_execute_cmds "$old_postinstall_cmds" 'exit $?' done test -n "$future_libdirs" && \ func_warning "remember to run \`$progname --finish$future_libdirs'" if test -n "$current_libdirs"; then # Maybe just do a dry run. $opt_dry_run && current_libdirs=" -n$current_libdirs" exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS fi } test "$opt_mode" = install && func_mode_install ${1+"$@"} # func_generate_dlsyms outputname originator pic_p # Extract symbols from dlprefiles and create ${outputname}S.o with # a dlpreopen symbol table. func_generate_dlsyms () { $opt_debug my_outputname="$1" my_originator="$2" my_pic_p="${3-no}" my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` my_dlsyms= if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then if test -n "$NM" && test -n "$global_symbol_pipe"; then my_dlsyms="${my_outputname}S.c" else func_error "not configured to extract global symbols from dlpreopened files" fi fi if test -n "$my_dlsyms"; then case $my_dlsyms in "") ;; *.c) # Discover the nlist of each of the dlfiles. nlist="$output_objdir/${my_outputname}.nm" func_show_eval "$RM $nlist ${nlist}S ${nlist}T" # Parse the name list into a source file. func_verbose "creating $output_objdir/$my_dlsyms" $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ /* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ /* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ #ifdef __cplusplus extern \"C\" { #endif #if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) #pragma GCC diagnostic ignored \"-Wstrict-prototypes\" #endif /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) /* DATA imports from DLLs on WIN32 con't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT_DLSYM_CONST #elif defined(__osf__) /* This system does not cope well with relocations in const data. */ # define LT_DLSYM_CONST #else # define LT_DLSYM_CONST const #endif /* External symbol declarations for the compiler. */\ " if test "$dlself" = yes; then func_verbose "generating symbol list for \`$output'" $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" # Add our own program objects to the symbol list. progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` for progfile in $progfiles; do func_to_tool_file "$progfile" func_convert_file_msys_to_w32 func_verbose "extracting global C symbols from \`$func_to_tool_file_result'" $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" done if test -n "$exclude_expsyms"; then $opt_dry_run || { eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi if test -n "$export_symbols_regex"; then $opt_dry_run || { eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi # Prepare the list of exported symbols if test -z "$export_symbols"; then export_symbols="$output_objdir/$outputname.exp" $opt_dry_run || { $RM $export_symbols eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; esac } else $opt_dry_run || { eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; esac } fi fi for dlprefile in $dlprefiles; do func_verbose "extracting global C symbols from \`$dlprefile'" func_basename "$dlprefile" name="$func_basename_result" case $host in *cygwin* | *mingw* | *cegcc* ) # if an import library, we need to obtain dlname if func_win32_import_lib_p "$dlprefile"; then func_tr_sh "$dlprefile" eval "curr_lafile=\$libfile_$func_tr_sh_result" dlprefile_dlbasename="" if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then # Use subshell, to avoid clobbering current variable values dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` if test -n "$dlprefile_dlname" ; then func_basename "$dlprefile_dlname" dlprefile_dlbasename="$func_basename_result" else # no lafile. user explicitly requested -dlpreopen . $sharedlib_from_linklib_cmd "$dlprefile" dlprefile_dlbasename=$sharedlib_from_linklib_result fi fi $opt_dry_run || { if test -n "$dlprefile_dlbasename" ; then eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' else func_warning "Could not compute DLL name from $name" eval '$ECHO ": $name " >> "$nlist"' fi func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" } else # not an import lib $opt_dry_run || { eval '$ECHO ": $name " >> "$nlist"' func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" } fi ;; *) $opt_dry_run || { eval '$ECHO ": $name " >> "$nlist"' func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" } ;; esac done $opt_dry_run || { # Make sure we have at least an empty file. test -f "$nlist" || : > "$nlist" if test -n "$exclude_expsyms"; then $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T $MV "$nlist"T "$nlist" fi # Try sorting and uniquifying the output. if $GREP -v "^: " < "$nlist" | if sort -k 3 /dev/null 2>&1; then sort -k 3 else sort +2 fi | uniq > "$nlist"S; then : else $GREP -v "^: " < "$nlist" > "$nlist"S fi if test -f "$nlist"S; then eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' else echo '/* NONE */' >> "$output_objdir/$my_dlsyms" fi echo >> "$output_objdir/$my_dlsyms" "\ /* The mapping between symbol names and symbols. */ typedef struct { const char *name; void *address; } lt_dlsymlist; extern LT_DLSYM_CONST lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[]; LT_DLSYM_CONST lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[] = {\ { \"$my_originator\", (void *) 0 }," case $need_lib_prefix in no) eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; *) eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; esac echo >> "$output_objdir/$my_dlsyms" "\ {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt_${my_prefix}_LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif\ " } # !$opt_dry_run pic_flag_for_symtable= case "$compile_command " in *" -static "*) ;; *) case $host in # compiling the symbol table file with pic_flag works around # a FreeBSD bug that causes programs to crash when -lm is # linked before any other PIC object. But we must not use # pic_flag when linking with -static. The problem exists in # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; *-*-hpux*) pic_flag_for_symtable=" $pic_flag" ;; *) if test "X$my_pic_p" != Xno; then pic_flag_for_symtable=" $pic_flag" fi ;; esac ;; esac symtab_cflags= for arg in $LTCFLAGS; do case $arg in -pie | -fpie | -fPIE) ;; *) func_append symtab_cflags " $arg" ;; esac done # Now compile the dynamic symbol file. func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' # Clean up the generated files. func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' # Transform the symbol file into the correct name. symfileobj="$output_objdir/${my_outputname}S.$objext" case $host in *cygwin* | *mingw* | *cegcc* ) if test -f "$output_objdir/$my_outputname.def"; then compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` else compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` fi ;; *) compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` ;; esac ;; *) func_fatal_error "unknown suffix for \`$my_dlsyms'" ;; esac else # We keep going just in case the user didn't refer to # lt_preloaded_symbols. The linker will fail if global_symbol_pipe # really was required. # Nullify the symbol file. compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` fi } # func_win32_libid arg # return the library type of file 'arg' # # Need a lot of goo to handle *both* DLLs and import libs # Has to be a shell function in order to 'eat' the argument # that is supplied when $file_magic_command is called. # Despite the name, also deal with 64 bit binaries. func_win32_libid () { $opt_debug win32_libid_type="unknown" win32_fileres=`file -L $1 2>/dev/null` case $win32_fileres in *ar\ archive\ import\ library*) # definitely import win32_libid_type="x86 archive import" ;; *ar\ archive*) # could be an import, or static # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then func_to_tool_file "$1" func_convert_file_msys_to_w32 win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | $SED -n -e ' 1,100{ / I /{ s,.*,import, p q } }'` case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; esac fi ;; *DLL*) win32_libid_type="x86 DLL" ;; *executable*) # but shell scripts are "executable" too... case $win32_fileres in *MS\ Windows\ PE\ Intel*) win32_libid_type="x86 DLL" ;; esac ;; esac $ECHO "$win32_libid_type" } # func_cygming_dll_for_implib ARG # # Platform-specific function to extract the # name of the DLL associated with the specified # import library ARG. # Invoked by eval'ing the libtool variable # $sharedlib_from_linklib_cmd # Result is available in the variable # $sharedlib_from_linklib_result func_cygming_dll_for_implib () { $opt_debug sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` } # func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs # # The is the core of a fallback implementation of a # platform-specific function to extract the name of the # DLL associated with the specified import library LIBNAME. # # SECTION_NAME is either .idata$6 or .idata$7, depending # on the platform and compiler that created the implib. # # Echos the name of the DLL associated with the # specified import library. func_cygming_dll_for_implib_fallback_core () { $opt_debug match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` $OBJDUMP -s --section "$1" "$2" 2>/dev/null | $SED '/^Contents of section '"$match_literal"':/{ # Place marker at beginning of archive member dllname section s/.*/====MARK====/ p d } # These lines can sometimes be longer than 43 characters, but # are always uninteresting /:[ ]*file format pe[i]\{,1\}-/d /^In archive [^:]*:/d # Ensure marker is printed /^====MARK====/p # Remove all lines with less than 43 characters /^.\{43\}/!d # From remaining lines, remove first 43 characters s/^.\{43\}//' | $SED -n ' # Join marker and all lines until next marker into a single line /^====MARK====/ b para H $ b para b :para x s/\n//g # Remove the marker s/^====MARK====// # Remove trailing dots and whitespace s/[\. \t]*$// # Print /./p' | # we now have a list, one entry per line, of the stringified # contents of the appropriate section of all members of the # archive which possess that section. Heuristic: eliminate # all those which have a first or second character that is # a '.' (that is, objdump's representation of an unprintable # character.) This should work for all archives with less than # 0x302f exports -- but will fail for DLLs whose name actually # begins with a literal '.' or a single character followed by # a '.'. # # Of those that remain, print the first one. $SED -e '/^\./d;/^.\./d;q' } # func_cygming_gnu_implib_p ARG # This predicate returns with zero status (TRUE) if # ARG is a GNU/binutils-style import library. Returns # with nonzero status (FALSE) otherwise. func_cygming_gnu_implib_p () { $opt_debug func_to_tool_file "$1" func_convert_file_msys_to_w32 func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` test -n "$func_cygming_gnu_implib_tmp" } # func_cygming_ms_implib_p ARG # This predicate returns with zero status (TRUE) if # ARG is an MS-style import library. Returns # with nonzero status (FALSE) otherwise. func_cygming_ms_implib_p () { $opt_debug func_to_tool_file "$1" func_convert_file_msys_to_w32 func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` test -n "$func_cygming_ms_implib_tmp" } # func_cygming_dll_for_implib_fallback ARG # Platform-specific function to extract the # name of the DLL associated with the specified # import library ARG. # # This fallback implementation is for use when $DLLTOOL # does not support the --identify-strict option. # Invoked by eval'ing the libtool variable # $sharedlib_from_linklib_cmd # Result is available in the variable # $sharedlib_from_linklib_result func_cygming_dll_for_implib_fallback () { $opt_debug if func_cygming_gnu_implib_p "$1" ; then # binutils import library sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` elif func_cygming_ms_implib_p "$1" ; then # ms-generated import library sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` else # unknown sharedlib_from_linklib_result="" fi } # func_extract_an_archive dir oldlib func_extract_an_archive () { $opt_debug f_ex_an_ar_dir="$1"; shift f_ex_an_ar_oldlib="$1" if test "$lock_old_archive_extraction" = yes; then lockfile=$f_ex_an_ar_oldlib.lock until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done fi func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ 'stat=$?; rm -f "$lockfile"; exit $stat' if test "$lock_old_archive_extraction" = yes; then $opt_dry_run || rm -f "$lockfile" fi if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then : else func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" fi } # func_extract_archives gentop oldlib ... func_extract_archives () { $opt_debug my_gentop="$1"; shift my_oldlibs=${1+"$@"} my_oldobjs="" my_xlib="" my_xabs="" my_xdir="" for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac func_basename "$my_xlib" my_xlib="$func_basename_result" my_xlib_u=$my_xlib while :; do case " $extracted_archives " in *" $my_xlib_u "*) func_arith $extracted_serial + 1 extracted_serial=$func_arith_result my_xlib_u=lt$extracted_serial-$my_xlib ;; *) break ;; esac done extracted_archives="$extracted_archives $my_xlib_u" my_xdir="$my_gentop/$my_xlib_u" func_mkdir_p "$my_xdir" case $host in *-darwin*) func_verbose "Extracting $my_xabs" # Do not bother doing anything if just a dry run $opt_dry_run || { darwin_orig_dir=`pwd` cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` darwin_base_archive=`basename "$darwin_archive"` darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` if test -n "$darwin_arches"; then darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" for darwin_arch in $darwin_arches ; do func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" func_extract_an_archive "`pwd`" "${darwin_base_archive}" cd "$darwin_curdir" $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" done # $darwin_arches ## Okay now we've a bunch of thin objects, gotta fatten them up :) darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` $LIPO -create -output "$darwin_file" $darwin_files done # $darwin_filelist $RM -rf unfat-$$ cd "$darwin_orig_dir" else cd $darwin_orig_dir func_extract_an_archive "$my_xdir" "$my_xabs" fi # $darwin_arches } # !$opt_dry_run ;; *) func_extract_an_archive "$my_xdir" "$my_xabs" ;; esac my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` done func_extract_archives_result="$my_oldobjs" } # func_emit_wrapper [arg=no] # # Emit a libtool wrapper script on stdout. # Don't directly open a file because we may want to # incorporate the script contents within a cygwin/mingw # wrapper executable. Must ONLY be called from within # func_mode_link because it depends on a number of variables # set therein. # # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR # variable will take. If 'yes', then the emitted script # will assume that the directory in which it is stored is # the $objdir directory. This is a cygwin/mingw-specific # behavior. func_emit_wrapper () { func_emit_wrapper_arg1=${1-no} $ECHO "\ #! $SHELL # $output - temporary wrapper script for $objdir/$outputname # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION # # The $output program cannot be directly executed until all the libtool # libraries that it depends on are installed. # # This wrapper script should never be moved out of the build directory. # If it is, it will not operate correctly. # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='$sed_quote_subst' # Be Bourne compatible if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH relink_command=\"$relink_command\" # This environment variable determines our operation mode. if test \"\$libtool_install_magic\" = \"$magic\"; then # install mode needs the following variables: generated_by_libtool_version='$macro_version' notinst_deplibs='$notinst_deplibs' else # When we are sourced in execute mode, \$file and \$ECHO are already set. if test \"\$libtool_execute_magic\" != \"$magic\"; then file=\"\$0\"" qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` $ECHO "\ # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$1 _LTECHO_EOF' } ECHO=\"$qECHO\" fi # Very basic option parsing. These options are (a) specific to # the libtool wrapper, (b) are identical between the wrapper # /script/ and the wrapper /executable/ which is used only on # windows platforms, and (c) all begin with the string "--lt-" # (application programs are unlikely to have options which match # this pattern). # # There are only two supported options: --lt-debug and # --lt-dump-script. There is, deliberately, no --lt-help. # # The first argument to this parsing function should be the # script's $0 value, followed by "$@". lt_option_debug= func_parse_lt_options () { lt_script_arg0=\$0 shift for lt_opt do case \"\$lt_opt\" in --lt-debug) lt_option_debug=1 ;; --lt-dump-script) lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` cat \"\$lt_dump_D/\$lt_dump_F\" exit 0 ;; --lt-*) \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 exit 1 ;; esac done # Print the debug banner immediately: if test -n \"\$lt_option_debug\"; then echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2 fi } # Used when --lt-debug. Prints its arguments to stdout # (redirection is the responsibility of the caller) func_lt_dump_args () { lt_dump_args_N=1; for lt_arg do \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\" lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` done } # Core function for launching the target application func_exec_program_core () { " case $host in # Backslashes separate directories on plain windows *-*-mingw | *-*-os2* | *-cegcc*) $ECHO "\ if test -n \"\$lt_option_debug\"; then \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2 func_lt_dump_args \${1+\"\$@\"} 1>&2 fi exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} " ;; *) $ECHO "\ if test -n \"\$lt_option_debug\"; then \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2 func_lt_dump_args \${1+\"\$@\"} 1>&2 fi exec \"\$progdir/\$program\" \${1+\"\$@\"} " ;; esac $ECHO "\ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 exit 1 } # A function to encapsulate launching the target application # Strips options in the --lt-* namespace from \$@ and # launches target application with the remaining arguments. func_exec_program () { case \" \$* \" in *\\ --lt-*) for lt_wr_arg do case \$lt_wr_arg in --lt-*) ;; *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; esac shift done ;; esac func_exec_program_core \${1+\"\$@\"} } # Parse options func_parse_lt_options \"\$0\" \${1+\"\$@\"} # Find the directory that this script lives in. thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` test \"x\$thisdir\" = \"x\$file\" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` while test -n \"\$file\"; do destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` # If there was a directory component, then change thisdir. if test \"x\$destdir\" != \"x\$file\"; then case \"\$destdir\" in [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; *) thisdir=\"\$thisdir/\$destdir\" ;; esac fi file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` done # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then # special case for '.' if test \"\$thisdir\" = \".\"; then thisdir=\`pwd\` fi # remove .libs from thisdir case \"\$thisdir\" in *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; $objdir ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=\`cd \"\$thisdir\" && pwd\` test -n \"\$absdir\" && thisdir=\"\$absdir\" " if test "$fast_install" = yes; then $ECHO "\ program=lt-'$outputname'$exeext progdir=\"\$thisdir/$objdir\" if test ! -f \"\$progdir/\$program\" || { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ test \"X\$file\" != \"X\$progdir/\$program\"; }; then file=\"\$\$-\$program\" if test ! -d \"\$progdir\"; then $MKDIR \"\$progdir\" else $RM \"\$progdir/\$file\" fi" $ECHO "\ # relink executable if necessary if test -n \"\$relink_command\"; then if relink_command_output=\`eval \$relink_command 2>&1\`; then : else $ECHO \"\$relink_command_output\" >&2 $RM \"\$progdir/\$file\" exit 1 fi fi $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || { $RM \"\$progdir/\$program\"; $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } $RM \"\$progdir/\$file\" fi" else $ECHO "\ program='$outputname' progdir=\"\$thisdir/$objdir\" " fi $ECHO "\ if test -f \"\$progdir/\$program\"; then" # fixup the dll searchpath if we need to. # # Fix the DLL searchpath if we need to. Do this before prepending # to shlibpath, because on Windows, both are PATH and uninstalled # libraries must come first. if test -n "$dllsearchpath"; then $ECHO "\ # Add the dll search path components to the executable PATH PATH=$dllsearchpath:\$PATH " fi # Export our shlibpath_var if we have one. if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then $ECHO "\ # Add our own library path to $shlibpath_var $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" # Some systems cannot cope with colon-terminated $shlibpath_var # The second colon is a workaround for a bug in BeOS R4 sed $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` export $shlibpath_var " fi $ECHO "\ if test \"\$libtool_execute_magic\" != \"$magic\"; then # Run the actual program with our arguments. func_exec_program \${1+\"\$@\"} fi else # The program doesn't exist. \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 exit 1 fi fi\ " } # func_emit_cwrapperexe_src # emit the source code for a wrapper executable on stdout # Must ONLY be called from within func_mode_link because # it depends on a number of variable set therein. func_emit_cwrapperexe_src () { cat < #include #ifdef _MSC_VER # include # include # include #else # include # include # ifdef __CYGWIN__ # include # endif #endif #include #include #include #include #include #include #include #include /* declarations of non-ANSI functions */ #if defined(__MINGW32__) # ifdef __STRICT_ANSI__ int _putenv (const char *); # endif #elif defined(__CYGWIN__) # ifdef __STRICT_ANSI__ char *realpath (const char *, char *); int putenv (char *); int setenv (const char *, const char *, int); # endif /* #elif defined (other platforms) ... */ #endif /* portability defines, excluding path handling macros */ #if defined(_MSC_VER) # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv # define S_IXUSR _S_IEXEC # ifndef _INTPTR_T_DEFINED # define _INTPTR_T_DEFINED # define intptr_t int # endif #elif defined(__MINGW32__) # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv #elif defined(__CYGWIN__) # define HAVE_SETENV # define FOPEN_WB "wb" /* #elif defined (other platforms) ... */ #endif #if defined(PATH_MAX) # define LT_PATHMAX PATH_MAX #elif defined(MAXPATHLEN) # define LT_PATHMAX MAXPATHLEN #else # define LT_PATHMAX 1024 #endif #ifndef S_IXOTH # define S_IXOTH 0 #endif #ifndef S_IXGRP # define S_IXGRP 0 #endif /* path handling portability macros */ #ifndef DIR_SEPARATOR # define DIR_SEPARATOR '/' # define PATH_SEPARATOR ':' #endif #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ defined (__OS2__) # define HAVE_DOS_BASED_FILE_SYSTEM # define FOPEN_WB "wb" # ifndef DIR_SEPARATOR_2 # define DIR_SEPARATOR_2 '\\' # endif # ifndef PATH_SEPARATOR_2 # define PATH_SEPARATOR_2 ';' # endif #endif #ifndef DIR_SEPARATOR_2 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) #else /* DIR_SEPARATOR_2 */ # define IS_DIR_SEPARATOR(ch) \ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) #endif /* DIR_SEPARATOR_2 */ #ifndef PATH_SEPARATOR_2 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) #else /* PATH_SEPARATOR_2 */ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) #endif /* PATH_SEPARATOR_2 */ #ifndef FOPEN_WB # define FOPEN_WB "w" #endif #ifndef _O_BINARY # define _O_BINARY 0 #endif #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ if (stale) { free ((void *) stale); stale = 0; } \ } while (0) #if defined(LT_DEBUGWRAPPER) static int lt_debug = 1; #else static int lt_debug = 0; #endif const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ void *xmalloc (size_t num); char *xstrdup (const char *string); const char *base_name (const char *name); char *find_executable (const char *wrapper); char *chase_symlinks (const char *pathspec); int make_executable (const char *path); int check_executable (const char *path); char *strendzap (char *str, const char *pat); void lt_debugprintf (const char *file, int line, const char *fmt, ...); void lt_fatal (const char *file, int line, const char *message, ...); static const char *nonnull (const char *s); static const char *nonempty (const char *s); void lt_setenv (const char *name, const char *value); char *lt_extend_str (const char *orig_value, const char *add, int to_end); void lt_update_exe_path (const char *name, const char *value); void lt_update_lib_path (const char *name, const char *value); char **prepare_spawn (char **argv); void lt_dump_script (FILE *f); EOF cat <= 0) && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) return 1; else return 0; } int make_executable (const char *path) { int rval = 0; struct stat st; lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", nonempty (path)); if ((!path) || (!*path)) return 0; if (stat (path, &st) >= 0) { rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); } return rval; } /* Searches for the full path of the wrapper. Returns newly allocated full path name if found, NULL otherwise Does not chase symlinks, even on platforms that support them. */ char * find_executable (const char *wrapper) { int has_slash = 0; const char *p; const char *p_next; /* static buffer for getcwd */ char tmp[LT_PATHMAX + 1]; int tmp_len; char *concat_name; lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", nonempty (wrapper)); if ((wrapper == NULL) || (*wrapper == '\0')) return NULL; /* Absolute path? */ #if defined (HAVE_DOS_BASED_FILE_SYSTEM) if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } else { #endif if (IS_DIR_SEPARATOR (wrapper[0])) { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } #if defined (HAVE_DOS_BASED_FILE_SYSTEM) } #endif for (p = wrapper; *p; p++) if (*p == '/') { has_slash = 1; break; } if (!has_slash) { /* no slashes; search PATH */ const char *path = getenv ("PATH"); if (path != NULL) { for (p = path; *p; p = p_next) { const char *q; size_t p_len; for (q = p; *q; q++) if (IS_PATH_SEPARATOR (*q)) break; p_len = q - p; p_next = (*q == '\0' ? q : q + 1); if (p_len == 0) { /* empty path: current directory */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", nonnull (strerror (errno))); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); } else { concat_name = XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, p, p_len); concat_name[p_len] = '/'; strcpy (concat_name + p_len + 1, wrapper); } if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } } /* not found in PATH; assume curdir */ } /* Relative path | not found in path: prepend cwd */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", nonnull (strerror (errno))); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); return NULL; } char * chase_symlinks (const char *pathspec) { #ifndef S_ISLNK return xstrdup (pathspec); #else char buf[LT_PATHMAX]; struct stat s; char *tmp_pathspec = xstrdup (pathspec); char *p; int has_symlinks = 0; while (strlen (tmp_pathspec) && !has_symlinks) { lt_debugprintf (__FILE__, __LINE__, "checking path component for symlinks: %s\n", tmp_pathspec); if (lstat (tmp_pathspec, &s) == 0) { if (S_ISLNK (s.st_mode) != 0) { has_symlinks = 1; break; } /* search backwards for last DIR_SEPARATOR */ p = tmp_pathspec + strlen (tmp_pathspec) - 1; while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) p--; if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) { /* no more DIR_SEPARATORS left */ break; } *p = '\0'; } else { lt_fatal (__FILE__, __LINE__, "error accessing file \"%s\": %s", tmp_pathspec, nonnull (strerror (errno))); } } XFREE (tmp_pathspec); if (!has_symlinks) { return xstrdup (pathspec); } tmp_pathspec = realpath (pathspec, buf); if (tmp_pathspec == 0) { lt_fatal (__FILE__, __LINE__, "could not follow symlinks for %s", pathspec); } return xstrdup (tmp_pathspec); #endif } char * strendzap (char *str, const char *pat) { size_t len, patlen; assert (str != NULL); assert (pat != NULL); len = strlen (str); patlen = strlen (pat); if (patlen <= len) { str += len - patlen; if (strcmp (str, pat) == 0) *str = '\0'; } return str; } void lt_debugprintf (const char *file, int line, const char *fmt, ...) { va_list args; if (lt_debug) { (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); va_start (args, fmt); (void) vfprintf (stderr, fmt, args); va_end (args); } } static void lt_error_core (int exit_status, const char *file, int line, const char *mode, const char *message, va_list ap) { fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); vfprintf (stderr, message, ap); fprintf (stderr, ".\n"); if (exit_status >= 0) exit (exit_status); } void lt_fatal (const char *file, int line, const char *message, ...) { va_list ap; va_start (ap, message); lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); va_end (ap); } static const char * nonnull (const char *s) { return s ? s : "(null)"; } static const char * nonempty (const char *s) { return (s && !*s) ? "(empty)" : nonnull (s); } void lt_setenv (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_setenv) setting '%s' to '%s'\n", nonnull (name), nonnull (value)); { #ifdef HAVE_SETENV /* always make a copy, for consistency with !HAVE_SETENV */ char *str = xstrdup (value); setenv (name, str, 1); #else int len = strlen (name) + 1 + strlen (value) + 1; char *str = XMALLOC (char, len); sprintf (str, "%s=%s", name, value); if (putenv (str) != EXIT_SUCCESS) { XFREE (str); } #endif } } char * lt_extend_str (const char *orig_value, const char *add, int to_end) { char *new_value; if (orig_value && *orig_value) { int orig_value_len = strlen (orig_value); int add_len = strlen (add); new_value = XMALLOC (char, add_len + orig_value_len + 1); if (to_end) { strcpy (new_value, orig_value); strcpy (new_value + orig_value_len, add); } else { strcpy (new_value, add); strcpy (new_value + add_len, orig_value); } } else { new_value = xstrdup (add); } return new_value; } void lt_update_exe_path (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", nonnull (name), nonnull (value)); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); /* some systems can't cope with a ':'-terminated path #' */ int len = strlen (new_value); while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1])) { new_value[len-1] = '\0'; } lt_setenv (name, new_value); XFREE (new_value); } } void lt_update_lib_path (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", nonnull (name), nonnull (value)); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); lt_setenv (name, new_value); XFREE (new_value); } } EOF case $host_os in mingw*) cat <<"EOF" /* Prepares an argument vector before calling spawn(). Note that spawn() does not by itself call the command interpreter (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); GetVersionEx(&v); v.dwPlatformId == VER_PLATFORM_WIN32_NT; }) ? "cmd.exe" : "command.com"). Instead it simply concatenates the arguments, separated by ' ', and calls CreateProcess(). We must quote the arguments since Win32 CreateProcess() interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a special way: - Space and tab are interpreted as delimiters. They are not treated as delimiters if they are surrounded by double quotes: "...". - Unescaped double quotes are removed from the input. Their only effect is that within double quotes, space and tab are treated like normal characters. - Backslashes not followed by double quotes are not special. - But 2*n+1 backslashes followed by a double quote become n backslashes followed by a double quote (n >= 0): \" -> " \\\" -> \" \\\\\" -> \\" */ #define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" #define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" char ** prepare_spawn (char **argv) { size_t argc; char **new_argv; size_t i; /* Count number of arguments. */ for (argc = 0; argv[argc] != NULL; argc++) ; /* Allocate new argument vector. */ new_argv = XMALLOC (char *, argc + 1); /* Put quoted arguments into the new argument vector. */ for (i = 0; i < argc; i++) { const char *string = argv[i]; if (string[0] == '\0') new_argv[i] = xstrdup ("\"\""); else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) { int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); size_t length; unsigned int backslashes; const char *s; char *quoted_string; char *p; length = 0; backslashes = 0; if (quote_around) length++; for (s = string; *s != '\0'; s++) { char c = *s; if (c == '"') length += backslashes + 1; length++; if (c == '\\') backslashes++; else backslashes = 0; } if (quote_around) length += backslashes + 1; quoted_string = XMALLOC (char, length + 1); p = quoted_string; backslashes = 0; if (quote_around) *p++ = '"'; for (s = string; *s != '\0'; s++) { char c = *s; if (c == '"') { unsigned int j; for (j = backslashes + 1; j > 0; j--) *p++ = '\\'; } *p++ = c; if (c == '\\') backslashes++; else backslashes = 0; } if (quote_around) { unsigned int j; for (j = backslashes; j > 0; j--) *p++ = '\\'; *p++ = '"'; } *p = '\0'; new_argv[i] = quoted_string; } else new_argv[i] = (char *) string; } new_argv[argc] = NULL; return new_argv; } EOF ;; esac cat <<"EOF" void lt_dump_script (FILE* f) { EOF func_emit_wrapper yes | $SED -n -e ' s/^\(.\{79\}\)\(..*\)/\1\ \2/ h s/\([\\"]\)/\\\1/g s/$/\\n/ s/\([^\n]*\).*/ fputs ("\1", f);/p g D' cat <<"EOF" } EOF } # end: func_emit_cwrapperexe_src # func_win32_import_lib_p ARG # True if ARG is an import lib, as indicated by $file_magic_cmd func_win32_import_lib_p () { $opt_debug case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in *import*) : ;; *) false ;; esac } # func_mode_link arg... func_mode_link () { $opt_debug case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) # It is impossible to link a dll without this setting, and # we shouldn't force the makefile maintainer to figure out # which system we are compiling for in order to pass an extra # flag for every libtool invocation. # allow_undefined=no # FIXME: Unfortunately, there are problems with the above when trying # to make a dll which has undefined symbols, in which case not # even a static library is built. For now, we need to specify # -no-undefined on the libtool link line when we can be certain # that all symbols are satisfied, otherwise we get a static library. allow_undefined=yes ;; *) allow_undefined=yes ;; esac libtool_args=$nonopt base_compile="$nonopt $@" compile_command=$nonopt finalize_command=$nonopt compile_rpath= finalize_rpath= compile_shlibpath= finalize_shlibpath= convenience= old_convenience= deplibs= old_deplibs= compiler_flags= linker_flags= dllsearchpath= lib_search_path=`pwd` inst_prefix_dir= new_inherited_linker_flags= avoid_version=no bindir= dlfiles= dlprefiles= dlself=no export_dynamic=no export_symbols= export_symbols_regex= generated= libobjs= ltlibs= module=no no_install=no objs= non_pic_objects= precious_files_regex= prefer_static_libs=no preload=no prev= prevarg= release= rpath= xrpath= perm_rpath= temp_rpath= thread_safe=no vinfo= vinfo_number=no weak_libs= single_module="${wl}-single_module" func_infer_tag $base_compile # We need to know -static, to get the right output filenames. for arg do case $arg in -shared) test "$build_libtool_libs" != yes && \ func_fatal_configuration "can not build a shared library" build_old_libs=no break ;; -all-static | -static | -static-libtool-libs) case $arg in -all-static) if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then func_warning "complete static linking is impossible in this configuration" fi if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built ;; -static-libtool-libs) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; esac build_libtool_libs=no build_old_libs=yes break ;; esac done # See if our shared archives depend on static archives. test -n "$old_archive_from_new_cmds" && build_old_libs=yes # Go through the arguments, transforming them on the way. while test "$#" -gt 0; do arg="$1" shift func_quote_for_eval "$arg" qarg=$func_quote_for_eval_unquoted_result func_append libtool_args " $func_quote_for_eval_result" # If the previous option needs an argument, assign it. if test -n "$prev"; then case $prev in output) func_append compile_command " @OUTPUT@" func_append finalize_command " @OUTPUT@" ;; esac case $prev in bindir) bindir="$arg" prev= continue ;; dlfiles|dlprefiles) if test "$preload" = no; then # Add the symbol object into the linking commands. func_append compile_command " @SYMFILE@" func_append finalize_command " @SYMFILE@" preload=yes fi case $arg in *.la | *.lo) ;; # We handle these cases below. force) if test "$dlself" = no; then dlself=needless export_dynamic=yes fi prev= continue ;; self) if test "$prev" = dlprefiles; then dlself=yes elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then dlself=yes else dlself=needless export_dynamic=yes fi prev= continue ;; *) if test "$prev" = dlfiles; then func_append dlfiles " $arg" else func_append dlprefiles " $arg" fi prev= continue ;; esac ;; expsyms) export_symbols="$arg" test -f "$arg" \ || func_fatal_error "symbol file \`$arg' does not exist" prev= continue ;; expsyms_regex) export_symbols_regex="$arg" prev= continue ;; framework) case $host in *-*-darwin*) case "$deplibs " in *" $qarg.ltframework "*) ;; *) func_append deplibs " $qarg.ltframework" # this is fixed later ;; esac ;; esac prev= continue ;; inst_prefix) inst_prefix_dir="$arg" prev= continue ;; objectlist) if test -f "$arg"; then save_arg=$arg moreargs= for fil in `cat "$save_arg"` do # func_append moreargs " $fil" arg=$fil # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test "$pic_object" = none && test "$non_pic_object" = none; then func_fatal_error "cannot find name of object for \`$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then func_append dlfiles " $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. func_append dlprefiles " $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "\`$arg' is not a valid libtool object" fi fi done else func_fatal_error "link input file \`$arg' does not exist" fi arg=$save_arg prev= continue ;; precious_regex) precious_files_regex="$arg" prev= continue ;; release) release="-$arg" prev= continue ;; rpath | xrpath) # We need an absolute path. case $arg in [\\/]* | [A-Za-z]:[\\/]*) ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac if test "$prev" = rpath; then case "$rpath " in *" $arg "*) ;; *) func_append rpath " $arg" ;; esac else case "$xrpath " in *" $arg "*) ;; *) func_append xrpath " $arg" ;; esac fi prev= continue ;; shrext) shrext_cmds="$arg" prev= continue ;; weak) func_append weak_libs " $arg" prev= continue ;; xcclinker) func_append linker_flags " $qarg" func_append compiler_flags " $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xcompiler) func_append compiler_flags " $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xlinker) func_append linker_flags " $qarg" func_append compiler_flags " $wl$qarg" prev= func_append compile_command " $wl$qarg" func_append finalize_command " $wl$qarg" continue ;; *) eval "$prev=\"\$arg\"" prev= continue ;; esac fi # test -n "$prev" prevarg="$arg" case $arg in -all-static) if test -n "$link_static_flag"; then # See comment for -static flag below, for more details. func_append compile_command " $link_static_flag" func_append finalize_command " $link_static_flag" fi continue ;; -allow-undefined) # FIXME: remove this flag sometime in the future. func_fatal_error "\`-allow-undefined' must not be used because it is the default" ;; -avoid-version) avoid_version=yes continue ;; -bindir) prev=bindir continue ;; -dlopen) prev=dlfiles continue ;; -dlpreopen) prev=dlprefiles continue ;; -export-dynamic) export_dynamic=yes continue ;; -export-symbols | -export-symbols-regex) if test -n "$export_symbols" || test -n "$export_symbols_regex"; then func_fatal_error "more than one -exported-symbols argument is not allowed" fi if test "X$arg" = "X-export-symbols"; then prev=expsyms else prev=expsyms_regex fi continue ;; -framework) prev=framework continue ;; -inst-prefix-dir) prev=inst_prefix continue ;; # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* # so, if we see these flags be careful not to treat them like -L -L[A-Z][A-Z]*:*) case $with_gcc/$host in no/*-*-irix* | /*-*-irix*) func_append compile_command " $arg" func_append finalize_command " $arg" ;; esac continue ;; -L*) func_stripname "-L" '' "$arg" if test -z "$func_stripname_result"; then if test "$#" -gt 0; then func_fatal_error "require no space between \`-L' and \`$1'" else func_fatal_error "need path for \`-L' option" fi fi func_resolve_sysroot "$func_stripname_result" dir=$func_resolve_sysroot_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) absdir=`cd "$dir" && pwd` test -z "$absdir" && \ func_fatal_error "cannot determine absolute directory name of \`$dir'" dir="$absdir" ;; esac case "$deplibs " in *" -L$dir "* | *" $arg "*) # Will only happen for absolute or sysroot arguments ;; *) # Preserve sysroot, but never include relative directories case $dir in [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; *) func_append deplibs " -L$dir" ;; esac func_append lib_search_path " $dir" ;; esac case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; ::) dllsearchpath=$dir;; *) func_append dllsearchpath ":$dir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) func_append dllsearchpath ":$testbindir";; esac ;; esac continue ;; -l*) if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) # These systems don't actually have a C or math library (as such) continue ;; *-*-os2*) # These systems don't actually have a C library (as such) test "X$arg" = "X-lc" && continue ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. test "X$arg" = "X-lc" && continue ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C and math libraries are in the System framework func_append deplibs " System.ltframework" continue ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype test "X$arg" = "X-lc" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work test "X$arg" = "X-lc" && continue ;; esac elif test "X$arg" = "X-lc_r"; then case $host in *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi func_append deplibs " $arg" continue ;; -module) module=yes continue ;; # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. # Darwin uses the -arch flag to determine output architecture. -model|-arch|-isysroot|--sysroot) func_append compiler_flags " $arg" func_append compile_command " $arg" func_append finalize_command " $arg" prev=xcompiler continue ;; -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) func_append compiler_flags " $arg" func_append compile_command " $arg" func_append finalize_command " $arg" case "$new_inherited_linker_flags " in *" $arg "*) ;; * ) func_append new_inherited_linker_flags " $arg" ;; esac continue ;; -multi_module) single_module="${wl}-multi_module" continue ;; -no-fast-install) fast_install=no continue ;; -no-install) case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin in order for the loader to find any dlls it needs. func_warning "\`-no-install' is ignored for $host" func_warning "assuming \`-no-fast-install' instead" fast_install=no ;; *) no_install=yes ;; esac continue ;; -no-undefined) allow_undefined=no continue ;; -objectlist) prev=objectlist continue ;; -o) prev=output ;; -precious-files-regex) prev=precious_regex continue ;; -release) prev=release continue ;; -rpath) prev=rpath continue ;; -R) prev=xrpath continue ;; -R*) func_stripname '-R' '' "$arg" dir=$func_stripname_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; =*) func_stripname '=' '' "$dir" dir=$lt_sysroot$func_stripname_result ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac case "$xrpath " in *" $dir "*) ;; *) func_append xrpath " $dir" ;; esac continue ;; -shared) # The effects of -shared are defined in a previous loop. continue ;; -shrext) prev=shrext continue ;; -static | -static-libtool-libs) # The effects of -static are defined in a previous loop. # We used to do the same as -all-static on platforms that # didn't have a PIC flag, but the assumption that the effects # would be equivalent was wrong. It would break on at least # Digital Unix and AIX. continue ;; -thread-safe) thread_safe=yes continue ;; -version-info) prev=vinfo continue ;; -version-number) prev=vinfo vinfo_number=yes continue ;; -weak) prev=weak continue ;; -Wc,*) func_stripname '-Wc,' '' "$arg" args=$func_stripname_result arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" func_quote_for_eval "$flag" func_append arg " $func_quote_for_eval_result" func_append compiler_flags " $func_quote_for_eval_result" done IFS="$save_ifs" func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Wl,*) func_stripname '-Wl,' '' "$arg" args=$func_stripname_result arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" func_quote_for_eval "$flag" func_append arg " $wl$func_quote_for_eval_result" func_append compiler_flags " $wl$func_quote_for_eval_result" func_append linker_flags " $func_quote_for_eval_result" done IFS="$save_ifs" func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Xcompiler) prev=xcompiler continue ;; -Xlinker) prev=xlinker continue ;; -XCClinker) prev=xcclinker continue ;; # -msg_* for osf cc -msg_*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; # Flags to be passed through unchanged, with rationale: # -64, -mips[0-9] enable 64-bit mode for the SGI compiler # -r[0-9][0-9]* specify processor for the SGI compiler # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler # +DA*, +DD* enable 64-bit mode for the HP compiler # -q* compiler args for the IBM compiler # -m*, -t[45]*, -txscale* architecture-specific flags for GCC # -F/path path to uninstalled frameworks, gcc on darwin # -p, -pg, --coverage, -fprofile-* profiling flags for GCC # @file GCC response files # -tp=* Portland pgcc target processor selection # --sysroot=* for sysroot support # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ -O*|-flto*|-fwhopr*|-fuse-linker-plugin) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" func_append compile_command " $arg" func_append finalize_command " $arg" func_append compiler_flags " $arg" continue ;; # Some other compiler flag. -* | +*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; *.$objext) # A standard object. func_append objs " $arg" ;; *.lo) # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test "$pic_object" = none && test "$non_pic_object" = none; then func_fatal_error "cannot find name of object for \`$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then func_append dlfiles " $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. func_append dlprefiles " $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "\`$arg' is not a valid libtool object" fi fi ;; *.$libext) # An archive. func_append deplibs " $arg" func_append old_deplibs " $arg" continue ;; *.la) # A libtool-controlled library. func_resolve_sysroot "$arg" if test "$prev" = dlfiles; then # This library was specified with -dlopen. func_append dlfiles " $func_resolve_sysroot_result" prev= elif test "$prev" = dlprefiles; then # The library was specified with -dlpreopen. func_append dlprefiles " $func_resolve_sysroot_result" prev= else func_append deplibs " $func_resolve_sysroot_result" fi continue ;; # Some other compiler argument. *) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; esac # arg # Now actually substitute the argument into the commands. if test -n "$arg"; then func_append compile_command " $arg" func_append finalize_command " $arg" fi done # argument parsing loop test -n "$prev" && \ func_fatal_help "the \`$prevarg' option requires an argument" if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then eval arg=\"$export_dynamic_flag_spec\" func_append compile_command " $arg" func_append finalize_command " $arg" fi oldlibs= # calculate the name of the file, without its directory func_basename "$output" outputname="$func_basename_result" libobjs_save="$libobjs" if test -n "$shlibpath_var"; then # get the directories listed in $shlibpath_var eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\` else shlib_search_path= fi eval sys_lib_search_path=\"$sys_lib_search_path_spec\" eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" func_dirname "$output" "/" "" output_objdir="$func_dirname_result$objdir" func_to_tool_file "$output_objdir/" tool_output_objdir=$func_to_tool_file_result # Create the object directory. func_mkdir_p "$output_objdir" # Determine the type of output case $output in "") func_fatal_help "you must specify an output file" ;; *.$libext) linkmode=oldlib ;; *.lo | *.$objext) linkmode=obj ;; *.la) linkmode=lib ;; *) linkmode=prog ;; # Anything else should be a program. esac specialdeplibs= libs= # Find all interdependent deplibs by searching for libraries # that are linked more than once (e.g. -la -lb -la) for deplib in $deplibs; do if $opt_preserve_dup_deps ; then case "$libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append libs " $deplib" done if test "$linkmode" = lib; then libs="$predeps $libs $compiler_lib_search_path $postdeps" # Compute libraries that are listed more than once in $predeps # $postdeps and mark them as special (i.e., whose duplicates are # not to be eliminated). pre_post_deps= if $opt_duplicate_compiler_generated_deps; then for pre_post_dep in $predeps $postdeps; do case "$pre_post_deps " in *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; esac func_append pre_post_deps " $pre_post_dep" done fi pre_post_deps= fi deplibs= newdependency_libs= newlib_search_path= need_relink=no # whether we're linking any uninstalled libtool libraries notinst_deplibs= # not-installed libtool libraries notinst_path= # paths that contain not-installed libtool libraries case $linkmode in lib) passes="conv dlpreopen link" for file in $dlfiles $dlprefiles; do case $file in *.la) ;; *) func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" ;; esac done ;; prog) compile_deplibs= finalize_deplibs= alldeplibs=no newdlfiles= newdlprefiles= passes="conv scan dlopen dlpreopen link" ;; *) passes="conv" ;; esac for pass in $passes; do # The preopen pass in lib mode reverses $deplibs; put it back here # so that -L comes before libs that need it for instance... if test "$linkmode,$pass" = "lib,link"; then ## FIXME: Find the place where the list is rebuilt in the wrong ## order, and fix it there properly tmp_deplibs= for deplib in $deplibs; do tmp_deplibs="$deplib $tmp_deplibs" done deplibs="$tmp_deplibs" fi if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan"; then libs="$deplibs" deplibs= fi if test "$linkmode" = prog; then case $pass in dlopen) libs="$dlfiles" ;; dlpreopen) libs="$dlprefiles" ;; link) libs="$deplibs %DEPLIBS%" test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" ;; esac fi if test "$linkmode,$pass" = "lib,dlpreopen"; then # Collect and forward deplibs of preopened libtool libs for lib in $dlprefiles; do # Ignore non-libtool-libs dependency_libs= func_resolve_sysroot "$lib" case $lib in *.la) func_source "$func_resolve_sysroot_result" ;; esac # Collect preopened libtool deplibs, except any this library # has declared as weak libs for deplib in $dependency_libs; do func_basename "$deplib" deplib_base=$func_basename_result case " $weak_libs " in *" $deplib_base "*) ;; *) func_append deplibs " $deplib" ;; esac done done libs="$dlprefiles" fi if test "$pass" = dlopen; then # Collect dlpreopened libraries save_deplibs="$deplibs" deplibs= fi for deplib in $libs; do lib= found=no case $deplib in -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else func_append compiler_flags " $deplib" if test "$linkmode" = lib ; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) func_append new_inherited_linker_flags " $deplib" ;; esac fi fi continue ;; -l*) if test "$linkmode" != lib && test "$linkmode" != prog; then func_warning "\`-l' is ignored for archives/objects" continue fi func_stripname '-l' '' "$deplib" name=$func_stripname_result if test "$linkmode" = lib; then searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" else searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" fi for searchdir in $searchdirs; do for search_ext in .la $std_shrext .so .a; do # Search the libtool library lib="$searchdir/lib${name}${search_ext}" if test -f "$lib"; then if test "$search_ext" = ".la"; then found=yes else found=no fi break 2 fi done done if test "$found" != yes; then # deplib doesn't seem to be a libtool library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue else # deplib is a libtool library # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, # We need to do some special things here, and not later. if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $deplib "*) if func_lalib_p "$lib"; then library_names= old_library= func_source "$lib" for l in $old_library $library_names; do ll="$l" done if test "X$ll" = "X$old_library" ; then # only static version available found=no func_dirname "$lib" "" "." ladir="$func_dirname_result" lib=$ladir/$old_library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue fi fi ;; *) ;; esac fi fi ;; # -l *.ltframework) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" if test "$linkmode" = lib ; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) func_append new_inherited_linker_flags " $deplib" ;; esac fi fi continue ;; -L*) case $linkmode in lib) deplibs="$deplib $deplibs" test "$pass" = conv && continue newdependency_libs="$deplib $newdependency_libs" func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; prog) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi if test "$pass" = scan; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; *) func_warning "\`-L' is ignored for archives/objects" ;; esac # linkmode continue ;; # -L -R*) if test "$pass" = link; then func_stripname '-R' '' "$deplib" func_resolve_sysroot "$func_stripname_result" dir=$func_resolve_sysroot_result # Make sure the xrpath contains only unique directories. case "$xrpath " in *" $dir "*) ;; *) func_append xrpath " $dir" ;; esac fi deplibs="$deplib $deplibs" continue ;; *.la) func_resolve_sysroot "$deplib" lib=$func_resolve_sysroot_result ;; *.$libext) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi case $linkmode in lib) # Linking convenience modules into shared libraries is allowed, # but linking other static libraries is non-portable. case " $dlpreconveniencelibs " in *" $deplib "*) ;; *) valid_a_lib=no case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then valid_a_lib=yes fi ;; pass_all) valid_a_lib=yes ;; esac if test "$valid_a_lib" != yes; then echo $ECHO "*** Warning: Trying to link with static lib archive $deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because the file extensions .$libext of this argument makes me believe" echo "*** that it is just a static archive that I should not use here." else echo $ECHO "*** Warning: Linking the shared library $output against the" $ECHO "*** static library $deplib is not portable!" deplibs="$deplib $deplibs" fi ;; esac continue ;; prog) if test "$pass" != link; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi continue ;; esac # linkmode ;; # *.$libext *.lo | *.$objext) if test "$pass" = conv; then deplibs="$deplib $deplibs" elif test "$linkmode" = prog; then if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlopen support or we're linking statically, # we need to preload. func_append newdlprefiles " $deplib" compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else func_append newdlfiles " $deplib" fi fi continue ;; %DEPLIBS%) alldeplibs=yes continue ;; esac # case $deplib if test "$found" = yes || test -f "$lib"; then : else func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" fi # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$lib" \ || func_fatal_error "\`$lib' is not a valid libtool archive" func_dirname "$lib" "" "." ladir="$func_dirname_result" dlname= dlopen= dlpreopen= libdir= library_names= old_library= inherited_linker_flags= # If the library was installed with an old release of libtool, # it will not redefine variables installed, or shouldnotlink installed=yes shouldnotlink=no avoidtemprpath= # Read the .la file func_source "$lib" # Convert "-framework foo" to "foo.ltframework" if test -n "$inherited_linker_flags"; then tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do case " $new_inherited_linker_flags " in *" $tmp_inherited_linker_flag "*) ;; *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; esac done fi dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan" || { test "$linkmode" != prog && test "$linkmode" != lib; }; then test -n "$dlopen" && func_append dlfiles " $dlopen" test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" fi if test "$pass" = conv; then # Only check for convenience libraries deplibs="$lib $deplibs" if test -z "$libdir"; then if test -z "$old_library"; then func_fatal_error "cannot find name of link library for \`$lib'" fi # It is a libtool convenience library, so add in its objects. func_append convenience " $ladir/$objdir/$old_library" func_append old_convenience " $ladir/$objdir/$old_library" tmp_libs= for deplib in $dependency_libs; do deplibs="$deplib $deplibs" if $opt_preserve_dup_deps ; then case "$tmp_libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append tmp_libs " $deplib" done elif test "$linkmode" != prog && test "$linkmode" != lib; then func_fatal_error "\`$lib' is not a convenience library" fi continue fi # $pass = conv # Get the name of the library we link against. linklib= if test -n "$old_library" && { test "$prefer_static_libs" = yes || test "$prefer_static_libs,$installed" = "built,no"; }; then linklib=$old_library else for l in $old_library $library_names; do linklib="$l" done fi if test -z "$linklib"; then func_fatal_error "cannot find name of link library for \`$lib'" fi # This library was specified with -dlopen. if test "$pass" = dlopen; then if test -z "$libdir"; then func_fatal_error "cannot -dlopen a convenience library: \`$lib'" fi if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlname, no dlopen support or we're linking # statically, we need to preload. We also need to preload any # dependent libraries so libltdl's deplib preloader doesn't # bomb out in the load deplibs phase. func_append dlprefiles " $lib $dependency_libs" else func_append newdlfiles " $lib" fi continue fi # $pass = dlopen # We need an absolute path. case $ladir in [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; *) abs_ladir=`cd "$ladir" && pwd` if test -z "$abs_ladir"; then func_warning "cannot determine absolute directory name of \`$ladir'" func_warning "passing it literally to the linker, although it might fail" abs_ladir="$ladir" fi ;; esac func_basename "$lib" laname="$func_basename_result" # Find the relevant object directory and library name. if test "X$installed" = Xyes; then if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then func_warning "library \`$lib' was moved." dir="$ladir" absdir="$abs_ladir" libdir="$abs_ladir" else dir="$lt_sysroot$libdir" absdir="$lt_sysroot$libdir" fi test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes else if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then dir="$ladir" absdir="$abs_ladir" # Remove this search path later func_append notinst_path " $abs_ladir" else dir="$ladir/$objdir" absdir="$abs_ladir/$objdir" # Remove this search path later func_append notinst_path " $abs_ladir" fi fi # $installed = yes func_stripname 'lib' '.la' "$laname" name=$func_stripname_result # This library was specified with -dlpreopen. if test "$pass" = dlpreopen; then if test -z "$libdir" && test "$linkmode" = prog; then func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" fi case "$host" in # special handling for platforms with PE-DLLs. *cygwin* | *mingw* | *cegcc* ) # Linker will automatically link against shared library if both # static and shared are present. Therefore, ensure we extract # symbols from the import library if a shared library is present # (otherwise, the dlopen module name will be incorrect). We do # this by putting the import library name into $newdlprefiles. # We recover the dlopen module name by 'saving' the la file # name in a special purpose variable, and (later) extracting the # dlname from the la file. if test -n "$dlname"; then func_tr_sh "$dir/$linklib" eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" func_append newdlprefiles " $dir/$linklib" else func_append newdlprefiles " $dir/$old_library" # Keep a list of preopened convenience libraries to check # that they are being used correctly in the link pass. test -z "$libdir" && \ func_append dlpreconveniencelibs " $dir/$old_library" fi ;; * ) # Prefer using a static library (so that no silly _DYNAMIC symbols # are required to link). if test -n "$old_library"; then func_append newdlprefiles " $dir/$old_library" # Keep a list of preopened convenience libraries to check # that they are being used correctly in the link pass. test -z "$libdir" && \ func_append dlpreconveniencelibs " $dir/$old_library" # Otherwise, use the dlname, so that lt_dlopen finds it. elif test -n "$dlname"; then func_append newdlprefiles " $dir/$dlname" else func_append newdlprefiles " $dir/$linklib" fi ;; esac fi # $pass = dlpreopen if test -z "$libdir"; then # Link the convenience library if test "$linkmode" = lib; then deplibs="$dir/$old_library $deplibs" elif test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$dir/$old_library $compile_deplibs" finalize_deplibs="$dir/$old_library $finalize_deplibs" else deplibs="$lib $deplibs" # used for prog,scan pass fi continue fi if test "$linkmode" = prog && test "$pass" != link; then func_append newlib_search_path " $ladir" deplibs="$lib $deplibs" linkalldeplibs=no if test "$link_all_deplibs" != no || test -z "$library_names" || test "$build_libtool_libs" = no; then linkalldeplibs=yes fi tmp_libs= for deplib in $dependency_libs; do case $deplib in -L*) func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; esac # Need to link against all dependency_libs? if test "$linkalldeplibs" = yes; then deplibs="$deplib $deplibs" else # Need to hardcode shared library paths # or/and link against static libraries newdependency_libs="$deplib $newdependency_libs" fi if $opt_preserve_dup_deps ; then case "$tmp_libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append tmp_libs " $deplib" done # for deplib continue fi # $linkmode = prog... if test "$linkmode,$pass" = "prog,link"; then if test -n "$library_names" && { { test "$prefer_static_libs" = no || test "$prefer_static_libs,$installed" = "built,yes"; } || test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then # Make sure the rpath contains only unique directories. case "$temp_rpath:" in *"$absdir:"*) ;; *) func_append temp_rpath "$absdir:" ;; esac fi # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) func_append compile_rpath " $absdir" ;; esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac ;; esac fi # $linkmode,$pass = prog,link... if test "$alldeplibs" = yes && { test "$deplibs_check_method" = pass_all || { test "$build_libtool_libs" = yes && test -n "$library_names"; }; }; then # We only need to search for static libraries continue fi fi link_static=no # Whether the deplib will be linked statically use_static_libs=$prefer_static_libs if test "$use_static_libs" = built && test "$installed" = yes; then use_static_libs=no fi if test -n "$library_names" && { test "$use_static_libs" = no || test -z "$old_library"; }; then case $host in *cygwin* | *mingw* | *cegcc*) # No point in relinking DLLs because paths are not encoded func_append notinst_deplibs " $lib" need_relink=no ;; *) if test "$installed" = no; then func_append notinst_deplibs " $lib" need_relink=yes fi ;; esac # This is a shared library # Warn about portability, can't link against -module's on some # systems (darwin). Don't bleat about dlopened modules though! dlopenmodule="" for dlpremoduletest in $dlprefiles; do if test "X$dlpremoduletest" = "X$lib"; then dlopenmodule="$dlpremoduletest" break fi done if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then echo if test "$linkmode" = prog; then $ECHO "*** Warning: Linking the executable $output against the loadable module" else $ECHO "*** Warning: Linking the shared library $output against the loadable module" fi $ECHO "*** $linklib is not portable!" fi if test "$linkmode" = lib && test "$hardcode_into_libs" = yes; then # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) func_append compile_rpath " $absdir" ;; esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac ;; esac fi if test -n "$old_archive_from_expsyms_cmds"; then # figure out the soname set dummy $library_names shift realname="$1" shift libname=`eval "\\$ECHO \"$libname_spec\""` # use dlname if we got it. it's perfectly good, no? if test -n "$dlname"; then soname="$dlname" elif test -n "$soname_spec"; then # bleh windows case $host in *cygwin* | mingw* | *cegcc*) func_arith $current - $age major=$func_arith_result versuffix="-$major" ;; esac eval soname=\"$soname_spec\" else soname="$realname" fi # Make a new name for the extract_expsyms_cmds to use soroot="$soname" func_basename "$soroot" soname="$func_basename_result" func_stripname 'lib' '.dll' "$soname" newlib=libimp-$func_stripname_result.a # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : else func_verbose "extracting exported symbol list from \`$soname'" func_execute_cmds "$extract_expsyms_cmds" 'exit $?' fi # Create $newlib if test -f "$output_objdir/$newlib"; then :; else func_verbose "generating import library for \`$soname'" func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' fi # make sure the library variables are pointing to the new library dir=$output_objdir linklib=$newlib fi # test -n "$old_archive_from_expsyms_cmds" if test "$linkmode" = prog || test "$opt_mode" != relink; then add_shlibpath= add_dir= add= lib_linked=yes case $hardcode_action in immediate | unsupported) if test "$hardcode_direct" = no; then add="$dir/$linklib" case $host in *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; *-*-sysv4*uw2*) add_dir="-L$dir" ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-unixware7*) add_dir="-L$dir" ;; *-*-darwin* ) # if the lib is a (non-dlopened) module then we can not # link against it, someone is ignoring the earlier warnings if /usr/bin/file -L $add 2> /dev/null | $GREP ": [^:]* bundle" >/dev/null ; then if test "X$dlopenmodule" != "X$lib"; then $ECHO "*** Warning: lib $linklib is a module, not a shared library" if test -z "$old_library" ; then echo echo "*** And there doesn't seem to be a static archive available" echo "*** The link will probably fail, sorry" else add="$dir/$old_library" fi elif test -n "$old_library"; then add="$dir/$old_library" fi fi esac elif test "$hardcode_minus_L" = no; then case $host in *-*-sunos*) add_shlibpath="$dir" ;; esac add_dir="-L$dir" add="-l$name" elif test "$hardcode_shlibpath_var" = no; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; relink) if test "$hardcode_direct" = yes && test "$hardcode_direct_absolute" = no; then add="$dir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$absdir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) func_append add_dir " -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; *) lib_linked=no ;; esac if test "$lib_linked" != yes; then func_fatal_configuration "unsupported hardcode properties" fi if test -n "$add_shlibpath"; then case :$compile_shlibpath: in *":$add_shlibpath:"*) ;; *) func_append compile_shlibpath "$add_shlibpath:" ;; esac fi if test "$linkmode" = prog; then test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" test -n "$add" && compile_deplibs="$add $compile_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" if test "$hardcode_direct" != yes && test "$hardcode_minus_L" != yes && test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; esac fi fi fi if test "$linkmode" = prog || test "$opt_mode" = relink; then add_shlibpath= add_dir= add= # Finalize command for both is simple: just hardcode it. if test "$hardcode_direct" = yes && test "$hardcode_direct_absolute" = no; then add="$libdir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$libdir" add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; esac add="-l$name" elif test "$hardcode_automatic" = yes; then if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib" ; then add="$inst_prefix_dir$libdir/$linklib" else add="$libdir/$linklib" fi else # We cannot seem to hardcode it, guess we'll fake it. add_dir="-L$libdir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) func_append add_dir " -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" fi if test "$linkmode" = prog; then test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" test -n "$add" && finalize_deplibs="$add $finalize_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" fi fi elif test "$linkmode" = prog; then # Here we assume that one of hardcode_direct or hardcode_minus_L # is not unsupported. This is valid on all known static and # shared platforms. if test "$hardcode_direct" != unsupported; then test -n "$old_library" && linklib="$old_library" compile_deplibs="$dir/$linklib $compile_deplibs" finalize_deplibs="$dir/$linklib $finalize_deplibs" else compile_deplibs="-l$name -L$dir $compile_deplibs" finalize_deplibs="-l$name -L$dir $finalize_deplibs" fi elif test "$build_libtool_libs" = yes; then # Not a shared library if test "$deplibs_check_method" != pass_all; then # We're trying link a shared library against a static one # but the system doesn't support it. # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. echo $ECHO "*** Warning: This system can not link to static lib archive $lib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have." if test "$module" = yes; then echo "*** But as you try to build a module library, libtool will still create " echo "*** a static module, that should work as long as the dlopening application" echo "*** is linked with the -dlopen flag to resolve symbols at runtime." if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" echo "*** lists from a program, using \`nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi else deplibs="$dir/$old_library $deplibs" link_static=yes fi fi # link shared/static library? if test "$linkmode" = lib; then if test -n "$dependency_libs" && { test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes || test "$link_static" = yes; }; then # Extract -R from dependency_libs temp_deplibs= for libdir in $dependency_libs; do case $libdir in -R*) func_stripname '-R' '' "$libdir" temp_xrpath=$func_stripname_result case " $xrpath " in *" $temp_xrpath "*) ;; *) func_append xrpath " $temp_xrpath";; esac;; *) func_append temp_deplibs " $libdir";; esac done dependency_libs="$temp_deplibs" fi func_append newlib_search_path " $absdir" # Link against this library test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" # ... and its dependency_libs tmp_libs= for deplib in $dependency_libs; do newdependency_libs="$deplib $newdependency_libs" case $deplib in -L*) func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result";; *) func_resolve_sysroot "$deplib" ;; esac if $opt_preserve_dup_deps ; then case "$tmp_libs " in *" $func_resolve_sysroot_result "*) func_append specialdeplibs " $func_resolve_sysroot_result" ;; esac fi func_append tmp_libs " $func_resolve_sysroot_result" done if test "$link_all_deplibs" != no; then # Add the search paths of all dependency libraries for deplib in $dependency_libs; do path= case $deplib in -L*) path="$deplib" ;; *.la) func_resolve_sysroot "$deplib" deplib=$func_resolve_sysroot_result func_dirname "$deplib" "" "." dir=$func_dirname_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; *) absdir=`cd "$dir" && pwd` if test -z "$absdir"; then func_warning "cannot determine absolute directory name of \`$dir'" absdir="$dir" fi ;; esac if $GREP "^installed=no" $deplib > /dev/null; then case $host in *-*-darwin*) depdepl= eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` if test -n "$deplibrary_names" ; then for tmp in $deplibrary_names ; do depdepl=$tmp done if test -f "$absdir/$objdir/$depdepl" ; then depdepl="$absdir/$objdir/$depdepl" darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` if test -z "$darwin_install_name"; then darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` fi func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}" path= fi fi ;; *) path="-L$absdir/$objdir" ;; esac else eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" test "$absdir" != "$libdir" && \ func_warning "\`$deplib' seems to be moved" path="-L$absdir" fi ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$path $deplibs" ;; esac done fi # link_all_deplibs != no fi # linkmode = lib done # for deplib in $libs if test "$pass" = link; then if test "$linkmode" = "prog"; then compile_deplibs="$new_inherited_linker_flags $compile_deplibs" finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" else compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` fi fi dependency_libs="$newdependency_libs" if test "$pass" = dlpreopen; then # Link the dlpreopened libraries before other libraries for deplib in $save_deplibs; do deplibs="$deplib $deplibs" done fi if test "$pass" != dlopen; then if test "$pass" != conv; then # Make sure lib_search_path contains only unique directories. lib_search_path= for dir in $newlib_search_path; do case "$lib_search_path " in *" $dir "*) ;; *) func_append lib_search_path " $dir" ;; esac done newlib_search_path= fi if test "$linkmode,$pass" != "prog,link"; then vars="deplibs" else vars="compile_deplibs finalize_deplibs" fi for var in $vars dependency_libs; do # Add libraries to $var in reverse order eval tmp_libs=\"\$$var\" new_libs= for deplib in $tmp_libs; do # FIXME: Pedantically, this is the right thing to do, so # that some nasty dependency loop isn't accidentally # broken: #new_libs="$deplib $new_libs" # Pragmatically, this seems to cause very few problems in # practice: case $deplib in -L*) new_libs="$deplib $new_libs" ;; -R*) ;; *) # And here is the reason: when a library appears more # than once as an explicit dependence of a library, or # is implicitly linked in more than once by the # compiler, it is considered special, and multiple # occurrences thereof are not removed. Compare this # with having the same library being listed as a # dependency of multiple other libraries: in this case, # we know (pedantically, we assume) the library does not # need to be listed more than once, so we keep only the # last copy. This is not always right, but it is rare # enough that we require users that really mean to play # such unportable linking tricks to link the library # using -Wl,-lname, so that libtool does not consider it # for duplicate removal. case " $specialdeplibs " in *" $deplib "*) new_libs="$deplib $new_libs" ;; *) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$deplib $new_libs" ;; esac ;; esac ;; esac done tmp_libs= for deplib in $new_libs; do case $deplib in -L*) case " $tmp_libs " in *" $deplib "*) ;; *) func_append tmp_libs " $deplib" ;; esac ;; *) func_append tmp_libs " $deplib" ;; esac done eval $var=\"$tmp_libs\" done # for var fi # Last step: remove runtime libs from dependency_libs # (they stay in deplibs) tmp_libs= for i in $dependency_libs ; do case " $predeps $postdeps $compiler_lib_search_path " in *" $i "*) i="" ;; esac if test -n "$i" ; then func_append tmp_libs " $i" fi done dependency_libs=$tmp_libs done # for pass if test "$linkmode" = prog; then dlfiles="$newdlfiles" fi if test "$linkmode" = prog || test "$linkmode" = lib; then dlprefiles="$newdlprefiles" fi case $linkmode in oldlib) if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then func_warning "\`-dlopen' is ignored for archives" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "\`-l' and \`-L' are ignored for archives" ;; esac test -n "$rpath" && \ func_warning "\`-rpath' is ignored for archives" test -n "$xrpath" && \ func_warning "\`-R' is ignored for archives" test -n "$vinfo" && \ func_warning "\`-version-info/-version-number' is ignored for archives" test -n "$release" && \ func_warning "\`-release' is ignored for archives" test -n "$export_symbols$export_symbols_regex" && \ func_warning "\`-export-symbols' is ignored for archives" # Now set the variables for building old libraries. build_libtool_libs=no oldlibs="$output" func_append objs "$old_deplibs" ;; lib) # Make sure we only generate libraries of the form `libNAME.la'. case $outputname in lib*) func_stripname 'lib' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" ;; *) test "$module" = no && \ func_fatal_help "libtool library \`$output' must begin with \`lib'" if test "$need_lib_prefix" != no; then # Add the "lib" prefix for modules if required func_stripname '' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" else func_stripname '' '.la' "$outputname" libname=$func_stripname_result fi ;; esac if test -n "$objs"; then if test "$deplibs_check_method" != pass_all; then func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" else echo $ECHO "*** Warning: Linking the shared library $output against the non-libtool" $ECHO "*** objects $objs is not portable!" func_append libobjs " $objs" fi fi test "$dlself" != no && \ func_warning "\`-dlopen self' is ignored for libtool libraries" set dummy $rpath shift test "$#" -gt 1 && \ func_warning "ignoring multiple \`-rpath's for a libtool library" install_libdir="$1" oldlibs= if test -z "$rpath"; then if test "$build_libtool_libs" = yes; then # Building a libtool convenience library. # Some compilers have problems with a `.al' extension so # convenience libraries should have the same extension an # archive normally would. oldlibs="$output_objdir/$libname.$libext $oldlibs" build_libtool_libs=convenience build_old_libs=yes fi test -n "$vinfo" && \ func_warning "\`-version-info/-version-number' is ignored for convenience libraries" test -n "$release" && \ func_warning "\`-release' is ignored for convenience libraries" else # Parse the version information argument. save_ifs="$IFS"; IFS=':' set dummy $vinfo 0 0 0 shift IFS="$save_ifs" test -n "$7" && \ func_fatal_help "too many parameters to \`-version-info'" # convert absolute version numbers to libtool ages # this retains compatibility with .la files and attempts # to make the code below a bit more comprehensible case $vinfo_number in yes) number_major="$1" number_minor="$2" number_revision="$3" # # There are really only two kinds -- those that # use the current revision as the major version # and those that subtract age and use age as # a minor version. But, then there is irix # which has an extra 1 added just for fun # case $version_type in # correct linux to gnu/linux during the next big refactor darwin|linux|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result age="$number_minor" revision="$number_revision" ;; freebsd-aout|freebsd-elf|qnx|sunos) current="$number_major" revision="$number_minor" age="0" ;; irix|nonstopux) func_arith $number_major + $number_minor current=$func_arith_result age="$number_minor" revision="$number_minor" lt_irix_increment=no ;; *) func_fatal_configuration "$modename: unknown library version type \`$version_type'" ;; esac ;; no) current="$1" revision="$2" age="$3" ;; esac # Check that each of the things are valid numbers. case $current in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "CURRENT \`$current' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "REVISION \`$revision' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "AGE \`$age' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac if test "$age" -gt "$current"; then func_error "AGE \`$age' is greater than the current interface number \`$current'" func_fatal_error "\`$vinfo' is not valid version information" fi # Calculate the version variables. major= versuffix= verstring= case $version_type in none) ;; darwin) # Like Linux, but with the current version available in # verstring for coding it into the library header func_arith $current - $age major=.$func_arith_result versuffix="$major.$age.$revision" # Darwin ld doesn't like 0 for these options... func_arith $current + 1 minor_current=$func_arith_result xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" ;; freebsd-aout) major=".$current" versuffix=".$current.$revision"; ;; freebsd-elf) major=".$current" versuffix=".$current" ;; irix | nonstopux) if test "X$lt_irix_increment" = "Xno"; then func_arith $current - $age else func_arith $current - $age + 1 fi major=$func_arith_result case $version_type in nonstopux) verstring_prefix=nonstopux ;; *) verstring_prefix=sgi ;; esac verstring="$verstring_prefix$major.$revision" # Add in all the interfaces that we are compatible with. loop=$revision while test "$loop" -ne 0; do func_arith $revision - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring="$verstring_prefix$major.$iface:$verstring" done # Before this point, $major must not contain `.'. major=.$major versuffix="$major.$revision" ;; linux) # correct to gnu/linux during the next big refactor func_arith $current - $age major=.$func_arith_result versuffix="$major.$age.$revision" ;; osf) func_arith $current - $age major=.$func_arith_result versuffix=".$current.$age.$revision" verstring="$current.$age.$revision" # Add in all the interfaces that we are compatible with. loop=$age while test "$loop" -ne 0; do func_arith $current - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring="$verstring:${iface}.0" done # Make executables depend on our current version. func_append verstring ":${current}.0" ;; qnx) major=".$current" versuffix=".$current" ;; sunos) major=".$current" versuffix=".$current.$revision" ;; windows) # Use '-' rather than '.', since we only want one # extension on DOS 8.3 filesystems. func_arith $current - $age major=$func_arith_result versuffix="-$major" ;; *) func_fatal_configuration "unknown library version type \`$version_type'" ;; esac # Clear the version info if we defaulted, and they specified a release. if test -z "$vinfo" && test -n "$release"; then major= case $version_type in darwin) # we can't check for "0.0" in archive_cmds due to quoting # problems, so we reset it completely verstring= ;; *) verstring="0.0" ;; esac if test "$need_version" = no; then versuffix= else versuffix=".0.0" fi fi # Remove version info from name if versioning should be avoided if test "$avoid_version" = yes && test "$need_version" = no; then major= versuffix= verstring="" fi # Check to see if the archive will have undefined symbols. if test "$allow_undefined" = yes; then if test "$allow_undefined_flag" = unsupported; then func_warning "undefined symbols not allowed in $host shared libraries" build_libtool_libs=no build_old_libs=yes fi else # Don't allow undefined symbols. allow_undefined_flag="$no_undefined_flag" fi fi func_generate_dlsyms "$libname" "$libname" "yes" func_append libobjs " $symfileobj" test "X$libobjs" = "X " && libobjs= if test "$opt_mode" != relink; then # Remove our outputs, but don't remove object files since they # may have been created when compiling PIC objects. removelist= tempremovelist=`$ECHO "$output_objdir/*"` for p in $tempremovelist; do case $p in *.$objext | *.gcno) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) if test "X$precious_files_regex" != "X"; then if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue fi fi func_append removelist " $p" ;; *) ;; esac done test -n "$removelist" && \ func_show_eval "${RM}r \$removelist" fi # Now set the variables for building old libraries. if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then func_append oldlibs " $output_objdir/$libname.$libext" # Transform .lo files to .o files. oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP` fi # Eliminate all temporary directories. #for path in $notinst_path; do # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` #done if test -n "$xrpath"; then # If the user specified any rpath flags, then add them. temp_xrpath= for libdir in $xrpath; do func_replace_sysroot "$libdir" func_append temp_xrpath " -R$func_replace_sysroot_result" case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac done if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then dependency_libs="$temp_xrpath $dependency_libs" fi fi # Make sure dlfiles contains only unique files that won't be dlpreopened old_dlfiles="$dlfiles" dlfiles= for lib in $old_dlfiles; do case " $dlprefiles $dlfiles " in *" $lib "*) ;; *) func_append dlfiles " $lib" ;; esac done # Make sure dlprefiles contains only unique files old_dlprefiles="$dlprefiles" dlprefiles= for lib in $old_dlprefiles; do case "$dlprefiles " in *" $lib "*) ;; *) func_append dlprefiles " $lib" ;; esac done if test "$build_libtool_libs" = yes; then if test -n "$rpath"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) # these systems don't actually have a c library (as such)! ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C library is in the System framework func_append deplibs " System.ltframework" ;; *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work ;; *) # Add libc to deplibs on all other systems if necessary. if test "$build_libtool_need_lc" = "yes"; then func_append deplibs " -lc" fi ;; esac fi # Transform deplibs into only deplibs that can be linked in shared. name_save=$name libname_save=$libname release_save=$release versuffix_save=$versuffix major_save=$major # I'm not sure if I'm treating the release correctly. I think # release should show up in the -l (ie -lgmp5) so we don't want to # add it in twice. Is that correct? release="" versuffix="" major="" newdeplibs= droppeddeps=no case $deplibs_check_method in pass_all) # Don't check for shared/static. Everything works. # This might be a little naive. We might want to check # whether the library exists or not. But this is on # osf3 & osf4 and I'm not really sure... Just # implementing what was already the behavior. newdeplibs=$deplibs ;; test_compile) # This code stresses the "libraries are programs" paradigm to its # limits. Maybe even breaks it. We compile a program, linking it # against the deplibs as a proxy for the library. Then we can check # whether they linked in statically or dynamically with ldd. $opt_dry_run || $RM conftest.c cat > conftest.c </dev/null` $nocaseglob else potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` fi for potent_lib in $potential_libs; do # Follow soft links. if ls -lLd "$potent_lib" 2>/dev/null | $GREP " -> " >/dev/null; then continue fi # The statement above tries to avoid entering an # endless loop below, in case of cyclic links. # We might still enter an endless loop, since a link # loop can be closed while we follow links, # but so what? potlib="$potent_lib" while test -h "$potlib" 2>/dev/null; do potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` case $potliblink in [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";; esac done if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | $SED -e 10q | $EGREP "$file_magic_regex" > /dev/null; then func_append newdeplibs " $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $ECHO "*** with $libname but no candidates were found. (...for file magic test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a file magic. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. func_append newdeplibs " $a_deplib" ;; esac done # Gone through all deplibs. ;; match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` for a_deplib in $deplibs; do case $a_deplib in -l*) func_stripname -l '' "$a_deplib" name=$func_stripname_result if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $a_deplib "*) func_append newdeplibs " $a_deplib" a_deplib="" ;; esac fi if test -n "$a_deplib" ; then libname=`eval "\\$ECHO \"$libname_spec\""` for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do potential_libs=`ls $i/$libname[.-]* 2>/dev/null` for potent_lib in $potential_libs; do potlib="$potent_lib" # see symlink-check above in file_magic test if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ $EGREP "$match_pattern_regex" > /dev/null; then func_append newdeplibs " $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a regex pattern. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. func_append newdeplibs " $a_deplib" ;; esac done # Gone through all deplibs. ;; none | unknown | *) newdeplibs="" tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then for i in $predeps $postdeps ; do # can't use Xsed below, because $i might contain '/' tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"` done fi case $tmp_deplibs in *[!\ \ ]*) echo if test "X$deplibs_check_method" = "Xnone"; then echo "*** Warning: inter-library dependencies are not supported in this platform." else echo "*** Warning: inter-library dependencies are not known to be supported." fi echo "*** All declared inter-library dependencies are being dropped." droppeddeps=yes ;; esac ;; esac versuffix=$versuffix_save major=$major_save release=$release_save libname=$libname_save name=$name_save case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library with the System framework newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` ;; esac if test "$droppeddeps" = yes; then if test "$module" = yes; then echo echo "*** Warning: libtool could not satisfy all declared inter-library" $ECHO "*** dependencies of module $libname. Therefore, libtool will create" echo "*** a static module, that should work as long as the dlopening" echo "*** application is linked with the -dlopen flag." if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" echo "*** lists from a program, using \`nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi else echo "*** The inter-library dependencies that have been dropped here will be" echo "*** automatically added whenever a program is linked with this library" echo "*** or is declared to -dlopen it." if test "$allow_undefined" = no; then echo echo "*** Since this library must not contain undefined symbols," echo "*** because either the platform does not support them or" echo "*** it was explicitly requested with -no-undefined," echo "*** libtool will only create a static version of it." if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi fi fi # Done checking deplibs! deplibs=$newdeplibs fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" case $host in *-*-darwin*) newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $deplibs " in *" -L$path/$objdir "*) func_append new_libs " -L$path/$objdir" ;; esac ;; esac done for deplib in $deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) func_append new_libs " $deplib" ;; esac ;; *) func_append new_libs " $deplib" ;; esac done deplibs="$new_libs" # All the library-specific variables (install_libdir is set above). library_names= old_library= dlname= # Test again, we may have decided not to build it any more if test "$build_libtool_libs" = yes; then # Remove ${wl} instances when linking with ld. # FIXME: should test the right _cmds variable. case $archive_cmds in *\$LD\ *) wl= ;; esac if test "$hardcode_into_libs" = yes; then # Hardcode the library paths hardcode_libdirs= dep_rpath= rpath="$finalize_rpath" test "$opt_mode" != relink && rpath="$compile_rpath$rpath" for libdir in $rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then func_replace_sysroot "$libdir" libdir=$func_replace_sysroot_result if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append dep_rpath " $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) func_append perm_rpath " $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" fi if test -n "$runpath_var" && test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do func_append rpath "$dir:" done eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" fi test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" fi shlibpath="$finalize_shlibpath" test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath" if test -n "$shlibpath"; then eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" fi # Get the real and link names of the library. eval shared_ext=\"$shrext_cmds\" eval library_names=\"$library_names_spec\" set dummy $library_names shift realname="$1" shift if test -n "$soname_spec"; then eval soname=\"$soname_spec\" else soname="$realname" fi if test -z "$dlname"; then dlname=$soname fi lib="$output_objdir/$realname" linknames= for link do func_append linknames " $link" done # Use standard objects if they are pic test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` test "X$libobjs" = "X " && libobjs= delfiles= if test -n "$export_symbols" && test -n "$include_expsyms"; then $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" export_symbols="$output_objdir/$libname.uexp" func_append delfiles " $export_symbols" fi orig_export_symbols= case $host_os in cygwin* | mingw* | cegcc*) if test -n "$export_symbols" && test -z "$export_symbols_regex"; then # exporting using user supplied symfile if test "x`$SED 1q $export_symbols`" != xEXPORTS; then # and it's NOT already a .def file. Must figure out # which of the given symbols are data symbols and tag # them as such. So, trigger use of export_symbols_cmds. # export_symbols gets reassigned inside the "prepare # the list of exported symbols" if statement, so the # include_expsyms logic still works. orig_export_symbols="$export_symbols" export_symbols= always_export_symbols=yes fi fi ;; esac # Prepare the list of exported symbols if test -z "$export_symbols"; then if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then func_verbose "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $opt_dry_run || $RM $export_symbols cmds=$export_symbols_cmds save_ifs="$IFS"; IFS='~' for cmd1 in $cmds; do IFS="$save_ifs" # Take the normal branch if the nm_file_list_spec branch # doesn't work or if tool conversion is not needed. case $nm_file_list_spec~$to_tool_file_cmd in *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) try_normal_branch=yes eval cmd=\"$cmd1\" func_len " $cmd" len=$func_len_result ;; *) try_normal_branch=no ;; esac if test "$try_normal_branch" = yes \ && { test "$len" -lt "$max_cmd_len" \ || test "$max_cmd_len" -le -1; } then func_show_eval "$cmd" 'exit $?' skipped_export=false elif test -n "$nm_file_list_spec"; then func_basename "$output" output_la=$func_basename_result save_libobjs=$libobjs save_output=$output output=${output_objdir}/${output_la}.nm func_to_tool_file "$output" libobjs=$nm_file_list_spec$func_to_tool_file_result func_append delfiles " $output" func_verbose "creating $NM input file list: $output" for obj in $save_libobjs; do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" done > "$output" eval cmd=\"$cmd1\" func_show_eval "$cmd" 'exit $?' output=$save_output libobjs=$save_libobjs skipped_export=false else # The command line is too long to execute in one step. func_verbose "using reloadable object file for export list..." skipped_export=: # Break out early, otherwise skipped_export may be # set to false by a later but shorter cmd. break fi done IFS="$save_ifs" if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi fi if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols="$export_symbols" test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter func_append delfiles " $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi tmp_deplibs= for test_deplib in $deplibs; do case " $convenience " in *" $test_deplib "*) ;; *) func_append tmp_deplibs " $test_deplib" ;; esac done deplibs="$tmp_deplibs" if test -n "$convenience"; then if test -n "$whole_archive_flag_spec" && test "$compiler_needs_object" = yes && test -z "$libobjs"; then # extract the archives, so we have objects to list. # TODO: could optimize this to just extract one archive. whole_archive_flag_spec= fi if test -n "$whole_archive_flag_spec"; then save_libobjs=$libobjs eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= else gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $convenience func_append libobjs " $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi fi if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then eval flag=\"$thread_safe_flag_spec\" func_append linker_flags " $flag" fi # Make a backup of the uninstalled library when relinking if test "$opt_mode" = relink; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? fi # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then eval test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds else eval test_cmds=\"$module_cmds\" cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval test_cmds=\"$archive_expsym_cmds\" cmds=$archive_expsym_cmds else eval test_cmds=\"$archive_cmds\" cmds=$archive_cmds fi fi if test "X$skipped_export" != "X:" && func_len " $test_cmds" && len=$func_len_result && test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then : else # The command line is too long to link in one step, link piecewise # or, if using GNU ld and skipped_export is not :, use a linker # script. # Save the value of $output and $libobjs because we want to # use them later. If we have whole_archive_flag_spec, we # want to use save_libobjs as it was before # whole_archive_flag_spec was expanded, because we can't # assume the linker understands whole_archive_flag_spec. # This may have to be revisited, in case too many # convenience libraries get linked in and end up exceeding # the spec. if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then save_libobjs=$libobjs fi save_output=$output func_basename "$output" output_la=$func_basename_result # Clear the reloadable object creation command queue and # initialize k to one. test_cmds= concat_cmds= objlist= last_robj= k=1 if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then output=${output_objdir}/${output_la}.lnkscript func_verbose "creating GNU ld script: $output" echo 'INPUT (' > $output for obj in $save_libobjs do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" >> $output done echo ')' >> $output func_append delfiles " $output" func_to_tool_file "$output" output=$func_to_tool_file_result elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then output=${output_objdir}/${output_la}.lnk func_verbose "creating linker input file list: $output" : > $output set x $save_libobjs shift firstobj= if test "$compiler_needs_object" = yes; then firstobj="$1 " shift fi for obj do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" >> $output done func_append delfiles " $output" func_to_tool_file "$output" output=$firstobj\"$file_list_spec$func_to_tool_file_result\" else if test -n "$save_libobjs"; then func_verbose "creating reloadable object files..." output=$output_objdir/$output_la-${k}.$objext eval test_cmds=\"$reload_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 # Loop over the list of objects to be linked. for obj in $save_libobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result if test "X$objlist" = X || test "$len" -lt "$max_cmd_len"; then func_append objlist " $obj" else # The command $test_cmds is almost too long, add a # command to the queue. if test "$k" -eq 1 ; then # The first file doesn't have a previous command to add. reload_objs=$objlist eval concat_cmds=\"$reload_cmds\" else # All subsequent reloadable object files will link in # the last one created. reload_objs="$objlist $last_robj" eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" fi last_robj=$output_objdir/$output_la-${k}.$objext func_arith $k + 1 k=$func_arith_result output=$output_objdir/$output_la-${k}.$objext objlist=" $obj" func_len " $last_robj" func_arith $len0 + $func_len_result len=$func_arith_result fi done # Handle the remaining objects by creating one last # reloadable object file. All subsequent reloadable object # files will link in the last one created. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ reload_objs="$objlist $last_robj" eval concat_cmds=\"\${concat_cmds}$reload_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" fi func_append delfiles " $output" else output= fi if ${skipped_export-false}; then func_verbose "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $opt_dry_run || $RM $export_symbols libobjs=$output # Append the command to create the export file. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" fi fi test -n "$save_libobjs" && func_verbose "creating a temporary reloadable object file: $output" # Loop through the commands generated above and execute them. save_ifs="$IFS"; IFS='~' for cmd in $concat_cmds; do IFS="$save_ifs" $opt_silent || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$opt_mode" = relink; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS="$save_ifs" if test -n "$export_symbols_regex" && ${skipped_export-false}; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi if ${skipped_export-false}; then if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols="$export_symbols" test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi if test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter func_append delfiles " $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi fi libobjs=$output # Restore the value of output. output=$save_output if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= fi # Expand the library linking commands again to reset the # value of $libobjs for piecewise linking. # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then cmds=$archive_expsym_cmds else cmds=$archive_cmds fi fi fi if test -n "$delfiles"; then # Append the command to remove temporary files to $cmds. eval cmds=\"\$cmds~\$RM $delfiles\" fi # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $dlprefiles func_append libobjs " $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $opt_silent || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$opt_mode" = relink; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS="$save_ifs" # Restore the uninstalled library and exit if test "$opt_mode" = relink; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? if test -n "$convenience"; then if test -z "$whole_archive_flag_spec"; then func_show_eval '${RM}r "$gentop"' fi fi exit $EXIT_SUCCESS fi # Create links to the real library. for linkname in $linknames; do if test "$realname" != "$linkname"; then func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' fi done # If -module or -export-dynamic was specified, set the dlname. if test "$module" = yes || test "$export_dynamic" = yes; then # On all known operating systems, these are identical. dlname="$soname" fi fi ;; obj) if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then func_warning "\`-dlopen' is ignored for objects" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "\`-l' and \`-L' are ignored for objects" ;; esac test -n "$rpath" && \ func_warning "\`-rpath' is ignored for objects" test -n "$xrpath" && \ func_warning "\`-R' is ignored for objects" test -n "$vinfo" && \ func_warning "\`-version-info' is ignored for objects" test -n "$release" && \ func_warning "\`-release' is ignored for objects" case $output in *.lo) test -n "$objs$old_deplibs" && \ func_fatal_error "cannot build library object \`$output' from non-libtool objects" libobj=$output func_lo2o "$libobj" obj=$func_lo2o_result ;; *) libobj= obj="$output" ;; esac # Delete the old objects. $opt_dry_run || $RM $obj $libobj # Objects from convenience libraries. This assumes # single-version convenience libraries. Whenever we create # different ones for PIC/non-PIC, this we'll have to duplicate # the extraction. reload_conv_objs= gentop= # reload_cmds runs $LD directly, so let us get rid of # -Wl from whole_archive_flag_spec and hope we can get by with # turning comma into space.. wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` else gentop="$output_objdir/${obj}x" func_append generated " $gentop" func_extract_archives $gentop $convenience reload_conv_objs="$reload_objs $func_extract_archives_result" fi fi # If we're not building shared, we need to use non_pic_objs test "$build_libtool_libs" != yes && libobjs="$non_pic_objects" # Create the old-style object. reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test output="$obj" func_execute_cmds "$reload_cmds" 'exit $?' # Exit if we aren't doing a library object file. if test -z "$libobj"; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS fi if test "$build_libtool_libs" != yes; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi # Create an invalid libtool object if no PIC, so that we don't # accidentally link it into a program. # $show "echo timestamp > $libobj" # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? exit $EXIT_SUCCESS fi if test -n "$pic_flag" || test "$pic_mode" != default; then # Only do commands if we really have different PIC objects. reload_objs="$libobjs $reload_conv_objs" output="$libobj" func_execute_cmds "$reload_cmds" 'exit $?' fi if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS ;; prog) case $host in *cygwin*) func_stripname '' '.exe' "$output" output=$func_stripname_result.exe;; esac test -n "$vinfo" && \ func_warning "\`-version-info' is ignored for programs" test -n "$release" && \ func_warning "\`-release' is ignored for programs" test "$preload" = yes \ && test "$dlopen_support" = unknown \ && test "$dlopen_self" = unknown \ && test "$dlopen_self_static" = unknown && \ func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library is the System framework compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` ;; esac case $host in *-*-darwin*) # Don't allow lazy linking, it breaks C++ global constructors # But is supposedly fixed on 10.4 or later (yay!). if test "$tagname" = CXX ; then case ${MACOSX_DEPLOYMENT_TARGET-10.0} in 10.[0123]) func_append compile_command " ${wl}-bind_at_load" func_append finalize_command " ${wl}-bind_at_load" ;; esac fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $compile_deplibs " in *" -L$path/$objdir "*) func_append new_libs " -L$path/$objdir" ;; esac ;; esac done for deplib in $compile_deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) func_append new_libs " $deplib" ;; esac ;; *) func_append new_libs " $deplib" ;; esac done compile_deplibs="$new_libs" func_append compile_command " $compile_deplibs" func_append finalize_command " $finalize_deplibs" if test -n "$rpath$xrpath"; then # If the user specified any rpath flags, then add them. for libdir in $rpath $xrpath; do # This is the magic to use -rpath. case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac done fi # Now hardcode the library paths rpath= hardcode_libdirs= for libdir in $compile_rpath $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append rpath " $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) func_append perm_rpath " $libdir" ;; esac fi case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; ::) dllsearchpath=$libdir;; *) func_append dllsearchpath ":$libdir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) func_append dllsearchpath ":$testbindir";; esac ;; esac done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi compile_rpath="$rpath" rpath= hardcode_libdirs= for libdir in $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append rpath " $flag" fi elif test -n "$runpath_var"; then case "$finalize_perm_rpath " in *" $libdir "*) ;; *) func_append finalize_perm_rpath " $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi finalize_rpath="$rpath" if test -n "$libobjs" && test "$build_old_libs" = yes; then # Transform all the library objects into standard objects. compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` fi func_generate_dlsyms "$outputname" "@PROGRAM@" "no" # template prelinking step if test -n "$prelink_cmds"; then func_execute_cmds "$prelink_cmds" 'exit $?' fi wrappers_required=yes case $host in *cegcc* | *mingw32ce*) # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. wrappers_required=no ;; *cygwin* | *mingw* ) if test "$build_libtool_libs" != yes; then wrappers_required=no fi ;; *) if test "$need_relink" = no || test "$build_libtool_libs" != yes; then wrappers_required=no fi ;; esac if test "$wrappers_required" = no; then # Replace the output file specification. compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` link_command="$compile_command$compile_rpath" # We have no uninstalled library dependencies, so finalize right now. exit_status=0 func_show_eval "$link_command" 'exit_status=$?' if test -n "$postlink_cmds"; then func_to_tool_file "$output" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi # Delete the generated files. if test -f "$output_objdir/${outputname}S.${objext}"; then func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' fi exit $exit_status fi if test -n "$compile_shlibpath$finalize_shlibpath"; then compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" fi if test -n "$finalize_shlibpath"; then finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" fi compile_var= finalize_var= if test -n "$runpath_var"; then if test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do func_append rpath "$dir:" done compile_var="$runpath_var=\"$rpath\$$runpath_var\" " fi if test -n "$finalize_perm_rpath"; then # We should set the runpath_var. rpath= for dir in $finalize_perm_rpath; do func_append rpath "$dir:" done finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " fi fi if test "$no_install" = yes; then # We don't need to create a wrapper script. link_command="$compile_var$compile_command$compile_rpath" # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` # Delete the old output file. $opt_dry_run || $RM $output # Link the executable and exit func_show_eval "$link_command" 'exit $?' if test -n "$postlink_cmds"; then func_to_tool_file "$output" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi exit $EXIT_SUCCESS fi if test "$hardcode_action" = relink; then # Fast installation is not supported link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" func_warning "this platform does not like uninstalled shared libraries" func_warning "\`$output' will be relinked during installation" else if test "$fast_install" != no; then link_command="$finalize_var$compile_command$finalize_rpath" if test "$fast_install" = yes; then relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` else # fast_install is set to needless relink_command= fi else link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" fi fi # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` # Delete the old output files. $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname func_show_eval "$link_command" 'exit $?' if test -n "$postlink_cmds"; then func_to_tool_file "$output_objdir/$outputname" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi # Now create the wrapper script. func_verbose "creating $output" # Quote the relink command for shipping. if test -n "$relink_command"; then # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done relink_command="(cd `pwd`; $relink_command)" relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` fi # Only actually do things if not in dry run mode. $opt_dry_run || { # win32 will think the script is a binary if it has # a .exe suffix, so we strip it off here. case $output in *.exe) func_stripname '' '.exe' "$output" output=$func_stripname_result ;; esac # test for cygwin because mv fails w/o .exe extensions case $host in *cygwin*) exeext=.exe func_stripname '' '.exe' "$outputname" outputname=$func_stripname_result ;; *) exeext= ;; esac case $host in *cygwin* | *mingw* ) func_dirname_and_basename "$output" "" "." output_name=$func_basename_result output_path=$func_dirname_result cwrappersource="$output_path/$objdir/lt-$output_name.c" cwrapper="$output_path/$output_name.exe" $RM $cwrappersource $cwrapper trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 func_emit_cwrapperexe_src > $cwrappersource # The wrapper executable is built using the $host compiler, # because it contains $host paths and files. If cross- # compiling, it, like the target executable, must be # executed on the $host or under an emulation environment. $opt_dry_run || { $LTCC $LTCFLAGS -o $cwrapper $cwrappersource $STRIP $cwrapper } # Now, create the wrapper script for func_source use: func_ltwrapper_scriptname $cwrapper $RM $func_ltwrapper_scriptname_result trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 $opt_dry_run || { # note: this script will not be executed, so do not chmod. if test "x$build" = "x$host" ; then $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result else func_emit_wrapper no > $func_ltwrapper_scriptname_result fi } ;; * ) $RM $output trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 func_emit_wrapper no > $output chmod +x $output ;; esac } exit $EXIT_SUCCESS ;; esac # See if we need to build an old-fashioned archive. for oldlib in $oldlibs; do if test "$build_libtool_libs" = convenience; then oldobjs="$libobjs_save $symfileobj" addlibs="$convenience" build_libtool_libs=no else if test "$build_libtool_libs" = module; then oldobjs="$libobjs_save" build_libtool_libs=no else oldobjs="$old_deplibs $non_pic_objects" if test "$preload" = yes && test -f "$symfileobj"; then func_append oldobjs " $symfileobj" fi fi addlibs="$old_convenience" fi if test -n "$addlibs"; then gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $addlibs func_append oldobjs " $func_extract_archives_result" fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then cmds=$old_archive_from_new_cmds else # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $dlprefiles func_append oldobjs " $func_extract_archives_result" fi # POSIX demands no paths to be encoded in archives. We have # to avoid creating archives with duplicate basenames if we # might have to extract them afterwards, e.g., when creating a # static archive out of a convenience library, or when linking # the entirety of a libtool archive into another (currently # not supported by libtool). if (for obj in $oldobjs do func_basename "$obj" $ECHO "$func_basename_result" done | sort | sort -uc >/dev/null 2>&1); then : else echo "copying selected object files to avoid basename conflicts..." gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_mkdir_p "$gentop" save_oldobjs=$oldobjs oldobjs= counter=1 for obj in $save_oldobjs do func_basename "$obj" objbase="$func_basename_result" case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) while :; do # Make sure we don't pick an alternate name that also # overlaps. newobj=lt$counter-$objbase func_arith $counter + 1 counter=$func_arith_result case " $oldobjs " in *[\ /]"$newobj "*) ;; *) if test ! -f "$gentop/$newobj"; then break; fi ;; esac done func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" func_append oldobjs " $gentop/$newobj" ;; *) func_append oldobjs " $obj" ;; esac done fi func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 tool_oldlib=$func_to_tool_file_result eval cmds=\"$old_archive_cmds\" func_len " $cmds" len=$func_len_result if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then cmds=$old_archive_cmds elif test -n "$archiver_list_spec"; then func_verbose "using command file archive linking..." for obj in $oldobjs do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" done > $output_objdir/$libname.libcmd func_to_tool_file "$output_objdir/$libname.libcmd" oldobjs=" $archiver_list_spec$func_to_tool_file_result" cmds=$old_archive_cmds else # the command line is too long to link in one step, link in parts func_verbose "using piecewise archive linking..." save_RANLIB=$RANLIB RANLIB=: objlist= concat_cmds= save_oldobjs=$oldobjs oldobjs= # Is there a better way of finding the last object in the list? for obj in $save_oldobjs do last_oldobj=$obj done eval test_cmds=\"$old_archive_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 for obj in $save_oldobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result func_append objlist " $obj" if test "$len" -lt "$max_cmd_len"; then : else # the above command should be used before it gets too long oldobjs=$objlist if test "$obj" = "$last_oldobj" ; then RANLIB=$save_RANLIB fi test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" objlist= len=$len0 fi done RANLIB=$save_RANLIB oldobjs=$objlist if test "X$oldobjs" = "X" ; then eval cmds=\"\$concat_cmds\" else eval cmds=\"\$concat_cmds~\$old_archive_cmds\" fi fi fi func_execute_cmds "$cmds" 'exit $?' done test -n "$generated" && \ func_show_eval "${RM}r$generated" # Now create the libtool archive. case $output in *.la) old_library= test "$build_old_libs" = yes && old_library="$libname.$libext" func_verbose "creating $output" # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done # Quote the link command for shipping. relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` if test "$hardcode_automatic" = yes ; then relink_command= fi # Only create the output if not a dry run. $opt_dry_run || { for installed in no yes; do if test "$installed" = yes; then if test -z "$install_libdir"; then break fi output="$output_objdir/$outputname"i # Replace all uninstalled libtool libraries with the installed ones newdependency_libs= for deplib in $dependency_libs; do case $deplib in *.la) func_basename "$deplib" name="$func_basename_result" func_resolve_sysroot "$deplib" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" ;; -L*) func_stripname -L '' "$deplib" func_replace_sysroot "$func_stripname_result" func_append newdependency_libs " -L$func_replace_sysroot_result" ;; -R*) func_stripname -R '' "$deplib" func_replace_sysroot "$func_stripname_result" func_append newdependency_libs " -R$func_replace_sysroot_result" ;; *) func_append newdependency_libs " $deplib" ;; esac done dependency_libs="$newdependency_libs" newdlfiles= for lib in $dlfiles; do case $lib in *.la) func_basename "$lib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "\`$lib' is not a valid libtool archive" func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" ;; *) func_append newdlfiles " $lib" ;; esac done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in *.la) # Only pass preopened files to the pseudo-archive (for # eventual linking with the app. that links it) if we # didn't already link the preopened objects directly into # the library: func_basename "$lib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "\`$lib' is not a valid libtool archive" func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" ;; esac done dlprefiles="$newdlprefiles" else newdlfiles= for lib in $dlfiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac func_append newdlfiles " $abs" done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac func_append newdlprefiles " $abs" done dlprefiles="$newdlprefiles" fi $RM $output # place dlname in correct position for cygwin # In fact, it would be nice if we could use this code for all target # systems that can't hard-code library paths into their executables # and that have no shared library path variable independent of PATH, # but it turns out we can't easily determine that from inspecting # libtool variables, so we have to hard-code the OSs to which it # applies here; at the moment, that means platforms that use the PE # object format with DLL files. See the long comment at the top of # tests/bindir.at for full details. tdlname=$dlname case $host,$output,$installed,$module,$dlname in *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) # If a -bindir argument was supplied, place the dll there. if test "x$bindir" != x ; then func_relative_path "$install_libdir" "$bindir" tdlname=$func_relative_path_result$dlname else # Otherwise fall back on heuristic. tdlname=../bin/$dlname fi ;; esac $ECHO > $output "\ # $outputname - a libtool library file # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='$tdlname' # Names of this library. library_names='$library_names' # The name of the static archive. old_library='$old_library' # Linker flags that can not go in dependency_libs. inherited_linker_flags='$new_inherited_linker_flags' # Libraries that this one depends upon. dependency_libs='$dependency_libs' # Names of additional weak libraries provided by this library weak_library_names='$weak_libs' # Version information for $libname. current=$current age=$age revision=$revision # Is this an already installed library? installed=$installed # Should we warn about portability when linking against -modules? shouldnotlink=$module # Files to dlopen/dlpreopen dlopen='$dlfiles' dlpreopen='$dlprefiles' # Directory that this library needs to be installed in: libdir='$install_libdir'" if test "$installed" = no && test "$need_relink" = yes; then $ECHO >> $output "\ relink_command=\"$relink_command\"" fi done } # Do a symbolic link so that the libtool archive can be found in # LD_LIBRARY_PATH before the program is installed. func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' ;; esac exit $EXIT_SUCCESS } { test "$opt_mode" = link || test "$opt_mode" = relink; } && func_mode_link ${1+"$@"} # func_mode_uninstall arg... func_mode_uninstall () { $opt_debug RM="$nonopt" files= rmforce= exit_status=0 # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" for arg do case $arg in -f) func_append RM " $arg"; rmforce=yes ;; -*) func_append RM " $arg" ;; *) func_append files " $arg" ;; esac done test -z "$RM" && \ func_fatal_help "you must specify an RM program" rmdirs= for file in $files; do func_dirname "$file" "" "." dir="$func_dirname_result" if test "X$dir" = X.; then odir="$objdir" else odir="$dir/$objdir" fi func_basename "$file" name="$func_basename_result" test "$opt_mode" = uninstall && odir="$dir" # Remember odir for removal later, being careful to avoid duplicates if test "$opt_mode" = clean; then case " $rmdirs " in *" $odir "*) ;; *) func_append rmdirs " $odir" ;; esac fi # Don't error if the file doesn't exist and rm -f was used. if { test -L "$file"; } >/dev/null 2>&1 || { test -h "$file"; } >/dev/null 2>&1 || test -f "$file"; then : elif test -d "$file"; then exit_status=1 continue elif test "$rmforce" = yes; then continue fi rmfiles="$file" case $name in *.la) # Possibly a libtool archive, so verify it. if func_lalib_p "$file"; then func_source $dir/$name # Delete the libtool libraries and symlinks. for n in $library_names; do func_append rmfiles " $odir/$n" done test -n "$old_library" && func_append rmfiles " $odir/$old_library" case "$opt_mode" in clean) case " $library_names " in *" $dlname "*) ;; *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; esac test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi if test -n "$old_library"; then # Do each command in the old_postuninstall commands. func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi # FIXME: should reinstall the best remaining shared library. ;; esac fi ;; *.lo) # Possibly a libtool object, so verify it. if func_lalib_p "$file"; then # Read the .lo file func_source $dir/$name # Add PIC object to the list of files to remove. if test -n "$pic_object" && test "$pic_object" != none; then func_append rmfiles " $dir/$pic_object" fi # Add non-PIC object to the list of files to remove. if test -n "$non_pic_object" && test "$non_pic_object" != none; then func_append rmfiles " $dir/$non_pic_object" fi fi ;; *) if test "$opt_mode" = clean ; then noexename=$name case $file in *.exe) func_stripname '' '.exe' "$file" file=$func_stripname_result func_stripname '' '.exe' "$name" noexename=$func_stripname_result # $file with .exe has already been added to rmfiles, # add $file without .exe func_append rmfiles " $file" ;; esac # Do a test to see if this is a libtool program. if func_ltwrapper_p "$file"; then if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" relink_command= func_source $func_ltwrapper_scriptname_result func_append rmfiles " $func_ltwrapper_scriptname_result" else relink_command= func_source $dir/$noexename fi # note $name still contains .exe if it was in $file originally # as does the version of $file that was added into $rmfiles func_append rmfiles " $odir/$name $odir/${name}S.${objext}" if test "$fast_install" = yes && test -n "$relink_command"; then func_append rmfiles " $odir/lt-$name" fi if test "X$noexename" != "X$name" ; then func_append rmfiles " $odir/lt-${noexename}.c" fi fi fi ;; esac func_show_eval "$RM $rmfiles" 'exit_status=1' done # Try to remove the ${objdir}s in the directories where we deleted files for dir in $rmdirs; do if test -d "$dir"; then func_show_eval "rmdir $dir >/dev/null 2>&1" fi done exit $exit_status } { test "$opt_mode" = uninstall || test "$opt_mode" = clean; } && func_mode_uninstall ${1+"$@"} test -z "$opt_mode" && { help="$generic_help" func_fatal_help "you must specify a MODE" } test -z "$exec_cmd" && \ func_fatal_help "invalid operation mode \`$opt_mode'" if test -n "$exec_cmd"; then eval exec "$exec_cmd" exit $EXIT_FAILURE fi exit $exit_status # The TAGs below are defined such that we never get into a situation # in which we disable both kinds of libraries. Given conflicting # choices, we go for a static library, that is the most portable, # since we can't tell whether shared libraries were disabled because # the user asked for that or because the platform doesn't support # them. This is particularly important on AIX, because we don't # support having both static and shared libraries enabled at the same # time on that platform, so we default to a shared-only configuration. # If a disable-shared tag is given, we'll fallback to a static-only # configuration. But we'll never go from static-only to shared-only. # ### BEGIN LIBTOOL TAG CONFIG: disable-shared build_libtool_libs=no build_old_libs=yes # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: # vi:sw=2 gtg-trace-0.2+dfsg/missing000077500000000000000000000241521175246114100155540ustar00rootroot00000000000000#! /bin/sh # Common stub for a few missing GNU programs while installing. scriptversion=2012-01-06.13; # UTC # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, # 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi run=: sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi msg="missing on your system" case $1 in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 # Exit code 63 means version mismatch. This often happens # when the user try to use an ancient version of a tool on # a file that requires a minimum version. In this case we # we should proceed has if the program had been absent, or # if --run hadn't been passed. if test $? = 63; then run=: msg="probably too old" fi ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' autom4te touch the output file, or create a stub one automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file yacc create \`y.tab.[ch]', if possible, from existing .[ch] Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and \`g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; esac # normalize program name to check for. program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` # Now exit if we have it, but it failed. Also exit now if we # don't have it and --version was passed (most likely to detect # the program). This is about non-GNU programs, so use $1 not # $program. case $1 in lex*|yacc*) # Not GNU programs, they don't have --version. ;; *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then # Could not run --version or --help. This is probably someone # running `$TOOL --version' or `$TOOL --help' to check whether # $TOOL exists and not knowing $TOOL uses missing. exit 1 fi ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case $program in aclocal*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case $f in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; autom4te*) echo 1>&2 "\ WARNING: \`$1' is needed, but is $msg. You might have modified some files without having the proper tools for further handling them. You can get \`$1' as part of \`Autoconf' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo "#! /bin/sh" echo "# Created by GNU Automake missing as a replacement of" echo "# $ $@" echo "exit 0" chmod +x $file exit 1 fi ;; bison*|yacc*) echo 1>&2 "\ WARNING: \`$1' $msg. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then eval LASTARG=\${$#} case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi if test ! -f y.tab.h; then echo >y.tab.h fi if test ! -f y.tab.c; then echo 'main() { return 0; }' >y.tab.c fi ;; lex*|flex*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then eval LASTARG=\${$#} case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if test ! -f lex.yy.c; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit $? fi ;; makeinfo*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." # The file to touch is that specified with -o ... file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -z "$file"; then # ... or it is the one specified with @setfilename ... infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n ' /^@setfilename/{ s/.* \([^ ]*\) *$/\1/ p q }' $infile` # ... or it is derived from the source name (dir/f.texi becomes f.info) test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info fi # If the file does not exist, the user really needs makeinfo; # let's fail without touching anything. test -f $file || exit 1 touch $file ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and is $msg. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequisites for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: gtg-trace-0.2+dfsg/src/000077500000000000000000000000001175246114100147405ustar00rootroot00000000000000gtg-trace-0.2+dfsg/src/C/000077500000000000000000000000001175246114100151225ustar00rootroot00000000000000gtg-trace-0.2+dfsg/src/C/GTGBasic1_c.c000066400000000000000000000331711175246114100172410ustar00rootroot00000000000000#define _GNU_SOURCE #include #include #include #include #include "GTG.h" #include "GTGPaje.h" #include "GTGBasic.h" #include "GTGReplay.h" #include "GTGOTF_Basic.h" #include "GTGPaje_Basic.h" /* verbose !=0 means debugging mode */ int verbose = 0; static traceType_t traceType; /* Flags that should be used */ gtg_flag_t gtg_flags; char* getName (int procNbr){ switch (traceType){ #ifdef BUILD_PAJE case PAJE : case VITE : return pajeGetName (procNbr); break; #endif #ifdef BUILD_OTF case OTF : break; #endif #ifdef BUILD_TAU case TAU : #endif default : break; } return "0"; } void setTraceType (traceType_t type){ char* res; traceType = type; res = getenv("GTG_VERBOSE"); if(res) verbose = 1; } traceType_t getTraceType (){ return traceType; } int bufferedModeActivated() { return !(gtg_flags & GTG_FLAG_NOTBUF); } trace_return_t initTrace (const char* filename, int rank, gtg_flag_t flags){ /* first, let's initialize gtg */ gtg_color_init(); if( (flags & GTG_FLAG_USE_MPI) && (flags & GTG_FLAG_OUTOFORDER)) { fprintf(stderr, "Warning: you cannot record events out of order when using MPI\n"); flags ^= GTG_FLAG_OUTOFORDER; } gtg_flags = flags; switch (traceType){ #ifdef BUILD_PAJE case PAJE : return pajeInitTrace (filename, rank, flags, FMT_PAJE); break; case VITE : return pajeInitTrace (filename, rank, flags, FMT_VITE); break; #endif /* BUILD_PAJE */ #ifdef BUILD_OTF case OTF : return OTFInitTrace (filename, flags); break; #endif /* BUILD_OTF */ #ifdef BUILD_TAU case TAU : #endif /* BUILD_TAU */ default : break; } return TRACE_ERR_NOT_IMPL; } trace_return_t setCompress (int val){ #ifndef BUILD_OTF (void) val; #endif switch (traceType){ #ifdef BUILD_OTF case OTF : return OTFSetCompress (val); break; #endif case PAJE : return pajeSetCompress(val); break; case TAU : default : return TRACE_SUCCESS; } return TRACE_SUCCESS; } trace_return_t addContType (const char* alias, const char* contType, const char* name){ switch (traceType){ #ifdef BUILD_PAJE case PAJE : case VITE : return pajeAddContType (alias, contType, name); break; #endif #ifdef BUILD_OTF case OTF : return OTFAddContType (alias, contType, name); break; #endif #ifdef BUILD_TAU case TAU : #endif default : break; } return TRACE_SUCCESS; } trace_return_t addStateType (const char* alias, const char* contType, const char* name){ switch (traceType){ #ifdef BUILD_PAJE case PAJE : case VITE : return pajeAddStateType (alias, contType, name); break; #endif #ifdef BUILD_OTF case OTF : return OTFAddStateType (alias, contType, name); break; #endif #ifdef BUILD_TAU case TAU : #endif default : break; } return TRACE_SUCCESS; } trace_return_t addEventType (const char* alias, const char* contType, const char* name){ switch (traceType){ #ifdef BUILD_PAJE case PAJE : case VITE : return pajeAddEventType (alias, contType, name); break; #endif #ifdef BUILD_OTF case OTF : return OTFAddEventType (alias, contType, name); break; #endif #ifdef BUILD_TAU case TAU : #endif default : break; } return TRACE_SUCCESS; } trace_return_t addLinkType (const char* alias , const char* name, const char* contType, const char* srcContType, const char* destContType){ switch (traceType){ #ifdef BUILD_PAJE case PAJE : case VITE : return pajeAddLinkType (alias, name, contType, srcContType, destContType); break; #endif #ifdef BUILD_OTF case OTF : return OTFAddLinkType (alias, name, contType, srcContType, destContType); break; #endif #ifdef BUILD_TAU case TAU : #endif default : break; } return TRACE_SUCCESS; } trace_return_t addVarType (const char* alias , const char* name, const char* contType){ switch (traceType){ #ifdef BUILD_PAJE case PAJE : case VITE : return pajeAddVarType (alias, contType, name); break; #endif #ifdef BUILD_OTF case OTF : return OTFAddVarType (alias, contType, name); break; #endif #ifdef BUILD_TAU case TAU : #endif default : break; } return TRACE_SUCCESS; } trace_return_t addEntityValue (const char* alias, const char* entType, const char* name , gtg_color_t p_color){ switch (traceType){ #ifdef BUILD_PAJE case PAJE : case VITE : return pajeAddEntityValue (alias, entType, name, Paje_get_color(p_color)); break; #endif #ifdef BUILD_OTF case OTF : return OTFAddEntityValue (alias, entType, name, OTF_get_color(p_color)); break; #endif #ifdef BUILD_TAU case TAU : #endif default : break; } return TRACE_SUCCESS; } trace_return_t addContainer (varPrec time, const char* alias , const char* type, const char* container, const char* name, const char* file){ #ifdef BUILD_OTF /* for OTF traces, adding a container consists in two steps: * 1 - defining the container (this appears in the trace headers) * 2 - starting the container (this appears in the body) * We need to define the container right now so that it can be refered to * before its start (for example a StartLink event may use this container * before its creation) */ if (traceType == OTF){ return OTFDefineContainer (alias, type, container, name, file); } #endif if(gtg_flags & GTG_FLAG_OUTOFORDER) { /* if the application records events out of order, don't execute this function right now. */ gtg_record(event_addContainer, time, alias, type, container, name, file); return TRACE_SUCCESS; } switch (traceType){ #ifdef BUILD_PAJE case PAJE : return pajeSeqAddContainer (time, alias, type, container, name); break; case VITE : return pajeAddContainer (time, alias, type, container, name, file); break; #endif #ifdef BUILD_OTF case OTF : return OTFStartContainer (time, alias, type, container, name, file); break; #endif #ifdef BUILD_TAU case TAU : #endif default : break; } return TRACE_SUCCESS; } trace_return_t destroyContainer (varPrec time, const char* name, const char* type){ if(gtg_flags & GTG_FLAG_OUTOFORDER) { gtg_record(event_destroyContainer, time, name, type); return TRACE_SUCCESS; } switch (traceType){ #ifdef BUILD_PAJE case PAJE : case VITE : return pajeDestroyContainer (time, name, type); break; #endif #ifdef BUILD_OTF case OTF : return OTFDestroyContainer (time, name, type); break; #endif #ifdef BUILD_TAU case TAU : #endif default : break; } return TRACE_SUCCESS; } trace_return_t setState (varPrec time, const char* type, const char* cont, const char* val){ if(gtg_flags & GTG_FLAG_OUTOFORDER) { gtg_record(event_setState, time, type, cont, val); return TRACE_SUCCESS; } switch (traceType){ #ifdef BUILD_PAJE case PAJE : case VITE : return pajeSetState (time, type, cont, val); break; #endif #ifdef BUILD_OTF case OTF : return OTFSetState (time, type, cont, val); break; #endif #ifdef BUILD_TAU case TAU : #endif default : break; } return TRACE_SUCCESS; } trace_return_t pushState (varPrec time, const char* type, const char* cont, const char* val){ if(gtg_flags & GTG_FLAG_OUTOFORDER) { gtg_record(event_pushState, time, type, cont, val); return TRACE_SUCCESS; } switch (traceType){ #ifdef BUILD_PAJE case PAJE : case VITE : return pajePushState (time, type, cont, val); break; #endif #ifdef BUILD_OTF case OTF : return OTFPushState (time, type, cont, val); break; #endif #ifdef BUILD_TAU case TAU : #endif default : break; } return TRACE_SUCCESS; } trace_return_t popState (varPrec time, const char* type, const char* cont){ if(gtg_flags & GTG_FLAG_OUTOFORDER) { gtg_record(event_popState, time, type, cont); return TRACE_SUCCESS; } switch (traceType){ #ifdef BUILD_PAJE case PAJE : case VITE : return pajePopState (time, type, cont); break; #endif #ifdef BUILD_OTF case OTF : return OTFPopState (time, type, cont); break; #endif #ifdef BUILD_TAU case TAU : #endif default : break; } return TRACE_SUCCESS; } trace_return_t addEvent (varPrec time, const char* type, const char* cont, const char* val){ if(gtg_flags & GTG_FLAG_OUTOFORDER) { gtg_record(event_addEvent, time, type, cont, val); return TRACE_SUCCESS; } switch (traceType){ #ifdef BUILD_PAJE case PAJE : case VITE : return pajeAddEvent (time, type, cont, val); break; #endif #ifdef BUILD_OTF case OTF : return OTFAddEvent (time, type, cont, val); break; #endif #ifdef BUILD_TAU case TAU : #endif default : break; } return TRACE_SUCCESS; } trace_return_t startLink (varPrec time, const char* type, const char* cont, const char* src, const char* dest, const char* val, const char* key){ if(gtg_flags & GTG_FLAG_OUTOFORDER) { gtg_record(event_startLink, time, type, cont, src, dest, val, key); return TRACE_SUCCESS; } #ifndef BUILD_OTF (void) dest; #endif switch (traceType){ #ifdef BUILD_PAJE case PAJE : case VITE : return pajeStartLink (time, type, cont, src, val, key); break; #endif #ifdef BUILD_OTF case OTF : return OTFStartLink (time, type, src, dest, val, key); break; #endif #ifdef BUILD_TAU case TAU : #endif default : break; } return TRACE_SUCCESS; } trace_return_t endLink (varPrec time, const char* type, const char* cont, const char* src, const char* dest, const char* val, const char* key){ if(gtg_flags & GTG_FLAG_OUTOFORDER) { gtg_record(event_endLink, time, type, cont, src, dest, val, key); return TRACE_SUCCESS; } #ifndef BUILD_OTF (void) src; #endif switch (traceType){ #ifdef BUILD_PAJE case PAJE : case VITE : return pajeEndLink (time, type, cont, dest, val, key); break; #endif #ifdef BUILD_OTF case OTF : return OTFEndLink (time, type, src, dest, val, key); break; #endif #ifdef BUILD_TAU case TAU : #endif default : break; } return TRACE_SUCCESS; } trace_return_t setVar (varPrec time, const char* type, const char* cont, varPrec val){ if(gtg_flags & GTG_FLAG_OUTOFORDER) { gtg_record(event_setVar, time, type, cont, val); return TRACE_SUCCESS; } switch (traceType){ #ifdef BUILD_PAJE case PAJE : case VITE : return pajeSetVar (time, type, cont, val); break; #endif #ifdef BUILD_OTF case OTF : return OTFSetVar (time, type, cont, val); break; #endif #ifdef BUILD_TAU case TAU : #endif default : break; } return TRACE_SUCCESS; } trace_return_t addVar (varPrec time, const char* type, const char* cont, varPrec val){ if(gtg_flags & GTG_FLAG_OUTOFORDER) { gtg_record(event_addVar, time, type, cont, val); return TRACE_SUCCESS; } switch (traceType){ #ifdef BUILD_PAJE case PAJE : case VITE : return pajeAddVar (time, type, cont, val); break; #endif #ifdef BUILD_OTF case OTF : return OTFAddVar (time, type, cont, val); break; #endif #ifdef BUILD_TAU case TAU : #endif default : break; } return TRACE_SUCCESS; } trace_return_t subVar (varPrec time, const char* type, const char* cont, varPrec val){ if(gtg_flags & GTG_FLAG_OUTOFORDER) { gtg_record(event_subVar, time, type, cont, val); return TRACE_SUCCESS; } switch (traceType){ #ifdef BUILD_PAJE case PAJE : case VITE : return pajeSubVar (time, type, cont, val); break; #endif #ifdef BUILD_OTF case OTF : return OTFSubVar (time, type, cont, val); break; #endif #ifdef BUILD_TAU case TAU : #endif default : break; } return TRACE_SUCCESS; } trace_return_t AddComment (const char* comment){ switch (traceType){ #ifdef BUILD_PAJE case PAJE : case VITE : return pajeAddComment (comment); break; #endif #ifdef BUILD_OTF case OTF : return OTFAddComment (comment); break; #endif #ifdef BUILD_TAU case TAU : #endif default : break; } return TRACE_SUCCESS; } trace_return_t endTrace (){ int ret = TRACE_ERR_CLOSE; if(gtg_flags & GTG_FLAG_OUTOFORDER) { gtg_write_events(-1); } switch (traceType){ #ifdef BUILD_PAJE case PAJE : ret = pajeEndTrace (); break; case VITE : ret = viteEndTrace (); break; #endif #ifdef BUILD_OTF case OTF : ret = OTFEndTrace (); break; #endif #ifdef BUILD_TAU case TAU : #endif default : break; } gtg_color_exit(); return TRACE_SUCCESS; } gtg-trace-0.2+dfsg/src/C/GTGColor.c000066400000000000000000000151321175246114100167100ustar00rootroot00000000000000/** * \file GTGColor.c * \version 0.1 * \brief * * This file defines some basic colors to use in entity values for GTG. * */ #include #include #include "GTGColor.h" #define NB_DEFAULT_COLOR 22 struct gtg_color __gtg_colors[NB_DEFAULT_COLOR]; gtg_color_t GTG_BLACK; gtg_color_t GTG_RED; gtg_color_t GTG_GREEN; gtg_color_t GTG_BLUE; gtg_color_t GTG_WHITE; gtg_color_t GTG_TEAL; gtg_color_t GTG_DARKGREY; gtg_color_t GTG_YELLOW; gtg_color_t GTG_PURPLE; gtg_color_t GTG_LIGHTBROWN; gtg_color_t GTG_LIGHTGREY; gtg_color_t GTG_DARKBLUE; gtg_color_t GTG_PINK; gtg_color_t GTG_DARKPINK; gtg_color_t GTG_SEABLUE; gtg_color_t GTG_KAKI; gtg_color_t GTG_REDBLOOD; gtg_color_t GTG_BROWN; gtg_color_t GTG_GRENAT; gtg_color_t GTG_ORANGE; gtg_color_t GTG_MAUVE; gtg_color_t GTG_LIGHTPINK; /** * \ingroup color * \brief Black color */ #define GTG_BLACK_RGB (gtg_rgb_color_t) GTG_COLOR_SET_COLOR(0, 0, 0) /** * \ingroup color * \brief Red color */ #define GTG_RED_RGB (gtg_rgb_color_t) GTG_COLOR_SET_COLOR(255, 0, 0) /** * \ingroup color * \brief Green color */ #define GTG_GREEN_RGB (gtg_rgb_color_t) GTG_COLOR_SET_COLOR(0, 255, 0) /** * \ingroup color * \brief Blue color */ #define GTG_BLUE_RGB (gtg_rgb_color_t) GTG_COLOR_SET_COLOR(0, 0, 255) /** * \ingroup color * \brief White color */ #define GTG_WHITE_RGB (gtg_rgb_color_t) GTG_COLOR_SET_COLOR(255, 255, 255) /** * \ingroup color * \brief Teal color */ #define GTG_TEAL_RGB (gtg_rgb_color_t) GTG_COLOR_SET_COLOR(0, 255, 255) /** * \ingroup color * \brief Dark grey color */ #define GTG_DARKGREY_RGB (gtg_rgb_color_t) GTG_COLOR_SET_COLOR(85, 85, 85) /** * \ingroup color * \brief Yellow color */ #define GTG_YELLOW_RGB (gtg_rgb_color_t) GTG_COLOR_SET_COLOR(255, 255, 0) /** * \ingroup color * \brief Purple color */ #define GTG_PURPLE_RGB (gtg_rgb_color_t) GTG_COLOR_SET_COLOR(153, 25, 230) /** * \ingroup color * \brief Light brown color */ #define GTG_LIGHTBROWN_RGB (gtg_rgb_color_t) GTG_COLOR_SET_COLOR(170, 130, 130) /** * \ingroup color * \brief Light grey color */ #define GTG_LIGHTGREY_RGB (gtg_rgb_color_t) GTG_COLOR_SET_COLOR(200, 200, 200) /** * \ingroup color * \brief Dark blue color */ #define GTG_DARKBLUE_RGB (gtg_rgb_color_t) GTG_COLOR_SET_COLOR(0, 0, 80) /** * \ingroup color * \brief Pink color */ #define GTG_PINK_RGB (gtg_rgb_color_t) GTG_COLOR_SET_COLOR(255, 0, 255) /** * \ingroup color * \brief Dark pink color */ #define GTG_DARKPINK_RGB (gtg_rgb_color_t) GTG_COLOR_SET_COLOR(180, 80, 180) /** * \ingroup color * \brief Sea blue color */ #define GTG_SEABLUE_RGB (gtg_rgb_color_t) GTG_COLOR_SET_COLOR(25, 128, 200) /** * \ingroup color * \brief Kaki color */ #define GTG_KAKI_RGB (gtg_rgb_color_t) GTG_COLOR_SET_COLOR(80, 100, 25) /** * \ingroup color * \brief Red blood color */ #define GTG_REDBLOOD_RGB (gtg_rgb_color_t) GTG_COLOR_SET_COLOR(200, 25, 25) /** * \ingroup color * \brief Brown color */ #define GTG_BROWN_RGB (gtg_rgb_color_t) GTG_COLOR_SET_COLOR(100, 25, 25) /** * \ingroup color * \brief Grenat color */ #define GTG_GRENAT_RGB (gtg_rgb_color_t) GTG_COLOR_SET_COLOR(100, 0, 80) /** * \ingroup color * \brief Orange color */ #define GTG_ORANGE_RGB (gtg_rgb_color_t) GTG_COLOR_SET_COLOR(255, 160, 0) /** * \ingroup color * \brief Mauve color */ #define GTG_MAUVE_RGB (gtg_rgb_color_t) GTG_COLOR_SET_COLOR(128, 0, 255) /** * \ingroup color * \brief Light pink color */ #define GTG_LIGHTPINK_RGB (gtg_rgb_color_t) GTG_COLOR_SET_COLOR(255, 128, 255) void __init_color(gtg_color_t p_color, const char* name, gtg_rgb_color_t rgb) { p_color->color_name = (char*)malloc((strlen(name)+1)*sizeof(char)); strncpy(p_color->color_name, name, strlen(name)+1); p_color->rgb = rgb; } static int __gtg_color_initialized = 0; void gtg_color_init() { /* make sure that this function is only run once */ if(__gtg_color_initialized) return; __gtg_color_initialized = 1; /* fill the default color structures */ GTG_BLACK = &__gtg_colors[0]; GTG_RED = &__gtg_colors[1]; GTG_GREEN = &__gtg_colors[2]; GTG_BLUE = &__gtg_colors[3]; GTG_WHITE = &__gtg_colors[4]; GTG_TEAL = &__gtg_colors[5]; GTG_DARKGREY = &__gtg_colors[6]; GTG_YELLOW = &__gtg_colors[7]; GTG_PURPLE = &__gtg_colors[8]; GTG_LIGHTBROWN = &__gtg_colors[9]; GTG_LIGHTGREY = &__gtg_colors[10]; GTG_DARKBLUE = &__gtg_colors[11]; GTG_PINK = &__gtg_colors[12]; GTG_DARKPINK = &__gtg_colors[13]; GTG_SEABLUE = &__gtg_colors[14]; GTG_KAKI = &__gtg_colors[15]; GTG_REDBLOOD = &__gtg_colors[16]; GTG_BROWN = &__gtg_colors[17]; GTG_GRENAT = &__gtg_colors[18]; GTG_ORANGE = &__gtg_colors[19]; GTG_MAUVE = &__gtg_colors[20]; GTG_LIGHTPINK = &__gtg_colors[21]; __init_color(GTG_BLACK , "BLACK" , GTG_BLACK_RGB); __init_color(GTG_RED , "RED" , GTG_RED_RGB); __init_color(GTG_GREEN , "GREEN" , GTG_GREEN_RGB); __init_color(GTG_BLUE , "BLUE" , GTG_BLUE_RGB); __init_color(GTG_WHITE , "WHITE" , GTG_WHITE_RGB); __init_color(GTG_TEAL , "TEAL" , GTG_TEAL_RGB); __init_color(GTG_DARKGREY , "DARKGREY" , GTG_DARKGREY_RGB); __init_color(GTG_YELLOW , "YELLOW" , GTG_YELLOW_RGB); __init_color(GTG_PURPLE , "PURPLE" , GTG_PURPLE_RGB); __init_color(GTG_LIGHTBROWN, "LIGHTBROWN", GTG_LIGHTBROWN_RGB); __init_color(GTG_LIGHTGREY , "LIGHTGREY" , GTG_LIGHTGREY_RGB); __init_color(GTG_DARKBLUE , "DARKBLUE" , GTG_DARKBLUE_RGB); __init_color(GTG_PINK , "PINK" , GTG_PINK_RGB); __init_color(GTG_DARKPINK , "DARKPINK" , GTG_DARKPINK_RGB); __init_color(GTG_SEABLUE , "SEABLUE" , GTG_SEABLUE_RGB); __init_color(GTG_KAKI , "KAKI" , GTG_KAKI_RGB); __init_color(GTG_REDBLOOD , "REDBLOOD" , GTG_REDBLOOD_RGB); __init_color(GTG_BROWN , "BROWN" , GTG_BROWN_RGB); __init_color(GTG_GRENAT , "GRENAT" , GTG_GRENAT_RGB); __init_color(GTG_ORANGE , "ORANGE" , GTG_ORANGE_RGB); __init_color(GTG_MAUVE , "MAUVE" , GTG_MAUVE_RGB); __init_color(GTG_LIGHTPINK , "LIGHTPINK" , GTG_LIGHTPINK_RGB); } void gtg_color_exit() { int i; for (i=0; icolor_name != NULL ) free(color->color_name); free(color); } gtg-trace-0.2+dfsg/src/C/GTGMemory.c000066400000000000000000000043261175246114100171050ustar00rootroot00000000000000#include #include #include "GTGMemory.h" #define CTRL_ALLOC(ptr) \ { \ if(!ptr) { \ fprintf(stderr, "Cannot allocate memory. Aborting\n"); \ abort(); \ } \ } /* Initialize the allocator */ void gtg_block_memory_init(gtg_memory_t *memory, size_t block_len, long initial_block_number) { gtg_memory_t temp_mem = NULL; /* allocate the memory descriptor */ temp_mem = (gtg_memory_t) malloc(sizeof(struct gtg_memory)); CTRL_ALLOC(temp_mem); if (block_len < sizeof(void *)) { block_len = sizeof(void *); } /* allocate n * block_len */ temp_mem->first_mem = malloc((initial_block_number * block_len) + sizeof(void *)); CTRL_ALLOC(temp_mem->first_mem); memset(temp_mem->first_mem, 0, (initial_block_number * block_len) + sizeof(void *)); temp_mem->current_mem = temp_mem->first_mem; *(void **) ((char *) temp_mem->current_mem + (initial_block_number * block_len)) = NULL; temp_mem->block_len = block_len; temp_mem->mem_len = initial_block_number; temp_mem->first_free = NULL; temp_mem->first_new = 0; temp_mem->nb_allocated = 0; *memory = temp_mem; } /* Allocate a block of data */ void* gtg_block_malloc(gtg_memory_t memory) { void *ptr = NULL; if (memory->first_free != NULL) { /* There is a remaining block in memory */ ptr = memory->first_free; memory->first_free = *(void **) ptr; } else { if (memory->first_new >= memory->mem_len) { /* The allocated memory is exhausted. Allocate a larger space. */ const size_t mem_size = memory->mem_len * memory->block_len; void *new_mem = malloc(mem_size + sizeof(void *)); memset(new_mem, 0, mem_size + sizeof(void *)); *(void **) ((char *) new_mem + mem_size) = NULL; *(void **) ((char *) memory->current_mem + mem_size) = new_mem; memory->current_mem = new_mem; memory->first_new = 0; } ptr = (char *) memory->current_mem + memory->block_len * memory->first_new; memory->first_new++; } memory->nb_allocated++; return ptr; } /* Free a block of data */ void gtg_block_free(gtg_memory_t memory, void *ptr) { *(void **) ptr = memory->first_free; memory->first_free = ptr; memory->nb_allocated--; } gtg-trace-0.2+dfsg/src/C/GTGReplay.c000066400000000000000000000351351175246114100170730ustar00rootroot00000000000000#define _GNU_SOURCE #include #include #include #include #include "GTGBasic.h" #include "GTGReplay.h" #include "GTGMemory.h" #define MAX_EVENTS (2048*1024) #define SHORTCUT_RATIO 1000 extern gtg_flag_t gtg_flags; #define likely(x) __builtin_expect(!!(x), 1) #define unlikely(x) __builtin_expect(!!(x), 0) /* This file is used for ensuring that events are recorded in the correct order. * This is done by storing events in a list. The list is flushed when full or at the * end of the application. When the list is flushed, when event is recorded (by calling * addVar, startLink, etc.) * When adding an event to the list, it is inserted in the correct order (so the list * is sorted). In order to avoid browsing the entire list when inserting an event, * a 'shortcut' list is also implemented. One event out of 1000 is inserted in the * shortcut list. Thus, looking for the place to insert an element, we can browse the * shortcut list until we find the right shortcut. We then browse the event list, starting * from this shortcut. This permits to speed up the insertion of events by approx 1000. */ /* event list */ struct event_list_t { struct event_list_t *next; struct event_list_t *prev; enum event_type_t type; varPrec time; uint64_t data[6]; }; /* shortcut list */ struct event_list_shortcut_t { struct event_list_shortcut_t *next; struct event_list_shortcut_t *prev; varPrec time; struct event_list_t* event; }; /* queue and tail of the shortcut list */ static struct event_list_shortcut_t* __shortcut_first = NULL; static struct event_list_shortcut_t* __shortcut_last = NULL; /* queue and tail of the event list */ static struct event_list_t* __first_event = NULL; static struct event_list_t* __last_event = NULL; static int nb_events = 0; /* block allocators used for the event list and the shortcut list */ gtg_memory_t memory; gtg_memory_t shortcut_memory; /* insert new_event *after* cur_event */ static void __event_list_insert_after(struct event_list_t*new_event, struct event_list_t *cur_event) { assert(cur_event); new_event->prev = cur_event; new_event->next = cur_event->next; cur_event->next = new_event; if(cur_event->next) new_event->next->prev = new_event; else /* this is the last event */ __last_event = new_event; } /* insert new_event *before* cur_event */ static void __event_list_insert_before(struct event_list_t*new_event, struct event_list_t *cur_event) { assert(cur_event); new_event->next = cur_event; new_event->prev = cur_event->prev; cur_event->prev = new_event; if(cur_event->prev) new_event->prev->next = new_event; else __first_event = new_event; } /* for debugging purpose, print the list of recorded events */ static void __gtg_print_events() { struct event_list_t* cur_event = __first_event; while(cur_event) { printf("[%p]\t T=%f \t event type=%d\n", (void*)cur_event, cur_event->time, cur_event->type); cur_event = cur_event->next; } } static void __gtg_print_n_events(int nb_events, struct event_list_t *p_event) { struct event_list_t* cur_event = p_event; int i; for(i=0; itime, cur_event->type); cur_event = cur_event->next; } } /* run the first nb_events_to_write events * if nb_events_to_write == 1, it run all recorded events. */ void gtg_write_events(long nb_events_to_write) { struct event_list_t* cur_event = __first_event; struct event_list_t* prev; struct event_list_t* next; void* ptr; volatile int n = 0; /* unset the outoforder flag so that functions can be called for real */ gtg_flags ^= GTG_FLAG_OUTOFORDER; int cpt=0; while(cur_event && ((nb_events_to_write<0) ||(n < nb_events_to_write))) { /* for each event, call the corresponding function */ cpt++; switch(cur_event->type) { case event_addContainer: /* get the 5 parameters that were recorded and pass them to addContainer */ addContainer(cur_event->time, (char*)cur_event->data[0], (char*)cur_event->data[1], (char*)cur_event->data[2], (char*)cur_event->data[3], (char*)cur_event->data[4]); break; case event_destroyContainer: destroyContainer(cur_event->time, (char*)cur_event->data[0], (char*)cur_event->data[1]); break; case event_setState: setState(cur_event->time, (char*)cur_event->data[0], (char*)cur_event->data[1], (char*)cur_event->data[2]); break; case event_pushState: pushState(cur_event->time, (char*)cur_event->data[0], (char*)cur_event->data[1], (char*)cur_event->data[2]); break; case event_popState: popState(cur_event->time, (char*)cur_event->data[0], (char*)cur_event->data[1]); break; case event_addEvent: addEvent(cur_event->time, (char*)cur_event->data[0], (char*)cur_event->data[1], (char*)cur_event->data[2]); break; case event_startLink: startLink(cur_event->time, (char*)cur_event->data[0], (char*)cur_event->data[1], (char*)cur_event->data[2], (char*)cur_event->data[3], (char*)cur_event->data[4], (char*)cur_event->data[5]); break; case event_endLink: endLink(cur_event->time, (char*)cur_event->data[0], (char*)cur_event->data[1], (char*)cur_event->data[2], (char*)cur_event->data[3], (char*)cur_event->data[4], (char*)cur_event->data[5]); break; case event_setVar: setVar(cur_event->time, (char*)cur_event->data[0], (char*)cur_event->data[1], (double)cur_event->data[2]); break; case event_addVar: addVar(cur_event->time, (char*)cur_event->data[0], (char*)cur_event->data[1], (double)cur_event->data[2]); break; case event_subVar: subVar(cur_event->time, (char*)cur_event->data[0], (char*)cur_event->data[1], (double)cur_event->data[2]); break; default: fprintf(stderr, "Unknown event type: %d\n", cur_event->type); } /* remove the current item from the list */ prev = cur_event->prev; next = cur_event->next; if(prev) prev->next = next; if(next) next->prev = prev; n++; nb_events--; /* delete the current event */ ptr = cur_event; cur_event = next; gtg_block_free(memory, ptr); } __first_event = cur_event; /* update the shortcut list */ struct event_list_shortcut_t *cur_shortcut = __shortcut_first; if(__first_event) { /* the event list is not empty. Remove the shortcut that correspond * to events that were processed. */ while(cur_shortcut && cur_shortcut->time < __first_event->time) { struct event_list_shortcut_t * next_shortcut = cur_shortcut->next; next_shortcut->prev = NULL; gtg_block_free(shortcut_memory, cur_shortcut); cur_shortcut = next_shortcut; } } else { /* the event list is empty. Let's empty the shortcut list. */ while(cur_shortcut) { cur_shortcut->prev = NULL; struct event_list_shortcut_t * next_shortcut = cur_shortcut->next; gtg_block_free(shortcut_memory, cur_shortcut); cur_shortcut = next_shortcut; } } __shortcut_first = cur_shortcut; if(!__shortcut_first) /* if the shortcut list is empty, update shortcut_last */ __shortcut_last = NULL; /* set the outoforder flag so that the next calls to functions can be recorded */ gtg_flags |= GTG_FLAG_OUTOFORDER; } /* update the shortcut list */ static void __gtg_insert_shortcut(struct event_list_t* new_event) { /* create a shortcut (roughly) once every 1000 events */ if(nb_events % SHORTCUT_RATIO) return; /* allocate and initialize the new shortcut */ struct event_list_shortcut_t *new_shortcut = gtg_block_malloc(shortcut_memory); new_shortcut->time = new_event->time; new_shortcut->event = new_event; /* insert the shortcut in the shortcut list */ if(!__shortcut_first || !__shortcut_last) { /* the shortcut list is not initialized yet */ __shortcut_first = new_shortcut; __shortcut_last = new_shortcut; new_shortcut->next = NULL; new_shortcut->prev = NULL; return; } /* browse the shortcut list and find where to insert new_shortcut */ struct event_list_shortcut_t * cur_shortcut = __shortcut_last; while(cur_shortcut && cur_shortcut->time > new_shortcut->time) { cur_shortcut = cur_shortcut->prev; } if(!cur_shortcut) { /* we need to insert new_shortcut at the beginning of the list */ new_shortcut->next = __shortcut_first; new_shortcut->prev = NULL; new_shortcut->next->prev = new_shortcut; __shortcut_first = new_shortcut; return; } /* insert new_shortcut between cur_shortcut and cur_shortcut->next */ new_shortcut->next = cur_shortcut->next; new_shortcut->prev = cur_shortcut; cur_shortcut->next = new_shortcut; if(new_shortcut->next) new_shortcut->next->prev = new_shortcut; else { __shortcut_last = new_shortcut; } } /* Insert an event in the list of events. * At any time, this list is sorted. */ static void __gtg_insert(struct event_list_t* new_event) { struct event_list_t* cur_event = NULL; struct event_list_t* next_event = NULL; /* The list of event is not initialized yet */ if(!__last_event || !__first_event) { __last_event = new_event; __first_event = new_event; new_event->next = NULL; new_event->prev = NULL; goto out; } /* This is the 'normal' case: the event is the last one */ if(likely(new_event->time >= __last_event->time)) { /* the event is the last one */ __last_event->next = new_event; new_event->prev = __last_event; new_event->next = NULL; __last_event = new_event; goto out; } if(new_event->time <= __first_event->time) { /* the event is the first one */ __first_event->prev = new_event; new_event->next = __first_event; new_event->prev = NULL; __first_event = new_event; goto out; } /* the last event happened after new_event. * let's browse the list and find a place to insert new_event. */ cur_event = __first_event; next_event = __first_event->next; if(unlikely(!next_event)) { /* only one event in the list. We know that it happened after new_event. * let's insert new_event in the first position */ /* this should never happen */ new_event->next = __first_event; __first_event->prev = new_event; __first_event = new_event; goto out; } /* browse the shortcut list starting from the end (since it is likely that new_event * happened not so long before last_event. */ struct event_list_shortcut_t* cur_shortcut = __shortcut_last; while(cur_shortcut) { if(cur_shortcut->time <= new_event->time) { /* we need to insert new_event between cur_shortcut and cur_shortcut->next */ /* browse the list, starting from cur_shortcut->event */ cur_event = cur_shortcut->event; while(cur_event->time <= new_event->time) { /* We don't need to check for the end of the list. * This should never happen since this case is handled earlier */ cur_event = cur_event->next; } assert(cur_event->prev->time <= new_event->time); /* insert new_event between cur_event->prev and cur_event */ __event_list_insert_before(new_event, cur_event); goto out; } if(cur_shortcut->prev) cur_shortcut = cur_shortcut->prev; else /* we browsed the whole list but didn't find the place where to insert the event. */ break; } /* cur_shortcut is NULL */ /* browse the list starting from the end (since it is likely that new_event * happened not so long before last_event. */ cur_event = __last_event; while(cur_event->time > new_event->time) { if(cur_event->prev) cur_event = cur_event->prev; else break; } /* insert new_event after cur_event */ __event_list_insert_after(new_event, cur_event); out: __gtg_insert_shortcut(new_event); } /* parameters are concatenated and separated with the \3 byte */ #define FORMAT_SIX_STRING "%s\3%s\3%s\3%s\3%s\3%s" #define FORMAT_FIVE_STRING "%s\3%s\3%s\3%s\3%s" #define FORMAT_THREE_STRING "%s\3%s\3%s" #define FORMAT_TWO_STRING_ONE_DOUBLE "%s\3%s\3%e" #define FORMAT_TWO_STRING "%s\3%s" /* copy nb_string string parameters and nb_double double parameters into the data arary of evt * warning: actually, the parameters are not copied (in the case of string) */ static void __copy_args(struct event_list_t* evt, int nb_string, int nb_double, va_list args) { int i; for(i=0; idata[i] = (uint64_t) x; } for(i=nb_string; idata[i] = (uint64_t)x; } } /* postpone the recording of an event */ void gtg_record(enum event_type_t type, varPrec time, ...) { struct event_list_t* new_event; va_list arguments; static int initialized=0; if(!initialized) { /* initialize the block allocator */ gtg_block_memory_init(&memory, sizeof(struct event_list_t), MAX_EVENTS); gtg_block_memory_init(&shortcut_memory, sizeof(struct event_list_shortcut_t), MAX_EVENTS/1000); initialized = 1; } /* If the buffer is full, flush half of the recorded events. * There may be out of order events, but it is quite unlikely. */ if(nb_events > MAX_EVENTS) gtg_write_events(MAX_EVENTS/2); /* allocate the new event */ new_event = gtg_block_malloc(memory); new_event->next = NULL; new_event->type = type; new_event->time = time; /* Depending on the type of event, copy its parameters */ switch(type) { case event_startLink: case event_endLink: /* 6 parameters */ va_start (arguments, FORMAT_SIX_STRING); __copy_args(new_event, 6, 0, arguments); break; case event_addContainer: /* 5 parameters */ va_start (arguments, FORMAT_FIVE_STRING); __copy_args(new_event, 5, 0, arguments); break; case event_setState: case event_pushState: case event_addEvent: /* 3 parameters */ va_start (arguments, FORMAT_THREE_STRING); __copy_args(new_event, 3, 0, arguments); break; case event_setVar: case event_addVar: case event_subVar: /* 2 string parameters + 1 double */ va_start (arguments, FORMAT_TWO_STRING_ONE_DOUBLE); __copy_args(new_event, 2, 1, arguments); break; case event_destroyContainer: case event_popState: /* 2 parameters */ va_start (arguments, FORMAT_TWO_STRING); __copy_args(new_event, 2, 0, arguments); break; default: fprintf(stderr, "Unknown event type: %d\n", type); } va_end (arguments); /* Insert the new event in the list */ nb_events++; __gtg_insert(new_event); } gtg-trace-0.2+dfsg/src/C/OTF_GTGBasic1_c.c000066400000000000000000000434141175246114100177520ustar00rootroot00000000000000#ifdef BUILD_OTF #define _GNU_SOURCE #include #include #include #include "GTG.h" #include "GTGOTF.h" /* set in GTGBasic1_c.c * verbose !=0 means debugging mode */ extern int verbose; /* set to 'val' if the initialization should invoke set_compression * This may happen when setCompress is called before initTrace */ int use_compress = 0; /* Flags that should be used. */ static gtg_flag_t otf_flags; /* OTF data */ static OTF_FileManager* manager = NULL; static OTF_Writer* writer = NULL; /* each of these instances of structures corresponds to the NIL value. It contains: * - the head of the list * - the first identifier */ ContainerType_t ctType; Container_t conts; StateType_t stateTypes; EntityValue_t states; VariableType_t variableTypes; Variable_t variables; EventType_t eventTypes; LinkType_t linkTypes; /* Root name */ static char *filename = NULL; #define CHECK_RESULT(__func__) { \ if(__func__ != 1) { \ fprintf(stderr, "Error while writing the OTF trace\n"); \ abort(); \ } \ } #define TIMER_RES 100000. struct otf_color otf_color_null; const otf_color_t OTF_get_color(gtg_color_t color) { /* todo */ return &otf_color_null; } /* * Local methods for OTF only, will be put in an other file after to be cleaner than now... */ #define getXXXPtrFromName(_type_, list_head) \ struct _type_ *get##_type_##PtrFromName(const char *name) { \ struct _type_ *ptr; \ if(name == NULL) { \ return NULL; \ } \ gtg_list_for_each_entry(ptr, &(list_head).token, token) { \ if(strcmp(name, ptr->name) == 0 \ || strcmp(name, ptr->alias) == 0) { \ return ptr; \ } \ } \ return NULL; \ } #define getXXXFromName(__type__) \ int get##__type__##FromName(const char *name) { \ struct __type__ *res = get##__type__##PtrFromName(name); \ return (res? res->id : __type__##_NIL); \ } /* generate functions that permit to retrieve a pointer to an object*/ getXXXPtrFromName(ContainerType, ctType) getXXXPtrFromName(Container, conts) getXXXPtrFromName(StateType, stateTypes) getXXXPtrFromName(EntityValue, states) getXXXPtrFromName(VariableType, variableTypes) getXXXPtrFromName(EventType, eventTypes) getXXXPtrFromName(LinkType, linkTypes) /* generate functions that permit to retrieve the id of objects */ getXXXFromName(ContainerType) getXXXFromName(Container) getXXXFromName(StateType) getXXXFromName(EntityValue) getXXXFromName(VariableType) getXXXFromName(EventType) getXXXFromName(LinkType) /* * return a pointer to the Variable whose container is cont and whose variable type is type. * return NULL if not found */ Variable_t *getVariablePtrFromCont(int cont, int type) { struct Variable *ptr; /* todo: use one list of variable per container */ gtg_list_for_each_entry(ptr, &(variables).token, token) { if(type == ptr->type && cont == ptr->parent) { return ptr; } } return NULL; } /* * return the id of the Variable whose container is cont and whose variable type is type. * return NULL if not found */ int getVariableFromCont(int cont, int type) { Variable_t *res = getVariablePtrFromCont(cont, type); return (res? res->id : Variable_NIL); } /* Initialize all the OTF-specific variables */ static void __OTF_init() { /* initialize otf_color_null */ asprintf(&otf_color_null.colorID, "NO COLOR"); otf_color_null.red = 0; otf_color_null.green = 0; otf_color_null.blue = 0; /* initialize all the lists/stacks */ init_ContainerType(ctType); init_Container(conts); init_StateType(stateTypes); init_EntityValue(states); init_VariableType(variableTypes); init_Variable(variables); init_EventType(eventTypes); init_LinkType(linkTypes); } /* Beginning of the implementation of the interface for OTF */ trace_return_t OTFInitTrace(const char* filenam, gtg_flag_t flags) { int ret = TRACE_ERR_OPEN; otf_flags = flags; /* first, let's initialize all the OTF-specific variables */ __OTF_init(); filename = (char *)malloc (sizeof (char)* (strlen (filenam)+1)); strcpy (filename, filenam); /* Open maximum of a MAX_PROCESS files for writing trace */ manager = OTF_FileManager_open(MAX_PROCESS); if(manager == NULL) { fprintf (stderr, "Failed to open a manager for OTF. \n Leaving \n"); return (trace_return_t) ret; } writer = OTF_Writer_open(filename, 0, manager); if(writer == NULL) { OTF_FileManager_close(manager); manager = NULL; fprintf (stderr, "Failed to open a writer for OTF. \n Leaving \n"); return (trace_return_t) ret; } OTF_Writer_writeDefTimerResolution(writer, 0, TIMER_RES); if(use_compress) OTF_Writer_setCompression (writer, use_compress); OTFAddContType("0", NULL, "0"); return TRACE_SUCCESS; } trace_return_t OTFSetCompress(int val) { if(writer) { if(OTF_Writer_setCompression (writer, val)) return TRACE_SUCCESS; } else { /* postpone the invocation of setCompression */ use_compress=val; } return TRACE_ERR_WRITE; } trace_return_t OTFAddContType (const char* alias, const char* contType, const char* name) { uint32_t parent = 0; ContainerType_t *p_cont; if(contType != NULL && strcmp(contType, "0") != 0) { /* get its parent id */ parent = getContainerTypeFromName(contType); } /* allocate the container type, initialise it and add it to the list of * container types. */ alloc_init_struct(ContainerType_t, p_cont, &ctType.token, name, alias); if(verbose) printf("addCtType : name %s, alias %s, contType %s\n", name, alias, contType); return TRACE_SUCCESS; } trace_return_t OTFAddStateType (const char* alias, const char* contType, const char* name) { /* allocate the state type, initialise it and add it to the list of * state types. */ StateType_t *p_state; alloc_init_struct(StateType_t, p_state, &stateTypes.token, name, alias); if(verbose) printf("addStateType : id %d, alias %s, name %s, contType %s\n", p_state->id, alias, name, contType); CHECK_RESULT(OTF_Writer_writeDefFunctionGroup(writer, 0, p_state->id, name)); return TRACE_SUCCESS; } trace_return_t OTFAddEventType (const char* alias, const char* contType, const char* name) { /* allocate the event type, initialise it and add it to the list of * event types. */ EventType_t *p_event; alloc_init_struct(EventType_t, p_event, &eventTypes.token, name, alias); p_event->contType = getContainerTypeFromName(contType); if(verbose) printf("addEventType : id %d, alias %s, name %s, contType %s\n", p_event->id, alias, name, contType); CHECK_RESULT(OTF_Writer_writeDefMarker(writer, 0, p_event->id, name, OTF_MARKER_TYPE_UNKNOWN)); return TRACE_SUCCESS; } trace_return_t OTFAddLinkType (const char* alias , const char* name, const char* contType, const char* srcContType, const char* destContType) { /* allocate the link type, initialise it and add it to the list of * link types. */ LinkType_t *p_link; alloc_init_struct(LinkType_t, p_link, &linkTypes.token, name, alias); p_link->contType = getContainerTypeFromName(contType); p_link->srcType = getContainerTypeFromName(srcContType); p_link->destType = getContainerTypeFromName(destContType); if(verbose) printf("addLinkType : id %d, alias %s, name %s, contType %s, src %s, dest %s\n", p_link->id, alias, name, contType, srcContType, destContType); return TRACE_SUCCESS; } trace_return_t OTFAddVarType (const char* alias , const char* contType, const char* name) { /* allocate the Variable type, initialise it and add it to the list of * variable types. */ VariableType_t *p_variable; alloc_init_struct(VariableType_t, p_variable, &variableTypes.token, name, alias); CHECK_RESULT(OTF_Writer_writeDefCounterGroup (writer, 0, p_variable->id, name)); if(verbose) printf("addVarType : id %d, alias %s, name %s, contType %s\n", p_variable->id, alias, name, contType); return TRACE_SUCCESS; } trace_return_t OTFAddEntityValue (const char* alias, const char* entType, const char* name , const otf_color_t color) { int type; EntityValue_t *p_ent; type = getStateTypeFromName(entType); alloc_init_struct(EntityValue_t, p_ent, &states.token, name, alias); if(verbose) printf("addEntityValue : id %d, alias %s, name %s, type %d\n", p_ent->id, alias, name, type); CHECK_RESULT(OTF_Writer_writeDefFunction(writer, 0, p_ent->id, name, type, 0)); return TRACE_SUCCESS; } trace_return_t OTFDefineContainer (const char* alias, const char* type, const char* container, const char* name, const char* file) { int parent; Container_t *p_cont; parent = getContainerFromName(container); /*int ctType = getContainerTypeFromName(type);*/ /* allocate the Container, initialize it and add it to the list of * containers. */ alloc_init_struct(Container_t, p_cont, &conts.token, name, alias); /* Initialize the state stack. */ init_State(p_cont->state_stack); if(verbose) printf("addCont : parent %d, id %d, name %s, alias %s, type %s, parent %s\n", parent, p_cont->id, name, alias, type, container); CHECK_RESULT(OTF_Writer_writeDefProcess(writer, 0, p_cont->id, name, parent)); return TRACE_SUCCESS; } trace_return_t OTFStartContainer (varPrec time, const char* alias, const char* type, const char* container, const char* name, const char* file) { uint32_t new_container = getContainerFromName(alias); if(!new_container) { /* container not yet defined */ OTFDefineContainer(alias, type, container, name, file); } OTF_Writer_writeBeginProcess (writer, time*TIMER_RES, new_container); return TRACE_SUCCESS; } trace_return_t OTFSeqAddContainer (varPrec time, const char* alias, const char* type, const char* container, const char* name) { return OTFStartContainer(time, alias, type, container, name, NULL); } trace_return_t OTFDestroyContainer (varPrec time, const char* name, const char* type) { uint32_t process = getContainerFromName(name); CHECK_RESULT(OTF_Writer_writeEndProcess (writer, time*TIMER_RES, process)); return TRACE_SUCCESS; } trace_return_t OTFSetState (varPrec time, const char* type, const char* cont, const char* val) { Container_t *p_parent = getContainerPtrFromName(cont); int stateType = getStateTypeFromName(type); int state = getEntityValueFromName(val); /* We need to free the current State structure (if it exists). */ State_t* p_state; if(!gtg_stack_empty(&p_parent->state_stack.token)) { p_state = gtg_list_entry(gtg_stack_top(&p_parent->state_stack.token), State_t, token); gtg_stack_pop(&p_parent->state_stack.token); free(p_state); } /* Allocate a new State structure and fill it */ alloc_State(p_state, state, p_parent->id, stateType); /* Add the structure to the container state stack. */ gtg_stack_push(&p_state->token, &p_parent->state_stack.token); if(verbose) printf("SetState : parent %d, stateType %d, val %d\n", p_parent->id, stateType, state); CHECK_RESULT(OTF_Writer_writeEnter (writer, time*TIMER_RES, state, p_parent->id, 0)); return TRACE_SUCCESS; } trace_return_t OTFPushState (varPrec time, const char* type, const char* cont, const char* val) { Container_t *p_parent = getContainerPtrFromName(cont); int stateType = getStateTypeFromName(type); int value = getEntityValueFromName(val); State_t* p_state; /* Allocate a new State structure and fill it */ alloc_State(p_state, value, p_parent->id, stateType); /* Add the structure to the container state stack. */ gtg_stack_push(&p_state->token, &p_parent->state_stack.token); if(verbose) printf("PushState : parent %d, stateType %d, val %d\n", p_parent->id, stateType, value); CHECK_RESULT(OTF_Writer_writeEnter (writer, time*TIMER_RES, value, p_parent->id, 0)); return TRACE_SUCCESS; } trace_return_t OTFPopState (varPrec time, const char* type, const char* cont) { /* Pop and set */ Container_t *p_parent = getContainerPtrFromName(cont); State_t *p_state; /* Free the current State structure (if it exists). */ if(!gtg_stack_empty(&p_parent->state_stack.token)) { /* Get the top of the stack. */ p_state = gtg_list_entry(gtg_stack_top(&p_parent->state_stack.token), State_t, token); gtg_stack_pop(&p_parent->state_stack.token); } else { /* The stack is empty, don't do anything and print a warning */ fprintf(stderr, "Warning: PopState called, but the stack is empty!\n"); return TRACE_ERR_WRITE; } if(verbose) printf("PopState : parent %d, stateType %d, val %d\n", p_state->cont, p_state->stateType, p_state->value); CHECK_RESULT(OTF_Writer_writeLeave (writer, time*TIMER_RES, p_state->value, p_state->cont, 0)); free(p_state); return TRACE_SUCCESS; } trace_return_t OTFAddEvent (varPrec time , const char* type, const char *cont, const char* val){ uint32_t process = getContainerFromName(cont); uint32_t eventType = getEventTypeFromName(type); CHECK_RESULT(OTF_Writer_writeMarker (writer, time*TIMER_RES, process, eventType, val)); if(verbose) printf("AddEvent : parent %d, eventType %d, val %s\n", process, eventType, val); return TRACE_SUCCESS; } trace_return_t OTFStartLink (varPrec time, const char* type, const char* src, const char* dest, const char* val , const char* key){ uint32_t source = getContainerFromName(src); uint32_t destination = getContainerFromName(dest); uint32_t linkType = getLinkTypeFromName(type); CHECK_RESULT(OTF_Writer_writeSendMsg(writer, time*TIMER_RES, source, destination, 0, linkType, 0, 0)); if(verbose) printf("StartLink : time %f, src %d, dest %d, linkType %d, val %s, key %s\n", time*TIMER_RES, source, destination, linkType, val, key); return TRACE_SUCCESS; } trace_return_t OTFEndLink (varPrec time, const char* type, const char* src, const char* dest, const char* val, const char* key){ uint32_t src_cont = getContainerFromName(src); uint32_t dest_cont = getContainerFromName(dest); uint32_t linkType = getLinkTypeFromName(type); CHECK_RESULT(OTF_Writer_writeRecvMsg(writer, time*TIMER_RES, dest_cont, src_cont, 0, linkType, 0, 0)); if(verbose) printf("EndLink : time %f, src %d, dest %d, linkType %d, val %s, key %s\n", time*TIMER_RES, src_cont, dest_cont, linkType, val, key); return TRACE_SUCCESS; } trace_return_t OTFSetVar (varPrec time, const char* type, const char* cont, varPrec val) { int parent = getContainerFromName(cont); int varType = getVariableTypeFromName(type); /* Check wether the variable already exists */ Variable_t * p_counter = getVariablePtrFromCont(parent, varType); if(!p_counter) { /* the variable doesn't exist yet. Allocate and initialize it */ alloc_Variable(p_counter, (gtg_list_entry(variables.token.prev, Variable_t, token)->id) + 1, parent, varType, 0); gtg_list_add_tail(&(p_counter->token), &(variables.token)); CHECK_RESULT(OTF_Writer_writeDefCounter(writer, 0, p_counter->id, type, 0, varType, NULL)); } /* Update the value of the variable */ p_counter->value = val; if( p_counter->value < 0) { fprintf(stderr, "A counter value can not be negative!\n"); return TRACE_ERR_WRITE; } CHECK_RESULT(OTF_Writer_writeCounter (writer, time*TIMER_RES, parent, varType, p_counter->value)); if(verbose) printf("setVar : %s %s %f\n", type, cont, val); return TRACE_SUCCESS; } trace_return_t OTFAddVar (varPrec time, const char* type, const char* cont, varPrec val) { int parent = getContainerFromName(cont); int varType = getVariableTypeFromName(type); /* Check wether the variable already exists */ Variable_t * p_counter = getVariablePtrFromCont(parent, varType); if(!p_counter) { /* the variable doesn't exist yet. Allocate and initialize it */ alloc_Variable(p_counter, (gtg_list_entry(variables.token.prev, Variable_t, token)->id) + 1, parent, varType, 0 /* Let's assume that the initial value is 0 */); gtg_list_add_tail(&(p_counter->token), &(variables.token)); CHECK_RESULT(OTF_Writer_writeDefCounter(writer, 0, p_counter->id, type, 0, varType, NULL)); } /* update the variable value */ p_counter->value += val; if(p_counter->value < 0) { fprintf(stderr, "A counter value can not be negative!\n"); return TRACE_ERR_WRITE; } CHECK_RESULT(OTF_Writer_writeCounter (writer, time*TIMER_RES, parent, varType, p_counter->value)); if(verbose) printf("addVar : %s %s %f\n", type, cont, val); return TRACE_SUCCESS; } trace_return_t OTFSubVar (varPrec time, const char* type, const char* cont, varPrec val) { return OTFAddVar(time, type, cont, - (val) ); } trace_return_t OTFAddComment (const char* comment){ /* Not implemented yet */ return TRACE_ERR_WRITE; } trace_return_t OTFEndTrace () { Container_t *ptr, *tmp; State_t *ptr2, *tmp2; /* free all the allocated structures */ free_struct(ContainerType_t, ctType); free_struct(StateType_t, stateTypes); free_struct(VariableType_t, variableTypes); free_struct(EventType_t, eventTypes); free_struct(LinkType_t, linkTypes); free_struct(EntityValue_t, states); /* special case for the list of containers since each one contains a state stack */ gtg_list_for_each_entry_safe(ptr, tmp, &(conts).token, token) { gtg_list_del(&(ptr->token)); /* Free the State stack */ gtg_list_for_each_entry_safe(ptr2, tmp2, &(ptr->state_stack).token, token) { gtg_list_del(&(ptr2->token)); free(ptr2); } free(ptr->name); free(ptr->alias); free(ptr); } /* Close the output trace */ if(!OTF_Writer_close(writer)) { fprintf (stderr, "unable to close the file writer"); return TRACE_ERR_CLOSE; } writer = NULL; OTF_FileManager_close(manager); manager = NULL; if (filename) free (filename); filename = NULL; free(otf_color_null.colorID); return TRACE_SUCCESS; } #endif /* BUILD_OTF */ gtg-trace-0.2+dfsg/src/C/gtg_compress.c000066400000000000000000000024071175246114100177650ustar00rootroot00000000000000 #include #include #include #include #include "GTGCompress.h" char* input_filename; char* output_filename; static void usage (int argc __attribute__((unused)), char **argv) { fprintf (stderr, "Usage : %s -i input_filename [-o output_filename] \n", argv[0]); } static void parse_args (int argc, char **argv) { int i; input_filename = NULL; for (i = 1; i < argc; i++) { if (strcmp (argv[i], "-o") == 0) { output_filename = argv[++i]; } else if (strcmp (argv[i], "-i") == 0) { if(input_filename) { usage (argc, argv); exit (-1); } input_filename = argv[++i]; } else { if(input_filename) { usage (argc, argv); exit (-1); } input_filename = argv[i]; } } } int main(int argc, char**argv) { parse_args(argc, argv); if(!input_filename) { fprintf(stderr, "please provide an input file and an output file\n"); exit(-1); } if(!output_filename) { asprintf(&output_filename, "%s.z", input_filename); } printf("compressing file %s into file %s\n", input_filename, output_filename); FILE *fin=fopen(input_filename, "r"); FILE *fout=fopen(output_filename, "w"); z_stream z; gtg_compress_init(&z, 1); gtg_compress_f2f(&z, fin, fout); return 0; } gtg-trace-0.2+dfsg/src/C/gtg_compress_core.c000066400000000000000000000165651175246114100210070ustar00rootroot00000000000000 #include #include #include #include #include #include #include #include "GTGCompress.h" #define BUF_SIZE_MAX (1024*1024*32) /* block size used */ #define BLOCK_SIZE (128*1024) int gtg_compress_init(z_stream *z, int compression_ratio) { static int first_init = 1; int status = Z_OK; if(first_init) { int level = compression_ratio; z->zalloc = NULL; z->zfree = NULL; z->opaque = NULL; z->avail_in = 0; z->next_in = Z_NULL; status = deflateInit(z, level); if (status != Z_OK) { fprintf(stderr, "error at init: %d\n", status); } first_init=0; } return status; } int gtg_compress_m2m(z_stream *z, void* in_buf, uint32_t len, void* out_buf, uint32_t out_max_len) { int status; int offset_out = 0; /* offset in the dest buffer */ z->avail_out = out_max_len; z->avail_in = len; z->next_out = out_buf; z->next_in = in_buf; /* compress */ status = deflate( z, Z_SYNC_FLUSH ); if ( Z_OK != status ) { fprintf( stderr, "error %d in compressing\n", status); return -1; } /* compute output len */ offset_out = out_max_len - z->avail_out; return offset_out; } int gtg_compress_m2f(z_stream *z, void* in_buf, uint32_t len, FILE* file_out) { int status; int offset_in = 0; int offset_out = 0; int total_written = 0; int cur_input_size = 0; uint8_t out_buf[BLOCK_SIZE]; int written = 0; /* compress each block of data */ while(offset_in < len) { z->next_out = out_buf; z->avail_out = BLOCK_SIZE; /* compute input buffer address */ if(offset_in + BLOCK_SIZE > len) z->avail_in = len - offset_in; else z->avail_in = BLOCK_SIZE; cur_input_size = z->avail_in; z->next_in = &((uint8_t*)in_buf)[offset_in]; /* compress */ status = deflate( z, Z_SYNC_FLUSH ); if ( Z_OK != status ) { fprintf( stderr, "error %d in compressing\n", status); return -1; } /* compute new offset */ offset_out = BLOCK_SIZE - z->avail_out; offset_in += cur_input_size; /* write to disk */ written = fwrite(out_buf, sizeof(uint8_t), offset_out, file_out); if(written < offset_out) { fprintf(stderr, "warning: %d bytes out of %d were written to disk\n", written, offset_out); } total_written += written; } return total_written; } int gtg_compress_f2m(z_stream *z, FILE* file_in, void* out_buf, uint32_t out_max_len) { int status; int offset = 0; /* offset in the dest buffer */ uint8_t in_buf[BLOCK_SIZE]; int in_len = 0; while(!feof(file_in)) { /* read a block of data */ in_len = fread(in_buf, sizeof(uint8_t), BLOCK_SIZE, file_in); z->avail_in = in_len; z->next_in = in_buf; z->avail_out = out_max_len - offset; z->next_out = &((uint8_t*)out_buf)[offset]; /* compress the block */ status = deflate( z, Z_SYNC_FLUSH ); if ( Z_OK != status ) { fprintf( stderr, "error %d in compressing\n", status); return -1; } /* compute output len */ offset = out_max_len - z->avail_out; } return offset; } int gtg_compress_f2f(z_stream *z, FILE* file_in, FILE* file_out) { int status; int offset = 0; /* offset in the dest buffer */ uint8_t in_buf[BLOCK_SIZE]; uint8_t out_buf[BLOCK_SIZE]; int in_len = 0; int total_written = 0; int written = 0; while(!feof(file_in)) { /* read a block of data */ in_len = fread(in_buf, sizeof(uint8_t), BLOCK_SIZE, file_in); z->avail_in = in_len; z->next_in = in_buf; z->avail_out = BLOCK_SIZE; z->next_out = out_buf; /* compress the block */ status = deflate( z, Z_SYNC_FLUSH ); if ( Z_OK != status ) { fprintf( stderr, "error %d in compressing\n", status); return -1; } /* compute output len */ offset = BLOCK_SIZE - z->avail_out; /* write the output block to disk */ written = fwrite(out_buf, sizeof(uint8_t), offset, file_out); if(written < offset) { fprintf(stderr, "warning: %d bytes out of %d were written to disk\n", written, offset); } total_written += written; } return total_written; } /* decompression routines */ int gtg_decompress_init(z_stream *z) { int status; z->zalloc = NULL; z->zfree = NULL; z->opaque = NULL; z->avail_in = 0; z->next_in = Z_NULL; status = inflateInit(z); if (status != Z_OK) { fprintf(stderr, "error at init: %d\n", status); } return status; } int gtg_decompress_m2m(z_stream *z, void* in_buf, uint32_t len, void* out_buf, uint32_t out_max_len) { int status; z->next_in= in_buf; z->avail_in = len; z->next_out = out_buf; z->avail_out = out_max_len; /* decompress */ status = inflate( z, Z_SYNC_FLUSH ); if ( Z_OK != status ) { fprintf( stderr, "error %d in compressing\n", status); return -1; } return out_max_len - z->avail_out; } int gtg_decompress_m2f(z_stream *z, void* in_buf, uint32_t len, FILE* file_out) { int status; uint8_t out_buf[BLOCK_SIZE]; int offset_out = 0; int offset_in = 0; int total_written = 0; int written = 0; /* decompress one block at a time */ while(offset_in < len) { z->next_in= &((uint8_t*)in_buf)[offset_in]; z->avail_in = len - offset_in; z->next_out = out_buf; z->avail_out = BLOCK_SIZE; /* decompress */ status = inflate( z, Z_SYNC_FLUSH ); if ( Z_OK != status ) { fprintf( stderr, "error %d in compressing\n", status); return -1; } /* compute new offsets */ offset_out = BLOCK_SIZE - z->avail_out; offset_in = len - z->avail_in; written = fwrite(out_buf, 1, offset_out, file_out); if(written < offset_out){ fprintf(stderr, "warning: %d bytes out of %d written\n", written, offset_out); return -1; } total_written += written; } return total_written; } int gtg_decompress_f2m(z_stream *z, FILE* file_in, void* out_buf, uint32_t out_max_len) { int status; uint8_t in_buf[BLOCK_SIZE]; uint32_t in_len = 0; int offset_out = 0; while(! feof(file_in)) { in_len = fread(in_buf, BLOCK_SIZE, sizeof(uint8_t), file_in); z->avail_in = in_len; z->next_in = in_buf; z->avail_out = out_max_len - offset_out; z->next_out = &((uint8_t*)out_buf)[offset_out]; /* decompress */ status = inflate( z, Z_SYNC_FLUSH ); if ( Z_OK != status ) { fprintf( stderr, "error %d in compressing\n", status); return -1; } /* compute output len */ offset_out = out_max_len - z->avail_out; } return offset_out; } int gtg_decompress_f2f(z_stream *z, FILE* file_in, FILE* file_out) { int status; int offset = 0; /* offset in the dest buffer */ uint8_t in_buf[BLOCK_SIZE]; uint8_t out_buf[BLOCK_SIZE]; int in_len = 0; int total_written = 0; int written = 0; while(!feof(file_in)) { in_len = fread(in_buf, sizeof(uint8_t), BLOCK_SIZE, file_in); z->avail_in = in_len; z->next_in = in_buf; z->avail_out = BLOCK_SIZE; z->next_out = out_buf; /* decompress */ status = inflate( z, Z_SYNC_FLUSH ); if ( Z_OK != status ) { fprintf( stderr, "error %d in compressing\n", status); return -1; } /* compute output len */ offset = BLOCK_SIZE - z->avail_out; written = fwrite(out_buf, sizeof(uint8_t), offset, file_out); if(written < offset) { fprintf(stderr, "warning: %d bytes out of %d were written to disk\n", written, offset); } total_written += written; } return total_written; } gtg-trace-0.2+dfsg/src/C/gtg_decompress.c000066400000000000000000000023751175246114100203020ustar00rootroot00000000000000 #include #include #include #include #include "GTGCompress.h" char* input_filename; char* output_filename; static void usage (int argc __attribute__((unused)), char **argv) { fprintf (stderr, "Usage : %s -i input_filename [-o output_filename] \n", argv[0]); } static void parse_args (int argc, char **argv) { int i; input_filename = NULL; for (i = 1; i < argc; i++) { if (strcmp (argv[i], "-o") == 0) { output_filename = argv[++i]; } else if (strcmp (argv[i], "-i") == 0) { if(input_filename) { usage (argc, argv); exit (-1); } input_filename = argv[++i]; } else { if(input_filename) { usage (argc, argv); exit (-1); } input_filename = argv[i]; } } } int main(int argc, char**argv) { parse_args(argc, argv); if(!input_filename) { fprintf(stderr, "please provide an input file\n"); exit(-1); } if(!output_filename) { asprintf(&output_filename, "%s.unzipped", input_filename); } printf("decompressing file %s into file %s\n", input_filename, output_filename); FILE *fin=fopen(input_filename, "r"); FILE *fout=fopen(output_filename, "w"); z_stream z; gtg_decompress_init(&z); gtg_decompress_f2f(&z, fin, fout); return 0; } gtg-trace-0.2+dfsg/src/C/interfaceCFortranBasic1.c000066400000000000000000000313121175246114100217100ustar00rootroot00000000000000#include #include #include "GTG.h" void setTraceType_i (int *type) { setTraceType ((traceType_t) * type); } int getTraceType_i () { return getTraceType (); } int bufferedModeActivated_i() { return bufferedModeActivated_i(); } void initTrace_i (char *f, int *len, int *rank, gtg_flag_t* flags, int *err) { char *filename = (char *) malloc (sizeof (char) * (*len + 1)); memcpy (filename, f, *len); filename[*len] = '\0'; *err = initTrace (filename, *rank, *flags); } void addContType_i (char *alias, int *s1, char *contType, int *s2, char *name, int *s3, int *err) { char *a = (char *) malloc (sizeof (char) * (*s1 + 1)); char *c = (char *) malloc (sizeof (char) * (*s2 + 1)); char *n = (char *) malloc (sizeof (char) * (*s3 + 1)); memcpy (a, alias, *s1); a[*s1] = '\0'; memcpy (c, contType, *s2); c[*s2] = '\0'; memcpy (n, name, *s3); n[*s3] = '\0'; *err = addContType (a, c, n); } void addStateType_i (char *alias, int *s1, char *contType, int *s2, char *name, int *s3, int *err) { char *a = (char *) malloc (sizeof (char) * (*s1 + 1)); char *c = (char *) malloc (sizeof (char) * (*s2 + 1)); char *n = (char *) malloc (sizeof (char) * (*s3 + 1)); memcpy (a, alias, *s1); a[*s1] = '\0'; memcpy (c, contType, *s2); c[*s2] = '\0'; memcpy (n, name, *s3); n[*s3] = '\0'; *err = addStateType (a, c, n); } void addEventType_i (char *alias, int *s1, char *contType, int *s2, char *name, int *s3, int *err) { char *a = (char *) malloc (sizeof (char) * (*s1 + 1)); char *n = (char *) malloc (sizeof (char) * (*s3 + 1)); char *c = (char *) malloc (sizeof (char) * (*s2 + 1)); memcpy (a, alias, *s1); a[*s1] = '\0'; memcpy (c, contType, *s2); c[*s2] = '\0'; memcpy (n, name, *s3); n[*s3] = '\0'; *err = addEventType (a, c, n); } void addLinkType_i (char *alias, int *s1, char *name, int *s3, char *contType, int *s2, char *src, int *s4, char *dest, int *s5, int *err) { char *a = (char *) malloc (sizeof (char) * (*s1 + 1)); char *d = (char *) malloc (sizeof (char) * (*s5 + 1)); char *c = (char *) malloc (sizeof (char) * (*s2 + 1)); char *n = (char *) malloc (sizeof (char) * (*s3 + 1)); char *s = (char *) malloc (sizeof (char) * (*s4 + 1)); memcpy (a, alias, *s1); a[*s1] = '\0'; memcpy (c, contType, *s2); c[*s2] = '\0'; memcpy (n, name, *s3); n[*s3] = '\0'; memcpy (s, src, *s4); s[*s4] = '\0'; memcpy (d, dest, *s5); d[*s5] = '\0'; *err = addLinkType (a, n, c, s, d); } void addVarType_i (char *alias, int *s1, char *name, int *s3, char *contType, int *s2, int *err) { char *a = (char *) malloc (sizeof (char) * (*s1 + 1)); char *n = (char *) malloc (sizeof (char) * (*s3 + 1)); char *c = (char *) malloc (sizeof (char) * (*s2 + 1)); memcpy (a, alias, *s1); a[*s1] = '\0'; memcpy (c, contType, *s2); c[*s2] = '\0'; memcpy (n, name, *s3); n[*s3] = '\0'; *err = addVarType (a, c, n); } void addEntityValue_i (char *alias, int *s1, char *entType, int *s2, char *name, int *s3, gtg_color_t color, int *s4, int *err) { char *a = (char *) malloc (sizeof (char) * (*s1 + 1)); char *c = (char *) malloc (sizeof (char) * (*s2 + 1)); char *n = (char *) malloc (sizeof (char) * (*s3 + 1)); memcpy (a, alias, *s1); a[*s1] = '\0'; memcpy (c, entType, *s2); c[*s2] = '\0'; memcpy (n, name, *s3); n[*s3] = '\0'; *err = addEntityValue (a, c, n, color); } void addContainer_i (varPrec * time, char *alias, int *s1, char *type, int *s2, char *container, int *s3, char *name, int *s4, char *filename, int *s5, int *err) { char *a = (char *) malloc (sizeof (char) * (*s1 + 1)); char *t = (char *) malloc (sizeof (char) * (*s2 + 1)); char *c = (char *) malloc (sizeof (char) * (*s3 + 1)); char *n = (char *) malloc (sizeof (char) * (*s4 + 1)); char *f = (char *) malloc (sizeof (char) * (*s5 + 1)); memcpy (a, alias, *s1); a[*s1] = '\0'; memcpy (t, type, *s2); t[*s2] = '\0'; memcpy (c, container, *s3); c[*s3] = '\0'; memcpy (n, name, *s4); n[*s4] = '\0'; memcpy (f, filename, *s5); f[*s5] = '\0'; *err = addContainer (*time, a, t, c, n, f); } void destroyContainer_i (varPrec * time, char *name, int *s1, char *type, int *s2, int *err) { char *t = (char *) malloc (sizeof (char) * (*s2 + 1)); char *n = (char *) malloc (sizeof (char) * (*s1 + 1)); memcpy (t, type, *s2); t[*s2] = '\0'; memcpy (n, name, *s1); n[*s1] = '\0'; *err = destroyContainer (*time, n, t); } void setState_i (varPrec * time, char *type, int *s2, char *cont, int *s1, char *val, int *s3, int *err) { char *t = (char *) malloc (sizeof (char) * (*s2 + 1)); char *v = (char *) malloc (sizeof (char) * (*s3 + 1)); char *c = (char *) malloc (sizeof (char) * (*s1 + 1)); memcpy (t, type, *s2); t[*s2] = '\0'; memcpy (c, cont, *s1); c[*s1] = '\0'; memcpy (v, val, *s3); v[*s3] = '\0'; *err = setState (*time, t, c, v); } void pushState_i (varPrec * time, char *type, int *s2, char *cont, int *s1, char *val, int *s3, int *err) { char *t = (char *) malloc (sizeof (char) * (*s2 + 1)); char *c = (char *) malloc (sizeof (char) * (*s1 + 1)); char *v = (char *) malloc (sizeof (char) * (*s3 + 1)); memcpy (t, type, *s2); t[*s2] = '\0'; memcpy (c, cont, *s1); c[*s1] = '\0'; memcpy (v, val, *s3); v[*s3] = '\0'; *err = pushState (*time, t, c, v); } void popState_i (varPrec * time, char *type, int *s2, char *cont, int *s1, int *s3, int *err) { char *t = (char *) malloc (sizeof (char) * (*s2 + 1)); char *c = (char *) malloc (sizeof (char) * (*s1 + 1)); memcpy (t, type, *s2); t[*s2] = '\0'; memcpy (c, cont, *s1); c[*s1] = '\0'; *err = popState (*time, t, c); } void addEvent_i (varPrec * time, char *type, int *s2, char *cont, int *s1, char *val, int *s3, int *err) { char *t = (char *) malloc (sizeof (char) * (*s2 + 1)); char *v = (char *) malloc (sizeof (char) * (*s3 + 1)); char *c = (char *) malloc (sizeof (char) * (*s1 + 1)); memcpy (t, type, *s2); t[*s2] = '\0'; memcpy (c, cont, *s1); c[*s1] = '\0'; memcpy (v, val, *s3); v[*s3] = '\0'; *err = addEvent (*time, t, c, v); } void startLink_i (varPrec * time, char *type, int *s2, char *cont, int *s1, char *src, int *s3, char *dest, int *s4, char *val, int *s5, char *key, int *s6, int *err) { char *t = (char *) malloc (sizeof (char) * (*s2 + 1)); char *k = (char *) malloc (sizeof (char) * (*s6 + 1)); char *c = (char *) malloc (sizeof (char) * (*s1 + 1)); char *v = (char *) malloc (sizeof (char) * (*s5 + 1)); char *s = (char *) malloc (sizeof (char) * (*s3 + 1)); char *d = (char *) malloc (sizeof (char) * (*s4 + 1)); memcpy (t, type, *s2); t[*s2] = '\0'; memcpy (c, cont, *s1); c[*s1] = '\0'; memcpy (v, val, *s5); v[*s5] = '\0'; memcpy (s, src, *s3); s[*s3] = '\0'; memcpy (d, dest, *s4); d[*s4] = '\0'; memcpy (k, key, *s6); k[*s6] = '\0'; *err = startLink (*time, t, c, s, d, v, k); } void endLink_i (varPrec * time, char *type, int *s2, char *cont, int *s1, char *src, int *s3, char *dest, int *s4, char *val, int *s5, char *key, int *s6, int *err) { char *t = (char *) malloc (sizeof (char) * (*s2 + 1)); char *k = (char *) malloc (sizeof (char) * (*s6 + 1)); char *c = (char *) malloc (sizeof (char) * (*s1 + 1)); char *v = (char *) malloc (sizeof (char) * (*s5 + 1)); char *s = (char *) malloc (sizeof (char) * (*s3 + 1)); char *d = (char *) malloc (sizeof (char) * (*s4 + 1)); memcpy (t, type, *s2); t[*s2] = '\0'; memcpy (c, cont, *s1); c[*s1] = '\0'; memcpy (v, val, *s5); v[*s5] = '\0'; memcpy (s, src, *s3); s[*s3] = '\0'; memcpy (d, dest, *s4); d[*s4] = '\0'; memcpy (k, key, *s6); k[*s6] = '\0'; *err = endLink (*time, t, c, s, d, v, k); } void setVar_i (varPrec * time, char *type, int *s2, char *cont, int *s1, varPrec * val, int *err) { char *t = (char *) malloc (sizeof (char) * (*s2 + 1)); char *c = (char *) malloc (sizeof (char) * (*s1 + 1)); memcpy (t, type, *s2); t[*s2] = '\0'; memcpy (c, cont, *s1); c[*s1] = '\0'; *err = setVar (*time, t, c, *val); } void addVar_i (varPrec * time, char *type, int *s2, char *cont, int *s1, varPrec * val, int *err) { char *t = (char *) malloc (sizeof (char) * (*s2 + 1)); char *c = (char *) malloc (sizeof (char) * (*s1 + 1)); memcpy (t, type, *s2); t[*s2] = '\0'; memcpy (c, cont, *s1); c[*s1] = '\0'; *err = addVar (*time, t, c, *val); } void subVar_i (varPrec * time, char *type, int *s2, char *cont, int *s1, varPrec * val, int *err) { char *t = (char *) malloc (sizeof (char) * (*s2 + 1)); char *c = (char *) malloc (sizeof (char) * (*s1 + 1)); memcpy (t, type, *s2); t[*s2] = '\0'; memcpy (c, cont, *s1); c[*s1] = '\0'; *err = subVar (*time, t, c, *val); } void addComm_i (char *comm, int *s2, int *err) { char *t = (char *) malloc (sizeof (char) * (*s2 + 1)); memcpy (t, comm, *s2); t[*s2] = '\0'; *err = AddComment (t); } void endTrace_i (int *err) { *err = endTrace (); } /* manual aliasing of function, in order to avoid using GCC specific __attribute__ keyword */ void settracetype_i_ (int *type) { setTraceType_i (type); } int gettracetype_i_ () { return getTraceType_i (); } int bufferedmodeactivated_i_() { return bufferedModeActivated_i(); } void inittrace_i_ (char *f, int *len, int*rank, gtg_flag_t* flags, int *err) { initTrace_i (f, len, rank, flags, err); } void addconttype_i_ (char *alias, int *s1, char *contType, int *s2, char *name, int *s3, int *err) { addContType_i (alias, s1, contType, s2, name, s3, err); } void addstatetype_i_ (char *alias, int *s1, char *contType, int *s2, char *name, int *s3, int *err) { addStateType_i (alias, s1, contType, s2, name, s3, err); } void addeventtype_i_ (char *alias, int *s1, char *contType, int *s2, char *name, int *s3, int *err) { addEventType_i (alias, s1, contType, s2, name, s3, err); } void addlinktype_i_ (char *alias, int *s1, char *name, int *s3, char *contType, int *s2, char *src, int *s4, char *dest, int *s5, int *err) { addLinkType_i (alias, s1, name, s3, contType, s2, src, s4, dest, s5, err); } void addvartype_i_ (char *alias, int *s1, char *name, int *s3, char *contType, int *s2, int *err) { addVarType_i (alias, s1, name, s3, contType, s2, err); } void addentityvalue_i_ (char *alias, int *s1, char *entType, int *s2, char *name, int *s3, gtg_color_t color, int *s4, int *err) { addEntityValue_i (alias, s1, entType, s2, name, s3, color, s4, err); } void addcontainer_i_ (varPrec * time, char *alias, int *s1, char *type, int *s2, char *container, int *s3, char *name, int *s4, char *filename, int *s5, int *err) { addContainer_i (time, alias, s1, type, s2, container, s3, name, s4, filename, s5, err); } void destroycontainer_i_ (varPrec * time, char *name, int *s1, char *type, int *s2, int *err) { destroyContainer_i (time, name, s1, type, s2, err); } void setstate_i_ (varPrec * time, char *type, int *s2, char *cont, int *s1, char *val, int *s3, int *err) { setState_i (time, type, s2, cont, s1, val, s3, err); } void pushstate_i_ (varPrec * time, char *type, int *s2, char *cont, int *s1, char *val, int *s3, int *err) { pushState_i (time, type, s2, cont, s1, val, s3, err); } void popstate_i_ (varPrec * time, char *type, int *s2, char *cont, int *s1, int *s3, int *err) { popState_i (time, type, s2, cont, s1, s3, err); } void addevent_i_ (varPrec * time, char *type, int *s2, char *cont, int *s1, char *val, int *s3, int *err) { addEvent_i (time, type, s2, cont, s1, val, s3, err); } void startlink_i_ (varPrec * time, char *type, int *s2, char *cont, int *s1, char *src, int *s3, char *dest, int *s4, char *val, int *s5, char *key, int *s6, int *err) { startLink_i (time, type, s2, cont, s1, src, s3, dest, s4, val, s5, key, s6, err); } void endlink_i_ (varPrec * time, char *type, int *s2, char *cont, int *s1, char *src, int *s3, char *dest, int *s4, char *val, int *s5, char *key, int *s6, int *err) { endLink_i (time, type, s2, cont, s1, src, s3, dest, s4, val, s5, key, s6, err); } void setvar_i_ (varPrec * time, char *type, int *s2, char *cont, int *s1, varPrec * val, int *err) { setVar_i (time, type, s2, cont, s1, val, err); } void addvar_i_ (varPrec * time, char *type, int *s2, char *cont, int *s1, varPrec * val, int *err) { addVar_i (time, type, s2, cont, s1, val, err); } void subvar_i_ (varPrec * time, char *type, int *s2, char *cont, int *s1, varPrec * val, int *err) { subVar_i (time, type, s2, cont, s1, val, err); } void addcomm_i_ (char *comm, int *s2, int *err) { addComm_i (comm, s2, err); } void endtrace_i_ (int *err) { endTrace_i (err); } gtg-trace-0.2+dfsg/src/C/paje_GTGBasic1_c.c000066400000000000000000000472351175246114100202460ustar00rootroot00000000000000#ifdef BUILD_PAJE #define _GNU_SOURCE #include #include #include #include #ifdef USE_MPI #include #endif #ifndef HAVE_ASPRINTF extern int asprintf(char **ret, const char *format, ...); //extern int vasprintf(char **ret, const char *format, va_list args); #endif /* HAVE_ASPRINTF */ #include "GTG.h" #include "GTGPaje_Basic.h" #include "GTGPaje.h" #if HAVE_LIBZ #include "GTGCompress.h" #endif extern int _is_paje_header_written; void pajeInitHeaderData( int fmt ); void pajeWriteHeader( FILE *file ); /* set in GTGBasic1_c.c * verbose !=0 means debugging mode */ extern int verbose; /* File where each proc writes state/event/var/link changes. */ static FILE* procFile; /* File where each proc writes the header and the definitions of the data. */ static FILE* headFile; /* Root name */ static char* filename; /* mpi rank */ static int rank; /* Name built for getName */ static char* nameTmp; /* Flags that should be used. */ static gtg_flag_t paje_flags; /* Max length of the names built */ #define BUFFSIZE 200 /* in non-buffered mode, flush a file */ #define FLUSH(file) \ if(paje_flags & GTG_FLAG_NOTBUF) \ fflush(file) #define PRINT_PAJE_HEADER() \ if ( !_is_paje_header_written ) { \ pajeWriteHeader( headFile ); \ FLUSH( headFile ); \ } /* Structure containing the info of a current line */ typedef struct line_t{ FILE* file; /* File */ char* value; /* The value of the line */ size_t size; /* Size of the value buffer */ varPrec time; /* Time (second element of the line) */ int status; /* If EOF reached */ }line_t; typedef struct doubleLinkList_t{ struct doubleLinkList_t* prev; /* Previous element */ struct doubleLinkList_t* next; /* Next element */ line_t current; /* Current line */ }doubleLinkList_t; #if HAVE_LIBZ static z_stream z; static int compression_ratio = 0; /* compress data and write to disk */ void paje_print(FILE* file, const char*format, ...) { int len = 0; int ret = 0; va_list args; char* tmp_buf = NULL; va_start(args, format); if(compression_ratio) { len = vasprintf(&tmp_buf, format, args); va_end(args); ret = gtg_compress_m2f(&z, tmp_buf, len, file); if (ret < 0) { fprintf(stderr, "gtg: an error occured while compressing\n"); } } else { /* don't compress, write directly to disk */ vfprintf(file, format, args); va_end(args); } } trace_return_t pajeSetCompress(int val) { compression_ratio = val; if(val) gtg_compress_init(&z, compression_ratio); return TRACE_SUCCESS; } #else /* HAVE_LIBZ */ #define paje_print fprintf trace_return_t pajeSetCompress(int val) { return TRACE_ERR_WRITE; } #endif /* Insert a doubleLinkList_t item in the sorted doubleLinkedList starting with first */ void insert (doubleLinkList_t** first, doubleLinkList_t* item){ varPrec time; doubleLinkList_t* iter = *first; if (!first || !item){ fprintf (stderr, "Invalid insert parameter. Leaving \n"); exit(-1); } time = item->current.time; /* If nil list, item is the first and leaving */ if (iter==NULL){ *first=item; item->prev = NULL; item->next = NULL; /* printf (stderr, "Nil list \n"); */ return; } /* If to insert in first pos */ if (time<=iter->current.time){ item->prev = NULL; item->next = *first; if (item->next) (item->next)->prev = item; *first = item; return; } /* Positionning iterator to insert in a sorted list */ while (time>iter->current.time && iter->next) iter = iter->next; if (time<=iter->current.time){ item->prev = iter->prev; item->next = iter; iter->prev = item; if (item->prev) (item->prev)->next = item; } else{ iter->next = item; item->prev = iter; item->next=NULL; } } void initMerge (char* file, int rk, doubleLinkList_t* li){ char f[BUFFSIZE]; sprintf (f, "%s_proc%d.ept", file, rk); li->current.file = fopen (f, "a+"); if (!li->current.file){ fprintf (stderr, "Failed to open generated trace. Leaving \n"); exit (-1); } rewind (li->current.file); li->current.value = NULL; li->current.status = 1; } #ifndef HAVE_GETLINE int getline(char** buf, int* size, FILE* stream) { int alloc_size = 1024; if(!*buf) { /* we need to allocate the buffer */ alloc_size = 1024; *buf = malloc(sizeof(char) * alloc_size); } else { alloc_size = *size; } int nb_char = 0; *buf[0]=0; do { if(nb_char + 512 >= alloc_size) { /* the next fgets may overflow the buffer, so let's allocate more space */ alloc_size *= 2; *buf = realloc(*buf, alloc_size); *size = alloc_size; } /* read at most 512 bytes */ char * ret = fgets((*buf)+nb_char, 512, stream); if(!ret){ /* error while reading or EOF */ *size = 1; (*buf)[0] = EOF; return -1; } nb_char = strlen(*buf); } while((*buf)[nb_char -1] !='\n'); return nb_char; } #endif /* HAVE_GETLINE */ void myGetLine (doubleLinkList_t* li){ int toto; int ret; if (li->current.value) free (li->current.value); li->current.value = NULL; ret = getline (&(li->current.value), &(li->current.size), li->current.file); if (li->current.size==0 || ret ==-1){ li->current.status=0; } if ((li->current.size)>0) sscanf (li->current.value, "%d %lf", &toto, &(li->current.time)); else fprintf (stderr, "failed to read \n"); } /* need to run 'rm -f' force because there is no file some time*/ void clean_files (char* fileName, int nbFile){ int ret; char cmd[BUFFSIZE]; sprintf (cmd, "rm -f %s_root.ept %s_proc*.ept", filename,filename); ret = system(cmd); } void merge (char* filename, int nbFile){ doubleLinkList_t* first = NULL; doubleLinkList_t* list; doubleLinkList_t* iter; FILE * res; FILE * oldF; char * buf = NULL; char tmp[BUFFSIZE]; char tmp2[BUFFSIZE]; size_t size; int i; /* Getting the first part of the trace (header+def) */ #if HAVE_LIBZ if(compression_ratio) sprintf (tmp, "%s.trace.z", filename); else #endif sprintf (tmp, "%s.trace", filename); res = fopen (tmp, "w+"); sprintf (tmp2, "%s_root.ept", filename); oldF = fopen (tmp2,"a+"); if (res==NULL || oldF==NULL){ fprintf (stderr, "Failed to create the trace file. Leaving \n"); exit (-1); } rewind (oldF); do{ i = getline (&buf, &size, oldF); if (size==0 || i==-1) break; paje_print (res, "%s", buf); }while (buf[0] != EOF); fclose (oldF); /* Initialising the parallel merge */ list = (doubleLinkList_t *)malloc (sizeof (doubleLinkList_t)*nbFile); for (i=0;icurrent.status != 0){ paje_print (res, "%s", first->current.value); myGetLine (first); if (first->current.status==0){ first=first->next; if (first) first->prev = NULL; } else{ iter = first; first = first->next; if (first) first->prev = NULL; if (first && iter->current.status != 0) insert (&first, iter); } /* for (i=0;i\n\n"); */ } fclose (res); clean_files (filename, nbFile); } const paje_color_t Paje_get_color(gtg_color_t p_color) { /** \todo it is not const*/ int ret; paje_color_t res = NULL; ret = asprintf(&res, "%1.1f %1.1f %1.1f", (float)GTG_COLOR_GET_RED( p_color->rgb)/256, (float)GTG_COLOR_GET_GREEN(p_color->rgb)/256, (float)GTG_COLOR_GET_BLUE( p_color->rgb)/256); return res; } char* pajeGetName (int procNb){ if (nameTmp) free (nameTmp); nameTmp = (char *)malloc (sizeof (char)*BUFFSIZE); if (filename){ sprintf (nameTmp, "%s_proc%d.ept", filename, procNb); if(verbose) fprintf (stderr, "Name built : %s \n", nameTmp); return nameTmp; } return "0"; } trace_return_t my_open (int rk){ trace_return_t ret = TRACE_ERR_OPEN; char f[BUFFSIZE]; if (!procFile){ if(!(paje_flags & GTG_FLAG_USE_MPI)) { procFile = headFile; } else { sprintf (f, "%s_proc%d.ept", filename, rk); procFile = fopen (f, "w"); } if (!procFile) return ret; ret = TRACE_SUCCESS; } return ret; } trace_return_t my_close (){ trace_return_t ret = TRACE_ERR_CLOSE; if (procFile){ ret = (trace_return_t) fclose (procFile); procFile = NULL; } return ret; } trace_return_t pajeInitTrace (const char* filenam, int rk, gtg_flag_t flags, int fmt) { char file[BUFFSIZE]; trace_return_t ret = TRACE_ERR_OPEN; my_close (); rank = rk; /* fixme: why there is need to copy filenam ????*/ filename = (char *)malloc (sizeof (char)* (strlen (filenam)+1)); strcpy (filename, filenam); procFile = NULL; paje_flags = flags; if( rank==0 || ! (flags & GTG_FLAG_USE_MPI)) { sprintf (file, "%s_root.ept", filename); headFile = fopen (file, "w"); if (!headFile){ fprintf (stderr, "Failed to open file %s. \n Leaving \n", file); return ret; } pajeInitHeaderData( fmt ); FLUSH(headFile); } return my_open(rank); } trace_return_t pajeAddContType(const char* alias, const char* contType, const char* name) { PRINT_PAJE_HEADER(); if(verbose) printf("addCtType : name %s, alias %s, contType %s\n", name, alias, contType); if (headFile){ if(contType) fprintf (headFile, "1 \"%s\" \"%s\" \"%s\" \n", alias, contType, name); else fprintf (headFile, "1 \"%s\" 0 \"%s\" \n", alias, name); FLUSH(headFile); return TRACE_SUCCESS; } return TRACE_ERR_WRITE; } trace_return_t pajeAddStateType (const char* alias, const char* contType, const char* name){ PRINT_PAJE_HEADER(); if(verbose) printf("addStateType : alias %s, name %s, contType %s\n", alias, name, contType); if (headFile){ fprintf (headFile, "3 \"%s\" \"%s\" \"%s\" \n", alias, contType, name); FLUSH(headFile); return TRACE_SUCCESS; } return TRACE_ERR_WRITE; } trace_return_t pajeAddEventType (const char* alias, const char* contType, const char* name){ PRINT_PAJE_HEADER(); if(verbose) printf("addEventType : alias %s, name %s, contType %s\n", alias, name, contType); if (headFile){ fprintf (headFile, "4 \"%s\" \"%s\" \"%s\" \n", alias, contType, name); FLUSH(headFile); return TRACE_SUCCESS; } return TRACE_ERR_WRITE; } trace_return_t pajeAddLinkType (const char* alias , const char* name, const char* contType, const char* srcContType, const char* destContType){ PRINT_PAJE_HEADER(); if (verbose) printf ("Add link type: alias: %s name: %s contType: %s src: %s des: %s \n", alias, name, contType, srcContType, destContType); if (headFile){ fprintf (headFile, "41 \"%s\" \"%s\" \"%s\" \"%s\" \"%s\" \n", alias, name, contType, srcContType, destContType); FLUSH(headFile); return TRACE_SUCCESS; } return TRACE_ERR_WRITE; } trace_return_t pajeAddVarType (const char* alias , const char* name, const char* contType){ PRINT_PAJE_HEADER(); if(verbose) printf("addVarType : alias %s, name %s, contType %s\n", alias, name, contType); if (headFile){ fprintf (headFile, "50 \"%s\" \"%s\" \"%s\" \n", alias, contType, name); FLUSH(headFile); return TRACE_SUCCESS; } return TRACE_ERR_WRITE; } trace_return_t pajeAddEntityValue (const char* alias, const char* entType, const char* name , const char* color){ PRINT_PAJE_HEADER(); if(verbose) printf("addEntityValue : color %s, alias %s, name %s, type %s\n", color, alias, name, entType); if (headFile){ fprintf (headFile, "6 \"%s\" \"%s\" \"%s\" \"%s\"\n", alias, entType, name, color); FLUSH(headFile); return TRACE_SUCCESS; } return TRACE_ERR_WRITE; } trace_return_t pajeAddContainer (varPrec time, const char* alias , const char* type, const char* container, const char* name, const char* file){ PRINT_PAJE_HEADER(); if (headFile){ if(container && strcmp(container, "(null)")!=0 ) fprintf (headFile, "7 %.13e \"%s\" \"%s\" \"%s\" \"%s\" \"%s\"\n", time, alias, type, container, name, file); else fprintf (headFile, "7 %.13e \"%s\" \"%s\" 0 \"%s\" \"%s\"\n", time, alias, type, name, file); FLUSH(headFile); return TRACE_SUCCESS; } return TRACE_ERR_WRITE; } trace_return_t pajeSeqAddContainer (varPrec time, const char* alias , const char* type, const char* container, const char* name){ PRINT_PAJE_HEADER(); if (headFile){ if(container && strcmp(container, "(null)")!=0) fprintf (headFile, "7 %.13e \"%s\" \"%s\" \"%s\" \"%s\"\n", time, alias, type, container, name); else fprintf (headFile, "7 %.13e \"%s\" \"%s\" 0 \"%s\"\n", time, alias, type, name); FLUSH(headFile); return TRACE_SUCCESS; } return TRACE_ERR_WRITE; } trace_return_t pajeDestroyContainer (varPrec time, const char* name, const char* type){ PRINT_PAJE_HEADER(); if (headFile){ fprintf (headFile, "8 %.13e \"%s\" \"%s\" \n", time, name, type); FLUSH(headFile); return TRACE_SUCCESS; } return TRACE_ERR_WRITE; } trace_return_t pajeSetState (varPrec time, const char* type, const char* cont, const char* val){ if(verbose) printf("SetState : type %s, container %s, val %s\n", type, cont, val); if (procFile){ fprintf (procFile, "10 %.13e \"%s\" \"%s\" \"%s\"\n", time, type, cont, val); FLUSH(procFile); return TRACE_SUCCESS; } return TRACE_ERR_WRITE; } trace_return_t pajePushState (varPrec time, const char* type, const char* cont, const char* val){ if(verbose) printf("PushState : type %s, container %s, val %s\n", type, cont, val); if (procFile){ fprintf (procFile, "11 %.13e \"%s\" \"%s\" \"%s\"\n", time, type, cont, val); FLUSH(procFile); return TRACE_SUCCESS; } return TRACE_ERR_WRITE; } trace_return_t pajePopState (varPrec time, const char* type, const char* cont){ if(verbose) printf("PopState : type %s, container %s\n", type, cont); if (procFile){ fprintf (procFile, "12 %.13e \"%s\" \"%s\"\n", time, type, cont); FLUSH(procFile); return TRACE_SUCCESS; } return TRACE_ERR_WRITE; } trace_return_t pajeAddEvent (varPrec time, const char* type, const char* cont, const char* val){ if(verbose) printf("AddEvent : type %s, cont %s, val %s\n", type, cont, val); if (procFile){ fprintf (procFile, "20 %.13e \"%s\" \"%s\" \"%s\"\n", time, type, cont, val); FLUSH(procFile); return TRACE_SUCCESS; } return TRACE_ERR_WRITE; } trace_return_t pajeStartLink (varPrec time, const char* type, const char* cont, const char* src, const char* val , const char* key){ if (verbose) printf ("Start link: type: %s container: %s src: %s val: %s key %s\n", type, cont, src, val, key); if (procFile){ fprintf (procFile, "42 %.13e \"%s\" \"%s\" \"%s\" \"%s\" \"%s\"\n", time, type, cont, src, val, key); FLUSH(procFile); return TRACE_SUCCESS; } return TRACE_ERR_WRITE; } trace_return_t pajeEndLink (varPrec time, const char* type, const char* cont, const char* dest, const char* val , const char* key){ if (verbose) printf ("End link type: %s container: %s src: %s val: %s key %s\n", type, cont, dest, val, key); if (procFile){ fprintf (procFile, "43 %.13e \"%s\" \"%s\" \"%s\" \"%s\" \"%s\"\n", time, type, cont, dest, val, key); FLUSH(procFile); return TRACE_SUCCESS; } return TRACE_ERR_WRITE; } trace_return_t pajeSetVar (varPrec time, const char* type, const char* cont, varPrec val){ if (verbose) printf ("SetVar: type: %s container: %s value: %e\n", type, cont, val); if (procFile){ fprintf (procFile, "51 %.13e \"%s\" \"%s\" %e\n", time, type, cont, val); FLUSH(procFile); return TRACE_SUCCESS; } return TRACE_ERR_WRITE; } trace_return_t pajeAddVar (varPrec time, const char* type, const char* cont, varPrec val){ if (verbose) printf ("AddVar: type: %s container: %s value: %e\n", type, cont, val); if (procFile){ fprintf (procFile, "52 %.13e \"%s\" \"%s\" %e\n", time, type, cont, val); FLUSH(procFile); return TRACE_SUCCESS; } return TRACE_ERR_WRITE; } trace_return_t pajeSubVar (varPrec time, const char* type, const char* cont, varPrec val){ if (verbose) printf ("SubVar: type: %s container: %s value: %e\n", type, cont, val); if (procFile){ fprintf (procFile, "53 %.13e \"%s\" \"%s\" %e\n", time, type, cont, val); FLUSH(procFile); return TRACE_SUCCESS; } return TRACE_ERR_WRITE; } trace_return_t pajeAddComment (const char* comment){ if (verbose) printf ("AddComment: %s \n",comment); if (procFile){ fprintf(procFile,"#%s\r\n",comment); FLUSH(procFile); return TRACE_SUCCESS; } return TRACE_ERR_WRITE; } trace_return_t pajeEndTrace (){ int size = 1; my_close (); /* Wait for all proc to finish writing their trace */ #ifdef USE_MPI if(paje_flags & GTG_FLAG_USE_MPI) { MPI_Barrier (MPI_COMM_WORLD); MPI_Comm_size (MPI_COMM_WORLD, &size); if(verbose) fprintf (stderr, "USING MPI \n"); } if (rank==0) #endif /* USE_MPI */ merge (filename, size); if (nameTmp) free (nameTmp); nameTmp = NULL; if (filename) free (filename); filename = NULL; return TRACE_SUCCESS; } trace_return_t viteEndTrace (){ my_close (); if (filename) free (filename); if (nameTmp) free (nameTmp); filename = NULL; nameTmp = NULL; return TRACE_SUCCESS; } /* * Hack that will be removed */ FILE *pajeGetProcFile() { return procFile; } #endif gtg-trace-0.2+dfsg/src/C/paje_header.c000066400000000000000000000240751175246114100175250ustar00rootroot00000000000000#ifdef BUILD_PAJE #define _GNU_SOURCE_ #include #include #include #ifdef USE_MPI #include #endif #include "GTG.h" #include "GTGPaje.h" int _is_paje_header_written = 0; struct gtg_paje_edp_s { struct gtg_paje_edp_s *next; char *name; enum gtg_paje_fieldtype_e type; }; typedef struct gtg_paje_edp_s gtg_paje_edp_t; struct gtg_paje_eventdef_s { char *name; int id; gtg_paje_edp_t *first; gtg_paje_edp_t *last; }; typedef struct gtg_paje_eventdef_s gtg_paje_eventdef_t; gtg_paje_eventdef_t eventdefs[GTG_PAJE_EVTDEF_NBR] = { { "PajeDefineContainerType", 1, NULL, NULL}, { "PajeDefineStateType", 3, NULL, NULL}, { "PajeDefineEventType", 4, NULL, NULL}, { "PajeDefineEntityValue", 6, NULL, NULL}, { "PajeCreateContainer", 7, NULL, NULL}, { "PajeDestroyContainer", 8, NULL, NULL}, { "PajeSetState", 10, NULL, NULL}, { "PajePushState", 11, NULL, NULL}, { "PajePopState", 12, NULL, NULL}, { "PajeNewEvent", 20, NULL, NULL}, { "PajeDefineLinkType", 41, NULL, NULL}, { "PajeStartLink", 42, NULL, NULL}, { "PajeEndLink", 43, NULL, NULL}, { "PajeDefineVariableType", 50, NULL, NULL}, { "PajeSetVariable", 51, NULL, NULL}, { "PajeAddVariable", 52, NULL, NULL}, { "PajeSubVariable", 53, NULL, NULL}, }; char *FieldType[GTG_PAJE_FIELDTYPE_NBR] = { "int", "hex", "date", "double", "string", "color" }; #define printExtra( file, event ) \ if ( (eventdefs[event].first) != NULL ) { \ gtg_paje_edp_t *e, *n; \ for( e = eventdefs[event].first; e != NULL; ) { \ n = e->next; \ fprintf(file, "%% %s %s\n", e->name, FieldType[e->type]); \ e = n; \ } \ } /* * args needs to be set to 0 before the first call */ void pajeEventDefAddParam( enum gtg_paje_evtdef_e event, const char *name, enum gtg_paje_fieldtype_e type ) { gtg_paje_edp_t *node = (gtg_paje_edp_t*)malloc(sizeof(gtg_paje_edp_t)); if (_is_paje_header_written) { fprintf(stderr, "GTG [PAJE/VITE]: You cannot add parameters to definitions after the header has been written to the file\n"); return; } node->next = NULL; node->name = strdup(name); node->type = type; if( eventdefs[event].first == NULL ) { eventdefs[event].first = node; eventdefs[event].last = node; } else { eventdefs[event].last->next = node; eventdefs[event].last = node; } } void pajeEventDefDeleteParams( enum gtg_paje_evtdef_e event ) { gtg_paje_edp_t *e, *n; for( e = eventdefs[event].first; e != NULL; ) { n = e->next; free(e->name); free(e); e = n; } eventdefs[event].first = NULL; eventdefs[event].last = NULL; } void pajeEventDefClean() { int i; for(i=0; i